121111122221221112112222222221111212111121111111221112222111111221221222121212221111221222112212111122122121212211111111222122212112111211122121211122211121212121222221121212111122222212211112221122121121211221112122212221111222111222221221111112121212112211221121222212211221221111211112221111111112222122111121221111122211122121221222112222212221112212122122211122122221212121221211122121221111112211221111111221222211211121211111212122212211122112222211122222222112112112221122111122121112211112112122122211222122212121221111112111121221112112221111121122121212222111221112122111111112212121111221221212122111211111111122221212112122112111122111121211122112112222222121221121222121221121211222211111112111212222211221121212112221122112112121121112212121111111221111222111212222121221211222121222211121212212121112122122112111112111221112122222121211121121212221112111121121122111121112122212112211122121122211221122212222221222212121211221112122212211122111121112111222122112112222222122112112111112112111222112112211111222111111122122222211122221212211112211122121111222111211221121111211121122122212221121121111222121121221112222212211121111212121222111122221222221112112222121112122212121112211121222222112112121121212112121221211212222111212222221122121221211121221122122121121122221221111221112212212112222111112111112221211111211111112122121122122222211112211211121121212222221211211211111222212122122212111221122122212211111112211212212221211211221222221212112112111121212112121211112211212121222221122212112121121121112211112111211112111111211112221112122121212122111121222121222121221111111222112112121212221221211122111121121112212111122211222222211221212122121122212122221111121222221122112211122112122221111211111222222111121221111222222121221222212211221111211122212212112122121122112122221121122122122111222112111111112221121111212211122212222111111222112211111121121111211111121122122211221121121112121221111111111122122212222112121221121121111222122122112211222211212221211211221222222122112122211221112112121122211121222112112222212122212121112112122121122122121211121221112112111212221212121122221211111111122121121121121111111121111221222211222211111111221111121222212212222221222222211112121121122122212211112222212211212221212212112221212212121212211112111211211212211212222112212122212211212221122222221221212222122221211211211122222112112121212112121121221212112222212111212212111212121212221112222122122122121212222222111212221121222211212121111211112112211122221221121122121111212112221121211221212112211222121211111222111222111221222122111112212212122211111122222222221111121112122222122211212212221112211222221111112212222222211212222212111122222122121112222121121211112122121221211121122221211122122112122221111122222211222211212212121112122211221221222212211212121221212122121111121121221221211111121222212112211221212212222122121122222221112111111222212112122121221211111112212222112122221211112121111111212111221122212211121211122111121111221221112222212212121211211222222212212112111112211211221122212121111212112121122112211212211121122211122212111211112111221212212112122212221222122112112212212211122111112221211212212221222112212211221112121122211111122112122121221121122222212212121112212212121112221121122221111212221221112122111211222122112111221112112212222112111122122112122221212222222221222122111211221112121122221211211221121221222211211121112222211122112221221121221111222212122221112122111121121212121112211221211221121111221112111221112211111211221221121211112111112211121112212121222222122121111112212212112111112121121221221221221221211212211211212221222221222122111122112122212212122112122221122222112221111112122111122112112122111211212222122221211121221122112211112122212221212112121212222111122212222111221221112112122222112211112211121222122221212222121122211122111211122211121212122122122121211122211112212221211122222222111222112111122222211121112212211221121211212211121212112112212121112111222121112112211222122222221112122121122121112222211222221122121112221111222212122111121211211211122121212112111222221222212222221122111222211221222111122122121122122211221111212222212121211222211111221222212122112111221121221222111121212111122211212112211122121211112212111221221111111211222222111121222222122222222122212221121112222122211111222211111121122112221111222111121212121222111221112121211211212121122222211212211122221112122111222111212212212221221221112122221221222221212122112211211211121112211211111112122111122222222111211222112212211122222221221212112111212121221112111111122211222121122221211122221211122121221222211221221122221121122212121112122112121212222211121122211112111222221222122212222112222111211122112222121221122111212221121122121211211211222121111221112112111211212121212121111222212112111121121111112212222222211111121112211121111211121122122122122112111222122211211121222222212112121121121112121121211211211221221212212222211212221212221211222211212121211122212111122112222211122121112211111222212212121112221212222211222122122212112212111121112212212111122212112122221212212121211222222122212122211212221122122111111221112112212112111111121122211112121112221211212211221212121211111122121122121111222222212111211112211112221222112221222121122122221211122111122211211211211121211121112111222212211111221121122221121222121211212122221122222211211222221211121111112222111121121222222221121221212121222222111122221111212222212211221121212211111122111212111112121221121222121121222222112211122222211112211121121211211112221211212112121122121211122212111112111211211121222121121111111212212112221211122221212212112211121122112222221122222122112122111222112212121112112212111122211212211112122221222111111121111212212111221222221122112211222112111122221121122212112222212112121212121222112211122111221122122221112111221112112112212122222111121212222212111112212111222211211221221212212112122111212222122121221221111222222111111121211121112122212221221121221112221122112222122212212112211112211111111211121211221111122111111211212111111221222221222111111222222221112222122122212221211112121121111111221221112112211212211222212122112111211122121222121221122211121211212222121111112121221121212111212211212122221211211111211121222121122212211211222112121212211222111121111221212121111112221112121221222111211122211121222221121222222211222221211221221222211111111122211121111221211211221112211111121121112221221211121222222212112211112212112222111212111111111211112212221112211122122121221111121221221111212122212211111121212212221222221122211122111211211212222122121211221121121211221121222111222112122221222221222222122211222121121122221111211111212121111221221222122211212222211112121221121211121222221111111111222122121212111122211222222111222211222222121121221212221111121122121112122122211111121221221111212121221121112221112121122221112212111112121111212222121221222211121111212222212221121112111222121221122112112122121112111122221122222112111222122121122211222122112221221222222112212211212221211112111111111122111221111121222222112111121211222111212221111222221112121211221122112111111111111122222221222111121211222121211222221122222221221121121122112211222212121111211111212121222211212111212112222222222221112112121121222221122111112212212222211122221211122221121222222221221112221211111212111111222121221221111122212112212212111222122211212222112112221211222122221222122212112121221221211121111222122211111122212222121211121121212111122121111212211122122221111211222112221222122212111211222212211121221112221121121112222121212212212112212211211211121222112121222211122222211112122221111112121112111122222122212121222211122222112221122211111221112221222122111122111221122111211112212222212122121122212212111121122122121221122222122221222121111121222112211211122112221122121222112211122121222212221111112122212221211122112111122212122212121212222212121111222112222211222122221222221211211222121222222221122221211211112221211211211211121112111212121212222212221122122222222222111211122112111112211121222212212212121122122221211121211222121112121112122222211221221211212211122212111112122211121111212111212212111212211211111121112221212121111222222211212221222221222211222122111211112121221112111211122222222112121222212121121212221121211222112222111121112222122221121212212111211122111122121222122112222111122222122211211211212111111112122111112211222122121211221111121122221212222122111212221111121111112221111122111111121112122111121211112212111221112122211112221211111212212211121121111222122122212211212112112212121212221112211211122212221221112111121212221111112121221211212112212122221211122221212222121122221112121222121212221212212222111111221221122111211222122211222111222221121212111222212222222222221221212212212221112121122211212212121222212221121111212111212221111122221112222122122212212222221112112211212211112122222221212121211221121112222121121211112112112221122121122222121112112122221111122221122212122112222122212112222122121222211111212112121111211211221111112111221122222212211212112222121222211212222121212122121111221112221221111221222112221222112122111122211111121221212222221121122221211111222111211111212211122122111111111222121112211112211121112222112222121121112121112212112121212122112112121212122221222122122112112212121112111211111221112211112111211222221222222211111111121222112112121221121221111221121111122112222122112121111111211222211212221111212222222222111212212211122212112121111112111111111122212121221212222212221212212221111221221221122221222122112122111121112211121222111221121112222122212121121211111122112122122211111222111122211212111111222112222221112221222211111221122221111221221121211221122212221221112122221212112121121222121111212111211211111111122211222222221222122121122221212121112111211221111122112211111212222222112121221222111122121212111111121222212111212122121111111212122122222122212111111122221222212222212111111112112111221112221112221112111121222121112212211121212212112121221111221222221211111211222122221112212221122221121111122212222221211121212111221212111212122211221211221112221222111212122221112111112111121112112221221111211222121212221112121112121221212121221111121211222111122221122221112111121122111121211112121211112121122221222111112211112211122122221221111221211122212111121122221121111122112221211121222212222122122111212112221121222221221122221112222222111112212112211212221222211121112212111121112111212222112221212222122212211121122112122112221121122122211211111121111121121112212112221221112212211112212121211112122112121221112211111122122121222221221221222111122212212112211112222112121211222111112212112121122121112122212122121111222212222121112211222122211222112222121221221212111222121111211212111111122111121221221212221222222121222111211211222222111222211112111221121212121121212122221221212112212121222221122211111212122122112122111212112122221222222221112122212112111211222212111212222211112112121112111112112112212211122222211222222211222212111212211221212111212212122222222121212211212122121112212111112112122221211211112221111222122111212122211212111122121122222222111111212111221211122222121111122222222112112222221222211211212221112221221221212222222211121211112222111222122122212222212222222211212222122111111221221222121112211111112111122222222111112212112212112222122121122111221122112212212122112221211111212111212122112212212121211112122212122212122122121112111222112222121211121112222212121221122211222221121221221112112212221112112222112112121222211111112211222121211221112111121212221112112212121212122121221111211212121112121221212211111111212112111212122121112122222122111221211222222111122121122121112222122111221211122111121122122121211111111212222212122112111121111212112122111212212211121121221121211112211222112221222112212222212121212222122121121111122121121111211112211222122222222111212122212121212212112211222122211112112112211212212222122212121121212211111221112212121212221111111111122221222212111121211111212122112122211112122211211121122111121122112211121111211221222111121212121211122211222222111112122222222112222221121211212112222112222212211112222221221211122211221121121111221221211112111111111221122111122111211222212121212222222112122221222211111222222212122222222222111212122221222211212112111212211121211112122211121222112221121121111121122112111121211221121222121212211222222111222122121222222112122121112211112111212121221122122121121211211111211121212111222112222112221122221211221122121122211111212222222211122221112212211212112222112111112111112212221121222222111222212222222122122121122211211121121212121112112122211122122222112222122122211221211221222121222222221111122122111211112221122221111221222221122211212222111212121122222212222122122211122211222111212111211221121111211222121112212111211122211222221221212112121211112212121121112112222221212222211122121112211122111122212111121121112212112122212222221212121211112221112221122112122211121112221122121212121211122121222222222121111122121222112112222221121221212222221122122222222212122121212122221121111111112211211221112112112221112222222112221212111221121122212212121122111222222121212212211112121121222221122112112221112221211112222122122121212121212122122122121121121221112112121112121221221211222212211121221112212221122112122212122211122222122121212212212212111212212111211121121121112112212121211112211111221212222221212121222221112222112112121111212122221212112121112212112212122111121112222121211121112121211111222212122212121122211221212122212122121112211122222221121221122122222111211121112122222112221112212222112211121122111112212211121211221222212222111211121222121112112211212212121221212111122122111221122221222121121211211212111212111112121211121121121111221112221211111111221121121121221212121112111121222222211122112122122111211121221211121222212122212111121111112111121211221111112211211111212222121121222111222122212122122121212212221221122211211211111222111121121111111221121222211212111222122112111111121212221121111122221212222212212121211222212211121121212122122112211212121211221122212221112112221121121112112211111222122222112122221212211122111121221221221212221111221121111112112222111211121121121221121111111122111212222122112222111222121211221112212221212211112122222212121222111122222122211222211122122222212111221121121122111222211221221211212112122222212111212221222112211222221211221212222222211121111212121221111111122211221222121111211122112112222211122121122121112222121221112112221211121212122121112211111111112222212212211122112122122122211222111121211211211222221222112221222221111211111222222222111122211111122222221221112212221111111122112121122122212122221121221121212211111112112121222111121111222222122111111222111112222211112112221112211122111211112222112111212121212221122212212211221122122212212211212212222221111221122212121111122211222222111221221111122112111112112221121122221212121111221111222111112222211221121211112212111221112212221122221111211221112221211222212112211211221212222211222122121212111111122212112212212121111111222122112122111212222211211222211112111221212121212212121122111221221221221212212221121211221112122221112112222111122121121111211121212211122121221121212122222121111111222221222111121122212222222111212212121222221212211221121111212121221112212121121112211111211121222211221112122111221122121211121111121221222111222122121112222121222211212222122112121111121221112211122221111121222212111121122222122211121211212122122212222112221111112211111211122112121111211222111121111211211211222222111121111222221121212211222212222212111112111111122121221121111111122122212112121111212122221222111122112111222112222122121122112122111222112111211222111121211222221222121221211122112211122212122212121122222112222111111222112222222222211121112122221121212122211212212221112122111111111111222211211211212212111111212221111222222111212212221112222111212121111212122222222221122111122221212112121221111221221222221112122222122212211122221222211211122211112211211122211122111112122211222111221212222212222222212222221111111212122121212211212111112212221112222122121212112221111212222122122221212212112111221211211222121221121211221212212211112222221112221212222212112122222221222222222221122221221111222222221212212122111212111111212211121211112221211222212221112212112112212222121222111222121211112121211111122211212122212212211111222221211112212111111121222122221212222222111122112221121111112211211111112211122212211121121121212112121222122212221221121121221112121122221121212212221121212122111121111122212222211121112211221211212212121122222212211112221122122222112221121212211112211122222211211212211211111122112112212221112212122112212121122222222122111221111221222121111122222122121111112221112122122111212121212112212221212212122221122111112112211222212122212221212112111121212111112212212121121111112112111222111211122121222222222221212122111222122221211122112222212212122112122112121212121221112111111212121222121212122112212212222111112222112222211212121221121112222111222122221111122111112222112212222211221111211111112122112112222221111111221211122122221122212122121112111121221111221121112221212221122121121111222111222222111112222122122112121211222221222112211122112222121212121111222222121111122111222112122111121111111212222211121211112112121111111111111221111111111212122111221111211121121122212112222222111212122221211121212221111212112222211121211212112222122111221212211121211121212212121212112221112121212121112121122222211212221221221112121212211211221211122112121212221212122121121222121122112222111121121122222222222221212221112211111211211221221111211111111111212121222221112212112212121112221111121221211111221112122121211212112122212211122212221211122222222112212221222211211221212112222222212212122111222122111122212111211122222121211211122121122112121221121221112121222212111121212222211112122111122121121111211211222112112121221111222212211111221212212211112112122221122212111222111121221121212111221112111112121221221122212122122111212121211122212212221111212121121222222112121221212112111112112121221112212121221112122211212121222121212112212111212112212211121112122112121112212212222122221121221221222122211211222121121222111122122111122111211222212222212111222122211122121212112222211112211121112112221111111212212222212212212122212122221222211112121212221121211212221112122122111221212221111221211121222221112122221221121112112212111111111211121212221121121121221122111112221212211212212112222111211121111112211221211222211222222222111111211112111221121121111111122121122211212112111211222111111212122212121211121221222212222211221112221122112222111212121222121121122211121112221111111122221212111211221212112211211121212221111121211122221122112122112211222121112222212212111122212221112211121221222111112111212221212212212112212111121221111222112112211212121121212212122121212212112111111221111221112222111121211212212111112122222211111111121212211112121222221122111121221222211121212222121221111122121222212221122212111122222211111121212211221121211111221121111211111122221211121212211121221122121211212121211122211122212211211222112111112111112222212121221111212221211211212211112211111112211211121221122122122111211112112122111111111122212122211211212111121212222112212222221221211111212222212112121111222211222111122221112222112221121111111212112212211111112111211222222121221111221212211211221222111121221121221111211211211111221222222112121221212211111212221111212221111122212122111221111121112112212211221122221111211212222122112212221111222212212111122122111221212111222221112222221221122212122211211111221112222222111212112111222122121111222212221112111112222212211211111211122222122212122122221221211222111111111211221121212211121222122222212212112111212122211212111122211221112221222112112111221121211111222112121211112212212211211222222211211212211121121121221212112111122122222111212112112122211221111211222211211212112112111211112211112112222222222121212122211221211221222221111121222221221121221112221221211111121111212121121121121111212121111111111111222212121212121112122121212222221111122121112212111122111212112122121212221112112212222212111222212211222112121121211212211121122221212121211111222221111111212121211111112122211121211222221111212111111121121111211212222111111211111121122221111121211122111121111222121122211121122221212211221211111221111221121221112122212221112222222122112112122121122112112121122221121121211222121222221112211121211221212212112211212112212121122222221222121222222121221111222112221122222122212122122212111211211122112221211122212222222211112211122111112111121222211121121212112111112112221222122211211121122211122212112112211121222212112121111222222112212212222221122212112212211122222122112112111222212212222121211211112221222112221212112121221122221222111122121111112221211222212222112121121121221122221222222221221221121122111121112211211122221111112211221212222112211111221211212112221112211222111211122211111112221122112212121121111211211112222211222212112211211111111122211111122122121211211221211212221122121111111122221222212112211111222122221121212212211221122112112212222221212222111111221221211212222211121212211121121211212122122121211212121211112211111222111221221221211121112211122222222111122121221121222222212211212112111211122111112121121212112122111221111212121222222112222122221222221222111122222111212112211112211221122111212122122211111222111211221122112122111212122121222221222112211122111121112222122121111122212112221121122121112112211212222212122111111222112122121121122111221221222112122111122121112221112122112112221111211112222221212221211121121211212122212111222121221212222111112211222112221221121221122212121122111121121121122212221121222112222111212222122112121112221221222222222221212221111112121112112212221112212121111212121122212211112212121111122221221112221112122212212221112212212211211121221221121222222122221112211111112111122212121211121212222121122222112211111211222121212212222121222111212122212212221211122122222221112112121112111122121222112122222221222212212121222222211121111121222211212112121222121221211211122221111111111211212212121112222121212112212221211122121112222211222211122122221121112212221221212122212221121111212111111211122222111211212121211111211122111121221222121222112212211222221122221112222222121121112212212122112211222211121212222111222222112112212121121111111111121221122111121211221212212222221122212222121222212212122211212111212112121111212111211122122112222211221121112122222222211122222112221121211222121211222112221221121212222212112221212212121212212122112122112111111112121222221222112111121122121121112121221111111122112212221221111122111221212122121112121212211221122111121121112122121212111121112212122121212121122122121212122222212222111221121122111212121121111222211111222211222222121221222221121112222212111112222221222212211112222122212212122111122211212211221222211212222212111222122221121212122211122112122111211122122212211221122121122121122111112121222211211211112111122221111222212211122222122121111222122212212221221111121121111222212111212122211112211121122222221221212221122222212112222112211111121222111112121111122222111112112111211121121221121122122111212111222121212111222122211212111211112212211121211122222212221111221121121112211111212112111211221112211122112112212211121122211221211222211121111121121211222212221211221212212212221221112122221112111211221222111212211121222221121122221221211222121121212222212212111121121122111211222111222122211212212111211221112121112212212121121222112222211212221121112212221111221122111222112212111221122212111122111111121121122122222122112121121211212222122112222222112111112212122212222221121121121222221122221122122212221221111212122112112111111221121111211111111212122211121121211211111122122221212121222222112112211121222212111221212221122211221122212112222122222221112211121111121121222122221221222212211221112121222112212211221222111211121121111221121121122212211112212211121121211111211222212222111221222112121212122221211121112111211122211212112121212222222211111112211211112121212221122111221212122111212121222221121221221212221122121212121122212111221221122112112121121211122221121112122212222112112221222211121122221212112212222121211222122111222111222121211112122111212211112212211121211111112122212221111211122222221212111112222112221221112212222112221121222112211112111121111111211122112112212211112221221222221222122211211221121212212121122111112111222111122212222112222221121221111221111211211111121221111222222221222212211122211211222112122121121222212222122222221222111211112221221211121121122121221221111222122121122121211222221121122212111222212121111222112221211212121212222112112212211211211222212222111121122121211111212222221111122211221122211222221212222222222212221121211212212112221111122112221221222112122112111222212222211111221222211211122121212122111112121211222211221121122222121221122112122121122112122112221222112222222111212111211211122111111121221211111222211112122222211122121211222212111212211121112221112121212212112122222112211222121221121112211211211112112212222211211212221212222212222121122111121122212211221122222121212212121222112122211122212221222121221221122121122221221121212122111122121222121111222221221212121212121221122222111112112222212112111212211112111211211111122122111121221122212122122222121211111111211212211212211222122212111211122112221211112111112221111211112112111211121211221122211111121222221111112121112121221222111211111221211211121121221212112121111112211122212112222212212112211111222121121221112221212122222111121121222112222112211122122112122112221221221112222111221112221121112111122221222221222111222112212211211222221122212112111212121222222222121212221221121222222212112211212111212211111222211111122111212112111122212211212112212222121121112121111121222111112212121211111221211222221212111121221111112221212112211212121121111112122121121221121212122212211211112111211212122212211112121121222211212122112222221221112111221211212222222212121121121122212111212121212122122122221121111121121211221222222222111112222222111221211222211221121122121111221211222112212111112111122221222121212122121122212122211122212222222112112221222122111211112221211112112122122122211111112212211212221211212221112122121221211222122221111121111121211221212212122111112222112221221222211111222221121121122112222211111122122122221121121211211122211122111222221211111121111111211212212121111211212122211222222122221221122222122222211212121121121111111122222211112212121212112111121112121121212212121111211211222211222222222211122122112222122111222212222222222211121122222112111121222121122212211122121121222211111111222212122221211122212222121112212221211221112121121221111221112221211222221221211122212111111121222121212222121121122222111221111211122121211212111222111111212121211122221112222122221122111211211222112221212112112121221122211212212121122212212112221211112212122122211122122222211122211212222111111122112121221112221121112121212121221212112111212122221222121111211111222221112222222211221122122212212212121222111211221111221122122222222122112121212211212111112211211111122112112112121121122122212121112221121212111212222211122112111122222122211111112211121112121221221211111122221212121122221212122212221212122221122222122122121221112222221221221221122121222222212211222221111112111212121122112211112112112122212222121222212212111121211111222221112211222111122112112221111111111111221212121222221121121121221212122111212211122212111111122111112211111212222111112221222111121211122122121211112111112122121111221222211212212122122112221221211212212112221211221112212211111222121212221221111122212121211211111112222112112111121221121111211121121211211222111112222221111111221112121212111122121121122221212212111111121211221222212221111221112121121111211121212121222111122111212221212122112221211221221211212112121222122112212121222122212221211112222211121111112212222222221212122212211111211111122112121212212221221121122111121222221111112121211211112221112111122211121122221222211222111222212222222211112211112111221122121111212111121112221111212122121222212222211112122111121221111112211122212221212212222121111112211221121121122121111111221111111121112112122122112122111211212211112211221112112122221221121111211222212122212211121212122112122112212121112221212122111211112211122112122221112112211221212111111212122211111121112221112111111222211211222222121112122221111122112112211121212222211212222211222222222122111111122211122212112111211221121222212112212122111121112111222111111211111121221212212222121222221111112111112211121122122212112221222222112222222221122221221121111121222211111122211111211122121211221112112211121211222122212222211111211111121211112222112221212222121212221212212111121221111221121222222111212222111221221112211122111121221112221121211222211111222222111121222121111222212121122121221211122212122221222111111222212212211112212222221212121222211221221122211221112211112122112112222211221111111121111121221212122121212122112211122112111122212212121122122222122211111212121121112111122221221212112212212122112112111222221212121112121222121121112221221212122221211122111212212211121211211111112221221122122112121111221121121212111111112211222121221211222122122222121212111221211111222212122111212121212221222122221112112122112122122111211221121222122221212221211212111211122111211122111111211122122222111212222111111121211212212111121211111122122121122112222211111112222211221221211112212211211212212111122221122111211121222121211222112222112122111211221121111212212111112211122122122222112122121211112122211112221211222121112112212212222111121222221112221112211212211122212122221111122221111112112222111112222112211221222222111122211111221221212121112211221211212211122122111111211222222222111221121121122121221122212222211222211111111221222221212221122222112122222122211211222212122112222112222221221222222121212121121111221122222222211121212211112112121221112111111111222212111212221111222122211212212122221121222121211121221211221221222111122112122122221111221221221211122112121211122122221122121111212122111222211121112211112221121212122112212212122122221111221121112111211122121112221112122221221122122122122112221222111111221121111112121212212112121212212121122112121122211112222212111212112221112121112121121111122222221122122211222122211212112111212111222121122221221121222112211111212221112212222211212111221121121121111111221211211212122121211221121111122222122222112221112212111121221222121122111222211222222212221122112221212112111222111122122111112112112121112211222111221121122112212211121111121221222122112121121212222221221221112221111121121121221121121112111222221221212212221111121112111212212211222112212122221222221221221111211112222212121212111212111121222111121112212221222221222111122112221121121211212122211112122222212111121112111212221121112221111112221112112111122222122212121222111121121111212121122212222121122112122211212221212221122121222121212212212212111111112212222221221122111112121212211211222121212222221221212211122112221121211211122212112221212211212122222211212222211111211222111121222121222222212121111121121222212121221221121221222111111212211112221121111112112212122221221211222112122112211121122211122222111211221111221211222112221111222221112121121211211211212221211122212111212121122111112122121121221212121222121112212211212111221112122121221111212222212221111111211121111112211121122112222121212211221111222112221212212211122121112211212211122222121122121121222212112212222122121111122121222111112221121111122221112111111122112222112121122121212122211111221121212111212221111112122212212221112211121122212222112222222122121122212121211221111121121222212122212122112212221222112112121222221221211111112222212111211122221221222111121112112221221111122111222111112211212111222211122211121221211212222121122111122112111222111211222212212211121211111111222111121221122221212211211122121211111111221211221221211212121121122211121112222121212122212112222212212211111121211222122111112222212212111112212221121222111212122211212121211112122222212222111111211221211111222211212112122212112121121222122112211221112112222121111121112212212221112121112122111212212111211212121212111222222111111222112211111222221112122221212212222211211211222111112212211122112221222111112221122121221112121122222122121222121212221221112121112212221221222212112122112211212112221222121112211111111212112211211121211221212112121112222211111221121222111121211211222212121121222211112111212122112112121212112212212111212111222112211122121111121112212222211121221212112112221212211121121211121122122222111112211111221212222212121212112222211212112121222211221211212211221112111121111111211221112121121221212111111211222211222211211121112111112222122112121112122221212122221222211211221222121122111112112222112111112222121111211212111222222222111121112122221121121122211211211112221221211122112112211222212122121121121221121112111122222122222112121121111211111221111111222121221111122121211211211122222121121212111121112212111222122112122212211122211111212112111111211221122111222222212122212212121221111222121222112212112111212111111122121222122111112211112112222212122112211121212121211112212122212211222212222121112112111112111222121222211222122211121222111111111121111222111211122121222212111212121221121111122121212122112121112221212221222111222212212211211122112112212111221211221212222221221112221211222212111222122222121122112221221211121122211211111112221222121121221112121212221211212221112222211211211211221111222221222112121222222211212212211122212212112111122211222121221212221112221122122222212111212212222122111221122121212211211222222122121112122122112221222211212121221121111222212121222222111111222122121122211121221222122212111122222112121122222221211212111111211112222112211221111111221212122112211222222112222222121112221222111112211112122221111112122121212121112212111111112221112212222111121121112121112112211112122211121222121122122221121112222111222122121212111222212111212121222112222221122211222212212121111211121122221212122111222211221112211212211221121221211121212212111112122112222112121222122122221212212211211222122212121122111212111222222212212112112211122221222221211111111211122121222122212121221222221212211122121212222212222221221112122122112211111221122121112122212111221122212212121212112211121121222112121222122122112112121212112122121211122222212211121211211121211111121222222211111222111222222211221111122211121122111221211211111122122111222121212122122122111221221212221212111111122211112222121122112212122222111222111221121122111222221221211122221122221222121121112211111111221111122111222122221112122212221212112112122121211221212112122111211211211121222222222212211212211212122122122121212221211121111111221221122122111211212112211121221111212222211122122112112121212222111212221112122121222121212112221122112212222122121112122122222121211122212121111111112122212122221212222122112111111211122211222221222121222211221211121212121112122221211121121122211122212211211112112222222211222121112122122111211111122222121221122222111222212112221221111111111222212212111112121121121212212112221212222112212222122211222112211211221222212211212122222112121221111222211111222212221121221221212121211221212222212121212211111212211211211222112221221212121221111221211212211221112211222221112212221222211122111221121222212122222221212221121111212212212121111112121111212211111211121221211122212222221212121121112122221212212211222112121222112121222112111221212112221211222222222121221211111121122212122211211211121221112221212121211112221111121111222111121111212112212111112222122211121212112111111111112211222212221211122212212221111111111212212222212122211112221112211112221112122121221122111121111222212211111212221112221122221121121222222112121212211222212211112122111211211211112121112221221112122211121112122211111222112222111112121122212122122222211122121121112121122221112212122121211221221221221221221222122221112212212211121221111221112111221222221111111221111112222222211121211212222212222212212211111111212221211112222212112122221121222122112121211212211112212112222122211221111122212221111212212221121121111121122111222111212221222211222111212112211112121121222111211222111221212221221112121122122112211211112112212121122111222112212211221221111112122222222211222121122112221221121122212112112221111221112222221121112111212212221111121222112112221121221212211212111112211222121111112121111212221121222122121112212221221112121111211121212222122122112112112212121212212111111111221122211111121211111112111222112122121122212112212121222121121221111222111122222112121121222122212212122111122221211212121122121121121121111121121222211212122221222112211121221121121221112112111121111112111212111222212211111121221121212112122112211121212111121122222121122111121222111112121122122222112221121122111112221211212222212111122122112121121112112111121222112112221221111212111221122211111122211111222111121112121111121111111222111212211211212222212121112121221222212212112122122111221112122121222121211112211211121111111121211122111112111221122212212211222212112212122112212222211212222212212222211121122122112122211121111221111111112211212112222121221222121212211221112111112121211212212122111122211112112111212111222222122121122122222121122111221111121221211222121211212122211222222122122221112222111221111211212111221122122122221121121221211222111221121222122212221121211121222111211212122212122211222111112211121212211121221212221121111212211212222221211212122112212121122112212221111121212111221211112221121121112111121122112212211122122212212111222122112121121211212121221112221222111222112112112112111112112122121221122221111112212112122121222112121221122111121122112222121112211221121221111212212122121121211221211122221221212212221121221122111222121222121212211211211121221122211222112122121221112211211211122222221212122211222122221111222121121211122212211211112112112112211111212221221122122221112212112222122111221122112221122212122222222211111122122211221122122111112212221212212221221121111111121221222211212222222111212211222112111121121211122111111111112212111111121212221222111111121121121122112111122111212222111222121112121111211222121121122211111222222122121222221112111212121212122212111222111121221122121211221111212122211212211121222111112111112112221111122221122112121221112121222212111111122111111122211212122212221121111221211112111221112122212222212212212221121121222111212121122122222112111122121211222211221211122111212111112222111111121211212211221212211112112122111111222222212221212211121221112222121111112212111121222122121112212212122222122111112211121212111121122111122122211211221221111111122122222221211212121111212211121111222121211111121211121112222222121221211111122211122111222122221121212121111222112222212211112222222212211112111211122222221112211211221111222111221211212112111112211212122121121122221112212121222221112212211122111211121122111211122212122221112212211211211221111112122212211121211122121212221122122111212122112121212112121122212222122211222111211211122212111212211221112122221222112122211122112221221221212211222121222111211111211122221211222112111211222112222212121112222222221221112221112121122121111212212122122222222112121221222212222111111212122221221222112221111212211121222111212211211111211111221111112211122212222112222211221211212121221122111211222221211212222112112111121121211121222222221122112112112112112221221111212112111111112211122221122112111221112112222121211212221211121222211211122212221222221111212111211222121121122212112221221222212112121221212211111112111111212211121121221221222112121221111111211212221122112111212121111121122211222211212212111112121112222112222211122111122112122222122112112212222222111212212222121122111122212122112211122221112121221121111112111122212122112122211112121111121111222212122221122122112112122121121211122211111211112122112212211221111122212221222111222221211112112211112121112212111212212121222122111212211121121212112222122212111121121121222211122221121212221122122212212121221222212111121111222121222221211222212211111112121211221211222121222211112222211112212112212112122212211211222121212211222112112211222121121112221211222211121221212221111212212221222222221211221122111211122212121211221211212211212122112212221221111211112222122222112112221212121112222122222111211222112221221121122212111112211121111222212221221211221222222111211112111212112221212111111212121222122222222211121212122122222222221212121111121211211121122112211122221121112221221122112122121122221221222121222112111121122222222112112122222221212211121222221112222121222221121211221211211212211222211112121112121222112222121122221111222222221212112211122211222122221122222221111121111212122222212211222121222121111212221122221111122211222222222111212211212221221221222122222222211222121222122111121222211121112121121221121111111222222112212122112212122121112212122112122112111222111112221212211222212122112211111211121111222222222122111112122211222121222212122221212222211121212111211112212122121222211111121121211112211212212111222122111111112112111121212211211222111212222122221211122211211111221211221122221221222212211222212212111111112111122112121212212222112122112211121212222112221112222212111212212112112121222222111122212122211212111122211122212211221121211222212222212221212211111111122221222211222121112221111221211222122212112112212111211121112121222111121121211222111122221112121212112221221211212121122212212121121221221222212221211212221122111221221211212121121211212111212112112211122211112211122211222211222111221121222222222211121111222221111222111122211121122111222112221222112211121121222222112211112221112221122122112221122222111212221221122212211121211122222111111121111111112212112222221121112212112211111222112211111111111222212222111212112112212121212212212111211222122112222111212212112122111211111122212212212112111211122211122212121222212122111212211122122111111112112122221111211111122111211212222121211221111122212111122111112221112112121121111211212222111111212111211211111211211112112111222212221112111112212221122211212222222221112221121221212122121212111211222211112122112222111222122121212221112111122121211221121222211221122111112122112112112122211211221211212211112121122212221221221111212121221222122221212222222122112212121221212121112112221211121121211212211221112122222111221221111222121121121111211212211212121211122122112121121211221221222222122212211222212111211221222112111111211212222222112211121111111111221211122212211212221112121212221111212112212121121221222222221222221121122112211112112111121122212221111212121212121211212212212111221222212111211111222212112111211122221221121221211211112221212211112222112221221222221111111212121122121112122211112112222111222222211222212111112122122111212121121221221222222121221122122121121221212121121221211212121112121111221222122111121221222111122221121211111211121221112122211221122222222221221122121211121112212111111222211221221212112221121112112122212222211122212121122221211211211111211222112122111222112211212211222211211122112111121121211212222212221111121111222221121211112211112221122222212121221111112211211121122122211122221222122112112221112222112212221121211211222212111222212211211122112221221122212222112221122222111112212122211222121222122221121221122112211212212122212212111121121211212222111212222212112122122222112221112112212211211112111211122121112111111112222222121221212121221111111112121122111222122211211122111111111222222121212121111111211112221222111122212222112112222121121122211211122112211111221222221212211212212111212222121111211111211222222212221122211122221111221121222222212211222221122122211122222121221112111212121122222212111211211121121122212211111221111212212212221211212121221122222211111112121222222122121122112121122111122211212222122211222111111211211211112112112122222211121111222221222122222222112112211112211222121112221221112211212221111111222121222211121122121122111121122212122112111222121211211211121211111222211222212222212221121112111211221212122122211122222222111122121222221111211211122211121112222122222111212221122222221211211112112222222221122212222211112211222122222211212112221212121221112111121212112212122122212212222221112212111221111212222121111221212212211221112122221122121121212222222111222212221212112122112211211221112211122111211122212122222112222122222222222212111111211212221222211211211122112111212222111211121212211112121212121222122222121212122111111112222212122122221121111121122111122221122211111121211122211212121212111111121222122122121122222122111122121121212221111212121121111112211112212211111211111121122112221221122212112122221221212111211212211221112222212212112121212111222121121221222211221111222121222121221121122221122111222112221212111111111221222211221211212221112211121222222221122121122121111112121122212122221211211211121212212122221221212221111222121221121211222121221111121121112121212222122222111221222221222121112222112121112221111122222212112111111112121122222222122122111111222211112222221121112111212121121222221112111112122112222122211122211212211211222112122212222112122122121221222121221111122211211222122221212121121121211122111211212212211111122121121222122122222122111111122211212111212211121212211122122112222211121211112222212121121221112112111111212121112111112111222221121221221112212121222221112112111212112121212211212122222111121211212112111111212211122111212211121221121212122211211221211122211221112222111221121111222112121111212121222222122222122121112112211221111212212121212222222112212212221211211112221221212222222121211112211211211111221222111121221212221122211121222212121112221221221211122111211212112221121222222212221111122221222122221222122112111212222222222212112111212111211122121222122212112221212122112222221111211112122111112121221121121222221112112111212222212221222122211112222212221112122122122121212212121212122121222222222222112212222111212222111122111212122222111211221111111112222212211112221222122212112211121121212222112222111222222211211212212111111222212212221212121222221111211212222221112212211212211221211122221212222112212212111211122112212112212112111111111211112212211122221211122121121112112222212121122112222222212222122112121211222221122222221121121121212222221212212111222121112211212122122211212222221221222221211211121122121221122112211211112212111122222222122121211111121111121111111112122212111122221111221221211222111212211221121211221221222121211121121111212111121112222111121212112211112112111122121121211122222212111222212221221111121122221221121121222112112112111111111211121122112212121222111221122222111121211212121222222111212221221111221112122221212211111121111112111222222211211222121221112222112121222221121112112221212111111211112222211121111122112122111211212211112221221221212222212222212222112121221122121122111222212111212221221121221221121121212121221221211222222112121212112221112212121112222212122212111111212112112212212121212211121211121222221222221221211112221112212221211212111112211211221222122211111222112111121211111221222122111222212122121222112111112112211222122121211211222222212121211121212221111221121212112111212122222212111122122211212222222121221212211212111212122212222222211121211211121122212211221121121222122121212211221222221211121111112121211222122211221221211212112112221212111211121111222111211122211211122112122121211211221112212221211222221122221121121222122112122212222111122122111221222211211112111222222222222122212112221211222112222211112111222222211211122222221121122122112122112112211122112211222222221121212211222212222222111122222222111122212212121112111222212121121121111121121112112122221112112221221221121111112121211222111121122222122122211122221212122122122121112211111222112122122122111112112212122121212221122221111112121112121111221111221211211211212112111112122121212121112221111211221111221211121211122221222211121221112112112121212122122121212121212122112221112112112111122211212222112121212222221122122122122211221122212121122121111112111211222211221221112222121222121111222122112211111112221211222212211112222122221211211221111112122212112211112112212121222212212212122212122221221121211221222211112221112122121111111211122221221112222221212222111211111112221222222121221221222222222112111221121221212212121111211211121222112112111121222222211222111122121211212122122111122221121112211221122112121122112121211111112112222121112112122211111222121222121112121112122221212112111222122211112222211222212212221111121112221111111212212212222112121221122111121212211221121222122212121221211121111222112222112212112111112121222222212221222121211212212121112112122222212122122111121122211222111122112212122212222221121121222112112122122222222212221211221121212222221211121211222212122111111211211222111111222211112111211112121211112211121111222221212221122112221221122112221212122121211211111221212112112221112111111221221111112122221122122221222122222221212122221122221121111211212211222111222122112212221211122222212111211111121112222212121211222112211122221122112221211112222222222111122112111211122111111222112212122122122211122212112121211222211121122122221222121211111111122221221111121121221211121222222121211212111121211122211111121211211122211221212111111211211112221212211221221112211212122222222222122222211211121112211222111112222211211121212111121111221212211112112221211222122211212122122222111121112121121112112212211111112211122122121221122222221222212112222212112112211122222111121212212112221221112121221211112211211112211122212211112211222122111111111121212222222212122221221212122112111111112122111121221121122121211111121222222121222222121222222112121211212221121112212221222111221122122112111212212222222212112122222111112212211121222222112122221222122112212222121111212211122211211122121111112211222211111221221221121222222121111222221221222112211212111122111122221221121211211121212222121112212211222121121112111112222211112222222221221211111212222212122221221122212112122121212121221212111111112112112211221221211212222212121211112221111211211212122211111221222211211121211212111121222111122212122121122212222121212121122122211111222121121211221222121222211221212221221121211212211212122212212222111112111212212211112222211121221122122121212211122222121112121122122222112212222221111221211121221121212211222121122122112211221212112122121222122111212121122212221212211111112112221111112121112221111121211222112112212212112111211111122112222211212211221112222122112121221222221212222212211212212211121212211211212212112211211121111212111122121211111221112212221221212222211212222212212111121221122111112121112121221222212111111212111222122112221111212212222211212222112121221222211121121111212222212222222121121211212212122211212122112211122211212212211211222121222221211112122211222121212221121121211122222221211221211111122212212222111221211112212111122221121111211211112111112112112121221222112211222121221121111121111121221121122212122222121222111111121221112112212211121211211111221112222111221211211222212122222112112121112212122111222222221112121122212122112111211122122112212112211121121112222121221112211122221222222211112122112211111222211212122112122212211222122112222222212221221121221221111222111122212221111112222212222122221121221121121121122211121221112221112222211221121121121212112222211212211121211112122112112122112112212222111112121122212121121111112212112211112211222111112122112111112222112221112211122222111222211212222112122221211121121221222221121212122222112121122121221211212121222111111211112122111111111112211221222222211211111221221121122111112111111211121211121111212112221112111121121222212112211112221112111222221221122111222211122221212111122111122111121121221221111121111121121122212111121221221222111222211211122221122111112121111122221111221221211122222112112211212112122221121221122221121111211212122122211112211111122121112122211212222222122121122112112221112122111112221211111212122112221111121222111222112122122212121211222122111112121112122111111211122121112221211221211121222221111211222211122122122112221212221211211112221222222221111211122211212221221122212121222122212222112222212122221211111122222211222222221212121112221212121221121111211112221221121121212112222112221212121122111121211121122122121212221121211222112121121121211222112212111121222211221112221111212112112112121111121122221221112112212211212212111211221121112221111222111121221211121112221212211211112112122221221211121112221112211122112112121111211222122111222112122212112121111221122112111222222121111112212212221112112222121111212212212111222211211121112221211111221212111212222111121212111112111112121122211222121212122211112112121221121212121112122111121222212112121211121212121222222211221212122222111112212121222111122221121112221211121222111221212121112212221111211122112212211212121121122222111111222121121211112112111111121211211121121212121211111111212221122121112221111122211221222211221112111211111212212212212211112111122112121111211122111122111121211122212122122112121111121211222211222211122222222121112211112211111211212121221121222211212211122211111112121222121112122121212221122211221221111212112211112222121121222122211221222122222111221112222221212121122222212211221221211122111222221212122212221212222112111122212122222212112211111212212222211211221222121111111111112112112111121112122222121121222121212211122222112222111121121222121122211112111222222112121222222122111212112222211211122112211222111112112222211211122112111121112212212112211112222221212222121212212212222112122112112211122222121212121212221121112122221121112221112211111221111112111211212121122222211112112122212221122222111121222211111221222222211112222211111222211122122211211111211111122211221212221111211112112211122111112222222221211211112211121111121122222212221111111211221121112221212112221121211212121121112211212121221111211121122112221221112121222121111211111221212122121121212122122221111121221112221222211122122122221221121121211121211212211212122122112122221221221112212121221222112211122222111222222212112112221222221212222212122222111122212121122212122222211212222122221211212111112211121121121222122112121122111112211121112111222122121221211222122112211112212112221121222112212212122112221221212221212221221222121121211111211112112112221221222112211121222211112121122211111111221221212211221122121112112112111221111111222222122122112112111222221212221211211122121221111221221111122112121112111212221222121211112121122222121112121211221111122111211112112112112121211112211122111111221222121221211111221211222121222221222221112112211111221122221212122112121222121222222111122121211111122111212212211221111212112221121221112211221211212211211111212111212211111221212111212111122122112111211112122211121122222222122121221212221121112211121222221212222212212111211221111112222112211212222212222112222222112212211221211221111222121222221222112221112112212212222122111211222221221222122122221211121111122222211112111122112122111221112111221211122212222112212212221211221112221111212221211121111211211121112221112222112122112211211121211221212212122112211221121121222212222222122122121221222122111121121111222112212112111212111212112221121111122111112211221222112212111111211212121212221211121212122112222111111222121112122222222211111122111112211112211111212111111121211112212211212212122212221221211212222212121121122112221212212212222122221222222222212112222222222221211211111222121222111212221212222212122222111221121211111121221221211211112111211221121222111121121212122222212111112221111221112112222112221111121121222212122111222121111222111222221222122122121222111112111212211221222122122222121122121221122222121112222122211221212111221111122122212212111211112212121112222222221111221121112211211122221221222111222222122122221121212121111222222121112112222211221112111222122111111122222122121222121222121122222122122112211122122111122212111111121112212211222211211122121212211112222112221222211112111212221122122212212121212111111211111121111211222122221121211112212211121212121112222212121212211111112121112222212212122121221122211212211122212112121111222212211112222121111222221112222111111111122112212121221212211112221112111212212121212112222121211212111122111222122112221122121212222122211211211111221122222222212221222222122211222211211111212222211222212112212112212212112121111212211121212112212112112221221112111122122212111112112221111112221111111221111212212121221222221122221222222122221121221222112111122122221121212221212111211121111212112221211112212211211221121221221112112221122121122212121122122112121112121221222212111122121112112222122222122211122122122212221121212211111122221221122112111112121221212111122112221122121212112222122112211122111121222211122121112112221121122122211112112211212221122111122111222221121111221122222122221112212122121211212221121222111222121121221111211112211222212111222112112111112112211111222112121211111122112211111121122211112112122112111121222211211112121212212121212211111111222221221121111122121221221122121122212111111122222222122111122211221111121122211122121222121222111221111121221122122212111111221211112122122122211221212212111111111221112111221222212121211111211222211111111212221122111211122111121221222121211211112211211222211221112122222221212121222221112212111121121211211111111111222121221111112122211121212211122211121211212111112111212221121221212212222111222112121112111121121222212111122222121112212111111222111211221212121112112122222112111222122222111221212111111111111121122111211111211112122122111122112212211122121111121212112112212221122122121222212112112222222122211122121222121212112122122122212221221122112212122222221121221111212112112212112212121111221122222111111211112122112111122111111222212221212122111122221122222121221122122112121121212121122212122111122221112222111121111222221112111112112111121112112122122111121121111222211212112111112122111211122211212112211121122121122212122222222222221121122221121111221221121211111122112121222111211212122111121111211121121212211211111122112222212221221112121211221222112111211121211122212212212222122211212122211121111122122212212111111111212112121121121222112111221121121111222222122112212222222212111112222111222122212212112211121211121122221211122121112221122212122111221221222212211212211211121212221212212221121111211112211212111212211122221111111122222211221122112222211211222121111211121211112221211111112111112212212222212211111122122111211122222122222121222221212211112221212122111122221121122121122121222221121122221221122222122221212121222112112112211221222221121221222112111112212211221222212121221111211112222212122221222221112212221112221111121222121112211211122112211111112121121221222222112122221111222221211122121221212121111111121212221121222111111222211111221122212222122222111111211222211122122111122211112212211111221212211211112222111211222112211121211212221111112122211211111111211211121122121122112112211222112221222111122122122221111212121111221222111221122212211112111112111112221211221211221121212112211222112121221211122221112121111211121211121221121121221221221122122112111111211222222121211211121212111222111121222122222122211112111212221221211112122222222112222211221222212221121222222212122222211121112111121211222122222111112222211211221211112221121121111111111221112111121222112112121212122122211122122121211211121111112212121222211112122112212121121111211221211111221221222211122221211111221211122111121112222112121212122121112212222111111111211222122122112221221222112221121112222111111211111111112222121122212211112121222112122121111121212121221211211222222122221212221122122111122212121222222221122221211122122112221211212221112221112121221122222112121111211122211121212222222222212111221121112121111212222111111111111122112112222111111212222221222211112212211212211211212122212112211112211111121112112111112221111211112222222111112112122112222212121112121121211211211122121221212112212222212222111122112111122221222222222121212122121222111221122212111111122112111211111222222212122121221111222111211211122211122211122212111211212112211212211221211111222111222222121222111222111222212221211112111121212222221122121111211122111122221221122121122212111221121112122212211212121211121111122121121112112222122211221111222212221121222211222212212221111211121111122222122121222222111121112111122222122211112111211122122221221111221111111221111112111112112121211122111221122222221221111122122211111111221121221212221122221221221212212121222121212222122211222111121122211221212222212211121122211222111112112221211222111111111121112122122122122221222211122212222222111122211122211121122111112211121122221121222222111121212211121221212121111211111211211212112121221221221112222221112222121211111222222221212211121112222212222222222121222121121212212212222221222122122121222211221212111112211221111211111222212221122222121212122221212221122212112221221221111112221112112111121221221112222122111121221121212222121111112111221221112221111212112122111121121122222112222222221112111122122111121112221211211212222111212221111211222111112121112211112212122112211211211111212122212221211121121211112222212222122222122122212221222122211212122211121112121122122221111112111211222112221121121212221122122121121222212112112222222212112112222222222212222121222211212122122211222221212222122121122222221211122212212122211112121121222211222222112112221221112111122112121212211211221112111111221222222211121222222211221111121112222221212122112121111222212121121111111112112121212112112112111222112222222111122112211111221111211221111112222111211222221112211222121112122211221212122221121212122212122212111111212222212222211121222111212122222222112121222121111222121122111222221221221222222221112122221221122211111111112221221222221112212112221212122111111111121212111211212212221111112122221122122121212211111212122211211121122111212111221221221111221212221211211222112121221111111212212222121121121222212222212212211221121212211212112121112112211212222211222211111112121111111222121211221211121121122111121211221221122211112221122221212112211212112112222221221212222221211221111221122211211111121222221222111111211221111112221121112122111112222112211212122122212112121111221221222221111212122211211211122112211212212111211122221211222112211121111112111222211211122121121222112122122222222221112221211112212111111111211112212111122222212111112122222112211122112221221221221122222222211221212211112122121212221221222222122112122112211211122111111121221121222112211212111212212121111222221111221121211221121112222221121212212111112121122212112212211112212112122122121212121111112121222211121221222112221122211212112211111122121211212112122111121121112221222211211212211212112222121122122121112212111122211111222111211112111112212112122112111221221112221211111212122122212112222122122122122122221112122212112121212211221222212221121112221122211121121211121221112212211122222112121111221121112211222121122211221212112111212121221222122112112122222111121221121221212122222111221112122211112222212111111112122121221112111212111111121112211122122122222122121112121112122222122121111121221121211112211122122121111121121122121221222211111122211211222112122121212211122121212222222212212211222121122112122211122122212211112221211121222221222212212122222111212121211222221211221112121212111112212121212121212211221221221112211112212212222111112211111212111212222122121221211212221212122212222221121122222212112222212122122121111212121221222121122211121221112112221122222121222211122121112121222221122112121122211221111221122122112211212211111222222112221211112221211222212221111111212112112121112111112111121122122222222122112211112212211112111222212111222112222211112121122221221122221222222121112121111222122121221121121222121211111222111222211112111122122121222111211121121222111211111221221122122211221221221211222212122212212212212211221121121121111121121222222121122221112112121211211121111111212222121111121112121112222112121221211212122121211112111221211122111111121222122121222211222111211221221111222111112222211212222221112212221222222221222111221221112212122222112122221122111211212122122221211121112111212112112112121111222221222112121121222122222122221212222122111221221212222211222121222122221222121112122222211121212212222212112221222211222211111211221212212211222221112121211222122111122121221112111212221111211122221112222112111212211221111122211211212112212111121122211112111211212112112221211121112221111222222221211121222211221121211112121222212111111112122122212111212112211122122122212112121112212121122122121122212112212122211211121221111221222122221112212122122211121122121111121211221211212211212212122212112222211212122212112121121222121111122221122121121121122211122112122112212211122211122121112222112222211111121222221212222111212211121212122212112211212211222221121111222122111211112211222122121112222111221212122122111211122111221111211212212211212121221221121222122222221112121111221211111222112111121111122221111112111122222122211211222111122121121111222112222112112221211212111122122122111212212121222112122112212122222122121222121212221221111121212222212112211211121222111221211222111122111122111111121221222122111221212122222212121111121111222121121111122122111111112122122121222122211122111122122212112112221211212112221212221121122112121111211211111212212111211221122122211122111122221121111221212112221221212122112122111221212221111112112222222121222212112222221121112222211112221112111212222112112212112112211112222221122112112212212112122212222212122212222221121211212112211222212221221121211222121221212111222211112121212122211121211121111111111222121212122222212211222212222111221112112112221221122111112211121111221121121112222211221121121111112122212212121221211111221222122222212222221122212122121221111121212111212212222111211222211221121111122222111112222122222222121211111112112122121212111212222122221122212221121221111221121221222121221121211121212122121221122211112111222111222121121211211121111121212122221212222122112222111122211212222212112121122112212211211121221222112121221211222111122111222212212112111222112111122111111221121121222221221122222112112112122111221212112121111221111122122111122222111211112212212221122211211122121111111112212122212112211212121212211211222112211211222221211222221112122111211221211112111211221121222222111121212212212121111122111112211211111122121222122222121111111211122121121222112212222112212212221111221222221221111121211121221221122112211211211112211122112121222112212212112222121211121122222121121111112122111112111111111122212112211122122211211211122212112222211122212121111111211211112221112221112222212221112211212221211112112122222112121112211122112211122212212221222111211222222221121212222112112112222221111221221112112211212112212212122221221221221211121121112122112222212212112222211122111121212221111121121212221122121212122121222122122111222211212212111221211221111212122222111212211222122211111111112222212221212122121111211112121221211221112222111212212122112122212212222111121122122112112211112121121121112221212122222212221122211212222112112111122211211111212112212212211221211222111121121221121111221222112121212222121212211111112122221122112112112121122121121222221212122221211222212221222212221212222122111112111222122112221121112122122212221212221212221121121212221221221222122112211212221121212211122111111112211122222111221212121111112222212211211222122112221122222211111122121112121211112111222211221122222221122221122221221121211222211221221112122212212122212222122221112211111121121212221222221212212122111222121111222112111212222212221222111112121221211212112121122221112221122222111222121111112222212221211122121211112211222212221212121221121122111212211221222211121212222122121112211222222112121112121212221221211122112111111122112221122222112111221211212121221112122222221111112221122221212222121211212122121112121112222121111122212221221112122111212121211222221121122111222212111121212122112211222122112121211111112111122122111121212112111221221211212122221122112222222122111211222112221212111121221111222112112111122122111121221111112221211211111112222112112211122121111112222212121122221121211122111212111112222222212111122221111211212221222122212121212211112222211221112111111122221212211211211222211212222112122111122122212222212112221222111221121222111111221222221112121111221112112222222121212222221112121112121121222112122221221121121221211221111112121122211122111122211112211222122222212211211122122221122121112122121222112122222112121211212112211211111122121212121221121211112222222122111122212221121121222221121211212221112112221212211111112112211122112211112212112121112122221112122121221122112222121111111121212122222112122221222211121211112111121112221111212212112112221122211112222211211112121222122112111111221122122111221112122221122112211112212121111221212121211211212112121212111111111121121222111111121221121121121122221212221221221112221121121121212111121211221212222212111211121121122222112211221121111112211112111122112222112122221112112211111211221121122121122221212112122221111221122111222111211111221221212212221112222211221221121211111121212111221111122112121212121122111212121211212222222111211222121122111111222222221122122212112112112122221221122211212211121212121211121212222111121221111212121212212111122221111122222112222122121221111212222122111212111221111211122121121111222212222122111212121211121111211211222111222122211221112221211211221222212122112221111211211212211122121121221111111111122221122211212121122122111121112212112112111212112112211112221211221112212221112122222121111212211121122111211212111222111212221211121111211122222222111211122111212111112212122111222221112211222221221221222212222212122121111212222111122122211112222111111221211211121212211222112122211211112121222212221121112122222222122211221221111212121122221212112111211221222221221221212112121221112211112112211111111121211111221121212221211222221112121121121211212211222122122111212222111222211212112111122121222221111121211112111222211112111211111121122122222222221211112121211111211221211211212122122212122222222211122222212211212112222222211212222121112111211121122221221111121221212221121111111122222122221222222121222211211122221121211111121112112211221112211111122112111222221212112112221212111112211212212212112221112212221121211212122221112122112222122111211111122221212222122212222122222111222211111111112121122112122122211111112212221212222112112212221211122212122122112112212211212211112221221212221122121211111211122211122222212221212222121211221222221122212221112121112222111122111221122222211111222222112111211111111111222121212112111112121122122221211211112122222222222212112121112112112121122112111112221112222121211211211121112112111121221212212211121112222122221112211211112222222122122212211221111111222222211212122122222121222221222221122221122211121222122212222221212211222222212222211112111111211121221222112112221212111212212211121122111211122112221211211211121221111212211221221222211211111122212122121122212121111112121221112121212121122212111112122111122222112212211122121222112121111221211111211211222212212211121222221111122222212112122121222222112221211111112211121221221112222222211111122111112212121221211212212112222121121111111221212211111112212222121211112211211112212112122222122111111112111211121112212112212211111222122111221211121212121112121111111122121122121122222211222211112121121111112111211121112122112122111212122121111222211122111221112212212111221111222222111121222211111212221222122211211212221122221121121221221211122211211212121221111221121221121221221121121112221121222121222111221211212121112122222112212121211221121121212122211211112222111111122122222111222111222212121222222222122221111221121212112112111112121211121121122122222111121212211111111221121122211222122211221122211211121222112121221121121212212111211221211111222222122122122212112211112112122211112222121221121221122112122121111212112221221212211211111111212212111221111112111121121122122121221222121222222111211222111222111221212112211212111111112111212111111211221122222121111112122111122121221122211212211221211221211111111212221211121111212211111112221212221221121121121212212122111211111211221111211222122122211212212112122221212112212111212211121121222111111111222111222122211111222211111112111111122221221111111211221122222212211122222112122111212221222122221122121222112221222212221121121221222122121112121222121112222112222111121111221111111121222122222112211222212112221212222221212221212121112112121222221121111211122111221221122111212121122112112112111111112211122212212121121121122111111122222111222221121222111212111111122221221211221221221111222122112222122221212222122222112221211111121121121222112112222121211121222222112111112121212222222112212221211121121112112212212211112111112212122212121111221221211211122112212212212222211112222221222112212112221112112112221211221121112211212111211121221222212112221111212211122122111211222112222121212221222221122221122222122211121122112211121211111212122222111211212121112121221212222211121222211221222112112221111111222112121122212221211221112121111121112112221122211121111121122222122112211212112222112111221121211221111121121122211221122212222122221212221221222122212221121212112111212221121222211122111221112222112121211221122121221112221111212121111121122212122121212111111112211221112222112121122112121212221212112111111221222212111121112121211121112222112211121111121211221112121122112112221222111111112112111221111112221122112221121122212121122111222111211112221122211112221111112121222212111222211221111121112121221222221112112222221121111112211122121112221112221121111212111122221222112211221211122221111122121112122222121221112212222122222212222221212122112212122222211122222221121112122212221222211211212122221221212121122121111122212121112111122212212112221111211122122121211112111222121212112111221122212121212212112222211222112221122211121222221221121111121112212222211211112221221121212211112222111112121122221222212112221212211211212112112211221112221112222112212222111122212211122211122112111222211222211211112121222222221112212212222121112222112222111211121122211212221222112212212221211112212112222121112222222212122222221221111221211122112112221212122222212221222111121222212112122221111222112212222111111121111121111222222212121212221121222211111211211211221122111222221211221212212221121221112211111212122112221111212112221212221221211121221122121222211222212212211211121112222221212212121112122211111211222211121211112111221112111211122222111211121112111212122111221212111121122212111221212122111121122212121211212122221122121211122112112222121121122122222211221112211112222111121221122121211122221212211212111111222112221211112212221122212121122122111122122212121111112122222222111212121112112111211121212211221222222221121121121211111111122211122112111211212112211221221111122121111222221212121121112112212122112112111122111222122222222222212122122222222111112222212111121222111221111211212211112111112121111211111121121111211212222211111221122221121112111212112211111111112212212222121221221221112111122222122222112222122111112212221121221111111121212212122121111211222111221212112222121212121221122221211222122212212222222221122122121212211212222112112212112111211222111121222112121111112121112112211121122221111221221211111111221222122122221111122212212211121222211121211121111111122112212121121111111212222212211121221222211111222221211112112212212211212211112211121121211122211212122222222221211112211122212221121112212112112212121112221111212111121221211122212221222121221111122111122122211221121221111222211111111222112122111211112112222222221111122112111122121221122122221112222112221122221222222222111121211122222221211222122221112222222111121111221111212222211111222121121212112112112111112211122112221122111211111112122112111122222112221211212121112122211212122211211212222122211221212122111111122212122212222121222222211212111221121221112122212112122211121122211111211211221222112211211112122121221122121221222211121221212211111222211112111211211111212111212211222212112122222112111121111112111121212212212112222211122122121111111111222122222111221222112211121211121221111121211111122122212112221222221221112122112112122121111211121221222212211122221112121211112211211221222211112121212212211112122112112121212212111211222211211212112221111222111212111222121221211221222121211121122112222211112112221221222211112212221222111112212222222212212121222122211212221211212121122221212212222121221222111222212221121122122212221221222221121112122121122111122111212122221221111121122111211211211112222221221121221221212221211222122212211222212121222222112122222222121222221211112211112122122121221121121122222121211121221221122212121221112121221112111212222121212111211211121222221121112212222222122122112121121111122211212221221112121111112222222121222221211121121122212211111212222112222111122122121221211122122111112222221112221122222212221112121112121122111211222112212121111111211112122112121221211221112212212121221211112212212212112221112211122212111111112221212211221212222222221111121222122111112112122121121221212121212221211112122122221212222221211111121211121111221112221122122111222121212211122112111111112121112121212222222122112212112122212122222222221212222112222121222122221121211211111212221212221212111122221211112112212122221212111211122222122121112222221122211112212121121222112122221122121111222221221122211212121121121122221212121122211211122122122222122221122211122211122121221222221121212212221122121112211122221211112222121211122122212222212212111111121122221212211222222121121111211112111212212121122221211221211122122112221112122221221122111122212121212112211211211122222222211122111222221222211221121211112122221121211111221211211111221211211112111222212112221111221212222221111112122221121122111112111112112222211222221222211112211212211222212212111221111111111211212121222212221211221221121222122221111212121111112122121211112112111121111212122122212121111121212122121121112111211121222222121122111221211222211221212111112211212122212221211121122221122211121211122222221122121122211111211221121122122221122111221212212111121211212212112221222222212121222122211222222122212212121111121121212112121211111221121112212222212122112211212122111212211222221211211212121221222212122122222212221112121222112212112121221112211111211222122112122111222122121211122211211212221221121112211121211121221221221212221212212212121122222222212121112222222122221221112111112122222212121222111121111211111122111221122212222112211221221211112212222121111121111222211112222111211221211221111121222212211111212112211222221111111112112122111221111112212212121121211121111211221212121221212211212222221121221121222211111121111112221111111221112211221112111222112121221212212112222111221121211211212211212121112122211111212122211222111212221221211112111112121121111212212122212212222112111111111221211111112112112222112222121112122221112212112221112111112112211212121212121221112211212212122122111221112222211211222111122121112212122121121112122121221111212112222211212111122222122121122221112221221211121121111112122222112211221212112212212212211122121212122211122222122212112122121221112121222122212222111222222211112112212122211221112121122121211222122112212112221222222212121111212112212211121111112121121212211212212222112111122211121111212212122122211211221121212221221111221122211222111212111111112221111112211212121121221122212122211122122111122122112211221212222112212121121211121211212122212112122212112111222222222212222221221112222222111221111212121221212122212111211211212211221112221211221211221222111212111212221122222211111112222222121222211211222222111112112111122222111111111222121111222121221212211122222112111211122222212221122221222121212122122212121211121211122111211111122221212212122221212212112211221221111222221121121221211122111112112122122121212222111211222222112212111122221222221112222221122121211121222211221212122111222122211222111112122122212121222212112112122112112121112122212121121211211111211211222112111111112121222222221212221211221221112121112212211122222112122112111111111122211221222112111221111122122121121222221111211221111111222121122112211212112221112222111221112221222212212212111122112211112112122111221121221122121211212222212221212112222211121212121122121222122221111222121221112122222112122122221122212122221111111222112212221121221112111221211222211211211211211211222222221211212121121211122222112121221111122111222121222222212121212212222221112121222112211212211222112211222211111222122112212122212121121112121112121122111221221112222222211212211121212222111121121221111121221112121122112222222112222122121112211112111221222212221222122221222211211222121112122212212111212121112222112222212112221221222222112112121221121111221211122112111221212222221121222212122112211111121112221111222221212212121121221122111112112121212221221222211121111211111122121111111122221111122122111221111221122121122222122122111212221112122111211122212122112112212212221111121221111122122211211112112222111221122221111222212212121111112121112222222122122222221212212211122112111121212212121121211211221221222121122111121121112111221212212122211221112221212222222211211211212112222121222112222112111122111212112112112112111121122212121111112221111112211212221211212222211212212121111221122212222112122221211212211112222112211221211212112112222122111221222212221212221111211211211222112211221112222222222111122221112211221221112121112222111212211111122112212222111211112122211111222212221212122222121122111212212111222211221112121121212221112121112222212121221211121112111222111212221212212111121212111212122111212221221212122121221121221112221211111111111112212222122212112111112211211212121212122212111221212212111111221112112212222111122111121211211221121222112211121121221221111222121121122212111222121221221221112111122122111222222122112212212212211222111221221212112211112112212221221121222212211221211122122122122112212212122111212211221121111211111222122122211212211212222221221221111211211222221211121122111112212211112212112222122112122211211211122112212122221122112222121222222121212112221221222212112221211221222112121121221122112212211122112112111212121112222212121121122222111112112122221112122111221212222111112221212212111222122121122112122112222112222121121111221121212121111222211222111121212112212121121111112212121121112122111112211112111112222121222111222112122112221122121121221222211212121222222111112212212212122111221222212222222111221211211212221211222212111221211121211122122211212112112222112122112222222222122112122222221222211122221112221222112221221211122221212111222112211211222211221122212222211212122211111221111221221121122211121112121122111122122112211221112112212212222121112212211211211221121112121111121112222112212112211221112221222211212112221112212111212222111112121222221111112212121111122122121211121121211211211221111211211221212111122222111121221122122112122221121221121222111112221122211222212211222121122212122112111111111112212222112112211211221122221212212221221121212211122112221212111222122212211221211122211222122221112111122221112212112111222211211212121222112222211212122212121212121111211111112111212121112222211222211122212221221222221122221211121121212122212122122112222122111212212212122211122212222121112122221112222221122222222111212111111111122212222122122121111112111111211112121212211222111112121112122211222111222211221222211112211212212211222211122212122122121211222121112112212222212112122111212221221121221221211112111121211111122121212212222212212112111211111112112112111112111112221222122222222212212211222212121221221211222112122222211111122122221122221211111122121221111121121212212111111221222222112221111111212221122122121111221121111121212212221212111121211111121112211221211211211222121111222221221111212122112212222222121121121111121212222211221222112222111111121122111221111121111212211121211221121121222121121222111212222212112122122112222112121111112221221122211222211222222111212211222111221112212212111121211122221122122111222112222211221111122212121112121111222222121211221212112122222212121121111112122222122111121211122122212122121121212121112211111122222121111211211111121222221122212122211212122122111212111112212111122221111121111112221212212111221212121112212112221112212221211121221122112212121222122112212221111122222111111212112221211212222221221121212111221112211211222212112122212212211122111121111122112211111211222122211221121112221111221211112122122222222212221211222111111111111211221111121121112121221222121112122221121211121112112212211121222221111211111211121112222112121121121211211122222211212222211222122212122111222221122121122121221222111212211111222121122221122111121111212121221211122211211121221212211211222112221122121121212122221221121222221121111121121122111221221211111221212122211122221121212211212212222221121212212112211112212211122111212221212222212222121211121221112222221122122111222121211211222221212211222121221121221212121222122111112112211212121221212211122211221111122112221222222221112121112112111212221212121121212122121222222211221222212222122212121121121212112221122122212121212121222221222122122111211221111122221121122111121111222122212211212221121121121111221221211111221212112122112211122222211122212222122211212221121221212122212121222122211222221122212112222121122222122122121112122221111112221112211121111121112221212222111122221121111122112211221211121112221211111121222221122122111121222121222222112221121122221211122222222212212221111111221111112122212111221222121221112222221112222211211122121112122212121221221112221212121112212212111122212121111221122212112211112111222222112212212111221212112111212222121122211122222212112112212111121211111122111212211222111222211121121121122221121111112221211122122122121122221122212111121111112112221112221122221212121121111211212122212112121211212221221212222121221221122111212222111122112212121221212112112121221122112211222121111111121212122121212121122211222111121122121211111121211112221222211221112121121121112111112121222221121212221211112212112212221221211111112222121212211221122122122212111222211112222112212221222212212211111212222221211111221222112121111121221211211222121122221122111121222221121112122112112212111122221121221212122221221112212122222112212111111122111122211211221111222212221121212112212122112111222222122211122222112122221112121221221212221212211212122122221211212222212121122212211212221222111222111121221112222112121121211121212121111212112111122221212121211112221112221112111221222222121122111121222111111112221222221222211222221222112122111112122212211211112211222221122221211122122112221222221212112212221222111222222222221221122122212212122212121111121112222221111121112121222212122212222122221212222121221122111212122221111222122221122221212221121112211211222221121212121111212221222121221121211211112221211122112211212121111211222212222221211122211112221112122222112121112211122211121112112121211211211111221112221212211122221221121211222222112122122221222121111221222112222221221211211121222112111221212122212221221111121111111111222122111221211122212221211211111112221221212122212211221122122121121111111212121221122112222111122221211111222121211211211221111122111112212212221211211212222121222211211112221122121211222211111221212211211121212222212222121111111211221222122112222212222212112222212112211221211111211211221221112211222221121222222111222122212112211211111112222211111121122111222111221211221212122121221122221221121212211112222212112212111221221212122122222122112212212112111112111211122122112111212222211111111212111221222112111211211222212222222211121211222212122112122221121211212212111211211221211122112111221222211112222122111121112222121221122111111112122122121221111212221112112221212212121122122111222221211221221222222221121122212121221111211121112121112221122122222122211122121112222222122211122122112122221211212211111122122222211222212221121211212212121122222111121212221221211121122111222211212222112211122221221211221211112222222121122122222211211112111122121221121122221221222112212121111112222122221111211221222122112111111112112112111122111122122211221211221212222221121111212211122222221222221121222212111221111111121222222222212112122211212211121212122212222111112221212211122212112121112122111222121212111221112111211111211122222222112111111121221122212221121222112112221121212212112112121222121211222211111221112111212211211122212112211111121121211212121121112211211221222111112221122212122121221221221121212121222111211122222211121121211112121221111211121111112121211121211122212122122112122222111122121122212121111221122122111112112222111212121222212212222112211211211212221121211121211222121211222122121112212222111212121221222221211122221221212221112112221121121122122211211122212111222222222111111121211221211212221212121112111112222221121111112111122121122211121122222222222111221222212221122211211211212222122222121222212211221222211112222112112112111222112211122211222122122222211122211221112112112221221121211212112121211112211211221111112211212122121212212212122122112211211221222122121111121222222112211212111122222122121122212112221222122211111122121211222222222111111112221212211122222221111212112221221221211121221112112112212112111212122221211222222222222122222212221111211211211212212122112211221122211111212211222111211112221112221211122211112212122212111112211112121112211222222121112221221211121112212212111222122222211122111112111111222212211222212221212212121121121112212211222221222212222111122112222222122111121212122111211222222211211111211211221112111221221212122212121111211121112211211221211211121122111211221222111121211212211121112212112211122221121222212211111212121121121222212112112122212112222211122121221212212222222112121211111112111221212221121222112212122122212122212121212112122112211112121122122222112111211121122111122212222221122122212112222122112122112112122212221111221212122222111222211121221112211212211222111111211212112112211111221221122122221111122221122111122211111221221112111222122212121111212212211222211212211212212112221212112121222221222211222121212111211211121212111121121212121112212121211211222112222122111211222111211211212222211212112212221211121212221211112221122122222121211211121221111222111221122211221111222121212111121221112211211222121222211221221211122222221122221222112111212221122122222111221212121122112211212111212222211222122221221122221111212212111111212212222221122122121222111221211111221211122211121212211221122221211211111222212222111221112112112212212111111222211111122112111122112221211122122111212121122112211222122221111121122212212212121221222212111211121112212222211121111121212222112222112222221222212122111121211212121212112111222121222112212112211222122112122222121221121222122111112221222211122221222112121122222111211212221122121212111111221121221221112212112122222112111112222111121121111121211111212112122111222221122121211122111121112122221111112112222221121221222211212221121222222221221211121111121211111211222212211221222111222211212221112121212111212211221222111222112111121112211111222122222121112212111121111211111211111112221221121221211112121112222221112212111112212212222111121222212221111111122222121212112121111121122122222211212212211121222122222112122222221222122112212111222222212122222221122212212112121111221221221121212222211121112112122221112221122112111221212212122212222121221212222212112212211211121212122121221122212222111121212122111222122211211222222212212112112111221121222211212121211222112211122111111112111212211121111122111212212112121211222121121122122122212222222112111212211221112122122111222111122222212221122221122112211122111221111211221212211222121111121212111212212212212211212222121112122211112112112121212112222222112222112212222111112111122122122121222111221122222122211122221112221111211221121221121221111212111121112212212221211212212211221112212222121212111222122121211111211112212111222222121121212121111122211222121222212121122122212222222211211222211222112111221112221222112221111121122222122122211221121122121121111211111212211111112221211122221111111122211111212111211122122212221211121121121221112121212222211121111222212211212212211122211111121111212211111122211121211211221112211112111221121221122111222221112122212222121211212221122212211111121222112122212222212111222211221111111121221121122112112111211222221122111112122122211121121112221222212212211112212222222212222221121211111121221122121112121221212112121221121121112222211212212211121222112222111211222122221221211222122212221221111221122222112121221111211222221221221221112122121212111211211122212122211111122121221221121112112121221122122222221122221211211112111121122111212111221121112121222211122221221222211111112122112111221122211221111221112121212111221121111211112112212221112222212222122211221222122112112122212122122112121121221212221111222222211112112222112122222112211212121222122111122121222212122112122222111222212221212111221111112222121112221111112122112221211222212111121122211121222111121211111212222111121121222211122111111121111111112222212212211211121222112121112212122112122221111121222111211112122122111111212221211121222211112111121222121211121112121222121112221121121212212212111211121212212121122122122112212112122222212222112212212112111122122112211121212111221111222221212122221222221211212122212211122211122212122221112121112211222212111212221212111222221122222111221112222122121222122122111122121111122111212112122122111112211211111121212212112111221112111212222212121222121111121212222222222221121222212211221212212122222211211211111112221121221121121122111212121122121122212111112122211112122122211111212222212222211121211211212112121212111211221112112221121221211112111122112122112111212121222112211122112222112121212211221211212111211112211212111121212122212112221112222221221212221112221112112221122122221222211121211111221112111121122111221122122212212212222212221222112121121211121211211221211111211221121212112112121212122121112212222212212212212212111121122211111121212121221121122111221221222111221221212121111212111221122122222122221111212111121112111222111122122112122111222221211221121221222122211211121111112122221222121121111111221211221212122221211112211121221111121211222122221121221222211111111112221122221112112211221212111111122121112211221112111122212121222221212111122121211212122111122121121112122112212222212222112112122122211122221121211121122221222211212221121222111112222221122122221122221122212221111222112111122211222122212122211211122212111111121111122112222122122222221111121121111111122112222221112211212122222121111122121211112222122111222221111111111221212212111212211212212111211212221111222222212222221122122222221221122122122212212112111221211111122222211112222111221211221122121212112111211211121121212121211211211212211121122221112122221111122222111211121121222221221122212221211111122212122121111212221112211212111112222112222111112212221211222121211112121212122121111221211111121112121222121211111112122212222211122222222112221122211221122221221112111111121222111111111121211211211212212121112212122222121221122121222212112221222222121111211122222122111222121121121111122111212121211211222222212212112222212222211212222221212212222122222221222212112112221222122222112212112211122122221112121212221121222212122121122211211212111222222211212211112211121121221121212211121211121221212121221122111211222121122112221111111221221222122121111111211221212112222212222122122111112121121221112112111111211122112222122211112222111211212121112211121222221211212222122111121121212221212221111111122121121111212212211122222212211222111112222112112121211211121211221112121121122121222122121222212122122122112211112121221212211122212211111111121112122212221122111211122222122222121112221211111111222221221121222122212121112212222212221111112211111222211112222122212122222112221122211112211121212111222212112221211221111111111122221222121122211122112211122221112111112221222111112212122221122112112111122211211121111211221211211212222122112212212211112211211221222121222122211121112111221212112121111121122122121221212221221211212112222221222122122121222212212212122112111121121111221121211222121221122221112211112212211111122111211121122122212112211222122112111121111221122211121111222211121222222221222112111212122222112221222211222221212212121221112222122121111112221111112212211221112111112212221112111112222111212122121211222212121221122111112112222122121212212211111222112222222122221121212111212111211222112212222121111212212221122121121221112222122222212221111121121111222222121222122122221222221211112211212222211221122221211222222222212111212222122121122112212121221112221212212111221112122122111212222121111221211212211112121112222112211122222222111122211122222221212222111212212221212112221122221212221122121212211121211222221122221222212122112211221212222122221111211222111111221212221222221222112211111221121111222221222222111212212222222222111111222111111221121121122211112122211212222222211212121221121211112222122121221122121122112111221221111221111212211212211112122121222122222111212221112212121212222111111121121211122211111211212222222111211221221112111112222121222122111211222122121121211112212121221212112111112222122122222211122112112111222111122112121122122112211211112122112122212222212221212111211222222211211221112221122221211121222221221221211121121221122122221121222112211112122121212112121212111111112212212122211112122111211122111212122121121112212211211121212212222111112211122211111221221211221111111222112111112121211111211122222121121211122112112211222221111122111112221211212122222121221112221222112221112221222221122111111111111221112211111222121121122122112212222111111111221212121112111111222221112122222211112111211122121222221111111121112222112221222211111112122222212222122221221221121112112112121221222121222211111122122122122122211122121221212111112211212111221122121111221121111212122111222111112111121111112211212221212122112212221222212211121121211222222222122212222111211121121111121112211121122111111111112211212112111111221212222122111211212111121122222221212121222211111222212222112121212211222212122111211121221121111111112221111212122111211122122112211211122112122121112212211222112111211121221112211222111221221221112211221112112121221222221111111112121212111112221121121211222221221112122122112112112222122112222111221212211111222211211121212111112111112112211122221122212122122221121222222212212112121112112121211221221111112112111111222211111122112211121121212111221111112112121212221121111121111212121121111111212121222212122111222111212122221212211212121122112112222122221222111221211222112211112122112112112112111212112112212122112111111212211121111112121112211211121112122221221112111112112122222111211122211112121121112222122112211122121112221112111121112211112121221222212212111222121222222112222121212222212211212212221112122121212121222122212111211221121211221111222121211122222122211221111121222112222212122221111122221221122111221222211222111122221212121212122222121122221212121111122221122211221212211222122111121121211121111121122121211122222212212211122122122112222111222221221221212212111211112222212112121211212222221111122221222211122122112211211211112212112111221212112122121222122222222212122121212221212112111222121221121222221111211222211121212212121212221222211211122221112221221121122221111111122212121211112111112211112211212212222212212111222212121111212221212221212111121122222211222121221111122112111112122212212112222222121121112121211222122211112221112122112222222222122121211122212222211121112211112111122211122212111112121222222111112121222221222221222211121112222112221111121221222212111221121211211221221222111111221112221222222111121111211212222211221122212121121121121112222212112211211111222221222211212111212122211222112222121122222112121212112221122221122211122211121212211222211211111112222221111212222122221212111112221111212221111112211112112111222212121121121122222111222211111221211212111111212112211121111221111212111212211211121222211111212111221211221111211121211211211121211211111112121122112121122121122122222112121221211111212211222111221211212112212211221221212212111121221121112122112222211221112112111121211211122212212222122111211212121111221111121211222221222211222111212112112212212222111111222212122222221222121211212112121221122122211122121122121111122122222121222121111111111212111112112212112122221221212211222121121111112121111212211112121212121121222111121221122111222211221121112211121111221111212212122122222221222212221212221121222212112122111122122222112211211212222222222222212121111122111121212211221221221221222111221221212112221122111211112121112112122221211211211222212212211121112121222212112211212222121111122222222121222212212221222111222111112112122222121221212221221211211211211122122221122121211112211222122212221122221211212122111111112212112212212121112212221121211222221222212222121212221211122221221221211221111121222221212122212121221222122112222121112121211212222112121212121212221121112111221121112121111212221221121222112212212222212222121111221212212111111222222121221111111111121111221212211112222112221122211111122221212221222111121221121222111112121222221111111121121111211211222112212111211122122122122211121211222112121221122112121221112122121111212112112122121222211211111211122112121122121121122121211211111212112222122211111211121222212122111222121211211221211121222122112122112112212211111122111112212121112121122112211112222221112211211211122212111222222222121222211222221222112112211221211121222112112112212111122121221112222112212111211222222112212121212212121222211121111212111121211111122111121212211211121121122122122112122212121112121111112122212222112212121221221221122122211222222121222112122112112111111221122212121122222221211221122212122221111112111121111121211112212212221112111221112222122211212121121121112121121211122112121221222222222121121112212121222212112121222112212121212112212222121221121221111112112212112122211122211112211121221221122112212122222111211212111121211221122222111211221222222122211221111111211212222122112122212221221111112121112212111121212211122122121212122212112211222222221122212222122111211122222111221211222222211112211222111111121112211122222121211122121212222111122222121222122111111221121221121112121221111122111222222112221111222212121221221221221211111122221212121212211122211221111211222211212121112122211122122121211211122121111222212112121211222112112222212212222222112212112222121112221112112121212212112111112221111112122112222222112222122112111121211121121221111212222221221111122222112111112111221112112112111111121112222122221211111222111212112112122111221121212211122212212211111211121112112122211112222122222212121221222221212221111111211122112111221122111222222112111212122212121122121122122111222122111121111221121122122111212112121111212112212112112221221122221212212211221222121212222111112212111121211212122212212222222122211222121122121211122112222211221221222112212222112212211212211211221221122111221221111221211111222221212122122212222221221221112122111222122212122122212222212112221111121222121121121111222211212212122112222212222111112221121111111112112111122111122222221211122111121121112212211112111111122122211122211222212211112211122212112121121122121212212111121212211121211111121222211222112211222112212111121212111221112111222212212122121112222221122121112111121211121212222111112211111112112212222221121211111222121112212112112221111211212221121121112212112122121122111212121112111112222112112212212212122211122121212122211222212122212111221121121222221121111112111222112212121221221222222121211121222111222111112112222121211221222121212122211212221122112121112111212221222222222211122111222211121221112121212112211122121211221221111222222121121222111222212111111111212221122122211211122111121121112221121211112111121111221212211211112112122211121221121122122221112122122112212221121112222212122112111211221111221221211111212212211211212121111122121122222122222111222121212221222212112122211222122121222221112112122112212212111212112212111121121212211121121122122122212111221222112112121122211122121111111121112221111121122222212122112112221212222111211211121111111222122121111121111221112111212112122121221112121222122211122222122112221121112211221121122211121121212111221211212212221112211222121111121212111112211122222211221122221112121112222221111112212221121121211221111121111111112122112122121121112122121221221212222122212111211122212112111222212112212122222122121222222212112221111122121121112212112112221111121112222112111221112112211111111121222222112212222111112111211121112112111212111211211111222221222111121121122122111122212221122212212211111221112212122211122222212111211211111121221222211121122121221111221221222222112122112111221211112111221221112122212112122122121221112122221212121112222121212222221211112221111212212112122221122112212211111111121111222112211211211212221222211122112222111221122221211222211122211122111212121111111111121222111222221121111221222222112211212211222222112221211111122212121221221122122121221222112221212221111111112221211211121222122121122212221111121121122212222222211111112221212221122221221222221121122212222221212121111112122222122122212111211111111111111222222211111111112121112211111112122121222112221221222222212112222212112122212221211121121212211122112121121122121111122121112221221222122111121222112212111111211211221212222211222112112111221122111221212122112112222112112122221122112211112111221122221121211122222122122221121122211111111212122222111112222211222112221122111121222221222222121222121221212221212112112121112212112121111121122122212212221212121122221212112122122122212221212122221212121221222221112111122222222111112112211221111221121121122112111211122211221222212122212111212112112122121122222212211111121221122111212111222212221221121212212211121211211222211122111222122121221121212211112122111121111122211212112212111211122112122122122212222111112212211221112111212122111212122211221212221111112222122121212122212112222111121212121221121212111222112122222211111221222211111121111222222221221112121212121211122121122111211221221221112211212211112111111222221122122111221221222111111221222111111212211111212111111222211112112122222222221211212122111121122112121112212212111212222121221111111221121211112121112111221221221221121111222112112122211222222222122211222212122221211112111212221222122112121212212222222222112111221211222122111211221221112222111112211211212122121222211122212112112122122112221111112212112212111211112212221122211222212221121211121122112121222222112211222121221112121111111111122111122212121211122122211222122121121121122212122222222211121122121211122222212122122121222121122211111111222111221111221221212121221112212112121222111121211211212222121122211211121212111121222112222212211111222222111121212222122212212122122122111112222211121122112211112212121111211222221121212212122112212222112121122112112121221211221121222122222111221122222221111121211212222121222111112112111212111112121222121222121211111111221121112212111111122222221212121222111211121111112121212121112222111122222212112121211112221221212121211212122121122211212122122211122122112111221122211111111122221222122121112212211112111111121111211221112122211112211111121221211121111121112212211211121212221211222122212111121121111222212111211111112121121211212212111212112222212212212122121112122122221222222111121212222221122111221212121211221221212212122222212222222121222212221222211222111212212222121211122222221221111211121212111121212122211222112112221122111122122121122211122121221121222111111112222111121111221121122121122222211212212211122111121121222211111222121122211111211211121121222222112221211111211122121211222221221112111221212112222211211221221121121122222112212122211222212112211212121121222212111212212112122112221222211211211212111211212112212112212222111211122122121121221211222221112121112121222121111121221222211121112212211112111212221222112212121222122112212111112122112211111212111221212111112112111121222221222212212111211122221111211222122121111121212221122122222211222211111112111212112121112122112221212112112112222121111212112211222222112112112212211211112221212211121112122221111212121112222222222111222212212222111222111111211222222222121122221212212211112111112212111112222112111112211221212221122121211111121112121112222211211221111121212112122121221121212111222112212222211212221222222211112122212212212112111211222221122112211112112212221221111111111212122111212112221112211112122212112121112212211222212222221111111121211221121212211121221122122211212122111122121211121212121111111211121111221221211221221111122222121112212211212212121211122121222121112221121111111222122111211222121111212212121122222211122112212122112112212111122212222122111121111221222122222122222211212211222211111111221122112212121211111222121122212112122221221221212212222211221111121212211122212122212211222121212221222222211111121121121122222211122111112221211212211111221212111211212221121212122121222211211112222112222211121211122111111221111222212212212212222112211111222212212112221221112222121222122111112212212111221222112222122111211211111111111122122221111211211112112211111212212221121212222122111112121222212212211221122121221122121121111211121222212212112121212212112222222212211111212112121112212122122122111111221122221211211221122222221122211212121222212121211222221112121112211211111121211111211121222211112222212212211112122222112221211121222222212221112211121111111111122122121112211222222222112211111112122121111112112121121222222122212111111121211212111112122212122112222112111221222212221121121222112212122121211211212111221221121121121122222112211221111112221122122222222111222211211112221122221212112212122222211111221111112212122121112221122121212222221221121111211211122222211212211121111212122212112122222222121222221212211211222112221221222221212211112111121111212222212211122112221222221211222122221112212221211211221222212212222211121221222212222211221122212212111122122212222122211212111121111221111222112221111211122111212112212212111122122111211222111221122111111221112122121122112122211222222221111121112111111121122122111111211212111111221222111121122122222111222111222221212222211221221211212112122121211122222221111112121221122211111121222111211212211222121221222111212221221221221211222121111211211211111111112112211112221112122222122222121111111111222212122112221122221122121111222222112211222212122222212222221211221111212112122111121112222222121211122122112211212111212121121112221112221221111221222112212211212222112112112211211112211222221122122121122111122211222111121222221222112112121112221122121212222111222112122221112122222121112121212121211211211111111122122121221111121212122121222222222212111122112212121212122122221221212222212111111222111112112222111212211112111212211112212212111122211122222111122121111222212121221111112211222122212222211111212122211121212122122211111212122121111212222212122211112122211221122221211111122111211122121121212121211121122211111121122121112112122122212122222112111221221212111212212212212121112221121111221222211112221222122211121221122212211212112121221112111221111211212212211121121111111212112121112122211221112211212112112221211121222212212212111112222211221122112212112111111211121111112212212212122212121122112212112111122112122121221211112212112122112121111221112212212111211112121221212122222222111111122112111221221211222112211221211122221212212222221222211121111122111222112211121122211212212221222112112122111121121121211221211112112121121212222211221211222222121211221112112111221122121111111121211221111111112212222221112122122221122221121112121212221112212122221221112121221211121112112121222121122212211122222211122212221122111211211211121212212122121122211211121211222112121211111112211122222211212211212212221122221122221122122221121121112222111122212212111112211121112112211212112112221222211211111121121221121121221222122112221212222212111211112222122212212211212122112211111121211212222222112221212111222211121222112211121211222122111112211122111122112222211121121111111112112111122212122212111222222111222221112122121212222212122111121211221121212212121111121111222211222112211212222111122211222212222212211111211112121211222221212212212112211221122121211222212121212211122211111222211122221111111212222212121222112122122221121111212211222121212112112112121212121122122211222212211121211111221211122211122121122122211211222221121221212122122112121221111111211122211112122221122211212212221112121121212211121221222211221121222112122212122221221121121111122221121221222221111222111212222221221111111112211121221212121221212121112222222122122222212212212111212112111112121122211111122211112121222211211121211212121122122112221222222221222212112221111122112111221222111122212221222121222222112121122112122222112211121222111111211222121112221212222121112211211212212221122221122212111112122211211112122111222212211122212112221122122112211222212111111222221212211221221122121222111112122111222221112122212222212121122111122122221122112222222222211111212111122211112211212121112122111122121221121221111212111221211222121121222111112222122112211212222222112222121112211112221212211221222122122121111112122212222121222211212111112222222112121121122221222111212121222111222122122212121221122222212211212211221122212122212121112221121111111112211122111122212121221121212212111221222111111112121222111122122111221111121111221121112222111111221122112222211112222221112221212121212121112222222221211221211221121222121112222221121112221111212211122212121112211222211122222122212211212211212111212222221211211111222122211122211212112112111112121212221122212111121211211211111121112222121122221121222212122222121112112222122111122222122112212212211112221112221111122121221212211122221112211222222222121212121221222211211121111221122222121221222211211121211222211221111112222212212222112121211122121112122121222112112211122112121122121112221221121222111112221221211122221121212221112121121221211221111212112121122112222212212221111212122211111222222211111222122221121121211212112121122212111221122212222112211111222221112212111121222211111212222111222121121211112121211222222122221222211211122221221212121212112212222222221221211121111221222221222112122121122122112222121221222111122222111122122222121112111111221111111111211222212122222121222212121221111122221211122221121122211211121212112121212211211112112121221212111121212121212222122221221111221112221221221212212221111221211211211121211222211222121111221221111121112221112211112121222121122212221121112211112211112222122112212122122112121122121112221121211211211112112221122121211112222211112112221122111221121112222222112121122222221221211122212212221112212221212211222112122112112222212112121121122121112111121212212212221221221211112111121222212112122211111121221112121112222222112212112112112211221221211221211122111221212122112222122211222111222221112222121222212111212122122121111221111111111211212112111121221211211211221222222221221122112122221211122111121221222122112211122212221221121212122122112222122121221111221121111112211121221122122112111222121112122211111212111112212112211212212222222112222211221122122212122111221221211111212122211112122212112121222211222211121122212212221221222112221111121112222212112122112221212121221212212222211112212221222211111222112211212122111211111121211122212121221212121112121111211122122222211211222222222112121211111111122111212211121221222122212112221121212211212221211112212211111221222121212112121122211222121222111112122121222211212111121112111212111212212121212212122211212122211211212121122122222211221112222112121122222212212221121212122112221112212122122212212122112112221221221111122111122212122211121121112112112112212122211121112111221222111222211112211212211212222112112112121212211121111111212222112212212222112112221221121211211112211111221222122212111211122221122122221121121111121112221112112221212222212222211211112121222111122212121222211121111111222121212221211211121111211121222222112211211112111212212121121211221111221111212111212222222211211221122222122121211212122212211222122122121111121211212121121111121222211121111121212112111211111211121211121212222111121221212121211221222221122121211111222111121111211221111221211122222111222112221111121222121221211111212112221122211212111121212112221122212222112211122212212112222122211212222211212112121212222112211222222122221221221211111222111121112112111111211111221122111211111112211212212212122212212221112212222121212111222112111121221212211212221222222211222221212122121221221212122212212111111212112211211121121112111122121122112121122211111222221111112111211121222112221112211121211222221221111112122222111111122121212121221211112221211211111112222222111122212212112221112112121211112111221111112212222212212221121222122222122222112112121221111112121222111212222211121121222222221211212221212212212221122121222211122121212222212121222221221221122222221112221112111222211211112122112212211121112212121222121111211112211221211112211221221112111212121112121112221222121122222121122212222122121122122111112211121211212121221112221212212111211112221221121211212122121221112212112211121211212122122211211121121121222111121112111121222222221112222121222121212122122122121212221222122222221121221221211221121111212122121211121121122211112111122121211221112121221111121122212222112122212122112222111212112211211222222111122221122122122122121211122111122211222221222122122112221112122122222121122222222111211112122221211222112212111211211212111211222221221211112112111212221122121211122211222211221222121121112222212112112211111122122112222222212121212212112211122212222221121122221212211122111211112211211221122221121222221221111111212212221121122222221222222121121111221211122121211211122121122212122111112221121221221112122121211112121221122112112121111211121122111221212211222111111221222221111121222212222221111121112122121211121221121111211211112222122111212121111211221212212121122222222221222121222111121222211112211221211211121212122121121221121121221121111211121221121222122122122122122222212112211112222212221122122221112222111212112212121211121222222212111212121112111212122222212222212122222122112111211212122122221112111222112112111122221221122111212211212112112221222121122221212122222121212221122221111212211112212221211121122211121122211111211121211122211222212222212211121111212211112221211212112222212112222112111112212212212121222212211121111112111221212212211212112212212112211122122121122121121122222221121211122122222122222122121221111221211221121221122111111211122221111211211211112211211212111112221112122211221212222222222122121222121121221221122222112111221222121221122211112211212111212211122222111222122222122222221212221121211221112111211211111211122222221121121122221222112112211121222121112222122212112122222122222122112122111212121212222111212112121121121222222111111112221121211112212122122212212211111211112222212221112111222222211111212221111112121212111221111122112221122111212212212212222122211112122111222112122112221221212122121111212212222122221211112121221222222112121112112111212221221112222221221212211222211122111221212121112212111112121121122211211112122121112111122222111221222211121222122222112221112211112211221121121211121211111221211122121211112222111211221221212222112112121122222212121221222221211121111122211221222111111112121121112111221211211121212112212122222121212111112211222222121222111121122212211222212212222221212211211221212221122222121212111221212211121111112221211111221211222221211222221212221111221121221121221222212111122111212221211122121211112122212222221121212111121112122222211121222121212111221111112112222121111122222222122112121122212221222212121221212221111212112122211112221111211222121121122211211121222122112111121121111222122121122221111221222122212222111122212211112121111122212111112222121111111221212111121211212112122112112111121121121212221212111211211111121211222222212111121211122111221112111212122121212111211112121212221222122121222121112122121111211221112222112221121111221212121122222122121111222212112111211222221121212212221122212121211121122221112222121221112222222111222112211121211211111121112111212121212211122211112111222221211122112122121222121222222121121121212122212212211122221112121112212212221111122111121221112211222122222222221121112212121122121212112111221221122121121212212112122122112111211111221112222111112112112211221212222122222122122221111212112221121122222222222222222222112222122112222222222222112122112212221121122222211111211222221221211211112112112121222221121111122112212212212111221112111111112211111121112212222111112211122212111212121111112112221212212111121111221122111121121212221121112121121221111121222121212221111112212221122222122122121222211122211111211112222221112111212221211121112221211212212111112221112112222122221112211212112211111121212212211221212122111121112122122122121222112122221122222222121211211111222121121212221221222122111122121211121122211122211211122121222211122121211222111112112212221222122111212221112222212222222122221221221112212121121112212111212222212222212212211221122111221122221122222222222122112121211111112111211211211111122121222112221111221211212221212211221122112121111211222221221121221112122211122221111222221221112221111111111111112112222122211111212111112221212112122221122221112112222121221111212112212112112212222122212221112112122112222121221212221222211221222121222222221212212121111212121112121212111211111121111212111211212121221112121211221211112112121211212121221222211112222122122222121211111212212111111221111212211121122121122111222211121221222112112111121222112122122222212121112222121221111112212222112121111112121112122211111122121122221121222121121221122111112122121221222121222112222211111222122212112122111211112121122212112212111122122111221121212122111211112112222112121221112212211221122121111212111122211221121221221222212212122111122111212111121222211221122221222212122211121122121112222212221121111121111121222211222112112111121121122211121211221212121211211222112122111111221121122112112222111111111211212111222112112122212121122111222121121211222222122111211212212122112222121211212111112122121112122121211211222212111222212221221121122221221112111111211111121211112222121112111121111221211111221221222212122222112122221121122211121112212112222111111112212211211112212121111112212111221111212112211211222211122111111222212212121222112211112111212222211221212111111222112221121212111211212212122122211112222212122121211122112211222121221111121211121121211112122212112212212212121122222211111211112222122221211122212111111112121111211221212121111211122222122221122222221211212212122221121112121121221222121121211121222121111212221121212121221112211212121212111221111112111111222212122112121112121212212122121112121221211112222222212211111221222211212211221212112212112111111122211121111112121121212111112121212122112112112122111111212212221112111221121221211221121212211222111112212111111222211122222122112121222211111111221112122212112211122212121212212222111212122212221112212211121111222122121112212122112122111112212222222112222121111221211222111212222112122221122111222112222121221122122111121111121112122121121121112112211212221221222221212221212211221112222211112122221211122121211121221211112122222211111122212211222112122222112122122221212121211211222211121222212112111112212222222212122111212111121212122122111212121211122222211212121221221121212212211222122211211122121111112122212121212112212211121222222122112221221222211122111221112212121121211121212212121122212122222212212122112222212222222122221211121111111212211112222211212221221222222121222212112122112121121121121211111221212212112221221212211222212221222221121121212221112211111112212221211211212212222222211221212222212222222222212222221211221122222222121112212222111122222112211212122122111211122211121111212122122221211112122222222221211121112112112121211122212112111212111222211212221122122111221221221112211211121111212222222121121221111212121222111111222222222111221222212211111121222112221121222222111111221221221121222221112121111111112122112111221112112112121122221221221112211121121212221121222222212112122112222211111211221211211221112221212111222212112212212222222222122112211111121211221221211112112211122211111211122112112111211111121122121212112112212121212221212221221121212222212122211211221221222221111122121221122112122221211221112211222122222112222221121122222122211211221111112221212221111121222111221121122212221212211112122122122121121111212221111122222221221222122211222111211221122112122212222211112122222211112221211111111222112111112122211211122112221121112211112121211121111211111121121111221122112121222112221222221111222121222111221121222111212122111222112122122121212112221111221122222122222111211122211112121221222111211122121122111221212221222221211112111212212222222112111122221112112111222212222212122212122122212112212111222111212222212211211121211112112111122122221112211222212211122121211222111111222111211212121111221212222221112211112112121222121121122122212222212112211222111221112111121122112121122222111222121222111212212211222221221222121212111111222112121222121212121121111112111121121212122212212121212121221222211122222121121212211222121121222112222211211122111222122212212122121122111212212221221112121121122122222221221111111212111222111111222112122212222122221122211111111212121121122111122112212221222221122111122212212121222122211122212121112212122111122121112122221122111221121121211221111221222121212212121111212122111212121212111121111111211222111112211122112221222221212222122122222112211222211222212121111221122221222211222112112111112112111112212211121121112111211211121221221111121121121221122122222212221212112122121112221212221112112121122221112121221111122111211111111212112212212212121212221221212121212121111111211112121211122111112111112221121221121222222211211221211211211221222222221212221121111122211211122112122112221211111212122121222211112111212122111121122211111122121121121222211212211212221121212121112212112211212122112221211221121222211212211221222122222212221222222121121111122221111111211212111222111222122121222112211111211212111221122222211212111112121211221121112221212212121121222122221112112212112211211112212221122111112122212111211211112112122211221212112221222222122112111122112121121112222112212122122211212222112212222211221121212122212121222221212111112211122121211122211221221211212212211122211111222112212221211222122112222221111212212222112211121211112211212122211112222112122221112122121121221221221212221111221212221221121122212121111211112121221112122222111122111112221211111111212122221221212211221122122112222121221212222211111111121211212222222222212111112212212212222222122121212111111221121122121112111211212111221121121212111211211221212122211212212112222112211122112222221111222111111121211111121112111221121121221222111211221121121212211112211212111122221121112221221122222111111111121212112222112122221222211121111211222221222211111122121111221111211121111222112212211121122111112111111111221122121211111121221121121221221221112222211121111212112122121222221212212122211121211212111111211122211111111221121111112212211112121111221212121222111212112222212121221211111122212211122112122221211211111221212122212212122112111111221112222211121222112112122222122211222121221212121221112111111112121221122121221221222212212121121211211112211112112212111211112111222211122221122121121121212222112222121212122222222112222211221111212222211221111122112122211111121122121122211211121221211221121211212222112212111122221111221211221212112221211222221212122222112211122111212121211212211211211111111112212122222222211222221222122121112212222111111111111221111121222112211212222222111212122211211111222111111211122211212122112121121112122112122122111112222121122122222112112121111121222121222122122121122122221122221212222212211211122211121221122122211122212122122111221122221211122212111211211221112222221122112112121111122121211111222111111121122211121211221112211222112222112121221222111211121211222111122221222211221211212222121222222212111222212211212212121121222221211111121211221212111222111112122122221221212121211111222212221212222211221112222121221111221111211121122112221111122112222212121211112211212111212222111111221211111222211221212212121221221111121112211222212111211222112221211211222111212111222211111211211111222112222221112211222122121111212112122111221121112212221121212112122111121112112121112112212221221111211211121221221112111221221112112221121221222222212111111121211222111222111122112112222221111111221112112212112112112211211111212211222222122221221211111222212211111212111221212112222211222112121122121222212221111111121221222212111112122221221221121111111221122112111121122211111122111212211221112211111222111221121121221122121221122121221221212111222221112122111112212122112112221212112122122111221222211121212122212222112111211222122222122222222122212112111112122222122121121212222212211121122221122211212212211221122221212211212221122111121112112121112212112112212121112122222122122122212121112122112222121112111222111222122121211111121121211221222111122112121111212221112222121222212221122112122111211112222122122212111112211212211211112112122111121111122121121211111211112122111111212222222211112121211211111122112222221121112122112111122112111112121121212121211122221211221111212212222211111211222111121212211111212112112212112122121122122212211222112121211222122211122221111222212111211122212122121111122121111212122222211111212211121112121212112112221111221211112111221212211122121212211121112222122212222211212212112122122222121112112111111222211112111221221122121211111211112122122121211221212221212212211121212211111212221121221222212111212221212111112111111212122222211121212121221211111121211111112122211111221211212222122111111112111222211111122211111221111112111211122121121222121111111211222121212221222212121111212112112222122222221121111221211211222112112221212111221212211122121211122122111211121222112122221111112221211212122222212112122121122111222222111212222212122112221222122222222222211211212121222112222111121221222112112122222221222122221121222112111122111222221221222211212111111212212222222121222212211112222212122211212111121121111212212211211221221221211122211122211121122211111211222211211212111122211222221112211222212121221212212221222212112112121222121122221211211122221212211211122221121112222211121211211211122111222222212121112121222211211112221111221122121222222221121212222112122111222222122212211121221122122221212111211112212112112121222122212221122221121222221121112121211221121221111112211221222221211222222121112211121121212121212111222212211122222122222222111112222111222212112122222111211111122122211212111212212221222211121222111111221211211122112222211211121111111111221122211221222111211212221122212222222112111112221222212111211112112112212122111112121221122111111121212222222122211221212121211222212122122221121121221112122212211221221212211122221121112111111222222212211121122211221122212112211112211122222212121111222221111222121121122111121112122111121121222222212221121111121122121222222111221221122222211212212121221211211222221222211211221211112122211121211212211211221222111212211112121221211122122112222122221212111212221111112212212211212111112211221122122221122211211121111121112111112121111121221212121222221211121111112111112112121222221212221212211112222111112121112111111122122221121222111212121221211111211122121122122212111221221222121211212222212212112212211212212122112212222212221221111122121112222212221222211111121212211212212111211122121212221121222111111122121221211121211221221111111221121111121121222122211112212111111222121112212211221122122221112112111111211221221121211222222211222122211212111211211221211122122111221122221211111212212121122121221122211112121222211212121221211221122112211222121212122221221111221211212221122111222211211212121221222211222122212122111222122221122221122211121211222222222211222112112121122222122112121212222222112122212211222121121211112211112212122111112122112112112211122121222212222212212111222211111112111112212212221121212121112221221121112221221222212121112222122111121112112121121222112222211111111112212221111112122122211112222211121222221121211112222112121112221122221121221111121121212212211111111221212221212211221121111111221211212222121221211211212212211122222121222222121221121211111222222112122112121122112111212122122222212121212121222122122121121211211212112121122211221221121112221112122112112121111211212122212112211111112112122222221221212121212111112221122112112222222212222111111122122211221212212112221212111221212222121222211221222211121112211212111112221122212121121221121211212212211121221221112121111211121212221112212222211122122211211112121122222221122111211121211112111211211212111121212212112122122221212121122221212111211122212211212122112222222122211121112211122221112212212212112222122111212211211112111212112122212122212221111211211211121122211211222221222112222111121111121121122221111212222121122121222222212212221112221122112212111211221121122112122221122221112111121121112222121221112222111222211111211112222222122221121111111222212211111122212212111221121211211122122211222212211122122112212211112221222122221111211122122222122121212221222122112221121111221111221212111212111111222211211111111211222111112122121221121121121112221211122211111121112112122121222211121221221222121112212212111211222111221211111211121222221211112221121212212212112122111212221211121122121212122121212212211121212121211212221121122221121222111122121122121121122122221222221222121121121122121121121211212212122111221121222221112222121111112121111122221111122111222122112212221121222222212222112222121121221212211211221112112212222112212111221211211222212212212212211111122111211122112121212122121221222122112212212112222222111112121122211112212111221121222222212122211221221211121121221122212122212222111221121121112122211211211112221121222122121222222222221212212121212221221221122212111211121212112112211111221211222112122222111212222222221121222212222121211111122121121222121222221121121221211212121111211122221122112212221121112121211122221122111122221121221112211222122121211111112221122111112222111222121121112122211222112112111111211112122221122222112211221211111221222221212211212221122122121211221112122122222211112121222112211211122212111222221211122112112211111121122222122111222121222221211222112121122211222121211112212112221122211111121111111211222112222211221121111212122121222211121211121122212211121112121211121112222212221211122212122222212121122221121111212122121112211212222222111212222111221111222112112222111111222222212121111221222112222111111111112121222212221122221112121221121111121121222211222211112212122122212211111221212112111221111212211121121121112211112122222111221212121211122121221221212121112211121122122211111112121211121111122111112122112112122112222221122222212212121121112212221111212111222121221221221221222122222211121221222222212222111112121211222211121122112211111221222111221221122112212111222122211221211111111121211211121222211112211222111211212221222111122122212211112222111222112211121111211122211122112212111112212211222212222222211212122222221222121121112222111212111121121112112121112122112212212221111221212112221112212221112221122122121122222212222212122121221112222121112221221122211212211212211111212221111111222111121221211112222121122211112122121112222112211111222112212111121212212211112211211122122221122121112112221122121112112211112112122111221121212112121222211221111122121122122111112222112222112121111212111112212121211122211111212212122112111122211221122211111222121222111121121221122121111212221222121222221121222222212111221122111211221122122212212121121112222221111212212122222112222212211221122211212212122211212112122122111121212121122211122221221221121121111111121211211121221222111121111212121221211111211122112222122221212111211112122212122221121222112112221222111121212221121221111212112121111211222221212121211222221121222111211121222122212111111112111121221222112222111111121211221222221121121121121221211212222211122212112211211222221222121121122222212111121222112112112112212121112121221122112211121122112112211221111211121121211121211122211112121222222212121211211211211121222212211122121111111211111212112212111212212221112112121212111112121122111112211112121211222212122121222121221212122121122121222122122211112211122211122211121221222112111111121221122222122111121122111211222221111211221111112221212212221212121211121122122221121121221212212211122211111211122111111112212222111211121122221112122211111122212112212122222222211221221122222112211221111121221212121121122222212112112112122222112212222121121111211211212222212222121122221121111112212122212121221211212211112122222121121122122222112111212121221211221121112221112121221112112121121121111111211121121121221221222222212212112111111212212211122211212222122122111121122221112221212122221212121121121212212221121121121122212212221222221121121212111211211222112111212211212222211112121222222212212122221222112121122111211111122121112121222122211222212111211111221221221112221112121221212121211221121221212121111211111212212222222222221211212121111112211111222122222222122221122212121112212111222221111221111212121121212121122212222212122212122122112112111122211121222111221221122111222111211222222122222111221122211212122211212211221111121221112112221121211122222212221212211211122112221222111121111222122221121111121212222222212111111212212212122121112222221121122111121222212122121112221111211222211212212222222111112212121112212112122221212221221221122222221222211111111122222112221112111121121111221122121112121211221221112122221122221112111122222211212221222222121211121122121112211111121112122222122211121212211212221122112212122122111211211112121212211222221221112221112112211121122121122111122122212212222211121111211221112112111122122122121122211112111222112112222221212211222111121221211211111221221211111122122222211221121111211121112111121112121111221211112222211121211122122111111211122122221122212211121112121121212122221211112212111112211111112211212111121111121212222112111221111222211212122112212121222211211222222212122212112212212211121212112211112211121221221222122111122212122111221212211112212121122212122111212112111211122221221122111212212212122212221121212121222111222212121111111211122222212121111222111112222122221122212212221111111211222121222112122111221211221111112212211221222122222212111212112212121211111122122211112221112111211121112222211121111222121212122222212122212222212111122122222122212122121211122221122222111211122112122211211112212122111212111221122111122121221112121222211112112221222222111221211111212211112222122121121122221222221112112212222211212222222222212111212111122221112112111122111112221112121112221111112222222222122211211121122211221111211222212121221222222211121222211112211121221111121111112212211212122221122112212212221212222122121112121212212122112212222211111221121111111212211222121112122121222121211121122121112222121112221212112121122212222112112121111111221122122121211211122121122122111221222212222111111222112221212121121122212111211112111222222111221121122221122211221112211121121112122221111212211111121221222122221122122121122212222211111122122112122221212122221211221122212222212221212111112111211212211212211212121112222111111112221111111221121222122211121221221212212112222122212122122122212111222221122111111122112121221211121112121211212222221221121121121112112212211112211112111221222122122222111121112212111111211211122222221111221111112222222111111212122122222122122211221122121221112122112121121212112121112222121222211211212211111211122222122212211212212112212222222212212211221211212121212111112121111121121122121111222222211112221211111211212122121111212111211122222112122122112212222121211212212122222211211122111122211122212121111212122112212112222222112222221122212221121121211212112111212222121112221211221122121112111122121122121112112122121122221111211212221221111212211112221121112212222121212212122222211222121112112121211222211212212222211112122211121212121122211121211222211222112221121212222211112111121111212111221112112122121211222222111112222222122211122111211122112212112221211111112112111122212121111221121122221111121122222121112211222222211222212111122112122222212221111222221111122112222121212121111111221111211211121122222222121122222212221212222222121212112111221111111211221222211212211211212122112111121212122221211121221222212121112122121111121221122212112212211211121211122122222121112212212212212222121221211211222222211121121111112112112222211221222211111111212222222212211122111112222111121121122111222222121211222121121222122112122222211211222222122112121111121211222222111221222211112212121212212222221221111221122122122111211221122211212212122222112212222112212222212112212121112222121211121112122222211121112222122122121212122121221221222122111212212121112222112211211212222121122121112221222122212212122122122221221211221111111222121122221222222221222121121221112222122221122122212112112111111211212222111112111212212111221111222121112221112212222211121222221112121212111112112211122222111212111111111112211121222112122222121122111222221222112112122212122121122122211221121211121121221112222112111211221212112111112222112121122111121111222212122212211212221122121222212112221111121222212112121222212112111122221211112122122212211122121122221221212111221122112222111212121211122211112111221221211122111111111122222222122211111122222211212112111211221221122212122122221221222122221112221222221121121122212112212221211112212211121221211221111222122211211212121212221221122122211221121111212212122121112111122221212121211122122112111122112121212111112222111212121122122112211212121121212222111121211222122222111211122221222211211211121111111211221222221221112111121112221121112212222122222211122221122211212211211211211111112211112121221111122112221111211211221211121221222121122222212221121111121121112121121121222111122121121111122212121122221211222111212212121211221211212121212122221222212212222112211221222111121111222222122122122221212112121222112121222211211221212222122221122222111112221122212211211121212212111222112221122212122111222121222221112122221121111222112222111112111121111221122112122222221221212111122222111221222121121212122222122111211211112111221121221212222122222212221121121221122211221211112222111112212212112122211222111111122221212211121211112122112111111112111111112112212221112211111221112122222212222121121121221221211111111221111221221212121112222121111112221211222211211121122111211212222221212222121211212122111121121222111111112222121112112211111212112212121211112111212222121111111221111212111112212212111122111112222121221222222212112121122222212222212111212122211211111122222121122112112212111112121111221122112122211121112211122211221122111212222211222222221222112112121111111122111122222211222211121112121211211211212122221212112121111122221111112212122121121212212211222121211222112121122122112212122222122121221221221221211222221122111122111112122111112211111221111111111122112211211112211212112221111121112221212212212121111111222221222222121112212112212212212122111112221122212111212222221211221211121211121112112122221211122221221211122122111212211221112212112112122111212122111222212222121111122111121222222221111121222121121111112111221111212222121222122212122221111221111121111221122222112222221112221111111112112122112121221222212212222121212122112122122222112111221212212112112211112211122221222211121121111122122122111112112122121222112221121212211222122111111222122122121121112222211121212112121222222212111121222111211121112212112221121111212222212112122211222211122211122211222222212112221122211221111221121222112121221121221112221221122211121222112212221111211212211121122212111111212112122222211212122121222211121221222221111121211122221212111112211211111211122212212121122122122221221122111111122211112112111112212221222211112121121221121112222122212222121122122111222212222122221112211122122222221112211121122112211112222111222212212222111121222122111121221111212222221112221211222212122121121121212112111122112222121212221121111112212222222221111221112221111211111222211111222212222211221111121122211112121222211122221112111221111122121211211112112211112111112122111112212222122212121221221221121121112111111111211112222121222222111222112211211111211111111112221222221212121212212111121211111212112112111222121111211222111122221211222111112221111222222221122211121111212212221121122122212222121112222122212121122222121121212112121211211211222111221112212111212211111111121121111221222121222121111222211212112212221112221111212212211121111122222212121121122212222221222112122212211111122122222111112112122122122221121112121221222212121122121111111122221121211211112121122111211212211211121212121122222112122222212112222111112212211222121211212111212211112211121222221112212212221121221121211211221221111112122122212121211211222212222111221222212221121121112111122221222122222212122222121221221112112122112222121221211121221212121111111122112111122221111121221111221212211112121122212222111212211111221222112222121112122221211221112222211121112221221222211221122112121222222221212111222122121122121221212121211112112212122221111111121222212222222222122221222212122112122211112112122122212212211111212111122211121212221212211121212112121121212111112112112121122211112122111221211212112221212111212212112222121111222222112221211122212221121221221222222112111121111212122111212122121121211111211222211211212212122111111122222111122212122122122111212121122112222222112121122121222211222122221212221222211211111121122121222111121221211111121212212222211212212122211212122212212211212222222121112212112222212121222122222111111111221212122222111221221211212122222212212212111212121222221112221111122221211221121121222222222221222112111122112112112212112222211221211111221212212221212221212222111121221212212211211221122221122211121212121221121111122222111222121111221212111111222221221222222111212221221111122122221111222111221111121212221112212121122211112122112222211122212221222212111221122221211112111212121212211112112222222212211122121121212111221121111121122221111122221221222212212121111112212212221122122211121211111222122121221121111112121122112222221112111211222211211211111211212211121112122222121112111222122111212211221221112112221122111121121112112212222211112211122112211222112212111221222212122211222112112122112221121221212212122121212111212112112211211211221211121222111112222111122112112221122111221121121211112121212122122212111121211122221221211212212122222211121111222121122111122221122111122121112122212221212111121212121222121221111222211121111121211212112211122112121222122122122121122121122122111111121122211111112122222121211221221122112111211122221111111211122121222222112122222112112222121212222111221112121211121111112122121212111111122211212122111212122112121111222122121222222112211211211222212112121221122212212121122111122222212211112221221112111221211111111212121222122221121122122222112221212122112221221111212211111121112221111222212222112211212112211222121221112212211112211111212222212221122211221221121122221211122122112111211121112211212122112212111112221211211211221112111112221222211221221121212221221222222111121121121122221221212211122112212221111121212111221212111111121121211121122112121122211112222221112211221111122221221111111122222212222222112212111112122122111222211112222212112122111111111111112222222211112121221111221212112112221221211121122222222212211222121222121121121122222111122221112212221122112212121121111222211111121111121212111212111121221122122111122112111211121121111221211211121221222122212221222222222222121212111112111121221111111222112212122122211212122121221122121121212112212112111221112121112212121212121112111211222121212122222222122122121121122112122222211122222111122121112222221222222111211221121112212111221221221122121211112222112221122112121221212121122121212222221112121122221122122212112211221211122212121111221121222222212211121111122222112122222211221121111111212111122112112212211211211122122211122211222212211112212112211112212211212122121121112221211212111212111221211112122211112221121222212222122121122221121221112221122111222122211221122111121221212222211111112121122121211222111122211122121212121122211211112111221212221122222222122121112212121121111111211122212211111111211122211212222112111211212211221111121211121211122112111212122121222112212222212221212221222122111212121212122122121111121121211111111112221122212111121221121221212122121222221112212221111221212222122112212221212112211221212211221212211221111122112122121212222212112211112211211221112211122121112122221212111111111222121121122121221121122222112121121212111111111121221112112122211121212112112112211121222111121112122222221211212221121121111221221221221122222212222122212221112122212122111121221212122222122212122122212221221212212222221112211121112211212212221212212122221211212122121221212211212211112212112222212212112112121122212212211112211122211212211122212222222211222221112211121212121212221222221122112112221121212112222111121122121211212122112221112212221211122122221221111122121121222212112222211211212211122112221111221112221122111122212121122122122122211121122211111111112212122222212111112211212212122211122111122221112112221211222112121211211211112212222211112212211221112211212211122121122211121112122211122112122111211112121122121222211222212221122212111121221221122211121112221112122222122222121111212212112121211211211122222212222211112122111112112112212112221222121111111111211211121111222112121112222221111112111222111212122121212122221212111111221121121211212112112111211121121121121222222112211112122222111222112122221211212221222211112121211122111221112122121222212212222221122221112212111121212212212122121211112111221112122211221121211112212222212212211211212212221111212212111211121121111212111122111122222122222212111212121211221112121211121211222112211211112112122212222211212112122211121111122211212122121212122112121111111112112111112111112221222122111211212211222111211212221211112222122212122111222221211222111212112122222112122112111112111212111111112211111122111222221211121112211112111212122111211111212222111211122222121112221222112222212211221222112222112221111122222121222112122112221111112221122221222112122122122222122121212221211122211221111221212212121222112111222111222211112222222221211212221112112112212222211112221212221111212122112122222111211121112121222122122121121222221122111121212112111122121222221222221222211211111112222112122221212122211222111222122111121211112121212112212112221211121111212112222221112112121122211111112121111111221222112112211112112111212111111221112111221121212111112212122121111222222222122221212111122121221211121212221211212211212222111212212122122122211211211212112112112221222122211121211221112221211222222121211211111222222121121111222111222121121222222121212211211111211122112211121222122122212111111111121122221111211222112222121222222212212222112121122111111212111211112221111211112112212121222121112222222111122122211212212122111121112212112121122221221221122112112212121121212122112121111211111211222221212222222112121112212122122211122112211121212211111222122121121211211221111122222212221122222211111212121212111221211122211212222122112221222211211112121112212121212222222111222121112111222222121221122122221121212111222122221221221211121221121212111211122211222221222121122212221121211111121211112122112112112111221211111212221222122122222222111111211212111221111211112111211111121112121121211211212211221211221222211222221121121121111111111221211111221121211222112121122111212122212221211222112112111212122112211112211221111212122121122112222212112221112212111222222112122212221211212222221211122111122121211112211222111211112122211122121212122212211221122121121222221212121111222222112221112122212211211111122122122111212221212212212111111122112111112122211211222211122212222121211122122222112221221211211222222121221112112122211222222121212222112121222112221111111122211211112211112221222111121212211221212112212221111122222212122121111112122221121111111212222111112222212211212122212211122211212122121212111211222212111211111112122111122112121112222222211212122212221211121121212122112212121221121222112112212112211212211112112112212122221221222121211212212122111112111121112121221112211211212122121211211222212221212212122222122112122211221222112121221111221212121121112121222222121122222221221211211112221111122212111211122211111122222221211122111121211122212212121222221112221221221222121112222221121121212112212122111112212111122112112222222222121112221111121122112212222111122111121221121221122212222212222122112211111222212111112121222112111121112122121211112221122121211221111222222222111122112221112112222211121121221211112212212112112121221212122212121121111221221222122122112121222211122121212211211112111122122211211121221211221112222221212211122211212222112211211111121111111222111222121211221111112122212221221211122221212121121221112222211112112111221222212121112111112211111222122211211211122221212222211212122221122211212111212112111221121222222112112221112212222212122111112121221111112112212111211121211212212221221111112122112221222121112222222111212111122211111112222121111112221121112121211121122212112211212111122112111211212111221121222111112112121222112121121212112222121212211111212112211222121112222112112122121211211122221121222212122221111122112211212211122222211122222112221212112111122121212212211121122111122122221221221121112211212222222221121112111212222222112211122112212222211221211211221121222111221112212221122211221211221122121222112121212212112222121112211112121221222211122221212211121212222221112221121222111212222112111221121112112211121212122122112111111111122112111221111111112121212212112211121111211211112111212121112211112112221121112122112221211111122111222122111111212121122111221112112111121112111111122121221122222212221112212122121112222121212112111112212121122221111211221211211221122112122212222212211212111222212122121221122112121112221111221212112212112122122211122222112112222122221112111222112221122222111121211121221122112211112222212122222122111122121121221212212212111212122122122121222212222212121121111112222112122121221211212221122212121111212121111121221221222211122121211222121212222111212111212222211121112121122222121221121221121212222222222121111212222121211222111112121122221212222221121221212111212211112111121122112112221122122122222122221221122122111211122221222112221222112211111211211112212222122112211122112112221111221222112212211122121212222121111121112212112111111112221112221212122221112212112221211112111111222212211122111121212112112222121211111121122211222222212111121121111211121111121121111212211122121121221211121111212222221222112212112112221122212122212212112212221112212121111122212112222122221221221122112122122121211112112222121121122212112112211222212111112111122112121122112211211222211121212212211112111222121222121121111221121221111212122222122122222112212122112121111212222122212111111121212211221112212222222212212111112121112221221121212212212211222222222222111111212222112112222221212221111112111212112121121221112211222221221111222111111112212112211122111222211222212212221111121121122121222211222122222112212212111211222111121121211122212211111222121121221111111222212122221112121222122211211121121211212121121122222212222221121212112222112221121121121211111111111211122122121111121212222122212222121111212122112112111122222212121122221212222111212111111111111112111122212211212122221111212211112111222121121212121221221222122112212111111212122212112211211212111112111111212211221221122111222222112121122211112222211111112122121212212121122111112121211121112222111212211221112212221121122121122121112221221222122222222112111222121212221112112222121211222112111122121211212121122122222112211112221111222121112121121121111111212212222111221112212222122111212121211212222121122111212122211211212112222212221211121112122222111112121212211111111111222122222212112122222222121112222122211121221211112122112121211121111111222111111122112112222112212112212122111222111121222222111121121212221122221121222222122121122211211212111212212211211221111212121221122211212121121212121111122222211112122222211221112211122212212212221211111111112112112112212121112211211121222112112112212121211211212222211211222221112211122122122122222212222111222222111222212221211112221112212221121122112222212212122111221222211211121222122211111212222121111211121121222221211211221221221121222121212212121222212121122211122211221221211212222222121122111221221112112111221211121221211221212122222112112222212112212222221221122111212122222112212122221112222111222211222222222122112211212211112112221111211211211122221111111111122121121222121221211111211121121122111212211222112221121122222212222111222111221112222211121212221121121222211111111211112222211121121221221111122212122111111212211212212122112221112121221121212121122112121211122212122111212122112111222112221121212221221212122121211112122212222121211211111121112222121212221221111121222221221212222222222211111121221111112112222221222111221211111111221112212212111212212122221212121221121111211211212121222111121112122221211212122222211212221221222121112222122222122221212221222122111221112111121111111112222112212221211112122121212212121121212222221121111221221221111211222112212221221121121212212222121211212211211121211111122111211212111211112121212211211112111121112121221122212112112122122112222221111111121111211121221222112221211112122221122112221211112122222121121211111112111121122121112112211221112211211111111121121212122211122111112212111221222111221211111211212221121221122122112222122221221211221222111111212111121222112222212122112121211112111121111221122121222112222211112211212211221112111112112122122122122111111221122211212112121122111221112122221222121111212112211111211211122112212212111112122112212111221221111111121121111112211111222222121111211211121112212112121222222211221221121222112112221112211112222121222222121221112112221112212111211211212211122122222111112112122212212111221212212222122222221122212222221112121112112111111111111111211221211112121211221212122122221212211122211221122211212122212121112122222121212222221111212212112211221212211112221211222211111211112212222212222222121221212212221112111121122112222212112122211211212212222121121221221221111122222212111111222122112112122112112122211122112122122121212212222211212121212121112111221111111222212222212222122122111111112221211212111222121122112111222121222212221122112212122211122222221221111221121211121122221121212112222112122222211222122211111222211222222112222221222111221112211222211211112112211111111111111221211212121221112121222122221112112112111222222211212111121212122112121111211221211212222122112112212111122221221112221221112211221221122111112111222222121122211112221211121212221112121121112212112222111221122111111112211221111221212222211111211211221122221122121211221112121111222111211212211122212212211111222111211112211212122221221221212122122221122122222111211222112212212122222111112222121121121111122122212221111211121221211122212112212121222211122111211121222122221212212222122121111212222121222222221211212221221212121111122222111222211211212122212111222212212121122112122112222121211212221212112221212122221211112222221212122211112111121222112222221212222221111112222122121212211222111121211111211221221211222221222111212121212222122122212111111222212222121112212112111222112211122211212221222212122111212111122222211221111111111111111112221111112111221112221111121211212212122211221122111222211121121222122111222112121212211221122122211121212112212112122111112122222111212222111112122111211122222212222121211111212111122211211211122221212212221121211222222222212222212121211222121112121212221122112122112221221211122212221221222211122111221112221121221211212122122111121222222222112221112111122122211122122121121212211122212222222211222222222222121212211221211121222222122221221221122222221211211111212122121222122111121211222122212111221221212212121121212212222121222121222112212122211121221121211222121222111111112221222222212111211111212111121122121112211221112111111222212111111211111112121211221211212211121211122112211122212111221211121221211222122112211111211112112111212111121221212111122122112122122122112112211112211221112211221222122122221122112211112222222211221112212211111212112121122121222221221212221112121211121122122211222111122222112212222211122121221211211211111122121222122221212112122111211121112222121211211221221112221222112111122112112122222222122211221122122121121122112111211222111211121222112221211211212212221222211221212222211212112111212212211211211211112122122122111122221221122212211122122222111222121211112211111121221222122111122221212111112122111211211212111222222212121221122221211111211112221221221122121211112212111121211211111222122222212112112222212122212211211212111222221211112212212111221221112211221211122212122121211112221221212121112211112221211212211111211122222112221121121112222111212211112212221122121212222221221212212111111212221111122222122211112111111221221211222122212111212222212221221222221111112112112212111112111121111212222211222122222222211112211212121121122111111221212111222211222222211222212122211222211212211121211112221212121121211111122211121211111212221111112211211222111221221211121112212222111121122111112121211222221111112111112221212221222121221222211212111222122112121122221212222221121211112122222221111112211121122211122122111222221221112212122222112111122212212222222212222111211121111122122111211112221111211222222211112212212221122122122222221211122212112212112221121111211222111211222121221222212221211111111112111211222122221222211121221112111122221112111112221122212212121112221121222122212112111211212221121122221122212212111212212211211112121112111111221112221221222111222121211221211221122122112211221122222222222111211211112221211121222122121212121112222122111122122122122111211111121122212212121212112211122111221212211221121111221122221111111222222211222221121211212221121121222221112222211122111112221212222121211121121211122112212211222111122222212112212212122221122222221121111222112112112212121221121222221211112122222111122121222222121112222111111111112112221112212121222111222212211112122222121122121211211222212212221111122122111112221111111111112221111112122122121221121221212212111211222111221212122112111121112121221212212212211121111221221221211112112122212212221111221121212221221222212212121222212111211111221212212222212112222221111121212112212222212122122221122211121211121211111222111112121121111122111111122111111111111221112122112111212112111211221222221112112222211122211212121212222121112221222212211111221222112121222211111222111211211211111122222121221222222112122211211121212222212111112111112111111211121121212112221221122221112121111111111211121222121211212211112121122121111122211111211111222122222222121121221222121212112211212112121222211112212211212221122122112112112112112211212211122111221111222212222212222112111111112122122121122111221111111211122222222111121122122121121212121221222221222221121211211121122221212111212211222111221211121121121122122122112121212222221112222122212111112112111212212121221121222222221112121222211111122122221221221111121222112112122212121112221221112111122122121222222121111211122221112222122112211212121221122221212222122221112121212121212122212221121121221211221212112112121121212111211212122121211212112221221212221122221211222112111112111221212111111211122222222222222222222112221212112111221122221121222112121221122121222222221211112111221112121221122222221111122222111212212121111221111111121221212211221111222111122211211212222222111121212112122121111212122122221222121121112211111221121221111221121222221211212111111111122212222121221122221121212122211211111211111212211122221111111121122221221111111112121121212112112112211222221222121112221222222112211121111221121222121221222211112111121112212111212111111121112121111121212211111111121121211211111221212222222112122221211222212112112111122211111222121121212211212212221212122221112222222221221121221121222222111112121212222121121112222122111121211111211211121122111122111212122111112211211222111212111121222222221111122222122111212212221222222211112212112111212111221122121211212212211222211212111111221211111221212112121211221211121211121211222121211111211121122211112122212122211122111212211221222221111221121211111122122221212222111122212212221212122122112222122121111121221211222222211212111121111112222212112221121222221211111211111121111111222112112221222212221222111111222111111212112211212122211212222211111122121221212112211122211112121212212222221222222112121212211112111211122211121112212221121222121122122222222212221111212111212121111111212112112221211112112121111221212122211112121222221211112121121222111212211212222212221222111122211112221112112222222222222112221112212221122212112212122121211221221111111111222121221211122112112222122111221222112212211121122121122211121122121221112222222222111221221112212122122111221121122211122211211121211212222211122112121111212212222222211122111122112121222121211111221112212221121112121121212212212112121222222121122211112222221211211222121211211112212211212211221211111111112222121211221111122122121211121221122112121111222121211212222212122221222212211211121111112112122222222221221222122111221211121121211222221222221121221112222222211222211211122212122121212121211212211122221212122211211211212112211212111122122122212111111221222212222122212212111121222212212111222222111211212111111211121111211121212122112112221121111221211112211211211121121122222111111121221221221211211122112212111221221212112112121122221121112112121112222111121221121121211112111112221122222222222211111212112211112121222111212222121122121111112122121121121212222122222221222211121212112211221221111121211112212222121122212222221211211121112211121222112122222212111122221121221211211111121212221211111111211221111111222211111222212111121112211111112211222212112122122111212212121211111111121122112221211222121221222122211122212121212122221212221221222221112212222121221111221222122121221221212222112111211221111122122221112221211222211122111122122212222221122112211122211222111112112121221122211222112121222122111211222221221222122122112222212222211221112122111121112111221111221122211221111121112122121212112221122211212111222221212212211122221111221222212222121212212121111211121112211211212122222222112222122122111121211111212121221122112122222122111222112111212222211121212222121212211112211111221112212211211121111112211212122212111112212112212212211111222221122122211211222212221112211212122212122211122221211212122121111212122222111212122221222222111221221221122111221112122112221222222211221122211221221111222221112122222211111121122222222121112122121111211211122111212222111212221211211212221122212211211121122222222121121212222212121211121112121121121221122222122112112211211111122111221211221212211212111212111111112121211211211121121221111112111211111122212122122121122111122221111212122212122212112122121121212121212112212222111122212212111221222212122211211112121222211121111111222211221121211211111222112111111221111212211122111222121222122122211111222122221211212121211212221212221211122211122222112121212211212211211212112111221212112121122212221211111212221111221212111222122221221111221212122122222122112211122211211221111121221221121221211211112211221211211112112212211221222211222122211122211111111221221211222121221211121222121122122111111212121211111212211211211211212112221112222111212112222221221112121122211222221222112122211221211222211221212111211112222111122221221222222121222121122212211112121121112112212211211112212112211121222112121112111111122222121211112211222211222121122211221222212222221211211121112212211122222212212211121212122211122112112111121112121221122221112211112222112212121111121212112122112111211211211212222111222112222212111211122211212222222211222112211222221211111222122112222221111111121211112212112211212111212212212121122121112111211211111122212212121222121221122112112212222222122222122221222222212221112122111112111222222111112112222221122121221211111221112222112121222121112112212121222221211112121112111211222222211222111211212221222211111221212122122121121121212121122221122122221212121221211211212111121211122112221212112222211111121121121112111212111121111111211122222122222222211221222122211111111211121211222212122122111121212121111211112121211212121121112221222111111222111112121121211222111112112212112111221211122111111222121111212211112222112111121111222112122111111121112112211121112222211111112122212112112121211211121112122111221221212211212121212211122112221221111211221212211122122212222222111222111111112111221212121212112112212122122112122112122211212122112211211211121221212221111221221222211221121211112121111111212212221111212112212222112111222122112112122121122112112222122111112221122122121212211212222111112112122222122211112122222221111222111211122112221211112112212112212122221222222112212112111122121211211111222222221111212221112222221211112122222112211222112121111111211112121222222221222111211212222111221212121212111121211121222221211222212121121112112211121221112221122211221212122112121221121211122211211111111221112211212121111112211212122221112211212221111211222121221122121211122222221122111212221111122221112212212122112211121212221111111212121112221212121212212221122111121121111222121212212212122222221222111211111222112212221222122211211221221221211221112121111121221211112121111222112111122112112112122122212122221212221222112122121111121221122111222121111212122111212111211211211122112111222111212121211221221111111121111111212221112211212111211222212222221122212212111122111112222112221222112211121122111111212121221111111122121112211111212211122222212221211221221111122222112212222112211112112111221122122212221112111112222121121112221112221111211211221122221211121212211111121111122121222211121222111212122111121122222221222221122222111221212122122112221222221212222222211122111211212211112121222221222112121112122121122211212212221221121211111221112221221212222112122121221222111212212111112121222122212212221111211221222222112112221211222112211211112221211111122112121221211211122121221221121122211211221222121221112112111121122211121212112121121222221121222222121211211222122211121121111122221112212211221112112212212221221111211212111212222222211112212122111211222112112111211121121222112122112211211221212211121211222121121221221221222221212211221222111221122112112221111211121112122221212121111222221222111121211112122212111121112211121122221211211121222211211221222111211211121222211112212211221111211221122221221121211112212122121112121122121221112122222112112112111211211222222122121111111211212122222111112111211212221112211112111211111211121212222212122212111211122112121221212111112112122122111222221122222122221211112222221111122121121222222211112212112221221222212212122121112122222211211122221122212121112222212122111222122121121122211221111212111121111121122121111112122212222211112111211122212111122111221112122121122212212121222121222221121211112122112112112111212122112121212112122121212121112121112112112121111121121121212122221211221222211212122221111111211122212211112212212212122111222122112221211211212222222222121121122122211122111122211111211112112211111221122212111121111212122211121211212221222221122111222222211221122222222212112122112121222112122222121122121221211112222112212221221222212211111221211222212122221222121122211211222211112112212111122221122211112222112122212211112111212221111221121122121112121222212212111122111211211211122212211121112211122122221211112122111112212221211121112111112112111222122212222111112122221121212221221111121111222112121221222222121221212121222211121222112111121122111111212211211121121222122111222211222221211222122222121212122211121112211212121211122222112121211221212212221222111112221212111111122112121222111211211122121122222112211222222112221211112122121222212121222112122122211211111121122121211222122222121111211212121112222122112221121122111221222121212211121222222222212212122122122211221111122212121221122121212111221212221122121212222112221121111212222211211211212221212122112112121121211211111212111212212121122222121222122222221121222211221121112211221221212112122212212212111221112111222122122211211212122112211111212211222121111111211222211111211122212121111111112111121111212112222211211112122112112211222112111121212111222211221121212222111221122122222212222111211221111121111222221122222222122222121222211221112222122212111211212212212222212222121211212121112212111221222212212211111122112121221112122211112221122212112212122212121222121212121222212121212122222111212222211221212221111122221111212111212222212122222121112212112222112111221222112221122221111112112112212122122222222112221112111211211112211122111111122111222221122111222221222111211222122221221112211112111222122111222121122221121221222211222212112122112111122211211122222111212212221221211121211112121221212112121122122111211112211211121212111121212111111111212122111221212211212221212111111222222111211221222221112222121112222212112122111222221111222211222111212221212211222122112212221212122122222121122222222212111212111122122122221122222221221112212121112211111112212222122222121112212121221221112222222111222112222221222121211212222211212212221121121122112211122111221221212222111112221222111221211222212111122122112221212211211221222111111121212122222221111122221112221212222121211122112121222212212111112112111122122111221212121121112222221222222121111121111221211111222122211222121122121122121221222111111212121112121122211112122112222112222212212211122111222222121211221212211122222212111211122122112111122211111221121222212112112221212211111212112211212112121121211212221211122221111212221122222222211212212121111111221222222221221111121122222211111112122211222222121212222222121122222212111222221111122122222222212221111122212122111121211211111211222212121121212112211121111211122111112112122222121211122222121112112111212221121112222122212221221121112122111121112222221111212121222211212112121212211221221211122222121122221111222212212222222111112212211221121222112212111122211112211122122122111211212122211122122221212211121222111121121221211211211122122121222221222212221111221111212211122222111221111122222221112221121221221222121112212122212122222122211111121121212121212212121122222112112122121122212111112211121211212222211221212221212211222111112221122111222122112211212211211121122212121122121121111112221222221211121111111111222222112121122221112211212222121111211211212211222212212221122211111221222111121111121122111122221212111212221211211212211111221221111121222112121111122222211211212122211221222112122221112121212112111212222221221112122211111212222221112222122211222212111222212222211221222111212111221211111111111211112111122222121112222212112111212122121121121222221112222221122111122211111212211222212122111221211111222212212121121112221212211111122222121221211212122222212111112212122121122222222111121222212121222122212212112212221212111112112211111212211222122112121211222221111111222211222111212111122122221111112111212212211221212121212121222122111112111211122222121122111212212211122212111211212211212112111212211221121121211222111122222212112211222111111222111122221221222121211222221122222111222122121222221222122112112112221212211211212222211112211121111212212122211111212111121212112211111221212222122111111121212211112122212211121121211121212221222222112112121221112112212222112221221212212122222221112121112212112121121111122111112212111222111122212222211221211121212112212121112211222211122222112222121221222122211221212211111122212211211121122222122212212211122221212212112222122122112222212122212121212222121221121121111112122221122211211112121111212111112222212112211222211112222111211212122222111212211112212121212222111122122211121211121112221211221212121112211212221221111122222121122122121112122211212221221121112211122212222121212111112111111122111212211212112221212221122121212221211211111211112112121222221211212211212222121211221112111112211211222122112212222211221121111212111122122211111221212221121222111221111221211221112111222111212212222212121212221221211221211111222211121121111121122112222121121212122111222211122122222222212111121112221112112211111222221112221111212212212111211112221121221211211221212121221212222211222122222121111121221121112122222122211222211212121221221112212111112112121121211211211212222121111222122212121111222112222212111112121212112112122122112221112121122222112121111212111121122211212121121212222212212221221111112221211112212222221222122212121212221222122222121211121111221222121211211111222112212211122211211212221222212111221121122222211122111111212222211212221111211122111122211212121212122212121112211121121111211111121221112122112111121121222211221221122212211211212212212211222112211121212122212221122121122112211222111221212221211122222111222121211112112111121121211111222111222112211121221212222212112111112212222212221222222122122121112121121222112222211112222212221222211112121212112112222111122122112111211222211112211122222122111111122121212121211121122221122122221121211211222212212111122111122121221122212212212111221211121122221212121122121222221122111221111111212221121221112121121221112121222221111111112211221211122221222122212211222212111221111212212111221221121211222111211111211222222122111121211212111111111212112212112222112121221212111222211121211222121211111122222221211121112222111211112212112112222212222211122111222122211112212111221222211212221222122222212222121221212211211222112112111111211221111221221222112112212112221121212111111112121212221122211112221111211211212122121211111211121211212222121221121111112122211112221222121112121221212221121212221111222212112221111222222211122122112111211221112111112122221121111111121221211222221211212111221122212121211112222112211121222222212122221211211112211211122112221111212211221221121112222221121122211112211122121122221122111221221111211111111112222222121212122212121121221111122221212211222211122221222211222112222121121211122112122122222222112212222212122112122212211222122221122211122112111122121121112111212221112112211211121122211211221111211221121212122121212222211121222222222212112111221112221212222211212222211221222211222221121222222222111111222111112212211221222221112122222221222122212221121211211221122211122111222111222111121121211222212212111221211222222112221212222222121222111222122211222111121111111221211221221222221121211222221111221212222212111121112121112121122222121111121121212211122212111111221211212111212112212212112222112121121212121222112222212211212122221111112211222211222222122221122222222222221122212211121112222212122211121212211111211212221112111121111222222111112121222112112212121121222222212222221122112211211111112212212211121122112112211221221112212211121211221111122121211111211121122112112121221122122222212221122121212121212212122111111111111112221121122221112121221221112112122212121122121121122121211121212221221212221212121121211111112111111221122212112221221112212212122212121222122211122122112121212122121212121121112212112112121122112122212122211222211222211122211211212112222222111112111212112122212111121222111112212111221122211112211112112112212121111112112221212112121221112222121121212221112212211221111211121122112222221221111112211212111112212122211111212222221112222211121212221111212111211222121122212111111111212221212112222122112111212221212212112121122122121212222122222212121222222111111122121222211211121212111212111211211221111111111211111112112112222212112211222222112111222222211122221112121211211212121121221222122211211221121122122211122121222211122112212222122111121222112221221112121112112112112212211112122111121121211112122122112212111122222222111211222111212121211122111122221122121122112121221211121222212122112222122221221221121221112221221121121221221221222111121212122212221221221222212121121111122111112212111212222112122112122112211222112111112122122221122221222211112112221211112212212122212212211211222222111112111211211221111122112222221111112112111122111211112111111211111221111211212212221211121112121212221122222112212122222222112112212222222221112112121121212122112111212112212222112222211111221221222111211121221212212221211221122212221122112122221221112221112211222112121111121112222212222211221211111122222111121221111112121222221222222121122111112122212122122112121112111222111111221121211111111111112122222212221121221122121212211222111212212222112111122122211111112212212111221112112222111112121122112221222211122222111222211121111211222221121221111111221122121221121111121121121212121111211112121121111112122121121212211111122121211211222222221112222122212212221111111122112211221122212122221122111222212222221122222122112121122112112222221222212111221122111111222221211122221221222212122212211112212112112211211222221221212222222221122111222222222212122121122111121111112212211121221121222221121211122221112212112112111122121111122121111111121112121121212121122121111122222112212222222222211222111122112112221112122122221121112121112112122222212211121211121111122111221221222121222221211111221221121121212121211112222121111112211121212212111112121112211112212111221221211221221221122211212112211211222222221222122111112211121222222211111212112212211212212221221212212112121122122221212211112121112222222211121122211221122111222212212222122222111111222212121222222111211221221112112121111121111221222211212222121211112221211122221211112222212112112112221222212122212122122111221221111111112211212212221212111211211122211222211111111212212212221122212111122211111112112121122222211112222122121112222221211112221121211111122121112112122121111212111121121211112221112211121122222211212122212211112222111121211211212121221222111222211112211122212111111111111221211111122121111121112222211112212111221222121212221212211212122121221212222211221221121211211112222211111121212111111111111111211221221222111221221222222211212111211111122111122222121122122222211121211221221122222112122211211112121112211222212111211122212122111111212222221112112211222211211122122121121122211212121222112122121112222222221212221212111222122121222211221221122221211121222111221122122212211221112121222111211222121111111122112112212222211111112212212111111221112121212221112112222211121122222222211221122112122222221212212111222222211122112122222112222221111222221212111112122122111112122222211121212212211211212221121221211111221211111111121112222222112111112212122112111212222121112212222221221111221221112122121221111122111221112111212112211121122222212212121121122122221222112112111111211212121112122212121212221111211122211211122112221222222122112221211112221212211112212211121222112121212211212112111211221121122221111112211112122221111112112211222111221112112211112212122111111212222111121211222112111121112211212111211111112111222112112212111212221112121112112122121111122221121221211111112111121112211211122222122112122212222221221211122121111222122122111211211121212211112212112111121112222211112222122221222122112111122111222122212211221221112122222211112122112222111212122222211111212221121222222111111211222222221122111122221122121222112122122221221222122111121111112111221222112221211121221122212222112212112221211211221212112221212221222211211112112112112221222111212211222112111221221222112211122222221122112112111112222221222112122122121222211112122211112221212211121211111211121211112121121111211111112212221111122222122212122111221212122122111222122221211122211121222221211121222112122111212221122121112121211111211211112212122112211222112212111112111221121121211212221112122222221211122122121122222222212211211221122122222221212211121122122221112121111121212222112111122122112212112121222112222111111111122212211221121111212212122121122121121112122111211121122112222121111212222211222112111112121121222221112112211112122221112122122211122211111212122211122221212122211211221111112212121111111222211111221221112112121211221222112211111121211212212121112111122221221111121222211111121222212212112122221122122121212122222222122111222121211212112122111221221222221222121122121221122122122121212211221122212221122211122212112112212112122111221111211111212222121222221121112121111121212211111222121111111111112212112221122222212111222121122221211112221212111221122122221212212121112112122212221112221122221222112112221112121112112112212122121211212222221122212111111211211111121112222122122122112111121222222212211222111121221122122221121222221122121212221111222112121112221222211222212121121221212112112112221212122121221222121212111121121222122111121222111211112222122122111221121111112211221112212111221121122212122112121121211212111222111212121112121221111112112222111111221111112212122122112211112121122122211111121212222222112111221211112122212111222211111121222112121211122122222122221122212111221211112221211222112121121122112221221112121122122111222112121222111211121221122122212212122111212122111112212212112112121222221121112221121111211222111222121221122111112121211221212122122111222212211212122222111222222221121121111112121121211221222122211112212112111222112211112222111212211121222121221222222211222222122122211212212112212212221111212112111111221222111211111211112122122221221121222212111222112122212211221212111211212211121222211111112221221222212221111222121111211111211112122111222212221122111111212122112122111122111122121122222211121111112222222121221221111212121111122122211212112112221211121122221211211111211212122221122222111112222111122111222121221211222221121211111221121212222121211112212221221212222112211221122221221112211121221111221121121121122222212212211221121221221211122221211211121111221211211212111121221222122221222121212121221122221222112111222112122112212121122212211222121122212221112222212221211121121121121221111112221122222112222212211111121122211221221212221121212212222212212112122122211122221221112212212121112212212212121111121111121111111122112112112211212222221222212111212222211121211212212121111122222111211122112122112212222122121121111121211211222111112212121121111212121121221212221212111211111122211221121212212212112112112122212221112211121222211211212121111111211222212222222212112122121122211221212212111221212211112222211222111121112222211211111121121221211122111121111211222121212122212211211121211111221221211121212211121121122211212122112111221121212111122111112122221211112212111111212112221221122222111111121121111211211211221221112121111221221222121211112112122122211221212221211121112212111222112121112112221112211221212221211211112222121122121221122121222122121111211221111211211122112221211212111112111212222222222211112122211221121221222121111211222111221222111212121122222122212221222212111212121221211221221111121212222111222112122122211122121121212111112212211121111122221122112122221211212212221222222122112221212212112112221221112112212222221112221212111211121122221112212122221222112112111122122121112121122111122222211112212222211211211111211122122112211111212122111212212221221212112122122112222112112111212111222212222222112211221111222122211121211222212121221112211121111121211211122212221111111121112212121121212111111122111112111111212221221111122221111122111221222121212222211111122122112211222221211112221122221211122112211222222211222212211121112121211122222111221112112112221122211222211112122211222212211222111212122121212212222112121211112211121111111211112122222121121211111221211221211112111112122122212221222211212112111121111112211111212122111111221121121211112122112122112121121222111211111122111222222212122121222221221122111121122111221121121212222122112222222212211212112111121121222122112121222211222122122122112111212111111212111122112222122121222221221212122121112122211111222112111122121222122121112112112211211121211122111111221211122122222211111221111211121122222111222111122122221222112111122221122212112211121121211122121111211122211211222121221121112211221221111212111222112211121222222112222112121122221121221111122122121211221111112222222211122121122221121121111212222221112212121122212111222222221212112122111211121222111111212122222212112112121112222122122212212222122111122212221121112212211121122112211121222112211211121221212221222211222211122212211221221122121211112122222111211111122122111112111121221122212112122112111221212212112111221111111211112222112211122222121221122211211211212211211112122221112222221111211221122212111121121112211112221222211222211212111111121221212221211211211112221122112211112112212121112111121221211212111112121211122111112111121211222221211222212121212111111111112212122121221212111211211211221211121221222222122121222111121221211121212212222121122212122211111111212222112121112122221211212211121222212221112112222121121211221122121211111221212111221211211211122211111121111121111221112221111122222212221211112111211111211211211222222222222122221212212211121112121212122112111111212122222212111112111221121121122112222111221112122221121122221211112221121111222221122222122221122212221222211221222212222122211211111121221121211111112112122122222212121122211112111212221212111122122221112212121112221111111122122221211221122221212222221112122112222111222121112221111122112112212112112212111221212221121121221212222222121112211222221211111122221222222212121121212111111221221222111211122221122122212221212111222121211221121122222122112121222122221212121121112111212112112211122222122112111112211122122111222112121212222211112221211112212121122212112111111112112122212221222222112221222121222121112121221112122222211121212112212212212121122212122221121221221112211111111111212222222121122211112211122122121112211212122212121121121121222111112222221221212212122121111221112122122221222212211211121111121122222122122121121121211111221111221111111112211222111121222121212211222112111122121222221211222212221221222111121212221212121122222111121121212211111222122222122112211211111211212112212222111121221122111122222112221112212122121111212211122222222222122221211222121211122221212122222121121122111221112111112122122222111121122122222222111222221121211121122112221121121211211222122112121211221111111122122211111221222121111221212221122112212222222121221121212112211222111221111112112221212112211222112121212122212221211211121122221111111221112122212112212222112122222211222111111122121221211221222212111212212111121112221112211112221111222211111111212221111111112121222122111221111211221122111221221111122111122212221111112211211112111211111222111122112221122221221121121222111111222112212111112221122122212112222112211221122112221211121112221221122121121112211122112211222112111212121222212211122222222121211121212122121112212222111112222111121222221221212112212211222122121221222211221222212221122122222212111211111211122212221122212111221211122212112121222111111222211212111221222112112212121212112212222111212111121221222112211211111221122221112221112211122121211221212212111122212212212121222222221111221221111211212212222221212212222121212121211112222212222212111212212211121212222112112122211122121211122121212211212112112212221112122212212122221211111121222112112222212111212211122112221112121211121221221212221221112112111222111121122112121112221212121222122121222222221121112121211121121212122112222212221121121112221122222122212212222112221121211121222112211111222112211111212211211121121222112222212212111121122222222212122122121211222111212112221111211121121221212122222111211121221212112212111211112112111112211121222211112221122211211112121112211212211122121221222211111221111212121212111111121111212112222212211211112211222111211211121212212121112222122111122212121111111222211221111111221121221211222112111222112111122122222111221121211221122121121121112111122222121221112122122111111121122122221112111111222221222221221222211221212211111112211122111221211111121112212121121221222111112112212211122211112112211122112112111222221111122112211121222111112222122111111212122122122212211211121111112122122122211121111211111111112221212112211222121221222112111222111221111222111222222221222122111212122212211112121222222221111212221112212212121221212112121212222212222111211211222211221112222221112222222112112211212212221122212112121222221212221211112221212121212112111221221211122211122221121221111212222112111111211211121122211212122112121222121111121111222111221111212121112212211212221221212221211221211211122122211221211212121221212212121121121122121222111111222112112111122122221222221121111122211221221121211122212112111221111112221222111112111112122112222212222122112221212212122221221211122121112111121122222222111221112122222111221111121212122112112222122211212211122121221112212121211212112112111212112222212222222122111222222112112122111111111221222112221221211111212212221212111122222111121221222221122222111211221211112121112211121122212222112221212222122112122122112111112211221212221221222112212212222112122112222221222121121222212221212212211112112112122111111221112112122111112212112111211122222211212221222222222212211212111221122211211222211121122211211211121122221112221112212212112221222211121112111212121121221211221221112212112122122212121111221211222111222121212111112122221212221111112121112122212111122112121112222111112221112212211121122111122221122122121211112111112111221111211212121112121211112121212122211111211212121221122121122111122221112212112211222121122121222111111112211211112111122122122121112112212111122212221211211221122212122212221212111111212121221211212212221112222211112122111222212222222212121212221112212212222212122221211221222112121112121122221211222122222121111122111121221221112211112112111111222212222112112111121212122121221112121121112121211111111112111211112121111222112212222222112121122222122112222222122221121222212211121222122222112221112222122122111222212222211221112111221222122112222211212212122221211121211121211112222122212112122211112221212111112221121222112212222111122121211221222212122222112221212212222122122111122122121212221112122122221222221122211221211122111211211212211121212211221121111211212112222211112122111121111221222222111112121212112212111112211221221212222212222111221222221111112112212222111122222121222111122121212122122211221211212122121221212122122112212211112122122221211211121122212222221121112211211222112221221111211212211122122121222222122222121121222212121221212221122111111221112212221111122222112221121121212211222222222221111121111112122122122221222111111222222221112212222212222112221121111211121111121112111122122111211211112112222122211122221222221111122222112121121221112212121222122112212212211121221211112122221211121112112121112122211212121112121112112111222211121122121211122122122111211211211122111122112121121222112111121221222122212111112112221212221221111112222211221222221212221212121221221212111112112121222212212211112221111222221211221211212111122122122211121111111122211212222122212122222112121122122221121221112122122121211122111211211112121112222112222112121221111221112222212211212122122112221221221211221222122221112221112112121222221111222112222112121211221112222212111221121212221111221121211222221121211211112122211222122211212211211221222121121212222111121121121121111212221112111211122121222122111122122211112212112211112122121111221112112212111121211212122111211122112211121112222121212122122122211121222121221121112212111221121211122121121211122122121211211221221121111222111111221212222111222121211212221122112112111221121122212212221121111222221222212112212122111221212221211112112121221112121212112211211112222211121221112121221121112221111121221211121122112211221222221211221212211122122222211121112211111212222222222121222112111211121122211221211221111211212121221211221222112121111121221112112222112222111112212111121212221211222212222122222222211121212112211122111211121222222122222122212121221222211112112122222112211222122112221121222111111212112111211221111121211212111222211122111221111122121122222122221221122212111112212221221122211121221211222211211212211122221112221222222112221122122222221112212221221211211121111212211222212112121212211211112222212211212212222111212112111221122111212121121111212211222211122122112112111212211222221122121111221222111212222121221121221112221212122212111221211211221211121212212212222112122111211222212222121222112121122112122221112121111222122221121222112221121211121121122221211222211221221121112211222222212222211212112222112211221121122111111122112211111211111111211211212122121222122111111211122212222221111211122212211212222111212122111112212122211122112122221112121121212121112222222122111211111112222121222221112212111212111112221211221222111211111112122222122211121212111222211211222212112222221211211222121222112222222122212212212222212221221122222122122212111211121221211112111121221121122121212221222112121221221211221121222112221221212212121122122212111212222111112211112212121211221112111122121211122111121211122122211221122121221122221211222212221112122122221122211112112212222112221112122112221122122112121222212212111111111112212211212222221122121211111222111121112211222112211222121112122211221111111212212112211122112211221121121211211111112122221211112212122111211122121212221212121211221121121211121221111211221212211222221111121211211212222111121122222211121112112112221111121122122112221112112121222222121111111111222211222122211111222211211121221111122221112121212222111122221222211212112222221112221222222222212211111111211111221221222222212212122221122212112222111121122211111211221111212121212122122112122122222212222211212111211211222111222121112121212222221111111111111122122111222211212211222122111212211111212121111112122222211221221212111222111212111112211121121111111111211111111112111211211211112221211222112211111212122222122121211221222111122121222211222222212222212111211121212221211112222111211212222112221112122122211112112121112221222212212112222111112122212211221112112221222212212112121112122212121221211122121211112122212121221211221121121221112121221112121122112112221122211112112221221121111212212111212211222112222222111222211222112211111221212222222111212212211212211212111111211111221112111211111111211111122212122112121121121121211222122222222121221221112212121221112122111212222222221111111121212122122221221121211111221122122221122122211112111222212212222121221122222121221112212121221121212121221111121211212112211221212111221222122112122211122221121222121222222122211212121111212122212122211112221212211222212212111111112212212121122111111112121111112211111122112221212212211121221111111211222212111211111221222122211122222112111212112121111211222112112122111211222212212112212112222122222221222111212221222221212212212111121212111211211212212222112121111222212121112111221112122211211222221111222112111111211122222122221221222121112222112212122112211121122212112112122121221212122212111222112111222222222212212122211221122221111112111111212221122122222111222111121122112122122111111221222212211211211212121111222222212111222221211111212112121211211121111212221212121122222121222211221221212111122121221111211121112112121222222112211121222121112211222122121211111211221112121221112122112111122111122111111111121222112122221111122111112211121122222112212121121111121112112212212112212122221222112211211121222212111121112221222222221222211122211122212111112221212222222111111222121122112121121111211121112211112211111222111111121212212221121112222111222211221211112222111212121121112112211222111111221221222221212221111212111221212122112212212222222212112212112212121111221222112222112122121121211211111112112211122212222121211112111222121122212121112111212111222122222121121222222111212222211121222212112211222121212111221111112212221122111111221111221212111221212122112211111211222122112211122122212222122121212212211221112212221211121112122111121121222211212212222112222111212221212112211111122112112211221222222212121211121112212211222222121111212221222222222222122222111122112222212112111121112121212112111121111221112112222121111122222221221121222122221112111222121122211212212211221121122222112112222121112122211212111121121222211222222221121112221111221211221211211111222222112111112111111121222121212212211122111121211111222211212121121211211212111112211221211221221112111211212222121122121211221121111121111211122111111211121211221122112211122111121212222111111111221212121222121111211122122212222222222221121212112112122111221122122212122222111221212122112211112222112211221221111221111212212111222212121121121111212112212112122111221111121122121211211111221222112221111121221211222221212111221211121221222121222122122212121112221212121221211211121212211211121212221121112222221122121121212222121222212111212211221112122122112112121222211221211112111111211211221122212222122121112122211112111212212122222112222122211111222112122122212222221212112122112212111122211111211222212222111122112121121111121211122222122111111211112221212112122212222122222212222121112122111112121111222111122112212112121212112112212211112212222221111121211222122211212221111122122121112211212222122212121221211111211111212121111212222122112221112211221112222222222212111121122212211111122111211122221122112222221111122222121221221121122121212122222122111122112211122212211212222222212212221211111212221112121221221121222122212211212222211211211122122221111122221122222212112111222211212112211221222211111112222112122121221211121112222222221121222111212221122222112121222121211122111122211221121121222111212112111212111122121211211212212112211121211212212212112111211212211222112122121121112121211122212222122122122222112111212222212111122221112222221111221212112121122112121222221121221222211121111121122111222212221221122122212112112111122221121122221122221212121211222212122222112222222111122121121122112111111212111222111222122221221112122121112121121211112121221221211221212111122112212121221121111121122111211221211122111211111212111112112222122211212212122111111212112122221221211221211212212111212111121112121222211212211211112221122111222221211111211211221212121212111222212221211221222211111112222212112221212112111211221112111222121122211221121121111211212112121212211122111122221212221112222222121121111111212112121111111122111112212211111122121111212121211221111221111122211112121121222122222121121111222122112121111221211111212122221221222222112111112121112211212122222221122211221222111121211121122222212222221221212212122111222222212122121222222211111121121212211211112111211211112111212122222222211212121212211121221211211121111222112112111222222121121211211112111222221222211122121121121112221211221122211221211211212112211121112211122212112112222122112222112222121121122212221112222111212221222122212212212221112212212211221222121221222122221212221121112212121222212112212112111212212111221112212122222222211221222122212112111111112221222211212111221112111222211111112122112211212222222122111222221212112121212221221122211222222212211221212222221122212222111221112121211221221211112122122122211221111211212222122222122112111112221222122121221221122122121122211112122121212111111221112112222222122221221122122211121221222122212121122111211212222222112221221122212121111221122222112122212111222211121122111211122212121222211212212221221112111121222111212221122212221122211122212211121222211122112121212212222211111212111121221212211222111112122211122221111122122121121221211122222121112122221112112111121122222212121221211211111222112211211212121111222212212121111211121111212111221221222212212222211111121222111122122121111121212111212111222222122212121212122211222111212111112111111121221211211112221122121221211112112222121212222211111122212221221111112112222112211221211122221221112222221212211221212222121222211221222212211211112221211122212221121211211211122212111222121212222121122211112221111222121122222221122212122122121212221122112121122111122212221222112122112212212222211211222111212212111111221122221121212221211111122211222221122111121212212121212212121111122112112211112212221211122211221122211122211122111221112111211212222212112221222111221221211221121221122122212122222221221121112222222221122111121111121212111122211112121112121112122112222111221111111212212221122221212111122212112211211211121111112111212121122211122211211121112122222211221212222112211122212211112211122211112122112222222212122121212111221122212212212222122121111112221222121212122112211121112121121111111211211222222112212122112122122222112222222111212122222121222221112211111221212222221211111212212212122212122121111222221121111211211112222211111211121212122222112221211221121111111122221122122122222221121211121111222112211121222222122121211122121112211221222222222112212211221122221212112221122121111212122111222112121111112221211212111221221121111121212222111221122111121121212212211222221111212221211222221112121211111221121112212211111222122212121121121211122112111111121212212111221212112211222122111112121211222111211221121112122221122221112121121111122212211222222111222222211212111212121111221121222212212212112221212212211111111121112121222111111122211211122112212111211111212212122212222221122212111122211211221111111121211221221121212112121111121121222111222122121112122221111221121211121111222222111112111111111111112211222212122221122122111122212121121121212222211222112112211122222211121122112222122221121212122112121212112221212122212222212112212111121112221112211122222121112122121111121121212211111121222222121112122111212122222121211121122211111121221112212112211222212121211221121111222222211222222212211221222212112211222121212112212121221111121121111221121222112111112111112112222111221222212112212112212212211211121221122121112211211111111121122121122122212121211221212112122221222221112211121221122211111122211222212212112212212111212212112222111211221222221122121222212111111212212111112122222222122221111221211122121111212122121111121111212221112112221122212212211121221221221221221122222121222111121212212122212221211212221221222121212222221221211221122112122222211122111222122221112211222222121221222222211212112121222111121122121112212212112221212121121122222121221112112122212121222111212121211211111221121212222212221112211222222111122222121122211222111122111211112222122221111211222212211222122111212222221121121122211111111122211112121221121222112211211222121122211112211221222111211122111112112112122121111211111122222122211222121211211111121222112212221122121221122211221111121212122222121221122221111122112222121122221121111112111222111111122122121222221222122122212211121222211221121221212122211212122211112211212111222111211121122211111122222122212122211221112112212112111121212121111112211222212222212222222221222212121221111211221121112222222221221121212122211212211222211112111212122212221111211212211112111222121112112122222212212221222111121112121121212122221122212122221212212111212121112221222222111211211112221221112111212211212221112111112222211212112122211111221111221112221122121121212112112121212121211111222211221111222212212222211121212122212211121122221221211211221112111111111111221121121211111112221221222211221211122221111122211111211111121211121112121121221222211111112211222212222211211112212211221111112112122222122222211121121111111221211212122112212122211211222111221112112212112122221211122221112112212222112221111221221111112211112211221112111121212111222222121221221221111211212222121211211212112222222121121211122122212212111221221222121122222111111122112111212121121211212112221121222212212122121122122121112211121121211111111112221212212211212121112122121121112122212211221121211222122212221111112112122122111221111122221111122211121221121111111122111112221112122212112111111111221212211222222212211111121212211112122222211112111122222111122122111222221212122212222212121121122211222122212111112121111111221122112111121222221121111112112211111212111111122121211121211212221121111122122222211212212111221121211212222211211211121211211111221221121111122212212211221211222111121111211211112111121221212121111221112111211111221112222222211211112122112112122112122121111212112122212112122121211121211121222221221112122212111222111222121212111112112221121122111112121122221122112112211122212112121121111112111222112212211222222211212211111112111211212212221222122112222221121122212222112221212211111221111221212121122121121122222222111221111112221222221112221212121221112221222112211222122122221121212121112121212212212122212121112121122221112112221222121112212112111121112111111221212211122221211221122221122122122211112211122112212122112221222212221222211122121212221122212212212111211111222222121112121221212222121212212112122111121112111121211221121212222221112211121212211211111211121122112122121111222121112121111121221222111211211212211221122111112111221221211111212112222211112112222121112221211122212112221222122121212222122221212211221112212211111112122121122211121111112111122122122212221122212222121111211122211122122222122211122112221112221121121112122112221122112112222121111221111221212122121222221111121111111112212111222121122212111111111121122122222112212112212121111221122112222211122221111112121222111212222221121212222122121222122212221222212111112112111121221121221122121112212211222121211221122112121211111221211121222111112211112111112122212211212221222212222111122212212112222212121111121211121221212212211211122111111121222221211112221211211121112122122122221112211221111122222121111212122122121122122112221222111211121212121122112121111212211122221112221112212112112221211122212221221211212212211222112121221212111121121121222211111121111212121112122121221212211221122111111222222111222122122222122211121222112212222212112121211211211222211212222211222222122121222212211121111122121212222111112121111122211212222111221121212121111212221112211211111122222112122222221222221212111121212222221222122122112111111222212222122111111111111112121221212111222112122112111211112222111111112222121221112121212122121211111112122211121122122222112212222112211112221112222212122221222122222221212112111121222121122112221221122221221111111211121212212212212212212212121122212112111112111111221211122121212122121122211221221121112112122211222122211112212122111211211211111212111112221221112121211212211221121122122221211211222211211222221122222121111212221212212211122122111111111121222111111122121212221121212112221111111111221221222211111222222222212122222222222221221212121121222112212111111112111211112222221222222222221212222121222212212211122112221212221112221211222222121112112222111121121111222212111211111221221222121122122212222111121222221112211221222121122112212221111211111122221222221222222111221211222221112212111111112222221122211112111212221111121121122122212121222222122212211211212221212111221122221122111211221112211211121212221121221222122111111212121221221111211121122112211122221222221122121211211111222212111112121111222122121222122211112212122122212111211111212212221121221222221122221211122211211212221112212121212212122222211211112112222111111121121211112111111211222121122121122121122222121211111222222211221112112122211111121121221212211211211111122211121222112111221121212122222211211121121112111222121112122212111222112111222112121122122222121121111221112221111121122212112112222122112211122221121121121111222212112212211221121111222222121222122211111111121212111121221122212121112211212111112221212222122121122212221121221111222111222211121112112211211122121122111112212112121121221222121122222222222122122122111212111112111222111122112122222122222212111211221221211121111112221112111122111221211222121221112212112122211111111112112212221122211222221111122212112222212111212211222112121112111121121211211222111121222211222211221211112221212221121111112121222222112221221122211222211212121112211212112222111221211121111222211122212222111121211112222211122222222121111122222112111221111221221212221222121212122121111121122121222112112221221212121211112212212121121212121222221111222211111222222212221122112122121122121212211212112122211111121211221212122212111112121122111122221221121211221121111211122122121212211121121211222211111122211222121212112121212222112121212111111221122111221121221122212121221121222211212112121212222111122221211222221112111121222112212221121211111112121112211221122212212111111112112121112121111122111111121121222112112122121111222211111122221121111212222122222112111212111121122111122112212111222211122222212121122111212222111111121212222122222222112112121111221121112212111212112211111111122212111122111211111122112222221122221112121121221122111211211222112121222212121211112112222211112222212122222112112111111212121111221222222221211121111111122212222111112212112121211111121111121111212212212211121221222222112221221111121112221112112112112121111221122211112211121211122122122112211111122222112222221112122122211111112122222222121211212121112121222121222211112111222211122212211122112111211221222221112121111121121111111212112121221111112222222121122121121121212122221221112211211112221222121111111122211111212222112121222221111111112212112112122121221121122111122121122121212122122121122211211121111222122222111212221112211121221111222121222212212221212211221111111121112122112121221221221212222112121222122121121211221221112121112121122212222121211111212112112222222122122212121111221121121111111121211222212222112221122222212122221111211122112212221121122121211112111211211122222111221211122121121221212121221121212121112222211212121222122121222212122212111112122122122221121121221121111212211122221212211212122211112122122112222122222211211212111222121212222121212211111211122121121212121211212112111121221122222111212111112211111122112211121112222112212121121222121211211112212111211112121222112121122111211122211112121112122212121112122112111121222111122112112111111111211211122121111121122211111212111121112121212122121221112111222121112121222211112222112111221212121212121212211222121222212211121221111211122211111221211212121221212211122221212211211112221222122211121222122221222212222212112111111211111221211111211211112122121122221212112221221112121122112122222212112222222221121121112122121222122212212222112212221122122222211121111221122221222112122122222212121111112211122122212222111121122112122122212222111221111211221111212112112211222122221211211212112222221111121112222111211211222111212122111221221121122212122211221221112211122221221111221112212121221222222112212211111222222121212112221111121112211111121121122121111121212212121112121122222121212111211112212112222121122212121121212221111221121121221211211112211111222122111221222112221122211211211211221222111121212222121121212122121122221222222221121221111112221211121221211122221111121122212221211112222211122211212111212221121211211212211212221211221212112111221112111122211211211112112121111122222122112221222212221122111211112221121121212112222112211112222122122112122121121111221111121222212112221112122122211211212211221122212211222112122122222211111112111222222221112111112111221221211222111212222122121112112212222221122112211121121122212212111111211211111111211122211222121112211221122222221212211111222112221211111121112211222112211112111111222112221112121222121112222222222212122212211121221121222112112212121212112122111112222122122112211221112211212211221212211211221221122221211112221222111122211221222221212211222121212212222211221212121221112222211121211212122122222212111112122212121111122222211211111122111222122122111112221221121212121121122212211112121221121211112122222222112121212212222212111122112221212112112221222211112111212121111111222222221222221211122222122212122212111221222111221211121112221212111122212111221221111212211111212212222212112222212222212112112122212211211222121222211212211122122221111211122211121222112122222122122221212212211112111212112221212211221222211122112212211221122222222211112212112212121211122122122222121221222221121122121112211121111212212222112121212212111112111121211122112222111211121222221211121112111121112122122112221111121222122122222121221221221111112211122211122212221112122122121111221121222111221122221112122121111111222111222121122122112122221212221112211112211211222222122122222221221111221222121211121121122221122211122212112211211122122112112221222211221121122122222222111112221121121221221111222222212221212121222211222121211112112112211211222112121112112222111112221222222111211222122111211211211111122112112121212121112212121111221221121122112111222121111111222211212222111212111221121221112122121212121122222212121221112122122121112212111221212211212212112112112121121221211211112221222221112211112121122221221221112112222221111122112112122222122212111211211222221212111211221111211222122111222121121221112212111221111122212121122211212212122221121211212212111122112212212122221111211121211122222122222122121221212112111222221112212121122112222211111211222111122112121221112111211221122112112122212222121211212111112111221112221121212122212112212212222112222211221212212121121111111211212221222222221112121121122211221122111111122211112122122211112211221211212112111111121222122111111122212221221112121222122211121212211111211211121112112211122211221211112221111122111222122221121212212211112112221212212221121211221122222122121211112112212222222221111212221212221111122222211111112211211222122111121111211111111212211111122121212112221212121221221111121212122122212222121211111221211212111112121211122121122221122221122122122121221121211221212222212212122211211212222111221221221222221222111211122121221212112111211212212212222212111111222111121112122211122111221211222222211212121122221121221222212211222122112122211222222121111122221121221212221111212122222211112122121211221112212121222212111112212112111212122112121111221122122212111111222122212121112112221122112222112111112122211122111212212112111211222112111211221211122211121211221112211111222122111112111211122221121212111222122222212221121222121211111212212121221222121121222111222111122212111211221112111212111212111212222221111111222222121112121222221211222212111122112122211211222121111112122222222211112121211121121222121112112122112221122221112121121211211212211122212221222111122221222121221112211111221222222221122111121211122222221212121112111211211212111111111211121121222112111211121211212111222111121111211122222111121212121122122222211211111212212212211211112211212111111222211221121111122122111222122111121211212221212121211221211222211211121112111221211211111111121211121211212212122221122222122112222111121222221112122211211221122121121122211222121222112212212211122222122121122121112211122211111122122211221212112212221122112221121212111212112212112211211211112212222222121122222212112211112111121222222121122112211122222121212212221122111221212212111212211211222222121211211122212222111111121121111211222222222111112221212221122121122122212211212222212212111111111121111222211111122211221121211222221211121222121121122121111122221122212211111122222111222112122212211121211122211122221122112111221221211211121122112122222212112111212222111112222122221221112112112212121121111121211111121211112211212222221121211212111211211211222112221112212211222122211212221222222221221221112111222212121212222222112212222112222112111112211112122222222221212111222212111222221122111211221222211121211112221222222122111111222221212112121112112121222221212112211211122112212221222212111221211112212111111122211121212112211212121222212112211122211121221222212121211221122122212122122122122112121212121222112212212222222211222212122121212112222211112112112121121111221122122211211111212111112112212221121221211121121121222112122111111122112121211211121121121111112121122111111111122121211121111221122212222121122221212222221122121221212221112121121112121222122122122222111121211122212122211222111122112222211112222221211222111221212111121121222221222222121211121222112211112222212112221111122211221122121222222212222111111111212112221222121122222211222222222112221111121221121112122112221211121222222122122211222211211111212222212121111222111122112212111212212112221211211222212212121111121211112122221122221121121111121112121221122222112112212111122112211122121121122222212222221112222221112212112112212211222111111112112212212121112221221212212212112211211112212122211112112222112221212121211122122111111221211212121221121222211121111211212211122211122221122122221211122212112122222222211222212221121211211212212122222122112212111111122222212111212212111111222221122211121111222121111121121221111221111122212111221221212121122221212221212222112111122222222112112111122122121112212111122111112222121211112212221122121221211221112121211121121121112122121112121121212211122121121211212212111211212212222112111211111112212111221212121121111111122211111121121212112221111111212211211211122222221112211121121122211211112112211212221121211222122112222212212121111122221112122122121221121211221222212222111122122222211121212222211122212121112112111212221121121111111111122221211122111221122212112221111221212121111122122121212222121221211222112111111122121112211222122212222211122112111222111221212212122111122221222121122121211112121122111111111122112221122112211222112111212122122221122111222112121112121211122211211221211222212112121122111212122212111121212212212222211112111121221111212122112111221222112221122222112112221211122212111111122221122121122121211111122222212122111222121111221222211221221221222221122211212221121111221121211212111111222221122212211222212122122122221112211211121121122222211121121211212221211121122222121221211112121212122111112112122222121121221122121211222122222221221212111211211122221121122211221211212221222211121222112212221221222221222211212211111121212221112112122212211111211112121111112222222111221111122122212121122122211211211122122212111122121121221221122122212121122121112112221111112222112122122122122221122211111222222122222111222222222121121221111221121211211111111111212111122221122111221222112121111222211122111221212121212221211112221122122222111211112221211121122111222222112222122222221212112222122121221212122221112111112122212211221112121121122212212122221122122221212122212221221121212212122211112222112111122122222122111211122211222121112121221111122222122112122122222122112221222121111221121211121212112122111111112121122112222121211212121212221222121111221111111112211111121111122112112212211211221111221212122212212222121111212221212122221222222111211222112222211211211111221211222211211121122121121211121121121212122122212211111111221222221121122212222121222121111212211112121111121211222222121222212212222211121112222122121222212121122112222111212121211222111211221112221122221111112122112222211221222121111111212212111112221112121221212112112212122122212112112112211111221211112211211111222211112212121121122212221121111211122112221221121121122211222212121211121122212112212221121212222212222211111222211122121222222222221212211221111211112121221212221121122221122112211211211211122121121112222121111121221112212211212221211211111122221121122212211122212121221122122111111221211222111212112112112212211121211212212212211222221122122112222121211222112222212122122112111122222222211111211112212222222121112212222112121121112222121122221121112221122212221111121122212121221122121211222121211111211111111212211122122122222111221212221122112212211111121122121221211121112222222121211121211112211212222211212121221121211222122211112222122122221211211222111121211212111121121111222222121221212222111212222121211222222212121211122221111112112211111211112211121221122222221111222112122221122111112122211211212111112222111112211121112121212111221121211221111222121111212112121122111122222211211212221122112212221122222211111211211221221111121211212212121111222211212112222112222212212211212221121211221211222221222121222112222122211222111221111112221212221111122112122222212111122212211122221122111221121212112111212221122111121212211122121112111122122111212122112221222122212221211121122122111112211211122211211112121212111112111212112121111112112211122121211221222121211121212122211111222212212212221221111111212112211212211222212222111211122112112121111212121122211121212121221211221112112111111111211221111121121221111211112222111222222121112221112121111111222111121122212212122112212211122111111221222211212121221222112211221221121222221221211112211112122122111222212222212221122211212111122112121121122121222112121112112222211112212111222221211212111212222121121222112112111211221122111221222112122212112212221122222112212112122122122111111112211122112112212221211111212221112111222222211111112212121122111222122121212212112212122112221222222121211111111222221112111212222121212212212111112211211221221121222221222122111211221121211112122121121121212111221221222112111221212122212211121221221121112112211122211122211221111111211122122121111112121121212121212122111112222221121121222221211121112212111221112121111122121122211221222222211222111121211222122112222121211121222121222121222121122112111121222211112222121122211111122221212121111112111121111222121211211112112211121222121222211111112211222122122211121112112211112212222112211111221212221221112211111121111221211111112121122121111222212222112112221111212222222121211211212121211111122212212222121221212121211111121111122122112122211211211212112122221212221212121121222122211111111221122111111211212222211222111121121212121222112121122111121212211212111112212221121222221122221211121211122121221111121121212121222222211211212221111112121211212221212211112221211221112122112111222121112222211211222122221221212221222122112121112122212212222121122212221212122212112112221122222212111121222212222212222121112112121121111122122122211211121122122222212212212212221112122122211222221221122221111212212111111122122121122111122122222111111222111221121121222212121222112111122111221211111122112212112111211212212121122122112212121111111221111122222121112222121112221222112112212121121112112211212112211221111221212221112221111111212222211121221212221222221111112221222211122222111222212212122212122221211221122212222222122122112112211111121121111122121221112111121111112122112211122221211221221121112222121212221112121212212211122121122121222211121212121212222122212121221112112211112222111121121111222212111221221112111121221222112121221221122212122211222111211211112121111211112212222221211212211111221221121111222222112121221111222112222112222121121121122211111221211221221221111111221121122122221112221222222212222222221121121222121221112112212122211221121111222212222222211121211221212222112112221211111212222122111111112122211221112112222211221111221211111121112222222122222122211122211111121111121212211121222211222121121112212222211212221221111121121222212221212211122112121221111212111222222122111112211211212122221111222122212212221211222221112221212222121211222222121221111111211221211211121221221111222122121122212111111212112112121221222211121211122111122212211122211222211121212111112221212221211111222111111221121222211221212122222121221212111211211111221211122122111221221212211121112211112111112121122222121121122212111211221212211221121112122122122212121112111221122222212211112222221121212112222111112221222121121222221211122222222222122122222111222221111111112122221121212212212111112212222112112122211112212111111122112211122212121211212122111221121112112222212211221222112211111111212221211122211122112212211112111111111211121121121222221112211221121122121111122222212112112122122221111121221122212212211112111221222121221121222212121121211112212121122211222221212112112111121212221222211122111211122111211121222121212222112221121212211111111211212222121222112111212111221122222211212222211212112112111222211121211112111112121212212122111112222122221221221111111122111112221112212211221212222212111111121111112111121122221111121121211112111121122221111122111122222211211121222222111122221121212112212222112122211221122211221212111211222111211221121212111212111112112211111221121121112122221222222222111211222211121122122122121112121211122111112112211212111222212211122111222122112221121222221222121121221212112122222211121221222111122212212212112111111212222221211122121121222112122211211212222222121211122221111112211111222111222222212212221212112111222111222122112221221221122222212211121212112111112122111122111121211222111121221122222122221122222111221212211122222121112111222212121111111212122221221212121211121122211112212212222212212222111221122121221221121221122211221122212222112211222121221121121121121122211122111122111212112122121211111112211122211122221212112221112112122121211111122221111112111222221221222122111122121212222111222111121111212212212211112121121222121221111111112221212111211212211222112222111112222222221211111222111212221122212121111112122221211221112221222122222112211212212121211122211212111221222122112111122121222121121112212121221221211221121122222221221221211122121121211111111221112221211211122121121122211212211221121121222211222121221122112111222222122221221121121111212222121112221111111112121122112212122212222221111211221222222111122121112221121111222111122222112122222212122111111212212212221122111222121212121221222212222121112121112122221121121122122221212222122111112212121221211121222212111112112121112121111121222112122221211221122222111111122121211122221221221221121111122111212222122121121122121122121112121122211212222112111211121122222121121211211121211212121222222221212211212221212112121121111221122211111122221121211121112221122121221221211222222221111221212211112221121212211121121222211212122221222212221112111121211122111111122221121121211112212111211121222212122112111221111111212222212221211211211111221222112222121122121112222122211211112122221112111222122122211122121222121212111112211221222121122222112212122212112112122112222121112212222211211221222112122211212111111211121211121121111221212211211122222222222121121222121222222111111121121111222121212121222221222121111111122211212211121221222211222212222221222121111121112111111121211221221112121222211121222112211222222121122111222212211121221121121221122222221221121211222111211121121221222212122221221112211222222121211122122112212121221122111221122221111122222122122112211112111121111111121211211111111212222122222112212122122111122212112111121211222122121111221122111122222212212221212212121211211222221121121221211122212221222221112222122121221222212211222212221221112111112221221111221212222221212212212211122112122222111221121221112221221121111121111221221122121222221221211221112112111112212112122212212111111112212121111212111121111211221121121121112112222121221222111211221211212122112221211122111221212122212211121212222222212221111212122222221121222211221222111221211222121211222122211122122211122121111122122121211211221212211122222111112121221111211222121112122122112222221112212121222222222121221221121212222112111122112221111111211111211112112212121212222211222211221111221122121112222222222112121121212221222222222211222112122222222112111222212111221122111122211221112112111211111222112111222121121112222211221212212111221121222211122121211122112222221221122211211221121222222222121122222122112121212121221122212112222122221112112212122211222212221221112111111112211121222222222111111222222222222212112222211221122112122222211222111222111212221122211212211121212122122212112212111111121211221211222222112222111221211122222212112221121121111221221212111212122121121121211122212211111211221222212121222122211121221111122121121111211111112221122112121121111221122111111121112111221122111121112112221111121222211121212112212122211112111222121221221221212212112211212121212221122221122121212112211221221222111111112111121221222222111112211121121111122112221111222122221212222221112121222212212211221221112111111222112112211111221111222112212222221212211212211221122212211121211121221211211222211112222221111221112121112111121221221212111221122111211212212122211121122121122112212221121121111221112111122221122122221112221122212122211221221111112211112222221212122221211121212222222211122211121222222122221211122222222111111212221111112222122111111112221222222112112111121222221111211221221212221111121122211122212222212112212121222222212111122122222121111121112221111212121221122122111121112211212121211111112121121111112212211211122212111121211221222122111122222221211222222121122122121122222112211111222112121212112221122121111121111221222221221121111212111122121121211111121111222211121122211122221221122121211211222112212211211211111222121122212222212221122122222212111122221112222112211222112211212122212122122112111212222122122111221222221222112112112222212112112121211121122212221211222212112111212111221211122121111222122212112121111212211121111212212211112121222121122122111212111221212211111112212121121122122221122211212111112211222121212211111111212121221212212121221221212211121111111221221211112221121211122222212111222212122111121122212221121122221222222221212121122112221221111211211111122122222211112122122222222111222121221222112221112211112122211221221212222221112111122222121111221111122111112112211211122112222122221212212121122221111112112121121122211122212122211211211122221211222112211222222212111221212222221121121121111221121211212112111222112122121212122211211121112212111212222212122122212112221222212222121222111212122111211211222212221221212222221121212112212122212112211122111121112212122111221221221222112111122121222212121211212122111211112112112211211122111121211122211122112211222211122121112112112112211122211211121122112212222222212111111211211121212222122112111122121111221121122112112212121211222212122111121122222222212221111121112112211222112222121222112211111122122212121221212212222122221222112211122112122121121211112221111211121221222121212122112222122222111111222122222112211212221112211222212211121211112212122212222112111212121121211122112212212221212111212121222211122112211222111222211212122211222112122122121211212112112111121212122122222122212122212212121211122121112121221121222111221122211112222211121112221212221112112111112221212111111222122222112122222211211212221121111111211112222121112211211222122112222212212211221222222122212212122122122122111112121111211211112221112111112111222122212211222212111112122122121221211221111212212111112112122111212111212222212222121212211111222212112222222212222122112112111121121222122221122211221211222221111211111212222221222122122121211221212112212111111122111212212121121211111211221222112222221212122122222222122222212212122111121112222221212212111221122112111121111221121222222212112221121212211122212211121112112112212222122221211221122111221112222112121221211111212111212121222212112221111222221111112121212112122121222222121112221111121211212222122121212221121112211112211112121211111112211111211222122111122121212112222122211122221112211222112122212212121212222111121221222112212121211111121221212222212212221111222221222222211221212212121212112211112222221111221111221222222112222121112222112222121212212121222212112221212112212211212221122221222121112121222221211212212121112121211221112221122111112121212212221112221121121221221122221222111121222111212222212221211221211121112212112122211111212122112122222121121122222222111121121222121211121112211121121112122121121111111111122211121112221222222121222212211222212121212212111121222122121121221122222221212221111211221222221111122212121211221221111112121211122111122111221112212212112111111112111112121112212211212121112122222221222121212112222112211112121112221211111112212112221122122111221221111122122111121212122222212122222222111212122121222212112222221121122122211121222222221221121222222122222122221111222221112112222111111121222222111112112221221221212212222221222112222222111121112111112112221211221122211211211111212111212122211112112222122222122111121121122221122212122111211221112112112212121112112211121222121112122122222221222222211112122222221112211222111122222211111212212212211122122122222121121222221122222112222221222121121122222211111122211122111221222111212211222221212121222211212211121111112221121112112112121222122221121221122212222112222121121221111211211122211121211222111122222221112211212222121122122211122111212222112122221221211212211212221222221222111122211211221122221221221111121122112221212122221122222222111221111212121221112111212112111222211111111121221122212121121222212122211212211211221211222222211221121112122122212211221221122112121121111212121222122211122121221221212221221212121221211122112122112121112211221122221111212121112112122212122122121121221112212212122121111221121212211111111212112122121122221111111222121221222211221112221122122122122211222212112122221222122222111221221222222121111222211222121211111221222212112221111111111221222122121111212122121122111221212121121122222211211121211222211221112121222221211111222221222122221111211211111221112122212122221112111112111112221221121222211111111121111221121121122121121221122122121221122222112212112221222221121212221112112112122112111211122211122122211221111121212221212111122111121221212122221122211212111221211111211122221121211121121212222121112222122222111121212211211111121111222212211112221112111122221112122212111212221221211121112121112222211122221222222121211222122221112222211221212212222211111222112221211121111112112221212222111211211121122222212212121122211111211122212212212212111122112221212221221111222222121222212111121122212121112111121122111122122112211221111122222212122221212212221212211112122112112121112211111222211112212121222111222122121212221221212122111222111111122212122211221211211221221212122212112221211211112122221121121121121222222221221221212112121222212121111122212111111122212212111212222112121221111112222112121221121221122112211221212211121212111122211221112221111221112211222111212121111112212221111112112211121211221212111222112212121212111121112112222121121221221112112221112111112121222221112222221211212122212111222121122222112111221211211111221211221122112221112121122122222121222222122212122111212122111111111221111211212212112121212212222122121211111212121112122221112212212212111122211221111111121212212212222121212211221121212221111211212212121212122211211222221122222111111111211211121121111122122111111122121221111111222122111212222211112211111121222222112121211112121122211211222222222122211222221222122221111111111212211222222111212121121222112121222222222122112221111222122211212122211211121112211121122222122211111122111121212122211221111222111211221122222122222211121112111112111122221222111222121122212112122122211111222122111112211222221222212211111221211111221212111222211222122122211122121122112111212111212112112122211121222211221222212212112221122122121221211212212221221122112221111221112122221222111212212212212222121212122112111111111122212222212211221121122112112121112112111221121111111222122211222221222122222212212212112122211222112221212112222121212211222122222122111212211222222112112221211221112121121222112221122221121222221122122211112221121211211112211221222221121111112221121221112112121112122221222212122121222212222121211221121112211222111212112211121221112111122112122212111222221121121121211221212212211221112222212112112222212212212122122222111121121211111121212212222121121212221122121111222222211221122222212121211211111121112221212121111121111112112112211221112211112121122122212221122122212121122112111122121111222222112211122122112222221112121112222122221211221122212211111111112111121222121211111122122222121222121221122211122212222111121222122111212122222211212221111211222121212221122111121211122112112211221211222121112122121121212122222212122111212212121122221122221212222222211212122111121221121112211222111112221112221222212211211121222121122111112111222122212122222111112121221112212222221211112112112111211221122112112111111222221221212122122212222221121112211122211211111112221112112212112111122221212111221222112222122112222111222112122121121111211111122222222112221121122222222211222112221221211122112221222111212222211111121222112112122222222111121211222122122121122111222212121121212221121212222121211212222122221211122121221122121121212211122112212211212212121221122221222221122121111122121212121212121121212122121122122221222122222111121122212221211111121212212221111122121111111211121122211121212112211221212122122122112122222122111212222212222212222211212111112121221121111121111121212212212211211112222111122211221222221212111221212212222221112122221122121111112122211212122211221212111212121111212121212111211121211221121122212111112211222221222112222211221222221111122121122121121121222221221122122112121212111122121121222122122112211212121222112121212221212121222121211211112222222211111122122111122212112221112111122212121212112111211211221212121211221111222221121222111221111112111122221112222122221212111122121111111121211222211112122112121221112211112212211112211122221221111212221212122211121112222222222221111122122112212211112212211122212211212211122111212211222222121221222111211212122122222122111211112212111212222121121111212111111121111122121222121212111211221212211121221112121111212211112221112221221212111221221121211112221112221212111121112111222221222122212111111211212221212211121112221222221122212222221122112112121222122212212121111222122212122221111211212211221112221211122211212212222112211212122212121212121122212221222211211221121212211211211122111111212122112221221222212121122221221221212212221121122212222121221222112111211221221111221211112112211112222111111222112211121212111212111221221112111122212211211221212122222112211222212111121112211221221122221121222122222121112221221222112212112211111122121121212212121112112111121111121121211121211111112122111222212211222112111212222121122212121212221112211222212211212112212222121111211122122122121212221112221111212212122112112212111222222122212221221221211121111222121221221211221112121122222122121112112222212122211222122221221221121222112221112212221211122121111121122121222112211212222212211211121221112212221112121221211211212211211121122121122112121222222211221122112212122212111121111221221221212222122212222211221122122112121212221211212211112211211122222121112112211211221211122211221211122121212211222121121222212222121111222211212212222212121211221122122222212212211211212121122121211112222121221212111122111111122121121222121112121211112122212221112111112221121121211111121222211222122112121122222112222212122121212111222211221112111212122211112222211211122222212212212221211211221212212221121111112111112212222222121122121121222121212221122112222121112221121222212122222121221122221121221212112122121111212221112211222211211212212121221111211121221221211212112211222221121222122112121122211212212111111221121111222121212121221112122211221112221211111111221221112111221112111221212211111221212112121121212121121211111122122111221211111112122112112212121111111222222112221222112112122211222111222122211211221111211221221122112221121112122122112211121211112221111122212222211211111221211211212112222221122211212221122221222222212111111121121122211122212212212221212212212211212111111221112112211121112222211121221121111112111121212211122121211112111111122111211222211221121111121212111112121121112122212212112221112211211212112212211212112222122112121111121121112212211211211221221222122122222212111212221121212111111222121212112212111112221112222122122211121222111112211221112111221111112121211111212211111122211111121221121222221222222112122111212121121122221212112122121111122111122212122112222111212122222222122122111221221112122122212111111221121222212221222221221212211221112122122121111221212111212111121121212112121112122122122121211121111111221221122112112121221222211211121111111122221122221121212221112112122212221211221212212111221221111211111221222112211122112122222112211212112121122111211222222222212122111222111221111111111211212112222111111112121211222111221222212222112221222221111112111112111222212112112222111221121121112211121121122221122212222111111212112121121121222122221122222221122222221222222111211121221112112222211112112222112212222211121212122212112211212112221112221121112121211222211222112122222122222121212221222221212221212121222222121222211212122111211122122122222122122221122212122112212112121121122221211122222222221111111212121122111221111222222222221211212222212111121212121211212212211221212112121112212122211212121111221211221111121111111121111221221112212122122111122222122112121221212221212222122121221212121121121112212221111222212122222222211121121111211122222212122211122112122111221222112121122122211222122111212212112122212111111122111222121211222212112111212122121111112212112221111112212111121122212112111221121121111111222111112211122222111111112211111222212211111122212211111112112212211122221221121112211212122121112221222122222121211212121212112122112211221121121121222121112111221212112211121121122222122212121121112121221122112212111221121221222111122222212112111112221122121212121221212111212211111211211112221121222121112111221211211212211211212111122122112121211121211112111122112211212221111111222112122221211211121212121122111222111211121212212112221221211111111222112122121121221221111212112222211112211111222211221212222221212112111121112222112222222212221221121111121212121221111221211212212211111112112121222122112112212221222221212211211212111122112111122221122122112211121122222212221211111212111112212211212121211122211212122212121212111121212212222212111212212211221212112222222112122211212222122212221211112222211122122121222212211221212111121122221112111111122221112221211112122111112111122222111121222122122111211112211212122222222221121211122121222211221221211121122221212212112222212121222221212221222121212211221121111212222222121221111112112112221112221212122122221111221122212212111222112111221122211212112111111221221111121112222111121112212212221122221111211221112211122211111122112221112211112221212122211122211112211211122122122222112221212112111122222211222121112121221211211221211112221222211111221122211221122112111112112122221222222211121221212212122122122121122222222222112211112112211122211221212211111222212111121111112212211112212221222222211211112222212122112211211112211112112111122111222112212111112222122121111222112221222121221222122222122222112122122212221211121112221122122211111222121212211211122121112121111222111122212111122121121221122111221222222112111221222122222211211221211112122122111122212111221211222222121212222222112222212111111212111212222112211112112111122211222222121221211221212222221211211122122111111112222222122222121122111211221111111211222122122211111121212111221211112121121121221122112112112221211212211121221222212111221221111211211111112121212112111121222222212112112121211121221222221111222211212121121112122112112221211112221121221212111211221222221121112121111121122222112212111112212212122222111212221111221121111211112111122112122121221122221121122222212111111122111112121212221111212222222211112111212122121111112122111222121221112122221212122212221211122122221221111211221121111212221222221222111221221211112121211111211221121121222212212122211111211121222121222221211222222122212121211121112211122112222111111121112211221221112212222221121121211112221121211212221211122112111122211221212222212122121211121122212222122211212111112111222112121221111112212121112122221212221221112221112221221221221212221111111111122112222212111221211111112122111112122222222112112112122211222111212212212121212222122122222121112212121121111212112221121212122111112122221211122212122211111112222121121122122112122221212121222122222211221122221112221212121112112222112111221211122211122221111122222212122112211121211212121122212111222112211122121221121111112222111222212111212222121122211122222222112111121222222122112112121112211112112221211112121121122222211111111221122111122221111212122211222112212121221111212112212122212121211211121111221111111111121121212112112121121121121212212211212122112122222122211122121112122211111212122212221212122211111122122111121121221122121221112221111221221121112121111211222212121121122112212211221222222212222112122211221222122122121121121111112222211121112222222221111222121112221212122221122121122211211221121111212121211212121111122212111221111211222221221212111122121121112212212212221111121111122112221121212212112112112212111121121212112121222212222211222222111122211111212221221111111112222212212112122122211221112112211222221221122212112221221212121111112121122211112212122211122122121121222221222111221121111121222211121122221221111111121121222222221212211112221122212112112112111121122212122121212121111212211222221111222112212111111221212221221211111121112212212122211212111221222221221211212112122212222212111112111111211211112212212221222111112222212212221212221212121121111122212112121222212121112222212122222112121121121112122112122112112121122121121212121222112221122222121121121212122212121222221121211212122221111112122121112111222221211222122112212122222111122212121212111122222121212212221212121222222122122112121122221122211212112211112221222222222122121212122221212122122222111121212211122112221122111111222122221212212112121211212122111111212212122111211121121111211111222121121221122112122111212211212221111111212212111211211221122212112112211111222221212211111221221221122222222222212211122111111112112221211212211221211212212221211221211221122121212221121122221222121112122221111112212122222122212121221222122121122111112111122111211112111111222112211211212211221212122121112221122211121211112121211112121211221121121221121221212121212222212122122212112121212121121212211212112122211111111122111222222112121121111211221122122222221211222122122112221221222222111111122222122112121111121111212122211111122121221211212121121112211222112121212112211211222111211112112122221121221222122222212211121122212211212211211222211222212222222122111112111211111112222111121121222212121221212211212111111212222121221221212211221222121111222222111222111112221221222212212111221212111122211212121111212122122222221211111222222211121221222121121111212221111122121112111111112112222122221221212212122212222211122122111212212211111212221112112222112212221212221111222221212212112222212111111121112121112121121111222212212111112112211212221111212121221222111112212212222222122112221211222221111121222122221122222112121121112111212222222221221211221111212211122221211122211112121121212212211111121212211211222122122222212111212121221111222121122221212221121211112112111122121122222111122221211211111222212111121111221111222221212112122111111121121222222212121211222112112222212212121122111121111211112112122222211112212111212111122112212112112212111111121122221121211121121212222221221111121221122211211211211222122112211122122121221111111121222221112122122112211112221122111122121111221222221111211222211211221111222221122121212221112221212211112111212222122112122222222222112211221221112222221222121112111111211122112222122111222122111212221121211211121122222212122211111121112121211111212221222211221121221112211221221121111222112122222121212211211212221221112122112211111212221221221222221221222111222212121122112122222212211111222212221111221121112212222212212211222212111112221212222122121221212111211122122112111121122212222111221221121222121211221122111212211212122112222122211222222221111212221211121122211222221112111222212112222222212122222122221122122112112221121112122211121121221211121121212121112121111221111112222211221221211221121211122122212222121112111121222221112121222122121212222122121112122212122111221211212111212222121212221222121122222111211112122211212111112221111111212122111112221211111212112221111121221121221111212112112211222212212212221121122221211122222112111111121211111211111111222221212212211222112212112222211112221121112121112121111221221212122121122121221212112121211221212121111112212112212112211211222121212222121222221211111212211211221112222222112122122221221221112112212111112112111221222121211221121221111111221111221212212121121211222122212111111211222121212221111122111212121212221221221121221111211112122221112111211111121122111211222121122212112221112122221111112221122112122212111112222222221221112211211211121211221222222122111122112212111222222211121212221121122112121222112222222112121222222112211111122211212121211222212212211111122111211112212122212122112222112121222112111222221112221121212211221221212122111122112222122221212122112112221221222111122111211211121211112222211121222111212121212212112112112122212121112222112112221122222112212112112112222211222221122221122122221222222111222112122111111221111111112121221122212221212211211122111121211222112212222122221211111111212222222222221111221212112211212211221212211121121111121222211211111121222112121121112222111121111222212221111212112112112212211112221111121111111211112222111212122112212211112221221221222122221211211121111111211121121122211112211121121212122212222212111112212212222122212111111212122111212122222221222121222122122112222121222122212212221212112211221122122121112112122121122111221122112212112221212121111121211222111221221121112111212221221112112112221111112122111111121221212212122122222112211222112221111212222222112111122122111122211122122212221122122222221121121121111111212112211221222212222221221112112112212211121121212122212121111112122221111212111121212112112212121111111122121212122121121222221112221212211122111122211221222112112111222122121111112112121111112121112211122211222221122221122112121221221121211212112222211121122111211122122121212211211121111122112221121212112211222211122121221222211211121112222212112121211212211222121222121222221111112211222212112121211111221122111212221222222121211222122111212221211212212222112122121121111112111211211121221212111221121212121112211221111212222112222211111121222111212111112212111212121211112121221121112111212212122222122222212212112211122221212111212111222212222221222122211111111121221211121111212212122221121212111212211222111112121222111211111222212112121211111112111221121211212212211112212112221221221122112221122211221221211122221212112122121121111211121212112111211121122212112112121211212212112222112121212212112121211121222222111122221121212211121212121122221222222122211212222221211121111212221212221112222211211111121222122212212121212212121111211211112222121211211212212111122111111122111111121212112221122121211121211222111122222221221221212212211111122211121211222211211221211212222222122112212122111112221111211112121111221221211121112212111121211211221121221112121111121112121111211122211212112211222221212122111122212211221122122122121112112112221112121211111112122111211211212122222111211122222121122112212112121221122212221221221121221112122121211222221212112222212212112111222122111211111112121211211222211221221121221221211211111211221112222212112212111221122222222222121211122111211212122111111222112222212111112112112222121212222211211211221222112122221221222211121221112122222121121111211121212122211121112212112212212122211122211212211212111111122121222212122122121211222212111122111111221111212211211222122212121221221212112112221221211211221222212211111122121222211221111212122221121122211211211121112211222122112122111122112122222112121111221112122112111112221121111211212222221112212121222222111222111122112212111112221111221112221112111211211111121111222211111112211221211122211112112211112211221121212111122222122111211122121212222221111222112222111112212211221111221111221122111221221111122111211121211221221212211212112221221222112122122122211221221211211221212222111122122111222121111122221112122212111222112222222222211112212222111112112221112121121122122211121222221222212112112121222211212121212212212111122221211221122211221222222222211112122222111112211112221122112221221222221112212211222211111121122111211211112222121212221111111122111122222112122222122122212221121221211212212112211111112212222221221212211122211211211212111121222221212112111112111122221212112222122211122222221112111212211221212221121212222221112112121221121222212221211211212122112111111111111211212211121111211122112122112222112212121111112211122211222211221122222212221222212112212222222211212221211121122112112221111122211222112211122111221212211212121221121211111211211212212122121111211212112211211111112121221221221211111222111222111221221221212221111111211221111212122211212122121222211221111211111112121121122221222112221221122112122222221212122122122112212222212112112212222112222111112211212121212111121221122211121221212222222211122112122221222122112221212212221122122211221122111122112121122122212221222112122221211121211221212111212122111212121121121222221211211222221121122222121111112222222121211122212121221121122221212211121121212122121121111221212111212211222212221112211111122212121211122222222211222122112122121121111111212121122121221111112121211121221112212112212222122122121212212221221122112112222121121221112222122212211221121111212122221111112211112211221122221111222222112212111222122122111122121222112222121112122212211221222122222122121211112212122222111111111121121211212212111122222222221111211212222211211121111221111221122222212211212122212222122211112121212122112111121211212211222112122212121221111122121212221212211121122121112211121112211112111212121221221212121222112121221112112211211221212122121211222212221111121221211111212121212122211111112121212111211122221111121212212112122211121221111212111221121221212122122212221212121112211212222212212122211212121111221221211221112221122112222122111122112212112221222122112112221221112221211122212112222221221221212111122212111112221121112121221211122112222122112122112111121122211222222111121111112222221211121222112112122111222221111211222121111211211112121122211221121121122111222111222121121122211222111212211111122122212212211212112112211221212111122212211212222122121221122111111212111211222122121211211212122112221222121222112111221221221211112212122212212221111222222121122221122221221221221112121112112221211112111111112112121112111221122122122111222121111212212112122221212212121211211111211222112221211211112222121121111221121122121212212122112222212122112212111221222211222221222111112222112212221111121122211221121212111122222222221212121222121212122211112212212112122221222122111122121212221111121222121121222111111212112211122212112212111221221212212211111212112221112112222121212111121111111221222111222211222111222121211222112212122112211111111221222222211222111111111111212121221122221211121111121222212221122111121112222111112222212122221122121212122121222222112222212211221111221212222121122112222221222121111122112121112222212221212122111122111112211111221121122222221212112122111122211122211112212111112211222212112121122121222221121121222211222112211112221111212212212212111121221222121222112112112121121211122111111221211112111122111112122111211222111212211221211211121212221112122122111212121222112212122221121222221112221111211222112121211221111221212221221222221222111221221211111222122222121112122122222122212222111122121222222122112122211212221112121121112111122221111121112212122222121121211121112222112222122121111111111121222222121212221111112222211122221121211221112121221121121222211122111212112112111211212211222222111121122121111212222222121122211212111211122222112111221111222112211212122112121111212221222112112221211121122122211212122211111121122221221112112111212211212221121212122211212222121112112222112212211122211211122122121112211122211222221111212212212211212212111111121122112221111112212122122212122221211121111121121111222212221212112222122222222121222221221112212121122111121221221212221211212212211112211221222112221112111122112221212122221122222121121211212211221212111222121221112112221112211211111212112122112211211212222221122222111121122112212212111221112212122122211212222222112121111112221212211212112222211121112212211222121211122221211121211211111221121212121221112221112112112211121122111212112212222122211212111221112211111212211222221112111222212221112122121122112122222211211212221222121211111211121112211221221221222211112112111212222221122122212211121111111111221211222211111122122112212211211122111122111221112122111222111212121211212122221211222211212222122222211112122122112212221121221222112122121221212112212221212211122211122212112112221121222211211221222121112112211221122122122211211211222222112111122211121222112112122121122121222111112221111211111112111221112111211211121212211221111121111222211121122212122121112212222221212122222121221122112122211212211121111111121221222212212112211211221212222222211222121121112211111211221111111221111112122222221121121111112121222222211222111222211111111121121111222221111122121111221111212121111211222221211211222121122221212212221212212122222211111122122212221122111212122122121112111122212222222211221121111121221112111112112221222121222111122212222212221222212121122221112112112221222221111222221212111221121221122112121121212121112211112221112122111121211212212122121122211211111211222212122221211222212111121111112121111222222112221112211111222111211122221212122222221211212122221111111111121221112222212212111121211121122112112221222111222211211111121222211222121222122122111221122222121122221112222111122111111111211212222111122212121222221222111212222222222211112121211221121112121122111211112212212222221222221212212211212221121111121121222222211122122122121122212211112222122122211112212111122221112112122221211111221112111121111212211121221212111122221122121221211222222122221222222211121111121111222112212221211122122222121122111222222111221111211122221221111121112212121121221122222212122212112112212212112122121222111221221111211111221111121222111221221222222221222221112111212122211112222122121212111122112111212222122221222122222121111112222212211112111111111211212122212211212122212221122212122122212222212111212122211112111122221211211111112212211122221111111121121212212121211211121222111222112111122112122122122112112211121122121121222122211222122211111122111211111111111212211112122111222121111112122121112112112222122222111221211122221111222111222212111112121212112112121122121112121121111211221221121211212121211211112221211221221122222222222221122212111112212111111112112222122122211111122121112121212122211111212111212122111112222221121121112121112122211212122211111221221222211112122122222121121111111211211111121212122112221221112111112211221222112222122211121122211112212111222222211112111222212211212221112122212211112121112122111122222111212112111111121121122121211121212121222112212212221211221221112112221121211122211112111122121211111112121222122111121211222121122211212112121121111121212211122212212122211222121121211122221122112121212212221112212121222211122221111112222222221122211111121221111211222221221211112212222221121111221212112112212121221221112211222221211122212212221121121212211111211111222122121211211212121212212211221121121211121212121111121112122212221121122221121112121212111121212212221222111211111212212122212212111212221211121221211121122211222211211222211121221111222222112211121221221111221112111221221121112221122221212212212212222222112112121111121121212221221222221221122121111111112211222122222121211112121221112112121222121222222212222122221212222212111122122122222212211111221212112212212121211221221122122212211222212112111221221121121111211211122111111111222211112212111222121221221222221112221112112121222222121212221221212111212121211211212212222112121221222111122211211112222212211121112221111112222212221111121122112221112121112121122122221221112112112212221122212111121112112121121212211211222111112122122121122221212211111211211112222212221212111112212212122222121121111111111112112211111212111212221112112112222212222122111221222121211111222212111121212222212121121122111122122111221111212122111221222112221221111112121212211122111212121122222222222211212212212111221221221212112212221122121222212211112111111122222211222212222221122211111221211221221121121122221222211112221212111111212211111221211122121112112112222211222221221212111121112112121121121222122221221211111211211212122221212222122111221221221211111212111112121111221111121122121222121121221222222212212212122212221221112121122121221212211212211222112122112121121222222211211111112221222121112111222211122221211212222121211111221121211111111111111212112212112211111122212212222111212211111112221111112222111111212122211111211122211111122212121111122112211121222112212222221221212112211211122222222121111122112211221122112112221111212112222221211222121212222221112222122121222122212111211111211121111221211111212111121211121212211122212222121221212112111212221222111211112211112212112121222112221121221121211111121212211222122121121111111121222221222222111111122221112121112122112112111121111211111111212222111112121121222222122111121222121222221122211222122212121221211111211222212121111112111122121212112222121122122122211112222111122211212121121111112221211211111122112111212212212111122112121121222111121112211111111222222121222222212121112211111212121121221212212122212221111211211112122121211211122212222211221122111122221121211122212211212112111212222211121112122112211121111212122222111122212222121211211122212121211122122112222221211221222111222112221111211212212121122112211222212121111221212111112112212122122222211211222222211122221122222211211121122122112112221222112221112212112212121222212121211222212211111121122221211212222121212221111111122122122212221121212121212222121122221212111211111122122121121111212211222211211212212211221211221111221122222211111222112121121121222111121112222122221212121221221112111111221122222112122111111212222122122222212121221212211221111121221112212111212121122112221211122111212212211112121211211212111112211112212212222212112121122221121211222222121122222112211111221112111212211112221121111111111221112112222122122112211212221211112112111122111111121221221122212121121122221112211121121121212122221212212211211222221122212111211121221222111122121122121111211221222221122222111111212211111212122222121211221211211211121121122111212112122222111112212212221121221211212111221211222211111122211222111221221122121111211121221122212111211221122211112212111122121212111112121211211112122221121222121111221211122121221211221211211211111111112122222122222111222221122212121212112121222221221122112211122222112111121212221221111211122211112121121221221221212111222212211121211212212222111112212222221112211222211221222111222122222212111111222222221122112211112222211112122211112122212212121222221122212112112121111221211121221212112222212221112212212221121112222222222122122222211222212121121211221212222221221221112111222222211111221122112111122121222111111212212221112122221212222111111121222221122122111221111211221211212122111222221122222121111211221222122211112112112221112211122211211211212121211212112121221121222121111212222211222122121212121122212122111112122122122221122112221121221121222221212211212111221212122211222211111112112221122221221212211222211222221122112222122121122222222221121212221211122121122112111121212121122212121211111121112222211121122212111222222111221112211121211121211111212112112122111112112122211111112222222121221212221212221222122222122122112111121211122121122211222122211122111122121211122112121211112111212222122111212212122222212211221212121211112112122222222221222111112211121211121222112121112111222111222121111112112211212212112122211112212222221221212221211112222211112212221111112121221222111221211222222212222222122211122211121222212221121121121222222121212222111221222221112212221121212211212212121221121121222112212211121211121121212122122111122112111112111211122221111122211121221212121121121111121211222112122212122121212121212222222221221121112221211121111112121111111121212112211111212111211111221112222122122121212112122212222211121211212111221211212221122121122211122212112221221111221222122112111212122211122121212122211122111122212212222222211222122112222222211122121211111111111122111121222121112112121222222121222112112211222111122122121111222122111221212121222222122112121121222222111211212121112211221121222122211222112211122122112222221212111212121111221121121122121212121212222121121111222221221112121212112222122222122212111211122111211211112122222111221111222222121211212222212121221121211121221112222222112121221111212211122112212112211212221122112111221111121121212212221221121122221212212112121121112112222211221111121111112221112221112212121211111121211121211112112222221221222122222112111111211112222211211212122211112212111221211222121222111112112212112222211111211122111112211122212112121122121122222111222121122122111112111221121221122221212221112111122111212222122222222222122121222122121211211112222222211122211122211121212222212212211112222221221112222121221122212122211222111222211121212121112212211211221212112111122112212222212212122222121122122121112121211121221221221121122112112221211111111111111212121212221211112222112212222222122111212122211121121212121211222121211221211221121212221211212222122111212211122112221211111121221122121211211222221112122212212212112112211211121121121121122222212111112122121112121112221112212122212122122212121121111111221211221212221222211122121111121121112121212222121222121112212221122112212222112221211212122121221222222222211121211212111112212221211211111122111221221212111121222211111111211121222222212212122212211111122211121221112222221222111121212111122211212111121121211112112211222221121122211212211122112222212221111122211121212211121211122121211122212211222121222121122211221112112211221212222112222121211212121122112112122112222112212112212122211211222211212212221111122121111112212222122221122221222112222121112212211212111121122111211121112112212122211122112211212212122122122122211122112111112222122121111211122121221122211112122122121212112221111212212212211221122111211221222122122212221221111222212212211112112111222211222112111122121111211112111122112221121222112122112212212111112121211221221111221211211121212112212221121222211221212111122221112222212222221112112112112221212122112121111122212222212212111111122221122212111222222112121221211221122112112212111211122221122111111222212212111122212112212212111212122222212221112211122212122112222211211112122222211121122222112211121112211211111221211211211112211121212122221212212211211111211221211122211221221121122121121211121122121111112121121221212122122222122122211122121121112112111111111211121212222211121121122111222222111212122121211211222121121111112111122221121112122221111122221212121122122112221212212112212221122121122222111122221111211221221121221221212211222111222112122122221212211121121212212122122122212121212211122211111112122121111222212122211111121212122121221221111112122212112222122112212112222111111112222221121112211222221121121111111121121221221221121121121112221222221222221121211221221222121112112122121211122121221112121121211111222112211222111222122212122211221222121221222221122222111221222121222221222122121121122111112212211111112121121111122222121112221211122121222211211112121221121112212221121111221222111111212222221122222121212212221221122222211221221111122221212222112211211121122122122212121222221122222212222112221212111212112211212122112211221111211112112221211212111221112211221211211221221122211121222112211112212211221212122121111112112112122221222112222211111212212121222121211121222111211221121222111112212222112221122112111212121122112211111121212112212211122112112222221212111111221211122112212111222111112111222111211221211111221121212212222111211111111112221122111121121221212211121112111222121212111221121112221111212122122222221222221211121212111122122211122212121222112112122122121121211121112212111122111112111111212222212122212111211212111222111121121122121222122121121212221211111111211112111212212221212221122111222211222111122122222221221221222222111212222121111212222211111112121222112221121112211122112112121112212122111212211122222221222222211222122121221211212221211221222211212112212211212212122211221212212112222121122222112111122221222122212221121222211112121222222211211112112122122221111221211122122121212222112211121212212211111211112211122222222222222111222222121211222221221112221211221112112211121222122222112212121122121211211121112222121221221212122121211111111221111111121222221222122121221121211221221112121221111121222111221222112211211221112221212222111212111121111112122112112111121221111212212212212222221221112221211222211121122221212122222212221221121112222111112222112221111121212111121222211121222212121121122212111122111122222112212121121222212122221221112212221111121221211112222212222121212211122222111112121122121112212112122221212221121111211112122111221221122112121211121112111112222222221121121121122212122212121212121211111112222222122221111122211221211211111222212211122111211221221212221121111121222111112211222221221111121122211222212111221222212211222211121221211212121112221112121121111221122111221221121212111222222211122212222212111112112121221222111221212121222111112111212121222111122211121211222121121212221221121112111121122212221222211111221111212212111222212122112112121112121222112112212112111111222111122121212212122222221122222221122112211122221112221121221121112221111221122122221211222212211111121212111111212212211121221111112212212122112222211122121221121122121212211121111221211122112211221112222212212222212111211112112221112211122121212111222112212211222222222121222212121112111211122121111122211122122221122221122112121212112212112111111121211221211121122221122121121112121112211211212111212222121222111121211211212221111212112121122111221211222211111121121111222112222221121221222112222211212221221211222222112221112111221111112121212122211122121122112121121221122112211221222221211221122212212221111112212212211222211222121222221212122211221121212111112121122222112122122221111212212121111111112211111211112222222122212112112112121222122111221222212212222211112112211221212121221212221112212112221122112111112212111111122111122122122221112121121121222112111122211221121211211112111211222212212212212112111121111122121112222222122212222112111112112212221222212112211121211222212111121221122222111222221221221121121212122221121212122111111112122122112212212222122221221212111111211121211211211222212121122122221112112122111122211212111212122111221211122111211211212121121111122112222122212112112121111221111211122112222222121211211122121111122121121222112112222111111112121222221222222221222211211221221212212212111221121211121211211212212211221211112112212112211221121112221222121222122122211221211122121122211122121111211221122111112221112111121122111221221222121121212112111122221222121112212111211122212111112212212222111222122222111112211211122212212112111222212122112121222122222212212222212222211111112221122212112112221221112212212121112211122111221211122112211221112121222121221112211212221121111211121221111221221112221212222211112221122111222111222112121112121222111211122121121121211122112121221212111212112211121121121211212112112222112111122222112221212112222212212211222211111211111212122121111212111211112112212222222121112111212211122112211112222122222112112222212212221212122222212122212211211122111221121211111222122211121211211222121122121211222222121112221211211211211211111222222111212112111122221122121111121221211222121222211121121221221121221112211211212111111111222122121222122121121211122211112221112211211212112112121222112111221112111222112221122121221122211121122122221111222121222221221212222212121211122112121122122212122112111121122121122122221121221121112211122111212212111122112221112112121212122122212121111222222222122111212212222111112212211111122121212111122211112111212121121222122221212212121212221111212221112222112112121211221211121222112221121212221122222211221221121111212121212122221121111221222121222221222212212221112112112122111112111211221122212121122111121211121112122111211222221111221111121112212111211221222221212111222122112111112212212112122212112221212111211211212121221111221121112222212212221221222211221222121221112121112221122222111112112122221221121211211212111222222212111222222111212122111222212121222112222212121111121121112111111122211221122112211212111212111121221222111111112221111112221221121122212122121122221221221112122212112211111112211221112111111222221121122211112221211122111222211222211111222121222222222221122222111111112112212112121121222121212211122212121112112111222122122221112221212112112222121122121211221121112212212221211112222122212121112111111211212212211221222222212122111121112212112111111221221222221122122121122222211112111211122111222222222121211222222122211122111121212122121212222122221222221222211222111222121111122212212212221212111112211122122222222111222111112222121121111121221111222112111221122212222121111121111212121212121121111122121211111121122122221222112222121122221221122211221212121111212112122211211121212121121111122222211111222211121111121112212211211111212221221212121112111112211212221211211122212221212222222222222112121211122111121212221121221111222222211212121121112222121211122211211111112221121211122111121112112122112111221212221122122222212122111212211221111112112112221121212112211111222221121122121111212111112112122212112211112112212111222121212111111212112111122211221122112212221122222121121112211122222121112222211112111121211122122222221111222211222212221112211221112112211222211121211221122112111212112112211122211212221212111211212212111221112111211111212221211122222212112211112121222121212122222121212222122112222112111211112222221111121222221111222121221221222212121212212211212212122211212121211122221111112222222221211112122212112121222122211222211111222221221221112221212222211222221111211112211211211211122211111122212221222221111222222111122122122111221221121221112111122122222111122121211222221111221112222212122211222121212112211122212212222121212222221122112222111221211122121211222112211111221212222122112221212121122211211221121221111112212222212212211121222221121112222212122222112112122221212211122221222212112212212221111112221111122212212221121221112111122121221211112112121221111212212212121212112222122222122212111222121122222222122121212212211212221211111211122121222212121222111222212112122211111222212111112221121111121222211211112222122111221221112122111211121122212212211111212211211111222121212212211221112122121212122112212211122112122212221122111222212122221121111111121112122221111121112221222221211221212112222221222121111211212211222211122112221122221122222111112221221221211221222121221111212112111212122211211122211122111212112111221221122122111221221112212111211221112212122212111111222111221122122112122122211211112222221211111211112121112221221212122212121211222222111221112211221222221112112122221122211111221211211122211221222111221221112112211212212111111221111111121211222111222211212211121121111122121221222112121211211221122212111222221222122121222111211112222222221212221222122212121222222112222211211122212111122122121122211212121221111111222122122222211112112112111112212111221121121211221222222112122112111212212111111112221112122112212211122121211111221222222221121221221212112111212212221122211111112111112222121111222122112112212221121212221221222121111222211212122122122122121112211121211112212112222121221221112122111212212122111221122112212112212211211211211221212221212121211121121221222212121122112112112122221121212122221111111122112221112112122211122222212211112112112211122112112212222112111212122121221111222211122122112121212211211111212111212121122212122211221212111112212211212211222122222211111212212212121212221122121111122221122222112221112221112122112222112211112111222111221111221121112211211212111222212121112121121222111111122211112122221222212211112221121221212121221221222112211111111121211122122222212111122121212122111212122211121111221122121221211211112221221112212212222222221221121111111121222121121112221122211111212111221211112212122211222211221221211122112221122121122222222111122221211222212112211122222221221111121122121222111212211221112111222111121221121222111121221122222112121212121222111121212112121222211121211112121222212111121112221222122212212111212222111122121121122212122122112111212221111221211211122212222221211212111111211122112211212221111112121112121222222211111211122222222112122211211211121122212212121122121121122212122211221112212212112112122122111222122112112112211222222121212122112112221221111111212221122111211121222212122221122221112111212112112121212221211121122121221121212111121122122221222112221112211111211111211112112222112222111211221222222122112212211212111111111122122112111221211212122221121121121122121112121211212122222112211212122111111221211112212222221222112222222222121221111221122111111111111212222112111112111212211122221112112121211212211112221222211122211112211112221211211212122222121112112211221212111111221211121121212112212222112212221112221111222121111121122211221222122222221221222111112122222121111111212212112222111211111211112222211222211122111212111112112121121112111211222112221211222211121212121121112121121121122112222211111212112111211111211221122212221222112122112221112121222112212121122221111222212121212112211212121211111222211221222222221221222122222211122121211212122112111212212221112122222221211121222111221122222211121121211212221221211211222212121112222121111221121111122111212211121121121112112221112221121222111121212212122212111112221121112111121221111121112122211211121222122211212222112121122222111221221211212222122211112112212211121122111221112112211212212212221111112112211211112121111222211112221112121221222122122122112111211212121222111111121221112222212111212112211112111111221111222121222121212222122122121222111222211112211122212122112122112122122212212212212112122211212122212121111122112211122112212111212122211112121122212121221122222121222112212221211222222111112222212112221222111111222112222221121111222121211221211211211121222212111221121121112121211222211112112121211221122122221122211212111212212221222222111211221122122221112222111222212212222121111222212222112222222211222221211221122221211112111221221221212112222112212122221211111212222111211222121122112222221222212112122121211112211222222112111111122121112111122112121122111112211212222121121111121121211212211121222122211222112121212221112221211222212111222222222212121222111121111211112121212221221111112111112222121212221222212111212111111211221221222211111112111111221112211211112112221211112212121211112121111121122211112211121121211212211211112222112121221211122221212221212212122122121211211121121221122111212122122112112221221112222221121111121111112111222122122222221221222222121111122111211222211111212222112212221212121121111111212121111122112112112121122212111221121221122112222121222122122211121121112221211111222221111122222111222112211211121122211121121212211222111212121212121221212112112222221112211121121121221111211211221222121211112122122122212121222211212111222221222221221222222211221122112222211221122212121122112111112112121212122112212211221211112121211222111111211212222111121211122222211122221121221211111121221111112121121112212111212212122111222221121111122122122212121111121211221111211112212222112112122122211212222121212221212222212112121112212212212211222111221211122111211121112111221211221111112111121121212111121112112222212222111212211212122212221121211112212221112211121221112112111122212112222212222221122111212222221112221211221111112212121122122112211222212112122212111211222212121212212212112121221121122121121122212112212221212121121222211222112211211222121221212212121221212221121212122122112222111222221211211112221122111121122121121122212122111211222122121221121212211211211212122222212121122222112111211211221111111121212121211111111112122121211111221111111111211122211112111211222212121111122112122212121212111121122212122211211111212221111211122211121111212121122112222122121212211111212111211221221212222121221112221121211212111112222111221122112111122222222212221112112211212221122121111211212121111122221112221212212121221221211221121221112122222122221221122221122112122121121122112111211212221221212122111122221122112222222221122111112211111212112121222122221212221221212211121221221122121121212122122211211112221121111212121112221121212122221121222122211211111112121121222222111112222111122221222212221112221121222121111211211221111211121211221112112222211122121212112121222221221221122122111211212122122121112121111212211222222122121211212221121212221121111222211121121111222222212211122122212222221211212112221121111122212222111211111222212121121111122212221122222121221211122112122221122121221121122121222121211212211211221121221111211122112121222222211211111121122111212122221221121112121121221222122112122122121111122122121211222122112111112112221221212212212212212222222212121221222121212212111212121112111212221212222211111212111212221112121111112112121221221222112121111221211121221212112221122122222112112222211112111111122121211112212112211211211121211221121121222121112111222221211221111211112211112212212121221211212122112211212112222222122122211122211221222221222111111122211221111122121111211221211111211222211112212111212122211212121221122211222122111211212112111211121121122112111122111222112121212122112212122121221211222122122222121122222121212111221121122112221111221221212211222112122122212121121111211212221221112121112212112122221122122211221222122112211111212221211121112121111111212121112221212211221212211122121121112212222222112221222111211211121222112211121112212221222121222221211221111222121121122121111122222222122222221122121122222221221211222212212111111122121212112112221212111222111211111212112212111221221222221212221211211111122211112121122121122212221212112212111211222222212221121111122211111212221211222122222112122111222112222212211222111211121122122211211221222112212112221122111221221221222221222221121112212121222222111221111111122212212111111211211121112222112122222211122111122211212212121111122211112221222212211111221122121212222222221221221222212112221111221222211122221111211112112111222112112221112222212222221222121122112121211212211122122221112112222112222112112222111221111112211121122112211211222221211221222111122222112212221122112212212221221111111212221221221122221122221212221221222121121212111211111112122222222222211121222121122222121222121221212112211212211121212222222122221111122222222221221221212122111121211211211122222122211121112111222221222122212111212211221211222212112111222121222222121221212122222212221221111221211211122111111121111211122211212121212221212122111221212122122222111221112212212112222111222112222222222122121212212122222121221112122122221221111121222211222222221111222122122221111211212212122211112212111222122121112222121122222221121222222121111112112112112112212212221111122112111211211121111212222212222211222222122212222211122221121222121111121112111111212211111222122112221212221121211112111112122111111222122121211112122112122121111212222122221212222222222121121121222121222112121112221222222221112121112122112121221211212112121112222221111211212112111112212222212122112221222122222211211212212222211211221112211122122121121221121111112122121112112111221121211221111222122212112211121211122211221122222122211121211222212212121112212221121111221221112222212121221112112122122212212212122211221211112112221122221221121121211212122221212121122121211221221112211211112212212211212221111212222212112221211122112121121121211221211211111111212211121212211211111221112122222221112112112212111122112122111112221122112221211212222211122211221122111211212222122211211122212221212112122211222221211212221122221122211222211221212211211212121111211221211121212112121122211211121122221112211111122111111111121112122112211112221222212122112221212112212122211112111222221112121122121122121211222221112112211111121221111112121211122222112212211212222112121111121212212212121222221212121221221221121121111122112121221112111211121111111122112112222211112211121212212211211211122211212111222211112212112122112111112221122211221111122212221221222212122222222211212121222121212212222112212211211111121221111111212212222122122221212211111221111122212122211212122212122211222122121221122121111112211112111221111211221222211122221121111222121122111222221221121121221212111221121112212221122211112122211122121212112211222111112211112211222112112221222222212111212112222121111211212121111222212222121121221221111112121111211112122121111211212221222221111122211122221111122122112112212121222111112112121122221111221111211222211111212212221211212121121112121112222212222111121121122221211212221111121121212221221112111222221112212121122111122121221111221121112112121122122121112112221211211112222212212121222111211211112121122122221221112211111222111122212211112221122211221112212112221112121122221222221112112212112222221122122122222211212112212111222222121121212121211112121122222211212122221221112212121121212122221121121212112222112221121112122112211211111221122111222221122221222122121212122211222222122212212222112221121122111112212221222211222122212111221122121211112122111111111122221112121111122112112221211222221221112111212222222211111111112121211211111112212222221221222111112222112211111221121212111111112211111121212122121222111222212121222221122112111122111222222211222112121121222222221222221221112112222222211221222111212111222212222121112121121221211222111212121111212122111122111212222121212211112211122222222121122221212112122211111112122221222222212122121211121111122111221112121122111122121121212211211212122211211212212221221121111212121121112121122222112212222212112112121212212212221222212121112211121122121212112121112121112222211122111111211121111222212222221222221112111221211211221211221121221211112112211221222221221121212212222112122112111111221221111222111221111212222112122221221212122211111121121112221122121122212122112121221222121222212111112111211111122221221121112112111222221112112221212222122212212111222211111121112211211221212111212211122221222221222111211112121122121121111211111121221111212211121211221212121111111111111112211211212222122221122222122121221112111111212111212222211212122222112221112111212221111112212211212122111121222212121111222222122121222111121122121122122221211121222122211112211212211221221121112221212212122222221221111222211222212211121112222112222111212121221121211122221121112122221212121121112111112212222221111111212221222122222112121122222211221212211221212122212212211211211221112211121111212122111112111212112211121212222211122212122221222122221211221122221211212112211122112221121111221112111112211212222211211222212222111121221211122221221122121222121111212212221121221121211121121211112211221211221112122222122122212112212121112122212112122212112222112122221221211212222111122111111112111221212212222222212122111122222222122111121211122112122112121211121221122221121221212211122111222222111112122221122121222221211221121122122112211122122111122112221221121111122212122222112112121221211211222221122211212222212122111112221222122221111122121212221122222121211211122211122221211222121221212211121212111212221112121221121211111211211122122112112112112221112212122211221121211112212212112221221211122122111121112121112112222121222121112111221112122211211112221221221221111122212221222222211222221122211211222211222112111121111112212212111221121222111122221112112111121211222121112111121212222111221121222212221111211121221222222122121121121222112222222211221211211121221212121212122111211221222211122112211112222211221211212121211221221221221222221112221211221221212211121111112211121112121111111222122221221221121221211222112211212122121112112111112112222111222121111122222221121121111222111112111112111112221212122111111122211112211212222222212122111222212111122112112212222121121111222222122222112212111211222212211211222111221122211211212121212122222211122121211122221121112112211121212121212121111122221221212212112121122221121211112121111222211221211112121122122221211122221221111222211211112222221122211221121122222121221211112111121211122112211121122111212122212112112122221121122121211112121111221122111211122122221122211111122222212212122121212122111112121212112211221122212122112221221111121111212112112121111111222112212111112212222222221121122221112221122112112111211111111211112111221122112221112122122112222221212111222212122112111121212112111122221111211111211221222122222221121121122121112221121121211112212121221121222211221221111222222122112122122122122112111212121211112221222122222211111111111211121221121211112121221211221121221111121111121122121211112111212211211111111211122121111121212121111122112112111122212211111122121211121121122211212212211212111121122112122211121211222212211121111122112222211122112121211222121211112112222112222222222211212221111112211221211121122111112212122121211212221121111111221212122112121121221112212211111121121222111222122111211112122112211211221221212222212111221211212112121221112122111211221221221121111222122122212121211121211111211121121121122122122212111111111121221221222221121112122111112121121121222121111222211111211122221112212111221121121212121222112121121111211221121121111211122122122222121122112112212122221212211112221212222211122111222221122121111212221122121211121111121122211122222122122111111211212121112222122111221112111111111212122122222212111221221122112212212121211111222121111222211112111111221211112112111121211111112122111211121221122222122212112122211112112122221222112112112211212112211122221122111121212112222112211112212122211211212212112122121111111212221212212121221121122112222211221212112221222111222111211222211222122121212212222112111122221111111111121211111212222121122222211212212211211122221212221111222121122111122211112111112121212221211211212111211221221121112112112212222121122221221222122121212111111212221112212221112121211211112212211211222211222112221111222121211222111222111221211211111211111111211111212122222111121211212211121111111221212112222212112212122111122111111122212111212111112212212221111112222222211111111122221221112211111211221111111211221222122122112211222121111112112122112121222112112111112221211211212222221122122111111222122221221212212222212221212112222121222212122212222212212212111211221222112122222221211211122112212111112212211122112121121211221112211112221211122112121112212111111212121212121112122212211211112121212121221212222112211121222111222222221221111212122112121121212221112122121212212122221221212121212111121122212112122211122121111112222221112222122211122122212211222222211222222221111112222121211111122112212121221112221122212211112212111122212122221122222221222122211122112112211221212222112212122112122212221122211212111121122211221221111112211111212121222122121112221112222112111121112112112211122221212222211222112111212222122122221112112211221122122211112211121112212122121212122211112222222221111222222211212212222212112112111211211212122111121221111112221122121211212111121212212121212112211121221222221212211121122221221211211122211221211211121121121221222112211122121211221222112221212111221121121212211122221222122211222122212221112212112212112212211221212221211212111111111212211112111122112221122112211221212211112212112222111221122221222121211112212211111221221112111212221112221122112112121222221222221121121211222222111112112111111222222221212221111121112212112222111212111212222221212221121211221221211121211211211211111211212222212222212212111121111111122121211111111111111121212221221212112221212222212121112112222112122112221112122111122221112111212122111122211121212111122211221122211121111212212222222122112221122111221111211222111112221211111222112121222212112111221221122122211221221121222221112221121121211221121112211121121122222122111221222112222212112221111121212221112221222122122112221212211212212111222112122112111122122121112212122122112122121221111221112112211212212122122222121112111112111112111122212212121112121211221211211211222222122222112212212222111211211112222211212122222222221122212221121112121111111221121121222212221122112122121111221211111221211112122212111221211221122212222111122111122211212112222211211221211121112221222211122122112112221221111122211211121112111122122221212222222222112122221122122111221122122122222122122111221221121211221121212121212111121111112111111222111121121111212111211121111112222222211122221111222121212221112212221221122111222111221212122212212122122112112112221112221211212211121222122222211122121211112222111122222212222111222222221211121212221122112212122211211122112211212212121221222122222112112121122221122212222222212112221111221221112122211122111211212112221122211212211212111222112112122222211111121221221112211222221111122221111112111111122211212211111212112211121222211122222212222212212112121221112122121111211122121211112111211221211121211121122211212212122212222111112112221112122212122222112112121222212121122221111211222121211212112112211211112221122222112211222221122112221121112211221222111221221122121121111212222221111221122121121112211111112222222122211122122122111121222222111112111121121211212121112212212121121212112112221112111222112211221222112212212212211222112112221122212121212121121222121121211212221212111111121111112221222121212222221121121112122121221221212222211212221211211111111111112122122111121111112111221222222222211122221212112222221121111122212211211212221122211112111122121221221122211122121221121211221212221111221211221111221211111121112211121111121111121121111211212221222111112221212111211112121212111111212221212211122222212222111222122122212211112212121121112112121222112212222212222112221122112211111111212212212111212122121122212221222111112212121122222211111211221221221211121122121122222121112212211212222112122112222221112112121122211121122122222212111221211222222111212122112121121121112112111222212212111222221122111221121221222122112211112212111222221222111122122111122221211111111211111222211121111112222112221212221212122121121212111112121111212121211212212222211111212112222111212222212111211221122222122112211122211112112122122212222211212221122211121211121211212221212212221222211112222221211122212221212111221222221111222222211212122221212222221122111112122121121221222211222122222111212212112112111211211121222212212212111122111121112211111111111111221112212111212112112112211112112222221222212112111121122121122222222112221222212211112112121211112212211221112121212221121222112211212111121121121121111121221121221112211111211222221122222212221222222222221112211211222122122211112211121222122212212212221211221212111122222211112212221221221212211211221212122121222222111112122112112121112122112122122122111122122221111122112122122112211221211122221121221112111112221112111122122221221122121222112212112111222212211122222222211122112211221211221122122212211122122222122221221222111111212122222211211122222212211211112112222111122222122211222222122221212222111211212122221211211112221111111211112122121112111122112121111122121222112112112212222121212112111121211112212121221112222111222111221222221122121122222121122111122221222211211212111122112221112212212121211212221112212221122212222112222122222221111111211112122121121112212212121222121111111112222212112112221221111121222212111112112121122111112112222111122221221112122212222211112121222212221111212221212212121111121222112222112112222221222111211111221122121222221112122111112221121111111222122121122122222112122221121221122212212222122121212212211112122212221111111121212112121112221111221122211211222121222111212122222121222111222222111211111211212121121112121121221111212122121211111222211121211212211112111212112221111222122111122222121212221212221222211111221121222221111111212212221112122122112111121221111212211222211111211111211221222111211121212122221221111112112212222212211211222212222222112221212221111211111222111112211111111221121221222111111221112111211211111211111121212122111122122112212111221222212212121211212211122112221122212221222112212222222211122111121222112121112211212112221211212122122221112111212112111211111221222222121222221211121211121112121121212211121221212212122212211122211222112111211211221212121121211121211211111111212211111222121122212222222111211221212221121122212211112221212112121122121221111222122121122112111212222122112212112112122212121122221122121111111121112222111111211221221111122212222112112122111121121211221112112111111112111112211221212122122122122122111111222111211211112222122212221211121221211222111121222211122111211212121112122222211211122221212222221222212122121221122211121111112212212122222212211211112222211112222111111211211111121221111122121222222122111121212112112212221211222211111221211122122221112122122212122122112121111222211122121121221212221222222121112111222221211122122112112121211112112122211212212122222212121122222121222211122121222222111212121122122111221222212112111221111121211221121121221212221212221111112221212111211121121221122112112211122121112211221121112122111221221221221111121111221111222222222211211221211222121212211122212111122211112212221111222121122212221211122111111211222212211211212111112112122121121211112222122212111122122211111212121111221121211122122112212121221211112122212222121111112111211221111122222121111121121111221121211212111222211211112111212221121221111122121111222112111212222212212221222112111221121211112212122112211112111212221121221112212111212111111111121122211112211121212121111112112211111112111111112122121222222121212212121222221111211222221112211121121121211121221221112221211211221121212211222111111221221112222212212111111221112221221121122221212122121111221212212212212222212222122221221212222122122221121211221121221212212112222112121122222211222112122221221121121112212222122211112211212222111122121122122212122111111212121211212211222121222212121221122121121222222222221221112221212111211122122211112211112112122212212212211212222212122222121222212121221221221122111211211222111112111221112121112212122121212121122222211212221111121222111221121211112121122112122111221212121121121221222212121221221222212121212222121222221212121111222221212222221212112212221121112222212212221112212121122121222222221121121112212221122122221111212212121121121222121121112221221112221211222211111212221122112211211111122222111121222221122211222122222211212111221221221222221111222111122111121222122211212111121121212121111121121222222222122121211111111112212112122121212121222221221212122122111112212222211122111221111211121122211221222121211212121212111121211211211212211221111211212222122211111222212211112122221111121221211122112211112211212211212222112221212212122111211221111112111221112211112122212122112221211221221221111121111112122111212222212121121212111212112212212111121121111112121121122212112122121122212211121221211212222121221221112112221111121112121211222122121212212121211222121212112111222211121112122111212212211121221222121212111112212112222122211121221121112112121112222221222112121111112121212121222221122112212111211211111112121222221211111211211111111111211212221121112212112212211211211211221212222221212122211221111221121212122222212221222111122121212121221121112222121122222122211111111112111121221111212212212211112211222221122111121221222111211121222112222212122122111112211222111221121111112221111122211211221121121122221111121121212121221221112121222212212111211221121212121212212122112221212211212111212121211221111111211111121211121112221112221111122112121211211121112112111212122221112121212112212221211222122222111111221121112112111111121212121221111121122121111121212111111212121221121122222222111211221211222222212222121222112222222121111111221122211111212111212211222111212212122111211121112112111122111212121221121112222112111222122211212121212212112212112121221212221212222112212212222112222222111111112212121121111121111111121222212122112121112222121212111122222221222221212121122111222112211111211221212212222122221211122121112222221121112222122121221221212222111222221112122121111111222121211212221112221222121211112221111212222211211121211112122222112122212121221122121211221112111112111122221221122221211221222122211222122111211122121121121221221112211212111221211121111112211111112211222222121221112212221222222112112221112212112222221221221212222121122122222112122221121112112112221221122122121121121111221211111122222122212211212122222121122222211212211122222112211211212112121122221221221212121121221211122222221211222222111211121222111111121221122212222111121221112222122111112211212221112221122211121211121121222111211221121221211111122121111112212122212122212112221222121121222112122112222221221221111222112112121121111221112211211221221111221122211111211222211212221221121122111112122122112211121112112221111121112222211222122211212121121211121122122121222211222222212112211111112211222211112211111222111211222211111121122221222211221211112122122111111222222111112111122221111212211112122221112122122121212212222221212121112121211222222112212222211212211221111222121122111121222112112221121122221112221211221221212121111222211211121211212111211221212122122121222212211112111222222221212221221112122211112221222122112112212111121112111121112122212222221212122221222212212221112111122212111221221122112212212222121222222122121121111122121212122222112221112211211121211211121211221222112212122122222121111221122122212122212221212122121122111212111211222122122112122111122122112112112122211111112122122112121222121211121121222121112211112111212221212121222212211212222111111112121212111111121221221212112222211211111122121122122111221211211112221221222211221212212212122221122122121212221221122221222121122112112112122211121222211222112111121211122121122111212211211122212221212111111122122212122121121222111211212122222112212122111211122111212122121221222212212112112112121222112122122221111122222121112221222112222212221221111212111211122122112112222222122111121111222221121222221121122211221111221112221112221111121221211212111221212121212211111221111222211211211121212221211211221112212111222111111212121121212111121111221121221222121111212111221122222122122112121211221212221112121221112112212221222212212122211122222221222121211222221221111212121121121112112221111122222222212122221111111211221122212211121112112211121112222121122121222211211121212222122122221221211222112211111222212111221212211112122112121122121112211221222212222122221211111121112112121121211121111111221221112222122221121121122222111222222221211222112212221211211121221122211122122221122211112212122122122211121212112122111222211211211222111112122121112211111122111221121222112221211122221122212221212112212121212211212211112222111122221211222112212122111112221121221222212112221121222112122121222122211111112121121221221222122211212111121221212122112222112211211122112212222211211211111222222121122121122122211211122122211222122212122112111111122122221221221121211121221112222121122222121121212222212112212111121111121121122121121111121122211121122221212112222122122111122212222222211222122122112111122211211121112112121221111222211111122121221112121112222112212121112121111121222122111111122121212211211212112211211222212211121122112211212111122212111112211222221121212122121111222122222111221112212211221221221122212212212221222221112111121212111212112221122121212112112111122112112122212121211212121112112221222112211222122211111211212121212222111222112222121112221122121212122121211122111211122122222112122211212212122122211112121221112122111222122211221122112122221111221122122221121222211221122111121221221222212221121122122121211122221121122212211111121211212221122212111222122221212111211221222222122121212222212122211211211212212122112211121211211211111221122122222212211112222111222122122222211211222222111221111221121121222212112221222222212211112212112222211221122122222122212222212212122212211111111222112112112212112122122111112121222121121211121111121122222112212222222111122212121112112212122122122112212211212221222122212211122121211112221122212212122211222122112211212111111121112221221211121222121222212121111222212111222122211222211222121112121221112122111211121212211122212112122222222211121112111121121122122221211211121111111222211212212212211212221211221212212111122111222221212212221111211222112212112112212222121112212112121112212222122212222122211121222121211122112121221111212212122222112112212221211122221111111221121221122222121211211222111112222112121212111122221221211222111111222112121112222212211112222121221112221112111222111222112212212112122211222122111221222121211212122111111211222121212111122212211221111112222111221112212211111212212211112121111112212111111112222121212111221111112112221111121221212222211112122222211111222122122211211122221222221222212122112111111221212122111112111112112121122112211211112222211221221222122121212221222221121122122111211122111111111111122112121212221111212112112111111212111121112121212111211122222121122121122111111211112122112122111211112111222212221112122222221112212222112222121122122221221121122111211112111122122111121211121212221121212212112121222121122222121112212122212112222221212222111122111212111112222211211222211122121122222111221212212121121122212121222111122111212112121221221221211112122111212121212121111211212121122121212122212211121222222222211221222122221122211222222111111121122221111121112122211212112122111211111111111221122211221122122221121222222221122221112211212211111112222112221211112211112212221221121212222111212111122112111221112211121121221112221111211111222111222211111122112121212121112122222112111211122122112222111111211111112222212111221212221212212112121122221122122122112221111121222121111221122221111212212211222111221122212112112112212222222112212112222111121222111122212121112111122221221122222212111222112222111221222212212211121221211222221211111222121121121111211122122122121211121121111121222212111211211122112122111111121122111122112211121112121111222112122111222121122211221112121221111122221112212112122122212112122222122121111112122211222211121121221121122111211122111212212211221121122211212112112212112111221211122121111211111212111212221221211111222121221211211111112212111121121221222211222121112121211222112222122221121111212222121211222112212211222111121112111121122221211222122211122212122211211122221112122112122121111111222111212121212121212122212212222222222121111121221211211112111111121112111112211211212222111121222122211211221221111221111111122222211211111222111221122212211122121112121112222112221112111111121111112211212212121111121122212222121212211221221122111221111222112211122221121211211112211112121111211222212121222121222122121111212121112121212211212211222111222111122222221212122211111212211222211112121211121122112112211112222112212122211212111121121121221221222212211121112221212221112121211121121112122222211111122211221112121121222121121212111122121111111222121211211222112111121111122122112112221122122122211211221112121112211121121111221222212211212221212112111221211221221211122111221212211212211122122112111122211221121211221212111121221212122222211212111211111222222111222211211212212112212112211111221212212222111111211122111212122221121121121122111112112111112211121121211121222112211122212211212212122211111212112211211221221121211221211122111121211112222122221221211112222121122111111222211112122211122212122221222212222221111221111212222221212112211222211121111212222121122121211111222122222121212221222212221112122212221221112212121222211122222111111122122222121211222121211222112222111112121111211111112221111121121222221211211111221211211221111211121221222122111122212121211211122222222122221212211112211221111111222121212211222112112221111111111212121221121121111221121112211111111111111211112211112111112121221111212211122121112221122222112221212112121122211221112111111112112211111222222222221211222111212122121211212122121222212122211211222121221111221112222111112111121211221111112211112212111111211211212112212222211212222221221222221121112221122212121222111222112221221222221112121221222112212112121121112222121111121211121221122122221211121222122222112211211212212112111222222221112221122222121222121112121112211122211221221121212222212212112112221221211111121122212221211111112112111122121212211112111112121211111212211112122222222211212121211221122121112121222211112112111221111222211111122112212122221221121221112221122112212221111212211222111221112222212222122211211121212111212222111212211221221121112212211111112212221121121111222122111211222121112121221221122212111122121121111221222112222211211211112221121211212221121211211121221212112211111111211222222122111212112211211212222112121222121121212221222111211211121221222211122122212212111112122222222211121121212112212222221222221122221121211112221122112122222211121211212111111122111112212212221111112122111221211221211222222112121211111122211111112212212221121212211222221222211222221221122211121122212122211211122212111121211212222212122112121212221111121111111122222122211212222112211111111222212222221112211122212112211222121112111121212122122221211121112112111222112222111122111222221212122112121211222122122112122111212221211112221211212211111111121221211112122221222111111221222212122112121122222112122221121112111121222112122111122112211111121121222212222121121222122112221111112212121111222211112112121212212121222212112111211222112222121221122121212111111122122222211212212212121222212211212121122122121111222112122121111222122221112111111122221111121122211221122212111121112112121122122222122112122212212221221112221122212112121111112122121211222121221211222222111111221122221112221111122212221222112211122111111121211222211222221212212211122222112221211212122211121221121122212212211222112122212212212111121112111211222112111112111122221221121112222112212222212122111112111212122121112121111222212112122112221111222211111212221211212221121221111212212221112211112122112211112221212111221222221221212221122112112212211121122121212211222112221112112122211111211221111111111111211121112122221211211211111122211222121222212222222112112122211121212122212122111211122222122122221112121211211222122111121222211212211212222111112112211121111111122211212211122212211112121211211122212111221111112212112122212212221212122221221111112212122221222122111221121222111221122111121111222111112122212221222211112221121222222211221112121112221112112222211211212222212111212211121111222122221221122122221222121112111122112112112111222111112121212222222211111222111122122111111222121112122121112121121112221121222211221122111112112211121221211221222211111121211221222222212112212212211221121112112211121212111111121121112112111222212212121222222222221221221121221211221221111111222212112222211222121221211112221112211212212211112211211222111112211222221221121221122122211212121112212112222122222122221222111211111112112111211121112121212221211121221221221221121121211112212221111112221212112122121111211122121121222122212112121212221122111221212212121122121121222222222222121221222221112212112111121112111222212221222121222222212222222121112112112212121121211122211111222211112221211211222122222211212111211221221221111111212221221222211122222121211222112211222222122111112221211211211121222222211122222112121212112212121211122211221122111112221212111112221111122211212211221111211212211222121221111212112211212112121211212122112212211121212111222121122211122211112221112122122112112221122121111221221211211122122121122121221111121212112212111111121112111111222121211111121112221221211111112122222212221122111122122122112222211112122122211212121212222111221221222211222112111122121212212112112221222211121122212121122111122111221211221121222121111111122211112121211121221122212122222122122112122121222122111112112211111111121112212121211221122212222112221212221222212112211211211111112211112221212221222122212111212211122222122221212211121111222122112222121122121111122122122121112222222111212121212221122221122122122222222221112121122222122121212221122111121121222122211111111122221211121111211121211122111122112221222112212211112112221112221111112112122211222221112211222222112121111222121112221211112221211122211222222121112112111111212222121121222211111212111221112211212111122111222111211121222121222111122222221222212122211222211222111112112212112111212121122221121112211212122222122112221111122121222112121112121211121111122211211211212121111221221121222122221211122212212111121122221211212222111111221211222111212221111211121122222212122121212211122111211112111111112121221222221111122121211122221211121221121222211111221211122112211222111212221212212222211122211211221221122122212121222112122222222212112122111112221122212212221221111221221111221121121222211212111121211112112221111122212111121222211212122111212122212122221221222221212212122212212221122112122122111211122112112112212212111212222111121222121221222122212212221112121212112221221111112222111222121111122122112112121121112111222121112211112112212121122221121211111111112211221122112211112111212111211211112121122222222121122121212111222122222111222212211211111212221222222211222112222222222211212211222112111212222121112122211121121111221222222222121112112221122111221222222221111111221222112211121121222212112111111122112111211121121222122222121112111122112111122122221212111211211111112121122221211222212112221122221211121211211221221212221111121211111211212222121221211122221112121121222112211112222222221112112111121122211212112221121221212112111122121122121111222112121222211111122121111112111122122122121122122211222121111122111212121121211221211221211212221211112112111211111111212211121212211211221221122121211111122112121221112112121111212121122121122212211111222111122222221111221121212211211221212212212122222221222222112222212221112222222121211211112122111111212212122122212221122121112111211111122222111111111221211121212121211112221222121211221122111112212212222222122121111121221221111211212211112112212222211121221221121211211111211122111122222122111212222222221111212212212111121122211112121121112222112111212212211112112222122222221112212112111212212111121112211212112222212122121221222121212211112222222112112112121222222112211222122111212112212212222121112112222221112111122222121112222112222211211121112121212121212211221221222111211112122122112211222211111111111122121121221112221112111122111211122221121211221221121111212221211112211221211122212211222122221222122122122211222222211212111122122212111112211212212211122112222212221211211122221112221221111111122222221222212212221112221122112112121221111211211211111212122222121212221112122221211222212121212122122122212122122222111212122211122211211211122221122121212111221212221222212211112121122111222112211112122111212111121111211112222221212121221221112112111122211121111121221121122222212112212121211112222121212221112112122112121121122211121111222121122111112221212211222212211121111221222212212211221121221122211112221122112221221211221122211211222222212221121122121111122111221122122221121111112212111122111211211121112112221122121112211222112112121112211121222212211212121222111221122111211112111111121122221122212122112111111121121221211112112211111111211221112112112111212211212212111221211212111112221122122222212221212111112122212111211221212212111112211212112212212112222112112221111112111211221211111111221122222122221212122111111121222122222212221121212111112222112211122222211222221221121221221221121211111211122122112212212221112112211111211121212211121121121122222221221121211112221122111111111122111121221211221221221211111211222112222122121211112122122212211122121122222212211211211122111122122212122122121111221221122112211122122222211212212211212212111112121112212222211122211121112111221212212211221112212112212212211111221221211122111112121221222212222122122221222112111112221122221112212121111112222212221111212211211112211122221222122111211122221211211211222112222222112221112122111211222221112112212122122212212222112121121211222121112211121122122122122221121212122122111121212121121211211212112112221221222221122222211111221111121212222221111222212212221121221222211221211222111111211211111212121222121111211121111211122122112122212222112222212122121112212212211122111122112222122211212212112122212212111212211211221122121122112112212122122221222111221122221121212121222111112111212221121111222212121122211122111211212122122221222222122212122122212212111121111221111222121121121222221211121121112221111122112111211211111221212111211121211112211111222221211212121211212211111221121111112222111111222212212122221121221221122111121121212221111221212212112221121222122122121212121122112222121211111122212211222122222122211122111121122221111211112122121112221211221212211221222122212222121221122212222221122212121112221122122111211221222121212112111111122112122211222212222222111211111112221122211112211111121121111222221122222222111222221222121111112222222122111211112112121221122221111122212112222112112221221111222221222222221221112211211222111222212111222112221212211211122111122121212211112111212112111112121211111111121111111121222221212111111212211111122222112112111211121211121212122111111122221112211111122112112221211212112221111221121211122211212221212122111121111211122121222122121122122221221111211212122221212112121212222222222221111111211122111212111222211222122111221111221211112212221111111111211212111111221121112221211111211112212112122222112121212222221212121221121112222122221112212121122221122222121222111211111222122212111222111211222112212221111122112122212212212222112222222111121121221211222212111212212221111212211221212222221122211212222112222221111212211222122221222111211211211111111211111221211212122212212221121221221221112221222122211112121221211211112111212121212222122212111221111211212222212211211122121112111121121211222112112122121122122222211222221211222112221212112212221122122122212222112112122122212211221111112221212111112111111211121122112122211111112222222121212212221211221221221112122122121112221121122121122211221211121122121222211121221122222122221122222121112221212221111111221221121212112221212212221121112121111111222211222212222211221122212211112112221212211211112211212222121111222212211212121121121212212212221111221122112111222111122212211121212111122121122122222122111221121222112222221221112111222211211212121112122111222222211222221122112211112222122121222122121122211112111121211221121212122222122212221212212112221111121222212111221211121211222222112121111222221121212221121112111211121122111121222211221122222222221112221212222222121112221221121222221212212212122121111112221222122212122121222222111112122122222122112111222221211221111221212111211111111111122212212111211121121222221222222222221121212121121111212212112222212121111121111111212111212112222222122111221212111211121121122211212221221121121112112222221222222122212122112211221122222121222212112112111212122211121221112212111222111221121111211222221212222212122122221111111111111121122111112111121112222121112222222221211122221112122111112221112212212222111212212222222222112221212211212221222111112111221111212221112222111212211221212112121222222111221122212221211112121112111211111122112222121111112112222112211111121222121111212211212112121212112111222111212221112112122121212221222111222112112221222221112221222121121122111212222221212121111112211111212122222212221212111111122112221121211121121111211112221112212111222211212211211212211211122222112221221212211112211221211112122121121222222212112122112212222221212222111121121211122121112121121222222111122211211122211212212111222111111211221211121122111211221122212212121221211112122121221111211112112111112221111121221211111212122221121112122121221212221112111222112112121122112111111112211122111121111222222122111212111221211111122221122211222212222212111121212112112121111222111212222212112122212221121122221221112111221112122111112222211122112211221212222212221112222211111212122122111111111111122222211112212222211122211222121221112211122212112122222111121121112111222122211221212112211112111111212111121111111221212221212222111211111211222112222221212211122212122212222111221221221211212122112212122211221111212111111221221121211121111121111122212222221212122121221222222212222212221222222212111211211211212122111211112121121112212221111122212212111212221111111112122121211122222212122122122212222212212212121212122221121221121212222122122221222121211121211211211122111211121121221212112212222211211221122211212221111112111221211212111122212122221121211122111212222111111122222221221212221122112212121121222112212221112222121212212121122222121112112212111221211112211212122212221212212121222111122222122112111122122211212222111211122112121221221111111111121221111112221222222221221221112111112212111212111211111211222112222112121222222121111111222222121212211222211111212111221122122222121121111211122121121222212222121221121212212111112121221112212122222211112121112121112221212122112211211111211221121121121112122221111112212222221221121212111222111211212121221222111222121122122212112212111122111221222112212212212212122112111111111122212121122211211122112211222121222212121111112212112121122121112212111221121211211212212212211212211112121122211121121111121121211212211122121112121122112211121222222122222121212122111112121221111212211111121112121112221112211112112211222111121211221122111221221111221222222111211121111222211222222122211112211211121121122121211112122121121211222212121122212212111121112111112212112222212222222112222112221222111221222222221111222112212222122111112121211121112111121221121212222211221212222222112121212222112121222121122122212221212222212212121222121112122121211211122222122122122211121221212212111122222222122112212211222222222121221221111112211112122212222122112111111211212222212111111121112221122121111211111211211221221212221122221212112121111122221222222122112112111111121222122222112112112112211212221212211221222122112222112122222221221111222122222112112112212122121212221122112211211122112222212212112212122211111212121121121221222121111222111211112122122111212211111122112212122211211112212212222212211222112121221212221122121122222212122121111212111121211222222122221121112212122112121212112111122212222111211212211211211112222111112112122222122222111211222222211112222222112221121111221112222221211212222221212111121211112111211122111212211222222122112122221222212221212121211211112211112111222221222112212122222212112111111221111112122111112212122222221212121112212122122211221222122111211212222211222211212122111222211221121211111211122222121212121211222212122111122111211122222222211211112221212222121221122211221212111221221111221122121121212222212121211122121112211121222222221212111222212122111122212211212121212222112112122211111122111111122222222122212111112211221111121121212221212122121122121111111111211112121212111112111211212221122221111121122122111222122212111112222111122122111212221111212211112222111212212122222122111211111221122222111212111221112212221122211121212121211222212121122111121212221211211222111211112211112122112221222112122221211122122122122122211212121212122111211111121122212111212122112121122222121221122122221211121121221112211121221112112211112222221122122122112121121222121121122121121221112122121222222121212112111121221112122121122111221221221122122222212212212121112122111211211111222111122222222121111222121111111212221221212221122211111211112212122112222221122112111111112212221222222111121122111112222222121222222221111111122111112111212212212111121112212222112122122222221211111212122121221222222222222111211122121121121222122221122221211121112222121222221121112222121211221212212112212222111121111212212111121112221222111111212222122222122112221221221111122211222121211212211121112122122212121111212221122211211221221212221211111222121121122211222212121112111121211212112122111112122122222121112122222222122222122222111222211212111222111211121212221121221111222221212211122221111121212222211212221211111111122221112111112111212111121112212212211122212111121122121222211221121211211222222222111211221111112221121221112212121112221122221221122222221212211222111112221211111122221211112121111122211221212122221211121212111211222221121222122121222111211112111111212221111211211211122111112222221121221111221211222211122111222212122211221111122122221212221211212222122221112111212122212222221112121222211211212222111112211112111222221112112122221122112111222212222222111211221221211222112212221112122222111122221112221121221122211211222122222222122212121221221221212122222212221112211121111211121112121112112122212121121212122211212221111112222112222212122111111222112211122121222221221111112122122211111212122222211112211112211212122221222212111221222221121211121111122121212221111111111121121212221221122112212211222121211211221211122112211122122222121122221211111222112222121122111211211212222112112211212212122221221111211221122121212112211221112112122222211112221111211212122221222212121212121222212111111121122112222121212112122212121122112122121122222212221111222212222212122121121211111112212112111222121111111112222212212222112121122221222111121212221221222111211111121222222211211122221111121121121111211112212211121121122211211222121121211212112121212212112211112122221222122111211121222211112111221221111211211121212111122112111112111221211112221111211222222112121121111111211211211122212212222222221211212122211122212222112222222112121221222112222111111211112221211222111122212222122112121122111221122121122211222212122111222211221222221222111111212221112212121212222121112212112221121211112112212112221211222211212212222111222111221221121121121112211211122111211221211222111221122121222111211221112112212221212222121212112222221122112121122112222111211122121222111111211212211111221222221211111222121222222111112121212222112121112221111111121211111122221211212212211221221221112122212211121221211212111111121212111211121211112222111121111121212211211222122112111121112212121122111222221112221221221122111212112221212122221122111212222111121122112222211111121221112211111122221111122221211111211122211111222122211122211111121122221121112221122112122211122211211122222112222121222212221112111222111112221211121121212212221211211122111222221211112112221212212212111111111111211121112221121221121211222121112112222221212211122122121112111221211122112211222222221121121112112211211121222222221112111111211221222122111112122222222211112121211122221111122222111122211212222112221111122122122222121222122122222121111221121121222221212212211212211121121221122222221221122122212112212112112221122112222111122222111212212122221222111111112212112222111212111122111211222211211121212211121112222211112111111222222211211221211211211111111212221121212111112121221211212111112112212211122211222111212111221222111111112221112111221211212212222211121211122212221212222222122212222121122122211211122121221121112122112211122112222212111122121212222212111211211222112212211212211112212212222222121111111212112111111112122211211111221212212111211112121221121222122211222121112212122122211212121121122221122111212111121122221121211111211122112222212121122122112222111211122212221211221222221121122211212111121221211222112122222221121122112221122111112222222112211211211111212111211212122211221212211222221211121212121212212112111212122121122111122112212211111122222122221111211222112121122211212221221121211122122111121122111211212211121111111122111221121111111121121121222222121111122111122121212221121221212211122121112211222122112112221112221111121212122112121111111112221222121212122211212222111221112111122121111122211212111222121211221212122112112122222212221222221222112122212212122221111121211112221222121221211222121122212121111111121122211212212222112111122211222212211121221112222121212112222121212222222111112111211222222112221211121111222122121122122122121111212112212122121111122212112212221211221211121122121122212121222221211112122121221121221121112112221121212221122211212221121212111221122212221221122222111221222111221112212221222212111212122211221112112211212221112121222121111211222222221211211122121112211111221112122122222222111112221212221112121121112222221221221122211122221122211221121211111122122112212212211221222222121211222121221222112122122121122112121111212111121211122221122122111211121121111111212112122112211111222111112212222112211212212212212211121221112112212112111111112212122122122211112212212222111211211122112222112121211112212222222212212121111111111111111111212211222122222111212122212211221111221221112222112222212111211121212121221112121121221222111111111222222222222111121222121222111121122112121221122122211122121111121211211222111112121111221221222221122212121122112221222111211112222212211111212212221211122222211112122111112222112222112112111111111222111212122221222122121122221111122222221222212212121121222221112112112212212122211212111222122222211222211222121112122121111112112211111212111121121111111111122211122211222112111222122212121221222221211212212211122121112121112212111111121222222121222112111112221221211212221122222212212222211112121111122221222122212122111222211121222222122212211222221111211121112212211112221211211212121121221122111112211121211122221122112111111121222221122222211221222121122221221122212122222212222111122112112112212121122212222211121211122221211121211222212112222112112112112212121112211112111111221122222122112122221212112222122221121122111121112121111111221121221212221211211112212112211122121111211111212221112211111122121211121121111112211112111222111222211122122112222222211111111122112212121212222222212211122122111222112112111211212222112121222122122211211112112211221212212211212221112121221222121222212222212122222221222121111222211211122111221112221112212211221222221112122221211211212122121222122112211112212211211111122212221221221221222112211112212211121121211112121122222112212222222112122212212221112222222122212121122122122222221121222221212122222112121221211111211222211211122121111222212211121222121111111221112122121122211212222212111111211221121211211211222122222222211122221221122212111211222112112212112111111211121112121221112222212112112121121121111221111111121212212211212121112121111111121211111112111111112211111111122112122221122222111111211212211212221121221111111121121122221212211112211212122222112121111112122211112221112112122221222111111212112121212112122221222212222122112212212112111221222212221221111111221212211112221221221211211112211111121121122221222121221112212122121122211212121121212211221121212221221212121111222211121221111122221211111122221111112111222122122112222211212222222122222111122122212221221112221121112122121211122122121122222121121121212222222211122111211221222222111211111112222112112122211122111212211122221211122212211221121211121122112111111222111111212211211212222122212221121111221111111211211122121211221211111221211121222111211211212221121211121211112221222111211222221212222212111211112212122222211212112112122211111212122211222112111221212222111211211112211111211212121112222112221221112222122121222221222212111211111121221211222111121211121112221222221212212111212221111211221122111122121112122122121211122221212121121211121111221212222122212221112122112111221211212221211211122221222211122211111112111112211112121112111121222112112112222212222221111211111212122222111112112111121121112111212212112221212121111122212212121211211222222221211221121211111222111221222212222212121212122111122221112112122212112112221212121211111222121211222222212112211222222121111212221111222121121122111221121121212212222212212111112111122121212111122111121211222112111122211111112212221112112222212121122211121112112111112211121111211212111122111112112111122221111212221221212122222122122121121212121221111112212111211111121221212221112222122212211221212212121122211121211112212222121121122121111222111222121211222122222121122111211212212112122122222211122211111122212221221222111112121212112111221121221212212111122111221212212121112121121212112212111221222111222222112221221222122121111122222121112221121222212222222122122122111111221212121222212222122222111222222121122121122121211222121212212222212112121212221112111122122221211222222112121111221122111111112221211112222121121112212122222222221121122122121121122211221212121111222112222111222221221221222121211112122222111122212222112222121121121111111112222211211222211222111221221111121122222112221222211122122121111121112212121122212221212221112121112221211211211212212122122112111221212122212111122112112221112121121211211112221212121112212222121221211211211212111221122121122222112112222212221212122222112221222111122122111211212122211222222211121211111122121121221212211212121111222212111212222211121122211112111211121211122222222221121212222111212121211221121112221222212222112112211121221122221122221211111221122121111211121112212221111112212222211111221112112221211211111122121222211111112212121122111122221122222122221122121111211121121211221212221121111212212121222121121122111212112112122211112212212111121122222222121222222122222112222211111111212112212111111122122211111121211122211212212111122121211222111111212212212112121122122221222222111111222112122221122111121111221112121222112112221122121212121211211122122221211222211222211111221222112122211222112122111112122222211121221222122122122221212121221122222122212211222122212122222212221122111121122111221112122222222122122112222111221111212121211122222121221111211222112222122211112112121222112212121211121222212221222211222121221212212212112211212221121211211212221211121111221212112212122212111122222122112121122112121122121111121122212122122211221111221121211121121222222122222122222221111211111121212121112222211112111211112212112222221112112121111212112112221211122212111211112112111212121212221221122112112121111111212112211122111122121222121111111112121111122121222221122212212112121211111212222212221112122221212221122212121111122221122112221112211222112221211211121111221121221111221222221112122122121211222212222122111122222221121221222212211212112211212121221211112221122222221221122121111112122111121122222112112111211222112222121212221222122111221212122212112122122222121111121112121212112122212222121211122112111112111222121122212212121121211212112211122211221122111211222212221212212121122212211111122122221121222122212212121211212121211111112211111121112111121121111112211121222212121121112221112111222222122221122111112222212122111112112122122122222111211211222111222211112221221122222221112111121212212222211221122222111221211212222121211211111222212212212121221222222211122221121212222122121212211111111221111121212111111212111122211212112212122122112211121221212112122111112212222221111212222221111221121211121111222112112121221221211221122112112212222212222122222112212221121211211111211221221211122121111122121211212111212112211112122112122212112112222111221221212111122111211112211121212221212222112111121111221112211222211212121221122112112122111122211122222221112222112221121221221111121222211212212212121111211212211221111211212212122211111111211221122212212211212122221212112111211111211212122112112221112211221212211121222221212212112211111112221222221122122222221222212222111212111122121212112111212122222112122222211221111222212111212212111211212211222211222122121122221212122122221122121112211222122112121211221212121122121112212121122111221121221112212111111121121221222221212121122121122121122212222121122112211211122121112211112221122221222111121111221212121121221221122122211121211211122121111211221112221222122122212212112221112122111222121212222221122212112121212111221112111122121122121211221121222221121111221111212111211221122212112211112111112211112121211221112112222121211111122112122211211212112122221221122121222222221222111121211122112212121212122121111121111112122122221211122211122221222121222221211222111221111221212122221221222112112212112212221222222211212222221112211111222221221121112211112121111122211221212211112111221121122112211112111111222122112211112112222211212112221112222112211211212212222222111212212122221111121122212222221212111221111221222112111121112221222122212111211221211212112212121122212221112121112111221211111221121212222222222122111122112222212122111212222122112112212121112121121221212221221112212221222121122222221221222212122221221221122222111222112212221122111211222112221111122222121222122212121211211211122112211222211212211121122121111221121212211122111221212211112111222212122212122222122221211121121211211122222111222221122121212111211122212122121122111222122221122112222211112122111122222212112121111122221212212211122122111112111122212122121111221212122122112122221111212121221222212211212212122222121212112211222221112121111221121221112111121221122221221121121121211221221221121221112222112111111111122122212112221121122112211221122111211221122112121222111122111221212221121211222121212211121221211112122221221111122122112122211122122222111211111111221212221121111122112122221122212212111122112212122122121111121212122221221111212211222112222211122222212121212222212212212122122112121121212121111211221212121221221111221112122212221211211122221121121121222111212112121222121212221112222212211122121121221212122111111122111111212211221121222211121121212212221222222211121221121112112211111222111122212122111111111111221121221212211221222112222212221212221212212212121221211212211211121212112221121222211212111221122121111112211111122122121221122122222112111211122121121222111122211212122112122222111211112221221222221212221122222121121111111122122111212111112222211221222221211211221122222112111222112121222111221122111211221212121222221111112121112211212112111111121212122212212222212221221212212222212111222112112122121222221121221111222222121121112121212211212112111222221111121212121211212121211111112211211111122112121212221122222212121211222111111222111212222222211212122121211121222222121221222122212222122221121212112221121121222111222112121212112222111212211111122212122122222212112122222122211121111221212111121211122221212211112122111122112221121212112122211221112222212111211121122121122212212122121111212222111222111112211111212122211121221121211211222112221211111112122122122111222222212112122221211212121112221212111211212211112212122221121211211111212121112111222222211122212112112122211121212212122221211111212111212111121221112111211122211111122222211222211212211222112212121122121211122112211221221122222222121121122121121211222122112122222221211121211122221212221212122221122112221111112111121121122211221221222122121212212122222122112212121111222122122221121121121121122111222122121122211112111111112221111112212122221121121212221121112112212211211111212121222222121121122221211112121221121122221212211211111212112122112222211122111222222122222222221121211112212221112212121112111222221121212111222222222111221212122112112212221112222111222111112122221221121222222221122122212112122212222121222122112111112212112222121212221222111222222112221121111222122112121222111221111211121111221221222121212211221112122221221211221222121211122122221111112121211122121122112211222211121221222222111122221212111121112111221121222222112211222112212222222221112221112211111212222122212111222221112222211222211222212112212121112121212221221112112121122221112121111221112121111211112211111121111121212121212122112121122112112121211211112221211212111212211222122211122122111222222211112211222112222222111212121112222121222112211122121212211222122111212111121121222212111211211222221211112221221212211122122212222211121112212122112111112112111222122212111122122121211111221121112212121211122112122211122111121111212121122122112212212111211222122222212122121121222211211112222221111221221222222112211221111122221212112122222112111211221222122211111212112121211122221112121222221211212221122221121212121112122211221122212111122111212211112111122221212112111121211112111211212112112122112212221111122222221221122111111211122121112111112112212111111211222212211222221222221122122121221211121212112122122121221212211222221112211111111122112121121211221111121112111111122222221211221222212121112121112222121222122112112112122221212212112121111222112112221121221111221212222221112211221122121211221211122211221111112222111121221121111111222121211221221212111212222122121121221111221221212112121111221122112212111212122212222221212122211111111122211121112112122211221211111122112122111112112221122111111121221121211222211222212211112212122121112121211121121112112121111112121122112222111111222121122112111212111212121112122222222211111111121222121211112222111221121222222211111112111221221211111112212212112111221221212121121121222212211211212222111111222211122221222112122122212211112212212221111122112121222111212121121111122221221221221222211122222211112112112112211121111221211121122121111212121222222111122121221222111112121122111211122221211112111211112212222111122221221122212212212211121111122112111222121212222221212221212222221122121121111111111212212111211112221122221112222122111222112211111222222221112222221122112222221121212211111212121111211211122221211121112222122221222112211221112111212121211122122111222211211121112212211121122122221112112122212112121222111121212212212211112221111121112222211221212122212222221112122111122122211212222121112221122111121122122211211222221211212212112122211211122121122121112221112212121121221122122222112111112222221212211211112122121211121221211111111112221222112212221122112212111122211111112112212122212122212112111212112111112122121211212112111211222212122112221221122121111121122111122121111122121122121121221111212221222111211112211221222211212111212112121211121211111211122112212112111222222222212221122211121112222122211111121111121222212221122122222121211211211212121222221222212222211211211112222211122212121121212112121112221122111211122112122121112212221122212111211211112122111121112121211212221222112221122111111121112112222222222211112122122211222121211111122212112121111122111221221111212122111212122211222122121222222222112122212121111221222211121212212112122211221111112122222211122211122122211121112112112212121212121221211212221111211211212222222121221122212222121211111212221111122111211112121222212222211221211222111222212122122122111111112112211222221222122212112211112221111211111221121111222211112122211121222121122121122112221222111122122111111122112122112211212112221211122212111221111221212121221121112121112111111212211111221121121112222121112222211112212212221211111211221111111111111122121111121222111112221211121211112112211121122222222121112211111221212212212222211121212111112121212112222222222121222221121111121111211221212122121122121112211112222211122122211122111111111212122212121211122122111212212221222222111112122222111112112221211221221121221112221121211121221112121111122111212222212212111212121222211221112121222222221222212112221111211122122111121211212121111111122122211222111122122212112122112121221122112212212221221211121122211121111112211122111111112122221221111121121221122111111222112212122221111122222211212222212111212122111211122212112112212211111211211121122211212121112222111212222221111111122212211111222212211221122221212211221212121212212212112212122221122211211121111112121222121222111211212122221221211111222111112121211111221112111122211111211121222211112221121212111112222222212121211112222222112212121122222221111121221222121121122121221212112222221111211222221221112111112111112211111211121222212221122112111121222212121122212122211221221212212211121212222211222122122122211222112111122221112222111211122112112111221221111122212112121212121121122121222112122222211212112211122221212212112122222121112221221221222222121212121122222112111121221112111222112222121212121211211222221111211122211122222122121221221121211211111212111112122122121122222222121222122211122121111221111222111221112211111222111211212222212121122111221212222122211211112111122112222122211111211112111111221222122211212211221121222222121122112212221112212121112121122122211212221112112211121122211122121211212112121112112212212111121121122211211211212211212112212112121122111121211212222121221222112211112221211111111121121112122211122212222212212212221222222121111122121221112112211212212121212111211212122211121221122111222221222111121121222212121121222112221211222221211211212122221211112112211112112111222211122212221122121221222112212212112221221121222111211222222122121112212121222112222121112112112111211121121222222221212212121112121221222111221221212221222211112122111211111121212222211122211111222211121122121221212221122222121221222221222212121112111121221112212121222112111212211222212211122121121112111211221112211111111112211221121111112111122122112211122111221121221121112212122212121221212222122221111112222212212112121111222212211221212112212111122111122112111111121222122111122122111112121121112111221111221112122112111221111112122221222111112112222211111112221212222112222122222122221112122121121111111212211111111211112111111211121121222112211121211121211112222112211111121222122221211222111212222111121212122111112111221121211122211212122112221212222112221112222111112122111221212222211112122212212211212112222211222211121221112111122122212122221121221211212222222212112221221121121211222222221221112122222112211222221211221112112121122211221111111211112211122122111121212111211122221221121221121212112211121111111112211121212111121122221221211111111112111122121122222111122211121112222211112222111222112112112222112112122121221211212221221222221111112122121122111112112221122222221112222211122211222112122111221112221211222122212211211212222122221222121221111211222121121211222111122211112222112121211121222111222122211112112221212222212221221221112112112212112212212221221122212122222211212222111122212212222222212221122221111211111112112222112222111221221212222211222112111221121222121121111111111112222112212211211211222211112211122121111211211222121121111211211212211121111111122122221222212111122211121212222112212222211121212221212111222212221221121111122121111212112122221111122221122211111222122222211221111111111221212212222221212121221221212111222121112122122122111222112112122121211221211121222211122112111221112111212121121211222112212212112221212112112212111221121122111112212212212121112211221222121221212212211122121211111222111122122211121211222211121121212111122222122222212121211112122112212111212222212212212221221122221222122212111122221122221212221121121211221221212212211112221112212122221222211111212111212221112112111111112111222222221111222222122222222222122121112111111121121212211111212211221111221222211212212122122211211212111121212211122212222211111212212112211122112211222211211111112222121111211211221212111111221111112121221121122221221221212122211211122111122211121121111121211122211212212222112111212122211211112212211212221222212211111121122122222121211211121121221211121111211121111121222112122111121111211212212122221111121211111111121121221212222121222212121221221112111212222112211212212222122212212212122221212111121122121211122221121111211122211222221221111211222121121111121122111212122122221221222222111112111212222211111121122222222112122211222221221211221111221121221211212121211211121121212221122112121121211121221122112222111111111121222221221122111111122112111111222111211211112221112121111112221221212111121212221222112212112112211121112222121122222112122122122221212112121111111222222221221211122211112122112211212112122221111212112121111221122221122121222121112112212112122122121121222111221112221212222121211222211212112211222122211111222122222121121221122222122222211121112121212222111122222111221212212222212212111221221122121222121111111121121221122111111122212211112211121111111111211222122121122112211112211222221122211211222121121211222222112221222112111221122211222211121221111222222121212222211122211111112222212212122212212211222112221212112212222122211111111112212111122222121222122111221212122212211212111122122112212111211112222122211212112122111221121211212222222112122122222212121121221122211212221111221222121222122111212212211211211111121211112122212221222122222121222122212122221112121121211112212222221212211221221122111122122222121122222121222121121212221221111222121211221111111112221122122211212221121112111111112212111222212222211121111111121121112222211212211112222211111122111212222122111122222221122221221222212212221211222111211112111122222112211121222212112121121212111212122122122211111221211212122121211121121112221221121121122122111212221211211222121112221122211112111122122122221112211122121111222121111112112211221121222121211211221211222221112122222211211122112111111221222211212122111212211222211211212112121112211112211121221122222121221122212222112212221212222212221212222211211211111212222212121212122211211121222221121121221112211212212111122122121121221211221212122211211122111211122221112111221221211112112112222221111221112221221122111211212121122212121222122122221221111222211222112222112122122211121212211122112221221222212211222111212221112212211122211211111212222112122221222212112121222122122111122111222111112111221212122211121211122221121221111112112111222211212111222122121221112211112121112211222111112221111211122122112222111111211112222221111221221211121112122212111112222121212221112112112222221111112112112211222221212121221211221122112111211212211212211221111222112121121212221222221221122222212221212211211222122111212221111121122121221222222121121121212211221112212122121112122211121211222212222221111221222222222122122112112122112222212122211221122212222211212112112221121122211221112121122211221122122222122111111111112212111222121222211222111121212121122112221121212122122212212111111112112211212121212112112112212121122122222212112211222112121222111211111212212111121212222212112221112122212221211112221222122121212221221121111111221122222212121121222221212112212222211122221122212222122211211111221212122121122211212121222112211121211211112122221211212111212111121122221222212121222212222211221122211112222122122222212112121122122122112122121222221221121122121111221222112212122122121212121211221121212211121121121112122112111221221211121112212212122112121112221212111121121211221111211122212211221112121111212222121222222122111212121221122111211112212112222222111211211111111222121122211122122221222221122121212212111112211222112221122122211211222221212121112222212122112221112212222221121212121121111222122111112222122112212221221221211221112111212211112222211222222212222221122211112212122122122112212211112211212111211212122112112122212111222111122122222122112211111211111212112121122212122122112222112221222121111121222121111222222212122122111121222222222122122221212222122112211121121221122211222122212122221111221211122112221112112221221211121212112122221111221111212211212212111211211212111222211222222221212222122122111222221222221222122122122112122221221121212211212222211121222211111212112221212112122122112111222211211112112122221221221212221221211122212122221211121122211222112222112211122121121221212122222112111112112221211112221122212122212112222222211212221212112111222112221121221122112122111212111112212112121111222211121112222212212111212112211122222122221111112121211222111112212211111212221221121122112111112222212211111122111122112122221212112211221212112212121212122122111222121121222112111111222212211111221221222221112111112122121111121211211121112121222211211122121112211212112211221222222122211211121212221221222112121221112112111111212222111111222112111121212222112112111111221121112111122122222122211111212111121222221121121111122112121112122211111111121121122212111222222122111122121221212112122112211212112211221121122211221121212221212211221122222111111222212122222221222122121121121212221121222111112211211221122212122212112111221121212112121112211211111221121111212121222112212121121222222222121111112222221221122111211122212222112221212222212222212112211212211121121121111211112111121122111111121122112221211121121211122122212121122222212212222111121111221221211122221122121212112212122112111221211221222222222212122112122221212121111112221111122121122212111121212121211212111221211122221122111221111212121211222221212211212121112112221222112222211112122211122112121221121112122111221111122112111121222111222222111222111122112211112111122111211211111111112122221212212111212121112121122122121112122211221121212112112112111122121222122111121122111122121121211211211212221212121221211112121121121112222212112221121211221212212112221212112212222112111111112222221111221121211122112211212221121212121121121121212121211121221222222221211112122221121112222111111221222221122212221112222221212222111212212211221122121222221221221212111122122111212221212121221122211222121221222121121121112221112222122121211211112121221122121121111211122211221112111112212211221221111121211211211112222222111221222122111222122112222212111212111111122221211122211111211122111112221221112111211121211121112121211111212121212222222111111111121122212112221221121212211221212111211122211211221222222121212212112111122222112111111122122112221111211122211222121212122222212121122221221121111212211222122211112222211111211212112221112212121121112112211222222222211111112212121212112212121211122222121121112211222121211112111212221121212211211122222222222122221121121121112211112222211112111211222221212111221122112221111211222211221111222222221212122212111121121121212211111121222111122222211111121121221222212111111111111211222211212121221221111122221222211112221221122121122211211112122112122111211221221111122211112212212121122112112212122222222211111211211221112122112212212212121111212112122222212121221122121211221221122211212211111211212212122221222122121221121211112212211121222222121112111222222122212221112212222111211121221212222222221221112221212122111112121121211112221121111211111211111212121221221122112221122212212222122121111211221211122112122211111212212221222121121112222121112112222112122111121211211111212111222211212122211211111221122212212222222111122212112222122112211112221112222121211122121121222212222222221211112222121211121121212122211122212111211211221112221211211221222121211222121122121221221221222211222111121111221112111121212212221222211121112121122112221122121122112112221112121112121222211112121111211222121222222121221121112111111212212112122121212211122222122112212211121222221122211122211212211122212111212221221122112111112111211122212122111221222122222122211211211221112211222122211211221121222222222211211122212211112212112112222221121122112122221111212122222112122122222212121221111121221112211221111221221111112121122112122221111222211111112122211222111221222212212112111122212211112121121122112112211212222112112212221111211222122221111221222221111221222112122212112222111121122212111212111212221221211112121212112121221211111111221222222222111112111111221111122222112121122211212112121211212211111212111112121211212112111211211212222121121222111211112212121122112121211111211121122212112122122111111121212122221112122222222222222221122112222212222112212122122121122221212222122121212111222212211211122221221111211111121221122122111111112121211122112112221211221222111222111121222121121221222211111112221221121212111211111122211121211121121211111122121211221111212222211122112211222221222111122121122222222211121121211211112122222211221221111222112211121212122211222212211212212212122211222222121112222212212211121121211112112212221212111221222221112221211212122222222121222122121222111111122221211212212111222121122221122121222212112212222222211222112221121222112121221221211221211211212222121111211222122211112122111211222222111211222112221111211122212121211221222211211221211122221121221222221222122222121212211122121121111211111121221211211211121222212112211222212122222212212122112122221212121222211111111121111111121112212221222122222122111211221121112222222111222111222211122221212111212221111211211122112222221221222111121112222222211122111112122112122222221211112111212211212122112111212212212211212111122111111221222121122212211112112111122221111122122112121111221121212211112212222211122221112222211122211221121121222212222122121222221111221111212111211211221212121221222221221121121212211121222112222222211111221112111112221121112111111212111221111122112122211121212211211122121111121211122212111221211111211111112122111121212111122112111222121212122121121122221112121121111221212221221122112111211122121121222112221111222221222221212111211121211112121222111111122122112221121222222212222111221212112221222121111211221122211221111111111121221122221221111111112121112222112122111121221211222111112121111212212112121221221122211212222111111112122211222212212212111222121211211211222211122112212111222122222111122221121212121112222112222222212221211111121122112112112112212112112112221221222211211212121221222122212122211211221222112222211211211122122112221221121111112211211122211112121211221212112112222111222212112211221111121121222221122222221112221211111221221112122222111211212211121122122211212211122211122121221111211222211112211211212222211121221111111221111121121221221221121121111211212122121111111221211222112212211222212122212212111221211121121222212121111112122222221222112112112212111122221221112222212222122221111221111211121211222212211122212112111221222112121211111121222122122211121121211122121222111112112222222221111122222221122211222222122122111222211121121121211222212221111221112211122111121112211221221221222212222122221211112212122221122111222212222111111111121212211122211121112221112122221212211212212122221112222211111221121111112112112121212211212211122121221221212121112221121211111122111211222221122222222112112211212111122211121212211111122122111111221222211112112212112212111121112122122221222222112111112112122111212122212112222221222121211111111222221222112222212111221212112222221111222212122211222221211221112112121221112221221121211222112112221112212122221111111221212211211122112221211221212222121222111222122221111222111111222221111222221121222211111221221112222212222221211112212121211112112121121122221211122111112121222112122212121121222221222112121222111222222221211221221222121112121111111212212122112111212112221221121221121212121221212111121212122121112211222122111211221212222112211111222211122112211211111122111212212211111112222222222111122122121111122221211212112221211112111122221121221121122212111222111212121211112121211212222111121222122221112211221221112122212221212112221221111121211112121111111211111121212121121221211111112212122112111222121211221111121122211221121221211211221222111112121212111211222221121111221112122112122121211222112121212221112221221112122111212112111221121121121222212211122122111111122121211211122212121121211121111212111112222121121222122111211112221211222122221212212221211121221221111222221221222112221112112121222111121211111122122122212112222112221122121222222221211222111122212211122111222112111221212222121122221222112211212222111112221112222122221121112221212211212211222111212112222111112122112221112211211221121121222221111112122111222212221211111222222111122111121222222121222221211112222111121121212121212111121212121211121112212211212112122112211211111222111221222121221212112211112221212111122221121111212111222211112112222121122122112112121212211212212211111122212121122121121112112211112122112122212221212212222111112111111121121221222212122121211221122211111112212112121112221111211211121222122222111122122221221111212111121211221221221122121122122212122111221121212111221211222211112212122111122122221211212211221222122221211111212111112112211212212212111121221121121221111221221212222212111222221212222121211211222222211212221111112211111111111221221222212221122121221222112221111212121121112112122112122122121222211222222222222122211221121122212121221211222212121221212121211122211121111211221211112121112212222121221221121222112121211212122111122212221222212211121112122121211111221122221222222211111221112222122112111111221221111211211221112112222111121212122112121122111111122222121211122222222221112211222211111111122212211111222212121222122211111221221121112111111211112121211222122111121221112111122121212212221121112211221122112211222211221122221221112212221122111111212112211112222121211122121112211222221211212222121122111222221122111211221221222111211221112112111122122222212122122121111222221212221212221221212121121121122221122112221111112212122111122212211212112121222222212122222221112211211111221222122111112122222122121121212112111222122222222221122122112121212211212221212222122222121212111212222221212211111111211122112121212112211111121222222211112211112111221121111211111212121121112222212222121221122112121122111221211211122121212211111122212211122221222122222112112221121222221121122111222211211112212121112111111221112112222112221221222122122122122112112111212121211222212112221121212121121112222211221121212211122222121221222121121212112212122222222121112221221121212121212122212211222221211222212111221111221221121112222122221112221221111221211112122121222221122212112222222222221111221222222221121212121211122222122221222122221211222121122111121111121222221211222121121211221211221222212122221212212222111221211122111212222111121211112221112211112211221212221211211221211212112222112211111121112222221221121111211212221112121111211111121211211121221112121112221122121211221122122211121211122221222222221222112211221111122222121111222212221221121112112122221111212211211212111211111211211212112222111122121211111222221121211211222211112222221111212121221222122221212222221212221112121122222211222222221222121111111221112221212211221222221121211221212221121121222121211111211121212212112212122212122122211121222112111221212111122111212121112122122121221212221122112112122122211111211221112112122211122222122212112211112111211222212122111122122111111112211112122112121112222212111122222212112211122222222122222112121222212222121211112211112122222122121112121222112122122111221111122122211111221221122112221121112212222111111112222122121121122122112112212221112222222221121212111122222122112221221222222111212111221212212212221111211222221112112212111122121211221111122111111122122221112211111222221222112212221112122111221222211122111221221122121121221221221212222222211122222122211212221121121121121222121111121222222112222222221121212212111112211211222222211112212112112221121112112121121111121221111212221212112222121222211112121122111211112111122222121112121222111222222222121112222221112222121111211222222122121122222222221212122112222212221211121222122112122111112212212112111212222121221111112212222211221122212111221212211122121222211122211222211112112111221211122112112112112222122211212222211212111212211221111211222221211211211111121121111221111121211211112112111221121122222112221121122121111122121221221122122212212122212222112221111121222222221111122212222222111111122121221111211122212122121111112222112212211111122212211122121212221211212222111211211221121211212211221221221211111121222211111112111221211222111212111222221222121222111221221221111212222211211222111121122111121222111212121121121221122111221221212212221211111121212211222222122111212211122122122211112212211122121221122221212111212112122122211222122212222211111212212211111212222122122122221111222211122221112122221221222222121112211122211222112222122221112112211111221122222111212122212222221111211222212111222211112222212121122221212211211222221122212212221222212222222211222112112211111121212211211122212222112211111212211211111122221121211211122212221212211112211112222112221112121112221122222212112212111112111111122212111112122112222222111122221212111121111122111111211112122212222211222112221221122111221112111122121122211112121121112112122221222111121212222112112211111121121212122112112221112222211111221122122111122212212221112121121221122112111212212121212112212112221122211222121212111121121112122121211121212212222212112112212121112122221122222121111222211221222112111212112111112221221121112222222112122222111122122212211222111122121222212221221122122212111221222121221211112121121121212221221122222211212121121112121111111122211122112122121222121222222121122111121211112112111122122112121222221111121212222211211112122212112111222111212111211111221222121112211121211221122121122121121112111211111211212211211122112121122111121212112221211121122122121122112111121221221212122121121211121222121212211111212122222212212222222222122212111222221122121211211112222112121212221221122211211211122112211121212121211122211121211212221211212121111211222212121122222112111111111111211111122221121122212221212222112211111121112122211212211122221112112222221212212211112122122112221212121111212212222122122221221121211121212221221122212221121211212121112211211222212211111222121211221112121221121211122222222212222221111122212212222212212112211112112222222212112122212221211111211111211212122111122212111121122222211212211122222111221122212121111112111111221212112211212112211222122211212221112222121121111122221212122121211221221122121112212221211222211221111111112122122122212121111112121221121222222121112211222211122112212122121122111221221112212221112222211112222222211221221222111222122122222222112111222212121212112221111121121211212221221121112122222111112212122111112212211112221122111212211111121211211112211122121121212111112211111122111122112122122222122222121121222221222222222212221211222211111121212121222121112211122221111211122222222212112121121212122112221112222121221111222112221211222211221221112212121221221221122112221211221221111112221122121211121112211122212112211111221212112112211221222221121221121211221122121122222212111111111222122111111222112112212221112111112211221222221212222212221212211122222211212222122111112122211122111122211211111112212121122212222111211111121111121121222122122221222221222222121211211122121122122212121122221221211211111112211122222222122211111212221211221221122112122122211212112121121121112111211221121121111222111222111212211222111122112211112222211222212221211211111212222221211112221212112222212222211222121222222112211111122211212212221111221112122112221111221112221212122112122221211112221221121212221212112122212111221122211211221211111112112111222212112221212222121111221121121111111122122121212222122111121112212111221112111211211121122111112221211111211111211211222122121212211211121122211111112121122121211111222212211212121212222122212112221112121212111222212111112221112121222112221112222112222221122121221222212221121222221121211122112211222111121211221221221222222121211211122221111122211111121221221222212111222221222212122222122121122121112112121122121121122122111121221221122222121122121212222212112212222221112211221212121221122211211111212111211111222111122222121221211222222211221212122222111211112222112122211221211221111121121211211222111211122211111122211221221221221112111121211111121121212221111222212211212122212211211222221112222212112112112212212122111111212221112112122112211122221122111122212112121221211112112122221111222212212112121122211211222222222222122222121122221112121222121112222221211221211221112221211222121222121122212211221112111112221121221212112122222221222222121122212122121122112222222122222212122121122211112111211221111111122122122122222212122212122221212112121121111121221222121222221111121112211212212121221111221111222211221211122211222122111212222121122122211222111212211211222212121212222121122212212212122111222111212112212222112111112221111222211221221121211221112112212212112121112122122121222112211212122212121111221211211112222121111211112112212112211212212121222221212112111122212211221221112122121222212221221121112121112222111221211122221222122121122112111122212221211122111112221222111122221111221122212212221122112222221121211122121121222111122211112121112212221121122121122112112222122121121122121222212222111121222221221122121211122212111121112222221222121112122211221211211222112221112121122222111211112121112212122122122112121121211211212111111121222121121222222122122121221212121221121111112211121222121221112122222211122222221111212221222222211211222222111121211221122121122112211122221122112122111112211212222121221111112222112122111221112211212112121122221111212112121122122222112222221112211211211221111221211111111112122221121222112122121211211221122221222211212221211211222122222222112221211112211121111121111211221212111212211112121122212121121121221222212211122111122112111112111121211222222121221112222221211222122211121221222121221212111112112211121112121211222121211212211221212121212222111111112211222212122112211121122222111222212221122212112221122111212112111222212221121111111112221112211212112212222112221222211112221122112111221222211122211221122121211111121112222112211111221122211221222112121212222122212121112221111111212212111111111221212121111111112122221221112111221222221111111122122222211122122212222122212121222111212212112221211222111112212122122221121112212212122122222211211212222122222221212222112222121212212212221222112122112121112121212122112112121211211211212212212121222222122112112212112212222112111111112111112121112122112121212112112122222112221122222212221212111111122211121112121121112122111212112222112111211122222211222221221211122122221212222221112212122122112112122212212221112111122111111112212122111211212121221212122211211212221112212121121111211121112122122211111122122211221211112112221221222121111112212212221122212211122122121112212212212211122222212112211212121111122222211212122112122112111212122111221222221222212221122212222212221212212122111122221211111122111222212122222111112221122121121212121112221221112211112121111111111221112211212212221122221122212112121112122112111121112122122211112112212211221211121222121222112111212221211211111112221112121122122112122222111221122212121212112212112211122121212111211122121221211122122212122212122112211122111121212121112112121121122122222221122221211221121121122121121222222212211122222122111212111222222222122222121122121111212122112122122221112222112221111112221211212212222112111222221211211211122212221211121212121211112222122212211212211212122122121222212212212121122111212111222122211111212212212222112211111111122212112221122221122221211122121112212212111221222221111221211112222221111212212212221222122111211122112122112122111111122111222221212222222111112112122221111112121121221212121221222211122121211222211221112221111211222221111112122121121111122111222112212111111222111112112122222221222122111121122211211211121122121112112122212111111212122212221212122211111122211122221122222212121112122111212211211222122122211122212222122211221222211222111121112121111211212122212122222212211211122121111112222121222222221121221122111221211221222111121112111211211121222221112112211121221221112212222122212111221221112211211112221111121122122212222112211122112121122121121112112221221211222212211111121112221222112121212111222111222121222112222122122122211111121111222212211212111211121111221222212121212122211212211111122121212221222212222122122111221222221222221221222212112222122211212211222212112112222121122111212212122111212212111122211222211211222221211211111211211122112112111122212212221112221212122211221222221211221222112221221122222211211222122211221221122121121211111221121112111222222211221222112112112211221221121222111122211112212212212121111112112211211222222222211212111221211211111122122222211122212112121112121212211111222112122121111222122121222121122212121221111221111122122121122111112122222121111222222112212122122112222212222212111122221111112211112211221111121121211112221111221111122211211122112111121112212212112221122222212112221222121121111122212111221122112222222222121111112212212122121222221122111122111222112112222212221121122222222212121121121121122222222111221122221222111122121211111222121121121211112211211112111222122112112211211222121111111212222122222122212222121111111112211211212112112122112211212111121221121211111112221211111111211211111122122212122221211222111122111111112122212222211111112211221222112121211211222222112222122211122212112222112212211212111121222221221221212112222111212211122221122211212121121221122121111112122222211211112112111121112112222221121122121122111222221122212222212121222121212212222221211112121122111112111212111212221111221112211121111121122121211222211211122212221211121121221111211121111211111221112212121122111121221212212111112122121112111121222122212221211222121121211112212221121211111211122112122211111121211122122222221221222112111111111211212112211112211212221121122221212122122112111221221112121222212221111222111112121211111222112221211121112121122122212222112122112212111212212221221222111122111112221222212112122122211212122211122121111111111122212222221112112111221111222221222222211211111112112122111112222111212122222211121122122122121122111222111211122222112122221211112121122212221122111221111112121121221211221112222221112211212221112112112222212221211112222212221122111121212112221111111211212111121122221222122222122212112222221212222112222212212122121212221121122222222111121221212212211221222122222121112121111221222121211221222212122121122121221112121221211122211121121112212121221122222112211222112121112212211211221112221211112112212111211211212221212122111112121121212211221122121122112211112212111211112122112221121211222221212221111111222112112221121121121122221121122212112222112122121211221221122222122112111212122221122221222111221111222222222122121111211211211211121222121221121121212112122212112111111122122221111111212222111222211212121211211221111222121111122222221112222121122221112211111112111221222122112122121211112221112221111212121121212212121221222112112212212122122211221221121111121221221211112111112212122221221122121121122122222121112112221211122122121111221222122221221222222212221222112112221111112212212212112211111221211112122122111111112112121211211122111111212111112111121111212122211121121221111122211112222211221111212222111121221212112212121212211222212121212221112121221111222111112221211122221122111221111111222221222111121222221212222211121212212211122112222212221221111111212222112221122112121112112121121111221112121121111222122211222122211211211112111222222211111122212121221212211222111222122122112222122222221222112111211112222221122222122121221112122222221221122111221112111112211222211121112112111111121222112112222112122111112122221221122211212111211212121211112211122112212112211112222121212222212121122211212221112112121222211221122122211221221222121222111111211122122212112212122121112111111212211222111212121112222211211121111122112212121111121121221222121222111212121211212222121222112112122111122212122212121221112111211112222111111122222222212211121112212211221122212121222221221111212111121212111111211221112221222222211221122212211212112221111212221111222222212211212222111111121112111111111122111121212122222222222211222211212211121211121211222211222121112221111122211211122112112111211122121211211222221121222221112112111111211221211121112112121112212211212121211111221212112212212221111112212111221121222221111112221212112112211111221121122111212111222221212222122111222222111211221221121111211111212112212211122222112121221122222222222212121121112121111221211121121221112212122212112222222221222112121212222222112221112211112222221211221111212121122112121212212122111122211111111111211112212222112212222112211212111112121212221122211112121212122121122111222211211122212121212112221222112211211111112221221121211121112212121221112212121121112122222212212222122122211211221211122121221121112221211222111112211222111111222112112211111112122211221121212211112111211112112211122111122112122211222211211222222222222111122122111122211222212111212221212111221211212211221211112212211221221112212222221221212121111221122221212111122112122222111111211111111122222222222212121122121221121112121111112111221221212211111221221222212221211121121122112112121221212111112212122212211121211121111111221212112121111222111111122222222111212111221222212212112121122111211211112121111111121122122121122122122211222212112211122122222212221122122112122111211221211121121212122121112221212121221211222111112122222122111211212111121212121222111122122211121111121121122121122111112121212221222212122111222212211121222221211122122112121221122122221211112222222121112222112112211212221112122122222211111121211212111111122122222221212112122221212221212221111221121212121221111122222222112221111121121212121221122111221121222111211112121212112212211222222221221121211212222222111212112211212112211212122121222212222122221111221212211221221121122222121121212221121111211112112111122211112222221122212211222221211221221221111112211212211122211121211211111211122122221222112221212112122212121211112122122111221222112211121122221122222111212112211111121112212222111212111222111221121222222121112221111121111112211222122121111221212222122111212121122222221222121111121221122212111211111112111211111122111121222111222221112221211111122112222221221222211212122222111112112111221121112221222212221112222212222122111221111111212222221222122212212222211222121222211221111122122111222111122211111221122121111212122111112112211212221112211121121212212122122211121222112112221122121112211121222112212212122221211212111122122111222111211212221212122211112221111111112111221122111111111122121211221121122121222211211111122211122112121222122111111211222121111221222211212222111221122111121221222221121111211221221211121121222121221212211111212112221111111121212122122111122221121121112222222211121222122112111111112212121222211122121211222121122221112222212222121221111222122121221211111122221222112121211111112112121112211222222221122121221111211222112222121221122122112121212121122111121212211221221221211112211212122211112111212222222111112222221212212122221121221212121122111121212222112122222121111221222221211122121211212122112221211222111111211221112122212111222211212121211211212112112222211212112111222211211121211221111211112211112122212121122212111121121111122221111221121211221221221112211112221211221112222212221112222212112122221211111221121111121122212111221211112212221222222122111111222221122211212112221122211212112212122112112222211212111222211121212211212222212212221222122122211221112221221112111212222121122111111122122122222122221211122221122111211212122111212221111112112122112222112221211111112211122111122121121222111112222221111221112211222121121121121112212211222222221222212121112111221222111112122221121212121122222212211111222212222222121212121212111112122222222111221111211122112222121211122221112121211221222122221112212112111212111211211122111112222111111122122222222111122111121111222212122122221121122211122111111211222122212211222121222111222222221221122122212121212212211221221111222221212122212212221121222212112121212221211221211222211221122121112222122112122122112122112222221222112121111211221211222121122222122222221112211122211222112221222222122211221222222212222121122122111121221122221211121212211222112111111222111221211222111122221211222121212211222221122121121121121221112121212121222222121221212222112111221211112211211112222121222112221121111122221111222111222221111212122122111211112111121211221121121121221212121212111111211222111111122111112221112221212222212221211122212122112112111121211122211222211121122221211212221212222211212112111111111211111111111221212221222211122222221211221121122112121222122212122122112221111221221212112211122121111212112111212222111212222212211222111221221212222121221122121121212221111221212122112112212111221222121221112112211212121112121112111221221211121211222212221111111211122222221112111111222221212211222222111122211121222222212121112112112212112222212211122222112212212222212221222222222112111122211221122122212222121221111212122211211222112211222212211222111221122121211221221111221222111111211122221212212222211111122222211211222122211221221222212211121212211111121222211121212122212222112111112222222211111121111211112212221211112112221122122222121221221111122212212112121212112212112212221111222122122222112111112222121122211122121211112222211211211221121222212212222212212221222122121212222222221211222112221112111221211112211222121211211222122111111222111211212211211212112212121122212121121112112222211121111212121121212121112112111221211222112122111121221222211211121222111211112121222222111212111111112122122121112121211121111211222111122111211212221121211211122211111111122112212122122111221221211221221121122212112122221111212212211212221122221121222122221212221121211112122112222211211221111121212212122211222111122222112112122122211111222212121222222121122122111212112112211221222212221212212221221121121212212111121222111122112222221121212112222221121111111211122122212121111111121222222211211111112111122222121121212221111222211112121211222211222121112222111222121222211122121222222112221111111122121222111221111221111122111212221122211212121112112111122122111211222121122222112112212111122112211212222111212111221122111122221211121212221212212112111222222111211122121121121112121122111212122222122111111122211111111211212222122122211112112211221212122222112211111111211121122211222222111112222122122111112211221112121111222212122112121211222121221222111112211112121221212222112122121212111222221111211121111122222211121211122122122212122111111222212112112112112221112221211111211211122221222221112211211112221111122122221212112221121111211122211121111112211112222112221111222211212111222121222222122211211222212121222112211112112211122211121221122121121122111111222112121211221212222111221222212211122112211121121221222111121222212221122221222211212221112121221122121212122122222111111112211212211222121112212111122211111122121212212112121112221121211121112222221222121122121222121111211211221221122111122222122122211122222212121121111121121122211122121212212211222222222212212212121112122112121212112211121121122111211122112111211111212211111212221211111122111111121211121122212211111212111222122222221112222111222111211121221222112121221112221111122122212211212222211122122222222211121221212112122122121212111211221122222121111211212121112221122222211211121221111211121221111111122211212221221121121122212112212222212122222222222112122222111122121211211221111212122212212212111122221222211211121122121112121121222121222122121122221122222111112121222111122111122212111222122222111121121121122221122121121211221221111211222221111122111121121212212121211212222221211222211121221111212221122222211111112221122211221112211212122222121221222121221211122211112212222111212121211122212111121212112212121221222122122121221111121221122111122111111212221212111221112211112112111212122122211212112212121112111212221121112122122221212122211211112122211112211112211121112211122121111221121111111221121121121111222221111112111212122121212111122221112212111121211221221222221121112211212112121112111211122212212111211111122212222121122111212221222211211111212211122211112121222211222222211121122112111112112211111212122111221221212112222212112122221122111222122111121221122221222222111121212222212111212211112211211211222212111221222122112212211121211111221211212121222111122121112212211122211112211111212222111221122222221122112111111112111121112222222221222222121221222121112222221222212112211121222112122212211212211111122121111222111122212111221211212222122112111122112122121121111211212122221221222112112222122111112122111211122222211122121221222222222111221122121222121211212111112212222212221221111211212112211222112222222212111111211222212122212112211111222121222212112121212211112121112221111212222211122212222211121211121121111222211211111212111111212221112112222112121112121221111112121111122121112121111212121222121211221211112122122212121212122122222221221121221212122122222221211112221222212212211222111112222112122122221221112111212221111211112211212211112221212222211112221221112222122112211111221221122121222111222212112121121111121121122211212211111222111112111222111111211222112211112112112221221212221122212111222221222111222111222211121221221221211212121111212112221211112212122221221122122121121221221211121212221112212222112122221212122121111222112122211112112211211211222222122111121112212111211121211122222222122212111112112122122211212122212121221122221211222112221211212222222211212221121212222112221122221221221211211122121222221111221121111211211111112112112221112211212212112222121111221212211221222212211221112221212222121122221212112222122112212222112221111211111212112212211121211222121211112122121211121212211221211112121122222221121111222122222212121121221111121212222111122221112122111212221222212111211211112122122222212222111222122122121221212221121111221112121121211221111221121222222111111121121221111112122221221211112222221112112222112222112212221221212212222112112212211121222222122212211212222211111121121222212112221111212212112121111112222212111121211111111212111211222112212122122212222212212112212122111111221122211122111212221111221212111212121212221122111212211221211121111121122211121212221122212211211211222111122112121121211111222111221112111212112211112222211211112212121211221121222121121222221112211112222121221212221111122222212222212221112221222111222112222111221221112111211112111221221221212221122122221212112121111211122222122112111221212122122121212212211222111111221221111111212221211111212121112211122221211121222212211121222211121122122222111221112212212112211211222112121121121111212211112121111112122122212211212222121112222112122222211222222121221111211121111121221111221221122121111212111111221222121212212111221211121222121222112112112222111112212111122111221221212221111222221112211112221221121222111222211112212211112221112112212111211222121111121111222111122222212111221211222222122212212222222211122111111222111212212212122121221111222111112121111122212111121122122221111122121222212222111211212211221221221121221212111121122211212222111222222212112212221111111221121121121212211212221111211211211211212221112122111121212121112221222211221121111221221122121221122112212112122111212112222221221212222211121212222112121222111111122121212121222121121211111111112221211111121221112122121121121222122222211121122111121211122222211112211112111222221121212222221222112111212212222221222222122121111211221212111222211121122111111111121222221122222221212121111122222111222111112121111212111121222112221212212111211121222111221211122212212212112221212111211221212112211121212211112211112122212121211221111121121212111121211221212212211121112221112112211211112211211221222122121212112121221222111122221222211222212122212211112222222211211122112211121212121221121121212212121221221121221122122121112222222221222211111212112212112111112211111111121212222221221211221222222221111212121222212122222111212122121212221112121212112112212211112121222221112122111212111211121111222211222112212221212222222222112112121111211211121122121212222112221221121122121211122121221121222121211221121112211112122112111212211112122221112211212121212212221212122112211221211121122121222212111211212212221111221221211121122112121212112222222122121111222122211222221111112122222221222211112112121122112211221111122222221121122122211111122211121122222221111122112112121221122121112122211211222211221212111211212112222122121211221222222112122212122211222111122112212221122122222212211211112111112221221211212122112211111121211122222111222222112112221212111112222212122112222222212221222221122112111111112121112121212111121211122112222222222221121111222211122212121211122221111112112221112121112122112111212111222122212122121121121212112221222211212221112212111111211221212121212121111211112112221222121222212221122221222211112212121111221221212221111121121211211122122212211222122112121122122111112211212121212122221221212222211211212211211212222111222222121221222121222111121221111211122122112222122222111121111221111111212221122112212121111112221221212222112211122112112112212122211122122222121122222212121111112121222222211111122121111212112222211112222221121221211221222211122112211222221121112112211211121111211221121111112221111211222112212111222211211121112121212221211121122111111212121112112211221122211221211212211122221122222122121222122121211111221122212222121212121111121122112112222121111111211111211122122222112111222112221121211222111112211122111212222122112222121221211221221111212122221221211121122211221211212212222112222122211111121221112112121211112121112112221122122112112222121121222122122111121121222212112111222222111211211211121211221221222211121222122211122222221212121211121111212112222112121121212122211121222122211222111111112111111211112222112111222112121111222211212122211211211111222211112111211211122222211212211112221121121121222112121222112222122211111211112222222221212122121212212111112221212222122122122221212222122122122122222111211221112221121221212121112212122211121112222221211221212221111212212221212221111111121121221211211222122111111211121212111212111112121221212122112121221211212221211211121112112111221221111221122222211111221211211212212121212222212121211121221111211221212112211212211211211221111111122121112221222112212112211121211222222222212222222222221112212122121212111122221211222122112111111211221222121122222111212221111111222221221122112212222212212112122222112222222121122222221122212122222222212112221122122222122122121111212121111112111122111222222221121222222221212111211221222211112121221221122221222112122212212221212211211111211221222121112121122112121221221111222211121211122221211212211212211111112221122211222211212221222112222112222222121121222221221121111212221221122212111222122111211222112111112111211111111121111121221221212112212122212221111222121221122222122211211221111111221222222222121221222121111111112211112222222211122222212221111121211112222121211212122221121222211211122221212212211221112111222222121221211121121122222111121111111121212121112221222211212221222121222111112112211122122211221221222111211222212221121211112211222221212121122221212221122222221112211121122211221212111212121212221222221112211112222211112221122221121121221221221111121211121122222111122122212212221221222112122111122111112221122221121212211111122112211121122112122222221122222122111222122212212211221221212112222121212121112121122122122221112222221111121211221112211211221112111222212111122122212112211122221222121222211212121121122212212212221111222111211111222122212211212212221121212112112212122111222111111111221222112121122112112111111212122212112212212112112212112112112122111222122222122221222222222111122121221211121222121222222212212121122222121212122111221111111111222122112111212222211212111112211212222121122112122121212112211212121221121112212211122122212222111211212211211212211122221211211112112111111212211122111121112112121112222211121222122221122112221121121112112122122222212221221122121122112122222211121211112211222111111221122211111222211122112211121211222121111121222111122221111111112212221222121221211112122221121111221211111112122122121112112112111111121112211221211211222212221121122212111211112112112121211122112111111112221211221111212121112111121122221122222221211222112211121112222121212112122111121212122211211121111112211111121222211212221212112112211212221111112112111211111212121121212122122211112212111221121211222222112112112121222122212222212221211111222122111212112122211122222212212221112111121121111121222211211111221212221111121221122112212122212222212122221121221221221211221211221211221111122122122111112122221221211112212212122212221211211111122121121121121222121122212212211121211212111212112222111211112221121222222212111212221122222212111122111221212212211222222122221122212111222221212122222211221111222111212122112112122121211122212122222211221222122121211211211212112221212221121221111211121111112211121222111122111122121222211112111211112221211111121212121221112211211221211111122121112121221122112211221211122212212112211221222121111122211221111221222222211111111111211211221221212121221221121121212211121211211121112221111111111121121211121121221122122122122122221222111221111212212211212121212222121111122122122121211111212112222212212122221211111121122121112222121212121121222121112121221112122222121221221122112111121212111222122211222222121112221111112222212121221221122122211112221112122122212211221111222121212222112212111212122221221212112122212222221212211211222221211111122221121222222121212111211112212212122221112221112222121122212222212111111121221221211212122222212222221222112121122121212212111212111122122221222122122211221112111211222112212211122212111122221111121222212121121221212121121122212211222211121222212122221111111111121121221121212221212122111111221221111112211212112121212121222221112122212222212211211221211111111211212112221122112221122222222221211211112112122212122111122222211112211122212122111112211122121212212212212112121211121122112222211211221212112122211211222112112111222211211122122111212111112221222122221212122121111221122212121211112222212221122212221122121122122222212111121122112122111121221222112212221211221121112112122211222211121221221211112111121212221212221121222112211211211122112221121212211212112121111211122112122212212111122121212221121222212211122212211211122111111212211221221112121211221222221121212112212211221222212222212111122221111212112212121111111111111222221121222122112222122111111122212212222111112221122211221221221111222122121121111221212222112122121222111112121111221212222111121211112211222121221122211112112212121211112221212222111212222222121221222221221111111221212122211211121111221121221212112212221112121122122211122222211122212211121121212112122222222122112122122212212211121211212222122221212111111211121111211122111122211121121211221112221121122122212221112222122111212121122212111212121211222122112111212111212121211222211121112212122121211111212211111222212222212221222121221221222212111122122211211112221122122212222211212221212212122122122122222111111211222112112212212111111122111222112221111122212222121212111112222222122122112121122222212212222112121222222211121221112112122211112112122122222111111111212221122212112111211112122211211211121221222111121111121122111211112222111222211112111221211221211122222211222111212112111112121221222122111211221121212212222222122212112122222222112211121221121112111111121222111221111222121221222122212211112221222222212111121211212211121222122222221211222111211122112111121222222111111211212121122222122112112121121121122122212121212121222211221211222111111222112112222222222212222212111121122112221122211121121221222111211212211211121221112222122212212211211211211222111211212112222122211222222121122221212112122222222111112222211212121211222212122221221211111211222111122111221221212111112122112112112112121111221121212121121212222222221112222221211111211121221111111222121221122111221111111221122122112111212122112111221221122222212211122221211211212212122211121111122212112211121121122121222221212121122111221222222211221112112121221111122221121211221111112111211112121221212211222121112221111211211121122211122222111112121112222122121111121112221221122212111122222222221122111221211222221112222212121212111212212112111122111121112121212122221112122211221112122121212122111212122221211122121212121111211212111112121212221122211111121121221121121111221122222222122111222221111121122211122122122111221122112121211221111221121222111221212121111112121112222111112122121112222122112122222221112112121121221211222112211222121112212222122222121111212121222112221211221221111112222122221221122221222122211211212112111112221112222122122111111221111211221121221111222221222121212112111112212111121211222122112212121112111112121212221121121121221211122121211212122111121121211212122212121221221112221122122222221122211211122222121212112221221211111221112121222211211111111222221122221211222121121111222122212222221221221221111221111212221122212212212221122221111211222112121111212222221212121211211112122121211222221212111212212112121111112221211122211112211211212221212122111212121221121122112212122222121211211222222112212111211111121112212222212221222211111122222121122221212122221212122112222212121122221222112122221112111221122221222212221212122111212211112112222212211111212211211112111222221112122221111122222112221212211222112121122221211211121122111211222221221122211221211221211221121211222122221112211111222222112111212222221211222112112112221122222112212222221122211112221112111221122212112211111222212121112111112121112211121212212112221122112112111222211221111121221111111112121211121122211221222222221212121122121122222122212122221112122121122112121122121222211122112222211122122211112112112222122211111211211212221111111121222221211221112221212111221212121122212111222121121211221122211212111111212221221122212221212121121121212211121221221111211112222111211122222221221111212122212112112111112111212221221212122221121121111121222122222222112212212121112222211222111211112212112122221122221121222222211211221221221211222111221222211211112212221112221211221222122121212222122122111121111111222221121222112112112112221112112112122111111211222121112222211112111112122112122121112211221121222222112222121222212221121122111212121111122111212111221221122211221112112212112112221222112211212221211221112211121121122112121121211222222212121221222112212122221121212122212111222212122121222212211121121222211221122212211111212222121121122221122121121112222211212111121212222111222111122121211222222211122112112222111112212211122222122122221222211111111112212122112111221222121222111112211211222111222211212112122111221211112112121221211211122222222112112111222221211112221122111221111112221112112122111121122211122112122122212112211112121222211111121221222221111112211112222222222121221211212112211212111122211112122211212112111212211222111111212221112222221111121211212121121211211221112221212121222122222122211221221121121221222112122221121122121122222122111221111121111211212121112122222212122222221112121111121221221122111221212112221112222121221112221112122111122121121211111111112122112111112211222222111122212112111212221221112212112212111211121221221122211222212221112222222222221122221121222222212122211111121112211112121122121211222222222112222112111211121122211121121121122111122111211122111111111111212121221221221122111121111121221212122121122122122122122121212221221111112212112222122212121121121222212221121112222122212222221222122121221222222221212221122222112212112122122222222211111212211222222121111121222221122121122121122121111212121212221212211212222112112121211221211112111122222121211122111221212211121111211222121121211222222211222122122221122221212211221211111122211112122122121211222112112122122211112121221222112122121211222111222121122212221111112212212222122112221221212122212221212221112221212212121111111221212112111122212112112112111111212121112121221222122122121111221211111222222211221212111221222211212122221221221222122221222112111221111212111211121112112121222111211111111122121111112211211122221111212212111122112221211221112211221112222111122112121122122122122111111221212222122111211221112222121222211222221212121222111221112111222112121212111221111212111111111121112121122112222112111122122211211211111221121122211112212212222211222222122122121221212212112122121122111222221221111122121211111222211211222211121111112221222122212112111111222121221222222122222121221111121112111112122212222112122212122212122222112221121222111221222221112122221122112222212112212122211111211121112222111222212212111211121121111221221111211121122212111212121211112222112121211222211111111122222222221111212222222122111111121121221211211122222211222122122222211222121112112112222111112211222222111212112211222112121112111122122111112111112212112112122121122221121212112211122221112222121122211122122111221212112111221111222121112211221112222112122222221121212121222122121211111222121211122211121222212221222111122121121121122221121111222121212121121211112211222122212221122111111212121222211112221222122222122221212211222112222122111122121122221111122122221221221122212111221212121212211122211211211222212121121111122212212112222222111112222112212111212212221222121211212121111211222121211222212121112221221211211121112112212222211222221111111121112222122121211112221222211112112211112212222122221221221112211111111222221122121111111122212211222111111212122211112212221111221222211211221121221112121211211211112112122222211221211111112211221122211221122121121111221121221221212221211112212111121122212211122211211211122121122122111212211111212222221111122222122221211112222112111122222122211211211122212212211122221221122111112121221212111122111221112111122211121221122111121211122121122221112221222112112111211212212211121211221121212212121112121121122222121222211112221221211122221212122211122221211222221122222121122222121211112122211212211211111211212121121221122211221111111222112221111112212221222122121121121221111211221121122122221221211112122122211212111112212222212111211112221222221221111112212111221111121111121211121212221121121122211221221221122221111222221122121121221221212221211211122122121112222221112221222211121121222221222112211212122222112222221122112112122121212111122211111111112122211111211222122222211211212112121222222221122222122112222112221111112111211112211211221222111111222122122111121212121111121211222221221112222112121121212211122221222212111111212222212121111211212122121221111122122121221221122222212222211221222212211212111212211111122211112121221121211212112221112221111221111222112122121111121111111211221211212122211112112212222221212121111121122112112121221222212112221121222122122212222112211122221112212111112221112122121112111221111222121122111111111212221222221222112111221221211121121111221112221222212112221211221121122122221122111211221111212112212121121121222222212212111112121212222222221121121121112111221221211211222112112211212212211221112122222221121111111222212121222112211222111221211222212211122222212211122111111212122111222222211121112221212111121212112212121222222212211121212122222121112121222111222112121112111121112212222112111212221112111111222211112212122111221121211112111111122122211212221122112112122221112222222221122112222212111122211121121211212111121121221211122111122211211111112222212222222122222211211221121121121221121111122122211212122112122222221122221212211222112222112111212222122221122211211222222111221122222211221112212121212121121212221122211111221222112112211122111121111111221212122221112122121121211122122212211112111222222111212112122121222211221222222121221112122222121221121212112121222112222121122222122221122121222111221212111122212211111211122111212221111221221111212221111112121212222112122221121211111211212122212222122212121222111122121211111212221111121112222112212211112122121112112111212112122221222221122122211111112122222112222122121111112222121112222221122122122212112112211211222121112212222112111111212112211122111221212121121212211121221111111212121212111212211111211112211111221111222222222112111121211221211112221122121111112111211222222111111111212221122122121212121121122212111112112111211122111122211111221111112111121212111212122121112212121121221211212211212222111211121122112211122212221222122121122212222221212221212112111211221111111122121212121121122111222121222111112222111222111122221211212122111111111121222111122121212121221112222221211122112212212122222112111212111111222222121222222222121222122122211112112111221221111111111211111122221121211222221122222121221111112121122212221121222111122112121112111112122122222111221122212122212122212212222122221112122212222111221122211112121211112112121212212121112121111212121122222121111111221222112121221222222221122121222221122112221112212122112112121111121122111122221112122112122221111212211222122211211121212111112121212221211111121121222121122111122121111122112121212112112222211211122112122112212211221111222212122212111221222211211222212122111212111112111221112221112221122222211111221222211222112211121222221212122112122212121221212212111211121211111122111222111112212122211121112221121121121122111211221112221212211122121212212222111122112212212222222212121122121222111222121111112121111222122112112221222211121221212121211122212222211111212211121112112112112221111211112112211112211111122111111222112121212211222211221112112212121221111112112221211111221211212111212122121111222221121122111221122112212121112221212111121212222121222112221222122112111222211211222211211121222222112211212221212111221211221111212221111222212111211211211211212222112211111212212121112111121212121212112121211221111121222122212121221112112122222221112112212211111222212212121121112122121112121111222111122121112212111122122221112211112121211221112111112112122222222221121211121211122222112121212221121221111111121221122211112221211211112212111112121212121112122112112121211112122212121112122122211111112222212221112111122222222121122121212111221222112222112211122222212221211111121112122112212121222121221222111112212212221122221221211211222222112212121221211121112211221221211112111112221112221222111121111212212211121222222211111111211122221212122211111212222211112211212121122212122222221211222211112212211112212222112111221121221111121212222221122212122222212121111111222111121222112111112211212221111121212122221111121222122221121111111112222111211222222112211121122122121212112112221222121121111222121111222221222222121222211222222112112122121111121212211122212221122122122111121221211112122111221221222222122221211121222122122121221212121121221222221111112121222222121212122121112122111112222222111212222222212122121221212111111221122112222122222221112221212111211222211212112122222211222122211121121122121212121222221112222211212212221211212211122122122221121122222122121221122212121212221122212212222121122211222122221221211122121211212111222111221212222111121211212212122211221211121112111212212221222222121221122121211212211222212111122222212221121211111222222112122112211122222212221212221122111222112122122122211121221211111122221221112211112122221111112122212212211111222121111121121122211112222212212221122122222212211222222112112222222112221211222212121212122112211121121212112111112222222212222221212221122211112212222111211122211112112222212212211212111111111122221111112222111222212111111121221112221121121122221111221222212111222121121211122112121111111211122121111111211121212111112111211122211211121121212211121121121222221121221122112212221112221212212212121211112211221112121121112211222211111122121112222111112221211212111222111111212212211112221212211122221121211212221212121112112212111212221111121111221222112121122221111212211111111221212122221112121211122221211121121111211212222121121212111121112122211222112212111222121211212121111211111221221221212111111111121121121222211221112111212221121222111221121121221121212222221112221221212222122112212211111222121221222112122111212222211121211122121122222222112221121222121212221122121112122211221112211112211121112212211122122122221222211112111221121221211121221122221211122121211121121112222222121211212112221212122112212221112121211212211211222212112122121112122222112222112211212211122212122211211212211121222222111122212211111121222111112221112221211212212222111221121121211122122211222222212111112222122212111122122211212111212111111212122122121212121221121121112211212122111122112222222121222211111212112122211111221211221212212122111112122222121121211222121122121212221222211222122212211122112221122222222211212222121221221211112211212112222112221111122111121212211212221221221112222222122121122211122121111111112121222222222112221221211211211222121211112212222122212122211111212222221112121121112221222121221212211212222121211112111222121221211111211112122121112122112211121111121112222112111111222222222122211121221112221121111112212212222111122211222211222212211222221111112111121221211111112222121212211112221112221222212221221111212111212111111221212222122221111222111212111111211211222121122111222112121212222112222211222221221112212221122221122212121112211122211212112122111222122122112212121112121121111222212121211112222212122211122212121221222212222112221112121112212222221212112111222111211112222221122222221212212212122111222212211211112112122122221221212112111122122122222111111112221222221212221222222112212222221122211221222112121112111222222212121111111211121212112211211121112222112122222212221211121122112122222222211211121122112212112222121222222111111211122121222121211222112121111111111122221121221211211222212212212221222221222112111211111212112222212111222222211222221112212121221112111111221121122112121112222212121221212212211122122122211112122122211221122221212111212112222222122212121211221222211112112221212111112211112221122211112222212111121121212122222212221121121211212112121111212212211112221111212121122112211212111122121111212121211112211211222112112211212211211112122112222122211222221111221222221112222112212122121112221212211221112111211112221111221211211221212211111112112121222212121212111112122111212111222122112112211211111122112211122222212122121112112121212212211121212211211211221212211211221122222211211122121221212121121111212111211221112112221121211112212212212111222212112221211112112212121212111121221121121212222211211211111122212211121212122122211111221221222122211111212122222121221112112122122212212221212111112121222221111211212121111112121221122212211121112121111122212122122111211111112122122112112212211112212112112211112221221121212222112121121211122221222122211121121212212212112221211221112111211121121112221211112222212122222222121222211222211221111112112121221121121211112111212212222221112212222222211111122211112212211112111212112221221221212121112122122111222111211212122112112122221121111211112111121211222111221111122122221212211112221121211121222112211221211122221112221212212211111111212211111111111112121222212112121122112111121112212112121211111112212221121121211122121211111111122111221212122121221111121111212122222121222121211222121112212211121222212111211221212221112122222212222211211211221222122121122121111121222111111121112221112222211222212211111121111111221111111112222221222111121112222112111221222121222111222212112112222112121211221112111121121121112112121112222112211122211121122211212211111122112221211211222212121111211121222121111211212211111211221222111121221211212122212121111122112121211221221211111121112221112211122121211211221212121111112122211221222112112112221111111111211212211212111112221211212222212121121221221221221221121222112211111122121211211212222112211222111222112112112122112222122212221111222211211122222122122121121121211111222222122111211221111121122221111122121112112212221211222112111111111211122121111111121121121122121111212112211122211122221122111112212122211121222111121222121112212221222121222111111211111121111121211122111211112222112112121221211211211222212222121122212211122211121121122122222122121221211211212111112212122122222212121221211112211111121221121121212221122212212121111121221121221211222212111112112112221221122112211122112122211112112212212111122112121221122122121111122122112112121111221211111212221112121212112122222121221111212111222121221112122112121221111222111112222221212121121121122121212221122222211222211111222112112121111221112122221122122121122111222122212222111221112221112221122212211122111121221221122222112111122211121221121211111122211212222222112111222112221121122221212112111212121122121222112211122111111121111221211211221221222121222112222212121212122221121122121111111212111211211221111122211222212112221211121211111122222122112221221122212111221211111212112112212121111212112121212211222111112222111111221122212122222212221212212121221222222111111121121112122121211212221122211111211221221211112222111221221112222212212121211211111212121112222122122122221211222112122111111222121111211111221112221211122111222122112112211211222221212111221121222211112112221121212112212112122121122211211122111112111111111222211212212112211122112111222111122212122222121221121211111212112121221121112111112211221221221211121111212121112211211122222221111221121121121211112121111221212212222111211122212221211112111111121212211122212221111122222122222221111121212122122221212222121212122211121111121221112121112212122221222121112122222211212221122212222121211222121122121111112221111112122111212121222112122222221122222111122212222111121221122222222221222211222121222212211112211212222111121211212222112122212122222211111222212212112221221212112122111211212221122212222212221121121221121121222222211122122222122112221222121211122111112221122222211211121221122221211212112221222211121111122122222112221211121121121221122222222222121121112111121112212222222112111212122222212111212222122212221221122222112212112221222221221221222122222111111211122212221122112112222222222222212121221212212111121111111212221221221121122121121111212122221122211221121211212122221121122122111221212211111221211222122112212221121222222211212222121111121212211222211112222222122212122121211221221121212221211222111212121111122211111122122112221121112221111211222121121212112122111222122212112222222112122211112122121112211112211212212112112121122222212121222112212212212112112122112212121111121211222211121122221112121221211222221221112222122121112121222122211211112221221111112121222211112212222211221222222211121112122111121221111121112122211111121111222212112222111111112211122111221122211211212121121212212221211211221212112211112111111222121122111221222211211121212112221211222122111122211222111121122121112121122111211211211112221121122121112121121122112122122122111112211122222211112221111112212211221111111122122111121121121222221111211212112122221212211222212211222212112222212122222222112211212121222112111112222112221212222122111221122112222112221112222121122112212121122122211122222221212222121111212221211222111222222212122122211211111111112122222121221221211221121221211111222221122121211122221212221212122111221121211221121221111121212212221111112121212111112122111111221221122211212211212122212211122111121211121121221222212122212122122222221221212221212221222122221222212112222121111111111221121121111221211121122111211222122111212111112111222221111112122211211221222221111212212221212221112111222222222211111122212221222121121111212221112122122222212222221221111121112221112221211222221122222111111222121121221212112211112222121211111122111222121111221121121111111211221212121211212111221211222121211121111121221122122222121112211212112212212221122221212111121112211221211121112222112112121112222111221122111122122122111212111112222121121212221221222111211111211112122222121211221222111112121221121122212121212211111112122221222222122112212111121211122112222211122211121221221112122211122111122122221221111112112111221112122112122112112112122111211121121122211221222122222221111121221212111221122222211112212221212111211211221222112211222222221111111111211221221221112222211121221112111221221222221222221111212121222212112212121211121122111121122112212221222221121212112211221212122222122222111111121221121211112211121221112122122112212211221122212222111121121221111221211112211111221112222212112112222121111121122222122222212211212211212221122121122111111111212212122211121221211122112122111112212122112222212111212221212112212112121121212121122122122121121221211211122221122212222121211121122121112111121211121222121221211111112121211222121111112211121222222211212222211211222122211121121221111221222122122211122212111112112211121221112221111121112211121222222211212212122211122212111122221212122221122122222111112121121121111222112122221111212122122111122221212211212211222221212212112122121221211221212221212212211111112222212121212121122222112121122212211212211211111222221121212212112212221211222121222212211211222112122111212221111222112111122111212122222121222111222222112111122121122121211111111222221111112112122222111222121211122111212111221221221211112121112211111212221111111112211111211112222211122211111222122211222212121112121222121112222221122121211121222111121111121212111121112122112211122122222222111211112222121211221111222222212221111122122111122112222121112111222221212212121121112122211211212212222222121211121221211122122221112121222212121222121222111212212211111122111221221222112211221222221112211211121222122221112112222121221121221212111121121211211212112112211222212211212112212112111121212221222121121212211122111121211121212211221121111212122111221211211111212222111222212222222121211121212211221122212221221121222221211221212112221221212222222111112112121122121222122212221121211111222112112111212121122222222111221211211212211222221121211112111121121122211211111122212121122211112221211111211221121112111121221111211221222222121212211211121112112112112221122122221221112121112212112221112121222211212112112112121211212111222221121122211211111221222121121112212122122122211121212122211111211211112122221111111222221121211121122211111222111221212122122121222112121121222121112112112212111122121111112122211222111122221221112222212122121212111122112111122212222121212121221112112212212212211222111122122112112221112111212211222222221221121112211122122212211212122121221112121122121222121112111212111112122211222122222122212122121211222211212111222121112221211121211221221112121121111122212212111211112221221221122112121222211112212112222111121122222111111211112111111212221111122121121112221212121221211122111121112222122112112211112221121122121211212221122212112212122122122112212211122222212211111122111122111221221221122211111211122111222112111212121112222111121111121121111121121211211222122221221222222111111221221112122112122221222222122112211121112121121111212112221222111122111122112212222212122112112111222211121222112211211112222211222111112121111122222121222112112222221221111222211111112222211212212121122121112222111111112212112222111111112222221112111211122211221122211122212222211222222111121222121211121221222212121112222111111122221121121212221221111221222222211221222211222222222112112121212122112111121211211222111111222212221221111112211121111112121112121112222222222122221122111111212211221221221222112211111112111221212121222211212211121121112121122122111121221221211111221111111122211211212222211211112221112121112112211211121121122111211221212222211122111212211122121112122122212112212122222112222221111121121111112122211111212111222122111111112112211212221221121211121212211122121212211122111121211122112212221111211121122222121122112122211212222122122111222211122211112111111112121222122211111212212221222221121111211112212112122212212111222222212112221122222222221121112211112222121122222211212122111121221111111111222111122212122111212221222121221221121222222122111211212112112112212221122111212111212222112211212221112122112122112221212212221222121221122111121222221112121111112112112222121212122221212221121111122111221212122112122211211121211221212122211212222212122222211121111121211121222221221222122222222211122222112211122222212212222211221122111121212122211211122211212112221222222222122122221211122221221122122222111222121122221222112121211221211112222121122222112221211122211222111121212212112112112212121222121111222111121121112111122122222222221221212211222121122111211222122222212221212221121222112222211221212121121122221221222211222221222222221122122121211222112212121121112111122111111111121212211112122221112111122122212112112212111222221121222211112222212221112121121121211122211111112221211222221221121211122112221111121221221112212111221121121122212211211222122212121222221212121111112222211221211111221222222111211112222221212112222122222111212221212112211221111222122212212222222222112112122111111222122222221111111122122212222112111112111111122212112221222121111121122211212122112122122111121122122222222211121222112211111122221211112222112122222211211211221122122111222212212112211221111121112112211221221221211121222111221111221121111112122112211221111222121211111121212121112121212112211121212211122221122221111121212222212221111222111211222122212211222122112121221121212122121111211212221211221121221211122211221212112121212112122211222221212121112112121111112112112212222212211222121212222212112112211212212112211111211212211111221121122121221122111211121211222112212222111211221222211121111121212221121222111211222221122221121222111111211222121122222112222112212122111111122221122111221222221221121211212212112122212121121122221112221211122121112221121211122111112112121222211211111212112222221112121222121121121122121122111211212111112222211221221212211112112211111122111221111111121222221221212112111121211112212222112121221112122221112211222112222221211212212212211222221221221122122222112112111121122121211222111221111112111221111112121122222221112221222122212121221221222222221112221122121111211112122122221212211211111221121122221212122121221122212222112112212212122122112211122112111112112111211211121211222112121222221111111212112212121121112112122212112212211122212111122112221211112121111222121121122221122211211122222222211212221221112111212111121112212121121221212221111212222212211221212111111221211221222222212111222121122212221111221212222122111111111111221211112122222212121222121212112112222111121212112221211211222222121222111212111121122221222222121111212122121122212222111121212122212221122222112122221112221222212121121122112111221111122112112111121212211212112112211221211222122121212221111211121212122212222121121221112221221122211211212221221122121121121111122111121212221222212222221121112221122112222222221121211221222121122211222222222122221221211122121212122112122212212121122111122112212212221112122122222211211122111211121222222211121212211112122221121122212112111122111121111212112112111122211211221112122212122122222212112212212122212112222211221211221112121222221212122112111222211211211212221122121222211121221111111112222221112111122212211111212221122222221221211112222112112221211121212112211222211112212112112121112212112212221112212221212212211212222222221221222112112212122111211112212212211222122111221221221212122212221222221211122211221121221121111221122212121111111221221122111111211112211112221211221221222112221112122122221211111222212121221222112222212221212111212122221111221222221212121212212211222121211212111122122221212112122122112112112111222211212111122211211122121121221222221112212122221212122122112122122112221111212122122211121121212212121111111121112211211112122212221221211112111211122122112221222212111122122111221211222222121112111221212121212121121222121121122211121212212121122221222222121112122211221121122112122212211212111122211211211112111111111221211122122112212212111112112222221112221211111211222122211121222211222122221112112211112212121211221112211221222222122121112111221121222121122121222221222211222121222112112121221112111222121211211112222222212211212112211112222212212212222212211222112111212121122122122222112212121122212112112121221111211221222211211122121112221212122121111221121112111211122121221121212112212211121112212122121211222122221122221111121222121121212212211211222122121211211222221112111112211222212211111211222211111211121222212111112221111111122121111112112221221211221112112122212222112112122112122212111122212212122121222121221121122111221122222122112212121112221122221111122112121221211122211211121221112111121221122221122111212212122211112122111222122111122212222122122222212112111221211122211211111112121221212222222222212222212221221112221221211212122212212122111222121211212211222211222112211212121111121111212122211221112212221122212111121221222122121122211211111121122211122222122211222222111211211221211211221221222222122111221222122221122212111111122211212121112221211122212211111212222212111222221122121222121112111222211111121122212212122211212221121112121222111222112111111111121221212111121121222122222111122221122221122212122121212111121122212122112212111112112111112122212212212212111222211121221121211121222221121121111211111222221111211222111111111121221121211112211121222222212111121222222112112111212112122212112212222112211121211122211221122212121111211112221122121221212111212212121122211121221111222121121121211211221222122211112112211121221221222112211121221111111111112221212221221221112122112111111222111221222121222212122121111221111211211212122111122111112221111211211211122112111112111121111222212211122221121211121111111211221122121222122111122212111212221111212112122111211211222221222221211121212111212122121122121112222222122121122111212222222211211221111111212122122112122221121112121212111122212111211111211122211122122121122111212212222211211212121212121211221111212111211111111212122112122112211111121112111211221222122112211212222212122212222221211121112222222211121121212222212212122111122212211112111211212121112121111221221111212111121221111122111222122222111122122212222122222112112211111112121122112212121112122111212222211112122222221122212112121122121111211221112222112221121211111111122122212221112111211221221122222121211112212121111212122211121111212122211121221211122112211222211212222222221111221222221122121122122121212222211212111112112212221111222212121112121221211122111222221212112111112221222121112211222212222221211111112222222222212221211112221212211222122221221112221212212122112221112211111122111212122222112221212122111111122122212212122211121221121122121221122222111122121211221121212112111112111111111122121112211111121222211111222121122211111111212121211122212122121222212112221122121122111111212111121222211112112112111212121112111212122111211122212112111222122212112112112121112212122212121122211212221121222212111221122221112222212221222222121221222222122112221212111112212112212211212212221111211222122212211122112112121122111211112112111122121222112221111221121112222121222111122211112112111122222212112111122121111221112221122121212111112121222112211221122121221222111111111111211222122211122222222222222121122112122111221112221121211221121212211211222111112212222121122221121122111212212211221121111122111112121211211112112112212112121221222222212212111112221212212221222111211121211222221222221211212112221122211221122122212111221222111112222121122112112212222212211211212222222221121222122112221122111111211212212212122222212112212211121211112221221121122112112212222122111111211111221211111112211221222212122112121122111222221111221212221212121212111221221212122222122222112111111211221121111122111122222121211222222222211122112112111222122111221212121222212222222111212112111212221112221211211121221121122112221222112222111222221111212211111112121112121211222211212121112122122112222222122121121222111221221222222221221221222121222211112111121222121111111121212222221222122222111211212212122112111221111211111122111122212122122211212211121222122122221111122212212221112122111121122212121122112221212222211112122211122122112112122121211111222122122112221212221211221221221112212121212222211211111111121122212122212112122212211211212211112212111121211111221112222122212221222112221222111212111211112212211121111212122122222122112122121222111121221212221222221222212111211212112212121221121122122212212122211112122122122211121211221212111212211111122112222112121222222112222211122111121121211122221121111211121122212122212211212112122121211112112222221211221111111211221211122121111112121221212222211221212221112221221212212122121212212121112212212112121122121121221221211111221121212112112112221221221111222221122112121112211212211121112122112211211112112122222222122221112112121222212221112112222222111222122212221111121211211212221121121211212211222121121221211122121221211212211111221222122211211212211221111121222122111222222112122221222222212121121111222111111121211111111212122211221222112111211122221212212121122122221111122112121111111112112121121222112111222222121122211212211212122222211121212122121111222211122111221112212221211112121112122111212111211122111122122221121122221212111121122122211112111222211212221111221222211211222112122222222121122111211221111222211122122112112222111111112112222212121121122211121211211212211121221122212111212122212112211112222211122122121211211212122222111211221222212112122111211122112112111211211121112212221121112211222221112212212122222111222112221222111122121122212122111112211212111221121222121212221211211112121122112111112212111111111212112112222221221222122211212222121112211211122211222222212111222211111212222222222211222122212111121221121122122121111211121111122212112221212222212212122221211211122211211121112112221121122211112211221221222121111122212211111222222121221211212212112221212112122111221122111222111112212211112222212212121121221222212121221111111222111112212211121111212211111121212112222221222211122221222221121211121121222111112111122221112222222111212212112212222212112221222111222111122121221112112112222112111121222222112122111212111212212221212212111122211222111211122122121121112122212112212222112112221212121221112122222221121121111222122111211211212112121221212111212212122111212211111212111111122211122211221212121111122222211211222211221211212112122121121121221222211222121221121111221111112122111211121222222222222222211122221122112122222211111211122222222121112111212122222221121211111121211221212112121212112112111222112121111221211212222122112111122222211221221211121121222112122111112112212221222111211212111221222221112111121112112121211222122221112121111122211121112221221111112211211122122212222111112211222121112212121212222111212112212112122112122122112112112212122222122112212222222121111112212221222222212221222211111221211212221121111111111211122122112222221212212221211111222212122222211222121212211112111212121111222212122121112212221212112121221111112221112211111112221222111121221212212222112121122111122211111211122121222111112111221212121221122121212212111221211111212121111222121122122221122122212222112111212112111112111111222221112221121212111122212112121112212112112212122221111121112221222111222121111122121211121221122221211212212211212221211122121112221121112111211222211111121211222111211212122112212121112122211111222112212221211211121221121112221222121211111112111222112222211111122212111112221211122221211111111111122111111121112112211211212112121221111211221211222122212111112222212221222211112211122212122222212222221111121221221211112112111111222212112111211212121222122112221211211121222121111121212112121122212222211212211212121122212222211212211112222221222111121221111212222112211121212122112211221122222112111211111221211121112112111212122111212112211211121211111222222111211221121211221111211122112112221111122121221122121222122112222221222122222222122221211221212121122221121121221122111211212122111221121121111121212212211121112112221211121122212221111211221122111211112222222222221222212222112222111221121112122121222222111221221211121122121212122122211111112112122212211112122211222121221111211112211122211122221212222112222111122122221122112111211211121112112222112212112212221221122221222211212112211212221212122122121211221122111222121221121111112112211212122112111212122211122222121112211112211112121122121121212112222222121121222212122122112222121222122221122111212222122122122222111222112121211222122122112122122111212121212121212121221122221121212212111222122112211222122112221112111112221221222122222121211122212221221121112212112121121122221112221222122122211111112211122121211121212111122222121211212211221111221221222111121212121221212221112111111122122222121112122111111121211212211121122111122212212121112112112222121112111211212122112111222222221221112121111212121121111211221211222222111221122211221212222111112112122111221122221112121111111221222212212111222121211212121122112121111112112111212112112122122211122221222121222211222222222222221222121112211112112111221122221122112211121122111111211211122111112121111121121111122211221222222112212221212122221211211221221122211111122212212121111112111111222211112122212112211211212222221111122111111211112122221221121212121222211111122221112211121122121121122222122211112222111122112122211121211112212112112112222122211221112122112111112112211111211212222211212122211211121211121222122121222122211221122111111222121211212112222222122212212111211111221122212211111211112111121122211121112211122211122111221211122221222112121222221111211211222122122122121222122211212122122211111122111211111121122221122121122121122212111112211111121211111111221221121111111122111112222112122211121122221112221211111222222212121222212221111122221221112121212211211121221111222122211222222111222112112222111112111211122112222212111112122212221122111212211112111222222122112212112111212222111112222222112121122222122221211221121121111121122111121212111111221212122112121112221112121112212212112122221111111221222111221211112212212121121112221211212121212121112211212211222112111111221211122121122222121121222212121112211211221121211222222211211112121222222111111211121122221121212122111212211212221121212112122122212122122121112212211122212212211121112111221111111112111211212212212122211111212222212112212222222212211122211211122111111222122121221211111212122211122212212211111112212221222211212211111122221111221112122221121212111111112212221222122122212111212222121221221111221122112221221121122222211221112122111222121112221221221121222112111222221122111212121212112221111112212212212122111212221211222112211221212122222112222122222211211122111222121111221212121122222221212212212211111122112212121112121212212121222112212222222222221212212221121222222221112112121222121211211212122211122211222111121121212112212112112111221221121212221211112122211121221212122122112211212222211111122222112211221221122121222221122112222121222211221212122111221111121221222222211212211211111122111211221221222221212211221112111222112122111112221211112122222211121121211211221222212212111212221211112221122221211121112221222112212122122211211121222212222122122211221122122121212211122212221221222211211212211122211222112211112212112122121212122221221111121212121121221122122221122121111112121121121122122222112211121221222211221222212221211221112222222121212212222212112122212222221222122112212221112212211112221111212212211122221122211211222212112111111212111122211211111112112222122222211221112212112212211122122111221112212112211211122121121222212121111112221121112221221121212121221121112212222212121112222212212112211221222211122122112111221211111222122111122111111221211211111212221221121122212222222112221211112222121111111222222221121121121121211112122221112111121121221211212121211122122122211122211122122121212221221121121212212211212111222211222212212221122111211212211212121212111221211211112111221122211211112221211221221211121121112221121112122112221222121211222212111212122122212222122121112121211111221111222222222111112122212211211212122122222212221121222221111121222211222121211121121121211212211111222212111122221221212121222111222221222222211122112111221221122222122212122121222121111111222122121212221212212122212211211121212211121212222112111211211212121111222212112121122222112121112121111212211222122222221121212121121221111212122221211112121111221121221112211111121121211222221212111112112122122211211211212111122221212221111121212222221221222211212121211221122212221112112211122221122112121112212122121112112122212111211222222212122111222222121211122122111112111212112212222111122221221222221221222222112221111212222212121111212221222112212221222121111212112211212222212122212111112111121211122112122112112112222221221121221121122221111111112112122222111212211122221221211212112121212122211221221212211112112112111221111111221112112121211111222211121211211211112211211221222221212221111111112212211212121222211211211122222221111112221122211122221122211111121222211221212111112221121121111212212211221221122211111222121222211222111212212222211112111211111221211221211111212222222211112211112121112212121222122122112112112121211112212121221221111211221212121122121121112121112111212221221112211122121222122221222121212211122211112222212222121212221111211122211212211111221212212222122212221121111221122111122121121211221222211112122211221212122222212212212222122111222211112111211121222221122122211221222121222111111222121221122212111221111121222122121211211112212212112221121222121112222211111111212111222212222222121212221112112212212221221211221221121122121222221221112121221121211212211212121122111212222112111212112122121211112122112122211212111111122121121111212211221212122121212212211111122222211212112211122212121212122112222222212221212122122211121222122111112112121211212222211121121212212211122222121122222221222212122212221112111121212121111122222221221112212212221222121111211121222222221122111121211122211121112121112112112122111221212121121221212122121212221222222211211121212121221112222212211212211111112121121121111212121111121221212222111122121212112211222212112222121212122111212221121212212122112222212212122222222111112112111121112211121221112212222121211112212121111221112221121122211121121111121212212221111112122112221121112211112112112122222112221211111211212212121212112222211222221121211112212122222222211211212221122112221211211122122221221222122211111211122212111121112222212112222221111221222221122221112222221221221121221111111211111122121211121111222222122112212112121122122212221122211212212122222211121111121212221221221222121211121222221122212222221222121222121211111112112121112211112212222211122222212122122222221221112212212211222211112122222222122222222122122212121111112212211111121111121122112212111111222221111212221212211112222121221221221111122222122112121121222212221111212111112111211111122221111112122221221121111212221121111212111111112122121121122212212121222222211221212212122211122112211111121111212212222112221211121111211222122212221212111212211112112121112121122222212221221122211222222211221122112212121112221212211212122121122212222222111212121211211212211212211112112212111111211112111122112112211222122122222121222222221112211111211122211121121112122121211212212222112211122111211222111111221222221121222222122221221112222111112222222211121121211211122221122121212221221122111212222212112112211221212212222112112211222222221211211121112222121112112211122111122212212211111212222221211212122121222121112122122112122111212111122112121212122222121122121222222112221121122211111222211121122122122122222211212121212112112111111121222111122221121122121221211121222111122222112222222111112211222111111111111111112212222121212212212111112222111212111221211121122221111112121211122212212211112222122222122212122112122211121221211112111111212121121221122122221111211112121222121212111222121211121121212212121121212212212111122112211222222221211222222221211212211111212122111222221212122122111221121212112221121221221211112211112112212221211111221112121112211211122121221212121222111221221222221212211221222112211221121222121211122221211112211122212121212121122212212211212121121122211112112211212221112222112122111212112221121222111211211111211121222222121221121211111222112122211221221212221222222112211111112121111122211111222221221222122222121221222211211211122212112122112212121121122122212111121212121112122112122122221111221221211212212111122122111111222221212122122222211222222112112111122212212112111222122211221211112212112212112122121222122222221122112222222212211112221211122122111112111111121111111122121212121122112222121122112211122211222122121211222111112111111211111221211212212121212121121211222111212112111112211112211212211212122211112112122212121121122112122122222111212222111122222112222212111112122111112122212222222111112211221212211122212212211111222222112212111111212111222111121122211221121211211212112121122221221112121112212122222221221121211222212211112111112212121122121112212212221211122122122122111222211212222121212221122212111211111211212111221221221111121121212211222222221112112211122122121221111221212122212111221222112122111212121122112221222121212212222222221211221122112112222221222221121121111122221211111221222221122221112122111112111121111111122111222221122111112112222222112222112211221221121212111122111211221121212112212211121222222112112222121211111111122221211121121112122112111112122122211122212221222222111111221122122212121122211222112211122221212212122112212122222122111222111111222122222112112111121212112212222222122112221211211212112112212122211122111121221112112122212121111121222222221221112111112222222111111221211122122122211222212222221112212112211212121111112221112221121221212121221122121122122222121112112212111211122122121111221221222121111121111111212112222211222121221221221221221112212122112121111111211111121122112112222111111112112211222221222112112122222121112121221212222212112222121122112121112111122221212222221222111211121112122221212212111221122211111211221211112212222222122212121121222111212221222212121122211212111222221111122111112221221212111111221211212111111112221122222122121121111111211112221221112211221221221122121212222112111222121112111111212111211211121112211122111221111111212122222122222211211222211122111121211122112212122112222112111222122112111212112212222122121211121222112221212112112122222111211111222122212122221122222121112122222221111221121221222212221212112221122121122121221111221121221211112122222112221111212212212122221112112211121121122212121212212211121221122121221212122111211212211211212111121122221122222122112111211121221211212221111211211211211222212112121111211122112212221111211212121212221222111222112221121121122121212221121122212111111121212222111222212212221121212122222211211121222111122112222212222211212221111111111211121212112112221121111211212211111222222211221111212212222212222211222221111211211121121222222212121222212122122112221121122121222121221112212112111122212121112112211222122122112121221112111112222121211121211122112222111112222121221211122111222122122222211122111122112122211222111111121222212121112111211121122121111211212112112121212121221212222212221122211112211122222221111222112122212222112222212222212221211221122221211212121212111211121121112212221112221112221221221111122222111221212112222212221211122122212221122222222211111121111121211112212121122121111222122112121222212122122122212122211111212122122111211211212222212121222221121121122121112212111122121111121222221211222111112121112222211121211211122212211111211121122112111121122122212211212211212121222121212111222112211211212221112112122212122121112211121111222121112222221121212112121222121212221122112212212121221211221221111221211211211121221122221221221221212122112112212212112211122111221112121121122221111111112122211122111122112111222211212121121121222111111121121211212122222112121211222212111211111112122111222121212221222212111221212112211112212112121111122112122112122122221112212221212112222121122111122111112111122221111211221222112211111122222211212212122212211221122121211222222212221121221111222221122112222211211122121121121111112212222212211222121111222211122222122112121111222221222112122211112211112212211212122122111122111121221211111212121111222222212122121112211112212222111222121111122221221212222122211212122121212212112122112222121111212212112122111121211221221221222222212221212222121222212111122211122112222111222121111212222122221211122122111111122212112222112122122111112212211121122121112121211211211211122221222122111111112121122121111212222112211111122221121222112122211122211211111221212212111122112211221211211221221221112222112111222112111111122212112111121221211121211222222221222121212221211211121211211111121111222222111222221221122122211121211112111212121221112112221112122121212222221222121122121221222222212211111212221211121112222111221112112122211211112112122121111222111211111122111221212112122212112211222122112122211212112212212212121211212111211112222122211111112222211122212122122212222212122122111222122121111212122111212111121222221211121112112111211221112122221221212111211212111212212122112122111221222111122122221222211222222111121121111111212221112112112222111222121222121122222222212121111111112222111112212111112211222221222211111212222212222211121112221211211212211121122211122221112111122121212211112221211122221221111222122111221112212121212211212212111112222222112212222221222122112112211211111211122121122222212121221221122212111122122222211211222221211111212222122111212211111112222121112221222122221111221212122112222121212112222111211112112121212122122111121211221212222112222122122221121112222112212211112211221122212211121121122112222121122222222121121122121121211121222112221211221211212122221112211222222111122212111112111212221221211112212212221112111211221121212111122111121222222122112222112212211222221112222122111211212211221222121221221121212112111222121221211212221111222122221212122222121212122121122111212122112121121121111211112122122111211222122212221212122211122222122212212221221122121122221111122222121212211122212121212211222112221121112112111212211111221122111212212211111121221112221221212121212121221212122121221222211121211212211211211111111212111111112211122121112222221122212221121221211112121122212112112122111221222222112221212212212221121212211122221222112111121212212212211212122221212211222121212221222211211211111221222111221111111111211121111111111112121221121212221122122121122121122122221211221122222211221222122222212121212212221221221211121121222121111111211111221221211221111112112112221112212212122222211212222111122211111111111121121212112222121122111211121112212222222111122221212211111222211122111212222121212222122121122122112122121221112212221111111221111111212212212121211122111121112221112221121211222221211111121221111122212122221112221211222212222211221221222212211212212122212211122122222112212111121121121222112111212122112221111212121121212121111221211112212112122121112121221212222122211212222211212222112212111121122111112221211112112221111221112121221111222211211211222222222221222122112122221122221111222222222121222121222111111211111121121222221112122211221221211212112112122112222122212222221111221111111121111121212122212222122121122121212121122121121122211222212221122222212222111122222121222221112221222112212222122221121111211221222221222211221222221221112111211221212222121112122212121111212212111221121211222121121112122211122212211222122221111221221212111221122122221222211122222112222122112111221111222121211222221221111221211112211221121112122212111112122211122222112121222121212122112221212122122221122212212222212111121211222222121111111121121222222122222122111122112212212122211111211121112111222222122112112112221212212121212122122212212222112212111212221111221221222221211122221112212222211121212121112222221121121222212222112121112121122112221211121121222121211222212221222222121212112111112121211211211211222221112221221112222121221112111121211122122112112111112121111122121111111222112122121221221222112121112112211111111112121221111121111221121211221111212222121122221121112221121212112222211111212221122121211212121211222221112111111221211122122211111212222211111222111221121221112122111122121211211212212111221222112222211221222121112222221221121221121212121112111221122212211122222211112122222212122111211112212211122211111222111211212221121221211222111212122211121211111211221212121211212121122211121111212111222222112211221221112211211112111112212122212121112222122112222112122111221122112212222211121122221212212112122122221221221121222121221212122122111222222211212122221111211221222122211222221212112212211212212122221121222111212111121221111122112112212211122121212122221222122112112121211211111221121111122122222121211122211122222112212221212122121122212111121212211221212211122112221112122112212222222121221122211222111122111121112212121112112121211212222122221112111111121121211221212121122111221122112222222122211212111211221212111222212211212211121112222222111121221122211222222111212211222222221122112221211122212121121212222221221112111112212221122112212222121122212222121122222212111122121212121212111211122112111111211221121222211211121122211211222122222112222211222222212222121122211121111112212121211121121111121111121222222111221212222222221121121222212222212111211122221212112121211221212111222112111112222121212122121211111222211222122222222221212212211112122212212211121121112122212122211112212212121221121222112121112222222221221211211222212111121222222222122112121112122111222221211212211221111221122221222221121222212111111222112222212111111221122121112122221121222212221212222112121121221221222122211121212111222112121111122111211122122121221121212212112211112111122211122222121222121112212112212211222111221222211121112121121111112121211121212112212111212212222122211122212211121121222112222221212222211111221212221112111112122111221221121111121221111112112122211222111112222222221211121221221211222121212112122122211112211122211122211222111211122211121121212122122121212122212212221111222222222221111211122111221211211221221222111122212211211111112121222222212121111211112111211211222112121222111111212121221221121212221121121121121221122122122122212212221121122112122121211212122112212111122221211122122212111121111211221121121221212111221222121222122112211212122212121112112121222222222112112221212221112221211112222121121212222221211211221122222112111221212122122111121212211222211222121111121211211111221112112222111122121222222221121121221121122212211212211222112121212211221112222111222121222212122122111221222221122122221212221211221121211122121211221221111222112222122111211111112112211221221221221112222211222212111222121222112122221221121222121121211222211221112111122221221211222122111211112211121212211112122112121111111222221212111111222111222211222111122221121121111122111121111111221222211221122211111122111122221222221112212221112111111212122221122121112211221112121222221121112211211122121222221121211121121221112121212212211212212222111221222112121211111122121111221222211212222121112211221111121122121122112211212212111222112122211112212112211121122111222111112221111221212111211112122122112111211122112121222221121122222212112122112121222121122121211111112111121221222222121212121222111122212222122222221121222111122121212122122211212211212211122112222112122111211222111121121121211221112222211212222222112222212121221212112111112111211222211112121211222221121221211121221121212221211212211122112212111222122222222221121122221222111212212222211121211211121112211112111211122121211221122121211211221221212111212212221122212212212121222121222112221222222121222121211121121122221122211122111222211212111111122211111211212211221221222122221112221211221211111211112112121222122111211112222222122112122221211121212211222212111122121221211111211221221211222222222222211212112122122212212211222121122121221211121222121221121212112212221121121122122211121122221122212112122122212222221212112121211212221221121112122212111221221221221121221211221212211121221222222111122112121111121112212212112121111212122212111112111112211211212212212111211221111121112211122111112121212211122122121121121111111211112121212111211211111121122222211122212122112111122222221121112211121221212221212121222122112212112212111122212111112122222111111222212211122222221122212222121221221111221212221122212111111121221111221121122212122212221122222221121222111112122121211112111112112211222212211221212221212222122222222112211212222212111212211112121111222222211212121221121222122122211221212111112222212111212121112111122221211121112221211122121112221122122122111212211211112222211121121111211112111111222112222122121222112212212122211121122211122121111211221121221121111122212112221211122211112121222222212211221222122111221122121111122212212222211222211122122112112111222121112121112221211222222221222112122211212211221122221222211111221211221221122222111111211222212111111222212122222111112112121222111121212111212112112112112122122112111211112121211111222111221112111222121212222111211112222211122122222221221121121111121111122211112122211211111221111111112112122212111222222122211221221221122112121221122112211112111212111112121112112222122212122212122221112222121211221112112112211211122211222211112112211121121112122111211221112112122121111122212112112222121112122112212121111222122212121222211221211222121121212121222222211111111222221111212121122221211211122122121111221111121111221111211211212112111122111111121121112122222122211111212211112211111112111112122111122112111212111211221221121212112221122212212222211111211212212121221212111212112222112212111122211221212121211121121111122111112212222111122222212221221122221221112111112121122211222221122212211121211221112212121222112211211211221122221212212122122122221112212221221222122221222212122222221212212222112222122112121222122221112121212122211221222122121212212222111222221121112222111121221121221111122221121212112122122221112111121121221112221111112112121222111212121211121111111122221111121121221212111211111212212211121212112222222222122211222212212112211212211111211121112121222221211121221111122121211122222111111211121122112211222222111211222112122122222211222212111212222221211111212112122122122111211211221221112121222211111221221111222222212211212122211222211122221112212121121222212221111221121221222112222112211211122122221122221122211212111211112212211212221112111122111111111212221111122221122112211221112122122212212211122112212111212111212112112212221122211211222121211221112122122122222211212212112121122211111212122221111221221221122211211222221121112121111112111112221111121211122221212112111112121211121212222122122112112221111121222212112211111112111121222221212212121211122211121211112212122122112122212212212222212211221211211122211221221222121122211211112222121112111221111222111211111112212122111111122221111222112111212112121222221221212211121221211212212111112111211111222112222221211121122222121111122122222121112112111211221111122121121112212221111211211212112221121112221121112112112221221112122222121221221122121111221111212122122212111212112212112121222111222212212221211112212221112122122221112211112222121221222121222212211122222122112211221222222221121122121112212221212122211211222121221112121211111222221122111111212222122121121222222222212222121212221212221222212211121212122111112222222212211211111222211212111122211112111221211212121222122121121111211211211111211211212111112211111222221112221121112111212122221112211211211222222221222121212112221121212221222121111221121221111212212212112111211211122221221211121211221111111222122211212122212112221222121111112212221222121121222112121111122122111112122112112212221211112122121121112221211122121222111121111121121221111111212111112122112122222211211112221211111122122112212121221221111121221211222222212122111121212222212221222221221122221211112112211211112211112111112221121221112121112112121111111112122222222112211112221221211211122221112112212212212121222221221211111111111211122111112221111222112111122112122112222112122222121111221122111121121221112221212222122122112111122121111121121222112221112211112221221121112112212122112122222112121112122212212111112222122222221212122112212112121111222121212122122222221122111222221222211121122211112222111112222221212211221122221222122211222121112212221121212211122121111112212121122111221222211122122112112122212122222221122111111112211212111211122212222122221212222121112122122111121211221112122122212111112111111222211121122222122121121212211221211222211121221222111221122111221212212112211222111222211211111121211222112122222111121122221212211212211121222211122221122221221122221112212211222221211212122111221222112122212222222122112121111222122111211211211221122211222221222111121211111211212121111122222112112211211121122121212211122211111112221122212211112221121211211222212221112222222121111112112212122111222212212222122221111112212221211222112111121122211111112221112111112221111122111111122111221112211211112222222121111111111221211222112111111221112112212122211211121221111122112221111111111122111122221111212222222122122121112122122111112221122211122222122121222111222222121111212121222211222221221221122111212111211112221111211111111222122112121212112111211121111112221211122122121111211221122121112121112112122212121212221221122212121221111112211211122211211211121212121211122212211121221111212222112221212211111111112221112111212121212221212122111112221221112221221211122121122121111121111111121221222211222121112111222222122221211122221112221112211111122211222111112112211221121211211221212122212111122222121222221212221122222221111111221121112111212111122122111122221221121221222222111122111122222121211122212211221222211122111112112212222221222121112221112221211112212112211222111122221211111121121112211211122122111211221112111211112222221211212211221212222221111211121111121212111211211122211121212222212122211112121122221111211212121112121212122122222222211211111212122122112221222111212112221211222211212221221211222211222222211222121122222221212211221211212221212222221211222222221112211111111111121111122212211112221122112211121111222121221122211112222112211211222211121211222211221212211111211211121121222112212122211221121211112111221111111112221212211111211122211222121212221111121112212222221212211212112121111211212221112122222212112222111212112122211222212211212112222122211211221222221222221221222122111221112121221221211111212121211112121121211221111212121112222121121121222211121112111222212122212121121112222111111122122222222121212121121111222121111112112111222212121211122112111221111121121222211121222112122222211122221112121211122211111221122121112112122221112112221221222221112112212221222122212212122222211211221212212212112212122212211212122211121211222221212121211122121211112121111221211112211221211111222121221211211222111221122112112122111211121212211112222122112122112111111112111211221122121122222211221111221222221211112211222221121222111211221212121112122222212212122121111121212222111221112212121221211221121112221122211221112211221211222222212112111112221221121221121121122211112112111221122121221121112221211222212222212211121121212212212211122222122112222221211111221212111221211222111112121122122111221112221212111112112122111222122222222222111211212222121211211112121111212122121212121112211212221222212222211212221212211222122112112121222221122122112211121121211121211111122211221112222121121222212121212211111222122121121112212211222221112122212121212111222221111222111121222212211111122122211221212122122211212211212211212112221212111121211121211211222121221121211221221122121221212122212211221111222121122211112122112212222212221121222221221222212222112221121212121222112212222211212221222212122112121121211112221211112121122112211211111121122112112111211222221211122112222121222211121121112212122122212212122221221221121221221112211221222122211211222122122212122212111211121121112212212121111122222211222221112211112222112121111221122212221221212222122211211211111122221222112122222112211112112222122111122111222221121122212111112211212121212112111121211121221222121221212112211221111211221212121221221222122212121221211211212211121121121112122111221121212122221122121111221122112122121211121222122111112111221222112122112112122122121212122222211121212222222221212221121211222221211121222221112222122122121122221222111212121221211221211211112122111222111221212211121122122212221112212221211122111112121111121121221121222122222122121112221121212222212212222222112222111211222122212221122112211211222222211122122211122121121211111122112122112222121222221121222211212222122212211121211112222221212211212222122222222121112111211122111112222122211122211121112111212111222111212211111112212211121122122112111111211121122222111121212212211111222211121221112111212112222112222121112121221111222122222122122122121221111121112212211121212111112121112211112212122211111121221221222212112121121121121222121222221222211122121122121112112211121221222211112111112122112212211121122122121221221222111111112112121211221222121212112121211221221112121111121211221221222212112111221111212112122121112121122221211211221212121122221222122122222112211121221222221211222211121112112212112212212122111221221222222121112111221111222221111121211122222221212211122112121221211122212112211212121121111212211211211211222222212222111222222212221112122122221111111121212122112211211112111212122212211212211222112222121122211112111211221222122211112112212222222122221121111212212211122211212222121221122121122211212212221212121211112212221122212112112212211121222212111122221112222211111112212211212222111121112212112122222122112211122211222212111121112212111212222121122111122121112122222212221221121211121121112211222112212222122211222112211112212221112221112221122211212111111112111221211221222122221212112122112222211121221122112112112112111111211111211211121121121111212112212121222221221211212122211122221212212112222211222221111112122212112112222211212212211221121111112211122112111121112222121121211112111221221122212112211121222122122212122222211211211222112112121212221222121212212221121211212121122111222221111121122122212122112122122122211222212122212212111122211212211211211121222121121122112222121222122222112211212111112212112212111112221221111121112111112221212212222221221222221211211112121221121122221121222112222211222121221121111111121221221111121211122111121211222111211221111122221112111222111112112122211211221122221122211222112221121112222111111221211212211211212121222222122211212122122222112121212112112112111221111121112211212112121112121222211122221112212211221111222122211211221212221222122212211111111212211222211212211221222221221112122211212111121121121111222111111211222122212222221121111112222222222212212211222212122212112122212221111122222122122221112222122111221121112211221122121222111112221111222122121112121212221212222111122122112221221112122221221222122121212212122212122222211112111122221122112111121111122211112221122121112112221111212221222222122221112121221112122222122112211121111212221122122212221212222212111211112122121212222112221211121121221222212222122122222112222221222222222221121112112122211122222212121221112211122212211121111121211212121212122221112212122122112221222222221112112122221112111121211111111111112212111111222222112221122112122121212111222222212222112122221111122211111122111111111222212111211211222222222112121111111112112221122112111222111111212222211222111221211211112112211112112122221121121212112212222222212112112122212211122212121212121111111112221122121112111222111212121222112211112112222221211111221122212112221112121122121111212111211221222212121212112212111112112211121221211212112122122121111211212212111121121211112221212121221112121211221212122121112212222211121221112211121122122221222112122212111121112222122211211222111121111211122222222211221221121221221122121221112121112111121212122111222221111222212221111121221122121222122121222221112212222122112222222212122111211111121121112111221121221211212122112121212222112121121221122221121222221112211121222221222212211222112212212211112111222222221212222121111111111122222121121122222221221211211212112112122211122122211212212222112112122221112221221212221212111122112212121122121221212221221221112122212111212211222121121211212211212112222211221112122121222121111112222211211112121211121212212211221212221112111222111121121212121212211221211122121112112111211211112222221222211222221212221211121122111212221211121122112122122222211221212212222122211212211221222212121211222111221221111211212121211112121121111112212112121122122222222211211212111121121111122122121222112111112122122112211221111112121212111111111222211112211222211222222122221221121121121122121221221121121221112211212222112121112221122221122122211122122222211212222112212121212212221222212222212211222211212211111122221121121112221122221121212112222211212121211122111121112211212212222211112121122122122221122122112111211111111222122112212122112212122212222221112221221112222212211211221222211212211222112222211222211222121112212112121222211212112112211212212121121111212122212121122211112212222122222212211222121212212111211212212222112121112212221212122211222222212212222211211211212221221222121112111222222221111211212212112111112122112122122111222122222212221212221122121112122212121222112222121211221221211212211211111222212112221112111212122111211111122211111222121222221212111122112221122211112221221121112221111221211222221111122212122111111112122221211212222111222111112122211222122222122111121222122121221221112222122221112122212211211121122112211111221211111221121111111122111211212122211111222212111122212221211112121122111212121122211122111122221212211111111111221122211122221112211222221211212111111222222222121211211211222122111221212221212211121221122112221222212211222222121212112112112121112111111111112121221121212211121212112211212111212121121111112111212121211121121122121122112122112211112121112121212122211222221111111121111222212121121121112211221221222112121121111111212222111222212212112221212222122111221122211122112122211222211212111122211221221112121122221211122212121222221111111221221212111111111221112121121121111222211222212221111221221121112112122222221112222121112112112112121112222112222122111111122122211222111222221221212122121122121122212212111221212221212112122122222221212221122222222122211121111111222222221221222221111122222111121221211212222112111211121222112211212211212211112222212122121112211122221222122221121222212121212111211112122212121222221121111122211122222221222212211111122211212112122221212111121121122112121222212112111212212212121221112222112122212221212212112211212212222112211221222222111211121212121212111112222212112211211111111211122112221212221222222121122121112111211212221121211112121212211112221222211221212212212211222111211211221111111222122121211221222212121121121221212112122112111212112211112112112221122222112112221211221111221121212122121111121121112211122222221111212112211122121111212222111221222121221212211121211112222222221222222222211211122122112121112211222222121211111221121222222212211222221111122212111211121121121211121121111221122211221222112122222111121111122111212221222111122121221222212212221221112211122211211211111222111121222111122211122212121222111112122121221112221212211121212211122111212121111112111121112212211221111211222121212111211221221212121122211221212121222112212112212221111121112122211121221211111122121222222121121211121212121222212222122121222112221111122211112122212111221221221111122222212112211222112112122111112112212221211111122222111212122222121211112222112222121112211221221122221212121211212121112121211111221221112211121222111211211121112112122222111212221222211122222211222211211212112212221211112222122112221211122111212211221112112122222122211112212112222121211211121221111121211122212121121111211112221121111111112111212112211211121111111222122222121222211221222111122111112111211221212112222211121212222211112222121212122112221221121211222122222212112112211211112211221221112122212111211221112222111212122111112222122211212221122112221221222222112212121121112112212211111121212211212112121212221111211121122222122212112122121222112221111212121222121111212121221212111211221211211111121211212122122212221211121211221111112121122111212222211222222112111122111211221221111111221111211221222111212222221221211111122222111222222121221122212112121211212222121211112221112121212112211122222212122212222121222111122111222111121222211212222211222222211212222121111112222122121111112111111211121122212221122221212211222121112121221221221221121212111222221222211221212221121212212221211221212122122122222121222211211221111111211212122212112121211211221211112122121212121222112112122211222211212221111121112212222112211212222222222221222222212111122212212222221212111212111221112112221121221211112222121211121222222121122222212212122211221121112121111121112211222221111222211122211211121111212222212221212222212111112211212212112112122211211221111221111111111222212211222122112222211111112221112112122211112121121121121222112121212111222112111221121212211122222121222222112221222112121222211121222212211222221122122212211111212212112212111111111122212111111211212211112221112121122212211122122122121221222111121221112122212111221222212112122221211211211111121222221212222121211111222211112221211111121212112221222212121112121111212112122111212112221222222112222112121111211221212112221112222212212111221222212121222111212122122111121111221222111222112112222121211111111112221212211222122121122121222122211211222221121121121212222112212121112121222222221211211211212211121211211221211112112112221121211121221221222222211112221112121112222222111122222121212122221121112112222111121121121212112112212222222111121222122211112112211221211212212121222222122122222112122111111212112111122121222222211212112221111212112222212222221112222221122222111212221111212121111111111212211112121121221122221122212112221222111111111121111221112222111111221222111122111222112122122212221222121112121211222221212212122111121222222122211122122221121111222211221122222121121111121221112221111112111121112112122121122212212122221221221112211221112121211222212121221212211121222211121212111111111122112212122111212112122112122222112122221122122211221221112121221111211122212212212222121212111212122212211111211211111121212122111212221112211122111122212112212112112222122111221112222122221111121221211121212212221122222112121221111212211122111122211121212221111111221212122211212121121122221211122211221222122112221111211211212221111122221121211121112122111122112121212221221221111212212111111222221121121112221112112111121211222221212122121211211121121111212221211122111121222212122112111211211122212122212122222111221221121211212111212122221111122112212221212121121122222112121121122112221122121122212222122122221112212111212112212122111211111122222212121222111212121112222212211112211111222111222112221122112211212211111122221111122221221122121121111112221222122211121221121222122222221121221211121221222111211222111111121211211121121222211112121212111112121122122222121221211121111112221221121122211222121122122222222221112121122212221211121212221212122122122122121112211121122211112212221111121212221222211222111112221112221211211122212111112222211122222122112222122121212112221221121112111211211211211122122111122221222122211211212121221111212121211112111212121122212111211222221212121122222211222121112111111211211122111111222111121212211221221212122121111211211122122112121122121122111211112111112121212222112111111211221121122221221111211112211222221122122121111122212112222122212212212122112112212222112222212111211122212112221121122112211112211111112222212111221212122211111221211111221111121121111212121111212112121111212212111111211211221112221212211221112122111211112111122111221121212212211111122211222222222112121221212111112221112122222122121211211121112212121212122121221211121121122211121211222111112111221222112211211121122121212111221212222222212112122111122212121212121222112211121212211211111111221222212221211112211112222122111222212221112112112222212122121112211111222211111221212211222221122221222111222211121112212211112211121212221212221112221211122122122112122112212211111211111221111222212121222212222122122222221221121211221212222122111121211212221221221211112211222112222222212222222211222122111112211212211222222221211212121122211111211111212211221111221212212211221211212111211121121212111212111211121221112122111112222111212221112221111111122122112222111121111212221111112112221112121121222211221112212211121222211122112222122211212112222211121211212121221222112212111111111212211222122211211211111121121121221211222111112222211212121111112211222221221112221121221221111211111122112212212122121112121221221111221211211212212111221112221121121211212212112222212121112221111122222222122121111212212122111112122122212212211221112212112111222221212121121211111122211121211121221221121221122212212111112121112222111112121121211121221222121222212222111112121111211121211111122122122221112221222111212221122221212212111122212112211121112111222121222221221121222211121122212111121212221111122212122211122112111222221112121111222121112121212211121222222212212212212211111121122211212222211111121221111221221212211122122211112222112122112121111211121111212222221222212111221221212221111211211222222111211111112111121211121212212112111211121112212221221121221212212221221222221221112211211112222111212212222121112122222112211212112122111121111222122221112221222221122222212112121211221212111122112121211221122111121121222122111111121121211211222222222122112212122121211121221121112221222212112122211222111121122221212111112122112212111112212212111121112221211111211112122122221221111222212222212222122211222111121112221111122111121211121212122121221121111212121111122121111222122222121111222111221122111211122111122121222211211211222122211122222111122122212111221121121212121111111121211212111121222222111112221111121221112212211112112212122211222112212111111122122222122221222122111112221221112222122222222121211212222111212121221121112212111122212212221112122122122211122211212222222221221121112221121112112221122112121222121122121112212212111222111111221112112121111211211111211211221221112211112212222112212222211212211111111222212221222221221122222221222221122112211112111122211221122212222222112111121111121221211212111222222122122211121112211221122112211222111221212112112211112112111122121112222222212221121122121111121221211112122111112111122221122111222112212221212111112112222111112122122221222121221111112211121222222212222221121112122122211122211211222211211212121111122112111211121212122211112111211221222111112212221112121221222221211211211112111122222211112122112112222111122121211221122111112222122111221112221111111222211211222222211122111211111211122212121111111122112222112111211121121121222111221121111122111122221212122222221222212121221211111121121221222122122222212221212211221122121122112212212222112121121121111222221212222122221222121211212222112221221111221222121211221111121211221212122121221111212121121211122111221221122112122122121222211112211111111112121121211212221112221222122222122121111221121122211122122111222121121122222222221121211222111221221221112112212222212121221122121211122221222222121212112212112121222111122211222212111111212111221111212121122212112212121121112121212222111211122122211121212111121122121111122112121122212212122121111122121112121212111121112221222112222112111222112122111112111221212211222221212111122111211111222222111121221121122111112222111212222112221211222221222122212212122111111112212222112111212112221111112221111121121221122211121211222121112121222211121222221112212121221212122111122122221121121121112121221121122221112221222212122112212121221221122112111212211112222212222111121112121121122122122212222122121112211112211222111211121112122112212212221122222212122121112222112212122121221121211222122212122221212111111212222112121111221122221122212212221121221212221121112221212221112111221221222221111212222121121121211112221121221222221222212212212121122122111111121222112222211222122112221221222112222211111221112211212211112211112112212122122111122212221121211221111121221212121222222221221211112212112221211112112111212222111111222111122111112211211111121122211112212222222111222211112221122112121211112112121121111221222212111212122212111222122112111111222211221221121121211112221212211211121211121111211122211121222121222212221212211222211221112122112211112122221121212112221121211222122211221211222122212211112222112212122122211112212121212112221122112111121212112222211211122111111221212111221211122121111211211212121221221222121221221122211112212211212211212112222222221121211222211212222111221222121222122111211211121111122212121221221222111111211221121211212122111111221212222122111121221222221111212121211122222222211222121212112221221211121111221111221112222111112222222111111111212211211222222222121212222212112111221121212121121112112112121221212122121112211212221122222122212112211221121211121112112221222211212212212122122222222222212222212212222221211112122211121222112112221111111111222222112112111121112111121211112122212122212112121211212121121121122121111121121211221222221211111221221112122222122212111121212121222221211111112211212112111222212121122211221112211122222122221211111112221211222111221221212211211221122222221211112222211121211221221121211112222121111122211212221221111111221112121122222121221122212112222212222222211221221111111111112222222111222221212122222112112212112222122121211121121122122122122221122211111212111122212212112121212121221122221122221211111221212121121122211112111212211112112212212112212121212111112112111121222122212111221111211112222221211221121112212221212122122121212212222212212122121221211111112212211221122211122211212111112212121122221211122221212221221222121111112211122221121111211211121212121221211221121211221111122111222222222221122121112222211212222211122112222211121221221211122122111212122211112212221212112211122112112121211211121212122112122212222121211111211122121111112122122221122221122111111111112111211222211221211111212121121111121211111122112122121212121122121212222222222222221112222221121111112112211122111121212221222111122122211211111112121222111222221122111121111112212112211212111122211121122112211211221111122121222121111111221221121222221112211122212211211122121222122111121112222122211122122112121122211111112221112112212111121221211112112222111122221112122221211112211112212222211121222111112221121211221211212221221211122222212221211212222212212122221112121121111211122111221222112112112212212112111112212112121122112222211111222222111121212122112122211221111121121221221221221122222122122211221122211221112221221211112212222121112122111111112111211221121222212221112112212121221212121121111211222122121211222112211111112211111121111221122122122211112121222222121112112122111211111122121121112111111112122212222222122212211122121111212211111122211222121222122221111121221121121111222212222111122112221121211221111121212211212111112211111212122211222211221221112212211212221211211111121111221212111111121121211211222222122112211122222222121121112121212121212221221212122211121221221122211122212222221212221212222211221121112112221111212221112212121111112212222121221111221121111221122111211122121112111122111222122212122121122112121122222112211212112222221221221212112222222121212212222212121212112211221222211111211211121121221111212112221211221222211222122212211122211122212222121121221212112122222122122122222121121111122221122121112122211122212221121222212111111122211221212211221122111222212111112112211122222222212212212221222122222211122112112121222111112221221211112212222221112111211112121222121211122112112212121222222121212211112111111111122221121111222112121111222212122222212222221212211212222112121212212122121112122211221221112222122112222121122221212221212222122111122121211122122212211221211121211122111222122121121112221121211211112111221121112211122212212221111121111221122122112122121211112121111112211112222122212122122222122121122212121222222222212211112111211121111212111112122112212111112121122122122111111121222112212112122222222221212122112212222112211222211112221212122111212221111121121211222112221212112121111222221212222222212221122221211121112112211221212112122211122111121221112121222222221212221112222221112221211221121212221212121111121211121122211212122221222212212121211211212222212122221122221121122212222211211221211212112211112221122222122211111211111111121222122212122212112212111211112122121222212222221111211222222212212222222212212221122222112121111211211111121111122211122111122212222122222221211212211121121112111112111222112211122112222121211122121222111112221221121212221121221222222121121211221111121121222121221211111211212122211111221211111211112211111121221222111111211111211122111212212212112221111122112222212212112121221212212112111112112121212222112121122122121221121212212122121221111212221211111111221221212221222121222212222111121111221222111212212112112112122212212222221222222112111222212212121211221122221212111112222222112211222211212121212121112112122112211211112111211122222112222122212222111122121211112221211112221212121121112122221222121211211112112111211121221112122212222212221212222211112222112122211212212112122112121122112212121121111222121221112122222222121221221111212111212222221221221122222111222112111111112111212122212112121112121211112112211222122112211212211112222212212112122112222222211222222122212112111112112221222122111212112221212112111221221222112212221121111221212121121211122112112122211112211112222122221112121222122111221212211112122122221222211121211221222221122211211221212211111221212221111211221122221211121212112211221212221121112212212212122221212112221222212121221221121112221222211222212122122122211122211111222111222212222111122211211211122122122211211121212112211211211211222122122121112221222211111111111221122122221211221122212212221112121222221122222221222211212212112122222211222212211122212111221212122112121221212222211212121222112211121122112222221222121121122222112121111222122112121222111122221212211122211112112121111221211222111211222212112121112112112112212121112122111111121121112121222121111122112111111111111121112221221122111122221221112221112222122111211121211111222122112212111222112122122112121211222122121222121211112222211221211111111222211121221111211211122212121212221111122212212222111111222211222221121121212112111121111221112112222122222122122211112111212122121211211211211121111111111221221211112121112122121212211221212112222222221121212222222121112112211111121111111221222121122111111122121211112211221112211222111111212111211221121221112122121212122221111221122211211222122211212112112222112112112121221121221122111221111121222212112221222222211222222212212122112112122112222222112121112112122222211112212112111121211221121221222222211111211212211212212112222111122211111212112121121111111112222111121211111121112221122121112221221112212112222221122122211122122121211212122112212121211122122111221121112222112121112111112222222222222122221112121122121122112121222111121222211221222112121111212111212112122112111112211112221121122112222121122122211222212222112111212111122212212212121122221112121111111211122111121111122112222111221222221121112122121222111122112122221221222212211112221122121221211112121212222121211122212212111121112222211211212122111111221112112122121221211122221112121121112111211222111122121121112121112112112221112222211122212212211122211211122211121121212222122122211122212122222222121112221112121122211122112121122222111121212111222222221112121211212111122122111221212122112121221221122212121112112111221121211222122212211121121111221111211111122112111211121222222111221222112112121212211121222222112122211111211211221112211211112112222211222212212212121221121111211221221122121221121222212112221222211222211222111112121112111212121212211212121112111222121122122121121212221212121122121211211212211121211121112122111221222222111111122211122122221222221212221221111111211212112111211221221221111222212222212122212212212111111111121111211222122121112211221112111212121212121112212211111112212122122112222222122112111212211221111211111111221221212122211212111212111212111212212121211212121121121222121121122211111222221112111112122212111112212212122111121121111111111121211111122222212222112212122111121112212221111212122212122112222212212121211221121111222211111121121211221212112222122211122112112221222221222212112111111221221112122211112211122212121111222121221222111212122122222221222111212122122212222112122121212121122211111122111211212111211211212211121212111222122221122212111222112112211222121121111211212222121212112212221211222212222112121221222212121111212211112121211222222122111122122111221121212211111211111221121222221222112221111111211222212111221212122222222211121212222221122122112211222121222221221122122221212111221111112222222111211122212122121221112122222212111221211221121211111122122211211211221212212222211212122221121121212222111211221212212211221211112221212212221211121222122221112212121222112121212112212122221111112122122211112122212222121112111222222112212111221222211222121122122121111222112221121222221211112222121121112221222112121212111221112221222112212221111212221121111111122111111121211111222122122112111122111111121212221211112111112121112221221211212122121112222112221121211211121221111212121111211212122111122212221122221122212111211222211111212212222212211212212111221121112121122122221111211222112111222221122212221221121111122222121121121221122221212221122212221111111222112111221221222121111212211222111112112121122221112211222222111111121212112122121112112221212222121112212112112112221121211212222122122121211111121122222121222122112212212122212111221122212122221211111112221121111122111221221111112112122212122111221211121122211222122222211222111212121112112112111112221212122121222111222221121112112121212212112122211221122122111211122122222221112211111212111212111222122211211121112211211221212212112212211221121111211221221112122221111222121122122112221122121121212222122121121112211221112122222122122112111121221122111121222121221211111222122221122212222211111221112121222222112112122121121222121211111112222112211122222111112111221211121221222112112111121212122211112112111122212222212122121221212211121122111221122211221121121222122212222211212111211211211211222111111112111211122212222211221112121122212122221221211121212221212221122111221112221111211221221122121211212212121211221222222111212121222222222112212212221111222212212222111122222222222121122111112222111212112222211112211222122111211222211122222121211211212122111222122221111111122222222112121111212221112222111221121111121221111212222112211111122112212212221112211122212221222222112112111221112211222211121222222112212222222211122211212222211212121211222112112222222111222212112122111211211211211212122112212112212222211121211212212221212122111111121122211122111222122221222221222211122212211122112111211112211211211222112222122111111221212222212222121221211122211222222121221111222121121211221121112111112211221121122222121112222212221111111211212222111222221122211212211221221112111211121212222212212222121111122122111221211121211122222122211121211211112222122122221111211111121211112111121221212121222111122222111122222112112112211222122221112211222221212111211221112221111122111121222212112221221212122221112121122221112111111122222111222121112112212111212212121121211211122211122112222222222121222121212122122211112222111111111212112122212121122112222121222111212211121111221122222212221111122221112111211121211111221121112211212122111122212111121212122112212211111222222112112122221222211121112211212122222211121211112211122212122111122222221112122111211122212112221112221221221211222211111221211121121112221222211211112121221112122212121121112212212222112112111211222122122211112212111221122211121211112211121221221122112111121211112221212122222121222122122122222222122212111112211122111222121212122222122111221212122122112212212112121112111112212122221211121211121122222211221122212112222222212222211121111211111211212221212111121121122222221221111212211212111222221111122112212211122112121111222111121221122221222212211221211112221212211121122211111212222212112112121111122112111211111222211221211221121211222212111212221221212121112211111122221121121212211122212212112121222211122212211222122211222212122222211122111212122212111222211121211121221112212112111122222222121222211212121212221211112121121111122111222222212122212222112112121121111212121122211212111221212122112111122121221121111122222222221211222211122222121121211111222211111111212111221211112112221111112122121121111111121121222112222121212111211221121122122111112212221222211112121122111111111212112122211211212112122122112121211211111221211121122221111211212112121212222211112122122221212111222222212211111221121212212222212222112212121221211212212222222211222121211211122112222221121222222211221122122212122111222122211121122211121112221111112122222122211111221121122211212222212112112111221211221112222221122221111211212211122122221111212222211112111111121212211221212222121111122122222222122211222212212112122122122222222222112212211121212212221212111212211211212111122111112212212211112222112211112221212122221212212122221222121211122121111221211222221121111111221212212221211212222211222212211221212211112112211221221112212111211212211221122112211212221112212121122111122212121212111121212121222212122121112221112122121212211211121222221112122212211112222211121221112122221221211212112111122211211122112222121221111212211222111221121212212222121121222222211221122212221111212221121212111112212212221211222212122121111112222121211222111221122111212222221222221121221112221222112111112111222111221211112211112122222111121211211121211211211211212212211222112221122122111212122112122211221111221222211111112212121211111121212211111112212211121111212221111221112222121222121222211222222211122122121122211111212121111221221211221211111211122221212112122112211112121222222121212112211222212211112112111221111211211111122112221221111121221211222122222122111121112111112111212121121221111112222121122211221221222122111221212222122212111122221122212222221212211212112112122221212111112122211222211221222112212211211211212221112212211221111212111211122211121221221112121212211121222221221221222121121111222221212212222211222112222222211121112111212221212112122222221121122112112212221212222221221112212111222212221122212222222112211221222212111122221212211212212212221212111221111211211111122121112211121221112121112212111111221112121122221121121212121221212111212112111121112121212121211112222111121211221212112122111222112212212121212222222222121112221211112222121211122221221221121222122222112221121211221211121222121211221112211222122122222221212122212222211122221121121112221122121121212121111121221212111121111221121212222111111211212222111111211112122211121212211111112111222121222212111222111211221222221122222211211221122212211121211211112221111122122212211111212111112211222211122111221212222111111212121212212211211121211122111121211112121212211212221122112211121111221112222122221211111222211211122221221122121112211211122112111211121221221211112221121122112212211111121121212122122122112211122112111221111112112221221121112111212112122112212222111211122222111211212211212212212112121112122112221122111211222221112111112221122121212211111112212212111122222122122222122122111122212111111212222112121121221212222112121112121221212221211111122111212122222121121111121212211211121121212222121222112121222221111212222111122111112122212121222122212111122111221222121211221121221221211122111122111222211121221221222121221212221221121112111211221121111122211212221222111122221212212121111111221121111211222112111211212212122112221212122222222221112112212211211211122212121212112221212222212212111221112121222221211222121211121222222222111122212222112111212121122221122122111222222112211122122211221111111221212222121211112221222122111121212111121111122221222122211112122222222112212212112121111211121211211121121112211111112221112221111121122111222221211211221211121112211111212222121122222221111222112211221221211112122211222222112112121211111122122212111121222212122121221212111211211222211222212121212211111121222211211121222211222212221121111111222212221111212122221222122121221212112212111222211112121212222212211222221112111222121112111112122221121211211122212111221222212112111121222221221122122112212111122222122111122121121122112112211121121211111212222121122121112211121112211122121121111121211121121121211122111122122111222211221122111112211211212121212212221122211222122111121111222111112222122112222112121111211212122222111211111212111121122122111221211112122212211122112122222221111122221112121212212221121111122212221222212222212221222122122221211212222122211111211112121221122221112121111221222112222121121221111222111112222111121122121122221222212222212112112212221122122222112222122112211122112111212222212111112222112222111111212221222112222122221111121111212222122112221112212122221111212222212221222212111112222211112121121222121111212212211221121211221221211112112121122122121122221122212211221221211211222111211222212221212222122211212112122112222121122121211122121222221221221122111122111212211122121121211111222211111121212122122211222211121212122211121122111221111112211121111112211222122211212111121111121221222112112122122222122121211112212222112222221211221122222211121212112112222112122222221121222122121121111212111221111121122112111121122111121222112112221111212212112122221112111221221121122222212221112122121112212212121222212211121112111112121111111221212112122111121221112221212212212111222212222221122111222212222111111111221211122212212122112121212222222221212121221211212112211211122112212121222221222212221212221111112211211212212211222122221121212221222212211112222122122112222111212111212221111112112222121211121121121211212122111111222122112111112211112112211111111111112221121211122211112222112112121111212222212222221211121211121111122111111211121221112221211111112111211211211221212111112222112122111211212122222211112211212222211212111111222221122112221112212111211211222122211112222212122212222222122111112121212121211121122121112221111112212211222112221122121112112221222222122121121221222211112212212122221111221122212221221112112111222212111222212112212122111111121211111221212212221222111122221221112221211121122112222122112111211112121212121222222211212121122211212212121212111122121122111121221221112222212222222212121121112121212211211211121111221122112211212222212212221121112212212111212122112222211221221122222111111111121221212221111212111111221222111211112222211212222122122211212121112221111112211121211111221212222212212121212221122212211111111112111212111211122222111211122222221111121222212121121112112212112122212211122111221221212112211122121121211212112122121112112212222222122212111112122111212122111212212221112112221222221221212212221122112222122211222111221212221222211221222122211111211221121212121112211212112121122211221121112112221111112211222211211121211212222211111111211122221121111221122112222111222221111222122211221221112221221122111212121122112212212112222222222212112121121121112122211212211211122112222111121212122221211112222122211121212111112112221211112112212211222111222221121212211212212211212122112221122112222212112222222112222221212222122122222212112111111121222122222111112211221112121222122122221222221211212121112122221211112121212111221112211122111222211122112112112122122122122211111111212121122112122221211222112122221111112112222222111122212221112121222121122122222121222211221211211212111112122122111112221122122111211222221112112112111111111221222222121122111122112122211211112112112111221122221122112112121222121122121211122121121121212221211111221121121122212111221221222212111121222121221212222122122212121211212122221222222212212212122221211221111221211121221112122121112222111212221222212222112221222121212112122221122111111121112121111111211121122211112112111221221122221222111211221111222122112121121212211222121121112111112121221221211121222212211112121112212222112212222122122111122122112221222211212211122121222112112111212222212212222112122211121111111122221121121122221211121112212222111122122122121212221221212121222222112122112222122211121122121121221122122111122121111122211221212211212111221122212212221212112222122221222111112111212211111121112112211211222122122212112221212212211221222222111122221112112122222221112222221122121121211211222222122212121221111212212222222121212112212211212211211212121122221221111112222211122222211122212122211122211121121112212121211222112211112221122222121221212221111222212211221221112221111222211111111212111122121121221121121222111122221111121111111212121121121212122222122211222111121111112112111221212222121222111221222212122122112122121211112111111212111112212211111121122112211212111222122222112222211111211212122221222112221211222122112222212222122121221122221212112212222222112221221111122212112111112121211122111122112222111222121112121122212221112222122121121122222122212112111121111211222211121122222221111211121112122211122121121212212212121211112112122222211121222221111122222112121121121211122221122122122221212211111221211222111221121222122222112111112121212222222122211221212222211111221222211122212221211121222221221211222222112122112211212121211211121212212221211221222121222222212211122111222222112122112112122222211111212221211222221212221122221212121212212211212112212121211212222122121211212222111112111111222221112112122111121121221112212122111111222221211212112112112121222211222212212212122111112221211212221212222211122112112212222121122222121211112211122112211121222221212221122222221122212111122121211211122222222211122121212122211112121212112222111211122211211121111221212211112211121211221122222212222222121222212112211112212121122211112112111121112121121121211112111122221212111122112112222121112112121221112221122212112122112122212222221222212221211111212122211222121222111211222121122212122221221112121111222111212222111111122121112211121111121212112211221221122121211222212111122211222112112222121112211222121111221221212121111211211121112122212221212112221211121122212222112121122211222122121212222212122112122211221112111111212112212211121211221111211221212112121112111222222222221111221211222122121212211211221122121221221122122221121112221111111211112111122112122221222221221221221112121222122212112111121121212122122222222121212212121212112212222221122111111212221112122222222222211212222121121121112111221112121112122122111112112121122111112121211211112111221111112122212222121222121221111212121222211122121222111211121112111112211111122121211122211121211122112221211222221112111112112222212111211211122211212111121211112221211121111212112222222212122212112221211212221122211112222221221122222112122222122112211112122212222121112212111222121121122111111112211211121122112212222111121211111112122112221211111112121112122112122222111222121211222222121212122221211211111212222122121111122111112111222211221221222221211211222221121212221111112221112122221221111222221212112221121121211212212222111211112121212212211212222221211221122211122121122112211211112121222111212121111211222121121121211222111111111112212121222111222112222221111222111212122111112212221212112121122221222222111112122222212212211112211121111211122122222212111112221121112222111111111222122222122121221211122222121111122112111112122212112211111111221211211211221222221221212112121222122122222212112122111121122112122121112111212211211112112222221112222122122122121212112221121222221221211222211222222222121111112211212122121221212121111212221222221211211222222112111111221112221221121112222222211221222222221111122121122221221111222212112111112121121122211112112221211112211212122221212112121222112212211221111221122222212121211111211122112111111112121111111211112222211211221211111212111112111211212111122121112111121112112212121111121121122112122221122112222212122111112211212121111122222122211122211121211122212121211221112212211222121222121221211111122122211111212112212212112111111222222122212211121222212122121211112222222121111112222112211212212212121212121211212111111222111112211221212211121121222112222212211222121212121211222121211221122221122111121121211222112212112121211222212111212121122222121211121111222222222122122222121211122111221211121212211222121121211221222221211122222222212221212222122112111111121122212121221212221122221211211112212221111212212112122122112212221212222222222212222122121212211212121221121122111221222221111211122112211122211222221121122211222121221122111212121122212211212221121111221122211121221112211211111112222212121111222221111211212211121121221211221222222212122111222112121112222222112121222212112221111222221122111211221211112212111112212221121122211221222122211211121112111222121111121211121222112212122121112121212112222221112122122212211121112222211221212122122112211212112112222211122222122122112222212121121212211222112111122212211111221112211222112121122112211212112222222122121111222111111122212122211221112211111211212112121212222111121122122212121212221212222221112121122121222222212222212212212111122121111221221111122212222211112221121211211121221121112112112212222221121221211212212111112111222222212121121122222222222221221111222121211121112221121212121122121221111122222121211121212222221222212212122222122121212121211121112221112111221221112122121211122211221122212222111211121221212121221222121211221112211212121222221111212221212212111211212121112211222121222212121222221112111222121122212221222211112211111212212112222212122212121222212121121112222112111122222111222212212111122211211121112121121112222212212112122221112222211221221221221221122221111122211211222212222221111221112111121112212221112212222111122112112212111222211122212111212222211121111111212212122222222222111211221121212211212122222221222212211222112222212122111121221211111121111222121122221112222111212111221111221121111221121121212221221212211212221212112221122211212111221112222211111212212111212121211112121212122122221212111122112111211221222111222121212221121111212111222221212121122122121112112122121112212122111111111211222112221112122211111222111222111221221222222211212211221222122122222111121122212112111111112121221212222112221212121212111221221221211112221112222211112112212211212212221112121112211221212112112222212122122211222111222221112222112111122212122212112122221112221112122212211111121211122221122212121221112121211212122221221221112122122221121222221111212112112121212221111222221111121121111121111122211222111221212222111222222122111211221221212222221112122212212111112221222211122122212222111112122222211211222211221212111111211212122111221121222111111121112111122121122111122112211112111122111212121222211112111111212111212221121221221222212122122112211121212111222211111112222212222121212222111111112112211221121211212211112112212212122221122112212121121212112112212212111221222121111222112212212222211212121222121121121112221121112221112211222111121112221221222122112212121221222211121212122121211211211222211211222211121112111121121221211122121122222222122222112211122121211211111122111111111122121111212111211211121211212122112221122212211221112122212211211212222211111122112111211221221122221212222211112121221121221112112112111122122112121121212212121111211211222112221122211111121222212222121122111222222211221111112221112112121111222211121111212112221221221221212122122112122221121212111112221222111222111121221212111211211211112121221211221112112212221111222121121122222211221212212212111211122121221121112211111212111222111112121122121221112121212121111112122211111111222222111121112222112212221211111222121222121111211111122111112211222212121111211111222221111222121121222221111121211212212211122211221121121222222212212111112212111122122111112221222121212111121221122121222211122222111211212122122222212121112221211222211121221212112222112112222222211122221122222222222121121121112121121111121112221211212122222111121111121112211121112212111111212221221212112121111112111221121121212212212221221122222112212111212111111121211222111112221112221111222212211222122211122221211111222212112122112212211122212112111112122122222221221222212221222211112212122112222112222111111111212221211222121111222212222112212122212211122211221112112211221112111122111221112212122211221221212212111121222212212121211222221221111121212121121221212221111212121212222112212211221222212221112121221112221221111111221222112112221121122122211211122111211212121121221212221221112112112211111221111221121212121212121122112211112111222222112222211221121112212222122212122111221122121221121212112211121112222212122221112211222211222222222222212121122121121122211112212121121222111112121122112121122211122111211121112121221111211211121222221211122112211211121221121112112121212222211122222112111121211111121121122111121111222122212112222111122212222222111222222121211221221222112221122222212112211112221222121221122211122221112122222222111112122211121112121122221111121121111211111111111221111221112112212111211121222212221112112122111112211221121112121111221212122212122112111212122122122122111112212221121211222122112121121121112212111121211122122121211212111122221221211112222222211221111221221212122112221222112211112221212212122112111111211212112211121221212111111221122221221122111211122112221122222211211211211211222111122122222221112222121221211111121212112211121111222112112211212111122221122211221212122222112221121122221211222211111211221212212221121112122112111212122212112112111121122111121121112212221122222121221111211211222221212222211211121221221211111121221222222222122122112112221121121211111112212121122211111121212211122122121211212112211111221112212112211122211121211111211212221211222211122111122212221122221121221221222112121212222122221212221112212222221211122211212112212211212222121212111211112121211112212221122112212111222112121112122221222222121112111112222122122221111122212222221221121122222121211222222222211212212122121122211112122111221121122122211112222212121211222211111212122121121121211221222122222122211222222212112212121111211212222212211222222122222222211211111212222211221112111122111211111211221212212121121222122211111111212211121221122111221221122211222211122111212212212121222222112222212221212211111222111211222112111221221211222121111211212222121222222212211212212212122211221122112212111111212222211111121211221112211221222221111121121221211111112121121111222111221222121222212211222211121222211212221112211121221212211121211122121122122212221212211222211211221112212111121111121222112212221122112211112121222211112211212221111121121211222212221212122112112121211212221111122111122212122112122212112122111221211211121122221112212121221122122121212112221112221112122221111111212121222121112111112112111222212212221111121111221111112222222221222112112221222212212222212212121222111212212222221112111121112221122121112221122212121121211112112222211121222222212222112221111221221112111121212222111122221212222212222211211221122222221222111211122121121121211111212111122221212211221222221222121121221221221211121211211111111112122222121121211122221122211221211121212122121111112212211221121111121111212121221212121122211121122121211222111111211212112212112222221112122122212221221221221112112112111212211112111212122221221211222211122221122111121111111121212211212221222212221111111112122121112111212212221211222122122122221212211112222212122221211212212212111221121221122121111221211112121121212121111111122222222111121222121122122212121211111112222212222222121221111122121121222212222212122212121211112121112111211121222111122222221221212212212221121112121111111221112211122221112222221221212121111221122221122212121222112211111111211122222221222112211121222122212122121222112211111211121111212122111111222111212112212112112121212112211112221112212211122122122222212122211121121222111221221222222222222222122112122111111211121122121112112222211211121121222222222121111212122211212222222121212211211111221212112211112212211221212122121112121212111111222221122212221222111222212211211111111212111212122211111112121121121122112112121211112211112222122122112212121212112211221122222211121112112111112121222121212122122112212212111121222111121221111122211211211212212221222122122112212111111221212221221221212222212221212211111111222112211112111221212222212212111112212122121222221111212111121112212211221121122112112121222111221221222212222221122212221221211122111112211111221212111221111212221121112121222112121212111211211221212111122212212222211211111222121221222111112212211112121222211122111221111222121211121212222111112122112111111222121111121112122212211112212211122212221112212221121121221111222221222121211121122211112221221212221221122111221221122221112121111221121212222112111212212212211212211111112222222112121211122212111222122111111112211111212112121221211122212212122111112122221222212221222112211212122212122121112122212212212211212111221212222122221122121222212222221111122121221112222211222221121211111222122211222122112112222211221212111211211211112212111211111211122221122112212122121211221221121111212222212111211211121211122221212112222211211121112221212221121222112222222221221121211212111111121211111211122222112112212121211122211222211222222112222111111112112212222221112112211221221112121122122121111111211112122221122211111111221211221111222122122122222111111112222222221221122122221112121111121222111222122211212222122121121112111122211221221112222112222121122121212121111122211111121121212222122121212212111112122212221122222221212212111111212211112212112122112212222221111221212112222122122222221211211112222112122212222121111222111221221212111111122122212111221221111112222111112122212222211122212211212212112211212211122212122211221222111121122221222211221212222221112111112221122212122111212112212211212222222111111122212112121221222212122211121111112221212122122222121111121222111211112212121122122111221122222211222112111112222111121112221122112112222221111212111212212112222111111122212111221211212111212122112221111121121122112111122112121122122112122112212212112212112111221122122212212121121122111212122211212112122212222221112121221222221121122111222121112112211212111112121122122111222121222111221112111121212122112112222111121111221111121221222111222212211112222121122121122212211121122112222222122121212122221212112221212122122211121221111111212222111112211222111111112111112121212122121111111121222211221121121211212111221111111211121121212222111122222212111221121111122212122112121112212222222212111212112222211211122211211112112122211111121212221112212112222221111222222122111212111111211122121211111112111122111121121221212111212222211211111112121112121212111111121112212121121111212121221212212222212112122222221111221111111222221121211212112111222122111221112121121112222111211112111211211222122122211222112112111121122221121221122222221221111121222121122122122111222222212111122122121121221122112121221212222112112111211212212122111121212112122222111211121121112222222221222121112222222222121112222222112211122111112122212121121121111121122211222222111112222222122122222211121222222211221122111111111211211212212112122212112212121212211112111212121111112222112211212112121112122212112122212222112111211111221112111112212222121222112221121212212121222211111112121222111222222221212111122111112112112121122222212222212121111121121111211211211222122111122112221122112221212212122212221112112211221211222121121221211221112112221222211221212111111111221121121122221122222121222211122211211112221222221222212121211212212221211111212211211121211121111221221211111212121121221222112221212222212121112211221111121112221212112221221122121122112211122122221111121122112121212211111121121122222222221211121222211212112112121222122221111121111212112211122212121221211111122221211112211211112221112212111111212222221111221211121112112212122222211111112112211121122212121111122212122112121211211222122221212221212222112111111212211122212221121122211212212111111212221122121112112222112222221211222122211111121222212212112211222122222121211122122221212222222222212112222211122221122122221122222222222112221211221112211222221212222221122122122112121212212222121121112211211121211121121122112111121221221122111211112122221112122111122222212112221111112221121121111122121122212111121212112112212122222111122121222211112221111211112222212112111222111112212211222222121212121121122221222111121212211111211211111212211221111221122212122112222122121111112122212121121121122212112212121122112122211111112212111122121121111212121212111212121211211222212111111112212112221112111121221111112112211112211222121112121222121111212222221112212212221111122222111222211111111211212122221122111222221111222111222212122121121121222122121211111211111212121121111212121111112121212222222122211222212212212211222111221221222212122212122221121212211211111212221121122211122112212211211221112111121121222212212121221112122122122121221122222211122122122211122111121212112122122121111121121111221222111212121121211212211112221211221221212112221212221122112122122211221211112111121111212211112221221111212222211222222111221121212112211112222111222111212222211112122112122222221121112112122122212111221121221112121212212111121112212222221221222111121121212121121222212222212221121212112212111121222121211211212222122121222221222211222112211221211122121212111222211222212121112121222122212121121111111122222122222221211211111212122222122111221122211211212212212121112221211222111221112222111222221212221212122112111111212211222211112111122121111122112221212112212122211121112122221211221121122121111121212111112211112212121222222112222121121211222212212122212112222122112122222111211121111121122112222212211221211211111112121121111122122212211221111112222121212112222112221121222121221221112221211111111121221121211212221121222222121212212112111211122122121112112112221212221112211112111221112212211212222112122222221122111211222211221222221222121222122122122112122221112212221221211221112221221222121211121221211211122121111122112221122121212222221212111122222212212212212122211212222212222112122212222212222112212212122212222112221122211121211221122111112221211111122112212122212212212222211121112222221211212211222111122122122122122221122222212111112122221222222222221111112112222122221111111112121211212222221121221122112221211221212112222111121222222122211121112121221122111112222221112112122221221211222122122112212121122122212212122211111221221112111112211121122121212122222212112112222221221211212212111222122211221121112111111212111111121211122122211211212222121111221112221221111121212211211112221122211212212211121112211121211111211222212112221221222221212122211221121221111211112112111112121221212111221211122222221211221112112212221122222112212112222211112111122111222112121221212222122121222121221221222222112211221211221122122111222211212121111112212212222221221221211212221122111221112121111212122211211112222121121122221112112221212112211222212222122111221111112112221121111121121212122122121221121121111212121122222222122222211221121121221211211112121112222121211222111221222122212212112121211212212112222122112221112112222222212222111212122122121211222121121211112112112212211221212111121111121212112221212112122122221222112112122122112122212121221121111222221111212211222121211111111212211211212122122212121121121221122212222121221122122121122221111222211212122211221122122122212122122112222121111111112121221122121111211211222112111121121111211211212111221112122122111221112121211111222111221121112112122212111222121211121212111211121222111211222122211211122122112112221222122112222112211221111222222121111121211111112121222222122121111211222122222112221211222211212222122122221211212122222112211212221212212112222221221221221211112221112121211221111211222211221211212122111221212122211212211111212121221121212211222222111212211221112111221112122221212211222122221111121222212121121111221212112222112111221212121112221121212121222222221222222212112221121121222222121221222112221111112221222111112111111222122211122121221112111222122112212221121111212211212121121111112222212212111112221121211211222112221221211121121211112222111112211222221111111221212111121221221212212211212222121111222211121121221111121222222112221112221121121212121222221211221112212212212212122122111221212211211112221112111211222111211121222122122112211212212122112122122221212111211112222212122211111222222111211111111211212122122122211111111211122222222112211221111211222221211122112212122112121112111121221212212111211122121112212121212122212221121222121121122112111222112222112121211111221122222221221112211112221122112112221221111221111111112111121211222212112111211211122121122112111112111221111211211112212122211221121222121212122222112221122122221122212222222121211212111121112222211121122122212121221211111111211112212122112212121122212112222211212222122211212222122112111111221211111222212111221112122112122221221111212212222111112112221211112211112121222121122111122121111111111121122222222222121211122111122111222212112121221222111221111221221122121122221122122111122121122222211121222111121221222211212222112221122122122122211222122112121211212211111122111122221222121122222222122122221112112221122221212122212211111221222221112121121211222112211222121121212122111211121221222211121222222112111121112122221122222111211121111112112221111111212211121112112212222211112112112221222222221112221212211222111221121211211212221122111112222112112212122211211222111221122221111212211121121111222121222221122222211122212121121211111111112222122121112111122111122211111111212221122121222122111212222112212112221121122221111111112112122212121212211122122212112222111212111121112121222112221111222112211212122112211221212112211211122121221112112112222111122112122112221121112112121212122122222111111222121222111221211221111212112222221112212221122122112112122121121221212221221212221222222222221221111111222221211222221112122112221121221222122211221222212111121221122111212121111122212212121111212122111112121221221112212112122121221111211112222121122112122122211122211122121122211122222122112121212121211122112112211112211212221212111221112222111111112112122221211221122221111121111122112221111221122221112122121121122121121212222122121122222212212222112221111111212212111122212122222111222112112111112121222111221221212211221211221221112211111212122221122121111212221221222121112112121122122222112111211111122121221211211111212111221212212212212111212221122122122212212211222122121121111212222111122212111112111221122122211222122221212111212111112121121212211222212222222122122122211211212212121212211121111121121222121112112221212221222111222221121111112221112111212111111222112112211122221222212122122212212112111111211212112122112212122221111122121211211111122221211121221112121212111121121222212222212122221111112112122121211222122222122222221221122112111121111111222222121112221111212112211221212211121212221112211112112111222111211112211222212122211211222211122211112111122112111122111121222121211121222121121122222212122222212122112221112222122111222121211211112111212121221122111212222112222112211212121212111112221111122212212112112211122221212211121221112211112112121111121122222112222122221211212221222111122212212111222211212222111221212122111212212112212212111212122112122212122222212121221222112122211122222212222112211112122222221211122211221121222222122211112121121211122122222211211222221122112221121121221222111122121111222211211121211222121112112221112121211122211112221111121111212212212211221222112122111121211222121221112212211222212122211121211222212112211122211221212112122212221211121121111122222112122121222111211212221211212111111212221122121111112211222121211112212221111211112211221111212122122122221111121221121212221121122121112212221221211122112121211212221211211211111112121121121112221222211121112112121221211121111122221212221112211111222221222211211222222122112212221122111211221222221222121111222122122222111121112221221221111111222211111112112121211111211211112211211212122211111212222121122122212212221121221212122211112122121122222122122111221221121211211211121122211122222212211121112212122121111221111212212112121221122221121122221121121121221221122112221221122122121112222112112211121111111221121111211212111122121112112212121212122122121221111111221112212122221222211112212212212221221221212222211221221211111221222212211112122211211121112122112221221211222122221111222111222122111212212221112211211211221121221222212221222212221122121121122122111122121211222221212212121222111222222111122221222211212122222211111212221211112122122212111212111212212112221222212122212222221122212212221112222222221112111211221121221121212221212122122211111212122211111111212122112111221121222111122121221211111112121221211121211221111122111111221112222222112221211121211111111212112111112222111111211221212122212221111112122121121112211112111121112122221211112111212211111111111111111221221111221222112111122112212121111122221122122222112122112122111111222122121122112112221212211221111112221122211212121122111212212222121212121122211112111121222221111112122221122221122122211112111221112121112111221112112111222221222122111122112112111211212121211121222222122122122122222221122211221121112221211222121112211122212211221121121121221111122121222222221221211222122212121211121211121212111111221111211221112222121221211222122211222222112122211212122222221112111222112112211112212112111112112122111112121111122121221222222112112122112121111112221112122121212211222112221212221121211222122122222121212212212211122221112221121212111121111111212111222222221122112221211222222112111121112112212111121112121121122221221212211222122112211121122112221212221211211112211111212111112111212222121111111121222222122211212122221111111112222111112112122121122112112221221121222221111121211212222221121221122222111122221121122222211211222122111111221111211212222111211222121122122112121111122111112111211222221221221212212211221212222222121112222122222121122221111221121122121212222222221211121212122211122121211212221121222111122112121221222221121221122122112111221212122121222121121222122121212221222212221221112112111212112211211222121112121211112122211112122112111211111111222122212121122222221211222121222211121121111222211112122111211211122121112112222111122112212122121212112222212111112122111112222221121112212211221211212221212221211211221222222222121211211221112121221221111221122112121111121221111112211212111121221111222221221211111121211112222212121112212221122221211112112111212121222212112212221221211111111221112221111212121221211122121211221111122122211211222112122212212211222212221112222122122111121111111212111211112111112211212222112222211221122112212221122111121221122122112221112221221221222222221222122222121221112211122111212221111112121112221212111211212111121121211212221222221221112221212111221111112212212111211212111112212211221112122221111212112221211212221121112221122112111211211122112122212212212222212111211121112212212211212211112112121221211222112111221122111222211211212211122112212112211122111122221221212112122111212211212212221222121222222212121221212121112121222112222211221211221221121221122222122112121112221121221112112112111112112121112111221121222221212112121212121112211121221122121111222121221121112221121221122222212111111111212112221222122111212122212122222111211121222212111211211112112111121112122121111221112112122211221121122212121211122211212121212111122211112112212121222221211122222221111211221122121121221122211121112111212212122221222111221211122121222212112212111211112112111221211112221111212222122111222211212221122122211222112222212112112122212111121221122222222221112212121222111222222121122222122111121222222211222111211222112211122221122221211121221211222221221111221221111111211121221211112212112221212212112121222121111111112211212111111211221212222121222121121121211122121212112121222121222222211111222111212121222121212212211211221122112221211222121122122211121211222212222211122221211121222121122222122111212112111122111211212212211122122222222122212111221221222111112221212111112121111111212112111222212111212121222221121111211222212211222111221121211212211121221212221211221111112221111112221212212212211221211111121121112212122121211211111222222222112111211212111112221221212212212111121122222121221221121222111211121112122221121222221211122111222221112222211112112111111111221222222112212222211122122221111121212112121111211111112221212222212211221121122212111122111222121222122112222211211121212211211221121211122222121121221222211211111211111111112121221121221122121111222221211222211112222111211211111111222212211121212112112122122221122111112222221111121111221122112112111211222211221221112122212122212112212112222222211221211112122111211211122212222221211211111221122121121221112122122111122212211212212111111122112212111122221211212211222212122222111122221121122121112222121212112112111221121112221121122212111221212112112221222122212221211222221212221221221112212121121221111112112221111122111122112121121211111122222122122121122221212111212121222112121121221121211111121111121112212122111111121222121221111122221112111111222212111111211211221112212122222211222112222222211221112112222111121112112112121121112212122212211212121222222211211212112112211121112211121121122121222222112121222212222111111212112112112222221111121111212111211112112212122122222211212212211122212222111111222122112122211211212121112121121111211111211122222221211221221112121121121221111121221211211211221121112211212112222211112212111112122111122222112212111121121221121211221211211211221111222222221112121221121211212212212122121221112111212111111211222222112122122121222222221112121211212122211221211221121222122221221122121111212112122121112222111111211221222211222112111222211222111111221222121112211122212112221122212122211221222122121211212111221122221112212112211121112121122222211111112211121211121111122121222121212121221121211212211112221112111112112112112212211122211111122111221112122211212211221212212221121122212212221111121121212222222222222122211212211122122112211122111222121121112212121221212112122222211121112111121112122122121112122221122122211221212212112121211221212122222212212211211111112211111122111122211122112112111111211111211121122221121122112111222111122122121221111112121212212211122211122221122121112111222121121122121111112212121112221122122221122121111111121122212121221211111111221121122222222121222111212121221111211221121222111122211111221222111212221121112111212121221122121211112111122222222211111121212121211112112211211222111211122121112211121122111122222122211112221121212122111211112222211222222211221112112212112211222222121222221222111211111121121111121112212122212111212221122222212121212112122222121121111122221121111211211211211211222122112121112222211212221221121221211211111122211111111122222121112122221211121121111121222212211211112121112211112222112111212221122112121122222212111112111212112122112111222211212111222112121122211221222222222121211212122222122222112122212112211221212221122222121112121112122222221112121211111122221122222211121221121111111112211211112121121112211211112121121122221112222211222222221222212111222122212111112121222221222221211221121212122211122121221112222212111122122112121222222121122221211111121221221212122112212211211111111221111111212212222222212212111121211222211212122212121111211122221222111121122212221212212111122122222221211221212221211111111221121121111111222211222121212221212112112111222211211111112112112122221222121222221212221121222212121112222221112122112122112112112212112222211212222222212222222111222111212222112211222212222122111112212221111112112111222221221112212222212221122112221112111212121111212121121211221221122111221221222222121221122212111122212212112112222121121121111112121212221212111122222121112212221122222121111221121111121112112122112211121122211121211211122122221111112212222111112121121122222111211222222111211222212221111121121211211122112122112111111121221211212222222221212111122222122121112121121221122221212211112122121212111221111211221122221121112121121222211222222221112221212212121122122222212222212221221111112121222222111211211111122221222112212221221212222221121212121122211212111211122222222222221222112212122221121222112122221112212212122212222221221111122122222222222122122211121112111222221221121111112222222111222221221221222211212111121222221122112122222222122222121212111111121212221121111121211211111212211122111122111212221221112211221122211112111212122211211222112111112122221222111121221112212211111111122121122211121211212211222111122212211221222121221212111211121221122111121121121222111111111221221121122212212112221212211122221112211211222222111112112121221111112111211122222112211111121212221122221222212222122212112221211111111221221211212121211221112121222212212111211112212111112111221211222221221211121222222221122121112222112211221121222121121121121221121212121111222122112211121211122211121212111121222111112112221111211212122221222111121112222211222221221111222221122122111112112112212221221211112222212122122221221112212221122121222111222111211112221121111122222112212112222121212211212212111112111212121112111222222222221221112112111121212112111221221122111122211222212211121112221121112212122211221211121122222111212111221121222121122122111121122211122222211212112122211221121112111222112121111111111222212122222222112211222122121111211111112222112122122111212112222221211122222212211212122111211212122112111112221122212122221221221211222211112222221211211121222121111121211122211121211211121121111121211211121212222111111112212221121111112211111112212221122221212222221212221221111222221112212112111111112212221211222122111112122211111222112112211111121112111222111221111211212222111121221211222211122121111212122121222121212221111121111111111221112211222111121121112111111211211112122122111111121221212221112112121221121111111112122211111112212121211222211112112211222121222112221121112112122122212212211211111211111112212222122111222211122222111211221222112122211212222121121111222121111212121211121211211211122121212112112222121121121211211121221211121111211112211111221222221111222111212111111222122121222222121212112211112212112221111111221212212221112111122121212221221222122122221211122221112212121112222111211221112121112221211211211122221212121221112122211222111211112212221221122211222212122211211212221222221121111111221221112121112112111122212122211121222222211122221221212121221112211212211122212122122111212111222221222121111222221111112222122211112221112112121222121111112221112112211221211112222211211221122221221212111111221221112122122211212221121111122122211221212211121112122222222111111121211212112211122111111211111112122212112222222112112221221212112112122111112121112112111222111111222111211121121222211212122121221222222211211212211122222222111111221221121112211112111111112212222121111111111212121212211221222121112211221222112211222121111111111122212222111121111221112111221111111222221211221111111222221121111122222111111211112211122121121212121121222211211121222221112112112121111122211221122222222221222121112112121111222221221211111221222212221112111112221212112121111212221212111111212222221112221122221221212211111221122221122222222222112112212111211122112211211111221222111111112212111221222111222211121121111211121221122122121111111121212212212221212112112111211121122112221112211122122222212222121211212122122111211211211222222122211221222121211121222221222122121211211211212212221221112112211122112212221222111112211221221112122112221122111121222111221112222222122111222221122222112111222112112121112212221221212122111212211212122122221121221212221222221112221121121122111111221112111112212212212221111112121112212122111222122221112222211121221121211222222121212111111122111122211112211222122122212121221222221222222122122212221112122222221212212212221222222222121121221222221121121211112111211111122121211122121211221221211121122222122121122111121211122122211122212211212222221121221221111111111221211112121122121121211111222211111121211211112212122221211221221212222212112122221212121111222111212221112111211112222221212112211212212221222121211221222212112212112111222112221222221222111121222211111111211222112121111222211111212211121222221111121221112222121221221221221212122212122111112121211122212121212221112221222121221122112112121111122111121221221221212111112212211211122112122111121211121121111122122122211221212222122112121221212221112212221111221122221221111222212122222111112222212112112111211221112121122222111121112221122221121212121211111111211212112212112222112111112111211212122111211111121212222112221211112111212121111112212122212222111111221222121222212222121222212222222121212212111121211221122112212222212212122221111111212122111221112211122211212121111112122222211111122221221221111221111122212111222112222212111211222112111112222212211121222121121212111112212222122212121121121122212221222212121212122121222211221212221221111222122122222112222111121211222211222212212111211222111222122212111211222121121122121112222221222111112111212222122122121111111211112121122211122111121111221211211122221121112121221122211212222122112111212221221122112212121221122121211121221112212221121121212121121222111122111122111212211212222222112212222121222221121212222122211112211122112121212221212211221111121122221211211112211222111222212111111211112121221211221212112121111221211222212212111211212221222212112122222212111221221222222112122211122212112221111221221122221112212222222111111222222122122122211111221221122222222122212122112222121122212112212111222122211111221211221211111111121222111221212211222122221222122111211112121121111112112122212222222121122122222211122122221211121112221111221112112221112222222111122211221211111221211112211222112112112222212222222222221122111111222211112221111211111122121222222112112122121121211222211222111212121112221121111112121221211121112211211211111111121112222221221111111121122122112122221212122111211122212221222121111211122111211211112221122111222212121122212211121221222212111221221112212221211121112122221111122122112122111121111212112212211112121111121121221121212122212211212112212211111112221121122111121122211221212211211211212111121112222211212121211212112221111211112211212121222122212121111122221122222211112112211212111111211112111112122221112112111121121222211221211212111112111122222221112122222112111222211211122111112221212121112122222112221122211111222221111222222221122212112121221212221221211111222112111212211122222112111221111122211112111222222222121221121212112112222121222111221222211212212212121112212222112112112222121212121111211112211122221122221221211122211222111211111111121122111211221212221211111211122221212221222212122222221122121212121221212112212212221222221222112111122212221112122222111112221221111211112112111122122222211211112221211211122121122111222121122211212121212112221212112121211112122122221221212211222221112211222121221111222222211212212112111112122111211211122121222122111122112221211212121112211122111221122111112121112222211122121222222212221212111122221111111111111211121121221111221222111111221111211221111121222222111212222211222221211112221211112112122222222121112122111211221222111112212222122121111122222211221122211121121122221121122222221222121221122211122222121121211222212211111111222121221111221112211211122111222212221122112121211112222112111112221111122122221211212222122221122112121112211121211121221112111112111211211212211221221222211112221112112211122221212111121222211211112222221111111211112222211121221112211211121222212112221222222222221221112211112212212122111222221221221112111222111221112111222222211222212111211221111211122121122211112112221221221211221221111122111121212222112112112222211221111212121122211122122221122221212111212112122211121222111212112211222221122222122112122222221221212211121122212212222121112212112222121221112112122111111211222211122211211121112222211112112121111121122211221221112212111111222222121221111111111122212121121111112121212111112111111211111111122222211122222221221112111222122121122122112211122121221212211111211122112112122111122221112221211111122112211121121122112221112212112112211211211211111111212212222111111222212112211211111112221222212122221212221122121221212121222212112111221222222112211111122211122122212122112122121222212111211212122222222122121211222121122212122211221222211121122111211221122221112111222122221112211111222112222221212111222211212221222122121211222111222112112212121211221212121111212112221122112112112122112222112221212222112222222222122222211112111212222221111121222212112211121121211221112222122121211111121122221221221212212112212122111122221211111212121212111222222122121221212122122121222222211212222121121111212111222212221122222212112122211112111211111111122211122211122221221211112111212211211212112111122211221212111111212111221221221112112112122122111211122121122121121122112111111221111122222112112122222122212121122112212121221221211212112121121221212111212222211211111112122112121122221212112211222212122222211212112212112112222121112221221112121221122112222222221222111212221212211212121112211222221112221222211221211211222221111211112212111212112211211122111112221121111221212221222211211121221111211222121212111222122211221122212111112211211121221111112221111212112112222212111221111211212112122112121222212111221221122212211111212221212111221221221212211222112221111211111212121221111121222212111212222212212121212122122221112221112212111212211221121122111112112212121111111112121121221122112122111211211221212112221121121212212211122211111121112211212211211121112121221122122121112122111221212122121221121121111121222222222222212112211111222122222111112112222221121112122111112112221121122211212121222212111111112212112212121211121222122212111121222212121221121212122122122222111222112222112122112212121211212221222111211221211121212112121212122121122111221211111212212211121222221221122111122222221121212111112122222122212212211122221222111122211122221222111222111211212211111211221221212122211122221111122121221122112111211222121112121222221212122212121112122222222112111211221121222221211211212221221121112111212121121112212121222211212222222122221211112212121121211221121222212221222111222112221222211112211211121111212222122122112121221221121121221112122211122111212111112112212111112212221222121221112212221221211122222211211221221212122211211221112111211212212112112211111112121221221222111211212121121221122122112121111122121112211111121122212121211211222212112222111222121211211221111111211121211111111212111112212221111211212122222221211221122111211211122111222211122211121122122122122121211111122112222111111212121111122222222112212212121221112212212212222221212211121211121121111122111211121121112111122112222121222222112112121111122112212212121222212112122221111222212122212212221111222111121211111211111222211221212211121122221211212222221122222221221211122112112212212222221221212221122111221221112221122112221111112122122111212222222221212212112121112221222121122111221112121111122122211222212221111112221111122211111112211112211222212212111121121211111112212121211211112222222212211222222121111222221111212221221112122211111222121212212222221211112212122122121112121112221212212122222211212111211222212222212222212221121212122122211211212112122112111121121112122111221122222121221112121112212122221212112222221111222222222111222212211221221222222121212122122211211212111221122122111211112112121212122211121211122112221221212222212221222112122121112222221121121121211111212111111111121222121122221211212221112112122111212221111112111222122212121211222221222121111111221222222212122221221222212222221121211222122121211111222212111221221111121111221121211122212212121221221222212111112111122211221122222111222211222211221121121111112122221112221211111122111222122121212211122222222111212111221212212212112212111221111111211221111222221222112112121211211122121122112222211121212121111122121121121112111112121112222221222111222121112212111111112212111111211111212112111222112122121221222222211111121121111111121122221212122222212111212212112112222211211122112222112211212222112221211222112222121121121212221211211111122221122111121221221112211212221211222211212221222112212122111222121222121212121211111122211222211211211121111111112121121221221222211111122112212222211212211112212111222112122211211122212112112211121111112212211121112222112212211211122222212211121212211211111212122222212211112111221211111112122221112222122122222111122121221121221221111112122121221212222212212111112221211221222221112221111221222121212222221222111222112211212111212111111122212111211211211221211212211111222122211221222122211211212212221211121122211222221222112121211122121211111121112221122121122222112211112222111112221112212111211122222222221212221112122122122211221121121212212212112211112212221222221122121122222122111211122222212222212121221211112122122121112211121112222112222121211111222111222221122121121121122111121112111112222211111222221122122111222211122212122212112221112212212112212121121221212111222212111222122212112212112111112112222222111122111222121121222121121112111112112122121111222212112211212111122121122121112212222212121222122111122122221111222111222212111122112221122112221122122222212121222211112122211211112111122221211211121112222122212122211222121112122221112212211221212112222122211211112211112212221121121112122112221122212121211122212122111212121221211111212111122122121221211121111112212212122222121121112111112212212221212122121112111212111122122211221212121211212212212211122222222222212111212222221221222112211122122212111112222121212211222111212122221122222221222111212112221212212122112112211212222112212112112221221122121222122212221212122222221212211122112221112121112212222212121111112212112122122221221121122222212211111211112212121221121122221121212122122211122221211212111222221121221111111122212122111212122121222212221222222122221111111221222122211122222121211112221122221111211221212212111222211111212112222122111122222122122222212112112111122221122222121121222121121211212111121211212111211212112222122221222211211211221222121121122222211121221212222122212221211221211211222111112211212212221222211221222111122112122222112112112211211222222222221212211121122211211121221221221221211112122212121222222222122111111212212111221112121112221122211221222212121122112121121111121122212221222111222111221221111122112111212222112221111111212112211112212212222221211121211212121111221211121222112121212222211112122122211221111111211221121211222211112211122112122221212112111221112111112112221211112222222112121212112221111122221222112212112221221121212122122222221212222211122212212111212221111121121111212121122112111112212211122112212112211122112111211112222122111222221211211122222111122211221211212112122211122212111122111222222211211221112121222211112111221211222212212122122121221122112112122122111222111211112212212211212121222121122122221222122212222211211212122111221121211112122112111222122211211222122121212122211212222221212112112121112122122211111212222222211122221221122112122212212122221211112112111222222112112122221212112111112221122121112212222121122221111211212121222112122111212112211222112121112221212112211221222221122221122122221122122211222211122211222212222222211121211111112111221112112122211221112211212212112121122121111122221222211121111222112221111121222121211112112222111221221111122212122222211111211112112221112122111122112122222122122121112121212212212212111111121222112222211222122122122211112112111211122121221111122211221112122111122221222222211112121222212112212211121112222111212212211111221211212211112222211222211212211221122111121212212222122121211111112121221121211122212212212212222122211122222121212121111111211111211122122121122121122122211221211212211122221222111112112222122122221211112112211211112211221211111111121111112222212121211122111222222111112122112111112121222111111211122121221212112122112112222112221212222221122112122222122222222112221112222212212122211211221221222121122211222222111221121211221211211122222111111111112222122111122211211122212212112221122122211211221211121121222222212222221211111211121212221221212222121212221122112112212121211212221122221211122122222221111121111222111221212111212222122111122211121111212211122122211211222222211222112121112111222112121111222211111211111222211112222121211121212211221121211122112222121111121212121221112121121121121211122112111112211121111211111211121121221111212211111211211221121211222121121112122112222212221211221121122122122121222111222212222122122111112122122112112122222122211112112112222112112112222121212212122111222212111221211111212112212212221121111211212221212211212221222211111222112221111211112121122221211121121222122112212121111112122111211112111111122211121222112112221211122121222222122112112121121122212111211122222111121212211211221122212211212212221121112211111111122111212221211212212112221112211222211122111212111222211211221112111212212112222211222212212212112121122122212112121111211222221122121221112222122111222211112122111222121221221222212212121222212212112222212211212112222121211222121122221211221111222221211121211111122212222222211121121222122211111112211112112212222112221112212221221222222112121122211221112111211212222222221112211222211111121221112211212221112112211221222221111121221122211212211121211212121111211212112212121211112112211221212111221211212221211211212111122111212121221122121111221221112211122222221122122121112111221222121211221112222121221122222122121112112222121111212222122112122111211222121212221221222111122211222212212121111111111211122212122111112112121112222111222112211112211122122122212122112222111211211212122222222211112111211112111122211111221211222222122112121221121211121211111222212111222222222122121211212221121222221211222211122221111222122121222221212221211221212122121112122212111211111122121121111222211122211211122221212212111112121222222112122122122112222221112221212221212122112112111222122221221122211112121121212122221212112111111211122121222211121212212121222212221111222211212111122221222212111111111122211211221211112222112221111112111111212211222211212212111122211212211221211211111121221221211112121212221212212221111221122211211221211112112221112112111111211111221121112121212111211212122221221111211112222222121221221121211221122122122112121222112221121121221122112122112222212121221122211122112122112212122122121121121111111121212221221112121222112221112211211222212221222211222222212222212122222222112222111211211212221211111212121222221111221112122122221221112111221212111221121221112111112222121222111121121111211221221211112212211211212221121112212221222221212221222221222112112122212112121112222212121222212222111222112112211111212212212221121222121221222122121122122111212211111121122212222221211112221212211212112111211112212111211112122122221221121222111222112111211222222122221121222112212112212221221121222212212111222121212122121121212211222221122222211222211222212211111211221211112111222112222212111112212121122112221122222121211111222212121221121121212212221121111121111121122222221122221122222211111212111121122211222222112222211121211211111212221221211212211222111211221121111111221212121221111212211212122212222211212111211111212112211222221111211221111122111222111212122122222112212111212111112121222212122221121221221211221112222222212122222121221122222211111111111222222221121122111211121111112211222121212212221121121212112212221212211122122212222222212221112222111211112111212122211111212112112211112111212121112112221211222112122222122222121111112222211212221212212121121212212121221221121211112212221222222121221111112211221211222122221121122212121112111211112221222122221212121122221111222211121212221112111121112212111222221222122111121111111111122122222122111222121111121221222112211121212211122212122111212111112122212221221211222112121211222122211111112212212212221122111211222122222122221221112222212122212111122211222222221111112111211121121111221121111111221211121121121111122121212111112121122112212211221122211212221121222112221121212112221212222112121122111122121121212212212222112121212121112222112122222122122121121122122121112111221221212111122122212221212221122112122111121212112111211212212111121111112211112212122221111111221211122211111211111211112122212112121211111222221122111111211112212111121112112221121221112222212112122221122222122221221111222222211211112222111212121121221121221212122111221111121212121111211222212112222211221222121211211211111222222212122211112121112112221111121222221222121221211112211222122111212212121111111122122121212212112221211212211211222221111212121222121112112111212211122111121122211122121112111221211222111211121111222122111222212112121221112112221222212112111112121211211211122211112212122122212121211122211212222112212211111211222121221221211121211122211121121212221222122111222111112212212221121221112122212111222222212211212212211221112221221222222122212211212122122122221222211212212221111212122112222221211122221122221221211111122111112111121111212112222221122112121111121122222222212211222222211222211212122122112221122221222211112111122212221211211222211212121221212122221121112212111221211121211122111112111111112212221212212211211112221112112221221111112111222222222221211112211112222212111122222212112211212111211112121222111221212112212121112222222121221121222211212221211112211121222222222222222122212212212122112221112122111211121221122122122212211221111112221212122221121221121122211222112112221111112112112211211221211111221212211211112211121111222121112222221121122211222121222122111122211121212212222212222112222221112111112221212121112211111122211121122112122212121212212211111112121211221221112121212111121111111211212212122221212222112122111121221211112111212221111121112221221212222122221121122222122212122111212121212222112221111221211221222122121212222221211122221122212122212212122111212122222112111111122212112211111111212112122222112112122112112121121122222212121212222211222211221111121222211221122221122111222112111122212222111121221222221222212112211122212121222122112211212112111121222111121121211112211111112211111221211212221111111122211212112211221122212211111122112212221212212122112122221112122212211112122221122222111221212212212111222212221122222222222121122222112121122111111112221222222222211111221221112211212212211111212111212122221121221112221211212221122122212221122121111121222121221211222222212212222212221121122212111121122212121212121111111211112222222211222211112122111111121112211121111221221211111121122122111121222221112121121112112111211222221121222221222112111212121211121121211111222122112212221222121222121221222212222121122121212212211222121111112211111221122122112111122212222221122112221221221111221212212122222112122122222221211222111111221212122212212111112222222122211212112212212221111111222112221211212112111211121121112111212212112212222111212111211111212111122221111112212212111211221111211212112212221112222112111222212211112222121112211211212222121221112221222111222212121212211111222121211221212221121111111221212111222122211111112212221121122212122211212222222221221221211111112222121221111222211121112211122222112211121222112221122221212212112211212212121112122122211221211221111112221212112112111111222212112222211222112221211122121122122222221122122112212111212211111112112112111212221121111211112121122122112222222212221121122221212222222112222211112121121211121222222122211211111222121221111112212222222121222221212111122122121221122122122121111112222112211111222112212122212221112111111221111211111112122111121221221211111222122211111211222111212212221121111212221111212111121212111211121222212221112221222112222122122222112221111222222222212211112122222221111121121112112212211221112221122221111121212212212222121112111211212211112122211222121211211121121112212222112121121222121222111122221211111122211222212122121221111212221221112211122212222211111222221122121122211221121222221211221222122121121111121121122211212111221111121221221212222111211212112122121121122222112222212121212111222212111211211122211111121221121211211121112222211211222111212212112121222222211121221122222221211122222111221221111222121121121222212221222222212111112221122111221122211211221121212122221111121122121122221221121121122212121111222122111111112121122121112112112122111211222121211211122111212222212122221112121212221211112111211212111122122222111221212111221122122111222222112122121121112121221221221121112222112221111111112112212212212122212112222111121211211221221112221221111122112212111211122211212111111212212222221112121221111111112112212121111112222111122212122221122122112221222111222111212122121122112212111212211111212121111112121121122112212112111112121121111121111121112222111222222221111211112221221221221111212112221222111122222122111221122212221211121221122212222121122212222112112211212221221211112211212212111121211211212211221212111121221111121212111122121222221222121121121212121112121222112221122211211121121121122121212111111122212212211121112212211212121121211112211111221111212211121212111211211122221122221222121211221121112212112112211221111212121111222211211112222121121121121221121112212111122121121111112122122212212121111121111221112222112212111122211211221211212212122112111111111211112212221122111111122112112122211222221221221121111222222112221112121211222212121111111122212211121112122121211221111212111221121221221221121221122111111112221212212121221121211212112222111222112111121121122211111211122212212211221121211222111222111212122111122222212221121122111111112122111221121212211222111121212121121122122211211222211122212121121111122211121212211111112212211121221122211121221212121121221121112122111112222221211122221111121122112122112112222212111121222221212211122221111111122211112222212212122221221112221211211221122221212121222121111221221122221212221122112122121211111121121121222222222112111212122221112111111211122221222222111122111211121112121121112112221221211122212111212111211211212121111222111221211112211221212222122211212112221121221111121111112111112211221122222121121222121222122111222222122112112111112111111221221222122112122222222221212212211121221222212112122122111111222212112111112212221111221211122211111112122221212112221211221212211211112221221222221122222122111122221111111121211211112221222111221121211121212221112211211221112122112122121222211221111121211111221211212212221122121221221222211212212111112221212211211221112122221221112222212111221121122111111222221111211211222222212212222112212211111221222212112122122221211122111111112221111221211212112121122122221221122222111212111111212122212222212121111121121221212212221222222221211112211211111122121121122221212211221221221221222221112111121112221212121211221211212222122111112111221122112211111122112212212122211121112122212212221111221122121221221211122112221221112122112212221111221221221222122111212111112122221122121222111111111222121211211212111121212221121222112111222222211112221211222222212111221221222222121212112212221121121221212222222211112111221222222221111211112221112112211112221121111211221212122112122111211211112212112122122112112112222222211211112112211211221111211122121221111112221112222212121221222112112121121211211211122221221212112111122222221211222212211222112221112122221121222212212221122211211221122111122212221212112211211212121212122211221111221111112221211211121112221211122222221111221221121221111222211212221211122121221121211211212111122122111112211122212112122211112212111112122122121221111121211112112112112221121212222221122122121212121211221121122111212122211112121122212121122211222211121121221211121111122212221211221212222221222222121212222212212111111221112221211111121212112222122212122111111211212122112111212121211111222211122221111112112212211211212122211112112222111221221221221211112211222211212122122121211112212121122121222122121122121211212212112222112212212221121121112121111122112111112122211111111222221112111222112211222212221122212112111111221112222121111112221112112211221211211212121212122222111222222211122222121221111222112112121111111212221212122111112122212111212211111111222221112121122111222222222211112111121121211111211111122111221122222211122211221212122121112211221122221112122112212222211212211221121112221111121211211122122212122122211112121221222222222222212121112112212111111112121212112221111112212122122212111111122221221212112112212212112211111212121112112222111122121221221221222111222122122121122222122221112221112212222221112112211122211212112211111222222122121122122112222122212221222121222222211121221211112221112122121122121222112121111111211212111221221122122122222211221211121211211211212222112221211111211121212211212121222212112221212122121121111111211121121212121222212212122211211112212122222121121211112111122221121121122121112222222222112221222221211222112212211112211112122221111111221112211111112112212211122112111211211112112122222211112121221212221212121122112111122121112112221212212211112121122112122221211121221211122121122221111221212122211122111212122212221111212111122212212121221212111221111121122222211221122211111222222112212211112211122222222212121222111112221222121211121222112212222221111111211212111121121121111211212221221112221211122221222112212112212222212112211112211221111111212222212212211211212122212122212112222121211221222221221211122221111211111112211221221221122112211222212211122211121221222222221211111222121112211222112222121111112221111222222121112212211222212121122121112121212112121121222212122112211121112211122111112212111222122222121112121212212122222222121121122212222111111211111211121121211111222112212212111122111122222111111222211222121111112211112212122222112121121122211112212211212121221112222221121222211212221212122221211121222221222111122221121112121222221221122211111212211121212211121212112122211222121112112212121211112111221212112122222112211111121122112222212121111111112111111122211211122111112111122111112121222121221122212111222112111122221112121211111222212222112122121121212111121121222112221112111111212212221211212212112222221221222212211221212221222121221111212112212121222211121212112211122112111112211111112212121122211112122112212112211222122222122111111221222222221111222212222222212222111111121122112221221212112121212212122222122212221221122121112222212212121211111211111121221211111221212221121122222122221121122221212111122121212111211121211212212212111111222121111212212211122212222121122112222221222122221112111211211121222121121122212212122222222212112221222221121122212111212111112122212222111221221211112121112121222111212121112221222112121122121222212222112221211122112212222112112112212212122212221121112112212112211122221212112212121111111211112111211112221112111121222121112211211122122221221222222212122222121112211221122121222221212122222211122121112122222122222122212221221112211212222211121221222211122212221121111221112211121211211221212121122121222212121212222121122111122222111111212211212221121111222121112212122212211112112222211122122211212221111121211121221221122211221221122221121222111222211212221112212211222122212212212111222111221111221121221121122121221222222112212221112221212212222112212112121222221212212211222211112112111111122111122122112222111112112221211121122111211222211121122221121222211111111111121111121222212211221112112121112121212222122121122112122112221111112111211212221121212222222112221222112121221111211121122211212212211222221211221212212211222211112112211221111211212122111111221112122211212111211222112221122111221122221111221222222222222112221212221121122211222112112111212122111212111222122211221122112121112222121222112111111121122212111122122222112112222112112111111221211121122221122111112222111221211111111222211122111221121222121121121111222211222122122122122111111111212112112211211222112111112211222122112211121122112222221222111212122222121221222111122221111121122211122222122111211111111222221222111221212212122211122222122122221122221112211122122112222121222122112111211121222112111122221121122222111111211221221122112222112122221112221122122121211221122122221222211121121122221221121222122121221211222111221211212111121111121122212121222122212122112121121111211212212121222112212121212112211122211222121212111121112222122121121111222122221111212121112121112111211221212211222121222221121212121112222221122211121222212212221221111211112222112122121122122112112212121221112222222111212121122211122212122222122211221112122112222111212112122112121221211122221221122211111222211212122122122222112212222112111222122211221111111222222211111122211212211111112211121112112121212222222122122212111222222112221112122111122122222122222221111111111121122222211122222112221212221211112121212222122212211212221211211111212111122222111211211221221112122212211221112222221222111211121211211221221221221121122112112122221211121122222122221112122112221111122121222122122222221121122221222111212211212222222211222212111111122212112211212212212112212222211222211122211122111122121111121212121211221112112112212211212211222211122111112112222222222121111212211111112212111111211222212112222111111112221122211212122111211211222122211112222112122122211111121222221212122112111122112111212122121222221222221111211122211122121121111221222211122221212221222121221111221121222121122221111211221122221212212121222122222222221112121222221222211212112122222111112212222221212211212122221211111222122221122212212111211222121112222222122112121112221222111121211211211221221221122121121121221222111221121122122211222122212122211122212112212212121211211122221111121222112121122211112212121112121211122212212211212112122211222121221212111121221112122212121221212111222212211222211221112211211111121112222212121112221121212112122222112222222111211212122122111122212111111121111222111111222122111121121121221221111121212221122211121122111222212112222112212111212221111121112212121122221212111211121222121211122221121122222211111111111112212121221212121222121221122121122211221122212122211212211122212222121211112222211222112221212211112211121112211121211121122112212211122112222111112122122121211111222221111121122212211121221211111211211212111212212121221121222111211222221121222212211121112112111121211112212111111111211111221111112221222121212121221121111212111121122121122222112222211221212111122112212121222212112112212212111111112211121112121211221112221211221112211222211212212112212221121221221121221122111211222122212221211122212212122112211222211222212111222112112121122112121121212122122211111112121111121221111221111121111211211111212121211111121211212111222221222212222112222212112211221112211121212122111212122112122112221211111111122211112112122212121112212211211211112212121121121212221121222112111211212111222211121121111111222221121222122122111121111211111222212111222121212121121221112222122112211111122212111111122221111111121112222112211122212222112212112122121211211222212112122222212222122122221122222221211121121211222122122121212211221222112111211221221122112222212211212212121212211111221112122222212221221211112211221222212122222111122211112112211212222211212121222112122212221122112112111111112122222211122121221111121211121222112111212121112112211112111211222212211111222121121211121121112111121212222112222121211212121122212111221111121112211122221112211212121222211111222111212222112221211222122221112121211111111111122222222222112121212211111212112221222212121111212221221211122111111121122222212222221122211111121212221111112111111221212211121111221121111111222112221221121211121122211211222111111122212122122212111212222112212211222122211222222222121122222121111221212111121112211122221122121221222112222112111212221212212122122221112221221111211222112211122112112212211211211111222211222211221212211212121122112111112111111212212212111121111121211222111112211212122211212222112221111121111122221121222121121122222111212112111212112112212112221212212222121122211111111212221122212221112112221212112221211121112121112221221212222211121212211221221112221121211122212111221112122122111222122222122211222112212221111122122111122222211111211111212111112221222111212211211111211222221221122222211212222212112121112121222221111112221111222211211122122122112112222111111111112122222212222212122121211212122121212121111111111221122121122122222212122222211121212121222212222221222212121122112121212122122121211112222122112212122112112112212222111211211111211222121222112221112221212211122111111122221221111122112111122112112112112221222221222121221121212111212222212111211111121221211211112222212112221221222111221112121221222122122121222212122121212221122221112212221221112121121121122212211222122221222212111111111211111221212122112112112222111111221111112212222112211111121111222122211221121221211211221111221211112222212211211222111221222222212122111111212212122111112121221122121112221211111111222122121222121121122121222111112121222212112222211221122212211222212221222112111211112212111212122121112212212211112121111111211222211222212112112211222211111121121122212221212221222111121212112221221222211212122221212211122221221221211222212211111211222111221121221112122122122221111111112222212212221121222221121112121122121212111212111112221211112222221222211211111112212111122111222221112222212212211112211212111111111212211212111221221211221212121122222111222121212211122111211111121211112122212211111112122222122221121222211121211111212221212122121221111212212121221122222222112111122111121122211211122111122222221222211221111222112121212112122211212111221211111211211111121211222111112121221122121222211121221111122212211212222121122212221222121211212122211221212111212121112121222221121212212112112222112221121111111211211112212112121212221111112111121222211121211212112221222222221221112221122112112122112122121221122111222111112222222122111112222221211111111121222121222121112122111211122221221211122212222121111111222112111121112222122212212111121122122121121111211221112221212222111111122222222221222121122221212221212112112212222112112222222221212221221221212112222121111111211211221112221222222112122122112112112212212121211111121212111111122211211222212121222212222121212111221111222212212121222221111112111222121111222112211211121111121221111112222121121221112111121121112211221121221211221221221122211222111112211111222122112111212112112122222211111221122111212221212112221221122222121222211122122221121111111221112111122111122111221211122111112212121212112112112222212221212212222221221112221111222122221211122122112211222111111211221212122111111211211212211121212211211111111122121212222221222222212212121122111112221221111221122111221122121222222122121211211121211211122212221222222221111111122211111222221222111221111122121112121212121221222121212222112212222221112221112122211111122212121122111111121121111222211211111222211122122111211222112112112211211121211122112222121211112122211222211122211112212212212221221111211121111211112212221122222221122222121122211221212121222221221212112112122112121212111112211221112222212212122121111212221112222211111111212112212111221111222111212221122111111111121112211122111211221222121112111222212122222221121211112122112211222121221111221222221121221222222222221212211211221122121211112122122112221112122222212211121222221112122121112111221112211112221121211221211212222122121211111221221111221222111111211212111111221211212211211111221112221112111221211212111111121122112112212111112112121112222211112111122211212211112211111121111221221222121121211111211121221111122122121121122211111221121121121111212212112112212111111212211211121212111221111222121212212221111211112112222122122122122222211211122221112221111221121121112122111222222211112121221121112212211221121222211121112121122111221221221221211211212222222212111112121121221111221112112111112222211211112222111211122222122212112111111212222211111221122112111121121211212211111111212212221212212222112111212121221222121122222111121112121122111212122221122112212111112221222121121221122112211122111222221211212111222112212212221121122211112121211122211111121222221211111221111111121112122221222112221111121112222222222212211111221111212112221121112111222211121212212221222111221222212122112221122112111122121221111112112221111221211121211221221121112221112122221212122112222121222211222212122221212222211222122211212221222121112111211222221122122121212212112212221222112222211121111212221122222211112212221222212211221211121222212221212222221122111122221212221111211211111121111211111122121112112211111112211111212112211122121112221222111212212212211222222211212211211112121111121212112221211211111211212212212212222121122111212122221212212211221211212221221212222122211111221221121211122212212212111122222121122211221221222212121222212111211121222121122212121221121121121212112221112211211211211112221122222221222211121112121211121111212221122212222122111212121121221211211222121221121121121122222122221222211212212221211211111121212122122112122111111122121212112121222211121212211221112122211122111212112222212211221112222112211221222222211212122112111112222221121221121111112121212112112221111122221122122221122211111212112122211221221222121121222111112211112112211211121121112112112211212112112212111122112212121111221222122121121212211111212222111112112122221222121112112222222212111111212222121112121111121111121212112211122222222111211211122121122222111122112112122221221212221222222211211122212222212211122221221111111221221121221211212211112121221212212111222212211222122121121111112122221212221222122211121212112122111222112111111212121212211121111121121212111121111122211111111122221222211111112112212122122122212212122221112222222211222122211211211122121112122122111112212121222222112222212122211111122122221221112221121122111112222112111212211222222122211121112221221211121211212221212111211122121112111212122112122211111112221111112211221122211221112211122122112221111121122112222122221122222111111211121122121122222112111212211122211111121122111122122122122121122221212222222212222112111111211122222121121121111112212112222121211112112112212221211112112112212221211112112221111112222211112222111111111221212221211212221211222221221221211121121122212212221111212112211221111211212111111211221211212211111111211122121221121212122212121111112121221221112211112121112222222221211212222211212122111222112222112222112221222111221221212112222222221121211212111111212211121212222121112211211212211121212221212212122211121221111211112212222121111112121221221121122222211211211122221222121112112211211222122222122221122212211222111212221121222112221112122112221211211111221222112122121122212211121212112221111112121211111111222211221111211111221221222111121112212111212112212112212222111121222221111112112212112121221121221112112212112221122121121222112122122112112122212112121112212111211121222221222212112122122221211121222221221221212222121212221221111111111211122112222221111122212221122222211121122112222121122221112121121221112111221121221121122121212122121112112221111221222211121111122221221212112222122222222121222212222121112122222211112121122222221122221221212121211211222222122121221121112212111211122121111112111212121212122111122111212122222122111111221122112211211111221111212221222122221111211221111112122212121111122122111111121212122122122112111122112112221222222212222222111122111111121212222111211212121121221222222121211221222122222222112112111211212121211221221221211112221212211121221222112111121211121211111211222221221112222112112122122122111222221111111211211111121221211211211111122212211121222222212121111111122211111212121212211122122111122221121112222112222122122112222112212211121112111221122211111121212122222111222122121112211222112211111221122221211211212112121122121112112121122112121222221222112222111221122221212211212112122122221121122111122111212222212122122111111222212122112111122221221121122111211112112111221112222211222211122211222111211122122212122111222222222221122112212211211111122211112212122112221111112222222122212121212122121111212112121121222122222222111212222212122222211212122112222212122122111211122122122122221112121212121211211212222222221211222122112212221211221222122222122221111221221112112111111112221121222222111222212112212222111121111211121121222211212211222221112111212112211211122111112112111212122221121111222212221211211122211112122212222112211212112222111212112211212211112211111122212222111111111221112221121121221122121122212211222121112122122221222112212122112211121212212221222221122212222221222222112122121122121122121122121211112221221211211222211121111112111221211222122112211112112112112211221211212212221222112112212111111221212111111221222222212111112121222112121221111112121122222212222122222221121211222221111121211111122212222211212121121211122111111122121221111211121122221121112112222222112111122221111222112212122222121221222222112112121111121211111222221212212221112211111111121122111111221211122211221212212212212121112221121222121222122112122122121112211211112122112212222222121222112122212121211221111211222222222111211111222211121222212112211211212211212121122121122121122111112111111112112121211112122222211221111121211122121121222212112222111112222111211222222111121222222111112222121211121112212112121121222112222112122122112112212121122122122222112211221121122221221121222111221221222122112222212111212211211121122221212121211112211121121211212121122121212121122221122212112122122212212121111121122122111211211221122122112121212121121211112111222212122222122211112111122212111112111212112212221112222222221211222112221111212121211112212211222112221222112211121111222111211211221222211121112221122111112211112212211121122212221222112112121211112212212212121122222111221212112121212212211112111112122221112211122212121121211122221111112222111122211122122212211121211222221122212121112212111111111221111121211111221121211211211111211112122221222112222112212122212122122122212221112112122221122211211221122122122221222112222121222221111122212111211112222121221212222211122212122111121222121111112221222212112112222122121112222122111121222222222112221111112112222112212112221211221112111112111112122122211222121211122111211211221121122112122121111112112221211112221221212222111122111111122112122112221111121121221121222122122122222222212212221122221221211222121221122211112122121122112221212122111121211111222112112122222211222222112112112122212121122112122222122221211121121212122121211212212121222121112122112111122212212121121122212111211211222212111122222111121222221222211221221212222122122122212121121211121222221212212211211212121212222112221221112122122121222222111221111222211121212112111212222221121211222112111111121122222122121222221222112121122221212122222222112111221121121212212222112122112111122212112121112111212111122122112121222112122122112111112212212212111211111212211222211112212122221122222221112212221112111212122111111112221121221112212121212112222122111121211221212112211121121221211111211112121122111122121112122121221211222212111112222221221212112112212121222111211121211211222121221111222212211112212122222212121212222221212122122111111211212222121112121112221222212221122112112212211211221111221111211111122212112122222212222211221222112112221222121211121122122122221121222221212121121121212211121222212121111222111121122112211121121111222122221222122122111222212222121221211222112112212212212211121221222221221121111222212212122212211222121111221121211212122111221122111212111111222121122121122112121222111212221222122122211112122211221211122111211111122212122122121221212111111212212112122221112111122122222211212212222222121211222221112211221122211112211121212212221112222121222121111121221122212122212111122212221222111111222112212122121221111211211122222111111112111222121111221121112112212111221111221122221222222122221221121222112222121121222122122211111112212111112222221122221212212112122212121112212212122212221112112211212221111222111212212211111112112122111212121111221121222212221121212111221111211121221122112212221222111222211211211111121222122122122112211222111122221112212222221112122212112122121221122111112122122221121121211121221222122211212211211121222211211122211221211112122211221222211222111122221111121212221211111211122222212122111112222112222112122221212212212111122122212221211221212111211111122222211112212211212122121122121111211211212221211111222221122211122111111212112222111222221222112211112121122212121221221111211212121211211111221221122112122222121122111121112112221212211121112111111112122112121121122112121111121121212112211221221222112211121122212211221211111111122122222122111121221111211221221221111122121111111112221211212222111222222112222111112122211122121211212121211222122211222222122111222221221121221212211222111112112222122211221121211211112121222212222221121111211112211211112211212122222221222222122212222211121122221222112111212212112122211221212222222212122112112211111111212121111222211221212121112122111212221211221121121212221212121112121111212111212222122211111121221112121122211211222212111122211122111122112121212111211212222212222112121121221222211211111212111221221111111122111121121111122212111222212211122222111212112221211221121222122122222212222122121211121122211111121212122222122122222121121222211111222122221112121222121122221222122212221111121221221212112112111221211112222212212221212112112212112211111121212222222112221212212121222122121112221222122121121111211111111212122221211211211122112122222212112122121121212112221121211121211122111211211222121221122222112212221122221122222112122222222222211222222111111121212211222222212121111212112222212122222221121112222221221211122212221212222122121112122212211122122112221111112121221221221121211121212212212212122211212112211121112211211221222112221221112212122122221111112112211212221222111122112211122221221222221111112212212121211111212212212111222112121122111221222221112221211112212212211122222111222222222121212122222121211212221122121121221112111221212211111122112112222111222222121212212112111221211211211221112221222221222111111112112221111112112111212222221122211121111222122222121111222212122111221112221111211211222221212211112122112222221122222211211121212111221221221121222222221111221221212222112111212112121121111111222221122211122212221212222222122221112121222212121221121122222121222112121121122221212112221211221122211121111112122121121212222111112112221222211221122122211211212112211112212121212222111222112211211112122111121212221212112111212111221221121221122212112111121112212111121212122112112111222212221221112122212122111211222211122222121111111211112122212211222112111221121112121121122212211212212221212211222221222112122122212122111111121122111111212112221111122211212111221112212222122212222222211112221122221111112221111212111122221212212212221221112112222222211112212222212211211111111211112111222122112211112121212111211211221121111211221121122211111112222211111122222212221212112121221111211212211111111221121212121121212121112111222212211111122211111222222221111221212112121221112111222111221121121222121222211222122111112121112121222121211122111222111112212112122112112122121211221121222121221221211111212212122212222221221122211111222122111211222122211211221112212211211112211112112122211122212222222112211211121221121212122111222111121222111121211211121222211221212212212222112221121111221112221221121222122222221112112121222121222121112111111222222211121212222112221212112122111211212121121221211112222111121112111221211111111221212212221122112211212121111221212122212111222221222212221111222221112121121111212212212122222121211112112112111121121222211122112221222111121122222111121221111222212121221121111122221122121122211211211221222111112221212112122221222122111112122122211221111121211222111112122112112211122122211121121212212221222112212111211111222121112122112222122222122211112122111211212212221121211121222111211122121122122211212112222221121122122112122211122212121122111121211211211111221212122121212222212222121111222112111122112212212121212221122122222222211111212212122121112122221122222111121121122121212122122122112112222212112112212122212111221121221221211121212211222221221112211111112112222122222221112221111122122212112212211112121112211122122211211121121112121121221222222111121112212211221221212111121221211212111212121222212122222122121111221211222212211112121111212212222122221212222112111112122222122112212222112111111212121221112111211121112112211112222112112212111211212121121121221122112111112211111122222121122122122221122121221222122112121121212211221111122122212112112212221112211221221212122211111212111111121112122112121222221121112121112222222212111222222121222122112211112211122111121111212111211111112112111121112222222222111111121221112112222222212111122121122211121212122211222222121221111211211221122211212121111221212221122111111211221211211212111122222221112211211111112112211111122112222122222111112211221122211122221222122121122211222111222121222222221211111122211222112112221122211122111222221112212221222111221111121121112212211111221221111211122222222221121211222211121121122211212211212221112111111121122221112111112222211111121221121221221122112211121111212112221111211212122211211211111112212121121112221121112221222111112121211112212211111211222221121121222211221211212122211111221112222221222211222211211122122221211221221121112122112122221112212112121111211111121222212121221122122221111212111111222121122122112221221122121212221112122111111221122222221112222211122212111222121221221122212221221222122221221121111122112121221121122122111111211122222221222112112122121212212222211122121111212212211122222121112221222121221112112222212111221111211222112221221221222222221212112122112121221122121112221221221211112211211122111222121112222212211121211111212211222111212222212121122212121121222222121112121221112111221111112122211121122211211221122111121212212211211211112221211122222222212122111112211221112222221121122221212211212212212222122112211211212112112222212121112222122121121121211212122111121211211212112122121121112122112221121112122222212121122212112212212222221121211211221222221221111122111222111212221111211121221212222221211212221121211222122121111112222221112212212121212221211111221211211221211221211212122212112211111111212112112221221121112211112121221222122111211121221221111122122222222222112221211211111222121111121111211221222121212222212121211211211112221121112221211111112221121222221222121111121222211112222112121221122121122112212211211121211111111121221111222121121122222122121211122121212212112222222211112111211111222221221122222221211222211222112222212221221112122211121121212222222212112221222111211111121121211121111122112212122211212212211221212112122212121122211212121112212221121221221211112211212121211121222121121112221211212112222221211112222121112121211112122111122112112121222211112212112211122221121211111111111111111121112121221222222111211212212111211112111222222222112211112221122211222121122112222221112122221221111121212221222212122212112212211111121222121121222222211221211111221121222112222112112112112121212221122211212222221212112121111222112122211112212111222112211221111212112211212121212112222212211221221111222221111221222121222221122121122222111111221211222211222211122111111211122222121111122111211122111121211121111211121121121111221211122212212112222121122122112222111212122121112221111121111221222121111112222122111111211121222121122211121211121111112212221212111111112221211112211121111222212122122221212211211222211222212122222222122122122212211222111121112111221121121122222212122222212121221122122111212222212211121211222122111121121221222212211122222121122211212222122212121212111122212211212121122112121121112112121111122222112112212112212222212222211221221221111221122111112212121121112121121122221221122111122122221211121121111212111221112221111122122111121212111111111121211121121222211221122222222121221122122221111122211222211221222112222112112222111222112211122222222121121111112111211212122222212111121121212122221222111211121211211111221211121121122111221121121121211122122122221111112211212221122211222222121211222121121112222222111122111221111221122122222112122112221121122212221212221121112211221212122221112122111211211221112212212112222222111111221112112212221221112212112121222122111111211222112212212212221112121111212121221221212211111222122121111222112222211122212121121221222221122121222221111111121122221121211122212111121112221111222111222212221112221111121122211112212112122212222211121112211111112211211211211222221122221112111222121221122221112111212111211111221122122112122122211211222211211222122122111212222211211222222222122112222122121211222222222221121112122112121221212112122111112211222122212212221222111221222122211222111112212222112222222222221212221222211112122221221222111111122211112111212211122122112121221122111121212122112211122112111122212222121112212221222112122222211221222212212222122122221121212222122222121222122112121121121222212112221122121111222212222222222111221222112211111121111111222122121212122111121211122221221221222122222222112212111121212122111122221221221122111122111212121111211222222222121111111221221112212221212222122111221111121222212112211112112221122121212111112222212121112221112211122211221121211222122122111212112111221211111211122112122112111211221221122221221122122122222211221211122111211121111121211212211221111111221121211222222212122111211122212212122211122112211221212111221222121212222112121211122222212212211211121221211221121221111222112211121221111112121221222221121112111112211211212211121121122222212122111222212211212121112112221221111221211112121211121112121111221111221121221112112212112121212212211212222111212111221221112211211121121222221211221121212212112212211222221221112121121111121122221222112111121112221212121222112221122221121211122221121121111121221111112111121121212122112111121222112121211222111122211221221111221221121222212211112211111121212211112112121112222212211122211111112221222222122121221122122112211212212122222111211122122111221111211221221122122221111112212112222221112111111111121111211211221122111222111211212112212211112212112121222122221211112221222111112222121112121222112121111122111122221121212121211222212112111112111121111122212122122212212212211212112122112122112111121112111111121222222211111211122121121212112221212111112212121222112222111111112122121221212221221221212221121111122221221121212112122222111212121211111212122121212222121121122111221211111212122221222121221122121122121211122111121221222122122112222221112211112111121221121122212112222112121111211121222121112112112211122211212222111221121111112122222211211212221112221112112212121121112222111211112112112221222221121221121222112111121211111112222122211221221211212112222122112212221211211112122112221121211211111121111211222121112222122121122121222212211221111222112222111111112122121112112222211212221222221212111112221211222112111222111211122222121221211212211211211122122211112121221122212222111221211211211222211112112122112221112222112121112212122222221121221211221211112121221112112221222212212112121211121122112222222212212221122211212122112111211211211222122222112111111111112121211211222112212212121221111122112211222221222221122112211221122221222122121212211221212221122111122212111122112121211211122121111121212211112222121111111212122212111122211112121122222222112121212121121122122122221222112222122122121111211111212212122122121222222112222121221112121121112121222222122212111211122212212112212221121221111121121222212222112121211121112212222112211111122122222211111211212222121211122121212121122111112112112211222111221211112111122212121211222221112122121112111121211121121111112121111221112211222121212121112211222112122111121211122121121212211122212222122212222212121111121212112211111122221211211121212222112211221122122222211211112211222221112211112212222111122111121212122112122221211121112122211112212121221112211122112121121122212222122221121222221212121211122221121212122222121112111221221121121221122222111212112121221222111211122211212221211112122122111111112112111112122111222222112112111221111112121211122121212211121212222111112212211122211111221221121212112122111222221212112212112222212221121111211222222112121122212112122212211212121111212222111222221112112211111121121211112122221211212122112112212221122122212222221211211211121111122222121222221212122221111212222222112221211211221122211111222121212211221211112221211222212122222222211122221211221111111122221111222121122211211122221122211122211111222222222121121212221221121121222121121121221122221121212222121111121112122122212212121112122122211111122122222122222222111212122221221211211122111121221122121121111112121221121112211221221112222111211222111211211112221121211121211121112222212121112121221122212122121121221222221211221212112221221211211222111211211221222212222212122222222221212112111221221121112122111122221221212221221212222221122222112111221211211221222121222222212111221121121122112121222222212211212111112221111221111222111111212122222211121211212212111221112121122221212222222221211212121112222221222211121121121222211121121222122221112112112122211222111111222112121111122112122121112221121212212122221211212221222222221211211211221222122221211111211122122122211221221112221222221122111111212222112111221212222221122112211221212212221122122211222112212121212122122212212222221222221222122222222221222211111222111211222112212122122211111122111221122212111222121221121222221111112111122111222222221112112221121211121211221111221111221221112121211111112121222112121111121121221112222222211222121111211212221212121221121111211212221212212221121221212112221121121221211121222121222112221211121112112222222221212121112221111222122222112112112121222122221221221221212121212122111222122221221221221211111122112121221112121121212112211111111212222211212111122211211221111122122112112122111222211121221222112212122122122221221211121121222122111121111112111112221121121111112222211112111111112112112211112221222112111121122122221111112111222121111112122221111221211212222112212221221122211112111121212221122221221111211121111122112221121212222222212121111122212122122211222121221212112211221112222122122111112121111211222212122121212221212112211112222121122212211112121221112111212222111212212122211112212111211222112221122121112212112222122211222211211212112221121121122222211222221211222112111111122222212111122121122221221122222121121111222211221122112122122112221211222121121121212212221111111112222112211111221212221111122212121122121221122112122112222221121112212211212221211211112211111112122212122111211121121112222212212222122211222121121222212222122212112221122111212221222111221121121211211212112221121222211212112121222121122221222122211122221112121211111221111121211212122111112112222122221122112221111221212222222221111111222222211122122112121221212122111112221221222222121212221222111211121112121122211121212121112211212222221212222211221121221112211112122122121211222122121222112222121121211122212212212111221222221211211221122212212121111222122121221221112112212111212121212221111222122112111212122111122121121122221112212212112211222221212222222122222221121221122122111221121122212121212122122121112121222211121212111121221122122111222111122221112212111112212221111111212211122121211221112212122122112211121212211222112121121212221122121111121122212111122122112122122112122112112122121222112212122112221112212121222211112212222111111221122111211112112111111221111112211122122221121121222112121122222212112111222222112112112211222121212112221212222211111121211121112221222122221112221112211222122222121121122211211112121222122211221122112122121111122111111211122112211111222221122122111122211112112212222211221222122222122211221112121112211221122121221112221121221121111222122121221111212121112112221212112211121222112121121211211222112212212111211222211211222111211111222111122212221112111112211121212211112111112112211121211112112122211121222121222221212221121222221211212112112121212121121111222222212211221122122211112111221121121212222222122112212212121111112211121112211211211112222121111211112222111222112121222122122211221211121122112111121111122222122122112212111122211221112222121221111121221121112112211111221111111121111121122221112221111221212221212212212222211222111111121211211211122112111221212221122222111221211121211211222211122211111222222112212112212122111211111122221111112111111221122122212121222222212212121112112111111222212122112121122221111212221212222222111212111221222112112222211111112212212112222211121122111211122121211211221121122122121212222111222221221112112211111112121221211212212221221212222221121111121222121112212112212211112122222111112122221221222122122122212211211121212121222212221121222212122122111222212221111122221112111212121222212111212121212122212111121221222112121122112122212211122111221211211211221111211122222212111211121111112222112121221211121221222221121212122111222112212222112211211112111222121222212112112122112212111122122122211121211121122222111222222121222111111212121222222222212122212221212212212111211211211221211111212111222212211211111112212111211212211122221221211112212122211121122111212112221221122212121211222222222122221112222222121221222121121221121112111122221122111121222121212112212212211222212211111121122211121222211221211111122121111122111222222221112221221112112212112212211221121222212221211111112211122211221122211112221111222222211112212112221221112122212111111111212121122212111212112122212211222112222212111211112122212122122111122111221112222221112112212212222221112122222122112112211112122212112121222221111221221112212211211121112212111212111222121221122222121212121121112221222211112211212221212212222221122111221112212112222112121222221212112121122112211222212122212211111111211111111221212222112112212122221122212121122211122221221121121112111221122122211112121112112222222211222111121212212222122112222122221122222221112222212111221212112212122221111222211221122122221121111222121222112221211111212222211112221211121222112122222122222211122222111212221122221222111211112221222222111211221212222222212112222211121222112111221121122222222111111212121122121121121111121222222211222111121122121111111111221112111121212122121112111122111111221121121211111121212112211211211121222111111121122112121122222222121221122121112122111221212111221122222121212212112211122211212121122122211111222121112222111212221121122211212112221221222112112222122122122121111121222112212121112112221122221121222222221121222221221111211221221112111222212221222121211111112121111121111212121111222111221222221222122121221112112221111212221122212221121112111222221211122222222221221112212112112122222222222221121222211212211212221211111212222112222221121112211121122122222212211122212212222212121221221221212222222111112221122222211122111222212211111121222221221211122121112122112222212121121112222221112222222122121122212122221112222212111212112212211121121211222121121221122121121111121212221112111212111122211221211111112122111121121121112222211221211111111221111121121222211122121112121111222211112121212122112122222122121111222111212121212122111121112221121112222212222111111211221222212222122112122111222222221121121222222121221211111121121222122211222222211212111121221212111111211122112112122212212121111221122112112112222211212211122211122122112212122222211111112111211222121212121121122211222121211122111212121121212122121112112211221111121211212122122222221111112111211112112112221122212211212121111222122211111112211212221121122212212212121122111112212211111221112111122222122111112221112122111122111211212112222121112221122111122212121121222122212121211222112211112211121122211111112222212121112221221222221222211122121212212222212122211222121111112122111211222221211121212222211211111222212121222112212222211222112122212222211122211111112112221222222122121112221211212111122122122122111222122212221122112122221222212121212212211222212122221112112112211221221222211121122221111122212221122122122222222111122112222122121121211122212121211222112122121111121211122222221122121112111121121111122211122212211221212122112211112211211112221111211222121111221212211121222111221111212212212211212111221212122112222111111122111221211222222212221111121122112111221121221212122212222211212112211122111222221111111111122122122121112122111112122221212221221221221112211212212221221211121212221121211111111111211221121121121111112212121221112222211211212212122212111222122222121112111211221111112221212121112121222211212122121221112222122112212121121211112112221122222212122221111112211122121111121212111111212211222221221121211221122111222121221122221112121121111222112112122122212122221222122211211221121211122111222221121211121222111221222211212121221112212222112112122211122121112221212111121221222211111222211122221221121211122211222221122221122121121112111121121211121112112112221112122121121122211121122122121121211112122121112211211211111122221112211112121112222122112122112112111221112111222211212221122122222122221212122111211122222211112121121112111111212112222212212221112111111212122121222122121212222212112112111112222211212221121222122222212211121121111221211111222221121121221222111121122122212212221221211111212221222212211211221211112112211111112212112222211112111211112222121221211121211222211111112111111112112112221122111111212122212212111121112122221222221111111112112111221222112121121221111112211212121122212222121122211121221211121222211111211222222122211122221111212121122221112212221122112122122111211212221122222121121212222111222122221121211112222122121221121111112211222111122121122222122111221111111221211122121111121221222111212222211112122221112111112211222211211221211111211121211121221112112212212222112112212111112212122221112211111221122222221211111212111221122211222212211111121122121212212111221122111211112221222121211111111122112111221122212221211222222221211122121111221111222211212222221112222221221211121121122122111121211221121212121222221111122222211221221112221112122222112111111222211122212211211112112221211222122221112122112222111221222222211122221221111211111212111211221122121112112221221122212122212112211212222111221211122221222121112112221111221221211121122222212222222211222111212112222221221222212222121112122211111212212211122222221121111221211221211111211112122111211121211222212221122111121122111122221222221211222111112121111212122121222112222222222122212121112222121121112211221222212212121122221112212211221121211111121111212121212211221122212222222221121122222112212222212211111221112111211121221211222112122221121121212111212211122112111222212222221212112111212221121111122111212221221222221221222121121122122122211221112121221211222211212112121122221121222122222112112222122121211212211122221211122112121122222111221221112112222211221222222211121112222112122111112221111121122111122122122221121222112111212111122111122211122111121222212121212112221212121111222112212211212222212211122111112211211112111212221112211111211221121122221122222221112221111212222112112122112212121212112212212122111111212211112121222211211111221222211222121112212111121221212121212121122221121222211211122121222212222122111122112112112112221111122221122122121212112212211121221211111111121222111112221221211111221222221222222112112221212221121112221211112122112211211121122111221122211111212212212112211221112211112121212122112212122212221111122212221121111111222222211221221221222121222111121212121111221212122112111221221121222222121121211211122111222112122221221111112122212222111111121211212112112221111222121122221212121221221121222121112212112111112111111211212111122212122122121111211112121212222122212211121112222212222211211111112112211111122222122122121111121212122212222222112221212221212211211111221211122211121211212211222211211211112212222122122222122121221212111112111211212211122121111221212221211211211112221122112112111221112112221111211212111121212211212121112122122211121221212111211211221222112211121112122112112112112212212112211121212121112211222112211211121112121211111221212122211222211212122122112221222211121212112111222122211221122221222112221221212111211121111112112111121111212112111222121212111112112121121122112222112112112221222222121121111221212111222212222121222221221212122222122111121211111122211222111121122221112222211122111221112111121111211121222111122112112211122111211221122222111111111111222112211211111122112111222112111211121211212121222222221211112112211111112122112112211211122212112122122111212211122212121121211112111222121121222121211121221211222211212122221212212212211222112221111122212211222121112122112121221111221112221212121221112111122222222221112111221222221211112112112122112111221111221212122211112222111122112222211222112122211211112221222112222111121112121121121221212221111222122111122212122211111212211212112121112122221121121122111112211221221221211111222121121111212112111222211112222111111112122122221212222122211221112222222121221121212211222222121111111211212112122221211122221111112122221121112211122222112221221122211211111211111121212112221111122222112211222211122121222222222222221121122221222211221222111122222111112211111122122221222221211122211111221111222212212221121222111211221122221112121221212122211221222211222222122222111122121211212222221111221121122122211222122212122222221221211212121211111222222212212221212121212121121221121221121211112222212121111222221112212122222121121211121111112121121111212222122222222121221111211111111211112222112212112122212222121111222211211212222122211111122111212111222221121212111221121222212122111212121212122221112221222212211111111212211221111221222121121221211222112212222221121211111111121112121112222212212222211112111211221111212211221112121211121211221212211112221122112211212222212121112222121112212111111221122222112112122222112122112212222211211121211122111111212222121122211122122221122121122122221222122221122221212222111111121222222221122221111212122111212112222221122221122222222121221112112211122122212122222121112122222211122111212221111212112221112212221211121111111121222221122112222122211111122121221211122111212222122112222221111112111222221212222111221121222211122212212122221222221211212221122121112121111222112112221122212112111222112121121222221121212111111211122122211111211221212212122212222211122211111111221211111212211212121221211122221112212221221222211121112121211211111211122221111111211211211221222112221211211121222222212211111112222211112211212121121111212121112222122211212221122111122222121122212211112212111112212112122122222112222122221222121221111111111111212112122211122222221121111121211211211122212121212211212211121212222222211222212112211112112222222212112222112212222112122212121111221121112112111112122111211211122111122211111112111122111221221112211121212222121111121122212112211211221121112121112222112212112111211221222222211221211222121122121212222211222111222121122211112212122111122222121112221122121112222122122212212122111211211122211121211111212221111211121121121121112121211221112122121211221221212122112212212112112111121112222212211221121122211112122112121221111112222212111212211121212212222212121122111212121112212111222211221222122122221211122111212211121122222221122212211112122112112121111221212212121212111221121112212221112121112121222211221212121121211222222111212211221212221112112111212111121211212212112122222112121221221212122112221112222121212212111211111111212221222112211121221121111222111211212112121122121211212221211212122212112221211122221211112222221111212212222221111211211112212111222222121112111221111111121212122211111122121122212221112121112122212211112221121121122112211221122111222221222212122221222111121211221121222121122222121221211222121222222221212111122222212121211222122122121222121221112111222221121211212221222112222221111112121122122122112122112221221112112221221211222121222122122222222222212112222121221221221122212211122112222112222122112111111112111122212222222221211211111212112222112111222122211112122221222221211212221221212221212211212221111212222222122222211112221122222122122121221111112221212211222122121221211221112222121222122122222221111122121121221121222111211212221121122122112121111221111122112212211221221111222211111121121121121222112222221222111121112111122221212112222222222222211122121121112111222111211212211121221212111221211111122111112222211212221221112111111111222122211221121212222111221212212111221222222111122112221211122222212222221112111111111122111122111121121212112121121112222122121212222221121222111221121122212122221222211121221211121211121112211121121221111222221112111122221121122111121112211122121112111212121211211212222222112221122211122122122212221122222222121111121222121121112112211121121122112221221221222122221121122221221221111122222211121211112221211211112212112212212212112112221121212221221222211121222111112122121112212212112121122211112222211221122121211112222121122221221112211111111122222112112111122111112222222212112111211211212121211221121111222112112111221222112211221211111121112212211112211211212112211111121112211111111122112212121111121222212111112222121112121122212112112211222122222222121112211122122121121222221212112122111222221121122112222211211122121122212122122212222112121121112222112222122221122122222112222112112112221212122211221222112111222112111122222222212112211121122221122121212221122122211122221121122211221112211221112221112211211122222111112211121112212111211111121212122121211112212221121222121212122112112122222212112221121212121222211221112222212111221221222122111221112212112221112211121221211221112221211122122222211121212112222112211211121122111111221222221212111112111221221122211111111211122121222111211121221111222112222211112122122211121121122112111121211222111121121121222211112212212221112122122111222211121212111212111122111111121112212222212221211211111122121122211222212211111212212112222112212122222111112222222211112222211111111222122112222221122212122211221121121112112211212121112121121211112121222222222112221222121121121121111222211212121221122121212221212221222212112121122111221212122211211112111121111121222112221212211212122221122222121222211121222111121221222211122122112212221211121212222222111212221211221121122221111121212221121112222212222211112111122121122121222222221111221122211221211122112112212221111212111221212112112212221111211111211221211221121222221111221221111112221211121111121221212222111121111222121111112111112111112121122212212212122222221122222221122122112111122212111121222112112221222121111122122111121112122112112211111212212121112221212121212211111121211212111111212122111112112112121122222211122121111121221111122211211111222212211112111211212211111111112222211221211112111121112122222121121111212211212111221122211122112221212122112221211221211111222211121221122121121121122221211112111111221211112122211221211222112111122111111111221222211112112122211122212122211221222122122221121121221211211112111212222121222122112122112221121211221211122121112212122212221122111222112221212122222111111211221211122111121112211222121222111121111211122121211121112211221121111222222222121122111111112212111222222112211212121122111211221221222222121122221222212211111222122111221111222221211121222112212222222111211121221112112222221112121111122211121211122111112212122221111212212221111222211212111122211212221211221212222111222111212111122222112121121122112121112122122212221221111212112221222222221221111111221122212211221121221211212122111222122121212221122111222212222211222211212221121221222122121221212212211121212112221212122111222212111121121211221212121212222112112212122222222212212112122222112112112122122122122211211111212112112111212112221211112211112111211122221212221121122112212112112122112212122222222111211221111211221212121122212221211221112222211221112122211222112221112212212221222221112121111121111222211121121111212121212211111111122121122222122211222221112212211222122222211111212122111112122121112221112112211121212112211121212122121122112222221211112212221112211112212221111221212221121111121222111212222222122121121121111111212211111212222111211111212111221221112212221211222122221111221122111112121212211111222212212222122112122221221112111121111121221122221121211211122112112121111122222212221222222122222112211112212212121222111122122212111221112221212212122112222121111122211212221221211122221111221212211111121111221212111212112211112221122212122221112212212222212221212111121221122111121121112121111112221212112212111222112112112212122211211121122212121122121122121122111111211212222222222122112211212222222111122122122221211221111121121222212122121212121111121122112121122222221122122122221211212121212121212112112222121222211212221211122212122221221222112111211122121222122212111222221121111121111211122122222221111111212221122121111212121122211211212122122211122222122121211221222221111122222211212122222221111111212221212221122222121112121112122121111211112212112212222121112111122112211122112222212222112222121111122112122221211112112211211221221211111212221212221211221112122221221121211122221121111221222221122121122222122211212122222222211222221122221211221121122221121222122212221211222122112121112122112211112112111221212111112221222222111111112211222121122212121111121212212222221111122211121212221211211112211222221212111122221211212111122222112221111121122112221222222221112122222222122111221211212121212222212211211222111212112221221212122121122121122122212221121122222222222211211122112212111112211111121111111111121211221222221222111111222222112112212221121211122222111222221211122211112211112222222212112211212211211112111111211111112221111111121222212222122112121121122212212122211121112111211121121212121111222222221122121111222222222112221111212212221211221121222222211221212121111121222211211122212112211211112121111121211222222122111212222221222121122222122211222112122121211221221121212211111122221221111112211212221111112211111111122111222122212121212211112112111211121222222221222121221212122211122121112211121212112221211121122121111111112121221221122212222211112111212111111121222212111212121121112211212122212121211221112112121221221122211122112112111222222112112212121212112121212211111111212112122122122122212221221122222121222211121112121211222222221221212212211122121211211111221121221112222222111222222212221122211222221221212112221121212211212212122211122122211122122221221221222211121121112112221212112221122122122212111212212122121222212111211222121111222212121112211112212212112222211222121112221121111211111221212112111122112211212211111212211221112121111211111222112112122212212211121112211111122121111121111122121111112111122121222121121212112111211221221222121111122222221111122121111211122212111122112111122222211222211211212122212221221222222121122212211222222112121222212122222222222211122121211122122211121112211112122221122221112221222211111221221222112212212221221212222222111121222221212111122111221112121112221121112111112222111211212112221222112211121221122222222221221111211121112212212122221221122122111221221221122111112211222121221222121122221121112222111112222212111222122121222122122222112221122211121222122122211222222122111212222211122221111212111212122221211222212111122211121111212112121211211112221122122222122211111221222121121211212111222212112222212212112122121122212222221111221221222211212221122212221111211111111211112222211121112122221211122211112211221121211121122212111111222122112212111121121222222221122111211121121212112112222211221212122122221111212112111212112211121211222122221222122121122112122211111221122222211111121121121111222121121122121221212121111211122211122122211222211211221121112211121112122121222122122211111222121222112221122211221112212221211121111212222221212122121222121122112122222112211121111211221121221222221121121112211122122211111221221122111221211212212212111211222211111112221121221122122221221121112222221111222221211121221221111122211221112121211111222112112221121221212122211212221111122222121111111122112122122122112122221112112221211222112211111121212222112121112222212111222121112111222221111212221122121221111111122222222211122221112111121211212222121112111212221211212121122111222111221121112212221111211121221221221212111222112222112121211222112112122221221212212212211211222112121111111121112121211121121221212122222111111222111211212221122122212211121112222212211222212112221212221122212211121222222111222112112212122112112212212212122211212222121111222222222212122111121111112111221112222122212111111121122121121112122112211112111222121211211212212212212211221212222212112211222121121211112111211121112121121222112111112122122111212222212111221221111211212221122221212211221222111221221121212121111221211111212122212222122121221211111222212122211222211121121222121212211212222111122121111112212211221212111212212222112111222122211121221211222112112212221222212221112222122222212212121111111121212122211222122111212122221112221212111211221111122122221121121121212112111111212221122211112112111111121211121111211112222211212222111111121122112211122212121212112112221112211221122221212211122112122112111222222112211112112222221212121121222211111112111222221111211211111212111221122222211121111112212122222122121122211121121111111211222211122122121111212111221211221222122222112112112222211211222212222112211222121112221121221122122112112111211112121221212222221121211122212111221221221222221221212211111222222212121112222221212222222121121221212221212122212111111111121222222221122211212212221212112111122222222212211222212111122122121211122121221212122212122121122122122121222211222222121221211222221212212111121212212212111121122221212221112221112112221121211112211121222111221211222212211221211222222211111222221212122212121112221121122211121112211211221222221111112221222211111211112221222121221112121121212121121221211121121122111221112122112211111211221221222112212222122121222121111222122122122212211221221111222111122111211111122112211121212211121112221221212221111112122112222222222121122211112221112111122112222122111112212221112222122112122112121122121221121211121211111122121212111221121222111221111121122212221121121211121221212111221222212121121122211112122212211221222211211122221221122121122212122222111112112112211111221121221122121221121222112121212111221212112211211111222121222212111221111121121111211221222211212121112212212211122111212222211211211221112221222211211221112122222122122111222111121122112121221122111221221111212221212211221221121221122111212122222222222221211211122211221111212112212221222222122122211111121211111222212122122111121122212212122212221122121122221212111211222211212111122212111221122111112212112212211211121121112122121122222221122212112212211211122221121112211221112222212221221211121211212222122112222212121221122121121121121211121112211212211112212211221211122222111111221212212122112221121222212122122121222112221112112221122111222222222222111112111121221212222121212221111212122222111121112121122111111111122122122211221221112222122211112122112111111122111121111212121212111122111212221211121212222212122112121211121222112112121122222221212121121121211112222121112212111222122122111212112111212111222222112212112112221212211221221122221111212112221111111122112211122222221212212122122222211211211221222112212221211121212112222111112222211121211122121222222222222122211111211221212122121212221111121212122211112112211122112222221212121221222221121111221212112112122221211222211121122122221122111212122112111222122111222221222122122112111112121212212221211112212221222111122212121122111122111122122212222111122212112221211222122121221121222121121222121222221121222112211121121112112222212112122211121221121112112121121211111122212111212221222211212212122112111221211211121212221222221121121211111122212112111111111222122221222221112222211221211211222122211211122211212212211211111111112122112112111221212222111221222112111121121122112211211122222222221121112122212221222212212121222222221221112212122222222211222222112212212212111211211212211211122122211221122211112111111221122112121112122111112111221112222112121112111122221221121122112212221121122112122112222122222222212211112221222211121222122212111211212112212111121122112112222111121111122211122221111121121112221212212222122222112121222121121111212211111112221122121111222121211222211222122222111212111112221212222121221222121211112221211222112221212111111221111122211221222222122112221211211212111221221112221121122212212212221211212221222111212122211221111122112221221212212211122111211111212221221221111112222121222212212112221212111121121212221222112222121122122112121222221122111111212212121221122211111121221122122112111212121222111221112222121112211221211111111121111122111121212221121122111211222122222221111212212221222122222112111221221211112221112122111211112212221112121122111211212121121111112211122111121221121212122121211211111212212111122111211212211221121111222212111222122221121122121222212122211112121121222111211211222221111211122222121122212212212222121121122221212112121112221121211121112122222111111121222122112122221221211121111221122112221211222222111121222122122121122221212121221212121121211212122211121111112211112111121211212212211121111121111222121122122122111122111112212111211111222212121112122212112111112112121211222111222222222222112121221112112111222221222111211112222111211111221211122211222121222111212222212122221112112112112112111111122111112112221212121212222111112212122122222112221211111111212222211212211222121211212222121111211222221211121111112112211222212112122112122122211211111212121212211111111221111122211211122222221221211212122111212211122122211212212212222222121111222221122222212212121122211111111211112111212212211212111111221222111211121221211112221212121211211222221212122211111212222122212111112112121211212211211211222121112121111112211211121111221112211222212211112122112212111121211212211221222222122121121211221211122111212212121211211121122122222122111221222221112112222112111211212212212222111212212212222122122112112121112221221212122121212212221112222211212122212222122112121122111111211121222112111121212221111221112111221212111212121222212211111221212221211122212211121212211222122221121221111122122222112211121111222212211121222122211112212121212211112212122121222212222222112211221111112111121211211121122122121122211211221122121122221112222122111112121112111111122121222211212111111111221221112122112211122212122112212121211221212112112212121111222221111112112112212212122212112212212211121121112211212111211122122111221121222221121122222121212122211221211222111212111211112212112221211221211111112111211212222112121111222211212111111122111221212221211211212112211221121122121122212221121211111112211222111122111112212211122222222212222212121222111222112122112211111122111211212221221222222211122221222222122211111212211122112211222221212122222222222222112122212122122112212112222112222111212212121121222112222211212211222211221222221122122112112212111122121112211122122211221211221212221212122211111222221122211211222211121212122212212111122222111111111222212222122111211121211122122212112211112112212122112221221121122112222221112122122221112112121211212221112211121211211212111211212122212211111211121211111122111222122222122122222221122211121111112212112221212122212212221212221212121121112122122111112222121212222221221211221212221122111212222111111221112112222112221112122111211121112222212212221121122111222121222121212111121111221222211112122112211221122122222221122112122222112111122122212212122222112221211221221222112212211221222122221221211111111212211222221212222212122111122222121211211122122122222212212111111211212212112211221112121211112112212122111222211122122121211121222221212211111122221122212111112111111212122212121212112212212121122211122111112111111221211211221221221121121112221112112211122222211211222211211212222122121121112112122212211212221212222212121211211122111222112212221222121112222212111211221121211121221222121221111112222112222112111222122122121112221221121212111122222122211221222221112221111122211111122122111111222121112112211121221212221221212212112111111122221212122121222211212121121112221111122221222212111122111222121122211111122111212222122221211121112221122122211221112221222221221122212221221211111122221221112112121121112221112122211122122112221211212111111112111121112112212121212111112212222211112222212122222111212221222121122112211122112221121212212111122212222121121122221121111111122212212111111112222222211122122222111212222222211122112221222211122111122111121211222122211222121112122212222212222211121221212221112121212222211111212121111112112212121212122211212221111222221112212111111212222111212221112212122112121112212111222112222111221212211112122221111221222111111211211212122222212121112221221122212121222122211221122122222212221212122122112212222221122221121122121121112211122111212122122122112121221122121112122121221212211121212112221121211111121221122211111211112111122211211121222112222122211211221212121211212221121212121111111111222122122112221111111221122221121211212112121111121211112121211111212221221222121211112112212121112221112221111111121121112221122112112112222222221222211211122212221222211111111222212122211211212212222121112112221122222221111122221112222121211221212112222221212211211211122222122112221222212212212122211112122222212221212222222112111122211221221122221222211122121112222221212112121221222212112211212212212121212122211221111221211121211212211112212221221112212122222222122222122121121211111121121211211112221211122111111212121222121111212221112222212222122211112212222222112111121112122111111221221211211221212122121211122212112111221122121212212111211122222222222221121112211222122211122211212122211212122121112112212121122212211112222121111212212221222211222112222121112121112212222221122121222112122221222111222112222122111121211212212112111222222221211122111212122111122212212121212121212222111221111211222221212221211111122221211211222222211122221212222222122221122111211222221122211121112122112122121112222211211121211212112212222211121222211112221111221222121211112211211222111121222111221211111211121211111222112122212111121122111222212111221211122222112211111121222122212111212121221222221122111212221222222211111221121111211121222121111122112221121112111122211111222121222111112222121122222122212211222111211112221121212211211121211121111122212211122212212212212111121211122111112221211121222222212112111121111221111112212122222112122121212222121222111222212221112111221121111122112112122121211112111122121221112112211212122222111111222122121222112122122222212212211221221112221122122222122222221111122111221222122111211122211111222212121112112222212211112221122212111111112122121222122222212221222221222111211222222221111121212222112121122122221212211211121222122221111112212122222221222212221212122111211112221112121212111221221221211212211221221221211122111212111211222112222122122112111111111211112212211211122111222112212221122222212211122222112222121222211121222111222211121211121112111122121221222211222211211221222112112122221112211222222122212211121122212111221121111212112221111112211111211221221121111112111222221112112111221111121211112112222121221222111122111221112222122222121111122222211211112112121121111221122121222111212221221222221112211111221221122112212121212212221122121112122212222212211121222112211222211221111222122212121111111222121122121112211111112222211121221211222221222122221111111112221122221121122122122211112111221212121212111212112112112112121212111221211211211222222111211122211211211112211111212112222211211112212212122222121211121211112211111222222211221212221121112222111111212111221222122112121211111111211121221122211112112112121122211111121122111112122112221211211122222222212122222222222121111222111111221212112122122112121112222221112112121121222212112121112111111222122122121122221222121111121122122112212121121222122222122212112222212122111112222122211121222212221221221121212121221122211211122111112121222112112222221221121211111222121212111112112112212211221211212211211222212211221222211112122112211112212221121222121211121221112221212121212111111222211222222111111222212122121111211222121221211111212211112212212212221221112121121112121211111121122212121121211121221121212212111111221221222112222111222121112122212122121112121211221122112211212122222112111111112112222121122221121221212112122111122122111212111221221121222212221122121221112112222211212111111212211212222111212111121112221111111112122112111212122112212221212212221122112111211121121221212121211111122212111121211121112112211221211221112112122122122112122211222111212122112221112221221221221212111121111222112221111122111221111212121112112211122111121221112122222212211212211112122211112222121222121221221211212121111112211111122221211121221211212212221211212222221111112211221111222111222211212211222222111212221211222111212221111212122112222222122111121122221222111121211111212222212121111112222222122221122212111222211112122222211122211122111121222122122212112222111112221121222222112211112121212222221222212212121111112121121111221112112122121121211221112122121112122121111122212121111221222112221211122222221122122122112112112112111221112212211211212121111211221221222211221221122212111111121122122212111221112111212121111111212122122211121222112112122111122112112222121221121222112211111222121112121111212112221212121111122112222121211112222121112121211222122211211212221221111222121212221221122112111212121111122222211221111112212121222121112212112222112221122121211112212212212112222222211211211112221211222212121111122221112121221221122221222221111122212111122121111222212111111121112121121211121121121111212122112122221211112221221111222212111121222222222121111212221212121221112122121222221222211212222221121211111122122112222122212121122111212222122222112112112121111222112112221222121222212121211112121212122212121221121112122112122212112222211111121121221221121111211112222111111111211222211222212112211112222112111111121212121222211221222112212121111212211122112112222222111122122212222112212121222111111111211122112212122222121222122111211211111121212222222121122112122122221221122111222112211212221222122112211122212212212112221221121111222122222222122212122221221212121221221112121112111121112111212121122112211112112121122122121112111222112111112121122112111211111211222122212212222221121221121212222221211111111112211112211121212111111121221221121121221221112121111211112212222121212122121122112122121222112212111211212111112112111122112211112111122112111121122221121222111212211211112222212222121221111111122211122222222222212111211221122221112221121121111221122122211122121212221221221121121112122212212121121122111122121211111111221111221211111212221112222112122121222222111211212122111121121112122221211112221111222121211211212221211111112212211221211121112212211111211112221211212221212221112221221212221222212111111221212211212211221212112212112122212111222121211212222121111212111212111112222112212221121121111121212221222211221112111222111211111222121211222222121111221222211222122221121111121112222221222112112111112112112121221112222121112121122221221111121112122222211211122212221221221111221211222212222122122111222111221112221222211111221221122222222221221212111211111122122122121212121121221222111111222112212222221112122211222111121221212221111211221112122122122121221111211121122121222211121121211112111221112111111211222121222212211122121211121222121111121221112112222222111121222122121122122121111212221111221111212122112112121122212221211112111112111121222111122222221222112211222221121122212121212112221212221212121111212121222111221211221222122111212222212211112111122112121222212212111221211122121212222211212212112222212111121212112222212111222112121222122122111222121222221121222121212122121212111211212112122111212121112211221112212112212111212212222212121111211221211121122112222112222221122122222111222222222212212222111121111122222211222222121121211122222121112111212122121112211122111221122111221111221122212122212122112111221212112122121222221222112122211122222121121121212122122211112112211111222221221112122221222122122112121112122121211112211211111122211122121212212121122221122221121211112111111122121121211212121122212222222212212112112221111211222212112111121222222111212222111122121222221111211211111211121121222211112122221221122211122212222221221112121111122111122121211222121111221122111122111222222112112121212211121112221221111211112211211222221222222212221121112222121222112221122122212112211222222111121111121212122122222122211121211222211111222221122122221121121111211211222121112212112222121222122221121221221111111221221222222222122221211122212112212112222222212212111221122222222222111212222111211121221212211121222212211222222212212112222121211222111222222122222212221222111211122112211122212122121122211112222122222212122121222212112111221211212121211211122121222121111222212111111122222222212221222222111221221212221222212211221111122212221122212212122222211221212121222111221121211111221221121122111111221121122122112212121112212221121112122111222121222212111222122122121112112121111121122111211211122111111222221112222112111212111122221111222122221111121212122122212121112111122122122221122212221112122221122222222111112112212122122111212122211122212112222122122211111111222212222221111222212211211111112112112111121121122212111211111121222121122221122211112121212222122211221121121112121111122121222112222222212111112222211111112212212221211121122211222222212111121121222211212221112121111221211221222211111112212121211122111112212221112121222111111211211211212211122212122121111122112111212112111111121212221122122122111221222111212212221212122122111111122212111212121111112221112112122112212122122121212111222212112221221111121222121122121212122121212212222112112221221211122121111111112122111211222111221112212212111111212212212211112112111111121221222122222222212211222212221221122221211212212112221212222211111112211222121111112211211112112211111212221121122111211211112211212221122212221211211222122211121222212211221221211122222112122211122112121222121112112211211211112211122212212111111112122222112221112222222112222211222122222211221122122221121111122222112111222222112211222111212211211222222111122122212221212211112122121121111212221211211121221212112121112121222122122221111222222221122122122222212112222221211122122211211121212221221212221212111122212112221111121212122121222222222212211222212112121112111122221122212111222222211122221122112112112111121221121221221222121221112111121122121111222222112121111112111121211112222121212112112121211112222221212211121112212112222211221121211112222112222121212121112212121221112222121122212211111122111111112212212112111112121221211212212221122212121222111211112212221221121211121211212121111212221122121112211221222111111122111111111122111111212121112122222222221121111222222111112111122112111212112212211221212222121211111122211112122221222211111111211221212222222212111211221111221222212121111212112212112222122221221112212111122212112121121221221222122211111121122121122212221122112111222221212111122121111221112112222121221111212222211112111221122211122221212212222212222221222212212212211121211222222122222221121211111112121211222221221122212121212211121121212221222112212121112111111212211211121112122221122111122111211212112222212112222121211212112121111212212112212222121111112212111122112221122112111112111111211222222122211121222112212112112212111222221121112111111112111221222222111122121121212212222112222211222112222211211222222221121222122111122111221112112121121121111212212121211111212211122211212212112222121222222121222112212112121221212221212211211211222221121121211212211221221222112121211122212121121122211111212122121211221222221112111212222121222222122121111222222121212122221122122212212121122121212111111122222212111122221221122222121221111222211121212221212211112121221212111221122122112111211222122122112212211121222221111222222122222122122121111122211212112212111112122121221121222222212212111221112222222211221211211211122122122211122222212212211111111222222212212122121111211211121212112111112222111212111121222112222222222111221221211211212222222112222111111121212221221221112121112211111211222122112212122111111122111112121112121221121121211222112212212212112221222221121122122222222212111112122112211222211221111212222111221112211212211221112212212212112122121212212221121211111221121211121112121122211221111222111122212222222222212212221211122121122122212121112122112122212211211221212121111211222211111211222112111222111111121222212121112122121221111112111121121111112122212111122212122222222221111122222121121221122112112221222211112212112121112222211122122211211122221121211112211221111111212222221221111112121222222221211122212111112221112221121221111111211221122121111211112211121112122122121221121212121121112121112211211122211221122211121112122221121111221211221212122112222212111122221112221111111212121121122212212111221121111122211211211221122111222111111211111122221122122121122212112121111112212211122112122121211122121111212121122111211112212211122221222122221222122121212211111222211122211122211211111221221211221121122112121122212122122112112111221122221112222222222111121121211222212111112211121211112111222222211122212222111212222211222112211222121121212121211111112122222212111122221222122111112222221122222222222111121122211112222221221211221121111212212112221221211112111121112212121221121211211221222212111112121122122122221112122111121221111222222211111122111111222211122122122121221122111222212122112121211212122211211111222222122122122221211221112212112122222211111122112111221122122221112212121221111222121111122212111212221211222112222212211111211211111221211111222212212111122111222122122111212122111222111222221211221221121122221212221211221221122112122121122122222212222112211112212112112222212122211122212212122122222121112212111111221221221111111222122112212222112211221122221111222221122111121122211112122121211212112111212111212112212211221111221112111221212121121222211212111221212112222222111112121122121111122211212222221221222211222122211111111121221211222111122121211111211221112122212122122111121121112112222212122211212211212212111221121111222222221121112111211211221122222221112222211221211212122111211112221122122211122212122211112112121121122122221121121121112212221121112121212212122221121221221221211121212221122121211111212112211212211221121221111111211222121121212122112121111212221121121111111212222122222112212221222111222222212111222111112211111212112112121212112211211221221222111122112211222211122112211212212121111122112121222121222111122212221211112222111222112221222122222212112111211111212212121211212112112122112121212222211121111222211121121111111221211122111222111112111122221122122212112112211111111221221211221112211112221111211111211121122211121212121212122122122122122221222112211211112122121211212221211121221122121211222122122222121211112222111122211221111121121222122221211112112212122222212221221221122212111112212212122221111112221122111121212222212221222222111222212212121221111122121111112111212221211122211212212122221212211222121112211111112121212212121112112122122211212211112112111111212222212221122111122212212122112211121122212221112122111221121221221111111212221212122121122221211122111122111222122112112121121121212111111121212211221121211112222222212112212221211221111222212211211211222222222221112211122111211112121211112112222121112222111111221211111212211222221121212111221222111112221111221222122122112111212221122211222121112121211122222221121221121111112221112111122121222222222122112122221211122211221122111122121212112212221112211111221221221222122111122111122222111121122211212111121221111112211121222121111212121222122112111212221211122212121111112212222121221222121212112211121211121111212222222211121221112111111212111211211222211111222122121221111111112222121121122221221111222121121212221221121122121122122122121222121112122122112112112122111211212221222121111222221211111122221221121112112222222122122222122112122221212111212122122121111111221122211222122111211111212122222211112112212111122222221111212122222121112212111211112122112121122211111121211211122212211211222121211122121221121112121112211121211111211222211221112222212111211121222112121212221121211122222111121222111112111222111222211121222122111221222122222222222121111122221111122222222211122112121112121122222221212212221122122221121121122111111122122121211222212111222112112111122211212221111211111121212212122112212122212121121111212221122221122122122211121121211121211212112122222111122222112211212112221212212112221111111122112212122222121212112122111222122112121121122112112222221121122211111211222121111111212212222111112122212222112222121221112212211111222211222211221211111121121212212112111212112222112222221212212211122122221221111122121221211222112111221122122111122121222222121122111221121211122211111222121122222111122221221121222221122111122211212122222121222111211111112112221212121221122211211112111212112211221111221221212211211112121122211111111121221222111111111112111221111111112212221222211112112112112112112111211121212211121212111222112121122221222221122212221121112222121122111221122221121112221222112212222122211111111211212212122111222211111211111212111121112122221211121221121122211212222212212221222121111122212221121112222111222122211222111222111221222121122211221122221111122122221121111111211211122122222111122222221221221112112221211111111122221212212112122121122222222212111122222222211221112112221121121122212111111111222121211121111211121111211121122122121121121211221222222222111212121222122111221111221212222221211112111222211111122112212122222111221211212212211112122122221221221211212221221121111121211122111121211221211222222211111212211121211122111211122212121121111111122222212112222212221111122112221221212221211122112112212112112122112211111121111121211111212222222221122121212111121122122212111111121111121221212111212211111212221222111112112121212121121211111122111122122211212222221211212122112122221221112111221212212112112221211211122221221222221212121121112112212112222111211111211211112211112111111112122112212211211222122222112111122211111221221122221112212222112122221122211221221212111112222221221122221121222121122211221111221221122112111222121112121121211221221222221112111221211111112112122121112221212222211112221212222121211221121112111211212122212221221212122111222211111121222111121122111211221122111112112112221122222222112122112221222212222211112212212121122122222212211211121212111122111222212212211222122122122212111111222112221212222222211122212122112211221111221121212122221121211121122222221121221121122222212112112211212222221221111111112211222111112221122122122211112111122112111122122221221122112221111222221121122221221221122111111211222122121112222211121211221111111112222222212212122122121222112122212112112212112111122222222212111222122111222111111111122111122212111221211221222222122112112121112111111212212211122221111122111121212222211112121222221222212221122211211211121211111212111212212112122212121111221211212212111112211112221112212211221122212221211221212222122122111212112112221212212112222121222222111112111111121222222221211112211122121112221222212112211111111212122221221212212111221222221222111121121111122122211212211112111212122212221112112111121122222121211122122112222221211122111111111122212112222222212122221121112121212221122211122211221222111222211221211211122112221222122122211222221222212212222111121212222121122111122211111111122211122212122212212111221112211111211112122211111111222212212111212211221211121211121211221222111211121121122211222211221212112221112221112111212112211111212112122221112112112221122122121122211211112112222212121222112221112112211121212121211222221122111221212121211211222112121221222212221212211221121121112221112111211212211112222212122221112121221111122211222111212121212121222221212122221122211212121211222111112121222222221212212211121112211122221121121121112222122212112222211112112212122112222121222121222112122211212121111221211122112212121222112222211221122111222122121121112211222221112111112212212121221212122211121112221121122222211212221122122111211112112222222121111121212121221221211121221122121222211222222222221112121211112211122212212112112221212212122211212211221222112111221211112111121211221112122121212111121112212222111211212122121211221121211121112212112211122111222211221121222221122211221121211211112212111111121212221122222221222212111122211112212111122122111222122222112211122122112211112222121122111111122122221212121111112211221222222212222212121121221221121211112111222121111122221112111112212221221222111122222121211111212111111221211222122211211221111222222122212122121212121121121212122221212221222112122112122112211211111221112221122112112212222111111222221121221121222121221121121222112111221122121112111212121212212211212222112121222112112221122221222212212121212221122221211121111111221111212111121222122111212111112122222122111222111121112221211221122121221112222111122211211111222211222121111122221112211211122111112221121212122222112122121122212221111221112122111112222221221121121222222221222122111122112221122112221212222122212212212121211122112211212221221221121211211211222121221212212112111222211112121112121222122211122212122112111122221112121221211121122112121211211112112221111121212222211121121112222111211122222121222221122112112212212122222222122222112211212112111122112122221122221111111222221122122221122212122212121222222222122221222211121222222122222212222212221121122122111112211211122111122221211112121222222211111222121112112111211122212111221121121221221112111122212222221211211222222221211111212222122122212121111212222111212121121121222122121211211111111212112221121221121211111222211222222212122221221221221222212211211222121222212221122211211221122121211211221211121122122211121211121211212111121221221122112122211212211211111221221121222211221221221212212122112221211221221221212121111221211212121121122111121212222222221121112211221111111212221221122222222112112212112211222222112112112212222221211222211122112222112221111112212112111211222112222111222112222221212111111121112212111211121222211121221212111212211222211222112112111222121121111111212121112221212111212212211212111221111212112122122212212212111122221212111122112211112222221222112112122211111222111211121212112121111111222222221211121222212111211112221222212212221111122122212212122221112211211122222222221211122221221211121121121112121221221221221112121221111221211112111122222121211222122222212112222112121111212111121211121222221222221112122212212122121112222111221121122112112121111221122112111221212122212122111122122112122111122221121122222112221121222122111211211221211212122112122222112222211111111212111122121111211112121121221212221221211221121212221212212111121211112221112112111111121212112121221211122211211112211221222122212212121222112122121111221221112222222211221112211211212221212122121121112211121121212222221221221212222111222111122112212222112112222111121122121222111112221222111212212122122211122222112121212112111122111211221122221122111211222212112121212212222211211112222222212212221221222212122111111112121221122222212211121222111122222122222211212111122211111121221212211121222112211212211122222121111222221212121222111121121112221111212121112222111111212111111221211112112212121212111111222221112112212212222221111211212221222122112122212211112221112221111222222222122121122122111211121221211112121222122212212211211121221121211212121221211122112112221221211211212112211211221121222211212221122212222222112121212112211122121221122211222222221221122221121221221221221222121121122121111222121111222121122221122221222122122222112222222221111111121212222221121112221111221221122121211112122112221122211111121222111211211211111112211112111211111112211122122111211111212111122221221211222222222122222112121121122122211211211121221222211121122221212222111112122212111111212212121212111221221212222121222222122121121212221112121122121211111222221111112122112122122221211112112221221221211222212211121212222121112112222211211122211112111121112121122112121221222222211222122122211112212222111111121111211111211122112111111222221112121222111122122221122221121222212221121121111112121111222122222221111221212111121111121221112221211211122111221112112212212212122221221222112111212222112211111111122222221112222212111111212212111212111222221121122112111122122221122122221212122212122211211121212112121212211221212221122222212112211221112212112122121122122122111122221222212121211211212211122112222211121122222112112122121221111112112211112222212111211111211121221221221221222111221122111111222111122221121212121221111211111212112112122122221222211112221221112122111111111112221211222112121122121111212121222111211112211112111222121222212112121222121221212122112221121222222111222211112221222112211112111211111122121221212222111111222121122222112121212221122221222221211112222221221122122211112212111111211111212112112121212222212212121212111221111122111112221112222111221111112221122222211211111212111222122111222222111122211121212211211111112221221122111222112221221121111212112222112222112122122121121121121222112122112221221111111222111112221211121121221111222122211211221211211222212112222111122121222121112222122221111212112222122222111121211122212222122212212211222121212211111211221221222211112221111211121122111122122112121112111212122222111121221111211112222212122211122111121121221121211111122221212111122121121111221111222222222212122111222211211222121112122212121122121211122122221122111122121221212221211112222221222221221122111212211121112221121112222112211212112222212112211112221112222121211112221121121221122211212221211122111122211212111221112221111212211211121111222221212122222221211221111121211212222112121212212112111221111222112211121121122121212221222121122222111222112121112222221211222122212211122111111112112222111112112112211121122112111221221111211121112122112211212112112112111222222111221222222122211122212211112222112121122221221211111222122122111111121112211111121222111212221112111221211122121112111221221111121221211122122122212112122112221222121221112212212111211112222222221211112111222112221222222122212221211111111121221121222122111111121221111111212222222211112111212111211212212112212212121112111111222222221112121112222122111222122211121122112212122222121211121122112112121212222212111121112222121121211111112211211211122122222212112111111211211221121221221222122112122121212221221221112212112122112112112121122211122122122112112221212121121111211221211211211222221212111222121212211212212112121222222211221222112121122221111121211111122211111211121212221111121121212222212112222221122211212211211111111121222212222122122121121112121211121221221112122122122122122111121121111212112111221112121211112211121222122212122111212222121222121122122112212122121221121212122112122122211222111211122112121212222211122122111112121212211221212112112111112222122112122221121111121121212221122211222212221222122211111111122221122221112221122111221211112222222121111122222122111111121222221211222211221221222111222222212111222122111221211112121221222212212112212222212221111111121222211222122222112121212112121121211111212222212121121111211111212221211111121221211222112122112212222212111211221112121121121221211211111212111122211211221122222122111122112111222212122111212121112122221121221111212222122121111211221221122111122221121222211211211212111112211111222111122212122221122121111211212122222211111211211222121111122121112222111211212212111111211222121222111222212212111111121221211212222212112111111122211211111122212211121222221211122221212221221221122222112211111112212122121212121121222112221222212111121221122111121112112112211112222221212112222112211212121222211221221112111112122121122121112121122122122122121221121211212111121222111111221111221122121111222111212222222112112222221211211111111212211212221221222221222212122122112122111222211112121212222122122122112211112112121221111111121212222111122222212212121112121121221111112212111122121211112122212122122222121121121211121112221112111112112221212112212222221222122222121121221121222222112112122221222121212112122121212122221212121211121212121221112111212212121211222222211222111112121211222112111121211212222221112112111222111111111111122111212112222112111111111212122212221211221111211211111211211111121112212211111211122111221111222211122112221112121111122212212221111122212212221121121212211122122111111112112122122211122212112112212212112111222211222211121221221121221221112222212211212221121221221221112122111122122121122121221122122221121221212112121122212111222221222212112111122121221122221121122222222121122121121222122221112221121211222212111221112122111121222122222111222221222112112122121211122222122121211112112221221122211211222221122121122122221221122121212211222111211221111212111221222112222221211221221122111212221221221111112211211121112122211121211222212121112222221222112112121121122222211221111212122222211112221221122122112212222122211122112121212121211221121221112111122212112221111111222111221121221222111112222122121222211222121121222212212111112121111121111222121112211111121222122111111122221111121121111121122221111112221221221212211111112221211112222212222121122211121122221221212112211222222112221222122212212211211212221211111112122211221212112111111222112211222122211121221121222112122211221122112112212112212122111112212121111222211111111222122211112111222122212211122211121111212211212211212111212121121112211111121122112112212221121111112112122212112122211221221122121212121222111122111221112121212122222111212212212122221222222211111222222211121111222211111111212212212112222211121111111112121212122222222111221111111122212222221212222221222222121221212122212111212222121221111221121222112221212112121111221212121221222212212222221111121112211211122222211222221221121122221122112121222212211211212111121221111121111122221212112122112222211221221212212212121211121112211212211211221212121211112112121212121221221212112121211112121121121112221211111112122221212121112212112212121121221212221212222211111121111211221112221112222212112121212121221212212122211111221112211112212121122121112222212221221212121222121111111211221121112112222212122221111211121112122121222221212121121222212222111112122212121222212212222221112112212121212111111112112121221212112212121211222211222122211222122111222221112122122221122111222121212211121221111222112211122122212211121121221212221121122122222212222121121212221112121211212211111122211222212112212211122122221211121222222122211121211211221212122211222121211211121112112221112211122211121221211122211221112111112112212211212122121122111112212222222112211112111112212222111112221122211221211211111212211122121212122221221111122122222121222112222121221221211212112112211221212211112111212122121212111122121222112111222212111211121122122212121212221221212111121221112222112212112112121111222222222222111121112121112211122111111212221122112122121122221111222222112211211111112221121211222211121122122222222211211122111111221112111211222222211112122111111212222222212221111122221212221221122122221221211122112121122222121211212122211122212212121221222111122212122222221122221111222121221122211211121221122121222111211222211111221222112212122211222222222121211121122111211121222112212211122222212221112122122122221212221122211212211212122221222121111222112211122221111212212222222222121122222211221121211122211222222121222111111121211111122112211221112212112111211222122222212221212112221111111212221112211112122121121112211121121221211122122212111121211211111212122111221222112111212122121121122211112112111122112221211222111112112122221212122122112212212112111111221212122212121212112212121212211222212112122211211221121112212211211212222112221222211221221121121212212222122222122221222121212222112121211112111211212222222122221211222222212221112121211111122122212212122111212112221212122221221222111221221211121211112122222121211111112211122211211222222112222122212111111122222122211111212212121112222221122121221221112112211221211221121211222212221112122112211212212111222222121212222121112111121121122212121112212112211211212111212212111112222111111222221222122121221221211221222222121111221111222222222212222212111112111212121122112211212122221112121121221212221211221222222212121222211112112111221111112222211222212112212221122221122221212211121112121222221122122212121111112221221112121221211121221112221121212111122222222212212121212111111222212222211121212221122122222222222112221122221221112121221211222112212111222111221221212221222221122112112111122222112221122221122112211212121121221121212212122122221112112121211122221211222211121221111212211111222121122111211211111212211111112212211112121112111222122111121222221122212221221221112212221212111121221222211111112121112111121221211221112221112121212212111121111121212122222112222122121111111111111221112121112221221221112111221112221112122121111121121212121211221122122122111111221121222212221112111111121221112121212222121121221211222112111222121221111222111221221211221212111211212222221112112211122111111221222112122211121212221122212111221121122111122111212121212122111212112212112121221122122211212221122221222221112112111121112211121112212222111121112111111112121221211121112121212111112112222111121121222122111211221221112212212211221112122221122222122112221211211121122212122112111122211211212211221222111112121111122121121211122122122221121111121212112221122111212211221221111111112221122111122212222122122122211112112121222221221212212112121212121221111121121121111121211121221121111122212211112222211121122211211121212111121212211111211121122122222222111221111212121111121112212221212122122122222122112211112111212112111112111121221112211111122212221112112111211222111111122111221221211112221212222111111111122211121112211222221212221121111221122122212112122222221222122122122111222212221122121122212212122121211112111212221121111112212122221222112222212222221211222111112121122111111211221112221121221112121112121221121121111122212111121212122221111222212111112111222111221122121111212212111112111122111222112122211122122111121122222111122212112222222112112212212122222112111212121221222222111211221212211221212111221221211111212122221121221112111211112222121122122222121112111222112121211221221212222221212212221212211121221122221121212221212212222121122122112212212212211112122112121122212211222211212112212122222211222211212222122111121222222221111112122121111111122121222221111121122122211112122211111121211122112222212111121122221112221221112121211122222121111122221212122211211212221211122222112222222221122112112221221121222221111112112111212221211211212212212222111112112122111111211121221122112111121112222121222222111122122221112212122222221111112221122111221121211221222221111211111112121221212112112122111111112121121121122121111112112111211122211121112112122211211222122222222211212112221211122211222222121221111121221111111211222122211211211222111212222222121121111222222221212121222121221211211111121112222221121122211222121222222211221111112121121122121212121221221121121212221122222111212211121122121122211211122111121122111112111122221211121112222212212121112212111222112211112112122112111212222212112111212111111222212112212111221212222112111121222221211212111111222221112211221221122112121111111211122211111121121121122211221111221112122111111111111111211212121112121211111221212222222222222121211122121221222121222212121112121122221122121112122122211122111121121122212112111111121122111221222121111221122212121211112211111112121222222211222212111112111221211112212122221121112222122121111212111222211112122211211112121121122222212111221121122121221212221221111112112211212211112222111211111222211111211222122111121212122111121221121121111112111212212111211222121211111212122212122211221121111222112222222222111212212212111122211211121221211112222222221212111212221221122122212112221222221222112111121212212122112211122222122212112111222112222212222212121211111112211222221212122122222121222111121111222212212112211211222212122222222211222121221222111211112121212122122212112112121212111212211221112211111122121121212211221121121222121211122111212111111211121111222111122121212211221111111222222221121112212111111121222122221112211221111122112112112121221212211112121212212221121122111212222112221211111111121112111111111221112221211112111221121111121212111122122111121121112222112221121212122212211221222122221221122122112111122221212211221211221112222222112122222211221111121211221121221111212122211112122211221112212212121221222211222211211222212111112222212212112212211211111112121212221112212121112121111111222111121212111121112121222222222212112111111212111222121222222112222222122212222221222221122221111121112222221211221112212122112222121111222121112212211112111112111222121221112211122221121211112112122111112211222122221222111112212211121121112122121111111122111221121211211222212122222222122121112211221112212212122111121222111111112211212112122111222222121121111112121222221221112122111222111212222222222122221111212221211111122211222122221222211121111222211211212112222211212111122221112111112212221111112211211112122111122211211122212112212112221221112212112111121222112211221121212121211221121112111112211122211212211211111112111222212211111211122212222111122222212212122111121111112211112222212212222221212212221112221112122212221221122111222121212222221111211121122122211222211122121212222122111222221112211111111211122121122221221111212222122121112111112111221121212121121112211221121122122111212221211211111111212121111221111111221122112221212112112122122221112111111211222222122122211212222222211211112121112212122211211111111121111112121212222211221221122111112212122121222211212121211122121221211221212122212121221121112112212121221212112212121222112121222212122212112111222212112122112122211112212211222211112112221221121221222221121212122211112112122222222222112211212221221121222112211211121221221111211121222212112211121111211122111111211112112221121122222212222222122122221221122212221111222212221211122221212112111212221222121111121122222121212111111111122111221212212221212112122211121112111112111112221222122121122222111122121222212221121222112112122221222112112222122122212112122211222122222221221211121122111221122112111212122211112211212121121221111121211221222111121122222212122221212112211211112111112221222211121121212212122212221121212211111121122211112122111211221212222211222121211122221221222111122122211211211112211212222212212121211221222122222111121112111112212222212221122111212122222122122212111121221122111111122211221121122112211222111211221112122112212122222112212112122211122221122221122111212111221221121122222211212111121111212222122121121212212212111211221221211212222222112112111211112121212211122222121122212121111112111111222112122221222111221222112222212212112122211212212121112221112122121121121211112221222121221121112122221112112122111112111112122212221222222121212111222211221211112212221222211121121122111222211211222222112111121221222111111211111212122222121221211111112222121121221112121111111222122121111112222111112212121122112212211212122212211122112122221222222212111122211111122112211212211212121112122221211111221122222222212111112212211122221112212211221221212122212121212222211221212122121212112222112122121222111111212222222111121211112122122222111111111222212112211121211112221111211211211111121212212122211222121211121112222222121111122222222221112111112112122122112111212221222121211122221121122112222212111122112122221221221111222221112111212221211221221221111122111222112211121121111212111111221122111112111211221112112222121212111222212121221121122222112112212212221122211212222121122212222222122111111221212211211121222212222111211212221212111222111211121122211111111121211221112111111212111112211111122121222222211212121211221121122222111122122111212212112122222221122222111222221112111112211221121212122111221122121122112211222221221212211212121211221122212122111221122122111221212122112212221212211212111222212111112212221221111212212121121222121111122111111121111212221111122211121111122212122122122222121121212111222212122112222211222111112121222221122112111212122221112112212222212212211212211122112122211111112212211221111222112222122211121222111112211211212122112212211221111121121112222111112112222122122221211211211221211212211121112112222212122121211211122112112222112112111222211221121211211121212121221212222212122112212121111122222121112122122211221222222121222211121212211112121112211222112111111122121122111221111222211212112211212211112211122221122111121211121212121112221222121222111212122212211222122212212111121211112111211112212122122121111121211211122212111112211222112111122121211212112112212211122211111112222121121121121222222221112112121222112211212211122111222122212111121221211112111112122221212211111121121212121211222212221222122111221211122121211112112112212122221122122222112212222211122222222111111121112112222222122122112222221111122212111111212211211212122122222111211122212111212211122222122221122122221211112211212121212222112121122212211212211212212212222111112122122222122112122222121112122211222222212121121111211222111112222222111122122122221221211221122222222211122222112121211222212221121211212112221112112112111112212222221122221221111112221122212221212112221222212211111122112211121211222211122111211221112212222211122221111122122221112211122122121122211212121211221211111211211122122211221222212212211222222111212221121221122222212112111212222221111112121211121221111121112221221222222121112212211212112222121222212112121211112111121111221111222112122121112111112122121211122212111122212112122111212212112122211211212222222121121212121222111122221121211222122212222221221121211111221122121221112212222211221211211211121222112222112221121112212212212111111122211112111211111112112112222111122211112212212111212111121211122221121212112121221212121111111121212212112211221121122212122112211122121111122221211212122122122112222212122221222121112111211211112222111122221222111222222121121211211112221212112211221122212122211121121221212221112111121221122212211122121121212121211112221211122112211221121222211121111212212222122212222111222221112212211122111211122211122111111211111222222222212111122211111212221212221112211222112122111122221212221111222112111212122112222121122112111111121112111212212211212212211121122221121111121121222212121112222111122212122212221122112222221122221122122211221112122111212112221211211222122121212222121212212211111112211221222211112111221222111211121211111211212222222111212211212221212221112121221211121121211112121221222211221112212211112111112222112111121122122221121112212222111211211211111122211111122121221222122112121121122212112211222121212212211222211112121121112111122212222211111112211222112222121111221122222212221111222121221112111111212111221112112112111121222221122122222212211221221222221222122121121122112121121212122221221211111221211211112222211221221112221222121111122221221222112122211212222212212111211111212221111111211122121212122122122212222211221222212212212222221122211212211121222221122122222222222212212212221212221212221112222111222211212121212212221111221112212211122222221112121122212211122121211221222112121212121212221212222111121222221222222222221221222121221211111111122111122122222121111221212222221111211122222221111111112212122222221212112211121121122121111112121222111121112111222212221222221211122112222121122221221122111112211212111221121121222222221221121211111211112221222211221212211212122222222212212121212111112111121222221211212211111121112122111122212222222111111221121112212112222211111112211122212222221111111111111112121211221121211221121122112121111122122221121121212122222111222112112221121121112212121221222212211111212122122211221222112212212222211211111221211222121212221121222212111111211121211222211121221111211212111111121211112221211222222121211211221212222121221221122111222222212122212122221221122111211111112221211211122221212112122121121121212112222222121111122211222212212112221112211221211111121222221112221222111222222111112111121122122222111112121121212222112111211121111121112211221211122221212111122222111111222111221112112221222121121212121212122112211111122212222221122111122222212212221211122112222121222121222121111221112121111221122111121121112221122222221112121211121122111222112112121211122212211211211212112222122121122121112222212212212112121121111112221222211221211111122221221221122211221112212111222122111112211212211221222111122211221222222212121211111122221211122121221121121121111221212212222222212122112211222221211121121212121222222212221221112111111222121121211211122222212121221121121122121122212222221221222212112112221222121112222211222211221222122212121212111211121122112111222222221122212122221122112212211221222121112212222211221122222111122212112122121222112212212121112222212212121221121212111111121122211122121112212221111111122221121111122121222221112222212212222211221222212222112112222121211121211121221221212121112222221112211112112211112111212222212112121212121211211221221111122211121121111121221211222112212222112122112122112121221222221121112121221212221111121222121121112212122122122211121111212221112122111121211111111122222222211121212121211211212122222111121122111222122212222221211211121122222112222112221211211211121111222222221121222221211111111211111112112211212221212221222221111121111122121111211212212212112111111221211111212122121112111222212111221212121112221112221211222122221211221221121222111121111222211212221112122112222112212112211211212121121112212221212222211111212211221222122112221222112212112211122121222211221122112111111222211222111122211122211122122122221212121211112211211222121111111111222211112121211212121211212212121211221111222112122111211211212221211122222222222111111111222112112211212222122221122111121222112221211121212221221112212121121121111222122111121112222222212212211212221222121122212111112212122121222222211111222111122211112112212122212112121211112221222211121112122111111122212221212121211112222221122221211111122121221211222121112222121211211222112111222121211221222222222112112222222111111122222222212211211112212221222211112111222121111222122122211122111112111122121221111122121221112221121122111211122122121211122221112212121211222221212111122222122111212121111111122122122211122112111121111122112121222211111221122121121222221112122111121121112221222212122122212221222122111121121111111112222121222111122121121212122221212222211211212221212222222121122212121222212211121121221222122221122222112111211212122212221112111212211211112121221212121121112211211112112121222121212122221122122112121111211122221211212212212121222122111122111112111211212111222112111222122111112222121212211121112111112222121112122221211112212211112122211112212212122221222121121121222122112221122212221211212111112112222212222111211221221212111121222112122111222221111112112222221121122121211111211212121121122122221112111121212112122212121221122222112112212122221212211112211111122112221212211222121121211211221221212222111211212221222212122122221112112121111121211121211211222212112122221122111212212212111212211121211212212112212211211222222222212121121212221222122211122212212212122211122211121222211122222221122122112212221212112212222111211222221122111222212112211211211122121122212212222222211212121221122112211212221122111222221212122121222211211121112121222111122212112222222221212212121112112112212121122112211112211222122122112121121211221211112112221111112122121221121221211111121121212111112211211112111222112112121212222211212211121221222111121111211122212112112222122122221222122112111121122222122111112112112212122122212122112221221121212222211111222111211222111122222112122211221122112212111212112122222111112112211121222112122211111121212112121222222112122221222212112121211121212221221112211212221111212121222122112211111122122221212211211211212111211111111211222122112212212212122112121111222111111221221222222112211211221212222122111112122111211122112221121112211221121221112111221211122111112221222212221212221212112112222112212112211212221112121122111111212111111112112112112212122111221122121221212211222111122221211221122121222221212211111121122122221212222122222212222221222111121222212211221122212122222121221111111222111222221112112121222222221211121122122211111221212121221112212212112121221221122112121121212112221212112212121222112111122121221211211211112211122221211212211122221212212111212212212122222111112222212211222121122121112211122221121221111221122221212222111221211222222112222122111111221122222211222211211221211112212112212221221211121211121121122221212112212211212122112221112211222122211221111111111222212122211122222121221211222222222211122212222212222122222211122112221111222122112121121221121122111212212222211221111122112211111212211221111211221111111122112222112121212222222212212212222222122221211122222211121111111112221121122212112212121212121122222221122211112112211212112111212121211112221121211112221211222112111222121211221112211121111122211212112121121222112222212212121121221121121212111221112112122121222222212221122112121121112211211221111211112122211121122222121112111121121111121121112211221112222221221111212222212121112221221122122211111111121211211122121221212211121211211212221122121221122212122212112222111112122111211121111121211122221212211221221212122222222111222121222212121121111112211121121211121112222122112122212111112111211111211222211212211221211211211112122212212212211121112211111121221222111121122212222111212112121122221212222221111211112221121212212122112222212222111122212221211111112122211221211111212112111121122121212122211211221212222222122211221121121221221221112211211221112221211111222221221212122211112122211112122221112212122122112221212212121121122111221212122121121111121121122111122112212121221211221211122211212112222122111212122122212112122121111112111112211211212212112222111211211222211121111121221122111221222212211222122221112221212212111211122212121122212221122111211211122122112212212111222211121221121221221122122211122221212211211122111222121122211122212211122221212122222111211222212222112212211211222222112112121212222112122111222112211221121112122222212121212112111112111212221211222121222221222211111222211122111211211222221122111221212122222212222121121212112121121111111121222211222221122221121212122211121211112112212112122111222121111212222111212211212121121122121121111221212112222112211111222211122221121112122111122111222111111212221112122121212121221212112221112221221222121111122221112221211121122222122122211122111112112211122111221212222112211112112121221111122212122111112112112121121112112111112111211112221111212111111121221212222122212121211122212222212221111111222211211111121111122112212111211111222122212211121122112112211222221211222121122111221121212112122122221122112221121211121221211121221121212222222222122121112211121222222211211221212121212111121221122121111212122212122222212222212121211121111112222211212221111122221122122211212211222221211112111211122122212122211112222212122111112212121222121222122121111212111222112111221211212211222221121211212221211212122221222221221111111221221111122112221211222221222121121122111211221222222122221222211122111121111122222222221122112121112212111122111111111211221121221211112112212211212112112122222111112221121221122122112211111221211121221111221222212211212211122212222211111211111112121212111121121111212122222111111112122121211112221221221221112211222221212112222211111112122211111211221111221112221222221212221111212211111211221212112111221122211212212111212121112121111212222122111221222222121221211221221221121121122222111122112121211211122122111221212222221122221211222211121221121222112221221112222122112122212111122222221221122122121111111222122222121111212211212112111221122112211221122122111122121212212111121222121221221222221212211122121121112112121222212222122221121121211122111122112212211212211121112112211121212121221212121211212111221111121212121121121212222221222221221112222111112212211221211212221212211211112212112222211212212221221121112121221122121122111112111211212212211111121122221212212112221122112121221122111111222212211121212121111121212121112221122111222112221211222221122121211222221211211211221222112121122112111122122212122121211112112212212111122222222221222122111221112221222222112222221112112112111211211121221121121212222111222111122121121111122222112221111222111122111222222111111121121221221112222122122212112222112121211122112111122211211122112212211111121122221121122121211212212111111212212221122222211112212111122112221221122211122211112112212122122121111111221211121212212121212112122211211221221211222221222122211111211121211112111121121121212222122212121121222211122112212222121212211111122221212212122112222112211211112211121212222212221212121221111212111211212222111221221222211211211212112112112221121122111121222122111121212212211112122121211211122121211221112212221211211112212212221212112212212212222122212122212222121112121111212122211211112122221121211112212111111211121211112121121222111222222211122212211111122121122222112222211121121111221211211112212121111212222111121112122221212211222221112221221111211121121111222211212221221212111222112111121121122222221211212112121212211222221212222211211212221212112212111222211121112222221111111122111112111221212222212212212222111211121222212112212211211211121211112111222222221222221212112222111221122221212122211211212111212222222112122211212112111121212111222211112111222222112111122112212221211212221122111222222122111222112212222212111121112111121211121122122211222221211211112211121211211212112222212121121221121122112222112211111221221211222112122211222212111211121111111112122122221111212112212121211112211111222111112112212112121222112222212222221112112221222112121221121111112111121222211122221112112211222121122121121111121111211121221121222222122222111222212112211221212211221121211221222112121111111222221211111211222122111112221212211111111121211221111122122211222122222211121211222211222211211212112221111121121111211122221112221121212221211211112212211211111122111121222111212121222122112221111111221212222112211121122212221212211121212122121212111212121112212122212211112222122112122211222211222111211112221212222121211212111112122121121221221221121221121121212222111212121212222122221121221111212211121211122122221212112211212222121122221121121111122211122111212111112221222211111122212122111212222221121222211222212221122111212222121222221122222122211221121212121212222121212222121221111221212212122121212212221121221122222112221221221221211112221211212222122212211112212212211211221112211122221211112112121112221212121211111211221111112211212211221222122122222222111122221112121122212222112121122221212221211111111112212111212212221222122221111111111212222221212212121122122121212121212121111121212221211121122222121222221222121122221111212211111112212211122212122221112112111211111221112222111221221221112212121211112222221212122112222212211121111222122121211222212212111222222212211221111111111121122222122221211212222221212111221122222221221112121212221211122121122211211112121122122221222221121111222212212122221212212111122122212122121112221222122212112121211111111111122112211222112221221222212212122212112221112221111121121222122222121112222221211222112122212221121221122222212121221212211222211112212211221211112122222211221112212222121221121121211122221122222212222222212221221121221212221222111211121212211122121221221112111222211122212112111122111122222211121211122211221211121112211112222112112211221222121211212222222221121222111121221112111111211111222221121121122212111221121122212221212212111121211221221222121212112122221112111111112221211222221122112122221121121111212121211211211212121222222122121122222121111122121212112112211221122121121122211221121112122212221111121121221221121111111221112222212221212112121221211221121211221222122211212122122111211221121122111112212111211212111212111211222111212221211122211121122222121122111111222211212121122112111111212112211212112212112221122122211112121122211212122211122211112222212222212212121222112121221211112122111112211221211111212212112212211112222122112221221212121222111222111221112121221221122122221112122212221111111122212111112121222222112222221211121212111222212221211112222222222121221112222211112112211112221212121122122212122212121122212222221221122212212121212122111121112112211211111122122211111211212121121112221222121111112222222122212221221111222111212111111112211211211111222212222222222212121211122221122222212121122121122212121221111112112212222122112211122121211211122112212211222221222122112212211122221212122222112122222122111112221111122122212121211111121222211112122212221122212222212122212221111111221222221112221121112122122222212211211112211221211211111221122221121211221221122122112121121222211121222222221221221222211222111111221222112122121211222111122112122111121122111122211221121122112222211121121121111212221222112221221211221121112221222211112222212111122111212121211211112221222211112112221222211122112121122121121112122221121221112112112221211222221111212212212111212211112212222221222112212122112111212212212211211121212121112121221221222221112122211222212111121221121111221211112122112121122212222211212112121221112112121222122222211221122212222221212121212221212122211221122121111112111111221221111212212122112212211222112221112112211121111111111211122112211111122212212112111111211222212212111212212121222112112111222211221122221212122211212211222112222212221111112221212212122222112212112211121222211211212211221122222222121222121121212211122212211221112111111211222221122121121221222122211222121112112221221221122222222211222211121212221112112222122122222221211121212121211111212222211121121112211121121111112222122121121111222221221222222111212221121112112221221122212222211211121221111212122112212111111211121211222211212111211212112222112221122112222111211121121121212222221211221212211112121121221121221122222222212211212122122221221112212111212221111211222222222121122211211212122122112122221112111222112112212211222211222111111112221122111221112222221111211121111222121211112111222212111121121211112212112212221212211112212112221121121122121212111211211211221221121222111122221211211211222112222211211211122111121211111122211121211112112112212221111111111222121212111212122211222221222222111121222111222212211111111222222212111211122111112112112121122112111112122121111111112111211111121121122221111211111221211111122221222122122122121211122112222122211112222211121122212212112222121111222211122212222121221222222221121221122122212122211222221212122212222122111111121221122121122121211122221221121121222111112121222112211112211211212221121212222121211111112121211211222112122221222121122122122211221122122122222221211111211122111211222212112222121122212111122222112112221121222111221111211121222111222112222211122112121222121211221112121221212121111112112121212111112112211222212122221121211122112121222112222222122111122221222211211212121211222112112212211122122112221122212221111211222112212211221212212121112121211222121211122111121212122111211222112111122212122212112111112212111122122221112111221112111111222221211222121212211111212112122112212111111112122111222212222221222212111222122121221221122221211211212112211221222122211221121122221222212212122121112111111211121211221121222121121121112112221112122112211112122121122222122212121111112112121211121122212121222211211112111212211121122221222221112221211212211111221112212212212122122222122122121222221211122211211211112211121211121122121112211222111212111211121121212112222211122212111111122212212112122212121222121211121122112122112111221121212121122111121121121122112111121122221212112112222211212211212111212121221221221111111112122122222122121112112221112121121212122222111221122221122121122111222122112111112221112112112122122111212122222221221122111221222121212122111222111112112112211111121121222121211212121111122212212212222111112121211111221111111112212122221211211212112222212212212221222221222211222212212112121121221222112122121212212122212121111112221212122121222121221112122111122222111122211121111112221112121221211221122222221212121111212121212221111122121111111212122111122222121121122122111111222112121112212211122222111111221221222222122221112212221212111111111212221111221122121212212111221222221112222121211121121221122212211221222112112122112212121121211221112222212111112121122122212212122221122111211121222211211112112111212122221222122122211122222212222222121122112211211211221121222222111122211222111212121111221211211221122221212221111111211111112222212112221212212111121112222212111212112222222121121211222121221122111111211211112222212211122121112122211222212111212211121121211111221222122112211221211211211122212122121121121112112222112221122222121211111122211122112212111112121211112122221211221122111111112111221212211112221121221111112222122212212111112111212212212122111121111211211111222111121211112111122212121111122221221212211111111112211221222121222222122211121221222221111122222222211212222212221122111221121122211221221212122111121221222112111221112122122211211222221121122211111222122122111112122212121212112122121221221211221211121221211111211211212222212222222211211112122222112222211111222211121221111122212121222121122111122112121211222212111112221121221122122111111111111211222221222121222111121112121211221221112112211112222212221222221121211211111111122122111121211211111211122221112112121211111112112211121111122211222222121112121122211112212222212121111222122121211112121221122212122112212121222211121111212222111121122222112112121212221222221112221122211111211111221211221221121221222222211122221112212111121221221212112212121112111111211122222212112121211111122122112121122112222121121221122122212121211221222221211121111211221112222221122222122221222122112221222112221222112221122122112212211121211121121121111121211112121121112222122121121112122111211122221211111222221221222212122212111211212111221111111222122212112111122221211221222111212111222112122112111222111221212122111212111122121222211122122212111121211121211111212222111122212212121222211112222121112121111122221221212212212111121212211122122211221112212211212122212221212112121121221221111121112221111211211121221222112211121122211111112222122112112211111222222212122112211211122212122222111212221111111122211211211122122122111221111211112111122122122122121111121222212211222222222111121111222122112112222211221222212112211122212112222222211221122211111111221222111112221121221122122221212121112122221112121121122121221221111211122221221212111112121111122221112122211111122122211212122212122111222112121112111112211211221121221111122212211121221122211111121212222122211112112212212211221122121211221212122121122111112112212121112122212212222222212222121122111112112211221222222112112112211112112212121122222222211111222212221212222211222122221121122211121122111212221121222211122221112111222212111221121121211222111121211212122211121121111211111221122221221121111121112211211122122212222212111212122111122111222212222221121211221211222212112112212111222221212211122121121111211122221211112111112212111212212112111221122212111212122111111222212211112222212111111221121222211121111222112112221222211121222111221211121121211222222212222122212222212121111122122211112221122122222221222111122112221122111212121122122112212212212221112211222222221111111122221221222111212111112112212212121112211212221122111212121121111212111112212112222111211111112211112221112212211212221121222122212221111121122122222122121211111212111212111111212121212122212122112222111121211212111211121221221111221222221121221112212211221111221212111122122122122122211122221211121212111221112212211221222222111221121211112221222121121212211111122222122221211211111212212211121111112111221122211222221112121222222111212112121121221211211122121211221222221121211212211112111211121111121222221112112222222121221122222212112112121222122211222122211212111222111212221221212122212211211211122221212121221212212212222211221211112122211122111112212111221112221212122222111121212112121121122111221221212111111112112211222111122221112222112211222221112121112211211222212221221222221111121221211221222211212222222211112122122111221222111222222211111221121112122112121211122211222222222112222221211112222111122121112221222221121121211222221221111221121122212111211112222221211112221111111222222211122221111221112111211211111121222121121211121222222212221211112222212112112121222212111111122111121121211111112221222211112211212221111222122121212111212111212211222212122211221212122112121122211211121212212221111122112211221221222221112111212211222222121122221222112222221211221112221122112122112221212112222222122212212112121212222121211121222121121222222212111111111222122211212212112221221221122111121111121112112221211111121112111121111212211221111221121121212221121221212212211112212221222112212212211112211121112121211121121222211122221121212122121122122221121112221211222111222222121222221221222112112222112111122211112112121212112112212121222111221222211122111121111112221212112112211211111112222222111112212112122221112221212221212211211222211222222122221221122221111211122121212212222212112222222121122122121221222211111212121222211112111211212121212211112121211222122122222111222122122211112221112112222121122222222212211122111212212121111212211212112112221211211222122221111212112112122222221212212211212112222221222221212112112121211112112212211221121111212122112222221112212211212112222112212221221122122111112122212222222121112121212211222221222212112122121211111122211111112221212221111112221121212212211212111111121122211221212212211212111111222121121121212211222221211112122212222212211112211221221221221211211121211212122121122121221211211111221222221222111222212121122111222121221221121111212111222111121212221122221212212211222112112121122121122122121122222221211221212111222212211111211111222221211222122111122212121211212212121111211122212211222211111121111211121212122212222112221221212211221122111212112212122122212212211222112222212222111121121122212211112212212222212122221121111112221221211221121122222211221111121212122211211212121212112211111111112212122221211122221112222122112221222221211212121221122221212222111121111222211222122222221222221121122111221221221212122222122222222221121121212122221121221221221121122212122111211122112221112212112122112111112221122221111121122121121222221212121212121212122121211112111221122221122211111121111222211122212211211111221122121211112111221121111122211121111111111222221221111211222222121111222222121122211121211211222221122212221211222212121222222221122221112111222112112211221111211222112122212221211112211121112122112121212112121212112212122112221112112121211212122222211112212211122222211212222112112221111222121122121111112221111122111112212212222221221222221222112111121111222111111111112222111112122222111222121112211212122111111121212121212212221212111122112211112211121222121212222122112122111211121111112221221111221212122212221122122212222121121111212221221121112212121111121222122221122211111222121112211222211212212222222122212212222122222112111112222222112121211212112111111121111122122211121122122221122222221111121112122111212122221111221222212111111112122112222111121221111112121122212211122112211111121221112111112121222211121211222112211112121221121112111212222212221222112122212212212112221121112222212221212111111111122211211221222121121211112221211211112111221212112212212121111111121121211111111211221122112122211211122211122111111122112122222122222121111121221112221122221221222212111222222111121112112221122222221111221211122112112121211222122111112211112221212122121122112122111222112222211111122222222222212111212222222222122221221121122212212121112211121121222111222112111212221112222122212112222112121212111212212221212221112122121221222221221212111111111111121121111221221122211121211222212122122122212221221111122222212222212212112111211112112112211221211211221212222121222122222111112121211112122111121121222112112112121221112222111212122221121212122111212112112221122211122212222112211221211211122112221222221121112211121111211121212121221212222211122111112111211121222111221221211211211122122122221211112222121111121122221122122121221111122111212112121212211221121222122112111111122221121121212111122112111111221112222121122121222211212212121121111212222112211212121222211112222122122122221121221222112211122212222222121222121211222211211212121112112121221221212122222211212111222122112222222112221111212221212212211222111222221212111112211111111111221211122212121121112121122122112211112221212112221221212212222111222121112111211221112111222222112121222212122222111222221111111221121122211111111112111221112121111112111212111121121212112221121122221111211222121111111212122121112122121221111112111211121221212222122212121212222221122121212121111221211211221212211221221211221112222211122222212111212222211112212121121221122122222221121111211222211122121212222222122111122122211212222211212112111122111111121111121222212122222221112211222211222221112112121112222211221212111111221222121221222112111111121122122212111112112112112121221122211122122221111112111122112211222211221122122222122112111221221221111222212212112211112122211212211122111211212122111121112111221211112222122222112211122122122222112121211222221211222122212122121211211221221112221211211112122222212122221212121122122122222111211112112222121111111211122111122122111122222221222112222222212111112212221222211211122221111221111221221221122111122211112112111121221211211122221111212112221122112121211211121222211111122112222212121221112121112211122121122122111122212112112112221212112212212221111122212211121111121222112211212121112111222122221111212221121111212222212211122212212222211222221222122112221212112111122212211212121112111121221112212221121121122111222122222221222112122222222212212112221122112122112111221211221122112111122222111222121212212121111222212211221211111212111111211211121111121222211111122112222221121111212221211212211121222212221221221112221222212222211211211111212212221121111211212122222122212122221121222111122111221212112112121121122221212222111222212111221221211112122122112111111122111221211112211121121111221221211222111221221222122111222111212121222212211121112211211112221222122212222211112112221211222212222222121212111122121122222112111111222121112111221212211222122121122222112112122121111112111221221212112222122121111212221111221122222211212222212111221212211211121122121222222121212211121212221211122222212121212211212212111121111211211112122122122211221112112112111112222221112121211221122221221211222111222222122121122121221122121212112111222212212112112122112122211221221122111112111212222222121111112222222221112222222211222221212111112221211222111222121212121221121211122221121222221122112221111212212222112212112122122212222222111222121222211221121221111121222111221112221122111221221122121111221211121222122211211212122112212122111212211122221221211211212222122222212221121121121222211221212122112222112221211222121221122211111221222122222111211221122121112112211122221121211121122111221121121112221212121221111112212122212212112211221122211121211222121111212222112211212111222112121122222122122222111122212222222122111122112212121111212122212122111111111212122222122112111221122211122211221211111211212111122211111211221212121122212221221211222222222111212111111111122112111122112212221221121122121221111222212111121222222211112212122121211211222111111111222111112122112211222122211111112121212211111112122221121212121112111222111222222121111111212211121121112121122211221211112111122121111111221112221122211211211211211122222121112212221212222122112221122211222112212122221211211121212111211221212211212212112111212221222222121212221112112212211222112212212112221112222121211122122121211211111122211122221221222111122122111221222121122211122122112112212222212222221211122222211221211112212221222122212211121111212211221222222211112211221112112112121221212222112121221221122221111222121121122111221122211112212222122121222222221222112111212212111211211122121211211211222122121121221212221222222221212122221211112222111111121121112111221122121122111122212121222112112222221222122122212211222112112221112211222212221222112211221121121111121121122121222222121211121222222221211112112112222122121222121212122112121221221222221112112122122222121222212112222111122122111222212121221221222111112222121212221121221212212111121212212112121121221122122112121222111212211222221122112121121121212122112121222222211211111222211122122212112122211111221112222212121211211222222212121212212221111211221111221222121221111111221112112112222212221121212222222122222221112211112222211222112212121121222122221122221122221111212112222222221121122221121222121121221112221211122122221111112121111122221212111111221112221221122211111211211211222212121221221222112222112111212222212212211121211221211212211122211212211211211222212212121221212221212122122212112111212112111221212122221222211122112221122121212211112111121112222122121222122222121121211211212222121122212221111122122122212212211211122122122211212222211111212122111211221121112111112111122211221121221112121222211221122211112112211122221211221221221211222112122222211121222112122111121121111221211212112212211221111221211111111212221212112122122221121221111111121222221221112211122221111211212121212212211112112222222121211121121112122122111212212212211112212221211222212211222111221122122112221122221122111121221111212212122222121111221221121212211112122222221121212221212122111121222111212112221212212211121112211211121212212112112211221111211112222222121122221112222121222221212212121111112112122122211221222122222111122111222222211122222112211221111111121222121121222212212211112121121112112211222211121222221222222111121112221222111122112121212122112122212111111212122212222222111222111122222221111221112111111212222111111112111111112221212222211121111112211212111222222211111111121122122121212122211122112111121111212211211111221222211112122221121221221122211222121221212211111112111122211112221212121112122212121122212211212111112212111121112211221212121212222121112112122112221111112222211121112221112221221112112211212221121211221221111212121221121211121111111212112212212221222121121112212121221112122222122211212221211122121121222121212121221111121111121222111121222122211221222211211222222221221112112112221211121112122111112221121222211221112112211212211221121121222111221122221111122111112121112121222122121122222212111222121221212212112111221211112122121221121112221121211112112111122212221211112121121211122211222111211121212111111111211222111212211221122221212122121112221211112122211221122211211212112222222111221221212122221221212211212211222111122122112212212212211111111112222122111112222212211121221121112222111221111212222221122211212221122222222211211222111121222221122211122112111221122112211121122211121211221111211211212122221212211111122122111122122212221111121211111212221122121112122111211111221111212221221111121111211221222212221111221222112212122111222221212212121212222111222122211112221122212212111222212111221212122221212112222221121111122221121222222121221111221122212111221112211122221222212221222211222121121222111111212111122112222211121222111122112112212122112221112122221212121121211212121221221111222222121212121112211222212221112212121211221112222121212111122212112211212112221212211122122111222222222212112111112222112212221212211211222211211212221221221121122221121221211212112112112221212112222211121222221112222211221212222222212111122122112122122112121121122211222112211221121212212122111212121122122221121211112212221111222221212111122122211222222111121212122121221211122111121221222211212111221121111122211212211211122221112111222121121112222122221111122222221121112121212111122121112221112221111212222121122212112212221112211212211212111212221211111212221212121121112111112222122222112221122211122122212222222212122211221222121211112222211111222222212212111111221212212221121222111112221112221222121211211122212112211122111121221111111111221112222222121222122211212211111222221212112221112212222221221222212112121221111121211211212211211221121221121212121121122121221111112122211221112122221222122121211221222211212121122112111122122112112111212211122221221111222111121212211211121221111122112221212122221212222122222112222221212112212212211112211122211211112212112122212212212122212111122122111212221121122112212122111211211212122221212211222211121212212211112211122112211211212112222121211111121122122211122211211211122121111211211121212222211211212121121211121112221112212211111122122121121222121222112221122122112222221222222121212122212211222112122112222122221221221111121222221211212221211122122121122221121111221122212222112222122111221121211211222111212121212221111112112121112111221211112112121122112221122221121221222211122112221211122212212121112211112212221222211121122222212111112112111211122121122212221122221212212221121111211211112222122111222212122112121212121222221211112212211122222221221222212212122221221111112212122111212111222112112121112122122122111111122211222122212222122221121211211221222121121122121121211121221122121111221121121222221211212212222122112222112222122122112221212221211222122221211212121212112221211111211122121121111212222111121221212222122112212221112221221121112211222112121112212222121111221222221212121112111121121122212222221221122211121121121111211211122122212121222121212112221111121111221222111211121212212222212122212211112222221211111222211211122122211111211122111222112111122122122221222121212122212212221221212111112112212222211212111111122111111222122122121212121221112111212121122111111111222121212111211211212222122211221221222212212122112222121212122111111112121112122121122212211221112121221211212111111211122112222212221211212221212221122221122222211211122111222212211121121221111122221222121212221112111122111121111122212122221122222121112122221221121121112112221211212122212211112122221121212222121212111212112211122221122122112221222212212221212211221121121112212221122212111222212112111121121121212121112221122122222221112122111222122122221212111112212212211111112221221221112111122221211211211112112122112112121221112122222212211221111112111212212212121121122112122111211222212121222221221212222211111112222112221122212211222112111222121212122222122221122112211112212212222112112212121222111122222221211122222122111212122222111112222122111111222211221212212122221211121122122112121112221122212112222122122122122211122122112122212222211221222121212222221211211112121212222221111211122121122112212121112122111222222122112212122121121112121111122221122212212222111221111222212222212222121211211221111121221121222111112211111221112212111211121222122112221111111122112222211121222121212212121222111121111121211212212221112111112221222222122121111221112212221122112122222211222212212111211111211211221112212211221212212122121212222111112211222212111212211122221122212222121111112122111112211212211121211222212221112212111212211212121111221221221211122121111121122111112121212112121112212111121221222212221222111221112121211221122121121211111212122112111121212212111212122221121211212221122121111222221122122121212121222221221212111112212112111112211112221112112222121122211122121112111211212121111221211221221122221122121221121221111211121211222221211121111212222221222222121211212212111222111222122121111211212111112222212221222112221212111111221211212122222221121122221211112221111121122121212221111212111122212221122121111112211111121121221112222112221121121121221121222121122121111122112212222222112111222221122221112122222221121212222111222221111212111212111122212122212211112121112112112222211112121112221211122212221112111222112112212122212221211212122211121221122211212111212121211221221221122222122122212112111222211122112211212111122222112211111111112221222212122121222221122111212112211211221111211222122221211112122222121222222212111122212222111122212121112122211212122111211211222111112221111121222221222112112221122212211122212111111111111222222111222122221112112211121222211112122121221112222212121222212222211211211212111122211222222121121111222121212112112222222212222121122221221212222111111112112211212122211112212122212221112122222212221112221121112212221212112211111121211111222122121222212121121222211121121221212121122222212122212221121112221122222211122112222212121222222122222222212211221122211211222122212111122121221122211121121211212212112111212221221221211111121211221112111112211111122211122122221112221121222121112122121212211122112212211121112112112221221221212121212121111222122121221111122112111121222222212112121211211122112221212212222121111112112122122221222221211122122222112212112122112121222112212122222112211222222121221111212122211122221112111112122221212212121211221211222122112121111121212122112121111212222221112112211212221211111222222222121112112121211122121221122222222211212212122222121111221122112121122121122112212212121121221122111121212221222111112122212221111211211121121112121111111122121212112112121211211112111221122222122211121111221121121112221121111121221122211211211111212212222222111212121122211222211222122212112112212121112122121112122111122212112122111121121222121121211222112212111211122112221112211111211121111111221122121122121212211112211221222121121112111221222221121211111122111212212212211122212211221212221211211212121111222112221222122112112111112222211111111112111211221122212221111212121122112122111212121212212122211111222211211211121112221211221221211221121111211111111221111111211111121122121211222212121222112122212111122222221112112211121122121111121112122111112211211121122122222121112212122121211111112111211122221222122112122111121111212121222122212112222222121111222122211121222111122111121112212121112221221221212122212221222222122112212221122211122222221212222122121122111221211211121121112112221221111221211212111222212122111121221121122222212111221112211212121122211122212222121121221221112212111121211212111112121211222212111212221112222122222222212122111122211222111222211222122112211112112112122112222222112211222222121212222122212212122222221111212211111111111122121222112221221222112222112121222111221222221111211221211112112122112111221112211111222222121112112121221211122112212121221111221122111211111212212212222222212221112212222212122122221111221121112122212112211212222122212111222111122221121112122121112221122212122221211112222112222112221221111221112121211212221211112111121211122121122211222221112222122212221212121222222211211211111112211121111122222111111212221122112121211222221112221121211222212111221211222121211222112212112211111212111221122222211111222112222211221212122211222222222222211211121221121211122221122211121111211222121222112221212211122211111112112211112221211111221211211121112211112211122121121221211211121111222122221212122222221121221122212121122211211122211221112112221111112111112221112222212122122212211121212221111122112112222221221211211211212112212111211112222212111212112221222222112121211211222112222121122211212211111122211121211212121221122221212221211121112211122121121112212122112212112211221122212222222212122112111212111112211111221111122211211211121122212221121111112222112111211211211212221122212212112221121112222212121112121112212222211121112112222111122111112112121111111112212112212111212222121222221212122122221221222222221222222222121212121211212221211211222121121121211211122222111121222211221122111222212222121221112212121212112221112121222211212212122121112221211112212122111112222211212222221111222122212211121211112222111122122211221211121221112221112112211211211222122122111112212212221211211122111222222212121221212222221211112221111111112212112212112222212112122111111211112121112212212211112221111112211212121122111122122222121222111111112121111112221122121212121222121221222121211111112111112211111222211121122122211212212112211211112222112221121111212122211121112111211211121112222221221221121221111122111212221112221121212112112222211222221112222122121121222122122222121112111222122121122221221211121212122222122222212112111211222212222111111211212111121212221112112112122222121211212211111122122211111222121211212221122111212111222211211121212112222111222111122112121122211122222211222122112212212112212121221112121222122112112221121212112222212211112112212111122111221112222121121122221121212221212222221112221121221211122222122112111211221222122222122122212212111112122222222122111112212212221211112111222122121122121211122112211222121211221111121111121112122112222212222211122111211122212112121112212111121222212121222221111121221211221112122221212111112121122111212122212112212221121212212221112112121222112121222111111221121212112222221122221112211112122121211112222221212121112111221122211212221111221111212121121112111212111112112222211111122221211111212221212121121122122222112121112121222211111122222122211121121111212112112122221121121212121222111222212221121112122221112211112111121121222212121111211221212111212121221221111122121112112111122212111121111211211121212122112221212112122121111222221121121122121122121211122212211121111121211222211121121112111221221111221211222121222111112212112112222221121112212112112112212222211211112212111122222211221121221221112111111122111221212121112121221222112212222112112222212121222111112221112211221212122111212212221111121122112222122111112211221111211221121222222222121121211121111112121222112111211122111121211222212111211121121211122121211212111122222111212221221122212221111111221112111111121122111221211221221212121121222111112122122211111111112222211212212212121111121222211121222112112111212121111221121111122221221121122112212121211111212222112112122112212212212112221211222221221122122111112211121122121212122212221112122221211212222111111112112122121211121111122121221122112211111121112221122111121111221111112111111211211121111221221122122212211111121211112122212211212122222212112111112221222111212212121211121222121122221221222122111221211212122122122121121111111112221111121122211111212221212122211211111221121112211212112222112111122121211222211111111212211212211211121222221112221211122222222122121222111112211121121122122111222211222121121222212212211221212212211211121121212221112222111212121111121221112112212212122211211212222121222211222121222222111221112212221121122212212221122121222222211122222111221222121221211122221211211221212222112212122111212122221121222112112111211221211111211221112112111221222111221112212211221112122121111212222212221212222212211111222221222221111212122212221221211121212112112221221222122111221212221211122111212122111121211122122212112212211111122221121122112111111121122121211121111122221112112222111212222122212112211111121222221212122221221121212111222211121221121122221111121211211222111111111212221211211211221211121121121112212211122111222212221121112122211212121211212222222221222212111221221111212121212221111212221222222212212212212221112112122221222121212122111112211111111122111211112121112211221121221222211222122212211121222122211221222221121212111121212122122222212122211111112211212212211112121122221122211211112211221122212121122121121221111122211122121122221221112211121222112121211112222212212212211112212122212122221112212212211121112222211211121122211121221221112221121121211121112111211111211211221122111111222212121221212222112221122112221212111121222121112112121212111212212221211122211221112122221112111222122111112122112222222122122211112211122121222211121111211221122122111222122121221212121121121111121111111221112211111212211222121221121211122222121122121121112121212112121111112121212222211221112222112112211211122222111211221121111221211212112211122222112221211112121112112211221111112211222212111211212212212212211122112111111121222221222121112112211221122212112221211122111211211211112112111111111212222121211222211121111121212222212112211222122122122212221222122212111121122112212211212222122212212112111211122111212221121121211222222122111122112212112121121212221221212111221221111212112222211212222211222222221211122222212221211121111221122212112212122212222111112112111121222122222222212121121121212121221122222221221222222122111122221212222111111122122221211222122221112211211111222211122211122212111122112121121112222121221222211121111212222112212112121222121211211221222221112212122112111212221221111112211121112221122212221112212111111122221222211111121211221222112211211211221222212222211112112111112121121212111122112122112212111211222221211221221121211221122211111221112221211111212122121212221211122111212121122122211122212222221112112111222112111222121111112121122111212222221222111112221112112122221112112212212111111111222122212122221112212121211221122122122121112111111111212222121121222222211222112222221212212221111212221211112111221212221221212122212121122211111112211112122111222122121121112121121112221212212211112111212222212212221211221122212212122122211211211212112221211111112211211222112222221222112112122211221111112121121222112212112111211221222122112121222122221211222212112121221111212122112221122111212122221121211112222211222122122222122212212221121121212112212111111122212111211111122121211122121122122221212221222112212111212212221111121221211111212122211112221111211112221121221222111122211222222111122221221111112121111222121222111212221111121111211212111211112222112211112111211212212112121112221221212112221212221211111112111221222211111221221211212121221221211122112211121212111212212111222112111222211122111112211121221121112122111221212112211221122111211222221222122122212111122221121212122111221121211212211212222112121122112221112221212111212212112221112111221222211112212111111211122122221212111221212111121122122122211211221111212121211121211111121211112122121212222111121211121111211211221122211222112211122112221111212221121222122211122111112221111122221221212222212112121211121221122111211212212122112222222222121221221222212122121212112111122211211112121221221212111122221122122212222211211211122112122121212211211221111212221111111112122111212221211212112122222212222221122111112112221211121121221222112112212212111212121111121222221121112221211222222111111111111211122212211111211212221222122222221122122212122211111212221221122221211221121221211111222121111211222222222222212222121122212221121111222221121111112111111222112221222211211212222212121112221112211122212212121121211221122111211112122122221111211121112122112111122121221211222122221221222121112221222212121112122222111112112222222121222221221112121121122111121122222222122122122211211111211211222121221212221122222112212121112222122122121111121222211211111122111212212112122122212121221121221212212212112112122111212221222222112222211112221121121212121211222221222122212211121222122211211212221211122222111212222211212112221222221112122222111211121212121212121122221122221121222121111211221212112122112112121211121111122111122112212122111212221112122122121111222211212121111221212222211211111221222221222121221121211211112112211122212121212121211222221112222221221111121111221211222211222222122222211111112221212122211111111212111111122112222222211212212211122222122211122221111122211211112212221111222112112221111122221222221122212122221112211222211111212112121122112221122211111211122121221212111112121211222111121122112211211122212212122211222111121112222112122111121122221111112211111221222111222222222212121112212221112122222221112111221211112121212222222112121121211122211112112121121211121122122212111212221112121211221112221111112221122122122212121221121122221111111111122222211121222112121222121122211221122121122111111111121111222111211121212122121222112111211121211121221221112221212221212112212211121221211122122112112212121222212221121111222112111122112222221221211222122122211111212111121222121222111122221111211212211211111111122122221221222122221121122221122122111121212211111222121111121112122222222212221212211121112111221122122111212221122212211222212222112121222122122111222122121122122111211222212121121221121222112211212212212211121111222222211211221122222112221212221122122222221222112112211111221112222112111212112112211211112121211121121121121212222212121111212121121121221222112221222221212221212211211111121111122111221212111211111211112222212121122221222221222211121112221121112222122221221121211212211222212211222122121122212111111222222222222112221112111112111211112222222222212221112222222121212111222122121122212212121112221122211111221221121112121222111211111221221122221112122222112121211111111221221121111211211121212212212112221112122111112222221211222212121122122112122212121122112122221212221121211212121122122111221221222221121211222111121122221112221212111212121211222222112122212112112111212211212112211211112221211122122122122112122222211122211212122111111212122212212212212111211212112212112112221121211112121212222112222122211112111221222222221121112211121221121112122212211121222122122122122112111112121122122121212222212121221221221122222122122222212122121122221222122212211222112212121211111111122211121121211211211211221111112121212111221112212211111211121221212112121212122112211211121211221211211112122111222121212121221222212211221112211221112112112122222121111111212121211211122121221221222221111111212221121111112111112122212211111122222122212221222221222122122222211112122121121221112112211222222122112211111111122221221112122211122122221212211111221121122111122211112222211121112222122212211111112112211121212111212211122212111222111211211211122112212222112212112112122121121221111121121212221221121211122222211211212121212212111212221212112222222222111211111111111122122222111211122112222112211122111111212122121112121112211221112111212212221122222112222222211122122211121111121111112121221111122121121121112112221211212122121112222112221122122122122121222122211121111211122121211212122211112121121122222122211222222222121111112111212212111111221112221222111111112111122221222212221111221111111121122112121121221221122121211121122222212212112222122222221222121221211211222221111211111212111212211222111121211112212212222222211212112211112211111222222122122122211211121121212222111112212212212211121121111122212222111222222221221211221222221121111121221112112111122111112112222212211211111111212211122221211221212122122112211222112212121112121222121211122221112112121111111221221212222221211122222222211111212111222111122212111121211222122121211112211222212111121112221212212112112112221212212111212221222222112112222122111212112221222122122211211111212222222222211111212121112221221112211122121121112222221212212121111121211211222222122112211122211122222212212221211112221222222121111221112212221111122221212212211211121212122221221211112222112222121122122221221222112111222211211111121222112121112112121112111122222111111112112221121222111112222222212112211112222221211122111112222212112111122121222122211111221122221121211221212112222112222122222221221212112122221122222122221112122211111211222121212111121211222222122112111111111211222222111111221211122122122112211211211211221111222112221221121212111221222221211222222211212112112121111211111211222211112212211111121111221111121111212111121122212122122221112211121112112212122121121221221121111122212122111211112211112121111121122122222112111211222122121221121112121112121111121221221111122222122222122211112221121112222212121222122211221122122211121122111221222221222211111222211112211112122121221211211221112122122121222111222111221121222222211111222222212121211211211221221212221222221221121112121212211211222122122222112211111112222221221211111222212211121221112211222111222222122122211212112122121121121111221122122112121211221211222112222122211112212111212121111122121212111112222212121111122122112211211221222211211121222111121212222222111211212112211121221222112111212122122221212212111211121122212122122122212122111122211121221212111211121111221221211111212122121221111222112112211112122221112222111122112221112222112222121122211112121112111122121222222121121121111212121121212212221121122122211111111212222221111222211212221121211122112221122121111221121212212122221121222112112111222112112112111212212112211122111121112212211211111121111112221222221212111122112211211122222121122111112111111222222221221111222221111121111211112212122212112211222211212212222121212222221221222111111222112212121221111111222111221222211112211221222121112112211112111222221112221112111211211212211112221211122211222111112221122221121212111121212211122111122211122222112121121211111122212212112212211212112212221122222211222121221111121222222221222222122122111212122111111122122122222122222122222112212112222112211211122212212212211112222211112222211112212122221212111121211211221122111212121122211121121122221122222111121122211112211122111121221222221122222112112111221222112122122122222121112212222111112122112112211111122211221211121221222111112212221121222212221212121211122211111121221211111212111122121221211111222212222112222111211112122111221221221212222221121122121111122221112221212112222112212111212222122122111121121121122211221211122222221222211221111122212221121112211121121122111222211111222211122212111212112122111111212211221211212211112122221111122111121222112222122222222212122122121121221221122222111211211212121222122122112212112122211212121211111222211221221112112122121112221111121112122122222121221221222222122212222222122212111122222121112111211221122212111112222121111112122221222221222121112111221222111212121221211121112211222111111111211111112111211121122211211111222222212111121122121121221221211121211121211211112211122121221222221111211112112222111211212211211122221111212212122112222111211221212212222121111112121112122211111121122222222111112222111121112221121112111221121212121211121222112221111122211121111122221122211212112211121112221111122222122211111211222211111111212221211111121111122111112221122221121221121121121222212122122112211112111122112112111211111212112122111112221112222211221211122212221112222211212121111212122121211222211111112212212122211221112111122111111222221111221122121222211112111121121221221222122222211222121121112221111122111222121211221111211212122111222221211211121112222211222221122212221211112212112211112211112212221112222111211211221111111121122222222112212112212222212212221221122222212122222121112121122221122111212122212211122112221221112221122222111211122212121111211212121121221212111121121111222112212222122122122222111121112112212122212121221212111111121112212112211112122211121212221212222222121111222111121111112211211122212112122211211221222222222121221222121222121222211212121211221112122211112122111222112222121221221111211121112111222121121112221221112221211212121111121112111111221211122221222112212111121111212222112211221222212221212122111211122221212121112112122122122221211221222211111221212112121211221211122121221111212212111121122221112112111221211112222211221212122121112122121211222111212122221121212221122211121221112222212112112122212122111121212221212221121222111212121212211121112112111212222111221211112111211221121221122121221212121221121122221212212221122122112112212222222222121222222211122221221222211211121121212221212111112221111121221112122222111212122121221222212221211211122222222112211111112121212122222122222121221222121221211122122122212222112211222212212112222121222212112222211112212211212121121211111212211211221222211112112111111111122122122122121111212122111111122121222212111122212121111211211212221211212112122122122222212121212221211111222122121111211111221112221111221222222221212221121211211112221122121122112211212222211122212212111221112121211222111211222212112121111112222222212121121211222122212122111211222212122111111211221121111121121222121221212122122211212221211211211122221222221222122122211221221121221122211211121112112112112212222122111211211221112121211122112122221222121211112211211121222211212112112212111222222212122212212111222212222212212122121222122222122121112222221212211111111112211121121222211212221111211112222111222212212212111212211111211112112211121212112212122111122222212212122121211112211112121111112121212111221122221212221122121112122222112122112221121212112212222222111121222122211122122212212122122212212221111112211111221121222221221212111121112222211121112111222211212222122221212221111122211111211121211221121221222212212111222212121211222122112122212221122122111122112122111121212222221221111121211211211111112121221221111211111122121212121122121122111112222111211211222111221122222121121221211211211112112112222212221212221122122221121121111222111122112211111121211211211222222212121122111122211222112111112212222222112221211221121211121212221211111122212212212211212112221121212222211112122222222112221111122222122212221212222122212112111122111121222221221111211211122112112121212212221211112211122122211211211222121111111111122211212111221122221212222212222222212122221211211211112211222222122212111222122122112211112112111211112111221222212212122221221212222211222122211111122111111121212222222211122212221211112211112121112122121121211221122122121212221211212122121222111221212211121221111211211212211111121222211121122222222221122122222122211221212212221221221111121111222212122222221112222212112222112121212111211211221212212212212211211111211121112221211112222222112122121212111111222212212121111212221222112111111212121121212212112111221121121112221221211222112122221112122212111121112212121112211211221112122212111221222211122222121111221112212111211222211121222211121212212122122121111121111111221111112222211211222221111221212222221122111211221112212112212212221222221122211212121111122211221221121122222111122221211112222221121111122121121211211211111111122212111221211211222112111211212121222222212212212111212222221211222112112121221121122221111112211111122111212122212221122212221122111211222111122221112112111111111121212221222112122211121222122221212221112212211121121122112221122222122211112122122222112112212211112212221212212221221212212111122222221222212211112121122111211222212221122111122111121121112122112212122112122111112121221112112112221122111111121112221111212222112112212212112222221221112121221222221211121222112121111112212122112111221222222212211112121121212221221212122222122211122112222212112122221111121211112221111122122221211121112211121112221212211121121122212111221211112211121122222111212211212111121121111211121222112222211111111121212111121121221221222211111122112221211122122122212122221222112122211211111122222112222121212112222111212112222121121121222112212211222122211221211211211112112212112122221111221112211112212121211111222221221211212212212112121122111221211212221211222212212122122211111111212222221211122112121221121111121212121111121121221211211122221222211111211122122122212122221222111111222111211121212211212221121112211112222222222221222222121112221111111122121211221111121122121112211221122111221222111121212221111112222212222212121121211122221222111122212121112212122121212112112122211222222112112112212121122122212211221111112112221112121221121212122221121122111221221212112222222121121122111222121112112211121211122221122112112121121121212222111121122121222212121222111112222122111112122111221122211112212112112222222221221111212111211111221121122111112122112111222211222111112221211211112221112122111211212221111211112121212211211211211212112121121222212111211211212222221211112222122212211121112222211212212212212111222222211221212222221121111221112122112122112211112222211222221222122122111111221122122112112121221111212111222221122221121212112212221212212212222121121122221222121221212222211112211211112212112111211112212112211112222212212111221221211111222221122121221221111112111222111112122221121221222222122211111211222121111221122221222211111222211211122212111121121122212121111211112112221122222121222212221121111111212122212221122121112112111111122122121112211212221222112122222221221221112111112222112121111121211122111212121112121212121122221212112111221222221121212112221211111212211211221112121222221212111111121221121112121121212121222211212211211122221111122221221222121122122212222111212221111112111122211111222112112121222221221212122111111121121212121122211222111122211122111211222221212121212221221211112121221212212212222221211112221111121221111212221122122121122121111112222112222121222111212212221212212112212221111121121211121211221211212122121111111212121112122221222121212122212222212111212221212211221222221222211121112211212222221211122111121111221222122211212122122122122112112221221112211212221221212121122111211121211122122221121211212112222222211122222121222121222121222112121212221121211122122222212122212221221211211122122211111112122212212212112111211212211222211112112121212111122212221122112211112222111211211211212112122221211111211111221111121122221212211222221122122221221122211221222121221222121221111211222112212211112212222112221111212211122221211222212212112122221222112121212111111222212122221221112122121121221112122211221211111222121221212121112222222122222211112222222121211122211211222112121121212111212221212211122212222211211122222221122112112211121221222111111221211122122111212211122222222221212121211221112212211122221112121121212222122111121211112111222121211212122221122122111212121121212121122121122212212122211112112211211112221122111221211112111212222212221222222212212111122222121111211112221112222211112211121111111122211112122111112122122211222111112222112221222212212212222122221212211121111222222111122221222111222122112121112121122211222212212122122121211221212222211112112211122121112221211112121112211221222221122122112211122111122222212221121122222121221122112211111122121121111121112211122121212221221111211122211221222112112221211222122122211111121121122122111212212211221211111212221122112221122122211121122222211111212111111222121212111122222112121112112221112122221211121121111212212122122212112222212112111111122121121222111111111122112122122211221111221221122121221211212212122112212211221212112122212222122222111111221112221222212122121211212222122211111112112211112111112211112212221122222121211111212112112112221221111221221122121221221112112121212122121111122221222221111122221111211111121112211112111211122121212211121211112212221122121122221122211222211221112121222211221212122121211121211221111221222121112112112211112212211121212221211112212212122211112121121221111212221122212122211122122111222222222222112122211112122111222211222122121212122212221212212121212211112121112121121111112221111212122112221221122221121211211122122121221111212122221122221212211221221111222112221211221122221111111211221111212111122111111221112221212112221111121111222122122211211111111211112211121122121211222111111222122222212211211111222222122222222221111121221221121222122111211121121121121111121112221222211112122122111122121211122112222211212122222121121122121222212121222111122122212122221221211221112121212111122212112222121212112111122112221112211222221222112112111111212121112121121222112222221221121221222112112211112222112221112221212222112221212121121222221222211122122221121121221111112221222221121121211121212211112222212112222212221122221211221121121222122221122111222212212122212221222212122111122111222212211112121212211122211212111211212212111222121122221222212112112112112121212111212112122221121221112112222211111111112111221222221212122222211121221211122212221111111222212211211112121112221222112121221211211121211212212122211221222211212112111211222111212112121112222211122112211112111112112121112111212212221111222111111121122222212222122211211122211111121111222212112211222221112212112111121211112122112111211122222121112221121122222122222111121212211211222222121121122111121221122112211121111212222111121111222212222222212122122211211212221211121122221212111211112122121211222111111211212222212222211121212212112212121121221121222111221221122111221222112211221122112121211211212111221121222111112111211222122221211112212221212121222122111222211211212211121122222121122122121111222212222121121121221121221111122111222111211222121212122211122211111221121212111112212121121211112122222221222222112212221212112122111112222122122112221211122121111212121111211212121111122121112122112211121212122121222211221221122122211211221211121122111222112111122121112221121112212121122221211111222112122222221211121112111122121221221212221212211122121112112112211221111212211112212222222221221112212121222212221222121221222222212221121121112121222112112111211121221112122121111212111221212221111221111122111211211111221112112122112211222112112112122222221111121212121111222211121112122112222212212221211121222211222112222122121212212221221221221222111112112121212121121112212211222211221122222212222212211121121212111222111112111212111111111221221212121211121111211111212111211121121211111112222122212221121121121222121211212111212222112111121211222121111212121111112112112211212112222112111121222111122221112222222222121221211121211112221211211211222111111121222221121122121122222122221121111211112222121212212121121221221221121122221112111222122121112121122122211211111211121222112211111111211112112221222211211222212221221122112221222122221212222212211222111211212122212122112112222212212211222112112212122212121121122121221212122121211212122222211111211221112221122122111121122122211212212221211112121211212112211112221212112121111222112112222211212212222222122112111222121222112112222112221121221211122121212221121211221122111121222121212212221211112112211211122222122121112222111112121221221221121222112222211212221211122112222112122221221212111221221121112122211212112111222222112122221221112112121212111121122111121121122122222121222121111222122111122121222222212122111122122222221221211222221121122221211122111112122221212121111211111112211122211121121111111221211212111222112122122122121121222221222221112122222121122211211121211121122211122221212221111122221121121212212112121221111212121222212122112211221111112222111211222212212212111212111212211221111211221211111212211222211121222212122222112221222211112122121122122112111212122121111121122211222211111211112212111111212112112111112111221222121121112222212122222121122111112212112221211112221121121122121121221112221222111121112112121122211112121212121112222212221222121222222212122212221111121221211212111121111111122121222211212211222111211222221211112221121212212221111221221222212112211111111212121211112221221111122111111222112212122212222221122212111121122212222111212222221212221112221222121222222121121222121221212211112212221212211221121222222212221121111211221222221222112211222222111212112122121121111212212122212112212122121121122112112211122111222122111212212111121121111211121212112212112212221121212122221111222222212121111112211112221121122222112221212221212212221212221221111211121111222222111221212121122111122221112121111212211221211111121211222112212112111222121221211121122211222221221111222121122211111221221211112211122222211122122221111122122122111222222211112211211111211121122122221212121211211212221221111212111211111112122121121122112112221211121222112122212111212111111121221122222211211221212212111112122211122221112122211122211111122121221111111221211221122211122121221211122111112211221212222212111221212212111211211222212212212221221122122122222112222221212111221211212222121112221212122112121122221112112221211211111211222212112121121121222122222221122122121212211211121112122211121222122222212112112212211221212111111112112111212222122112211122211122111112212121111122121121121212211111111212111121212122222111121112211211221221121122112121121121121122221222112221111112221211112112211111111122211111121111111221221111122122111221112122111112222221122122122211112112121111222112212111122222211211112211122121221121221212122212111211221222111222222121121222111221121121112121222222111221112221222122122121111222121112122212212222112112212222112212111222121221221122111112121211111212121211112221111211222112212111221111221212222112121112212121121211121221221222222121222211211122212211121221212111211221121122221212121221221121212112221212112122221122121221121121121221222111122222121212122121122121111112211111122112122211122112111121221122221221222222111122221121221222111121121221121212221111221212112211121211212212112122122221221222212112121212222122212221212211112212122122121211122122121222121212122211121211112121122121111221112212112122111211122111211222212111112111211122122121212221222122212112221111222111121212212111211221212121121121112122221112222121222222211121121122111211222222121211112122112221112112222112112112221121222221111222122211221121212122111111122121221112211112211121111212222211222122211121122212222212111211221112212222212122211212211212121211112211212211122122112212221222212122122211222122221221111221122221211222112121122111222111222221221122221221221212211222222221111211222222122211111222111212221211122222122111222111111111122221221121122112111212112122212212112211221122211221111122211212121121222212222121122111122112211111122221121222211111121122221122212111122112112221112111211122122111121221222222211222212111111211122122221112111121222221122221122121112112221211222212211211122211121111212222221122121122112122211212111221212122211212112112122111111122212122112211221111121121211222111112221222121111222112122222121212221112211212222211221212122121111121111121111111212222212211211211222222222121221221221211111112221122211111122212122112221222121211212211211212122221222221112212122212221212221112212121122112121111121112112212212121222122111211121111211222111211111122212121122222212222122211212221111211122112211112121112111212212121211111121112222212222112122222122222121111212111222111212221112122112222122122111211221212222112212121222121221211222211222212221222111112222122221222111112222111221222111111122122222212111111112211211112211121212212112121221122112112222211111112111221112221211111111221211212121222111121121112121112212212111211211112211211211122111111122122122111222121211112221111122122111122211221221111212111212122121121221112211221222121121112222121222221111212121121222222222212112221211212121212221122112222111222112111111111121222122112222221221122222212222211221112211212121122122212211112211212121221221212211121212211122121112122112121222112211112212222221122112211111222122111112121112221212111222221221122222221111112212122111222221221222221212221122121222211121121221111112111211211111121122212122212121211112112122112221112212121222111211112121221211212121222221121122121212221112122111212222121211121121221121112121112112211122221222212121122111111222121222111121222112211121222122122221111122222121112221211221121222211221112222211222221121121111122221112122222222211221111111111121111121111121112121121222211211121121222122221122211111122121211111222122212221222121112221211111112111112121222211222212222122212212121222212212112212222222212221221122111112211112212222121211112111121121111122111222211111112122121122111121211211221112112211212221222222121221211211212122222222122122221212112111111122221112222212211212122122122122112211222211122112112222221211112211121222211222122222221212222212221221212111221122122121221222211222212112211121111212121111122211222121121111121221111211211212112121212122121112221111111222111122122211111111111112111121212112111221111111112222212212222222212221221112211122122211221221111111221122122121122122212211212112212111212111222112221112212211222111212211111221221112222111221222122222111212222112121221121111212112222222121111122222121212121211222111222212222122211122121222121212212211221222212122212211111111121111111122122112121212112122221211112111121212111111122111221112122122211122222212122121122221222212211111112222121221112121122221212222221112111211212111112122222221121111112111121112122121222211122121122122112211212212111222111112121112221112222111212122212112221221111211111122111222222112221221221212111221211212122112112121222212212112222221222212121212222112221112112112112221222221212111211222221221121112121212112111122212112222211122212222112121112122211222122211122212221221221211221111222222212121121211122221211121111112222211212111221221221211222211122112122122222221122211222121221211121111111221122221112212121222222122112221221212112112112112222111121212111121221222111121211222112111121121111122212221211122222111211222221121221112212221121111122112211122212111211122212211112121122221211212222112112221211112212112221111122212211121222222212122111222211222111212222122212212211122121222222121212111111111222111211211112222111121111122212212111112222122121111211121221221111121211122122211211121211122211212121111122112222122112211111112222211122112211122112122121122112122121222112121221122221111222122212122211221122212122112222111221112211121122111122222212212111222212212112111212111222211212122211122221221212221222211111222211122212212212122211111121222122222212111211222212111111121221111221122111112111212222212112122111222122112112112222122112122211111111121122211211122112211122122222111122211112211221221212122212112112221221212212111112122121122121122122221122112222221111221112121211222122112122211121111122211211122212211111122121212121112212122212221112221121111112212221222112221112111222111112212111111121212212121111212121212112121121221211122112121122221211212221122121111211122221111111122221212112212111211222212212121221122211211122222222222122111121222221111221222112112222121121112212112111122222122122221112211222121212121211122212111112211212111122221111212121121121212212211211221211112111112221221121121121212122212121121221121221212111112121112221121212212212121221221122222121212222112221121221222222112221121111221212112121222111221221121122121111112121211112212122112222121121112122121212112222222122211112212111112212112122122212221121211221212122112221111121212121221122211222121122122221111211111121112222111111221122211111122211212122221121211111222211112222222122211211212122212211222121211112222221211211211212211112112221221121221122121222112112121222122211111211222122221212112121221111122112112121122211211212122211112122122222221111211221211211111212211222111121121212112222122121212122121222111121111121211221221212221222111111112112221111222121211121222211211122211222212212222121211112121112111222222111112122221121211211121122122211212111112121111122122222221111112211212112122121212112122221111122221211112211121212121122221122121222211222211221122211221112222121121111212121111111212111112222221211222121112111112112211111212121112211222122222212212222111212111111121221221111121122111111212212111222111112122212211112222212121112112122221211221111221112112222222122221121112212111222212111211122121212212112112221122122222122121122111111111212112121122122122112221112221112222221121211212221222211212211212222221222211211222122221221211211212212222122212122111121112221121212122122222222222221112221111111222111211122212221111222221222212122212211122222211221221212122111212122112112212222111211211222221212122222112221212122122221222212211211211222112111211121122211221121221111212211211122112121122212212212212212111221221211221222212222212222111111211221122222111122122111122212211121111221212211111221221221212112222121111122212211212221112122111221221112112221211112222111111222121112111111111211222211211111221211122112222222221111121211112121222121122121121211211221222222112212222121111122211212211111221122212222222212212211211121111222112112211222212221112222111112211122111221212112121212111111121212121222222111221221222122212111111221121122212111222211212212111111111211211111211122121222121222122222222212221221221222111122112122122212112122121222111111212122111221222221112211121111211212221221112221112112111111211122111122222222122211211211211222112122222112222121222112112211212221121221122222112222122211212221111112121122121211122121211221212222211121222212121122221211121212221221112211212211221111212222212112111112211222111211121212122222121112111211111222121111222221121211222221212112221111121121111222221211212121112121122112112221121112122212222121122121111122222212111212112211122222212222212112122111211211112112221221212121111122211112211222211212211222111122222112111112222211211122112111111112122121212212122111222111221122112222221222212122211211111111121121221221121112121121221122221221112211112212212122211212221121121222121221221112222222122221112121212112212222221111112111112222121221111211111211112122222112212111121221122121121111222111122111122211122222121122222222112212121222121112121211221122211111111111111122211221211122111121111122121121221212121222212111122122111121221212111111112112222221122211222121211122211112112111111211122222122122121112221122111222211111111122112112112112222111211212122111111121111122222112111212211111112222212222212222212222111212222122221212122111211122121112122211121212112222122211121211122121112222111212221211211111112121122112211212122212122122112122112211212121211111111221221122121212212221112211211111222212122212112122212122212122111111122111222221122121121112212221212111212112122212212112111211112122211212212211112112112121211112122111121222222211122122211111221122111121221122211121122211212122112111211121221222211121112221121122211111112211122222111112212121222122112212222212211211122211112112121221221111222222221212112112221222111122222121121121111111121112211112222222212222112121111222211211221222121111122211211122122122222122221122222212112222122122212222212112122112211111221221112111222212121121122212221211222122112121222122111212122122212212221221211212211122112222211211111111222121212212221111121121212212212111222211111111111111211121121112211121122222122221221122211221221111122121112122211121211111212122222222112212222122222121122112122211121212121221222121212121222211222222221121221121212222122222112222221121112211222122122211211211212221221122122212112212112211112211122112212112212121222221221212111111211221112111121111112221112221221211222122221222211222212111221212221212111121211111111211222211121211211212111212212111222122121122222122111121112211211111222212121112112111112212212222111111122121121112212112221122222211121211212221111122211111112211121211222222111111122121211111221122122111221121111121112222221121222122112212121112111221112122222111211112121121111111111121122122212112121112221211212111122112111211121212111112212112221222222221122211112222221221212222211221221221122112221121112112221222122122221121122222221212212121112112121122222221212111212221122212221211212122221221121212212121112211221121122121122121221222112121211211222221222211121121121211121211122222122221222222111111121111211122122221222122222211211211121222121222211222221211211121112111221222112111211122222121111221211111121112111122121221211112122222222212111122221121111112121212212211122121212122111111112222212111211111222212221222221221221211122222111212211222222222121212212221111111221221111121221121121112112222211212222221211122122222212211122221221111211211121211122112212212212222111212212121222212122121111221112212212212222111121111211122121221112221112111212112211122221211221221211211111222121211122111121212112212211111122212212121212222111212121111211212212111122112212221221112211112221222122111122222121112221211221222122112221122112222211111212122111121112111211221212222222211221212212121212211121211212122111122222211221111222112121111222212122221221112121222222212121222222112222222212122211112112222211122112112122222121221212222122121112111222212221112122211122212211122111221111111221112211111112121212222121212111121121122212211122221111212121122212111112112111212122111121112222121211211212121112112222211121121112112222212112211111212122112111112121111112111122212212122111112112122212111111221211212112112212222221221122221121111222112122221121121221121121112221112221222211222211122121111212211121112222122121122211212112222121211211221211221121111222111211221122222221112211222111221211121221212112122122212211212222111221212121211111221222211221111212112221211121111221122121112211211111212222121212122222121121122121112122221222112121221221111222112222212112121222221222111122122111122212211112212211111221211111121122221221122122122111222211221222122212222112121221221112121111122112211122112121122111121111121121122111112112212222121221121221121221122221222211121221221222111211211122212111112212121211112222221112122221222121211221212211121112211112212111111222221111212221122111212112111222112212112122222211211122111222222122111112121121122111112121111222111222211211212222121121222211212121121212112221222222212122122122212221221122221221111121112122211121112111111212121212222222211121222222221212222111221212211111121212222222221111112122111121122222122122122111111121212121212121111221211212122212212111122122112122212222121222221112221111212122211121221221121221211222212121112112211222122211211112211112122121112122211111111122121122122122121111112112122222222221122122212212111111212121221122112112211212211112222212122122111221221221121212122211222222111112212211221221111121212122222121121112111211222112222211211211222221211122211121122221212112121222122211112111112111111211211122221222112121112222212212122111212221122221122122121221211221121222121121221111122211111112122221211122111212112121112211221121211121222122111121111112122122222121121222221211112222221121221212111221112121212111212121112222111122221222112222221111112222212122222212221121122121112112212121212222221211121212121111221221111112212111122121121122111121112112222211112212221121222122212111112222112221122222212222122222211111112111121112212122212222111122221112212212222122111212212212222212212221211222212121111112211211221211221212212222111212221211222211111221211111221122122111222122122212122211211221121122221111221222211221212211112122221221212221221212112222112122111122111222111212121122211222112212122112112222121122112212211111122221112211122112111111121112121222211222121222212121112111222112111211222222211122121111122111111212211121212222122211121221221211112211222112221112111212112111121112211121121112112122111111122211122111111122112221211121222111111211111111221112122222221122222212222211112112211222212122212222121211221222121221211111211212221112122222221222121212221112221221122121212222222122122122111222122122112112121111112111111222222111221212112222122111221121121122111112222122111121212122211111111111211122211211212111212221121212112222211221121211211112211121122112121212221221122122122222211121122121211212222111211221222211221112221122221111221111112221112112122112112221112212212112211111221222112221221222122121222122112112221121112122121222221222222211121111222212112111121111221211211212122221122112122221211121212221221211112111212222212222212221211212222222122211222222112212122221122222222122122122212121212211112122222121222221121121222211211111212211121121111112111121122212121121122121111212121112111222222122212211222222112221111122122111221111222222212122211111121111121122212122212212221111111122212121212122111222121221221221121112212122121121112112211122211112212122122221122112112122212122111122222221121211212122212122121121222111212211211121211111112212221221221121111211121122222221111222112221212221121222121211222221222122221111211112122121122222212222122121122121212111112212122212121212211211112122221221221211111221121112111211112121121121122122212222121111211111111222212221221112122112222122211112211111112121112221122122211111122212212212122111212122121121111111111222111221211122211122121122222121112211212112211121111121222112222121121112221122211222211112211212222121222211221121121111221112222212211211111212212112112121221212212121111121212112211212111111121221112212121111122211121122211112211222111212212111222212222111222122112212111211221212222112122221111211221122221121121221211112211112121121121212121222122122121121112112111211212211211212121222222111121211222222112111111221111122212222121122211221221222121211221122212111122222111211222112111121111211222122211222122122111111122112222112121211111221211121121112211221212212121121222122211211211221122221121112111111122121221122112112111121111211222121112212222222111211111222111111212121221121212211212111122212121112121112222112122111211121221112212111221112112112222111211112212222112121212211111121212111121222122121212222211212221111121112222211222212222111221122212211122221121211122212122212111112222221212121111122211111112211222222211212221222211122212221221111222121111112121111222122111211211112122111122112112211122122211212212212111212112112211122111111221111122112112122111221222211112212112211221112212222212122222122112211111222222122212212222211212221112221211211221111221112222122212211111222111121121221221122221111211222122111212212122122122112211122111122111221211222111111221221122121222222211212112212111121112222121212111122122211111211221222111222212111122211212212121221222121211121211111111121212221212212121212222112112121122111222221212121221221121221211211111121112121111111122122112221222222121112212121112111211112121121212221221211212122121111222211211111122111222222221122211121222211121212121212111221111112222111112111222211121111221121222211111112221221111122111212121121222211222211212221222221122121112211111111222121212112111122112111212122212121122211111222221212122212222112211221121212221112221211211121212121112112211222222122212221121122111222112222222112112122222221212121211121111221211211211111212221121222112112111211211122222222212121121111112112211111222222112111122212212122112112121212121222211221111212222112211112211221111111212212212212122221221121111222221211121122212121211121112122211122211212111121111121212111222221211121122122211211111111221211222222111221122222112211122112211121211121111122222121122212122211112222112211222212211212122211122111222221111212111122112112111221221222122222111221121111122211121211122121221221222222112112111111121222212112212112221221122221222212111222212212112221221221211212121221111122221212111222211111211111111212221112112222221111211211121221222122112212112121211212222122211122211111212222221122212222212122112221121222221221212111211111222221221111222211122211111222122122222222111121212112212112111112222221211212221121211112112222211211111121111121111121122222221222211211122211111212121111212112212111112221211121112122112211122122122221221121121211122221121121211211112122211111212211211121222212211121121112121112211122212112122212111111212111112221211212111221122222111212222122122122211122222122222212211121111111221221122221212212212112122122211122221122211121112221222112221222121122112212111112112221122222121222222121222222122111122112222121212111222111222111221211121222212121122121122111222221211112121111212221112222221121111121122212112221222111121211211111211112212122122221111121222122122211111112221111111221121112112222122121121221212221112212112121112111111111212221122121211222211122212221122222211111111111111112122111112122222222122211122212221112211111222122112222111111112221121121222212112111221221212111122122112212212122121121122121221211212222222211212211111122121211112121111122121222122111121112111222211112121222121212121212212122212121111121121221112221112222212221222222221121111111212112211222111112212121212111112112212122111111212221211112212211122111212221122111121121212112122212211222211212212221121111112112222122122111222112111221221221122121212122221211212221212122111212121221222221211121121221221121211112111221222112111212211111211221222122222121211221222211222221222221222221222211222222221122121221112121111112111111112222122221221121111212222222122111222211222121112211211122221212112212222111112111212212211112121122221111211212112221222221212122212111111122121212121222222222211222221222122112111112122212222111212211222112222112222111222211121112211122212112221111121221121211111222221222111222212122121211112211222112111121221212222121112212212222211221111212222111212222111222222222121111121121121211112122121122221211212222211112211121211111122111112122111211222211221121121121121111122112211121121111112211222211112112112222212112112121111211111122121211112212221121112221222222211212211112122211111121211122212221112222121121112222212122121212221112212221221222111222222122212121212222122221211211111221112212112212221222221112221221122212221121122112222121212211122121121211221212121121122111212112122212121212122221111222111112122112112212221212112112111212221212212222112122221221111221112212211112112111212112122112222221212222212111112112122112221111112112211221122222211111221112212221212111221222111111212112221111222122111121221221122121112121112212212111112221222221112222121212111212122122112222121121111211211221111121222221111112111111121122111121221122212221111212212112212122222222211111221112221112222111222112221122212211122112121211212211222111212122122122212111121221222212212121112211211122122222221212221222121121112222222212222222221111222221112122111222221122222122221222211112112212122121112111122211112211121121221212211222112111112112121222222221212211112212112212121111221122222221222112111221211221112212112122212112112222222222111212222112111111221121211122212221112212121211211222111221211122111121221211121221212222122112211211222221221121212112212221112122222121211222121221212111122122221221211212212212122221221221211122222112212222112112212112121221122221212121222222122222211222221112212222121222221111112222221112222112212112212212121111212211222122211212211212221221221122221221212122212121111221112121111122212111112212112122121121211212111122211211211211111111121222121112112121211112221112211121111221222222212222211121122122222121212222211112211112111221122121211222122111111122222222112121211212121222122112212211122112222222111212121111112121221111121122122222122111221221211221122212111121212221212121222222112222211122122222112212111112121212212122112221221221221122221112222112222222122211122221211111122211121221112111112211111212122212112211111222221121212121221221122121111211222212112111212111112111121211112112111111122211112122212222122121222121222111222212221121222221112221222212211121121121221212212222221121212212221221221122212222111121111111211212111221222112211212121122222222212122221211111121212211221121222221121112222112212211212111221212111121211211122122121211111211112222221121211212122121121212211212212122212212112111121212212212221121212222222221222122121222212112121122122212221122221222221221111112221222211221211221111222212121212122212111221111122222222111221221111122111212221222211112121122112112211111122211211111112221111212112221221211121112221211212211212211121122221221112112211211222112222212212111122222112212221212222112222221221222222221121121121111112222112221222221111122112212211212112122222222212121222221211212111122121122221112122111122111112111122122111122212122121211221212212122221211122221111111211221212121112221212211221212111111221111121221112111212221111112211122122111212212121211212212212221122211211122111222111121112121212212222112112112112121211112212212112111112112112211211121222112112121211222222111211122122111222121211212121121221211121222222211112112111111112211111222121121212221112211122212212112122121111212221122221222121211111112121111211221221122221222211212111222122221121111122221212212121212211121211221121211112222122112222222221122121212112221212222121122211221121122212122121121212121121212121111111122111212111122111211212211211212211112121112121211121221222111212212121211222222122122111112122222121122111211121211111222111212111111121111222112221222222212211112212211222112212122122112122221212211212212112221121122111222211122222221122222111121122222112112211122122221112212111221121111211121122121222112111121222222211211221122222112112112212112222222111222111221122212222222222111221211211212211121122111211122112221112221222221111122222211111222111121211211112121112121112222122221112222221112122111111112212122122221112121111121222112212222112212121112122122111112111121121112121222111221221211221112211121212112211222221112211211222122112211112111122122111212212222211222111222222111122122212121111112122112212222121121221112211122122121222121112222112222221121112112221121212122211122211112221221112122211111211122221212212212122121211121212122221212121111111112122111112122212211212122222111212212221211211221122212212221122121211221111211212111112121121121122122121122211112212221122121221121222222121111111221112111111112222112121211112212222112211111211212112212122222121222121221221221221222221212212111211112212111212122212212111221122212221212112222211221221211112111121121211112111112121211112122122112211211221221211111112212121112212112212212121111112121212122122222212112211221211212222211212112221121221211221122121122122222112212221111112121121111122212211112121121211111122211111212121121221122222222221111211211121122221121112222221211121122212221111112222222122212212212211111212112221121211212211212122121211112112221221112212121221221221222111212121222121221112111211111122121122211211121112212211112112211212222211211122111112211222221222111211122211221211211112121112121211222221122112222222221112121111212111221121122112122112212212112221112211211111222212222121222122111222212222111221221121111121111221112221212211121222112112211211121222111121112211111221222122222121212222222211222211221221221122211221111122211221122112112222111112122112222111222212221222111212121211112221221222122111222211212121112111222122112122111211211221212212111212222111212112111221111112211212121212111111112222222121111222122221121211112222212111212221111121122211222211221221211211122121222111212221112212111111112122222222111122112121221112212211121222122222212111111222121211222112211212212212222121222122221121122222221122212122112121221122121222122112111121222211212121221111121122222121112211221211221212122222211222221212122221222121222112221222121111211222212112112121111221212222222211111122112222121221121112111221121212222112122221122221221211212211122111221112111221211112111121212112111111222112212111212121211121222221121122212211212112211212221212122212212121112222212122112222112211212212221212112111211112222222122111211212221221111121121111112211112121111211211111221122211111121222212122112212111221122111221111222122222212222212122221121212112222222212121121112112222121222211211222211221111122122111211121122122112111122122112111111121212211221112121222221121212211221211221221111221221111112222111222222121112221121221211122112211221122111112221212211211222221112222211111221222212121221222222211212121111221121211122212212211211221212112211221121112111122112221111211112121222211222111211111212122221212112122222221111221212221211121111112211222111212212212212122112112121111122112111222211211111122212111112221122122222211112112111221222122212111221212111212221111112122221122112222211212121121221212222111211122212212122122221221111121221112121122111221221211222221211221112211221111222112211121112111111211211211212111121212121211221211221211212221111222211211112212121111211221212211121122222211221121222222122121111222211222122112221221221112112122111211221222111111122211122121221222222221111111112121112222222111221222121222112111121211222121111212211212211122221212112122112221112111122121111222111221221222222111111121112121111122211122221211221112222221112212222211222122121212211211222212222211122222221212222112221121221122111211222212111222221221222221211212221221221112221222222222222222222111111112121221212111112112111222122112111121112121122122122222211222221111212211212112112112122111111112122221111211212122222122122222212111112221212222112121222111222122122121122121221111121212222211112221121212112221212212121211212121212221111221221111122122222112212122221122122121221112212212122122112221221222122121221222121221112221111222111111111122122121112212112222212211211222221121212112222211222211121121112121221122221121211221211222121111121222222121122211121222211211221212211222211212222121121222112122221222111111221111121221211111211122112112221222221121221111221111222112222221212122222122121221221122211222121112211221222212222112112221211211111211121222111212211221111121112222111212121111121122111121211212222222222222221221212111121212221121112212212122212222111211211212122122212122211122111121121112212122211212122111211212221121121212222111222122211212211222212122211221222111222122212111122222211221222112122121112222121222111111222211112221112212112112212111121222222112111121211221122221221111122211211221122222122111212212111121211112112212222111221112121111111121212111121121122122122122212211212122212212111212112111212212212211111111212212222221112212121221111111122122221121111112221122122221122112221212121222121122221122121122112212211222121122111112112112212112111221221212212221111111112212221111212121222121221212211121121221211122111211222111212212122211211121121211122222121222112111122112121112121221222121121122112112111211111112222211222211111111222121211121112122112121222221122121122222221122222122122221222121222212212222221121222222222112211211211112112111121211111212112111222211112121222222121122121222112122222211122111221222112222112212111222112221112211221221222211211121212121122211221211112111222122212222211112112111122222121212111122112211212111211221222211212211221222122212221222211212111111211211122211211121211121122121111212112111122121221111112221222111111112111111212121122211211112221122112122112122122212112221221221121221122212111122221121122222121121222212112121122122112111122221221111122121121111221222222121111212121111211121221211211211112121211121211122222211122222222121121212122121211122211222212212221222111111222121122222112222121122212221121121221121212121111122222121112121112221222211211222121122221111111221212222112212112122122121112222212112211211112211111221112211211222221122221212221212221111112212111212111222212211121121222121112221222222211211221211222212122122222121222122211121222112211212112221111212112212211112211112121222111121212222111122222122222121122111221111221211221121221121211221122221122121212222111222222111112212211221121121112121212121122111212221111221212111121112122211221212221211221121211122222121111122122211212212121111111222222222211211122212112221122111111112221121212221211121211112111221212221112211221222222212211212211221221111212211111111122222112212122121222112212221211112112112211222121111211111121212112111122221112221111111221212212121122222221112121111221212112211212122221221211112212111212211121121121112212112211212211222112212121211211122122221211212122222121122111222111211112212112212111211211212111222111112221221111111211112212221112121211111212122211211221111121211212121221222111211212222122121221112221211111112111112122221112211112221221221121112111122122222212111121112122122121122222221211212122121112211211212211111221122112112212112222111222211112121212121111211121222121222111121212222112111212221212112222121111112121221121111211211122122222121112211112112212212112222121222212121122222112211121122212212211211122111112111112212121122111222222112112112111122211212121211221112212212212122212222112221221122121121222221112212121211121111222211111212121122112122221221122111212212211212221112211111111111111222212111122112222112121222122121221122212212212112121112211211222111211222222111222211212211221111112121212222221222212211222121221112211221122122222111121121111122121222121121212211121122111122221112121122111122212122112112111122122121122222212121221112211122212221122112112111121122221121211121111122212211112211121121222112112221112112212212222121221212112112211211221211112211122121111112122212122121112111221222121121221121211212222122122112222112122111212212112212211112122112212122111222121111212212222111211122121112122212122122121121121112122122111221121111121111212122211222122212121221111111212111211111112112222211121121221221211221122211222112212212221112211121212121111222221112122222211212212212211121121122211111222221112112112211121122222222212112121221121121222121112222112122112211221212111222222111112222121121221112211121121221111222211211222212221222112111112212212211112122221222212222121121212121122122222222121212112212221111222122111111221111211112221121121222121221211212122121122112222222211111122212112211121222221122221121211221212111211122221211122111122221212211211122122112212122211221121212211221122221111121122211211221121112122111222122122111221111222222111211112111112222211212212122221121112211111121111111122121212122212111212122122121212111112212112121112121111212111112112211222211112211222222112112122211121121111222122221122212212212121211122222212121222222112121122121212211111121121112212212221112211122121211121221212211212211121221112221222211122122112221212111121112211122222111212121211112122222222112222112121121112112122121211211122222122122222212222121212221211111111222221112122111221221121211211121121111112121211112211121111122122221111222121122211211222211112122111221122212112121212212221211212111222211112211211212121112111222222122211222111221121222121112122221212111121122212211111222212111121221212212111111121222112221222211112222122211111111111212211212221121122121221222111211122222221122122111112211211111122221121221211121221221222212122222222222111211212221122112112112222212221212212121222211222111111211111222212221121121122121111211122212121221221112112111221111221221121222211112111211212111212222121212121221212121212111121112211211222221112122121112121122222112112112122112121211122222212121122212212121222212122111221222121212211211211122121222111222122122222222121222112212212121111121121112121122221112211211121211111121112212121111111122121212212211212122212222111122221221212111112211221112112111212122112221222122112221111121121222111122122211211111222222211221211122121211212212122211222222211211122122211122112221111122121112122122211212211222121221212211122112221121122122221212121112211222122112221221212212212121122222222211122211221222111121222222211211121222121211211122122111112111122112121112121122212121112222221212112212222122222111121212122112112121222112121111121221211222121211212111122211212221121222221222212112122222212111111211122212122221122121221121121112212221112111222221111121222111212221211221112222122112111122112122212222222111212121211211112122112112221122222212122222222222222222212122211122121212122122121112122111212121121122112112111212111222211221221211122212211222111222121112122122111112122122211222222212112121221212121112221212211212222221121111222112221221211211221222222211122112111112122222111222222121121122111221212212111221212111111221211212221212212122121212211212122121222111111212122111211122121212122121212112121222111111111122212112122111121111222222121212111122121121111222222121211122122222221111221211111112211221211221221221221221112222112122121111122122111221122212112111121221122122122221111212222211212212222222211122111212121221121222112222111112111112222211122222212221222212112111122112211211222212221122122121112112112222211221112112112221211222211112122112111112212121211112122221122211121111212122121222121211122212221121121122211221121111222212112222221121212121212111221221212211122122112112222212121121111222222221221211211111111221211222212222111212121222112222222221121122122121121212122122211122121222212222121121111222122221222211211111122211221211111221112212111122222122122212222222211222121212111111111111222111112111112221211221221222212211222122111222211112221212221111212121221121221221112211111112211222112212111221221221112221221221112112111221222222121122211111121211212121121211122211111111112211111112222222222222122121221122122121221111121122221222122212112221221111222211112222121211211211221212111212212112212112121121121222111121121112211212121122222112211211211122212211111212221221212112211122122121221112122212212211122111221112111112212212112112111212221111212222111211211211212211112221122211212111212112112211111122211212211212221221121222222122212212111121122111122221112222211122111222211112112111121211111122211222122212221122212112212122212211221121112121112122221112111212221211222122222112112221222211122111122211121112122222111112211121222111112222212111111212112211122121121122111221112121222212111121211211221211222221121111121111112122111211111222111111221221222212122111112221112111221212222212212221222121221122111222221112121122111122112211122221212122121211222112212121112121112121111222221121221112122222121112211111222112111111221112211122211211222111211122122121121211221211122122111121212122221221222222121221121111112112222121111221122111111221111112212211112212212212222211222221221212211121112212222112222221211111122221211211212111112121211211111121111111121221122221221212211121122222111111111111221111112222211211212211211221121111221111121212121221221122122211111112212222111211112122212211211122112221122122111221212112221212112111222221212121222212111111121122111212211222212111211121211221211222111221112112122211121221212221222122212111111111211222112112111121221122221221112212211112121112111212211112222221111221222112111222221222122222111121112222211111221111222211212222221121221221112211221211122112211111221212121211121122212112121221112212112212121122221121211212112111212222211222211221122212111121112121111221121221222222122112221221122121111111122111122212111222122121112222212112112112122121222111211121211111221212212212111121122211112211121221122222111111222112212111122221122111221221122121212112112121121212121211221222111112221122122211112211211122121212122221211211111112212111221122122122221112111211112122121212122212122121112122212211212222211222122212221112111112122111211212211121221121212221112211221221112222122121122111122122121111211222122112211121121221112121122111222112221112111221122112111212111121222211121112221121212221111111221121121111211222122122111212111211222221112221121111222121112111122122111222112121211111221111121222111212121121211121122211222212122212221122212112121211122112111122112222121221112212211212111221122111211111212122111221121121211121112222221111222121121121212222211211222122211112212112212121212221111211211111222111212221122211221212111112121121121122212221221121221212221212222112211121111222212212221211111121222111122221121112222211221121211122211122222112212111122112121121122112211112112222212112122222211212111221211212222211112122222221222221112222122122112111121212221212111112111221211212122211122212212212222211212221112212212112212222121221121222211122222112211222211122211212221221221112122111221212111112222212222212211222222122111221111121111212221221122222122222222222212212212212122221211211112211222122221122112222122211121112122121221221212221122121112212122111222112212121112111111122221111112222222212122112112212112111111111212122121221122111112211121111121112222222121122122111212111212111112122122222222212222122212221212222122222122112121212122211112111212221212222221121111212112212121121212221112122222112211222121221211211122221221211222121212122212111112212122211111122222212121112222121221221222212212211122111121221112121111212221212211212221121121111111212111211221122211212222111112122121122112222222221212221221121122222122211211121211222212212212211111122121212211121221121112212121122222111111212121121211121112122121111112112122221122212112211221111221121212221111111212222212222112121121122211111112221122121212222111112212222122111112212122222211112121221121212122121112111112221211121221121222222121222111221221222212121121111112111112112112121121122121112112111122211111221112211221121122222222212111221211221121122121112211221222112121111221222111222221111221222221111121211111121221211221112211221122111212211221112221212112222112212222121111112211211111222211121222121221112122212122212121122121222111111221212112211121112122222121211212221111121212112122222111221122221221211121121221121122121212221121112212122121222122212221221211111222111121111121221222222112122112211112211211221221211112211111121222121222212122121121122111222212121221121212211212122112221121112212112211211112212111211122222221112112111221221122112111122112222211112222112221121222211212122111122222211111121121111122222112112121221121222121211212111121212221221212122222211222112222211121211222112211121212211222121211122212211211222222121221221121222211112122221221121222212212212122222111221121222221211122211212221221222212211212122122111221111122222121221221122211212211122112121111111122112211112212222211112221122211121212221111122211222211222122222122211122112222211122121112221122111111212111212221222212122111211221121221211112212211111122121111222221211221222122222122212122222121121121211112121112211211221111221122211222112112122112121111111112121212122221111111212122222112211121122122112212211122211122222111111221112211122112122122111211122212122222211221111221121111212222221121221112222211111211111111211222111112112122122111111121111211211112211122212112221122222111211121111121222221221222122111111211222112212121211212121122122122222121222222222211222122221122211122212221112212211212221121221211121211122211122111112212212122112212221221222222121122122222211212121121212121221211111212212112211222111212122111121221111122221112212211121121111222122112212222211222221121221112222212222122212221221112212211212221221111112111222222112121121221111211211112122121121211212112112121221221221222211121211122122222222221111122221122122221122111222122122112221221212111122211212221221122111222122211112221121112111211211212222212122111112221221122212221221112211122111222112221112121221211122222212121122222221212122122112122122122221111121221211112112111122121221222112121211222122122212222122212121121112211112121222221211221122211212111111211221122111222212111122112222212212222121111222222121121112221111212212121221212222121211221111221121222212222221121112222222122112222211212112222212122211111112112221122111112221111211122222112112211121122212122211221111221211122111211112111121222211211111212121121111121211211112211222112211112111211111111222112212111221121121212222122112111122222111221222111211211112122122212112122112212112222222111121121222112112211112121121211222112121112212212221112212221111221121112211212211122221111121111221121211211121212222222122212121211212111112121222121221211122122111121211111222112212112211211121211122221112222111121211112212112122222222112112212112221112222111121211222112222222221111212122221121111211221112222222112222122111121212111112212121212121221212222221112121112122112212111221122112222112121211222122212211222211211211211222121121112121222112122112221222121212121211122112111211112222122111221111122111211121221211122211212211111122211121111122112211111212211112222112122212212221111212122121122112212112121111211212111121112121121212212222222211111111121222112221111111122111221212122122122211221222111122112121122212212122221121122111122222222211111211212112211111221211222211122111211222221221112121211111121112112221222121121112112121212111111211122221221111122112212222212222111111222122211112111121111122222221122122212211221122212222121211222221211212121111212222221222222122211212122112111212121111122222111222222221211221112122221122211221222221212212212212221112112122112121222121222111221111221122111121122122222122112222122111112222111111221111222111122221211112212111211222121222112212211121112221121212112211121121111121112212221211211111112122122221222112112121111211111221222122211222222112211112222212211211121212211122111211221222112112112112212212122222122221211212122122212212212211211111121212111211122222111111121112212211212211221212121112112111212211221221222222211121211112211112221122221111212212212211111111212221221221222222111211111111112221122122112111121111111111222222121122121121221111222112222121122221111211112221112221122112212111111121221221211212221211122111212112112222211112121212212222211222212212221122112221111221111222111122221211122211222221211112122222112122221112121121222121122112112122112111211211112212111122212122112211222121121212211222212111222222212122211111212122111222211111112112111221112122222122212112122212121211212111122112212111222212221221112122112212122211122112121112211212111121122112122121122111212212221211211122211221222112111211122122122112121112221112211121222221111121211111211112121121111122111112212221121122121112111121222121221121121111221211222111211212211121221211111111111111122221211221111222112212212122111111121122221121112111222212112111221212221211222121212122121122221121211212211212212212122221212212211221211122222212221121212111121222211212211122122121211121212212111111222111111121112112121112121212222122122111111121122111121121121122222212221212121211121111222211211112212221222221112212112222111122121212222112111111112222111111211211122121111112222112121121112121212222212221122121212221122111121121111222112111122221212211122221111121122211222121212212212222121221211212222112221122122221212221112212221222222112212112121121112212111122122112112211111222222211121112122221221211112221111221122112211111211222222121211221221111111221112112221212221112122122111122111212112112222122212122112212121111222211122111112121111111221221212122221112212122221112212111122121111122111211111112212221112212121112212122112221222212211221111212111122122221211121111122212121111211211222211211121222122121122111112111112211222121212222212211222211122121111121112222211212111112221112121122211121211112211222212122112122221122212122212221212211121222222221112211212222112221222122222211222212222121212121221222121111212212121221122121122211122122112112212222112122112121112211122211221111221212112222112212221122122121212121222111212211112112111221222222222222112111112211122212112212111212222121122112212212221211222211222211112112122211221121111211212111212121211222212221122222221112221122221121211211222211212222122121222222211121122122212212112211111111122112222212222222222211112221222211211112111221222221112212112222221111111121222112212211121112222112122221122221121112112122112212222122111112222222122122112122221112122122212111121122122112221111111122122112212211221122122212211121111222121211222112112111111111111112112111122221222111221122211111121222122211222212122122112121222222222121221221222211222112112222222111221122122221122122112111111212222211112211111221212111222121211121211211211221122112111212112121222112221111222111111221221211222222121222111121122212211122211121111111211222211212122111211221111222112221222211211121222212122212122111211111221111211112211122212111212111211122122122122122111212211112122212212212112121111122112222121211211112211122121122111121111121222222222122222121222121221221122121222121222111112121111122122121111122122222122112112111221211122212221111211221222211121221222221211212211111121122121222121212122211112112122111121221211211211121212222111112212212111212111211212111122112121111112111122221212122212122112122121221122111122111111221211221212222221221211222122121121122112211112212211112211121111222222221122221212121222212121121122112221121211212112111211122222221121112121121221212112121122111121221111221221121122221212221222121111111222122222211212111122211211222122211212212211112212122212221112211111222111121212111221111211122222122212222221111222221111122212222121221222222221211122122211211112222221122212112111122221211111211122212112222111122121121121122112121112212112121212111221111121111122221112121111121121121212121212121212112221122121122112221211112122222111211221122212112211111222112221211212122222122111122211221211212111211121121121111122212211222212121222122211111112211222122211112122222112222211121112121212211212221212222122122121122121121122221221222122221221211211211211222211211221121222122222111211122211112221212211121122112221221112221122122211111122211211122112112212221211222212212212211112111211222222111111112222222211211111211121211211222122112221122221122211111222221112212212121122122111222111121121221122112211121221122122221212221222112212221122111122112122212111221221221222121112122122111222221221122222121111121222222112212111112111221122211111221212222111221222221222121212122111211211122221111122112121222211112111121122211222222111111112211211212122221111222221112121112222222212121111112212121211212112122111211112112122111121212221222211212112112211222111212221212121222212122121112111211112112122222221212211222212212212122122112112221222211121121111221221112122212211121111121122112212122222221121121222221211211222121122221111212121121121112121122212111122112112111211121112111111121122222121211221221122122212212221222211111222111222211211121212111112222112121211121212222111112211122221111221112112122211122211122112211222222212111222112111122111111121121121211211222212112212122221211112212112122112121122221212122222122122211111211221122212112221112211111211221212112222211211121121122112121211212122212222211111211112212212111122122212111222121111221122111212222112222211211112122122111211212212212121212121112111222112111221212211211112222212122211222211122211111121212111211121221211211211111222122212121122121211212112121121211221111221121211122121121221111121112222211121222212121221212212111212222221121111111111122122212212121121221121211122122221111111211212221112111221122122111121212122212212111122212112211112221212212222221111112212121221222111121122212221222211111212112222112121112212221212211221112222111222221111222122121211221221112212221112122212112121112111222212112121211121221211221111221111122211211122112112211212221112212111122211222212222211212111221111211112121221122111121121121111221122121212222211111122121111212122212222121211221112121121221222211221212112211212221121222211222121112221121221221211212222221211211122111121121211222121211211111111111212111111222221112221222221112212222112112211211221221221121111222212112221212121112121111221221221211211221221122121211122222211212121221221211222112121122122122221122121222121222211211211221211211211121211111111112121111112212121211112121111212122122122222222222221111222222122111111222122112122111111122121112222221121111221111111212112211112212212112221221211211111222111122112111222112122211212211221121121122222121221112112222222122221222111122112211122122121121212222122211222211212211111112111122112222122212112122222211121211222112112122222112211111212122222122221222122111211122211122112222112122121121112121211212111111122221111122212112211221122212111111222212212122212222111122212222211212221121122212221121121122221121212211112112112122212222121111211221112212211212211122222121212121212111122212212211222221212112111211212222221212122221212212221112111212211221111122112222111111112221222211112211222212212111212222222221121122222222122212211222222122112222211212121122111211212221221212211121212212112221111121111212211122222112222111111222121111112212222121111211222112211112212222211112112121222122111112112111112111122222121121122112112221112111122211211122112221111112122111111222212112112211212121111211211122111211111112121212112212212112121212221122112212212122221111212112211112211122112221211112121121222211112122211111221111111212111211112121122121212121212121112212112122111211222112211121111111112211222212222221111212112222121221111222111121222221111212212111221122222221221112112212222221222112211112212221222212122222211122211211212111112221222121221111122211112211122122212122112211112111211112111112112122112221221211212221121111212121111111212211212221221211222111112121112221121212222221122112212112221121221211221112212211111122222211212112221122122211122212112121122121111221122211121221211221222211121221112212111111212122221222212222211221211121112212211212211211222211211221222112121122122111222122122221221122121121121121112111112112221222121122211122121211112121122112211112212211212211111112121211221211222212211121222221112221111121212122121221211221111121211121212112111122211112212222211222122111122112221111121112111112121122121121221122111121111121222112111211121221212112122112121121212121112222211111211222122112222122221112211211221111221112222212111122211121212122222122122111211221212212212222112221211112121221121121221122122122211111212121212211111211112112112122211112121212212121212212112111111112112212211121221212121221111111212221112221111222222222111212211111222211212122112212112212112212111222211221122222112122211212211121211111222211222222111212121111211221121122221122221112111122222121121112222212111222222121121122121122122122212121211211121111212212122221221111221111211122211112112212222221112112221211221211122221121212122221112222222111111112211121111111221112111222211111121222222211111112121211211112112211212112222122222211121221222211211211111112111212112222212111211221111111111111111211211121221222122211211111212211122112122121111221221212122222111121222211111122122111121221112111222221121121221112122122112212122212121212112221122112112122212111221111122121211212221122122222222211121122222211122122121122111122121221121121221212121212221222121221211122122122122111122222212221212121121221212212121111222221221122212211111122211222121111211121111222121112111211122212212122222112211121122121121121212212112112212211122212121221221122211112111112221122121112221222222221121222222122211121111212112222212112212122112121211111121121111221111112211212211121122222212222212121122111221122221122111211111111211212212112221222111221122221112221111212112212121112122122221111222122122221211111221112121121212122121211211221211111121112121221122221222121111211221122112112122221211211122222222221212222211112112222221111221121211112111211111112111111221221211121212112121221221121121112122111222211121112122122211212222221122211111122111212212121112211122121121111112211221222212111111222121211111112111112121221111211212212121121122222212122111112212121111112222212121212111211121121211212222122212112222112222122112212121111112211212212212112222221211121212211211222211111112112121111111221121121221211121211112121221111122121212212211111221222121121212221111222221211112111222112122111222112121111211122122212122111111112212111211122121211112222222211111112121221221221212112111221212121121121221211212111121211122211212121212122221112111212111112221112212121212212221211212111111222112222121122221221111121211122112222111112112221222121212122212221221122222212122111122212212121111221221122212122112121111221122111111111221111222211111121122122121221122112122122211122111221212212212122222111111112222211111112112112121211112211221212112222211121121111122212111211121121221212122111211111211211112211121111112221212121211211122111221222112212222221111211111111222122122122121222112211212112212212222121122112212211122112221222221212212122111122122212221112222111211122221111121211121112212111222112122221212212211222122111221122121211211212121221121222111221221212111121112221112122122111112112221122222222121211212222212222112211112222111111221121222121211112211211222211222122111221122221212211111112221111111122222122212221112121221222122112111222112112121222111112221122222112221121121221221212222211111212212111212111221212222122212121212221212221121212121121211221221212121221111211111212111211222122211221222222221112211211111122221112112222121211122112221212121221211122111111111111121212111122212112112221122222222111121221211221112211121211121112111112112212122221111221111112112111122221221121221111111221122121212212121222211222121221112112221121221221211112212122221121222211122222111111122221121121112111121221222221222122221212212112121221121122121212221122222122222221221122112112222121121122221112222212112122221111122122121112111112121121211222221212121221112211121111221222212221211121221211122222122212211222221112222212221221212211211222111122221122121211111211212221222112211222122121222211221222121221112211111212221111112121112212112111112212221111211222121122121221121121212222111112122121212122122122112111212211211221111222221111111111221221111221212221111121222212112211222222212211212222111121111112222211121121112221222111212122221222221112121111122221211221112111222212122211212112122122122221112122121112222211212212211111121112112121122111211111121211121222212111112111221122222112212111211121112221222122222212111221112111112112221121211211222122122112112211211112121112221211221122122111211222112212112211112111122212211211122221111222122212111112221222221212222221112121112112211211211112221122111221221211211211111111211222111121212121212211111212221211212122111121222211122112112222211221222212221221122221121212111122222211111111221111211122112121212111112221211122122112221212211221212212121111211121121221212222122112221112121212222122212112111221212222221112122122111112111221212121212222221121211221112122121212221112212112211112111212211122212122211212112221211211111221221122211112212121222121121221221221121122221122222111121221212111221112122112221222122122112111121221122112211111221112211122211222121111121122111121222112211212221211122112212212112221221222221211211211222212112111221122221112222212212221222222212121122211211112221221212222111122222112122222112112111221211122122221222121221222111112121222211121212111222212111112111211212112211122111112122122122212111222121222222122122121221111111211111122212122122111121121112122121222121221121222212122211211222212111111221212111212212111211122211112221221121222111122112111112212112222212112112112111212112121222211111121211121111211221111222111121111111211212222122111112121122222212212222211122121112122211112121122121122111221212222122211222112221112111221222111212112122222222211112222121221212121221112122121222222122211222121221212222121122221212222222222112212211221122122212121221222221121112222222211122212121121221112121112122112221222221221221112212212112212211221122122211111112221222222111122122121111221122121121122111112121112221121221222212111111222122112222122112121122222121111121211222122121222221112211121212111121111121211212211111112111212122221211221221211222121121211112112221222211212122122122112122112211112211221221111212221122212121122222111121111112222121111221222112221211211121211221221211211111122122212122211112211212122212222222212122112112112121222212111112222111111112211122212121122111111211212211121112122212122221212112222121211212121222121122121212212121211221222212111212222222121122122211212211221212121212212212111212222222221221122112212212212221112221221111212112111111222122121121122221212111222222222111221121211212221221121112212211111111121122121111222112122211211122222112211122111111221111111122212212221121222221121111121212212212112211222112111221111221222221112121112222121121111221222112122221122211222211221111212111122222222112221112121212112211222121111122112212122122221222222211211122221212122112211212212212111222122211222121211121112122112222222121111222222222212222122112111112212121112112212122212211122112221221212222122121111111211111112222112121211112221112121212212111212112222112221111121121212221212211112221122112212212222211222111112212111112211111211122121122211222112121122112221111221112222122211222111211211221222211222112212122112111221112222221222211111121112121121212121122222122111221212122112121222222121111211122111212211121122111211122221211221112212221212111111121112211212212221112212111122212111122122122221111211212211222211212121112121111221212212211211221111111221122221221112221122222112221122222112222222112221212222112111111222212111112111222211222122121212211121211121122222121112111121221211122121211221122121122212122211112121122211122222222112222121121212212212221112222121212122122111111221122121222122212122211122122212112222111211221111221211211211112222212222121121211121122121111121212122222122212111112112222211221211111212111222222122122112121212121222212122122112211212221212212222111221222222112211222122221112122111211111112212211211111111122121221212121111211211211112221121211122112111112122122222112121122122211212122112211221221211212121211212112111211121212221211111121211222112222221212212211122222211211222112211112212212111122222121212112121222121211122212121221212111222121212221211211112211122112112211222212122121222112221222112121222111221211111122221212211221111212121121121112212212122112121211121221212122112211111221222111221212222212112111112112211222221122121121121221112212212122221212222212111112221111111212122111122211222112112221122122211122212112122222112221212211122211212112211211212112112221211211122111121112222211112222212221222122122222212121111121211121122221111211112212221212211212122121212221212222212221121221111111212212221221111221122111121212222122112121211221212111212111111122212111111112211121222121112111222221222122111211122122212111222211212112222211121121122122211121212112211221122122221112112212222121211112222211111211211222222122121121222212112211221122111222122221221111112212222212221111111221221111211212112211212121112211221222122112111212212221111211112212221212222221212222222121111222111211211112122222221212121212222222122122122121222112121211112111111222121112122112212122121222212111121222122212112122111212212121221211212212121212112121111211211121122121121111121112111211121221222212221111221212211212112122112121211112121222211222111121122221211112112221121221112211112211211112222121222211121222222121211112121222212221212211221112111121211121111222112112111121112122111211222122111211111211111111112212221211222211222121222221112211212221222122211212211111212111222121111111222221121122212112221221122212222221122222221111211211111122112221221112111121212212121112212112211121211221111111211222112222212212221112112222222121121222121111212122221121212112211121222122211211122221212112111222121211112122112212212122211111212111122112222122112221112122222211212112221111112111222221122211122112121221212112212111212211222112211111222211121112111112212211122122222222122222122111221111222211211212122112221121112211121111211222211111112112212111122221122221111221111121221112122222221212122222111111121222111222221111112212211221212122222122222221121112112222111121221111222122222222122111211111112221211212211121221112121111211211222211212121212112212121121211112212212111112111121121122112221122222211212121121221112222221221212221121221222212111111211211222112222211221111212111121112212122222222121221222211121211221111222121221221211212121222211112212111112212111221221222211121221122112212221112211211211121111222221211122112211122222121112212222221112211222211121112222112221222212111222211121121112222111121111211211121111122112112111121222122121211221221122212121222221222211112122112121222121121222122221112112222122122212112112221212211112111211212122221112221112111222111211112212122221122111112112212211221111211212212121121122121222222122211121121221111222122222112222212221121221111212111121211212112122221212221211221221111112122121112112212221221111112121121222111122111222122221112111211112211122122122121212121111121221111222212221222222221111111112221221221222122221222112221122121212211112221211112111122122211121212122211221212111211122122122112112112112121212122222222121211122221211211222222122211112222211221112222211221122112221112221222121221111222212121112211221222212222111122122111212112212112221111212122121122112211122122222121112112221122112112222212111222222221212212221121111222111222112122212122212121221111122121212221221211222212122211221111112222121212212221211211211111222122111122221211211122121112122222221221222122212112212212222222112121221211212112211212222211221222222222212121211212122212212211211112111111211221221221121221221211212111122111112211212222122112222212211122211222121222212111221122112221212122111212211122122112111112112111222221211211211122211211111212221212211112211121212221211111112212111111122221111221211121112222221112111222121222121212222111112122112112111111112211122212122122221122121111121221221122111222112122112222122122111221222221211212211122121211212122111212122122111121221222222221111112122222112222222111121211222211212212122221212221112212221121211111211121211222111211122112211112222222112212112121221111121112222121222122112222212112121111122121211122211111221222122111212212121221122122121211111112121211212222121111112211221212111222112112221111112111111221111121212222211121221121121211111112211211221121211121122222121221222222212211212112222222211222111222221121221122212212221211221222212212121121222122121111221122112222212122222212222121212221221212122211121111121221112212222111221211222122221222211211212122221212111212111111112211122212111112112221222222212121221111111122111112112121221112211111221112112222221211121212121221121122112211222122222111221112122212122211121221221111111121221122211221122122221122211211122112221211212221221111122221121212221112111111221211212122111112211112122212221111111111221222122122212121212221121222121212221121211212221222222121221212122211222111211222221121221122212112122211121211221112212211212222212122221222111122221222122112222121112122212121221122212111221222212112122112121122122221212111121111221112212222212121221221122221122211222111211122111122212222212221212212121112121111212221122111221112221222111111212211112222122221122211121112112222122122122222221112122212221112121112221121112121122211121111222121111112222111212111121221121121222221112212111221212112121211222222222222221211212211221112122212121122212221122222121112112222121112222111121222212212211211112211212222211212111212221222111122121121121222122111112212111222112212221112111121111122122112212222211221121121221121112111221121111112112122221221111122211222221221212222221122121212112121122221222122222222111111211211222122222112121211221111111222122121122112221222122212112112211211212222112222121211121211222122112212221122212212122122111111222212221112221211111221112121212122111221122112121112121111112222121212222222212211221122111112122212221211211122221222111211211221121112121111222111212121211112222221212121112222111122211112121221111211221221221112212111111211222211212122111112221112112212212221211212212121111211121211112111122212222112111112211111212221212122121212221222112211212121211221112111211211212221212222212212212211211112112111122221221211122212121121212211222212222122122121121222221111112221211211122112212211122111111112122111221211122111221222221222112121211212122212121222212121221221222222111112222211111212112111112111112221111212221211211211222222221221221211111121211221222222212212121122222121121222121122221211211222222121212212222111112211221122121111111212111112221221111122122211111222221221122211212222212221222222121211122221122211122111111212212112122122111111122221121112112211111222211111212121122222111212211211221212122122212212111221111121112222111112121211212222112222112112211222121111121121111211221121222222122121222122222121122111122212111121222211221122212212111212221111112121111121112112112211222211221112122222111121221112111221112212222211221121111111222121121222212222211111112112122222221221122112122122212112222212212122211121222221111221111112211121222112122212121212221212212221112121122211112212122121121112212211211222121221122212211111222121122212112121211212111222121221212222211221111222212122221112121112212121211122211211112111111121112222222121221111221221221222222122212121122222112112112122221112122222221222112211121222112121122212121121122122111111211221121122111222112211211112212112122222122222211222222212112221211111122122221212212112122221212211212221121222221122121112221222111122121111121122212122121222111122221112212122111121121212222221211111212111122222121222122122221221111211221221122111222222211111112221121121222222122111221212222221222111222121111122112222221111121112211211222222212111222222111121122111121121122222212122121221122221221221121212111222212112122212112112222222212122212211222212221112111112121222211112121222212212212211221112222112221221212121111221212112122122121222121111211222122112222211212222112212121221212122112221111112221122111211112122122211211112211222121121121112212222212221222111121212121122211211122121211222222222122211122121212111211212121211222222111112221111111122122121222221111122211112121121112221211112122121112212121111122212212221111212212111212211111112111112222121211111212211222122121211112112211212112122122222221112111211222121212112111111221222211211222111221112211122121111211212222122122222212112221121212122211221121111121121122222211221111121222221112212221121211112122222211122211122222221112211121111211111212211222212122211112211212222212222122211112112112211111111222221212111112122122111222121112112221212121121222221111221122221222222221121222221112122221221121122222212122222212122121122222221211212112211212112112211112111121111211212112122222212212211222121111211221111222212112222112212211211122122222121112212212112221221211212122112222122122212222112112221121212221211222212212112111112222121211111112112212112121212122122211111111122221221111122111222222211112121111112112222112111222112211112222222121112211222211111222222212111212112122222222212112122222212222111222111222212211221111212222121122121211222211212112211222221111211111121212112212112111211222122111221112221121212112112111112112222212121222122211121212121111121112212221221122112222121221111112111212222212221212212212212222112111122112121112121221112112222221111211211121221222112222221222111112211121111122111211221122112122121112212211112122111111222221212211212221212112122122112221112222111222222112122122222211212221111221112112112221121212122112121222221111111221212112221211221112121211211211212222122221221121212211211222222122212222222222111112212121222211212121212121122122122122212221211111222211122112211222222212222122112111212221112211222211111111212212122212212212111221122222112121122211212212221121222212212122221221112211211121112211212211122121122122122111112221111222212212112112211111221112112122221211211212122212112222221112221221121211121222212121211111121112211121212121222222121112222221121212122111122112212211212221112212121222112111112212222112111212221111211212222121121212212122211112211111222111211221111212122212212221111211211122122212221122212121221112122112222212111111222221221112222211121221211111112221221111112111211211112221212112211111222212211222211112121112122112111221212212211122212211111222221222121121212221111221222222112222221122121211212121221121222211222111211221122121221221121222212212212212121122212122111221122221212112111221221221221211222211111121211122122212111111122111122211122221112222222122111122121112211111122222122222222212221221111211221221212211121212221212111122211221122122122221221211222121221222122122211221222121111121212222112222212211222112112222221212122211222212121211121222122121221111222212111212112212222221111211212212211221211222122211211111111121222212121122112211122122211121111212222222222112222111212221111121221121121112212211122112121221111212212211212112111222212112211111111211122212222111121212112212122112112221112221112112112122221212122222221211212122212122211222111112222112112112212121221121122222121122111221121112211111221121221212222121111221211222122111212221111122212221112111112112221121111121121121211212111222212121112211222221112212212122112112211222122222121221222122212212221221112222121122212221112121111121211122122121211111112122112112111221111122122112111221111112111212222121112112212121121212121112122111222221211111122211122112111121211212212221222221121122121211211222212122111121112122221222112211111211221222122222122211222122221121221121221211121221121212221211122121112121112111121111221121221111222121121211221211222211222121121211121121211122212211121222222222122222211122121112221111112112222122212222121222121211222211221112222221221112112111221212211222211122211211111211111212122211221112122111121112211222122222221112111222222211211121211211221222211221212112122112221111211221121211222112221211222222212221111121211222221112121121221122222121121211121112222212221222211112211111221122211211212121212212211112221211121121112221112221121222112221211121222211221222212212122221112222211222221112121122112222122221122112221222222121122111212122122221112211121121222122122122121122212121221211122221121222221211121212121222111112211211112211221111112211221212222121111122211211221112122112211121221212222222122122121112122111222121112122121121112211122222121222122221212211121121212211221222112122122121221221121222222121221222212222222211121222212111211122211111211111111212122122121121121222221122212121211111121221111112212121222122121211222211212212122211121122222122122221211211122112211222121221212112111112121121112112122221112122222222221121122222212122121222222211211222112212122111111211222122112121121211222111221211212211211121122221112222121222212121111111221121111211222122211121111121221121111122211111121221121111122122212112121112122112122222222121211211221122121222211221111112121211111221122212221222212111221212222112222221222222221121121111212212212121122212211112121221212221221212212212111222122221211112212211212211212212122212212121122111111121212212212211122221121112121112211212111211112211212111111211212221111122112111211221222222211221221111112211221121222122211222222121112111112222112122222221111212122111212122121111211211212211112111112112121211121122111112211111121222111121121212212222111212112212121122211121211222222222122211211211122122211112212122222121121111112112112222211222212111121121221212211121222121121211222112112122122212221211121212212212121221122222122221221222211212212212122222112122111211212111111221112112211221212112112111121212112111112211112121121221211111211222121222122221211212222112221122221111212111222122121111211212221221221121212211211212121221122222121221211221211212211221112121212222221112112122222122222211222212111121111111211212112112112211122222222211211122222211122212112212121121122111221212111211212212211122121112121222112221122122111111112222112211221222222122112111111122122221121121112221121122211212212121121221221122211212211222112112221112212211212222111122221112111222122111121221222211121212121211121122111212121122221111112111211112112211221121211211221221122122212121111211122212121122222112112121112122111212112221111111212111122111211221122112111122122121121111211112211112222212221111222212111222111122112211212211211211111122112221121211111121121212121222121121221211112211211212122112112222112221222212112211122222112222222212112212222221111221121112111212212222122221111112121222111211112212221121212121122111121212221111122112211222111112121212111111111222212112211212211111211222212212112221111121112222211121221122112122212222222112122111211222122112111222211212221212122222122112221211112121121212211122111211121112121121111222122122221222221111211111111211121211121121212221212122222111221111222221212111111212221112221111222221111111221211121211221111111112212121221222112122112121112111122211121221111221222111211122222211112211211122211111111211112122211111121122122112112121121111222222112212212111211111221111111211222112121112121222121111111122221222211121211212122212211112122211222212112222221122121211121222221222112211221221212112222121111122221221122112222222221211112111212222111111121121211112122121121121122121111221122111112121222121111212222221212211121212121211111111212211212212222112222221111221211112112112122222112221112121112122221121111221112212212122211222122122221221211221211222212121111112122121121211122222122222122121221221221221121122111221222211121211222222121221121111211222222111112121221211121222111221112211112111212222211122111221112221211221211211212121221212121222112122222221112212122211111222112212222112212112222111112211122221111112122211221212211111121221112221221121221221222122112211212111112122222121112111222122212122222111121222111121212221122121112211212111221221212221221122112211111111112112212122222121212111111121221121121212112112112211212222111221121212221121221212221222211212121112211221221222122211122221212121122111212111111212112112112222112111122222212222112111222111121112122121122121122111121212112222221111211211212222222222222221222121112222122212122112212111212212111221122111221211121111222222122121212212121222211111111221222212212111221222221212212211221221211121112112222121211222111121122212222211221221112121111222112211122222222111222221111211122121112221112122212221221212121222211222122222211112222221212211222111212211222211121112221221222222222211211122211122121212212212111121221121211111111222121111212211121222121222122122211112121111112121211211211121122211112212211211212212212122221221122121111222211222211122122122212212212122121111221121112211121121122212111121121112122122122121212212222211211122222222122112221111112222211212111111212221111211222111222112222221222212122122212111221211221122221211212212121121121212212121111211121212121121221212121121222122212112111211112111122212111111121211112122222212111112121222212211111222121122222212122221221222111122212212222221111111122222212221122221121112122122212222111122111112111112221221211121212122222211122222112111221212222121212112222212212222211112222122222211112221212111211222222121212121211221221121112211112221121222221122122222112222111211211212122212121221112111221112211211112111212111112212211122112222221211222212122221221222212222222111221211111221221211111121111211212212111212211221121121122121211121122222221222221222212111112112111211112112211112112121212122122122112121121212111112112222212222222212211121121112111112112121121222221111122112112212211121111122222122121121111111211121211212212212111211112122221111122211122121112122211212112221122212121111111211121122211112112121122112222111122212111122222111211212112221111211212121111111222121121222111212221212121222111122111211212122211221212122211212222221221121112221111221211111111222122221112122112111122121212221221112212121221222221211222212211222111221212111111211222111121112212222111222112221221121222212112112122121222122211211112212212122211222222111221212211112222112211221211111121111111121121211122211111111222211211112111111221121221221222112112222122222222122222222222212211122111121221112112212122112222111212112121111112122111112211122112222121212212221211122122121221222212212221122222212211222122212222221212122121111112222221212212121212212121222211112122222221112112221221212121122122221112112111221222222121122222111111222211212221222112111222112112222212221221121222222211211212211111222211121221121212221211211221121111222112221121221221221122212222112212112111222212212122122112211211112221121121212212111222112121221111222121211222111112111122111111211221112212211221122112111121122121121111111222122121221222112122122212222122112221112212221122112222212221111121222121222221221221112211112221122111112112112111121212121221211122211121121121221111211211111111121222221111122112112221212122121212112222112122111111122221121121112221222111222112221222111112121222221111111221111222111112222111222211121212221121211111121112211121212112212211121221222211111211211122211122112211112211221112121122121122222122122111121211121222111122211221212211111222222112121111211212111221112211211121121221212212121221122122121212211111112211212212212222221112222111222111122122111221221121222111121122122212222222211222122211112122212122221221121211222222211222111212221111122122222212122222111122222211211112221222112212212122122111122212122122222212212122111221212121121112112222112111222111221122121111111212111122222122111112121111211221122211121111222111222212221112222221222211212111221111212221222121212221222111221111212212211212112221211111212111222212212212221122212112222211122121121222222221211121112112211112212112222222122111111221222112222221111122221221222221111112111221211222121112222221112111111212212121222122212122111111112122211212221211111122112212222121222221221112112112222121122111112112222111112222121112122122121222121111112122212122222112212111112212222122122221122121112122211212212111121221121212222112121211212122222121111112211211121221122222212122212211112112111212111221111222122222111221221211112212112211221211111221112111122211211211221121122112112222122222112222122121211111122211222221221122111111122211222221221121221121211121121211112212212111221112222222212111212211221112222221212111222122222111121112212121121212212211121222211111212211221222222221212111212212121121121111222111112112111212211211122211122111112222111221222111122222222122222222122112112211222221221221111222212122211121112222221121221111112211112121122211111121112221111121222212111112121121122111212212112221221222222221222111221211221112121222111211212121211211211111222122211221112222121122122222122121221212111111112222221112221122122222122112211211111212111222112212112212212112212222122111122212222211212221122222222221122112122122222121112111221111222111222211111122211122122211121211211211122211112121221121212112221112112221222222212112121222122122111121111122122211222112211221212212111112121112122122212112112221222122122222222212121212121221212221221122112211111211212121212111211121222212111222111112211121222111212221121221112111121111112222111122122222222222222112222211221111221222212112121112111121121111221211221221121122221222112212212221122111221211221122122121121222112121222111221111121221211221212112121121111212122122112112211222221112112211221122121121111121212222212211222112211222121212112112121112121112111122121121221121121122222222221111122212211221111121111111212112221121221111122111212111121122112221122112111222212122122212211112111212111122211111221222122221221112111122221111121212222112121212111121121222122111122122221122211121112122221211221122212111222112222211112212221222222211211111122122212111121211111222122111211211212121211222221112112222212121111121112112112221121221221212121121211221222111222221112222112222221222222212212121221122122112111112121122212121212111112212121221222122211112122112221222221212212111212212221222221112112112122121212121122211122122112112112112111221122221121111221222221211122222212212111112111222221211222112121122221212121121112221111222112212122111222111221212212211122112211212111211221122122222112211121222221221112121212222122212112112121221122111211122211221212222121111221111221211211112112221111122221211112121121211121211122122212212222122222211122112111111111122212121112122112121222112221111212212111212121111112211222111122121211211112111211122222121122211212121122221211111211221211222222112211211122111222212222212121122221111222122212221221122212222212222121221121111221121111111122122112112112111211122221221121122211121112221111111221211112111221121212212221222211222211222121221221211221212122111111221122112121111212212211121212111211221122111211211221122212212221122211121111212211122112122122212121112111111212112112222211111112222222221122122121122211121211222222121212122111112121122111112212122122211211221111112211221111111111111112222122221221111122211122111222121211121121112222111212212212222121111221211112211222211221222211112222212212211111122122112212112121111122212112211211122111222211221122122221112122112111121222222112122122212221122211212221111222221122221211222222122222112121111222112212112121122222112121111111222212212221121122212121212111112112121212211112211212111111122111112121122221221112112221211121212122211121211222221111122121212111222112122222212112221212121112122211221112112221112212221212222222211211111211112211122211212122211122222222122222112122211211112222221222122221221122121222212211112221121211111111211121112211222212122222122212121211211212221111211221212122222222221222122221221222122221111211122112112221221122122112121221212122211112212211211211112221211222122221211111111212112221112222212111122222212212222211121112222121112111222221111112212111121221121212211212112121121211111111212122121212212112121222211211211221211122221122221122211122121122111111222222222112221122222222222112211222211112112112112111122211211112212211111211122212222212222112121222121222121121211121212121122121222212212121122222222222112212111121111211121121112111211121111222222211112221211211111121111212212222112222212222211112212112112212211122221222221211121121111221112222212112222212222212211112211222211112221222122112211112121221211212222112122211212212121211212121121221221212212122221122212212112121211122222122111121221211211121221111222122111222122212211121212221122112222211111222212111121222222221221222122122212121212211121221121222211211212121221221221122211122222121212211222221112112122122121111121122121221222111122112212121221222212112111111212112212122112222121121211222212122111221111212211222111221211221221222221221222211112122222222112212211211112121122121122221222211122121212211211122122112121122122222211222112122212112112121222221211111212112122112121121221222122121221222112222212211121221112111111122122121122122211222122222122111222111111112121112112212112111121121112212211221211211121212211111111112211221122222112122212222212221112122212222212122122211121112121121111122211122122122111222221112121212122111111221221122112122211211122112111222121111212211212221122122122221122221212121112122221111122212111211211211211221222222222121112212211121222112121222221121112221122221212112111112212122122112112112222212112211222221221222222112122111212211222212222121212211211221212122222212111211211122122211222211222222221122112121222122222212222111211111221122211211111112212121111122121121122121211221222121211122222122122212111112111122111222211121211112121212211111122211222221212221112122122121121121112122111111221212121121222122121212211212112212212212211121111222112212122122222121121111112211122221212221111111211111121122112212111212122122211112222212221212111111221111211112122122212122221121211212212122221221111122221221111211121111221212112211222112112121111111121211112121122221122121111121211211221212221122122212111211121211211121212112121112222112112112211221212211211222121211121212112211111221211211111222112222221221222112221211111121121112211222221211111212112122212221112122212112112112211221222222212222112112112211121122211221122121121122222122112121211122112112111122212122111111122121121111111212211211111222112111221111111121121221221221111222111121221121221121121111111122112222222212222112122221221222121122121211221222112121121122211111122212111111222221222221212112121221222222211222221112211221111122221212212221121212111212211122211221212112122222221121122121112122212112112121121112222211221221211212111111222122112112111111211112222112111122211212111121221121112111212221121212222212212221222221222211121221111212211122211211211112211222222121112212122122111111221211212112212221222212211112212112112122212111221122211121221112221122222122121222211122121212122222221121122112211211222212112122212112222121111121111112211111111211212122112122121221111211122122121111211211221122221112111121211121222222211121122112211222221222122112122221121211221212211211111221222221221212112122222221122121221221112122122222221221121122111222212121211212111212112121112121212111112112122122111121111121222212121111222212122221212211111222121212111211121222212212212211122121222222212221121222221221111212212211212212212111221122212222112221221112111111222112221222211212112112211121222121221212212222111112211222111211212221122121112222112211112222222121122211122222122211221122122111211221212212222212221222211211111122221212222112221221111111212111211221121112212112212212221211221222211212121111112121112111211222222111212222222211112112221111212122111111221222222211121111121122222111122212112212212221121122122112112112212122112221211111211222222212212121121211122112122111211211122121122211121122122212222121222112112111211221221112222211111122212111112112211111121122112122122211121211212212212222112121221222121221212221122211112211112112111112121222112111122111111212221212112112222112221211111112212121222112122111112112222211212221121212111121111121221222121122122211221221112221111111221121121211112121112222211122212212111112121222111112112222121211122221112221111111222111111212111212212221121112221222212112221111121212111211111112212222111122121122122112212121222112121111121121211221112112211221111222222122211111212221112212111111121222211121221122211222211222121121122122221221222222221121111222111211121121222111122222111211111122112121211122111122111111212122222111121211221222122122121122111112121112111222111111112222211112111212112111212112112112221221211111211121221212211112122112122221112121112221111111121211112211122211221111121221222112122111222122212112222112112121112121221122221121212112221222122122112112221112221221221121211112211121122212122122222222211121221122122211121121221111122211112222112211222221112222122212211112112221122111221222221111211122121221112121212221122122112212111221211222221122222221121212122212212111211111222211111212211111112112121221222222122212112212221222122221211112112121221111111222121222112212222212211122111111122121121221211122211211121111211211111112111111212122122111122222212211121111212221122122222222111212112122122211212112221221111212122211212221111121222112221212212222111122212121221212212211221222222122212122111222211222212121112111211122221222111222112222221212221211221212122211221212211122122122121222211212221121222122121222111221222211221221111221212221211211211121111122121212212222211212121111122212111122222111222221222122212111121222221211222112111111121122221122122112222121211211121211221121121122222121211111112122212212212112121121122212112221121221222211221112111112111211221221212212222111122112112212112222111122112221211122121112221212211221122112211121222122121212212222221122121111111211111222222221111121212222112212112222112222121221222211212211121121212111112221122121212112122211122112212112211212222211222112122111111111121211222112222121211222211121212121211221122221111221122121222121222122222211211211222212121112111111121211112111121111111111211211122121112211211221211211221122222121112212211221211211122111222221112111122211111122112121212222212221221112212121211211222112122121122121211111222221212112111121211222221121111221121121121211112122121211122212212111122212112212221121221111212211222212222122211121212112121111122221121121211221211112121211212111222212121121221212211121122212111112221211122222212121122212211121212112122222121111122222222112222221222221221211121112122121111122221111112222111122121212212112212212122112211211122211122112221211111112121121211122221211211222122222212111211212211122212211121121211221222221111122221111222211121122222122111211112211221222112222111211111211212122222112121122221111111121112222111221122222221212212212221212212212121211211122111111121212221111111121112212221121111112212111111222211211112222121111112211122211121211121111111211212121221211121112211211222112221111221222211122122112221212221122221212222222122112211121112112111211211111211222211111221221222222122121211222112111121222111211121212111121121111211122221122112112221222221122212121211121221111111212222122122221122211122122222212121212122221222121111112112122211212112221112212111222121212121211212112212221222112112121122211221121211122212121221121112211212212222211212112212221211211222112211211121121122212222122211121121222222112222122122122222211222121122212121222111122221211121221112111122122211121111221211221211112221111221222212121212212111121122211211122222111121121222122212112112122112222121211122212222221212212221211111111122212211121212121222111121111211222122211211212112112221222112222222122122221122112222111121122122111112111112112121122121222112221221122211222111212222211221112121122112122212122122111112121221121221122112212221111221221112122112122111111221121121211121112111122121121112111211111221212122111222112211212221122211221222111112121221111212212112211211222212211121112212111122221111221111111222122121222111211211221121222221221212122121222212111121211211221111212212212222112222121222212221221212111112121122112212111212121211221122222222121221122121111222221112221121212221222122112111112212112221112211122211211122221212121221211222211222111112122112122111212221111222221222122122212112122221221121122122111212111121212221111212212121111121112212221112122122111221111222111121222111211112221112222112211122112122211111121112221211212112222221222112221212221212211212222222222112212212212111221121212212111122211222222211221111221221221212222112111111112112212112221122212112121211122121121122122121121111121112121222211112112111121112112121111111122111222222222121122122111111112212222222222111212111211212211222121212212121222121121122212221211121121122111221111221111111122111212211222111112122211121222212212121121111111121211212111211212222121112212121222122112112222122121111121211212112222111121122211111112121211121122212212112221111221212112212111221112112212111211211222122111121112222121111111112212222222122212221211111212122122112122121121111111111211221222121211212212121211121112112122111112121212211222122122121121221112121111212111211212221211122222122222111122121122122212211121121121221111112211221122112212112221122112111121212221221111111212221121222111211222222111211221121211111112122122121221211122112121211211111111211222222122221222222122111122121212222222212112122111111222121121121211221222112221122121211112221112222111211212222222221122211212112211221121221112111212122111111212211221212111212121221221212221111212211212122212212121212122212222112112112121111222112212111221111111222122121122211111212211222111122221222221212221122211122211212212211122111212111121111111111121211222221211112221121122221112121122221112211122221122112211212221212122221211212222211112122211111111211121121211122211112212111122212222221122212222122112221222221111112222211121112211112212111112122211222122222211211111112121211221212211221122222212112221121121221212211122111111222121211111122212122211111122111221122212122221222111122222212211112111211222121122211111222222121112121211122221111111122121112221112112212122222221112221111111112222212111122121122221222111112121222211211112211212111121121111211222122122211221121122122112222221111222112221111111112121122121111112211112211112122112221122221212212112121111212222212122212111111221121221222211222222111122122212211112111122121222221112222122211121112111122212112122111111112111112221221122212221212222211112222112211212222122122121221222211212122211211212222111112221211111211121121111212211222222121211121212122222122111122212221211211122221211112211111222221122122122221212121121112211112112112221222211112212122111111112112211112211112121122222222111111112121122221122111122121112221122221121222212212222212111121112111121122212211112212111111222221222121111121111212211221111222221111111111222211121211222222121221122121222111211112221212121211112122222112111111121112212121111111121112121121122211111112111111211212212221221112111211112111222221222111212211121212221221211121221111111221112121121222211221222211122222122211111111121122211211221112112122121121121211212222122211112212211212211122122212112211121221222112221221121111112221222112121111211212122111111221122112122112212112111112122111122221122212222122212111221111121122212211222221211212212111122122121222122121211221222221121111111112222222112222211111112111121121122112112222211122121112211111222112112212222122121111111121211122112122121111221222111122112112222221121111211112112122222122221221121122111221222121122222122111212122211121212122211222222111212212121212122211121112122221121111111112212121112222111111121211121221212122221111211212122111121222221211122112122221221112122112122112112212111222221221211111121111221222121211112121111221121112222211212212221212222222122212111222222212111212221212211111212211121121221122211121211112221212211212122111121211211212122121211112211212121121121211122211211112222211121211112211111121222221112212222112222122222121222222112221212122121212112222211211111211222112111122111112121221222222122211121122111122211112112122122211222112221221211122212122121111121122111112111111221121111122122221212112222212111222122122221211122221211112211121221121112121221222212121221212222211122122222212112222221221212211122221112222121111212211211122111222222221212222222212111112222221122222222122121122112122211222211222112211121122111212111221112122121222221212121221221111212122112212212121221122211111111222212222111111122221121121121211221111122222212211121211111111111122122121211211121121212122111222122221222121112112221221111122121211111222212112211222212111222112111112212111211112221211121112122221212111111111122221111212222221112122222221111121212221211112122221111111221221212112111222112222222111221221121212111212211112112121121112221211122122121121121222111112121111121222121112111222212221112122112222122112212212111221121221122211221212111121222211111221111222111111211121112222121122111221121212111112121121221211221121111111222212221111112121121121111211121221211112221122121221122112112212211221221222221221111111211121112221221222111111211221122211112111121111221222111221121121212121111222121222212121222212222112221222221212111111221211121222121221111122221122212221222112112112222111211112121211112212222111211221221212111122221111212212122221111122221211211211212121211212212121212122212212112122222212122222221221121211122212111221222212211111122122112121111222212221212222111212121112121122121122121212222221122112221211221222212222222122111211121121221122122211122112121112111211221212212121212111212122121212112112212211211122111112212121222222122122221211211221111112212112122121211221112221222222212221111122221222212111221222121121121211111112121211111211121111121221212122221112121121112122111221122111111221122222112111222121211221222112212212222221111222221221122122212212112222112121122212211122212121121121212122122211112122111221211211211121222212212221211222212221121122111211111211122121112121222222211112221221112111121221122221211122121211222222211222212121122212211112212221212111111212211112121211221212112112212212211121122111222122212111212221122122221111212212122222112222212211112211112211221222121121221211112212212111211121121121122111211122221111222121211122222111221221212121221121121112121212111112112112122222122112222221222122221122211112221111122122221212212221112222121222111212121221222212121111112221222212221122221122122121122211122111222222112111112112122122212221211211111121212111212111111112112121211122112112212212211222222112122212112221121211121222211221111111111111212111211211221212121122221112111122212211121222211111112211221222222212122122221111222211211122121112111111111222221111122122111121222222212221122211122222121221221122212221222222212121222211122122211121222111122212121122211211221122121112222121222221222122222211212221212111111212121112212121121211221212112111221121122222121111122222221211211222221222222221211111211121112112221122121111121122221211111111222212112212122212122121122122121121221211112121122211211221222221212211212221122211121112121122211121122112212122221222111122111221112221211121122122221122221212122111221111111121221122221211122222211112212212211221212111111112111211221122221222211211212122212112222212112221112111221112221112221122211221212111122112222111111211121222222112221211111122212221212111221122111111121221212212121111221222211222222112112122212122211111122222112222122122212121212212212112112211121112221212211112121211211211222221122121211122111221121211121112222211211111222122111121121221211211112212221112222111122211121211121221211111222112122221122112121121112112111112221122211111111211111221122111222112211122222211222111221121212221121111122111112112222212212212221112112112222111222112222212212122111121222221221112221111211211212211211111222122222221212221221222112122212122112211122222112222211211122111222221122122122122221112111112211222211121212111122212121211112222211112211121212222121211121121121222111211212221221211122211122122121111112121211212211122111122211222122211111211221222221212121121212222111112221121211122222221111112122121221111211221221211211111212121122121212111121211121121212221211112212121221111121121122122222121111112222111111221121211121212211211122121211222211221112212121222122222111111211212121212111121112221121122121212211221212211221121221111111122212211222211122212112211211111112111121121111121122212111121221221111212212112121112111112211121112221112211121211112111122121111211121122222112222111212222222221112211221121222121221111211222211211121111112222211221221212221221112121121111222221122122222221111222212121122121211121211122222221122121111121122121222122122112111211111111122211222111121121111122211112121212122122112112122112212112121121211121112121121121212221212221212111122122121221221212211111112112111222222211221122211212121111222211212222122212112211212121211221112222111112222212212111121212211121122221221212112121211211121112211112122222222112211212111112212221222112211121211111212221211122121222112221111111211211212212121222112121212121122222122121112211121222122212111122122222121112111112111222222112221221112111212211111121112121121122122212111212112222112121211221212211222112121221211211111112111221111212121112121222212222111111212222222212221121111111111212222222122212222111211211211221111111111221112221212122112112111121212121222212121211211122111122212212211212122211111222112112121121211121122212221112221221222121111211211122221212112222221222212221122211112122222111111212222122222212111212121222221112221112221122221112212212212111111221111222112122122122212112111222212122221211112121211122122122222112111112111212221221221211221122222111221212222112112211122111212221112121122221122111122121211211221122221121222122112112121111112212122122112211122112122111111211111211121112212221112221111221211212122212211121211222121211212122221112112222112112122211111221112111122121222222122221121212212111211111121212221121121112221121222111112221121111222122111122211121221212221212111211122221121222222121111111121221111112211211121211222222111222122222112222121212221212211211112111212111212212211221221112122121122111111111221111211222121212121211112212222122122122111222221211122222211211222112221211212221112111112211212222111112122112222121112121212112212222121211222222221121221122111212112111111121121222222212121121221221211212121122211221122211121212221112221222212221211121222111212122212122222121211222222111122212211222121111121112211121221122222121212112211122111211121112122121221121121221222112222112121221111122122121112211122111111221112221112211111111121112121222212211211211211111221222222222222121122112212222122122121121211211222122211122222111211122211121221222212221111121122212111211111121221222122122211121222112112121121122212111212222211222221121211111112112211121121222221211112221212211211121211112122221122111122222122122211111222221222121111222222121212211211112221222122111221111221211121122221211222222112122121112121221211112111211211111221111222112121121211122122221122122221112212122121221211221122222112221121111222212121112211121112111211121211121212212212122212112222221112211121112121222111211111221211122212222111222211121122112112122222111122112112212112222122211212121222222222222212112122221122211221211221121111112221112222221111121221121112121221221111211211111221121122222122221222121222212121122122121121121111122222211112221221222112211121121122121122122222122112212212222212111221122211121121112121222221222111211221112221211222122211212211121111111222121211221221212121111212212222222122222122212112222211112211212221122121121121211111221122212111111121111211122111121221111222221121112211221122111211211211211212121112211111112212122112222121111221112222121221222122122122221122211212222222212121122111121121211111122221221221122112212222221212222121112221221111212212221122111122211211211212111222121121221212122121112112211121212111111122111212112212111122122121111212121211212111122112121112211221222111211112211121111111222111112112112112221221111211221121211211121121112212122112211121121112121221121121211221211211121222122112111111122211211222221111222212222111222211111222121222221122212112211122112121211121111212112211211211222122222211111121212121211121112111222211222112212122221111122222121121212222212122211122122121221221121121111222211221222222112211112112212111221121121211222211111222112122222211221112212211221211212112212122112212111122121221122222221212111211121122112212111221122212122212112211222112222211111111122121221222211111111212112222222212212221221121221122211212221222121221212211111122211211112121122111211121122121221112212211122211211122121212111112112212121211221112212221211222121122211112212222221211212211122122122212212222122221122122111112121121122221221122221122121112211211222211112112212222121212122212112222111211111211111212111121211221122211111212121212211121222212121222222111111211111222211212211112212121212112122122112221121212111222211221112112211121222212121221122121111111211212212111111211112221112111111221221212211222121112222221121212121211222112211122121212112211212212222222121211122212221211111221212212221121222112111222221212122121122112111111222211222111222121121212121221221121122222222111122221111211221111111212111221111221122211222221211221122212211121212221122112111122111121222112221211121121211122121212221112121111112211212221112211221222212122112121121221122122121212111112122212122222121221221111112122211111111111122111122112121111221122112121121211121112221111222111112111222211121111111211211211111111112221122221212221122222221121221222221121222211212221211222112212221122221222221121122111122222212222121112211222221112211112212222122211221222121122211111122121212122211111211112221112122112112112112122222112111111211221212211122212211211212121121111111121111222222211111221112221121121112212212222212122121222121122111121212122211111221211211212212212212211221122112112222211111112211222112121122122122111211122122221111112111121111122121212211211221122211221211221221211122212222122212221111222112111112212111222112111212211121122211221222122221212211212222111112221212122212221211222122222112221111221122112112122112221111111221221211122112122122222212211212221112111211221212211211111111121122112122211222111211112112122121222112221122112222222122111111211222122112222212122122211121211122211121222212122122121212211211111222212112221111121212121122212221112121112222111122112221122112111212122211211121122111111121212211211221221122212112111221121211111111112111212122121212111111112212122221122212221212122212111122112212211222121112111122222111211221111221221211211112122112212121112121221121111121122112122221112121121211121222222222211111111121121121221122111211112122111211122212212222211112222122112212212221221111121222111212211222111112111222222212211111222212111222121112112122222122112112122112122221221222222211211112222121111212122212222111212212121211121121221122222212221112212211112111122222122121122111122221112121222121121111212122222221221222122221111211212112222111211221112222212112111222121111122111121111221112122122112122222212112112121121122212222112121111122122221111212112221222122111221212212212111222211121222121122112221212222122111221122211112121122121212222111121111211222212112212121222111211122121121221121211221221121112221211121121221111121111212121111222122212211222221111121212211211211121121112211112121222211211112211121122222111122121122221211111121111112121212222211221121122221111111212121212221221111212211121212111111111121222211212111122122212111212111112111122112121222211111221122212211112211122211212112121111221111121212122211112222121221112211222122112211121212111211222221212222121121211222212111122221221222122211222121212221112121211121222222122122211212222212211222121111221122111122112222121221122212121222211122221111221111212111121222112211222221121111121112121212221121211222112212112222221211121211222121222121121211221212121121212121212221221221111112222212111221111221221112111222211122211111211212122211222122212211122221122121111212221121112122111121122212211212212122121111112212221112221122122221222111211121212212212121112111111121111212211111221222122221211211121221122211121212121211122211221222221111212112222221122121211112212112122211122121121121221212211121111121212122211121111112221121212212111222112122112211222221112212211222211111222112121211112121121221121122111222111211212211122122111221112112222112112112121212122122211121121222221122111112122121221222111221122222112111222211221122111122212221211212122122222211121222121111112212221112211221211212222211121122112122122221211122122221212221221112212211212112221122112111122112122111211111122211112222111212112221222121121112212111212222221111222222212111221222221121112122222111111112212222122111122222112111222121112121112212221212111222122222222122121122211111221221111221222211211221211111111211121112111121112122121222112221222122222112122211111212222111122121222221112222211121221112211122211222121211122122221112221121111212121111212111211211211122211211121222221112222222112112221121222111112122221212212212121222222121221211111112122211221221111221122121222221222211222111121121222221212221111122222211212221112122121211122211221122211122121222121111212222111111121212222112222121212121111221112111211112112211112222221111222112222122222121221211111211111211221112221112111122111222212122211221112212122222122211111221211111211211212112222112211212121112221221112221122112121111221121212111221122212112121221121112212112222222111222211222111212212111122111112212221221111111222221121221122122212222221222121211122212221121121221211121121112222121222111222222221111121222122222212221212121122112121211221122221122112222121212122222112211122111221121211221222222112122122111111112122222212111221121212111211222222222211121112122111221211222221121211122111111111122222112212221221211112111212221112221222112212121222122112112112111222111112212111111221111221122221122121212111121211112111221111112211221122121221122222122222222111222121121112112111122222111221222112211221222112221212212221212222122122222121112211221212211221221112112121221222212111122222221211111212111212112212222111122212212112222211112212211222212121212211221221222212112221221222221222212121112121112222121111111122221122122112212212121221211121122121121112222211211221222212221112212222212122111221121222211212221221221221221211212212111111221222211112211111222222122211111112112222222111112222111212121122222212121211122221111211112112222211212122122211121221111212122122112111221211112222121222111221112211112222122221122212211221122122221212122212222122222221121112222222112112211112222222121121211212211211111111212212111221111112121221111221122212222121212122121121111122221111112221122112221211111211121211112122212212222212122211221121212211222212212211111211121212122122222122211122221211111211211212211121221111122212112211211122212122111211111211211221111121221222221222212222221112211222111112111221221112111111111222222222221122222111111211111211122212212222221122121222121111112122221222222122222212111222212111211212121212222111211222211221211222211211211112112211111221222222211121122121211122211222212212121222221211122111211212111122222121212212111121122122111222211222122221221211211222112121122122212212211222111111121111121111122111111112122112111111221211111222121212111121222122111212111221121111222211212121112122121112222212112112211122122212222112222212122212111221122211211212112111221212212211122221221221211222212221111212121221221222111111222212211122212122121122121111212211121121112112112111111221111121221112111122221211121112111222122211212222212222121122122112222222222221122111221111111212112122222111212211122212221212212221211122121222212112111212121221221121111222121212221221122221121222111121221212211212121222111221122221222211211112121121121121121212211221222222211212121222111211112221122122221221121212211212221111121111112221111111122212221122111211112222221212212211212212121111121122112221221111111212121211121121212222211222221112112221222212222221121122122222121111222212212221122221112122211222221221221112122211221221211221122221211122221121212112212111211111222221111111221222112221121121221111212111211212112111121221212122212112211111222111212222221112212122122211211122121222211122121221121212122212222122121122111211211211122112211222221111121121211221122222211121211211211122211112222121112222121212211212112212121211122221211212111221211212122121111122111111122211212121212221122222112112211122112212121222221222111112221221211222221221122222222121222211212212212212211221211112112111221121121122121112121212222212212111221222222121111211221221212222211222111111122122122221122121122112122211212121111112111112122221221211222211221221212221211112211112212212211211222221221221211122121111112212122212121212112222211212221122212111221111121221222112222111211122212122112112212221112222222211222112211111212112222112221122221221212211121222122211111221221221122121121122221122112111222211122222122211111212112112111122122211121211211122122122212121211121112122121211121122112112221222222211222121211211212212111212111211122121121221111122222122111111221222121221121122111121112122222222122222222121221222122212222111122222122221111111211112211122112122112122112212212112112211211222211222211122111222112121212211221212112111211212211111121212112212122212212222122121222122112211121222112121212111212122212212221112211222221211212221222222221221122212122122221121111211211221111212112111221112212122222122122122121222222221111111111112121121121221111211212222221221212222111221222212221212211122212222112121122111211211212211212221121211221211111211211111122222212212111221112122221212222122111221212211111221121111221111111212112112112121212221221221212212112211222221221111122222122212211122221122222211111212121222112122211222221121112111222221211212122221222221221222212122222221221111112222221111111221221212112212121111221221112121112211211122112112122122112111222212112211111122111212112211211221121111212121111111221121121111121111211212122212122221111112211122122211211222211212111211212221122111112111121212111112122111121122111112121111122111111211221221211211121122211122121112121211222211122221111222112112212222211221211111212112221221211111111112211111221122111212112112111111112211212112112111221212211211112222122212211111112222222211222112212212221121222111212222121212112112221221221221222211221112222111221112121122121122121112122111222111121222112122221122122121121211112222122211122121222121122122221222212212122211112112222222222212221111221212222221112221121221222221221122212111212122121121221221212221111112121122222222111211221221222122212212112211122211121211211212112212112222221111112212211222221212211122222112122221121112121211211122222121211112112111111121212111211221121212122122222221112211222211111212211122112112112222212111122111212211121111112121111122222122112211112211122122211221221122222212221111222122222112222221211121211221221122122111211221221222122212211212211221212211112211211122122121222121121122121112121221121221222221221212222222112111121212211112221112222111121121112121212111211111221121211122122212222211121122112212121221211112111121112122221111211212122121212112112111111111221222112212212121212211221222112212112111112211122112112121122212121122212222211211111122111121112121212212212122122211121211221112211222112122221112121121112211112122212111111111212221221111121121211122112221111121222211112211122212222121122211212111122112111122112212212112121122122112212122212111112111211221112122211121222121111111221211122212212121221112121212212122212111221122122111211211112211211212211121221211221222111211222121212112222221212112112122112121222121222222221212112121212112122221212222122112211211211121112112211121111211222221221112221221121211211121211221121212221212222111122221211111221112211111212222112212112211221211121212122211121112212111212212211122111221222221112112111112112122111211221112122222221112221211212122112112221122211211222221211212111122111211111222112122222221222121212211221222221212112111222212221122212122211122212122212212221122112212212221121221211121111222121121221112121212221212122122112112112111222221111222111122222222211112112211212211121121111111121122121121122111221222122212121222222221211221112212121121121221121221222121222211212212212111211121121112222221222111211221121121121222111122121221221222122121111111221221112121121122122221211212121221112221111212111112212221212211111112221221111211122112221221121221212222212122212122212121222122221111221111122121211221221212122112111212212212112122212121112122121222212121121222211221111221222122112112221112221112112111221221211212112112122222212121122221212211211222212112122112122212121121121221122212222122212121121111122212211122122122221111222112212211112211211111112212122212212111212221211121112121122112122211221211112121122111111122221221112211222122211222222212121121122211222212122122122212111212121221212122122221211212122121112121221122212212122111212211211211111121112212211111111111211222211122212122122212211122212111122212112221121222222111222111211211221211211211111112111112221222122121211121212111222122211112121111222212122122121221122122122222122112111122212212222111111122111211222111111122112112121211121211222111222211212122212222211122112111121122222122111212222112111221222112122111211212212211221111122211211222111112112222111221122111221212211212121221121112122122222121222122221212221222111212111222212221221122111211221212221121122211212112112112111211112122122222221222221112122122121122211111211112221222222122221211112212121221121111221212222211111122112212212121122122221212121212222121122112111111112221212212222221222111211121121212122221212112121212111112121222222221212122111121212111222222222222111222212122122111221221222111122222221122122122222222211211121212122212222222111212212211121122122222112121212222111211111121122121121212111111112111122211221221221211222221122122112221222221111111122112112221221211221112222211121121112211122112111112211112221221122212221122122111112121112121112111122121211212221212121211122212112111122112111221222222221222221222112121211211211222111222211212212111211212122212121122121122122222112221122112222111221122122212222111221222112112212112112122222211121212221212122211211211122111112112112222111122211112211122212122112222122111211221212222112221121121121121211122212112111121222122121212122211111211212222111222222222121212211222122222212221121122112111211121211212212121222111222211111211122122112122112122221222211212122111211221112211122211212121122111222222111222212122111211222212221111222222221121222122111121222111211122212222211121122211122121122111221211112222211211111212221111211112121211212222121111112221211211122211211111111221122222211212221122221221111211211111121112122212211221221221221121212211211211122211211221212221121221111111122111121111121222211221112122221211111212211222112221221121211212221211212121121122212212211212212222221112121112221121212222121121211111221222111212212111222222211111112212222112122211212221222221221112121112222111211121111111122112121212121211111112221212121122121212211112222122122111111121222111212112212112221212222212122211211221122212211222112121122211121212212211122212211212122211221222221221111212122221221111122112122121111211212222122212122212112121221222221222122221121212112111222111111221122111211222221221222212112211212211222222221212112222212221222222111112122222111111122112121112211111211222222122212221121111212221122122122222212211221222212212212111221112112111112212212211211221122121121211222212212221122212222211112221211121111211121121122121222212112222211111211222111111222122211121121211112222111121222212212121212121221212211212122212212111112112112112122222122222121222121111121112111212222122121111112111211211221222112121112122222212122121112111211111112221211222112121221111222112112112212122111211111211211212211212222212121111222112112222122212112112212111212222211221221222122221221121111121112221121112222212122112112222222221122111121211222112211211122211212112122121112221112211212221112212212122221211222211221121212121212212122211211121222222121211121122112122211122222112122222111111221211211112211221211222222111112222111221222112221112122222122122121111211112221112111112212221112222121122112112221221211121122211221111222112112112211221112122111212111122122221112112221221211122122222212212121121112221121212212222221212111111212211121122221121221111122212222112212221122211112111121221221212212111222212111112121212221212211222212212121211222211122212222211121212122222112111221222121221111121221211111122211221122221112212221222122122111111221112121221111122221222122111112221211121222221221122222111222112121212112221122111121212221211122112211211212112221121111121121121112122212112121221112112222122221222212221122221121212221122111122222112221222111121212222121121211122222222112122211222211222111212222222211111222212211122222111112222211122112221122212211212222122221211222122221221112211112122121121221211211211112111121212122211112122111121122111221212211221111121122211212122212112121121112122222121222121111111111221222112112111112121111122222112211222112222222111111221212112211211112121222212221122111222122222221121212221221222122112212121112121122222122112221111212212112212122112112121111211112211222212211212121111111221222222111112222222211121221112221122122121122211112222221221221111121221121212222122222111212211111112111112211112212122121122221212122111212212212211211222122222211112122122211221111122111111211122212221122121221121111121121211122112112112112222121211221212222212122112112221111211212221211111122121222221212111111222212221222122122211222122122221222221112221212212112121122222111111211222111211112121111112211221212121212212111111211221122111121111212212222121222221212122222212222221122221112221212121222112211212122121211111121112212212222212112212222222121111111112211112121212212112121211121112212121122111122212121112221111111222111122122221222112112222121221222112121122122211221112121211111122112221121122122222121122111122212121221212112222122212221111112121122222222212221222222211112221111212122111121122211221211212121112111212122121112221222222211221212111111111112111221222222122211212211222111211112122122221222211112122121212212222221221112222221222222122122111221221112211211122112122212121112112221122221222222112111212111222221122221112121221211221121112122211212221222221112221111122112222121112121122121211122112112112221112211112122211221222211221122111121121112221121221111221222221222111221221221212222112222222122121111221111112212122222222211212221222222211121211122122112122221112121221222222212222221211211112122112121121211221222222112211222111212222221211112211222121121211121121211122122221121112222112122221121111121211111212212121221222222122212221211212122111122122112112212221111212112111222221111111212212222121112121211111221222212111211221222122222122122111121211211121212221121222111211111112211122122122112111112122112212211111221112112221211211111111122211222111121221222111212111222122121121112112111221122121112122212111211211121221222221121212111121212212211111112211212122222211122121211111221122221221111122222111211121121122111212122111222211121122121212211211221112222111212212222211111212212111212222212122112111121121211222221222212111122122111112121221112222222121111111211222212122122111121112221112211211222112112222212112122112221122221112122121112121222122112211221112221221122222221211121111212222211121112222112222112211121121112211212212111221111111221112122212112112122212212222112122111221111222221212122111111121221222221222112112221212211211112222211112221112112212221221211222222111212211121212211222122221221221111122221211122222112111211122212122212221112211212221211111112122112111211121121221222112112121122112211122212211112122112112111221212122112122221222221121112111212122112122122212121212122122222221121121221122212121221222122111121212122211111111212212111212221111122121222121222111221212211111111121222221121211111122212222222122111121222212122222121221221121112121221221121212211111211212212111222212221212122121222121221212122121121212212222212122211112112212211122122212211111212211221122222212121121111122121222221111112211222122111121212211122212221122111122122221122211121122221121111112212221212112212112111111122211221121122121212122111222122111212112112211212122222122222221221111211222212122222211222122221212122211122112221111111221221221112212112222212221112221222112121222111121122111221112221212112221122212222111211221122212111221122211121122122211111222112122111222222221212111121212222221221221112212121122222221221221112221121211212212212211111222222222112221211122221111121222122112222212221122112212222222121211221121212211112212222122122121211211111222211122122211121122222112111222121211112121122222111212222212112221112211221211221222222212221121222112112221111221221212211121211111111111212111212121211221122122222122112111111211222121211121121112211121212222122121121121112121211221212112111211222122121122211121222111211221211112111212111211211121222112212211211111212122212111212122121111121112111111222111122111222222122222212221121122221212112122222221212221112112222222212212111221211221122221221211222122111222121211222211211121122222112121221211112111212111111111122122112212112211211111122222111222111121212121121111221121111212121122111112111121211222111211212222221211112121112111211122112212111121221112211122212111112122222112222112112112222222111212212122122222122111112211122121121111221212122222211221222122222222111221212112122112221211211211121122222221111111222121221211222122122122211111222211111211221212121222211222111111111212221211112222111222111112211212222121212221211211212221222111112122122222122221212221111221111112121211122112122121212121111112222212122221122112221111121122122122111222211112211111111111112212111222111212112212122111222121112122122212121212111121212212122112121212212221111212212121111122212122121122222111221222122221212121122121121111221111211212121222111112212122111112121111222112111221122222112112211221112121221112212212121111221211122122111121211122111112121221222221111122121222221222111112112122121211222211211211121111211111121112121111221212122121111221111221211212212212212212111221121212222122111221121122122212212122112212112122122211212222111122112221211221222122112122111211122222112212212221212222112121212211111122222222122221211122111121221111211122222112111211222212222211211221221111111111112121222222121222121222221221121211122211211111212221111112111222222211111111211121112222221111121212112222121121221212121222122112211212222112111111112221112212112121112211211122212212211111111211221121222122122122211121212112212211122122121121122112211112112212221112121122111211212212122122221112221121212122211122211121212121221221212222212112212112122222122212212122111222222221212122121122122111112211122111112121112122222122211211121112221222212222221212222122111212222111212112111221222211221121111222211112221122212111112222221221112222111222211122112112121121121212211221112121121221212212212122222211212221222111121222222121112212222221112121212212222122121122111211222112211122212122222122111111121111121112221212111211221211222111221222211222211111111111112112211211112112222222211111221122111212122211212121211212122211121211112112112111121221211211211111121111212112211122211221212112112211122221211221121122121112112122212122121112221121112212212111122111222211211121212112122222111122112221122122222222222111211211121211212121112121221222212121211122221111111122111122211112222111112111111211122122122212112121122111122121122212222112212121211122121221211212122222111112222221121112122122221212121211212121121211222121122221122122122211221112221111111222211212121212111222212112211221221211222221212112221111222122221222121221112212222221121112121211221121111122212122212122122212222222221111121111112122212121111222212121211222221122122212222222222211111122222111112112222211121212122212211221212121121121111112121211221211212211221112122222112122111112212122112122221212222122111121111112121111221112112111121211122211222121221221212222112222112211121121112222221111211111111221222212112211222212222211112112211211222212122212211222112211212221221221121112112112122112211122212112211112111112122111112221222222222111212222222111121211211111222112211212122122111221221221122211222121121111112222122111222221111122111112112112122111222221121111212112221122112112121212112211211221121222112212122111111112122111212221111122221212221122112211221211111111222111221211222211222212222112111212221212112212222221221211121221222121112211221222111112111212121221221212212121121211111122112211121112221221222112111122212212212111211212121112222121222111112212211122112111121122112211121122121211221111212211122221222121122111211111112222122122122211112111112222112212112222222212211122211222122212121122212111211122221111112212211212222112212111212112212212121211112211212212212111121111212212221122211211212211222111222111221111221222221112112212222211122121222222112121211222221212111111222221212112111221221112121121211222211211212122112222122212121211221111211212111212222112121121111222221222111112122222112211112212222121111211121122211122221112222112212212221112112111212222111122122112222122112121121112122221111222222111211121122111122222112211212111211221221221121222122121122121111122112211212111212211212122122221211111121111111112211221112112121211112212121212221212211222211112112221122111122221112211211211221112221211212111121121211212111221211212222112212121222121211112221212211212121212121112212112121222121112112221112212111112211222121221212121112122221111111211221122221221121212122221211221121121212212111122222222221212212112111112111221122122221211222111212222222221222211112212111112121121122112221121222221212211222221112211212111112112211211212121112122212111211111212121122212222222122211111212122122212222111222121222211221222212112222221222221121222122122212122112222212122212211122222221211222112121111222222221222121111111212211111112121221222221221211222212212121222211122111221111221122222122221212112211112222112212112112122221222222212121222221222212211221211111221122122222212121122111221222121211221211112212111222121211221122121221111212211212212121112221121211222221211222112221212121211212122121211121121211121112222112112211211122221121222222221211221122222111122212121121221112121211121111212212112122111212221112122221121222112111222212112111221111221112221211112122122211212212122212212111111122111221122212111221121121222211211112121121222221222122211221122121211122211112212221212211121222211211112112122122121112111111121212112121122112122212111212222222221121112122121211211111222112211222222112212111112211221221111212112221122221122111211221222221221122211121112111112122121221221122112121212121122222111121111122211212211211112112121222222112121212211222112111212112111221221212222112222221221212221112112212112111122211112111221122122122211122112212211121111222111222221221222122222212112211121212111111111122222212222212111121112221122122112211212222212212121212221211122221221221111221121111122211221211212122221112122121211121121222111111121211112212222122121212112112112222221112222211211111222111212122111111122212212121212222211122111121212221222111112211122212121122211222122112212121222121121112222112221211111211212112222221122112121212222111122222212222221211121211122122222111212221112211121122121212112222212112112211122111221112122212121221212122211122112111212121221111212121122121122122111111112112121112211112111112212221122222112121112221212122112221121222211112221212122221221122212121222111211211112221111222212112221212112122212211212112121221222121211112112121112222211122122221222122121212122122121221222211111212222221112211112122211112111121121112112211112211212212212112112212221211122121121221222212211112222221211211111111211211222121222112221122112222122112211212121221121211112112222211122221221122211122211211112112221112222112212112222212121212211122222111211212122112212222211121121212112211212212211111121122121111112111122122111211211122211221111222111212211112222112122121122112111211111112211212211222112111221212122122212111121222212221122122121222211221122211221112221111112211122121222121211222211112222111121112221221222211222121112212122211222211121222112112111111112121221121212222221222112112121222112122111212121121211222211122111212121111211112122112122121122221121111112212211211212212212122221112221221211112212111212221221211122221221121112221212122221221121221121212221111112121122212212212121222121112111122221212122121111112111111211211122212121221221111212211122121222111121111122222111112222222112122221112122222122111222121212111122211111211211121121122121111122212112111211122122211212222221121121221221111121122121112212111111111221211111122211121112111222121112211222222221121122121112121122111211122111222211121212211121122121121212121221211211122112121212111212121222122221212221221112211221111212211222211121212212112121111122112122211222111221111112222111122121122222221122222112212211211221222121222221121112212221122212111122221122111221111222222112121221111221111221212112121211111212211221221111212211221121212111122111211221122122211122112212212122111212222222212222122121221211221212212221122121111212211112222121121122221221211211122112122222211222121212222221121211211212221112122211122112111112212121111121121121212122221111211212122122112121212122111112122212121221122212211112211221221212121211221211222112211122222221121212221112121221211122121121111211122121221121212111112112121222211211112122122212112122122122211222212112121111122211222112111112111212122211111221121112122121212222112212122122111122212212221212222121222221111212122111111222121221212211111111221111121121111111212221212222221112212221122112121111122221221112121221222222112212122222222112112112211121222222112112121112122121122112222222111222111212212111112122221121112222122111111221111121212122212112211222212112121111121121211122212121211111222222212111122212222112211221212211111111211221222111222212221111122221111111111221121221121111211221222122111222221221122111222222211221221122212221111212211112212211121111112211211221121121222112212111211212222122121111111212221222122221212211222112211122211121222222112121211111112112122211211211121212222221121112111221122222122222212121121121211211111211212221222122222211212121222122211121121112211212222122211222112221211211121112111222212221122222122221122121122221121211111211212211212121212111111222212121211211121121211221212221111121111211122112122111212122222211222211211211112211222112221212211111222222112211121112122112212222211222212221222221111121112221121222111212222121222222221121112212211222221221122222111221211122122221221111112112121112111121111121121122111121111211112222221212211121121111112222221121221111211222111111122121221122212221212221211112121122222212112112122122211222222122222122221222122121211221221111121222121121211212211222221112222221211212222111112211212122121221121121211222222122111122122221211221111122122211111121112211111222212121221111122222212212221112212221121211111222212221112222221211122211111112211222222211122222221222221221122112221211121121121221212211212111222222111111222222221112112121111122221111121112121122212222122211221211222111122221212212111111112122212222122122122211111122222211211111221212212211222122122121112122122221211122212111222121112221121212211112112111122121111122112212111112221111212112121222121212112212111112122212112212212211212122111211211112222211222212221112112212112111112122222112222221121221222221221222221222121112221121111222111221122112112112221221121222212111212222112211222111121212111221111111221111122212211122112212222211111222112112222122221212222222122122221121121121222112122221111111111122222121121221122111211222111111222122212222212121221221112221222212112111212112122222211112222222121112122121221121222222121111112211121122211121112221221122111122121111112221222211122121221221222112212211221121222121211122111122121211211222122221212222121211122221221121211121222121111222122121212221221212122122211122121112211111211222222221212111112121222212111121122211122111221112221212111111221121121221221221112112111111211111222211111122211221221121121211212111111112111122221222222221211221212121221211121122112211211112221222222221221112121211212111212222111212222222121122111211212211212212212211122111111212121112212121221121122121212111111122222112111111212121122121211121211121112221122211221222112112212211111112211211222221121212121111212212112121121222221212111111222121121222111122211111211121222121211211221111121111222122121112212212112121122121221122121122122222112221111111212222111111121111112112112121211212221111212111122112112212211122211221112122212212121122122211112221222222212221111222211111222222222221211221222211122221222222111222121221221222122222221121112112122221221111221211212122212212121222111112122121121121111111222122121111221212121222122211122211222111222111222121212221122211111111222112211122121221111221221212211221222121222211112112111221212222222122121122222212222221221111212112111122221121112122211211211121111122112222211121122222111112112122212112111112121221111121222221112212212211211111112121222222122221212211211222112211111222212111112222112211211221111211121112221122212221111212121211122112221122112221112121211212221121111211112221122122222212212222122111211112222121111212121221112111111122121121211121211221111122211211221212112221221122212122211121112112212121122122112222122221221111221112211222221122111211221221221221111122111121111111112212211212112122221211121212111122111121111221112121121121122212211121222112211111212221211111212111211221122111111121121212212211211112122212222112121221112212121111222221111221112122212222211111111122122121121112212111111112122122112122122111222111111211212111211122211221112122211221122222221111221211112212221222122111111212222121212122112221221221111122211211112112112221221111211112211212222221222211221121211122112221112112212111122211211111112112122111221221212211212111211112121111121121221121121211211111122211222212111121211112112121212211222222211212212212121112222222121112211112211221122211121112211211222112221122211122122221111212221112111122121222111112212222111121122222121111112122211212211222222112211212222211222111222212221222221211122112212111212211112212222212121222211212222112212112121111112112212211112211222211121212112112121211111212122211222112211211121212212212212112221221112212112221212111211121121111122121212111111122221221122221112211121121221221212122221221122112111221112222111212122122212122222112221121222112221221222122212122121212221222221111221211122112121121221212222211121122112111111111212222222122122111212111211112112121121121121121112121212121122212121122112111112121212211222111112211222121122221121121221121212212111112221111111221222211221111112111121122122222121121112212112221212111121122111122122122111222222212122111112112212122122122222211112212121212111211111121122121122121221112221221211211221212221222111111121112112122112211112212121212211111211212122121222211121121212121222221111112221212112211122221112111211121122211211212122111111212212121221121211111212212212112211111211222122212111211122211122222222211211212222122122212112221212121122221111222211222211221211222122122122112222121112111112211121222211221222111111222221111121221121211111111121222121222212111111111212111222212122122212221222211112112211222211121111211211112112122111222222221112122111122111121122122221121212122221112112111121112121212121112122221221121111221111222212111211122122112121112122121212121112222112221222121222121221211111111112222222221122112222122122122112112121112121122121122122221212122121122212211221122221222212112122211211111122112211121211222212111111122221111111211222121212111112122212121112111211121222221211221121212221211212112111112221112221122122122221221212111221112112222222112112111211122111112211222112211221122111111121122111122112222212122121221112122112112212212221211112212211112212122212222221221122211121112111222211122122212122112222121211112121121121211222211212221111221112221112111222211122112212211112121121222122121121111121121112122222211221121212122212221212121111221121221112222122111222222212222222121122211111212221112212211122112221211222221221112111112221221221122211211221112121221222221112221122121212121121111221211122211112212111121111212121112211212111221121112121122112112111111211211121112112112112111221211122112221212121212222211221122122111122221122211211112121121112121221122111211112112211211212221111111211212221121211221112111221112121211212221211211121222212212111122212221221212221111221212222212221111212212211112121222212221211221222212112111212212122211122212111112111111111111221121112211122221221121112221211222211112111211212112122211121112111212121221122212221112121111211221121221122121222121122221221122121111112121121222111222222211212112222112121222122212222222211112122121121112212221121112111211112221122211212221211222212111122212221112222222211121111112112212121221211222222111122122111122112212212112112221212112211112112122211121111221222212111112211211221121221221122122211212111122111121222212111121121222111211212212122212212111122221121122211122212222122221221122212211122121111122121211211211121212222111112122222221211112222212112221222112221122212212211112122122112211121211111211111222111222222212222222211112211122111111211122212222112112211111222111121221121222111212222211222111112222222222221222121121122122211121222221111121221212112112222112211211212121211121212121221121111222111112121111121112121111221211111211111211212212122122121122222112211221222121212211112122122112212122221111111121121212122212112221122212111221112211112112212221212112112121221111121111221122212222212221121212121112122222122111121111211112221222211111211211121121111112211111212112222221222111212111112212112221222112222221212211112111121221212122121211222121211221122111111112122112211222212122211112212212222212222112112222112211212221212222221212122111212222122221212212121211221221222211112121211221222222222112221221211112112122222112111221221222211212121111122112212121122222222221112121211122211222121222211112111111122222222112212122121211211111222221212111212122221121111211122211212212112222211112222121221122111112112222121221111122121212222112211111111211222221221111121221111222222211222222211211112212111122212111211211112122121111221222121122212122221111221212221111212111221212112221212221112112111221122121122121222211121112121112211211112122221222111111111221211122122122122221111222121221121211112121112122112111222212112212211212212111121121212111122212222221122122221121122222111112212211111212121211211222122111212222121121221112112111212111121211111122112222212212222111111112221212222121111221112111122221111211211221111221222112222111212111221212212222221111211221111122112121112222122221112221211111222111221111122212122212111121221121212121212111221112221121121212221122122211212112212111211122221122211111112222111211211222212222121112111112111111211211112111221221111111121122222222112122121222111111111221222211112111111121111211221212112221122121212111122212122122112221221222222121122121111222122212212121211122222121221122112122121221121121111112121221222222111111212211122211212112212221212122122122221221121211221221121221111121112221212111212211122212122211112121211221121122122222112211112112122222112212112122222112212222212122221221121221122112122222111112221221111111212221212122122221112222121212222222212211221211122212222222221212211211112222212121212122211121111121221122212221211121221121111221212222122122112212221122212122121112122222111112212112112222212111121122121212122221222211212212122112222222112222122111112112222221112221121212212111121121222111211221211121222221211112222112111112212111111121221222222121211221121212121212111111221122121211121211112221212111211111111111211121212211221122122211222211111212222111111222121111122222111112121112212111122121111211122112121221211222112112111121121112121111121211121211221122122212222222112121111212122222211221222112221122211112122112222222111221222122112121212222112221222122121111211122212122111112112122212221222122112222221122222112112122222112211111222221221221121222212221111211211121111211212221122211222122221112111112211121211212121122121222212122111212111211221222112111222212122222211211222212222111121221111211211112121121222221122111221221212122111222121211212121222211112111221222112212211111122121111122212111222212211221212211122122112122221121121212212122111222112112122211122212222112121111211211221212122222111222111211121122212121121211111122222221111221212111121221112211122112121112222221111222222122111112121222112112222212212211222212222212111211221212121211221211111122221211121111222212112111121221112112222112121211111212121112212121122122112212111212122212112112221121222222112111111222111221122112111111211212211122222221221221111111222111122111221121221111222211121212111211111111121121221222111211212121121122212112121211221222221211121111111121211112121211111111222122211211222122121211112221111212112112112111111222211221211221211112112221111211122212221111122112122122211121222111222222222122211111112222211122211112111222121111121212211121121222122112221121211212112211212211111211121211122212111122212122121211111122122111212121222121111122211111221121122222211122122112112212112121221222111212121122122212122211212122112122212122112211122122111222212121222222122222211212221112222222111221122212112111222111212122122121111122211112122121121121122211212211222121111212211211122121121112121212211122111212121212111112211222222121221221122212121121212122211212212112222121222211221122111112222121212221111221121121121112212212121112211212122211112111211122121121112211121222221111221222212211121221222212112221111221211212211222212212122212121212212121211222112212211212211211222121121122211122211122212211111222121112221121221112211211211121212221112211212221211211221222121122222211222212221112212111212211212112221222221121111121212221221221122111211111121122112112121112221211121212212112122111222112212122121121121122121121121222112121221212222221121212112222212211121222222212112112111222221112122211111121122122211222111111212112122211111112122111212211221111121121222121222121121212121221221122111221222211212121121222212121111111222111222111111221221212112212121211212222121222111112211121121112211211111112212111121222212212122122121112111112221121222211211211221212222121112222121111111211121211212221221122121111212211122111211212112112111111112122122111211221211212112222222112122222221221221212212221121112112122121112112111221112122111221121221211111122112221221122211122212111112221122122112212112221212122212211122221121111121111112222212112212221222112221111111122111112122211212112112122121222121221212112121122211112212221112222121211122122211212222211221211112122122212121111211112121221111112122221221112111122212212222112221211121211211212112222121121111211222111212212212112211122212211121212222222221222111222122222111221222112122122211122211121211122121221111222112211121112211111121121221112122212121222211112122122112211211212221122211122222222212222222211112111111111122221211222111111122211121122111211111212122122211222212222221211222212112112121212221212111122221121221121112221111211121111222222222212211121212221222211221121112121211111222222122222112112121111222111112112121111122111212122212121222212211211211112221121122211222122111112111112121221212211122112121122212211221122121221211121122211221221211112121211122111211212211121212212211111121111211111222222122112222221221211111112221112221122122122222222212212222112212112211122222222221112212211112222112111121112112212112111221222221122212221211222211211111222122122211212111121211211122121111211112222222111212112221211112111222112211112222121221122211212212121212212211211111222222111221211211111211221111122112111112221211112112111121222222112211222222122122211221122211221122212121211221111112212221222121122211212112222111222222111212212121112121122112111112222112211112112221211222211222112112221212222122111121111111122122221111221112112122221221111211212211121222212111211121122112111111211122222122111121122212221212221121112121122121222111222211221111221121211122211221112121211212212222112212212221211111111122212222112222222212122111111211212211211221212122211221222112212211111122211212111221122111222221221112112112222222221211222121222121111211112222212112122222122122122112221112112211112212121221121112112221212221112221112122122222122112112221111112121211211212222221212221111212222221111112222221221111212211112222112121111111112122221212222111221121212122222222212121222222112222222122221221111112221222122211211122212111121122112211212111112121111211111122112112121222112211111222221211222221111222211111112222122211212222112212122112222221112121122221122221112221212222112221112121112122211122122121122221112221121211111221111121122111221212221111212212221111121222211122111122122111122222111121122212122212222211212122122111111121111122122212112221111212111221111122221211212122111121211121111211111211221211222122221212221111121112112122221211212222212212121222221112222212122111221212112212211212122221221122111112111121122111122222112112221112112122222122212111121222211212112212121221122122212121222111122122211111212121121122111122211111122111111211222121121112122221211222212211221212112121222111212121211221222111212211122212211222222122111222221212121122221111111221212222222121112221221112222212112222122212122121111221121112212221221211122111212221112212112222221211112211212212112221121222122121221211212122121211112111122211112212211212111112121212212212211112212212212121222221121221211221212211221212121222112122121112222212211111121212211212212211212222221212211121111111212211112112222112221111222221121111221111221121121112222111112212212221222221221112122211121222121212211212221122212211211111222221112222222222111122121212111211222122112122112111111212111221211122122212121212222221121112222212221112221211112222122111222211212211121111111122211221212112211221111122122212212112222212211212222222211111212111221111122111211221221221112221111112121222122212222211111222122121221211222122112212122222221121222221121121121211211111112221111122221221222222221212112121112211212222112122212222222212122222121121211112222111121211221221111111122211122111122122112221111112112112122122112121221112112121222112122121212121211212112222211111121111111121221212121221222112222212212111121122211211122211112122211112121121211111212111112222221221112211112111221122122222122121221122112111121222122222222211221211222222222212212112221221112212212221121121222211212112222112221121221111111222112122221211221122111212221111111221212212121122221122222111112121221221212212121222211112112111221222221121222121221121112112112122111112221222122111121121211212121212211112212112222212111221112121212111211122212211222222111112212121211211221111112211121112122122221121111122222112212212111111222111211121211121212122222121112122222122211122111112212221212221222211212111121121112122112111111212221221212121222121211212112112222121112222112221211212222122221222222111111121121212221122121211122111121121112111212122111121122212112222222112212112121222121222222221112212111212211212111121112211122112121212121122212222121211121112222212112122121122122212121111122221121221121212212212212222221112211112212122111112121122111111111111112211221212211121122211212222211222222111222121122211122112222222211212222112211221111121212122211221112122111221122122122212212222212211222221211111121221122222122222222111122221221212112122211221112111111221211122212221211211211122222122122112121122112211122112221112222221111111212211222221111211212212211222211212121221222221222221221112111212212111121112211221212111211111122211122222122221112111122111212222122121222112211121222111112212122212212121221211121112121112222121212212112212211212112111221222111211222112121122111111112222122111122122122112211111212111222212121111221111222221121212222121112111211211221122111121121222112211112121222221221112212212112211212122222212121212211121122212122121112211221122212121122111122221111111222211121211221122211122222112122222111122221121121211122112112221221121221112211122112111212211111121221211221121212122111121211121112121212112121221122221112212211112121112212121112222112112121222121121111212112121222111222222112212111222222222222112111212222221122211121222212112211222111112211121221122111211211121111221211121121112212111221211221221112121211212211121221212222211212212121111122112122112121112211222121111111222121222211211122212212211211111121111112112112111111112211121211221112211111112221212111221211112122211121111122121112112122221212112212122222222112212221111122211112212222112112121221211112222111222211121121112212122221212222212111122121221212212222122112112112212112211211212221121211122212111222212112212212121122212211111221221122222212222222221222122211222121122222111221122122112112111122121211221121111222111111212211212121121212212112122211221122122221112222222222111222122122112111122122121221221222121112122122221122112112111221212221111122122111111121112121111222121222111221111112212211211221212221112112212111222121111211122221121212121122211121122221222211111212112211111111222112121112222111212111212212112212121122211112221112221211212112221222112121212112111121122211221221222121221121221211111112222112222221121122122211121212112121221221111221211211111212111222122112221222211112222222222111211121122221112121212222111212221122122211222121122121211212122222112112212121121112211122112111122121211211112211112122221221222111112112211222122122111121222222111221122222221212112112221121112211122222222122222222222111211212211122112222212112122212212222122111211121221222122122112222221221222122211222212121211222212212221111212211221122112122211212222222212211122211222222212111122112211122111211111111111212121111122221212221212121211211112111112222121121221221122212111222112121212212112222222112212222111212221122222211222121112112112211111212221221121211212221211121111111211212111222221121111211111222112111122111212221222221221211212211221222212212112222222221212222212221221221111112111121222111222212122111212222212111222221122221212112122211221212111221111112222121122112112122111121112111222222222121222112211121121212212211112212212222122212211222212222221221222221222121122222221221112221211211211212112122121211222212221211212212121222211121211122221222221111111221221222112211122122222111111211112212112212212122222111211112112111121121222112112221221122112212211122211222112111222121121122221222221211222112121112111211121111122221112121121121221121221112211121111112112222111121222112212212112121212111122111111121212121121121212111221112121111212211112211121121221212111221221122221121212212111112122211212211121112122221121121222211112122121112212221211221222122122212221221112222111221221211221212222121111111211121212111112121111211122221221222112111121222211211211121211221212222122222212112111211211121112121122212221112222212112222111121111112212211221222122111122221111112121111222121221221211112111122221212221221111212121122111211111111222112211121221121211211211221211222211112221211222212221111222112211212112212212112211112211122221221212221212111221111122121212112212212111221112211211111221121112221112211122222122111111121211121211212211222221222111221212211112211222122121221212112222212121221111221111221121121121212112122121121111121122122122121121112111112111112111211121111221211212111112121121212111121122221221121111211112221222111221222222221111112111121222222122122121111221211121122222212111212122121212221221112222212122121121221222211211222222122112221212222111211112222112122222211221112212221211221122122121222221211111111112222122222222122211121122221121212121222221222121122221212222111212111222221222211111212111122112112221222122221222112212211212111122212112112111112111111111121211221222222111212122212112222221122222212211122222222222111111121222211222222211222211111222122112111111121212111211121221122121122121121212212221212212222221221221112112211112111212212111222111211121112221111221121211112221111111221121221112211212122122211212121212221221212221211121212112112121121212222221112222112222212111121111211111111121211122112122111212112211211122121221121111111111121121122112211111221122211212222222121212221212111112112121212211112121121111222121122221111221121221112211221112112221212121211212212122122222121111211212222222121222212211111222122121122112221222211122222212111122122211221222211212122122121211122122211221221211221221221121221211222211212111221112112111222122222112211111112112111222211212121121211221121122222212211122111211112112122222122121122121121212222221222122112112111211222122122111222221111212211121212121211111112222221212112212222222211212121121221111121212212212222121122221112222222111112211112222111221112222221221212212212122121121211221111222212112112212121122112112211212122212122111111211112212212212122122121212211121222112212121212121221212211222221111122111221121212111211121211111212112212211121221121222121112111212212221222111212212122121122122121121211211112112122211121121222221212111212121121121111112222212221211212122221212212221211112222112211112121121111211211222222221211121221222211111112111222221121122211111222111122212211111212221121111122221221212211211212211221221121122122121111121112122112211112212222122112211121111211212211222211121111211111111121121121212221212222121221211212212122111111211121112112211211121111121212211112112212221112221112212111111121212111211121112111222211221211112121112112211211211212112112211112121111222211222122211222112222121122121221221212221111212212221122111211221112121122211121111122222221112221122221222121122221211222211211122111221122221222212212212121212212222221121112111212222221222212221221112122221211112121212212122111212112111221112211122121221212122111111221222122112222211121221112212212221211212122112121222212221211111121221211212222212212111121212211222211122211111121111112221221122121211211221121111222212221122221111121121212222111122111111212222211121222122211212122111222111112222212211221221211121121211122222221111122211112211222211222122212221222212111112222211222121211112122112112221211111211211221112121212221211121111112211121122122221211111111111122212222111222111112211121212112111221212221122121121111211111111122121112122212221112222122111221222121212221112111211212221211211122122122112221121212222122111112112111112212112121212122211221122211112111111112221222111121221121111121111222211112222212222221222221111112112221221212112212121112211221111212221111222211121112222112122111212112122111112122221122121211121112122112111222212121212221111211111112111112112212122122222112211122221112211211112112221221111111221222111112221121211222212121212112121122212121222221212112112221221122221122212211112222121211121222122112122112212112111221211221212112221212222121212222211212121212111212121121121111222121212211211111222221221221111112211221122112112222221222122211121122222211122222211212221221211212111212121221122211222212121111122112121211212111211121111212221222111122212112112212211111222212221112212111112111122212122122111212212122112211112111121212112221211212111211221211122111111121122122211211221122121121111121111122122122122121121222212222222111121122211111121112112212211221112111121112211221112111211212122112112122112211111212212222122112221112222212122222221122112121121111222122221121221122212211222121111212222222111222112121211111112211211112121221221111111222112112112211221221221122222222122112111111222222121111212112111221211121122111112211221221122211112221221222111122121211212212111121121112121112111122111112222212212212211112222111112221121112112112121212221221111112122221222112211121112112212221122121112112121222211211121212111222212122122112112112112112121222122121111111121221211221222122111212122221211111212122211222121222122112221112111112221221121121122211111221211111211121122121121121111121222122122212222121121221211212112221111122112121211211121121221221122221122122222121211212212111221111221122121112112122112221221222212211122121111222112221112222121211111111111211122222221112121211111212122111221212111211211112112211122122112121222212212121121111111212121121222221111212221121212121212212221111221212211112221222121122112122122122222211122211211111111212121112221121122122211221121112112111211211122122122211112122212112212222221112112222111212111222222122112222111221112211221222111211122121221112112112221121122211111212211121111222112211212221211112122121212112121212221122121222212112121211212222112122221212211112122111211211112211221112221222211211212121212121222212112212222222212121211221111212212221222211211112111122121211121222112222221121121112211111121112212111211212121121222222112212112121212221222222221122212211222122122221222212212221221221121121121222212121111222122121212112112112222222222211211111112111212112122212121222121122122111212221121122121111112211121111122122112121111122222112212212121222122211221112211121121212121221221121211221111122222212111121212111112112112222212221121212211121222211211222211111122211122211112212211111212212111221112122111211222111221121222222211221221122122222111211222212222111121222211222112112221211221222212212122211111112112222221211222112111211121211222121111121222221222212122221211122112212222111212111121122112122122121112122222222211211121122211222221122212221122111122122222111111122211122222121111211222111212222112222121111122121112222221122221211121112212121121212112211222222112122112121212122112222222212112222222212221112112222221222212122221111221122111211221211222111221112222222112112121212112212121222122212111121212221221111212121222221121221211222112112121122221212221211121122111112211221112121221221121212121112111221211122112222121122111222122221112122111211122122112111111212111112111222222111221212121111112212121122112121121212222221112121111122212122221212121221112112111212112112111222122111212221122122222222211221111111121212222212221121112121222212121221211111121122211221211112211211211222211222112121122112122111222221222222121122122211111221221212221222112122211121212121111212121221112122111212121122122111211212222111112111112112211212112121221111122211112222222211111112121212111212121221122222211111211122222212212212121111122112212212112112221122222211222122122212121122211212212122112112112211112112211211122212222211211122112121112221111211222212112212212221221212222111121112211121221212112122112121112211122221121121122221122222221222112121221212211111112211112121111211212122222222111112112112211112212212221122221222122222221121212211112111111121222222112112122212221212221122122211121112222212212122122121221121211222122112211111221111122212222222211112221212222212121111121211121111211112111122111121212112122211122121111111121212211221222112221111212211122121122111121122221111111211221211121221221112112121222112111122221211222121221221211122111122121122221211122212211212222221121221112111112221122222211111222111212212211122111222112212221122112221121221222222112222111122221222212111121121212111112221211211112122122112221222211112111222211122221212211221121211121111112212121212212122222222112211222211112122111112222122122211111122222211122221212212122222222212121222211222121211221221212221212212212221111112122221111221122221222221211111122121211112212121222122111212222211212122112111222122121211222111122222221121112222222211212221212111122222211111112211122222222122121222111221121212211222112122121122122122122212222212121111211211121221221222112212222221122212121122211121121211221112212121121112211122121212222112221111221121222112122212112122111211111122222112222111122212212122111111221122122122222121112121112121211121122221221221211212222121122212211121221222112212211221121211211221212221112212222221122122222122121112122122222112222221222121121222222122212121122221112221222222222211122212222211211212121212122221112212122212111121211112112211212121222112111111122112121212122121211222122121111122221212112122111121212121211122212221222122111122212112111112222122121212211111121121211212222122122221122211211122121112111122212212212222212212111212211121222122211211122111221212122222222122111212211221222111111122111212112222111111211211121221121212121211112211221222212221112112221112212111122211122112122122212121211122121122121212112121221121112111121221221111222122222222212222211122111211211112111122221112211211221112212111211122221121221112122211221111121222122121111211122211222121122221221122221222122221222111122111111112211222121221222121221121122211212221121121111222122112222111122212112121221211112112222212112211112122212111212112212211222111122122122111221222222122111112212211111221111122221112212211211122222112212221211111221212212111212221112212111212112111221212221111222211122222212211111222121222121121111211122121112122221222112121212221122221222111111221222112221111111121111112111221122212221221222121112111221222221221212111212222112121122221112112112221211121111221122112221211112221112212112212221112222111111122221122221122212111212211222112211121222122112222122221222121111221112212111121112212211112111122122212212122221222121212121112221121211211222121221112111111211211121112122221221122122121111221211221212122211111211122111221211111112222121112221222222112112112221222111221221212122112222222222221122222222121112222112121122211222221212111111222211211111211211211222222121122121122121212221111211121212222122221211222122121121222122211112111212221221111111221111122112212112211121212222121122221212121112121211121221221221211222121212111222211212111221121221212122121221221212212121212112121211222222121222122121111112122211212221121211221121111121212222112221212211222221121111212222211211112221122111122121222112221111221122211212111122222211111211212111121122211122222121112222221211122222122112112222121212211211122212222222212122221221222111112212212121222112212121222221222222112222211122211222111222122211221121112112121212222222121221221122112221122111221222221212222222212111111212121212211122112212211121212211221111222112221221211122211222111222212122111212112222221111121112111112221112222122211111122121221121211221122111222211111122121112222122111221122121221112111112212122111121112112222112221211222211111212112122121122121212122121212222111212221111222112221121111112212221112112221222212212222121112121111122112211121111212222221212122121211122221122212211112111111112222111212112112222122122111211111222212121121222111111212211121121112221121212211211112111122121222221212112222122221221111212112221122112112222222121221221112122122221112121122111212221221221112211222111111222212112222221212221222222121121221121221122222122211222221111211111222211111122121221121122121211112112112222211221221111112222211212212121112222122212222222112111122122121222222221212222122111121212111211112121112212112211211112212212211221111222121222212122111122112211221212121211122212121211221122111221112211221222111211122222211211221121222222112122121221222221211221212121121111221212112222112211221211222122112222111222111222112112221221211212122211121111112211211221211122112222222212122221121222112211211211121221122221221122222222222212222222211112211122212112121222111221121212122111121111121211211211111211121112112121112212211212111221222112112121121111112212221212212122212112111112112112221221211122212212121221211122221211112112212211221121211122122121211112121222211121112112221112212121112212212121212222222222211222112222211222212112111122211112212211221212121112111212221111211112112212111222111211122211212112111222212111112112111112122212212212111111221221122222111111111112112112111211121221222112211122122222111222121112212111122112212221221121121112212122122212121222212212222211121211221122122111121211222212112122221122112212221222222121222212222112212212111122221211122112122121111121221112112112222212222121122211121111111121222122112121111112121211112112211122111211112212122222221112211212122112211112121212122212211221121222222121211212121112111112212222212112221221121111112122221121122121111212111211121112112111221121112212221121212121122111122211121121112211221111222222121111112212211222121112111212222222212212211112222222221212112221112221121221221121211221111222212222222212121121122221211112222212211211122211111222212121122111112121221212111222211121122112211112121121112121121212111111121121122112111122111111112112211212121221211211121111122111121122121121221212222221221212211111222111222221222112111121122221122121221222221221121122122222222222211211222112122221121121221212121112112222221212121111111212111211111222211222122112112211111212222221221111112211111221121112212121211111112122122212211212122121222112212211122222121122212211121212112122112121222122211221211211221111121222212112211121212121222111212222111211211221211222221122212122112222121121212112112212222221111221111112212112121222211111121121221121121122112211222122212211222112212111121111122112211212121122121121221212112111121112211111222111112211211112212212211211112211221121211112122121111222211212221222111221121222222112222211122222222212121112212121121222112212112211111211211221211122122122222222121212121222212121112121222112221222121121212122111121112121121222122222222111112121122121121122211212222122112221111222221221211121112122212122122121211111221121221121212122221122112122112222112222211112122121221122211122112211121122211112111211212111121211211221111121212221221112212122121222112222121221111222221122122111212111222122122221112122211121222222211121121121112211122111222222121212121212122212212221211212122221221211112221111112111111212121212221122122221222112221112121121222122212122122211122211221111111212222221112222211122222221212112122112222121211121112222111211221222212222211222112211111112222211221112112212211212112212121121212212112222111222111221221211112111222122112112212221122122121212121212122222122212222122221222111211111221222221212221222112111211222112122221111212121212211111212111212222212222221222121221122212122211212112221121222211212212121122111211222111211112221122111112222211112111222211212212222112211121211111111111222112221222121222212222111212112122212222222121222111221122112122221122212112111111211112112212221221212112122111212111221222221211112212121221211121121212121211112122211111121121222222121222211112112112222122121121122121111212211122122222122121122221211221121221111111111112112121222121212121122111122122121122121211112111212221221112121122121221211221121222111121122222112212222122112212122112122221121112222122222111222122212122111222221111211212211121111112211211121211211121222212111112222122221111121121212121222222121212121121122122212121111221211222221222121121211212211122121111211122122122111222221222121122212112222211121221122112112222121212111111221212221111112211222212222121122122111121221222111112121122211212212121122211121122222222221211222112211222222212111121221112112121112111121121211222121121111121222222121211122112112212212122121122111221212222112221122111122112111121212212221221121221112121211212111211211211212222222121221221122211211212221222121112212112212211221221211122122112121211111112221212112111211211212111222222222212112211212122122111212221121121111211221222212111222112122111112121222222111211112121212222212122222121222121121221111222222221211222212212112212111211222221112212211222112111222222122111212212121111212212212212122122122111111211111222211122212121122212111111122121111211221122221211221112122222211121212211222222211111112122222222111211212122111211111221112212212122112221121121112211211112121121221211212122212112111211212122212122212222111211121221121121211111222111221222111111212121212221212221111112211111121212122121112122122112222211211211111221122112211211211212222112121112121112212122111221221221122121221111222212222111212121112212221111221221111122222212122212111212222212111121211211211112221212222221211122212212222221121212221222112112212121121122122121222121111111221212122222112222221211111121212212112122121221122111221212112111211211211222221112211112112112122222112122122221111121222222111112111222112111211212222221112211121222222211211222211221112121111112112211212212212121222112211122221212122122112121212221222112211212211122212222122212211112111112211211221222221221121211112112112211222112112221222211122122111212121112222112111222111212112121111111211122222221222121121211122122111222112212121221122112111122221121212222112211221121121222212211112211122212111212212121121111221121212212112211121122212122212212211111121111212122111111121222112211221211121121221122112211111112121122211212122212211122212112211121121222112112212111112121221212112222222112222222121121121111221112222121111112222212122212121112212221121112212121212212112222112211121212222112111121221111112122212222122212111221212211211211121121122211111221211211222211221112221222121122221211111121222111111222112221212121221112221112222212211112121221222212112111212121121212221211122211222212221111121112212212222111112222212211112211111112211121111222122122221122221221112222122221122112112211222111211222221222221221121112211211212211211112221212112121221112121122221122212221211111121121221111122222222112212212221111122222121121221112121122112111112222112211222111122122211121221221211221212111221212111212212122122122222112211112112221211112121111121111121211221121221122221111121112222111111112211211121111221221111122221222121122212111221212221221122112112221222122211222212222112211212122122122221221111111222111122212212221211221122122111222221212212211221111212221221121221212121111212211122111112121222112211221212221212222221111222111112122111121122221212111222222122111211111112111211122111221122222221112212221212121121222222211212211211112111121122222111122112212122111112222111121111112221211121221121212122211121212122121221221222212122221111221211221211112112122222221212212112222221211122121221222112112211122112122222121222111211211212111121111221221221222111111112212121222221122122111122222122112111212112222221111211112212212111122122122112211221121111222122121112112121121222121111211111121221222112122121222212211212122111122122121112122221221121112212121122222111112221121212112122121212121211211221222122212211111211112221222222221222112212121112122122121122211211112211222212221121221122111122121121222211121111212211122222122222122222211221222211222212122221212212211121212212121222112212221221122112221211112221121222212222221122212212221122111212221112111111222222112111221112122212121212112121112121122122222121221211221221211112212222112111222121112112211212122111112111211222212111222212211211111121111222212121121121212111111121221111122211211122122221221211112121211121122222122211122111122211121221121121121211112112111122122222122212121211111112112222122212211122222111121212221122111121121121212212221121112221221111211222111121111111122222121112112212212222111122111221222222121122121212222122122212212122212211111222111212211212122121212221222122111212112121212111112122122111222211221211112211212112212111121121122121222211122121111221112111222122112111222121111111221112212121112211122111211111112222122222212121222122222112222111111212121122111212122111211121221211211221212121111112111122111112222221212212112211122212212222212211122111121111221122222212121222121122122121212112221222222221111222112122221112212211211222112221122122211212112212212122222121211211122221221222221221111112112222112212121222211212122111111212112122111221221111221221211221112121222221112122121112121221112121212222121221221212211211122221121211212212111212122122112122122211221221211121211112221212122122112111211122211221111121221111121122122221112221221121121122212121122111112211111221222221222111121211122111212212212221212122112111212221211111222112212221211112222111111111211221212222111112122211112121212111221211111222112211111111212222121212211222112112122212112112121112122111212111221122221121211122121222111212112112222221221221121211121111111212221111211222212222111222222112222112122111121122122212111221212222222112121221211111222211122211121111222222121212112111122221111221222112111211211122221221122122212122121211222211212122212111222212222222212211222121112122211221221221112212121221121211122221111122112111121222112221221221222221112121122222222122112111112222221222221221212212121211111211111212122221211122112221122222121112122222212112221121122112112112121211212111112112212211221112122121211211221222111111111221221211121211211211121112121112111112222122122112211212211222221211111211111121121112212122222111112222211112222212222221112112222111212221112222112221111111222112221122211211212212211212122212222211222222212211121121221221111212111121112122222112121111221122121221122121222122112211211122112222212212211112121112122122111211212211112221111112222222211121121112121121221122122221121121221222222211222221112222122211122122211121112222222222122111211212112122222111121122112212221212222112112111122122212111112211211212122212222211122112212111222221121122212112121221111211221121211122122221221212112112222112112212221111121211211112122111121122122112112211121112212211122111111121211111221111212221222211212121112112211111212221222211221122211112111212122221111222222122212212212212222111112222122211211122212212222121212212212122112122121222122222112211222122122221111221112111211211212121111221221221111211212222112211221211112211211221122211121112111212112222221222121122212121212211111221212222122111122122221112222211222122122222111112121211122221121212211212222121122112111112111211122112211112121222112222221211211121212221222212211121112212222122221111222211221121212112122112221222222112121221112212121221221222221222111111122221121122122211121222122221122122211221112222122211212211221121221122221221111212222212221122222111221112122212121121122111211222211221221111112211222212121122221121221112211221212222111122221212211111222112112112121121221211221112212212211211221122222211211122211212122221211221121221111111222121211211222212122122222221221121221121211221112112121111221112122121121211222211212122222222212211111122122211122221211121121212222212212121211112112112212211111212212212122222221221112111211212211112111111221221211112212111122111111111122121222112111212212112112221222211112122121222121211211111212111112211112211112211221211211221222211111112121122121211222221222211121211211222211111212112122222121112121111112122211212211111111221112112212212222111221112221122111111122211221111122121211211221122122122211222211221221222211222111222211112122222121212121222112222122211121212222211211112112211222122112211222111121111212112222221122112111112222222221111111222121212211112111111221212112111212111222121121222211221112221112112211121121212122221212121121122211111111121221211211212212211121122211221121112121222212112211111212122221122222212111212211211111111221111121111212211222111121111112221111111112121222121122112222212122112212122221112122212221111121112111222212112121112211112211211122121111211112212121212222211221111222222122121212112222111221221121122112122212212212221211221122211212212111221212122222122212212112112222112211111212221122222111111112221212121222122212122111121112211211112122111212121222111121221121221122112221112222212212211211211121221212211221212211212121111221122121222211112212211212122122212211122122221211122211221112211222112121112122211121212221121212122212121112111211112122121112222221211212222212121211111221112212221121212212111222211211111211221221121112121212111212212222221211212121211212112122222211211111122211111121121221211211111121111111222112122122212121221112122111211221122111211112121112222211122211111222211121111121111112112111112222111122211122122222221112111111221111221221211112211211211211121121122112221121121212122212111111122211121211221212112121211221111222212111212221112111222111111211122121122111112212112212222122121222221222221222112211212121221122221211221221111121211212112221222221121221221212111111121121121211111222221221112221122222111121122212111122211122112222121121121121211112212221221121112122121112112111222122212212122111221111212211222111111121212221212112122121112121122211222222112222222222122211111222121212121221222211222221122112122222221212121111212211122111212221221221121111221112221122221212222121212221112122112112212122122221112222112211111121222221221212211112212121212112212211211211111222222221212211221221212111122111122111112212222222112221222222221122121212121112112212121222111121222222211111212221222222112222111111112121121212222222111211222211221112222112222111212122212122122221212121121212122121222222211222211121212111222112222212122122222212112111112122212122222212221111221112222111212122212112112222221222122212221212121211121221112222122112112222122212112222121211112111222111112212111121221111211222122111122122112222112122221221222122122221221222112121111122112121111222122221122111212212112121122222211211212121211221122121112211212221212222121122221121111111112121221121212112222112222212111112121212221211112212222112211212221221212212122212211111221112121121211221221212212122211112112112221221212112221122121111211111122222111222212111221221212211112212111122212112122122222222212121212222111211122211122111111111121122111221211211212111211122121221122211222122211211221211122122112111211221222122222112222211221122122221221111122221111222212222121211221212211211111211121122212112222112121121122112221222221211221121212111212211222221111111111222112122212221221111212121112221112121222121122221212122111122221212111112122111211121221211112122111112111112222221121222212222222221212122122111111122122212212111211112211222111222121121112211211111122222211121122122211121221221122112212121221121121212112122211212122212112112221222221212112122211212111212121222211122212111112211212212111222121111122122211121111121121122122221222121221212222222211221122221122122211112112122121122121111222121221211212212211222122122221121122112112121212122211112122221111121122222112221221211111211121121222122212211221211221222212121211221112122212221222121222122221121122112112121121121222112122221112111222121111222211212211122212111222121221211111221221211111112122211111121111121122122122212212122112111111211222221222222212212112121222122222122122212222211212211112111122122212111222211121222222121212222122121112121221122111221222121222212121221112222121112122121112212112222222112221121211122112111121112121212211112211212121111211122211121211112222222121221212112212111111211222211122121222211111112211122111211112211221221111112122211122121222122122222112122212212112222211222212211211211211212122212221112111122222122112111112211211222122212122221212211122122111112211122221111112112121122121212211221122121211212221212122212222111121222112211221212112221211122112221112121121121221221212212221221122112122211221211211221122122122112121222222222122222211212121221211122221221111211221221221122111111222122111221221122221121211111111111111211221121111122212121112111211112112121211222112212121222122211122111111111121121112111111211211222111212112122121111121212211112111112211111221221211211112111112211112222111111212211221222122121122121222112111221121222111212121121112121121211111112221211111122212211111111221111112121212111111212222212212112221122111211212211112112221111112211211211222211222112111112111111211111122211111112122212221121121222212121222222211212221122221222221112112112222211112212221121112211221121222222221122211122211111222212111112111212211122222112221211112222112111212211222221211222111222221212222121111122211221222221222221111122121221111122222211122211121112112221112122222111211212222221211222221211221221112112122211212112121121122211222222121112111221112211211211122121112212211121222111221211111121122211222222221221121222212211212111112211112212112122211222221121122212222112212212112121212121111122111111212112212212121111212211122111212112211222111112111122122221112221212221122112212112222212222112211111221211121112221211121211121212212112121221112122122111122222121122122121221121111222212111112211222221222222221221221222211112211221111211112211121112222221122121212111212122212122111212211212211221111212211111212222112211211111122112112121121212122211211122212221122222111222211112111122211211212122222122112222111112112111221221112112121222221122121222222111112211112212112222122211111222121211211111221221221121221122211122211121121122112222111122111121111211111212121112111211122222212212122122121111122111121121222122222121211222221122222112212221111222112222212211211111212221112211211111212111111222212111221111111122121212222122122112211222112212211221122222111121121221222111211212112222212111121212112122121121222212221122222111112222222212222222222122222111122222222222221121212122122211111112122112222222111222221111112221212211122222111112221212112221222211112212112121221122211112212212212112222121212121212221221222221111121111212112122112212112111121112111121221112222211222121111112212212221122222112211122121211121222121211121121221222122211222221222212221211121121212111112111222122111111122121121111222112112211221222111122211221122121211122222111112211122122221221221121221111112211212111111122211122221122221222221211212111221111212212222111111221212221212222222212112211221212111211111112212112121112211221112121211221112222122122212121211221111122221222111122122211121112221121121111221122121212122221111112222121121211212122221121122112212111112222212111221111211111221222111221121122122111121121211122222222122112112121121121222111212111211221121122111222121112122122121211122221121222222212222121121222222112111222121222111122211111111211121212122122111212112212111222112212111121122122211222212112112222112122222111111112121222221221121111112221122111112211211221111111222222222122221112212121211121212222111221121222221112111122121122111121121222212222111112121211212121121221111221211112221222211122221121121222112221222121221112111221222221122121222222111111211121122222122122211122121122112121221121222211222122112221222122222122212211221112112211222222122121122121222211122111112122222112211122112111222212111221122212112111112212112221111212122212211112121112212112121121211111122112122222111112112221221221122121222111112111222222112221112222211121122112112112212211112221112112212212222211112212121221112211122212211122121111221222112121221112221122222111221122221211122222112221112212121112111121221221212121212112112222222211111111211111122122122221111121122211111211221222111212221212122112121122222111212121221112112112111112122121212211212211221212122122121112212221122211122121222121111122211121122222121122111112112212121111221111121211212222222112221121111112122121212211122121122222121112111121221221222121211221111121112112112122211211122111121112212121221211222212122121111112112211222212211211222212122211221111212212112111112221111112121122122121221222112212221211221211121122121112112212222211211212222121212211121221121111122222222222122112112212211121112111112212121222122211122121122111121221122222221111111121112211211112111221221122212222121212222121211121211122122121112222122122222221211212122111122111111212121211122211221222111122122212212221211212112111211222112111222212212211111121211111111222112222112221112212212222211212222121112212121221221111112212212112211212212122112121221121211112122122222221221221211121122112211111212122211212212112111212211221221121111121211212121212111112112122122212122121222211112112112222121211122211221222212211111212211211122222121221222121112121211222111121121121221221222211221111112221211222211221121211111112122121111122122112212122112122221121122122221121211111121112111122122222211121221111122111221211222211211221112211221222122222211211121221222212222111111122222121111221122111212221222112122122211111122112212121121221212111222222222111221111222222222221222111122221122122121222112122212211212112112122221111212121111221122222221212122221211212111111112122111221121221122111222212221211222211111212222212122112122212122122222211212111221122112222121121211221221111121221211212221122121121211221221212122221212212221122211121122222222112112121121211222112111111212121122112221122212211212122111112111112212122122111121121122211121112212111211221211121211212212212112121111112221212112211121212122112222112111221212121112112121221221111121112121222122111221122211221111111111221111121221121212111112111122212112121122121112112112112121211212221222221121222111121121221212222121211112121212121121112221221222212212112121112211221112211112121121212222222111221212222111122112121221221122222112122212222111211221122212121212211211121121112211111112111211222122221221211222122212121122112221212112211112111122222222222212221121111212211121211222212212221212122122121222121122111111211111112112221121121211121112111112121212211212222221121221221111111112111112122221112112122211212122221111221121122121211211122211211122221122121122222221211112222221111122211212121112222111212112212212122212221122222112111212212212212112222221112211121221211112122112211111122121222122211121221112122222221212121221121122111122211222212122112212221122111211211211122211222222122221122122112221212211211111222122111122112122222112211122212211112221211122111111122221112121222112211122121122221121121222212112221122212111122121121212112221122111112111122222112121121111111111222211121111211112221121112212112112212111212121122212211212221222112211121111122211211212222221112222112121211212211121222112112111222222212211222212221121121121211111112122112211111111222211112211122211211212212212111112222222222112222122121222111122121121122221122221122111222112121211122212111222221122121212211111112122111111111221111212212112222212122211212222212212221111221111212122112211112122222121222112221222212122222221121211222211111121111221221121121111122112211121121211121222221221212112212122211222211112111222112112212121222221222211211221111112222211112212121111221221221212222122111121112222111221112211221221221212121212212121221221211111122221211222212122111122112222211221222221212121211212122212121122221212122212112221211112211121111221222111221121122111212112221111211111121122221222211211122121212212212221221222211111222212122212111221211222111211212212121121122121111111112211122221222211222212112221112112211212122211211212111221111212221112222121111112212112121211211122221211222111212222222212122221111221221112122111111212221111121111221222221211211122212222221221221211222111212112111112112122121121222111222121111221222112122212111111212212112211111121111212211121212111222212122112221222211121121212122221122121121122221221112121212221222112121112121211212121121111212121211212122212121212112121111112121111121121221221211122121121222221111111212111212121111111221212211112212211212222211111211122111121222222211111112221211111111121222121211212121111122211222221111111221221112221221111221121222221111211212212221211111122122121112212111221122111112112211121211211211111112222111212121222222212212112222111121111222222211111221122112111212211212211212221222121212112111111211111122222111122121112211222222221112121211112111122222121212222212222222212111111212112121111112212221111112212112122211121211111112121111221112212211122221122122122112221121212111222221212121211121222212222122112111121221122222122212112212222221222222211212112121221222111222121112111212121112212212112212212221212211221121212122122122211122222221212221122211111111112211122111212211212222121222222121111122122112221221121222211111222112222222121212111111222121111121212221112222211212212212121222112122221212211212211111212212111211112112122222222212121121112222122111122111221112212222112212212112111212222111221111222122221212112122222121212222221121122212111122121121111222222121212222212221122221212122111212122222121221112112221112121222212111211222122222211111122111212211221121212212122121112121112112221121211122212111111222222112221112212111221221211222122221122222121222112111111112111211111221221112112222222222222222122121212221122212211222211112221221211121211211112211112211121112211212212222112212112122111221111112221112222221211111211221112111222212122111121111121222122122112122211112112222212122121122212211221121222111222212122112122212111212212121112212112121121222222222121221112222221212121112122222112111122122111212222112222121111211111212122211122121122221121211221111122211212112112121111222112121222211111221121211122212212111212211221211121212111111112122222221121221212222112122222221122222111111122221221121121112111111212212221211112121222222121112111122122222212212222212112112211111112121222111111112221211112221221222221112221111212211121221121112222221211211212211121212122122222211122212211222112212221221122211222222112211112211221121122212122222122121222121211212121111212112122111211112111121111111221122121221212122212211211122222112221111222221211211111122111122122111211121212211112111221112222122111221222121221222212221122112111111211212211211211122112221221121122111221221212222122211222221221211211221222211122121221111122221112111112222221211211212211211121221211122222112212122212112121112121222122122222212121122211222222221121121121221212111222122112212112121212222221122112112121121221211122122222222122211212121221111111112122111122221211121111211121121121222211122222222122222111212222211222112222122122112111111112121222122112112112122121211121112221121121121121212122222211112222222221122222111212212212112111122121221122111111222111112112212111221212112112121121221222121212122122222111111221112222122212222112212122121211211222112121212221121222121121122211112122112121212121111222112212112122121111222112212122121222112111121111121221212221121221121212122112222112121111121211111121112212221222122112122222122121221221112212111111121211212222222221211112221121122212222122212122122111121222212121212212222212122122122121112212112111121111211111111122122222221112121112112121122221211211112212111112211122112222122112112222121211212212221211122112111211212122111112121221222111222222222112121111111211112211111122221122222112211122211121212111111222112222112122211111112111121222212212212221121121211222222221111222111212121221122111111222222212112221221111212211122222121111211122121122111221122122122221222221111121112212111111221222112122121121222221221112222111121211212111111111122211221122211212112221222222122211111221222112221221221112221121212122111122121112221222211212111112121222221222211221121122122212111211212112211211211121111221111121112221111122122121112212122121211112211221211122221111111212122122112121212122211111211212211212211222222221111121111211221112222212121211211222221121122222212121212111222111212211221121221212112222112111112121111122221222121211112211121221212212111122212112122211222112221112212112222112221122111211112222212211221121122111111211122212111122212111212211212121211111212222112222222212122122112221121222221211212212121112122122112212211221112221112212111221211212212112212212111112211121212112122211112121112111222111111221212211111112211222222222222122112212222212221111121211111121121221111222111212122112121121211122222221222122112122112212222212122112111122122212212222212122221222111221111112222212212222221112212122122122111211211121122211121211121212222111211222121122212211222111122212122112121121111121211222222121222111212222222111112212221112122111111212222122112121112211212211221221112122221111111221121112111221222121222212222212212211112112221111121111212212111221111221112212122222211112211121211112122111112111121211212221121222221111121222112212121221221222122211122221221111112211212111111121221122211112221111122212111112221211221112111112211222222112111121212212222112211221212121112112222121222111221121111121221122111222112121112122221222121211222111112122212122121222212111221111222112122222112221212121122221212121212221111212121121121121111222122221212212211111221111112212121122112121221221222222111212212221212222112122212111111221121111111222222122212122112111222221211211212211121121212221122221211222112121112122222111122112112112112111222112121112111111121122122222211111221122112122221211122122111221222221112112211122122222211221121222112121122222112221112111221122122111222212222121121122121211111222121122121121212212121211221211121212122211112211111222111211122211122122111121221222111212112212211222122112211212212111211212122121121221122222112212221211121122222121111122222221112112222211211122111112112121122221212122112221111211111121112111221121221211121211222212211222112211222121121122121112222212111221222111122221211221211212221112222211222212222222111222222211222122221111211112221211111122221121211211221221122222121112112122211122112211122212221212212111111111211212221211211222112121112111211122221121222111111211112121111122222221111112122212212222212112122222221222222221222112221112111112222211111122221211122221111121211212211212111122211222211112121111112121121122122222221221111111121111111221212112222212212111221212211211112221221211211212212211212111111211121122121112121212212212122221112212121112122212111122111211222222211122112222112122121222111212112221111221122122212121112221221121122222222121111212122221212221111222122212122111212112111221211222212212212222112211221222112111111122112112212112212211222121121221121111212211222221112122222212122211212121221111111111112221211221222211122211111212212221112122211111121111221112222222112122122121122111111222122112212121222212112211122222111122222122211211211221122211221212211222222211212121211112221211212112122122122111112211121121122211122112122112122222211112122211212211121212121222111122122122221212111212121222211211211111112122111221122222121222211211112121112122211211221121222212121121122111212122122212221121222111111121111111122212111122111122221211122121112222112111221211121211122221112212221112112122112112121211211222122222212122222121112212121222221112122212112111111112211211221121212111211221212112122221122211121122222121122221211222212221112112121221221111112221121112211211111121211222122111221211122211222222212122222122121122112211111222221121212212222121212221211111112121111212121121222212212112122121211212112211122122222221221211121221121211211112221112212212121112111111211112121221111111221211221222211212121111221122211112112121111212122212212121211111222112121212121221221122112121121122122211212112111122212122222112222121222222212122112211212222121112111121112211122221112121212212122222122111111221112112211112121112112122122122111121122111222222222212112211211221211111211122222211222111111221111112121222221122212211112222222222112212212221121122211222211111221111122121222222211212111221122211222221111111211111111122211112221211112212111121112121122222222122112121112222222212111211121221222111221122221222212111212111211212112212122222121112212211121121122212111121121111212111211122122122122221112221211111111222122211112112221211122122112212121112111211111222121212222211211122111121111211211221212121212212112212121122211221122112122122122212222112211222111112222212211221211212121122111112222122212111122112121212221122212212212222112122221222122111221122221212211212121111111112212122111122121121222221211211221111222222211221211211221212112122112211121212122112211222212221211222221112222212111211221121222121112121121221222212111122222112222212121211111211112122221211111111121221222222211122122212121112221112121111112122122211222121111211221221111222212211121221211211222111121212122222221222121121212121121121222222212122222122221211122112221112222122212221121122212122121112121212221122212211221121221112121122121211212222122212212122221222112112222222211221221122222111121122121212222211122222112211112121211221111112112112111122111212221221221112222221222111121121111222121121112111112122121212122111212121222222212221221121111111211222111211221121211121211121112222211111111212212212121111212212112121221212212221122122221222112222121212211112122111211121111221111122222121111211212122122121211222111112121212212222211121222212112122222121121222121112211211121121121112211212222211212122221111222222221112211211112121222222121222122122211112112121212122221211211121221222111222222122211222212122122122212221121112112212121222221211221221112211122112221112212122212221112111221212122212211112212222222222111111111112212212221211212121111111221112212222111211222211222111122111211222212211212222212112111212122212121212221122112212211122212212221121122212211211222211111111211211122221212122211222212222111222112112212221112212111121121112222211122112122222211121212212221212211222112112121112212122212212121211211221211112121221211221211121212221212122222112222211111222212212221111111211212222211222212212112121121221112212121121221211222212112221111222221111122212122222122111222222211212221122111221211121111111211122122211221211222122222111221212111222112212221211222121212212222211111212211122211122221222212212212221221122121122121121212212222111221112111221211211122212112222222222212122221212211112111211111211222111112121111112121121112112112222211211111222221211111122211221212112111211212211112122211111121112111121122122112122222212112212222212112221111221222112112211111212121112222112121111212111111122221211211212212112222112122221211122122112211212221211122211221121221112211212212221111211111212212111222212121121211221111121211211111222222222222111112112122221212221112112211211112211121121211211122211111121122122211112112222112221112221221211222221121211222222221111122211212222221121112212111212121121111111112221221221112112212112221122211111122122211211122112122212211212221212222222121212111122112212111122112121222121212122121122121221221221221212122121112111212221212211121111112122221121112222121112222211121212212122211212122122221211111111112121122212111222211111121112221111111222212111221222212221212121111121221221222112221211221121111221211111112222111112122112212111211112112222212112122122111122122221222212222121212222212112222121222212121221221122112211121111122212222211222221112111121122221211111211122122111211211112212211222221212111211111111111211111221222221122112222111222221211122222221212111111122112121211121221122221122112211222122122221121212211212212222221122212122112211122121212112211112212111222221212211221122111212221111221212211111211222111122212221111212112122111222212122122111211122212211112221112122111221221122222122211221122112121221221122111212211212122222122221221222221211112122222212112211221112112122112221122121222212212222221222122221222112211212112121112221112122121222212222222111111122212221111111212122112111121222122212111112111211221112122211112112121112112112121221112122221121221121221212222222222112122221121222221112112221111122221112112112121212111112222111222111211211221211222221112221122112121222222121222112222221221221211222212212111112221122211212222211121222222221121111111112122112211111221211212222112211221112221211111212211221212221112111122221221212212112112222222111221212111121121211111221112121211211211221111121122122222112121121212122222221112121221111221222122122122111211121211122122222111111121212212122111212121212212112222222211111222222111211111111122112211122221222111222111112211222111212112211122122222221122111112221211212221211112211111112221212221221112112111112111221212212211211222222221212221121222111221211211122111122112221212111221121121112111111221222112212112212211222222122111112121222211211112212222212122121222121122211122112121122122111222211221211222222222212111111111112221211111222221111222212221112122121212211121211221221112122221221112111212222122112122121222111111111121121111121111211221111211112112211222222222222212112121221222222211122111112222122211112212111222222212221211211111122212222111112121122121121212121212121121112112112221112221221212121211111122212122121222121211121122111221111221111222211211221211211211111211122211221222121221222221112112121212221122122122222222121221122211122212222221111221122211221221112222112112212222221121111222212121222211111121222222112212211111222122122221122121212221112121122112122222222121121212112221211121211212121111121212112222212111221222222111212111212222112112222112222121221122112111211221122121121112111112211112122222122222211211111222222211122222212122121211221122112121221111221212111122211221212211221111211121211211111212112221212111112222112212211121211111211211121122122121221211222211112221222121122221121211211112121111112222211222211211221111211111221212121111122111112112221112122221111111212121222112212112112121211112112221212122112221212212212112111211211111122222221222222122111112112111121122122112122121222122211222221121222121211122121212212211111121222222111212121122212122121111111121212212111222121112112211211211112211211112121111212112222121111211221121212111211221122212212222122221122222211221121222221112222221111211221111121112111222111122111221222221212122222122211212111212121222111112212222122221122121221111111112221211222121111222112212111112121121121222121221222212221121121221212211221112222122221112222221112211122111111222222221211111212121221221211221112222112122121121211221222212122122112212112222112221111112112121112222212122111121122221222221112112212222222112221222222211222221122221111211122221121222122122121111212222122122222112122211112121122221221211122221212122211211111111111221221111212121211212121221121112221222112121121212221121111111211112112111122111121121212222211111111112112212122112111121222111222111112111122122112111222111111112111211222111221111221221211121221122222222112112212222111221221212211111121212112111121111111211122221122211121122212111212221222221122121121111212112121221122222222121211211111222221111121121112211121112221111112212212212121211121112212212211122222222222222112211222212121122122111121221112112222211212221222212221111222111211121112212111112122221122222221111221222112222111122121112222212221211121121222122112121122221212122112222212212221111222121222212121111212211211211221211211212222222112111212122222211122122122111222122212222111222111212121221112112121221212121221212221212112212221211121222211111112222111112112212221211112212211111222222122121221212112212211212212122111121122111122121222221211212122121211121211212212211222121221122122221221212121112112111221121112211212212112212121112112221212221121212121122211122222222221212222222112121112211112222222212111121212121112221222212211121122211121122122122211121211211121122212211211222222221222122121222122121222122122111121112121211222211211221211221222222111221211221211112221212111121112112122222122222122111122221222112122222222122222221121222222222122222212112212121122111112122111121122111221122121221221121211112222121121122221122111111222221121212111221222112222212222121222221211221121221222212211122221122121221221112112111222121121222222221121211111221122221112121221222221122211212211211211112122222221212221221121212121222211121121111111111112122212121221121211111222221112112122221111122221121222222111112111112111122212121212112112122112111122222111221221111221222212212122112112111112212121222122122112112121121122221221222221212212211121221212111221122121222121122222112212222112211221212122111211122211222211212222121212212211121212121212211211122221211211111211211112112222222211221112111212111122121221111221121121221211212211122121222111212211121211221222112212222111121121122221111111122121112222121112112221122221122112212211112111211111211222111111222212121211211211222112112112221112222222221112122221111112122111221121112111212121212222212112221222211221121221122221112121212121212212222121111111211211121211212122111122211221211121211111111222211111212221211222122211122212212212222211111111212212212222221211211212222211112112222111221221211211221222111111121111122112212221211112211112221211211111111222212121221121111222122111112122122212222122211212112211221211211221121221222221222112221111221121122121221211111221121112212112211221211112222212112211212221212212112121121122121111221211121221222122111222212212212221122211111222221212222122112112111211211222221212222222112121212222111121211221112122121222111212111112111222121221112212221222221121212111212121211221122112212111122121121122112111121222121121212222111122222111212221212121111111221211212212222112212111211211221121222211122211111121112221222211211222212212112221212212112112111211211212112111121221222222221111211221121221121121211121111121112112211222221221121122112211112122211121112112122212122111222221112121111112212222221121211211121222122112222212122112212121222221112121112122222222121211212111222112121222111122111222222112122122121121212111112221121221112212112212211122121121221111122121112212121122121121112221212111222121211211111112221121121112121112111211222112122122111221221122112112111112121112121211112211212212122211211121211122212122121211211122212112121121122222211111121221121212222211112212122121121122112122221111222112211221212122111121121222222212122222121211111221121212122111221112122111112122221222221222122122121212112222222222222121111221112112222221212112212211221211111222121122122221221112222211111222122211121121122111221121112122221211112222222222122221122122212221111211211111121212112111111211222211222221222111112111121212221211221122111121222121212111222121212222121221121222211111122122211221121211212222212121121111211121212212212221121211111211212222211122211112221212212121121211221212121112121121211212221121211112121112212212211211112212211211111121212121122221112211222122111222211211211212112122112112121211112221222221211112211212121121222122121212121221212111222221112111112112211221222112222211111111221121112221111211111221212222211121111112112211211222221221211211112122112121211111221121122212212221121111111222112211212221222211222211221211221121212222212221222211222112122112222212222212212111212121211121222212221112121212112211111212221122121211112122121121212221212222121222111121112212122211121122122111121221111121111212212122211212211212122122111212211211121122211211111221221112211221111212122211211121111121112222211211122121111212121122112212111222122112222122121112122212212121112111212212121121112222211122112211221112221221211121211112122111211222112221222122212222121211112222221112221222211122112111212121212222122112121211111112121222211211122121211221211222222122122222111212212111121211212222222112111212111212212211121211221122222121112211112121112221122121112112122212122121211222222211212112111212122111111221212121121111111221211211111211221121122122122112121112111211122212221121211212111112121112121111211222122122212211222221111212221111221222221121222112212222221212211212221122212111112112212111111222221221112221122122122121222222112212212111111221111222111222121222121112211212221112122221211122111221211212222212111221221212212121211211122112221121122211122211122111112221121222112111212121121111222212111121211112122211221211121221222112112111222112222212211211222121211221111211122122112111122212211212222212112121112121121122111112112212122122121211222112112111211222212112221121211222111112222121111112212221112111211121211212122111221211222222212222211112122221121212122112221122212112111122112212122121122111121112212112112112211211122222222112212221211221121122112222222111122221121222122122211212111212211211112222222122212112121112212111222121121111112121211122111222222221121121221212221211212221211112211221122221121121221121121211212122212222212111211211121211221112221211122122111222211112211221222221212212221211111221222111212221111112111112221111121122212121121111221212112222122211222122122111121121211222122112122211222211122112221222221122212122221211111222212222111122112111211221111212111111121221121122122111211221222112112111222211211211222221122121212122222222112111222211212221121122222122122222222111212221211121111121211222211222222212112111211122111111122222111122221111212211212211221121122111211222211221112221112121211222112112222122121111221212211121112212221111211112221222122112222122112122111211112211221212111111211121221112122222211112212222112212122122212121122121222212212221212212221111211111221111112212211222111122112221222111222211111122121212111111211111221222221222122122211212111221211111112112211122122212222212111111122112222121211122112222122221221212212112122121122212222221212111221221221111222211212121122222111222211222211122111211212111211112221121222212222122212112211221121121211211222122221112112111221111122111211111212111121111111221112212122121212221222121122212112121122121112211121222122111121112221122122221221221111111221222222122212221111212211212211222112211112112121212222112121122212121122222221212211221221121211211111211212221212211221122112221121111111221111111121111111112211212121211211221211122122112122121121222121121222212221121212122221112222121111211121122112111111221222112121111112212112212221112222121112212221222221111121122122111112122212222112121222211222212211122211112121211121222112111211112111211212121121111212221112122121121121121211212111221121212221122111121112212211221121112221221112221222112221212221221111221221211221121221111112111211211221212121211222212121212111121121212212121122111111211111211211222111122121222211212212122111221211212122221222122121212121122121211121221221121112222112211121222221122121111221121222212212122122212121221221212121211221121122221212211121211122111222122211212111212122211122211211212212121112222222221212111122212122111122211222212112221211211112222111111212111222112121112111212212212122221221212122221212222212211112221111211222121222212221112221222221112111222211111212221121112111122221212211212121122211221222222211112111221211211212112212112121221222122112112211121222111221112111221121112222112212222211111112112122212121112211222212112112212122121222211122212211212222111111211211112221111121112212222111111221121121121121222212121111122112222212121212121121212121221112212211222122121121212222121112121112211221111112112222212211211211222121222222122112212112221211111112221122122122122222121122221222212121122111211222221121212111121222112122222112111121212222111112221211211112121122221112121211221212222122221122112112212212111111111111112121211122121121112111112222212222121112111121122111122222222221121112111122211211212221222112221212222212211211211112112121212112212211212211112221111111111211221221211112112122211111121211221112112221112212112111112122211221111221112212122211222111211212211112121221121112212122121121122121122221211211112122121211111111111112112111111122121121111221221112122222211211121212222122112122221121121221122111121112222111122112212211121122211221122212122221122211122211121122222111112211222122111111122112112111122211122211221221221211222212222111222122122112111221111122111121112221212211222211112122112121111222121221121111111111122122222121212111221211211222111211122211222111211212212212212111222221111221222221222121112221121222212221211211111122211211112211221221221212211212222122111122112221211222111211222121212211221122221221211111212121211112122211121122111122211221212211111212121121122212112121121211212122112121222121122212212211221212211112112121222112221211222222122121111122211212212121212112121111111112122111112211121211221111121212121221112111221111121122212121111111121222222211111212211112111122212121222221221212121221122122122112111121222222111121222122222212112211212122122121222221112222112111221211121211111211221121211212221121111122122222212112212121121121222222211212111121221112121122112122121221111112121222222222212111112221122221211111122111211221221222121222221221211111111122111222222222112211121111112112212212211222212112222112211121212112111121111122122111112221221212122111222222212121212112221212211222112112212211211221222111111122211222111112221111111222212211122222221122112222211212211112211121111211111211122111212221212221122112122212121111112221221211111212111111221122222222221122122112222122211212212121112221221121211221121121221221212211222222211111112111212212122211122122222122122221112211222121212211211121211112222221222212211121221211221212121112211112122122212112112211122112111212112212121112221121211222221211212221122222211111221222122121212112211212112112112122112221111221112122221212211221211222111122122222222212121121212111222211212122222211211112212111111111111111211112221122222211111211211212121111121221111111111122121122112112122112212211111212212111111221111211222221111112122221121211212122111111121111112121222111111121212112212212211212112222122121112121111222111222111212111211122211122112112221222211212222121222112111122121212112122122222111222122112221211222112111111221221111211121122111221122112212111222121211212222221222212212112211121111211211222111122112112121122211221212221122212222222122212211211122211212121121111211122211212121122112222111212222122111222112121222211111212122222222212211121222122222112212211211222122222222211212222121122222212121222111121112212111111121111221212122221211222212211221122121221111222122112221211121221112211122111222211222121221222122222122112121112212122121112212111122212121121112112212121122222112221121111221122111212112222121121211222221222222222121111122121212221121221112221121222111221112211111112221221111222122211112122211222122121222211111222212111121112211111112122122121222221121111222111221111111112121121111121211121111112121222122221222112211221121211222211212221112221221212112121122221212121211122212222121121111122221122211222211121222221111122121221212112121221221122222212121111222111111121212111221122211121121222121212112112112222212122121212121211111212211121212111122211212111221212122122221222212211212122222112122221112212222122221212211111221212122211121122212111212212111212211112211212121112222112111211111121222211111121222121211111211222112211112212111211112211111212211121222212111222122212112112212222122112222211221222112111111222211112111211121122111112212111211112121211211222122212112211221212222121121221212212112122212221212111212111111221112212221221222112122222111122212222221112211212221211122221211222222222221111212221222221212112222121222212222111112121221222221211111221111121212221111222121211122211121121122211121111212222222211121121111222212211112221211121212211111112121122121121111122212111111121112212212112112222221212111112112212121121121211221111111121121212211221121122211222211122222221111111211221222122111211112122111212211222222222121121221211222121211211221111222212111212111122121122121121222212112222122211222111121212221212122221122122221212121212122122111121111221222111221122211212221112122121122212222222122222111221212212122122221111211121211212111122122212111211212112111222122112122221212221211212112122212211211121212211211121211122222212122222121221221112122211122211112122122112111222122212211221221212121212121122121221222212222212211122122222122111121212211222121211212222222211221211221111121112122222221222112222221222122112221212112121211211221222121111212112112212222121122111112122212221111121122121211121221111111222222212222121112122212222111211212122112122112212222211212221122211111211112222121122212212121122211212121112121112111222221211112121112222212121221221211212111222112222212222112221212121122111212112211211222222121121222211222222112221121222111211222221212112221121221111221112121221122221112121221221221122112112121112122211112122122211211212221212112112111221122221212122211211121221211122122221121111111122122222112222222212112211222111212222121222122122111112221112122111111221221221112112212122211122111211112221111122111221121222112111121122212212112212121121212212122211122122212212221112111112112121211111111211112221222222222222121122222211211112121111112212211112111122111211122122222212212221222212111211111122111222121112212212212122221221111122212112121122212211122222222121111221122122221121211122221212121212111211211211122221112112211221212211112212222121111111122212112122112121112111122122221112222112222211121212211122111121211122221122211112111212122221112221212122122221211222211111221211111212111222211111212222212111112112111221212122212112122121212121222122212212112112221112212112122221212222112112122222111122112121221122221221212112122221112221112222121221221211221222121211112221211112122121121221121211111211221221122222122111211111122111122121221212112112121121121122111122221212122222221222122212212112112222121212212221111212211122121211111222221221212221221211222211221211122112212112221211112121111221222112211211112221212112212122111122212222221121121111111212112211122222212122121112211221221221122112121122221122112221212222221222211212222121222121211212211121111222121221121122221122112221212211111211211111222122212121222111222222221122121122212111221222212121221111222111222111222222221112112211212211221111122122121122222222222112211112211211112212212122122212121221122212112211122212211221221212211211121112212211211222211122222122222122211221122122211111121222222222221122112122122222211111122212111122111212122221121212212212221111111211212112112212122112222221211211112221221222122221112221122211111111212122111122111111221211221121122212111222212112212211221212221111211211122212121222112221212212212211212121122111121121222121212121211222212211211111122211222121111212112122122111222212222121121122112221122222212122211112111122112111111121112112112111222121221112222212111112222211122122211222212211121122222121212121221112122221121222121112111121221211221121221122211121212211121111111111212222121222112212212211112111112121212112211121211211121212212111112221111122212212111122112121122212122112111211211211121122122112212122221112112221212122222222111212221112211221121122212211111112211221111122212112211222122212112221122211221122222111122221221211221222122111111121221111222121112112222212111111212211212122121111122212222122122212212111122121211222221112212111121122212222111112221211112121122212212111111112112122122121222122111212222111211211111121212211122211121211212121121221211111121112112211121221211122121111221222211212121211111211111211212121121122211211211221121121211122121222211222121211111111212111121112211111122121212122211221122122121121222111222122112222212112111222112122112212221111122212221211122122221121111221212222122111211212221121121221112111122221112111221111122122212112111112121222212122221111121111122122212122111221221111122122121121212111211111221111122221221222222112211112112111121222121111211112122111112122221121112222221122112111222121112222221222121212112122122111222221222221211112121121111111122122221112122121122221112221111212212222211211111222222221221212111221121211221222121112111211222111211222222112221211121111222211222111121211222122222121212112221111121222221211222221221221122122211212112211111121212111222121122211221212221112121221212212112112222112221221211222111121221222222212121212221111222112212222111222221212122112122111122211211222122122221212211121212112221222112121121211222111221212111221112111222112211211221211212112121211212212222212121122112222111212222112122211111222211221111122221122111222211211212222221212121212112121121122121111122212112122221112121221111122121221122122121121111122212121222112112111122212212222122212211111112121211212112211111212112121111211221121212221112111221211212122121112112121222222212111222222121111222211212212121121122122121111222212221122221221121211221112221112122112222221111122221122112121212121121111211112221221111211212112122221222222221211221121121121221212121222111111221121111122122111211222121111112122212111112112122221122112111111211121122211111212112111122212222222212222211211122221121222122121122211222111121112111212111121111222121212111211121121211111211221222222111222111212212121212221122112211222112221222222221112111112112122221121112111111112221112111122122222111121111221121212111111111211221111111111221111122122112211121111111122211112112111122111222112122111121121211112222222212211121212121222221212122121211122111221122121212112122112111121122121122121112212222212222222212211111122121112222221111221212112112221111221221212122212212212212121211112122111222211221112222211122111122122211122222212121112111221212112211111121222122222222211111122122211211211122112212211212212111111211122211121121221212211122112122212111212112211111212111121112111211121211221121112122111212211111112112211212211121211222111221111221112222112121221211211211212211112112222211221222111211112111111221222122122212211212111112122221211111121111111222111221121121112122211112221212212212222121111221111112121112221222222111121112111222222212222211112212121211222222122222222221221122112212112111221212211121121121122211222221221122222222122121122222212112212211122221122222121112211122121121212222112121222122122122122122121122121211112222121111122111222111122112222212222212112112222222111222212122212122212122122122222122121221122121121222122112121111222212121211122111111122121112212122212221222211112122112111111121212221222111122122212121222221121111221121212111121111221121221112122122211122221212112211122211122212221112121221222111112222122122122111111222221121112111212121122122211121111222221222211111122221111221221221212211121212111121121211121211221222221111111222212212211222211221221211121121111221222221121221122111121111212212122121122121112122221122122221221111221222112211112112122111222121122212122221212111211122111121211211122112111222111122211111221222122122212212122212121112122211221211112211211222211211112222212222221211122112112111111122211222221122212221122211211122212212212122121112111121221222211211211212212121212221122121111111122211211222112121211121122111121121221221121122222222221112111122221111221212212211122211212222111111211212222122121112222121211222211112122111212221212112222112221222212112222221121122112122122221111221212211111122212222121121122112212211121111221212121112211111122212221221121112121121122112121221121222122211111212211221222211211122111212112121121121122221212211112121221211211112221112111222112222121122122121222111222211112222121111121211211211211112121212211222211121221122122211222111212122222121212112222112111222212111212121212221212211121212211221111121112222222221221221121122112221211221121111222122212112121211222222222221121211222121221121222221122221111222212211111212212111122112112212221111212212222112212212221222112212211211111212221212221122112111112222112222222221222222122221111112221121212211112111222222112121222121122212212221222212222122111112111111211112111221221212112122112221122211211111111111211222221212112112211111122121121121222211122211211222212112222121212212112111112222221122212221112221222121222211222122122211121221111211222122222121122212122122112222112122211211121221221112221221121221212212222122211222121112222211111212221212222212221121222222112122121222121211121121121112111121122121211222111111211211212121222121211111222211111111121112222111212222221122222212211111212112221121112122112122122111221211122211222121112112122211212111121212112211211211122211112221222122121112122112112212111211211222122212122121111211112211222212111222122221212112112112122211212122212112211211211112221121211211112111222121221221121112121111121112221112211122211211222212222211122222222221122211212222112222121112222111211211211211221122221221121122222112111222221211122111121111212221211221122111122111121111212111111111121222122111221122212121121221222212222111212221211122211212222221121121211211221221212212212111112111111222112121112122211121222221212211112111111221111122122212121112222122122122122112111121211111111212211212211121211212212121211112111222211122212112221222112222222212211111121122211111212111122122222222111212121222211221112221222112211211212222112121222112122112221112112222121111211121222112222212222121121212121221111121121112111222121221121221112212212112221112222211222222122211121222221112221112221221221211222211212222112112122211122122121121122212111112211212221212121222221211121212211212222212211222222122211211121221121121221121121211112111221112111221121222212211111211112112112211121222121121212212222211211121111222111121221212222122111112222122222112122211122211121112212222122222212212212211121222122222221212211112122211111121121221221221112111122111112221112112121111121222212122212122211211121221122222222212122111222212212111222112221121122111121211212112122221122211111212111221112211122122212122111121122121111212221121212211122212211121212221212121111122211122222122212111221212222111212122221112211222222121211122212211211112111121111222112111221221111112222211122211121111121211212112212121211111221211212121122121122221121111112221122212221222221221211122221212212111111112221212221122121221121221212122212212112211211122211121222121122211122112112121222122112111222122122111121221211221121212122122212121221122121112122211221112112112121122221222122112221121211221221222111112112122122211211221112112221112122211222112211121112222122112121121211111222121211121111111212212121212121222221121212222212222112212221211211222122212112212112212111212121222122212212221212221211221111112212112122221112112221112221212221212212121111212111122211222212122121112121111222222111121122211222211212111222111222222112211221211221222112122112112212211221111111221122112122121112111121222221112122222111222111222222121121211222122111122122212122112112122111122222212221111211122111111122122211122111211111221122222112112222211121212122112212122221212221221221211211221112221211111111221112111212221121222212222212221111112222112221211112221212211112121222211212112122211122211212121211222212121221112212121222211111211211221112221212121221112121121121122222221221222221122112211122112121211222221111112122121221122212211112111222122112221112221122122211122212221112122222221112112211221111121112111111122222121122222122122211211212122222221222122122211221221112211212222111112212212112111212111111211222122122112211112121212212112121111212112211111122221222121221211211222221112211212122221222122222111112112112212121222121111111121211221211112121122121122121211221112111211222222211122222122112121121222211112121212121221111212121211122221111212222211212112121222111111211211211122212112212222221121121122112121221121121211222211222221112211121122211112212122122222211112222111212211112211121122112211212211211222212111111212112211211211121111212112212122221112112121211221221111122221122222221112212221212122211112222212222111221112212221122121222112212222112221122122212111222121112111211211111211122211111221121222112111211122122112122111122221221122121211221111211122212121112222221221122222122222222122211121122222211221122221211121122221222221111211111112212112111112111121122212222212221111111122121111222222112122211211121111111122111222212121112111121111112111122221122222122222222122221221112111211211221221121221212211221112121211111211222211211211112122111121111111212212221121222112122121211221211221111111211122221212211222222211212212212222121122222221212221122122111121121122111111121122112112222211122112221112212211212222111122212122211122222221112122112212122111121112212122221121212221212211121221222211221221212212121111211122222111121122122222122111111122222222222121112222222221212112121112222221122112222212222121222112111221221211121222122211121121222222211211111121121121122111122111221112222211121122221112221222112211212222111111222221222121212122212122212111222221122221111212212211222212112222222112221111121111221112222221122211222121111212121212121112111111222111212122222112112211122212122211121121211211221111111111122211111122212112122222112222111212111222222112121212112211222112122111121222122121222221212222222222221121211122212121112111212211121212222221121121222111112222222112211111122121222222112122112222221222121121211221122122121222121211211112211111122221222211121121111111212212212122112221121112221211212112121211221212212112212122122112111111122221212112121112222121222222122121221211212211221211121212222121212112221212211212121221221121121121111112122112122122221211221211122112122122222122121221211111212221222122212222112211112211211222111222122221221122212221111211221221122211111112122111122211111111211112222222122111222211212111122112122112122122212222111112221211111111222221122121222121111222121112111211112111112211211122111221112211222212112111122122222121212221222112121221112211222221222221112222211211212212112122211212121122121211121222221111121212112221121211222221112111221122212121111222221211121212122121222222122121121111111122111222222112211212222222122211122122111222212122211222121221212121211222212211112121212122121112222122221112121211221221211221222212212121222211222211211222221122121221222212112111122212221222222112211122211121111211122221121212112112112112112211111212122211122122112211122222122111121121111212122121222121211121222111222222221122211122222211221112111111212112222211121221212221111121212211112221121122212221212111212212112122211212221111222222121222212221211222111211211111111112122122122221122111122111222221111222111222122221122122222112111212222121122212121221221222221121112122112222122122122211211111212221111111211212112221212221122121122122222122111211121211111112222111112111112121122222221221211121212221111212221111222122211222122112211212222221111211212212222121211121211111121112111121222122122122211111212222121211122122221211112222121222112212111221112111222221122211221122211111111121221211212211112211212111222111111121212221121222221212212222122112121122222212212111122212221122221121211221122112121222221122112222211121111112221112121111121121222222112111121212121221221122222222112122112111221222112112212221121211122222121111222211111122111222112222112222221122211211121121221211222212221211112112121212211221221111212111221221121221222122122122221111211212212212222212111211221222122112111221222211211222112212221122122222111121122121121111211212211212222212112211212221212112212122111211111112122211211112222222112122122222211221121222212222122121221211221112222121121222211211121122221211211111212221122211212211122211112121222122212112111121212121221211211222211112221211211212121212222112211121121222221211212112221121211222212222121112221221122112122112112222121122122122221222212221121112122121222122121121121212211212211122222221121122111212111211111211122221222112112222121122121221212121111121112122221111222111212111122121122222111222121211221221111121222112212122212122111222212221112111212211122112112211222121211222121111111212222211222122212122112112212121222222211211222221211121212222112111212121121122211221221112111122212211212111221222222212111221211112221121222112112121121121112211122111111122222121111212121122122112222211212122211212111222121222121122222211211221222122211212222121212212222112221112211221211112212112211222121212221111111211122222222111222221212211112121112121122222122112122112122111122221222221211121111111222222221221221121111222211121121212112122222112122122222122222111111111212221222221222122211121211222222121111221222112222212211222222121112222212121211222211112221121212112211212122121211221111211212221212222222112112222121122122211112222221222222121112111212212221212222212122112111221222112111122211222221122112221211211211112212222112121122221121211112121211121111211121211111222212211221121221112221211212212111221122211212121121222112121122222122121212122211121212122122221221112122122121222112212121111212221222222121211211112112112122221121111212212221122222121122112121112222212211111122222222112121111222122121111212111121221111212212222221221111221121211221221111211111211121121221111112112111211122212111122112222212222222111211122121111111211221212112121121111111221111111222212222222211121122222221122121222222212112211211212222112211112212212121111111212222212121122111112111211211212112221121111211222121121122121211221112222222112221111211222121111111111222222112222222211222211112111211121221222112111212212212221222111221121222121211111122121121221222111212221111221211122222212211222121221222112211222111212212111221211211222122121121211112121121221122112122221121112121111222221111112222121221211222112111221211212222212112111122221122122221211112121122112221221222221122121221211222121121221121222211211121121221221222122212112212221111211121221121212221112122211121111212121112111222222111211221121111211121121112212211212222212111211212222122121112121212212112111221211212211211111121221111212212211111221111211212122112112212121121121111212212211211222221222212221112211212121122112221211112112111212211111122122222221121212211221121121221221221222112121211212221112211121211122221121121211122122112122221222212122211221121222212222112121121211112212122212221111111212112212222121212222121111212212221111122212221222212212112111112221112222122221121112222222221112111112222111121122211121111122212222121122122221122111122221212212122112112211112122112111211212111122211212122221221212112221111122212112111111111112122122112111221211111211121212211122122121111111121111221211221222212212221122221222121112222211122222111211212122211111111211122212122211222221122211211222212112112211212111111212211112122121121112221111112222121212111121112212222221111222222121111121111122122111111122212212111222222212111122222122121221112212221122111222112111221211211121112112212211122212222211122211122112122111222212211222211121122212122211122212212222122221111122222112121112222221111221212111211121212212212122122221211221222112222112122122212222212211221111221211212122111111221222111111211111121211112112112121112212212221211112221212222112222221111111222122221121112211111122122211121112212111122112122121211122221222222221221211112112222222221211112221122222122112222212122111221122111212222121122122121121222122212222112112122112112212212212211222112212122122111212112121112121121112122121211222211212111211121212112111112212222212121112211221211122112112212111222211111221111222121211122211111212212211112111112122121122111121112212221211221221112222121122112121112121211122111122111222221212222122211122121221221221212222222211122211122112212221111112112212222112211122222111221211221112111222211111112122211221122112111222122211112112211111221112122221122112212212212221112112122221111211221211112222211111112211212221121211221111221122121112222111211121212122111211122221122212212221121122121122221121121222222221212212111121221221121211222122112112122221221112122221112122211111112221111211122221121212121211212222112121212111121111221122221122121111222221122121111221221112122121111222212211122221212111112121221221112212211112122212112112211221211212212122111122111111122222122221122211212111112112112121221121112122122121222121221211211122221212111212112221222222212212212211222112121112212111121211211222222121221121112112212111211211112121122121112221222222122221222221121212112211212221222111211121111221211111211222111221121121111212122111111212112211122112111111111122212112121112212111222222221111211112111212211221121121111121212222111211121121211121121212211121222111122211221212111111211122212222121122212122112211122212112122111111112222221222111112211122112111121222122122111121122222221121112212222221122222121221222111112112211212122211111122221122212212112222212111212122221222212221222122211222221121112212112122111112122112122112211122121112222122121121121221122121111222222211112222111222122121122221112122112221122211211111111212122222112212122211211222221212211212211221111121112212222221121221112221222222121212211121112122111211122221122112211221222111122221112221111222211111212121211111122111122222112121212122211122122122112112122121111222112212222111221111211212221111212211112122221121121211211121121221121221111222111211111212222122212221112111222111222121111111121122112111211112111112222112121122211222222221122221221222222111111112221212122221221212121211122111211121221222212212112222222111211111122122211211122122222122222221112212222111111222112211212121222222221222221221111112112221121222212211111122111121211111121212122112211212211222212112221211121221222111122211112112222111221211122211212221221211212121221222112121112111112221121111111111111112112211211121221122112222111122122121122222211111212221112222211222212221111111211222212121112222212212212112212112112121212112221222111121112222111122221112122221122112222212211121222111222212111121121211211112211122121121122222211222212121222212112121222221212211112221122112111221122222222222211112222112211112222221122222212122112111221221221211211121212121121221122112222211211211221111111211221212222222121112222211211211222222121221121212222211212212222221111222212221221211121112121222122122121111112222122121222211211211112111211222121112121122212112121221112122212211222211212221111211221122221112221112212222212122122212112211221111221211212221112112111122121211212211221111121121222211122221121121221222112111122121112222222222211222122222221211211111121221121221222112211221222121111121121112111222111111222122221211111222222211221122122121222112111121122111221211212111222211121122221111211211212112122221221111112111212121212222211211222122111222112122122211121222222211111221212121111212121211111111212211221122111112222122211122111211122121211112221111121112222121212211211212222222221222211221112121222221212112211122121211121211221111221221112212212112112221212122122211122221222222222212122212211222211222111212122112222112122121111212222221112122222221121121112111221111222221121221211112221111112112211121122112111212211112222211222221212222111112121112122121221112121121121222222121211222222111121122221122111212121112122222112122112112222121212212121221221211212222221112221111121112121122222122111121221122221212212211122222121222221121221111222222221122222122222221122111121211122111221222111221211222222212111121212221121212221111212121222122211111222221112122112111122221222221221212122121121212221221111222211122222212111222112111212121121212121111122112212111122121221221212211222111122222111211122112222121122211122212121122122222122221222122212122212112121111212222211122111221121222211211212111112111112221111121112121111111211222222121211111212212222111212111112222221222122111212222212212211111211121111222222112222212111121112121211222222112222211121222212121211211121112221221111222111112121221211211221121221111211122121122212112112111112122222122222122211121121111112221122122222122222212112211222212222211121211111221122111122221122211221211211121112211122221212211212121121121112111112221111112111221121212112211121221122211211112222112112222222121212211211112111221122111222111112211121221112222221112212122111121221222212122212111211212111111222121211211112221112222122211122111222122211121212112221212222112122222222112121112122222112121112211121121112212222111111212112221111211111211112222221221222121222121221212212211121212221211221212212112212222112212111211112121221212121122112112112112121112221122112212122111212122111222211122112111222221222211112121121122221221122121121121221222211112121111222222222212111221222211222221122112111211122212222221222222222112121111212212222112121122121111111121212221121111222222122212121211121211211222122121221111121121121122211112111221221111111111211211221211211121211221221211112111211212212222121211122222222212121211111111222212111122112111122222112221221122122122221121122212221221221121222122221122222211122222121112212122121122211111112122112221221121212212121212111121212122122212221112121121121212111112222112222212112122211121112222122121112221122221222212121221122111212122122212122222112212112221222121211111121112111111211121122112222122211212122211122212112222221221111221111212112212111112112211112121122222221222212122121222122221112121122121212211212212211222122122222211111221111212222222221211112122212112221222212212111221222212222211122121122112111122212222222121112222112222222111112112212112111121221221221111121121211111211221112211212112222112122112122122222111111112212211222111221112222221112121121121112221112121111122111122122111112112112211211112211221122211111222121122112112212212212222111211221211122112121212121111112221211221211211111122111221121221222221111221211122222211112112221111211212212212221121111211121112211212221112211122212211121111211211112111112221222121112122112212221111122211212212121122112211121212112222222112122212121212112221212212211112122222212122222212112211221221111112222221212112212211222211212112212212111111221112211112111221221212222221211212121211121112122211111112122211122111121212111211121222111212221122211222121121212111222121212211211121122211111121121212112211112111212122111221122211122121211112122122222221111121222211111112211121222211211122212111121112121222112122221121212111111212211211112211211212112112222111121212212211112121122211221221221122111212112112221221122211221222121122122211212122111112122111121211111211111121211212112211112121121111121221211221212112112112122211112112212112212221121121211121222111222122222121112212211221222211221222122212212211212112122211221111212111121111221122111211211111112111112121221111211221211122212111212222222112112121121122221211121121112222222221122111122111122122111112221122212222222121222222111211112222211122212122222122222112211112211112222211211212212222212111221111221121121122221111122212212122211222112222211212221111122121222222221222122221211122112222121122222121212221122222211222121112111122212212121112212221111212221112222112212111111111122111122122212121212212121221122221112122222222112121212221211211122121221222222211121211122121222111211111222111211212212211211121122211221211212212111122211221112221221121222111221211211122211221221122122112111122122122211222121211221221211222111211111121121111211112112112111111212212122212211121122211121222121111111222221121112221122222221122221122221211111111212122212212222111221122122112111121112112111212121122111112221111211212222221112211112221212112111211222221111211211111112211112221211121111112222111211222222111212221221121121122211211212112121121221221222211121122222211122221222212111111222212122122111112111222211111212111221222212111212212121112211121221121122112121112111111211211222122122222221212221212112211222111122121121211122212211211111111121221212211112212111222222221221111221222112221212211221222112212211122222221122211111121111111121121122122112122122111211212211221212122121121111212121212121111121222112112112121112221112222222221221122211222112211221212112221222121211211111222222211221222221212112212111121221212211111122211121211122222121211121222112121222221122122212121221112112221121122222221112112211112212222122112221112111212222121121112221112211122112111112221121122111221222112112112221222211121111122222111121212221122221121222121221212121212111212122122122121122111112222112221121222112112121221211222212122222212211122221211122212112122122121212221222212221212222221222221211221222111211212212121211211112221122111111111222212211221121211122222111221212212212122212221221111211111222222121112222211221222221121221112112111121222122121122211121111221222211212212221111221111222111121121122112221122212122112112212211221112221222122211112211122212121122212112112121212211212221211212121112121222122212122112211112211112222121222212112222211121222112121222122121221221221221122112221222221122111212112221211221112221121112211122121221211222111222121211112111212111211121122122121221211122112111121221121121211112122121121212222111222221111211211221221221211222121111212211121112112221212211121121222212212111222121222121212112221121121121121122211221221222111121212222221221221221111222121111221221222222211222122111122211112122211121211221111122121222221212221222212221222111222212222221122212222211122211212112122111212111122211111211121222221111222121122122112122121122211111212111211221212112221121211212122112221212121112221121211212122122111111122222221222222122112112121222211122222222222212122122122211121121221212112212211121211111222212111112121121212211122211222121121222222112221222212111111222121212122212122221122111112112112221221212212222212211221111122121112121212222222121222222221211211222112111211111221222121212222211112111121222121121212112211211112121111221121111111222222222211112221111222221222111212212121111211112222121221122221221212222121222222121222121122121212122221121211211112111222211212222222211212111112212212111222222211211122221221222212111212111211211122222222121122122221222221112111111122122111122221122122211211122111221111222112111211212222122212221212211111211221222211122111121112212221122211112212112111212211211121212112121212121212112111112112212121121111211222112211212111121121212121212111212112212112211212211121122122121121211122222222122212212211212112212112211222121221222212111222112222111211211212112222122211211112211221121112211221122111221111222121222112212122122112121212212211221122121121211121112222112121121111221212112221121121111222212221221111122111221121122221112221121221221212121121112121111212211222121112211122111211111222212221222111121211211222111111221211221122121112112211221212111111211212111111112122112221111121112112222222212121111211111111211212121121121221211221221121122211212122221111112221111211111222221221211121211212121211111121212111212121121221122122211221212222222112121112121111111111222122111222222122112222111111122121121221112212211121222121111112112211112121222122222222112121111222111112122222122221122112212212122222211212221121212221221112212212111122111212122221111122211211111122211212222212221221121112221121112211222112112212122211112122111111112121112222121111121212112222212211221121112212211112111222111212211221122112212122211222121212121222122212212212221221111112121121222121222221212221211112122212221211211112212222112122221121222222111112212112122112212112211112212121222212121122212211221222121111212221222222112122222112222122112222121221112121211211211211221211211121221221122211112222122111212221212212111121121211122221111121212112212212122122222212112222221222122121122212122111222212221111211122111112221121122122211112111221212122221221122122221212112112211121211111222212121122111212212122222211222222112121122222212211121211222222211122122122111221112222112112212212112222221112212121211222211211121211111212221221121211212212221111221111221222122221222212121112111211121122112122112212221112111121222112221212122122122212111222221111221122112221111211122222111222222121121122112121111111222221111221221121211111211111212221122121112222211211112222221212211121121121121121121122111122212221121111211212212112121112122222122212111122221221112112221212121112112211122222212112112121122121222111122122212222222121211221211111111212112221212211221122111111112112111221221111221112221212122122121221212112211122121121122212212221112212211212121211222112211221111211221212212222121222212211212112112121122122121122222111221211211112222222121212222122121212122112211221122112221121121122112111122221122122122111112221121122221211122111111121121111221212111221112211122121222211112221222222112122212111212122112211211112221221112212111121222212121122111211121112221112111121121122211212121112212111211212121121222211222112122121112122112111111121121222122212211112211222112122221121121112112221222222121122112121111122121212111211211122221112222212221222221111112212212111221221122222212221212221121221111222122111212212222222112212221212121212122212112121112121221222221211211212112112212212122111212222211122211221111212121211212121212122111122122121222121121112212222221221221111122211221121122111222112111221121121121112122221221211212121212112222122211221222221121212121222112111212111122222111212121121121112212111212222212122221221221221212221111221122212212122222211122222112212112121122111211221212122222122121121222222212222211212221212212211111122111122122211111221221111211221111221222211221222211122122211122122221111221121211211221122222122221121112212112121111112211121222112222222121221122211211211221212121222111112121212122211221121111212122111121212222121221122111211111221111122212121122122221212122222212122212212211211111111211212222211211221121111112212212112211211222112122222221212212111212111212121221221112221111222111221211222222112122111211111211122112211112221212121121211211112112221222212122121122212222112222112221122221222212121112212212122221111121112211222212222222111222111212121112212211121112221111111121112212122211222111111211111122121221111212221221211122122211211221122212222111221211222111121222222111122112121111222211212111222112221121122122221112222211222122112112111112212111221221211122111221211221121222212121222211111111111211111222112221111211111112121122222122222111211211112112222211221221221211122212111211221112111121222121121222121112212112221112222222212122211222211222221211111112122112222211111122121122212222111112111111221111222211211221112121212111212121122112211112222111121122121221121222122122222222211211221122221222212211111221121221222222111212212122112121212111222122111222121111112221111112211221222111122121221111222122222222222221121122121212212221211221111222222211222121111121212212212222112121112121221122221122211111212122221111121211212111112212221221112112111112222212211211222122111221211122221221211111111222122212111112112221112221211121222212211122111222222112221121112221211122221122211122121122222111221111122212222111121222212211122212221122122222211121121111111212112222221212121121212112212211121212122211211211211121122211121112122221221122121221221211222112121222212211112221212121112112212112112121121221211122111111221122121111122112111222111221122212111211121122121222122112112122222112121221112112221122111221112111121211112222222211212211121211121121121112211111222211212222222122222121211112111222111112211112122111222111121212211211122121211221122122111212212112112211111122221112112111122122122111222212111222222221222211121121112112112121211111111122211222211222121111211222122211222212111222222211121122221221221121222221121121222112122121221211221112122211221112111112112212221212212222221112222121122111221222111212221211212222221211121121212121121111222122221122111112122212122112222222211212211222211212212222222221222122212121121221212211121221222222221112212121121121211212212111222111112211122221221111111111122112221122122211221211122111121211111111212222121111112222111121122122222222122121211222222212121212122121221111211122211122112211222122212222211121112121112112121122221221212111211221111111222112122221211112122112221122212212121221122112222112222211111211121122122112211221121112122112121212112212211222122221222112111112211121222111122212211112211212212111122221112111221111212112112212212211121111212212111112212211211121111221222112222212211122212112111222111211222222112111211122121222121112121212122111212212211111112111122211111121211122222221212221222222212122222212222122212211111122122112121211112121111212112222112211222211121122112222221122212112212222111211112121112112212122221122211111111212121112221221112121122122211211122212221121211112121212221212122211112111122222121221222111222121222122221211121211211211212221211221112222212211221111121221111122212122121221122122122222212112221222112122222221211122111122211121222122222212122222221221111112112121112222121112111221212212112212111112121222122121222212212212211221122111212212221121111121121121111111112221122222211112112122212121221121222122122211212111121212111222211212222111222121112211111111211121122111111122122121222112222221112121221222111211222122211112221111111211211221121222211221212121111121111122211122112221121111111221111111211221212222222221211222211112221222121211111212111221211222221122221211121211121112112221122112121212112112111112222212112221122111212221112211121112221221112222211222111112212221112222111122212212222111122112111121222222221121121121221221111122112112222121111212111112112112111112121212222221121212112122211112121111112122112122212211121212222211112122112121212211222112121222122122122121111122112212221212221211121111111122122212211121112111112211211211122212221211122112111211221111121211221222111211112112211122221111221111222122122121211222122212122122111211121121212211211122212221122212211222222112122112121222121111212112121221221111112221112112111212122121122112212222121112122111222211221222111222212212122221121221211121121122121211111221111121112212122122111212111111222221121111121212222121122111111211212212211112112211221111112121211112122212212121111112122221112211212212122121111121222222122221111221121221222121222122112221111221122222222111122212211221222221112211111212221111121222121221212212111211222212212212211221211221212212211111122211211112111212112222111121222212111112121112112122222111221121211112222111112121111112121222122121121221112121111221212221112212211222221122112121122222222211211211222221221222122222222212121111222211212212221212221221122122112112111212111111111111211212122112212212221111212221121122112211212111122222212211112122211121212111221221122111212121121122122112112221211111211121112112121111212222212212122112212221211212212111111122211121222212211212212111112122212111222211122212122121211122111121222122111111222121122212122212211121212111122112111222222211221211221111122121122212222122212212211211121112222121111122122222211111122211112111111111111112211212112121211211122222222212111111122211212121111212212111222111112212112111212212121222112112122121212122222121212111221122111211111222212221222212121211121122111112111112122211111111111212111212121211122122121221222212211112122122121121222222211112212222122111212121122112212122212112221222122222221121121111212111222112112122112111222111221111222111222212112212111112222122222121112122221221221212212121222111121222212122211222211222212112212211211211222111222222112211111221111112212112212112121222112122122111212222212211112212111212212212211211112222122212221121111212111211122112212112111221222211112112121121112222112221111112121222111112222111122211122221111112212122212121111112111221111111211212112111222111221111221122122222222221212211211211111121221122212222121121111121121112222121212222222212221121121122112111211212211211122112211222211212221122121122221212121222211222211122222122212111111222212221211121221212112122212222222121122121222111221221121212221111112112122112211222111121212221222221112112221111121211122222221211121221221222122221221112121212112112121122111121222222122222212222122222222212122112221211221211212221221221121122211111221112112111121211221221221211111211221222112212121121211112212121111111122112111212111212122221222121211121212212222112222112221221212121211212221222211211211112112112112212221112221211222221221112221222121211222221111222112112111121121122112111222222121222211221212222122112111122112211221222111221211121221212111221112122121222112222212112212112121211211221122211221212222221222221122212211212222222221121121212222121112111122112222222112111121212121111212221121212212221222221122221111222111212111222212221111111221111222211211111212122121121121121121221122222221222112212111111111122112121212212222122122111221112121121212111121122121122111122222121112221122211121222122122111121222122211212121221222221221111122212111221112221122121222112221221211222222211222122212222111121111112112111211112112211212221221212221211211222211222112211212221121212212211122121111122211112121221111122212122111211121212211221221222212222112222121111211222122121212121212222111111121121121221212212211122112211122111122112221222211121112222111212211222211111222111211222222222122122122122212111121221111121122221111111212221111121212111212211111121212211212112221112112111112122211211122112122121211121112222212212221111212111212122211211212122221112122122111111122121122121122212211121211222221122121211221121221111122212122122122112111211221111122112121122111222112211222112112122121212122122112122111122121222212222222211122212221212222222212122221222112221221221112122112121122122111111122112212122111212222212221222212221122221222221222221211112121111211121122112112222221222212211121212112212221121212212111212122121111221122222211122222121112121222222211211122212121222221222111212222211112221221212212211211112122122222121212221121211221211222212221211121221211222121122221211212111212122211211111212112221111121112222212121212112111112111221112111222121122221112121122211121121112122212122221212221112222112212122122111111122212212112112112211112122211221112221212222112222212221122222211121121111222111122211121122112222112111121212222211222111222222122111212212212221112221122221112212222212111222212221222112112111212212212122121121222212212221212122212212121221221121222221111221212211112212221212121222121211122112222111111121211211222122122211112112222111112112221121111211121111122112211121111222111112212211211112221112212221222211121121112222122221122212121112121221122111112122122222222111211121211222222221111222122122122122122212221122111111211111222121112111111212212212111122211121122222122212121211212211221121212112122121112122111122211222221111211121122122111222221111211111221112112221121221221122122212122121111221121212211221112212221111221122111222111221212221112222222211112212111212111212212222212212211122111221211121122212212211221212222212221111211212112211211121212112221212212122112122112121122121111121211112222221222122221121121121112112222121211212221212221122122121211112221121211112122211111112112222212222222112222222221122112121211112122221121112112122221111111211222121221122212122221122122211111111221111212221221212122221221111112212221122121111212212122221112122121111112122211111211211221122112222222111211121122112122112222221112212112121212112111211122112222211121111112111121222112111221212221111122221121112221211122122222221122111222121221121222122221121112222212211211221221212222211121121221211121222112221221112112212211211212221212121221121121222121111222222112222212111112222212122221211221122112121211211122221121212212122222121111122212121222212121121111222222121121111221112222212211111221111222121211121122211221111222122121111111122112211122211212221222111111121211122122112111121112112222111111212121221111212212211122221122112112212211211212211211112121121212212111121112212112211212111111221211211221111212112111111211121221122221122222122222112121212121221121111122222221121222121112112211122212222111122222221112211211211121212221122122221111122111112121111222212122221211122121121222122221211221112221112121112222111111122212212222121211111222111212222112122222121112112112111112112122211221121212111221122111212121211221122212112112221122111212222111222122211122111222111111221111121111121221112221121122221222221111221111221222221212112122212221122111221121212221111221211122211112122122112111211111212121212222122112212122211122121111121221212221122122222122122121221112121111121111121222121122122121222112112121121212112222221121222121121121211222112121211121212121221121222122212221111112221112212212121222222112222111222111221111212112122112222111222112211221122111111112112121112121221212111121212122122222211222221212222121112112122122211121212112222211122121211221111221222212111221121221221121221212222122212111111121112221122111111222221111122211211111112121121221222221121111221222212211111211121112222112111221212112112121121222222221121121111222112221122212122112212121211212111211122111112222122121112112221221222211221121121222122222211212222212222111122211122112112221221212111122211112221212222211112222111122221122212221221111211212212122121121121121211121121212222211222122112211121221222212221212221212212112112112112121222112112212221212221112211112212212121111122212121221121212122211121122122121211222221112211211121111122212212212211221122112212221111221121211112112221212221121211122222121212112121112222122111122222111221221222211222121122122122222112222211112121121122112211212221212212212122212221212121122112211212211212112111221211212121112122222221222121112122122211212221111211112121212111222212121121211111222112211122111222221212121122111112211222221212111112222112111111121212211212222111111112221112122212221212112212222212221112121221212122122111211211112121112211221121222111122112212112211121221122122211212122122111211211221211112211221112111112221111111221112122111121221112212122122212121211212122122122221211111211222211122221121111212222111212222211211221111122221121112112221221211211111221211212112121112221122112121111221111112121122111221221112122122112111111222211122121121111112111212212221111211211122122122222111222111212221111122122112112222112112211111221211112211111221111111212121122212121121111122111111112112112112222211212221221212221121121122121112211122122112112221112221112212122112111221112112222212121111111212111212111211222222212121211122211222211112212211221222221222222222122212122212212211111111112122111122112211112222211112111222112212122112122211222112111112111111211121222222222211212221211211221122122211222221111112211111111122111211222121121211121211222221221211122111212222212221112212112111121222212221221222121221122221121122221111212221121111221222212121112122122122212121211222211111222211111122221221122211222212122221211121222212112111122222212122112221122212222121221221221222122122122211121121111221222222112221122221111122211121211121222212111111221222212212112211222211212212112221211112221121111122212121212211222211111222222222121212211211222121212222111222112121121111111111222111212112221222212211212221211121112121212221211222211222111112112112222111221122111221211111222121211222112211212211222222112222211122112122222122121112212112212112222121122221122211211121111212222111112122221122111112111211221121211122211112222212222221112212122212122221221112111121112221112111212211111121121121111222221212211222111221221112221222111121212111111211111111121212111111221222122221212111212212221112211111221211222111122122121221111211111211111122222211112221211221122212211111111211112221222122112221221221221222212222112112111112122112222112211121121111112112211112212121211212122211212211112122121122112111212111222112112112122112122111211211211111212121221121111212211111211221112112121211211211111111222111221222112221212212122122212122212111222111111122222122211211211112112122211212211122211111211112112222111222112122221221112212221112212211212211121221122121222211121111221222211222221111211122221212222121221222122222122112122112112211222212122222112222211112212212222212211121112111221212211212211212222121122211121122221122212111222111211121122211222211221112211122211211121112111112221121111111222211122212112111121211222121111212111222221121111112222111111112122122111111111111222112212222211122112122121111111222211112121122221111111112112212221221111111121121121221121112211222211212222221221212212212111111121111121122212122112212222112212212221112111111212121121112111122222212112121211221212122222112212111121212222212122122111111222121221221111121212212122122111221222221121111112211111222122112121112222212222212122211211111111121211121111221111112121111121121222221222122112112121221121222121122212212222212221221211112112212212121122211112111122112212111222211112211121212112222212211121212221111212111211112112211222222112121122111222212211111111111111212212122222122222122212212221212222211211122122111122122122121122222121222122122111111121112212111221212122221111121211211112211121211221111211211221112211222222122122212221222221121211122121122222222212211111111212221122221121112112222111122112221222112112222222112211121122111121121111212221122221111112122112121221121221121121112221111222222112211111221112122212121112221222212121211222112221222111211121122211211212121222221212222112211112222222112122122212122211112212211122211221121211221222111121112121212212112112111212121111112122121211122122112221121211212221212211221112112122121121221122122112212212211111211211122111211221222111221221121112221111222211222112222112212122112111221111122212112122111212112122221212112222122122222221112121112111122222212212211111221212121112222111121221221221211121212212211121121112212222121112221212211221222221221211112122211222121211211112112212121211221222111122221212121111212121121121121212121121211222122221121222221111221222112112122211222111212122211111111211122221212211221122111222212122122122212111211122112212221222221122122221122111111222122122212212212112111211111121121122122212222212121221122222221122112212222221122221121222211121112222211122211122211211211221221121122121211112212222212211122221221221212212212121111222212111122122212111111122211211212222121111121122111121222121212122122122111212211122111222221111212211212212122221212122211222122222111121122111122112112221112221221212111222112212121212222212212211122111121222212212122121221111121212211111122211212221211222222222221222222111111211122211212111211212212221112211211222122111112121211211121122121122222212121211122122221122112111211211122221121212122212221222211212222221122212112122221222212121111222211112212122212111221112221221221222222222111122211121221222111221111112211212222212221111111211221112211121122112112122212212222112121112122121222111212212112111122121122222111221121121211222221122122121121221122122211122212221121211211221222211211122211112222221222222121211112211211222111211212121122212212112111111122112122221112222122222211111212222211221211111112211112212112112122121112212212222122122122122211221112121212111211121122112111212112111122111111121122112212211111212221122211211111111221111221122112121111222121222212221212211111111122211211212212211212212221212211121121121222222112111121112222111112222121211112122212211111121212112122221111112122111222211221221211221221122212222122221222112121112221122221112122112121121111222212222121122211212122122222111111111211222112221211221221222221212212221121222122112221212222122121111222122112122121121121112221122112121122112222122211112211111111212212211222112222121112112211122222222221121111112122222212121211122111221121211121122112212122222121221111211111221212111112212121112121221112212111121222212211221211211222122122121122122121211221211222221122222222111222211112211122221122121121221122221112111111112211121122111121112111222212112122112211121221112111211212222111211111212111112211222112122212121122112112212221112111211212212112212222122211221211222122211221212122212221211122122112212222222111222212211211122211222121212121212122111111111121122211111121112112211121111122111212221111211111212122121221112111122222122122211212121212112222222121212111121221211211211121112212222122211221211122122112211111212111221221112212211222112221222121112112122212221111121222121112211212221222111222212122112111111121111211211111112211112121122111112111212111122122112212111122212212111222221121211122221112121211121121112221112221221211212122111112221111211212211121111111122121112111112221122111211121222221121112121122211222112221121221121121112122122221221221122122222222111211211212221211122221221112221222112211221122122122211212111122111222111112121222122121122211221212211221111122112212222212122121122112222121112111112211212211122211111222121222121121121112122111121121221121211212122221222112122111112212122212212221212222221112212121121111112111211121112112122222122122211212211222222112221221112221212122212212211212111222111122211212211111112222212221221211222121122112112221112221211112222221222111121222111211212111121221212221112121212112222122122112111121211122111221111111112221221221212211212212221212111211211222121121212222211112111211111121111121111211112111121111211112121211211222221222122111112212112211121212121212222221211121212221221212112211121111211221122121211122221112111221122111212222222211212222122211111122122121111121111211222121221111212122221221111221221222221221222112211122122121122122121221111112212221111121112222111211121111211212111122122211122112211211121111121112212221121221211122212111112112211112112121221121222111222111111212121112121222112222121111122212222211221221222222122221121121222122112222112222212111212221222122211112222211222111121222121111211222121112212121121221212112112122221222122211121222122211121212121122221221212212212111111222122211222212222211121112121122122212212221222111221211212121121221112221121111221221222121111121222122221122111222121222111211112112121211121212112211122211111121211122122111212122121211211111121212111122112122222211211112211221122112222111121221112211111112211211122212122211111221112112121122122112112212221211211222122221212211221122111212221111111122212122121222122111221221222222112122121121112112121112111212212122221221121121111221111122111111122221122211212222222112111112111122122212211122212112222122212211111221221121212122121221222121121112211112112221121211112211222122121212122211212221111211121121111222221111112221211112211211211112121221112121112211122122222211221211211111211121211112111212122122122221211121122122211221122122121112221212221121211222221211212211112222221212122111212121111212121212221211212121111212121111222211222121221122221222112221222122122121122211122112111121221221222111122121122221121222112122222122121112222212221112222221221211221212122222212212112212112111212221112212121111121121221222121212212222212111111111121222122212122111111221221122122212222122121212111211111222211222111112211211122112212121122212222111221122121211212122121212121211211121222211112121111211111212211222111112211211112121211211121121122211221122212122122122222112211122222221112111121211122212212121222212221121211122111212121121211221212222211111111222121111112112121221112211211122111212121222111211211221112112121221112111112222211122122221212211111121112212111111212211121221222111122221111121222112122121122112221122122121222211111221211122211211221221212211221122212122121211122222211212212222111122122222111121221222212121222111211112212121222211121211111221211111212221212212112122121211122222111222122121212111212112221221122111112221222222222221112222112111211221122221221211112111221121121112111221122221222221111221212212221221221122212222111211112121111121121122221112221211221222221111211222121121222211222111222121221122112111212111111112222112221222222122222121211121122112111211121222221122222211212122122122112221211211122211122121112211221212111122222111121222111111122122122221211212111121212112122112211121222112121121211211222112111222221222121121112221121112222111121121221122222211221121221211211111211211221221121212222122211222121112212121111112112221122111122112122212121111112211222222111122112111211112112121222221211112121222122222111112122211212211211121121121212212112221222121112211111211222212212122221112121211111122112222211112221211222212212212112211112222112122222112212121212222212221211121112121212211211121221221221221211121211122112212222222122221222221222122121212211121121212222222211112211121222211221211121121122112222211121111122111122111211221111112221212211221121112221122212122212121121111112211221112222212121121212222121211122222222211112221211212112122211211111222121112211111222122221222221112112211111221122112121122222122111121212112121212111221111111221112112122212121211112111222122222112212122111122222111212212222112112122122212112122211112122121212221112212122111122212122111212122111212222111111121222221121121122122121111111211122112111212211222112211121222112221111221122221112222222221222222221122211122122122111212111112122112222111222212122222122121222112211222211221122211222111212111112212111211111121112112211121212111212211221121222221122221112211211112111212212111111121221112122122121112121222111111111211221121122211211122212212211212211212121211112122212222112112222211112212111122212111222211211111212211212122212122212212212222221212122212122122121112121121221121211122211222122221111222111122221221112112222222111122111112111121211222111111211211111112112122222212121221111221112211222122121121111212122111211112121121212221211122212111111111212122122222111212211121211222122221121112111121222222122111222212121122222122211212121212222212221221111222211112212211112211111121212222112221112122211211122122221121111211221122211222111211111211122222112112121111212222211221221121122121122212111112222112112121112221222122112211221121212211121221121111112122122221111112212112112221221112221221112112212122212211111112122212222122112121211111211212111212222211122112221111112222122211222222222112111122211211211111111221121222112221111121112212211222121222111112121112222212112222221212211112212111221221212212222112212211112111121121122122121222221221222212111212212222112211111211111121122121221111121111222222112111112121122222122111121112221121112212111121212111112121121212212122122111221112211222222112111211212121222122122211222211112112111211112221111122122122122111121222112122212122212122222212212111222222221111221221221112211111122112111121112111112222111222112111122122111112111212211122211121111222121112211112112122111212112221221212112222221111112112211112212112221212112111122222121121111222121221122212222121111212211212211221112211111111112112111112221221222221122211121111112212112212122212111222122221121222221121212211222221111111122221212221122222111112111212122112221221112211111121112212112122112212121122111122112222222121222211122121122122211221211112122222112211111121212211212221211121211112221221211221122121221212221212211222222222222221222111122122221122221221211221222122121211111111212112122112221112121122212221211121222111221122212211212221121112122221121212111112222122212121121212221221221211212222221211221221111122112222212221211221222221211211121222122112111112212212122112112221212112122112111122222212211122111211122222121122121121112122111111222112121121211121222211221121112222222212122222211122122222121111121112122221212121221212121222121211111112122112112112222122122212121122221122121122112222222112212122222122122121122221122222211112221221211211221122212222121222212211211211212112211222112211122122212221122121212211212222121111111212112212221122112211111122121211121122111111211211111112112221121111211121122111221111111211222121221221221221211221111121121222221211112122222111222121111121112222211122212122211121122122221221211121111211221121121222111211221111221221211122122122222111111211221222111212112122222121121122211211221112211122122212121211111121121222112211212122121221211111112121121112221122111221212221211222221121112221211122111211211211111212221121112122111222212112221211112211211211221212211112122111111212222221211122121111221222111111111222112121112222212111222222122111212212122112121111212111122212112122212222122121211122112122221122211211122221222212121111211211112211222221211211222221112212121211222122112222221122122122212222111121112212221221212212112121211222111211222222121212122111221112221122121111221112212112122211211121122221211111121112122212222221212222222111222121111111222212222212122222112222222211212111211221111122222112122221112122211211121112111221211121221212222122111211112121222222211121211121112121121212221222112111122221122211211222111111222222222222222221211222211221111212121122111112112122112222222221121212112112222111121211222221221212112111211212112212221112112211212121212112221221121121222121212122111121121211211122221121112221221122122211112212112121222211211222222222221122111112112221122221212211121121121222221122122112112122112211222212122121222122211221222211211211222221111112111121121211212121112121121121222112211211221211211121211122221112111211222222111211212212122212111111111121212122221222221211112122211122122222211121222112122222221112121112111211211212112221221111112122212212122212111212111212121211221121121112212212212121212122122211211112212111121112222122111212122122121222112212212111222212112112112121112112121211112221212222212112122222111221211111221212221122121222122121211111122111221212212211211211112112221222111112212111222122112211111211212122111221212212221121212121121121211111121222121211121222122122112222112211212122212112212112211122222221121212122111222221112222221212222212111221121211111211121112222211212211121111112212122211122121111112122121111222111222121122111212112222222221222221221122112121221221122111111121111121112221211111222212112112212111121122211112122111111222222221111122112111211211221121111111111111221112122122211212122222112111222111112222122211111111222111121112122112222211222122122121121121221121122211212222112122211112121221221211111121121211222122221111122222212222211212122112121212121121212112122222112222121211211112111111121221212112121211212221212121222122122211212121212112121112121211212122222212221121122212221211112211221221222211211222211221222221221212121112121211122212212221122212211221222112122212121112211212121112212121211211212112112111122111122222121211222222112221221222222212222111111112121211212211222211222212122122212221211212221111212222211221122111211121221122122112222121121222212112122222222112112111212122111211222112211122212211221122121112222112222211222222111221212122112121121212122121122121112121112121221222212211112221112212111111211222212121122111121112211112111121212111221221212111221121221111111212121121222212122221111222222111221122121211211212122212112122222212212121212112112211221222221211122222111221222111112121211222212121121212212122122212111111112121111212221212212121111212212212211111122212121111211122222112112122222112121112222211222122221211122111122122112221112222211121111221211122122121211221211121222121222212212212212212112121221222121121111111222212111211121122121122111112222111211222112121122221222212222222122222122111211112212211212222211212111222112111112121111121122112221221211122212221111121122221111122211111122211221221221112222221221221121221112111121112122211222212221212222212121121221121211111212122111121121121222121222112211221221211122122122221221211211212211122121121122111111121222111211122212122111122212211222121212221212111111211221211111121111221112112111211211221211222221121221212212112212212111121221121221222121212221111222121121212112221111222212211121212111222121121211121222112121211211222212121121221112112111122112112222221221212212212111212121212122111112122221111122221121211212222112121222121121221111111112211121122122122112211122122111212121112212222122222111111122122121112211121212112221111122212221121112211122212112211121222211121221222121221112212212121111112211111222212222212212221121221112221222212212211112211212122212212112221112122121111121211112212221111111111222111111121212122211111211212112111121122222111212122222122111122221222122122221111211111212211111112221111111112211111212212212221122112212122222211121111211222212112221212122121222211121122111211222121211122121122212112121111122112211122111112212211211121222112211222112221111121122221111222111111121122112211222121222221111121211112211121122111111122111122121221222211222211222112111221121121122211121111221111212111121221212211212121122221112111112111111122211221221221221211121211222211112122122111221211212111111111221212211112212211121111112222211212122222112211211112211112111212222221221222121211221122211112111112221111212122122111121122212112122111211222121211211111121212221222121122121111211222111121222122121121222221121121212121222212121122221112122212121212122122212212112122212222122212222122211112221121222222121212212121222111112212111121211111122212112121211112222121112211222211111212112222122122211112212121111111212212221212221112212121122221122112111121122211112121222221211221221111111111112221111112222211211221222212122211212122211111211221122222221122111222211212212211222222111222112222112212122221211111222112222222222221211212222222121112222221222222111111221212111222222112122222122211222111212111221111111121111121122222221112121222221121222111111212121121212222221112111111212212211222111211212212112222121211122221121222212222221212221122112222212121211211222111211211212121121212112221122122111111111211211212122221221111122121211112111211222222112111122121111121211222122112121121122211222212112112222121121221212212211221211121121211212222212122111111221111222122211211122111112221111122111211122122211211111121211221122112111221212211211121121212222111122111111122111211212121122222211121221222111112211122221111212221122121121121221112222211111221222211112112212222121122222121211122121111221212221112112221122211212112222111122212112212122211212112221212121122121121212122111221211121122121221112212112221222122122211112222122112122211211112122111121122221112121121211211111122112211222112122222222111211211111221121111222222221221211121112211221212121211122111222211221121212112212222111122112222122112222111121222122112211221212121212122122111111112222221121112222111111222121211122122122212122121111122122112121122221121121211112121121221111212121121221222112122111212122121121122121212112222221122121122112112111112222112222211211221221212121222121222211121221211111122111222111222222121212222221211211222211112212122211112121212111221111111111122222222222122112212222222212121211121211112111211112121122122211222221121222112111212112121211122222122222211211112121212122212222222121221211111122111112211211111112222221221111222111212212211122211112121221122122222112122221212111212211222112112111121211122222212221221122111122222212222121111222111121112221212121212222121121112222222121222112222222121221111211212222112121221222121212122121121211222121122222122121112211121112112212222111122112111221111212222212222222222122221222121221111222121121211212212111112212111122112122121122121212112111122111111111112112112111212122212111221222212212121211222121221111222221212121211122222212111212111122121221112211112211211211221112112222211222222221121211212221212121112122222211212112121112212221212111212212221122111221222111222221221212122211211111122111122211112121221122111222221222122212121222122221222222112111212211221122222212112122111211112121211111222111112211112122111211111212211222112211222211222222211112111111222222112111212121211122222222211122111212222211112121211222121112112112112112212222112222211212222122121212211222122111121122211121111112222111221221122211212122122211121221112111122121212221211212122211111222221212121112111122211121221122221112122121211212222121221212212121211112122221222122111112122221111121221212111221221211111212112111222211121212222122111111222222212212122212121212122212211212121111211122121212111112212221221211212222111111111211111212212122211212222211222112222122222122211222222121111211121122111111222122222221121222222211212221112122112222111222221121112121111222122111212222122222222212221221121121111112211221211122111122211121221212112221222122111122121111221212121222222222222221211122121212111121121221222122121212221112112221212122212222222212112112121111212112222111122111121121212211212121222121121122122211221211212212122211112122221112111211222222212221121212212222211212221121222121121221221112121121212222111111112112221212221111222122212121211112222111122221112212121221212221212112121122122221222112222221112221222222212221112222112211122112121221211212121212122112111212222122222212121112122222212222212211111121222122222111111211212211112111112112112222221122222122112222111121211222121122122122122222121112212122122222121211222212122212211222221222121111212221121221222122122111111122211112121121211221121122212111111121222222211212111121222121111121121112122122222221222122211221122211112112211222212212211112211112112122212212111221111112211121211221111211121222222121112211212112112121222111211121121111121222212222121112122212121221121112111221121211111111112222221222111211112221222112112111212221211121112221122221121112112121211111212111211211212221222222212212121212112121221221211212211112221121112212122121122221121121211112221122112212211111112112111222222212122111222122112211112112211122212211121112221211121212212111121111122112211122222211211122211112111212222111122221211122221212112212121111111111111112211222111212122221221122121111222222121212211221211221111112212222211111211111111212211222122112211211112112112122122221222122121112222212212112111222221212122221221221222121222212121112111122121212222121112211111212212121222221211121121222122112121122122122222111212111221222211212122222222221112221122221211122112212122122111211122112112222112122112211121221212211221222221212112111121212212222222212221121122121112222221222211121112121222112112221211212212121112222122222121121122212122121112221112122111211121221221211212111212112111221121222111121121111212212121111221221211211122122121111211111222221112112212211121121111211212221212211221112112121122111212112122122222221221111122212221111222212111212111212211222212222212121122212111122222221221121211121211211221211121222112112112221212111122122221211112112111121121121111122211111112222112222211222122122122221212111122112211122111222222112211211211211121122121121212212211222121121121212121122221211121111211222121122211222221222121121222212212122222222122122112212111112122211221222222121112111222212122121111121212222111122211111211221221222221122221121111211112211112222122112221221211221121221211212112112122211122112112222121112221122222222212122212221112222121211222221122222221111111122121122222111121111222121212121222212222112121221122122221221121122211111221111212112222122222222122111222222111211111211112122221222122212121121221122212111121212212211122122122111211222212221222211122111112211122212212212122111221211222222112121222211112212121121122112211121112112211211221212121211122111212121211112112112111111212221121222122111222121111121121212111121121121221221221121212221221222221121222211111122122212121221112122222212211112222212212111211122222111112111111221211111221112212221212212121112121111112222122112212122221221112221212222121111211121221211211122112222121222122211221111112122121121122222112122222211211121211222222221222111121111121211211211211111122122221111111222122122222211212122112112211122111112222112212221211212222112112121111211221212222112212121122211122222122121222112211222221222221222122222121112212222121222212112121112211211212221212212211211212211111122211221112221221221212121121211121112212212112112222222222121122221211222212211212211222221211111121112222212111111222122211211122212212221212121112221111212122111121121121211211121122221111122112211121212111112111111221121111121121212111112111222111112111121212121122112211212112212122111122112112212121222211212111212222211212112112122212212212211111211211212122111121212211121221121211121212221211221212112222121212211112121122121211221221111122211222122121112122122211212221112121121212122121212212211122222211122212121112211111221212212212121212222211122122121222122112122212122112221211121211122112121212122222222111121121111221222112222111121211221121222121111112112112122222211212222222221211112221112112121121222221222112222222212112111111112122221111212121112112221122121222111221111221221211212222121212211222212112212111121212221221112111112121211221221211112112111111221211222212121222221112111222122221111212221222221222221222222111112122122112122111122111112111121111221112121222112211221221122121222212122121221212112112211222221221122121122211222112121121212111222122212211212111222112121222211222212221111112222212221122122221212221211122211112211221212122222211222121212122212211211122222212211122221211111122222221212211122122221221111222112111221112122121211122111121211112222212111212222111221221222221122211111112212222222211121112121122112212222122221112211222121222221221121122221211211121221111221211221112212221112222112221221222221112122211221122222122212121222111212221211222112121221121121121111212122212112211111121121222221122121112111121221122221222221122211112212212122211222111221122122112112211121211222122212222111212211212121111121111122111212221221211121111112221122211221211212221212222211122121212221221211112212111111211211122212222122121122121212222211211122211122221121221222221112221112222121221211121122122121211211211112112111111211121212221122111222211221222221221122121122112211122222121211122212121111212222212211122221112221111111122211222212122222222212112211211122121111122211221222111122222112212222121121212221122122111111112212111112222221212221212221122212122212111211121211211211211111111111112221111111212212211222221121112212212212121212211222112221222212221212221111111212112221222121212211222211211221222111121112221122122112222111211112122211221112112222221221122222222122112112112211221211211221121112111121112111222122122122111122212221121212222112221122122122111222121122222121212221212111212212112221211122121211121112122122222111212221122121112111221112221211112112122112222122111221221221121111121122211222111121122122111122211121121121221121222222121112221222121221122122222112211121112121121121211121212122122222222111212211222221221122221212211221221111221221121212222212121122112122121111212211221122111121211221222111111121221112121222222112212112122121221121222211112121121221221122222111221221112211211221222112112122111121222121212222221222221212211111112212212112122221121121122112212212121112122212112111111221112122221221211222121111121121112211211221112111221212112222221112212222222122122121212212222221221122212111111211122221211211212211212222111122211121121222122121221222222222212221222221111122112211121112212222121112111121121121121222212122121221111222221211121211111121121212221211111221112211111212222211112222211221111122222212212221121121111112221111212111112122212211212222122121121112121212221121122222212111212111111121112211111111111121211111122212211112221222212221111222112112212212121122212212211221121211111221211211212121111211112212112121211221221212212112212222222211122222112122121221211212211121121112122211112112112122111221222112211112112122211111221121222111212121122222222212211222112112112221111122222121112121111212111222122121121112111211211212111212121112211211212221112112112122212122121221121111112122112221111221111122211122222211121111112122121212111222222212221211112221211111221211212121111111221111221111112211211211121211111122111122222112121222121121221211211111212222221211221121111111221221221221222112221222121121111222112122222211111212221111221121221221122122112222112211112122112212121122111211121111122221111111212112211211112211222221112221221221112122112211222121122122121122121222222222212121122112221121112211111221111112221111221222112112212111221111111212121122212121222212121121112121122211221211111222121112122222112211121221222212122122121112121121212222122222222121221221121112121121111112211112122212211221111111122221221121222221121222121221211221212221212212211122211221112211112222122222121121111112212111222121212121111112221221121211222112121221221222121121212212122222121222211222221112221212221222211211121111212212221112111122121121111112211212221211211122112221122212211122212212212121212112222121221221112212111212111221211112222222222112212112211212212121121121212212221112212112221222122222221222212122211111111222211221111222121212121222221212212121121212112212111222121221121212112221221121222111212211111212222212121221222122112111122222111211112112211121222212212211121222111211111221122221121111121122221211112222211121221222222211112121112111222112121121212222221112121212112112221121222212212121111111112111222211212212211212122211111112112112111112111122121111211221112221122221111112221222212212211111212122121121122221211221112121121111112222211112122121122222211122112212122111211212211122211211222112112222121222122112211111211212112221112121222122212111112122111221221121112212122122222122122211121121221112112121122221111111112222121111221111121111221221222121222212112112111211112222121111111122222222122221111211111221122211222122222211221111212112222122112211212222222222122121121122121121111121122221111121222212122121221111221111212121111121212221111222111111111211121211112212122122122222211212212221222121122112111221122111222112122222121222211211111212122112211211212111111122111112222211112212121212112121111222121121222121212212111212211111122211221121212121122111121112221222111221222121122222111211111111212212122222122211221212222222112111221221112121121211211212121112212122111221121212111222221221212111121112121211212221222122122211112111111111111222211121212221111111222222111122122121111222112122212212222121122212111221122221112121222212212212121121121111212111222111111211121121221111122221122122212222211212112222212112111211222221122121212112222221212121221222212211121121121221222221221122122222222222212121112211221212212111122121112112212212111222111121121122111122122121122212122112222222121212112111112122211121222111211211112121111122111122221121112121211212121221121212211122222211111111211221212221121112112222211111222222112112221221121221121212122211122211122212222212111211211221112121121222221121212121122212221122111211121111122112211121211222211112112211121122111121111222212111121221222212222122111111112221122222122122122222122112111222111122122222112122221121222222221212122221111121211211221112111121122111111211121221121221122212111121222212211122122112221112222121211112122112112221221212121222111122122111221122222222221112111212221212211111211111212211212112222122212121112121121211111112111122211211121112111121211211121222122222122122221112221221212111112222122212222221221111111122222112121211221221211212211222112112221121221121212211212111111221211222121221222221122111212111212212122212212221212122212222111111121211222212211212121122222221212111122112212211212212221221111211222111212221221112212122211222221221112221221112211121221212121212111112212221212112221121112222112212211222111222112111112221112212112121121221112121111222122211221122211212211112212111122212212212111112211221212222212211221212211221112212111121111121112212112221211221211212111121112212122211212111212112221212121121121212212111121112221222121221222222121221212212221222221112111111112121221122222112112212222111211211221212122211212222122111211211212211221221211211222212122212112122112121211111222122221212121111211112222221211121212112121222222111222112222121222212211211222221112222222221121112211212112121111112122121122222121221212112222122122112222112111121121222112221222221212112221221221121222111212111221112212212211111112111121111112211121112212211111111122111212112122211221121211121211122222211221222121112111111221211112111112221211221211222221211212211111121121222112222221112121212122222122112122112112221222222211122222122211121211111212122222121121211222121121121122222112112221111221212111111111211121221221122121221211121221222121122111221221221111112222222221112221212221221211212221122212221112211222221121122112122112211222212112121122121122212212221121112221112122221222111222111122112122212212111121222121212121121222221112211211212211222121212121112122221222221211121121211111211211211212221211212211122221221211221111222222221211121222112212112112211122112221222222212221212211212111121211112112221112211112122122212122122111222111111211211211221211122222111212222221222221222122111211222122212212112121122121222111222122112211111221112211122221112212112112111112221212121211222122222212112222211112221111211222121211121121212211112212112222111212121221212211212122122221221112222211212112211212121121111211122112212111212221112111122121112122222122121121222221221122212112211211212121121221122221222212211222111111222122212211211121112111222112211112121221211121221121221212221121212222221122111111121121221122222212211221212122221112111222222221222212222221111212121211212221122112121212212111221121211111121111212222221221222222122121112211222121122211212111222111222121121112222121111222212121111221111122111222211121122211112222111212222211121221111112211222122221222222211221212212112111212222111221112111212211222122122122112222221122122221211112222221222212112111211221111211111211112121112121111222211111121212121211122111122111122221211221121212221211111222222112211111112221111121112121222221211222121212121212122211221212112221112112211112121122112121111111212111211112121122112122222122121111221222122221121111221212212112111122221221222222121221221111111212221112212121212121221212222121111111211112221222221211212212112121212221111112212112212122212212212211212211112211112221211112112222211121212221212122112121211111221212122121122212121111111221221121211211212222221111112121121121211122222212221222122221122222222112222111221221211211212212122112221211122211122111211211211212211111221112221112222221222221222211121121222122121112212112122122112121222222112212211221111221121122121112112121121211111121222211121221122221211121222112112112222221222212121222212122211122211212221221221221122122112121211222221211212221222122121221222222122111111122112111221112222212222222221121221221211111121111222222211221221212212122212212212111121222121222112211122121111212221211111211212121221222122122211212121111221212112211112112211112222222122221112212222122112111212221211112112111121211112122112112112111121112212122221222111221112211222212212121211112121112211112112212111211122121122222221222221122212121121112222121122212112212211211112211122112112122121111222112211211222221211222122122212222112212111212121122211222111211122222122221221212112222222121212222112222212212222221222111121222112122221121121121122221211212222222111121122211211112112221221122112212111122122122121122112211211221222112212122112111112112121211212211111222211112212212212222221221221121112122121212222212122222211212122211222221112221221111121111111211112112212222111112212122222211221211221111212212122211211122211111211121112221211222221122221112112112112121222211222221121221111212212111211222211112121222212122212111111212221112121222111121111122112212121222112222111211211221222122212212212212211122211212211112211211121121212121221212211222212111221211221121121212112121122112221222121212121222111212111211112122211211121221222121112211122212111122212222111222121111111122222211112221122122121211221111112112211221221111222222122211122111211212111211222212111211111222112212221111211122122221111221121211212221122221221111211211212211111121211122212112212222212122122111121122212122221122221222211122222122221221221212112111221222111222122111122222211222121111212212122121112112222211121121111221212112122122211221222221112122221212212112211212211122112222111222121211212222221212222122111222111222221211221122122211112112122111122212111222121121222212112221112121112222111211122212112221222212211112222122122121211111111112122122111122121121221122221222122211221112221121221112212222211211221112112121122111212222211122122212212212221111211212222212122222222112122221121112121112111211222211222221112121112222122211221222222122111111221222212111121221221212112222221212221211211212222212212112211221122212111222112122111221111222121211222122212222111121221111222111221221121211111122222111122122122112221111221211121222221121121222122122121111121222112112121221111212221112211111221112212121221122121111211122122122222221111211212222221222121122112122122112121122221222121211212212222122112212221111212221221211112212111222211122211221211211222212112122222212122211122112111221112122122112111121112121221222211111222111112122111121112122211211222122111122222112212221112121222112212221221112121122122211222122122112212112122122122111221112211221111111221121212222111221212212221221211112222222122212212122111222121111112211211122121212211221121221221121121112212222112212111111112222222211112112221121121221121222222121211211121121111112111111122112221211222212121212221111221221212221222211122212212122121221122221111121222222222121212222121212211211222212121211111211111112212212221221222212121121212221111221222212211121122222122211212221222212221221111221112222112112112221211222221221211212221211222121212222222211221221222112112121112121122111211112112122121112212222122122212211121121121221212211121111112212121111211212121212121212112122121221211212211111222221112222222122111121221221221111211111212222111212211112121121222122121122112212212221221122222111211211222121112111121222112221222121112121112211111122111221222211111121222111112122212111121121112212222121122122212112212112212212112112122121212121111221112121221121121212121111212112112221111111212222211221221121221112212111112121212121121111221112111111211112222221121211222112122212221221212112211111111121212211211211122112211222112221111112111212112121112112222121111121221212122212112211111121111212122222121122212212111111122211211222212221211112112112211222121121112122122222221212212221122111212111122212112111221122211121122111211211111212212212122212211111122112111222212112222111222211222212211111111212212111111112211112212121111211211211211221211211121211212222112111111122222212121211111212122221222211122122221112121111121222221222221222121112221212122221111212111212122211112111221222211211122211211121211211122221212212221211212212212112221112111222211221111111211122112212121121121121121111122112112121122111212221112111211122122111121112221222121211111222111122122112221211121222112221121212212112121112122112122122222122121111122111111111211211222211222211121122222222221211222121212212111221121111212111221222221212222111222221221111121222112122212212121212122121211211221211111222211112111122121212122122222112112211221112121121211222222112212222212211211212111222122112111221112222111121221121111212111112122211212122121122111212221221121121211212222212112212222112121111121112112211112212122221221112121112122122121111211222111111111111221122221221111211212221222221122211212112121222112111222111222111211222211121221212111212222112122121222211211222112221111121222111111221222121222212222222222122222221122112121222112222111121122122112212212121221111112112111112111112122112112112222222122212121112112111222122121221122111121112211122222112122121212111122222121211122122221221112212112211121111212211111211121211212222212111121122111212222211121111122212221122112121112111122212211122222211112212211121112112112222111111211122222121212122212112221212221221212121111122122212122121211121122222112111121121111221221111121221222122122211121212112121121211212222111111122221221211112112212221222221222221222122221221122111222222122222212112221212221112211121222111212222121122111111121112111221112112221222122212212222212111122111211122222112221211211212122221111111221222222221221211221111211211222212211222122222111211111222221121111221121111211111222111221112121121122212221121212221112222121121112222221222222211212111111222111221221221111211122211211212122122211211121121111121221122121111221212212221112211212121112221111111211222221122211222211112221122121112212222121111221211221121212122211112111211112212211122112121111122122212122111222212221221111121222212212111112112122121221211111122212212111121111212111211222121111112111122121211121112121211212121112222221212212211122111211111222122222121112111121121111122211222122111112221222111112122122221221122121222211222122121221111211221222121212121211211211222211121112212221121221122221112122222212212121221212111212112222212121122122221122112221221121222222121111211222111111221122212212111122112211221121122121211121111112221121112222211122221122212121222221211111121111212221122222111121122112122212221222111221121211121211111221212211222111122111112111221122111212211111222221122112112111211212212212112122121111112112121112221121211211211211212111112121221211222111121111111121211222211222121112122122111212112222111212122222112221121222211212211122122122122112211122222211122211122111222112111221221212212111121111122212221211122212222122111222212121222122122211222211221122211121121221111222122221121222112112111122221111212112112121222212122111221122222222211121111212122221212122211121212121221222111211122112211212122221211112221222122221111221121222221121122111122211111111212222121212111221121222111122111211211121212222211222221122211221112211121221212222121222212212121212122222121111221112111121212222222122111222121112122222121112111222121211211121122212122111111222112111111122211121222112112221111222112112112222212121221111221121221121222221112121221121212112222222212211122211111121111222121221222222112221112211112222121111121211211221112111122212222111111121222222112122221221212122212212222112212222221222221211221212122112111221211212112111122222221121212212112222112122122212212111111221112211112211122121222221222211111111121211111212111122221111112121122122112221122222211122221212211122221211212222121221221112212121122122221222122222121121222121221211222122212112211222212122221212222212211122112111112211121122211112212212121221221112122211112222122222221221111211112112112212211112211121111222111211122122221211221221212211121121211121111211112111112221221212121111212121112212121112121222121121121221222112221121122122121121211211211111111111212222112121112222112221212112112211212122221121122122212212211112221122121121221121122212111222212122111122212111211212221121211121211221212112112211111122221222221221111121112211222212221121122121211221121222221212212122212111221122211211222112211211221221212212111211111222112212212111212221112222221122221221122222112212212212111222112212121112212222211122211112122211112121211222111222212222211122221121122121222111122212121221222221212211212122112221121112121221221221221211112121212121212112112111111121222112222122111121112122221121212211111112122212221112211211121112122211212112211112111111122211221211221211222111221221111122222212211221222222211212211221122221122211122111221122211111122122211112212221122121222122121211212212212221122212212222121112211122211221211212221222121222212112112112222122221212221222112121221111222111221111222112221221112211221121212212122222222211112221112212221112122121211121222221221212111111211221211122221111212212121221112111212211111222111221221112211121211211221222221111121122111122111112112222111222212121211112211121122221122112212221221122122122111121222121212122121122111222121222212122211111221121112111112221212211122122212211122111212222212211222222121212122222121122111222111112121222111112111212221121112212112112212121211211212121222212222112212222222112121222222211211221222111111211212211221211211211221211211121112112122212222121121221211111121211112212221122222111121221221212121221211122211111211121122222112121111212112121221222222211111111121122122112212112212212112121212221212122221121221222222121111222121112112111111111112221121112111122221212111212221122222122122111212222121122121111221212221211222121221212211121122122112121221111111222122221212111111221112111111212112111222121212221112112212212121111111111121211222212112121221212121122212112221121222211122122211222122211122221122122122222122222211221122212222122122122111112222221111112212122111212111221111221221221211121212121222111222121111222211211212122211211112112112211112122221122122221111121212211222221221221112121111211212211111211111111222222111111111212111121121122122112222121112121112112112221222221222112211111122211212221122221212112221222211222212112122221122112221112211122221121112122212221211212112221222222122111111212221112212222112221221222122222121122121121112121121121222212222212212222222212212221112121112122121112122122221221121111221112222122212111221222222222112211221221221112221122121112111212221122222222222212121211121221112221122112112122222212211221222111221212211112112211211222111121221111112112222212212222222122121221112212121112212122222221212221122112222222122112112212212211111222211221111121212122122221222211222121111122222111211122111111221122222222121221212212212121222122121112222112121121121112221111211212211111121222221111221212111111112111121221112111212222212212212122111111211212221122212122112212122112212222111221221112111111211112122111222111122112121111122222111221122121212221111211111121112222211211211211112221221221112222212222121211112212211111122221212111112122212121222121212212112212211112211222122222222222212222112221221211221121111212222111122211122212212222221211222212112121111122111222221121111112112121211212211221222111221111222212211112221211212112121122112111112211111112121221211221111121221111221211221111211221222212221122212121121212221212221122221221122211211221111111222212112111111211111222122111112122212222211111211112121212112222211212221211111221221112112212211212122222222222222221222111221112122112112112122222111222122211211212211122122212212122121121211112222121121222112212111111122212222111211211222211221121112111211222212111222111212222211221222212122111212212122211122221122112221122211222112122112122222212112212211122211211122221221111222112211122222222112122112221122211221212221221112121222121122221212221111121212211122211112211221211221122122222121221112221112111222212211221212111222122221221121112111211211221211112112111222121212112221222212121211221212112111121112122212221221121122222212212111121221221111221221212212121212122222212221111112111111222211111221121211112212211222222112212211222211212221111122112222221112211212111222221121111221111212212221112222122112212212122222221112222211221221122221111212221212112112212212122211221121111122221111221221111111111221111122121122111122212121122121112212222112221222112211222112112112122122211222211122112121111222221211121112122112112221211121111222121111121111112222212122112111112121111112121122222221111211112221111222221222221121122111121212222111112222212222121122121121222211222221221111111212211212112122212211121212112212221121111211122212221122122121221221111122111211222221221122221212121212122212122121112212111122121112212211112211121222111211121112111111111111222121222221211112121121212122122121212222222211212111122121122221111212211222112112222112111222211112111122112212111112222222112112212221212221211112122212111222222222121221211122111221112212121122211211221211211222212122121211121112121121222121221221112212111122212111222212111211112221122112121212122121222221212122221122112121211122222112111122111212112222112112122211212122122121112122121122121212111221112112222112122212212212121122212221221112112211111112112221222221122121211112121222111222212222222122211221211211211221121111222211212122211111212122221222221112212211211221121112211211222122112122222222212221222122222111221212112122112211121212121121122212212112211111221122111221112222222221221222111212111112121221212221222111211222222221121212212122221121121121122211212111121122211122221111221221121212211221112222222211212212112222222112212112122121222212222221112121211122121212221211121222212122122212111212212112211222221112122112121121111211222211212122122121222222112121122112221122112122121112112212222211121211222112222222212111211112121222111212222222211222221121112121112122111211111211222121212111221212121112112121121212121222222211111221122211212211212221212111211222212221221212221111211212222222111112222211121112121211111212122212221211222212111122112122211222211221112112121121122211122111221111211122221221111112211221221111112211122221211222221121212122122122121112121112221211122212211112111212111212112222212211222122211112112222212111111222222112222122221122222111121121112122221222112122112121222112212111212122212111222222221222122122211212221212211112121221211212222111221112122221221121111111121121112222221222112221212112221112112112121112221211211111222221212121212121221211121121221221111111121221211111121221211112221112121222112111222212121111121221122122121222122212122211111211212111211112112212212112211212111122211212112222212212122121211212222221222212122221111111211112121222211211111212221112122111211112212122111221112222121112221112221221111212121221222121122121112211112212211211222211212211111121222221221121112222121212222122212212222112211121221122222211222212221112211111212221221111122221121111122122121212222221212121211121211112121211211211212121211122122221221122112112111221111122211121221221211121222122121211221211112222221222111111122221212112221122122222212222112221211222121221111211111211111221222111122122111221122121212112211211121222111122222121212111112122122122211211212121112111211221212112212112122111211211121212111122212222211212211121211122122212211121112121222121121112212222122211111111111211122222121212212222222222111221121121221121112222121111121221121222111111212112111221122211111211112112112112212111122221222111211211112121222121111111112121111112112121221122122122112111211221222212112121122121122111212111122122122122222221121111212222121122122112111212221121221211112211112111111121222112111212121212212122212111122121222112221221112111221212222121122111221212122111121111212211121212222211111221222121122221221222222122211111112111212122122112111121121212212111221112222212221212122221112112112122111222122121122121221221121121211122111222222211122221221222212112112122122111222112212211211112112111121122221211211212211121111111111222221222121112212111112212111122211121122211222121122211111221122111212222112121111121112121211212122221212222112221222122121222122221212222212121211122112121222111212111221211121121122221211122211222212222212212122112121212211112212222222211221222121111111212121111212111121212212111112121122122211122221222122222122111111111221122221111212222222211122111221212222222121212112212211111111122222112122212122112112121222212121122212212212112222221121111122221111222112121222212222121121211112212122212221111121211121122122112112112112222121121222222112122211121211222222111112121121212122222122121212121111121112111112211211121121111112222122112112211112221121222112211111221121212212212121122222122221222222121122212122111221112111222211222122111122221222212211212122112212221121111211211211212211122112222112211121112111221121122211111222111222122211212211221112122121121211121111211121222112211221112121221121211112112121222121122221111122112111211112211112222221111121212122121211112112122121212221222221222122212222121111121121121111112122222211111222112221222222121112221111212121122111112221111221211222212212212111121111211211211122122221121122211212112222122222122121211122222111221222221221221222212212121212212212221121211121221122121111112222211221211121211222121112222122222221112222221111221111111221122112211212222121221221121111121122111112112121111111221122111211121112111222122122221222221221221222222212111112111111222211212221111212111221211222212222121112121112112121121221211111112122211121122222121111211222121121212222211211121121112122221122222121111121112121112121112122211112122111212211111112212111222211221122221122111112112112221122221121111121212222122122122222211121112212211111212111221112222122221111212111111211111222112122211121211122121122211112112222121111111212122212212112212222111222121112122222211122121122122212212211122222111221112112112222122222122221111211111111111111111112111112122122112112211121112222111111122212212111121121112121222211222221221222221122112222212122222221121111111121221211122112122212111211111212121111121222222211211111211112121112222212122222111121121112122112121212112212111211111222211121212222121122121211111122121122122221221112221122121111211212212211111121211212211111122221211211211111211221122111112111111122222111121121122212222211112121112112221121221121121212211122212112211212212111112112121222121121221212222212221211121222111111121221222221211122111221221212212221112222211221111211121221122212121222121212112121211211121211112122211212122122212211111211122211211221222221112212212112211112222222221112211112111112211212111121111121112211111222212212112112212212122221222112122211221111221121212212112212211121122212222222212221121221221122222122121221111121111221221111121211211211221122211121122121221222111121112221212211212212211111211221111121212112212212211122121111222222111111121111122111221222211212221212222221121221211122212221122211221111112121221222211112222122221211212221212212212122212212211111222221221212222212221221111112211121122111121221112111222111112212221121121121121111122212221221222112121111111211211111222222112121112222211112122112212211212111111121111111112122212112111211222111222111112212121212111222121211222211222211112121112122112221121222211221212111222222212221212112121221112112221111111222121111111122222221122122111221212211212111111212211222122112211122121112211111111211121222112112121112112221212111121211111222111212211222111212222121222112221111222121112212112221121212211112211211112212121111222211221121111112211112111121112221222211212121221121121121111121212111112112111112221221212121221211212212211121121111212222221221122112221122212122211222111111221122112222222122211212112122221222122211121122222121211211111121112212212212111112122221112221222212212122222121222122212111222222221221222222212111122221221121212121121111222222112111111121121222221211211122111122112121122112112221221221222222212211222221221112211221112222121122121211112222221211121211122221212112222112211121221212121212112212122121121122221122221112222122112121122112212212121112211212122221222211111222212112122121212211222222211221212222121112121121211111111122111212121122112121122122222111121121121222112221121211122221111222121121121122122221212121212221111111122221121112221111222121222112222111222111212111221111112221121222111112221221122212122222212222111112211122121221122111211111221221222222112111212212111211221122212222121221212122212222211221211121121222111122122112221122121121112112222221122112121212222221222112222221121212211122112211222121211122221221222121212221212221111121122212211122212221221111111222111121212112111112111111111212112121211221121111212112111121222221212111112222222211122212122211121211111122121221222211122211222122121212121222211121111122121211211222121222111212122212112111122122111222112211212211121211112121221111212212111222121211211222122221121222221212212221211112212211221212222221112112111121212121121112212212122222211212211221121211112211112212122212122112212222212211221112121222111121111112122211212222221112221222222221221112222111122112212122211111121221222121211212222111111222222111212122211112122211212212111112112121222122112111211121121211121112111122121122112112221122111112112121212122212222222112221111221221211212112112122211211212212221211112112222222222211221111222121112222121221221122222111221222112121211122222121121111121221112112211122112221121121212212222111122121121221111121221222222122221212122222222211222122112221121111222112221212122222122122222212212121221111121112222211211121111221222212211122211222221222112221122121212111212122121111112221221222222211222112212211111112121112221211112212121121221112121121211111212121121112121222122111211222111111111112112112121222112111221212211222221121222221112222212212121111112121222111121212212112221121222221111122121222111212212211121222221122122112121212112111112212112111221112222212211221212111112121222211222211222112222112122122121222211212221121212122111122212122212212221211221112222222212211221221221122212112112212211122122121112221211211112122221222221121221221121212212122111222222122121221121111211122221111111211222122222121112212112112122212222221121111212111222211222111122111121212122122221212112221221122112121122121221221121211221222222112221112212221221211122121121122111211122211112112211222222222212112222122122211111111111122221111212211111111112121212111222112212111221111221222212112221112211221112111121212211111121211212112121122222212222212112111122121212112121221222221111121222212211221121222221122212112221211111211212221211121222111121212222221122222222111112221112121221112221212222112121122211111121112211121212222211122121122111122212111211221212212121212221211121222212221112221212221121222211211111121212221212112122221112121211111112222212221121111212111122111221211112122212112111222122122111121222211222112211122112221222212222212112212222222111211212111211121222211122221221221212122122222111122211111221211122211211121122122121211111221211121121121212212112212221111122211221111222212211121111112112212112212212121122111121111222111212212121121122121111122212121121122112212112122211212222211222221222121121111112212211111112122221211111221211112121212112122122211212121122211121221222121222212122222121221212212112212111221111112221222121122222211112112222211112112221211221122221122112212122212121222111112121112122112212212121211212212221212211112222122121121112222222121222221221122121211221222112121122111222111222112122112111212121111212122121222122212221112221121222122221122111212121111121212222111112221211111221222121122222211121211221112112221221121111211212121121121222111211111222221111212222112121122212222211211111122122121122211111212111221112112221211222222221212222121111211222121222222212212121222212121121221222121211222122112112222121112212112122212112111122212212212112212212112212122122211122222112221212221121211211112112122111122221222211221222211211112222222211222122112111211111112121212211221121211222212211221112112111121112122221212211121111222112221112211121121222222111122121221112221112222222111122221112222212212111112112111121222122122222121111221221211111221111211211111112211121222211122121111222212212121222211121221211221112221121111122121112212221122121112221111222111122222222111111121111211211211121211121222212221212122211221121111221111121122112112221211112212111112121211221112222212212112122212212111212111122112222111211212111121221112211222212221121112212111122221121112212221111212112121212211111112221112112122222111122212111112221112211122212121112112222121212112221212111211211122112111221122222122211112122112222211121122111121112211121221111222222222222111222222221122122221122212211122222112221111111111112212211111221122212212112111212221211221122122222222221212212221122211212221221221111211211121212222212112111222111222212211121211212222111211221111212212211211112111121112111112111121111111111222221211221211111122221212122122112221212222221211112111122111212111121111221121121111222111221222222111122211221211222121222212221122122122112122211111222122121222222221211112211221112222112222221122112122111112212112111221211121211121122121122211222221222121121211211111112221222222112221121122221111111212112222122211221121211212211221121121112112112212121121212121212121211222211211212121221112221211221221212222122221211212122122212122211212212111112222111211122121211121212111121212221222112111221111221212211121112121211122221222221122122112212212112222222121221112212222212221222111212121222111222111211121121122122111222122112122111221212111222222221121222212212121222111121112211121121121111212211111111111111121111121111122121111121211111211222112122121222211221112212222221122222222111111121211121222222122122212212111212211221122111221111222221222122221221211211211111221111121112121112121212222212111121111122122212222221212221121112122211112211112222112221212212121212122121222112222211111122211222112122122221221211111112112211211112211112212212221222111122111211111112122111212222221122112112222221211222112122121121121222212112122122212122212212121111221221221121222222112121122111121121222111121221121211221111222222122121222112221221112112112121211111112211221222212121221122212222221211221221112111122221211221222121211122121121222122121122121111121212122222221211121222222221111122221212212212121122221121122122111121122111212222222212212222221211211121211212121212212122212112112112212211111221221212121121121111112212211122111112121222212222212211212122212221121212121221111121212112212212112122122212221121112112121122111222112112111222221222221222122111111211221112222121111221111222221212111111211121121222221211111121112111221211211222222122221222211121211211212122222112211222122212211121221122221112222212221122122221222221211221121212112211211121222221212222112111212211211122212211211112211222212212111121122212112221121112221112111112112122222222112222212222122221111212112122212212221112112112112112111221121211222211112111211121111111122121121121221212221111221212212121111221121222212111111212111111111212211221112111111122121111222222121111122112221112111211222121212222122212212112222112122121212121112112221121221111212122222222121211212222121222111121111111122122121112211122212121221221221222222221111221121111122211211211212211122211212222112212222112121112112222121211112121111222122222221112122222122112222112222221212221112221222112122222212211112111222222111221122212122121111122222122221212211122212111221112221122211122222222121211212211112212111122111212222212112112112212212121212222112112122122121212111111211221212222221112221222112121222222221121111111221112211221122122222121211222212111222111112211121222222111221112111121111212111121122122211221112222112121211112122111121212221111121221221212211122221122221211222221211212122212112222112122112221121111212111112212122222221211221211211211221212212112222122222222121221212221221111222222122121111221111221211111212112121121112121111212111212221211112211121212212112122112221222111122121111112121212112121211221212211211121122122122111112212121111221212221212112121211112212111221121111212212222222122212222111221221121212211122121221122212212221221211221121121111111121122112112111222122122112211112221112221121121212222122211221221121221212122122212111222211222211222111122212122212111221222122111222111111221121112212122211221122221122212211112212221121122211221122222222212212211112111122212122221221121111212221222212111221211112112211221211221121111211221111212221222221221221222212112111121111112122222122211122122112212211211222122111112211212121211111111221221212111211211112221121211221122211222121221212122121211111122122121221121121222221212221111112122122212121111122121222111211211122212122122211111121222211221112111222211211211111221122222121121211221112112112211112211211112112212222222212122221121122211222212221122111211221111112212221221121221212221121121111212112112211121122121122121222221112121221212122122221211221122212222112122222112222121212222211211112221212112212122111122122222212112222222221212211111122122121112111211111112212111211221221112212112122212221211221112121111222121221222112222221221212111121222122121212111222221221222221222211111112112122111111121211222211212112111222221121111221211111222122212221112211211212221112221121222121122222121121211121222212122111121122112211122111122111211122221212221111111111112112212212222212221121212112211121221222221211212121211121122221121122212122212121111211122122212111111221212211111121122221212111121112111122212111222211122212121122212211212112122211211221111112221211112121212121211211211111221121221222112212221222222112122221212212122121222211212122221122121111111221222222211212221221211211221121222112112211122222221211122221122221122212112112211212222111211112112121112211112211112222112121122121121212112221211222221211111211221211222112212221212212122212221121222111122122122221112121122122212211111121211211222111122121121211222111121111121212211111222212211212112112222211212221111112121122122122222222212112222121111122211112222222122122111212111222111222221222212222221122211112222212221112121221221211222121111212122122112122212221212121121112112221122222221111121112112111211121121212122122211112112222111122111112121221112211221122221122122112122121111212122211112221122222122222212121121212221112112222121121111222222122212212212211222112221221121121222222111212111222121211211222122222222222211212212212112221221111112221222111121211211112222221211211211122211211122222112111121121221121121121111121212211121212111211211222112121121221211111212121122221111112211111212212212212211122122211222122122122122121121222112111221112121212122121112211121211212112122212112111112221112212222211111221112121221112122112221222222112111112112121211221111122211111222212112212211221112112222211211111222121112122211122111122221111111211121111122212121112121112122121221212112121211212111222112212211112122122111111112212222221212211122122222122112122111112122211222121221222111121222221112222211122221221222112111211122121211112211111112211111122221122121122212111212121222211211111222111221222122122221121111112212221121222222212221221222211121221122211121111211222111112121122122221121212222221111111222211121221121212122122212221222112111111122221111212221121222111122221211221211221121222212121221111222112221221222111211111211111222222222121212211111221221221222222221111112122212211122221221222122222121212122112212212211112222221212221112121111111221121212122212221122212222122111111121121222211212212212121221221212122112111112212111112111112221221122121211211122221222122112222112111222111222121211121222212121112211122212112211122111212211221211121211212121221222122111221112112212111111112112112112122211221211221112122212122222222221122212111222212111212211211211121121222222212221112221111111212211111221212212121122211112222111112121211222121221111222222222211212221211222222121212211122111211222112211111111121212121221122221122212122112112221222212211121212212211112122121211112111112222221122211212112122112111212212221111222121221222222111222111121212121222212211112211121212121111122111112112221211122212211121212121122212121212222111122121222122121122122121222112221111111122122222211222121122211111212121211221111211221112122212112121111212112221221122111122221211221121111221121121221211121121222221121111221121112221121212111221121122121112222222121111121122221111211211212122211111111221221122221111112221212221212121122212111121121111112221112111222121222122212121111112111111221221111111111122211211112121212122111111212121112122121222221121111212221211222221121112112222122212112211112122121221221221222212121121111112211121222212222211211222221212211112221112212111211221212222111122212221212111211211111112111122222112211221111122221111122111111221212222221122121212121111211111121121212212121111112221121112222111122221221222121212221111221121121112121211121111111112211211122112112211222222212212111121222112111122222112121221122122121211112122212221221122112211122212212222212122112122222121111111112212112221122222111122221111222212112112222211212122212211121212221121111221121122111211122111121111111122212211122212111111211121122221211111112111212121122111212212221222111122121121211111112211222112111212122211122111212121121211121221211212222121221222121111112222112211121111122111112111122122122222111111112212221211111121221122222212122112222111121212122122211111222122211222112111211121112122122221222111211212112211121121122212222221111212122111112112221112212111122122221112111221221212222212211111112111122222121222211222211122221112221122122122121222111112111212121121121212122211112212221212121222222112222121112222121222122212111211121122212122121121112222221212122112222122221222121112211111221122212211222211212222212221122211111211111111122211111121211121112212221112111222111212211211222211122121122222122121121221222222221211222212121222112222111121111122121221221212211222111122111122221122221121221221211211211222222222122222112122121121121222212212211111112211111112221211112222111211221211112112112222122221111111221211212121112121111212122121122222122112212121112122111212122121111211111212222112222111221112211222212122112121112121111222111212222212222122111111221222221222111212112221121212111122122222121121222121221121112212122122122221212122112121221112122222221221212212111222212122112111121221112222122112111112221122111212122111121112111122222121222212212211112111112121122212122222222222222111122221112111222121121212222211221211111211221212211212112211122212112122222221112112112212122111112112111222112122212212111222212122112121222211222122222121112211212112111121122122222122111212211222222122212112212122122222112212211212111221111112212121121222111112121221221211211122212121121221121122112222222222221121121122222211222212221122212212211212122221121112121122211122121121211221211111221221122112222112221211122211221211112121111212211112122222112122221212212121122222112221222212122111111212112212112211121221221211111112212121211212112122212121211222222221221112221221212221122121212221211212112211112121212111112121221112112222211122111212212111222122211211221212112222122121112221121211112112121221212212122121211122121222112112222212212211222122112211212111222212221122121221112111211111221121211222211212111111221211122212112221211112212122212211121122211212211221121211211111211211212222222111221221121221222221211122111112112222211211211211212211122212111122112111112212112221211112222122221121221112221221111111111111111212122212112122122212121111121221211222121222212222112211122112112121121212111212111211122211222122121111111212211112211212211221111212112211121121222211212121222211112122111221211212211212112122222222111111211111111221121121111112111122222212211212221212221122112122111111111211222211221221222121122112212211221122111121222122122212212221212122111211121221121221112222212121121222121112121112222111221211222121121211221112111211212222111111212122222212122212221121222212111122111221211111212122211211211121112211112211111211111122211112122111212111211112112221211222122122121211112111222221211221121121212221112121112121122122221122211212122122212112112221211211111121121122121112222112221122221222121121212211212121222212211112221212211111121112121212111221122211112211112221111222111211121212112221212222222121211211112112111121122121221221212212112212111122122112221121221221221111212221111211112211112112122212111112122211211122112121121212211112112222112122211122222111211122222221222122111222212221111222222222212221122211211121212112121222111222121111222212212222121221112112112121221221112211222111211212111211112112221112211122122111112211111212112212222221212221112112122212211222211222122222111222212121211122121111221212221222212221111122212112212121212111222112122222112122212221121122222222222121111222122222122222112121112221211122122212212112111121211212112222222122211112222122112112111221121221222111212222211111221211212221112122221112221112111212221121211112221111212112122221211221211222111222121211222122221222211111211121111212121121122221222112221222122111122111211122111111211121222222221121222122112221221222111121222211112211111211212121111212111212122221221122111122222121112112122112212222211221221221122212211222112221211211111121212121211221212221121221112211212212112121122112221212121122112122221222121121112211222111212122111111221221221112121221111122212121111122111112211121211112221111221222211222112111112112112212122111121121221211121121212222212221112222211111111111122112212221112121122122111212121122212122222211122211121112221212121112222211212112222211222212211222211111121121211212121112121112111111111111111121222112212121222222122111112121111212112212212111221111211121112112212122121111212122212111122212112221122112212211112222111221212122122112121212112122221112112221221221112121112221111122222222111111112222122221111211111221121221212111212111112111122212122211122112112121221212221221112211212221121111212212212111221111212211212221212112111111122121211112111122211121112211121122222122221211121222212121122121111111122212211212221111222221112122112112111211211122221112221212122222212112122112121122112212121122212222212222211211212122221112112122121211222121122212122112222122211111212122121111212212212121122112121121221212111221221111212112122212221222211222211122212222221111222222111112122211222222112212212211211121112112222121211221122222121222112111221121222111121222111121122112122212121221211122212211221111122222122122211222111112221221121212111112112212122122112112212212212211112111112211221212211222222222221222112112121122122211111121212221212222111212222222111221222111221212222122121111222222111112121212211212121222111211211222112111122111111212122212112222121212122111212121112212211112112222212111121122122112212111121111212121211121212222122211212122221222112121212122111221121221222121112111121112112121122111212111112222212211122222211121122111111121212222221112221221212112111121221212111111121111221221221122122211211222122121121112222212212111212211122211212121211221121222222222111212212211212212221211122211112122211112111212122212221222212122122221212222112212112222221121122112121121212211221211211222111212111111111112211122121111211121211121112221121212122212122111222122111111122221221211222112112122111212112121211112211112222122112211111121111112122212111111111112112122222112122112112211121212211122212122122121211221121211222122111222222212122111111221121212121212221111211112111111122122221111221221221221222111111221221121221112121121222122212211212221121212212111222212112211222121111122212222221111221121112121221221221211222122111212212122112211111121211221122112211221111121121112112111211122222212121122112222121211211122112121112122222112211212221122222112122211122122122122222211212121221211122222111221112122122222222211112122112111222212212221211122112211221111121211222222122212111212212221112222112212222211111221121211221122121121221221112111212212112111112121212111111211211111112122122111212212112211221212111221221121212111111112122111112111222221211111222222212221211111222212221212212121222211112212211122212121111222221121222211212111221211112211211211212121221122222212111112111211212221212221211221111222122112111212121222221212212122121112111211121222111221121211221122122212111111212222212121212122111112111121222221111221211211212121212222111222211211222111111222222211121122211112222112212111211121221111222111211112122212122121112222111221112212121222111111221122112221112211211122122122111122112221122112221122112212212211222222122211212221122221212111112122121212211222221212212221212221221222221211112121212212111222122122112211211222212211222112112212112212122222221222221211211212211111112211212112222211122121121112112111111212211122112111122212211112222112111212122122112122211222221221121211222111111121111222212121211111212212121112111112112111112112122111122121212211121212222112211212221211212111111122222122222121111221112121112211112221221122221212212121221111221111111222122222211122121212212212221221121112221222222222122211121122212221122212112121111122222111122212122112121111111212121122111211122221112122211122121121222121221122211122211222212211221122111211221222121212211112121211211211212111122112121111112122222112122212221121121212222221111112121221211211121111211111221221211111212211211111121221111111111121212121222212221112111121122111222112112122112221221212212122211122121121121122221211112211222122111121112222211211122222211121221111111111221112211111112212111122211112222221211112112211222222221222222222112122212112211211212212112111111222212111211211122212122212221112122112221122222111112111221112121112221122211122121212121221212121222112111211211212122112211222222122211211222121111121212211111112112222121112122121111211222122111222212121121221121211121122111122221111111212112122121222222112121111111112211211212111111212221121121111222212221222121222212112122222111221212211221112112121111222211112121211222122122222221112111112221221211212112222111112222212221111112122221111222111121112221222122112122122212122222111212221112112222121122111122221122111212221112211221222112122212121111211222221111221222211212211122211212212111221111112211122111112211112221112112122121112112211112222121111211212111222121211121121111111121121121222112212211212121111222211221112211222222112112212112122122112221111211111222211122211121121121121121221212222222112221122221121121122222222211121221121121221221121111122122121221212221122122122111121112121222221111111212112111212221212222221222121211211111212222212211212221121122112111222212121221112221121121211122111112212222222112121121211121212112112221211222112212211112122222212121121211122112211211111222112121111111222212111211222211222111121112111211121221122222211212121211222111211222121211121211222122121121212212221112221111222211222212221211121121212222211221111211121211112211112111112221121222221111221112221121222221212212222122111222221211122121212212122112211221111211211111212222112211121212221122111121212111221222221111211111212112212222212121122211222122212221211121211121212211122212121222212212121212121211211221212121221112121112122121212221222121211112212212111122212121222211111212212122121221222111221121221222211212112222121111122212111212212112221121112121212112212111112222212122121112211212222212121211112222121212112122221122111222112211212122212212121221121211221221221111122122111111111222112111221221121211211221112222212212211122112111221111211121121111222221222122222111111111112112221111211121111221222111212212122221221211122112112222211112212221212111121222211212111111121111212222111222111112112222222121122211212122111211122112221111211112122112222221211221222111222212212112222111112221111221122212222122222111221112221221221221222212222212222221222112112122221121122211222121111111212112221122112211211112212221122112121212211112211212122122111222221221222111222211112122222111211121221121121122222221221221122221221122222222211211221111111121112121121111222222111211211221212211121121212112212212111122211121112211121121122121111112122122121212211121121111122222212211212212211212122112212121212122212112112122121111212221212211211222222221111122212121222212222122222122221212121212112121211111222121112122112222222222222111222122121121222122111211122122111212221222121212122211111222222112221222222221212122221222111222122122212112112211121221211121112212212212112211111222221112221122222121212121221121212122212221212212221222122112112111212122121121222211122222121122212211211112112112222222111222211211221221212121212122111212222222222121121112211121121122112211121121111122212212211121211212212112221222122222221121222211122122111212111212222122222122222111211211222212112112211121111111121111111222122111222121121221122212112221121222211221121122121212212122121212111122111111111222222121121222211112212121212111222121112222211212111111211221211211221222222121221222211221211112121122121222122211211211122221121222211112212211212221112111221221212111212111211122212222212211121121221121121122121111111221211112112122112122121211212221222211222111121121112112222122122222111211222112211221121111111111121222212122222222111211222222122121212111211222121211122221122212212122111222211222212111222222112221221111121111221121122212222211121122211122111121112121111221221221111122212122111111121122212221111121221221212111121221121111222222121122122221122122112121222111111121211212222211122121221222222121211112112221212121222212222121221222112212222212122121122112222111222112111121222211211112221212122211112111212222212212222221112222212212112121212211212111112211211221122122121121211122121222111112111221111121122212111121112121111112122222211221112221121222111122111121222212221211122122222111112121211121111222211211111122112112211221112221112121211222211112111222221222121111221122222212212121221111222112211112121222221211112121212222112221211211112212221122211121122221122212212211121222121222211122121212112212112221122221112112122122111121222221221222222221112221222121221121112211211212121122222222212221222212111211212212212221222121221211221221211122212222121112212222211222111212112121221212112112112211222111222111111122221212112111121222111112111111222212121211121122222222111222212112111222212122112122221112211111121112122212212222221121112122121112112122211121121222112111212112212221121121112121212112212112111222222121221122212122112211122111112111111221121212221112222222112211211211211222111111112121222122222122221111121121112122222112212222112122111122221111221112221221121111112111121211221222212111222222111222112111112122122121211222122221212212121122221112211122112222122122212212111221121111111121122212121221222112111112211121221212112121212111122212221211122222111112221222122211221211122222121212211112112111211211111112212212111111111121122222211121111122111222111222111222221222222211211211212121222211121211211221221121222221121221121221221212222121222121212212111221111122122221111222221112112212212122121112221121211211222122121222112112222121222111222211221211212111222122122121222122121222121212111221121112112221122222222122112212222111221222121212112221112122211222111122112222122222112212211222222212111211111111222112111112112222121111221222221211221222122112111222211121122221121121111221222222212211211221111212211121111211122112122111121111122121212121121212121122211212212212122222112122211121212211212212112221222222222211111121221222221121121221122221211111211221222222211111221222221111111112211121222221222221112122112221212221212112212122211212122211122221112121221112111111121111121212221222211212121112212112222221111211122112221221112221122211222122222222222211211122221112221222122212212111221212112211221122212122122212121211121221122211222122221211121112212121221111111212222212122121211222212121211212121121122121212122212122112112111221112112211221121221111222212112222112122211222222221122222111221122112121212111111221121112111221121211122222221111121221211221222121222211211121112121122111122111111111211111112122122122221112121121112212112121122122221122212111121121112121111122221211212111211211211121212212221222212212211111221112122111111222111122122222122221112222122222221111121112111222222122222111121222212211211212112122211111112212212222211222212221221221121112212222112221111121221211112221221211222211222112211121112211211112121211222121112211121111211121121221222221111122212221222111211121122221221111121222111222222211222111121221122122211112222111221112111122222121121112222221212121111212121211211112221122112222212221121212221211222222122222122122211221222111112212112212111112212112221111112222212212122221212212121211221221222222221112121212212212222112112112112112221112222221221222211211221222121121122221122211211212222122221121212111222212111221221121212122222211112221111211222111211121122111121212221122111212211221222122211121112212212111212122221221111112121121122221221122111222211221211122211111222211112121221112112222112122122122211221122121122122111212221121221112122122111222122111221221221111222221212112221221212111111121212211122212222212112121122111121112212211122221211111221212111121121222222222122211212222111222111122212121122211111222111111112122212221122212121221121112122212222212212121211121221111111111212221211221211121221211211111212112222212111222211111121122221211211111122212121222112111112222222121221212122212211211212211112222221212212111122112212112221112111112212221211211121222112222211121221212111212221222112221111111112121211222211222121121112122122111211111111212122211122122212211211111122121111111111111122111212212121221211211121112112112111211112212221112112221122212211122111212211121112221211112111121111211122121112222221121221222122222111121221112111122112122222222111111122221122212111121122222211221122111112212122222111112121222112122122222111211122212122122212221221221122112211221211211211112122222112122221112211212221221211121111212111121222112222111111122111222211222211221222222121212222222122111222112112221122221111212111212211222122222112212122112212212112121111222121222122221122111212221221121222112121222121121211212221121211222121222122212212121221221111222111212212211222121222222122211221211222111222221212211221222121221211112122111122121121112122122221111211122122212121121211222121212112121211122221122221222112121112211121112122221122111112112121112111211121122211112221211111211221211221111211122121212111222121212112221122212211212212122111221221112211211122221222211211111122211221111111112211211111222122222111122121211122122111222221222222112111211121212111112112122111222212112111122222111111121122221212222211121112111212112111211211221122112222121111221121221112111212221121222122221222121221212112222121222122122111122222221122222222122121212122212211212112222112211112212221121222111112212122212111211221212221111211112221221211222221121222222212222111112212122212211112122122222111111211222221112212121221221122211211111122221222212211121222221112211112221211222112222212112222112221221122112121212221121222111222212211222121222111121122121221122222212211112112211211122222111112222121111212111212222111121222222122111111212211122222121211111221212122222211212112211222122211222121121112111112122222222221122122222222221221112121112222222212112112212221111222122121221122111122121112122111121211222211122211121222211221122221112221121212122122221222221221122221211211122121122122122212211111212122211112111111122112121112122211211222112121112112211121222112211222211221111122221222212221211122122212212121211211222222212222212212212211111221122221211122221121212112112221222111112111222212212221121112222222212221212122112111211112121121211111212122221122211222212112212221212112221212121222211122222212221222211221112111112122112122221221221211122222222112121221221111121122111111122221122122222122212111221221222111222112122221121221121211111212221221222111121212211212222121121211222122212111122222111122221112222121212112222221112222221111222112121112222111211121211211221221212221211211121212121122212111111111122222121221111112222111121111111121121212212211121122222221122221122121122222212222212222211121111111212211112221211121221212212222121222121211111112222112212222211121122111221211121122121222122221222211211221211122111211111211122212121211121221121121222212222121212111121212222222211112222112122111212212112212122211221122211211121221222211221212121112111221211212121112221222122222221111121121212221222212212211122122121222111121212211122222211112221122221112111211222121112221121121121122212112221122122111222112211211122112221122221112212221121221121112221221112222222212121111111112112121111222112222221111211211222122121212222222222112211221221112122221222122112112221212111112212211122222212112221112121121211221111112221212112212122121121211222121111221211222212221111121211212122222212112122222221122211122112121111121222211222212212111111222221122222121111122111211112112112222221221121221212121221211212221212121221222111121111211212212222122112111122122121112121111222111221212121111211222222211121211212211121111112111222222221121221211212211122121122221122212112211111211211112121211211112121212112111222221112222212111111222112112222211211111222121121212221121222122112121212222111212212121121122121111121222121212221111112111222111212111121212122211222121121222221221212121121111111221222122212212211212111222111122221221112212212121222111221221212122211221222111111212212222222111211121121211121121121222222112122222212111111211121121122122222122112122221212222112222211212121111221211221212212211111212221222121111111211112122221222122212212111122221222111122212212122211121222221222211212211222122111111121111211212112212211112121111211222222211112221121111222122121122212112222211212221211221222112222121112212211211121211221111111112222212212122212112111112222212112122122122111122111222122221121111111112111221111122222122212112211221111221111211122111122212221121222111112211212111122212122111211111211121221212111122112121111122122111112112122121111212111211212222112211121122121212121121211221211211122122221111222212111112211212111112221221211211222122222122222221211211221212211112111222222112221212211122221212212221222212222211122111212122221221111121111121212111221221222121122112221111221221112211221121112222221212121111122122111211112222121112221121121211221221121221221221121111111112221112211211222222211111111221212122121122211122112212112122211211112222112211122122221211212211112122121112121221112111222221121121212112122122221121222221221221212111111112121112222222221221222222121122221221121211112121221111121211221212211211111122121121111121111121221212111212111122222111112112122121112121112121211212212212121121122212122221112122212122122211121112212222221211212212222112211212112222122221211122221211222221221212112121211222221221212211121111111122112221121222112112212222221111112211112111221122111211222221111221112212111122221222112122121122122221121111111121122212112221111111122212211122112211111121111122212222111212122121121221112122111211111222121121221121212122122211221212121111221211112212111212121211211122122222111211122212222221211212211222221122122212121121122112211221111112112222122112121221122122122121221221212111111222112211211122222121112211122112212222122112112111222212111111222111212112221221122211211222112211121212122112122222121121111211222112211222122222121222221121121212222212222111221122211111211122221221211221112121111221111112221211111121111221222122221211121121111121112211222122211222211112112111111222111121111122222222212211222212121212112122221211111211121122211211121111111212111122212222221122121211111112222212222222112211221121111211112122212212222211112121212221221211111222112112111111222111212122122211122211212222211221212121121222222222111221111122211221121212122122212212111122112222112121111112112221211222221112111221222111222211112212222121112211111222211212212212122222122112212111222211212221111221212221121212121111111221112112221121112122221211111221111121122121222212111121221112111212221221212111112111222111222112211212122222122211121111112211112222212211221222211121221121212121211111112122111122222222212111212211122112211122122112211122122212111111222211122212111212122212221122121111221221121212221111221122222222222211112111221221111121112121122122211221221221221222112111221212222222121222222112122122222122122212222111112211112111222122211221112211122111221221222121212211221212121111112112111222221222112112112211112121122121211212122211211221222121221121112222112111222211121122221221221212212121121121211222211222222221212221221212221121222211212222221111212111212111211112122222111221122122212121121221222112111222222112122122221121112222112222112222122111112211121121221121112211121122221111121212211222212112122122222122121112211121121112122222211212112112112111121222212212122112212112222122111121222111222111211122121121121112212112211212222121121121121221121122111121211121121212222212122121211111111222111111112221222221211221211112211222221211211121221122221222222221212111211122221111122121211112222211112221211211122212111221221122111211121111212211111122211122221121121122212222221121122221222112211211122122111112122111112112211111111112111122121221222122221121112122111111222221122122211111212221121211121122122211212222211121212222211112122112112122112112212121122122112221121112112122121212121112221121211122212122212122122112222221122112112222212222122222222222121212122221212221111122121111122111112222212221211221212221211121221121212112211222122122112212112111121221211111121211221211121122122121222222112112222112111211211222112111211211212122122111112212122112121222222122112211221121211211211212122112111221122122212122112122222121121221112121112221121112121221221121122221222221111222111211212211221222222112121211122222121211211222122112112212212121221112211221112121112121221111212221121221111121221211112121112111212122112221212221122111212122221221212122222111212221121111121221112212212212222212222111121111211121122211221112212111221112121212111211212112111221112211122111122111211221221111211222111112211211211222212122122121222212112112112212112122212121222222122211212212221211221121111221122221122211212121122122112112211121222122122121212122212221212122121222122211222122212222222211221221112212122211122221212111122122111111222111222112122111121221111211211211212211212121111211111111112111221221211221121222222111111122221211221222111121211111212112222122122112112122212212222121222122222122111112112112112211211121121121221112222221222111112121222121121212111111211111222212211112211122222211222122122212112111111211121211121221222112211121212211122222221122111112121122111112122112212112121121122212211221212112121112121222112221111121122112111212221121122121221122221222112121221112222221121211122121122111211212111111221111221222122112112212222121121111112221222212221222121111111121122112222222222211122112221111211222122212111121211211211211221212112121112221212111222111222111111112211121221222211112121222211211122212211122222112112111221122112221112121211211121111221111222211121122121112122121212212211122112111212121121111211122221122122221111112112112121212112221122122122221122121122121111221221222112212211122221112112122121221221212211111111221112211121122222211121221222122221111212221121112211111211121122212112222211112122222112121112112222111211211221211112111221221212121212121222112212211221111212112121211121121212121221121111122111111111111121122122211111222212211121212121121121212221221121221221211211111122212122111121111222221211121112121111212221121121211221222222212111221221221221222211212122222221221121221122122121212221122222211112122212111212211221121112222121221111212211121122111112121121211112122221222122111222112221212221121121121111122222212221222122122111122221112211121221112211211221121122222111121121122122111221222111211121211212212222112221121112111122222211112121211222212111222122111212122111222121112221211121112112221211212222111121212211122121212111212211121111122212221212111211122122221221112211212121112221121111211212222221211222211211112121222212121122222121222122122221121222221121221222211121122222112212122112211222221212221212112111212221221212222122121122211122221212211122122121121121211211221222211122211121121211211221121112212221122121222211112112112111212112111211111111121222221122111221112212122221111122211112221121121222122221121211121121221211222222111121211212212212111222122222112111212212111211121221212122211212122121112112221222111111212221221122122221212111111221121122121212121111112212112122222222111112222221112222112222222122111112212112222122222111112122222112221121122122112121111222222122211121111212211211111121121122211122111122111121221222121211122222222111221212212121211111111211222122122121212222122121121221212221222121111222211122112112212212221221222122211211212122221212122112122121222111222121222222221211111222222121111221212112112221112211212122212111222211212121121221212222121221211212212121212222221221122112212221111112211121112112221211112212112112122221212221222221122221122121122122222122221212221221222121121121211212121221121121221222122112211211122121221221222212221112122121121212111221112222111112211221221122111112211111122222121111111211121111221112212211211112121221211221111221212222222121221122111112122121121122222221221211111121222122211111122122211112212121122111221212112111211121122122112121212222112212222122121112222222212112112111211122212222212121222112112121112111212121221121122121212212112112221212221121211121111211121212212111122212221121112112111111112211211212122211112222212122221212112121121122111121222112112112221122222121121121222121112111221221212121222211111122211111221212112112111121212211111111112212121212212212221222211112212121121222211212211222111211222221212212112211211221111122222121222221211222121212222222211111212222112111212111211122122211212121122121111122221121111121222222212211211121221222211122122221112121222112111121221211122212212112212112212121111121121121122121212222221111112222211212111122111121211222222111222111221221121221112111111221121121122122211122112221122222122112222211112121121212222211212121122121221121212112211111121212121211221122221121212121211112111221122212122121212121211221122222222122121211222122122221121211211121212221112212112211221222221212112221211221112112212221211221222112222122211222122111112222212212122222121222221212211112211211111121222122222211122121211222122211221221222121222221222222121122121112111211212111211111212121211221222121121122111221121212121212222112211111121212211121221211221112111221121222212112122111222221212111112122122122222212111211221211112222122211222212112222122222212111122211221121212112221221122221222211222221211222212221121111111122122212221111211222221222122221211221121122221111222112211211222122212121111212211211122112212222111212112211122111111111212121212222122212112121121211111211222111111222222122122211111222112212212112221222112222121122111222212111222211221211122122211212121122122122121222121222111112211121122122121112222222222111212221222211112222212221112121211122212122111111112222211212112222112122111222211212212221211221111122222211112221212212111212122111212212122121112212122122211122221221211212222122221111212212121121212111111122211211122211112121212112111212111112221222212222111212111122112211112112212222112221221211211222212111112212212222211121111222121212121111112111221111112211111122121112211112222221212112211121112221112221222111121212121111121121222221212211122111212212211121212111111112112222121222121222211212122221211211112112212121211212122222222111111221211111211212112111122122122222221112111111121222221222112222111112121222112221122212121211222112122212121211111121121121111122111211222221111222111112112211212222112211222121111211112111212111121121211111111121211221122212111122112111222111211112211111112111212122211222211121122211212212112112222112111121211122121212121111221222122112111112212122221221222112122112221212222211122221111221221211111112212111111122112111222222221111211211221211111211122211222221121212221121222122211122112211212211221122121122111212121112221122122211122121111212211211221121221112122221111122222122121122211112221111221122121112211122111221112211111121212121111111122111111211111122212221221211212121211222122122221222221221221112121211211122111221122111111211212122111122211121212111111221111111121111221221212212121122112211221221121221112221221212222221122222221211222121112222121111211212111121212112112112111212122121212111111221221122222112211122222222222122111222112112112221111212111211221111211111121112111221122111211212121122111111121122112122111222112222221212122212111111222211221112112122112112222222122221112111212222211221111212212122211111212122211221211111121222222212222212211221212121122111222111212112122221111112222221122211222111222221212222122122211212111111212222122112111112211112212221112112212211111121112221112221221222111121122122212111221122221121221211121211111222222121122111212211112221121212122121122121222121112112121121221222212122112211111112111111222221122111122121111222212222222122222121211121111122222212112122121111212222211112221221222212212111222122111122121212222112121121211221222212212212222221112211211222112121212122122111212211112222111211122112212222112221111122121122211222221111221221111211121111222122112112222111221111121212122211222211212211212112222222112121121121122221222211112222121121221122222212121122122211212212112212122211112211222212212222111122212122211222122222121211212222121221222111112111122111112212121211222221212122222222212222221211111121111221222211212222112211122121221111212222121211111212122221112221112212222112111222121112112211122211112222122121222221212111122112111121221121111122121211221221121111212222121112112112211212111111121211121222122112222112111112211222211222211121111111211222122122222211222221122222211222212111221121221222111221221211122222121121112121111221221122121212112212121112111121112122211111212122121222111222112221112112111111122212212211122211222111212112212112212221211111212122111211212111111221212221112222122221221222111112211211122212212212222221122111122111212121122212111111122112222112122221112122111221211212112122112122112122122222221122222121122121122121212222211212211212121111221112221111122111222211222222211121212221211212222212211212222121121221111111222221221111222221112121212212121111211212221121211121222112122112222212212121111122212221112122112111212211211221222221212211111122121222112212112111212112121112122112222221122212221111122121212211221211122222122222211111221112222111122112122112211111212111221212222121212112122222112121211121211222221211221122221121211121111211221221211212212212111121221212221212111212221211112121221212211211111212111112121222212212222121211222221221112212122222112111122222212112122211222112121121221121221111221121121222212112212221222211212212222211112122222222212112112211111221112211212221122211222222221111122112121222112122211121112111122122121211111122121121122221121111111211212211212212211221212212121221111121112111221111112212111112121121122221111122121121111111212212111122112121221221222121222221121222221222111121221121221121221121211211121222122222211111111121122222211121112111221211121221122211211221112211122122112121112222112221112222212121111222121222111211112121222112122111122111121221111122111222222222222222222112222212121121121111122212111111111112212222111222112212121111111122112111112112111211221212222211111222112221211121111212221212111112121121222122111222222111212121211111212111121221212221212122122211111221212221222111211121122221212221122212111222221121221122221212222221121112112212121111111111112111121121221112212111121111221121222121222211212222221122111121222112212222122111111122121221122222222212112221111111212112111111222112112211222112111212222122212111222112211121212221121211122222222112212222122112112121121221212212112211111111111121222122221122222121221111212112121212122222221111122122122212122221222212111111121112121121121111212211211122222222112121211122122121121121122122111112112112112121111212221212122112212221112211122222211111111122112212122112122121211122112111211221222212212121221222212111222112111212212121211221112112121111112222122212221222221212122111222222121222222221121221121122122111221212221121122111221222111122122222222122112211121112122111222211211221221112211111121121121222111211122121122121212221222222211222112222222121122221221211212122112221221221222211111122221221211112111112112211122111211222211211221221121221212221112221122222222222222111212212112222222211112121112211212221122221111211122221121112211211122112222122111211121211111222222112211122221211121121112122121122122222222211121212222122111211112211111211122221111222222122122111222222221221112212121122211121222212221122212212122122122221222112121122212111221121222111221121222122112122221222211222121212212122121211121112121111112211111212112111211222221221221112212111122121112222212212121211122222112211212111222112112221211121122221112111212121121122111221211221222222122111112122121121221221212111212122112222112122112111212221121121111122221122121221112212221112111211211112122122111122221111122122122112211211112221212121211112121122111221221212122112221111222121111211222212111222111222221211221112122121221111122112111222212112111112112121212211112212211222221211222212212221122212122111212121211121221121111111212211111111212212121222211222222112121111222222221121221111122121112221221212221112112121121222221111222112121222211221122111211222211222211211122221121222222122222212221212211122112111111221112112121222112111221121222221222211122212221211212222211122212111121221112112221112221122211222112211222111111211111221112122221112122222121111112122221112222211221111221222222111211211111112122121211211212222211212221111212221221212212212212121221221212221112122222122121222122222211112221211111112222212211121211212212111212112221221111211222111221121111112212121222221111212211212112212211112212111221122122212222122221122121122222121112111112112122211112121111211222212112211121111121121121211111111111221222212111212221111211222221212112211122212121121122112212111222212212111121112121111122221121222211212122222121112212222122211221222221211212212222121121112221221211222212121111122212122121112211212212211112221122112121112221111221221112112211211112122121221222212122121222212122112212122222222222212112122122221122211112211221221211111121222122211121112212212122222112112212221211112211222211211112221121211212121122222222222222112112122122111112121211211212112222121212122212121222211111111211122221221111211121221212112122121222221111112212121122121212112211211111222111112112121122112112111122112212211111121212111221212111211222211211221122222122222211111112112121222212112111211121211221211111121121112212212121222111212211122222111211111122221211112111121222211112111212212112112122111111122111112112221111111211221222112121121211221112111122111111111121112212222122122212112212221112212121121221211222221112121211122122222221221222211111212212122222221111212222112121221112212112112122222122111111211121212122212122111121111112222122211222222221111111122221112212222221112121221211222212122211121112221121211121212112121112122222121112121222221221112121122212211111122221111121111112122222121112111212211122221212111122121212122111212221111211111111122212111221212122211222112222212222111122121222212221121222111112112121211112212122122222222121221212111122221222221212222112212111212212121121211122222122121222112121112212212222212222211121121112121212122122221212111211221121111211211121211112211221122121211112221212221121221121122121211112111112121211121211212222121221221111122222222211121222212121212212221211211111221111211121221211111121212212212121121121211211212122222221221212122212222122211121211112111222222112222111121121122121122112122221121121211211121221212221112221112111112121111221112222121222221212222122111112121111122221111112121111112111221121121122212212121112122121212212212212121112112121122112122122111222222112122212221212221111212211212111111112222212121121222211222112212211122111121222222221222211112212111221122222221221212111222212121212212122122221112121122212122111221122122222121222221221111111212111222121222222211221222122111112122121222221211221221211221121211221211212121212222121111112221222221111221222112221122221211122211212222122222222222111222211121212112111121111111111212222221111221222111211221111212212121212212122121111212221212221221222111111121221212121221122121212211221122222122212112111222222122211112121111112121211221122211221111111122112121121212121211121222211222221222122221122212122211221212122122111221121212121122112222212211112221121111212121112221222222212122121221122211121222212222212111222111212222122112221211211121121112121222122212211112111212222222111112211211222121222122121211211222222221211222211221121111112121122121122222121221112222112122222212222222112111121112222112111112121222121212122222122211111112122112122111122211212112222121122122212211122222212122121212222221212222121211111222221211112222221112112211112111211211221212122221121212121122121111121212222121111212211211121211112221221222111211222211121212211121221222212122222211112212111211221212212212222211212112222112121121112122122222211211111112211112212222121121211122221121212122222122222121111221222222211122112222122222212121112122122212211111211112211222112112121211211111221121222112122122111121222211221122222222121222221121222222121121221111212212112112122211112121121121211121111221211212221222111211122111222121112222222222111211122211112212222212122221221222222221221112112221111211111221221122112212221211211222212112122111112222222222211122212211212211111122211112212111221221112212221212111112121122121221222112221212221121122212122111212122112222111112121211211211221212211122122221212112121122111222112111111212221121221222121121112122122122222121112122222121122221112212212122211221122221222111211121121111111211122211221211122222222212211121111112211122111211121222212211221221112212122111111212121222112222222121122211112121211222121121211121111122121122222212221211221122221221111211221221221121122222211222112211212211222112121212211221111121121212212111211121222121111221221222212121211121122212222112211121111211122112222222112211222111222111211211121111212112211122122121211122211211222112112222112122111212121121221211221122222212122112221211111112222211211111222121111121122112221121212122222111112112111212112212222112211221221121211122221111112112221212212122212222212222121112212211221212221221111222121222121222111121211212212212122122211221222121211121221211122221211121111121211222121111212212121121211121122112112121211122112211212222122112221221121221121122122212122122222111212221112211222111122222212211212121111112122211122222122112121212212112122121221122111221112121121112212211122211212111111222122122112211121112121112221222122112121211111211111212112222122122122122212121221211222112212122212112122112112111112221112121121211122121211222111112221111121222212111221212221122112212112111121112121211112121211211221122221111112221221211111112112122112122221112222221221122212221222212222222122211122111121121211222112222212222221112211122111222211211112121111121212122111112112111121121222121211221212122111211121112211221121112221112211122211111122222211122112212211221222111222221121221221122212122221122112212221221221121122122122212121122221122221211212221112121212122222112221221111122212122222212122211222221121121112112111211112212122121212222111211111112122222111112221212121221121122222111111122122212111221221121112111211212122122222221111111121221221222211211111112221121222221221121122121111111211212222112212111211222221211122112222222122122211212122221122212211211222112211222112221211222121221211111111111212222212211112112211211212122222221122111111111112111222122211221112221122121111121212122111211211212111121112112221121212112221121221211222121211222222112212111222221111212221222122222211111221221222122222122112122221122111121212111211121112212121121112112112112212111122121212111121212221121112221111221122212212111221212111221222222211221111112121122221122121222221111212121111221212121111212211212121212212112112121111211211212111112122122212222112122121222211222212212212212221121211211121221121111221122222221121121221122212112222221222211221112211222121121121121111121222112112211122222221121111111211122112121112121121222212212221222122122211221221221112111111211222212121221212111122211122122212122212222212222211221222112122221111121222121122122111221112122221221111112211111122121111222111122211212221121222222111221112121222122122221121112112122212221112121112212211112112111212221212211112122221221122121112221122122221122111112211222112222121112221222212222121212211212221121121211221221211222111122212211112211222211122211221111112122222121212112222112222112222212221121211222212211111222111121221122111211111211221121221122111211121222112111122212221212121111211212112112121112112122112121211211222111112222222112112212221112222121121222221121121112112122211211212211122211122112211222212222122122111121121111221221121221121112122111111111122121222111212121211212122221211112221122121121211211121112211211212121122111222221121221212212122121222112211212121212221111122122221121212212122111121222122112211221112111212121122121221111121122221121221212121222222222212222221222221112122212112222121121112221222212222111111122212211221121121111222221221112221122122111211211111211221111112112222111121221222121221121112211121121222111111212112112221122222111222121222121122111122221111112122111121111121121121121212222122221121212221111111221121211212112212122111222111211111212222212122222111211122211211112122222121122221212212122122211222112221211221121212211212111211121122211122122211111221112212211222211111222221112211121212121111211221221212111211221211222211112122222221211221222221222212211122222111112122121111222112121212221112122111111112221222122122111221121222112121112122112221221222121222222111212212221211122222222211211121122211211211221111222122211211211212121121211112122121112122212111221211221221211112222212211111211222122121111212112112221111121221211212212122112122121212121222212222222121121112121122112212221111211211121121221122111111121112212222211221122222121112222221221111212111222221112121111112111212221121211212222122211121112212211222122211112221112122221212211112121222121122121221221212121212212211112211111122122111211111111122112222112222121121212111211122121112222221111111212111122211121212112111211111221212112112222122111112211212211121121122221222221121111121212111112112222122212212112211111221122222211212221111121222112221122122112212121221211222221221112222122211211211122222111121121222122121122211222122111112212221222211211121122221111211122121221221121122122122221121111221111112211211112111122122121211211122121112122221211221122112222222121121111222222121121112121221122112221121121122121212111221222121212212112122211121221122121122111121111121122111121111121112112211111221222121111212212112211212122121222121112122121221121211221211212122212212212211211112121212112212222112111121221212111121122222122221111112222112111112111112222212111222111112122122112212211111222121221111121211222221222222211111121112211211222112212221122211111121122221112112222211122112222211112211112221112221222121222112211122222212212111111221221222212121221121122211111122121121111111112122121222211211212122211211212211112222211212222111212122122212111222122112112222122212111222121211111212111222121222211222121211112212212112222111212211122121221121121222221211111211111221112111222221121222121112221112122112222222211211212221222112122112211222121122212112221121111112111112112222112211122112122112221221111121221221121111121111211212122112221212111222222122221122122222212211112111211121221221221111221111121211211222222221111211122112212212122211111222121111211212111222111212121212122121212111122111212122111211111211211122221112112211212221211212212122211222222221112212112121112212112221222111121221212121222211221122221121212221222122111122121121221222212221212212112111222222122211122222211111221121112221211121111221122122122222221222122211221212211222121122212221121121112111121122211121122121112122212211112111121112211212122222222111122121122222111211111221112111212112122122121212121211221112122222121122212121112122221221122111221111212221111211122212111222122222122221221111211222111221121111212222212222112211212112121222211122111221212212222122221111112212112222212121212111112212111121211221211122122221112221121112212211111222121112122121111112112122121221112221121212212221211212212221221111111121211121221221211222122212112221221212112222122221121222122111212111212122212211221211212211112112212211112122121212212122222111121112111221212111112112112222212211212112222111122112112111122211211111221111212111122112121121121212222211121111111212121121221211212212222212111122222222212211121222111111111112212212122111122122221221222212122112221222211122222111112111112121121121112121211221222121112112121122121212221111212211112111122112111211111121211121122121111222111211112221211122122121112212122112121221121211222121211222221111212212111122122112122121222211112112222222211211121121222112112122121112111211112111111121112212221211222122222222222122121122212121212122221121221221211122112222122112222112212112212212221221121221111121222222222121121122112111111112112111112211221222222122221222211121121111221122121222121212221112222212122221122211212221222112222221111112111121222112121112121122222212111122112111121222112122211212122112122211121111111121111111221221212211112222211122212121212121212222122111112122211112222221111112111112212222211122221221221212121112221121212212122211222112111212221112222122222112221112222111212122222112221222222212212222121122212211222221211212121122211122121121111111122111121211212121121222212111121211121222121121121112212222112121111122212122121222122221121122112111221222121111221212221112221121112111221212111121122111121221222211112222121221211212222112221212212111222212212211111222222111221122221221212211121122122121221212121212122211212212211212121212211122222122122211112222212121112112112112221112212122221121111122111112111211122111121112222121121112122222211111211212222121222221222211221211221221222122212112122112112122212111111212221212211211212121122121111221222212122121112211111221122112111112211111111111122212121222112112221221221212222111211221121211222211222212111221212122221121121221221111121121121221111211122122221211222111212211112212222111121111211122112121122122222111221212122122211111112112111122222112122222221221221121111222221212211122221121221112112211122112212111112221111211211122122222111111122211221212111111112222222111121122122222222212122221112222211211211221212211112111222212212112212122112222212111122122121211222211111222221122112211222111212211221112112112211212111212112121112111212122121111222122121122122111221121111212111111212211212122122212211111111111122111221211111212122111111221122111112211222221121111211122112122212121222222112222112221111112222222212122121121121122121111112221112211221221122121221222111212111211212122122121111122222211111221221222122212111212212221221112112121211221122122221211211212211211112122222121221121212122212112112122122112212121111222222222221221211222222122111111112212212111222221212222111111222112221211211112111112222111212222221211222222111211112221221111111212112121122212111222121122121121211212212211112121211221121222212211211212121212112112111222122121222112111212222222222112211221212221112122222121211212221111211112111111211221221112112111221212111112111111221221122122212112212221212112112112122222211211212111222111221211212212122221211121212111122212122112222121222112122121122212222112122111211112222112112112222222112111211221221211122222121222112222212221212112112221122212112222212211222221222121121121121221211122122211221211121112122121222121211212122121222211211212111112122222121111111121222122221212211112111222111222111121112212221211112212211212121211222112221112121222211212221212112221111222211121211111122222111112221122221212112211121221112111112112121122222222221121121212112121222122122222111122212211112112121122111111112111221122221111212111221212112211112121111221221121122112121212211222222221112212122111111111122112122221212112212111212112121122111221121111111121212222112111111121111121212212211112121122222111212122112221121121121211221212211222122221211222121122222222211121222121211111122212121222222112121121121211211222212122211122222111111111211121112222122112111211111121222121111211112121212221122211211212122122122121112122211122212211212111212122211212112111211112112112122222112122121121121112122222211121211111212121212212111221212121212221211222211111111222221222221221121121221211121112121122211122211111212221111211221222121112211111212222212221111222112111111221112111111122211212221111122122212211212212212212222212111211122222222221212222211122212222111222122222222212121121221211222222112211122222212121221221121122112211111222211221121111112222221212222211211112112111212121112112121222222112121121222111221221222111212122111212121212222121222112111212212211112222111222212122221222121112221121111221211211222221221211221111212211221221122212211111211221112122222121212212112222122212211121112121111222112111211212221212111112122211112221111112121122212122211221221112122121111122221212222212211212111121111112222212222222222112112212121222111112122211211221121211111221211221211211211122212211222112221221211222122121211222111211212212121112212211112121221212112211122111222112221222222111222121121221211222222122111212221212112111122122121222211212122112111112221211111112122112222121111121111121112111112221112222122121121121122212221211222121122211212121211221121111122212111221221112122122212111121222222121121121212221212221112112211211121121212112112222121121212212112221111122211212121122121111211221211112112211211121111111211122221211211222121122121212122221122212221211111221211111222121121121212211121122122112212211212212222222122212211111112222112111212111121111211221221221221221222222221211121112112221112111221222112212122221222122222121211121111211221222221122211222112122122212112122122211121122121112121121122112211121221222121121222211222222222111221122222112221112112112121221212112212221222212221211112121121122221121121112112211112222122221211111221121212222112122212111112212221112122111211121211222222212121212221111221122111122221222111211111212212222221121111121211222122121211111222222112222122112221222211122211121211211122222122112122111112121121112112222122211122211121122121222212112221122212112111112122121222122221222211221222222221211122221122112222121212221221221222221121211211122221121222111111212112212211221112221221112122211221122112121111111222212212221222122222121122221222121221112211221212221222211121222111212212212221112111121212121112122122121211122122211212222112211112111122112221122122111112111222222122222211212111211221222211111221221122212211122122111112222121111111111212112222121221122122222121112222212221112222222111222121121212222211211111221211211111221111211221122221222222222121112111221212112211111212121211112211212112212212112112222121211212122211221212221112111111121211121212211111122111111221121121111122212212222121212121121111211212111211211111222112121112111111122222122122121111211211212222212122222112112221121112122211221212221221122112221221222112212112121222211221121112221111122211122111112212222222222212211212121211121221211221111122122212222122212111211121121211211211211211122221211221222111211222112112112211212121221122112121221211211111111212221212212121222112111222211111111211222122211221122222221111221212122121112112122221112211112112121121212211212111122222211222121112212222121211211122121222222122222222222122111211112122211222212111122122111122111222121122221111112221121212121211212121221211221211122212122222222221211212122121221112212112212211212111121121212212112212221222112222121112112122212222221121122122211212112211121221212222112112212122212211121121222211111111112122112211222221212221122222122111211222122122221222122121112212222222122211211212112121222112222121111121221222111112222121121111112122212121122111121121111112111222121122221222112112212222221222121212112121112111121221221222111211221112222211221212211122221121212112122212122222211111212212222222212212111222221212112112121222112222111221211221111222222112111121121221212222121112222212111221111111112111111212222211222222111111222212211111112121112212112222212221112121212121122111121221211121221222211121111221222111121222221211122221212222211112212211222211122211122121212222212212222221211211112112211121112121211121221111222122222212112212221112211211122112111121212211211212111111221121211222121121111112112211122212111122222222122222122211121122212211112112221111112111211221121212221222211121222121112222212121211212122211212112122112111111122122122211211111121121111121122111112111121122221222212122111211111211211112211112221212121112212121111221211111121212221111211112111211122111221212121122112212211112221212212211212112222122122211111122211111111211221212112212111212212112212222221121111212122122111112122212111111111122122212212111122111212211122221221212221112222222222211111212222111221111111121121221112211211212221211212221122221111122221122121112221221212122212221212112211221221211221121211212221111222112111221211112211212112222221112221212121211121121222212221222121122212212111212112112212212212111222122221222211222212211222112122212121112121122121212121121122211112222222122112211122111221112221221212111211221121212211122111221112211122212222112222211212212221112222112122121211121221122111221222122111221212121112221122222121112222222221111121121222112111212111122211111111112111222222211211121122211212122112222111111122122212122111212221111112222211121222121222111111222221111221212112211211222221122111221122211222222221122112111122212122222222121122111122212112121122221222112212222111121212122212221121112121122211222222111121121212221112122211222122111222211112222111212211122122221211121222111211211222112122211111122221221122212112122121122112111212211112112111112222212212112221221221112121212121121222111222212121111122122122121122112221221111212122212212122111112221122222111222211111121112212211112121221211221211212121212222111122121121111121121121212221121212121122122222111111111211121221222211111212121122222212212222212212121211111222221122111212222212222111111112221121112112222212222221222221211122111222122222211212222112111222211121222222111112111211112111112121212212122121121112222121111112211221211111221212212112121212222122121212111211221121211212221211212111122121111112111211212122221221221211221111211122121221212222111221221121122211211111122221121221211221221121121212212212212112221211112211212221221121111122112222211221111211211122111111211111221111112221111221111112122111222122211121121212122222211212112211121111112112121222212222121121111222112221211211112221222211121122112111222111221122211211222122211212122111221121111222112222222221122221122121221212222121211211111212122121112222121112112212212122211211222222221122122211111212212222212122121112212212222221222222222212222212212222221212122111121112212221112122211221121112221122122221121111222111211121122222112121111221112211222221212222211111121212211111121211122121212212212212121221122112111212212122222122112221222121211122112212212222112121112212111121211122222112222122112211111221222212222122212221121121121222122121112222222211112122122211122212122211112121121212212112222112212121111111111211222122122221211211222112222111121212212112212121211111222121221212112121221222111122211221211122122112211212212122221212112111122212221121122221111222111122212111212221212222212212222111211211112111211221211211211212112111222112212111222111122122121212111212222222122221111112222222211112121211111221111112211212212112212222212211121221212211122111121111122221112121121112121111222122222211211222211221212112211222112122212212212221222212121211212122121121122221112222121122212212221211221222221121212122212121121122112222122211111221222122121212122211211222211211112212221222221211222122112112121212221121211121222222211221122221211122111221222111212111221121211112111212221112221212212221121222221121222122211212111211212111121121221111111222211212211222111211211221122211221111112112222121122111222211111112112112112121211122221222112121121221122122211212222212121112222221122211212221122111121112212212222211112212112121121122122121122121111211112222211111221111111121111111122211221122222211111221222222121111211111221112211111222211221222111222121211121122112111121111212212112221222212111222211122222122112221221222111211222212221112211111122221111122221121122111111221212122121211221221121221112221111222121211211222111212221212211212212121121122211112222121121221121222222211121211212121222212222122212111122122122212111121121111212121122111122221211222111121122112112212111211222122111111212112212121111211212121112121222122222211221222111222212112222122211222111112122122122211211211211222222121222221111222222211222211111121111222221211111222122221211221121211121222222211222111121121122112121221212121111122112211111211211222222221212121221212221222222121112111121122211221212212111221111122112122122112112111222211121122112121122222111111111112221111112111111212122112211212211221212121121122122111211222222222212221222121111111222211212211111221112211112211111111121112212121222212212122122121222221112122212112212212112211121221111112122111122212211222112112221122122122222111211222121122211111111222222211112122121212222211221112211211122222121121111221111122121111121121122212212211212221211222122112112121212121112222212112122212111212221112111111111122122122111111122111122112221211212221212212222211121211222122212112121112221111121221112122211111221212222111211122121212112111112121211121212111221211211211122112211212121111121111112122111222211211212211121111111212122111122112122111122111211112221122221212221211211111112111222111112121111122111211122212111122212111111112222211121211211212122112211212212211212121221212111212221122222212211122222221122221121121211222212222112111222122121221121121122121111112222212222122212122212211121212121112212212122112112122222121212211111212122121212121222121211221112222222111222222222121111212112211122111122222111212121221121112111112121221111222121222212211121211121221121221211222211211221221111122222121221112211121111212221222212111221212121121212221121221221211221112111121122212111111212111221211211111221211111221211122122111222212222212221212211112122221121211112222112121121122121211212211222211211221221211212221111112212112122121211221212112211212212222222222212121222221122122121111211121121212211221121122221121122112121222122112221122212122211112121221122112122111111211121111121212221211111111121111121121122122221222112211211111121121211222122122121212212211112211112222122121211222111221211212122212111121222221211122211211112122221112211222211122212112121221111121221212222111121212212111222121211111222121111112221222121211211221111211111212222121222112122221211211121122221112222211211222111121112121121111121121112112222112111111112112222222121211212121211221211211221122112222121221222212222212111212221211121121112222211112111111211111211121112112222222212111221221211112211221222222111122111211211222211122222122211212221211111211121212111212112211212221122111221222112122121112122221111122212212221222211112122222121112122221111111112222222111121121222121211221222121221211111211221222222122211222111121122211211222111111112121222221211211211122221212111211122121211212222221212121212121112211121121222121121122122211212221122222221211221121222222112121211221122211122221221222111222112112121221122121222222112212212121121112212212121222111221212221222112121112211221111122122121222112212221222122221111211112112212112121212211111112211121121221212112122221211121112121111111122122122112112121111122122112111112122111121122112212122221221121222212222222221222222221212112112221112222222212121122111222221121111211221111211112212212121111212112121112212111111211111221211122211122211122222221111221111222111212121121211211112222211111222222111212111221112212222211221112221212122121211222211121112112111211221222122212121111121221111222111221111221212222212112121122112122122221212211121221211112221222221111112112112122112222112122112222211121211112111112111222111222221212122221211212211121122211221121212111112111212221211211222211212122112121112221211111211212111221112111111222122112211211121121112222122112211212222222121222112112212112121212212111221121111111111112221111212212122111122222221221112111112212211112211111111221212212212221221111111121112211111111122212112212121121112222111222221122212111112212221122112221211222221221121111211112222122212112212222112111212222221121211121211112222212222121211222112212211212112122211212212111111222222222211112111112222111211212112211211112221122121122221212221211121112121122122211112111111112122112212211111212111221112121111221121222222222221222112111211122112221211211211221112122212122222222112221112121122221111221222111112122212211211122112112222121211111221112111122211212212212122212111222112221122221212122111222211112211221221111111222222121211112112222112211211222212222212112121221112221121121111222111212212222211112112112112221121222212212121112221122121121211121112222121222121111112122111211121121121121222122122121221211112121121122212221211222121222212212111212221222112211111121222222111111112222211122111212212122121221221122111221112121221121222211122211121122111112121121211112122222112212221222212111111112211211112222121212222222211221212111222212111212112221221122112122211112222122121212111212111111112211121211111121111122221222222121121112112112211122222212221211222211122222112111221212111122222122211221111212111112212122111221111212122212212111122211121212221212211112222221121121222221111222112122212122211112112211222212221112121221212121122212111212222121211211212211122122121212121212221211112122212211222221221212111111212221121111221211121112212121112222221122122221122121222221221111122222212212111222122111122122211121222122112111221212221111221121112222212112112221121211122221211211112211111122111111222112121112111211211112121111112112121112111122211112122122222122211121221221211212111121111122122122112121122212111221211122121111121212112212112211122211211221112212121122112222111211211121222212221221222211211121122111211222211222222211222121121221121121212111221122121212121221212221111121212211122112112211222122222211211122111211211112111112221121221122221121112212121111222122211121122112112111112212212221111112121111121112111122122111111121212211112221112121112112222112111211112111211222221111111212111121112222112122112122221112121121122112212112222211121112111212212121111121121212221221211122221122211211211222221222121221211122221111212121211121221221121121121211221221212211111111112211222112112122211121221112211221211212111221122111211212212111212112112221221212121111222112122111222211212112111112122212111211221222111112112212212111111222221111211112112211222111121222222112112222112111122112122221212111221221222222212221212122212211121112211211121121211211112222122221112212212112212122211122212211112221111221212211221211212221112111112211121111112122221212221122121221221221211211111121121212111221222222221212222222222212122222211112222122211111222221211212222122121112122112122211112211211112122222221112212122221222122121112211111111111121212122211222121112122121111212212221221222221111112222121212121121211212212121122221211212122111111122112122212112211222121122211212222112112122212212122111111222112222111121221212122222212212112211211211221111122122121112121112122222122211122121221211112212111212211122111222212111222112212112221122212122121112222121122112211211221121121212111112221112112211121122112122111121222122222122122211111121212122211121112221121221211221211222121212211112122211122121222112212212121221222111122211111121111112111112212111112222221122221121122122222222121112121221121211121121211121211221222212111212121111221222212222211212121112122211111211212121221112111212222122122222122211222111212211212221212222112211121121122221212112222112112221222121211222212212111211121111211111212221211111121221112221112112222211112122111121121112111121111111222212222121111211112111221211221111122121122222122222111221121122121122111122212211222222112111212222121222112221211121211212122121211111122212122222212111211121121211122211121212112222111111121111221121211221212122221211121212121111121121222212112111111112111121222212212121111121121112211111221121221221222222222121211212211122221112211121212121211211112121222112112222212221211111221221212222222222111212122222211111112122212111222211111122112222221222211122221111112112121222122111121111211221121121211221111121222111221221211112121222221112221212122212121222112111111222121221211112222111112221111212111121211122122211212212211122211211122221112221112111121122222122112112221121122111112212211121122121211112112221211211111212221122222211211121121222222121212122221221212222211212121212121211122222211122111221221122221222212212121111111211212122212222222121121111122111211212211221121222112111221111111211211122212211121211111111121121111112122111111211222221121112122211112111221121212111211222211121121111111222222212212121222212122121211112111222121121121212111212222122221212121111122221111212222211212122212222122212112112211222121111212112222212122211122211122212221222222112121221212211122121221211222211212222111121222211112111111212222222111211112121221112222221212121121122222221112211111211112222111122221111122221212211212121211222121221112121112111112122222121112211122111122121122111112222222121222112221121222121221211212112121112112111222112221121211122111221112121212121221222212111122122122122221211222212212111112211111111121211221112121222112122212112111122211111121122111112211122212211212121211222211212212111211121212112221112122121122111122222221111112111122221112122111111211111122122111212211112212221111122122221221212222212212112121112121122221122121122212112111222112121112222112111222122111111121112212211121122211222222212221122112122112222212112221122211122111112112112122122121111222111112211211111121221211211112111221122122112121211121122211112211221122122112212121222211111121212212111221122122121222211222211211121222111112222121121122122211211221111212121211122112122222121212221212212212212222121221111211222112212111212211222111122122111112222121221211221212221111112112221122221112122121212121212121222212211222122122121222211222222121121221112122121212112211221121221222111222111122111111221212112121121222111122221222222212111212121212222211222221121112212112222121222212211121112211122122212212122222221222121122122111121221222222212221212122111121222112222112112221222222122122111111112111122212111121211121212211212111112122112211112112211122121222222112221222111121212111221221112112221111211111121212112111212121221222121211112212111221121121112121212111111121212212121212212212122111222111121221112222221121211221121111111221112211121121212211121121111112121112111211122111111211121121121221122212212112112111212211111221212212112221112111111122212122111112221122121122122112111111121222211112121112212212112112111212121122112212112122222212222222112121121211211111122211211111221212211212222221222212111211122112222111222212221122221221111211222121221112212221112221222121111112221111111211221112122222221221211212222211121112122112211112122211212122211211121211212211121122221221221211211212112112211122112211212212111121221212212121112211212122112121112212222121221222112221211212211221222122122221212222211222222221221222212112212221222212122122121211222222122121121122222111122212221222211112112111221121211122112211211211122211221122221221221122111221211222211221122221122211112122112222221121121111222222122121122221121112221112222111121211222111111222112122222121112222112222112221212211112211111211111221121112222221112222111111122211212111211212112121112212212212112211211211211221222121211111221211212121111212112112222211211222211111222221122112111221212221211212112211211211211121112121211121122211111112111122222122212112112222112221122221121212121222222211121121211212221121211221112211122211111212122111221212122112112121221122212112212112222221222121112112112111222211112122122211112111221122221111212211122112221111122112212221211222212222122112122121212111221121111112122212222121111122112122211112121122111111211221121222112111211221211111221222122121221212212221211211112212221212122222212221122111121112121112221122112111211111221121211212222222222222121211211111212111211121112222122111221122211212121212111112221212121211112221112111122211212212211121221212211121122111121212211122222221221122221122122212212121122211111221221111222122122212111222211212211211221122211222211212121222221111221212221212121221111212112212211122122111221222212222211212121211222221111121212121212222211121122212211222122222121112112211212211221212122211211211211221112211111121221112221111221222212111122112112122212211121221112212211112222221212112111222211211222111122221121222122121212122211222222122112112211112212112121111121122112111111122111211111212122121121221211122112112212221221212112212121211111111212212121122222211221222121111211121121121211212112122122222222122222211221211212212111122112121112122111212211212221222222112122211121211212122221212122121112222121211121121221222122121212211122122221121222221111211122122112112122221222221212221211112111111212112121221121122121122222111121222221211211111212112221221121222211112112212121122121121122212122122121122211222121212121121212222121121212111122111121121221222221211221121121112122121121211111211222122222211212211122211112212121122221122122122211222212211121212112221222122221122122221222112121222111211122222121211212112122211121122221211111121122212111121222211111121111111121122122111221111222112222212222121212221111122112121212222212221122221221111221112112122121112221122211112211211121211121122112122121111222111112121121212111211212122212222121211211211122221211212112221112212122121111121221212122211211121221112121211211122211211121111211222221221112212121212122211222122122122122112212121211211122211112221122221221121212112212112111121222212221111212121112111212211111112121122222122112212222221111111211112122222111122121122212221221111212211212211221122222111121211122221121122222122112222122212221221211111111211112121222212222112112121221211221121221221112222111122212212212122222212121112222212121222122222122211111112122222112111211212221111112121211111122111121212112111222122211212211212122222111122112111211211112112111211121221212112212221222211122111111211211222122122112111112221122121112221111222221222212121121111211122121122121211112122211221111111222221121212211112122221222212212221221111212111121221211122112112111111111211221221111211221221221212212112112122222221111212221111221211122222211221112121212111222121111122211222111212222212112221221211112121122222112211122212111221122211211222211121122212121222212111122122222212111122112121221222121111122211222122112222221122122221121111111212121111221122221211211121222112212111122212212221221211122221122221121111121122221222222221111211212211122211222122122212122212111112222222122121111211112222211112221211122121111122221121212111211121112112221222112222111212211211112211121122122212122211112122212212111111211111222112221122122221122212121111221222212121212122211121212112211112221121111212222122222121111212212211222222112112122112122212222221121111121222211111212211122111122121211121222222121122221221212222212111221222222111112122122111122111121212111222111221112221122111221112112211212112212111112111222222212121112222222211212222221112111121112112122221122111122222112121212111221111112222122211222221221221112122122122122121122111111221111211121122212212222112211111222122122122111111111122211121212221112122221111222111212112121222221111112121222122111111111111112221122122121122211122222112121211112221212112121211212221111221212221121212122211211111111122221211121221212211212112212122212122122221122121122211212221212122212211112112122112221111122222122222212212211211221122211211112221121212222221121212112122221121111122211222212221111122212211122222222122211221221211211221222221221212122121112211211212112211111111122122121122211212221111211111121221222222211122111112211211221121222112211111222121221211122222222212111112222211122211221212121221212111121111111211122121122211222112211221122222122211122221112111122121112122122212222212121111122222212112121212211122111122212121111212121221222211121122121122211222111221222122221211121121211212112111222112122211121111111111212111121222212122222212222211121221211221221221222211121212212121221221211221111211121211111121221211111221111122121112211221222211112211111111221221121211122122111122121212221112121222212122212211222221222121121212212222211222121112121121111111222221121222221112121111112122212222221212111112221222222112211222221222122112122212221212122221122121111221222121212121222112212112111112212111212111221112212212221211121112221111211112211222112222221122221112121211122221121122122221211221122112111222211122111221111121111221122212121212111221212212122212221212112121212221211221211222221222112211121112121222212221221121212111211212112212222222112111112212112212221221121221221111122121111112222112112112222121211211122112112221212221122221221211221221221122222122222121121112221212222212121212121122221111112222222111221212111122222222222121221212111112111111111111221121121121112221222111111122222111221221112221212221212112121111112211222112211221222221211122222111122212222222212212112222211111122111212212121111112111111211212121222121212121121212122112212111222111221121121111222222121121121211222121222222221211222221122221211111121121111112212122112122122221221221111111112111111111121121122211111221222112111121222122122111122212121111222212211221212111221221212221122122112222112211122211211122122112122221222222221222222212211212222112222122212122112221211212121121111211121112122122212211121111111112222211222211222221122211122121212111111222212121111121111211221211111221211222121122112121222221121122221211112222222221112222122221121121111222111212122122112111211111222122222211222211222221112122222121211112221211121111212212112212212111221111121111112111122222122222221222212212112121222112222122221212112122221222212211121221122111122112121111122112121211222221212222111221111211122112122211111122121221112111211221222222112111111111112212112222122112222122111212112221212122122112111112112112121112221222121121112222212222211122122112212221212221222122222211212121122222111222112111122111112122222221122211112222211222121111221221121112221211122222112222112211111211212212122111222221212121112211221212122121111221121222122112211122212221222112212112122212111121121122122222112121122122122221221212222211111111122212221211221212221222112112212221211111122122121211112121211111212222221122221112212221211211211111111111122122111111111211221121121211221221212222121122112111112222111122112122111222212212221121212111111111212111221211121122221121121111211221121111112222221221121221212221212211111211211221211121112111112221111222121221222122211122122222212111111221222212121121121121212211211211121212221222122122111212222222211122112122121111122222121122111221122122111221111121112221221222111222111111221221111222221121221112212111111112121222211212212112112221111111122122221222122112221122112221222222221212221112121111211122122111211211221111222212211121222121221121211221211221211121122122222211121221112122211212221122111211112111222122211212121122211212121221112122211221221222222112121222112211111121221111112122222221112111112211222121212121211111112122221112221222121121121221112211212211221212121212121222211121111221112221121121211221122211122222112121212111112211212211222222212211212222111111221111222122211111122221211211121111221111112211221211221121222111122221122211122221212212122221112211122221122111112222122212112212212211111211112221112222122111121221111112111212222111221221111111111111211222112111222221121111111222211222111121122111211121212122121122111222112221211122112121222212221111222122121212121122112122112212112111111122122111112222221121112121112211212212112111221211221212112222212121222221121122121221122111112221112112111212112122211222121111111221212111111122112111212222112122122221111112112121211212212112211112211112112212122111111212122211211222222121212121222211222212221122222111222122111111111112121121122122212111121221212122121221212121111221122121222221121222111112121221112221212211222222122221212212211212222221122111122222212122111112121221121211211122121111121112112212111211122211121212222121222121222121121211221121221212112112222211111111121221222211221111221122211112122121221121221222221122211212121122212221222112121211212211222122221212112121222122221222122122122221212122222211121122222121222112211121221122212122221112221222221122112222122212111112112221121121111122211111121111121222211221222222121221221212111212121121122222222221221112121221222222212112211112221222112112111211211212121111121222222121222122212221211111122121222122211122211211211222121212112221211111221121222122111212121112221212112222111121221122222121121212121222211111212211122122222212221211222211212121211111222112112121222222212121111122222121221121122122111112221222121211212111211112111111211212112211121212222212111122121221212122212211222111222211212222222111222111222212112122122211212211122222211122212121112111211212112122122221222121121221211221122112112211221111221111221221222112111221121112112122121122212112211211111212211211212222122112111111112121122211211111112121211112112112111111222212121111212112222212121211121112212211122121111121222222222211212221221211122112211122112112212122121212121212122112121221211112221212222122111212112221221211222112122222112222212221111112112112221222112212122211212212111212122222222211111222221111211221121222121121221121221212221211211212211122212222212112112121121212212211122122211211112211122221122112111112212211221111211222111112122212111221222111121111221122221122211221212112221111112122122212221211122221122211222111211121222122121211122222122112121112121121222122112221122122122221122111122111112112121121111221211211111121212211121222211112211111221111221111122111211221112122222222221111112121121111121112212222221112122111122112211122212211121121112111121211212111222212221221222221121221121222121122221211221111121212121212111121221212222222221112211121212111221121121121212121122112111111212222212212111111122121111212221122122112211112112111211212212111212211121111222212111112222112221121211122221111121221221122112122222221221112121121111222222211221122211221111221121112122212112121222112222122211121222222212211221122211222122212121222212222112211111111222222112212111121121122122221122221121121222121221122211212221122121212221112221111112222122112112121222112211222121111111222212122122121121212121211111222211211211211221211111221222212221112222221111112212121122211122222211122222221221112211212121212222211211122211112212122211111111222221211212222222111222212222112212222221212121211112212211121221112112111112111221221222211122112121112221122222122111221122212121121112222111121211121221212211221111111221121212211211211222122211112212211121122122212122111112211121222211111122122212212211122212211112211222112211112111111221222121221221212211221122212122221122212111212222211121111122121121222222222221211112111121112211211111122211121112221122112222111212212122111112122211211112222221112222112121222112222212111121222111212112122222221121112211221212122221222122212222112121121121211222122111111121112112211111221122121121221112212111211121122212122112211222121122121222111122222111111121122121121212212111111122221222221221222112212212212121111121211211121122211211122211221122122212222112211222122121122111112112212211212212122112111221122122111221211112212221221212111122111111221111121111111112112112112112211121121111111121211112211121221121211211112212211222112211211111122221212211122121111222111221121111221221121112212121112222112111221111111211211112121211122221212112121122222122112221212112112221221112121111212111211122222211112122111222212211122221222112211222211212112221122222211111222212121112211121111122121111221211122111111112221212121211121122212221111221121222122211112221212111121212111212221111221111212222222111212222121122112211111211221211112122112212222111211122121111112211121111211112111121111122221222122111121212121121222222211112121211212221111121121221112221221211121211112122112221221222121221112222221112222212122211221122112222211212212212122122121222112112222211222221111221111121211121122111112112111222122212221112212112112122112112121212222122221211211222121221111212122112111221221211211121122122112122112121122121212121111111121122121222211121211211211111221221222221211122212122111112121111222122121121112112121121121122221121212212211121111111112111222122121121221121221121111121122212111112122112111121122222121222211122221121222112122212122221222121222212112112112122222121111122221121222221221122222111111122122122212122121222112111111122221211222121112112121112222221111221122111212221121212211212212211111112212222112111221121111222122121111221212222111112211221122111122212221211112221111121221212111221222211112121122112122111111111121112112121111111211122122222112111112121212222211111222212212222222221211222111111211112221112222112121212222212212111111211221222112111111121222112212111212212222222222121112112222111222112222122222111212111222212222111221112122221212122212121222211112221212121122112122121221221112121122122111221122222212222222211211211112222112211121121221221111221222211111112211122121222211112121212112211122221121121212221212221112111111212121211121212122212221221212212221222211112212212211211112111211121112212111122122112112211122122121112211121222221121211122222212211122121121121221111221221222122222221121221121221122111121212212211112111111222112112222112222221222111221211122211211112222212122112211122222221111121112122222221112222111112111111222121212211211112122121121221221111222212211112121212112212111121121112122121111222112111222121121211211112222212221111122121111212112111212222121222211222222212121112221221211222222212212211222211122221211122212121212122222212122121212211222121221112222222112212211122122121121212222111111112111122112112211121222111122111211221112221111121221211222222222111212121211221221111111121222111212211221222211121122111211211112111122221222222211121222121212122221211111212112212122121212221212112112122122221121122121111212121222122112221112111211111121211111211211122211222211112222221111221212212122211221121222112212221211222111222111122121222111111221122221222111122222112121211111212222222111111121112222121111111211221112111111112121122112211112121212221121221111111122121222112212111121122222212112222111112121221212111212211122222112122121112221121121111112212222222121221222222122112121121221221111212212222222111122222122221121121112211112111122211211121212212222111111111222212121212122111222112121221212121122122212122121222211221211222212222112122211111212211212121111221122111212122212122222221122111212212212221111122211121211211111212211212121221211211221211222111112212112222222212211221212212222112121211222121211112111222212211212211112112221222211111211222111122221222122111211221121221121221121111221222111122221111211121122112222111221212112222121121212111121121121122121112122112112112111222212112122112112222111112212221222212122222121212222122211222122111221212111111212222222112222111111222111211121112221222211122211112222121121212122211112121212111112122221221121222112211221122221211222222211121211212111211211122112121112122121111211212111122122111222111222121221211122222122111112222112212221121221211222121111122212222111212221122121212111222221111221221122222122212112121112121122122222221122112221111121212211121222221111122212222122212121122112112111121222111221122222112222211222221121212211111221122121121112211122212111222111121222211212121212222122212122111122112122122211212212222222121211112211212211212122222112111111211121211222211221112222111121212111211222222212122122121111212121212122212222112211221121122222221122111112221211221222221222122211122212112122111212211122222122121221121111112112111212221121222122222211122112222111212112121222211212221121211121222212121222221122221212222212112111122112212111112122111221211211111221221121212222222222221112211111212111121121121121212222122112211212112222122212222221122222212112112222211221212212112111211121222121121111122221211221122121222211211222121212122222121122112112112121222112112112211222221111222122121221122112222212211122211112211211112112212122122211122121212222112122112112211111211122112212222212111222212222121111211122111212221221221221221112221121112111121112122211211122222221112211111112222222221121221111211121221122112222222111212121221121221121122121212112122112122121111121222121111112111122122112112112221211111212211211112121221112211121112222221211212121211222111211212212211222121211212111111221112211111212121212122221111221122222222212112221112211221122111121212111212121221222212221111212121121221111112122121121122212211122121121111121212121122112111112122112212111121211212122222221222121211221121222212121111112112121222221222221211211212221121122121212211121222222222221121222122222222222112221222112221212112111212211111211111121122121112112112212211111221211222212112121111221111222122111212121211211111222222221222121212122212111111212221122122121212212121122122222112212222112121112112211122222111112212121121111112121122222212112221121222211121121222211121222221111111111222112112211222221111221121221221121112111222211212121212212121222112212211121122211111221111222212111221122122221112221121112111211221222121111211111111222212222112111212112112121211121121222221222221211111112121122221112222222111112212122122122111212111122212112121222121212111112122222211121212122211121122122211121221211221221212222221121222211121222111222212221121122221121111212111122112211212122221211212222121212222212221112212112121211222111122221211121112121121212112111212222121222211121121221212211111121111221111222211212212222111111122121112111112222211222122122112211222222111222111111222122212112112221111112111121211121111111112212122111221222121112221211122211122112211221212211111212112221211211122221221211111111111222111222111221212121112221212212221122211122212212121211211121122121222111122122211121222211222112121222112111121112121222121211112212111222122122222211211222121211212222111222111121211212111222112122221212112112222211212212221222112222112111121112121122221212121122122112212211211121221211221112212221221222111111111122211112112221221222121111211112212121112221211221212121222212111212211211111112121222221112121111222211111211122221222221111122221112111212222111212122121122122222111121211222112121111121221212121122122122121121211212211211112211212222212112222222222221222112121111112221112212122111212211111212112221111221111122212221111212221212222111121112122211222212112211122221222122112111211222221121212111112112112112221121111221211121122112212212212211222212221122212222221212122221121211211211212111221221222122122112221112122112221112122221211112111221212121211112121212221112221211211111122122221221112211112221111222121121221222121221211111121122122111212112122221111222111212211222112121212112212212112111211212122112211122211111222111121112121211111112122212212112122212212122111122211221211211221121112112122112122122122222122221222121112122212121221121221121221212111212122121221211211211121222221121222221212211222221212121112111222121221221211121111222112112112112211111212222211121221221121222221221122212122211212122122212211121211121112211111122221212111121112112212212212122122122211222222212112221211222122222211112121121111222112222112111222122222111222111111112211112222222211111111211221212122122211222212122122212221122111222112212112222121122212221122111121122112122211211121111111222112121222111122111221111121112221211211212211211211211212111222122212111112222111122122122222211122221212112112222221222222111122222122121112222122211111112112111221111121121121212111121221111122121212121221222112211111111112121222112112111111111112122211212212221222221111212121221222121121222111222111222211111211222221121221111211112121222211211221112212121121121211221211222111122222222121211211122211111211222122122212111121121112111212122221222212211122122212122222112211121221212121221111111211212121221221121112212212122221221211212112112122112212222211121221112211121121122221212222121222211112221112111211211211122211111221111121122212122112111122211212112221111222122221211122122111221122211212211211212111221212211221112211112212222122212212112121211122212122212211111212211112222212222122212221122222112221112212122111122222111222111221121121211122122122222112221211221112211122122222112112112112221211211111112212111221221112121122112111112212222111121222212111212121212221221211122122222121222121211212122122111212112121211112111111122122222122222211111111121222212211112111112211221111222221221121221122222222112111221122112121221121111121211111221121222211212112111111121122112111112221222221121212212121122222212212121111211122222121111221221121212122122122212222122111122211221221221121111111212211122212122121122221221211122122111211212111222212221222112222211111121211221112121222122111221122121221212222212221212111112112112121211111221111212222221212222222111121111211222222212211211212211122221111221111112221221121122112222222111121121222222211212211222121121122112212121212111212121212122111112222112112222212211211112222121111122221212122111112112121212212211212122122111221212112121112211121212122222221222212121122111222112122222122212211211122211211221112212222122212112122122111122121122121112222211112221211212222122121222111212212112222211121111211121211221211221112212212211111221222121222122221122112111111211112212212112222212112112112222222221221221111121212211121211111121221122221212121212122121122111222211211211122211122222112221221211212111222122212112122112121221212122222112111112221122221112122211221212122222212222112111121211122211112211212222221121112121112211112112121221122112211211222112112212122211112212221221122211122222122222222112212111121212122122212112221121122121212111222212222212212211122112211111212121111111122211122122111222222112222222222212111221221121221221111211212212122111111111211121212121211112222122111112212212121121111211121211212112112122121221122111212112212112112112111121122111222121222112112121212222211221122222112122112112211112222221122121122221212222122211212122221211221221221221112112121121211122122112122111211122112221112112122111122222122122221112211222111221221222112112122112212111111212222112112212122111222111122221111112111221221122222222212112212121222221221121121212221221212211211222222121122122222122111121211122111122112122211121111111212122221122122111222222211222221121111222121211221122111212111122221222122221222212111121221111211112221112212121121212221211112112122122111221211222121112111121211222222212221222221111112111122221221112222121212211121122121111212111211112221122112222221112211212122222121211122112222222211112111122122222122111211222221222222212121112111222222222112212122111212122112121111122111211111212212122221221212111121222211221222121221112211211212221221211122211211211212122222122221121112112222121212122112122211211221221222212112111121112112212122122112211221111211221122221212212122121121211211222121121121211111121112112112221222222111211212211212121212222121122121211112112121212211111111222121212212112212211211112122111221222222212122111112112111222121221212221211221211121211122211122221222112221111121212112212121211221212111212211111112122221222212111222212121112122221222111222212122122212212212211211221121111122112221221212221111221111111211211211212122222122222122211122111222111212211111212122112212112211122221122121121111111112121221112221111222221221122211112122111221111112122112222112121221221112212211111212221211112211111121212222212112222211222212222112222121111111221221211211111212121222221222211112112112111111121221122212212122111211221222222212121112222212122122122111121112112222122222212211211212211122221112122122212211122121211121211221221212222222112111122221112212221222121222222122121212111211221112211112121111211212221122111212121211121121122212212211221212221211122122222121222211111211222121111211111222111222212111211221221121222222112221222222112121112212121112111212221111212121111122121121112222112222122212112122121122112222112212111212122112222122121122111121112111112221221222221212121122212121121111121121122212221212211211122111111122111222111221121221212221121111121122112222211122212112112121212112222122212222111222122211111111212121111121112122112212211121211112112122111221221122212111112222222122221111122112212121122221212222121121221112222122112221122211121122221111212112122121211111112211212222121111111112112111112212211211221222111111211122212121122212112221221222221211111121122112112222112222211211221211121222112111211111222121121121211122222211121111112221222211122121222122121112111211211122121222112222222212121211112212122122122122111221121222122111222221222212111112222121222112122221112121112222211122212221222221222111111212111112111212212222122122211122111211221112222211222121222222122111112111221221211112122112112211212212122112111122122212212121212211212121121221222111122211111221112121121211221212221122212222112221211112112222211222211112211121111122221212112122221222212122112122221212222221111111122221122112221112212221221112121222222112111222112212212211211211112112122221111211212121121222122221111122112221122221112212122122211121221211121221121221121221212211212111112221121222211212211111212211222221222211111121221212112211211112221121112212112211111221121212122122112222121222121122112121222121111222211111222222222112112211222121122221111111111121121211212222211222121222121112122121111221222112222221222212211122121221211211221122121222221212222221212211212222112221121222221212221112222212221122111211222121111222121111112111112122121222122121122111122121221112212112212121221222222112221211122112221122121221111222111111111222111211212122211121212111221222122112222222212112212211111121122211212112122122211111211111112222111122122211221221221111112211212122222211212211211121111222221111111222122211111122111221222221112211112221222122122122211211212221122122122222121221121221222211221122111221221221122222222111111212112121112121212221222222221112122212111222222212122121111212212122211212211112212121212122222211211121212211221112221212111121212121121211222111212222111211121121211221221222112111222222211211221111221222121221211121122122222212122121122122221112121221212122122121121111122122222222221121121121112122221211222111112212211221212112211122212111112121122121112212121112221112122221212111111121122111121111211112122221112212221211222122121112212121111211222121212122212122121221221211222121111111212211111221112112212122221222211212122212112211222212112211222112212221211222121111221211221112122212112121121122122212121111222211221211121112222121112121121212212212212112221111211221221112222111112212121211121122121111221212121211111221221112211112121112112211122212211211211222211122221211212211222121112121112211112111121222121212212211122111121112212112221111222222222112122222212122212121222212111122121211222222111122112121211112222211111222211222211211121211112121121212122122121122122122222222212111122122111122211211212212212221111222222122212121112122212222122212222221211221121122122211211222111121222221122211111221211112122122122112112222211122112222122122211122122112222212122112211222212221122212221112111122112112211122112122121222122212121111121212221112221111212212211122221212121112221122222212222112222212222211211112112112121122122211212112221222111122111212122112122211212222212211212221212222212121111111211212222212111111211112211112211122121212212112222111212121111211222211222111122222222211211212122121211221121222212211111122222221111122121212212211122122212111121121211222222112211221121121222112222111111111111121122121212212111112211111112122222222211111122221122121221222121212211121212221222221222111112111211222112121122211211222221121112222112121221121111222112112212122122222221222221122222122111112122221211211111212222211112121122122111212211211211112212222221122222122222212222112211121112222222222211121112122221111111211212212122211221221211212222221212212221121122221111121211212211212211122212121222121112212121122211222212122121121121211121212112221211111212111221212211221212122111112122111212221122112212221221212222222111222212212212122112122221221222221122222121121221121222211211121222111121211212112122111221122112111222211111122111211211111222211222112221111112122211222211122111211221211112111212111121121211222112212121121211121221222222222112222121111112222111121221112211122111112221122122221112212112111211111121111212221121211212211211221221212111121112122212111211221212212222212212122121121221111212112211222111211221112221212112211121222111222111121221112211121111221122221211111222122221211122121221212121121112212221122221121211122112212111111212212112211222222212212212111122111222111222221211211111211212122211112221122222211121112212111121122222222221212222211111122121111221122211122211112221112212221112212122212211212121121211211211222211212122122221111121222222211111221212222212111112212212211211121122111121111111111222121112221222121112122222111122122112121122122212111211111211212121222112211122111112222221212222122222122212122112112121122221211121211121111112112121222121212111211221221222211222112211211121212121122121221112212211121122211212212222222212111212211112222121122121222122112212222221211211222221112222112112221222222112111211221222121122111112111212112211211111212112211221121112211111122222211111112212212211222112212221121222221221212112211121122122212211221222221122222211112211122111121221222212222111122112211221122112121211211212112221211212112212212112121111222121121112111212122111221112212122211122111222221212111111222211111221122122122212111221111112212111221121112222112211122121212221111111111212221222211211211112222222212112122122122222111111212211212222212221112121111112122221222221212222111111221221121122122122222122211121221111222122222211112221211122212212121221122222222111212112111212111221222121121111122111121112222211222222112121221221122211212212221221121121212211122111212222212212212122111221221221121122122211221211211121211111112112121211122122112112121211111211222221212211212211221221211221122211221222221112211212211122122212111222112122212212121211111111121121121111122212221121222111111212211211211121221121122222221112212211111211111122112111112221111222111112211122112111222221222211211121221212121112212211121121111121121211222112111212111122121121212112121121222212111222221111221222111212112122121221122121111112211211221211122222121221212221111212211222122211221122221111122222122211112212221221112211211121212222221221211222212111211212111121112122122121222212211211221211112221112121122222121111212121121121122121111122121122212221222212122122211212122212222112111121211221121221212212222221121221122221111121211212122221121111111211222221221222212122122211122111211112222212212222222221121122221211111222112122222221212121212112212111112122121121111212121212222122221111212222221121121121211222122211212112112112122211222112221211122211212222111112222221111212222112211122121211111112112211111222122222121221211122212212222112121122121222111112221111211111112222222111221221122122222222211112122111112212211212211122211221222211221222112221221111222112221221111122221111212211112121212211111212211112222111211121121211112221221121121222222221111112122221111221112221111221221122222112221212212212121112111112122122121212111212122111111122222211221122212121121121121112212121211212111112221112112112222222112111212212211121211122112121111122221112222112211111112221212211221111122122112111212221212221222221212212111222122211212122122222122111221121221222222221111211121111121122122212222211212111221211112121212221121212121121122111221222221121222211212121211212212222211221221212122212222122222221112221211221221112211212221221111121121122112211121121121112211222112211122122121212211211211212122121221212122212212222211211211222122221211222212111122111212212111121122211221112211112222111112212122122211212212222221221212212221121121212112122221212112211221212122112211121212211111112111112211121212112112112121112122111121121121111112222111122111111122112221111121111112121221212212111222121221122111122212112121222122221122111221222112211221211121121222111121111212122221211211211222111212122122121222122212221221121211222211112112111121222221222212221222222121121222212111122112121122222121111121122122211211222211212211211111211211111212211222112222121111221111122121221121212121221122211221222121212111212112111221121112111111122112211121221212121211221121211221122211211212211122222111212121221112122112112121111121211212222221122212121121122112122111221111211122212212222112111221122212122111211212212122121111221211111221221122221222111212121122221211122212212122222211221122111122111221111121121211211212212112222212221111111221221111112121211122221222121211221211212211112122211111212212112112112222211221112211122221112121211122222211112112212211111121221122111221212222112121121212122221111221222211221112111111121222122121121212212112211111221121111112211212112221212211211121111221122222221222112121222111211121212112221111112112212122212112222212122112221221112212221112112221221222122111211121221111222112211112122221111112122211111212212111122212121111211211222111211121111221222221112211221211111212212221211211111211221221212211212222122112211212122122222111122121212121121121221111111211121212211212221221212112111222122221221221111112212121211211211211121121222212121211122212212221212111112221222212211121212222211122211221212222221222211211112222122121122121121212112111121111221222121111111122112111121112211222111221112222121212122221211221222122222112112112111222121122112222121111211112121112222211212222112212112122211212122222111221211212112112112122111211122212121212111111221221122112212211212121221122112111221121121221212222111111121222211212121222121222222111212222211121222221211212121212221112212212222112122121112222221112211212121221121212221212122111111111111111121112122222111122221222212212121111121211211111221122122222221222111212222111222211221121212211111222211211222111122112122221221111211122112121111122111111211211211221121111221211122221221212212222111112112122221221121221221221111121112122112211222221121222222112121222212112121112121112221211121122122211221221111212122221212221112211112222122122122122112221221111111111222222112121222221111222212121222112222122111221212221222112212112121222212112212211111112112121112122221111221222112221111222212121212222122112112121112222122222221112121221122121211212222121111211112211221221112121112121221222212222212111211112211122222212121212121212122121212111111221122112121211111222122221222112211121111122222111222221122221211112121221121222111122112121112121112112222222121211221122212222221121211222121212111121111121212222121112222122121212122222121111211111222222212122121122222122221212222221122111121222122111222221122211111111211111121111111211221122212111121221122122121221221111111122121121122211212222121221111111211121222121222222121121222122122122121112111122221121211122212222111211211222222212121122221122112111222221221222221121211111112121221222221111111121222211212122221111122111121212212121111212111121222112222112211221122121122221111221221112221212111222222122121212211222122211121211222211221222121122112111112121111211212112121111112111221221122211122212122222221121222212222221112121211221212111121222212122122112221112112222212122112221222212121222121121221121222111211212211212122122122211111222122221111222121122222121121212112111211212212112111211221121111112211222222221212212122122112212111212122121212112212121112111211212222222221212212111121222122212212221211121221222121212222111221122112121221122122221211212222212121212221222112121212221112121221221122211222111211112112122221112111111221112221211222112111111211122212222112111121212211121211221111112121211111211221122122221211111222112112221212112121221121122122212112122112221212112122221211222211212221212111121111221211211111222111222111121212122211212122122222221112221212122121112122122111221111121121222222211211111221212211122112212111121221112212221221212111111122221112221221112221211222222112111111211121221122112212121112121221111212221221221121122121121211121222121121211211222212211122122112111212222121212121121222122111222122112221212112212111212212112212212112222221211222111211121111221222111112121222111211212112111221211122122222112211111222222211212212121122211221211111121122222221212211111122212212112212212212112211112111211121111212111112121211221111111111211111121212221211112121112112111121221211121211111122121112221222121221211222121212111211221121211112122122221222121212212121222212211212111212111111122222111111222121212112121211211211222121222222211222222122121121211212122221122212112211111111212122211221212212112212212112221222111112112121122211211211112211112221121121221211222121212121222212111122212112221122222122112121221222211112112211221121221121211212211121212222121212111122121221121111122122222211122112122111211111211221211111221212222222221122112122211212212212121221121222222122222211122221211121112112112222222121111221212221111111221111111212111212122112111112212121221122221122112112122122121221121111122111212212111112122222112111212221212212222112122122221122121221221121212112212221121212111221221221122112111112122111111221211112211211122222122212111111122111112212212122212222221222222112112122111112121221121222211222112122221112111222212122212111122121221211221111111121212222122112112211211111111121222122212221212121111212112211211211212112122111112212212111122112212112222221121221121111122221221112112111111122222211112212121122122111122111211121212211211122121221222222212222111112112112112121112122121211122222211212212122112222111121211122111112111221221111222121112212221122212112122221122121111111222121222121112221121221211112221121112221221211121221121222111112222221211111122212121122222211211122122222122222121111111221221211211221212112211111221111111111211222212121222121112112122122122121221222212222121222112122211111121112221211222111222122111121112212211211122112221221211111121212122211211111121221211211221221222211221212212122212112211212111112211222122121122222112122221221122212112211211211121211111211122212111211222121111222212112121112211212212112222211222111222111111211221211112221112121212221122212212111112112211221121112121221222112111121222222121112121222122121211222212222122211122112112221221212121211212111211222212111222122122112222121122211211121222121111111112211222222111212122212122221212111222212112222112111111112121122222121122212111222221122221121221121212122212212112211211221112212211122121212122212111212211221112121122122112122222211211221112121112112222221111122211122121212122211121211121211211111211212111121121121112121211121222111222111212222122111121212121112112221111122222111121211222211221111111111222122221122112122121112221112121222112111122122212222121212211122111212211221112212212221222222111122211222111111211111211112112211212111121112111211122211112112111211221211221221121221121212211121112112121121211221222112221222121221111211111212122212122122211111112211211221221121121222212221212222111212112121112121212221221212122222212221111122112122112222222122212212111211122121112122121121111122212122121111221222212212122211221212121221121111122212221112221112211122212122112111111212122211121222211111221221121212212111112212212222112122222212112211121111111112221211112112212111112122112211112211211212122122212221212211112112121222111221221121221212112211122221122221211111221222221121212221122222112221221111221121212112212112222222112121111212211112221211212221112221211211111111211212222212122221222122121111222212211211122112121222112111222221222212122122112122122212211112212211111111211212212122222121212121112122111112221122111211122221122112122212222221121121222221122221112111221211211111222112112122111221112211211122121212211221112211122212222121122122211121221211212212111221211221212112122211112221221121122121212222121121222121211211221112211112222111222121212221221112112221122121212112222122211222111222221221221222221122221221112222222122221222211112222221111121222111122112222121122122112121121111221212111122221122112222121121121221112212221111211122122112211211212121211112212122221211221122111122211111121221221112122111222211211221212221111212112111212222121122221212112111121221111112211222121122221222222221112121212122111212112112221111122121211222111111112111112122221212121122212121211122121112121112121221122112111112122222121222111212121122111122211222112112122222221211211222121121221112212111111222222211121222112112122211111121222121221122211111121111121122222112212111212222211111222121221111111212111112211211121122211122221211112222111111111212221112121211222122221221112112112222112211211121111121111112211211221221122121221122121212222211112111211111112112212211121222122212112221221222121121221212212111121121222221212222221212211222221121111221112111121122121121222122211112212122221122222111122211211121221122212111211111112211111112111222221122221121222222211111121221212211111212212121221222112111212221111211122111211112111111121122121222212211121111221121212221222211211211122121122121221122212212212211212212111122221211111122112122211212212122221212121122111212211222112211212221112211121112222222221122122122121222111122221221221222122211122212122122212111111111222121122221222122111111222112221122121222122122122222111222121211111122221212121222112212112222222212111121211122221112121211222111112211122122112212122122111122111121212112211111121121212222222122222212222211111221212212212121112112211221112112122212212211121221112111212212212122222211222122122111111112211111111212122221121121212121112221221122212122111121111222222212221121112122122212112221121111212112211121112122221212122111111222212221222112111111111222222121212122121222221112212112212122122212211212221121221112222221212121122221111122121211121111222121212221221121122221121122112111221122212121221211122122122212211211121211112122111121122211111212111221112222122222111222112121112111122221222111222122221212111122221211122212122221211112222211221222112221122122112221112111112122111211111112111112222222121221122222212112111221221211211221112122112221121211111122212111112121221212211122212222221221111111212112121111112121222112122121221121221111111221212122112212121112122111222122122112111211222222211112211221212121121112222222212111212222111212212211212111112221111222122111212221212211122212122122121111222112211111212212221111211212221122222212212122122121112211221111122221212112221221222221211212222122211221122122112221222112122212111212211211222111122221122111122122221122122111222211221112111112211221112222222121112211222212121211112212111211222211211122112121111211211222112212122111111121121212222212122222112111212111211121211221221222221211221122121212221211212112112222111212222212112222221112212121122221222121121112211121112112222212221212212212111212122222211112112111222111111112221112211212211112212122111111222112111211222122221221212111112122222112122211121221211212122211212122212221221112212221211122122222111112111121121122121222212111122111112211121121112112121112121222112112211111112222222112122111212211222122121221112222111212111121121122222211122112212111221222122121121122211111112111212122121111211212122221121121122221221111121112111211211111212222222221212211112111121211111111112121212212122211111221221211121221112112111211111112221121211222112211122222122221122111112211122121111112221211111212211122121222121221121222112112221121111111211122212211112211121212222211111222122221221222212212112221222221122112121222121112211211222111212222211111212222212221121121121212222122222211211211221111121222122112112212122111122211211221111211222221122221222121121112221212221211112121212222112222111211121211122122112212222121111112211122222122222121222212221122211211121221112222211222211122212211212211121211112221212212221111221212222122222122221121212111112212111111112121122121121122211121211222222221222222111122221112222122122212121121211221221222211222122112221222121221212211121112212122111211222111211221111122111122112212111211212111122122112211212221211121122111222122122222111122222112121111221112211112121121112122121122222211122221221211221211121211211112212212111222222221211112122212122111121122112112122112222112221212111121222122211221211111111121112211222221211121221122121121211122111211112222222221122222222111122211112221222211121222212122212222212112211221111222221111221212222111221212111221121222112121112122122211221112111111222111221221221221111222222221122222122111211212122211111122212222111222222211122121211222112111212212112221122121122222222221212222111212211111222222222122211212221112121112111211121122121212122122121212211111212222211222212112112111211221112212121122112122212211221112112122121122211122212122112222222222222212221221121211222222121221111122112211211211212122122221211212211222122222112112112111112112222222222111122122212211121121112211121222212121111211111112122121122122111112122111212122112111222222211121222222222112111111221222121211212211121121111111122112211111121112211222212111111222222222111121112121112212122111112121211121112211211222221222212121111222122211212112122112212121111211111221121222111212211121211111121111121121112121121211221121211221221111121122121122122122222222112121121211121111212111221111221212111211122111211122211122211212222122212112121111121111122122112112122122112212122112221111212121221212222121211111122221211221221212212221221112211122122221211211111221111121112212111112121112211112211212122121212221121112221111222222122111211211212112221112212122112211221212221122112111211111122111112111211211222121122221121122112221112122211112111211122212212121121111121121121112122211212211221212121112222221222122212112212211222121121221222212122222212222222222211222121122212211121121222221122212112222122111211221111211111111111221122222211222212121122221121112221122212221111112112212112122222221221122222111222212222121212211111211112212211122111211112111222122211221122222222221122111121221111122112121121112221121121111212121211122212111212122222211221122221212221122211121211212212111212121122122222222212212122111121121211111121222121122222212112211112222222221222112211211212222121212121121122122111112221122111112212122221212111221222211221212221211221211121122112211112211111111221121212222211111122121221112121222211111221112122221112221121112111222111111121112122211211121111122212221222112212121221112121111222112112211222122121211111222211111122212212211111122211112221111112222211122212212211212112111222212212211122121222112211121121111222212212222121112212122212121112221212111112111121212122221212212121121111221112221122211111212122112111111122111111122111212112211121122221112212212222121122121222112122112211121111212221121111212121211111212221122212112121112222111122221212111112112121222222211211121121221221221211221111111221121211121222112121122222112221111212112212121112221112122122211221122221112121221121211111122221112211112221212211211222211212111222212212212222121121112111212111122121121221122212222211212212121122221112121112211221121111222112112221111111221211221212122112122121122221112111122121221212122211211112112111122121121221122222212111111112222212212112211121121121222221212222121111112112221111122111122211112121221221211112211211211221122221111112221222222221212111211221211222222122221111221111122222121222111121121121222111121111111122212121211121111122212112221211122211222212221111122211122112211121211221121221222111212212111122111221221112221211222212122221222212212121212212122222122212212212212111112122212112122112222121211221122222121221112212211121212121111112121211111112122111111212212112212111212121112212211112111221111122111121212211121211122121111121222121112122111111111211212112111221221211212212122111211222222222121222221112221211222122222221111112111121222112222111112212111111112121212222111211212212211211112211212222222212111121111222211122221122111121111211212121121112222112112222221122121212212221212221212122221121122222111222222121112212212212122212121112221121112211211122121211112122222211211212222112221221212121121222222212212212222111121112111211122222212221221121111211122122112222121112222221122211121112211112221111211122211211211122221212112112212112211112222212211111221111221222122212122111122122121121211221211122221122222222222111221121211121222212111121212222121111221122222222211111111211111222111111111122111212211222222121222122221111212122112122212111212121112122221211211121121221112111211211121212221211222111122112121212212222112222122221121212112122112221221111221111112122212222211211121222212212121112112211222211221111221222111122222212222112212222222211212121121111121222212212211222221221111112222121111222112212121121112111122222111112212112111212211111221111121121221221211221111121121211111112221212111111122212221212122211111221221221221112221122111221121112121222112211112212111112221111211221222112111211111212111121122122112122211212111222212211222111222212211121122222212121222211221121222122212121111221212122121222222121112212222212221211122211121221221212112112211212111121221212122211112122221221122211121121122212122221211111212111211111222122121112221112112221221122122122222111222111221212211121221222112221221221222212221211212211122221111112222111121121212121111111121111212211222112222122212211221222222212111122112221221122211112121112211122221221221112211111212121112122121222221122221121112222112111112221222122122211121221221221122212122212221122111222121121112112122222222222121211121222111111221222211112221211222122211222121121211121121212122222122222122112222222211221111211211121221222111221212111111211111121122112111121121111222112111211212112212111112211211121211111221222112122111222121122121111222121122212212212121122211222121221212212211111222121122221211211122121111222121221221111122222212112111221211211212222121112212121212211212122211211212221211112121221111121222211111121111111221111111121221222212211122212112211121121212111111211222122121111111122112122112122122211111222221211222122121121221122212112211211222212111221222211212112111121212212212221222122222111121212211121121122212111121222222212122221121122211212211111112112122211212111211221222222112211111222211222122112212211122112212222221122112212211211122111221211121211122122221221112121111121111121121112122112111211222221112222211111121111212221121212211212211212121212111121111221212112122111221122221221112221221212222121212111211112212222111211121112222212121221221211212121212221212121122211121222222121111211121212111212112112121122121222211111122121112112211212221211122112121122111222222222222212221221221111112111212221212111222221211121112122112122121112111211211212122112221112121121121121212212112221121211212121212212212121222221111122221212121221212211221112211212122121111222112112122212111122122211111212222212122221122121211221111212221222121222221121212111111211121122122111121212222211222222111212211211112212222111122111112212122212122111122121111221122122212221212122121221122121112221221121211211211111111121111221222221212111221112111221222112211221112221221222221112221111211222121112212222212122211122112111121112212212222122121212111222121122211212112121222122111121212112222221121122221121121221212211111121211211111111112221122112211222212222122122211122111212222222111221221222121121221121212122221111221221112221211212121121212221112212122111121212212212112111121111121221111222121212211121112111122121212211121212221211121121212221121211222122111222222221212121112212121121212221221221122121221212212121112221122212111221222221211112222211222222222221112221211222212121121111211122112121111222122221211211222121222122111222112122222121212222222212222121221212121111121112111122211211121221212212212222111222121111112121222122121212222122222212222122111112222111111212122222221112211222122221112121122222121212222211111212122121122222121122211212221212112112112111212112212122222112221221221221212222121212222222122112222222121212222222222112221111121111212112112111122122221222222121112111222111111112122222221111112112122112121121211212112112212212112221211121211212111212112122212121221211121122211222212222212222211121121112222221122112221222121121211221112112212221122222112221212212121112111122222121112111221212222121122212112222211111112112112212121222221221121222121222112121211221221111212112211122212122122212221121122122111211112221112211122222121212211121212221122122112121212222222111222111111211111222212121111221221211211112111121112111222122122111212112121221111122122222221212111222122222112211212222212221122112121121212122211212211112112221222221121211221121121121111111222221121211121112122111122122122221112121222122121221122122211112111122112221122122122222221222221211111221112122221121121122212212222112211211212112121122122122111112221111222211112112221112211222122222211212211211212121111212221221211112121221112222211112211221221221221221111211221211122122122212122121211122212221212112212212211212222222221221221111111112112221221122221112222122111221212221222211112211122112221221222221121221211112111221122212212222212121221122221122211212112112222222121211211222221121211111222221112221211111212112112111212211112211112122221211221121112112111121221212222111221111121211221211122211121221212112121122212221222211221112211111121212221122221212212122221211211212222122122122212211222112221221122121121121122112111121112211122122112212122112222211211112212122221222212222111112212211121111111222222211211211121221222211222212211111211222121211212122222122112122212112121212211212112211111122212212112111222111211221122211221112212211112212111111121121222221122111221121221222212221222111112211211111222112121221222212121122122222111222112122221211122112122112121122211221121211211212211111121111222121211122111122211211211222112121212211212112112122112222222111112221221212212212122222121111212211112112121212222212212121122222211122121212121212111212211221211122221212222221122121212112111221121111121222212112112112221211112222121111122212221221221111222221222122221112121112121111211122111121111212111222212122222111122122121111121221221112112112212212212221222212221221211112211222211122121221112211212212221111212211122221122122112111212112111211111211211222111121222122221111121221222121121222122122212121212212221121221222221211222222122222211212221111211212222211112111121111122111211211211212112221221121121121221121111122211121122221212112212212121111111112111212112112212121221211121121111212122212222111211212222211122112112222212111211112121121112111112121111212112222121122212211121211121121121212112112122222221111122112122211211221112211121111112121222222222211222112221211111122111112221211111121222111121221122121211121221212211112112222211111112222122112121221211221211211211211212222121212222222122111222221221112221211222111111112122222222111211211112212112222122121211211122112221212211112222212112211112112112222121212221211122112212211121111221211211221211222111211111212122122212221221221111221222212221122222112211212122122112111211212211212122212111111212222121122112111212211112222212212112122121221112212212222112211212121221222111222122121121121121222111211222221122222211112221121212211121221222111112212211211221221221111222222122211112112112111111122222112122222222112112212221221212121222211111111221122222122212111222211221111222222222121212221212111112222112221122122122222222111211222122222212122212122211211212222212111112221221121222121222212221221111221111221221212112111121121112112222111122211121222121211212221221211211211111112122212212122122112221112221221222211221122112111112111121212122212221122211111222112211212122112222121212211221122111112111122221211112121212212122121221111211121221122111111221111221112221121212122221122222111212112111121212122111211222212221221121112111222112211111222212111122212222221211221221111122221112212211222211211121112221212221121122122221221211112212111112222221112111211112211121112212112212111122111122121222211222121222112211111121111211211211122112211211121122211122212211212112122211111221111111112112212122122112221111222211122222222112121221122122221212111222121121211211222222111122211221122112212112211112212122121121211111122111122221111211111222121111111121212122111222112211212211221211122122111212111221212221112122121111221112112121212221212211112212221121212222211221222112212211112221122112222212112111222112111221211222112212211111111211211112122212221111112221122221211222111121121211221122222122122211222112121112112121121121112211222121211212221122222122222121212121112212121111221212122212121111211121111122211211222122211121112111122112212212111212112112121121211211121211221121221121121211222122222111221122221222222211121121121211221111121222212222212212122212122112112121212222122122221112111211212221111122221112111122211112111122222122212111212122211112221222221212111221212221211212221212212222222212211112112222122121122112221122122122222211221212212111211122122221121122121212211212221222122112111211221121222221222112112222222212121221221222222212111112111222212122122122121212222122111221112111211121111221212122212222121122222111112111111221211122122112121222122212212112212112211122121212111221222111212212222222111211221112111122111222212212212222222112111222211121121221222112222111212121121211212211111212121222122221212111112221212222121211111122212121211221211222221211222212222111221211212111111211221111211111111122122112211221221221211111212112211122221212221211211221122112112212122121111111221111112111221211121212222222112122221111122211112121112112222222122112212222222221221221121111121221121122111212221112121221222211121112211222122211222121121222122121222222122111111111112121111221211211112122211211112221211211222221211212221111111121111221122111122121112212122222221111112122212121222111222222111121122222121222111222212221111121211221112212211122221111211212111222122112112122111211121112112211212121212122112112212122112221112212112112221221211122122111222212121111212222211121122211112111212111112211222112222122122112211122112221211122112111121212122121211221212221212211212221121222111111211122111212221222121122121211121221122121222212111212212122211111111212122121122112121111112122121112221111121211211221112212212212121112111121221111121122211112222112111211222212121222111111111211122221121121212122212112122221211111222211111221121212121121121111211111222212112212211221212211222111221211122112111221212211121212111212112212221122221222212221211111121121112121121211212122111222222221222221121211212221121112121122111222222212112111111211122121211121222221111111222221112212122221211222212112112222122211211211111212211222112222212122211111212111212222122121222112111111211211122112111212212222112211122121222212222212112222112111122211111221112111222111121212221211222121221122122222222112121221211222112211211111221221122221112212222221222121211212211222112122122121222222212111112212122221211221112111211111121112221112122222121212112121211122122121111222121111122121211121122111112211212111212211121112211222212112111122222111211222222122122122112222211211212112111211122112112221222211212122112122111222112221122222122111222111211211211212222121212221112122111212222122222211111211111111121122211111121221212111111212112122212122112212222111212121111211121112222221121112212122211222122211221222212112221211121221221122122121222122111121221111222112122221121211222211211111212212211212222212111111111212122121212221122111122212112211222122211111121121121211111111212112211212221121222122111122212122122111122221212112112122222211111112211222211122221212112122211211111112111222211112221112122111222222222212221122211112121221122221121212111111111212221221212111122112112212222212222222112221222122211122122221211122212122221222212212122221111121111222221221221221212212111111112222212211221211222222111221111111212121222221122222121121111111212121121121122222111112122222221112112211121221211211122122111111222221122121222122121211222222222221111211221212112212111112111221221222121212122211212111212122112222111112111121212211122221211111121211111212121221211221122121221121222121111121121112222222121212112111122122122221122112211212222122122111211221112221122111221212221121211111122121112112211212122112222222112221221212211221222122121212212111222122212212112212111211111112121112221112121112121212212112222122222221112122212122111121212221111211212112121112221112111222122122122112222111212112212211122122212211121221222111222121211212211211122121211221112121112211111111222121222221121111122212211111222121111122211211212122211212222112221211221112211211111211121212122222122221112121112211211112221222222211122111121122122221222211121222211111112222212122122122112211121112121211221111112121222222121211221112112222211222121212222111221122122112211212111122221222211222211121121222221222111222211122111212112111122111212212211212222112122111221222122112112211122211112221121212211222211212112221221222211211211212212212122211212121112122112212211212121111222111121222212112221112221211211112121112112121211212112222221111122122221212121212122211222222112122111212121112222222221212211222211212211211212122222122122211122221222211212221111221212212212112121222122211222122112122111111221212222122221121222211121212121222112221121211212222211122112112222221221221211211112221111212212121222111121211121121121122121211211112212221211222211211112211221222222212121211111222212211212112212212112222111121112212222222122122222212221212122121211112221121112212121121221211211111222222222222122222221122222112222222111211111122222112121222222111112111211211212122111121121111122112211221122212122111211221112111112222112222112221211111211122112211222212211211212211112222221221222122222122211211211111211212112221121122111121211211112111122211111222112121221122122222211111222122211221121121121111112111222111122111222111221212222112221221121222112222211111121212122121122122211111112221121121122212211121222212122221221112121122212212212121221212211211222221221222212222221112212211121122222211121212212212112111122222112212112121111112112222121212111112221211221221111121211121121111221211121121111221212112121211121111112112222122122112221121212221212112121121211121212211121212112111222222111221112112111212121221221221212221122212112211221222121112121211211212222212122212111221121112112111122122221122222111212221221221122211111221212112211221212112222222122122222211122122112112212112211112111121211212122111212122112112221212111211212211122121212211121212122211222122212112222211222211112122112121221221122221221222111211211221222122111222212122222122111212111111221121221111211211222222111121112111212222211222111122111111211212122222122222112221112222112211122122122221212111221222211222122112121121121121112211222122222112122212111212122212221112112122121112122112122211111121211221122111211211222112212122112112212221221211121112222111211111111221112221122122222112121211122112121122211121121112122212212211221221211212211222212222212111222112122122111222111111212212221111112221221122221121112221221221112211112221122112222111212211221122111121221222121222122121221111222122112122111111112221111221221112211221221221221221122112122211212121212212221111122221222211222121111112212221211211211212222122221121122211121121211222222212111211212211212212222211112221122112121212121211121112121211212121111112122121212211112111112111122121112221221122222111121212121211121222221222121122211221212222222122121221111111211121211121112212111221221212112221122222221111211212212112111121111211112111212111112121122221122112112122121211122122211111211222121111212221122211222121121121111112112112222122112211122221212212121212211221111212212221111222211121121122111211211121222112122111212212222212122111111112222122211221222211221121222121222112222212122112121112122121221112122121221122111212212222212212121212211112222112111112121211111112122221212222222212122211112212111122121112212111112111111211111222221121112122112111221121211222221122211212221121221211222121211211222212211111221212111122121211221221222111221211121111222111111221222211212111222121122222112211221122212222211211211212211212222111112221212222222121122121111122211212212112212122212112222211122211111212212212122121211212222111212212122112121121112212121222221221121222211221222111121112221122221112222111122111221121111221222221221122112212221222212211122111112121121222112111211221121122222121211222111112112222222111211112211122112121212121112111112211212121122122111112222111122121211121111121111111211121111122111111212122111221111222121121211111111111122121222221122112112221222112221111212112222112212221222222111222122211122111211222122121222122221211221111221122112111222122211222212222121222112221122121112211111211222222212112221121112121211221122112211211111122112212211112221211221111222212221112111122222211122112112121122121211211112212221212111122122211111122121212221111222221111122121221122222111222112222212111222121112211112111112122112121111121211212211111211112212112112221122112112112211221211112111211112111112122212122211112211221111212211112212121221122222112212121122111222112221111221222122121111112111222211211122212122112122122211121222212121122212211111112112221111122221221212221121212112121121212221212212212122111221112211111121211222212222221211111222222121121212212212121221212222211221222222221122122222122222211121111122211111122212112212111211211222122221122221221122122122111221221121222122112112112121121211122221211122212211211121121122121121211112212122222112211222121112121112111212211112211122221211222222122221212222211121122121111221121222112122122221222121112222211221112111112122212211122222112122221222222222212222212112121221111211111122121212111121211211221212212211212122122222122122111212212212222222111121222112122212122112221222122211112222121112222221122112111212212221212122122212212121111111122121121211111112212122122212211112121122112212212121221121121122122211211121122212211222121111212211112222212112121222121121122221222112222211112222222211121212122211222222211122111221121221212222211212221112121111221121221122112211211121221212221112221212221121211211211221112122221211112111211221221211211121111211121211212221112111221221122121112211112211211211111121111111211211121211111121111221212111221211221121222111111212121121111221121122212222211121222221121111121211111121212211212212221121211121212212111122111222122211212211112222211111212111111122221221111222211212122221112211221221121122222112212121221222121221122121211121111221212122111221111122112121111121122111112122111111211121112112122122121121222122121211121111221222112212212222222221212221222112112122221212212111211211222122112222122111211221211212221111222212122211122211111212112212221122111212212112222112222112112222211222111122121222122212211222122111211222112222121121221121221111221212212112221212121221222121122212122222111112111112112222122212122112222111211122222112122122121121112222111121222221112221222212121212222221212221211212111121112112122211122112122122112111122112112212212211112111112221221221211222112221212122222212112211111121121222212211222121112112122111121212222222112121212122212222212221221211212112211122112212121112222212122211112211112111111112212211211212121111222112212122112112221121112111211211211112122112112211212111122212211122212212211212221211121221111122112111122111221211211121221122112112212212212112111112111221112121211212121222211121222112111222222112212222111122121121112121211121112112122221112112111121211211221111211222112212121122121221212122122221222121212212112121112212212222221221111121112111211121212121212121211212211121122212111211222221221122111222111112122222211212222211121122112222121211212112121222111112122222222122212222221121221122221221111222222122211122212121121111211221112222211122112111121211211221222211111211221221112121121211212121112111221222111222122211121221121222212122112112211122112121221212211112122111122122212221212111212111222221111222212112211111211212221122112221222212222222122121122222211221111121222112211211112212112212221111121211221211112221121111111222222222112221112222221112111122112122222211222212222221212111121221221112212221221211212211112111112121222112122221212222221112112111222211122122221221211112122111111221222122212211222211222111221212111222121121111211111211112121121111111222121112122211211112122122222122122111121222221222211121222221112112222221212212112122212111222221112221222221212121112111121212211221112122212222111211221221122211211112122111111221122121221212112121212111112222222211211122211112212212212212121212112121121122221222212212112222121122222222122112111221122121112112111111112112121221122112222111222211111211112212211211122122211211222221222122222222122122111112222111211111221112112211211222221121212122111221111111221221111112111212212212222111111122221112222112111122211212221212122212111211221112122212111111222221122111221222111211111122222212121222212111222111122222122222122222121222221212212112111221112122221222122212212112111212111112122211211112122112122212221211211122121111122121212112212111112121222222112221211121222112212222111221211222212212122122111211121121122112121111222211211112212222222111221122221122121121222211122222112112222221111111222111212211112222221221221221121121111121112211211211221121212112112211221111122121122221212111122111121122222112121112211211111121221221122112222112121111112212222112112222122212211112112111221211211112122111122112221222112212122211221122112222111121122221111121121111221212121122211122112212111121222111121112221212222221222211222221212111111212222211211111222112121112211122122211121122221221111222112211211222212211212111222212122111122111112212111222222222212121212121222221112122122122122211212121122221111212212112112112221111212212112212121121112111211211112121221222111212121211121122111121221121221122221112111122211111122121111222112221221112112221112112112221221122121222111111121222121121212112212221222222212221121111121222122212121222212221111222221112121221221112112222211221121211112212221222222122212221211212111121221211212221111111222122221212211112111111221221111112222221212122112112222111222121212112221111122111222222121122212221222111222221122122122121221221212112111112222121211212222112222111222121122121121111222121221221122111222211112211112212222221211222212121122112121122121212221112212122222121122121211222122212211121111221212122122111221111122221221222111221221111221221121111122112212111112211221112212112221111211122211112112122212221212122112121222212211112222111111112122122212111211112221212122222221212111112222111121222211221211121111112112211121112111121221221211222211112111121222222211111121112111112211222211222221212122212222112111121212122222122221212222111122212122111111222222221221221212112222112221112112212112112211221221122221121222112222211121121221121112211211112221111222222221111112212122212112122212222121122111212112112212211212211111122222211221122211221111221212211212112212211122212222111212111111211221122212122122211121211221212221212121212121121121122222122211112121112222211212222121112212111111122122212222122112121222222222211122221221112212211212222112222222222211122111212222211212112221211221212222112112221112211111122222122211112212212222111222112122211121112212221121222221112112111212211222211112111112212122122222111112121122112112222112122122111221112222112212112121111112121111111122112212211211222111212121111121122221222212122212212111111122211111221222211112122211222222221211212122211222121121211111112111211121111112122121112212111112212222211222112222222221221211111111112221212221221222222212112212221111222111211122222122211211212222111111211111221221221221121111111212211111212211221222212121211222222111221212122122222221221122221111222212111112112212221211211211112222222211121221112221111221221222211211222212211212222112122222121122212122121211221112222211221211221112112112211122222121122122212112122121212111111222112121211121211221111222212111111221121112211211212221222212111112211121212222122121121211221121211122112122211111111121212212122112122222112122212211222122211221221222121222121211112121212121112122122122121112111221221122211211211112212111121211111121221221122112112221212211222211212122221112211112112112112222212112122121211112221212111211111112121111212111222112211212221222212222112211212222221211111122211221211211111211211211112111212122122112211111221111211222121211212211121222221221121121212121212121212212212212122211121221121111211111111212222222211111112212221212112112121121222111121121222121221221211122211212112111122121221212122221111222112112212111112211122212112221211221221121211122221121212111111222221222112121112211121111122111222111112121121111212221211211111112211111212122212111121121221112212222221221212121211212211111121111211221112212222212212211222212121121121121211111211222222222211212211222221122212212111211121222222211121211221212112221112111211111222211211121121221111212211121221212211222211122122222212112122112122222211121221121122222221211111112211122221112212211222211112122222211122222221111222212211121222212211211122212222112111221221122222112111221212222211211212221111222121121121222122221112111212121122212212121212111112221211222112122211112222211222121122222212111222121211121211212212112212122221222122211221112221122212122211121221112121111211221222122212122112212112222111211121221122122212222121222211221211112222111212221112222221122212212211122211212111111122112122222121221221221222112111112222211211221211112111111211221122111211221211221122121211112221112212111111221111112122211222122121121212222121212121112112112212221221221122122121222221221112111221121222122112112222221112221121212112122122222112212221221212212121111212212221111121222111111121121212211111112122222111212122121211211212222212121112112112212111212112212122111122122212221222212121221122112121221211121121211212222221211212111122121122112122212121112221111211212211221112122121122122221111111222122122122112122221111111211121212211211112212221222221122221112111212212111222222112211222221211122221212211122221221212111211212222222221221122121112121112111121111111112221111121121221121212222212211221211121212112112221122222222122122222222111112222211212221221212122211122111121122111112221222112121121121111221222111121211222212221221221121112212111211212121122222112222111212111212111121122121111222211221222111222221121221222222222212221212111212121222121111121112121211112221211112222122121111121122122211121111211211121122111112222211121212222222211122111212212221222212222211221222222112121121211122211212212121222221222211222212211112111221212122111211112222112221122112121121122112221222111111212222121111222211111112111212122221111221111222211212122211212221221111221221112221121222222112221222112212221212211212111212212122112111121112122221122211112221122122222221122221111122212222221212111122212121221222212112211211212111121111211122222122221222121121211211211221222121122221212122122111222111111121221222222221222122121211121111112212212212212211222221122221112211121212121112211222111212222211211111122212122212221222221212222122112221112121121121221121122111211211112211211122221111212122222112212211111112221122221222211111111212211222212221212112122211112211122212222211112121112121221211112111212111212221122121111221112221222221221121111212121112222222111121222121212122222211112112212122212111122222212121212222212222111122222212121222122221221222221122121122121112122121211111212211212122221221122112222211111211121221121111222221121221122122122111122111112111121121222111121221221212122122211121212112121212111121211111111112111111212122122221221121121221111212222212122211212221111112111111221221212211121121122122221122212221222212222222222222212111212112222111221122212211122121222212222222211211122112222221221212121122121112222211111212122221111112121111112211111111112212211121222112221212211212111221211111111212111122222122122121112122112112211122111212221222111212222122221122112222112221121111211211221122212121212212112211121211112122121122122122221212112122212111111112121211222221121221222222212212111112211111122211112111121221122122122221212122222122112222211122111222121111121221122112221221122121221122222211111212121212221222112122111211211121112222111221222212111222111112112111111212121212122212221212221122111121121222111111111112112111212111212111221222212122112122111212222122111112221112222111211112222111112211111212222211122111222111222211221121121222222112122212212112211122222112111221211212112122111122221111111222212121111221222212222221111212111221112212211222111221221211211222212121112211222212112222121222221212122112122221112112222212222221121211211122121121212112221222112122212111112121112211121212222212112111222121122222211112122121122212121222111212121222222222221212121121121212121121111112211222221112211211212111111111222122121212211211121112121111122122111222222222111212121211211111122111221122112112121222222112111211122212122121111112222121222212212122211222121221112211121121121222211221221122211122212211122222221112121111212221221121211212112221111211112222222222121211212222222222222222211221112212222122122121122122112211222122212222112222211222212212212112221111222111212211121222221121212212212122122221112221112122212122222222212122212211122221221222212122221122121222211122211111211221222212222111111222111112222111222211121111221211222211121112222112122111121221212221222111122111122111111221212221122112111121121121221211112121212121211122212211211111211121122221111221211222122221111121112222121211221211212221111122212221221122211112212211212121221111221212222212111112111211211221111222121122111212121112112112211221111112222211211122122122221112112221112212212111211122221212221112222221212122221122212221121111211121122222222211112121211122222121212221221112111112111222211211122112211211211121212211212222111222222222212211121222112221111112111212112121222222122221222122112222212211111111112111121212211221121122221112212222212222222211112122112121111221112122212112222111111221221221111112111221221111212121122111211122212122221221222222222222112121112222221222111212212221112211221111222121212221121111122121122222111121112221112221122212121221112211111221122111122211221121212221111112121211212112211111211211211211122112221222211111122221111211122212121212112221212222212121111222112212112111212112112212211222211121121111111211222212221212221221212211221112111212121121222212222212222111212221221121122112112121111122212212122211121211122122112111212121212212122212212222121222111112111122221121112221211121211211122212122111111212111222221221111211111122121121212222122121112222111211122112121211221122122122121111112212221221121221122121212122111222122122111211221112112211212222111221221111111212121121211121122212212112122112122222122112121212122212212211211212112111112122222212111221112111221212211121121122112111122221222121221211221122221221111211111122212122222212212122112121112122212122111212222211222112211111112111122212212122112221212121222121112211111212221122122221111111121111211222212111121122111122122121111112112122112222222221122222221221122222111121111212222112222222122222222211121122212121122121111211221111111121111111121222221121222122221222121121121111222122121221122212112211212212112112122211211111222212122222112121211121221111122112112212212121121121112112122111211211121121122122222211211211212121221121212212211211221222222122211222121221121122211112112112222121112211111222221221121221121112121211112222122211121122111222211111211222121111211222111122112121111211122212122112121122111121121112122121212111212112111112222111222121221122111211112212222222121111222111112211222212221121121221121221121121121122222211211211211211212121211221111211111222121211221121121112122122222211221122121211122112111221111212121221222212122221211122122111212111211121221111111222111122122211211212222212221212211212111122111221112221111122121211122121212111111222222221211121112212221112212222121211222212221122222212122221221211122111221112112222221111121111222222222121211121112211121111111212121111122222111211122122122222211211121122121121212112212112221211221222111122221212211221222221111212222122121112112111212112112122212222122211122221212111121121111121112121222121121121121111221211121112211111221111112112221222222222112111212222122222221212222121222222112212121212111121212211212221211212122221221121221221221121221112222212222112121211111211111122122112212211221122211111222122111222121212111221211121112111222222211221112111122212112111122121211112122211211122112212121122111121222112112112211111212222122222222221112221122121122111122112211111111211211122111122222112212121112121222122222221122112122111111211221211122122122111121221221212221122121211221111211111111222121121122121221221122112111111121211221111112112211221222211222121122221111211111211112212211122121121222112121212112111122211212111111221122122222111211111112112111221222121221211211111122212211221122221121122221222221121112112122212222111122122221112212221112221122212222112121111122222112121222121221122111112122111122121211222122221212212121112121121211221222211121211222112221211222211122122211221122221112112122222112121221112212122122212221122211221121212222221211111121121222122122221112212122112112111122212112121222112111122221112221121212222211121211112221112122122211121111211212112221112221211122121121222111222122112211221122112111112221211122211222122212112121221111122121221121212212111221222212222112211112111212222212221222222121121211112222112221112212212221121121221212111211211111122212111122211111211122222211212111212122122112221112121221111111122122112212212221212112122222122122121211222211112112121112112122121212112121111212111221221112212121212221112122211111211111212112121222121212121121221112112121212121122222222112222122122112222121211211121221211121221212211212121122222212222211122212111212121222211121121221121211212211122122211112211212111221121222122212121212112221222122112112111211112212121221122122112112111121222121111121112211222112121112111222222122122222221111221222222122122222221121121222222222222112112212122211122121222112122222112222112111122122211111112222122221121212112111121222112112121222111222122211222122222121212121221121212222222221221211221221122121212112111121211212121221112121212111122111221122121212112211211222222111222212212212212111211221111212111122221111112221112211122211111222211222221222122122111111111112212121221122112212212211212111222211121212221222221222111211222111112122211112222112122222122112121222222111111111212211211112112212211221121222122211112222121212122211112112212112121222221122212112222212111211112212221112222212111211121222121121212222121212121111211212121121211221121111122221212121211122222221221122111111122111211121112121111112121111122211211221222211211211221212121221211121121112121212111112212211221212222112112212111222122221212121221221222221111111112111122212112112122211222122121121112111221111122121111211122122122121112121212221221222211221111211121122121122112211212221122112121211221111111212112122211212112121221111121221211211212222212122221211211212122222221112212211212121212212221122211111222222122111212112221111112212111111221212222112111211122212112112112221211112221112112112111212112112212212122112221111211121222222122212112121111112122212121212122221122211211222112212222211121111122221221112212111222222222211211211121212122212221111211112211112222112211112212212112211221122211122121221122121122111211121112222212222211211111112212221111221111212122212121211211121221211212122211222111211211221221212112121111211112121112122211111112112221211121221222111112211221122211112212221222121121112222211121212222112222111211111211112222221111121221211211111111221211122212221121112122212212211211111211222111122111121212111222211111121112111112212112212212211112222222111111212211212222211211222211222211212222222212122222112221222112121221221212112112212221221221212121211111212121122221111111212112222122121222111122112111221121212112211212112111122122121221221211111211121122222121122121222112222122222212212212221222212112221112221222112212121221111211221121122221211221221112112212221111122222211112111112112112111111112221122212111211221222111221121112211222122221112221121211221212221121212122222211222121122221212221111112111111122112121121122212212221121121221111121222222221111121121111112112212221211211211211111112211121112212211122212222121112221221221121211211211112222212122212121212221122121212121211112212221122121212221121121211121221122121221121212212122222221111111112212212222112221221112112112122212222112112122212211221221122111211221222221222111221112111121222121221211111112211122221122221212111212212211222121222222211121221211122211221212222221122112122122112221222211122222111111222112221212212111111111222221221212111212121212221112211211221122111211211212211212211121221122222112112222212111221121121222222211212122212122112121222211222222211111211211122112212211222222211121112111221111122112211211211112221121122111211212111112121121111112221222211111111212221122212121121112122211222112222212122222211121221212112212222121112222211121222112212212112122121112222212212211121121211211211122112222111111112211221112112221122222212111222221112211211211222111212111122122122121121211112211121221222221112122122211221112122222111212212221112221121121221112121221121111112111121121212222111211111222111111121111212111221121111211121111221111121221212111122112212121222212212212212212212211212222212222112212211121222112212122111111212112121212111122111222212211121222211222111211121221221221111221221222112112121222222111121112112112121211211121121122111111112221122221122221111221221211221222212112111112222211211122121221221121211221122112212122112122211122112111221112121111121121221211212122221122111111122121221221111112222221222122121221222212121112212222221211122222122211221112121112222121211111112122211111212212112211111211112222212111212211122121112221121112222221122222221121221212222111121112212112122221221121121121211222112112212111111222221211221212122121112221112122211222122222122211111122122121221122121121222111221122222222222111211222211211122122112112212211222221221211222222121211221112211212222212211211222112122121211211211111121111122221122121112211222112122211112121211222112211212112222221111212122121212222121221111112222112211111222212211121211111222122211112122121111211211221211222111112211122121112222111221212111122211112122221212112111112211222112111211121122211121112111211212121122121122212122212212212222222212221211122221212121221221122112121121212111121211122122221212111221221222212222111111222222212111122122221211211111121221212111212212222212211112211211221112222121111211212211222222222221112212212111111222212111211211222212122211122111121211222111212122222221211212212122221211221212221112211121121212221111221112112111212211111211221211122211121211211221121112211212211122222112111112122121111212112221112212211122111122112221222112212221222111111122122111221221122222211112122121112212212112112211121211121112121221121212222222212211211211222111222112121211212221121222221121121221222212112121211211121121212111112121222221211211222122111222111221221112112211112122112212121121122221121211122111211122111121122112112221111221111212121221122121122122122111222222222212122122211121222212122222111222112121222222111112212112221122211112122212221221211211122211212122112212121121221211222222221222212112112221212212111112211222121222121122112112211222221221122221112211121221221222212212111122221212212112221111122111211112121222122111222121122111121212221122111221212121122121222122211211221121111111222212122121211222112212221111211222122112212121111112122112222111112212121222221221121221212212122212122121111111112222212222111122112111221122222112122212211111211111211222111111212211122221212121221121122111211122221121222122112112211222112121221221221111211122221211212112222211111211212112121111211112111111111121221111112222111112111221112112112121212221122112111112121111122112221221221222122222222111112111221222111122221111212112211122212221222121122211121211221112212121212222111121212221121112111112211222121211112221122212212112121212211121221222111111212221222222221111112222212222112211221121112212111222122211121112121122112221121212212211111122112121122211211121222221121121111112121222221122121112222121111222121221211211221111211212121221111211222212111211122121122112221122121121221222122221211212211121212122112221221121212211122212122111212111212222222112221112112112112211212221122222212111211122121121121222212222112212211112122221211112112212121111221122121112221211212211121212121211122212211211222221212121121222212122122112211121212222211112222221111122211212122221211111112122222112122211212211121121121122212211222222121111211111222111112221112211112222111211222212211212122212212221211211112212221222121121222221121211121112121221121111122212212111111111212111221111121122211211222212122212221221222122121121222111112111212122212122112122222111212122222221212211211122111211221211211222112221111211111221211122211122121121112221222222221222122121111222221222211211121222211111112212222221222221122112121212111222111122211222222112122112211111121121211222111212211221112112212211221111211222112122122112121221121221221221212122121212111111222121212221111222212212222212111221111112121111112111222222121221211221122121122122112112121111222111111111122212121122221221122212211222122111122212111212111221111112111112121122211121221222211211222111122221111121222221122211222212221222121211221221112221211221112122121212121112221122211222221211111121111211222112121112211112121111112122212121212221111122211122211221211211221112121111122112211211122212222222111111211221212222222112122112112221221211221222122221121221222211212122121222112112221122221122221122111212121112221212122112222211112112212111121211212212122122221212111222211122112222111221221121121122221122212221211122221122112111212221121212222112121221211212212112222212222111222112211122221112112222211212121222212221222112112212122211111211122221221222222211112111121121112212112212121212211122211111212212122112111211122221111222221211112211212222221211221211112111121121112211212111221212222112211112121122122122221111212112112122112221122211211222211222222112112111112112211121222121121111222222211222111211122221122221122222121111112112122212121121112112222122211212122211122221211112211121221212221122212112121211222211221112111212121111112121122112211122222112121112112221211222112221121211211111122112112122112121111111212122122222212112111212121112221111122121112112211211212222112121121212121112121111121112112222222122212122121122122212211222112212122222121121111121211212121211212111122222121211221111212111222112112112121212122111121121212212112122222111212112211112112222222121211111212121122212221111211212211112121212212222211122221212211111222111222122111212122112222221221112222211111112211222212212221121122121222211111222111211111122212112121221122111121111122121221212221122111212122211111121121221111212111112221221121212112111112112222211211122122221221111112212121221122121221111122121111212111212222221122211122122111211222122211212211211121221122222111121222111112212112111121222122111221122112112222221111212121112121121121111121222221211212112211122112122122222221121221112222111221111211112222212222122222222221211212212211112222222211221221212211122122112211121121211222211211112221212111221212221222212121212211211221211211111122121122212211221122212211221111111221211212211112122221221222212212212222122212122211122121122122111211221211112111221111212122122212112211111112222122122211221221222211212222212111121211122222211112221122212112211111122111221121122222122212122222112121212112111122212212222221111111112122221111221211122111212112112122121211222221121112122222111211212211121221221111111212121222222221211111112221122111221212121221112111111121111111221112111122112222121212222122222222212211222111222221111122111222112111112122211112222212121212211111211222222121122122122212212112122122212112112112222122212121222222111211221122212221222222112111211221221121121111111221112112222111211212112122222112222112222122121122221122121121111222212111212211221222121122221222212211122112122111122112212121121221111221121221211122211222121112212121122222112221212111212222112211211211121122112212212111112112122212211211112211221111122221211212222121211211222111111222211122221111211212212212122221122111211212212121112222222111112211111121112122112112221212111122112122111211212121122211121222212122222211222211221111122222112211111222121222122121112211221211221222221221212122111211221111212222212222222222111121111111111221222121112121212122212112222221112111121112121211111222222111112221112221222222121212221122222121221212121211121221221121211211111211121122212211221211212221112112212212111211212122222112211112221122212212221222221111111221221111211122122111211111111212221212122222112211121112221221222121211221121111221211111222222212111121222222112212122221212222212112112212112111112121211122122112212122212122122112122112111122111211222111121211212111111112112222121211221112111122112212211212111121221211222111212112112112212121112212221112211222112212112212212222211211222111111112122111122211222221122222211212121211122111212222222212221112211222222211111221221221211112222221122122122212121112122221222112112212112112221212212112212122122121221122121212121122212121211111121112211212111221211222122212112111222121211111221112122122222122111222122111112111212111222221112122112112111221112222122212211212212212112221221111112112211121111111111222112122111211222122221121221212222111211112211121122211212122212211111222121121121111122121121122112112212212111221112222121212122212212111212121121212111111111112112211122122112221221212111221221111221121111111211112212111221222212221121211211221111121212221222111121121112221222211121221122122212211112222121212111112112222122122122211121122222211211221111122221221121211212122121222121222212212111221211212222212222122112211221111222112211111112111112222222221222212212112121122222212221121111121221112221222111222212122111211211221111122211212112122121222211121111212221221111222221111222112111212122211121121211211122211122221122212222222221122221222111112122121221222222111211221121111222212222121222222221212211222211222112221222112212112121111211121111122211121222111122211122222112221121122112211112221121212222121112211212121222122222212112121222111121121121212111112222221212111212212121122222122121122212212221222221122111212212212222111112222112112212221111112222221212122112221121121222111111221221221111221211112211221122212121112121122122111122212122112111122221122121221212121212111211122111222211122121122122212211121121112121212121111111212112222121222111111112111121221211221112221221121222122111111211222212122222111111121212221212222211222211121212122122122221121222121212222212112122221222121121211112212222221112222121221212112121212221211221211122111122111222122211111211111212121211211212112122112221122221112221112211222112121121121122121121211111111111221122122121222111212112211211211212122112211112222121112121222221221211212112112121121211221222222122222221112222112121212121222112122122122121122221122112121122221111211111221211121122122212222111221212212122111211111121221121122122222112211222122221121121121211211221111222122221111122211222222112221122121221111122222121112122121222221222222222122222121122122121221211121111211222112122112121212122112212221121122112222221122211112111121211122122112212211221222212112121121121121112222211211121222221112122111211212221121112111211111211112112211111222212211121211221222211222121212221211211121122212212221211212211212221211111121222112212112121111112122222122212222122212212111122112211112121122121211121111211222111112211112121222212222211212122121122111112222212111111222212112222211122222122222122121121111211221121211112211122122111121112221111111221111121122111212111212121111221211122112221111221211122221221111211111111122112112221212112211222111211211222111122111222211111121111121212221222212221112111112111222112121121111211212111121122112221222121212111221121111112222121122222222211112212221211122212212222121212122211222112222211221221112112221111122221221111212122111212221121121222211221111111221212111211221211121121212211211122122121211222122111121222212222121222221122112221121221222122212211221122212112121122121222121212221112211122111222211122211121221221212112111111121222212111122122221121212221222212111121212121211211112111122112222211121212211222112211222211221221111112121121221222111221111212221121121221211111211121212112221122211122221211222112221112122122211121222221111212122111111211221221211121221211121221111221222111221112212112111122111121222222122121221111111211222111111111122112112111122121122222221212111221121222221112112211222111212222112112212112112212121221112122122121212121212222212211121111112121221121211222112122121211212112221112221212122211111211211112112212121112122122111221221112212221112222212212222122112111222212122212222211112212222221221222222111212212122211222221222112111111211122122121121122211122212222221112212122221122121221112111221211121122221212211122111221121121122121111211121212112121122212111222221122222121211221122111112222122122221211211122111111111221222211211212222222212121221121212122221221211212112211221122121112212222111112111212111122212122122112111121211112111122222222211112121211211111221121111221222111221111122112112211122212211212121221211121111211111221221221122112112112122222222121211222212112221112221121122212121222121211222121222111111111212222112212112122111111121211212121211112221221112122122212111221221121222112222122121211221222111122221222221212111212211221221112111222121121222211121211221211212221122111212111221212112112112211121121111111112112111122111111111211221212211221211221121222122221221212121212111211222221122222122221222222211111122221222212222122112221121112221211111121112122221212211122112222111121211221121112111122212112211212222112212212111221121121112222122121212112121122222211211111112121112122111221112111221112112212222222211121221121112112221122112211112211112212121221121212222212122212221211222212212221121222121212221112111121211122211111212211221211122211122211211221112212112111111112112122121112221212211111122122111222222122222121111112111122121122121221121222211211121222111111111211222222122221111111212122122212221122111211221221222222211112122122212211122122221221111221122112211112112212221111122211211112121122111212211222112221222121212122111122212211221121211122112212111222211112122222211122112111222111222111112112221212111122112122221222221112122221111112222112122111112212211222212212212221112221122121111122211111121122221221211222212111222212111112122111112212221212121121112221212112221121221121122121221112221212111221121221121112111112122222121111122112121222221122222112221212112222211212212212111222222221121121121111121222121221221221222121211211122221222122111222221222121121211222212122211122222212221112212122222122121222212221221222222222221222112111211221112222121111112212121212222221211212212222121222222122111221222111122211212122212211211211122212111111121222211222222112212111211122222122222212212121112122222222222121221122122121211122111112221212112121122122222221121222121112221221221112121111112122211222212222111222121112112122222121112121111122122121111122211221221221222111122112222212112221121121212111122222122122212212121211222221122122122122212212221221122121222221122112112222221112222112111222112122121212122122221212112111112221111222121121221112212121112221111212212221211211111221122211111211222111221211122111222211212221121122222211222211112122112221221122122222222221112211112111112111111112212111122112221112211212111221211112222122111221112212112122111112122111111112221111121211111112211221212122212122121122221222111211122212111121112211212221111111212222121121121121211111222111112221222121212211222122111121222212111121121122211121112111212112111121111212112121222222212121221112122111122112111222221211112111121121111221112221211221121112222212112211222221111212111121112221222211111211222222121121121122111221221112112212122111112122111122122112121212222122222121212112212211112222112112222221212122122211212112221112112121212211221222112222122121121121211121221112211221122212211212212222221111222111112221121122122111211212212221122121112111112212212211222121122222111121211112221112111212122121211212221211122111221112111122222211222222211122112121112211212212221122221222222121122122121111212122122211222221112212221221212212212222211222211211212112121121212111222212111111211121211112212111111212112212121212111222211212221221112112111212112121121222121111111211111111121121221111121211211111121111111211221121121121121111121112112121112212211221211111122212212121211222112121122222112121112112211212122221211222212211212221221211121111221112111111121121121212221121211222112222111221221222121222112122112122112212111122121211121111222112121211222211212121122112222211211112121111121212221221221112221112211221222222122111211212221112122222211212222211222121111111122111112211221111121221221222112222121121111112221121111221211212112122111212111121111122222121121222212122122221111121221121221222121221121211111121121111221212222122211222111212221112211211212111211211121121122112112211211211211112112122222211111212122111111221111212122121222212111211212211221211111122221111222211111122211211122121121221112111121122111121112212221111221111212111212221121122121121221121121122112121112222212122221211221212111111212221112121122212221222221111121112212122121112212121112122111121212112211122212222222122221112111211122222221212212112221221122211122222221222212121122211211121112211221222211122112111112222111211211112211211222212221112122221211121122112111222211211121122212122122111211122121212112121112122121222222112111111112121122222121212212222122211222222121122111212211211111211111112112222122221121221122222222211221222211121221212222222221111222221122122222112112122122212212112122221221112121122222121112221121122222121121212211212112221221212221121211111111122122222221121121222221121111221122122122211211222112111222222112221121221121222122222111211211212212211112221112212222211111212112222212111221121211211112121222112112212121221212221122122212211111212122121112221221121121121121111112112122211111111221122111221211221111221221121212112222112121121222121111221211212121111111111211222221122111122211121211222112112111122211112122121111221122112112212211121122212212111222212112212121211111122211222111212222211111121221211221121211122111222221122222211122121111222122111122211121212112121211121211111121212121112112121122211122122212111211121122111112121112121221121121212221121221111222121211211122222121221112121212121112212221122212122212221121122122212121212111111122111111122221211121121222222111111222211211121212222121222111211122222211221121221212122122122122121111211121121212121111211122112212112122121222111211121112222222211222122112211222212111222121221211221222222222222212112222122212111221112111111112112112221122121222121222221222122211211211122222122121121122122221111111111211211121212112212211212111211222112221222221221211111112112121221111121212222222211212221122121221112221112211212222121111111222111112211221222121111212221122221122112112222221211112112121211121122111222212112121221221111112212121111112122211111111221122222221212212211112211212111122121211212212122112212121221121112121112211222121122111211121122112211221221121211121111121212112112112222222211121111122211111222221221212221112112122121211111111111111212111121122212111222121112111222112221212111222112111221221222212211212211211221221122222222122122222222222212111121122112221211222221112221221211212122112222122121112112122211121222121112111222221211112111122222121122211122211121112122111221221111122221222212212222122212112222122222211121112121122222112112122111121112221221211121121212212111222122112221121211112222211112211221212221221121212112221122121222112211221111111211122222212222122122211221121221222212212221121222221222221111211212122211222121212121211221112121211221121222122111212121221121121122212222212122122222211121111222222112222221212211222212222111221212112211212211211122122221111222122221112121121221222121211122221222222112121122221111112222122221112121111112112121121211122122112211122221222212111122121112122221211212121212221211121221222112122212222212221121211221112121222211122212211111122121121221121212121222222112112211121122122112111121222221221122211112222211211211212222221121222122111111122221112121112122222121212122111111212121111122121211222122221112222211221112111212212212111212211121221112111111112121222111122122112112122222111212112111221111122111211211121211222122122212121211221121121122112222122211212122222221212221122211222122112122121111112121211222211112212212222221221122222112112122222222112111222121211112221111121121111211211112122111222221211211221211222221121112112222212111221222112111122211221122222111212111111121122111122112211122122112112112122211221212111222212121212211112221211121111221222111222211121122211112221211211111112211122121112122221211111222211222121211222212221122111211112211122112121212211212212111111111221121221121121122122221111211221121112222111111222121221212221121212111212222121112122112222111211111111212122122121222111212222211222222122112122222222112222211221122221111212112122211221111221211221221112111221211221112212121111212121212111122122111121121222222111121112211222121212111212211212211211111212221221122221212211222122221212121221111112211221212212111121222211222122112112111221212222221222222112221212222211121222212222221221212221222121221211222111112111212112211211221211212121221211121212112211121222221112111212222121112222221122112112212122211211112221112121211211111122222121212111212222112222111121122121212111211111212211212221122221222211222121122211121211222211112121221221212222121122121222122212211111211222121212212122211111111222112121111212111221111221112111211222111211221111121122122111112121222211222222222212112212222112121222121122111222111112121221121212221212122211211211112121221211112112121212111111122211122222212212211121122111122222121222212222222221221122222112211222121121111121112221111222121112122211111122212112222111121121222222212121111221222112122111122112221212221122211211211221222122111121212222212121121122111112121221121212222212222121121222112221221222121222222222112222221211112221122121222121121211211121212222111211111111121122121122222221212222222121121212121122122222111122121211111121122122121212211122112212112121222112111222212111212122122222121111122112211112122221221222212112121211121211222121112212121112222212121212121222211112121121211121212122122121222222121122112111211112212121211122221212222211211211111212122222122221112111111111121221212212222122212111212212212112121122112222222112111212212211122121122211221112112122212121211222212111111211222211212221221221111112111122211211122222121112211122111112111221111111112122211211212221112211112112112211112221121111221221122221112111211121122211222111212211121112112122211112121111221212212222221111111112111122112122121211222121121111112222221222122121111121121122122122121121212211112111121111211222221221222121221111112221111211221222211221211212211122212121211121222111211121122112222111122222112111122112222111212122122111222112222221121121212111212122212122122112122221211121212121211211121121211222221111122212211121121222122211211211221121222122212212221111111221122212111221211221212212122222121121221222212121122222112212122112222222122212111211222211211121122122121211111111121212211222112212122221212222112121211211212112111112212211222221212221222111222212111211122211212111122221222112212222211112211222212122111222111112121221111212212112221212211111122122212122111111111211222111122222111221112112121121222222211212112111221111211211122121211211222211111122222112112122211211211111121112221222122112122221221111112211222122212122211211112222212122111121121111212212221122222111212211121221222112111121121212121112122221221222122122222211121112122112222222212121222222122212122222222222212221211211221122221221122212221111222222121222112221112121222211112222222221111212212211211222122122212122112211111111121212121222212121121222221211121211121212121221112212212121121121211111222112111112121211111122221212112212212221122122112221122212112212221112221122112121211122122212112222212121222111121121111212222121122112112222222212212222222122111111111121111111122222122222211111211212112221222212122111211122121222222122112122221112211212212222112211121212112221212222222212111212111112211121122121212221221112111221111221122222111222222121112212211112212211122112122211112112112212222212122222211212121211212221111212222211122222211122222122121122121112121212122121211112112112111122121211122112112212211121221211112112112212122212212221121122221211121221122212212222211112212221211112212112211111122211221122212212121122221122112112222122111111121222111121221122222211121121121112222121222222211111121112211121222122221112111211221211211111122112121211121222222111221221212121221211212212111212111121112112112211211121111211211221221212212122222212212112221122122222122121112111122111222211211212222211221211222111122211221212221222111211211122112222111212121211122122211212122111112222111212121211121212211121122121221211122121212211111212121111221111112212112212122212222222212211122212122222212112222112222211112121121211211121211211221222111212112211122222221221221221122221221112111211222221122112212211211211221221121211111111122121211211121212111122222222212222221222121222121222212222112212222212222122112112221211121122111221222211112121211111111111121121122212222111111211212112221122212211121122112222212122222221211111222122221111222112111122211221211111122121222111122122211211111111211111121122112222112112212221122111122222212122112222212221211212112112122112122122221212112111221122221121111121112211222221212112211222221111212112212212112122221212222211212112221121212212121121121212221121121111112112212222221212212212212112121112122112222111222112122112121212211222111212121112211212111112221211111121211222111121111211111222221211222111221121121112222111222111121211222221211222121121121122121121111122222112222212212211222211221122211212211222121122221221221211111122212221122221221221222222211122121212221221211221111122121222222212111122122122212121121212111221212221222122112222112121222112111212222222212112122121121121222212212122121121111222212112211211222221211222221122222112112221212222111222212111122121221112222211112211112121122211212222222221122111222122222121211112212221111212222112222122211221211121222221222221121121111221111121122212122211211122111122121221121222111221221111112122222221222111221112121211121121112121112111212221222222212121222112121212221222121122221121122221111221212121221112122212121111222212112111222211122221212211221212212222112211111211212111211112212221222122221211212112221121222112111111211121112121222122122112212221112222111121111222211112221211211112222222122112111111211222222111212211221122122222121211212211121212121112121111122112221121212212121112111121212221111112212111122111211222211111112112121111121112112211111221212121111112221112211122222212221221222211222222121211212121222222222111221111222122212212122212221112211221212222112112112122212121111122221112112222121221122122212111211122122112111122121112111221121122112211112211122212112121122222121212111121212211112211111111211121121121121211122212111122221111111111112212121121211111122221212211112112121121122221112121211111212121221111222122112122211212221121122211212222211121121222111111111222122112212122112121122122112112112222221111121211211222221111112212112122111111211122111122122211222221121222121211222122112212112222112122222212221211211121221221121212211222211211121211112121221221221222111221112212222222121121212212212112212112221122222122211122212212111222212211211221222112222212112112111111122221211112121211211212222111222211211111211112122112121111222211222221221211122212112111111221112221221212222211112122221111112222122211222112112111212111212122111112121112221212212212221121211122221112121121122111111122111121212112211112111111221111121212222211121112211121212112112111122111122221212111222112112121211222111121222121222222121112211212122221211112222122212112121222212212111222112211111122112212221122222212112211212222222122212122122121121221121222122222221122122221112111122122211112211112212222211221112221121221222122221121112221111212111211211221111222221111212111122222112222222111221222221121211122212112121222121221221112212211212212121222221212222222111122222121111211221121222222111112112112112121122112212122222222212111111122211211221212212212121212221212111121121211211121211111222221121222222212211212122211222222111221221122222122122212211212212211222121122122222212222222221221211222221112112122221111121211212212112111222212111111111222121222112111122111121111122221222111121112121121111121122111221111222222121122121122221122121221212111111111221112121221211122121112122222122212222222222112222212222211121111212112211121122221221222122211112112212222221212212222112212211221112121122121111122112222221122121212122112111222121211121222122221111211221212112122112112112121212211111121222211121211221221221221211211111221211222212221221122121121221112221221221211211212112211111222212221221111122222212221121222222222111122212222211122111221121111112222111211222121111221221211112122121121222212212111112122222121222221221222221111211221111222122211212222211212211222212222112212221112211221112211212112121221112112212221112211222211122211212121211221121111121211221222221112211222122122112112222212122121112121221111122211221122112111121111222222121121121211111221121121111212221112222221222111111112112112221211111212212112112122111122112222211211111222122122211122222122112211112112122212122212222122211221211222211212221222121122211111122222221121111211212211111111211111111122112212121111222111112111221212122212212121212122212221111112111221212112121212121121111121111212221222121121211111212121212212212111122112221122221111212221121121211122112221212112221121211222112122212212112222122122211211222211222222211221111212222111211111111221112212121121121221121222221111111221122112121112121221221122211222111211211221221211112121222212212221221121112221212111222121222221222211121212211122221211112212112121211222211212211222121211121212212221212211122121221111221111221111222211122212122122221221211221221121221121221121222211221221222211211122222111121112222211222122112112112222212221221111222221222111121121121112111112122222121121221212121112212212211111111211222112122221221211121111211111222222221111222121121111111222222122111112112212111211211122222222211221211111212211211211122211112112222221212221111221211121212212122211111222122111112112112112121222211111112221122211112121221121112111121111112211211211211211121121122111112221222122121222212121221211212121211122222212122221211212121111222112112112211222222221121212221222121212211122111222221221121211122122211121221212111222112212122212122221221211122221122111112211221211221211222121111112111222221221112211121121122221212221122212221222122221211112122221222221211211221221111112111111112212221122222121121211211121112212222212212121121111211121222212111112222121211121122112211122121221122222111222112111111122222212211112221211111212222211221111121111111122212111212212122212222222211121111112112211211221221221122111211112222112111111121112122221121211211221121111121111121122112212221122111211122111111212212122221112111112111111211122222121122121111112211222121121111121221211122211211221212112121112112221222211211222222212112211122212212221122221211111112221112211212112121111221222112121122121111112222111112112211122122211212112221111212121112221212111212112221211212112112211222121111222111122222112211222111222121121221211212221112222212221212211222212111221221112211212121222112211211222122222122122211212211121121121112212222121111112122112122211211211211112211211112221212111111221221212111122112121211122121111211221221211221211122111222111111211212212111222221221111112112222222121111122121112222221121112122222221212222112211222121211221122111112211122121112221121222212221222122221211121212222112111221212121222212221111121222211121122221121222222221212122112211121211122111211212212211211122121212111212122212211121221221111121222212212222222212112122122111111212221212111112122211221112122212211211211112122222121221122211222121121212211111222112211111111211212221112112112121222121121212121122221222222121111111121212211111211212122112221111112212212212222212212212122212212221111212222122112222122222112122122221112121211212222211212112121222121112111111221222221121212112222222211112211211112211121111212212112222221111121222112112112212221211121122111122211121221111212212211211211112122121111212222212221211211112212221222121222211211211111212212222221122111221221121211112212211212112122122212122211222121112222222122221211212211222112122122112212112212112111211221112111121122211222121221222211212222221121122212211212121212122111221122111121221211122211211212112212122212122121121211122111122212222222221111211121122212222121121222121212111111221121211222221122112211221212121122212111122111221111212212212212111221211221211222221122222222112212111222211212212111221222222121111212222121111212211212211211112212211222221111222122221111111212112112212211111211221221111222211121121112111212121221111221112122111111221111222112111112222221211111122112111111221111122122211221222112111122111222121221222121111111212112221112212221111211121222212212122222111222122111221212111112221112212121111212221221212112221211221221221122212111211211221221212211211222122222212112121212222211112222212211221221122221121211122212121221212212211121122112222222222221112121121222211221212212211122112121121221122121212221112212111222212111111222121122121212222222121111222222221211122111121122212112122211121222221222112221112122212122111111222211121111112221122211221122122221112112221222112212211211222222212112112222221221222121222122211211211121111121111212122212122121211111222112121212221222221111222112111112112112122212111111221212121122211212121111122211222211211111122121212211211121211112122221222221121122122121122211121122121121111211212212211222121121221221122112121212222112122121122122221221211122112121111111212222221221221222122211222112122121112212121111121211221111221211111122111221211222212111222121222211212122121212111221222221211211121122112121121212112221121222121112221112211212111121212212222212221111211112212112122112222222112222212121212222211122111111122212222122121211111222121111122122122121121122211211122221211212112211221222122111211121212122211112212112112111221222222212111221212212112111212121112212112111112112221221121122121121222212121222221121112111112221112112112121121121121122111112111221121121112111122221222122221221121112112211211122111211211221112221122222211121111121111222221112221111211121111111212212222122212222122221111221122112111221222111222122111112212122222111112221112222122121122111111121222212122221112212221112221222212122112112211211211111121122112212111222111212222212121111112211212111221112221211122221221122122122221222211121111221112121221112112112221212212121121212122221111121111212221121111112212212122112112121222221121222212111222212112222112122221212112121112121111122212111111222212122222221222212212121112211211111222122222211221112122221112212122122112111122211222121212221112122111112111212221111111122121221222122112212112112121111111121222212211122112121222222111212122121122111111211122211111111111112112212122212112211111112222112112221222211211111112222222112111111222221122122112211112211112112222122221212112211111211121122121212122122111112211122122121212112222222221122212212221112111222111212212222212112222122221121212112221111121121112211221222212112121212222212222222212122222211212111212222122211111211211211221122122112221221111221211212222211221221121122112211212221122121122221111221111221122212122222222111212111211112112222212112121112121211212221121122122212221211211122211111222111222111221122221121221221222212211111212121211221222111211112121112111111222121221121112212221122222212222211221122121221112221212212222221121111121111222222111211111112121222211221111212222212121222222122222121111221222111211211212121122221212211221111122122112212222221121211122122211122112221112212221112112222121211111111212111211121211121121122112112112212212211121211121211211221222222112122112222122121111121212222211212112211122222222212112111222111221222112122222122211211222212221211111121121112112121112222111121122211112122121221112211211112121212122212221212222121122211222111121122112112112222211221221112222211221221222112122122211221211122222212211121222212122212111121111221212221222111112211122122212122122211121122112221122112122111121212112111212222111221222112111221122222222212112121212121122211222121221112222111212112221221111121222212221111222221212211122111221211122111111122211222211212211211211212212212212221222222121211111122221112111112121122122221211221112212211122111212212111112222121121212211221222212212111211222221112221122221211222112221212211111121121121112212112211121212222212211212122112212212112212221121122221211121212112212211221122222212211211221222221111212221222222122111112122212112221222121122222221222111221221212112111212111121111211212212122212211112222221121222121111212111111211121112211222221211112211221121112211121111111112122111222112222121222122111222121221122121121111211222212211122111221111212212222122212222112211221111111111212111222212222222122211212211221111122122112122122221222212212122121212112211212211211212122121121121211211222222221112222212122121112111122112222221211221212212221212211112112112221111221122122112221112121222211211112112111211111211222211112122211212122121212221122111211222121221212221111222112221121212212211121121111211112112222112212222222211212121212222111211212121121212122211221111121112122112221121122122111211212112122221111211121121212111222112222211211212112111111212211111121211211212121112111212222221112221222121111212222211122122111222211111121121211222221211111211212211222221211112121221112212221222221211121212122111121111121211221121211211111222111111121122111112222111211212111121122212212222212212112111221211122222121212111221122212211212221212112122121112111121222212122211211212211122112211211121222212221121212112211222222122221211212121112212212211111121212111112211111112221211222112222121222121122111122112212212222211111212212122212122222212111211211111111222212111212212212122221111221212112111111122211212212121111211212121122222211211111222121211112222211222211221222112122211212122122222211112212121212221212121211121222222212111212211222211112112112122222222211211221121112211122221221212222222211111222121121222111121111212211212211211211111211222222121121122112211121212111211121112111112212122111221111212221221221121222222112221121222211211212112111211222211212211212111122112211211112212222122111112111221212221121121122222211112122211121222212122121222222121112211221121121121211212121222211121212112122122212211222212221212211121212211222212122222112111112121112112221211222111221212112112122122221221221111112111221111211112111212221111212112211222222221112111222221221212211111211121112121111121221111212212212222222211122111212111222211111212211111112121122112121122112112122121211222121212212221122112211211112121122122111211121121112221212212121122112122121221112122221222222112212221222211212222112221211222222121212221122122212212122221211111112211121112111211111211211121111122222121122112121211221121122211112111121122111212111212122111212222112112211212111121111112222121121211222212122212212222221111221111122212111111122212122122121112121222111112122112221222212221211121121121112111222121211211122122111222121111221211221222122111211221221121211122121122221211122112211221122111121212222111221111222111112212112111121112112211211121212211121221222112221211212112112122221211112112221121212122121111212122222112211222221122222221121121222111121211121112222112121212111121111221211222212221212122111121121222122122221211222112211222222212122122122121211211221221222212111222121221221121221221211221122211222212112222211122122222122211221221222211211222122111112111212111112111112221221121211122121212221222111121222211212111221212221222211212122111212121122222121222121122212212112111221212112122221221211121111122121111121222112211211112112211222211211111111112121122212111112221121121111121212112121111211121222221121221212221221211211121211122211221222111122221111211211121221122121121212221211222122212112222212212122211121122111212211221111112111222221222221212221112111212112112122211112211122122112221111122122221222222122222222222112212121111211112212122222212122211211221212212222111221221111111212212211211212212121212111221122222221221112122221111222112112121121121222122121111121111211112111221111112112221112121122211211221211221221211122122122111222222121122212111112222122111111112222212122221122121121212122121121111221121112222211121122111112111212111221222212121211111111122122121222222221212212211111121221112211212221212212211222122212222121221111111222121122222211212111222221111112222221212211111222122122112122112121122212122212112122112121222212122211122111212222212122122121211211222122121212121222121112212212221212222211111121122111212212222121212212121221212211122111111112222211111111221112212221221211111212212122111121121222222212221122211121111121211111222111111111111111121212111112122121121221122111122122112212211221212221222121121222112222112121212222111111211211121111111111112222212111121211121121122211121111211221121221121111221221121122122112212221112222221111221212212222121122212122221111222221111112221222121211111112111112122212221112212122112121121111211112221221122211212111112122122211211222212112222122212221121211111122121121211211222222212221222221212212221112212111111122121122122222222122112111221111211211112122222121211212112111221112211112112221212222211112111212211111222121111112222222211121121221212212221121112222121112111121211122221221212121111112122211211122221121212222222211111212112222221122222212111121212122122111111121112121211222211112122211212221121211212222111222212112211211121212112112112111122212212121121112111122121212121122121222211211212121212221112212212222112121111112221122212112121221112121111112112121121111212112111112221121122222211121112111211122111212222111212112122112221122211111111122122221221122111212111221111111221212211211221112112112221222212222221222121112221111111122211212222111122121221211212221112121122221112112111222112212212221121211222221112121121212212222111112211112222112212112121222221111111222212221221221211221222111122111121212212122211112221111212212222222122121112222221111212222112121222211211112122121122222121122221122212121221111111121211111121112222222112222222111211112221222122221221222212211111221122121122111121222112212112221122122111122211122112211122111212221212211121212222212221111112221122221211111112211112112112211212222121111221112221122122121222222122222212111221222111221111121112121121111212121112211122221112211221111122222222111112111222221122111211221122211211222122111112121112221211121122211122222212222212211111211111212212112211222121211221221122212112212212122222112122112121122122122121111222211111122121112222111212121212122221122111211122111121212212121222211122222211121112122112121112121112212211122222121121211222211211212212122222111111222222111112111121112221211222211112222122112212212121112112221121211211211212211121122112111122222212221112112111111211122121111121211111221122212221221121221112111121112222211112212222222221221212212221121112121212222212222122221222212112211221111111111211222112221211221211222122121221211211212212212212212121122112111211211112111111221212212222121212221211221122112112211222112122211112211111222112112122211111212221222222222121122211112112112111211122111121111221212111221111121112221122212211112121221221212211121122111211111111122121211122111221212221212221212112121112222122221111112221222211121222111222221222122211221122121122111221112112211111211121121212122111211212222112121111212111112111111112222112221211121112121111121212211211221222212122111222121112212221211122212212111212212121112122221111221222221121111112111122222121211112222121111221221121211112111211212122222121221121221222122212111121222111111122211212212111112211221211212211111112122112121211112112121211221111111111211221222111121122212122222212212122212221211111212111112211122211211212222112211221211121221222222221121111122211212221212221122111112221112112111112221212212121111221221222212222112222212121221221122112121112111211121111112112121122111212221122221121122211212222112122211211222112222111221112222222121212221212112221121212212221222212121212222221211111212122111211121112222211222112211112212121212111222121211221222212121221211122121111122222212121212211111211221222222212222211111221221121112112222221212111211222211211121222221212121212112221121112221122221121122211112112121121221222121221121212111212221111111221112112222112221211221222112121122211122221111121222222211212212112221221222212112221221211212121211221111122221212122221121211122212122112121222111121221212121122211111211111121222122222221211211111212111211111122121111222212121212212212111112222222122112211122211211111122111122222121211222221211112222222211222222121221221211221112112111111111211111222221112222221212222211221122222111222212112112122212222111112112112211212211221211221212111112111112212111222111111212212111111122221221111222211112121122112212121112212121212222212221122122112122221111211111121212221121121221211121111121111111212122112211222221212112222112121122111111211212221212212112221222111211221122111211121211211221212222211121122121222211221111112211121122122122211121222112122211211221221122121111121121112211212112121112212211222211112112221111212112111221221221221112221221111211122211112121122221222211122212121222111111122122122212121112122121112212222122122121212211111221211122222111121222211111222211122222111122222122212112121212111122222122111222222222212221221211222221111212222122211222122221211122211112211111222212222121121111222222111112221112121121111212111221221111121122122121211212222221121111122122222122122111122112121111112112212112122111111221222212121221112122222221221212211221212112122221121122111222121121112112221221121112111221211111112212112212121122211222212121212221122112222212222211212111211211221221211212112112222212122222112111212112212111121221221212221122111122111112221222122121221111222111212111211122121112111111211121221112221212211112222212121211111112211121111111121221121212121112211112111122121111112222212211121112222122211111121122221212212212122221122122211222211121221121221111211111211122211121212211111122111212122122212121122111212121222121121112112122211222211122212121211111212112121211122121121222122111221121112111121211121121212212121211211222222112221221212121222222111222111122122112122121221211222111212112212112222222112111111121121121122121122122211211211122112221211112121221121221111111212212212222221221112111121112211111221112212212222212221222111111211221112122111211211212211111112112212122221121122122212212122212212122222121112111211222221222121211121122221212211111221221212111212111122121112112222112111211121212122122112122121111211122122222211112211111121211212211212111121221122211111221211211221111211122112122122212211221211121212221122222211222112112121121212112222221111212122122112211221112112122212211111221121211222221222222211121122211221221221222212111122212211211111211211121222211221211221111212121112211111221222211212121112222221122122121121211121212121211111221221111122211222221121222222222212122211221221121111111111212112211212211111121212121122112221221211212211112221211112222221222122122111212121112222122221111221122211221211221212221222211212212122122211221211111111112211122111211112111211111111222111112222221222221211211121112222112221221211212112221221111221211222121112211211221111111221222111212211111112222222212221111121122222222212111121112122122122111221211222222221222221212121112112112121111212112222211112121221221221122222122211122222221112112111212211221211221212112111111222111212121222222212122121212121211211121112122121122121122222222221222111212211121221121111212221121211112222112212211211111211211121122111221222221211122122221122221221212212112212222211111121212111222221222122212122122211112122222222121121211121211221121121221222111212211212221211111111211111111122112211212121212222112222121221211121222112221121221121111111122121121112222122111121222211122111121111112211112212112121211121211211112221212112212122121211121121222212222212221112222111111111211111221222112111222222121112121221212222221221122222222112212221212221222211121221111222122221222222121112122211121211221121212212212121122212121212222222122211211212111121221111121212111211112122121122212221221122122121112121121222112112122221121111122111212212212112212212211222222122222121222121121222112222111211221212222111212212111221222121121112112222111122111111211122111222221112222222121212212212222122111222122111222111111111211211221121222111211122212122212222122211121112111211212122112212121212212211111222112221221121211222211121212212221211122211111121111121212221222111221122112221221122111111111222222212221222221122221111111112211212211222221212121121221121121122211122221121112221211122121212222121121122211122212212211122212211211211121221111111121122112122221111222111212112112221221122112212222121211122212221122221211122222212111212222122212222122211221212211121111111111212122222111121211121122122221111211221112212221211222121121112112222122211121111112111122211222122221221111111221212112112222221212212121112222222221212111122112221211211111122222112222112111212112111121112212212112212211111111122221122221122221222211122222111122221112211112221122112212222111111111112221111111222112121222122121221211211121121221211221211122221211121212211121112221112212212212211221222122211112222222112122111111211222112111112211211211222111122111212121222222111122112222221222222112221221121122212121122112111121112212112221121221122211112222112112111111212211111211122122111221112111121222112121221122212112212111121121222212222211112122221112212222112112111212112112111122211112112112111112221212112221221212122121211222121111221112222111212122212121121222221121222111211111112122211211212111211112221112112111122122122112211221112122122211212221112221112111122111121211112122221212122122221221121212112211211112121221121112222112111211122222122111111212222221212121121112112122111212121212122211212112121121222121212121111111121222221212221222111122111222222222222122122112212111112121121122212212221121112121221122112122112112111122222211211212211211122112112222112221211121222222211222212112112121222122212222212211212111112121112211121211222111212212211122121122211122211121121121222211211221222221121111221211212122112121111211112212111111122212211122221112212121121121112121211122212212122222212212211112122222112111212222112121122111221122112112212111121222221121122122122111121221112221221112212122121122112222111221211112121211112212212222212111221222211211112121211221212112212112122212112122222212212112221112212212211221111222211221211211111221222221211221122122222112212222222121112122211112221222211221122211211221112222222222122122112212222221112222112111221111222211111212222122112112221122121112222222221122112121111121221112122112122111222211122211211212222211221111111212222211111112211221112112221121221221122121121212211212211122221111222121211212211112212212222121111122221121212211221121121211122212121122222112211121211212212221211121212122211121221221121222111212111222212221121212112112111111122122221212212111221211112122122212122212122212211221122222212121221211212122221222211121222121212211211211112222112212111222112222221112211122221222211222211121111221112221212222212221111211111112122112121112211122111212121211111222211222212121212222112121222211222212111221221212122221112122112222112222112111112221111122112121111121222112111111221211112111211122221121122221222222111211222221111222221222221211211221111212121122122112222121111221211221212112122211212111222211211212121211121222112111211222111121211212121112112222211121221121221221111222211212211111212212211221211111222212212211112222212112212121111111111212111221211121111211121122212112122112222221222122111222112212112121211212112122212111212121111212122211122221112112122222121121211211121222221111211112111221121112111221221211122221222112111111112111111111222121221122221212122111122212112212211211221121211211121122221211111211212221221111212221122212112212111121122222221222111222221221112122222211211112212212122222122212221121122121212112122211122221222112222111222212112122111122211212212121112221112221222211222112222221111112112111112121221212121121222221222112111221221112111212121112122122222121211122122112122212211222122112212221212212121221212212212122212122222222222122212112211221111111122211122122211122112111222122222121221121122221212121212222222211221122111221112111222222221222112122221222221122221121222211212211112212222221121122211212121221121112121122122211112211211122112212121221221121221112121121212211122112121222111211222112211121221111221222212212221111212121122122221211111112122222111221111122112221212212121222111212222212112122222211212211211222111211221212221111222221112111111111221121211112112221212212222211121211212122222221222111221211211112111111112112221221121221222222221212121122211122112111111212222221211122221222212221222212121121122111212111222121222112221112121222221122121111121222112112112212222222112211112212221111112222122111122122122111211111222222122211212222111221122121121112122212221222212112222212211221222111111221212212122221211212221112112221112222122212222122121121112212211222211212122112111221212222122111212121221121111122221121222211222122212111111221221121112211111211211221111122212212222222122221121122122222121221222112222211121212121222222122222212222222111221111221121111122221111221212121222211121111112121121112211212211222211222121222111212222211212122211212121211211111222211112222121222212111112211122212221112221211221212222212122222212111111111112221122111122122222221212221122222211221222122212222212222221121212222212121212211121212121221121111221122111121212111122121222112122121122121212221122222111211221221212121222122122111121222122111212112111222222212221222111122222122112211111211212112121121212122221221221111122221212222221221121121222222111122122221221112121212222211112121111121211112121122121222121211221122121211121122122111212112212121121211112111211211211212112112111211112122111111112212222222222121111212111222121122122111122121121111122222121222122222221112122112212211121112211112212121221112212212112111111112111221111111122222111121121111112121222221222122211121211121221222221222112211221211221212211112222212112122222222221112122112212211211122121112222112221122222211212111212112222211121112212212212112122221212111112111221112222111111122112221122212211111222221112122221222212122112212211122111112111121221112222222112122212211221211121121112121121122212122121111111121111222211122211111121221121111221212121211221222112212112122112111121122211121222221112222221112211121211221221211211122212211121122121111122122112212122221212122122122121211221121112111221221222111112212112112212122121221212222112221212112122212122112121122211112222112111112122122221222112222211121212122212121221112111211122212221221122122211122121212112122112221222222212112111222212221111212222212221221121122212211112121211112222211121121211222222212212122122112122211112222212222121111222121112111212221111112221112211221112211222221122112222221112121221121221222111212121211221112121212222221112112212112111111212121121122121111112122222111121222221122112111121212221112212212122121211212212221212112122222111212122121222212121112122211112212211122112222112212221112211122212212122112212122112122212122122221222221221111212121122221211122122211111122121211221121221212112212111211212112221212212111221211212212212212121121121122121221111212112212212121222112121122211111211121122221121221122121121222111111122121122112212112111112222121212221122112112122112221122222122112111112222112212212221212112211121211211222121122222222221112121111212212221221221222221221111212211121121212211221112211221222212222112221222222212121212211211111212121111211122121212121222221221111112221222122222211221121212221222221222221211111211112212122221211111221122211121112221222122222112212212221221112112222112111122111222121211212222111222221211212221111122221121221112212211112212211211112221212211221112221222111221221211221112111212211211221112121222211222212212221222122112122212111212211111122122211121111211222112112112221211212122211222111212122111112222121122221121122121212122122122222121111222121122222121111122212122112122122111222121111121122212222222122212122212222221221211111111222222221222122212222222121212111111111111122112221211111212111212222212122111122111211111121122212212122122221221122211212112212222221211221111221221211211212111212112112221211111112122111221122211111211111111222222222212121222222121112212122221222111221211111112211111221122221212222211221221212212222222222122211121222111212121112211122112222111111111222112122112121112222212112212212212112112211212212111222111212221112222111111221122211112122211222112112212212111222121121212221211222122122121111112121121122122121222112121222211222211221121211211212222221121221211111111121211121221221122111111122111122222122121112212221211111221112111121222111221112211112221211211222111112122111121122112112211121111121221211212211121121111122122222212221221121221222222112222111121111222222221111212111122111111112111212121212221111112112111222112222121112111112221112122121212212111111121211212222222221221111112212112222112212212111122222111212211221121222221211221222212221222122221112211221211111221212211212122122121212212122221211222122221212212112122111222211221112222121221222111121122121122211221221212222222222111121112211211211111212212112121222212121212111111121112111122121112112121112121212122211211111211211112211122221222222221111121111212112221111112121222112111221222122211121121112121111221221222212222122211112212211211111222212111121111122221121211122111111122211211221211121211112212122222121122222212121211211122121112222112112221121111211121211121222222111212121212222221211221222111222212121221121121112111121212211111212222212222211122221112111221221111212222222211222211121212122112112111111222121122121211122212221212111122212122212221112121212221111121222112122122222122222222112221111111121212121221111122222122211122122121112122112221121111122211212121112111112212122111221122122211122212211212212221122122211211222111211212211111222212112221122221211222221211121121221111212222212211111121122121212212112211112111112121112211112211221211211221112212222211111111121112221222111212222211121211221122121222221111122212212222212221221211112121122121121122122222222112121121112222221211111212121111222112122111221112111122212112212122121222122121211111112211221122211122111212121212121211121211212221122112222112111211121121212121222222122111111112122222222122221212221111212112122121121121211122112211121112211222222212211212111211112222222112221111212111122111112221221111111211111111212111211112221121212121122121221122122122121221122112222121211211111112222221211111222112221111111211111111112222222112222111222122121211221111112122222112112112221211112212211211111221112212221212111112222122222112112121222222111122221222211221112112121122121221112222112221121212212121121121211112121211212112112212222212221211111222121112211122122112222221111122111212212121222111122112222121111111222222122112121122221121122222112222221221112121112121111211222221211221212121111112211222121112212121122221112112121221121222112222122122212111112222121111221112122221121212121222121211122112122221221112222212211122112221112122222212211121122222122222121121112221111122221122211112222111122122212112221212112212111112211112222212112111221112111121221112221122222112211111122211121221121112222121111212122122212112111121122211111122122212112121221111212111111122212221121112211121112212221112121112112212121212111122211221112121222211122121212212112111111222121122222122111211222221112221111221112212221121112222211112211111222222211212112222221211222212111111121221212122221211122121221112212211121122222211112222111212112222111121122212112212111211121121121222212221212122222212122121111111221211122111122121211121221222111111212112111211212122112221112112112122222122122211211211212222211122111222222121222111211111111212221212221221121112112112121222112122221211211121112112221111112221222121221212112121211211211111211212211212121122211112112211212211211212222112212222112121112212122222211112211122212122222122122111212221121121122221112121211221222212121111222122212121211221222112222222212221111221112122111211111222211212121122211112211212221211121112111122111111111121221221122221211222122111111212121121212111112211211121122121112121112112221221121221221121221121112221211211212112122121222211222121122222112112222221122111111211121211122112121111222222112111122221222221212212111121111121112111112111222211122111222212121112111212211121211221112222112121112111111122111211221122211222121111112222111121222122221122121212222122211222112212212222221121222211212221212221121211221121221112222122121212121222212121112221211212112121221212121221212112222211112122222221121222212212211212122122212212211212121211212222222111111121221122122122221211222212112111212122221111121222211211221121212222212211112222121212112221111211111111121112222212122211211211222221112221121211112211111212212212221222122122211212122122222121122111121211211222211212222121121111212211122212221211221212111211221221221111122122212222111212221211111121212122112112122122112112111212212211222112212222221122221112221221111112222211111222211111212122122211112112121212211221222112111121221121221111111111212122112212112111222122121211212222121212211221212212211212212121221121212112212122221121111112221121121121212211121212211111222111221211222221221212111121212111121221212211221121121211122111222222212111221111211211212112221212222111221111112112112221221111111212212121121221211111212222111212221222122222122222212212211211122221112121112111212121111112222211111111112121221122221121212212211212222221121212121112121121111221112111122211122222112212222112122221222211211221122112122122112212221121212222222112211112111222222222121221222111121112222211111221122221212112112212111222221112112211222122222112222212111221111211122221222212222112121122212122211211112212221221222111212122221121212212221122212112211212122112122121222112121221212212122211112122221121121222112112121211111121211122121212222212122212121122122221211111212212211222221112212111212222222112122121211211221221122221221221212221212212221111222122222122211222122221122121122112212112122122112121122111222112221221122221111212112111221212211211111211112111222121222122212112221222211222211111121212122112111222222212111211222212222121222212112212111112222212211221121111211111211222211221121122122111222121122111111112222122222121222112221111221222112221221211221212221121212111212121221222112222221122221222111112121112111122121212122221211121122121212111221122112221111212122121111112121112211221222122111221211111121122222121221211212222122111212211212211111111211221111122211112221112211122222222221222222122211212121111121221212121211212222121211211212221212111222211112212222112121222222111212211222212221111112111121211221121222221212112112221222112112211111111211221211122112121112212212122122111222212221221221211221211212122222122122122111222212112211112211222111212121112122222212211112211212221112122121122121211111122111122211222212112211121112211121121121212222112122221112221111121221121222212111221222122211112222212221121122111121211221221221212121121111222121122121111122121122112211112211111122111111222212122112122112222221112222222211122111222221122111221212221112111122222212122221222111222121212212212111112222122212111212221212222211222112212211121222112212122112111211212111111212121211221222221222111212111221222221222112221122111112221112111121211211121122122221122122212122222111221122212211121212122111222221211112122211112211212111211211122211212122112112111122221112211212222212112222211112121211212221122222121211121211211121211221111211212112212121221112212121221121212212212212222121112211222112212211122122111121222212212112112211112122112211211121111112111212111111222221122122212222222211212211212212212212221121222211212212222122222112221121111221222211211211212212222212112221211221211222111112122212211212211221211121212221221211222222112121112121211212212112111212122112211222212122222211121111211212211221112212222111111221222121212112222111222122121112122112212111211211121222212212212112222211212121112221121211222122122122222211121122222122221121222121211212122212112112112112221212111122121222111221111212221122111221121211212121211212112212111211221111122111112221222222122122211121121111222121212122122211122122112222112222211212122112122212121211221111122222212121212221212221112112222211222221212121212222111211212211221112112122112111112121112112111112222122122112211211212211221111211222112212122212212221122221211211211221121212122222111121212212121211122221212122212121212112121212121121121121121222222121121121211111111122212211112222121122221122221121122121221211122222121112111122212121121111122211112111222222221121212121211211211212112122211221212212222111221121122212121121211111222212221121222222212112222221111221212111222222112122122221221211211112221211112222222112122121112122222112212221221122111121122221222121111222121111221121221221222122221122112121222122222221122111222222211111111112221121122112211222112112111211222121121122111121121211221221112222222112121222112221211122122221121222212111212122212112212111222222111221212122122222121111122222112221111121111111211211211211122121212111111222112121222121221212122121212121112222211112121122211111212211212121111112111112121211211112211222122212111112222211111122222222112212111222112212212112222121122122221222221212112222222211122222222112122111221211212111211121111221121211211212212122112121212212212122221121111112212121222221122122111121111222121111111121112121211221111221221121121111212212112122122221121221122211121121211112211222212122121211121121121112121121112111212221121211212211111111121221112111212211222122212111212222221211121221222111221212212122121221112221111221121222111222211212111212111211112122111212222221112221221111122221121112211112211211121112222121221112211211211112112212221212112111212212122121121222211221211121212211112211121122112222222112222111111222121221222222121122122222111112212121221111121122111112122112111221111122211222211211122221222111212122122122222111122122122222112212121122112121122122111212212222222222211112112122111222122221211122122221121112122112222111212122211111112111111211111212112212122211122221221111222112122112121121122111211111122211222121222211212212211111111121111222212211211112111221211221211112222212221112121212211111111111221211222212212121111211212211112212222222212122112212212121122111222112211212211122212121111121211121121212111211121211221112112111221221111222212211121212121121221211111212111221121221122121112122221211111112112212112212122121212211211222112211221112121222212121221222222122111111221112121221121222122211121221221211121122222121111121221211221212212222221112221211221112222212112111122121211111212211112112212212211221112222212122222121211122212122211212112212112112111112212122212222212112221112121111221222221122221121211121222221211122112212111112212211121111212211222122121211112211211122212212211122212212121121222212211212121212221112222211121111212122111211222122122211111111112122212121212222111121121212121112111211122112111221212212212212112211211112222111211221121121212122221212221221112221112121112112211222222222122122212111121121221221122121112121211121222122211222112122112221212211221222211212111222212111112121112212111221221111211111122222212122222112222221211212212222212112212112221211222222212222122121111121111112211122221222111222112222211121212111111221212221222122211122221122121211111112112221111211111121222222212112121112211222212211112212221111122121121212111222212212111122122211121111111121212121121112222221121212122122211221122221111121212111111212211212112111122222111121222221112211122221221112221211112121211121211122221111112121112212211222212121111111121122111121211112121222121222122121122111212122121111122122212111121122111112211221221122112221121221222212221121121212222112111112222122121221212211122222121121111122222212112212112112212221112221212222121222122221112221211121221111122112222112111221122211122112112111222112212211121211221121112211122212222122212222111211112112222112121212121212212112121121221212211222212221112221121121121212212122222111211112121122211122221122212221121221211112212212122222111111121212212222221221111121222121221122122122221212112111221212211122112211211212122112211212211212122122222112222211221222212122122212212211222222212112122112212222121212211121221211111222121221112221212121112221112222122121211122111212222212221122221122222211222112121121221112111122211121221112121122211221122211212112221222112211122121222221222111112121122121222112111211121122222211111122211122222222212211211211111121211211111112221111112212121111111211122211221122122212221222121222222222212122212121211212111221111121211212221221221112112112212212221211121211221212221212221122222112122221111121122121211222122221211212211122112122122211122122121212222221211122212222121211222212222221221222122122111211211121222211212222221212112212212121222222222122211211121111112212211212122112122121121111221122111211112222222212211212212211222221111122122221221221211211211112112211211111112211211222221111112212122122221221221111112121221112111121212121121122111222221212212212222121211111121212112121212122121121111121211222222222221211121222212121121122121222222222212122221112222211122221222111221221121222121221221221121221122222221121211112222222211122222212221211122112211211212112211221111221212122121111221112122212112122122122212222221221111212212121221121212111212211212222211111111111221121111112111111221221122222111222212211122212122122121212111222221212221221212111121122222222222111211121212122112222111211222111222111211121111211112112212212211211111111212211222211221222122112121122121211121121122222112112112221221222222112122222222112211121122111121222211212221111112211221111121122111112112112111121112111112221212112112111212111111122112212222111122111222112212121122211221112211212122221111112222112121221121121111211112121221211221121211211211221221121221222211212221121212221112222211121112221112112221112212112212211122221121221121212212122222111221111212211212122122212111122221222121221211122121212211111112111222211221221211122121211111212211122212111211111112212221212221122122121211211121212112112222222111112111111112222211122212222121221211112112211111211211112122112212112122121212112221121122121211111122122222111212211111122122222222211111111111122211121222112122221121212222222221212111222222222121221121212111111121222211112211121221121122221212111222112221221122112211222211121212221122222221112211221222112122221222222121111221222111112112112122112212211111122212111112222122222112112212112221212121111111211212122122121222121111111122212112222211111221212112222111221111122211111211111221222221221212221111121112112111111221111221111122221221111211111221111221212111122122211222122111112221111122122122211122121222112221221211221212221111122211112112211112211221211111211122121112222112111212222211121111221221111211211121112221112112111122112112212112112222212212212221122212221221211112221112122122112211211211222111111222111212111221212122221222212112211222212211212211121222222111221111212221221221211111211122211112212111121121121222111122122111221121112222121112221211211222221221222111212211122121122221122122221221121211122222212112221212121212112222211122211221211222112221111211112221112212222211211112111112111121212122211212111212222122112212112122122121121212212122121221122212112222212221212212121111221211122212112112112122122222121211112112111221222212212222112112221212121122121221222211121122111222111212222112121112212122122121221112222221212122121111122122222121221122211121122111221211111212222221212122111212222121211122222211222111112121112121211212111211222212211221122121212121112221112221111122111112212112121212122212211122211221112112121112222221122222112121112111111221111211111121211221212222221222211212121111211221222211111112211212211112222221112222211112221221221122111222222222121222221121112211111211122212211121111211112121211112212212211211111211122112222221222211221222122222211211221212122222121121122212211122121221212111122222212222112211121212121121112221121212222121112211211222212121222111122122122212222222121212211212222112121211211211221222111211121211222221111222112212222211112222222111112222221222211222121221221221111112211112221222111211122222122122222212221111121121111211211122222222212221122222211222122221111212121121211112122111111112221122122112122222221212222111121221122112122211221211211112111212122122112121221211221212222121111112121222221122112211221211211212221111221122112111122121111111112221222211211121112112121122212111121211221221211112122121212112111121111212112122221222222221222211221121122112211211222211211122222121211222221111212122211122111111211121221122121121211121222221212111211111221122211221211111222212212122211212112222112111221122221121112221112212222111121211211212212122212122111222111211221222211121111122112122211222121222211121121112112211212122112222212122222211211211121121122122212111121111111212112121122222212222121222222211112211211112121121211222121222112211222222212221111212212112211221212122112212211122222222222111222212212222111212212112121221121121112212211121111221121121121212221212212111222212121122211221212221222221222221221221121121121121221121212211222121211112221112112211111112112121211122112212221212212211212211112221212212211121221122212122212121112221222122222111112111222121122211112211111112221112121221112122221211121121111111221121211211112212111222111112211122112122221111212121212121122212222112221221211121122112112222212222111212121212112122122121112222112222211212111221211221211122112222122111112121212112112121112112111221112112111211112222211111222112212111111221211121121211122112111222221211212111121122111111121121221212221212111221122121222111221221111211221111211221222111111222121221122112221212222121212212122222212111122212211121222221222111111211222221212211222222211211112222111221122111222122121121122222122211111111211222112112121212111122212121221212222111111122211112221212221212112111112111212221211221212112122121212112212221121111221211122111112222222121122212121111121221221211211211222122222121112222121122211122211222112212221111221212111121112121211222121211211211122212211212221222212221122111212221221211222111122121212212122211212112122122112121111122122112211222122122112222222112221221121112222212112122122211111222112212112121212122221121121111222111122122222221111212121122221121211222222111121222111212212222122111122212211112121211211212212121221112221212121111222121111121221212211121111112112212212211211112121212112212212111212212212121121212221111112211222211222112221121222222211222212122122121211212212221112221111112111112112111121112121121122112222112212212122112221121221111122121221121211222222221111111122111121122112211112111121211121121211122122221112121112121121112212211122212111111111211111222121222122212111222212111112221111212111222122211112111121211122112122212221112111121111112221211221221112121212222211221121111121211112122212121121211111222222122222122121221211221112221111121212122211111222112112122222221212111212121111211222222112112121222122122112212121211211111122212211221122212121221211121211122212121221221221221111122211112222211122221211122122111112111212222222121221111111122111211211222112222212212112222222121222111112222112221221111211222221222111111221121222121222122111111222221112222212112222112222121222122211112111222122212111121211221211222221111121221211212222122111221111111212121112111212211112112111122121222222212211112222122111121221121221221211222122121111211111112211222211111111212221221222212211222122121211212211221111112121221211112112111122122112212122122212112122221212211111221212222111222122111211221111212111122221222112111221212122221111211121111112121111221111222111111212111111121122222121212122121122122112212112211211121122221122121112221221122111211222211121212121121122122222122112121121112211111121221222111211122111212212222221212221221211211121212112111122121111121112221221121212222211221122211222211211111111222212112112111221111212221211122112222211211221211111122212122221112211121111221221222221211122212211212111122121221122212222111111122222112111122121121211221222222112212122111111222111112211112221111112122221221212122112221221212211112221111121121122222222222212121121222111112212112111222111211211211111121222222212122112112111211221212111221112122221121211211222111111122221112221111212111221122222212122221122221121211122212211221212221112212221122221211222121211112121211122221222211122211211212221221221111121122121221212212112111112122211222111212121122122211222111112121211121111111111121221221222222111222212211222211112122221122221211221212211121122221122212211121112222121111112221221111111221222111211212211212121121221112222221121121222212222211222112121212222211221111121121111221121111222212121212121222211211122222222211222221221211212222212111211211121212222211111122112122212221221112222211221111222112221222121222112222122122212111222112111122222111211221111221222211221221112112221212211111121211122221211211112211221111211211212221112222121221111112221112122211122121112211111122221212212112122112111111222121111112221221121112222112111112221222111211111211211112221112211211121221121122222212212211112112122122111211221221111212111222212111212121211111111122122211112122212222222121112121122211122211112122121111112221222211211121222111211112122221121211212211222121112121211222111122212222222212211212122121111122112111221222121211111121212211112111111122121122211211112212112121112222122211211111112121222221212111211122221122121221111112112212222222212121111111211222212111121211121221112112221212111211121111212211111221122111122212121222212111212121212121211121111121211121122122211211112222212212211121211111211111112221222211221221221122211111112211212111121122222121211222121111211122111122222211122122112221212122121112111212221121222122211111221111111211121122222221222222212111221112111211121211221122221121221111111122211122122111212121222111111221221211111121212212121212111221222112121112212122112121221122121122221122112122121221122222122112112211121211112111111122212112222112111121211111111122221121112111222122211212122121122222111222221212121222122112212211222221111211212122111211222221221122111221112222221211122122212111221111122112212211112112111222121112111111121211122121211211212212111221112211112222112121112122212212212112111212212121211121122222121222222112211212112122122112122221222211122212121111122121221111222121121111111221211212122111121222222222121112221122121211111121121122112212111121121212121222222112121212122222211221122211112122222212212112211221121112111122221211212112222212212121112222121211212121111211121112111111121222221222211121211111112212221211222222122111211221121122122112111121221111211122122211121222212212121211222221122221222212111112112112122122211121111212122212222211212212211222122121111122211111112111212212111122211211112221211221121122111211222221211222222212121122211222121111112211111222122211122212122211221122111122221122111211212122212111122211122112112212122222222121222211221122212221111122121222122211211222211122211211112211122212211111121211211121111221212222112111222211212211212221121121122212222211212122212221122212221222112122122211112122122121212121212211122112112112112212221222211221121122121211221212212222222111111211212111222121221122212222112111222221211122211222221211111122111111122121122211222212111212121121112121211111112221222112111112211112221211112211112122221112122122221112211212121112121212212221112221112212112222212221211222112122122212221121211221221111221121111111211211212212122211112221112212112222221212221121111222112212122121211212222111222221212121112222212111122121212221221121112122212122122122212112212111212222212221121211211211111221212121122122212212121222212212121212111212221121212112112211222122122221222121221111212121221222212122112212111121221112112122122112121211212112121212111111211211221212211212212121122212112221112121111222211221221121112121211221112222222211112111112111122111112121112122112211211122211211212122112222221211211212212121112211211221211112211212221212212122211221222121112211111211121112121211121222222122122212221112211211212221211211121211122112221222122211212121111122212212122221211212121211221211211112122211212222221222212112222221121221222211121222211212222221222222221111222222222122112122121112112222122222122122211211222222222121111112122222212221212212222112112121221111212212112112111122121122122112111111211121111121112212112212221121111211222112211222111112222121111111122112122121222222212112221211221211211112112212112211211121112212112222222111112221121222211212222212122221112121121121222212221221112122212111122212221211211222222121111211112112111222221112221121212122112122211212211122221112112221211121221211122122121112122112111222111212212222222121211221122111222122222212222211222211112221212222222211212212211221121222112112212112112212121122122121222211122112221211211112111121112112122122212221111221221122221211222112112221211222221221212221121221122222122212211121112221211122121112211121222212212121212212112211122112111212112111122122112221122222122222211212222221111211221112211122111111222211221112211111122212211112122122112111221221212112211211121222212111112212222121111111112111121222122121211112222111221111122211221122222121121222221212212122212221112122111112222211221222121221111112221212221112122112121222122211221121111121222222222121112211221122221212121122221211222221112121112221111112112121211211222211212122221122222211112121221112112221121122111111222122211211121112111111212112211212121121222222122122221212111112221211112112122211212221221222121212122211221112122221111122111221121222112122122111222121122121122121121121122211221221211222111122212212112121222122121121221111122112112212111111222122122112112121121221121111222212112111222211112121111212222111222211111121112212122112121221211122211112212111122212212222112112211221112121112212211211111222121112121112212121112122121222111212111112212112211121121222211112122221212222211121121111121221111211222112221111222122122111212212121112112212112212221222221222212121121111121222112212212122121121222221211112222221211212221122121212221112221211211221211121212111222112122121111121112212111111222112121211221121111122212212112111121221221211112221112112121122211111212111112122212121212211212111221222212111221121122212112222122112222221112122122112112121111211111212122122121222211111221121121221211222111121112122122212122212112122112212221212221212212111122121211212111112122222221112112212111221122122111112121111122211211122122212211222211221222112121212221221222112122212121211222111112222222121211111211212221112212212222112221212122212111211221212222122121111221121212211222222211211222221112122121221211221122222211222121111212112222221112211121222212121122112121222112212212222111111121112211221111211122111222222221122222212211221222222112222122121211211111222121122121221221112222221211221122222221221222121122211211121222111121122221212222111112111111112222211112111112121112222122112122111211112221222222222121122212222221111111212121211121211222112222212221122121122212212112211112212221221211221222221111121112211111222211111221122221221212212112122122222212212112112221222222111112122111121211112121112112212211221122111222112221121112121111112222122212112112122211221122212112111122111211121122111212212121122111112222211211122221222122121112111111122222212221121222222112111121222222122122212211122112211211212122222122222211121112222211112222211222112222211222112112112222221121121111222212121121122121111221122212112122111112111222122112222121112112122222111111211112122121211112111212121111211212221222211111222121211111112122112222121221212211122111112212112111122111111211211112212212122211212212121111112121121211222211111121211222111211222221111222111212222111122112222122121122222122112111212212121111222221121212212111221212112212211212112211212211111221112112122211111112121122222221122122212112121211222221112221112111221121121121221121221222222121211122122222122121111112112122111212111112211112121121211212112111111111212212212121112221121212222122212221121121211122221211111112212212111122122211112122212122211221122112121212121112222222122212121211112221111211222122222211122121222212112121211121222212112221121121222212211211122121211122112121121212111211212121122111212221121212222222221221221211122222212111111122111122212222112221112121111222111121221121212221212121222122211121212222211211212212212121111212112112112222122212112111211221222111122212222112212212122121211111221212211111211212222112211221111211122222212211221222222211111112112121211121121112112221111121221221111122221111222122122212212111222221112212222212122112122212122111211211111212211211112212111112121222111122211211121111222112122112222122111121121112211211122122221211111212121121222121211222212121112212222211112112112222122222212121121221111112221211211122211121211211112212211122111212221122221211112222122212112222212221221111111121211221211221211111112212111222222221222221111121212121112212211111211212122112221211112221111221122221112121121211211122222111111111211221112211121121212222212111112122222112212111122121121221121211122121221122122122212121121212222222122111211212221221112221121211212222212221112111121221112121111112222211122211121122221211122112211221212212221111112111211112122211212122112222222211211222212122222222222212211221211212221121211221222222211221222211121111212111221111121111211122221112221112121212121221122122112212111122121211221212222111222111212222122111212222212221122222121212122222112122111111112121121121221222112221222122122112112122211121111221112221111111112121212212212212112112121211111111211121122212222122221121122122111122122112122212112211122221111122222211112221121211222212122211111122212111112212212221112221122212112111121121122111121112122212111222211221122121111122111121212222211122121122222121121212112111111211112212211122221211112122111211221111221111112121112112211122222222112111111121122222112112121112222221121212211122212222121121212112211111211221122211221211222211221221212211211222222122121122211221112222122211112122121212122122212111212221111122121211111121222211212212122221112121212121112111222121212222212121112121212112111211122121121111112222211221221122112112212121112221211211111121221222122112111112122211121221112212221121221211112122221122112112221221212121111112221122221111122212212211211212111221112222221122121121221222112221211112211121122111222122221211212211122212211111211111221212122212112221211121221211222121221121222112121211122121222111121212121222211121112212112211222121221212221122212221211221122222112221222221112212212111211121221111221121221122211212121112212111111122211111222222222111121111121111121212221121221212222221221112112221211221112111212221112111221222122121111222112222111221212112121111212211111112212211211112222222121111122221221112112112112112221212211211121122122111211122221222111212112212122112222222111111121121222112111112212112221121212111121112122112221111222222122212212112111222211221122112111221122111221121221222122222221121121222221111221221211121212121122212212211211221111121112121112122122222112211222221121121121211112221212122122121212111222221212211121222212222222112122121122112212211211211212111122222122211111111221221112211211212122112122222112112122212111121212122112221221111212211112122211211111111121221222111111111222111221221212122222211212111122221222222221122212112222211121112222211112121111112211221112122111121222221112111221212222122122221122221221221111222122221222221212221222121222212211211122221111212211211211122112121111211121112112111221121111222122221112212221222221112121221121212111221111112212111212212121121112222111112112212121221222221221212122221111211112212121222211211211211122112212221121212111121121221211212222111112122122112111121222112112212111112211222121211222212221211212122121211211111122212211111222111122221121121122222121211112111221212111111122211122122212212222222112121121212121222121121112211121112211222112221112212122121222121122111121211212121112112212211112211222111112112121221221222211121122122222221122111112212211112212212221111212222111122112122111221121212211222211222222221212121211111211211111221212111122212221112211212222212222121221211222111212112122112211112211221211211221122122122212121122211121111112122111112212112212121122122211122121111121122112112121221122112121122111121122212111222221211111112121122122121121122122221121112211222221111111212112221121112121221221222211121122211122222221221222212222222221121211212112122111211211212121122121222122112212121212221121212122211121121212122221111121222122112222212121121212112121211122211221122212211212222221211222211121211121222122122211212221212211221211112111121212222221112111112211111122121222122222112221122122222112211122222211211212211112111121222111121222221122111121122122221212111221121122221211221112211212211221221122211222121112221122121112122211212222111111121111122222122212221221121212221221122121212121222121221212222112121222121122221111122112222112221111112212212121122212211122112112112222111111111221111211211211212211112121211222222221122212121212122112222222122121211112112112122122222111212112221211222212122121222222221212112211111221211121122221212222121222111212112211211112222111222222122122122122222111212212212112222211211112111111111222121222212221212122221111121212212112221112112211211211221122221222112221122122122112211111112211212211212111121121122222212222211212112121222211211121222212121121121211212212211221112112222122222221121221122112221212212212212212121211222212212122221112122112211122111221221111212121221222212211211212221221111122121211111222121122111111211122112222211121212111221222111212121112111122221222222112212121212221222221121212122211212222112122212121111121222111122122212111121121212112111112121122122112221122121121221211211121221112111122121122112112121212122212122121211222121212222221222112212112222211122111112222111121221111222211212221212222121222211122111122222111112121111211211111111111212112221212112221111222121111221121221211222111222211222221222121212211112211211122112122121122121121211112222212211212221121221212121212211121212121221211222122112211112111211122121112221122221112122111211212212211222222121121221122111112112211222222111121111112221222111122212222112112112122221122112112112122121221212221212221211112111211212111111112121212212122122121221211221121112121211111212211212222212212122212222211122111212211112112122112111121222121221211222112211222121112112122121121111121122121111122211211221211221122222121111122112212111221111212122122211221221211212212111212122112221221111222222122111211212121122111121112211122112121212212211111121221111121112122112122121122222122221222122122122122212112222211221222212112212221121112212221121112111212111112222211112122212211221112111112222122121112122111221112122111112221222121112121112222212122212221111112112111111112222121222111111122111111222121212212122121222221222121122212211121212221212122222111122121212121111212112222211221211211121112112212221122112121221121222212212122212221211222111212121112121122222222112111121122212222211111111112212122122121222112212122122212212121212211222212211121221112111211222211112112211212212211212111122212222111211222212112121212112212111222222212122121122212121212212111221211121211221121112121112221112222221221221212121122111222211121111212122121122121111122111212222211122211221211112111222222221211111211112121221222112211121221221111211212122111212212112112212121121112112122121222121222121221122122211111221221112111112112222122121122111111111121112222121122211122112122111222211121112212222212221122112111111222212111211122222121222112121111122111211211112121212122211221212111111212122211112112112122211111121112111221122111112211221111112221221211111211111221211111222111222121222122211221112111112122122211122221222212211122112122111111222122111112111211211112122222111121211221122112112221222112122212211112212112112211212122111112121221111211212221221222221112122211221222121221221222121121222111222122122121122112212122221111111212222211222212121122112122222121212212212211121112122111212122212111221212221211121122122111112222222121122111221211122212122121222122122221121122222112112112111122211222211112221222112221111111112112211111212121121112222222112212212211221221111122112121212111112211112122212112221122122121121212112121221211112121211121122112122221222212111212112221222121211221122221212111121222222112211112111122111122222121221211211222221222121111212211111111211221212112121111221121121111221111221221211222121111122212121211221221212212211222112211111211112122221221121111112221212122122211122112222112121211212222111112121111222221221221112121212211221121221211121122221211122112211122211222122121121112121221222121121111211211222212121211221112212222221211112111111111222121211111212121122121111212122112212121112121222212221211222212212111222111121121211212122221112122212111222222122221222221212211121121212121111112212111112122111111112212122222111212112112111221122121121121211122212212221121121211222211212122112122122112122112111111111111122212222121222121112221122111122111111122212111222222122121212212222222121211221112211221212221112222111222211221221122111112222112121211211222122212211211111212112211212111211111221212221212211121122111221122122111112121112122112111222211211122112111121121221211121212122222122211222122122122122212122111211221221121211111122122111212222211111222121212121121122111222222211121211211212221112121211122221112122111221122122221122211221112121121121222212221222121121122211111212211212122222112211121111211211111112212121212111222211212212222121222222121211121211212212221121221211211112211221222112122122121111221222111221122112122212221112211122222111122111111212222221111112211211222111121111222121212212221112121221111122211221121211122222212212222222122222212221212221211112222122221221121122112211212122221111121211112112222212212121221221212122121211211121221111212111211221111111222222121121111212211222111211211122221112211211111221222211111212111122221221222121212222212221122122122212211212112222221222211121111111121211112212122122122212212221112112222122121111112221122222222122111121211212121212112121122222221211111122211222222112122222111221122211111212212112122222221211122111221212211221122111111112212111121111212212212121222221112211122212211112222212212211211211211221122111111221121211112121122211121122121211211212112112221212221111122121221212111112221211122212221221121212211111111221121122121221211222122121221111111222121121111221112221112212222211121222211122122221111112112111222212221111212222122212212122221211221212112211111211122221111122211211112222211122211121222121121122221122121112112111221221212222212121211221121211121122222121111121221111111222121121212222122222212122211221111122121111212222111111222122211122112221221122112212212122121221112222211211121211221112211121112111121122211112221122222222211212111211111212121222212211221121221211222111221222222222221211122121211111212122122221112112121121212112111221221222111212111221122121212112222122112222112211121212212211121222221111211221122222111112111121112112211212112112112122112111221112212122211122122111111221112211211222122212212112121112211221112222121212221111212222112121112221211111122122222211221212222222121211121211111222212221221211212211212222122122121222122222111211112212222212111112122211112122122111111211221212211212111112211212222122211121212121221121112112111112112212211212121212122121121212211111111211122212212222122212122212112212221121122222222121122212221221221212112121121121122122111212221112122212111121111121222112111111122211122121111211112111221122222111111111122211211221221111221212112112112211111221112112212222121122211121112221121111111122211222112112121121222222112221122122211122111212112112221222222121111121221122222112121211221211112121222121222211222212221212221121221111111122122112222212222112122111222221112212112211211111122122222112212112221211222111212121212111212121112211122121221221122121122211122111222212211112111111221211112212122222212121221222112122211121112121122221112121212222212221211121121221111212112221221222211211122121121212211111121121221122222122122222112222122111211121221221212222211221222222122121221221112122121222212122221112211221111212222111121121222122122112122112122112121212221222222112121112211112211222222211121222221212212121111122121111122212121222212111212112212212221221211211122212211122222211121111122222211212221112112212212211112222111221121222112111122111211221121211111112122212122221222212121122112221111212221211211111221221212112121221122221221111211222121211122121212121122222221121111211212221211111221112112212211212222121121121222121221222212112111221112211212122111121121111212122212122111112121111221221222111212222121112222211122112122121211212212112212221111122112112221221212122221211122121211111212222122211212122111211211111222111222212222221222211121112211221221122212111212112122212121111222112211111111122222112111211221222221211211211122122122221112222122212222212211212211112212222222222211221122222121221111122222222122121122111222221211112211221212211112211222122222112122212211212212222222111222222211112121122212121112212211211211212122121222122121211222112212112122121112222211212112212122211111121211221221121211122212212222221112211211112222111121111222121212222221122112121221212211112121212212122121122212221122222121111222121122211112211221111211221221122211221121121221212212222121111212211122222121112111212121111121112212121221221221222212112212211212122121221222112122121111211111221121212122211221111121211221221221122111121222111122212121122112112211121222122221221122221122121221212112121122121122212222111121111121111111112221212212221211112211222112222122121211221222111122121211122221212122111112111221222112112211111121112221121112211212212222221221121121122111121221212121112122111211221121111212112212222221211111222122121111212111112212222211121222121121222111111111212122122222111211111212122122211222222221111121121212221211121121212211221112111211221121211112112122222112221222111222222221222122212221222221221211222111112221111111212122112122221112222211122222212221221222121211121212121222212222212212222212121121212222222112221121112121221222222212212212111211122112112212221122211212211121111122212222121111211211221112211122221121121222212211121112212112221112121122222211122211111222111221111221121212112222121111111111122222221212222112112112111222211222111211212211221211121222121122221112112111122122222221221121112112112221212221122222111221122122221122211221122221111222221211122121212222222111122222122112222111222112211221211122212222122111221122221111211221221211211221222211121121111211111221121121211222122222211122111112121112122122111112212211122111212111221221121211112121211212112112111211222222122111121211222122212221221121122121112211221112222222112221212212211212212111121112111112111122211112121221212222221112211222121212212122112212112111121221211211112112111121112222221221211212212222222121211111212222222222221222121121221122212112222212112221121221111212212121121211122212121212212222121112212111212111121221222212221211212112122112122122211111121111221111121212222212121212122121222222122121121111221121221112222112221121121222222111212212221112121211121221121221111112111212112222112111121121222222221112122221211111211111211211121211211221122112222211122121121111112211112222221122122121112222212212111212212122222222211112112211212221221221211222121112221112122212121222122212122222221121222111111122122212211221211222122212121221121121212111121211111222221111112221122211112122122111222221222111211111122112211111111112111211122112122121111111211121112111121121111112111112212111122211121122222221211221212112121111212221122211211212111222222221222222122121222121111221121122122122211111122211111112121211212212212111212212121212211111212112111112111222222212122222121111122111211221122121112122111111222122212121112122122111211222211111212222122122222112122221121211222212211121122112211221121121212212111212222122122221121211221211112211212222122112211121111212212221112222121211211122112221212112221212111121122212221222222112121111211211122121222111212121211211111112111212212211221211222111122221112121212222122112121222212111111121112121222211211212212121211122222122221122111112212122222111222211121111221212122211211221222221221222222221221222212111212112221111211222111121112212221211212122222111212121222112211111122211111221211122112112112211221212222212212222212112222222111112121222222112111111111221222221112211222112222221221121212111222222212222122121111221122111121122211112222122112212222111122122222122111112222122121212122121122212122221221111221212122112222121222212111222212112212221112121121211221212121111212222212111212112211211222122221221111222211211112121221221112111212121212212222122211212112122121121212211211212122112112112222221111212222221122121221212112111122221122122122212121121112222112112222222122121211122111211121222122212112121122211212221221222221221221112122112221122122121212222121222112211122121211111122222221221211121221212122212222221111121212221121211111121212112122212222121211221212111221121111111112112122221212221211112212222212221112221212112211221221211221121221121122122222111121112111111221221221111212122221121112111211121111122222122111222211211111211211212222111111111111221121112111121121221212111122112111222211121211211122222211221111221211221112122221222111211221121111111222112222222121122111222221212221111211122111211212112112121112121111211112122211122112222212222111111121221112211222122112111211221211211221122111211111121111212221122221121122212121222212111122111222112221112221111222121221111121212122122212222212221221221121222111222221112221222112111121122211121212211221221211112122111212111211212212222211112112112221111122122211211222121221121122222122221112212122112112122221211211212222111112212122111222122222121122221222212112211112111112121222121211111111111122212221122221112122121111121222221221211212111221121211111222222211222221112211211212122221121211121212211212111212122112222212211212121121121111112212121221211112111212111122122221221111222122212112211121122221112111212122211222221222121222222211222211122111212212221222212122112221221121221121111122121221121121121111212212121121122211122112211212112122211222112221121222122221212121222121222212111212111121221121121211222121112121112122121211221222111111221112122122221121221121111112222211111111212112221211111221221122112221122211121121221121212211112122212122222112121221212111111222121121121111222212222122111121221112211112222211112212121111112211112111212212111122121211112212112121111211222122111122222211211111122111121122111112221112222222121212222111122112121121122122112221222221222122211121211211222111221212222212211122112222122211222211121121121211121111211112111222222212212222222221221211222221122122212122221221212221212121211221112221122212212221222222221112212121212222122221121122221221222111112221112211112111112222221122211112221222112121122212221121222212221112111121222112222211212112112211221211122121212112112112222111112121111112122221221122221211111211112211121221122122121112111222212121211211111212111211111211111122122121211122222111121112111111122221112122222222111111122111211112122112121221121111221121212221122212121111212112222122122222112112112222212222222222121212111222222121212112221122112121222222211122212112122112121122112122211221112112112112222112112111212212112111222212111221122221222211122112211211212211121212222121111211211222212111211112212112112112121212221211211222121122121121222211212111121121122112211112121121122212221112111122121221211121122121212222222221222221211122211212121211122121221222121211121212111122222121221121222121111121221112121121212221212121121212111112111221121211112121112122221211222221211222212122221112112112221221221221111112112221212211211122112211221121222221112212112112112221122221121221111112212212112121221111122112212222112112211222211221212211121111221211212222122112222222222211212212211221121111222121212122112112221212211112122122211211111111222222112111222212121112221122211121211211111112112111211111211122211111222212111222111211111122211111211111112222111221121212222222211122121221121111211211221211212212211121111212212111121121212212121121121112211222221112111222111121112121221212122222122212122212121211122211212211111212122121112112121111222212122111122121221211122212112112112111122111221111122111121112122121221221221222121222121111211212112111222112211111211122212112211212122112222112122111122122221212212112111121222121122122122222221221221111121211222121121221221212121212122112112221222121221212222211112112221112221121111111211212221221211112111211212112221112222121212221222122222211211212221222211211221112211222121222121121212212122212112211121222122222222212121112112111112122221211211112122222222211121121112112211211221211212221111211212222121121222211111112111122222112221212211211212221222111212222211122122211221222212121122212112112211211212211212221211222212212222122112122212112111122111221221121121112212121122222211112111222111212121211221222111221111221221211122212111221212121111221221112111212221222111222112112121221111212111212212111211212212212222122111121222211221212121211111121211122111112121121221221121222121112222121111222212111221212122222121211112211122121222121121221222212221121221111211122222121112222111111111212211211111211112111221122211221211221212112122122121122222121221121221211211112222212212122112222122222121221221122221211111211222122211122211111212222112112212212112222211222122212121211212212112211221221112211212222122211121211121112211211222211122212221121122121112221111211111111122112211122211122221122121212221121222111122211222122222121212221212222122112111122111121211122122212222111212221111122121122222222122221222112122111221122212122211221222121211121121222221212111221122221122211122221212221212112122212121212222211212121122112211222122221122211111121212112211211211221222112112212222111211122212222221222112122211122111121222221121122111221221112122112221111212212112211121221211121122221111222111211211112122111211122112222212211222112212211122221211211111212221122222222122221111121121222121121112211221211121212212212111112121221111121112112122211212111212112212121121211212112222211212122121122212121122221222122111112111122111111121221212121221221112211222222121122212212122122222111221212121211211111211122211122111112222212211212221121221222121121121221121112212121221212212221112112221212122112112212111121212112212121221221211222121212121222121212222112121212111121211112222212111122122212122222211121121222221212212122211212212122122121111221111112122122111212211222212111111222121121121222221211121211122221222222122122211121112122211211212222122121122122122121212112212111122111122212212212121112212122112112222222212112211212221111222221221212222112221121111221121122111221222222121122121122112121212221111221212121122222122121221222221222112122211122111221121122211112212111111212111111212221221111211221221222222122211111221121211121221212121112121212211221221122211111211111211222112211122111222211221112111221211122212112212222221122221222112112212221111112112111211112221211111112122222111111221122222111112212211112111222112211222121112111221121212121112112212111122211211122122112211212111122212111212222122111111211211212112121222122222221222221121211212122222121212212111121112211111222221122221121112111122212211222221211121212211112212211211211221222111211222221121221121112112111111212122221211122222121121222111122212221121212112121111212111111221221121212111211122212222121121121212212111211222121221111211112221122221212112211122211211111111111211211212111211111121221222221222212122121121221122112112122212111122111211221221122122212221112122121111212111212221212222212122121221111222121211122212111222211211212212222212221112221222212211222222121212211222121221212212212222121212222222122222112122121212121212221121122221222222121222212212122211121222121221122222122221122122222111221221211212212212221222111211212122221212212211122211221121112121212112112111122212212122121121222122222112221212111221221122112221111221121111221121122112212221222112121211221222222221122211111211221211122221122111122222111211112111111212121121221111121111112212221122122121212212112221112111222211222122122112121121212122211222211211121112212211211111212122212212211112222222122111212211121212221112212222112112111121121121112122112121221112212111111122222211212122112112212122111212222122221221121211122221122211212112122222222112222111212112121211122212211211121122122112221222211211211121211122122111111111121112211221112112111111121122111121211121112212211122122111112222222111212122112121111221221112112221222212221212112112121112121112212221222122111221222222211212111221111112112212111222122112211212111121211122221222221212211111222221121222211122121112121222221211121112212112212121112221121221121121212211122121212112111221212211211221211112122212221221222111111122212121112211221221112221222211212221122112211122211112111122222222112121222222222212112112211121122212111122121111111122111221122221121111211112221211221122122121221122211121112122212221122221212122211221221222221122111211221111111112222211212212112221221112121111122121222121122221212122112221121111211222221121121111222211121212222122222211221111222121212212212211222221212121211112222212112211122111112122222212122121112211212221121112121111212121212221221121222212122112122121122111212211112212211122112222111211122122221122112112121111222112221111122121222212122122122122112212222111112211112112211122121121112212112222212122221111121121222212122111222112221112211221211121211111122222222211222112112121112121122111221122222121222211122221212212221121212111112112111212111212121222211111112222211111111111122222112111112111221111122121111212111222122222122212122221221111212122112212211212121222121111221212222211211111111211222121222111122212222221221112121121212212122211121222211121112222222222221221111121111121221121221222112122212121221221211121222222111211122112112122212211222211111111211222222222211211112221221222122221222122212122111122112222122111211122212221112111222222222221121221222122121221112111221112122121222111111211222222222221111211212112121221121211212211221122222111212222122211111211111121212111112122221212212111112121211121222112121222211212122112122112221221222111211222111211211221221211112122121111112112221221222121121112212121111221121211221121221122112222111111211211222121222222112211121212221121121112211212212212221112221211112211122221112221112122221121211121122212212221222212112222211111212221221122212122122112212222111211122111122211221122112121122112112211112221211211121122212221122122211111121212122121211211211111211222211112112122112112221222111112211111221222111122222212111111212212111112212111221221211122221222222212112221112111111122121212211111222112212212211122221112221112112122111122222111122112212112122111211221121122111222122212211212212222111111111122111211221221122122121212222222221111111111222221221211212221221222221122121222212121211122222221211111211212212211121221222221221121122122121121221212211212111221211222112222121111112221111221122122112111111122211222112211212122222211122111121122212221221211112111222112221212222112111212211122221111111112211122221221222222212112221211211111121221222221122212222212112111221112122121112111121221222122212112122212212121221112222122211221222111211211111221111212121111211122212111222222222121211111222111111112122112121221111222211112221121212111121122221122111221121111212121121121212211212221222112112222122222211212122212111221221112221212122122222212221222222111121221112211212221122112212222211121221211211121111122112111122212111221222112121112211221211222122121211221121221221111222111111211222122122122221121122112211211121211112222121211121221221121212221111221211111221211121112111121122122111221211212212112211122222112121212112111122211122221112121221222221211121222121222121112112212121121211211221211111121221111212122122222122212211211122122222122221222121122112211221222211121111112222212222221122112121211222122112121122212121111221122221122221111111122211212221211212221121121112121122121211221112222222112121212211221221211212121112221122211112212122111221221112122211211111122111121212221221121222212211222112221212211121212222212211212112111212221212111121112222212122212122122221121211221212221222112221112111112111111112122111211111212112211221221112122221222212211222121112221121121211111211211121111122212111212121112121211111122112222121211112221212122121122221122221211212221122221212211222121222121122111112222211211121112122222112212112222222111222211111212121212112112112122111212122221122221111211211111111222222122111221211112122112111122211222221111212122221122121111212221221112211121121221111111111221221111211221211212222221222222211221122211112222121111212222112212122211112122212111211112121122212122122212111121212222112121212121211221122122211112121111222121121121211211212222122121212121221212122212111122111111121121211211112112211211112222221121222121211212222112221222211122212112212111221121221112212122121222121121212221222221111112222122221211112112212112212112222121112122222122221222112221221212112221112211112221122212222122121222112112212222211111111211212112211112211122212211111122111222121212111122211122211122212121222222211112111222221111222111122222111111112212111111122112212222112122122111222112222111111221212121122222222111221112221122121112222211111111212121122112122122121212111122122112112121122112122212111222111111111221222121121222221211111112221222121112212112212221122212212111111111221222122121112111212221122111222122111121122112112212222121122122221122112212121111112122121222121211112111211112211222121112222112111221122211211112211122112221122122212221122212222222112211111112211121211222121112111122122111212112112222212211222221221111211111122211221211122122121122211211122222222112112121221121222212221212211222121122112222212222211221112121112212112111221111121121122112121121112112121222111112222211111211111211122121111212112221122221221112122222212211122112221221212211112122122111121122221221111122211212121212111211212221112212211221111222211121222112212211122111221221211122212222211211211122122211122122111122212112211212222221221122221211222222122121112112221211121211211212111121112112122222111122212212112221121222221212121221121211111111111112211111212221122222111212212221221211221121112221122112212112112121122122211112221222222211111222122111112121212111112211112212221212211121222112212221111212211221122121122121221121212212211111212221221121222111211211111112222221221122222222221211112112121122222111211222212121212221211211221112221112222222112221122221112122221211212211212211121221111212111222212211111212112111222122112222111122122122221111122221112112122211222221211112211122122122211211212122221221211212212222111212122222221212122221112111212212121122112222121111111211121112122212121121221222112212211111211222212111212122122111112212121221111222221211221211211212222221121221211222122222212111222222222212212212111222112121111121211211111121212122122111121211121111222112212121212112221211211122212222111212211122121212112221112122221111221112112222212221222212122211221212122212111212212221121121111112122121111211111221212222222222221222211221111122212221212212211222211111212121111111212112122211221121222121111122211111222122222222211221122122121222121111222221212122111221121111111221122211221222221111222112212121112122212212211112112112122112211122122122122112111112121121122212212112112111222122121221222111222122221212112121112112121211221212112121211112112212221222111222212122121111121211212122212112212212212212212121112222222222212111212122122222112122211122212211111112111222221112222221222211112212121212122211121211211122122212211111121211221122122221212211211221211121121212121121122222121121112121212212221121211111212121112112221122222112212212211211211211121111221222122212112111111211221211121122221222112122222212112122222121111211211112212121121211112111121111222122212212212121222112122111222122222212222121121121112111121221212222221121122122111211112211112212222212112221111121121212211112122222111222211112222111112122111212211221111212212222122221122112221222211111111112212212111211122211221122121222112122121211222212111212222212221221112211122112111221121111221212222122222212212211122122211122111112212111122112122122111122122121222212111211112122212122111121211122122222111212121121212211212112121111221222212211121221221111121111121221221111222112121112122111122211121121122121112212222122111111211112121212111222112212111222111112121121112112221211111212212112121222122211222121111111222121222121111221122122212212122222211212221112222112212121111111111111122222121112211111212211222122121222221212111211211111122222222121221112122212111212122112222112212111111221222212222221211221121112211122111211111212222211121112222112212112221122111112121211111222211222211222112212122212111122111111212111212111221211211111212212121222112221122212121222111122212111211212121112221111122221121112222212112111122121122122221211111111111212111112111122211122122122122211121221212211112121122222111111221111211222111121121121221112111121122211212211221111112122121221211211111222121121112112212211122212112211122222111211112222122221212122221222222221222111122211122112221221122121212212122212222221222122222121112112211211212212211121211212222211111211121122122222111211121112111112212112122122222212222122212111111211222111222122212221122112221221111111112211111211121211121222211122111122221122221112212111212122122222212122111222211122121122211111212212112122122212111122121211121122211122212221112212122112222122222112111211121121111212112211212122122221212122211212122111222212222212112211221112121112211122112112112121121222121221212212221222211112222221212112221221122221211221122112222211212121122122111211121222211122211111121221111221121221211111212211212112211112121221211112122121112122221121122122111122112112122121112121111112112122122211112111112221121121211111111111121221221211221212211212111212212222212212222221112211221212122221122111212121221111121221222221122211211121111122121222112222211221221211222212221122222121112212212112222121211211111121122111111122111222222222211121222112121211122112221112221222221211212122111212111221211221212212122221121122112221122211112212111221121121212122122212122222122121221122121111221111211211221121121211212111222211122112122212211221221111211222111121122122222122221112211122211212122111122122221111211222112211222221112122212212221111112112212221122221121112112211211122112222212221122221221221211212221112121222121211212111122112111111221212222222212222212112121212212112221111122122221122122122111122112112221211112222111212122111212121211211211212211111121212121122111121121122111121222122211121111212112122122211211211111212112221122121211122111221221112212211111111211212112222221211121221111122221122122221211222222222221222212221221222221112121111222212221111221212121221212212122212221222222122122121112222112221121121121222222222112221211112221112211221212222221222121212221122121112122111111122221212112221121222211211221222222221212122221121221122222222122111222112211211211211222122222222211222121222122221212212112111211111221111121211211221222111111122122111212221221111121211211121121122221222121221112222112111121121122221212222221212111222112221222112212122211222122222111121122121122221122112211112212121212221122221122211221222222121121221111222221121122211211111121211112122222112111212112111221222112111211112212212222112222122121221112122211121212122212221211212221122221111212122112121222212211212122222212221212112221112112221111112211122212111111211121122221111212211121121121212122112212121122121121111121112211222221112212112221212221112112222122212122222121222222211221212112112212122122221211122221111111112111121111221221222212212112112121111212212122112211112221112212221222121111222111121222211211221222222122221221222112122221211112212122122222121222122222211221212221222222111122121112222221121222122211222121212121111212112222212111111221211212211121112122222221221221222122122111221111222122221122222111112121111122221111122122111212112121221111112112122221212112112121122122111212111212211122221212212211211211212111221221221111211122211111221122222222112212212111212111122122121122111222221221121112121212112112122121211222111221221212112211211222121121221121122222212211121221112222222112222111211112112122212212211112111221112111112212221121221112122121222111211111222121121111222211112112212221112112112112212112222212222211212222221212121121111121212112221112212112111122122211222212112211221122111222211211211111112212212221211212121211212112121212112221111121221112221212211212122221112222222112212121211222122221112122222121221221211111211212112212211222211111221112122112111122121111211211112111221212121222111122121222122121121212122121112121211212122221121112122212122221112222112112221112121222212212221112121222212212121222112212112222122111112211212112112111121211221112122211221221122221212122111111111121212122112112111212122111111112111211122112121212112121221212121111222121112122222121122222211211212122212211212122221121211111122212212211222112121122112212221111212212112221121122212121122221211111221212221111221222111222212121221221222221122111222111221111111122211112222121111121122211211111122122122122211112222112111221111211212211212122222111122211111221211221211221112212221222222111221111112112121112222212212222122121112112212221222211111121111112211121122221111211211211112211121121121121121222112111121122121211121222222222121222112221121122222112121112111122122112221222222222221112222221111122222122222221221221121112121112212112211212111221111222211112222111111221111222112212112121122112121111212221212122222112111221221221122221221111212211211222212222112212211212212221121221121121121111221221222211222221212222211211122122222112112212222121122222122222222121121222221221121221211211121122212212211211121221211221222121111122122222221221122221112121111211111212212112222222122211111221112221122111112221112112111211221212111211221122211212122111212222221211212222122221122122112121111211221222121121212121221112211122222212111221212121211111211211122211122121211112221112121121222222122112221111221112121121122112222212221122222221121122112222122222211222211222211121121112221212221212212112112222111212112212211221211211112122221211211111112221121211122121221222111112211221222222112221211121112221122222211221222111112122221111121122112122121111222222211211212121112111111122121121111122111211121122111122122122111121122212111111212222111111122221221121121222112211111222212211211221121212212212212211212211112221212211122112112222121221121112112121221111112211221222122122121221122121112121121212111212112112111121122122211122111121212211112211211221211212222221121122121112122211221121212121211122122111122112122112221222221121112122212121221222122221222122212111212121212212211112221211111111112121211112222111112211112112222211121111221111122121122211211211122122221222112121222212122112212121121111111221221122121221122111122222121122122112121221212121112221222112222112121222112112121222222221222222222112122222211221111122112212112211122111222222221111211221221122122122212222121122112111121212211121121211121212212222122221222222222112112221222112121222121121112221112122222112222121112222212212112221212111112112121222111211212211222212111121111122121121221221221121222121221211111211212221212122111112222221112212221211212111121121212222121221221111212221122221121221222111212221211221111212222111121122222221122122211112211212111221212222222221212211111112221221211211111121121111211112221122112122222122211112221112122112121222122212112212211121111211122122211111222211122221221121221222111121221112212222211111221212111211222222212221221122112221212111122221112212122222112211212212111221222121211122212112112222121122121111211212221221121212112221111222122212121111121211112111111222222122122112222122112112112121211122212111111221111222212121221222111112222221122112111211122111211121112222222222222222112111111221211211121211112111221222111111111212122122222122121121112122121121211112212121121122122222212111212112112121112211112221221222121211121122221221112212112212212111221111112221212212211221111112112221221211211122122112221212121112112211222211112211212111112121211222222212111211111212221222221211211212122212221222122111222112222112112221211222111122221122211221121122111222211212111111112211121211121211111222111121211121221212212221121112122122121221221212221221121111122121211221212212221122212112211112121122222211121121122222212221122122111122112121121111221122212211121222122211212212222222221122211111222112112121222222221212221111222122212211222222211112122222111122212121221222211121221212221112222121122212111221212111221222122212221122122211111212211121122211222221122221212222121221112221222122112121212211212112222222112222122222211111121212221122112121222121121112122111121212222212112112121111112122112122222112212221111121121121211222112212211121221122212212222221222212212121212221122222122122222121221212111212122112222122122122211212221222112111221212121111212112211221212222111122122112121111222121111221112122111212121121121122211121112222222212111212112111221212122122212222122221122221112111112111111221121121121121222222122221122222212111211122211211122221211212122222122112212212221212222221121122212112212121111122221111111222221112111111211211112211221111111112222112221212212122222222112221111222121122212112221111121122122221111112111211212112112122112111122111121222222211212221221221121112111212211222122112112121112122222212121112112211112212122112121122211122211111212112121112121112122212222122111122221112111221112211112112111122212122212211221222112111221112112121111122111221112212222122112211111121122212222122112211212112211211121211111222211212211222112221111121222121222212122112211211222211222111221112212111111121222111111111112212211212121111211211222221212112121221121121122211112221112212212221222122221221112222111212211121222222121221212211122122222211112112121121222122121112111111211112212211222221122112221111221212222111221212111112212112121122111111112222111211212111211212221222121222221221212112121111121212122121112222212221211211121222211212122111211111211121111222111222111112212211221211121112121111121121222112111122222112122222222211111122221222222212122211122212122211122121121121211121221211212111211212222222112112212121122222212212111112212111112222221212112111121212212222221222222221111112222121111222211222222121211122122111212112221112222111111121112112122112211111112121222211222121211121222211211111112211212122211121122221112122221222111211222112122222112221121222121111222221221111112212121122122221222111121122221122221112212211222211112221112221112121121122122212111122111211122121121212221112221221111221111221212212111121222112212222122122122111111111221122112211111111122121122121111112121222112222121121222121222212121222221211222222122211122211112211222111212122122222212112122211222212112112121212121111211211211121111222212222212212221222112222211222212211222121112221112221212111122111121112112222222121121121121111112212221121112111111211221122121211221222211112112122111212122121212121222221222121211211211122111112221221122122221122121122111211221211212211212122212122111121222122112112211211221112112112212211211111122221121111111212211122111222121111122112221211222112112122211122221121222222112111121112222112122121221121211122122211221221122212111211212211111211212121121222222221221112112112222122122122211111122122222212212111122122222121222222211111222112221122112122211221121112112212111211111211211212112212112221121121222122221112122122221111222112122222121222222221221221221111211111122211222221122121221111221211111111211221221222212121121221222122122122111221211211112112212111111222121112111122121121222121111212122222121111121212221121122211112221121222121222212222212111112112111112121112112222111211222111111112222122122212112211222112222121222211122211221212111222111112122112111212221111122212112111222112122121112212212211221111212122121112212211112222111122221112212112221111112222122111212211211222222112221222112122212112212112121111212122111211111212122222222211211211111222221221121122111112111222222211211211211222122212212111221122111221222121112222122121212221222222112211222121212122111211111112121222222121121112121111112211222211212112121222212221221222112221221121221111112212222112221121111221221121121221212221111121111111121221121211212221211122111211212222211121222221222121111221212212212212221112221111122122211211212211212222122221212211112221212211211121211211222221222122212111111211221122222122221222111121111112211211211221122111221122221221122122211222112122222121112122211212111211111112212211221111122222211212221211122222122111112211112121212222121111211211222122111121212211121122112111111211122122222122222212221221211211221112222211112222212212212222112121211221212112221122221222122112112111121212111121211121211212211112122121121212121111121111121111112112211122121111212111212112122211112222112211122111221211112212222211112222112211111212122122222212121212122121222112122211222121121111222211211212212111112222211112211222111111111121222122212111112211211211212221112211222222111111122211111211222212111222221121221111222211111112212112211221212221212112211221222111212221212211211111212221221122111112221221111212212111221222112211111222211122112212222221121222211222222111221121121112122122111112112111212221122111112221222222221121222111211221121122112212212122221122222221221121111221211112112112122121121122122112221122121112121111212112121211122112122112111112221111222221122212111212111112121111211221112121111112121221212122112111222122211212211122211111222212212221111221111211212111121112211122211112221121212121121211111221122221111222221211122111221121122111122121221122212222212221111121121122111121211122112222112211222111122222212211112211211221122211212122122111211121112212212122112221211212111222111212112211122221211121121211111222222222121122111222221211121221122121122212121212122212121122121122121111211211121221212211121112212122211112211211112222221111211121222211221221212122112122211222212122122221112111112111212221122222121221221221221222212222212212212112221211211122121222121122222111222121221121211111122212122122111221121121212222121222222111212122112221111221111112211112211212212212212221221221112222121212221222122222222121221112112212221211112112222112122121121121121221122211212112111112221211112211111211221211121221211122112212221212111221222221211122222112211112211122112111112112122222222122222222222111112112111121111111212111211222111221111212121121111122211211211211222112222111211211112221212111121212212221212112221212112212112221211222121111111112112211222221211211122212222111212122121111122112212122222111221221212221211212212112221111211221222212211211221222121112221222111222121211211121211122122211221111121122111212211211222221212211112211112211212112122111122212111122212111122211211121122212112112122122222112111111122212112121122221112122111221221222211221222121122111112212212121212121211222222111221211122121221122221211221221222112112221122111211222111121122111121221222122122111122211221122211121212211212111211221122112212212112211121211112121121221112212221211121111212122111222211112211211111212222111111222212221112112122212222121211112122212111211112121112221211222222121212212221222122111122221222222112222112222222212211121122222212222122111211121222212112111221121112212122122111112211122212111221121211121212122211112111211122212211222112122122112111122122212121211212222222212122221212121121111211211111111111222111221112211111212112112111212122222221222111121221212121122211111212111121221111122212222111221111211122212222121211222212111121211211122222211212212222122122211211122211212221121211221211212212122212112121111122212221111221112111112222111212111111212122211222222222222221222221211111112211122121222211121212211212222122212212221211222212222121211212222122121112212222222112222212121222121221111112111211221112111222112111222111211222211111212122222211121121221111222222111211112212112111221121112121211121221111221211122212212221111211212121112111211221121212122212111222221112211211211221221212222221222221111221222211122221112111222211122122111221121112112111222212122221211112212212122111121211221111221212112111221121222212122112111112212121121121122122212122121122211122111112212211211222222212221122221121121221221221221221112111211211212122221222122112221222212121212121111122122121212221211111211112112121111221222122211222121211122111112211211211212121112221122212211121121212112111211112122121211121122121121211111222111112222112211122121122222222211212211111121122222212121222221121122211112112211111211211221222221211221122222222121121121121211122122122122212111112211211211212112121211212212112212122211111122221211221211112222211222212221121121212221111112221122111212222111112222221121111122122221222212221111122221211221112222122112121221211212112122211222111121211111121211212121221212122121112211212221211122112122211111212112111112211222121212211212221121121221222212121212111212221112111122112112211122111212222222112122211221222211212122111111112111222111212212221121211111112111222212222121212112121212112112111221121112121222212121221121222122221212111111112111221121112222222122211211111212222222222112122211121212211212222222221112222212122221122112221122211111121122112211222211221121122122111211111122112111211212222122212122222122212122212212112221211111212122222121112122211222211212111121111221112121122121122122212211112211222222121222211211111221221121221122212112211211112111221112212211121211222212121211222112121221121212211121121111211111212122221112122211112212211211112221221222222211112211211112122211122212111222122221212211222212112112121221211222122121111111121222111212221111222211111221112212122212112221112121222211111122111222212212211212211111121212122122121211112212211122211212122122111221112112111121121111221212111212222122212222221222111121211122111212222121212222211122221112221112111122121121112111112212221122221111121212122111121221122222112211121122112221121122121111122222221212221111221121112212212222212112112211212122111112211211112222212111122112211112111222122222122221122212211121111111122221221212122211112211112222221212121222121212122222222121212211211112211112122211112222221222212122112212121121111112111222111222121111212212121111111211112212221221212211212211221211221211112211122212221212111222122121122111122221221112122221221121121111121112212122111112122122211221221211212221112122121211212122211122211212211122211111212111221212212212111222111222122222221211111212221212221112221112211111221212121211221212211222212211212122221121121111222122211211211112111111121122221121112222222221211222222122212221112112111112112121121112212212121121122222112212212212211112112112212211212122212211122112221111211121222121211121122221221222221111222221222211211221211212221122221221211212112112221121212111221112211221122211211222122122222211221221122212111122111212211112112221212112222222211121221222222222111222221212112212222122122222111212222221111212122111211122211121221221221211121221211222212122222211211211121212221122112121121122222211112121121112112122221212112111211222122112211111212221221222121122122121212211211121222121221122212111211111111122211211121211112222122222121111111211211212112221122222221121212111212112122121111112212221211212121221221211212122222221211222222222212221122112211121222212221121112211111222212122121222111121222122111221221122112221212211211221221221222121211221121211222111121212122222111222111122112212122212221122111121122221211221121222121212111222121121222112112111112112112111212111122111212112112121121111211211222212121211221222211111221122111111112121111211222121211111122121211122111221122122211222122211211112212212211111211112122211121121222212212222122111211222222121121121222211121212211112222111221212111122121222121122111111112112221212211122112112212211222121211212222112212111121222222211211222212211122222111211122121112111221111122222212112111112122212112112122211222211221211211212221221111222211211112211111121211212122112111211111112212221211221211222112211122211121112221221122111221112122221222121112121211211222121112121112112221122212112121122211221121112212121211122212212122222111122112111122211111212221111121212112122211211121221122221122122122122121211111222112211121222212112221112122111122121111121211211112212112121122122122122221121122121112211122211121112212211221121122112122122211112221212212112221112111212211222122212212121221111111122112211112211212121122121121111121111221212211121222111121111211122222221112121121111112222212122211121221212222212112111222122112122222112111121211122221212221122212121222111122211222222221111122211121121111121121122222212211212211221212111222122112211112111111122222121212212122211221211211212211121112112221111212211111221211222211222121212111221121222111112222222122221211112211222112112221121222222112121112112121221121111122221111121121212212112221222122111112221111212222111112112222212222221211111112111111112212111112222121221221212221222222121221211221222111211211211211221111112212212212121211222212222111211221122121221112211122111211221121112122122122222122222221211221112222121111212111211111212221122121212221212212212122221112112112211122111122121212212121122221212212111211221122222222122111212121111211122121211221121211111122211211221122212221212222211212222121121211212212211112122211212121122222121122211111222121211121211112211221221222211222212222112222222211211211211212211121121222222112211121221221121112111122121221211122111222212122222121121112212221112111211212111122112212112221122211111211112212211211221221122111121221212222221221221112222221211111112112222121111121122111211222121112222222122212112211112121222122211121121221111122222121221212212221111222111121112212112112121222122221222122112221211221111111112112122221211122212221222221222222221221121222212221222212222122222112111121122112212222222211122221222221212211112122112222122212111221211121121212212121122211122121222211222222111111212111212222222221112221222212211122211221111212222121211222222122121212221221112221112211121111221212122222222112211122221212111212122112122112211222121122221112112221221222212211121221121212211122212221121212121112111112212211121122211122122111212111212112111112211112122121221111221111121211121111112222221222222212222211112121211122121122121212121212121111121222212122122111121221222212222212211121111112122221121121222211212211121121212121211122111121112112212221211212121212121111222211121111121112122222212112212112222212222121121122221222212222112222122111212122122211222111212121211122122222222122121122211112211111122122122122222222212112211112212222122222122212212111211222212222211212112111221211221122211122212112111122212122121222121221222221222122111212122221112221112121112222122222122122211222111112121122112211211121121221212221121212122221111222111212222122212211112112221112212122221121112221212122112112212212212222111111222221222222111122122221211111211121212111222211112212121112222112211222122221221211212211221211111222222121222122212112122221112111221122111111221111222211122222122212122111211112112121212111122212121221111221211112122122211122222121112221111222112221211121211111222111212221211211211112112221211221111122212122111121121221212211111211211222111111221221112112212211112222212221121221211122121212112122221112112112112111112122122221212111122211112122212212222111112121212222211122211211121122221122122222222111122211121222121212212222212112121121212221112112112221121222211122222221221122221211211121212212211221212111221121122222221112221112211221122111112112121222221211121212212212111121111221222121122122121212111111212211212221121112121112211112212122121122122212121221112212122221221111222112211222122212111122122112211111112211112222112112121111221121121111122122122221122121111212121111211221211122211211121122122221221111221111221221211122121221122221111111212211122111111211121222121211221111212122221212222212221221111122122122112111221212212121211221121221221121121112222222212222212111111122121122222211112221212222212121221121212222222111121122221211221212221111122211211212112211222212211221112221222221222222212121112112121112212222111122211112212111121121112222112211221222221221222111122122121121111212212112122222222111121221211111121111222211222211221112112121122211111112212122111121112122221221221221111112221212111111111221111221212121111222122211211222122111222112221222111221122111212211211222211111212221121212112121211122222121112212222212111111212111211212222121212212212122211121221122121112212211211222212221122212221122121212112222222121111212122111212112211112212211111211222111221221222221211121122122221112211212222121121121211121222121112221122221222222211211222122211212121122111211121221111112222211221122212112122221222222211222222212122122122112121211211222222211212122211112211212112111122111221222112111122221211122121221212221112121222222112211111111111222112111122211221122121111121122122211122211211211121112212222222112221211122212222211222112111111111221211121122221212111112211222212121122111222211222211221212111222112211222211221222211111222121222122112211211111122121121112112211122221212211122122121222122211112221212212221111222112112212111221122212111122112212111112222212221221222121112121112211112122112121111222122112222212222122222122212112221221112111221121212211221112111112112222211221212211111111122111122121111112212122122211221222222112212222222221121121122121111122212122212212222112221211222122221221112222111121112122212212221222222221212211112111111112112121111222212211111211122212111211222222111221222122111111212221112122122222221111212221222112221222112122212211212221121112122212111111121221122112221122122222221111122212211112111122112221212112222222221212121212212212212111222122221211111111222211221112221212112112112222211112112212222212112122212211122121122112211121122212112221122122111112121221122221212112221121112222122122211122122122222112112212221112122111222212122111222112122221221111112211111211122212111111111211121111121121221111222111121211121212121221222122122221121222211121211212212221211122111112111221111221221121211122122122111112121221221211122222112111121122211222121222121121121212112222222212211212212211112221121122121222122121211212122221212121112211211121212111112222222122212222121112212211211221211122222222122121122222221112112211121121211221122221121222222112212112212122222112121111111212221112112121112222222222221112222211111112221111211122221211212212121111212212211121122121222222111121221121121212212121221221212111211111112111211111122122112222112212121222221212222221111111112111121222112221221112121111211212111212222221211211111222122222221222221211221121121221121112111222112212212212122111221221221211122222212121122111122211221121112222121111221211212211111222211222221121122221221112111221221111122221212111112122122222212222211222211112211112112211211221222211111111212221211221112221222222221222212212222111121221121122222122212112122221112211222222121211121111122222221121212221222122221122222112222111111211111111222111221222111121122111111112211122111122212121222221121121112112211112222121212221211121222121212121122212222122212222122111121222221222212112221122121221112112112222121222122111211112121222111212111122112211122211121221121121111122212212211121221222111221112212221122212121122121212222211122112112221221121212112212111121221121212221211111221122221212211222221122212221122122212111111212112211121211212222211221212112112211122222212221221111112111211111212111211122221212111122111211122211211222211212211211222212122122212212112121211212122212111221221112112111211211221121111212222112212221121212212121112221121221211122112211212212221112122212112121222222111112212212211111222212211211121111121122122121222122112121122121122212121122212121112222222112222112222211211121112212221212211221122221111221212222221212212112112122212122122122211112221221222222121121222211112112122111121122221221121212111122122211122121222221111112111122112122112121121111222111112111122112211111222211222112111211121212212122211121111111111111121111122211222212111221211212122112212221122112111121222122112212112212212222211221212212212221211122112112122211111212221221112121111111111212222221221222112111111122121222212111111112221222122112212112121112221111222121212212221221221211222122112111212212122121111222122121211111221121222211221122122211222211121112211121111111111211221211112221111222121111122111121221111122222222122121222112211121221112212122112112111111212122222111212212111222211121112211212222112121212121221212222211221121221111222112111221111212222121221121111212211121211221122111122221221221211112221222121121111222121222221122111221122221122121121122122211122111212222112112211211121111222111121122121111222211221121121122111111212211211122211111112111212222112112122122122212211221221121121222121121212112112121122222122221121111112212122222112121111221121111222121121222112122221121121221211122111212221122121212111122121121221111121211221221222222222212111112221222221121111212122221222222221121221211122121122212212122211211122221221212121122121212121212211122212211122211212111211122111222222112221122221111221121222121112112121122111212222112222222121121122221112122122211111121222121121112122212112122122112221122222111122221121112212112111121212221122212212221222111211211122121111121121221122212211211222221221221211221121111212211111122221222212122111222121221211121111121222212111222111212112211211112221121112121221222111122211112112111122212222211212221121121221222211122122222111221221222111212221221111211211121221112221121112221221121121112211222212211121222122112112222221211221121122211221121121111122221112212221121111221121112211121212122222212121212221121122121122222211122121211111212112112211122221211222222221111211222221222121222111121221212211112111121222112112221221121121111212221112122221122122222221122221121122122221112212211221122121122112122112212112122221221122111211222122121211121211211112112212212221221122112111211222112211112221221121211222212222222121122121112212112212111111212212221211121221112221111211211112221221221222122111222111121112111212221122221222222111112121212222122121122221121222222222212121111121111211121111212121112121222212212222111211222111121122212122112212221112212211221121221221121121211122121212212111221121121221221111121211121122222222112111122121212221222211221211212112221211221211121121211222121222222112221221121121211222112212122212121212112212112121211112221212112221121122121211221121211122212221112212222222111121122122111112211122212111112122112221112112212212111122221212112221212112211111212221222211122212222112211111222121121121221222111122111111211121212211212221111112211222122222221221122122122212212222111222121121222222122112222212112112122112222222222221121112222122212222221122211211112212211211111212221121212221222121221121122211122122112221212111122122121222122112222221111221122112111112112212212112221112212222122212122221212222121122222121212221112121121111222112221221122221211112121121221211211211212211222221111121111222212122211211211222112222211221221121212222211211121112112222211122222212211222211122212121122112222212121211212112111222121222112222111111122221222221221211122121222221212112212222122212222111222122221121221211222222221222122112221222222111111221212212221111121212112211121222211112122121112121221112212212111222212112122122221222221112221212222121212211212211212122211112212121212222122222222122122212122211221212122212221221122111211112211211112112111211212222221211111222221221211122212111212122122222212122212222112212221211112111222111221112212211122212121212222111111111112121221122211221121121112211112211221211222111112112212212211222111212222222112212121122121121212222221112111222221212121211212222212222111221221221212222111111122212112211121211111221222111212122121121211211212112221212121211212221211121112212222212111111211212222212112122222212222211222111221221112112121222211112111121211112111122121212121222222112121112221111221211111221121211111211211211122221121111211221212221122221222111112221112121212222212222112211221122112112211222121111211121121122211222212122211121212212121222222211221211211211111222122221111112211112112121222121212222221211111211111111112221112221111222121112211122221111121222221221121212221111122122211212122212212112122211221112122122221111222221112221111112212221112222212121211112211211222221121122122122112121212212111122221212222112211221212212222122212221222212111221211222222112212211111221222222122211111111222222121112211211211222222222211111111212111222111121121221222211222122111121121112221111222111122121112221122221221211111111211112112111222111211122222211112222121222221121121122122111221111111211211211222211121121121222211211111222211212122212122112222112212222121221212212222112121111112212111222221221212221112121121211222122122222111112211122121122122222212122212211212122221222122221222111111222111122112212211222112212221211121122211121221122211222122222112222212212212122111212222211222222221222221221221221121212221112221111122222211111121111112221211221222112221221222111121222221111122111211222121122212111112112211221121122122211112121221111121221112221111211212211121112222112221211121111222212122222122122112222221111122112122112111211211211121221111222222221112112212222212112221221211222212121122212111222112122222121222122221112212222111112221221221211122121221111122122121211211121112122111111212212221211211222211211212221121222222122221221212222121111212111111122212221111121111112122111111122121221212221112111112122222211212212221121222211111221122222212122111111222121111121211121222122111222211111211212222221122221221112221221111212122112212221112212112212111121212221122112222221211221212211222221122221121211212222221111211112211222112122211122122221121122111122222211212112111221122211211221112122112112121122222121221221121122211222111121112221111222222122111221211222122122222122111211221221222111112122212212221212112212111112121112222112122112221222122112222221112222211221111221112121222211221112111212211121111111112221222221111122221212221121211212112222222112222121222122222221112122212121112122221122122211211222221222122112111212221111112212222112221122112222211221112222211222111111121212112211111112121222122222121111212111121111211122111221211122212221221212121111222121121122221112111111112222111121212212121111221211111111221122221221222122212121111221222211221211212111112212121122222122211211212111222111122221122222121221121122212122212212222212221121122222122221122111112212212221212121122122111212121222121111221221112111112112111221211122122122221222122122222221211121112112122222212122121221211122221121211112222221221122211122121211222112221211222122112221121221112222212211112112211122121112211111122122121212222221122111222221221212121111121221122111122221211111212111112122111122221222122221122111222111222221121122122121212222122122212221111111122211112111111121221212122111212121111212122221121211122221221221121211221222112121211211122212222211222112222211212112111211222121212212112111111211221112121222111111121221121111221111112211221122212122121222212222221211212122121221211111222212211211121112121121212111211211121221111122112122212121111121122122122222211221121121222222112111121122221111122221211212212121111111121112121112212212121122122222122222221221211222222121111222112122222211122221212222121122211221122212212121221112121121222111211221212222121212221222122112122222212221211212221111212112222221112222222122121121122121122212222111111211112111222111211121212221221221221121121111122222212112211211121121112222112121112122112212211211212121112222111121112122121221212122212212212122122111211121211221211211122111122221222221112111212221222111222222221122112222212221221212212121122122221121121212211112122112211121211111122222112121122212112212122111221111122221212212121111111211221111212222112211122211222111212212221111122221112221221222111222122222222111112111122221222112211222222112121121122121212212222212222121112112121112212112121112122212111211212221211121212121112121211112221211111211222212221212221212111222111111211211122112121212222122112112211222121222112211222221221221221222221221221222121211221112111212121212111111212111211222212211221221111122122212122121221221212122221112212121222111212122111111122212221121221212111112111121121222211122211221221112122211222221212122122121212222212221222222211122111112212121122222222212212222211221211222212221212122212111221211121122211112222221221112121211111212212112122222222221122121111111211121221222122122221222121211122112222121121221112121112222121222111112112111111222212221112122222221221111212212221212112111212121212211111122211121211222211211111221222222211122122111111222212221212112212212111112211211112122212222221222222112221112222221211221212212211112222222211111222211122121222221122221121212122121211222212221222221111122211121122211111212111112121222222122211122222221112111122212112222211222211111121212111211221111221111211222111212111122212221212222221122111221221122112222211112121111112212122122121221211221111122111222121111221111221212212211211222221212112112211112212121212111222221122212111222111112111212222112211112121112121222221111212111112112211121111212211211221112211221121221222222212111112211122111221122122122222212222111221212212222212211112122112112122122211221112121121221121222122122211211222111121122121221122212122212221121212222122122111221112112221222111212122121121112112211111222211122212212221122121222121122112212121222222122121122222111111222121222221121222121221112121111221211222121222112121111212212111111112211211222121222121112121112121221122211222111221222211212222122111221211222221212111111222221222211122212121212212122121212121222122212212221121222211112122112222211211112222222221221111212121211112112221111111121121112211122212211121111212211122121222212222111222121122221212112121112221221221211122221112221121222211222212221122121221221112111222222112122122211112222122111211211211212221212121211222111222222111121211112222122112221221111211211122111212212212222122111211222222222222222221212121122212112221111212111112111212221112211221111222212121111222211211211212221112221121221211212121111221121122111122112212221212212211212111122212221222122212211121111212112112222221222122211122222122211211221212221122112122122221111122122212111222211112122212112222212111112121111122111121222211221112111222212222212121121221112211111222122221212112212212111121121222111122212121222112211112222121211111122221212121122122121121111122111122112212221222222111221112122211112222221122121222121221211222122122221112222221212112211222121221211211222111121122221222112122221211112221222222212211222122222212212111122122222121121121221122122221222221122112222221111222222122221121221222111221112221112121112122121212212212211112122212211221212111112121211112121221122112222112221221221222221122111211121111211212121122121122112111112221221222212122112221112221222222121121112111111212121111211211222112111212222122212211112221121111122111111212122212122222212211222112211111121222122211122211211212111212211112122211121211111121211222211221122212111121121221211122122112122111221121221221222112122211112122121211122122122211211111122211111211122122112211212211122122221211211122122121211221222122121222222221111122222122212121211122112211221211121122212111111121122121222221111221211222111121221221121222211112211222122112121212112112221111212222211121122121221111212121222222121221111212221122212121122211221212211111221112212222222212112111111121221211212122122122122222222222111122111221122112211212112221211212112121121222122221222212222211221221211112221122111211221111211112121122212122112111121122112212212122212221211211222121111122121122122121211211122212122221211222212122112212121212112212212212122212212122222121121112112211221112212222111121212212121111112112211122122212211122121221121122121122211222221112221122121122112122221221221112222111111111222122121212211222221111212221212121122221111221222122221221211112122112121112222111222221121111222111221221121212111222122222221211122111122111122121212222111211221121122211222111111112111122221211222212122212122212111221222212122211111211111111111122122122121222112211222111211112222112211222211211212111122211122221121212121221222212112112112211122112111122121121211221121122212112121122122212111122122111122111222222121111122112211121112211221111112222122211211122122222111111222112212111122121121112112112211212211111122222112122211211221112221222121111222122221112222122112111121111122121111122221121211122111222212221222212211222121221122122212111211222121221111121121221122121122222212212111122212222221222212212121121111112122222121121212212222222222122111121211112112222112112121111111121112121121112211122222112222111121111121211221122221212111111212112222211212122222212212221222121121211112222112112122211122211122221121112122211112111222221221121122211121111221122211222111121222111121112221211122121221221221111221221212221211122122122111111122122121222111121111221222212111122111222121121211121221111222121121111212221211211211212211122112111122222211222112121122221121112121111111111111122222122121122212121222222221111112212211212112211222211122222122111221121212122211211122221221111212211211112122112211221111212212221112211212121122212212122212121221222211221221221112211121221111112121221221121212212111122111222221111111112112121111122212212222211211222112111121222212211121121211112212112122211122222112121212221121112122221222121122221122211221111112122122212111122211122122211211121212122121122221212211112212121112121211222112222221221211122122211111212221222222112111211221112111121121222211112112111111112122121111112111121212111222221211111221112211221111112111112121221111121222221222222122221221122222212121121121221211221211212111112221222121122222212122221111221121211122112222121122212121121211111112221212121122212111112212222222121122122211121222221222112122222212221121122221212221221221211221211222212222122112212121111111221111221121111212121212211111122211221212112112211222222122122221221111121111112121212121221122121221211121112212221112212121112122222222111112221121221221112222212221111221212111121112122121211221221112111221211121121222221221212112222122112211112221122112121122212111112112212122122111212221111121211212122212211111211112212122222222212222212112221212221222111221121221222211212212221112122211122211222211122212111222111122122221121112212122211212222112211111212222121122211122122112222211221221212211122122211112121111211221211221211122112112112111221122211122121212222122111222212221112111122122122212121112111222221122122122212112222122211211121112121111212221112112222112122122111111122221122112221122222121222112221112212212221221112121112222122221222121221221121122121212111111111121121212121111112121221111112211121121112111221111112112222122211212222211211212211121121222112121122122111221111112121211212122211221111112112112122221211221121122112112111212121211112212211212112122121222222221111211211111121121121122112122121222221121122122121112211122212212111212122222222122211122121212211121122121211211212211122111111121121221221221122122222122222112111121221222221121222112121211211122212112122212211121112211111221222212112212212212222112221211221221221111122212222221111221112212122121112222221212212112222121121111122212221222222222222111212121122111221212212122121122111212221212122211211211212122112212112222112112221221122111211222122111211212222122212212212112222122111122212122222221112111122122112222112211112112222221211122221122212121112221111212111122111212212121122122221112221121222121212222221122212221211121112112121111111111112111121121212121222112122111112212112222122121211112112211112222121112112221212222212221222111212112212121112212211222121111122122121121221112222122221121121121121211222112122122111112111112222211122211122221212222112211211121112222222221221211111211112221112221211221112112222112121111221212211122221222221122112121122211112122211212221121222211211211221112111122221212111211211121111121221221121211222121221211221212211111122111211221221121212211211211121221112222121222221112212111122122222211112121221221121112212211221222212122222212121212122112112121221122221111212112221211121112112212122211222112211112211211211112212112121221121222221222112222121111122221121211212112211212121112222112112111111212222221211211212222122122112112111122112222222221222222222211212112121111222122121222221222212221121122111111122122121111121121222212112121122212121221122222121111111222222121211111111221212112111212212121222221121221211121112121111111111111112112211212211212111222111122222112222111221221122121111211212122121122221111121122221121121211212122121211211211111221122112211222122221111111121111212211111222121122122221122212112212221211212212112221221112221221111211222211221212212211212221112222212111111122211212221221221222121212222211212122212111112112111112111212222121112121112211211221121222121221211221212122111112212211211212222212122222122212122111111222222212111212221212211211222212221211221221122212112121122112121212212211111122122221212221211121111221111221112211211122211212222221111121121221222222122122212222112221112122111222112112211222121222111121112212112111122121221221112122212211222212121121211212212222211221122112121211211222122222222112111122122111121111212211111122222211222212121121111221222212111122222122221211212111221122112121211111122222222122221111212211221122222222212111221111212211222112122121211222222111222121122111122221121212112221212212111122221212112211212221222221222222212212121112212222121222212121122221112112122212212121121222112112221211211111111211212212111122212112222212222122122121121121111212212221111222112122112211121111112112222121212222212121122211222222112121211111121221211122221111221212111112121212212122211221112211211212112211112211112212112122122222112111111222122121111121122211121222211212221111222122222112112122112211211112121211111211122221211221112221212222222111121212112121122111122211211212111211221211121121111222221211212111222112112211222212211121111221222211221212112211121212211122222212212212212111211111122112121221222112112212122112222221212212222122121222221122121112112222121221212111121112221112111122222111122112212121212221122212112222212122122121112111122112122221211112222121222212211221111212212121211121221111212121222222111212222121111112121211121212111221121121211111221221221111121122121221112111112121121222112121111122211111211212122121122112122111112111122211122211112121212221222212121212121121122211221122111111111121111111211112212111122111211222111112221112122222122111211211211221121112111222122221121222112221222121212222222111211212121212212212112111212121112221211221122211222121121122121211112212121112122221222122211221221111221121112112121211211222112212212121121122111121222122222211121211212212222212222111122222122122121211212212111111112222222111112112111121222121111212122211211221211121222111121221221221112212112211221112111211211221111121112121221122211121122121111121221211112112222222211222111112122211211222221212221111111121212122212212222212111222121122122212222212212221111222112211222211212222221121211122122112112122212111211112212122122122112122211212221111221121222212111121221111211122111221211221211121112111111111212211221121112111221221111221122212221112111211122122222222222211111122121111212111121121221222212222121221212111112111112222112122112111121111112112222112212122221212111121112221112212121122212222112211211212211222212112121112111122222121221111212112111222121121221222112111112121221111112122122121111212211112212112211111122222122122221121111111222211221122211121122121122122221112222211121222111211222221112221111212211211212221112122212112122222222221222111112221212122211211222121221211221212111111211112111222212111111122122211121112212222112222212111222211211211112221122222222212211222211121222212212212122221111222121111221221222222112212211112211221222122112122212221122222212122112222111222122212222122112211111111221212212122221121112122222111122112112222211222121111121221111122122122221111212112212222111211211121212212121111111211112211122212211221122222212222221112111211121211112212211111122222121112121121212212112112221211122111112211221112122121112122122221121112222121222122112221112211122122121221221212211212211111212221212211122122122221122212221212122121111111211111222112212111111121221121122212222222222222111111111212221111111122211112212221122222111211211222122121212121112112111122212222112222221212212112212112221121222221121122211121222221111211212221112122222112121111211121211111121222122222212111221211122122112221222112112122122121212121111221112122112221222222221122121222111221111221121222221212211112212221122221222122222212212211221121211212222121211122212122222211111111122222222222121111121121121111211212212111211121121221221221112111122221122212222212211221211211121212211212121221222221111122222222211112111221122121211211111222121222212221121122212112212221111112212211221121211121112221221111221221211112121121221111211211122222112121211111121122111112112222111211212222222222122211111222112112221221112212111111221211121221222212211212122222222111211212221222112121112121212111111121212222112211121111111112222121111121122221211221211111111122212211112111222212211112211212111211122222221111121212111222222221111111212121112212212122121222222122122212122121121221212121111121112121212122211112212112222221112211112212212112212112211212121222121221121221111112111111211221111111121212221221221112221112212111211121112122222122112111221111211221112211222111122122222222211122222221111121221122121111112122221221221112221221222221212211212112221222121221221222211212221111112122112221221211222221112222222211212112122221222212121212221211212121121212212121122112212122111211211111112111211221221121221111111122121212221221121211221211211212212221211222211211121111111212212211121112122221221122112112121112222222212112221122121111122221212121111111211111121112111211121122212221212122211122111222112212211211212112222112211121222212111121222211112222121211111111112121222112122212121221221111111122212121112112122122222112211221221121112111222221122121212222121211112211121111112122121212121222112221211222222211111222212112221211122211212221221211212121112122111222211212222111212212211222212122212112122222222112222222112212122212222221211212222112211211111211112211212111221112221211112122112221112211122212212112121211222121211112211212121221212212211222212121112221121211111211222222211212212211112211112211112211211111221111221112221211212122111211212111112212221211111212212221222212112221111211222122122122112112122122112221222122121221111222122111111121112112211222122112212111121211121111222222111121222222111221212211121211212112112221112122112221222212222221121122112122212111111221122211212112122112122212222122222211112122221112111122221122122121111211122221122222112212121211112221121221212122211112112221121211122122211112211222211112111112212111112222112222121221112111211112211121222221221211122222211122222221121221122111112122222112122222122212121211121121112112221121221221211111122212222221212222111121222111122212112211222211211111212211122122222121222111111122212111122212221122121111121212221211222111211212222122221222112122211222221121212112121112222112221212122221212211122111112211221222112221221222221112111112122121112222211122221212222121222121111222112112221111121221112112112111222211112121111221112211111111212222211211111222211112211111212222121121121111212112221211221122112122211121221112111222212112112121221122121212122111212221211221112212112222111211112122121112122222222111221212121212211121112111122112222222221121112211221111212211222212221221122221111121112212211211211212221211212121122212121122122222211221122122121111221121221222222211221221211112122112222122212111122112111112111222121121121122222111122221111222211212112221222121122211222212212122122221111112222122112221121222211222112112211122221122111212111121121211111112212121212211112212212212222212222122212222111112121122121222122221111221122111212121211111121121221221121212111112122111112112112211122222212211121121112111112122211211122121221221212122121122122111221122111122221221212221222121211222211222122211212211122222121122121122222112211211112212221221121112111212111112122212222121222111221122222112211121221211122111212212112122211212211212222122122122211111111211212222212221122211122222122212112122122221221222221211221111122211112112112111212222111211111122222221222121212122212212222222212211221221112222221222122211111121121111122112111222121211212222221111212222112221122121221122112111121122121211221111111122212222212212111222221111112212222222212222212221212122111212112211222111111121212221221212212122122111122112112121212111111121112222122121111121121221111111221121212111212222222122112211112211221222121112111221211211222121221221212122112121211222211212211211122212221112221212222122212212111121222121222212111112122122221122212122121211121222122221112211121122111221222221212121212122211222121111222121212112212112211122111112111121112212211122212211121211121211212121112112222221122212112221111112112122211222212121212122221212222211221221112121222122211211122122112222222212111212111211112121212212221121222121211122111222112122222111221222111212212212112212222112111122212212111122221122121222212212212112112221222111212211111221222121122221122222212211211111211222121212111221222212222221222222111221212212212122221211122212112111212111121121121112121121122222211211111112212221222122122212111212121122121222122212211111112121222222121122211221221221121212221222221112211122111111121111111221212111221222122211122112112211111222222221121222111211111122122111222222111211212121121211121221122122111112221212211221111222112222111221222211111211222222211112122211112222121221121111212122212221221112111121211221221211212122211111122211212122112222111221112211211222112122222111221111222211211111122112211111212211221211122122212222111121211211122211222121122112222222112211112222211112211212211121112211221122111222211211222111221222211212211212212221121222211221211212212212122222112112221122211212122122111111121212221211112221212212221121221112111121212111122121212211122212212212121222212122122122121222222222212121222222112112221212122122112221222211212111221121122222122121211222122212212122222121221211121221211222212122111111211121211122121212212221112221211112221122221122111112212222212212112211212222211111122222222211121221212111112212122121112112212111221222121211212222121122111121112222222112122112122111222221111221212112221121212211212112222111211121212212212222112122212221221212211122112222112112112211112221122121221121212111212222221212222112112121222122121222122221122122212121221221121112112222112111112122121122211222221221212112222121211221211121222122111111111212112111121122222111212211221122222121112212211212211212112211111211211112122121211221112222212122112112222122221112122122111112111222122121221222212121111121221111121221122112121212221111122212212111121211221111211211211211222211122122221211221211121122221222111211122221111211111222222212122122222212221111112221112121212211121121121212222122111122111122112122111111211211221122112121112212122222112122211211121221121222122212222222222222112112212122221222211222112211112221111121112122111211122212221211211222211212212222211221121122221112111211211122111212212212211121121212112212222121111222111111212212112212112212122111212222211111222122222221122122111111112112122211212211112222111122122111122122221211212222222211212122111122221121222122222121121221222112121212121222111221112121112211221122122221121121121211112122112222111112221122122122122212112221121221212211121221211222121111112221222211221211112211111221211221112122112122211221211121112121212121111122212222212112112221212122211221122221121221111122222121111112112212211221111121112121221222112121212111212121221111212211112222121221122122121122211112112221111221121112222112121122221121112122121112221222211112112212211222222222112211212221211221222112122221221212211212121212121122211212122112112221111111121222222212112221121222222112212122212222112112122212211212222211122121112222212112112112222211222112112212221212222112122111122121121112111222122111112122122222222112111211122121222222221212121222121212222111122121222221121121211122111122122222221111121211211212212212112211212221112211112121211211222122222212221212122122111221112122211112222212212222221121221112211222222122121122111112211222222111122122111211222122221212211212111222112211222111222121222111121112112221121212111212222222211112212212211121112212212222211212121121121121121212112211212222221222212121121121111122122122122222112211211222112212112221122112112221211121112112222112121111112122211112221122122221211112121111121221111111211122121211222111211112212111211122222122111221121222111212221211121211111112221111111111112112222212212211122211211222221211221111211222221212222121221121111212121211122111222212111112112121221121221211122222122212111222122212221222212112112211211221211121211121112222111121112221122111112122112222121121222222111211221112112122212222212112111212122122211121221222222111222122211212111112122121111212221122121112122111212222121211121211222221111122122122222122221122111112122221121122112122221221211211212111111212212122222121112222212211211211122122212111122211112221221212122211112122112212222212121121112211222122121111222122121112222211211112221121221222112111111111211112221211122122211212221121222222111122211112211221122221221221222121111221212222122111111211111211221122222221211111212121222212111222112112111121211212111222222122211222222222112221111111121112121212212112221112212221122221212211122222222112121112212211221222122221221121112111121111121211111221222111212212122211212221112221221121222112111112112221222211211122112122212222111222221211222211112111121212121221222212122211211212112112222111212222122112222221221122212112122122222111112221122211212122211111221222122112121121122112222122211222212112221112212212111222212222222211212221111121221212122121121122212112112122212222212111122122212221222111212121112221122111222221111222222122122122122222212112122222211112122111211212122121112212112212121122212222212212211122111222211221112112222211122212111212221222212111211121112111122222111122221111112122221121111221122111221212121211212122222121112121211222112121221212211221121121212111121111111211111221122112112211122211222222212222221112111112212222221212221112222112212121221112122121111211112221122211212211111112212211222222212112112212211112212121111121212121221111211212122211111121122211211122111112111121221221112111111221221221221112221122112121111211212211222212222212212211221112212112122122122111121212212221122212221222211121121212222212121121222121112121211122212222221211121122222111111212221221211222222112222212121212111121112212112111112112112221222212112211222211122212211212212111221211111222111211112111111211221122221121111112112122121111112221121122112211111212121121212111112112122121112212221211211112121111211222111122121112222212221121221121121212222111111222221212221222212221112112112121121221212121112222111211211112111211122112211112122212222111211121112211222222211211221122222111111211212121112221112112122121211121122221112122111112112212211211112111122121211221122211122112222122122221212212122112211121122112122221112122111211222111122211221111212122121121112122221221222222212221111221211112111222111111112222212211222222211212122221221122112111222111121211212122122111112111111221112112111112211112222212121112212121112212212111122222111212122222121122112221121122121121211211111112121222212122221211222121221122222111222112222212121222121221111211211112121222121212211212221222211212111222212212211112211212212222221111211211111112112112221222121222211111111211111121121212122211111212211122221122122121222122222122211112112221112221122112111211221111212221211122121221122222222121212122121212121121122221222121221122121212222222122122222221112221112112122221222111112111121112212212211211122111111121212111111212211222122212111112122112222211221122221121112221221111112222112211111211112221211122122121112111111112121211111212122221111221211222211121211112112221222112211122122222212121212211121221222221121211211212222222221121111212212112122121222212212222122111212111112121122121221222221212111112222212222222221112122212112221111112222222121211122211121222212111121222212212222112111121111222111121222211211211222222112121121212222111221121111221212212212112111222111221121211212122212122212212221221222222221121222121211122221222211122211221211112212221112222221221221212211111122121121122222111212212122211111221211212221122222212222211212211122121122222122111122222211222112122111212211112211221122121211122222222111222122121222111221111221111221221211221122111222212211121121222122211111111112211211121212211111111221112111212111212221122122111121121221222222221122111211112211112221112122112211221212111122121222211222211111121112212222111212212122212111112221212211212222112121112221122112111221111121212112112112112122111121211212121112222122221221222222221121222221211111212121111211121121221221111111222212221221212211111122121221211222111121111222212222122222122221112212211122121121122211111221222112222222121112211112112122212221221112221211121221112212212222121121111111111112112112212222222222121221212211121121112211222211211212211111221222111211212212222122212111121112212211111222222222222122122212121222222111211122112212221212212222221121211222211222222111212212112212221222221121122212221211222212121222221111212211222112121112212121211112221221212211222222121112121221112121211211222212221111112122121121221221111212211222221222211211221111112221212222122122212211112221221122221112222221221111221111222222111212212211111112222212211212222211212121222122121122212212222112112112222212222212112111122111221211221212112221121111212211211122122121221122122112222122111122122221222112111121121121121211111222121221111112212112121221121212111111212111221121212112122121211112111111222211221121112112211211222211121212112221211122112112222122211221212122221111121222121222111122112221211112221112221111222111212112112222122222121222122221212212212212211211111112111121212212121111121211222212122122221221122122222211121221112221121212222221122112221211122111122122212212112121111211211111121112122221122112222112222222211211121221112112112221212121121121122112222122111222222211211122122211212121122221222122222121112222121211122111221221222211121222122211222111121212212222112111212211222212212222222112111122121221222112121211122211121221121212112212122221221121211221212211212122112221211111222221111122211122122122221221211122111211121212212122222111221121211111221221211122211221221212211111122212111212121222211112122122111122111211221221122121121112122211112211111122212112121212111211111221211222222211121221122212211111212111112211221211212222211221222111211122221112211121122222112222212112122212222222221111212112111121221222121111112211111222222211121222212221121221222211112122211222121111212121112212211111211211112221112122222222122121121122221111221122111112222221122211221122121111212112121112221211211122112221121111212111221221111222221211122122111112221121212222212111211122121221222212121221112221211211211122211112122221121211122111222112122121121112212221222122111121121212111111212122212121112211111211222222121112121111122122211122122122211122211122111212111112211221211211121211212111222112222122221111122221122221212121211211221212112112112112211211211222222112222111122211221221112222122112221111212121221122122211122221222121122112111121122221212111111121212222211211211121122121121112121122221112112122211211212112221112122221211122112212212122222221211211121122122121122122211222212111122212221121212221212111122121221121222212111212111111112111122121222112212121122122212212222111112221222122121222121112112122111212122211122212211121221212211212111211112121111122121122112121211221112222122112221212212212221122221211122111222121222122211211121221211221121111111112212221121111212212211221122222212121122112121111112112111221212111211221211211121111112121212121222212121122112212221211111211221221122211211211112121122221221111121122112212121112211111212112211112112211121121112221222121122221122112212122112112212112222121111111211212122222212112121112121111212122121222212111122212122211212212121222212112222222112211222221212222221222122222112222211222211212112121111211211111222122111122211212121211122212211121221122122122112222221122121122122121212112221212121222211122211121122212122112121112122121111112211112211221222222111111212112121111212211122211211122212111112222122121112221222221212222122111121212112221122122212221222211121122211212111122112221222122122221221212211111222222111121111212111211211222212212212122122221221112112111222111122111122212111221121111122112121221222222122122222222122221211121211122121112112121122111222221221221121112122222122211221222121211112122222111122211111112111112211212121211122111112122211112221121211221222222211211212211122221222112211221211222112211122121112111111121111212121111112211221121121211112221212222122221212212122211222211122121112121122222212221211212212122122111121112122222111212222221221122122222222112212211212222212211121111221212212212222221211211211221221212112112112111221122212122111211122122122211212122221111111111221111122112121221211221222121212112111112112211211212112121122111212111112112212211212212121111212122122112122221211212122222111211121111121121122221111212122111222111221111212211112212222221122122212122212212122212222121112212212112222112211222212211111222112211211111222221112212221122221112111212112122222212112211222222122222222121122121211221112112111122221122212112122111112221221212221222212211222111222111112212112122122211111211121212112211211211111211122212122112212221122121122121221222112112121122112221212221122112122222221212211222112111112112222221222212112212112212212211212121121112121211221121212222112112111211122212112212121222211112221112212121112221211112222222212111112211121111121122221111112122111122112222112221122212111122212221122222112221121121122122112222112212111112111221121221111112222211222222112221111221212222121112212212112222222112222121221212222211221112111111221222122221111222111111121111111122221222112121111212121221122112111121221112222211121122112222222112212121212112111222222221112212112221121222221222111212211111112211122212212112122212111221212122121212212121122121221111111222112211121222111112111112122111121121222112222112112111222212121212122122222211111212212222121221121221222222221222122122111121221212222212221121122121211121222212121121212222122111111121121122212221211122222122121221112111212222222212122121111211111122112121112222112112222212112121221222112122112111221221211222111221222212212121222212111222122112221221121222222222111111221121212221122122121122122211221211222121212121122121212121222121122121112121111211122222121221112112111212212121111212112221221212212211212111122211211111221211112212211121122121112112221221112211222222112212222222211112211121111122112122112212112211211222222221121211112222111112221122221222111212122222212122122221211111111122212122112212112212212222222222212121121211121211111112221122112211111121211112221111122122222111221122121112221211221121122211212112112121111222121111122222222211112221211111211122212111221121112221111112122121212212121222211112212112121212121211211122121211212222221221121111221121122121121211111212112121212211112222122221121112221122111111112122212122212211121122211112111111221122222121221122111122122122221122211122221121111222111222111211121111122111112111112212222222112122111221122221111212211112111112221112212212112211122122212212121222122122222122111121211112221212222212222122111121211211111211121211211122122221221221121111221112111221111211121221212212222212221122122122211221222212112112111211222121221122222222112212221221222111211212121211122112111121111212222221122221112112212222121222111212122111211122222212111212112122221212211111111211212211221211222211112222112221111122122122212121212122122211112211111122222211212222121121222212221211221111211221122122211111211122222121121222222221121121121212121212112121121211212111111111212222221122212212121111121212221122221221222222222112111111122222122122111111112211211111222212211122122112222222221121212221221221112221112112221122121111112221221121211112221112211112212221112222221221212221212122111211211122121112122212111212222211211211222112212211121212211222221211211122112212121121112122111212212122112111122211222111122121122211222211111222111111211221211211112222121121121211222112212122111111122111111211112212211221221121211122211112222211111121121222111211121212221212222121211211221211122121222112122121111122112222211221221122122222111212212112111112111212111211221121212111112111111111221212111111122112212122122212221221112111222111212112121111212121121112121122222121212121121121212222221211212212221221121222222112222111121121112221122112221112112221222121222112222212221211112211212112211222112112221121211122121222221212122111112121211211221211222122212111121212121111112121112121112121111212212111211112122122121111212212221221122121112212121211111212111211121112222122112121221111111211121122211211112221221221122122112112211211122211121221211221111212122222221111222122212222121211211121221221222211111222111222112112212111212211122212222112112122222211222111122221211111121122111111121221111212111211222221121212221211111121211122112122221112112211221211112222112222111221122221121121211211112111222112121121112122221112112211212121212122122211211222222111121222112211111111121112221222222212221121212211212112222211112211112211121212211121211212111121211122211221222122121221121222211112122212111212112111122122111122111121111111221111212112212222121112112112111222211111111221212211121221212212112221111112222211121121111112112122211121121112122121111122221221211212211111212222221222211211121221122212112111211212211221122221121121212121122112212122121222221122212221221122112112121121212212211211222211212221211222122112212221112112221211112222211222121121121222222221112222212122211122211222121211221122221111221221221122211111112122211111111212121122121121111112111212122222211111211111121122212112211121112221222222112121222112212111122121222211221111222221121211121111221111222212112221121212112121121112112212212111122221121121121222222121211111122221211212111122111221212222212221111211112122111211221111212121122121211212111221211112122112222212222211222121112221121222112221121211222112121221121221211121221212212111122112221112121222221112122121221222122222111221221111111121211111211211122211121211212211122112112112212121112122112121211122121222112222122111212121221121222221211221111222111221122121122222111121222212111111222222121212222112221212222121211121111222122111211221221211222112112212112222121121122212121121211112122122121212111111211122211222111222121112121111122122211112211122111222221112111111211121111112212112211122121211112122112212212112222212122111212221121121112121122111121221111222121122111121211121212112221122221112111121121212112211212222212211212122111122222212112222111212211221212112221121221122121122111112111122211222221111112111211112121222211122112112111122222112222212121121221121122121221211111221222111221122121112212112221112222222112211211221112211222221112111211211212222212222121112121211222221111221112212122211212222121212122221221112211221121112112111222112212211112112112121122221111112112122212111122212122211222111211222111121121122121222112111111112211121221222112111122112212222111112212121211121112211212121111222211221222211122112212221122212121121212211122111111222212111211122112221122111112112222222221111221111212111112222121111222222121221111222122212211121212122222121111221221121221121222122112211121222222112222122111122121112112222211122111222122212112112121212111111222222112221112121112121212221212111222211222222222222111212122221222211211212221122221112111212121111221221212112121221211122111222122211211212211111111121122111112121221111121112112111111111212212111112222111211112221212122122112212222212111221211222212111122221121212111122212222212222121121122122121211222222111122221121112111212121111112112212111111222121222112222122111121121121212221211222112221112211212111211221211212211112111111122212122221211211222221122212122222222222111221121221121122212111111122211121221112111221121112111212222211221211211222112112211112211112121112222221211222212111222121212221221112222112112211221112121212112122211111112221122112211211121111222121121212111212212111221122222122222112111122221211222121212222112222121212222121112112221111221211111221122122221222212222122121121121121222111121112212122212212111121121221112222112111121112222211221111112121122121222121121211112212221212121121112211211211111112122212121212221111222112122211111122122112212222122122122112211122111121112211211112121122111111121212221212211222122122221212212212111211121111211211111111112121221221122112222112212122111121121112112121111111211112122121211222222221121211212221212212212212222212121212211112222212122121221212111222221111211212112121212111222211221122122221222112222112212222222212111112122111122122111112221122112221122221212111221212112222212121111112221111221222212121112212112212211222211121221112211121212111222212211111122112112211122112212211111121222111111221122112121111121222212122112212222221122122221121122212221122222121122112111121221122111221221222112212111222222222212222211122111122221111122212112112122121222221112112221222221211211222111111212222112111212211212111221122211112112211212221211212112122111121221111211111112111211121221111212111121122121112121212112222121121112112122112122121211211221212211111112111122111211121222222122111212112112222112212211111211111122112221221112122122121222221122122221121112221121221112221112211111211221211222121211222221112212211111211221212211212221121221111221221221221222111211122112221212112212222121111211122121212221111221222112222121112121121222211221211122121211112212212111212121212112122121221212211111222121212112211211211212122211122111221122122222222122121112111211112211222112122112112122112212211221121112121112221112121212222222212112222122122221222122222122222211221112212121112121122112112222212211212212112221212111122221112122112221212112222122211212122221121222221222111212112112222222112221222222121122121112212221122121212121222212222111122221112222211222112212121122222121211111222111212221222122222112212211111212212121221112211121121111112222112211121221221221211111111121222212111221212112112112111121122221211222211212122221221211222212222212221122221121221222221221111122211122211111222221222221111111212111121111122222222121211222211121222121211111221221121122121221111121212112112111112112222212212121221111122212212212211222122212122211111212212111211211211222222222122121221212211122112111221121211111222212222112222211122221222222222222221222122221211122222121211222121222121211222212111112222121121221112211112112122111221221221111112211221111221211121112212222211121111122221112122112111221211121122221212111122222221212112111121212111212122211212122121212111111221211121111121122221221112112111222122212222221111111111121122121122111211211122112111221122112121222222122222222122111212222211222122222222121211112122111111211111121111111111122222122211122121111122212222122122222111121212121121222221222112122121222112221111111222111112221121122222122121121221112121121211122212212112222122112222221212112121212221222122122221221222212121112111212222122122122222111111122222222111122211121111221122122122221221211122212221221112121112211111221211121221112112222211112111221112121222112212212212221111221222211222112211111211221221212221112222111121221122212211211212222221211222122121222211122112122121222221111212221112111211212111222222121222212211122122222111221221122212211121111122121121112222211212121212112211112222212121111121112211212111111112111211212212221212112221122111121211121121211221211221122121112211122222112122221112121122112211211122222121122222211222121211111212112121112111122221212111222212211222112212222222122111222121221211221212122221121111212122211122221121121121112222122221112211212221122212112112221222121122222121221212121112222121222222111211212222212221211112112212121112121212112212211121211111111222111121122212112121112122111122121211111111122211211112112222212112211221211111221121122111122222212212111211211112121112221111121121212222211122122221111222221221221121122212211211211111211112212122122211122222221112222112222222122112212221122121112212121222222221111121221122221211212222221111122221112122221121211111211122112122211211212111122221121211112121112122111222221121222221111222121222112122122222111212211212221121222212222211111221212111212222212112212211211122112111112122221112122111111122221212111211211212221221111211211222112112221111222111212122212212112221221111211112121111111211212111112121111112122211221222111222111122212112211121212122111121111211221122211221111111221121211111211211222122111211122212211222111221112222211221222211221222121221221221211211222222221221212212122121221122221121121121111122122211212221122222112121222212112111121212122121121212212121211122112222111221122212121112121121111221221111222221211211112121221211221121112111122221222111221221121121222211221221111221211111111222211212221122221112211112121111122221111112121212222211111111221121121212121111222211112121112222222212111122122222211112212111221211121121221212211121112112122211121122221121111121112121112111221122212111112222211211221112212112122111112121222211122211112221112112122212121111122222222112122121112221212211212222121122212122212121222221122222212221111222111112221222212221112122111112222211112112222212112221211122121111221221121111121222121221211211112121121121121222121221221222211121112121111211121122112122121121111111212211122221221222222111111212211122121121112122211212211211221211122112212221122112121112111212211212122111221221212122222212211221122121121221122211112121121111121221121112121211121121211211211121112122121211121122222221122212211212122111121211212112221222112211211222222211211111222111122222211122212221122112121111211221121121121221122222211121221222111211212212112212111221211112221111112111221222112221111111112212211221111112112112221222222112112221221122122121122121112121111121222112122211112122212121212211221211221222111212112212221111111212121111121222211212211221121121222122112222121122112111121111122121222222122212222211121212122212221112112212211211112111221212122111222212112112221111121222221222211212222122122211212212112211121222112221121212211121112122222111112122111222221112112121221111111221222212121111222221112212222211112212222121121112211112212112221212222122212211121111212212112211222211221111221111121111211122111122211112212111121222121121211111112211211111112212111111121121112112211122111221221211121122122222122212222111122122211221212221112122121121112111111222222122222212211121211111222211221211211122222112122211111111111112111221221221211212221212121221211112122111112222111112222121112122211222212222112211221111121211122112121121122211212111112111222211121112221221121121122122212111122122211112211212121121211121212222212121222121111122121111212221222221122222122212112222112222221111122122212221211121111211221222211212121221111222121212221221212221122221221211211222111222111212121112222211112122212211121212211122111222122122122111212122211112122222112211221222121121122212222121221122112222221112112122111111111112121221112111211221212111121111122211122112222112212112221211211112121111211111212111112211111211122212121212122212122222221121221221221122112111212121111121212111211111221222221112222222221212111222111122212112121212212212121122221112112211221211111111121222111211121111122121111222221112121122222221122211112122221122122221221212122122211112121111212112121111121212111111221222112221222121212112222112222112111121111111212212222221111122222222121121221211112121111211211111222211111112111212222221121212222121212211112122222112221212111221212221122211121122222112111222112121211222121211211121211212122221121222121111121111221121211212211222222112211111222211111212122212212221212121112112211212111112212122111111212111121221111212221221212122111111212211211121121222112222111222212222222211211221221221221122111111112122221211112211111221211122122121122112122222211122121221111121111221222222122221212112121111111221112211222121122211122222122222221211222221111222222222122221121211121112121211222121122212122111212211111222122222112122111112121122121212221222211212121111111212221112221111111122212221111122212111122112222211122212221222112212112222211122211121221221112112112221221212121222221212221111211212111111112111212211221212221111121111211222112211111112111221212211212111222212121111111121111212211221211212111211121221212212112211112222222112111122211112121211122211112111111122211121122111211211122112122111211221122112221212122212121111112221111221222211222121221212112222212222222112222212122212211212112121111212121121112212222221122122222122211111211121111121112121121222112122112121121211122122111221221112121121222121222222211112212111211121121212112222211122212112211111222112122121121111222222111212111122222211222222222212121122122112122111111122111111112121121221112121122111111112212222121111222211121212112222222211121121211121121112222111222122121222111111122222222211122222212111212222112122222222211211211211222122122222211222121111211121122211212111222121121112112221121222221212121221221212212111112112222222112122112211111222211112221121222111111112112112211211222122121222121212222112222211211221212122222211212212221111122222222212111212222121121111111211221222111112221221222111122211122121122222121111222111121122212212222221112222111121212211121112212111211122221212122222211122222211111212122222221122221212111212221112212211112122212222112221221211221212222112221212122122122211221221112122111222211211221122111121121111212221222111112121212211212221222212122122221121222221121221212121221212212211112212222222221121112221211211122111212221122212122222122222211211121121112112211222212112112111221112111111212122222221212222111121121112211211111111111111211122121112112121112212212111111112222122212221212121212121112121112211222222222212211112221121221122221112122111122221211112121121111221122222212111121121222212211221111212111111211121121222212111121221221212212112121211112121221211121111121122212211221112211121122112121112111122221121111212112122211111111212112121121222221122221212211122121221212111211222111111221121121112221222212111221111121212211121121212111212112211222222221112111222222222111221212222122222211122112211121221212222111212211122222221121212112222122112111212112211112222111122122212221212212112211121211121212212221222112112112211221222222222111112211122111111212122121112112212222111212112112211122221121112121112211111111121212111221221111111112121111212221222122212112122221121221212212112222221221121221221222112221122221111121111222212111222212122222111112112121212211121221121111122212121212111212112221222112222112112212112211111111211112212121212112211221122121221122211121121122212112112222222111212122122222121122121121212111212212111121221122122122222122221212211212221221221222111121121221221212212211221111111221121212221111212121111121211221121212222111211221121112112221211221212112211112122222221122122222111221121112111212122212111121112122111122221122112112212211111222221121221221112112111112221211221122221121111122211111212212211221121222111221211111111221122121121112111122111111221221111111111211122112211112211122222221121211112112122211122221211222211211221222112221222121112122212222212211122112221212211121211112212212211212222112122112212222111222211122111211122221221111221212111122121111211221122112221221221221211122121122211111111112211122222212122111121121121112111112122111121111222122122111222111112121221221121122111111111211122222212222121122122112222111211221112121121111111212112121212211222112221121122122112121112212111222221222211112222122211121122212112111211121212222221121212111211212211222211122211212121112121222211121122222121222122211212212111222112222212121121121111212111211122221112122111121211221122212112212212222221222111221122222112112111111112222222122222212112222121112222112121211221122111112221111121211112121112222111212211122212211111211211112221121222222221121111122222212122122222112122212212212221112111112121111212211222221212112211121211111121212212112111221111212121211211221222211221121212212221221122211212221111221121221111112121121212221222122122212121221111211111111211212111222112111111122222222212212121211222221222111222211221211111111121112111112212111212122111221112212222221222112112212212122112222221112211221111221121211211111121212112211122121112122212222221221112121112111112122222222112222212222212122111212211221222211122111212212122122212222121222122211211122112111211212211211112212222212211122111212121221222111212212222212211212221212211121211112121111121212111212121222211112111221222212221121221222111111112112221212211221122111212121212112122211111221211121122222221212222222121212122211121222211211122222121111221221121112111122111122112221221211121112222121111111222112112212211221111112212222212211212121222211211121221212211211111212222111211112222222211221122211212222112212222112222212121222112212112212211111112122111112212121211211121221112122212122122222221111122212212222122121121222111211221122212122222112212122221111211221122111222111212122211222211112222211212222212122211212222111122111221222111122121212211112212211222122212112122212112211121211122111222212121122121112112222122112222222212221111122112121111211222222222211121112112111122222211122222222111212212111221222111211111222112122211222121111111221121221121222221211211111222121121221221111122222222221112122112111112211112212212112222122221211121112221211211211211122221112112111221112122111221211222212122121221211212222212211221111112122121211212212112211111211121111111212112221122121222221111211221222211111222212122212111222122111111112222122221212121221112122121222111222111222221122212222112111222122112111122222112121212221212212212112111111221222121122111111111122111112112211212211121111111211112122121121111211121112122221222122221211212221121111212121112122211222121221212122212211212122221211112221221122221212212121112221112122221122122112211222212222211111121212121121112122211222211221211221222212211112212212122122211211111122111121212212112121211222122122121222122111221212212212112121212222212222112221111211222211222112122212121112212122221111121211212112222222111121211222112112212211221121211221121211111211212121222112122111222222212221121121221212112122222212212212211121122122221222221212211121212112222111112122211122122122211221121212112211111122212211211212211212211222221122122111121211112211222222211121222222212211111212122212211212122112212122112111111112122111121222112112221112122211121211211122211122212212212111221112111112222112222221111211122112122222222122111121212212112221221221212122222212222122211221221221222222112221122211221121211212222221112112112222222111112221112121121122112111211222112112112221222111121111211222122112221121111122111212111112111122212212212121222121211222222111222111122111122112121112122221221122111212111212211212221112211122122122121121112211222111121122221121112112111111122121111111121211112121111111222122211212212221221221121112211212122221121112122211121211112221111121122212222121211211212122122222112212221111221121221221212112221211121211212222122212122221112122112221222112112211112221112212212122211222212212212221211222112122112222211211211111221122121212212122122121111211211122211122121121211211111112212111121121121211122221122221121112121121221112222111222212212122221122122111222212211212121121112111112211122211211121211111112221222112121221211222211222212211211122112221212212212112221121221121222121121121112212112222222121221121221211211121221212221121112211221221122121222212112121212212222222112112222221221212211212112221221211121222211121121112111112212221111222211112121122221112122222111122221221122211222222221112112212221121122211112121222211122112112121111211222111112122122221221112212212212211112121222122211111112211212222122221121221212112221111212111121211221212211122121222121212221112222121112221122112122112121221112211122122111121212121122222212111211112112122111212221122122212111212121122122211111121122211212221211122211111221121121122121212121122221122111122121212212222211112111111112211212111122212122121122122222121211212122222112212121122211221222212121112121221112221122211212211111212112212111111121121121211111111212212122122222112112221211112122112111221212212212221222221121112222212222112121212122121121121111221121111112111212211112212211121212112221122122211121222111121222211212222122122211211112211111121221121111212121211112212212222122122122221221121211112122111222122122222211111222111211121121221222212222211121221112212111212211111211122222222212121211222122121122121112121212221112222222212111221221111121111112212222112221111221212112111122122122122111212212212122111112222111112222221112212122112111111122211111111221221122112111212112112211212222222222112221212122111112112211121111221121111222221112221111211211122212212221212222122222121112222212122221211112211212122111212121122121211111222112222112122111211212212221121212121211111222222121222121212121212111112222111212111211121121222222222112211112111112112212121211221122212222211222221122122221211212112222211111222121211121112212211211122211211211112221111112222222222111212212222111221221111221221111112221112222111122112211111221212112212221212212111212212221211211211121122121122211121112122121221221111222122211221222211212221121222221111222111211111111111222121211112212112221221211111212212222122221221221222122222122222221112221211112121221211122111212221221121211212222211221222111222211122122222122211221221112121222211122112221212222212221111212222112221112122222221112121221222112221122222121122111112111221111112212122211121221221112122112121112121121212221111212121111121222221122111222212222112121222211221112121211222222121122121211112111121211222111221222121211211121121212211211112221222222211122112122112212222212121211222221212112122122112222212212111222122212212122212221212122112221121211221111221222111122222112111111121122212112111112221211112211222111112111221112211112211121121211211111111212121221121212112212122112212221111211112211222112111212112121111222112212222222222221111222112211211122211222221112122212112211122122211112212111222121211112221222112121112121212211122222122212111222211111112212111111221212112211211221112222112112112211122222211122211211212111222221222211122112222222122112111211112112121212112221212121222121112112112221112222122212222211222122111112111211121211211212111211221211111222222112122222121222222121111221122122111111211212121122222222112211121211122212211122222111112122211211212111111122222112221212121122121221112212121211112111112222112111121121112111222222222221222122121211122112122112112221221221111212211212122122222121222121211111212112121221112212112212222121112211122211121122211212122111121222222111111221121222122112112212222221222121222111211121111211112112112211221211211212122121112122112122112211212212121221111122112212212221111212212112211211122112122122212221112211122112122211111212111112211222221122121211111122111111222211112211221222112112122122222111112112111221112111221212221121111211212211112221221121121222112111222121221222222222211121111212121221212211211221122212112121121212212112221112111222211212222111221221112222222111222112222121121112221111222111211111111112222112212222111122111121222221112221122211112221221111221222221211222222222221121112121211221222221122211222211211221112112221221112121121122111221111122121222221121211221222211111211222111212112211121111212212211111122222211122112212221111222122111211122222211121212212221222122122121121112212211221122222121221212112121212112122221221121212212211111122111212222122111221221122121111121221121211111112112112221221112112121222222222112222221111212112122121111222111121221111222121212221112112212211111122212212121222121122212212121112212112221122112221122122211212212121212211211211212212112212122221122221211221121112221222211111222121222121122121112212122212121211112111121111221222111111212211221122111222211112121221212222222121121211221112222222212121212112112122221222222111222111122212221122222212221211221122222211221122111211112222121222212112112121212212211121211212211121221222212112212222112222121212211121111211212211121112211121221212211111212121222222211122121122222212211111112211211121111212222121122121222222221221122222111222212122222211122112122122111211222212211211122121212122222112111121212111222111221212211112212212222112212211222212212221121112221221111211212211121112211111222112111111111111111211121221121112111221111222211121121121112111112121212211121122222221121211111222212212112112121111111221222222122211122121111221212212212211112221222212122221112222222121121121111122112121222121222221211221121122112212111121212122221121212122222221112121122122122221122121111221222112112212111122112212112212221212121222212121211112122212221211222121212121222212122212221222121221112112121111222111121222112112212112211121211211211212111111121122221111111122111111111212212221112111122221112111211121222111122212122221221112122212122221221221212111222211111112111112112211112121111212211111121121212122121122112212122222111111221121121111212121211221122111211112222122112212211222112111222111212211122122222111121211212222111212211122211212212111122212122211111112121222212222221211112212122111221211212111122221221212111211122121111221112112221222121111221112111122121211222122221212221221222122212221211222112221111211211211122222211222211212112111222111112121122112112212221111221111111122212122212222221212221112121221211121221111121211221221122221112212212112121121221112211212121221211222222212222221222211122212211212112121112221221221121122222221111122211112121111111122111111211211121212212122122222121122112112111212122212112211222121221112221212122122112212121111122221122112112122212111212122122121112112121121212121111221121212111111111122221122212211122221122111212111111221111112122111121212212211212111122221111111112212111212212221211211222221111121112222212212212121212122212212111111111111221122121211112121211111121112221212222212111211122211221111111211212221211221221121222222212212211211221112121122221222221112121122112211112222122122211121211121122122222111211111122222121112122112122222111211112122121121112121112122211122122221221221211112121111221122112111222111121112121211111222122122111211112122222212122112221121211212212122221221222121221211122211221122222222112221222111221121222112121122111112121221221111112222211122121221212121112222122111121112121221112121122221121222112122222122121111111221211222112221122121122221111121221212112122222122222222222112111122212212222122122112122212211212121212211121121212122211121221121212122122111211122112211222221221212212122121121112112212222111222222221122222122122211211122112211211112222222111212112111211221212111211211121122211212112222112121122111222212212211212122211112211112221212222121222111222122112111111112211212121111121212212221222221221222112121122211221111121112121122122222211222111211211112121112222122121212212221121121121221112121221112122221111111122111122222221111212121122122112111222212121112111222121212212122121221121211112122211211122122211122122112112222212111221222112121112121112212112221111121221222112111221212211212122211212122211221222111222121212222111121112212121111111221221111221112221211211112121122211111212211211221211222211121221112122222111222121121211211211111111121211212212121112121122221212221221212221112121222112211122122221222212112221122111211211211111211211121112222221211112122221121221222121112211212122222121112221222222112121211122221111221211121122111222111122222222211122221122212221111212212111211221222111112112121222221222112212221221112221121112112222222212221121112112211211211121222221112211222122222212211111222221222122121221111211121122212212111222111222111111211112112111121122112212221221221111121111221111121121112111222122212111222121221112121221222121112211222112211112121222121112111221211212112222122221221111111221212222111212121121212221222121212121111221221211221121121112112122121221122222122221122212122121111112222121211212211111112122222111211211212221212121212122222112122112121212221111111212111122221211112111211112121221121221112122211112112122121211122212122111111221211111221212221222222121122211112221222111121221122121212211222212122222112122211211121111211111111122121122111122122122221222222122112121112221121211111221112121122121112112221121112122212212121212222111111111212221221111111211112121111222122122222212122111221122221122212111111211121111111221221121222212222122122111121121212122121222212222112222112222111221211112221212211122121221121222221212221211212211112112211222121112221211112211121212112222221111111222211111221122211111121211211111112221122211111211222111212222111112221121122121121211112211111111112211122122121111122111212221221111112122122111112222122111112221222122222221211222121112112121111221121112221121212221121221221211122221112212121112112212221212121121212122121221122111121222222121111212112121122221221221122211122211112121121221221122121111211122112121122221112122212122211112112222122222221111122221112221112222212122121121221111221121222112221212221221221121111112121111111121222112122221122111121211112212211122222122122112111112211111122122111112211112222122222121211222122112112212112222221122211212211221111111212122211221211121222122112221222112211111211112221111121111111222222111122221112112121222112211212121221222122222212112211211222222111111212121212212222122211212112221212121221211112111222111111111221222112112121122121212112211222221111212212122211211111122112221122112111212222211121121222112121211222122121122221112221122111111112122221211111111221111211212122212121212111111221212121121121121222122212111221222121112222221212221222122122122112212212212122111121211212212121211121122211112222211121221222112212122211222212122111211212121122122112212212211112222222211121122122211211211222211212221211122112221112121121122122111211112122112111221122221121212221112122212212212122122111222121112212212121212112122222222212122121222212221222121222221111112212212122112221222211111121122221121222112112122112221121112121222112112111211122111112212112122122221221112211221221111122111221111222211112122121222122212212211111122111111112121121221211221211121212222111121112121212211221111121212111122111111221122212211121112222112211221121122111211111111111221111211222112211221212122222211121221112111221211121112221211221121212111211221221111211122211222212112211112122222212212211221122221122122111221221212121222212211111121122111111112211112112211222222121211222112122112221122111222112121121121111121121112222121222221222222212111121112212222221112221222212221112212221212111121112111112111122111122121211121122222221222121111212211212122222211222212221211222111122222212111121121121112221112212211112222221221211112211122111111112122221221221122122122121211221112212221221211122121221221111111222212111212112112221111221211221121212111111211222112122222211121222222222111212221122221111111211211212212221122222222121222211211112211111222121221122122111211111122112211221121221212121212121112122111222112212221221222112211211211122221211112222212122222112222211221221222222122111121112221212222121122222211112121111111222112222222221211221212221121112212112111121221212121211221222221122211122212212122211211212212122122211122221121122212221111111122122222212112221112212222212112112222211222112121112111222212122121221112222212121121222221112112111122111212212112222121221112222222121211211222112211122122111112211221111221222121122121212211121222112211221122112122211221122222221121121221221111211222111121222212122211122211112122221221112112212212222111221111122212122112111211211121211111122212211111112211211212212212212212122222121121222221222212212221111222211112212122111111122211212222212211112212111211221211122221121112122212122221211111221121112222212222212221112111222221212211222221212221212212112112121121112222111212121122122121111111212112122211122121212121121112112212222212112211122212112121222111112121112112222222211211222211222222122222221222122112122221122111211221121122221211222211121222212122111222111112212211212212222112222211121122222222222121212111221122121111211121121211122121221112122111122212212112111111221222111211211112211112122222222112112112112122221211211211111111221112112221212221112222222112212212111221122211211211111211111221222121211211222212111222212211121111211221212111112112221222122122211112111222122222212222211222211112221112212222111212211111112112211111112121222112212112111111111112212122211212212221122122222222111211112211221122211121222122222111111111212211122212121212221111122121112112122221212222222222222212212112111211222221211121221121212222121112111222211122122111122212111211121111112111121122221111222222121121111211121221121222122111221111221212121212121222212222212211121221222221121211211222211211111222222222112221112112212221121121111111212121222122211222211121112212121211211112112211111221211111122122122112111121112222222111121112212212122122212112122112221211211121211212121221122212122212221112212111222111222221211221222121211222122212121211111222121212221222111211212112212111121121211212211212212212212221211121121212211212221221122122212111112221221122221111121221122222212121121111211221121212122221112222121121212221111221112111121222122212222111212112212221111221121111211112112211111112212212122122221121222122212222122221122212122122221222122212121222122211212221111212121211211112121221212112212212121112112121122212111211121122222222112212211212112212212211211221212211112221112222222212221221121112111122222112122221212111122122112221112222121212212111111112221211221212211222122221221221122111222222112122212112112122212222112222111112112112112212121122122112221211121221222211111221222222222121211122112121211111112112121121211112211112212112112121221112122211221111112121112111222111112111222212221211111221111211221221111111212221121121222112222212222112121122112121222221112212111111122112221122112122211221212211221222212111121211212212212211211112122221121222212212211121111212112221121212212222212111122121122212122112122212222222222111222112111221111121222222211111221221211221221122121211211211112211211111222111111212211122212121121122221222112211111111112222221121112221212111212122121111222211121221121221212112211121212121221211212222212121222222222122112122221221121221111121221121122212222221212212221222222122211211221112111112211122221112111111121121221212121212212221112121122211211221122211112222112211221122221121212211122222121222212212122222112111212111222222222112211211212211211111121222211121112221221121221122211122121222121211212112211212112221122222221111212221121211212111221212212221111221122211211221211122112121211121112222112212112122211112211111121111121221121122221221111122112222122111112211122122221112112221212122212212222122222212212222111221122221222221121211211221122122222122222212221221122121122112221212211212111111112222112111112121122111121112221222212211111111122221211211112222211111111222212221212221211222221121212121222122211211222211122212211221112212111211222212212111111221122112121211111212111222212121112212122212211111121112221112111122212121111222122111211221212211121111112111112122112112212112121121212112112112112122111211121111122121212212111211112112212211122212111111212222111212212121112111212212122211121212221211212221222212121212112221222212111112222212112122211121121222222122121122222222222121222212121112112112121122121212122112221212111121122222112222221112222211112212121211122222111112222121222221222121111112212112221121121212111112112222122211112222122212222211222211212211112221211212221222211222111112111121212211111121211121212211122111211221212211112211121221211212121112121121111211121112112212221221121221212212111211112121121121121122121222112111121112211122121211112111212221221122212111222122121111212211111122112212212111111221222221221221212112222212212221122222221222111111121211112222121221121211112222122211122212112222121122221111221211121111221221122111221222112211122222211212212121211112221212221212222211221222222222121111222121112121111112212111222112212221122222111122222121112122222212222112212122212122112211222222122222122212112211221222122122221122212221122211112211211212222122221121112112121211121121211221212111221112222112212212112221222212121112221212222212112121111222111222221221112222112221222112211111111122111111122222122112211122112212121111122122221221221121222112121122111211121121221221221222221111221111221112221211122211212212221221211111112122122112112122111122112222122112211212222121212122221122221222211112121211221122111211122122111111212211122222212221212111121122112211212211111222121212221212222122121222112212222211212122221222211212121221112122111121122212122121122222221221121212221211122112222222211221112221211212121111211121111221111121221121112112121111122212212121112222122222112212122121221222112111111122211212122212122122122121121111122111121111212211211211221222222121111122112212111112112211112212112122122122112222222221211212211222221222111112222211122221212112221221211211211112212121112112121111112111111211121121221112211121222211121221121211122222122212222112122122111112111211221222221212222112121212121222222121121112121112212121211121112112121222112221212111222212211222122212112121112221121111122212111122222121211211212121221212121222211221122122222212122211212111211211221111112112212212211122121111211121211221211222112211111221211212111211111222221121211121221211212212211221122211122221121211111212122212211122111222112121211211222221121121222221222222121121111122212222221221222222211122212112222112122112212111112221212222212111122122122122221212221122112122122211222121122112212222121112222112112212222122112111121221122122222112212121221121212121121221121212212222122122121222111222112211121211212121112122211222112222221122221111211112112212222221211121212222221222111211122221111112121222212112212122222212122121222121221212222122121112111112221212112121111222122111211111221222221211212222211211122122121211121112122122222222111211212111112212112222222111121111222212112122221111211221222112111221221221221121212111122112222221212111122121122222211122211212211222222212212111112221112211122112122221211221212121121111112122221222221121112112111112112112211111211222112122121221211212221122212122112222212112222121211122122211221212222211212111111121121122212222211212111212222222222211121111122121112212222221221222121211122212111111112212221121211111111211211121222211121122211221211122211121221122211121121212122212121222111222212211211111211121121212221211212121112111212111121211212122112111211222212221211111122211211222221111211112122212112121111222121111212111212112121211121111112211111222111122111121122121222112112211121211222221112122112221212111121221121112122222122121222122222212111221211122112211112111112212121122121122211212112111221121211111112222122222222211121221121121122121122221121211221121212222211111111121112121212112112211122221222121221222121122221112122212212212112122112222211211212122112111222122111111122211212111221222212221222112212212121211221112222222121211212121111111112222221122212112112211222212122122221111112122222211121111222212221221121221111121212111121221211112222222221212222212121122112211121121221221121212211122211112212112212112111111212111221222112111221121121121211122112212111211111111222221121111212121222112211212122212111112122212212211112111122111222111111211111221122211112121222222211222122222221222221212122121112211122111122211211112211211121112112221121212111212221211211222122122112222121222121212121221121122211121112221221221212222221211212111212222222122211121111121112122121112221211211211212222222122222112121211122221222222111121222221212111222212221221122212112112122122222222121111211112112212211221211111112122111112112112222222211222212112112221111222121112211122212122221222212211221211221121112221211212212112112112222112222121211212112211121112111111222211221212212212211212112221222112111212221222221222221221221222121222111112112121222122222222212212122112122112221211211221122222121222212111222111222112211211212112112112111212222111222121211121221112221222112211111122221121212111221221212122112122222222112112221122121121111221222221211122112122211111211122112112112221212112121111212121112211221222222212222112212222221222211211111111221222122111211222121211212112222111122221211212112222111222211221112122211222112211221111112112121121212111212112212222122112211212211111211112212122122221111222121122222212121111112112222122212221212222221112212212211222212111112211221111111212112222121111111121111112121222211111122222222211121221211212111211212212112112221221122111112222122112121112111112211211122112211212121221211121122212122122221121211211111212222211111121111121212221111121221122111222111111122111221211222121211121122122111121212112211222122221222211121211221111122221111212212122212112122111111111122211221211212221121211122111122211212212111221111122112121211222212221112111212222211211121212222111221112212122212212122121122121122122111221221221122212211222221112122211121211122221211221221122222212112222212112111111222111121211222211122122221111212221111122211222112221212111212211111211122211112122222121122111211212222121122221212112121221122121121212111121221122121221221221121221112121222222122212212221122112121111122222211212212122222222112111111212111212221222222221111211112122222211212111212221221212212222121111122111222222112111211212221222212112222211212111222222222212222121221212211121122211111211112111121211222122222111111111221211211122211221211211221222112121211111111112112221212211212222212111111222211212222122222212212121221211211112122121222111121221112112121221211122222221121222121121221212122122112221212122122211212222122121112222122222221112211122121111221122212221212122211222222212111211122212212212111221111212221121122211111111211121122111212121121222221111122221121121121121212112221221122222222122121212121211222212222121121212111222112122121112212112211222212112112212111222112211221212212212111222222112122211112112222111222221211111111122121122122122221121221121112221221112112222222111111112211112122112112212212111222111121122112221111112221112112121112121112222221112222211212112122222221121122111111221221111121112121121111212112222221121122122112212121111121221112222212111212112111221122122222112222222221222112112221112122111221221222212111111121111211222211221121111122221121222222122221122222122221212121222212212122121221222211111212111121121122222212112122121122221111112222112211221111212122211221112212111222221211222111121112111221111221112221222112111122112212211211111221111211221121222212111111112222212111211212111221111111122112112212211222221122111211121221122221121211222211211212121112121111111212121121122122121111122221111212212112111122122212221122111212121222121121212212111221221222112212122212221211212222112211121112212212122122211122211212221211112122121222222121221111212121122112121212112112111112122211121122222111122212222111222212112222121221112122221221111112121212112111211212212212111112221121122112112222111122111221112112211111212111112211211121222122112111111221112111222112112122211221212221122121121222112211212222212211121222221212222221212212112211212121112122121221221221121221222212212221121122112122221121211212222121111221221212122112121111122111122121211121111222121221221212211121212111111211112111122212121121221222111111121112121112221122212111121111121211211112221112122222211212112111211121212212211112112211222221221211121211121211221122122111122121222212112111111111112212212212211211121221221212222121211122112112111212122222112211212212121121211222221112121222221222221222111122122221122221212121212211212211212121222121112222211221122211212122222221211222112121212222221212112211212211212221112121211112211122221111221222122212111121122211122212121212212212222221211112111222122111211121111221121112212122121111221212222211122112222212112221122111112221121121121212212112111221121222122222222121121112122222111222111121112111111211121211122111121122112222112211111112221122222211221222221211122221211222211122222121221222121211221212222121112222222221222211112111222211222112121212211111121122211212221211111222222211122222121212121111112222112112221121211121111121121221211111121112112112122112222122112221221222212111222111221211222121121111211122122221112121221121221211211112221222221111211212121112211221222221211212111121111221112222212212122122122222221121211112221121112122212221212122121122221121122222111112122212211122112111122112121111112221211112111111122112212112111122212222222222222122212221211211222212211222221222122121111221212121121211211112122112211212112222112121222121222112221122221111212211221221111212112222221111211212121222122112212112221212122221212112212111111212122112122221212221122111221121221222122122121122212122212111222211111112221112221122112111221112112112222122111111212211121211211121212122221221211222212212222221111212211122121221122111112112211221121211222112122122211211211222111122121111122211112122211221122222211111121121121221212121121211222211121211112211211212121212221222112121122122221111112112222112211212112212121122122212211212112112222122121121121122111212212112212122112211111221221112112221221121211121212212112112111221121122121212222222221122111221212111111121212212222212211121121121222212121112222211112211211211212122212212212111112211111221121212121111121111112111111211112111221112212222211212112122222211212211221212222211121121122122222121222211212122122211121121112111222111122122121221211121111221211221122122211121111121221212221111112222111211211122122112111221121111221111111212221121222122221222211121122211211112212212121122212111212121211211221222112111221112211111221222111212212122111122111221211122211212111212212211222111121222211222222121111222221212221211122222112111111222212121111122222122121211111112121112122111121221122111222211122222221111121221111122111121122122222112222122111121121212111112211212221122112122221122121222111121111121122112112211121112222111211212212222121221112221122121222212122112211122112121212122221222212222222211212221211212121211211211222211221212112111122211211121211122212211122112221112121221122221221222211122112211212221222112121111212211211211112122121211111112121211222121112211222111111122221112221222112211121222122211121121211222222121121221211222212211221212111121121211112111212122121111122122222111221121122222112212111222222211221122122111111222111222222212222221222111121122212121121111121111122121211212221211111212222212122211122122111122222211211211121121222222221121112112212222222122111221121121121222221112211112211211122221212212211212122211221112111222122212121211122222211112111211221122122221222111122122121221222121211122212122222121211121212112221211111111121221122211221111212212121111121212222211122211211211212222111222122112112112121221121122112221212112222221122211222211112121222121211212112211112222111222122212122221221211122111121121222212211212221122122111111211111121221112212121121222222121221212221221221212212221221222112222211212121212121112121122112121121222111111222222111121112111222211211111122111222212111211112222122211122111221212112121122112122221222111221211212112211211111122111111112122121112222212111212122112212221122222121121222222112112211212112222111211222222111222121111221111122222211222221211222122122212121212212112212222211112212222221111111121212221111122111112122211221111212122121212111222121112211111121112122221221211111212221212222221111212212211112111122112121122221121212222121112212111221122222211121212111121221211211111211111222221221212212111112212111212122112222122121212121121111112121222112212212111212211112211121221111221122111112222112111112211221112122111221122221221212122211212122121111211111111221122221222212121212221122221121212211212221121121122122122221212211112211112211211221122122111212111221211212122221221211211211211212112121112112121111112121212121121121121111222222221222211222121212221211122221212211111212122111121111112211211111122121221211122122211212222212111122212212211212222211222121122112221112112211111122211222111221211212222211112221221112111111121212211212111222211222111211211112222121222212112111111222212112122111112111211111221211222211111121121112221211222121112121212112221112221212211122111111121111122211211221221121211111111111111122221111112221221122121212122122122221111122122211122111112111222122111221222111222211111112212212122211221112222212111122211122112222111122212112222121222111112112121221212112211122221122121112111121212221212211122121221221122122212211121112221111121211111212222112212122112221121222222122111122111222122111111211211111212121121112211122122122221221222221111212211111222111221112112121221222212112222111122121211222121112212112121121221112212211121122121211212212121111112212111212211112221121212211221222122212211212121211111212212222112122212121211222211221221222222112122221122221221121112112121111112222221112221221122111211221222211221111121212211111222111111122222121111222212222122221122122211212222221111111212121212222122111111112112221112212112222121112111221111212112211212121122112221122122112122112212112211121121121221111111211221212122212212211211121221122221211221111212221221221212222112211112122211212211221111112121111122122112222212121221112211221112211211222211221212221221212212212112112211222222112112122122211211221112211222111222221221122121122112212211221211122222211121212211211111221221111112221211211211221112211122221212112112112211212221122111122211222211222121222211212111212222222211121222221122121212122121222111211121121122211211121222122122121212212211121211221122111122111211221121211111121112111112121122211112122121112121212121121211122212212111122122211121122111211211122222122121212112221112212222212121211222121122122222112112111212212111222122121221212121221222111221221111122111111111111112122121112212122112111221212122122212121122212221122222212212212222212221112211121121221222112111221122222112211111121221222121211121111112212112121121111221112121212111112212221121122122111111211212121222222222111121111211212222221221222221111111221112122221121112121112212222122122212121121111211122212122111222122111212221222221121121121112222211121112221122122111111121221122212221121211112121122122122112222122121111122122121212121211121121222122212121221121112121122112111211212212211211222221222212212112122212221121112212121222121112211211221122221211111122222112122221121221122212222212121222121121111111111222121222121212122121122112121211121221112121222122121111221211211221212221221111211122212121112121221211112122121221122211211211211212121111211121221221211112221212211112111212212221211221111121112121121211221112211121211221112221222122222211221222222112211112211222212212121121121221121221222211122121111121111111121112121211112121122212212212121111122111122211211112211211122211221111221121111112121211211122122121222211122122221111122211111212111112212221212222212111221212122222121121111122111122122121211212211211211112121122222221212112212212122112222211221111111212221122112122222122221222111222121221111112222111122211211212111122111121221122222112122221222122122221122221112221212122221221221211121112212211122112111111211211122112222121221111211211211221221111112111211222221122222212111122112221222111111211122121112111111122121212222211122221212111122121221212122111212112212112111121222222122121122222112122111211212112112211212211121211211212221212222121112112122111122212122222112122221111121222221222111122221121122221222111111122121211112112222112121111212222121212211212112222112122211121222121112221221111212121111212121112211111122122122111211222212221111222211111121112221211122112121112221122212122221211222221122221211222111221211222121212221122221111221211211221222122212121121121221211222121111111211112211221122211112122121121212111212122121221221211112212212121212212212121222212112221221221211222222211222112212112111221112222121212111221112212112122112111122212212212111212112122222212221221222212211112212121111112121221222122211111222221112112211122111112212121122211122112221122212221221211221122121121211212212212122112111121211121112121122122222211212222112111111121212211121121121221121222211211212212122221122212111212221112221212122221111112112212211122122111212111212121221122212211121122212211221112122221121122112221221221111111121212211112112112222121121221211212222121222211111121121212221122112222111222112122112221111121221122111221212111111221121111212122111111121221222122122121212222112121122122211211211211222221212212112211111111221111212112112122111211221122121221222112112122121122122112121221111221111121221112122122122121222221122221112221222222121111222221212121222112211121112122111221112111221211211212111211222212112222221221221222112222221121221222121222221121221121221212121111121212211111212111122111112121111112211112121212122111112211112121112122112222121121212111121222112211212211122221111112221122111112211222222112221121121111212221121221122122111221111122212111221222211211211122221121222211112211112222221121222222121122121212111111112221212111211212122212111221221212112211121211222111221211222211222122122122112111212211111111211111111121222112211221121112221222122222112221212122121222112221112212112212112222122222211212222212221111121211212121121121221211222111221111211121111221221111212212111222111221121212221212221122112222122121112111211212222112222221122112222111112111112222211122112111111121121121221221211112211211112212122222212111211121112121112121112222112112212122221121212121222221211111212212221122221112211112222121121211111222222221121222211111122112222121122111111221212111111212121211111212122211212111212212222212212221212121111212122211222112122211221112221222111212121222222111222122121222122212112112212212212221222211221112212112121222112122111222221111112111112211111212121112111122222222121111122211221222121222122112112122221212221112111221112211222221222212111221222211112221221122222122212221122222222111212122212221221211221211121111112222122211112111211122122111112212121222212112122221121112112112212112221121221111212121112111211221211112122221222111111121221121111112211212122211221121221122122212212212112221121111121222212221112211122221222121111222211112222121211212111221211221111112212122111112112222212221112122112211111221122222122122122121221222121212212111222221111212212111121112121212111122212121211112121221121112122211212211221222111221222122221221122112111121112112112211212212221211211221222122112221111222121112122112211121211212221222122211121212211212112112122112221122111221112121121212212111111222222222222212122122122121111222221122112212222112111221211221112122111212122212212122211212212121111122112212111121112222121112121222112222221121112221111212222112121121221212122221222122212221211221122222221121121112112121212112221111111221122221221111222111121211111212212221221222212222122212211121122122122212122221211212221211221112221121212112222121121221112121221121111222212121121112112221121222122222212221112212212111111111222222121112121112121111222121111122122122112121222111212112112211211111222222221221221211121112112211112122222221212221211221212111221111111111211121122111112121122222112112211222222212211211121122111212212121111212112211122221121222122121211121121122221211222212212212222221112122212221212122221222112221122111121221212112112121212222221112222222112111111122211121121222112211111111112112111121212111212212221222112121211222111221112211212121122112111222222121212221211212222221111111122221222222222222221211111211111121121112111122221211221111112111222211212212111212111222221222221222212112112112111221122221222121221222222222122212122212222112222112122211212212121112212211211121111111222221112121121222111222221222111211211121211121211111111211112221211122211121112121222212222211121221212121222221112122112222111121112221121112112211211112212112212211212111112221212221212212222221122112112222212222211221212112121111121112221122112112122212121222221211221211221212122111121222111122122212211121222221211121111112212111221211121211122222211212121122122111222211111112122111211111121211112211112211212121222122212121211211222112221112111121121112212111112111112211122122222221122121221122211222122111221221222121122211121111222122221122212121121122111222112222222112222112212211221111122122111221221211222121222212122221122211112112122211221222111221211211212112221212211211221222221122222122122211122122212212122211211222112212211221221121212121111212222211121121221121111121221121221222211211121112221211222111112122221221221211222221111222121222121221122112122212111211222211112122112222121212212222221122222212122222212222111222112221211221211122122211121121122112121212121221222212222212112112221221212121221211212122222112222111221211111112111122221212222222222112122221112111212222211111112212222111112121111111111121122221212122121111221112221212212211112212122212222211212222122111112121112222221222222211211112211112112121112122222222112221121221111112211221121122122121122221112112211221222212211122211112122221121121111122221111111122222111211222221122122121222211221121122111121112112222212121211121212112111112111212112222211211122212212221112122211121212212212212111222222212111122222122121122121122212221121121221212112112121222211222121121122212112211112121121122111211221211122112112111112121122112122111222122212222211212221111212212111122112211222112121221111112221221121212111222111212122122122212121121111121111212121112122222112212122221212221222211211221111112211121112212121111212121212121112122212212212212212111212222221112112211112222121122121122121222121122212212221222112111222112211212122211111212122212211112112211121212111222221122112221112212212121111222222111111111221211121221122211211212112221121122211211121111212212221112121111211211121112121121122221212222122122122222111222122112121122221222122211212212121221121121121112211221112112111221211112221121221222121112122111122112221211221212112212121121111122211221222122122112122222221222212112222122122122112111222222221221112212221212221122111122121111122221111112222222122122122121212112211112121221112112211112221112211211212112211221212112212222212221221112222222212122212121121212122111122222211122211221222112122222112221211122111112211211222211211121111211221112122112222111111111211112221212222211121121222122111122122122121211221121122211212212112112122111212222122212211212121212222212212111111221212222121211112221212222112211211212221112122222122121112222221121112211111212121122211212221221222111122122111222211211121222222122222211212222121221112212122221212211222111221112221112221221221221221221122121221222122121122212122122111112122121222222221212211121212112212122222222211122221221111112212221122112121121111111112221121112121212222112112211121121111112211222211112112121111212212212221222222111111122121121211221212221221111212222211111211111121211222222211212222221121121121212212121112121122221221212121222111221112211122211221211211111122212121122112222122112112121111222112121211121121221122211221121122111212212221212121211221222112222121112122221112112112121111222221221111111221211211112122122121212211121221222221221111222112111222121222221122211122121122112112112121122122212121212121122111121112221212212222112211222112112121111122112212112121112211222122212121211121211111121112221112121121111212221121222221112221121111121111112212121221122211111222222112212121211122212121222222122122211221121222222211112122212211111111211122221211221111111212122222122212122212112111212112211121122111112112212111122212121222122221221211221221121211122122111222211112221212121211111221122211112122121211122222122111122212122221121112112121122111222212121121211222222212211222222111112111111111112121112111122221122221112221211211211121111111222121112112121121122221212121111212212211121222212221122212212222122111122112221212111211222111121122122112112121112122211112111112222111121122212222222211112122222212122122121121222122121111212222222121222121121111112112212122122212221211211122221121221211211222111211122211212122212121111111221121111122111112221121111221122222211221221212122221111212111222221121221111121111121221111112112221111211122122211212222211111212122122211212111221111111211212222222121121221112122111122221121211222111211212222112112111211221121112222112121221212121121212121122111122221222222112221212111122112221221211121112222122121222111121222211121121211212211221111111111221122211121122121212112212122221121211112112222121121121222211222222112111222212111221112122111211222122212221212111112111221221221211222121112212222222112122111122111221111121121221111212212121111121212121121212212121112222222121221222222222112122211211222211222112122111111221111212111122221211121221111222221111111211111111211212221211121111211122121212222121221121121222222212111111222112111211212221112111211212221121112221212111211121122221111211121211121222221112211211212111112112222122211211212121221221122221112122112122122212211222121211121121111222211212211212212211121112211222111211211211111221221221112221212221121221221221211122211122111111122221122221221121122121222221121111121212121212121212122111222212112121121222212111221212121221211221211221212122122121122222212211211122221121221212212112122121221112212221112112111212221111111211111111221112112222111211122212122221122112121211222112222221211222211222122221211112211112122211221212111221212122211211121221111221122121122111222112221112122222112122211112222221112122211121212112212222122222222222122121111112212121122121222121222121111111112122222212122121112212122121212121211121221112122221221111122122212122111221122121112222211122112221211121121122122111121112121222111211122111212121112211112211111112121211222121211112112222112221122111222211212112112121222222121112112122112212122121221211221122111111211221122221111112221211211212222211121222211221111112122111222122111221111121221112122121222211212111212212211122122112112212111121111212121111111111121112212212211211221111121112221112112122212212111111111222121112222111211221211221111211111122221121121221121111111212111121122211111111121211212122121222122122121122111212211111211112121221112212111121211111212221212122221222221211222111122112212212111111112112221121121121222111121222121221112111121112111211211122211212211112221121111111211112221212122211112122211211111121111121112111121121212121111121112212222221222112111211211212211112111121211211211122211122222221112111121222112122112121212212221111121121121121222221112211221111221221221221211212211111222212112111221112212121221222222122212222221121112112121122121121212112121221111221222111112122122122112122221211111111211212212212122112121121112222112221121111221222211122111112212222121121112122212221121112111212222112121222122121122211222122111211212122112111212112122121212222222111121111111212121112212121211212222222221222111221222211211211211122212221221121122211111211112222111211222111212212212222221221221212112122111121112211222221212112221122221112111121212121121212112112112221111221221122211212111112112122212212211122211211112121121121211212211112121112211221212112212111212221112112111121221121122111122112112111112211112221221212112122111222222111121221221212221222122221212111121121211112121212212221211121111221222212112122111211121122111222121212122211221211111121111111222211111211121221122112211122211221121112222122121211111121112122112121111121221221212122122222111122222121111211111211211211121212211121212122212121222121121112211212111111221212221222121211122211121211122112222112212222212112122122222211212212212111111221212121222112221112111112222111221121221122122221222112112221111212211212122122221211222212221111221111112221121221121111112111112121222222212111221111212121122111122221121221212121122221211122212122212222211122122121112211222212211222211121221112212121221122122111212211222212111111122111222122211121121121111221121121222212111212122211121212111222112112122111122221212221122221112121221221111122111211211212111122212111222221112221222221211212112112211122111221222112211221111111122211112111121112222212112211122121122211122221212212221211212211212111122112221122212222211211121121211122111112211211111111121121111121122112121121221112221121112211122121111212212212211222212211121212211112222121111211122221112212212112112111222112111221221112212211112211222211222121221111212111121222122111221111211121222212222221121212122112121121212221222221122122211212211212211122122122212212111112112121121121221122212221121212122212121211222221221121121222221212222221111122121222111211111211212122212112111221212122121212212121211211111221222211122111122211221221112222122212122112222221221222221222122222121111221221222212221212112121111221221221221212121121112121212122121221222222221211121211222121121211111111112212122211112112221212222112122212112122112122221212211112221112211212212221221111221211222121221122222211122121222212222111112221122122122212222122111112122212121121112111111112212211211112222111221112121111121212122111121222212222211212112212111122111111221122221122221211221112212211112112122121121122122211112221122122212111122112222122111122111222122221121212211122121222222212111222211221111221222121222222122212122222212222111211221111111221222211212122222112221221121112111111211221212211111122222121212122221121111122211212212221222122111111121122221112122112112222212121222211111212122111121111121222212121212212112221121222221121211121112121222222121121112221112221212212221221112112112111212111112121111122112221112112221121221111112122212211212222222112121111212122121221211111111211122221211111211111122111211211212111212211112212122112122221222221211111111121222212112221112112212121221111112222122111122122211221122221112211122111221121121212112222111121121121211121211111222221222211212211111221112222121222111121121122122221111122212121222111211112211212111211212211111122111111221211221221112211211211222111211212221122222121212122112121222222221211221121112211111111121121221121112121111221111222112211112221122112221122122221122211221221111211122211122112222211221221221221211121111122121122121111222221122222112211222211211111221111221221121121221221111212112112111112112212111212212221112122111212222211222121212211112212112111121121221111121122221212111112221111122111112112221121212111121121111211122221111211122212112111222222111121221121211122122121121221212111112112212121212211222221221122121211211121212122221211221111221111121111112212112211222121111112212121222212122211211111221221212222112121121122112112211222222122121212121211212122112222111122221211221221222222211111112221121112221111122221211221211121221211222112122122211211112112112212212121122212211121122221112222221121212112121222121221212111121122122122112121112111112111212121122122111121222221111221212121211212112122212122221112212221211112121221122111112211121121212121111122211211212222211211211111121212211211111212221111121112112211221212221212122222121211211121112111112122122111112211112122212122221222122122211221211111122122222111112221121112111221211112122211122121122221122111211211212222222211121122122211222111112112212111221121222221122122221211212212211111111221221112122221121221121211112211221212212221221121112212221122211122112111121112112121221111111211211212122211221121222221122222222121211122111212211222122121121221222121222121211122112221212212111222111221222212211121221112111112222221212221121222211212211122112222121221122221212112122211211221111112221211122112121112212211221121212212121122111222112112121122221112122122111122211221121112111211122111221221222121211211122212121222221112221222211222111211212111121221221111222211112112121212222111222222112111221112111111222111222221221221221122222222121211221121211221121112221122211222121211221112211111111111221112222212112122121122112122212122212211122112221122111121121121221211121111211211112122122111222221211212112221112112121122111221111121112211111211221111212222112111111121221122122112221211211212112222111211121211122112121112222111222212222122221222221112221212222112121121112112222112222112111121221122121222211111222122211122212221222212122111222112122112221111211212211121221222112121112211212221112212212121112112211112111112112221121222212111221122112112121221122222112111212121222112212121211211222122221222121221211212112222212211222112112212112111211121121221111211121222221212121112222122112211211221111212121211112212112111111211211122121122112222112222211221222212111122221212122221211211121221121121122221221222222112122121222221222111211121111111122121111121222211221121212221212212112221122122121122211221222111222111221121222121212121112112111112212111111111221221112121222221212111222121221222112211121222212212111121222121212111112122121211121222111122121212221121211222222222111121112221122221222212221221122112111112222122112212122212221212212122222222222221122111122122222112121211221212122112221212211121222112111211211212222121212121221212111121212111211111221111121211111222122121211122211121121222122122221222122211112111112122222112112222222221212221111122222221212211211212222222221122122121111122211112122212122212122112112121121112222121222111212122211222112222111211111112111221211112112121222112112211212222122122221221221222211112121211111112212212112221112111122121221221111221222212212212222122111122122212221211121111111211111212221122122222111122212212121121121221122112211221111212111122212221121112221221222122112211221111211122211111122212112222122211211111222221212212121211112222111121222121112121221222211222221122111221111112112211112121121211112121221121112211121121222222212211221111112221122211122111121212212112112211211121122122111112122112212212112121111121122211122121212112112211112211112122111112122222112122112211221212222112211212212212212121111122212121222212122211121211212211211211222121121212112111222112111222222122212111112222121112121212211112221111121221111112112211111211211111221221111112111222222212112221221222111121111221222121121121222112122111122221112111222122211212221221221222222222222212222121211122122111122121122212212112121212122111111212112222222122221111212222211212222121211222221222212111211222122121222112211211121112212111112111221122111122221111212121122221112221222212122121211221122222122212111112111112122211221121111112111212211222121222122121221121221122211212222222222122221222212111211222221111122111121221121112211221211111111121212121112111211122112211111122122122122211121212122111212122211112222212212112122112211112121211122112212111212112111212211121212122212121112221112212122112121211122112111211112121121222222212112211211122212211221222121222111112121112112211212222221222111112221222221122221211112121221221212212112121212212111121112122211111212212222211212122122221221121121212121212211222122121111112222121122122121212222121111221221222121122121122121122212222212212211222212112222211111211122221222111112212222221222211222222121222121111211212121221121112222211121211121222212212121211211221212221211122112111221221121222121221211112111121212122112221211212112121111121111122212112212121212121222211122122122221121112221111211122221222122112212121111111212212212211212222212111122222221222212211212121212111112212222112212112212222212121222222212111121121211122221211221211112222111121211111221122122121222221211212211112211112111122121121221211221122111221122112112121212221211121121222112111122222222121121121111111122222112222112111211221212221111212111211111222122122112221122121111221122222221111221211212122111121212112122222122121112112111212222221221211111222112122212121122221211211121121121222121222112121221111211212212211111112121111221211211212212112221222112122221221122212112122121111211122112211222212112112212221212122212112112211211121111222221121121112122122212111222212112122212211122212111122122222221211121211212221211111221211122222222121121121221222112122122111222121122222221212222211112212121212111121221121211222111122212111112221221111222112222211121221221112111212222112111222111222222221112221221212221212111121122211211221211221121111211121111111212122121111222221122111121121111222122121122222122122221121121122122121211122122122111112121222211112122122221122122111212121122122121212221122122211121122212121221211111122111111221211212222212221111121112212121212221111222212211221211111121211222212222222221211111221221221212222122221222211222112122221122112211212221112111211121111121211212122221112122221222112221212211122111222122112111222211121221222111211112121121112111211122121112111112111112112122211212211211221111211212212112121112211221211212221212211121222111222111222212111221112122121212111222122221112111122112221212222211222111211122111121112121222212211121211111121111112121112122212111111112122122222121122122111212121222221212212211222122212111111212212112212211212112221222112211122211221111221221222212111122122112221211122212122212112122112222221111121211112122222121222121212222121122112112212221222211122121122212111112222111212211111211121222222222222122112111212111122121222212222211211212121111212111111112212222111122111121112122111111111121121111112112222121221111111211121111121211112122122122112211112112221121221212212222122211221212212111212221211122211112112111222112222112222121112112222221121112221211121212122222122211212121121212112212111111222112211111222111121111212221222212112112112111211111211122222212122211221111121212211112211221222121222222111212111211122221221122211212211221211121222211112111221212212111211212122212211112122221211212112121121111121211121121211222222121222121112211212111221112122212121211121122211212112122211112212211122221222112211221211211212122212122121111221212122112211211212211221111111221121221122121212222211212212111211112122221211212221211122122122212122211222112112222212221112122222111221222221212212212112112112212122122112111122122211211221112112221222121122111212111212112111212112222112212212112122221121111211121111221212111111111222221122221122111122122121221122222211121221221112121211112212211211122111221111222111111211122221111122221212122111112111222121221222121122221121111211221112122221211121112112212212121112121212121211121211212112211211211222211111222222211212112221112112222111221112221122221121111121212111221122212221111111112111111111122212121222221222212221111212212122121221221211212112222212211121211122221212111211122211222211112222121222111111111112112122112211212112222112111211212122211122122112122122112222121121222222221221212212111221112122112121222122112112222111112111112222122111211221111112122122122222211122221221212212111121112212122221222122121212122112112222111122121212111211221222212111112212221112212222122111112122222212112111112211211221212111222121122211221211111121112121212111111211221122111222212112222122221222211221222212121212122121221212121111111111212122212212211211121222121222121222222211212122112111111111212212122222121222212121112222111211211112212111112212112111211222122221221222112212222222122122112111111121111121112121122121211111111211112111212211112122211211121121212122222221211121221211222221111212212121121112221111112222212112111211122111112221111122211121211221112221122211221121112222222122121122211222121121212221112122221122122112221221221111122122112211221211211121122121221211211112222112211121211221112122221221212122111122111211211112111222222221211211212211222212221122211212222122211221212111222222212112222122211112211222211122211222111112111111112222212111121112212212221222112112212212211221121112112112221111221211112122222222121111112212121212211122111221211212221111221212211212112122211211112222112122112211112211212211211121221211221121221221122212111122212121111121112211111212122111222121121121222212212121222212221211111112221221221221221211112221211111122212122212122221121211112111212121212222122112212111211112121121211121112222221221121112122221111112222112211212121121111121211112111212112122122122221122122212211122121222221221121122221222222211221122211121222122222221112122122212111221112212222222121211122121122122122111212112221112111221221211211112111221112121222211112212122222222211121112121222112221222211212121112212111211221212222121121111212122112121112221111121222211221112121211221212221111212212221222111122121211211121212222112121111122112112122211222211212212222222122212111221211122221222111222212212121122211211212112212112212212122211221121221111212112221122212211112111112211121121112112211211212112212122112122121222221122121122122122112211121111111122221211211221121212211121122121221122211121121212211112222112211112222122122122121212122222122112221122211121211112212221111212112221212121222222122112221121211221122122112122212211212111111112111121222211122112122212122121212212212211221122121122112221222221121211112222112211222112111111222112212122212111111122122121121221222111112221212211222221211122222221211111121211122121212222221111211222221122111112222211212121221212222122211112222211211122122122111121222211111211122112112111112121122112112222211121212221111112122111221121122212212111212221111122112122111211111111111221211222112222211221111211211211221222222111212121121211221211212222112112212112111112122212221212111212122212112112111121112112122112121222112112112112222212222111212111111222112121112221212212211121221121111211111121122122221111221222122111212111121211211122121112122212222212111222222222221212211211221222222212212121222211222111212111122212212112221211112211112112112122211121221221111122222221222122122211112121211222211222111122121222112112121112221222111222212122212211112112212222211122122221122121221221212211122221222122222111221222122122212221212221121112221122222211212222211212221111122211121122122221222122211121111122111221211212121122112111211121221112122222121212121122221222212112222122222121222122221112111212221222112222211122121122211212121121112212122222212221122221112122121121121112221112122222121222122221122112122211212221222111212212122112122221111112211211111112112221211111222212211112212122122222122212122111111211111121121111112111211221222112112211121122111121111122112212121121222211122221111111211211222212221122121122212211221211121212222212221211122121222122112112212122112212221121222221221112211222221121212112121112222212221211112111111212222211122221221211211122212121111112112212121111221222111211212122222122121211121222122111122111112221211212111222111212122212122212122122111111122122112221121222122122111122112211112211121111211211122221111111211112121221221211222112121222112222121211222211221111122222112211121112112222221212221112112121121111221121121222221211112112121212122112222221121212212212221121111121222212111212121111112111211211111122111212211222211122222112111221222121222212211222111212211222112212111112111222122211112212222211212212211211211112121112221222122122211122111111112221122111222222111211111222112221122121111111111121211211212221212211221111111212121212211111111211121221121121221221222121221122121111111212211122112211121112221112212111112121122212222122121112121122122221122212111121221121122111111122211222211212122121221222211121221121111211122211111221121121212212222122121112222121222122221121211211211111221222111212222121222122122222211112122111122111122122221111121212212122111122122211122122111212112122221112222121212221122111222111122212212121111112122121222121212212111121221211112112212221222211121221122222112221112222112222211221111212212122122212111122211212121211222111211211121222212221212222122211212122212122111122121122221221112122212122121122222221212221222121112222121212211212212112221212111212212111212121122122222211222222111111112222221222112121221121122222221211111121112212222121212122122112211121211221212212111111122122122212222211211211222121211211222121121211222122121212111211122112122221212212111212221212112122122111112222111112112112111111221111211222112121121111111121111221212122121112222222222211111122221122122221122122221222212221121122121221221121212221122122221121111211221211211212211212111222221121211211211221222222122212111121121211221212222221221211211221111121112121221111112111211121111222112111222112211221111112121122112121211212211221211111112112121112121111112212122121121122212122221212111111112221221221211212121221211111112212211212112221121122111112112212212122122222222122211121111211221121121122111111221211221222212222221112211222122222211121211121222112111122112112212222212221121221122222211221222211122111221211121212221222222122221112222211112222212211112222121212212111121211221112221111221212211212122211111222122122221122221211211121122111122122111222121121122211222221122222122212121222221112211111122111111112121122212222222112222111121112212111121212112111111121122121111212212212211221212122212121221221112111211121222112121112211212211112121221222121212222222111221111122221222221112112122112212112122122111111211222221211111121111211112221121212211212212212222122221112122212121122111112121212211121221212112112112212212221211211211111212221112221222111111211121211222122112212112222221221212111121211121221112112211221222212221211122211112112122111222212111221221222112112221222211112112112111121222212111222211112222221212212211212221221221212112112122122122111112221211211122121122121221211221121211112222111121121212122211121211122222221121211212222122121221112121112211221222212212112112212212111211212111212111221221222211112212111112222212212111121221212222212221111222221211122221211212212211221111121212212112112112212122211112221121122121122121221211222111112212221121121222121222122221122211112121112211122112111212121112121211122221212112221222212121212212111112221211112121121221212121121221222211221221122111122221221111221121212221112211221122111222212221112122122121111111121112222121112122212212111112121122221211111211212112112122211111112112212212111122222222221112222221112111212211221111212121212211112212112122211212212222111112121121221222222211221212211112222211221222121122221221212211222122122221121222212121212111121111222121221122121221212112121222112211221112112111212212111122211212221221211221112221111211112111212111211121221211121112221122111122211111222212122222111221121221112222111212212211222111111212122221121211112112212212211212211221222122121222121111221212112212211122111222222122222222112111121211211122212221211212121221221222211121212122122111111112212212222221122221112121211222222112121111212121221122222212212212121222121212111212222222221222212212222221121212212221122222122122112112112211222122111222112221211221111211121121221211111222222221211122211211112212112112122112122222221111211112221112112211212222212212222211111112121122121122221122221121111211211211222112211222121112222121112112221111122111111221112122121222211112211112122121112112221121211121122212111212111211112212112121112111212211212111122122222221222112121222211222122112111221221111222111121221211211211111121211212121122111222111212121221222122222211111222112221111112222112121121111122111211121122212121122211221222222112112122222212221212221121112112221221112221122211212121111111122221221111121211212222111122121212222212211212211121211212121122221122111211221222121122111111112221211221222222112122222212222112121222211211121212212122212121111121111221122111112212111112221121111111222122112122122211221112112121121122212121222221212112222222121112221212221222221112122211211211121121212112122111211222221121111111221121221211112212121111222121221121122212111111111111111122122111111122212211111211221112112121212222222211222222112221212222111221212211112211222221211221222211222221122222212122211222221122222211112121122112112211112212221121112221122211112212111221112212121221211212212211222121112212122111222212222212111112122222111221111112222122111122212111222212121111111111111212211122111121111222221121122212121211211221211122221212212212122112122111211122111122122222211121211112121211112222211212111211222211111221122222221112222112212222112121211121112221122122111111212111122222212212212212221112111122111112221211221112221221211112221122112112211121121222211111121212121111121122222111221121122112221111211122122211212112222221111211211121122112222111111112111222111222121221122122122121111121221111222121212211112212122112221212211111221122221112212121222212211221111122211121111212121112112221122122221111121221221112222221121222211221111111222221212211221112121112211112122221211211111222121222112112111222212211222111122111122121221111221122122212222111122121122212112112211212121112211122121111111211222221111212111211121212112121122222121122122122112221111212221212222211112212211212221121112221122211111222122121222212122111112122121121211211221122121222112112112222221212112122212222111222211211112211111222121122121222111212121121112212221212212221221112121212211122212222121212221222112221111221112122222121221112112211211212211222212122212212111212111111211122112212111222112112221211111121122221122211111221111122111222112121111222212221122112221122122121111222222122121222221122112122221222122121121112222112211222121211222111212221111111122121222111221211222111211212212111221212111122122121211221122211111122212122212221121221212212221111121112111212222211221111112111111121112212121222222211122112122222222122121111111222211122121121122222211111221122122221222222122111111112111221212222221222212112212211122211221222222212112122211122111222221221222112221221111221211221121221112222121211221122211112211221122222222122121221121222112121211221222121211121112222112122112211212112211121112122122222221212222121221111121111222111122122111212111211222212122111211111121221121112121121112112222112212121221112212122111222221121222211111211112211122112212112222211221122112211212211111111221212121212112222122122121111221111211221121211122122211222121212111111112111211121211121111211222111222122111212211122211221211112112221121122122222211221111112212112211222212212112212211111121112211121222222112222122222221222222111211221122212112221112221122112121221221111212212211212112212222212111122122222222122222111221212111221212111122211122211122121112221112121221122221111111222211222221122222112221122212122212121121212112221221212221111111211221222111211121122121212221121112211121122111121222122112121121112121221211121211221111122211111121211122222222221222122212222222121221222112121211112211121211121212111122221112212111111112111211221222212122112212222222222212211122212121112122111121222121221121211122112211221112112111212212222222122112112121211222111122211122121211112112222122112211222121112122222122111211121212122122121212211112222111111111112211122222112211212222111222112121212111121221121111222221111122212221221222211222112112111121221122221112121111111111221112111222112211221212222121121211112112111111122122222221121121212112222211212212121212122221222212111111111221121212112112211212111122111122121112121211121211122221212221112211221211211222221222221211111122222121212212211122212211111111212211112221121221122212212112211122111111122121222112111222222111121122211121122222111122212122221211122212122221212122122122212121211122211111211112222222122112112121221121122222212121212222222112221121221121111222221111121221221222122211221112122222222112211111212222121212112122122111212111221221122221122121212112121221122122221221212222222212111121211211121221211121112111111212221121122221112221122211221111221222122222111211211212222221122212222122222212212222222211211111221212211221212111212221212211221121211122122122211222122122111212221112221122212121222211122121222122211122221211212222112112112111111121212212121222122211221112112222122112221111112222121212221121112122121121122122221111111111112221111221121222222212212121122221222211111212221222111112211222211221212121122222111111211121212222222112222111211221122112112212111122111121111221212222121211121112121111221112212112111111122211212222222111221112222212221221221122221111211221212121222211111121211221221211212111122221222212222211211221211111222212211111111222121121122112112211222111122221211122122222122111211111122112221121211112122221111222111121211222111211211212121121122222112112211122211111121112111221211212111221211111121121111112112112222212221211112111122212112111121122212222222222211112122222111212122112111121122111121112212122121222212112221112221112221222221212121212122112122211111211111222211122111221222112111212221211112121211112222212112111212212221221122112121111211111211122112221122121122121211112112221222221222121222112121221212111122122211222211211122211122211111221121122221222212122112222221212212112112211121111212221221122222111111221111222222111222211221121221221211221111112221222111111212222112112111111212221211111121122221212212222211222211112121222121222211111222121122111122221121222112121221222211222111211211212112112222221222221211222212221212211121211222211122111112211222222211111211121222112221111212212122122222211111112211122112111111222111211212121111122222112122111111122222221222221112122222212112122122212111221221112222211221121212221212111112122222211111212222112111121111112222221221221111212112222211121212222211212122112211212222222121211222121121221122221122121212222112222211112222121211111211212222222112212221211211222211212222222122222222112122122212212112121221111122122211121222222221112221221112211121121111112212211221111212212112221111212111112112212212111122212112111121222111121122121211112211211121221111111222111122122122211111112112111221111221112121212212122221211211222122122212112121111211221211212112112122121111222211111211121212122211222212222111222222212212211221121211122122122111122121211221221211211122121222111222211222112111221122212111111112221222122222112212221122211122122221112221221111222122111111222212112212122111121111222212211211111211121112211112122222112121112211111221112112222122111111111121211211122221222222212211111111212122211211222112212122211221111222212112111211212212111221212211221111212122112222112121211112222112122212222121121121221121212222222112111112122122211211221111122221211212122222222122112122121211122222221112211112111121112112112212212212222121121121112121111121221212212222122211222121112212222111222121211212112212122112111111212222121211211112112211122122222211121222121211222122122112221121211111112222111212211212211211212222112211221122112222221221221212222221111222112212112211211212112221111221222111112211222121222111122122221112122221111111112112121112222122122221221212112112111211122222221112211221121121122211122221211222211112121112211111122212211211211212212111112112221112222211112211111212112221122222211111122211211222122121211112211112221222112222122112112212221211111111111122121111111112212222122221211221111112122112112212111212122121122221112222212122111212221212222212121111121112112122112111111221222112111222121212211112122221222212221212112122112111121112212211122112222221211121221111222221122121212211222112222222112211112111121221112221221122222221221221221112121111121111211122111112212221212112221221122221121222222112111122121222121112122122212111211211212112211222111122221111121221111111212121111122122211221122211211112112212221222121122121211111212111211222212211122122221122122122222221212211212221121112212111122111211122112112221122111221112112111212111211122112122112212221222211122221211222112112121112222221222122121111211122122212212111122222122111112111222121111122211121122112111212122222122112222122112121222211211211211222111122222211111122211221222212221121212122212112211111122212112112111222111121121112211122121122122112121222122111111211222121122222122121221222122221112112112122211212122121112111222221112212112122111111212221121221111111112112122221112121112211122111121222212211122121121122211111211211222212111112221222211211112122121112212222111222112122222221112122111112212121111221222121121211111112111211211211112221222212212112211211112111212222222122222212121212222122111222211222122211122111112111122212221222122122211212221222112221122211122111121121112211121111121212221121111121222222212221122111122121222112212211221212211111122222222211212211222111212212212122211111221221211121122222222122222212112111221212121221121112111222221121221222212122221222111112121121111111111211111121211211121221111211221122222111211211211222211211222122222111221211221212211112121111222222122121212122112121221121111112211111111121111221211112222122221222211221211111212122221212221212221112112111121211111121211222121122111122111111112122122111222122121122212211211211121122121222212221122112212121211222212112112221122122121211111122211112211221212212121211222211121121112211112122211121212112211221111112112212221221112112122121221212221121211112212121222112212111222111211112222221222111122122111122112221222122122111212211111121112222211212112122211111222122211121122212111212112212112112111222122211212221211211112212222122222121221112112211112111111221121221212212221121222222121111112111221112222112122211211112212222212111122211111212222211111112221122222121211211211122121212221222211221221222112211212112122212121211112211221221122211221221222122222212121221211222212212211211211211212112212121211112221222212222111111212222112221121211111212222221222222122212221111121122112122121111122221111221112211122122212211211222111122122122222221222221211111121111112122111221122121212112212121112112112211221111122111122112212121111111221122212121222112121212122212212222211122222122112221122111111221221211121211222222111122221212221111122122111111122122222111122111112112221212111211111121112112212112222221211211111211212221212221221112112211221111211211212221121121222211211121122122121122212112122222121112221212221121211211211112221122111221122111212221122221221211212112122112211122121112121221122112111222121121111212222121221211111222212221122221112112222221122121111122222222112112121211121212211221112122212112122112121212121222211121212121122112212112222121212111222211212221112121121211121111212121221112222111222111222221211121212111111221221122212111122121222121121212122221122222111111222122112211111122122122222211212121111112122222222222212111222221121122222121122221211121222111212111212112211122122212111122222121121211212211221111112212211112111211112212212121212211121222111211111211111112212222112212111211222111112121122212121212222211122111211112221221212221121112121221211212222111122222222211211221122121222121112221212222221111122122221221221222121222121121221222122212211211221221222222112111222211111121222221112222112211122122122112111221112211121222211221222212222112111111121111212221122212212221222111111122222122212221212112121112212211112211122222222112122212121111211112122222122212212221111222211112221111212222111121211211222211212111211112121222121122222222221112121221112222111112222111212121222111211221111211111111211212112211122111112221211212112122221222211111121121222222112112221211111122212221111211122212122222112211121222111221221122221222121222121212212212212122221111122111211121121111112121111212121111111111221212211112221211221112121212111122212111112211222122221222112111211212211222212221212111221221222122111222222211212121111222122122122112122222211212112222111221122121122111222112112212122211112112121222211122222121222211122222212222112212122222111211112111122211112121222212222212111211221222211122222221111211221111112222112222222121211222122222221121212111222222212212111222122212212221112221122122122111212112222221222112212122122122121121212211211222221121212111122221222121211121211221121112211211111212211211121121111112121211122112121122211112221112212221212212221222122221122111121212111111222221222211111221122122122212221212112212112122212212121211121221122122211111211122222112122211121121121212211221121121122212112112122222212122111112111111211111111112211221111221221222221122112121222222222221212212211112122121121211221111111111112111222221112112121121122121211122221211122112212122112222122122121222122122211111221212111211111122111211212222221221222122212112222221211122212222212212121112122211121211122121122212112222121112222121122222121122221212211111112211121212221211212111112212122211222212112121212211122121212211221221122211211221222211121121111121222222121211211211211212121222212222122122221222211222121222121122211112122212211112112121112122121221211212122121212221111121121122121212211221122112112112112122222212122121212112212122122221221121112222221211122212111111111222121112212222212121222122211112121112112121121211122212122122121212111221212122121111222121111122211112211212222221121122221121111112122212211212112221212212112122112211122122221111212212222221121222122121212211121222111122221211212111111212121111111111112121122212122111111221112212121121221211111222211121121112222111111211221111221212112111221212122111221112112111122121122212221112112211112111121121211221112121222121221112211222221112121121221121111212222121112121111121112212122121222212221121212121211222212111221112211221222111211121122212122211122121122222112122221212112221121121121111222221112121212122111211221212211212212111112211111121122221222122112211121222122121111111121221222121121112122112112212221211111212121222121221212211221212222212222221121121122211121122222222222212221222211212112211221121112121112112121122112122121221121111112112121111211222122111211121221221111222112112212121212122211212222111212221121212221221112112122112111121121211111222221221121212211212111122111212112122211112111121121121222121121112122221122122111112211121221112121212122121222212121121112212111222122211221122222222222122121112121221122221111221122222122222212112211222211121121221121221222221222112212222112121121121112221222112212212211221122221222121112111222121222222111111112111121222112122122112121122222121122121111222211222211122111111121121222222111122122211121212221111212212122112122212212122221222222221222222122222222112212122112121221111212122121122121122221121211122121211121212212122212211222212111112112221111122212222222211221211222211211121222122222221112122221211222112212212122111212221121222211112111111212212112211222122221221111111211221122222112111222111112111221112121222212121222122111111212211212221212222112111211221212221121122122122112221122221112121112112112211122112122221222122112112212112211112221112111122112122221222222221112222211222212222112111211112111112221222221121222112212222121122221122111111121111212122121222111111121212112222221111112211212122221222121121112122211111121122222112211221111122111212122211111111122122122222212221112222112112112211121122122122221222221212211222222222221122111222211111212211121122212212221211112121211122112221122121122221212121211111122222112111211112111112112212111111212112122221122121112121111221121111121122211122112221111212222222211222111221121122211212211112221212121212121221122221111211221122221221121211112112222122122122211112212121111212121121121122111122222212221212121122122121122221222111221212211122211211222211111122122121121121122212221211212121111212111122221211122221211212212111111112222122221121212222112222221111222222112222212121211121112121221112211212111112211122111121211121122211211211121122222221121111121122221111112211221211111112121111121221222212211211211111211112111222222211221212212222211222212211122122112122212211122212111121121211221212221222112221221212121211112221111111212212112212212212121221112221111211221212222111212212121222121122212122111111212112212121112112222112212221112112112121222221122222112222112221112122121121222111222221111112222111111211112121212222221122222211222221111122211111212112211222122221122222221121121221222121122121211211212112221121211222122211111222121212122121222222222122122211111121222122112212211121221222212112222211122211221122212212122112222222221112221112221222111211121111112221211212112222122212221121121121112121122111222112212111211121212222221121121122222121222112121121121211212111121112121211121212111211111211211121122211111212211121111122112211121112222122122221111112112222111211221122212222222221111222222111112122221112111221211121112121222221121121111122211211211122211212122121111111212222111222211111211222212111112222221212121212221112222221122121111121211122221121212211122222222211222222121112122111112212122221222212111111211112212111211212222121211122122112212212211212112221222122211221112121121221111111222111121222112111121111221221211212112212111212111221221121212211221222122121111122211121212111222222222112112212221121211222122221222121221111212111112221212221212222121111111122112121111112122222212112222121121221212112221211121121122212222221221122112212212222122221112111121112221212222211222211122221122222212121211212212221122212222221121111112121211122222212111111221221111212112111212212121211211121212121112111211121122221111222222221112211212112221211122122112212222122112222221121112112121212122111221212112211112121122122221112221222111222221122212121111212122221112112211211111221122122222112222111112112121212221112222121121111222211121222221111222112111212212211222222222211211221212221112112211111211211121212112112111121211211222121222212212121222112121121121212112212212112121111211122121222212111222121111222111111111111122221111112211121122212211221121211222111112211112222211212112222122222112111221221121111212222122222222111121122111122212111222111111222122211121121122212221112211212222221122222221121121112212222211111211212121212111211111112121112112111221221222212122121112211121221122122112112221122221211121122222212112222112221212211222212121211221112122112221221122112211122222122112211212211122222121111221121212111221222111121112222211212122221111111111211112221112211222111111121211221122211112211212211112221222112221112222212222112112111122212111211111112222222111122122212112212211111112211211111222121112222112222211112221111121212112212221121211112212111111111122221212122121221122121211121122112121212122121221222112211111111212122112111122222122222111122212212211112122222121112121222221122122222112212211212222112112112222221122122111221211122211211122111212111222221121111122222221122212112221112121221122222112121121222122212221112222212221122112122121122221122111222221122222112211111211222112111112221211222211111112211211122121122111221111122211112211121211122222112112221212122121211121211221112121111211211112212112212221211212212211222212212222222112221122211221212121221211221221112212211111111211211221221122122212211221112211112222212112112212212211121221222121211111111112121221212111221222111112211122122221222112211222222222112211111112212112112212211112221122121221111122211112211212112121212112222222222121122112221212221111122221121121211221111221112122212111112211111212111121222112112121222111211211221211112121122122212221221121212121221212122211112111221122122222222111222222111211221211212212111211211211222222121222122222121112121112211221211122122121122211211122111122211111122121211122212122122111111212211211222221221112221221122222122121221121111211212112111211112211122222221221222112121122212211111122212122212212112111121212212222221111221121222212121112212212111221221112111212122111112112122221121111222111111111211111211122122212112121211112121122122212211122212211222122122212222121122212221121122222211121211111111122222221112221212111111121111222112111222222111122111122222221121122222122212112221212222111211212222212212122221222222222222121212221121122121221222221211212112112121121111221222122111121111211212112111222121112111122121221221111111211122122211112122122222111112221122111112211121121212112122222122212111211111212122222111212222222222221212212112222221121111121112221111221111122222121122111221122121222221212221221121121122212222121121121111211221121111211221222111111121211122222112221212212121212122211221222122212212122122211211211112112122221211221212121112222212221222112222221222111211111111222111122121121222121111211221221122221112211112212221111222221122111121221121111222122111221222212122112222111121222121212221112111111111112111221112122111111212222122221112121111122121111112112212212121221122121221222112112212212112221122111212122122112111111112111111111222112112122221212122122111112121221112212221221111221122111121212211222221112221112211112222221211211212121122112121121122111122112211112122212111121121212112212112212112221112111222112222222211111111111221112121121122212121221122111221112212212221111221212222112112122211212112222121122111221111212222221222111111222111221211212221112122112111221212212211212122112212121121112112221122121212211122122111121122211121112211111221222112111212121112212112211211221122212112111211112212112111112121222212111112212121121212112121112112221222221221222122212122122222222222112222111121122122221112211122111121211111211122221122221111121221222122111221212212112112111221221121122222212211122122111121211212212111221122221212111221212121122211211221222112221221111121211112221122121112211112111212121222122212121222112221212122211222212221222212122122221222122112121221212221211121112212212122221112111222122111112111112212122121221212112212111112112211122122122211211122211111222212211221111211212221122211122211122212221222221221221112122111212111221211111111211212121121211221111121222111111211111122222121111112221222221212122112111121111121212112221111112211211222111222211212212211111111122222221122122222112211212122121211111212122121211222111121111111121122111122222122221111122222222221121222211212212212211122222222112122221221111112221111122121111221222121212221211122212112121212221111121211222222122212121211212222221211121221111222122122112121122212211112211121112121222222121211221222121222222122112221212211121212211211111112111212221222122112111221212221112221212111221222112221122221221112212221111112211212122221111221122221212222221122221212112222112212211122222121112212111111222212122221212112222212121111121221111121211122222212122211222122111212122212222221212121221222221222122122122121112111222122121111111121221221112212221211112111111222221112221212211121111211222211112211211121211222122221121121211212222222121122222211212221112112122211222121111112121221112221122121212121211221212111221122121212111211122111221112221212211211221121121121212222112221222211111111112211211111112112211222112222222122122222111122122212121221122112212111112211121111211121121222221221212111211211111212121222121111212111122211112121121111211112221221121112222211111121121221221122111122121211211221122112211121222122212221122211112111211212122112221221121221121212112111112111112212221111111211122221122212221222222222112111222111211122211121212222122121111212112121121112221111121211221111221222212212121211211221211111111222121111211111222211212121222122122212211111221122211212121211211121112112212112221122121212211121112122211112222211122211211212212122222122111112212121221111211112212122121212122212212121111212211212112111212121111212121212221121222122222112111211112111111111111211112221122122122222211121111111222111122221221222112112121211222112122221122121121111112211222221122221211222112222212222111121112211222211112112212221122112212211211212111222121211221122221112222211111221222211121111212122111122112221112112122221111212211122111222212111121211111111121222111112121222122111111211211222112212212111121122121221111212112212121122212112212111221122111121212112211111122221122121112221112222221221212112111121212121222122111121121211121212111212112121121212211222211211111121122111112222211211212121211212122121112111112112212111222112122112222111211221211121122221211211211112111121112212111112212221121212222221221122112112221211122111111211112211221211111221221211221112122112122112211111122112221111221222122122211112222121112112112112211111112222221212212111112212211221212212212212112111122222211222121122122222111111211111111211111222212221212121222222212121112211112112212121222221121111122212222122112121222112112112221111211112222112212121212112111222112111111212122122121211212221122222112211121222122211111121121222212212111122222112211122222222122112221212221221122211212212222121222222111222212221122211122111211122212212211221211221122111112222112111121212222112111221122221122121222221121112111112212211221222221221122212221121222112221221112221112212222112122211122112112122121211212111221121122212212111111212121122121122211211222112121111111212111221221221121112211212112111211212112121211111111111222112212212122121212121221212111221122211111211112222111212222211221111121212111221212221212221221111111112221112222111111122221121122212121112211211121112111222111122221221121111112122122111122211112122221122121112212221111221212121222212212121221121111212212211222212122112112221211222112121122212211222111221122212122212212221122111122211112211221112221122122112221212222221121221211112111112121222221122221121112221121121212111211112121112112211212222212112122211221122122221111211212121211121111122122211211112222122121112112122222121212122211222222221211121211111112211211222222221221111111112212222211212111221221221111112121221112112222221121122112211221222122122111121212121222221122222121221221222211122111122121222222122121122111121211111111212121111112221211121221111121111221212112121112222121122221121221121121122221111212121211112222112111211221112212222212221121121112221221211112211121221121211111122222211112122211111121222221211122222122122111121222211122122211212121221122111112221221112112222122211222122211112212112121222221121112122221111112112222222121111212222211212121111211112212112112212222121211221111221212122222212112211211222111121212122112222222112222222212122222111121212222112112121221222112122211221121112121111111222211222122112221122112222121222211111111211121212221221112222112222122211222211122212122212211222222112111111122111221112222221112122121211221111211211221111212112122111112221121111212122222222122122122222221121221222222222212121222121221212221111122121122122222122222222212212221221222122221212122111222211211111121112111112211212221222112222212212112222211212212221222122221222221212112221122122211112122211121221211121122211212121111222111122222111221211221211212212111112211222121121212121212121211222112222222222112121212112212112211221221111221222111212222111111222212121122111221221112211211121222122121212221221122212211221112222112121122121221112212222121212121121112211211122121211121222222121212122221211222221122221222122221221111122111212112112121221212111111122211211211212212211112112112122212122122211211222122111212212212122211211121221112212122112221122112121122221121111112211121221221121211221111222112212112111111222212212211122221221122212221112111112221212112112121221122212122222111122111221122121111111112212111121122111222111212121222222121121121222222211211112122222211211111221211211121111211122121211121111221121221211211112211221111211221222122111212211211221122112111122111121121121122121212212122211222111221211112212121122122221122222122122211121121222221212111122121212121112112122222111121221111211211211111121222222221121111112121222122112122111111111222122222222212112221212112112122111121222122121122222111221222212221112221111121212112112211122211222221221111111221112211112121212121211121222221122222112211222111111212122211211122112111212211111211221122121221112111222211112222211222121122112221112111121122212212212211121211111121212221222221221212122121122121221221221211212222111122222221111211222112111122221222121121122111122221222221211212111121112211222222122122122111221111211212111211121211121221112221221111112221221221212121122111211221212122122211221122221112211111212111121222212221122122221111112221221221221222211221111211111211122211111221122221121121122212122112122211211212111211112112122221221121221222111221121222122221222221111212221212221122211111122212122211111122112121212121221212211221222121122221112221222122222222221211121111212221122212222112121121122121212121221112221212221121221112121222222222212112212221112122222222221111121112122112221111212112211221111111211121122111112122222122221122221212121111221212212212212222121121111211212211122221221122212121212212112211212222122212212212111122222221122222122112211211121222211111122121212111121111121222221222212211122111222222121121212111112122211212111111212122112211211111221111112211221121211121111122211211122121212211212212112222112122221111121121112111212222212122222122111212111121212111221111112112211111222221121221121111122222122122221222211211122212121111111122221221212122221122212111122122211211212112112212121212212221211122112122122122121222222111121221112221112121222121122212212221212221221121221111112121121122122111211112121222211221222222121211112222112122211212111222112221111121221112112111111221111122211222112211222211122111121212122122112222221121212212111112112112112122112221112212111222221221121112212122211212211222221212221221112212122211111211221212212122212212212111111212112212222221111222121212112121212212212212211222221121112212212222111122221222122111122211122211212222121221222112222212111111212221122212222222112212122111111112222222121211212121111221121111221111111211222121221222112222222212211212222111122121122112121222121121211212112212122222212111111221212212122112121222122211212112122222111121111221211122112221221222221111221112221222111221121122122222221221212211211212111111111221122112111121212222111112222222112211122111111211211221111212212212211121222211221221212221111211121121111121122112122112221121121222211111221212221221212211111122222111212121221112112112211211121211222212112212121212121222212122211211221122121212211122211211211121111221211122121121121222212221121212121111112111112121222221211122112222221211111112111221112212111112212221122121212211212211121212211111211211112211222111221222112121122121111111222111121221221212112212222222121121112121111112111221212122212212112112211111121222211211222222212222122221121222112211221212222122212112212121122211121222222211112121112122122221122122222111221221221222121121122222111121121111111212111212221122112111221221121221221222211221222111111211222111122222112121212122111212111111221211221121111112221212111222212222212211122221111122121212211112122122122221222112112121112111122212222222121122121222211112211122221122221222122112122111122111122221112211211122111111112122222212212121211212222211212111112212111112211212222221122222111212111212112111121112211121221211211212112122121221212221222122112111211212111221121122112222122122112212222111211222212111221112121211111122122212222111112211212222122211222121111212212111111221122212112121111112221221121211211111221111122111122222121222221221211111212112212122122211221111222211111222111211222222111121212121211111111221112221211222111121121211211112222121212221112121221211111111212211212112121122122121112211211222121222222211111111111112111111212111212112111221221221211222111212221221111221211111122221112221212211122112211212222121221221111122211212222111212112121211122221212222111221211112222221121112221111221112221212121121222112222122111122212222122112221121221221212211121222212122222122112212212122221222212212112121221112211222212112211212122212122122212212111122121212222211122122122112212122211122122211111112122212122121111122122221212112112211222212112112112121222211211121221212211211221222211112222112211211121121111112221222111111221121121121221121221221222121121112111112221222212111221111222222211121122121221122212111112121121222111111212112112111111221121212211222222112212111122222222221211212112222221112211112111221112211211222221121121211111121221112211122222221111122211211221222111112211221121122221212222121222121212112212222112211121122112111111221212122121121212111211222121112112222111212211122111122122121111222121211121211112122211222211121111211112122222112221122221111211211122221221222222121221211221222222222222222221212121121221111211112112111112111121112221112112121111112122211122212111222221221121221221111211221211121111222212222121222211122112121111112112112212111122212222112112212112121122121122122212112122121211121212121122211121121112121112112212121222212221212221112112211121122122212121222222112221112222111122222211221221221212221212222211112121112112121221222121111111112121212112212211222112221112112112211112222212211112211121122122121212222112111211221211222221122122111222212121111122211211111122211122221112112111111121221121122112112111221211121211222212122221122211221221122212211112221222211121211121121121221121122122121212221222211221212221221121121111122122222212211221211112211212222121212121222211111221221121111121211212211121111112112111111222122212111122112111111122221212221221121221212122112221111221121212221122212112122212112222112221111212211222121112221112222111122222211212212221121221122112121211212122222111221211121221212222112112222221112112221222221121122211111122212222122212221211122112111212221221121122121221112121111221211111111111221222212222211211121222111211212211122222121121212211222222212212111222121112221121112222122211212111211211112211111122122211212211221221211212112221221112122212212212221122221221112122122121122222211111221212222222111221212121122212221122221111221212122111211222222122111221221122212111112112221212222222112211121212112111122112121121121122111221222121122122122212211111222212121122122212212112221211112212222211121112121122211212122111111111121112112111221121112112221211222221112112211212212211212212222211122221112221222122121122121112211211122122111212212121111222112212221222122212112211211221122211112221122111212111222111111221121221111121111222121122211112121112211212211211112221121122211212111111112222211111212222121111111211212211211211112211111121111112211122211211212121111221122112221112212211221211121111221121122222122121111112212112211221111221121212122222211121221122222122212212112212112212111211111211112221121122211112212221211122121221212121122112111222221212212111111112122121111211111211122221111211211112212121222112212211122121211212222222112212122211211221212211112212112221211121212121121222221211111212222112211112221121111212211221112112121112212221121221221111111121221211222211111221112221212221212112122222112122221212121221212122211212112122121121221211121122121222111112121222212121212121221222221211121221221111122111112111221111122222211221121222212212121122212221111112121111211211221222111122111122211212112111212211222221211212222121221221121212221122212221121222121212221112211212122112111111121222221121222222212122222112212222111211212211121112121221121112212211212122212212221112212211121122222111111222221111212222221122111222121112122211111211222212112211211222211112211112112122222221222221211111111121111121222111211211212122111221211221111122211111212211221221122111211121212112221211221212211211212111122211121211121112111212111222211222211111112122111222112121211212121221121122112111221222211111111111221221211222212111212122112111222121222221222121111222121122211212122122121111121221122211111211111112221112212121122112211212121221112111221111121212121121111111222112212111212111221212112111121121121111112211112222121221111211221122122222122121121111221221122211222222111121122211211121222212122221121121112122211111212111122111221121222222121111121121212221111111122221221212211122211212121211212212111112212212221111211212212121112211121122212111112122122122111121221122112122211121121111122122122211222111121221211121222122111121221111122222122112222112211221111111112121221221122111212222211212111221222112212212121221211121111211122122111112211111121222222122222121122111122122122122221212221211111111212112122211211221111111122121212112111121212212211122112112221211121121112121221111111211222221211212121222211212211112222211211222122121212212211111222212211222222121211112221121221111112121221121222222122111212111221211122221221112211221111221221122111121111112211121212211212211211112212211122221222122222222122221112222211211211212112122212212121112111122222111212121122222211122122112211121112112112221122222122121221112111111121121212212211221111111222121222111111211121122212111122212112111111211112121222121212221111212112221112112221122211222222121221221211111121111221211212111222211121111121111211212222121122211222222222221112222221112112111111122211121112111212212121222112212121212121121211212211222111221212111121112122122122211212211111212221112112211211212122111212121211222121211111111111112122212221222111222122112121211211122222222211121121111112212221121211212212112122121211111211212122221112212211111212111222212121211122212122221222221121121221121212111111121121221222121211222121112212221211111122221112212212112122212111121111111221111221211212222122212112121212211222111222211221221121212221212211111112121122221221121121221222112212112222112222111211211112211111222122122121111212211112121122112121112112111221211112122121211212211222111122111121221122222111112112112211221211211121111211212112111221112212211211112122121121211221211122121221121221112121212212221121222121112112221122212211121112222221222121121112121222211211212112212121222221212121222121111212211211212122222121112111221222112221111121212122121112112122121212211121112121211111111222212112212111112122122111112111111222112111122211111122221112212111121111121112112121111121222212211211112111121221121221121112122221122222111221121211222212212121212111222222222121221122221212221212221121112111222111121121111122222111222221122111121112111121121211121222121212121111211221211112211221211112121221222121222112221211112121112222222122121122122222212122221111121112122111121212221212211112112112212221212212122111111122221221221221221121112211222122211211212122112121112212211112122122111212211111121222212221211222122221212212122222122121122212121222211221211212111222121222222122122121121111112122222112222112111122121122222121121212111221221122121122222212121111112121111222222121222111212222112211212221212212111221111212111122112122211211212122222112122111211122212121122121122211211122122111121111222221112221111222222221221111222111112112221222221211221112212211221112221211211122111222111121112122221211221122122212111112121211122122222221111112211122111222111212122211211212112212221122212212121221111122221121111121111211111222212122221222121111111211221122221222122222112211222112121212111112121112122222221221121112222222121212111112221121221221112221121221221112121112222222212122112111222112212222112221121112111222122211221211211212221212121112112121122122112122221222211111111112212221212121112112222111211222111222111221212122122111112111221111212122221222212212121122222111221122212112211222122122112112112212212112211222212111111222122221111121122122112112221112222212121111111211121212222111111122122112222112211221212211222221122122211122111112121211222111212112221221111211211121122112111221222222112211212122112212222122112111122222121222211122112211121211221111221211112122212211212122212112111221222212212111121111112122212221222222221221122112212212121211121112221112211222112121212211211212122212211222111122121122111212211222221222122222221211121221221222121221122212222222211121112221211122212221221211212222111211211211112212211122122221211121212122212212212211111112222121122112122212221221221222121122112211111112211122222211122111221111121121221112121112212112122111211221121111211222222112112222212122211211212221121121122221121212211121211222112211221211222212212111121111221211211121121121212112212112111122111122121221221112221111112121112121212122111211121111122122211222121212221221122111222222221212111211212222211122112221111222122222212222112121111111221211111212222111122121212111221122221111112111111122121122112121211221212112212221122111121122211112221222211121121112221222122122112122122212211112222112121121211112211121122122212212122211221111211121122111212122222122221122211211221121122111221121112122222212121111121112212121122122111212222222112211121111111211121222211112122121111121211211222121221112111121221221121121121122122112121112221222121122211111122221221212221111222121212111212221121121111122221211112221212122122222211212111211122211112122222111121121112221211222211121111122212211122211212212121211222122211211111222211222111121122212122122121111212211111121121122122211112121112112111211212211222222212221222211211111112122222111122121122122211122222221221221211122222112212211222222211222112122111112111211121111222222222222221111112111221111112112121211111222122211222211212121211121111122212112122111122122211221212221112112121221111111112222121211112221122112111222211122211111222112122212221112212121212121212222222111211221112212112112221121222211211211111212221212122111211211121122211221221111212221212112112212212112211222211121211221111221111222112122121122112121222222212222121111111212122112121221112222122112212222211211221122212212211121112112122121212121111112221212211112222212212221121221222121212111211212211122222222212221111221212212122121112122122121211112111112112122111111221211212221112222221212111111121121112222222211221112122222122212112122112212122211121111212111212121221222222112111211122122221211112121122121112111221121121121211122221111121122112211221222112111222122112121222221211212211121222221112122222111221112222212122112112222211212222222122121221211221121222222221222222211221122112221112222112122112211111111121221212122122121221122222221212222211221122122112122111121221112122212112221111221211121112222212122221111211122121212221111211222211212111121121111222222111111222212122112122212121222212222221111121222121221112212222222211112112112222122122221122221221121211212122122211111112222212121212212212111121221122112122121122222122121111112212112212222212212122112112211222112111122221222122111122122221122222222122121112122222222222211211122112111112112221112222211122111221211212211211121111122222222211221222222111211222121112222221121111221212111111122112222211121121212111212221122112222121222211222111211221121221221212111222212121222121112121112221222222211122121112121121212121112211112222211112122122121221121122221221222221111122222112222112221111212121211111111212121221211111212211121121111122122111221111111221111121112121222121221122111121112222222112222212121212122112121222122221121212111122122221121111212211211212121222122111111212211211122112122112112122222122112121121212222112121111222111221211122122211222222212111122211212122211211121212122222221212221122211121121211111111211112111111222122211211222111211221221111221212211112221212112112111122121121221222211122122112112222122212112122212211212112221212121112121112211222121112121222122222121122122212111122221122122111122112222211222111211221121111112111121112222122211221222221211212121221111212222112122122211221111111221222121212212221121211122221111211111221111221121221221111212111211222212212122211221212122221111211111212111121122111122111211212122121222212122121212111222121221212122111222111211111111112211212222221222121221111221212111121221211221211121111222122112211111121111121111211211221221222222212111111222221222121212221211221121212111112221212111222112111222111111221212222121212111122111111112211122211212221222221211122112222212122211121112212221211211211122222121221212221211121121112211221122211122221222211221121121222122221111212212111111212112222121222122222211222212121122211121211211221121122212221221212121221121111122222111221112112121211211212111222211111112212111221121121221121211111122222122111211211222212111111211212212111121222122222211222222112111112112122112122122222212122122111112111112221222122112212121212122111112222222121212212212112222221122212222121122111121221212211221111212212222211221122212211122111222211222221121122221122222111212121212122122122222111121111222121212221212211121121121222112211222121212111122222221211221211121222122221121111121112112211211121211112112112222211121221221211121112221122221122212212112112112211112122211212122222112221221212112221211122111122211212221212122121212222211112122112112122121111121211222221212221121122111121111122211121111212122212112211112222212221122111121111122111111121222221211112111211211221211122221221121111211221121211211111221211111112121112112121111221221122111122222112221112212222221211121111122222111112222222211121121212222211212122111222111222111211221112222121121122122222212111222221121222121212222122121221112212121221121212111112211221112112112121212221212121212122211211111222212222212111212212122112212221121121111222121121112221122122112212112222221122122212121122112221122221121112211111222211211211211221112221111212211122222121122212221221112211212122222122122211121122121122211222121212111211121121221111212111111222121121222221212212122111112212211212222221121122122122212121221111211111212211111211121221121121212222211112221112121112212122112221212212111222121112221221112222222111111221211111211121122121112112112211111111221111221111112222212221211121111112121222111112221221221221122221112122212211222121222121222111211212122111112212221222122112111121222211221221222121222211111112221122112111121122221122121212211212221122221112112212111211122222121121222211211122111222112121221221122111212112212111111222121222122121221211112122211122222122111221211212121112222112121112212111121122212222121212122112122112221222112112112121121221112111211212112211112221112221211212121122121121122111222111222212111221121221221221112212112112111122211211211222222122111121111112211122111212211112221112222211212121121122122221211211111221211111111221122221121111122112221221222222211222211112121221212122222222122122222111112222111222122112212221212212122212111112121122111221212122111211111222212222211221122111122212111112121111122112111212221222222211212211111212111222111121222212212222122221112211121121211111122211211121211112111112111122211222121221221212222112221122121112121122222111222111112212212121222122112222222211122221121211222122221221212211112111212221122122212222112122211212221212111222222211111211222121211112111121211211112112121112121211222211221111111112121211112112212211122222222211121111212111222111112121212222122111112222222121211111222212111111111111222112221222112212211221212222112211222212222122111122212121221221121212112111222111121112111121211111122222111212211111121221212112222112222221211211122122221122222222112212211222212212111221212112112211121112121212112221221221212221212112222121212112121122122212121211111121111111112121222212221221222112211121111211211212121111111222122122212112112122211212122112211212111212222111222121222222222122121122112121221212212121122222112111221112122121121222221222221111122112111212111121121212221112212211121211111222122121121222121212212112112111221121221212221222111111122222221111122212212212121112222211122211212122211212122222222111122112121221211222212111121221222211121112212122222221212122121121122122221121212112212221122121111222111122222111211121221211111212112222111111121111121211121112112222111121212112212111221122112222121122111222222122221211122121122121211122112212122112121221122112212122222222221122221121121211221212121222112221211211111111111112121211221122112111112211221211122111111212112211221121222121112211112222211221212112121121121121221111222112111211122111221222122112121112122211212212222112222222121212111212222222221211112121112211221121221122112222211121121111122211111221222212122122121212211111211212211122121122211121211222121111211112112221111112121212121122222211222112121121221112211111121222122221212121111121111111111221112211111222112121112112221111211221221222222212222211121111121112212121111211112121211211111121221212212211221221211111211121221122221212212222121221121212222112122122221212111212212221121121111221122221222111212111112122121211111221112211212211221111121112111212212212212112222221211111222112211112122221212112122212121111212211222222111221122121112112111121212121221222111111222211212122211112122222111121222122111122121212212212112121121211112222122121111122111121111112222122121112111122122212222122221111111112212222111221222112212111221212121222122111211221121221222221111112112222222211122121111121222112221221121121112121111222212112221112211122121212222211222121221121211111122222211112211222212111221122222212112112122121222222222221222121212212222222221121212122221212112121221221121111222112212211212121212211112222222122222121111112222112121111122111221222121221211111111112122222212122222112122122212112222211122212222221121212212111111221112122111221122222122211121222111121221211222112112221121211122112221211111211122112111112221112222111212121122111121122221112211221211112122121212122122211122121121221211222211222212121111122112112221122122212112121121212112212222212121221112211222221221221112112222122122222112211111112111222221111121122122111121221122111111211121211121221121211112211211121112121222212121122212112112111222221222222112221221221111211212211121121112221112122221222111211212212112112111111222121221112111111221211211212122221121112222211222211211122211112121122112112111221121111222221211121121122222212111122222211112221111112111222212111212112121111122222122212211121212122212211211211121221222112122212221112111222211212222112222122211122111111111212212111121121112212222221122222111111211212221122212112111121112121112111221221121121222122121222222212111212112212122121111211122121122121122212112212222212112221111221121122211121122111212122112222122111222121122212211221122112212221222222111212122122212122111222111112212222222112221212222112121212112111211112211221211112122122221112122212112121212111222221121211212121112121211222212212122112111221111121121211122211111222211212212121222122122111212222211211222221211212221222121211222121121121212212112212221112212121221122111122222122122222221212212112212111122212222212121112111111121111111111111111211221221212211212112122112212222222211112121221211222112221221121121121111211222121112211112112221122212122222221212112222211222122211111211212112222111221111111122121221111221211121122222212211112112212122111121222222121121221211222122221122112122212122211211121212112112211211122211121221111111211222121212121122111221112112121121121212222122111222221212121121212211111111112122122121211221111222122211111221211212122221211211112112122121211111112121221222111112211211122111221222221112211112121112122211211221222122211222121122121112121211111222122221212122212111111222212112121222111211112121211211211222212121121212221112122221211222121122221212111211222111121221121122212122122212212122121122121121121111212211221121121222111211122212122112212122122112111212211112211122112121111121121121122111122211112212111112222211121221121212212112211222112121222211122221112212222212122221112212111122221212212121222112111212112211221212121121211112121222222221222222111211111221112211112111212222111212221121121211121211211121222221221222222222221112221121211112221211212112111112122212122212111122212212111122221212122211112112111112121112112212222122222111121111212211112111112112222122221222212222111121112212221222121112221122222222222222121122111212111212212122211122121112221221112122121221112222211112221111112111111112211121222222111211122111111111221212121212221122112111212221121211212221112212112221221222122111211121111112211112211221121211221121122112122121122221211122121112121121212211222122211221222111221112212122122212222222222111121211222212212112212221122211112112122212211122122121221211221122221212211211221221222221222112122211122111211121112221122222222211111111121112212212121221221111122111211121121212111221122212112111221122212221221121112222212211111122221212112112212122122222221112221122111221111212212211112222122121221221211222112122122222111211121111121122211121122222221121221212212222111221112121122122222222221221121221222111121222221122112121212222221121112221122122212112212121112222121111222211122221222211221122112111212211112211222122211222212122221111221112121121112222112211121222211211112121121211221112112121212211222121122211121111222121121122121221221212211221211111122212121112221112111121122211222211112121222211211212112111122222221221122221211111212211121122212221111112122212121221121211121121112211121122122122221122121212222221211111211121211221211222212211221111211212222112121112112212122221112112211212112111112111221211221112212221112121122212112222122121111121111221121221221211112211222211111221221221122112222212221221111122222122122211212222222221222221112121122122211121111121122212111211121121111222111111121111221211221222121111222122122112112222212121222222222222121222212112221221112112221212112212112122221211122212221112112122112111211111111222211222211221221112211221112221211111122112212121221121111111121212212112111122121211121112221212222221222121221221222122221112212212212211212211112122121222121111211111112111112222211221121121111112112221221122221211112211122122221212212222122211211112112122112112212212221111212222211221211212222212212221221111221222221222112122212112211221121211222212111112221111121222122221211112112112111212111111112112121211112122212221111112121222121212221211122221211211211221211112222212121222211112111122122221121111121221112111122122111122121212111112112211221122222112121222112212212111222211221112112222121221212212121222211111222122112212222121122112122211121212221111222121211211121121212111112212211222112222121222212122112221111121112222211112212121221121111221111222221121212111212212222122111121121221112122112212222111221212122212122121112221122121222212121111112221111211212121121212212111212121212112111112221112121222122121122122211221122221221112221122221222121212121212212122111221212112112222211221121121221212111221212122111222212212222222111211211212121222122121222122122122222221111211122112222121211121111212211111112112211112221112221222221111222111211112122122122121122112211111221121221212221122221212122112111221221221111222112111212122211112122221111221221111212211221112122122221112112121121212111211221112222112112211212211221211212121112212112111222111121221212112122121211112222122222222211222122112111121222212111212112111211211112221111211212211211121122112121121112121112122211111121121121221111111211121212121222112111212212121121112112122111221221112221111122121112221121111222112211212121111222222112122111122222212222211121121112221122222222111222212112222212221211211122111111211211221121121221212211122222222211222112121222222121112112111122121112221112221112222211212121111212212211111212111212112121111112212112221211112122121212112211222221112222221112111112121111112121221221211112111121112212222212121121121221212121211221121112221112112112222211222112211121111112212212211121221112212111112211112121111222111212121111122121212121222221212221111222211212112221111112212212221222221212112222211111221211111211112121112122112211112212221121212111121212222122221112212222112122221122221112121121212121221222222212111122212211211222211222212121221211121121211121111112122212222121122122111221121112212221222212111211112111112112212221111211112112111211222121211222211211122112122111222212112211222222221111222212221212222221112222212122211222121121112211122212211212221122212212222222111212221121112212122221222222221221222112122112111121112111111112122222122121112111212111212111212212221221221122121111212212121211121212221122211112211111112221111111222212121222112211211112121212211211212212212111122221122121221211122112111211122121111121111212121121122222122211221112212122221121112111111121221222121222121122112222212212221111211121112111211111111211121211211222122212111111212221111121122112211212222121111221121212111211111111112221222111221112121212122211122112122112212212112121121112121111121222112111212211112221111211121212121211222111121221221222222111212222122212222122212121212221221121111111221112122211112111111212222212212221222122211212112221222222212221111222211212121211212112211121221112111122212212211221221121121211221212221222222222212212221112122122211211121221111122112221222111211211211111221221111111222221112222112222211212121221212221211221112121112221111112212212212121212212211121111222211222122212111111121111222221111121122111211111111121222111221121112222121211221222222122212111112221121121112122111121122212221122112111122111122221221212111112122122122221122111121122122122112212221121211222121122112221112121121111222221222112222221121222122111112112111111112222221112112212121122122112221212122112122122212111112211221211221121122121221122211222111112112112221212111222212222122212112211212221111222211212221212111122111222111122221211111111211211221212211212212221221112222211122111111211212112111222222122212122221112212221212111212212221212211121111121212121121122111112112111111222221121111221112121111221112111222221112112122112122121222222112221121221122221121212111122111121211121122111221111212211111211221122221211112212212211121112211111111121121122111221221212112222221211212121222212112122212122121212221121221122122222222111221111112221112111211211212211112212111211122121211122111222221222212112112221212112211222212112122212221122121212221221112212121212122111222222222221121122122212121111121212122122221211221221212122221212221112222121211121212211121221111211212222111222121112221222111221121211111211221121112112122112112121221121121221222211122211122111112212211112211212111121221122121111221121111121221221212212122221222221222112222121121221121211212222121111222222212111121211111121121121222221112212111222212121211122111111111121122222121211111222222122221212112211211121121212222111111221121111122122221222122211121122222122121212211212212222212211221222221121221211122112122112121112121121122111221211121121111122222111211112221211121112112212212221211122212222122112122111112122122111212111122111122212221212112221211222121122111211222211111111122122111121111111221221211121221111212122112221121121222211112112111112112111111211211212121212111121122212121122212122112211112112211122211222212212112211121122221222212211112122112221221122121112211112221222121112211121212112212122211212211121212211222121222222211111121222211211221111211211122121212122222222212121112112121111222111212212111121111212212121221111122122122112121222221211111122222122221212211121112212221112121112122112211222121112111111212111212121112211122122121111112221211212222111221111121211212121111221111211222222221112221122111121211121121211222212112222112221111111212111222122122221112112111112211212112222111111221121111111221111111212211222122122222212222211221121112122122122111111111122112222212221112121212111222222122122112111111221112222221111211112121212121221221111211111221212212211211212221112221112122112122122221211112112221111211122222222211111221222212211112212122212111111112222212212211112211222211112112212121111211111221112211212221122211222112212112221211221222121111122212211122112221211212122222221211211112121212211212221222222112112212112222122211212211111222221221211211111111122212222112122121211221211211122112211221212121222211122221122211212222221112222211122222112222212111111111221221122211212221221221211222222112222222212211222222222212111211222112122112212211111122221221112121111221211121212212211221122212112111122212111221111211121122111211111211221122122212212222221212121212221222221112212212222122122222221122122111112211222121122212121222121222211221111221111212211111212112112222212222122221222122122222121211111121122112211111121222122112121121122222121122221121211121222211111211222211112122211211221222111211211112211212112212112221211121211221111211222221121121112211222221211212111122122221222222121112122121111222112121112111221221222122211222221121221121211222221212221221111212211211221122121212211222212122212211211122112211221222112111222111211111222111221121212121221211112211222112211221112212112221112122112122212112211122221122112222111222121222122112112222111111122121122212121111211112221121221122221222221211112212111212221112111211121221222111111222211221112111212122222122212121211212112211211121211122222121111121221122221221121112221112211111121122211211122211112221222111112121222112121211121212212212221221221221112112222212111111221212121212121111122221111112212221111222121122112112112122111221122112212211212121122111111211221221112211111111112121122112112222121212122121112221112221222112211221122222211221111112122121121222121112111121221122122221112222111221221222211122121212122222222212122212112121212112112221221111111211212222211212222211112222112221221211112221221121222222211111112122122212212212211211112111211112122111122212212212211121112111112222211111111221121112221211211111221212122212112112111111221122212121212121122212122221122122112121112112211212111212122112111222222211111211121222112111121121111122212112121111121112211211122211221222212121121122112111122221211112222122122111121221121212221112111222212222211122112212121222211222211112121121212211122222122112222111222211212121221212121222121221121112222211212111221212211212121222121121211212212211122221122222122112112221222122221221221222112121111221221112121121122222122212222111122122211112211121212122211121112221121121111222122221111211211221122121211212121221222211122211121221221212122212121212121112121122111222211122212121221121212111112211212121112121211111222212212112211122222122121112121112221222122122112111212122122111112121122112111111221211211121222211111221111212221212212212121222211221122112112221212121222211211111111112112121211121121221211122222211222212211212221221111112121121211212222212121112212121211211211221111112212112211112121221222121112112122121221212221112221221212112221121211212212121221221222212121222221111221122221212211212221122111122212212112122212221222121212222112212122222111222211122222221112222222112212121121212212212222211111212111211112212112211221121222212212212211211121111212211221221111222111212211212122111221222211122121122221121222221221111211221212211212121221211111122221221211112111211121121111221221121122211121221111221112111121122111222111111221221121211121122212122121212222112212211121121221111222122121221122212112222111112122111112121221221112112111212111211212112211212112221221112112112121212211212221212112121122121112212222122211212211111211122122112221222122212121111121222112122212222222112211211222122222212221122121221211211211221212111212121121122222121211222111221212222221122211121121221222122212222122112221122121211121221112221111122112222212221122212112212221221111122212111222222211122221211122222222212111221112221111221221211211212121211212222111212111221212212111222221221221212211221122122222221221111221112222111211212212221211221221212122111221121122212211221211212121211121211111122221221111122212111212121122211221212222212222112122222212211211222222122221222222222221211122122111112222222222221121121222112112221222111111111212121212222212122221111122111112211221212111112222121212121121212222121121111111112121121221211222222122122112121112211122122211211211121222121212122112222111212212212211221211212121221212112112112211211221222221212122121222121221211122111121112121122122121111121111211121112112222112111111121122121111121122121211121121122121111121212211111212111222221111221111222121112111112221111211221221112112211122111212221112112211212111221211222211111212121212122212112111222221112122222211221212221221112221221112222121221122122112211212112221222212211212212112212211121221111212122221122211221222222212111221211222222121222122112211221222212221222112221212211212222111211212222122111111121212222121112112211121122222122212212221122122121122211221111111222212211121121222121211221221221111222212222112121222211212222212211111121211122121122222122222212212121121221122222111211221222121212112222122222212222221211222212112212112111111121212222122222121112211222112112221112112111111211222111221211122211212122112111212222212122121222121121121211221212212112211121111122222122212222111122211111121222121111122111212112221222121211211211212221222122122122112111121121112222112211222122112112222112222222111122112211121222111121212112221111122121212211221122222221221111212121211111221212122222211212221112212121212122121221121222111112222221221121121221122212212111211111221222212211122122112221221111112122212122111222222221121122111111111121111112211112212212112121222222112222111121222111112111212112111212211122222221211111212121122211222212212222111221111221111211122221111211122111112222122121222112222212222112222212221222212222112112111122122211122211112221121112111221112222221111112122112212222222122122121222121121222211221212212211121222122212122221211222121221111212212121222112112212121122211221112112211112211221122121121211112111112122122222211221111122222111112112122121211121211211222211221222122221212211221212212111212222112112112112221211221222212221122112121122121221111112111122222221221211211222222212222111122121122211221122222221112122212212112211122221222111112222111222121212112211211111222111111222121222112222112121211111121121211112222111111221211212122112121222211211211121121121222212221221112221212112211221122211211111111222212211211122111122212212221121112122222221112121122211121221111122222212212222111211212221122112111211212122212122122221212121121121221222212211211112222222111221122112111222122111112212112111122221221211211121112112122112112211121121221121111111112222122221221122111112221212121221211122221221222122122222211111212122211221221222121111211211211112221212222222111122211121212222111212111122112211121211121121111121121121112111111211112111222112111121212221112112122211121211112111122221221221122221212211211112212211121121112122211122221122112211221122112211122122211222122112112211111212122212222222122211122211111212221112111122221111111221111122211122222111111111111221111212211211111122211111211121221212111111122112112211122121221111111222121212111212122111121122122112222212222211212111212121112122221121212211112111222222211111121212211112221122111222212211112111111121111222112222112222221112221121121221112212222121221112111212212221211112222212222112111212112222121121221121211122111122111122122122122211211122222111222212212222112111212111221221212221221111221122122222212221212111221112121111122122112211111222211222122221221221122222122221221112222212211122122121222212111211211111211121112212212221111111212212221112121122211221212121111211121211111121222222212111222212111222222121212112122112121112222211122222211121112212221221121122222111212211221111212222112122222212212111121211222112122222112211221112221122111112111121111122111212211112111122111122121221122222111212122212222112212222111211112121111122211211211122112211222122112111221121221211212221111212121211222112111111111121111121122111222221122212122222111221211222222122112121212122112122211122112122111122112221111121212222122221221122111121121111121122112122211122221122121121222222221211211222112121212221221211222121221112222111121121222211122211221222122122121211121112112221112121111211122221221211112211212121112212212122122112212111221211112111211222121211211121211112112121221121222121211121212111211221122112111212222212122112121121111112212112121122212112222212222111222111122222212222111112122211122221211211121221211111121112111122221221221221211121221121112122112122212111211111212111222122211222222111122111222212212221211221121112121222212122111121112111221221122221111221121121211222121221222212221121211122222121211212111112211211121111221111111111211222211122121221222222122222122121121221111212111112212121221211121212121221111222121122111112211121222122222121221211112111122121212112121211222111212122112221111121211222112122121111121111221112112121222211112111122222222211111222122221122111221121212221211211122121111122221222211222111111111222221221222111221111222111211121112222211211111122121112212121122222122122221111211212221221121221212111121211112121112112221221212211221122212212211222212211112212111122222211112121222212112222221112111112212122121221111212222111222222112121122111222212212222221122211122221121111211222222222122222121221121211112112121111211111212122211222221121111222212221112211111112222111222222112121121121211222112211212111211212211211221121212212121212112211211211212122121112211122112211222212122121211111122112211121121212111212212211212221222222212212111212212112112221221111221121211112121121112112111122122221211211111212122121221122211222222111221121221222111112122222122111112111211212121112222212112221112212221221222112212212121212222121222222111112221212212221211111112222112112212211121211111111111122221112211221212111211211122111211121222222111221211122111111112221112212121222122212111212221211211112212222211222112221222111112221122121112121121221212222121212221211111122221111211111122221222212112111221211122121211221212222112121111211111112112221212212121121122221111112121112121122111221211222122221121211211112212112221121222121221211222111221211222112121211221122121112221122212121122112122121112211122222221221211212212221122212222112222222222112212111211211221122111111222221222122222221122221112211111222222112122222221222221112112221211122121121212111222211221222221222211222221112211112112221122112111212121211211221122112122111211121122212121122221122121121112121112121221212121111222121122122222211111121111121111111122112112222211111112212121111111222112121121111121211222111222221222211111212112111112122111212112112212221112121112121212221111212222222212221222222122212111111211111212212211121111112212121221122122121222111122122112121211221112121211211212222112211112211221111221111212111221211212112122222211222222221222122122122121121122222111222212121121222112121122212122112211112121122112111112212112111222122211211121212211212112222212112121122121212211211122122221221212122112212121221221122112121211222111221221222112122221111221211222221112211111211121221222122111121121111112211121112212212221221111221111112212122211221122211122212121121222111112122212111221122212122112112221211112222122212122211221111212212221122112112121122211212121112211112122112122121211221221121111121221121212211212212221121221122122222122212111122211222122221111122211112211222112222222121212112121121121112121211121112112122111112121211212122222122221111122212221222112112111122221211211111121211212222112212212122112111221112121212222112122111122111212111222111121121112121111211122212122112212212222112111211112121121222112222212211211211211122211221121121112111221121212221211121121222111122221222121212111121121221222112122222122121222212112112222221111212211211211222112212212221222222112111122121221111212121122211122221112122222212112212111211211121222221211212121212112222122111112121211122211221111122221221111211111121122112111222112212222211221222111122221111221221211122222122111122111212111122121111121121211211121111211222122111121212121221111212222212111222112111212212112122222112121221111122111121222111221221121221212222211112222211221222222222211221221111112211221112222122112211222112111221211212212112112212121222212122122122211222212122121211221111122221212121221212222111121111211112121222121211211122122211212121112211111122211111121122212112211222111122121222111111121111211122112122121222221221112212112112122122122112121112212122112212121111122111222222222121221221221222222122111211122121121112111111221221112221221122222112221111221221211222212222111122221222211212111221212122121211222222122212111212212112212111221112212112211122121112112112111112111122112112111212211121212112222212221212111222122122211122121222222121212112122211221212222211221112212222121211211211111222122122121211211111211211121212221122212122221121122222212112111211112112112221211222212221222211211112212121221212221221221211221122121111121112111222121111112222122212221221212112121222222111221121121112222121212221112111211212112121111212111221122122212222122212212122211121211212111211211212222222112112212121121221221221122111111222212221222221111212111222111112221111222121121212211221112221222121112221212122122211122212111111111122211222212121121112222222121211112222122111112222221212211112121112211212221221221221111111112112222122211112111211211122111121112122111221111122211222211121212221222222211112211121112112221222222222122211222211112112111222121222121122121112212222121212211112111212112122211221121121112121121121221211212212222211222212111121122122111111121121221111112112111111111212212222121212112122212221122111222121111212221112111221112121211222222112222121211121211211211111211112122122121212211221221211122222122122222222112122122121211111221211222112211221212221212211222112212211122112112121222122112111211121111222111121121111122122211121221212121211221112112122121212221112122122212222122121112121212111221211212212111122221211212211121121112111121112112112111211211112111121112112111122222121122221122222111221221221111111222211112221221121122221111221211212221221111122121212121122212222212221111122112221111212112112112122222121122222222222121121121122111212212112211212212222112121221111211111211121211111122211121222221122221111121212112212122212112211111212222222211222121222211211211112222211112221111122111112112122211111112112222211111221112121211212121221111211221122221122212212121112111112111211121221221212122111112222121211221121121112221122211112221112211112222121111122212222211112212212111222112222211222211221122221211111112221222121211111111111222122222121221121221111221122112211211222121222211212111121122222211122222111221111221222111112111212222122112221121111111222212122111111211111211111121122112211212222222222221112111121112112222122211212211211222211222221221111112122221211221121121121111122122221112212122112212121112111122222222221211121112121121111211121112121221121111221121211222122121112211221112111212112122112211212211212121211221212211221122121212222111221111211112222211121111122211122122111121112212211211121112211122121211121222221211112211121211222212121221221221212212222222121122122122111221112111221212111212111111221222221121211221112121122222122111212212112212221212122112112111222221122111222222121111122212122212212212211222221121111211112211212112121122122211211112222221112122221122112212211111211222222121222111122121221222122111121222112112121222221112121222222122221211112222112221112222222212222122111112121222121112211121222121122212211112121122111222221222221111122111121211222221212221121122221221212111222212222211121111122121222112111222211222212111121122122221111112111121212111122222121221122212112111121112112222111121121122122112221111211211211122112121122221222121212211111111222221121221221121121221122112222222121221211211212211112122212211112221111211221112211111221221211121112222112122211211121222112221211211121111211111211111111222211211122111122221221212122221211222112222111112221122222121112122221222122122122122222212212212221112112121122222112122221112212121112211122211122221121122122222212121221122222121211121111111112222221112212211111112122111212111111112111121211211222221121221121121211112122121221212111122121122221122112212112221211212111222121222111112111122211211121222111111121112122121112221121212112121121112221212212222221121112121222221212211111112212221222211212221121211112122112122121212211121222222122111212122222221221211212212222212212212212212122111111211111111111211211221112121222221121122121222112222121112212121112212211112211122111211111212222212111221211121222211221211222211222211212122211112111112221222211211211222121212122221112221212121212122211121122121211121211212122121112211121111212211222122112122111121221112221112111211122221121222122122212112222222221211222122221111121112212211122212112211121121122221221211121121221211211122112211112112121212111212221222111222222111122222112111112112111111121112221112112221211211212112122111111122121222221211112112211111211222111122221222121222222111112221212212211212211121212222112121211222211122221112211221212121111211121122212111111212121211112222212121121111211212221122222212111211211122211111122121212111112122122221222212211111122222212221121222211222221111122122222212211211121122211112211122222222111111112211212121221122212111122112112211122212111112222122211222121111212221211121121112212221121111121121112112212221212111222211111222112222122122121212121211211111212122222221212211211122221211111111212222111121122222211122222222211112122211111112212111121211111211211221112121212111121111212121211211222211211222122212122122122111221221222111221212122122212111121221111122111221222211111111222111121212212212211112222212111222211122111122211222222122111221121222211212222111222211212212122211212211212211111122121112122121121222122121211122121222211121221221121211122112122221111121212121211112211111222212211121212121121122112212121112111212211122221112222122111212122222121212122222212111212211112221122211212111211112112211212212122211222221222211111211211212221112212221211111121112111122211211222111112222212121122122111111211221221112221112211122112121121122111112222221221112111122212212221222112212121211222221222221122122112212121221121221111222122112111121122222211122211222221222122111112212111222122122222112121222111222222111122221222212222121112211222212221112121111111111211222222222221111111121112221222212212111122111111112212211122112211211211111222111112212111112211121121121122112221222211112111211112122211122111212122111211211121122112122221221221211211112112111211111111221221212211122211112112122212221111112212122211211111111121122211222122111212121211212111211212222121112122122121111222122221111222211121122212212121112212221111121112212122121222121221122221121122111112122111212221211212121112122222121222112111122221111221121222122112112211211212221122122121222121121222121121112122222221221211121212212212112111211211122222121111112212112122112112121122122112111222222111111122122221221221111111121211211211122111212222222211211212221212222112221121212222222212112212111121122122221211211111121121112112221212212211221112221112221221112122221221221222222122111212211121222112112122112112211211112221212222122222212212221222121221122111221212111221122112112222212121111121211122121222112122111112122121221121122112111222212122121122122212212121211121122221111111222112212211211112222122122121221221211222222222111222221211211212121222122221211212212212111222111221112121111211122211221222212112211222211211212212122222212122122122122222122121121122112222122121111212212221111121112112111121122122221112122221222221121121212222111121212222221212121221222221111111122111112112112222211111122122222121112111122112211222112122112121221111111211222221222212121222222122221112221111121111221121121212221212211122222112221222111212221112222212111222121122211112111111121111111211212212222112111222122112111121211112122122122122221122111221122111211212221111222211122211211112111111121121221122111111222121222222211221212212121221221222112222222111222111111222222222112211211211111221112111221112121122212111221212122222121111211121211221122111111112112221222112212211212221222112112212212212211121222112212221122211221122211212212212122111122112121212212221121221122111222211111121222221111221221221111112112211112121222111121111221221221212122122221222222221122211211121112122112112211121212122221222112212212111222211221112212121121222212222211212222111121122211211112122212211221121122122122112212222112212212222112221222221122121221121112212221222122122221111122211211212111121212221222112221122212112111211111221221111111122211221211122211112211112112211111111222111211212211222221121112121112122222111212212121212122212121221221211212121221112121122122222221221212121212222122111221222121112222222222121121121222122112111221212222121221222112211112112211212122211111111111121221211121112212112212211122212122222211111122222111121111222121211221111122212122121212112221121112121122222211212112211122212121122211122111111221111211221111112222112211111222122112222221121212222212121211121112221212111211112112222212212122211112221112111221212221112121212112112221112221221121112121221221112222111222221222111211212222222221122222212122112212222211122111212121211211112112121211112122112222211221111122112211112212112222111122211211111112212221211121121222211111122121111211221112111222121112221121222122211212121122112121211211221212211122112112221111211111212122112221111122111121212112111211111211211121212222211212211111121112222121112211121112112222121222122121211211222112211122212221211221212211222111121221212212221221222212212222212122212221121221221221222221212221121111221111111212111212112112111222221111211121212122221211111211212111121211121112211112111211111222211112211222122111111121122122111112221112122112211112222211121222221212221111111222212122112211122121222122222222221212111212222121111212122221221221112221212221221212221121221222121212121211122221222111122222112121111221211222121122121221121211122221221211211112221212212212122222112112221112221122221211111111222121121122222112112121121122121121121122111211211111212111112222111111111112212211111211121221222212212212221212112212111222112122212122111121221122211222112221222212212122212221221122211212121111112121222111121212111112212112221221211222222221211111221122212221111112212222112111112112221112221222122221121112221111222112111222211112111212112111121111121111221112211211211121221212111112211122221122122111211112111111111112212112212211212122111221121122111112122212212111211212212111111221221121212212222221122112211122222222111111122111211211112222111111212212112111211221221122212122222212212212121211221121122121111211222222212222112221122221111122112211222211222212112121212212121111221222111121221122121111121112112112222212122112221212222112122211211122112222222212122122122122121121222221212121211212121111221122122122122222221221121211221112111212121111212111222221212121122211222212221211122121122122211222221211121112112222111122211111121211121111121112212122222122221211121212121121111221111222222121212222212112112211212211222222222122222122221122222112211121221211212211122221121111122211122222122211111112221121212112212121212121222212122112221221221112111221212122211112112221221222112211222211111221211112111111222212121212222111212211221221111222221122221111221212112222222112221122222121211211122211122111111211111111122111111212111222111222211122112112112212122111111122121111121111221121212222112111222111112112222122212221122122211112221212211222212121211112111221211221222212112111112221212112122212122121122121212211212112212221111212221112211121121121121221121121222122211222221212212221222122122222211222212111221221112122121112111122112222121221222121121212121212211122111111111211111222121121212122211121112121212122221211211211222121121112221222122212111222212221211211121111111122211222122112111122122222222212212211122212211221122212222111122221111222222121221221221211122111211211211212211221222221211121222122221221222111122122222112122122222111222111211121221221211121211221212222221112221222111211211221211111122212221111122122222122112121111222111212111111122111221112211222112122121121122122111212222212112211111121222221111221211112221221121112221111111222111222211212112122212221211211121112212212211221122211211211221221122111111221112222212211211112121211112212222121122122222122221121111122121122212121111112121121112221211121122122221222111112111121221211122211111222221212122122211121221112112211122121121122212222222211122211211222111212222212112111222211111221212112222121122111122122212221121212122121112211212112221221221221222111221222122121112122122122122211221222121222122222212111122221221121112112212222211121222221122211121111121111212221222121121112112211121111221212112221111121211211221112111112122111111212111111222212221222121212212121121212111122111111222211112222112111211222212112212122212111222212221112121121111222212221222112112222121111122122112121221122121212111112222222111111122211211112221222221112211112112122212212212212211212211112212111222222122211111122111212211212122222212111211211212222111222222212122122111112122121222222222222122121211222211221221212112211212111122111122122211122121222211221222222121211112112212122112111212122222112111222122121111222122211121111211121112221212112111112221221222222221212211212211112111112112211122221122211111221221222111211112112122212111211122212222111212112111111121111111221221211121222211122211121212112111212121122121122112211121122211111112112111212211221222221212221122221111111112122111222211121222212121122221121121222112112222122111121111112122111122111112212111121112121212122122212122122221112212222221111112111222212211211122111112222211211111122121112222111112222211112121211122111122211111221112212121212221111211222111112112212221221121222212212212122221121212121121111211211212122112221122222112211112212121212212122211112122222112121121221112112122112122122212122121121221221111122112212111222122112121221211222211122211121211211111121221222211212222111221121211122212111211122112222112111211222221212112111121122121222212112222112121112111222111112221212112112122221222212221212221222211222212111222112122111211122122212212212111221121221121111211221222112112112111122212221122222122122122112211222111121112111122222121112211111122121211222121121222212212211111111121211222222211221211112112211222121212222211212222111111222222121122222212112121122212211111112211122121212211221222122212221222221212212211222121121121111212211211211212212112111112112121122122222212212212211221211212111221112222122121211111122122221222222121111211221222221122111111221111122212212221212212111221222211121121221221111112122111212221111111122211112111222122112212122112112122122221221121122111112211122111212112212111222222111221211121211212221111222212112121211111121111212111211121112121212222212211121121112122222112121112121221112121212221111212111221221112121221212211221222222122212121221121122121111222211211222221212211112221222222222111222212221112222121222221111221112111122121121222221112211111111111122211112211211221222211112111111122221122121221211112111211112121111222221112122121212212122111121122212212111122211111222122221212112111122222111112122111222112121222212222121211121111111112211121122221121212122111121212212111212222221122121111222121212111111122222121111212221211112221121122221211222122111222121222112111122222221212212122211212112122112212211111222121112121121212111111111212112111222111111122121122111222222221211111221121222112212222211221222111121212212211221212212121212222122221112111112122111122122221122212222211222112111111112212211122121121212111222121122222122222211121121121222122211121111222212112122111211122111222112221122211112111222121111212212211212211121222111212111122222121121111221122122212221211221122111212222112111211221122111222121212121121221112211211211211112122112222222211122121121211121222221111221222121121212112122112221121111222221112211221122212212211222211112212222112212212212111121212211221221111222122112111211111211112111111111111221222122212221122221221121111222122211122121121112211112121111121211212221222222121222121111112221111212111112222212222121211121121111221212211221222221121222221122222121122112211221112112121111222112122212221221221211221212222211121211121122221112221211221221211122112212122111211221121212121221222121221122111122111212221121212211121111121121222122222212121222221121221111222221222212112111212221221212121122112112221221211111122222121211122211112212122122211112111211112121222212121212111221212211121122221221112122121122121211121122212212222121122211112111112112122211121122121211222211122111222222112211211211221212211121121112121221221121121112211211112112112212221111121111222211212212211111221111112122221122111222122212211221112222212211222212112222221121121112212221221121122222212112112111222122222212112122212222111222111221211111121222122211212212111211121121121221221222212112221211212221212111211111212221111121111112111222112222121112112112211122121221221111112122211221111222112211121221212211212122122111221112111212211112112221222221122122111222111122112111111111122112111212111112222222112112122112221111222121122211121112211222211211122111212221121211212221211222212221211122112121121111212221121121121112222211212222112121222121212222221112111122122122112221112122221212222211221212122122221211111112211121211121122122212121211212222222222111211122221212122211221111222122122212112122112212222221111211121211121211121222222211221221211111112122111221211212212112222222211112211211211121122211211111222111121112212111122112222222211222222121121222122121112122221122111111222212211111122221212221121221212212212212112212112212112112121211122121122212212111212111121122111212211211222211212121121212222111111121121112222221222111112112221121111211222122112111211111122122122122122112212222212221111111222221112112222221222211112122121121221212122112221222212111121112222112211221111221211111121222211122212122111211212222111111221112111212212112122112122112121121121221112221212211111212211111222221111112121121111222211112212222121212122211222121121111222222121211112112122122212111222111212222221221222211122111121111122212211111211111111121111221212222111221112122121121121212221121121212211111211222122221111222111221221112122122212111212112212222122111112212112122122121112211112112221222112211222121211211121121221111212221111212221212121212222222211111222212122122211211211222121222221212222212221112121222212111122121212122222121122111211111121122211211112111112122211211122222112121112212121211211211111222212111222112212221112112221222112221211122212121211121111212121212211222221221221121121211222221112121222212122221122211222212112222122211122212111121212111212111112211122222222221222221222212211121222121111121211122212222211122222211112121121212222112111121122121121212111112222211211212212121212121111112221111111222121121122111112212111212222111221111211111122222222212211222211121112112111221121112211122221221211222111221122111211121111221122221221211112121211112222112221112212212122122111221121121211111211221112221121221211112212221221212211111211212122122112221212212221121121122221111222211221211222122221222211122212121222211221122111121211121221122121211212212211211112121211222122111112222211111222211212221112112222222112112121211222211221221122122211122211221122211112111122121222111211221211111212211121121212122112122122111112121212212211222211212221121221122121112111212122221222122211111121211111121211211111121222112212212221112122221221112222122122122121112212211212222111222222121112122111121211112112222121111112212112112212222121121222212121121211211112122221122121122121221111222212122121211111211111222111211111212222112212221212211122122121112211122221111211111211111222211112122112211212121121222112222122211221121211121211221122222112212212122221111122222111221212122122112111211211211222121221221112221222211122121222121121112212221211212112221111221212122211111221121222212211221122212212112221112111212221221111212112112122112122111111121122121222212221111221122112111122121122122121212221221112211212112121111221211112111122212121121121112221212222222221111221221111121111222222122212212121122121112221121222222221212212112121212212211212122121211221122221122212212122221122112222112221112121122111211121111122221211211222222111112221121122121111222222112112211112221121111222221121121111122221211122122221122212212212121121111222121212111122211111221221122122121212221221212211122222211212221121111221111121211211211121221122222121112121212212222121122222121212111111212122111221122212121221111212121112112211222121112122122121112121221212222212121211112222221211212122112112112121111112211121111211111112112212222211111111112122211221222222222221211121121222221222221112122112222221222211112121222121111121111122111112211221121221221222211222211222122221211112221122221222111111121112221122212122211112212211122222122211211122111221222222211111111212121211211111112112112112112111212121111211221211121211222211121122121211122221122222112211122111122111121122222111122221222121112212121122122212121222111122112221122212112111211122122211222222111221111112222121111121122121222221112222221121212112221121121221221222121222211222222222122122221212122112212121222121111111211221112121212111221212112112211111212212112111212221222122221111212121121121121122222112212221211122111212221112112111212211212222112211121211121122211122212221122211221122112112112121122112212222121111212111221121122122111122212222211221122111111111111122211222212212212112211212221111122221122112222212211111121111112122211212112211112212122121222112121112122111221111221111112212111222222221122221222111211111212222221212111222221122221212221211122122211221211111212111221112221122211122221212122211222122112222212222112211222221211221221212212112221212122211121212211122111112121212211121111112111221212111211112121212121121212221221211211222111211122212121221222121111122112212222122122221111212222122112222222122221212211212222211222212222221211122122212221111222121112121111221221222211221211222111212112211112121121212221112222122211121221222221121122121122222212221122112111121211211112212222121212221111222221111212121222221111212122121211112112222221121212122212221212111221121211122212221112211211111112111211211122112112112222221221122121222211222211221221221111122212211211122212121121222121121121121112111122112122221121221112211111121111111111121121121222221121122211112221122112211211112222111112122112212211211212222111111111121121122111122221211122211112222111222122212211122112112112212212211221221222211112212211111221222122122211221121212121111112122122112111211221111112111211121221211221122121121212121122122221212211121221122222212212211121112222111222221211221111222111222212211212112211122211211212121111112212122121112212221222122222211111111122212221221212122212112112212121221122212112121112222122111122122121112212212111222111122111221111221121221122211221221111111222122221121121222122122222221222112211112111112111121211121112212122221121221112212111211212121221112222211222221121221221111122112211221121222112121221112212211211221222222111121122111111121211212221111112121121112211111111221112121211121221222111222121112121122222212212111112222121122111212122211212212121121121112221111122112211121122212121221112112111122112111222211121112112122112122221122112112221112211112222122111212212121111212221221211212221112221222111121221221211121121122221211112222122212221121212122212212221122121222221111122221122122211121212112212122122212112111212112222211221112111121112112211222122222221112122122122121212211212211122112122221222111112112222111121111211112111111221122221111112111221122121121212111212221111222121212211222112221212121122121222122212221221122121122122121221121112122112212111222121121212211121211222112121211111111111221211122211222111222222221121112122222122111211221222212121121222112112221222222121222121121212122221121111212222111122212122111112221111212221222121221111221121212122211221221222221212211211111211112212112111212121112112111112112212111212111222112212222121112111222122112211221221121211211122211211222212112221211122111221121221211221112221221122211212112121222221222122212121111122221122121112211121112121111111222212111122221221112212121212212112221222221221222121221212122211121221112122212122211121121211212212112112222222121221111221122122121211222212212112122212212112121122221211122112211222122222221211111111211112222112221211221122122212221222111112221121112111212221211222112212221211222111222211212222112212112211221212122122211112222122222121211212112121122111212112122221122122221221122122212222122211122111112212122111211121212212222221222222211212121212122211111121121121121112121122111122211222111112121111222121111211222111221221221211111121221122221212121212222211221111211121222221112221212122121222221212111222112212211112222221122211212112122112211112112112211212222121212112112121222121112112121121112112211211211222212122222212111122221221221121121121211122211112212212221222122212211121122211211111121221221121111111211121121221221122222211112111211121122121221121121122122122111122122222112112121222111211222222111121112122222211111122122111112222112112111122211122111211112222121221121112112212221211212221111111221212122221222222121112111111111111122222222121111211122221222222112221212111221122112221212121211111122211222112121222211122222111122211121212221112222121212222122212222212221211222121222112121211222222212211111212212212211212111111112222111122121122211122122121212111111121222112222212221212122111211221122111222112211112222122212121211112221211122212222212121112111211221222221211222111212212121221111122112212112212211212211121211122111211211111211111222221122111121121222211111112111222121212222212211111212212211222221211122112121211222212211221112122212111222122221222221112212112222222121211222112121222221221212121112211112122122221211111122212112221122112222111211212222211212121211122221112212121111111112222212112212121112111111221121121112121221111212121121212221211221112111211222122111212211122221111212111111212111222111222222211212112112212222212111121212221111221111122112112112122112112212122112122212221211122221221122221122222212222122212111222212212112111121112221112211212212111211221122221222122211222121112221221221111222221121221121211211212222222221221221211121122111111222211211221221111222112221212121112212222111221122212212211211211111122211221122112111222122212121222212111122122211122221212221212121121212112122121211221212222112221212221221122112212111221122212122211212111222122212212212121221121121111122212111112222112111221222121111121212211212221122221211121221112222211221121111112211222111221221122222222222221112112211112122121121222211121121121122122111112211112112122221221221112211211111212112122122211221212112212212222212122212221121222112212122222211211112221222212111122112222122212211212112112111212221121121211221121112211121211221212221222211211121211122121211121121212212211111211212211111211111111212211111222212212211122111122211111112212122221121112122121111121111111122121121121122212212112112122221122121112221222122211211121222122221221212222212212122121122121121222121221221211121122222112221211212211222122111121121122211122111121221122221222122111111222121221112112122221121112211222122111111221222111212122112222211222111211211222112212121221111212212222222222122212212222112211122112211212212111111211221212222212122111122221122211121121211112111222112111112211222111111211112211212212112221111121111121122122211111122212212121111222221211111121121122221121222111212112211111212121111221112111211212221211222221112212211222122111212122221112221221212222121112121112221211112221111111122211221222212121221212122111211212121211211111112212112121111121121221111111222222212112222222122111111111112121121122122112111111222112122112212222221221222222112211121121222212111112112211112222212121221112211222221212211122122111121212221211212121221221111122122122212222221221222211212212212222211212212222112111222121222222222121221121222222211221212222121221111221221122122212111212111211121112112112111111111212222211212222222222211111112122211111121111222221221122112211122212121211221111122111222222121112122212121121221111122112111222122222211111221111122222211211211222112112122121211212211212221221112212211211211221121211111122121212122112112212111122211212111212111111211111111122211221112221222122111122221211121211221121212122122222122112222221122111112221222221112221122222111221212212121122121121222122211211211222111121221212211112222111111111211122211112121111222211221211211122211121112222122122212122112222111112212221112112222122211122212221212212212211222221212211222122111212222112212211121221221212211221112122222222121222222111112211221212212112122222211121211122221112221112211222211222221111221221221222222212112112211122222112212212212121222121222121112121121122111222121112122122222222111212211222122211112122121112211122221222212112212111111211221222122211122221211221212222222122121222112122112211222222112212211222122121111221112111122121122122112111222212121211112212222222111212122111122122222211222122122112121112212122112122111221222211222221112212212211221211112121122222221222122212122222211111222122222122211112221112121111122112111111212112111212121121111211221221111222112122211121121212112111111222221212122211112222212221121212112221111211221222211222111122122121112222111222211111121212112211111212221112112111111112121121121112221212122112121111222212111212221121122212222211111212222222121111122111121122222121111211222211212212121111122112121212112121111112212121121121221211112212212121122112221222112221111121212222121212122221112122112212211122111222212121222111212221112221211222212222222221122111121111111222122212112222222212211112211121221222221111212212212222222112111121122122211221211211212222112212211222112212211222112212112121111211111122122212222221222221111211121122222111112112221211112112222212222121122221212111111122121111212111211111121222111222122222222222122122222211121112222222122212122111212112212211222111111222112112112222212211111111111112212222211122111122212122112221112121112111211122111112222122121122121111122212222221222222122211121222112111212121112212111111121211122111221122112222112221221221211112222122211221111122112222222212222212222211212121212212212212112112121211122221211111121222121221212111212222212121222121121212212111122211221112112122112111121111112211221112221112212212221112122222112221121121211221112112122222212111222222221211211122212122112212221221212121122221212222222212122112121111111221222121112121222221111121221211222212212222122111122212112221111212212212122221212222121122112112221122122212121221111122212111222112112222122122211121122222221121112222222212221122211111112211111212111122221112212221221222222112122222122112112221221212212112112212122121212111111122122111121121221212112211121121222112211111121112112121122112111122111222222122111211112221121221121222111212122122221221122122212112212212212211122122122211212111212222212212221221222221112122211111112122222122221112212112111121122121222221112222222211112111212111212221212212121111112212212111222121121122212221111111122112212111121112211111211121111121122112121122112111221112211111111111222112122212122111121222212122111212212211111121211111112212211121111121212111121222221222222111221111222222211112111212212221122122112122211221212111121121212112221122211121122221121112122221121221122111121222211112121222222111222212121222112222122111212112121112122112211121222112212221221121211221112212111122121211112122221211111112111221211112111222121212121212212212211122121122121211222211222211211112222122221121221121221121222122112111121121222121122122211221122211111112122122211222222112221221221111221111221121111111122212112122222121122212111122122122211212111122212211121112112222222212221222212122211121222211211111222212112121222122212121221211211222122221211211122211111111222221221122212211211211111222212221222212111221122121111111211121111122122211222122112212212221112122212211211122222121221121111222111222111221211122122211111221222112222221222222211212122112122122111111211122222221221121121121122212211121222211222212111222121211112121112212121111111121211222121222212111111111211121121222211121222112222112121211121122211211112221121221222111121221222121112222222122111211211121221122122122221122211211221112111211222111221111121122212221222222221121111221221112122211212111111112221212221112111212212121122211221121222211111211211111122111222221122222212111221222221211212121111211222122112221222111122111112112222221221221111111122212112122212122111221122212112111122212112212122212121112221211222212121121111111122222121122111212121112222222222111122111122122112212212122212221221122221122221111112122111211212221221121212112121221212112121222222222212212221222222212122222111212112221122211121111211112221212111211112211222212222121111112122211122112112112121111222222112111122122121211111212221112122121211221121211122122221222112211222122122111212222211212122111112112221111121221121221211112212211212212121111221111122112212111112122211212112111121111112212111212221112112212212221222212122122112111212221211122222122221122111122211221122212211111212111221121211222122121221121212122221122122212122221222122211221212121121122111222211121111212112211111212211121122212222221121112212221121211112111112122122122211121111211221211222122212211222111212211112211222122222221111121212221112112112222211121111211212111111222222122222121122122122112112111211121121221211212112211122222122112121112122221112111211121111222212222221111211111221222212122112221212221121122111222112222121122222111221122221121112112121221222122221221111122222222212122211112222221212222211111222122221212212112122111211212111222211112122222211111212121221221122212112222211121211122212212122211221221211222222212121211221212211112112112122112112122122111122211112122211121112111121122111221211111112221222122222121212211111221121212111122121211222222222121111222222222211211211122112112222111121112111121222211222222221112222121221122212121122211111121222112222112221111211222222111121111222222122122121212112221112122212221212111122222212211112222121222121222211111112112112112121212122111212121111212112222111122211122111111111221221122122122112121222122121111111211222212121222121122122211112111112121212211122221112112212112111122212212111222211221222121121121122111122122212121121121222122121122111122211221121122211122221222212221211212221221221211221121122222221121121212112112211121122112211212112122211112122111122212221111111222222211121111212211121212111211122222222111212112112211122211211122111211121211222211122222112211222221212121122211111122221211112212212111121111122212121221111221111112122222111222212112222112112121111121111211121121221212221121111212212122212122122212122212121211211121221112121121112221121112112212112111121111222221111122111222211111111121211122211212211122121122112222112212221121221121111211221111111122222222111112222111212121212212112122211111121112211211112121121212121121212211112111211121122122221121111222112121211111122122222222112112111111211211121211122121212121222121211121121112111221112212122112112221121112212121111121121121222212212122222121112121122222212222122122221121122212221122111211212112112121122122211211211112212221111112112211221221121121112211221122121211212122121221221222122121221121121221212212222122121212121221221212221112111212211112221112211212112212212221122121112222122122222112121222112111221221112121212122122212212212112211122222211211212112111121121212111211111211221211121111211122111122221222112122111222221121211111122122122121211121121211112112212211211111221222222222221212112211121122122211122112111211211222112111212111221111121121111121121211121111112221212121211121121111111112122222221212122211111222212121111122121211121121112112212222211212212122222112122222211111212122121122221111121222211222221212122211112122212211121222211222211211222221112221211212211221121121111221121112112112112121222212112121212112111211212112222122212212212122221211222111222221121111222122111121121111111121212112122122121211221212221212212112212111122112212121121211121111212211212221111111221122112221122112222211122211122221212221112112112112212212212212222212222212112222221112122222211121212212111212222222121111112111111122221112121211122111221212222221122112212122121212121121111111221212222221222211122212122111211212121121211212212221122112111112121221122221222212211212121221111221211222121111221111112122212121222211122211112111211221222221221211211112211112112111212122121212112111122111121122221221122211212211121122221221112121122222121221222112122222121112112112221112221112111112121212211111122222122222121211212121212121122122222221122212211112211212211211112122222212111212122122212221221212112112212122211222212112211122121121122222211222122112211222221212122211212222221222121112221111222211112122222112122222211121212122212212112122212112121121111112111222221212221112112212221112111222221222221222221122211212112112111211112222112212112112212212122222212121212111111221122121221122122212111222222122212122212111212121222112122211121222121212112111111211222112221221221212111112122112221221122111221112112122122222212212121222222222121222222222221111221211212111221122211222122221222211121111222112122111122112122122112121111212121221211211111121111212112222221212222221121211211221211121112112221122121122221121212212221211212122112212111121112221111111222122111221111121222121211122112122221212111211221211221211212212221111221212212122222221221212112111212222121121121221222122211212122111221222212221221112211121122212122221112222122221221211221212221121111211122121211221112112222112212222221212122212211212112212211122122122212122211122122122211122211111121222121211211111111111222211222122221222221212122212112121122221121112222122221211121121111112112111222121222211211212222111222221112112211212222212211211121121221212222221112111212122121221122122111122212122121221212212112111121121211111121111212211112221211211122212221212211211211111211121212121212211211212222112222212222112221111222212221122212212212222122222222122212122122212112221222112112122111212221212112222122111212212112111212222121121211122222122221111112112212212111212122222212112122212212112112222111211222111212122112122212112122122122211221221122112121212211121111211111221212111111212221212221222212212222111122222112121221221112121122121121112122112112112221221111212121212211122222121211221222112212112121212112121121122122122222112211221112112212211111222222222111122112211211221221112112212122111212121221212221121212121212221211112111112222111212121122111212212111211212112211122112122122222121122211121122122122121222111211222121112211221111212111211211121221122211112221212112222212112222121121211221211111211112222221111222121222212212222122121111221222122111121121112212122221112212121212211222112111112221121112121122212122222122111212221211212222222111222122221221222212122111122221221111121122122121122221111222222122211211222212112212122222121221211211121122221122112221222211121211211212212222121122121121122111221112122122122221222112112111222122221222212221212112211112121211212211211222112112111112122111221222112212121211221212212211121111212221221121222221111112211222221111211111212122222221211122212211221221211111211222112221111121122112111121212221222122221112112111212112121212212222211221222212122221112212122111211122212212122121111211222111121211121111122122221111111211122111222221122111212111211221212211222121221212221121221122122221222222111212222122211212211121222112211222111212211121212122112111212211121111112222112111211122121212221121212211112121112112112221222111221222121112211211112112212221112221221221221211221112111221221112111122212122122121212122112212112121122212211122221111112122221212121122122212112221211211112221111122222111212221211122212222212122221222111221111212222112122222221222112121211121211111121221122212121211111211211222222211121222222112121122111221222212221221222122222211211112212112222112121212122222221211211221212221212122222121221121211222112111122122112221211211212112122222212121212122111222121222111211111221221121111121111211121222212211212112221121211221211211111222122122221211111122212221222221212112211212212222111111222221212121211112121222222221222112122211121111122121121121221111211211122121211111122212122212212221121211222121112221112112222221222121111111122221212211111211122222221111221212111222222212222121212121122222212122121111112222111112221211221221212222212111211212111222222111112211221122111212221212111111212111112112121222121122112111122211112222121212221222222222222111211222222122221221122221112222212121112211112211211122222222112121222221112212122122112112122211212122221211122222212112111222222222121111122112122121222211112111112211211221211122122212221122211112212121212222222221212222212211221111112211111211112111211221212221111211121121212221222121111222112211221112112122112111211212211222212222221221211111211121112112111111221121121222112111211112121121112221222221122112112211112221221112222212121111211112111221212122222122122211221112212122122221221121222211221221122122211221112121211121212121222112111212122222111222211211212211112222221222112222111122221112122112212112111121111112122212112121212121112112112112111121111212122212112212121221211112112122122112211221212212112211121222221112221111122222222122212212112112111211111221111212122211212112212111211112212111221112121221122122122211211221121222222222121122212221121111122112222112211211112111121212122222121212221221112121121212122222111122112212121121222112112222112211121111121222221122212122211211211122212112112221112212121211121211212112211221211111122211211112222222221111221111222122212111122211112222112121221112122122111212212112212212111212112112222122221211111222111121121222222221222111122222222121112212112111212122111221112112121111111112212222122111122121212112121112211212112211222121122122211122211111112222112211121111112112121211112222122211211222121122221222122211211112111122121221221112212112112211121221211121222211121122221112222211222211211221211222112212112211121111222112112221222222111112221222111212121121121121111212112112112222211121121212222112211221122221122111222122212111212211211121221221111122122121111212122212211112111212211222222212111221121212221122112222211211111112221111221222112222212121211112112211122212111112112221221212221112121121112112222211221211222111112112121222222121112211222111222211221111221121212221212121122121112112221211121111121111222122211122112211222211222121121121222222211121112112122121211111121111221211122211211221122211222212222111122112212122122112212112212211122112221112111121111212111122122112122112222111212111212212221221122121122112212212212112222111112222112222112211221112111211221122122122222121111112212211122122111212122111222212112122221111111122121212121212222111112121211112211212211112211122222112222221121222112122122122121211221122121121121221121112112112121222221112121212121222122222212212211111212112212211212112122112111211221112111211111222212111212221211222111221121222211122212121222112121112112111222121221212122221222122211112111222211212211221211112211112222212111221211222211121212112211212212211122211122111112221111122121212212112121211211222111121212212122221221122122112122212222212112222112212212221221121212121221212112211221112221122212212111122121212112222112222122122212122212121212111121122111122221221121111111211121212211212212221121221112112221222112122122121222122112112212121222112111121212222222221111122221112122221122221121221112222111111121121121112112121112112122122212222111122111221212122222122212122211211122121111112121112121212212222212111112122212222122112111221121122222111111221112211222122122111121221211211121111222221112122112122111111212211122211121212221112121212112212212121112212122221222112111222211222122122122122211211222122121111122211212222212211111222112211111112221212222222121212221221211221222212112212121122222222212222221121121122221122212222222211111212122212121122111121221112212111122122121212111221212212122112111111221121221211112211112112212221222221211122122122211212212112211211121221121222112222122211221221122221221112122122122222122121111211112111222211211121212221112212112211121112112221121122122212121211121221111112111112122212112212221211211122211211122222111212122111122212111122221121122221122112121212111122211222221112112112212222212222221112211212111211211211112122222222121111221212212211122111111111111122112222211211122121221122112121112121212222222212112221222222212111211112112211221111121211122121211222212212112211122111112112222112112121222121221221222222121222212122222112122212212121212112211112221121112122212122121122211221212212112211212111122111211122221122121221222112221212221211111122121111111211222111212121111211221122212222112221212121111211122122212112112221112112212222221112222111221211111222111121121211222221212221121211221111121222111211211112112222211221122111112212111222212211111222122222221221122121222212111221222222212111221111212111221121221222212212222211212112112121222122121211222121211221111111211211221222221122221221221122121122122111221111122112212112222112211221221112121211121122222221122211211211222121122122222121121122121111121221222122111221212121211122222111222122122212222211222111111221122222221212211222222211212121211121111121122221211121211122212211112111121211222112221211122211221222222112211121112122111222222222111221122222212211222112211121111221111121211211222211222111222112121112111111211121112111212222121112112112221121211112122211211122221112221122211212212212121111222221212211121212212122212111121221111222211212212222112121112122222212211211211221221112222211221121211121211121111111111122212121121221212122221111121211112221112122222211122222211221221111122111221211211222221221222212221111111122122112211221121212222212112112212221121222222222222111122111121111111212122221111211211222211212222222112221122121211221222211121111111122121212111111222212112121121211221121211221112212212111112112212111212122212121222111212121111211122122122112222111222222122211221221221112111212112222211111112212211211111122112211122122112111211121121111121121111121221112111111112112111221121222112112112212111221222112211211111212121211222111221112112212121221222122111212222212211221221221212111112221121122222211112112122222211111122211221221221212121212221211111211221112212122111111212122122112211212212111212112122221122222121212112111222111221222122111222112122121112121121111221211112111222111122111121111122212211122121212112211122222212111122122111221122222212212222222222121212221122221121121221221111112122111222221122122122212211222222222121212221121122122211121212211121112221212222122222111222211121212211211122211111211112111121212222212222221121222221221112221111111212121212112221212122122112222222212112221212121111222212111222121112221111211121112211212212121111111111112121211122222221222122111211222212211211212222212212212212212121212121211211121121122221222122211112111211121121111112112112212111121221212222221222222111122112211112121112222111212121112211111221111221121221222121112121212222211211121212221122221111111111211222112212222222212122112112121112212111211212221212221112121212112211211221221122222112122212121222112211221221121222121122212122121212212221221122212112111221222222122111111121121121222111222111112221111111112122221211112222111112222121121221122121111112121122212112112112122111222211121222122211111212222221122212111211121211121112122121221121211211211221222112111122211121222121221211112222222212222221111112212221212212122222121211212112111122122121221122211121212122222222212221122211111112221221222212112222211222111212112211122221112211211221111221122211221112112212112212112122211111112212112222211212211221221121222121222121111121122121211112121221222112112122121212211211221212122211222112211222221212111222122122212122222212121121122111111221122122122221121111112111121121212222221221111211111112212221121112211222211111222222221122221221212121211221211211122112121211212112212122111122222222122121111212212222221212122112211221121221112112122111112211121112212112212211212222111111222112122212122222122122121212112222211112221111221111211111211122122122112221221121111222122222211121122221112221212221112221121111111121212222112122122122121112211122211111221121212221222122121122222121112211212111221222221111122111212111122212111112121211222222111221222221111212222212222222212111212122222211112112211211211222211121222211222121111111121221122222121222111122111211121121122212121222211122112222111121121112122112221212111211112211121211221111111112112221221111121121212211222112122212121112122122122122212212122111122121121221111222121222112121222121112121212222221212222121122211111221222222211212211221211112111211212211221112112212122112121222111212211222111112112211212222111112121211112221222221222212221221122222211121112111221221111222211221111212111111221221121222122112122111222211122222222212112112112222112122112122211211221222212122111221212212111122222222212212222221111221221211211222212112212111221112211222212221222121212222212212222222111121221112221112121111111112121222121212222122122121112212222111121122212112212211221221112121112221211222212222222211121221121211111112121221121211121212222111121121111121211221111211111211112111122212122122111211112222211121112112222122221221212222211121121211211122212122222221212121221111211222221112221211121111212222222112111112222222211222221221222212221111111111112112211122111122122211221111222221211221221212222112212122122221121221112121122221121111211211121112111111112122222222121221122122122222121121212122211222222212222212222121211212221122112111212212122211121221111211221121112112121221122121122122112121222111221112211121221122122122112121121121221111211222122121122122121212221212112211212211211221111111211211212212112112212222221122212222112111211211122212211121212211222221111112222112122211121121121222212122221121122122122112111111212222222212121112212112221121122212111221111211221122112211221121122221211122222221112211211121222212212212222112222222122221112112222122122121112111211222112112121122222112211121111112111121112222112212211211122212212212111221112222221121221221212111222112121112112111112122112212222222221112212122111111121122112222222111112221221211221212112112122222211211111112221211222222112121222221212121211212212211211221121111212111211222112111221221221211112222111222121112222212112212122111112112211211112111121111221121111121222222111112221111221211221121212121112211211212222211112112122212112122122111211121211222121112222211122122111222211221222122112211121212111211112212222211121221211122222111112112121112212121121121112221222121212211112221122211112122121122121222221212112122111122211112221121122221211222112122122111211222121121111111111212122212222221222212121121212112112222211211222111121111111221211211221122212112221121222122212122221121121222222212122111112121122221222111211121212122112211221221212222212211212212111112121121211212221222212111122221111112212112222121121122212121221112221212112222211111211221111212211111122221112211112111221212222222121221122111222222221122221112112112222112112211121222212212221122122112222222212222121221122221122111221121221122121211211212221212121121211212112121211221112111121121121122222221222112221122122122121212112222111221211211112122121221112111112121212211112112221122121211122211221121121211111211221212212112221212111222222111122211112222121112112121122121212211221211221222222222212122112121112222111121112211211222122122111211121122121112121121122211112121122221121112222221111221122222212222212222112111112121121221111112221222221221222111212212211221112112221122222221212111121222211112211222112121221111212212222121221111121111211112121121112211221212221222211211222222112112211122211211111121111111122211221112111221111122112122221111222122121112112212111111122211211222212222121122222211111211112111122211221112112222211121112111221222122212112211111222121211122111211222222222221122211111221211221211222122212212122111121212221212212212211212111212111212221221112211122112222121222212121122112122211211212111211122122111111221111221221212121212222112221121121111222221122111222122212222122222222122121112111211222122211212221122222112221222122222111211121212121111212112112212222212122221212211211212111211211121222221121121121222211222122122122212112211121121112122222221122121121221211121112211212112111221212212221112111122222212212112221221222121211122112112121221122221112121212222211212121122222211221211121212211111222112121122112112222112222122221212122122112121122121221121221221212111112111122122111111121112211112112111221112211222222122221121221211212122122211211112121112111222122112111211111222222211222112212212221111122122121212122112121111221222211211222221111121112111222121121211111222211212121111222211122112211121111121222211112222212112212212212111112212212122212121222111111111212212121222211112112221121122211221221112221112122211122111111111221221121111111211112221222212221221212111211111212211222111122112122222111111122111221212221222222221222122121121121122122121221222121121121212111121212211111122212221111122221222122111221212211211222211211112212221212111212111221112221212212221211111221212122212122212111222221122111212121111212222111222212221221221212222121221122221112221122121122122122212112222122222211122221221112212222112111221111221211222211211211111221211222112121211211221222222221112211122211212121212211122212121111121121211121222222111112122112121221212111221121221112211122221222212221222212121221221111212212211111221112122111222111221121122221122112221122111112111222112212221112221221211222211211112121221212211111212222221121111211212121121221111122212211212121121122212221211212111222222221211122212221222212111111111221211212212221211211122112111112212122212222221211121111122212122221212112212221222211121122121212222111211211122212212212221212121222221122211112211222122112122112211121211211121221212222222211221121212111212121211212111212221221121212221222112111221211121122211211112212222111212111112112111111222112122212112221222112121222121221221111222222111212212221211112211212211121122212112212211122111221221222211122222222211112121212222222111112112221211122122111112211122111121211112211121111222211212221121212112221222221121212221212112211112112111211221222111112111112111111122212122111212112222222121221122212221211111112222222211222121111211221211121222221112211121122222212112211222211212221212122211211112221111121221112112222222122222122122122221211111121211221211212212111211121111122222212122121121211121222122221111222112121122211212122122222212122212111121122212122222212122112122111222221111212111221211211121222212211121211112211211212121122212212112112221221211112121212221122121211221222111211222112111222222121112212211221122222211121121212121112112122121221112221222111122211121221121122121221121212112122122111122222211112212211111222112112122221112222212111221221212212112112112221122221221121211121112112111122122221212111111222122211221221111222222222222121112122121221212111222221111211222221212111112212222122111122122122221122222211112212122122121222212111221221211122212122122122121211222111222221212221222122222212221121221121112211212222111111122111111122211122122221212111122212222121222221111121111212111121222122212122221122221122122212111211112121112211122112112121121121121212221222112122111111211121221222222212221211112222221121112221122221111212211111221122111211111122112122122222211212212111211122222222211121212121211211221212221211211121211122111112122222122211211122221211212211112212121122211112212122111212211112122211221212121211211122112122111122212111122121111212112112122121211222121122221111212112212112112221222121112221222221221211121122112221111211221112212221122112122111211222111112111122221121122121111112121121122122122222121112222112111111111211212122222111122121121112212112221121221122121211112122112221222222111111121121111121222212211221211212211211111212121222122121121222121212111221211112212211111222211122212212222212122211211112121212221122221212211212221121221112212221121212222221212221222111222222122112121111212121121121221211121222212221221121212111221112211111111122211112122112122112211121212212121211221122122211211212121112111121122222112222112221111221221222112122111222111221211122122122121211222221122122221211122221211222111111222121121222121221211121121121221212221211222112121121222112211211112122221112122221112212222211222112111221112122122221121211122221221211121111111112121121212111212121212212212122221221222221111122222211112122211211211221212221122121212112122122112111122112112212112222121222221111111112111112211122111222221211111222211222211212122221211122222211111121212121112111111221122121221111111121211112111112211112122212221221212212211212112221122111121121212122221121222121212222211212112221112222111222211212211112111212122111222222121122112221212211111121111112221221111111112121111221222121212222112122212122112112112221222112222112221221222212111212221121221112111122221121122212121221121112112221111212211111112212211221222212112122212211222111122121222211121212222212122211112212212211111221212211121122111122111122121221121212212112111111211112221212112211221112111121111222221112211221221221211212212122221121222122112211112122121222121222112222121121212212221212112211121112221211221211211221212121211121211122211121121212211222112111122211121111221222121122111212222111121221221212121122222211111221222211211211121111111211121111221221221121112121111221222111122122111121121121212112122111211111211211112111212122211211111211211122112212221221112211122212222222222121221122112121221122221121221122212112212112222222211222122112112112212211112211212111221221112222221221211112122122122112212221112111211111211211211121222212112112112222222111222111221221222112112112212222122112112221212122122122222221212211221122121122211212221212122121122112221222221212122111212222122211122121112112222212122221222222212122111212221122112222122111112121222222222222122112122222121211211111211211121112121122121112211112221121212111111121111211221121211111222122211222111211212121211112211222111112221111121211112221212112221121221111221212122121112222211121222122122212121211112212111222122222111121121121122112121112122211212112111221111222122111222211121112122121121211121221211221122211122121211211211112111221122121212112212112222121111222222121111112222221111211211112122211111222121112211222121212211111111211111111121211211121211121112212221221222121212111212221122111112222121222112111222222221122111222121112111211122212111121122211122211222222111112211112212121222212122112121111212211112221222212112211221211112212122221111121212121222222111112222112212221211111121212211212212221122111112212212222211211212212222122212111111221112211121211121211212212221122111221222121221221122211211211222222111122112222211112111121122112211222211212111112222121122121211222121221121112221111121212122221221112112111121121211221222112212112112121222221111121212222212212222212212121222211212211211112211211112122112111111211212112111212222111221121222112122111112121111222212212112112111111111212222221121112112111121221212122111122112222211212112122122121212221111212121221212111222212121221121212221221222111221121211112112121121211121221212211212221122221122121222211112222212222111111222221222221222121122211111122121212222122122112212212111211212221111211211222112111121121211212222212222212211212122212221212122221112211112121111111212112221222111122222222121222221122111212122212122121221121211122222212121112221212211121211212212222222212211111221211222212222211212122112122121122211122111222122122111211221221212212121212222112212111122111222121121222212122211122221211112112221112122211122221211221221211111122111211212212121112221212121211212211112222222212122111121211222121222212112211212222221221211221221122211212211112221111121112112212122111122111211222212122121122221221222111122112211111212212121111221111122221222122112212221222212222211221111112222121112112211112221112211221122112211121221122212222122121112222112222222212222212221121112112111222222122111111112222221221121211121221221121212222222122212112211111112122212222112112221122111121122111121112212211112222221211112111221212221212112221222222211111221122121111211111122211122221212222221112211221212111112212112221122121212211212221122112212121111221111112212111111111112212222222212212122122121112112121211122221221111221111221222211221212222111122221121112112221221112212122221122111112222112121222221122221211222112221121211111112221212221121212122221122211211212211111212212112222122212211112111222112221122221221221121112121222222121112121122111112221112222111122222211121111212111221111211112211212121121211121221212121221112112212121212112112222222111222121112121221212222112122211111212212121212111221222112212121222121212111212111211111122221111222212211222111211221221222121211112221211211211112211111221121112121211221212211221122112222121221111112222121221221212122121211122211111121221221121222122221121221111122122112221221111211122211221222112212221211112212222222112121211121222222112211121211222121222122121112221122221221121121222211211122112222111111211211121221111121112112211221122112111212112211112112212211222221222221221121212121112212211222222122222221211222221211112122121212122212121122212212111111111112212221112112221112211211122112221211221112112221221121221212111212222222112211221221221121222122111121212212221221121111222112211122221112112112222112212122211221121122112121211111221122222111111121121211112112122221211112112212212112121112111212112211211121222221222111221121111212111122221122112121222212221221222112222211212122112221112221211112112121122122111111211222112122122212211222121111122112121112211112212221121122121121212221221122121112211111212112211121111122211221222121221112122221121221111212221111212221111112122221112112111212211122122221212221211212211122222222211211222222122211121121211121211221122111222121221111111212122221111121111222222122221211121222122111122211221111121111212122222221122111112222112111111122212111111122111222212212211212222121211122211112112211122221111122111211111112111121111122112112222211221111221212121221222211222212122121112211221111122111122112222222212121221222212121121122212222222211222112222111112122111121111121212212122122121111212211211222222221122121221212111212111112222221111112111212122121122112212112122222121121121221221122111221211222212122222212212121122121121211112112122221112222122212222112221212211111212222211211122212121122112112222212112121112212111222121122222221221212112211212122122121112121222112212121222212111212212211222212111121222122111221221121112211112212212111121122112122222221221221121112112222111221121122121121112112212121212211211222221111122212212222112111212212111121122122221221112111121221211211212221212122212112112212112221121212222121212212221212211112111211222112121111122121122221212222122112111122111211221222112122122222112122112221222212111112112122212121121211222222122212112121121121111222121211121212221221122121121111211222211212212222121211112122112222112212112221122121211111121221212121212212222212112122122221112111221221212112112212121121211122221221212211212112211121221222112212211121212211211121212122111211111212122222212222222211221122112222121122111222222112222112221211111211121211222212122211212122112122111111111122212212112222112112222212211122121212122211221122121122121222121211112121111121211212211112222112212111112222222111112221122211211111112222222211112111111212212221122221122222111221212121111121211222111121212112111222221212212211112121122221111212211111122121212222111121212221222211111122111221221212222121121211222212211212111112211222221112112121122112211222211121222112221211122211211221221111112121211121122121112221211111112122211211212112112121121112211221122221211222212221221221221212222222221112122212211212222211112112122211211222211212211211212122112222222112212122121112122212222122222112111121122121122121111121221112122212212111221211112122211221122111221211212222121112211111121122222111212212111222212111222112121111211112122122211122221111221221212212112112222112122111121112111121222111211211211121111212112121221222112222221121212121111211112212122121121121222122121211122112122211122211122122222111222111121221122212122221111122211221121121222221121211222211211222112112221121222211122211221112212212222221211112221121122111122211122221111211112121122122222222122112121222211221211221122121221112112221211121122122121222122111222222221212112111122212211122122221221112212222112112112212122122121111122221121112111121112111211111112211222112122211111222222121122111112122212211121122112112211211212222221112221212221112112212221121122122121122221221122221111212222221111221212212222212211221211211211122112112222212121211212121112211111222112122212222121212122111121211111221122222212221211111221221121112221112111221122221212111121121121211111222112122222211112222221212111122222122111111112212222121122111111222111122122221221212121121222111122212221212212211122111222112122122221122221122112212222122221112211111111211212222111222211112211111212211222222122111111212112121122222111122111211112111221222212112122222212222221111222211221122221222122112111111122212112212111112122221221112121111222122222112112222111212221111221222221112122111122222222111121221211222122112221121212111222211111211121211122122212212221112121111212122121222122121111212112111221111112111212121111111211121111212212211112111122221222211122112122221212211222211222211112222211122111122222212112211112111122221111112212121211112212212212121112112122221122221221221211221122222212222212122221111111222221111211211121122121122211212222121212221211122112212212222111122112122212212221122122222222222211212221211222212122222222212111122212221111222122221222122112211212221122121221222111112122121111222221211111121121222211222121212122111221111121222212121221212112211111221222111111212112111222112122212122222112111222121121222211111121121112121211211111112212112122122122121221112111212211221222211211222221211222111222122221112122211211122112112121212221111112111122222122211222211211122212111122212121111111111121212222112212221121221112121122111122122212111211122212121112121111121212111121212211121212121211112122221111221111121111211111112121222112212111111121222112112111211112111221112111222211211211222222221222111111212222212112111121112212222121112221221221212211212221222222121121222112221121221222221121222112111211111211212221122122121222221211122211221212211112211111221112222222212211212211211212111221212211121211222212112121122211211112111122121212121211221122122111212212122111122121122111112122111212111122212211222111111121112212112121121111112212111222211112111212122212122111221211221212122222122221221112122121221212221212121122121122111212111212212112222212112112211112212112112121112112211221221122121112221122121212122211211212121121121211121222122112121111211122122212121111122211121222212211111222212121122222122122212221121121121222112111111221221212221121112122221212112211122212211212212122222112211222211112212111112112111212111111221112111112122122122211121212121211222112211221221221212122212111112112212111112211122122211122211111111122111222111211211111121112112212112222121211122122221211212212111122112211221122222122112121211211111121222212211222211121112211111111112211212112122121112122121112222122212212211222111221111121211111122121212111122111122212211212221122212122112212212221112111121222111121122212212111111212211211211112212211122211211122211221122221212211122121121112111122112211111111212112111211221211111122222221112111211122211122121221122112211112122222112212212121211122112112112112221111121222222212221121122111111211121112221211212122211211121121122111222122111122111111221112211122111211122211222121112222122111111212222211222122222212121122221222111111212222112211112112211122112222222212221211211212121212222111211121112221211121112121212211212111211122111112111221222111221222112122212222111211121222222221112222121112121111122212121121121121222222121211112211112211212112111222222121221121111112111111112121112222111111121112222212122211122122112212112212122122221122211222121212221121112111222221212221111212221122211221121212222112111222112211222221221211121112212112122121212112112222111122221212222112221211212212212212122222212212212222111211221122221112212211122221222212212212112112112211222121221212111121212111212211121111212122212112121111121212211211121111112212111221211222211211111212221111221222112111121111211122111122122222221212221222122122111111222111222112111221221211122112212121212111221221221222112212222222122121211121221122121222211112221221111121222112222112211122212212121211112111221222211111221212111212112222211112111212211222111112212111121222221121211111211121212111111121122211212112212121212111112111111211222221212211122122122222221112222211112221222121222222222112212221122222121112112222222212211111212222112222221211211211221121112121211111122212112212221221222212212222121212122122221222212211222121211112112212122112121222211222122222112222122211111112121111111111212121212211111221222121211221211122222221112111111211122112111112221121211122212222121221112121211122221112222211111122112111222122121121211212112221122111211212122111112221212222221111211212111122122212112212222211221212221221121121111112211221111121222122111122212222122211122222222221112112222112211221221112212111112111212222112122221121111121122111122112122221211221112222121122221121111212222111221222121212212112222121222221112222122112211122121222121112112122122221122111221122212111211212222222211211221112122111111211111212122211112122221212222111212211112212211122111222211112222221111221111111211112121212121212221121121222111212211212111221221111112112221221112121212212112121222122212211122122122211222121221121112212111122211211211111211212111111212121112222122222122211221121112122222112121111112112121112221112122112112121121121212112112211112122122222121121211212121121122222121211112122112211112222222221112122122212111121121221211122221121222221121112212121222112222221111112211222212221122112212222211112212122212112212111112222221211111122112121221212122122221122112221112222111212212111111111121221211121112221111112212211221221222221222121221112111222121122222211112112112211221111121212211122212112111221211212212122121221211111111121122222122122122112221211112112212221222211122111111221111221121112112222212222222122121221112222121122221122112212211111111222221121222112121112111212112211221212221212111111111112212221111222212221112111122122212211211122211221212111211221221112122121212112212212221221112212111211221211222121112121111211212111122112221111211121112222222211111222122211211112222211212211211122221122222212211211211121221111221212212121221211111122221112122121111122222211222122222221122111122212112211221211221222122221112212222222221212121112212122211121221222121222112121122121112111111121121222122222212112212121222211112121221211111211121221121221122122212212112222111111122221122121211211212221122121211221212122221122111121212221111111112211121122211122112222111112212212211121221221211222212121212122212122211122112112121112221221111221111211221111212122212221111212211122211111212112212211221222212112222122222121212222222122222221112221112211211212222121122221112112111222122212212211221212212112212111212121212111211221121121222212121212122111221222111121212111112221212211121212222122121212212121121211222122212122211122222111111122122112211211212211221111111122111211211212222221221222221122212112121112221112212221222221211212121212111222211221121121222212221211221111212112211111111211121122112221212121111222211122222122121212211111111212111122212212221222212211222222211112211121221111122111211212112212112211111212121122211212122212221222122111221111222222112212111221222112122121111221111122212211111222222221112212122212121212212211221122121222111212112211121122122121112111121211211122211221111221221122211122222112211212221212112122121212121111211222111212222112111121212111112212112212211211212222212212221121212221121222221211211222122111222211111111221211212121122112212211222212211221211222121112211111222221221211111211221212121122111122212221212212121111121221112222221212111111211111111212221222111222121111211211122112121211212212212121211221122221121111222111221122121222112111111112112121222221121212211222111212122212121211112122211221221111111112111222122121112111122112211212221111111212112211221212112212222222212121221211121222221112122222121221211121222221112222211112222121121111122221221211212211111122211122112212222212112122222212212112111221112211122212211111112122212211221122121121122221221222212221221222212211212122221112111222221121221122121122221221211212111122222212222111221211122212121111212221122112112111121122112211221222121122211122112122112221222112112222122112121122212212212111221112212112111121221221222121222112211111122222221221122112212112112112111112112212212112212221122221211212211122111212112222211212211112122222112111221222122122212122122221112211121121112111221111212212111222222211221211221222212111212122111211112222211222211221212111122121111111212122121211212221111211111222221211112122221111111112112121112222111222112111222212211112122211221112212122212222221111212111111221212212211221121121211122221122211112112122122121222221122222221211222211221211212211222121122111211121221111122121122122112212222212122122121111211212121212112111122222121112211112212122111212112121121112222122221111221121212222222122122122212221122212111212212121211122211222211211221111121221121121221112222111122211122112222212122121211121222222121211222221122222121112111112122112112112122111222212222111111211122112121222121121111112222211221222111221122121111221111212211111222212222111112122211211222121122221122112122221121111222212122221222222221212222212211222211111122211121121122212211112222212211211221112212222111111211211221112122212111111112212112112112122221112112221211121222111212211222121112112221111222221212212121222211122122111211122222212222112211111122112112221212111112222211221122221221122211221222222221222112212222112112221112211212121212222111212221212222212212111222222212112121211122211121111221121211212112222221221111221111222112112221211112111122111111222221222111111111112121221211221222212111211222222211112222212222222111111212211112211112221211121111111211212112212221121111122211222121212121221112121112122212111212122222222222221221112221222122221111111112121122211222111222112111111211112211122122221122212221211211122211111122111121121221111221122111112121222211121111211112212212121221121111121122221221122221111212122212122111122121221122111221222221211221221122122122211111221122121211211111122121222222211122121121112212211121222111112111211212221212122211212211111222112222221212211222122221211121222122111221211122111222122222222212111222122112111212121221222211112121221112212111121212211221211122212222212122212222221212122121221121211222211212221121111222212222121121221112111112221111112221121111111111222121211112112212122222121221112222112211222111121112111111122222122111221221221111222212121112221212122121122121122121221222212112221211122211212211211212111122122221221221221222121212212111112111111221112112121121212212112221111221111221222112112121122122211122122222112221122111212212221221211212221221222121122211222121122222221222212211211212211121212211211121121122112212211111112211222212221211212222222221212111222211221211222212222222111112122112211122112212111121221222222222212121211221222112112111111212222221221221121212111221111122221222212212212211111122122112212121221122121122212111212211211112122112112112221212222222112212121211222221121212211121111212122211221212222212111222222112222122212221122112122222221121212212222111211111111112212211211112212211121122222221211122212222212222211111212111221122221222111111122112222122112111121122111111222121111112111222122211211121122121211212122122122122211221211211221121211111211121121121121221122221121112121221112211112112122121212211111112111212121111112121111221111222121122121121111122212211111211121221111211212221121221112212111122112221222112121222222212122221112211222122212211211211122222222212121211212122111111111111211211221221211211212211212212122222222212112211111212221212111112112211211211222121221121211112222111112212112112222122122122122111122211221211122212221212122122221211211222211121211122112122222122112111122112221112122212222121111212111222121222112222221221212212121212111212112211122122221212122221211212121121212122222212221221211221121122211212121122221221121121212222222122221211112112211121222122121212221212222111122211121122111111111212222212222222112112121212212112112212122122222111221211122112221211222212111222111112122221111122122211222222121212211121221111111121222221222211121212222112221121222121122212212211222112121212111122221221221121222221212211122121212211211222122222122221122212122221212212121212121211222112212112111221221112122221112111221111211122221122112222122221222222112211111112222111122112222122211221211221222121122222212211221121111122121111221211221212122221211222221222211121121212122112111211121121122122111121211112122121111211221111111221112221121122221211122221111212211221122211221112122211111221111111112212212122212222111112221111222221212122111111222212211122111111121122211121221111222112221221112112111221221122111121121212221222211221222222222121221222211112211112112221111221221212211122121221212121222122111112112212222212221112221122121121212222112111222121111211212222211221222122111211212221111122221212211222122212121221111222122121121211221212122112122211112221112121221212222222212122211211212122121122212221212222111112222211222211211222222122111222121122112211221121211122212222222212112111211121122111122111212121222212221112122221122211121222221121222212222122221221212111222222221221122122122121111211212122212111111112122212112121111222122121211221212121221212122111222212222112222221211211211111222222112211222222211122122122212122221211221121212111111122211111221221221222221111222211111111122221112111112222111212112112221211212111212122111112112222112212111121211112111121112111121212122222221222211212212122222112211212112111221211222221122222212111212221112111111212112121212211111221111211211212121121112122222122222112121112222222112112221222112222111112111122122212211211112121121212211221211121111221121111221221111121111221112212221112222122211222112122122212221222111121212211112221111121211112221112212112222211221222111212222212211121221212122121121122222212112211221112222222111111222121112212111212211111212122122212121112111112121112222121121112222211122111121112121222211211211111212111211111112212111221111121212122221112122211111122222221211112121111222121211211222221111111221111212221221212221221111222222222221122221212222211211121221111122121221211121122211211112222212112211111221212221111112222122111222212212121112122111211111222212111112221221111121212211222212111222221112222212122112212112121211211112121121112112121221222111121111111221122221112221222112212222112112111111112221121112111211112121111222112111112112222222111222122111222111111211221211221112221111221122112212211222121222221112121121111111211122211221112122121212222121121112222112212112221122212211112111221112111112121212211112112221122211111222122112211211122212222112121221112211111111121112211112121222211212221112212112121111121121111211111221111122212122221211212211122121121112122121122212112111122112122111111111212221212211121111112121211221121212112221222112122222211221111112222212121121212221111212111121212111211211121212121221111212112221112221212122122221212222211221222112121122221211112221111112221222212212211122211112211112121211122211212112111121212112222112221122121212112222112221111121121122221222221222221111222221212212212211212212122111112221121211112221122211211211112212222111222122221122121222111121121122111222122211211222221221122111111112121122222111121222122112112111212112221212112211121222111122122112121111122212111221121222121211111222121221222221221222121211122211211211212112112121212122111121121221222121121221211111122122121121111222222221211111211111122221211221212122211221212221122121212211112112112122112221212111222111112212212221211211122221222122111111211212112212222111221111121222122221121221111111121122112122112111221212122122212222212212221122211212112221211111222211122112211122122212222111111111211222111111112222221112112222212122122122212122122212112111121122211222221122211112121222222122121221221121122112221121222121212122122122222112211112122221222221211122212211222222111222121222111212112112122222112122122221222122222211122212122112122121211112211222221212111222112222112112121121222121122222211121121122122221221212122111212222111222112112111111122111112212111121212111122121212222121121111112221221122222121121221221112222222221211112121121211122222112211211111212122121112211112121111221211211121222221212221112211211211221122111222122121212111212212122212222112121122211122212111122222122222122221121222121221112121112112112112212211111222221211221111112121111211222212221211222122121211212221121111222221222122221211212221212222122112211112121121212111111221111112211212222122121212221221211121221222112222211121122212112112211111121222221121112222121211112122221111211122112121111112112122222212122122111222222212111111212222112111212111211212211211121122222121112121122111221112212221212122111121221211211121121121222112212212122111122222212121212212222221211212222122111122121222111222212122111211221122112122211221211212212222212222222122121121121222212111212212211122112212122222121121121221111111111222112221221112112111122122222212112211112112122121122111222221121212211222122121121112121222211211111112222212122221111221121222212221221211212112121111122211122221211212121221211212212112122212222212112111212211111212222112121222121222122111121121112112212122122211212211111112112212111111212212211211121122221211122122122211122211121121222222112221121221122122211111221222111111211221112212222122211111121122112211212211121122121111111111221211122122121121222112112221122112222122211121122222221221212112212221212121121211111222222221122211112111111211121122112112121122211122111121222221211111111221221221211212221121112212221111121122111222122121212112111212121221212212112221212212212111111122122211122122212111112121221211112122222221211211211211211112121211221112121111222222211112221111122121221221222122211211212211222222212211121221212122211222112212211212212211211212221112122112211222112212121212212122121121222221112111121221212112221121122122121222111112211121222111221211122222122121111221212222221222222121121212221221212221111122112111221222222121212121121122122222122211221221221112221111222121111112121222212112111222211221111111221122122112121121111222221211121111212211112211221111121212211212112221122112111121222222221112121222221221121122111222222222122212221112212122122211221221222122211211112222111212221212221212221121112122212222112112221111121111221211111222212112222122111121111112221111111212112122112121122212211121222212222111221111211221112211122111122122111221112122212112222122211211122112222211121212111211211121211122221212111211212122212212211211121111222121111221212121121221211121212111121221112121221222112111212212211222121112122211221122112111122122211221121211112112212121122212122112112121111211221121111212212222111221122111121122221122212211112122122122122211112212212222122222221111221211211222212212112112122121211222112222211222112212111121221112222121211222221221212221212211212222222222212211221211221221221221222222222212112121221122112112111222111222112212212222222211121122221211111112211112212221211222212221112221211121112212221112211222111121212112111211122122111211121211221211221221122222122212222122112211121111211212211122222212122122221212221212222121211221112111211122212122211111112221211211111211221111121112122222221111222212222122111221121111222121211121122212112211221111111222222221111221122112222212121221111121221122121111222221212211122221122222112212222222112222122211221111121111121222112222221112212111111122212211211121112121111122111122212121222122111222221122222122212121221212112122111211222212211211212222121112222112221222121112221211222212221121121222211212212111222211122221121122121222121212211211221111212122122122211112111121212112122221212211222221221222111211222111212122111211212211221121211122111222122212122222112112112112222121122111121222121121122121222111211111112111122111112212112222211111222221111112111221122111221222222121222112121211222211211111112211122221212111222222222112111121222212211222112111122111122212211112121221211122212212212112212121111112111211121222121222222222112211111111211121112111222121221211222121222221211222212212222112212121222221121121122112111212211212112121211121121122212112211211112122121211211211121111221211121222111122111212111222212121222121221112212221121212211122211211122221121121221121112111121221122121221212221112111121222112221222112212222112121111212111212121222222112112122112221212221111122121121211111212222112212111111121111112222211112212122111121221222112111222121112211111212221112212211212122221121121121221112211222112212212121221111212121212122221211221121222122121121112211112121122122122211211121211222222122212221111221111122121111112222111221122211122211121221122211222111222211111211121211122212221212221111212212112222222122111112212121121221211221211222122211122212222111212112122111211121112122211112122111212212222121122212211222212111111121222122121212212212211221111211122222122122221222121212212212122121221211222211121112212111222112121121121222212111111111111221122122111222212121112211222111212211122222211112122111222111222112212121211222112112212112111212122111222221221212212122211122121222221121212112211222122222221121122212211112211212212211111222112211122211221222121211111122222221112122112211211121211212211211122212112121112112211121221212121121111211212112111111222111122112121212212222112121221221212211111111211221121221112222222121111121122211211111122212212222211211212221212212111212112111222122222111222211111222112212111121111212111212112212222111111211211211221112122221212222121121211111111222222212211112112222211212211111111122121111211221121221122212121212211121111122212112212122121221211112222211122112122212112211222121212211222122211222212112221111212121111211121212211212112211121121212112222222221222221211212121222222212122212212121111211112211211211222111112122121111212222221221211222221212111121122111122121112121122111122222221221212121121222122211212211221111122112112221221111212212122211122121222212121211121112121121121221121111112122111211222121112121122222222112112212112211112211221111112122212121222111121222121212111111111111221121222121222212212222121222111221211121121121222222211111122221212221222212211122212212111112221222122212222221111112122211212122122222121211211111222122222222222211111122122121221222121122222122122112122112222221212211221111112111222221122121111121212221112212122221221111121112122212122122211111222111122111112222221111212112222121222212111121111221211112122121111222121212112121121211211211221212222222111222221111211221112121122122221111121212221212221111211212221211111122221222121112222212111222112222112112111221111212222121121222211212122122121122222222222221211221121112211122211221112111211221211212112211111222112212222212122121212221211212122221221221112212111121111112111221221211121221222111112211212111122221121211121222111212122122122221121122121112111221221212221112221112111221122111122212212121121112121111112221121122112222121221111112122112221211222222122212112122212122111121222112221211111122212111211222111212211212111222111222222112222222112112112221211122121212222211222222222211111222112111221211212221111121222112111111111221122221212122121121112122111211111121221111122122122221222222211221122112222212121121211221211212111112211111122122122221122222122121221121211221221211122212112111121121111112111221222222212222112111221121212122212112211221121222221212111211212111211211222221212121211221122212111211211122211111121212122211221222112111222222121112212121112211221111211112211111121121122212111222221212212221121222211122212222122112121112221121211122111212222121112111122211212121212122222212111211222221222122221121211122111112211122221111111222112122112222111111121121111111111212111112221221121112121221211211221222111212122112211121212221122212211221221112121211212111122221112111111222221221121112112112212221112211111221222212121112112121222112112122222222221211222221212121112221111211222222212112112212221222212222112111211121211221122212112221212222221211112221222222221112121222222121222111122212121222112112112211122221221221122112211122112221122121112122211221221222211122212222212221122111212222212122221112122211122122211211111211122212212121211222122112122112222222221222111212112112222212121222212121211221221122122111211212112222211212122222121212112112112121221222221222122211121211111212212121222212111121212221121122121222112211221211212212222112212112112111122212211221211112221212122212121111122111212122222211212112211111222211212221222222122221221122221212112222221221122211222222112122221111111122122221111221222112122111122211112112111211221121121112211212222221212222112222122212112212111221212222122212121112122122121112212221112112121112222212112111221222211112211212222112211212212211111112112122112122121122121121112212221112122211122212112221212112222121122121111121121111121112212121112111111222212122122112122211221111211112221221221221112211212221121212111121222111221221221211112212221212222211221112121121122122222112221222221121112221222112111111121222222221122211111121122121222211212222212112121222121122122121112222211111212121211221211211121221221221212211221221112122122111111121222112222222121122222222221112112221212121212122222122222111211112111111212122221122122212221222212112211211121222211221121212222122222221122222111211221122121221122122212122211122222211211222211212221121211222222221211112222212221121211211122212121211112221222121221121111121112221122112111221121221112112212121222212221111122212122221211122221221122221122121222121212111222212122212212211121111122111211222111222121221222121112211221221221221211121122222222122221221222212221221221112121211222221221221121112111121212112222112112121121111212212122221212121121111221122212222211222111211121221221111211122112121122211122111211121112122112211211221122121212112221112211121121111111222111121221121122222221111111111122212112111212211211222212222111121122111221222112221122212112112122212211121122221212221112211211211221212112122112111122122121111222221122111211221211221211121221112221111212112212111211212112221122122211211222112112121121122221211212212112111212221222222221122221111122112222211211212122211211122222121212122121112222211212111111212121111222122121112121221222121111221211221222221221221212211212112211111122122111121221122111222221221211121212211121212221121121211222122112221122211122211221111111221211121121211211221111221111122111211221222122122222221122212212122122122221121121122121212122121121211211111222212121221212222121222112211111212212122122121221111122111122212111121212212121221111221111222211211212111122211222221211111111111112112122212211121222111221211211222122112212211211111122111222212221212222122112221221211222221211221221122122112222122212212111112221112221111112112111212111112122122211221222222221122121122121212221121112211122111112211121222221211221112222221222211211222221112222211222222221221222121111122121122222122111122221212112222221112121112121222211111112221212211222211111211112212212112122221222122212122112121212111121212122121112211122222222122212122222122112222222221122221222121122212112121222211222111211222221112112111122122111111211112111212221121112122122222112112211121211122221222211112221221122222211121211122122122211112122112112211111112212122112212212112211111211111112211122221122121112111122211212122211222222222111111222211212121222212121112222112221222121121122221211112122212121122121111221211221211221222111222212121221211111212212221121122111211121122112212112112212211111111221211122121112121221221111221112222222221211222212212222222121121121111121112221111221222222112212211221121122212211121112122221122121111122122122111222121212121222121121222121211211211211211222222221212212211222211211122211221122212122212122211211211122211122122212121111122121211212222121122222111221212111221111221212121112211122111121121121212122111121211221121212222212112111221211122222222221212121221121222211212111211111211221121112211222212212222212112112222112112121122112212122122211211121212222121221122212221222121221112211122112212121221221222212211212221221211121121121211112112112221212112221122221211112122121112212121112111122212112221211212111222122111212122121221112111112212122211121112221211212221121111121212221211111221121212121211111212222111121222122222222222221211211121111211222222211122221222211221122221221221212121212221111222112111112111122121212111111122222111212122221212122222112211121111211212121122111212221121212121212111211211212111122122222222211212222212221111222222122112111111112212112112212221111222112121211211212221212121122112222221212222221121221222212112211122222221122121222212221112112221211111211222221121122112121221122112112121211212122221112222122122112221112111211221222112122211222221112111121111211122211221222121212212121211212122111111211111211122222122112221122221112212112222222221112112221121212221112111212112111122222112111121121221121211212222122112112221211222121112212221111212212222221122121221122211122111212222211122112111221212122121112221222111212211112121222222112121121221211211222111121211222111211212112121112211112222212212122211112121222111111211122111112111111222221221212121221222121112211221211121121211212222121122122121121212122211121211221111211211112221211221212222121121211112112121111111221111211111111121111112211112112111221212111122221111221111112122221212112122211211211112121112121221111211221122221112122221112211222222222122121111112111112112222211121121112222111212221212212112111211222212112122121222212122212121121112222222111122111122222122212212122211222121212222121211112222211222222121222121111211222112112222212222121111121211122222212211212211212121122121121221121212211121111212111212121121112121212222211111122122121222222111211122122111221212222221112222122112222122222122112222221112212122211121221211122111111111221221222222221121112111211212121122112121222222122122122112211112112112212222122112121112211111211212221111112221211222121211122212211221112221121112212122221111222221112222122222211211111221221221211222122112211121222222122212121222221221111212211212122221221112211112211122212211222122112111121212112122121221121112222111211212111112121112221212221222222221112122122222222111211112111222122111112111222221122211211211112212121121122212111122111212122121112221211121221112111112212222212211122211112212111211112121112111221122211211112211212221212112122122111221222122121121212222121121122221121112111222121211212121222121222111212212122212221121122212122222211221112112212212121221111111121112121212211221111122122121211122222121211111112211211221211122221121122111211121221222211212122222112122111222122122212122121212222111211222122112112222211211122222211212111111212112212121212222121212112221212112212112122222122111222212111221121112111211222122121112111111112111221121122221211121122121122222122112211211221212122111212221122112211122212122212211112112212222221221212221112211112121221222112121212122211222222221221111222211111121212221212211122212212212121222212212212221111222111211221122211211212111221121112112111221211212211221222222121112111111212221112122112222222212112212211211211222122221111111221212221222211122122212111222121212111122112222111111211221211112121112111211221121121122221212122212121212112112212121221122221211121112222122112112122222121112222211221211112212212112221212212122222221122121221121111111122121221221121222112211212111112211112222122211221221222122112111121111212222112121121221211222112212121221111121221222222211211112112211211212112221222222221211112212112122121121211222212121211222122122222112112211122211222212111211111112212111112221212122122122221111111111122212221112211212121222111121121111212222221222122222122121112111121211212211212212122221111122122112212222112221222212121212211121222112222111221222212212211112122211112111112211211211211112122121212212121122121121211212111122112122212112221112211211211112222112211122222122222212221212221111222212222112222122222212121121211122112221212121221111122112212112112111212211221121122221211222111212121122221222212112221122121212212212112111122112112221221222222211212222222221222222112221221222121212122222111222212222222211212221111112222212221211122222121221222221112122122112111211112222222212112221222221222121211221111112221222221211221112222121212212121122212211112121211122222121112211221122212112122222122122222212121222221211122222111221111111221121211212121222122211111222222121211121121211122211211211121112112122211121111222121222121111122111222122222222112112221111211122122112211112111122221121221211121212122122222221121112111121211221121121121111221111121112221112222221211222112222212111111122222221111111212211121112222211111111211211112212111221112112212221121212211121121112122122112112212212111111111222121122122112212111112112111122112222222222221211111122112211212112212122111121221122212221121112112212112122112111112212111122211111122111122111211211121111122122222221111121211121111222221121212111122211222111221121222122111212221221222111211221111221111121112212222112222112211221211212112212211221112121212112122212121212112112221221112122121111122111121212222122122222211112111221221122211212122112111222112222122221122211111211211212211122212212212211121212121112222212212111122111222111122212122211222221112122222111212211111222212211112121212122222111221211111122111211122212222211212212222112221112212221111222211222222221211212121212221121121122111221212212221121112212221111212112222121112112221121221212111121121221112221211221122122122211222211222121211211221212222121222111221122211121111122121212121111122221122211121112212221222111111122222221122112122221112221112222211112121121111222111112121211221212212212112221222222112121222222222111222222222221211122212222112112121222222222222111112221112212211211212122212112212211112121111121112212212211222221221121122221121121121221222212211221122211111112222211221221211121121111221221211111122212122221121211111221121121122212222212111111222222221111112122221222222122212112221212121112121222222222212221112211211221122121221221111222112122122112121111211211121112212122112222112222212111112212112122121121111211112222211221211122211221112111221121222212111112221122221121222112111222211212122221112122122222121122121221122121112221112222222222111121112212212121212111221211221111212121111122111122222121222222211121122212222112222211212211212222112221222212121121122212111221112112122121221221112111111112112211221212221212112122222122212122221212212122111211221221222121211111212121221111111222221112212212222222121121212221111221111122111121222211112211121211212222112211121121121211221211122222122222121111122221211222221111222222212212112111211211112121122211221222222211121111122121222111112222121121222221122122211211121112112212211222111112211221111221222221121221211122112122111112222112112112111212121121222112112212122212121222222121221122112111212222212112112112222222122122212121211112222211222121212211122212112221221212111122112222121112222111221221122121221122212222122222111111121112122221122121212212212211121111222111122121112112112121211112121111211121221211111221111122212111222122121222211212222111122212111212121222222122211111222212112211112121211222211122222212111211212111222221222121111112222112111222221111121222211122221111211222111212121111111212211121211212222122121122221222222121122222121122211221221221111111211222112121222212121212222112121212111122221212212112222121211112121222122112121211221122212121212222112122122112221121211111111211211221112122221212221112211111122212111222221211121212212111221121121221212211112212122222222221112212111112212211122121121112112122121121211222211111121112121112221122112112222112121122212211221212211122111222122212221212222122212222222122221211122222221212112222211112211221222211122221112121122211112122112221221121111121112111211212122212212121222111221222112222111111222211211111111221211111221111212222111221212121112111221221122212111121122121121222122211211122211211222112222222112221112121212211221111212121112121212122112112121221212221122211122221222121221111121212211211111222112221112122211221122122212221122221112212121122212221122111212211212221121211222122212121212211122111222111122212121221221121122221212211211122111221111122222122221221121112111211221222211222122211222122122121211122211211222211222212121122112112211222112122121111121121121221221211212112111122221211222122221112211221221121222121212122212111121211222111222212221212111121122212122211111211221222121222121222221121212211112121222112211211221211221112121222111222222222221222122211122212222211122112111111212122112211222121121211112122121111212122112121222221221211212222111221111112222111111112221121111222111212112111111212121211221221122112111211112222221221222211211122221121222112212111212122111212112111212111211111222212121212112111112222211221112121211122221222221122211212111221221212122212212221222222212111221221112222111121111212112112121112121111221122222212211221211122212112221222111212211122112122221122222122122111112111222111222122122221211212222221221212121221222112222111112221121112112221211221112111122122121221222111222122211221112112211122222122112212111212221212122222111222211121122221112121112222221221222212221222122212122212112212111212122122212111121111221221112211111122112222112221211111212112111221211121211112221222121221221222221222111121121111221211221222112222211211111122222122221112221122122122221221212121121111222112212111221212212112212212122122222222122221112221112112111121121212211112221122121221221121212221221122221211121221212111211221111111112121212221112122121111122221121212221221212112212122121111222121111121122121112221122221211121221221112212222112221121121122212112111222221212112212121121212111211122122221122122221122121221212221221112221111122112122112112122211211212111121112222212212121212121112111122121121111221111121212211112212121111122212222122121222112211111122212122222111222111122111121122222222211221222211122112222111111222122212112122121111112122121111222221212121112221121222211111222221212111221211222122212222122222122212221112121121112212122111112112211222211121121222121222112221121221211122212112221221111112111222211221222221222222121221112222212122111222221122122121221211122212221122111121212221211121212211222222122122122111122222122211211122222112211212212212211121122112211212221211112111122121122111221211111112112112212211221121222111121222212111221212221211222221111211222212211121211111212221112211112212212121211222112112211121221112211111212221211121112211111112212212221121112221121221111112111122221211211112121111221122222221122122221222221122222222212211221112222111222122121121112121122111112212211122221221121211112122122112222222111112111211222221222211221211121121111112211112121121211212211112121212112112212211221122122222122121211222221122211111121211122212221221121112112112122211121112122111221112122122111222221211211221112222122221121212112221111212221211111112222121111211111222112121121221212212121121111222211221112212221112211121212122121222222112121221112112112112211111112212212112221121211222211111122211212122212112122211112121121222112212112112111121111221221212221111122222212222111122112121122211112222121211212121121212112221121222211112212222122122222121112212121111121221211111222222111111222111212212122212122112222112212112212112212122122122212212122112111111121121121122211122111211222211212122122112222212211121222211212111121121212221112211221122221122121122211212212221211212221122111112221122111212211112112112122122212222122122122122212111111111122121221112111122222111221222222221221112111121222111221112112112111212222221121112211122212211222122121112111121212111111211222112212111222221221221122112212111211112222212211112212211111212212111122112222221112122222222112112212112211111221111221112222111121212111221122122212222111221111111112121221111121111112112221111111121122111112112122112221122112112212222111122212112221121111121211112111111122211122122221112212111112222112222122212211121212121112111111111121112221211222122212222122112112222221221111212221122221212211222221222111111221212122111111112122221212212221122111222122112221211212212221211222121122121222122212212221222112112212121212212112212212212221212221211111222122112222122212211111221222112211212221212212212111111212211122212211121222222121222111212221122112212111111222122121222112112121121122111221121112221122212121222111121122211221112122221222112211222222111121122112112222212212112211112112122122112212212212111222221211211112112212121121121112121121111221112212121221121211222121221222212111221122221112222121122212122121111221111222211111211221211112121212122221221122112111221221121221211222221121212111111112222122111112212211221211121211221111121112112121222212121222112211122221112221112111212212112111111111112222212212122121221122222112121211111212112221122112122121112111112212221221212211212222121121211112212121221221111122121211122221122121111121112212211111212112111221122221211212221222222111121211221121221112221212122221211112112212221211221112221222212121121122211112111121121212221212212222221221121111221112121212121211222221121221112221112121222122112212112111221221111122121121211211212222121112212122211121121111111221112221121222112122221222211221122121112122222122211221211212112121211121212211222222122212111121112122221211121112222211212121222212121122221211211121122111112221112121121121221122112211222122222112212211222122221222211112211112112221212111122111212221211222121112111212221221211212221212212221222212122122212112211111121111222221112211122211111112122122122111112211122221211121222221111112211112212211221211222122111111221121121222122122122212221212211121122222112111211112111122222122122222221222122222221122212221111122222222122212122112212212122111111111112111122122122212211222111112112112121122121211112112212121221222122112212121122211222211212211111221112222122122211122111122222112122112212112112111122122211111122211112221122122221211222122211221212221212212221211111122122212211122222122111111212221111111122121211211221111212121121211111121122122111112111122122221221212111111112121122122221122111112122121222111212222111111212221111211221112212211111212212111112121112221121111111221211212211122211112211121122211112121221212111111222111211122121111221222122212222212212212122122222122212121222221112222212212122121211222121111211222221122122112121221121112111112221111211122111222111112221111222221221122221121122122121111121221122222121122211112212222111121222122212211221221221212211121122222221221111112221111221112112221221112111112222211112111112111221211111111211222212122222121112221122221122212221222221112111121121212222122221122111221222211211222221211212111212221222222221111212212212111112212112111221111221112111211122222111221211221221122122111122211211122111212112212211122112121111222222212121212212221121121211112222212222111211211111122222221222111212222212211222222221112212122212111221112111122122111221212121121211112122122211122211122211111112112222111112222111121111211121221122112111222111222112111121121212112112222221111211221211221121121211211112222221212122211111212111112221122122221211111112111222221122212122111122221111211122111121121111221222122122122112121111122221122211211111112122122211212111212121212111221112111211112222112121222221211212122111212112212211212221122112122122112122121222221211111222222221212121112121111222212211122122212112221111121212121222112221211122222122212211212122121222111122122221112112112211121221122211222122121112121221121121112222122122112212121121121222212122211211122122222112221212112112212111212122122121111222212121122111112212221222212221221111122121222212121111122112121222111121222122122211212122222212111112212122112111111111221121112211112211222212211212221112212222121222222222211221122212221122111111212221112112211112212111122221111122111121112222222122111221211122112222112122221221211222121122222211121221111222111211112212122111111112112111112222112122211112121221112111121112122212121221121112221211211112121221121121121111122212121221112221222211112122122112122122122212122111112211221122212112222221221112211222122121211111122111222222221111221221211112211211111111222121122122112222211222222221212112212222111112111111222211112211111212121111212112122112111222112111212211111121221112221121211121211122212222111212112112122221122111211221121111112222112121211112121112112212122221112211211121221212121222222222121121121111211122212222112112111211111122221112112211211211122221221111211112112212122211122111212221211221121121112222211212222222221121122221112212212212112121121112222221121111212112122121221211212211221211222211122221122112222112211221222122222212222121212121222212112111222122221111112222122112222122211211121112121112211122221222222211121211112221221112212122222122122122222111121122112221222121222121111111112212121211211112122222221221122222121221122221112111211211222111211221211112111221221112212211222111211222121122212211112111122122112122222121121111222212221221221112112112212211212222112222111212122211222122121211111211212121211221111212111222112211112212211222122211111221221112112221112112222122211221212221221121121212211222111221222222121112121212122212211221112222111211111221121122212112121112122122211112222112122121212112222111121112211211122221112222222211211221222122221212212122122111121211212122211112112121212211122211212221212122111122212112221121122211121212111111122221212111221222121121111121212221111221121111221222112121122211111212221221121121222111111122221222111121112111111211122122222112121221122122121111212222212122211121211112112111122122112211222212212122121112111212122222122111221112221222222222111121211112122211211211221111222121112212112112221121112121212221211111211212112222112212122121212121211122211222111222122112221222122221212111212112211212122122122122221221122221211111111211112122121211222212112111211222212212121221122221111122212111111211121111212122111112221112122221112211212112221121211221122212111111212211111222212212112111122212121112211221211212122112211212111211221222221221221211222221121122121222111212222222211122121212112112121111111211222121122121222221221222221212121222212122221211121112111112222111212121211112121121121112211121212122112212222212121211111221122221211221221122211211122111221221112222212212211222112211221111222221111222212111122122222222212121112112221112222211121222212222121111122211122112112122121212121122111221211122221211212111122211111221222121112222122111122112212112111221112222222221121221111212222112221111111112112121212112111122221212222222122121122121212122122111212122212212211221112222212222111212212121222212211111122111221212222121122212211121222111112221111211211211121221212112211221122221222122121111111212211211121121211122112121122211211212121212212111121111221122222111121222221212211212121211212112222222122222212111221212122212221211112211211111222112112211111121112122211222111211222222221111122222121112122121112111212221222221221211122222212211212122212111121112111121212122121222222212211221221111122211211121111211121211222212222211221221212212222211212121121212121221212211121122221122222222221221122122221212122222121222111212112212111212211211212122211212212111112212111212211222211221111111212222212112111112121122211122121212111211112112111221221121221112211222221212121122112211221211222212122112211122212221122121112122111111222211211212122122212112222121121112111112111211112121111212112211121112221111112211112221111221112211122211121211112221222121112122111221122221221112212111111211212222122111221221121222212221212111211222112112211111212212211222111222222222221122222222221122122212211121221212112111212121212212112111111211212221111211221121122122221211212222112111211111211121222211212112221112212211211211211221122122122212211222211221122211122211112222122112112121122121211112212111221111212112121222111211222212121222222212222222112122221121211221111122222122111122212121122112211112122211222211112222122212121121221122212222212212121121121222222121111122212211222121121211111121222111221222212122121221222112112112112211211111111212111121211212222212212211121221122221112112222111121212211111112121122222121122112211122112221211122111211211111122211112112221111122112221211212221211212211212222211211111122221212212221121112121222222222222222222221221212221222211111112121111122121212121212121221211121211122122111121121212122121121111212212121112211112212122212211212111222222122222212211111122211121121211221122212221111211122112212211211212222212211221211112211112112121212212222122122211122111112111112122112122211211212111211222111121212111111221212121221221122121221112212111112112121111111111222111222222112211221121111122211111211222212211221212221122211222122212112212211211112211112111212122111121211112221122121112221222121221212121222122222211112121221121211112121221212112111211222122121222121212212112221122111211222211111122112211121121121221121111111222112111221211211211122112211122122121122111111122121211111211122212212121121221212111222112221112221122222122222121222221122222221212121222122222212212112222211212111221211122112221222111112122121221112221111122212211111221212212111112121121222211121221221121122222121212122111211211211221112122211212121111211112211222222111222111222121221112211222111212121211122212221112222112112112111211212212111112211111121222211111112112212121222221222121111112111112111222112112221122121112211122122222111212212212111212121112212211112112221222212212111211222111121112122112111112211112112222112222212121222122121212211222211211212122111222212121222222112122121121222222121212212221212222122122112221212211111122212222112211221222222222221121112112121211122221122222111122212212221121111222221222221212222121111112121221121221221211211122121121121112221222212112211121211221111221112222212212222121222212111221111122121112211121121221211211221221221211211121221222112222121211112121122221212112212211211221121211211222112122222221222121211121111212221222222112122122212221211112221222112122221121211222222212111221122122211221222122112121122121112222212122221122211111211112122112211111212111112112212221212122122222211211211222211211221211212121222211222121211122211112112221112211121112221212111122121111221212121211111122111221211211112111112211212212112222221211211212212112222112121122211112122222212221111111112221112222111222221112112221211221211221222111112221212121222121212121121221221212221221212221122211211221121222121221122121212122222112221221212221111122121211221122221112211221111112111112122122121122221222221111211212122121212111222211222212212121122222222221211112211211211122211212221112222121121211221112221112222211122111222212212122112212121112211111222221112122121212122212111211211112112212212112112221122121211211121221211212121211122212111211112121121112222111221111111112211111111111212222212221222122122112212221121121221221111221111122121121121122122212212222122212122112112111111221121211121111112122121111211122112211212121111122222112221111122211221122221112112122211211111121112222211122221121122222111112122212121222211222112211121122111222111222112211112212112112112112121211121212121121112221211222222121221122112122121221122222112221221212221211222211112122221222212212122112122221112121122222111222222222212222112222221121111211222122221212111112221222211211212121121222122222111122212111112122222221211122122222221221112212112122122111221212122112111112121221122221212221111122111212222212122112221111211112112111121112211112112112222121112221222121121122212212222122122221221111222221212211121112211222122112212221122122111111121112222121222212222212111222122222222122121222122211112212222221212122121212222222221112221212212122121221222121212111122212112212212112111222121212122222212211112211211111221221222121111212222121211221112111221222222112111112112111111222221211112121211212212222122112211212211122121122112212221121122111211122122222211112122211211111121122112111222211111221222112222211112222212221211122212212121221112221212111112221122122221211112121121212211121221211221121111222221212121111221212111112222221222111212121122211222112122221111221121112112112112121112121222222112121112111122122112122212122212222212211121221211121221221211221121111112222221122112221221121111222121212111212221222222111212122112112122111112211121112222211121222211111121211112211211111111212211211211212121112211121112221111122211212112222222112221221122112221112211212112212212122222112221221221221212221221121222221112221222222212111222222122121122221221122122122111212211212111112221211221211212121221211122212212112112112111122211122221121121112211112212112122221212211122212111112221221122221121212211121211111211111122112212222122211111211211222211122211221211221121111221222211221221121111221222122121121212112121212222122121111112212122111122222212212212211111111111211122222222212212121112121212112111122121111122221122221211111121212122111212222211111221112212111222212211122211221222111122111211122111112221111212122112122221212121222111221221122222222111212211211222121222111122211222121121112111112221211222112222222112122111221211112211221122122222112111221222211212121111111212222121122121111221122221212211222211211212211111122211221221112112111211211212222121122122211221121211112211122211111121111222212221221211121221121112212222112111211221211212111112111222212222121122211211122222111122112211111122221212222211122121121222212122222122121112221221111221111122122221221122211221221221111221121211211212222111111222122112211121111121211111112112111212122122121111121211112111122112211221221211221122221222212121122221121222112211111112122111221222122212221222222212212221212121112112221111211121211111212111212222121212212222211112121122122212121122112222112222111112112111222221112122221221122112112212111112222121212121121112212221212211112211221212121121111111111112211122221121221122212212211111212211122112111212222111121111212112221212111112121211121221112222122211121112122222211121122211112211221121121111112221121122122222222122121212122221112111111112211222212121112221111111121121222111211211112121121211111121221222111211211111211211111121211112111222222211111221122111222121211112222112111112121122112212122221121211212222221122122122222121121121222112112112121122111222211222121221222212221112211211121221121111122122111122122111121211111212111211222111222121212221212211122122222222212221211122221122112222212111122212122112211122221121122111222221212212212122122212221211212122221112212222211122121222122112111212112122112211122111211222211211121112211211121112221112221112122212122222211112211221212121222122112212222112122112121121121121211221111111211112112211221222212222121121111112212211121212212211222112222222212112211112212221111211111112211112211122121221212122122222121222122222112111222212112221112112122112121222112112212111212122222111211212111222222211122221211111211111122122121111111112112222212212212122122212212212222122112112212112112121112122121111222211121122122212111212221211211112211212122211212222222121122121111111111112211112122211121122122222222121122221221121111211221222212121122121211111211111122211211121211222222221211221212122212112121222112122211212211221112121222221112211121212221121222221221222122112122221212222212212221211122111111212112221112222221212211111112211212112211212212222111112122112111222111211221221111112221222212221212122221121122112122221222221122221211221212221211122222121211112211222111121121211121111221122211211222111222112121112111211122111212212121112112111222212112212221122122211222212111221112222212111112112121221121221121122212112112212112112111222111222121212111112222112222121212222112122111112112112121121111122112122112112221111121211111222212212211211212122212111122122212112222222221222211112211122111111122221211111211111112211112121211222221212211122111121221121221212121212222222111222112122112112211211121111121221112221111212112211111121212112111111112222111222212122211121212121111211222222211121221111121111111121112122212212211211222221222121112112211221111222222111112112211221221121122122211221211121111212111211222212222221211111211111212111121122111112112112212121212221222111121212111111121212111211211121221121111211111121111211222212121122111221222222221111222221212222121211221212111221122211111112111211211111121212111221221112122122221111121222211212111221121122222112112211222212112222111121112221222121212111222121121221211221222122221211222221211122211221222112221121222122121112211121212111212112112221111121122222111122121221122122211222211122211112111112122221122211122211212111111212222112211222222211111212211221112212211222221211111221122212122121222211112212221122121112111112121112111221111211122122111121111111222112121222122212221122211221222221211211212212221111222211211212122122121222122222121222211211111122112212121221212121122112221211222111111222222211222112122111111221112121122221221222111121122112211112122121212211211121122211212121211211211212222221112122112111112222122111212111122212122111222221122111122111122211122222122112211221112222111221111121221221212212122121112222121112112112211111211121222112212122122212221122111221212212112121212211222211221222112112222211222221211222221222111111221221211122221122212121121112122222211122121112222122221211212111121122212121222211112211211122212121222112212211112122221122222122111212112112112211221112221122111112211121221221112122121112121111121211121221212211222211222222111121112221222221122121222122112111212211212122221121211212221212111211112111111221121122112212111111222121121211112211111122112212212111222122122212111221212111112122121112121112112111112221122111211121222121211222211121212221211112222121222221221221212212112121122212121211212121122122221122211111122222222212111221122211111122111221221212212212222211112222111211222112112211211121221111212211112122112212121221112112121221111212212212222212211121112112222112221121111222121212222122111222111122212211211211122111212121112111112221221221121111111221211221221212211121112112221122212222111112212122221212122122112121222212211222222222222112111112112221121211122212221121222222112112212212121212122122122111111222121122112222111221122121122112222111122121221122211111112111122111122221222222221111222122121111112121222111212222212212222221222221221112222111221111222111212112212121211221222111122111211122112112121121212222112221222211211121221212222212211122122222211111222222211222111221212211222112111121211122222221122112121111222221212221221212221112211112222212221112212121221112221222222221222122121211122112211111121221121211111211122212211211111122211222211222111221221112222221222121111221221221211122121112121121121211212112121221222212211112222211121121221112111211122212122221222121212111211212211211221122221211122212121122211111112121121111222221122122211121222211121121122212222112221212222211122221221211121212222122221112211111111211212112111112111121111211212222112112212122111111222121121221221221112121122122111112221122122121221222211122112211122112121121121122112221221221122112122212221221121211211121121211222111211122122222221221221222121112112122222111222111211122121222122122211111111111222112111121211222221121211112222212211212122222211211111222221222221121111121212112121221222111122221212222222222211221222212111221111111211122111112112211111221112212221221212112212212122111212112212221222121122221222221111211121221222222111222222122111222221121221121212112111212212111122121121211122212112212221111122221221212221221121221112111222211212211221222112222222212222121222212122212222212221122111211112222111111212122221112121122122111212111222112211221122122211211222111211112222222122121222222111221222112221121111211121111111111212221221111112121211222212211221222122221221111222222112221111122211122212121212121121212211221211212111211222222221211212211122112221222212122212221111211212112222211222122122122112111121222212221111121211121222222121122121222112122221122111212211121122222222221112211122221111211221221121212112222122111212111211212211111121111222212122211211212121121121221211211121211222211212122122111121121122111212211212111221122222121122212112111212221122122121221221112221122211222211121212212111221121111111112212112112221221212222111221122121221222111111222212212121122212222111112112222111121122112212221121222121121222222211222222122211212122111122111221121212112122111212212211211222212222221222122221122122111221212211121212121221112121221221222112121112112222111222122112222121122111212111121212111111212212121212211121221121111111211222111212122111122121221112212111122122112122222112112221122112211112122121122221122122121111111111212222111211211211211212222112212212212221222211212121212221212212221212222121122121221212212121211111121112121122112121121222212222112112112111121212212212211121122212122212122211121221212121222221222111121211222111112212222212212221222211222122221122211111212111221111222222121212222111122121222111222121122222121211222212222122211121121211111222122122112121111122211112221121222112112212211121222212211212212211211221111221111221121112112222212222112221121122111122112212221112111221122212122121112211212121122111221221121222122112112221122112222112211112212222222112212212222222121212111112122122122221222221222221111111211121211211121111212111121112222121221122212112112112212222222221221112122122111222221112112212221221222221112222121111222121121122111121222121212112221111111212112122121112111112121112212222112222112112112212121111211111211221121111212112211221212221221211222111121111221212211222112211212221212112222212222121111222121212222221111222211221211221122122112211122122122221211111121122112211221122212221122211222211112122122211122112211112212222122122222221221122121112111211211222221112112122221122111112112212121222222112121122122112221212211121222212111221211212221222122222112221222122111212112112222122111221112122121112111112111111121222112112111221221221221111222221212122112211111212122212112222112212222112211212221221112111121212221122111212221212211221112212122221122211121111222211122111211111111111211122211222212222111121222211222221122122111111112212221221121222121122212211211211122111222221222221221211211221111122111222222222121111211112212112211111212212222211112221211112211111121112222222122221122221112122222121112111121222211122212122222222112111121111221211212221121121121222122211122222222121222112212111211221221222221221211222212111121211121121122112121122121222121122221211122222222111221222111122211221111212122121221112211122122222221122111221212111211122111211111111112112221111111121212212212221222212222111111121212122112112222121121212212211122211211112221111211122112211122222121212222122221221211212111222112212221211212222111222212222212112222221111121121211211211111122211221212112112211221221222221221112222221122122111211212212111121121112121122112122121111221221122221122121211111211111122212111121112211111212211212122122121112121121121221112212111111122122222212122212122222221212221112122111111121211221212221211211222212112222111111211222111111222222212222121111111111221222121122222111222211122212111122222221122222222121122222211211221111111121112222122122111112212212122221122121121111221122122222222222112122221222222121211221221211212122122111121222122112221212121221221221211222121122212222111121111212212111122121121221211221112221221222111212212221222112222222121111211221212221112121112211222221221112222211211221221222111121212122221221212221121122212122211212112212222212222111122122212111211212221112222121111222211122211112221221212211221212221221112121122111122122111212211211112221221112212211112111221122222121112211121111211212221222122121112112122221221122222112122222211122221121222212122122211121212221111122211121111112112212111122112121111222222212111121112121111211211222112211111111212111212221221212211211211122212221211122112221211221212122121221221211222221211121111122112222111111222121212222121212222111111222221122222121211212221221112222211112112212212222122212111121111222111211212111111121211212112122212122211122122221221222222211121212212211212122122221121122211122222112112122112111112212111212121221211122211111121222222222212122222222111212111221221212122122212111221112112111222112211211112111122122112222112121122221111111222212121221111211212221121122112212121211112211112222112211211221111112212221222211122122121121222221212221212212221112112112121221221112211211221122221212122112111211222211222122211111222211121221211112222122112112221222122211111112121221212111211121221121222211112212112111111111222211112222121212221211222221212112212222122122121122222212112222121211211122221122112222222121122221111222221112111211222212222212112122221122121111211222212221221222221112121211112121122111221211112222112221222122221211121112121111212212212212121111222212112122121212222221121111111212112222212222211211222121112111121222121112122211112121122212122121111122122212211122222112121221221211222212121111211212112121111112212121212111121121222122212212221222122122212222211111121121221212211222222122212111112222222121122112112211222211112111111222211111221222111212111111121221221212211222211112112121111211212122211122112221211111211212222212212212111111122112211221122212212212112112122211122122122122222211221112222121211211111211221211121111211112111212122222111221112211212212211122221122221112121111112122111122112211221122221112212212112111111211211121111222111121211222121211122221212221212121112212111211111122222112222112221112221221222212111112212121112211122112212211122212212121122121222211112122222121122222112211121111122212212222112112121111212222121122222122211121221211222111211111222122122122221211212211212222211111111121122122212212122221222221121121111122122122221222121112222122111221121111212111112121112221211121121122211222122211111122212112121112112222122121121221212111112111121121121222121122112222111222112211122112121121112221211221111112122221111112212211212112221121222212211212211112221212121212112112122222121112222221222211212222122222112211121221122212221112212122112112222211221122212212122111122111212221211221112211221122111221112222211121122222211221111211121122211121212112122221121221211122111222222211222111221211121212121122122111211222112112121111211122212221211211121112111211121112112222121111121222221221112121112222111212222112222212222221121111221222222211222222222112221221122211122221122121121222112221222221122212122211212221212112222121221221212221112222211222122211211221122221111122221211122211122122212211222111211122211122211121212111222211122222211212221211122121222122211211211111222211121212121211121111122222111122122211122112112111112211221211112111222212211112121222111122121211111222212111112121212121221211221121221222212122121112222222121221111112222111212222121112222222112212221212122212122212112122222112122112211121212212221222211212212211211112122222221221221112112222221222122112212111121221121122211221212122222221222111221211112122222121121222112222111121111121121222121212111121222122121112221221212122212121122222112121112211121221221121211121122122112222122221211212111222112122222122221122212212111221211111122122221211212112112111211122211222121212112121221212212111211211111222212122121221211111212122211221211221122221221222121112121221112212212212222212212222122222122222121112211122111112121122112122121211222112111221122222112212221221222121111121212212212211221211222221211212121122112111212112211121221212212221222211122212221222111122111121121212211121212212122212211221122111222222221121222221222222222122121212212112112112222222112212222221122221111122221122221111112112122122222121221111112212211111222122122111212121112111112111122221211121222112221121221111212211112112222221221111221122221211121221222211112222112212121222122212111211112121222111212212122221111212112221112211112122211221222212221112221121221111121212211212211111221111111212211111212112122212211121212212212121212122212112211111212212112122111212111111222212212121221122121112222122112122122112211112112221122112222122122211211121122121112212121222211122222111211221112212121121121211221121221222211111211112211111112122111121212121122122222112111212222211212211212221122122122222112211211122212112212122112112212112221221212122112211211122221122212121112112121222221212212212111221122222111111211121111221221212121122221211221121212211111112121212222221121212211122111212122211222222122122212111222222221211212211121221212111122122112122211211212111221121112121121111211111221221221122112211211121211211112121211112211212121122122112121112222211122221212122111122222121221121121121212112221212121221121222111212112221222111211111121212121112121122222221212211212212222111212121121212112211222112222212222111222211211221121221122221121111122111221211122112122221221221111112121121222121212111121222211122212212111112121121222212112111121122211221222122221221211221122112112121221222222122221112212121211211112212112122112111121112222111222121221122212122122112111112111211211112221121222211222111211212121212112111122112121211122212212121221212211221121221222221212111211121211121222111121111212121212222121121112112212221221112121222121122221211122112211111111122111111212221222111212111121211112211122221221121112121112222121212221121112122112122221212122211221221112122112111122111221121211211112212122112122111111112112212111221222222222112112212121111122111111111212222222121121122121221122222211112112221111121212212211211112112111122122211112222112112112111112121222121211111121212111211111222212222111121112221122221212211111112122211112211121122121211112121121211211111222211221222121121221121222111222221122112221121112122112211111211121212122111121221221211122121222221222211111222222222121212222112122212122121122122221112111222122212211111222211211122122122121212211111211211221111112212122112121222222111122222221122112121112112112122221111222122122121221212222122121111222112121212212111111122222222222212212121121111211211212212222111212221211121121222122112222112222211222112111222111222211221211222222222111222112222111222121111111111222121212211222222212212221222211112222212221222122222121122122111211121212221211212112111222222211221221211111121111112221112111222212112112111111212112122111112211121112122221122211121112112111122112221212221211212212121221222222111112112121212222222112212212112222211121212221222221111212221112222221122222212121121121112221222212122212122122112222221112121212112111222221111112122122112211112221222211122121222211121111211211211211112211121112222212122212122221122211211122211222222121222222121111211222222221122121211221111212222122212122122112222111222222122122111111211121112212212212211222222121121212212222112212122212122221122121112211112221222222122211111112122121221122111121212111222121121121221212121121222112121211112222221221121111112122222212111112221112121221112111112221222212221122212212212122221122212122222222122221212212112122221221121112222121122122221211222122122111212111111112221111122211221221121212211221221222121122222222112222122111121212121212111221111222121121111111222212111121122122112111112122211112111122121121111121212211221212122212222112122221221121112122211112122221211112221122211211222111222212222212221212221112122112112211212111212122212122211122222221222221222121111112212221111212121112212211121112112112121111222221112221112122211222212111122111111112221112111222121211211211222222112221121112111111112121212212212111122112222222111211222121221111122221212111222111122112212211221111211121122122221221221112212111211212121221212112222121121111222222111212111112212112221211221222212111221212212212121121222211111212122211211222121122222221211121212111122221222222112222222212112221211221212122112122122212211212111212211122111111212222212211221111221212111112211111211111111111222122112112212211121112111121112111211121221221112221221121112222212222221112221112122211221121222122212111111112212111211112221122122111121122112211111112112211112221112122211222212221221122221122221122221222211212222221211221212112112212112111112221222111111211212212112222121211211211112212221212111222121121112111211221222112111122222221222112111222122122122121221221122122122121222222111212121212212211112211112211122111112222212122121112211221122221122222111222122122211111211222212121222222212222121221212211122212221211122122221112211222111222212222112211222121222112222212121111121122112221112112122112121222111211221222211122212211122112122212121212122122111212222212212221211122112221212111121221211212212111121221122211212121121112111112221112122212112222221121211111211222221212112112122211111222112111122212212212212211221122221121212121221122121222112112222121111112222112211122111222111122111121211112221222121221211112111121222212111122211122122222111122121212112212211122112111122121121221111212221121111211121212122111212112121122121121221111121222221211121122121111112221121122112221221211222211222222222112112221212112211211111112222121111212122221122121212222122121212222121122221111111222222121222221211222121211111121211212212221211121121211122221121211222111222211211211112121121121111212211121112122212222121121222112211121211221112212212111212211122221221121212211212212212112122221212222221221222212221111212211222222212111112122211221221222121211111121122221222111121112222222111221112211121111122212211212211122212221112122122211211112221111212112221212122112212111212111112211212212122111211111211121211112212111212212211121222212221211222212221112111211211111122111111121221122222221211211211112121112212122111212222211111111211222121112211212211221121112212221211222222122211112211121122211122221222211121212222111211212222221221122121221222112221221222212121222111212111222211222111211112122112121211121122211111222112221212122222121212112222212221121111212122111121212122121212211111212122122111211111212221211112222111222112121111221222211112221212211211222112221212211121221222221111211212111111121222212212211112221211211112122122211122111212211121122222111212211212212122211122112111221221122211111222212112222212221121212122112122111211221212111212121121122122212221211211221222112121122212111111122222122111121211222221112111211211111122222221111111212222222222122122222221222222111122211222121121212111112121211122112212212121212211211222212122211211211121111211111112111112222121221121221212121122221111111211212121122221112222222111122211122122212221122212111212122122222212111212222122111112111122222221212112111121221121222211122221221122121211222111222211221112212222112112111111112122212212211122122222112111122121221112221122122122211222221212221121111122111221211221111121111211122221122211122122112212111222212121222122211121222221111221112122212122212212211221121112221211211112122112112221221211222121111112211222212122112111122221122212211212221211111221211112221222122122221212111222122121222121122212212122222121211212111121112122212121122121211122111221112212222211121221211221222222112211222112211221121121121221221111111112221122211122112111221111222122112122122211112211122221122222221121222111121112122211121211222122221111212122211122221212211212111121221211122112122211222112122212212111122112111122122221211211211121122112122122212222112122221211222212222212121221222211211222211122211212122112222121112211112211221221121212122212211211122211221212122212221211211122211222121221111122112111221111122111112121221111122121122122212112212112112212122112112111111212112111221112121211222211212221122121221112112211222221112212212212111121112212211222222211111211212221122122112121211121121112222122121122112122221112212211121222112122212122222221111112222211221112122112212211222221112212121112122222212121212221111121212121122112121211221112221111222222112122112221112121112222221222212211211121211221211112111222222112212121222212221221122122112121112222221221212212211111122221112221211111222211111121222222112222212222211212211112211211222111212111112221221212122122111222112211111122221221221221112212211111211222122222112222222221122112122211222221221212121211111122221122212121112112221122222112111211211211211121222222212212122222211122222111121122212111122211111122111211111212122112121221111111222122222111221221122211122121112212212212122112122121212122121112122221211211211112111121112211211222121122122211111212111112222222221111111222112212122112111112211111122222212222111211211122222221222121211121122222111112222121221121122221121121121112212222212111121222212121111221122121212221112222112212211221122112221212212212121111222221222122112122122222211112111211112222222121221221212111111211221212122212121211212221212221111112221121122122222212121112212211212121122222122121221122222112122221212121121222222222121122222121211112212221211222121212121122111122122111112211122112112221112211111122121212222112111222211112111112211111111212221212122211112121222211211211112111222222112221222121112122112122112112221111112221111112212212222111212221112122112121211221221112222211222212222122121211212112211122112121221121121212112112221122112212121122221211121211121211221212211221222211211222212122222221122211222111211211112121121121112111122222121212212111222211121122222222121221121122112222112122121211121221111122212121111221221121222122122212111122111112212112221221212122122211212221221121111211121212222111221212222221222211111212221221211222221112211221211212121212121111121112211222221111212211121221111122122212111222211211211221122212221122112211111222111212111211112112222112222221212221112112121212112211112221111112222121122212112112211112212111211121111121212111211112222212222111122121221122111221211111122121211112212112212222222112221111212121212212112122122121212212111122122222222221121112221111212221121112211221111121122121112222211212212222121122121222211222112222221222221122222111222121111211222221121211112222211121211212112221211112212112222121112211211222221212212111212212222211112111222112122212211212121221121211121212222211112222112221211112221212121212122122121212222222211212112221121111222222212122222212122121222221222211111211111121212212212111222121121111111222112121112222211121112111212111211211211221211211121111122211112222212211211122112212121221222112122212112122211211111121121222112221122222221212212212111212222221111222212112111211211222122222221111111121121222222212222212121222112121112212111112211122112122122212221121121111112212111121212121121112211121111221222211112212211212212222221122221222222222121111221222212111222212121221221111111111111111122212222212121122211121112111122112112122112221222121222222221222212222221111221122221111211111122122122221211212222221111111221222222122212111122212211121211121122222222112121222121112111211211221111211112221212211212212222121222212211212122211211212112211111122222111211221112221121222121221212212111112221121111222211212221211212211112122211212222211221121122222111212221112222221122121222222211112221222212112112212122111221121211111122121222111211221112221211221111121212112212211211122122222122222222211211211111221212122211222212111211122212222221121211121211212221112212112212112121111112221121222111221122122111121222221212112221122111212111122212111112221122122212122221222211121211211211212212112212112212211222211121222221112211122221111112121222111212121221122122112221112111122212112222212121211222111211211122111211211112112222211111221221222112121122122222122112212122211212211121112212221112121112211221112112222111112222222121221222112221122212111221211122112111112211121121112121221112122221222122111212222121112112211111121112112111111222212212222221121221111112222222122122211122221221121122222212112212122211121111211221121221221222122121212212212122121221121112122122112211211122212212122121121121112122111221122211221211111211221212122112112122121122122212211211122121121111121222212121222121121112122212111111222112111212212211222222122112121111111121211212212111211111212112121212221121121121111111121122112112121212121112221222221211122112221211222221212222112121112121111122222222212112112221222122222122121221212212222112121112221111222112112222121112122112112221112222211122212221222211122211111122221212221122211122211212212121221122111212212222121211122222221121122221222122112121222112122121122221211122112122122222111222121212121221221111222122122122212222212222111211221221222122212222121212221212121122112121222121212111211222122111211221111221221111112211122211112212212222122121121111211212222122122212111211112111221211112211111222121212121211122212122221112122222111111222211222111212111222212122211212122211122111221211212222222222221221211112222222122221212111211211111122121212112211222112111212121212222221211112212122112211112212112211212221111112121112211112121121212111221122111122111212212122121122221111222211211221112112112121112121121112122122211121221222212111111221221212111212211111122121121112212211211212112112112121121121222112211221111211122111121212122122211112111112211112121122221121112222222121112111221121222111122211211211121222121112121121212122121212222122122112221222111121212221112211111112212211121121211112121212212121212111221221121211122122221121211211121112112221112212222111111111121212112112122212121122221111221221221211111111222222222122212111121121221222122122121211222111111221212121212121111211111111112221222221222121121221112222211222121211112221212112122211211112211122221211212221221121221212121111112111112222121212121121212122222221222112112212212211222112112211222212212221112211111212221121222211221221222221212111211121122212111122221112121122111222111121121122221111211221221211112122111222122121221211112121121122112221222112111211212222221122111111221122112222111112111121212222111121211222211112212112122112212121112222212221122222221212111121111112122222111122111121212221122222222111122211121221221112122121121111222121112112211121221211121121221212122111221211222122211221122221112112222121111111222121112111111221112112212211111111221121212212222211221121122212121212222122121112111121122111211221212121121112112121111112112221111212121222222112122111221221111111222221121111122211112111212212112121221111111121221221212222111222121121212221221212112221212121121221121212221122222122122122122211222221211222121221111121112211211122111112221111111211211121121122122221222222111112221122212221121112222221122121111222212211121221221111121221122222221121121212212111112211221212212121122222121122222211221211121221121222112122112211222121211112212121111111211111211212221211121121111111212222211211122111212212111121211222222221112211112121111221222111122112121221212111112122111222211221121222211111111111221221122221222111212111121122211112212221122222121112111121222121212211112211221221111212211111211222222111221121222212211221211211211222222111212212221111221112221212212112122221111212112211211112211122112112122121122211112111122111221112212221111121111221211121212222112122122221121211122221111112111122112111111111221112221221212112112212212222122112222122221112222112211221211222221111111122111221222212211211212222211112122121211122112111111112111111111111221221122121222111112212112122221212112122121122211212212211122211221211111211122121211112121211221122112211111212211211222112212111112112221212122111222122121212111211211221122211121111221111112212212111111212222222212121221121112111212221212211111122221122122211122221221222112122112211211121111111222221222222211221112212221212212111112221122212111212211211112112211112112211212111122221122222221121122211111212112111212222111111111112122112212222222112211212122121112211121112121121212121111122122111121121222111221122111121121112222122112222121211211112122111211212221122121221222211221112211122121221112112112212211222121112222212221112122121222111122221112121211222222121222212211111221111112122211222221212212111111211122111221121111222212122211222111211112211121121222121111112122211211221122121111221112221121211221221122222111112221112221112212212112122221211221212111111122122211111221221221221122221211112211221112212111111211121122122111211212121222222111212122222221122212122112211221112212112222111212121222212211111121111212121112111211112121221122222211222112112212212211211212211212112211212122121222121122122212222211122111121111221121112112121112112122211112112111212211211111221222111211222222212122222121222121222122211222221212212212211221221111112111121122122111222211111111121122122122111212122111211211111121211122221122112121112221221121112112211212111211212222122221212221211121222212122212211212212221112122212221211221211211211212121221222121122121211211111112222112121222222212212221111121112112112212111122111121221112211121111112112221122211222111211112212222112211112121212212222122221121222122222211212221122221221212112222121121122122211211222121211212211221122112222222221121221221222222112212121222122211221121121112111211212112121212221122121211222211121122221221122122121212121121122111221121212211222112212222121212221121222221122222112122122211222121121112122111211211112112112212221212121122221212111212121111121212211112122222112212111121111221112112122112211122222111122221221111112122112111111121221222121111112211121222221222122222211221112122112111111212121122211221221211212112211112221121222111122112221222222112222222111112211222221111122121111212112222221112121221111222221212122221222112222121122211222121122121122211222222112212212212111122111121111221111211111222221222211222212222211211112212111111111212221222121221111211222112211121212211222112221111222111112122121111122122212112111222212211111121221211211221222122122122112122121111212221112112121211122112221222122222111212122111222212212122112121211121121111111112212211221222112222222111211122122221112222211121221122111112112211121212221221221121122122212212111222111222121112221211121121211211122122111121122211221221121121111221221121222211111221121212211122121212212121121112222211121211121122222112222122121121111112121121221212121122222221112222212212212221122222111221212221212121111111212111112211222122122111222111212112212122222122221212221121121222121122121122221212111111221121122111212112122112111112211211221212112222222212112121222121221221221122112222122212112211122112112222211222211221222121111221121222221212112222221121111121111112211211121221212221121122112112112222122121122212211222222122122222212212111122111212212222221221221112111112222121122211111112112112211212122222211112211221112122111212211222111112212222221212112221112222222122211222221211122221212111112122221111122122121111221211112211112222211112122121221111221111122122122122122222112221112122111222212221121221121112121222111211122121122111121212222222122221221122211212222112111122122111122222112211212112121212121211221211222212212212212212211121121111122211212111222111121211212212221112121121121212212122221221222221221122221211122122121211121212112222212212121122122212122121121221111112111112121121112111222121111212111112211211121211221221111122211212222221122121112112111221211112122212222121121221112121222221112111121121111222112111112111221221122112212221122122222111211122212222111111121111212211111121222112111221122211221122122112122212112212212222111212121112122221212122221122222111211212222221121122121121112211211222222211222222122121111122111212111221221121111111212211122112212112222122211121211221211212112212221122221212211122212212211122112211112221222221222212111211222111112112221222222111212121121111221112121121212211122212111111212222222222122121221222121221211112212212211111111222222111121212122112212111211222121212211222222222121212122112221211111212221221221122111222221212111122212122111212121211122121122212222211111221111222211212211122121121111122111221212111221122112222111111211211122221122211111111212121112121122112121222212222211211111222121112112121222111112121112112222211121112122221121212211112221221111211121121221222111211212222212111122221112211112112211221122221211222211222121221212121212211212212211212211122111121212121121212221112222122211122221222111111111111222121122111212221211221211212212111221112111122111211112112122211121112121212212112222122222211212222222221222122111221221221211211221222122121121222111121211221222112122111121112122212222122112212112112222221111222222112221122121112112211211122111112121121222211112121221111211122122111222121122122121111212221212221211122121211212121122122122122111122112111222211221221211111121121211111122121212122121222212222221122212211211212211122122112111122212212222222112221122212111212212212212122221221212112212111221122122111211111212211111121211221112211211222221112222121111221112122211212222121111111212112121212122211111122212212111221212211122122112122112212221122222211211111121221222111122122121222212111221212112122222222121122122122221221112121211122222222212121122111122221212121211211121211212212121111212212211212221222211111121121121121222211121122222111121222212111111212112122221111221221121121122212111211221111211112211221212112222121122222221212122111212211221111212221111211121222121111122121121221111121211222211222212122112122221122111121112222211122221221111112111221211112211222121212221111222212121121222211111222121112212221221221211111212221212221112111121211211222212111121221212112121122121111212122222222212121111221122122211122122222221211221122122212222212122211211221122211121111111112211211221111221211212222222121212221212122111222212211212211121121121211112211111122222111222111121112121222112221112112222221111212212211222211111122111112222122211211111112112222222221122212111111212211112111221111212211111111211212212122211222211122212222111112211112112211111222211122221122112221111122212221121221112212112112121111221122221212122111222222121112222112121111112212221211112221121212112111221212111212111121122122122112111111112112122212212122211221111122122112122112122222222221111222121122221222221122112112122111211111121211122111211222212222111121221211122122112221222222122221122222222211121121211122111221212221112212211221121221122221211222121212222112111112122121222111222111212122212211222212121111212212112121111222212111221112212212111212122211221112212121112211211121211212212212222212221122221222221122222221211111122212222122221122122221222121212212222221112222212121122121121111211222122211221122111211221222112121121221221112221221122211212222112221212212222112121122221112222122112121222121112211211122221221111222112112111211112121211111222112121211222212112111111122222122121122211222111121211222122112221222211112122221122212112122222222212122212221111211122111222112112211122211221112121112121111112221221122112122112211222112221212111112211111212212221222112211221122222122112211122122111112222121211111211112212211221221112111221211221122111211111121211121211211212221211111221121221121112111222211111111122222111211111221112222122122111222122122121212212121212221212222222212212111212122222121221121122112212211222112121221222122211211111211222112111122221221122111211112111121222112112112112211221221211222111211212111212121211212211121211122221122111221112221212111211212211112121111212121121112212211221112111211111122222211111122211211212121121212222212222222221211122222212121222211212211221222122221121211212221122222211111111111212111122212222121111111221122121111121222122211121222212111111222222211111212222212212111111122212112222111112122121222112222121121221212211112222222112221211112221221221121221111121122111112121122122122212111122111121122111112121111221211111121212222222112222111122212211211222111112211112222121111221211122111121211112221212112212212122212111122122121111211122212121212212211122221212121212121211221112121122121221221122122222211111122221221222112122112111222222221212111112211222112121112111211221112222122211222211122121121122211111121212111121121122222112122221121121122212222222121111111111112111121211212212212221221121212212211111212211212111121111111111121111112121121221121111122112221122222221122222222121211121121222212111221121221121122212211112212221211121121121211212212111212112122112212111122212112221221222121122122221212121112111221111211112211221211121122221222211112222211112121121112211212222122212212212112122122211121111122221212211121121111111121222222112111122221221122122121111221211111121212221111212112122121121122111221121111121112112212222112112112212122211112122111221212121121122212112121111112211121122112122211212211111222122111211221111211221211122222221111221121211122211211111211211222111112112221122122222111212111211211122122211211211121222122121121121122222112221121112121211221211112221111222211211121121211112221222112112121122122121122221222111121121112212112111212222112212212221212112122111112222211112111111212112212112112121111222111221211212211122122211121221222222112111221212112112212111212221111112121221122112121111112211222122121112111221221222112212211221222222111212212111221111211221212221112121212222111211222111221122222221122122222221222121122111212211111112112211211212222211112222112121112112112222222111222111212121221111211211212122222222122221121212221221112222121212211121111222212212211112221121122112211111222212212211111221121212112211221121112222222221121122122222121212222112211122222222212111112211221122221211222211111122212222221212221221211112121112122122121111122211122122212111222222112112222212222212212112212212122212211122121211222222211111222222212222211111212222122221221212121112221222112212212212121111122222222212111211211211212222212212212221221211111121121212112222222122111221111121211222111112112111222222111222121211112211121211111122122212121222122122212111212221222111221212221122111112122112122121222112221112121111121111112212221222212121211211111122121111222212112211111221211122222211121111222111122121122221221112212222221111112111211211212221222111211221212221111122121221111222121221121211212121121121212222112211212111112222121212112211211112112212222112211122212212112121122212221121222212122211212111122121122221222222122122212121212121221212221122212212112222221121211212112111221222222112111221211121221221222212121212221112221222121111121111111112222222222121111222222121122212212211222122211221121111121222121211112111111112121111212221222121212211121122122112221212111212211121111211221122211112121111122111211112221122212212222211222221112211111122221121221221211222121221122211111121121122222212122111222111122112121211122111211121111222112121222211122212122122111122222121221112211221122112211222121111121222212222221211112111211111221212122111211212122212122121121221112212122211122221112111211122122221212212111211121111222122221122121112221222111211111122221111121122212112221212122212111212222122222222111222211121221111111121211221121222122211121111111221122222212212112222212111121122212112121211112221222211221111222111111221121221111121212221122112112211212121112221112212112122212111122222212211122212212221112112121222122122221112212211211111211122212222212112212211112122211221121112211222111221111121112121121221121111122111111112121211112211211122122221121221122221121222112212221121121222111112112122222122211121211112221122122112121111112111212122121122222221111221111122121211221111121112221122122221112121222111222121122122121222122212112221112221111211111111122112121121211111222221122222111112211122221122211222211111222111112112122212222212122221221121211112211211111111112111121111112122112211121111212121112211222221112211221221212211122222221221212212111222221221222121112121112221112111221111112221121222112221212221122111211121222211112222222121111211212112222121121112111212112212122211212111112212222221111112111122222122212111111211121211212121221221121112111222122122122111121112112212122221211111122211221212222122121211111222121212222112121111211111212211221121211112221211221221112221212212122112212111212122212211121211221221122222122222121122212211221221221221112211211121212122112121221211221111111221112122121212112122111211212221211222211121122221212112211222112211122222112211111222121222212212112112122111212211211212221211112221221122211112111122212211211221212222221211122122111121111122112121122222111111222122221221112122222212221111221221121211111212122221112221111212221111112212122221212122211222121211122222111221211222222111212121221122221121111212212112112222112112221212221211211121212121122122121222121222121122211222212221212111211112222111212112112221222212122221122211112121111212122122212222121211121121112222222122112121122122221221221111222211222222121111222122212122211122222212222221221212112211221112211222211121212112221222121121221122111112112221211221212212122212111212112211111222221112211222222222121211222121121111222121111222211111122121122122221212211211211112111121122212221121221222111112122112122121212211222211112112112112121121111211222122211111222112122212122211111121122111221111221121121212111211211222222221221111211112112222111121112122121222221212221122112111211211121211211122211222122112111212211222111212211122122112111222122122222212112221111212222212221222111121212211121222222222211221112221211222211111122122212122111122111111112111122212111122222121122212212112212222122211221222212111111122222111112112121221122111122221211112222121212122122221211211112222211211211111222111222121212111212211111122212112212222222112211212111122111111211221221221221111112212121222222112111221112122211111121222121122212221222212212122112222212111122222212211212112112112211221222122112112122221122221121122211111221122222222122121212122221121121121211212221211112111211221212211112221111121222111111121221212211222121112112111211211211221222121212211121112121212122121121112212111211111111121112111112121211121212112111122212121221221212121111221112221222121211121222212111221221221211112212111221112211111211111212222211122212221112221121211222221121111211211211111221121122221221122222122122112111221121211111121222111221112212222111221211211221122111122122121122121121212121211221212221122112122111222121112212212211111211112122212222211111112111212211212121212211121222121221221211222111221111112221211222111211221222211212111222121221222111222212221112111211112122222211211122211111111212122122211122122221221211121112212212212212221122111221212111122121122222121121222112221122222111212222112112211212221122222111221122221122222112222111111212121221212222111211122221212111222111212111221221221212112212122111222112212212122222221112221122111222111121211212122112112111111111222122122112211222111222111211111111111212211122221112112222211122112211211211111211212121211112121221211211112212122111222222211211212211122112221121122122222212211122222222122212112212212221221212222211221121112211212211211222112111221212211212111111222211122212121211221222222121112221121122122212211222122121221211111211112112112211122221222222111112121112221211222111122121122221211112212222121212112122112121222212112122121212222121121111121212122111211122112112211112221121122211122211222122112112112122112212112112111222222121121121212112221221122222122111212221212211112211212121121111122222111111122222121111221221112222222122122212112122121121111221112221222121112221212112222221222222112111122211221122111221112121121222221212122111111221221212212112121112212111221112122112111112112122112122221111222122221122222212122212211111111112212212222211222221121111222211111211221221212122222122222212222122222221121212121121111212221112211122212212222222211221112212111111221221121211211111121211212212212221222222111122112121121211212222122222222212212221112211121112222121122222222221212221121211212221122212111112121112122222112211112112121112111111221221211212211221222111122121112112121122212221112112212221111112122222122122212222221221221112111211122111212212222211222222111121112222112121122222121111112122121212221121221212221212221212121121121121222111221112122112121211121112111121121212122121212122112212211212221212112122222221211122221122212121112222121212221121212212211112211221112122222212121212122211212211122221111221121122122121111221212121122222222222211222111111122221121121122222222221222111112222122112122112221221211122112122212211222211122121211211111121122211121212122121122221212112112122121121212211122112121221222211222111212211112111221212221121211212112122112211121122122221222121121221122222112122222212121121222112121121211212122111121112111122221122222222111212112111122221211222211221212222121212212212122221222222221111212211221111211122112222122222122121212212121112121211222112121222112221221221122122111111122121212122111211211111212112111122222121211212112212221212222222121112222221121122211222222122221111111212212122121212111221111221112222221221112121112212212112211121212111212121211211111111221121112211211112121121211112212221221112112122112112212211111112111221121211211212222211221221212211222122221121122112112222212111111221111111122211111221212221211222121121112211222112222121222211112122221211222221221122212122111122211221111112222111111122221111211111221211122211111121111221121121221212121212112222122221222211112112212212111221211221111222222221111112122111122222112121122222121212211221212221112221112211111211121111122221212112222212112122122111121222111112222211112221211112111121112211212222221221212121211211221221212122221112211221211111122111211222111212112222211112212211222112111221222111211212121122211111112112212211211111212211211212122211121221111121222212121221112212212212212112212211111111222112112121222121121222222211121111211121112122111122122221212221112121222212121122112112112212112221211111211121122112122222111121122222222222212211212211111121111212111221221222212122211112112111222221111211121222112212221212222122121211221212122122221211212221221212221122211222111212212211212222211211122222121111211122212122121121122211211112211212211111122111212121221112212211122212112112121121121222211222111212111212112222122122222122121212121121111112221112212211211212221211111111121121212111212122121111211212111112121121111221122211221122121112122122122121121212222221122112212111221121112211211222112122112122221222122222221111221221212212121111221122112222112222222121212211112121112211122211211112112222221121121222221222212122211121211111112211122122212221212221222212121112121221122112122121212121122212222122221211221212221112211111222121211121122111121212221121211222111222121211211111111121121212212221222221112211111221212212211122111222212212112122122121211112221122122112121122211122211122111221111121121211121111121122212111222222212222122221111212221111112112212221121111222112112112112221111222121122222122221212211212221221122222121221221212122121221222211122111211122222222222121112122212211211121222221121121211212212121111122112221112221111212221112222121121112111211211122111111121211121121111222221211122111212211122122211222212112222111112221111122221221122211122222211111111122212121122212121221111121211211211111212211121222111122221221122212111222221111211121121222222111222212212121122221111222222122221111122121121111212211112121122112222121111211111121121211121222121121121111112122212111121211112212111221121121111122211112222111221112221211111112121122221212121212221112211222121112212112222112212112121211212121211112121212222112222221211212222211111212211212112211122212111122212222221211222122212112221121212112122211121221121221112211122121212111222111112112221221221122111211122112212211112112221222211121112111111112222111121112122112112212222222111221122221121221111221211212121121212211221211211211222122212222212121121112122112222212111121221211211121122221212211112221121122122221211121122121121222111221121211221122121212111211222221222212111122122111112112122112211122111212211121222211221221122212121222222221121111222121211121121112211221211212122122121111222111121112112212212111112122211111111211121212112111112111122122122111121122121112122121121212112212212212121122211112112111222211211111211112112222111222211122112212212222221111112222212222212211112211212212222222222211111221221112211112111121122112112221221112121122111121212222221222112222211222122212222211112221222112222211121111121211112111212112211122211212222121211221221211112211222222111112222111221112222221112111211212122211221212122211222221221122122221221111111222121222211112121222112221112221121122121211111122122122211221221111121121111121222221221221121121222111222222211212121211222221112111122212111221112111122112211121121221122122222212222211111211211221112222121112112122222112112221222221121121112221112121122111121112121111112111111211112122111112122212111212211212112212112112112111111121222121212222111212122112211221211121121222112211121211221222112222211111221222121221112122211112112111111211121121121121111221211111212111112121121211111121122222122112112122211222122121112121111211222112122122121222121122211212212211211122112221122112111112122211212121222212222221211212212111112122121111221212211122211211122122222212211222121222212121111221211211111122222122221212112121112112222111121121112121211212111112122222212112111121111122222122221111122111122121111122212122122122212112112212212121121221222211111212121211121221212211221121121222222212111121122221222122122122212121211221212221212111121122122212121221122111122112212112212212121212111212111121222112122111222211222111122111121112221212122221221112221121122211211222222222122222222121222212121112112221222221211121212111211112211222211222121211111112221221212212222212221111222111122212211221221212122111121111121111221222221212211222211212211111111221221222211111222211221121121212221212211212222222112211111111212221222121112122111112122211211211211212221211212212221221121222221122221112122122222111112112222122122221212112122112212221222221212122222211221121122222212112212211111121122122112112111121221221112112221111112212222221211112221111111222121221121222121122212222111221211212221121111211222111222221121121222112211212212122122212111212221121212111222211122111221222111122221122111222122221222112111212122112211222112222212112121122212221222221211122121112111222212112112121222111121222112221121222122122121111222111112211222122121222122111222222121122221212211222221112222111122121211112112221112211111121222211122112122122121122222112112221222212221222212222122111111111212211211212221212122111221121211111221221222122111112222222122221122121211112121112111211122122111221112111222222221221122122111221112121112222211122122212211212221221112211121222122122121122121211211211211211112112211222111111221112111121122111111212122121121221221121211221122122112111111112212111112212222111121121221221212212221222111112212122211121111222111111211111221212112221112221221111121221222122121121222221212212111221112111221211212121122112122221112121212212221122122121112221122122221112112111222211222112121112212211211221121212111112222121112211112112122212121122212212212221221212112211122121112111112221211122121112121212211212212112121111111211122212221111121111112111112121222122122211212121221222112212111122112212112121112112111211221221212222211111221112221221122121122211112222122222122111211211112221122122112111121122212221222112122222222111112112122111211111211221212122122122111121121112111121221112121211212111112211112212121112121212212222221122212211221222212112211211122111111212112222221212121122112111221121221111121212122211121222212222221121221211221111112211112112211222121211111111112121221121222212212222111222221211212222121112221112212112112112221111212112122122122121111112111122121211122221112121111211121222112112222221222112212221221112122112211221121112111122211221111111221122111222112221222212111212222221121212221221211211111112112112222212112221122221122121211212211112221211112121211222112222111212212222111111211222121211221122221122111212211112122211221211221212121211222212111121221121121222212222111212111212112112122111121121112212211221212111222212111212222111111122221221121112221212111221222221112112221211112211221111221111212111221222212221221112112112222111122212122122211121111221122221121122211211112111121122112222221221221122111112121211212111221221112211222111211111211122211112111211221112221122121212122212122122212112221212112221212211221122111112222221211211222112111211112121212122111212111212211212112112222121211222121121212111212112221112112122212112121212112211122212222111111211112211121221212212111122121111221111212112111212122212212221212122121122111222211212221211112122122222221121112111221222121211211211121112211211211222211211112122221212211111111112112222111211222211121122212212121111112121211211222111111221211221111112221112222111212212112112222212122122111222222222121221222121211221121122121221211122111111222221121212112222222211112112122111121211122221212212221111112221111211211222221121122211222222211112111212221211222222122211122122112122122212121122221221222111222122221221221112122111112211222112121111112111221222211211111121221112221221221221211111112212121112222122111212112221121121221122111112111122122121221111122211111221221222111211222211212112222112112122121111122211122112112221122122221221221221211112221112222112212121122221211111222112212221211221122121121122212211121221222122212112211222212111222211111121211211211221111222211111112121211112121222111111121211221211111222222111122221211211122121112122112212111122212111111122112122221122221212122212212122111111221112111221121122122111212122112222122121111112121222122222222112121212212221222212222221212211122211221211211111111212121211111211111222122111112211211122121211112112222122221112212212212122222111221122221111221211111212121111122222212221221212111122122222122111111111211212211112212222211222211221121111112111112221221222212111212112111122112122212111222111212222122112221221112222121221112112111211211122121221212121221112122212121111112121222212112212111222111112211211112222211211211221122212111122121111121212211212121211111211111112221112212112112121112121222222212111211121121221221211211212221211121121112111212121212222211222121212122122111122121221111112211112122112111221112122221222211212212112122121111112121121221111222221221112221221211222212221112211121112212221211221222121222121221122112211222221112221222212111112111221211112222212112221112222222112222112121121112111111121112211211111122111222211222111122212221111122122121221111222111111212121221121212111211121122122112121221121112122221112121221212121222121122112221221221121121212111212111122222222122211122121111211121111222112112112112211212222121111211221112221221221212112111121112121222211122221122212211122222211111221211211111112212211122121221221111112222212111122112222212222222221211122111112221222212222212122221212212221221111212212221212112122212221111112222211221112222121112122112211122211211122121112211111221221222122212221211122221221212121211122222111211121221211112112122212112222121221211112221222121211211111221122212112212222221111221211112222212212212112112111111122212122221221211222212121122212221122222111112122111211121111212121221122221211121111111121221222112212122111222111122122121221112112212222222221222221112122211212222122212211212121121112211122111122221211221212121212111111112122122212221122112222111122211111122122111212212221112111212222122222211122212211122112212221212122222221221212221112211211211212222112112112112221121211122112211121121112211112111212111111212122211212121121221212111212121122221212221121121112211111121112121112221221212222211122112111111222112221211221122111212221111221112121111221221212122121121122222111121222211122222112121111212121222222122112221122211222112112212211112111222221122112212121211122121222222211121112212111122112121121222221212121221111121222122122121212122111221111121211212221112221111211211222212211111112211121211121111111121211211221121212222121122211222222121122112222111221212212122212222111112111221212221222112212212211212111112112211122122121122211112222112222111112112221211111221122211121121212122121112121111112211211212121122212211222221121222112211111111111222211212212222111222221112122112221122222111112112121111121212221211112121221222221122112111122212221212122222112122222221121212111222211111221212211212212122222121111121211111212122121212112112222221221111211222122221112111111122112112221111112112211111111121211211222122222121121111222222121211121121212222222112122211112211221122211221221211111112212112211112222212121122221112222111222222122222122211211121221122222212211112112112122212221212211212221222121112211211122122212212121111211111111212222221122212111222211122222212121122211111221211221211111111112112122212211222211221112221221122122211212121121212221222222112222121211212212222111121111121111211212212221111222121121111112211112112211222212222112111211121211212122122122121211222112112222122221221111112212112211121122222221221121212112211212112111211121111121222211121122122111122122111221222111121222221211112211121121111222111212211111221222221122111222222212222211211112111112222111122212111121211221112111122121221212221111211122112212121212211211212111111212211111111121112122121111112212212222122212121211211211112222112111111112122111111112112121211221221222112221112212111112112212212121221222121222121212221222111112211112211111211222212221122121111222121112112221211211211211111121212122121221122212222121122211222221122111221111122212111222111211221122121122222111211121122212222211211122111212212221221112111222112221212121111221212222122112121121112212121122212211112121121112222222111121221211222211121112112222212212222111122112221122121222212112121112112122211221121212112211111221211111111111122221222122212111112122121221121122122111222221211111222221212211111211122222211122122221122222121221122222211121211121122121111222112222212111112221221211121212111211122122122221211212111122211211122221221121111121122222121211211112121221212121121112221121211112112112112122212111221121222221211111111221212212221112122212221111122111121211112222121212212112122122112212112222111221221112221112121112121212221211122221222121111122221122212221122222121212111122212122211222111122212212212111111211121212112121111111212111221212121112121112221221221121221222211111121222211111122122212122121122211121211211121112111122222112212111111112211212121121111211222212222212221111211122112222222122122211212122212222222222221111122112122112121111211221212112211221212212211112212121122121222222212212112111212221122222122212112122211212222211222121211222211222212111122121211121112212222122112212112211211211112211112122211211212112221211111122121211212111222112221111221112111221112121221111121121122221112111212121111211111121212221122221112111112112212112222111221211212212112211212222121112122222221212122222122111111212211221222222221111111211211111222121221221222121222212211121111122211221111121112211222121111221122211211222211211211211221111211221221212211112111211121111212212211121122222112211122211211212212212122111121222212122122212122221122221222111222211122121112222112221222212221222212122211222221122212121112112121111211121112221211122121221121221111112211112221222112112111121222122111211112121112121122111212212111111212212222111212121112122111121111112121212121111111222112211221122122222121111212211112111122221111122222121122212112222112111112121111112121121121121122122211222122212121112211121221221211212211112122212221221121222222111221112121111121111222211121211121211221212111112121222212221222212122111222212122211112121122112112221221112121121122212211122212121111211122111222221221111112122222212221222221122222212211211111122122221221111211121112111122212212112211121221111112121112121212221112111211112112122221111121111111221121221112221212121111211121122122111212211221111121112211111112121121111212112121221112122122211111111121222112122211222211211121211211211222221122211121211121221111222222112112111211221112211121212121121222221212111222122221111121121212121122221211211211111222221221222111121121112222111212222121112221222111211111211221211112122222112112212112212112111222211111111121212121121112221222112212211121212121222221212121111222122121111212112212111211212221112121121111211212112111211121122221121112211211112211122222111121112212212221211121112122122212212222221111222111122112212221111221212112112112221221111212112112122111121221111112121112112111222121211211111122112112111112211112222222122221222221111211111122212212122121222221111211221222111211212222221111122212122222122221222222122122121222111212212211221122122211122122122222211212211212121221122212121221122211111122212211212222112111112121221122111221222121121222212211112211122111212221221121112211111121112221121121221121211222111221122121112111111111212222212111221111122212112122111212221121221111111122212111222222211111121212212222221112222121121221221222112221211211211121222121222111211112212211211212222212112211211121222121122112122221121221121211111122222211211121111121211211221111112211221111122221222222221111122222212121222222111211211121121112122112121212121212122121112221221212212212212112221111211111122122112111222111212212211122121121122121212122222122211221122121221121211222112221211212211211212212112112221221122212211221212111112221121212111221122122121211221211221211111222111121121112111221112112112112211221122222211112122121122121111211221222122222112112212222221112222121221111222222212221121211111122112222211222112222121121212211122211111112221111111222121211121121212212222211112221211212122111221121221121122222211112221211112122222111122122121212221221212111222112211211121212221122111211211222112111112221212221222121211121122222112122211122212121212222121112221121122122222122111221121222122212122121222211211211222111222112211111122222222222111122222222212221122122112121222212111111222111121111112121111111222222221221222112221111112221211211111212122212122122211111112121111121122122222222112211111111222211122112112112111112112221112211222222221121111211111222111222122121112221112112212211111121221111211211111212121111122122212122121112221121221211121111211221221212211111112212111112212111221112221121222211222112121221211122111212222111211122112121221211121221212212111212111111222211222211111221122111121212112111211122122111111211212121112221212212111112111221212121121122111112221212222122211112111121212211122222222211222212112221222221211221112112122111212211112211112121111211221221111221122122122211112111211121212221212212121212221221212111112212212122121121111111211112122212122111222221122121122211122222221212221222222112222211111112122221212221111221221122122211221212122111211212212221222211112212222111122221221212112121121212211222122211112221212111122112111111212121111221121111122212221212212221111112112122211112222111122211111221111221222121221122111122111112111222112221111212112211111121221112112121212212221221221122111121221122112122222122111222111221111211111212121112112212122122222212112221111212111111212122122212112121221112121221112111121221122212122122221212112121111222122122112222121211221122212122221121111212122211221111212221212112121222122112222221222222122122211112221222121122112111112111112221112212111222112211112221212111112122211222222112122211112121212112111212221222122111212111112111211221122222111111212221111112222211121112222112211111112111211122221221111121112121122222122211212111122122212211212112211222211112212121221121122111221211212111111122211121211112121221122212121212112112211221121121211111222122212111122112212221221222122222221122112211212222221222122211221221111111111121221112111221112221112112122112111112221221222222211211221222111222212221112222211211222121122112222212221221112111222221212222122121111112212121121222112212121121212121111122112221122212221221222121122111211212111121221221121121122211222122112112121121211112221111122121121121222212222111221211222112112112121212122211222211222221221111111221211121112211121222221121122212121121122212212111222212121121222112121222222121122121112121222222112212111121211211211111212221112222212222111212121122112121111211211122211222221212212112222112221111112221122122211212221121111221122211111112221121112221221112111222212212121212222111112211221222222221122112211212222222112112221112212222111222111222122221111111222222212112222112112222221111111211111111221211221122222212121212211122111221212122221212221212211111221112112211212211112221212112212221221221222221222122222221212222212222222212222211211221211111111112222221121212222211222112111121222221222112212222221122122111112212211112122112121211212221112112122221222222221111222122111211221122122222211212211122221112211222122211121222221111222211121211111121122221112111221121111222121111222121111111122121211121221112111122212121222222122111212122221221122221221111122222222121112222112122111211121121221222112122222112111211122221111121111121221212222121122221122112221222222221221111211222121122222222111212111112212222122112111221121122221122121211111112112212211121122211121122111221212112111121122222122121111211111221121122121122121211121122112222222122122221121122111112221212211212112121221122211211211222121211212221222221221211121112211212111211112121121112111122111221122211112211221112111122221211121112112112111112222112221112211111212112112111222111122112121211122122222111121111111122221222221112121211111222221211221212121121212212122222122211212112212221211111221111211111221122111221112222111112111212111222112112211212112221211221221222222122221221111222212222122222221211222211221222112122122212222222112221121222121112112211111111222112122212211122221122112211221211112111111111111211112111111211121112211122211221211122111111222112121222212121212222222111211112112222211122222112121221112122211122121121122121121212222112221111121211112222112221211211111121212111211112211211212111121222111121121111121221211112222112121222221211211111212121121111122122212211111222211222212211211212221222222111112122112121222222122111222222212221222112211122221122211222222221212211111111111211221112111222122222211111222112112212122121111121122211221212221121212212122211122211111121212111211121112111112121121221121222221211222122112222121112111211222222222112111212121122211221111222221121211221122112111122212211121122112212122112221121222211112221221211221221122122112122212121212122112212111222122211222112122222212122111212212212211211122112212121111222121122211111111122211212212111212221212222212121121122222111221212112212222121112211121111212222111212211211112122221112122222212222222211112211111212222212112222122212121122222211211221111212211112112122112112212112221212212112221221221122111211122221221221212122221122112212222121211111111111111112111112211221122222212211111212222211212222212212111121122211221222211212211122111112221122111222212212222112222221111112121112112211221122211221111222122111221212121211222211211122222122121112222121112221212121222222222211221121221222112112211111221212122221112221211121112211222112222112212112221212121212122212112211111222212122222121212122121121112122121111121111222221222111212112221211122111112121112222122111111222121221211221112211112222222212122211122222122122222212221121112111121122211122222211221222211112221111122222121112111122112122211211121222212121211121112112112221111122222112122111122222121112112122111221112122211112121111122221121211111211121221111211222211111112111122121122111222111211122211211111211112121221221221122222112211212112121122122122111111212222211221222211122111121211222211221212121221122222111212211211211212222212121211122122121111212111112222212112222111122112122122112221211222212112121211212112222111212121211111111112112221122111121111221121111121212212111122121112112222211212221121111222212112122212111122121212222222222121122112112112221121111122221122212211221122122111211121222122212112212221111122111112222222121111122222112122221122122222221122212211221211111112112211211222221121221111112112122222222111221212121211122121121211122111111221211111211111211112112211212122121211121111111212111211122222121212112122211121111212212121112121111111212211222222121211112211222121212212212112121121112222111122211122222121121111121111211121122111221111221112211121211211122222122212211221221111112112211111112222121221112221122222222122112111111221221212211122112212111112112121211222221121211212212221112211221112222211121212221222122211221121121222222211222222121111212121122221222111221122222122221211111211211221111222212211111212212211112212112122121222122212121122211122221211211221211222121222212211211121121121212221121122222121122112111221111122121211122211112112212211112121111212221111221212221221221212221222212211222222122111111222111122211211222222221221121121121221111222211122112112122222222221211222112222122221221211222122112122112111112112222211221221112222211121122121111221122221222112111222212212212121221121121212111222221121221222112121122221122222212122222211111112222222221122221112222121122112221211211222122221221211122222121111121211222222222212222222211112212211221211212111221221112121221222112212121221212211122211122111111111212122122212122122112211211222112111211222221112112212112112221111121221222122121211112122122122122121121112111222212211111111221222222222211112122212122222221211121221112112212211211221111221122221121111122122221112111122212212111212212222112221122222112111121221111222221122211112211122112122221221111111112111112112111112222112221122112112211122212111122111221221122211212121222211212222111211112121211121212122112111112212112121122222222122222111211112211112212211222112212221211111122111222122121211121212211112221222212221222111211112122122211222111121121112121211222212122211111122122121222112112111221112121211112112111212121121121222111112121222122222121121111222122111112222121221222111121111211222111111111222112122211112211222111211121122111121221121112222222121222211221222112121211221221211122222211121111121112121111212222112222111211122221212122111211222212122212111121212212122122122221212222211222122111222112222121122111222222211221121222222211222121111122211112111222111221221222121121221211111212212121111211222211222112121121222212221212122222221112211222121122221121211122211221122222222211112111211121221211121222122212111221111111221221112122121121222221111212121121211211222111121121121212122121112221111121221222212212111221212122111122211112222221211121121212121112111211211212212111122222111212222122121111111221222112212112211121212211112122221122212211121112211211122122212211112111212111221112122221122212111112211111121212212111222212221221111222111222211211211221122221122211121211122221112111211121212121111122122122111221222121112222122212222221122212122121211221122112111221122221121222111212221212221221221211211221112121111122121212222121122222121121221212222212212122222111221122221111121121211111211112222122111111111221121121121211211211112112112211112121121122212122112111121122111112121122122122122121212211111221221222112211221211221211111122122121111212212221221222112122221111121212111111221111112121121112112122212121222212121221111211112211222222122122222211222221112121111221112111122121111221112221222111211212222211112222222112211211221212112212212221211112222222122121221212211111221121111221212111212121112121122122121112221111112222212211112222221121222212212221222222111122221222112112211212121222111122121111221112221222122122112212112221222212122122211122121122222121211222221112112112211212112121122121122121121222112221111121211122211221122221211222121111211112121222211212122212222111211121122212221222212221111211121212121122121111221211212222212221121221122222211211222112112212222212121212121111112211222221121112211222222111122211212212111211111121221122122222221122112122112212112221122222112122211112121212121122122221121121111212222111222121221212122212121212221221221221221212211221221212122222212211111212111212221111221121112221112121222111222111121122111112121112111211212221211221111211211222122211212212211122122122221111112221221211121112212122121211122111211211121121221222112212111212222121222122121121222221112111121112111222111122122212121122222211121212221221122121212212112121121221222222112211221111111112212222222121222111121112122112211222212121211212221111121221112212212122222222212111122122122111121111122112212221222122221212121212212211121212121222122222121222222122212112122111121221211221211212111122222212111122111221122212212211111122111212222122211112222112222212222221212212222211111222122122111122111222222112111212221211122122112212222222122112212111211221212212211211112221122221211111221221212111212121111211212212222222111212122221221111121122111122211122221212222122222111121212211112222121112111122212112221222121112112112112112222112211122122211111122212121112112112121212112222211221111211121111221121121221112221122212212222222222121222121212211122222211111111112121122111121112212121111122211222212112212122111222222112222221122221122112222212222221121111211222121221212222221121121112122221122112212211122222121221222212221122212121121221221212212221111222211211112122211121211211221222111212212221122212212212112212221221212122112221212222211122121222121222111122222221222222112211121121112221212212121112212221211221211221212222221111121121211222211122221212222122121211212222211211121121121221111111212221212211111212111122221221221212212112222212212112122121222122121221221121222222112212212122222111222211221111122112112211221212121111212222111121211122112112111111222111121212222122112211221222211212111211112211122211222122221122122112211111112212221112122212221112221221211211222112122211211221112112111211212222222221122211122122222121221112111111112222211122122121212121122122112121221111221112221211112112111121111212211121111111112122111112111121222121211111112121212122112211122111221221211112111122121122222111122221211122221222211122221111221112122222112221222212221212111111111121221111121212221111221211111121112222221112111122121121121112112111122222221221211111121211211111121211212121221211111222111211122211222211121221122212122112111111211121211111211112121111211212112211212111111212121111112122222122212221121111122212111222121212122121221211222222212221222221111212121221222112111111112221212211211121221112222212222221221221122121122122121112112121122112112221212211212221121221122211212221212122221221211212111112221222122222221222111211222112122221211112221122221112111122121122111222122222112212112111221112211112211221212212211121111122211111112111212121112111122112221221221211211212112111121211111222112122122111112222121221211212121212222211222121222121211221121122212111222122221122211211221211112112211221212211111212221122122121122111121111122111112211112111211212111121211212111121111121121222121212112121211111211111211121112111212112211111112112221211122121211212112212221222112121112212212221112222221112111211122221222211221212121121112121222121221212212211122211121121112111212222221122122222211221211112211222112111212112212212211122222122212222111211221221211212211121222112212211211221122112221222211121222122112222111111121221121212222122222212222112111222111111212112221122221212112112222122121211122122221111112122121212121112211222111121112121121121122222211211211111112121212122211212122121112211111212212121112212222121111112112122112212112122122222222221122122112211222222121212112121212111111112212222111111221111221222112112112222111221122221212212122112122221211222111112221211221221111122121222222121112111212122211111211222222212122221221121121112112211111222211122112112112111212222111111221121111222111122122211211211112112121212211212121121112212221111222112211112121221112122211211212121211222122111222112121121111222222212121122221211211212122221212122121212121111121112122112221221212211122211211212222212111112121221111211211222122222121221121111211221121221222121111111221121222111112212211121221112121222211212121221212211212222121111111122112121212111212121122121122122221112211111122222112222122221111112122221121111112121112122222111222121222221122121221212211112212211211112221121121111211122112121222211221212222112112212112122111111211111211212212112221211111111122112112112112111211211222111221212121212221222221212111221122122121112211222111221212211212222212111211112222112212211121122112211122212121222212212112221212111111121222222212212212212221112112212121222211122122212111122111211122111111122122212221111221222112112221211221222211112111211222111122212211211222211211222111112121121112121121212211211111212112211121122122222222212122221212211212111212111121212222121112112121211211112221212212222112112112112112122211221222111112221111111221222212212211222211221112212221121112211221112112211111221122221112211111121221121221221211111122222212121212211111111211112111212221222122222222212221212112212122111121111211122221212212122221212212222112222112111222222211221212112112221212211122211212112212211121222122111121122111221111221111111121111121212122221112112221222222222212122122112121111211212212112222122212212221212222112221212221121212222121221222222121211122111112111212211121221211122112211111112222212221222221212112222222212222212121122112111212121112212221111222121222212222111111211112121222121211221111211212122212221122112111111222211222111222222222212111122212211121221111111212211211211211121212221112121212112122221211212222112211111112112111112122122212212122212112112121221212111121212211112122122111222122212121111121121121112112122122212111112121121122121211221122122122112112222111122221212222121122121212212111221122212122111212111222121212111112122111221121212212112121122121222221222122222212221221211111122111212212112122122211122212121222211112112112222121112211112221111212121222121111122222122221112212222222122112212122111212221122212111112212212121122212121111111221222211112212111222111222221222211222122222121121221111221212221121211211122112121221121121212212222222221111211211121211112112112211212111222112221221111111111222221112111122121212212121122221111112212122112211211112121111112221112122122211111212222122112222111121222212111112222212221222221122212111112222222122111221212222221111112111121221212212121112111212111112212112221121211212112121221222121112122222221111221112111221211221122221212211121122122122111122122222112221211222121111211222122121221212221212111222222212222211122111221121122221122221221211121221211212222212211111222222111221121222221122111121122122121112211111222111121212222112122222211211111211111121211121221221111111112221211212211211222211212112112121212121112222122121212222122122212222222222121221121222111122111221221211212122121121122121221222111222222121211122121111211112122111122222122121111111122111221212121121111222112122212111121222112122111221222122212112122112212111212122112121112122121222122122112121121112122111111222212211122112212121122112211221111122211112111222221111211211111222112221211111122112212122111222112222212111221121122222222121211212111222221221112211121112112111222112211121211111122112221121212111122121122221221122112211112211111221112221121112111212121112121112212111212221221121221122121122121112211111111122111112122211221222222112222211222122122111122112211122211212211111211221211121211212111122211222212111211111221222121222211221221122212221122121112222212121222121222211121211211211211212111122112122111112112122111111211121222111112212121212211122111222122211122211112221222111221212211221221222222212112222212112112222222212122121112122212212221221222121221212112111121221121111121222112122111122222212212112222221121221121122212122112112121212211121222212211221221211211111112212221212211212112121122222111111111211112211122222111122222112221121121112111122112222222222211112211112121121122212222121222211122111221121221112222212111112112122111121111111112212221221222212221221212211122111111111212122212122111222111111211222212112222211121122121112221212121121111122211121112212112112111111211212112121112211121121122212221122211112112212222111121211222111221111122222222211112212222121111222111122212121221122212111211111212211222121212211222121112121211222222122221112112221212212121122122211212111122121112222212112212221121122122111121212122211222121122222221111111222211222212212112211211221111111222121222111221222221112112211122212211122111112211121211122112221112121211121211112111211122112221211222212121211121211211112111212211211111112112111112211221222221122211212211111111112122212211112222221111112221222111222122111211111121111111221211211222222222211112222212122221112222112222222111221211121112222112221212221122221111211222122122222212111221112222122121211211121122222211121212122122211211112121221222111222112222212112222122112211122221111112112121122211112212221212212112122221112212121121111122211222211222111212112112211212112212112211122121122212212122111111211222121122111122122221222211222112112221111222211122121121112212222122222222112122122111222121122221111122112211211212121221211211212221211221211111212112111222211211212112112111221211122121211112111112122111122112122112221212211211211222111211221211112212112122211211222121222221211221221111112121211122121222212112112222121121121222221111112212222121112211122211122222221212121112111222212221121211211221112111121222121121122112111122222211122222212111221212112212221221221112222211222121111111112121211122222221111221221222212111121122212121222211222221211112212112211121112112222111112212122122212111112221121211222112112222221221222222122211221111122121112111121212111211212222112111122221211221211122111221221111222221222111111221112122111112112212211222122122221121211221221111212111121112122111111212212112222112212221112112221211222122112121122121212222222221221221211121122212112112212122211211122222122122222112212112121121211122111212112212221112212221211211211121122122222211221111221111222122122111112121212211221212212212222222111122212222112122112222122122212122211112111111111212221122122121112212212222221111111212211212212211111121122212211111221112221211212212212111222122111212221111221222221212212221122221111122111212122121122112122111222111111111112211221222221222111211211112121122111212222112221122122222221111212122222221221211121221222122211111121112211122112211222212221222221112221122212111211211121221221111111112212222112121121212211121111221212211121112121212221111112122221211212212211222221122122112112212111121212111222121222221122122121112122111222211122212221112211121122212211222112221112222111221112112112121122211212212221221222112111121121212212122111211222122111121221211122122112212221122221211121112211212112211221121111122221111112212212212122222111221221122112111112111122222121121111211211122121212212211111122122222112221211222212122222211112111212211221122111122112211122112212212122221121111221111211212112222211121121112212122122112222222222111212112221122121122122211221112212221111212112122121222211222112122111112221221111222122112121212122211212122122112121111222222222221111112212122222121112111122112221212222121221211112212211221122222222111221122112122112111212221221122212211212112211212211221211221122122212112211111111211221211122121212221122111212121111222221122122112222212111212212211111222111122122212221222222111122122111111112122211111221112211221111112122121222112211222112121221122121121212211221211212111121111222121111112112221212222112221222111222222222122221111121211212122112211122112112112121212111211222111111122121121211112122221212111112111222112112121121122122121212212122211222211122111221112121111121211211111122112121211122121121122121121211222211121112222221122212222212121111122221112212211212211122112112212212122112122111111112222111222221211122221122221221121112211221211222121112211112222212222211122221212112112211121112222221221121112122221112212112211122111112221212112211221221211221221221121122122111121222121221122221221211211222221212211121211121211212211211112112222112222221111212111222121222212122212122221211111211221112211211111221212222121122121111211222221221111221211211122221122211121222211211211111212222221211212211211121212112122222211222222211112122212121122222111222211221111211122112222221121221212222111122111212221121122122121111111212112221121212212122221212112211211122222221111111112222211211111111212122121112122122221121111121221121221211211112121221112211111212212221122212221212121121121222112122122221121222122221112111111211121111111222121211212121111111221211122222222212212211112212122212121111121222221122112121212212121221222121122221212221121111122121212122111112222212121222221111121211212111212122212111122121112221112222211221121211222112211112111221121122122111121222221121221122222211111212211121222111222121121121222221112212211212221111222222221121211112121212222221222111222121121212221122112221212211111112212212222121121111222222111211112211112112122112221111222212121221112211111112122121212112122122212122212222221121212122111122222121211121222122122111222112211212111111121222211122111212111221121221111212122212112221121211111222212121122111211211111112211122112111211112212212221121212221122212221122121122221112211112122222211121222212212122212122121211111211212122222122111122212212221122112211222222121121111212211212221211122212211222112122222122212222211121212211111122121122221122211111121121122221111112121211122122211212111212212112122122122122212121121122211121221111121121121112221211221221221111212222122211121122122111212222112212222112122222111112221222121211211112122222211222111221222112111111221112122112122222122111211112212112121221212112222122222211212121221211111121212211121222112221122111122111212111121211112111222112212122122212122111122112112211112222112212112222112112122112112111111212211222222211212121121121111122221221112221122112121122212221211121122112211212111211122122222211112112212122112211121111122222122222122222221212111221111112221212112122221211111111222211221221122121222121222212222211211212221111111121222122122111221121222222221111212121122111211121222211112222112211222222112122221212211112211122212112222121222111222112122112221221211211112121121212211112121111112121222212212221111211122111122221212222121212211222212211112211112111212212122222221221111121221221112221212222112111112111111111121212111121222122212211222111221221222112222211111221122211121112212222121212122111122122112212122112221112222111111121222221212222111211212122112221221122111122111122211211111211111222212211112222111222111121112122111222111111112112121211222211212121222112111112211111211111212112222121121121221212222211221212212222112112222222121211211222221221112212111111112221122221212221221112222111121211112121212122112111111112221111112111212211121121122211221221112122222121221222112112211212122121221221222222212111112211112222112112211221222212211212121122211121121121112111121111121222121112121111122112122221111211212212221211222112111122111111211221111121222211211111121221121222122122121112212221212111212121222111122211221112222221111121221112121211212222112222121112212211111111221212112211211221222211221212122222112111222211212221211122111111222112112122112112112221212221111221211211211112211121221222211112112212111121212121111211122211212211121221211222111212212112111122212111212211112221122112222122112211121111122222221112121222222122111211122212121111111121111111111222112122211122221221111212211112121211222111222211111212222211211221121211212222122121122212212112121121211122211211122112212122222222121121221121212111122222122121222222212112112112121112212122112121122112211212221111111211222222111221122211121221112211111212221121122112111212211212221212222221211221222112221121221221112221211211221212111122111222221122112122122222212121222112222112121221221121111221121222221212112112122211212122211222121221112111221211212121112212112112112111212112212122122222222112122112212121221221122222212222211122111211211112121212212121122112112212222112221112221222212212212221211121221112212121221112111222212122111212122121112222211221122222221212112122212211211121212112221111212112121212211122222122222211212112121221212212112122112122222222122112111212121211211222221112221211221112221221112111222122222221121212221121121221221122222121222112221121222122111211211212222112121121112211222212121121121212122122111121121211222121122122211222222121211111222121111112221122111111122222211112121212221111112212121212221121221221212111112122222222222222122211211212211122112112221111121211211221122212221121122211221112121222111222111111221122111211122211111111112122211122211212112111211212222222222212112122122221222221221222222111212221222112122122212221211222212122112212211112221221122212212111211212122122221221211211221222222111211112122222221221212221121112111112112121112122212212111121212112221222211222221221221222211211111121222112212112111122112221112212111112221122212212222221221222212221222211121122111112122112121122121112121221112211211122222222222211212211211211112111121121121112112211111112112122211112222112221212221212111121111111111122122212112222211222121212121212112111211112221221212121221121121222111121121221221121211111221222111221211221112211111111111222211111111211221222111121112212211122211221222112222122121211122121211112212121111222211121222112221221221122221221111212222221111122112221121212122212111122212222211221121122222112111111211221212111111222222212212212121122111111212112221112112121112212212222212111112122111211211221111122211212112112222112122211212212221121112211221122111222112221212121122211111111111211222122222212221211221221122221211211221222222222112111121122121121212222211222221221122112211221211221111211112122111212211111221122111111112121111121112122211121111212121121121221112112221211112222211112111221211211211211111122211211222212212211112211212212112211212112212221112221222121122212222112211222111111121212112211112112111222212122112122211212221121211212111221212222222121211111212222111111222112112221222121122212111211221112121222112222112222211221111211222111122121111122121121221121121221212221211221221211112112122221112112121222121221211122111211212221121211221122112221112122222212112221122122122112221211111212122222122212211122221112112122222221121111121122122211121111112122111112112112111222212211121112212112111112112112112222212211121222122222222112121222212221122211222122212112122212112121222121212221122121121211121222211222211212112221221112212122111122212211121211111221221121121222221221211122221221112111111122212112111222111221212222122111221122122121122121222122112122121212111121221122211212112221112112212112112222212211121222211111121221212212112122111112212121222111222122121212111121211211212112122112122211112121122222122112211222112221212112112221222112122211221211111112112212121211121121112211121222121211112221222212111221221111222211222222212121222222111122222222121212112221222112222112222121111112121211121212212222121112112121122121212211211122222211221122212121222221222112122212222221212222221121121221122121211121222211221122212222111212121211121121221121212121212212212111121221222211111221222111122221122112122121111112111211221211111211122211122121111111112112122221111212122122222122122112122222111122222122122212112222211211211122112221111222211112111112112222222222212212122212121222211122122222222111222212212222121222122112122221212212122112122212212122111222122211111212211221122121121222212122212222221122211121122222221112112122222122111221222221122212212212122211111211111221122111121122121111222212122222212222211222122221212212221222222221212122121122221211111221211121211121211212121122211111111222111111122211122121212222222112111121212112211112221112121222211222212121211211212221222211221111112212112221212121122211212222121122221222122122211212111222222221121221212222221211211221222211111122111211211111222222121212221222211122122212122111221222112221121122112212212221211112122211122221121111212212121222111121211221111222222111211211221122211211211121221111212211122122211221121111112112122121111122212212121112211212212112222121222211222211111212112111221121111111211122211211212122211122212222221222112122121121212222122111212122111221221121211211211122112111211212211222212122121122221112211111112221122121121122222111221112212112121121212122111111122111212211211111122211121121112121221111111222111221212122212121111112121222122122212221111222222111121111112122212211112222121221211222211221112222222211112212212211222211121112212221211111211211221211211211112122222121222211221122211221212212111221111122112222111121121211111111121112121221122212112221222212212211111121222222222112111122221121222112211221211112222111112222112121111122122121212111122111122112212121121121222222212121111211212211111121221222211211222122211112111211222112111122221111222111212121122112212221122122121221122112111222222121221112111211221212211112211221111111212222222111112122122122222121112121221112121221112212221221221111112111221122212112212221111212112112222111112111112121221211221212121122212212221121121112212112221212222221221212211121112111211122212111122112112211122112121112221111111112121211112111111122212211122212111211222222111212212121111221121221121221211122212221121222111212222212112222211122221121112122112121121112112121222121112211112221112122122221222111121221222122221121212212211222222221112222111121222111222122111121222221121112222211121212122121111221212111211122211222111121111122222111111211122122211121111111221212122112111111121112122211111212222212212211212211111122112121111111121111221212212211222122211112212122222212222112121122111121121212122212211112212221112112112112121221112221212111211112122222212121112111211211111122112122221212111212222211221122222111111121112211211211222111112221212122112112112211212212112212112222211211112121111211121122111121212122211112112121211222221121222121211122122112122122221221212222211122112112112112221112122111212211222211111111212212211111211122222212221121112222111221221221211122112222211111212122121122222121112122222211211212211121122121212122211111222111122112211211112122212111111211222222211121221211212212211112111211112111111211221212222221121111112121121222121221121211211221222122121122221112112222211111221221222221211211112122221122221122111212212111122222221112112222121221212211121112222212212222122122111212112212112221111122221121211222222122221222221221212211121211121121111112111211212112212111112121111222112122222122221211211112211121222211112112222211111122211211221221112212121122211212111121111212111211111112122111121112211112122122122112222122222122212212222212212211212122121111111111122121221212211121112121222222112121112222121111221111221122221212212122111221111121211121211212122111212112221211112111111122121221111122212121222212112121212211121112222212112222111211111112121122222211121112111122121222211211121222222222112211112211121121222222212122222222121122221221111221111122112111221211211222212112221112211221122111221222221212111121121212222122211121212121222211222121111111112221211212222111111122111211122111121222212222211122222112211122111112121122212212222211221211112122112121121222111212222122222221111112121122122221221112122212122211121212121112111112222111121222111111221221111211211221211211222121221112211121212221121212221121122211122122212222112212111212221211212111222211222122121111111121222121212211121222212221221212111211112122121122111121111221122121112222221221221122222121122221212212121221122111121122221112121211121122221122122212111222122222221112121112121122211211211121112121121121222112112221112111212122212222111222121111211221122211121112121221112221211222212112222221111222111122211222121212222121222221121112122111222122212122112211222122121212111221221122112222121111122112221212211221221211221212221121112221112111212221122222212211221212211111212221111121222121122212212212122121121211112121122112121121222111112121112211212222211121112122122211222112221212112212112122122211212211121112121111122221221211222121121121222221211112122221222111222212122112222112212121221222112122211211222112111211211121211122112221112121212122122121111221222211111111222211111121222212222211111212221112111112212112121222221211121212111222221211211221121111121212121221112112112221111222211121221212221211121221112111222121122211111212121112121122222211221111111112122221111112121212211212121121222222222122212221121211121221222121212221122112212111211221211221121111122211112112112111222112122221211221111221121122122222222111111111212221121111222222112212111121122211212222221112111211212121211111221112211121122112111212211221111122122222221212221112121121111222111212222211111212121211211221121122121222112221112121111212121212112122112212121111122212211121211121221121112122112111222112122211111212121111112121222112212122212122121222121112211212221121212222111212112111112112122122212112212211112112122212111111222121111112111121222122212112111121212112111212221222212111121221112122111111222121221111212111111221211211121222121211222122112121112222111211211122222211112212112222222211121212211121221211211221211222112111222211221221212121112211122221122122112221112211112112211111111122211112111222112212122121121112222212121211222212122222121111221112122221112111211211221222121221111221112211111122122122122121222122222111121111111122221112211212122212112122222121112222221212221221121222112112221222212212211111212112211122121212121122212122222211222121122111122112221121121111112212111121211211221221111212221211112221121222122122122111111221221121211122222122111222221222112222211211211211122112221111111122122121111111222211112222222111221111221211211222121222122221122212221212212112212112222212212221112211122222122211222221211122112212211211122122211212112112212111122211222211211122222121111121212112212211211121121222211211211111111211111121111121212211222212111121122211111111212121211112222211222212112122112122111212121122112222212111121121112212211112211121121211121112212221112122122121122221112122121111122111222211222212211122212222221122122112212211121222112221121211221112211222122222111122212112212221211112111221111112211211212221212111111122222221122111111111112222111112112211222212222112122111122121111212211211211212121121222111122112111222222112212121122212222111111222112211222121111221212221221222121111212112222221112221111221211122221221121211222212222121211111221212111211122121212121211111112122212212122111112212111111222112111221122122122222122211121122122212111221222212111121212111111112111111211112122112212121222221122212222221212212111211121221122211222112222222111111211112211122211111112122122122211111222121221121112221222222121212122211112112112211121122212221111122212122212111121221121222221222121222111211111121121211212211222112211221121212211221112221122212221222221121222212212111122212221111112122211111211221212121222212222122221212112122112212212222112112211111111211221222222212111112221111111122111222211221221221221212111211121122212212222211222112212122112112212121121221111221111221221122111221122112212221222121221222121211121212211222212121221212122212122211121212111211111221122121221111121222121121222122111222122121121221221221221211122221211121111222221111112211211211222211222211212122211222221212122111122211221121112221211121212222112211222211121112212212112121122112221122222111121122111112122122122212212121121122122122212212121122222211221212112221221222211212111222211221112122211221222122212211212112112212122211211112121112122122112122112212122221111211212211111122221221221111112221122122111111122112221121221121121122121211222122212112112222211122122211212221111222122121212211222212221111222211121122211112212212211211222122111112221111212221121221121211212211121112111112212112211221122211111122221211111112211212121212212122111121121221222112211221122211222112112212112122111112121221222212122121112212221221122121221221222211122111222212122211122121111122121212212222112221211221221121221221121112222121112122121221112121112212211221222122111212121111212122121211212212212212111112221221121211212122222112121222211121111112111211111211122212221121222111211121122111221222111211112122222221112112121222111121122221122121221221212222111112112222212111211211222121122111122222122211221222212122221122211212221122121111121212222212121122222212222222111211121211212222212222121221121221212222121211111121221111221112211221221212222211211111111222122111112121222112121211222212122211211122122221121211121211222212112111212122111121221211222112111122111212122112121212122222222122222111122112212221211122211111122121222112122112222222221121122112112111111222222222121221122211121112122211111122111122122112221122211121121211211121122121111122111212122221221212212221221211211111121221212212212112212211121222121111212212121222222121222212222221211112121212122122221212212212112121121111122121222212212122112222122211121122112221122222212211121122112222221221211121222121121211112111111111112211212121211211211211222211221112222221221121121111121222211211121112222222222121111211222221122121211111111211221122221122221212212111122112212211211222222121212212112221121121121221212221222211111121222212221211222122222121111121112121211112212112122212112222111221111211212222212122121122221222111122211111122212121221221212111211112122211222122112121221221221122121222112212211211122112111221122111112212221112112121222212112222221111222121112122122122121211211122111122121221122121111221221121222222211211121121221121112211112212212121121221211122112221121222222112221122112112112211211222112122222121222112121111112221122211112122121211212122211121211211222222122122111221221221221211221212211121112121112112211112211211212222121212211121111211211111212222121121121121222221111122111221122111121111122222121122112222212111111112221111211222112222121212121111112112112221111112121222221112221221111212212111111222212112212222122211212221211211122212112212212211121121222112212112212111222122211221121122222211212122112111121122212112221222212122121121122111111122212222211211122221122211111212112212222122221222122212222222112122122112111211121212111211112122211222121211211212221212112222221221112221212222212221111222122211221122212222111222122122221111222112111222122222222221211222111112111122212122111121221211111121121112111112222222111121121211112221121121112122122212222122211221112112221122222111111121121122112122221111111212212221211212212222111112211212111121221111121212112221111121112111122222111211111121211122211122221212222112112221212211211111211122121221211212122111222112112112111121121222112222211221212121112211212121222211122222222212112111222121121222222221121122122222112111212111112221121211221112121222122211212222212111221212221221121211111122221222122222212221211212112212222222221122121221212221111221212222112121211212121221212221212121121122111212111122212111212221212221221222111211211111112112111122121122111221221122122212112111211111222122112111222221112222211222122221121122112122222121211212211122221212221111221112221112112222111222212211222222122122222212211121112122111112212112211111222222211212211222111121222221122212111122112122112221212222122121212112122112111222211112122221111222122122222221121221222111111111121112111211121122222111122211211121112111221111111121122211111111222121211221211111222211121212112222111211112122212212211122111211111212222121112212211222122121111211222121122212221221111221112112111211221222222211112222222122221221112221222222221111211121122111111111221211222121212121212112111212221221212212212111121112122122122121212122212121121122222111111111212112221121222122121121121221121212111221121211221221122122212121211211211122121111211121222122121211211111121222121111111121211122211222211121211111211212221211212112211222211211121211222211111112211222112111112222221221111121121222121111111121111212111222112121121222221122211121222112121122121211111222221111212111222112122122111111122211111212121221111121111221121221211222222121211122111122111212121122211211112121212121122111121212222212221221221222122221112122121111112211121222222221221111222211221111211111221211111122212221112211122211212111222211121122211111222121111121222122112221121112212111211112111112122122222121221121222212212222111222112211111221111211111221121222212112112121212222122221222222122221121122222121111111221111222111111222112112121112222122212121222111211111222211121212211112121122111212121212122122122212221211222212121112122222111221112221111212211121121112122122111212111112212212211211221221222211212112212121111112212121221222111112222222211221121212111122122221222222112112221211211212111212221222111211212122222121112122111122211121121121122222111112222121221211211222222221211212212212211221112211212122122211211222121221211221222122111222122212112212212212221212122111122211111111221122112121111211221111111212221121221212112211122121122221111121222121112121122211212122222112212112112211112111212221122222122121112111112111221112212122212212222121122222212112222112222222212211212121221211211212222211212211121222112122111122112122122222222112121111211122111121221111121221212111121211121221212211112222121111211111122122222222221111212112222121112112121121111211211212121212111222111212221212222121121122221221222211112121222122211211112221221112111111112211212111121211122221222222122112111221122221122111212122221222111122211211222221112221112212222212211121222111221112221121222121122211221111122212122222211221121222221212221212111221121222121221122212221211222222112122221221122112212221212121122122121211211121122212112221212212211222112211222111122111121111211211211221111111221121122111211121211221222122222222112111121122112111221122112121112122212111121211112222121212221112122111112122122111111111221111222211212212112112211212222112212122122112221122121222221211112221212211121221121212222121221112221211122111211111121112221211211221211212211121211111111222212121112112111211121212221122222112212222222212112122112121121221122212211112212122112111221112212111121211212112211112211212122212112221112122112122111121221112211222111212121211222212122212111112121111111111221221222111122111222122222221112221111212112211112112221112211221222212121221221222211111111121111221111112111212111221122211122112122111112122211222122221122122121122111111212222122112211222112111212111112221111112111121111221211222212212112111221221221221121221222212221111112211111221121221212222222122212212221221212212121222121111211122121122221122212212212122121112212222111222221221212121122111121111222122112122221212221111222112111222111212211222112212111112212122122221221111212212222211121122122211211111111221212222122211211211111122122122221211122122122222221121112121111112221222222222122112212222222112222222211112212212211221111111222112221222222221111221121211112111221112212211111212221212122212211122111122122112212211222222122211112221221211212212121112211111121121121212212212212212122121222212221111222122222122121212211222111112222222121111212221121111112111111122112112221211112121221212222122222122111111121222222111212211212211221112212122212112211112122211112122221112122222212212121122111212111121112121121111221111211212222111221112212221112222211211212121111212121121122111121122211211121211212122212112221122121122221211122221212112221112222112121112211222212112122222212122221221221222212122112221121112221112211211222121122112211212121111111112212111222112111112221222122122111121222221111222122111121211211121221222112111222221112221121221122112211222122121221212221112111122212222112222111122211221121121211122222122122212122222212122112121222212121211111111121122222212221122221112221111122111122121122221122122222121222112212121122122122112112221122221222211212221212122221222122112212221121212212212221212112222122121212221122112222211222211112211212221222212212212212121112122221122122221222122212211111221111222111221121212222122222121211211122222211211212111111112112222211112221221121111211211112211211222221122112122212111211211211221221221121211212111221112222222212211221222121221211211222211122121212221122122112221221121122112121211221222221211122111111212211211122112111221212121112212111121111111211121111112222212211222111121221221112112122111211222222122111121121122212211122221211112221121111111211221222212112121121212211111212122111212112112221122222121112221212111212222111222122212111211211121221222112222112121212222111121112111121211212121112212222122211222121112221112122121112122121221112211112112212222211112112212212222221111112121111211221122111212121221122112121121211211121111221121222221121221122111212121122112111122111212112122221212212222212112121211112211111221112221211122211112212112121122121221212222211212211222221111222121222222212112221222112211222211112211112212112121211121222112112222121111212212221112221122112211112112211211112221221121211111121221112211112122121222121222221211112122111212212111112112211221222111222111112221122111111111212211111221211121111121121111112122121222112212112122212212221122211211221111111122221122211212221211221211111212222112122112212212122122212222221221111212211111121212121212212112122121212121221211112222211211121112212111121221221212111122222112112222212221212112112221111112222112222222221222111122222121121211112221211212122211212112111211212211122211211122211222222112112211222222222211112121212222111122221112211212222222221222211212121211222122121112122212122121121112212211211212221212112111211111212112222221112221211211211111112212111121221222111221212112122222212112111211122122111222112122111221111111111121121212112211111222222221212222211221221122122111122222112112121112222121221112221111222211122112122122112221211111222221211211221222112111112221211111222212121111221112222122221122211112212121221112122222112111121222221112121122111212212211112212211211211112111211111211112211122222122111112111122221221122212121221211112212112221122211222122121122212112112111122112111221112122212111221121112212221111212111111222211112222112212212112121121111121121221111222111122121211212112121112112121122222211112221121112122211222122112121222111212211122211212212111211211222211111122211211222121111211122121122212212212222112211122112112212222122211211212212211121211111122221112221212221222221221212121111121221111221211121212121211211211222221211112121211111212211121121211121111112112221222221112211121211222221222121121111211122211212212221112112221212111222112221111211121222122221212211121212122222221212221222221112111122211221221111122211111211112112112111111111122121121222122111112211112122221122211112122121222111212121222211112122112221121112211111122121111211112121112221122212212112221122212211111222121112211122222222111222112221111121122212222121112222121212221212122211122121212211222121221112221112112222122212211212222222122111112211212122111111112111111211112111222121112121122122211111212112222221111111111112222122211112221111111121211112112222212221221221122221122121222222121211121212112221112121222122222211112121111211221212211221212122211122111122122222112112222211121211111121111222111112111121212111111122112112112222221122122122111212122122111222211112212121221121212122212212211212111112211211211122121112111121211111222212211211112121211221122121211212122222222222121221112212112222221211222221112122122222122112121111121212211211212211121111212111212221212121111111212221112211122111122112122212112211211111111111221211222222111111112112222111111121222221111112211222211212222211121122111121121122121211222112121222111112222112122222112222221111222222112122212211212211222222221222221121122212221211221112121111122222211211222212222112122212122211112121112211221211111222221221121111121111222122111212222212212112212122121212121221222121222122222212111221121221122122122212111211122111211112221221222122211222112111211111121212221221122222111211122121212221122111222122121121212112112122122212221122112211212222212222121211211112222212122121221211211212212212122211122212111112212122221112121212111212221211211212212112211122112111111112221121211211212211121211122212111111112121221212212121221212211111111211122112112111221121211111211212222111111122112111111222121112222122221222121211122211212212121211212222111112211122122211221111221111111211212121211222221221121112122122112221122211121221212212111211222221211212211122221221222112221121111122221122122211211111112212211211112212121121212222111122211222211211121212221111222222212221212121222122111221121121122211122122211111212122212211211211112222212221212222111122211211212222222212212212221212212221122222122212212221112121222221112111121121221122211221121112211112211222222211121211111112212212112111222112212221221122111121111112212122111111221222121212121221122211221221121222212221222122112222121112111121222221212221211111211222111221121212211122222212222222112221221211212121111121211221222111121211212112121221121212211112212222212111212212121222221121121121112111111122112211111111121211122212222221121212222112222111122211222122212111111112222111221222121111111212212122221112122112111121121222121121112122221212222122221122212112211121122122222121112111221211111222221212221111212221111211112111211121122112222112221112222122212112212221112111112221221111111212122222211212222222122212211221212112211212112112212111212122222112112211112111111211111112121222221121212212112121121112221111221212222212211222111122111122212222122221122221221121112221212211121122212111211122111112221112121212221222111121111212222222212121221212212122121221111222112222221111212111121111222121211221222211121112211222112111121112121211222121112211221112211121222222222122221112211211212111111222211211111211122122222111121212222111121221122111222122112222211122211112222121222221121111222122122122211121211122211112212122221122221221211122122221222212212121121122211222221122111212112211112122121111222211221111222222121211121121112212211121111211222121111111222222212211211222221221212212211222222111221122221111112211211211121211221111122221221212222212212211111111121222212121222122121221112111212222121112112112222221211122121121222222221221122122221121121212122121212122221121211222111221221112221211222222222221112112112122222112212121212221112221112111211112122121212211222211211211111122222211221221112112111122222111212212212111221112122212121121212222111111112212222122212221221121121212121122122121211111111111211122112212121222122112122121112222121122112121111112211212111121111211212212122211122111222122212211211222112111121212222121212221122121121211111122212222122211111121211112222222212212111122221122111111111122221211212212121111122121211121122222122112122111212111212212111222111112221211121221211112112222211222122222121111212121221111222112122111111222212112221111212212221122121211111111122212121222122112222212221111122212121222211221112111111221122122121222211122212211221111221211112111121221111112222211211212212222122121112211221111222221112212212212112221121222222221112121211122211122122222111222221222122112121111212112212212211122222112221211211221112221121121121211212221122211112112222222111112112111121212111212111212212112222121111112122211222121111121212121112122212211211111221121222211122221222111121211221222111121121211211121111222212211211111111212211121121122211111122211211122212122112111222111121121122122121111221122112221222221222222222112211111221121111112111212212221212122211211121222121222222211221212222211222111221221122212111211211221121112121212211122221112112212211121222221212221121122221212211121222121111112221112112122221211212112122212122122121122221111111212211222121211111121211212111222122122111121121121211221211111122111122111221111111112112212212221122111111221111112211122211212221221211121122211222221212221211111212211111111122212111111121111122121122111112112222122121122112212121221211221221122111111211122221212122112111121212112111222221111121121121222122222112122212222111211111112222112221121221111212221121112211122211111122222222111111211122112111111212211111211212121222112111122211112221221212112122221122222112121121121111222222112111111122122222112121121222122121112222222221221211221221222212112111222112211222222221212111222222212121222221121222212222222121112222221221111212212222111222121222221121211222122121211212211112211121212221221222212111111111112212121212222112211221122111121212121221222121221222212122211221221211111212222112111121111222112121121222111121122221111122121111212112222222221212221112212112222111122211222112222221221222122122222211112121222112222112122112121212122211211212212122122212122211121111211221121122122211122121112212212111211211121222222212121112122211112212212111111122112112211221121122212111121122211211112112112212221122221222221122122221112222112211112222121212122122212111122121212221222211121212111221222212112211122211212211111221211221212122222112121212122222222211121112211211211212222121222112221122212112122122212221222111111221221122112212112122111211221221112222122111111111222111111112111212221212121112121112222111122221112112122121222121221121122121122211221221111122221221111212111222111211111121221222222121221212111122111221121212222112221222221211212221122122211121121111112212212222222211222122221221222211121112212121212112112122221221222121112212211212211121112221112212211222211112221111111222122112121212122211111211222211221121211111122121211211122111122121111112221122212221111122121211211221222111122221112212221222212222121112212111111121112111222122212112212111122111222221122221111222222211221222222122221221222112211121222122122121211211221121222211211211111112222212211221212112221122221122121121212212112212212212121212222221211112211112212112212112212221221111212212212121112122222211121122211112221212222111121121121212212122222111211221221211122111212212122212111212112122211121111211211221111121222121211212112121112221222122221211111122121122122111212122111112222221221121222121222221221112212222212211222222122112221221222212111122112111122221112121221221221211211122111112222122111212111122211122221111211112222112211121111122122212122212222112111111122212221211112121211122211122111212122122222122111222221122222111221222112222122112112212112211221122122111112112121111211222211121122211211121221221211121221221111121111122122112121112211112222211122121212211221111112211222211212121121112212112121121222221212221112121212212122221111221212221122121221211222121212221212122211122212212222222112112111211221122222111121222211121211211211112212222111211121121111222222212121122112212212122212112212212221211221212222212111222211222222111212212212222121211222212221122122121122121221222221212121112211122222111221211111221121222211122112122112221222111222121111111222121121212222211212112221122212122112221112112112112121122111122122121122212112221222111212112111212111222222112121211221111212121121222121211211111122112112211112111212121222221222121211122121212122122112211122222122111121112112222122222122222222222212111121222221211121121211121122112221111111221111221112212222212222221222111122221122111121111122121121222112222111121121111212222112112111122112212122122121111212212122111112212212111111111112212222112111121122111122212221221111121212121112111111222222211221221222112112112222212111112212221212222221112121111211221212112122112121222222211112112122111122211111122211121122211212111222211121121211111112122111221221221212121211212111121122122212211222212222111122111122112211221111122211211211212221122221211222222121112112111211211212211111111111221112212121121112112221122111112222212212112121122122211222212121221111212211221121221221122212112122122211121221211111122112222111112212122121211121222211222111222121211221212211121112112111112222121111212122222121121122221121222112112222211111122212112211222212211222111222212122121212122112212211212121221122112121212121111222222111221221112221112112111111122221111211112211122222221111222221222222112112211112111122112112111122121111212222222222122112212221111222112222212222122111211211212111112212212111122212212222111112122222212211111222112111121212122211211211222222222221121121122111111222122211112211122212121212221221121111212111211221112221111112212111212122221121121111111121121221212212122212122212112111211221112212211112212211221112212212111112211121112222111111222121121121211112212222222112122122112122221221112211122111112111212212222122111122122222211111222111111211122121221222122222211112112221222111111212122111112112111121122112211112211211211121222212112122112122112111111221221122211112211222222112112221122211111211122222212121222122121112222112112111222121111212121111122112112212122121112211222211221211111111222111221212111111211211121222111221222212221221111122121121211122121111222111111221121111222212222222211212111122221112112211112212212211112111122122221112211112121211211121222211121212112112212222212121122122112122211122212222222221112122111121212122121111111111211111222121112121222111212121122221212212112212222212212212111112111212211211121221121212112122212111212211121212211211211122121112112122222211211121212121112212212221211112211112211221222121211211211111212121111111221112212211222121121121222112211212122121121221122112111121211112122211111222122211121111111221211112221221112122122211121221111121122111112112212211222221121211121211121122121222122121111112112221111221212211122112221222221111112112212211221121212221221112222222122111221221221222111221211112121121111222221111111112112211222211111221222121222212111122212221222222121212112211211221211211221122111221222221111122112221112122111111121212222211212221211211221222121111111222122222122221121211112122222212112211211222122212111111211112221212211212112211211221212212222112121221122212222112221212121221212211221121111111122122121222111112212221222222112112111211221112121211122221221222111112111112122212212122121111122221122111112111111212221121221112221211222121112222111111111121221222211121221222111121112222122221111112112122112111111122212222212211221121111222212111211212212121211221122112112111121112211221121212112212221112122121111111211112122221112121121121112212221221211112212112121222222212121212111112221111211211211222222112212222111212212212212212112121122221212221211222212212122222212112222212122122112221122111112112212121112222112222221222221112212222111221111212221111212211121121211222211211112111111111122211211111112112212122122222222222111221222121122121121211122111112221221122222121112212221211222122122121111212221122112211222222121121121122122212212121212222111111112222111221122112111211221112122122222122111221112111111112211111112122221122211111212221211122222121221112122222121111121212212222212212222221121211122121122221212121222211122212122222111112112112222212212121121221222121221211121121221111122122112222221111112212222112112122112122211122211112221112211112211211221112112122122211212222212122121111211122122122222211222121211121121211212212111122212222221211212211112111121112222222112111212111111121121211211211112212221222111111221111112211212111221112222211211221211212212212212111111222111211111212221222112121122222122212211222212122211121122111222221212221211112112121211121112221212222211221112211112222112112222221222221212122221122211121121121221212212212112112211212121121111212122222221221111221222211121221112212222221212111112211112111112121112211112112222211222112122121221111212111122211121121221212212121121212221112112221212211111111111121112112121211211122212121111121211111211211212211222111221212112221222111112221211222212222221122111222222221111112111221111121111122212212121121122211112212122121122222222222122222212212111112122222122112222112212111222112212112221111221211112122222212211112222122211221121211122122221211211212122211122112221211212122122211111221111212221211211111222112112212112122211211122211111212222111122111121112112221111212222112121211211121111121222112121121211211122212211211212211212222211122222121122111121222211222221222111112121211222112221221212222212121121211222122222111212111212222221222111121211112112211112121111212212112122121212212222212221112122122221222212221111111221221111121112212112222121121211212112212112212111111222122121222112122122221212111122211111112111112212221212111112121121122121222121222211221211112122112121222212112221221121122211121122112111212112212212221121222212212212222122122212222222122222212211221111212222222212222222112211222111222221122221112212121212222122112111111222121212211112121111221121111121221221122211212122121122211221211121212222121222212122222122112121212112222112122212122122211211212121211222112211222121112221221212121122112122122211122111222111111111222112111112122112122212111122112112111212212121111222212112212212122111212221111111112221212122212112111222221112212221222211221211212221212112212221122121222211111211111122122222112112122222112111112211212111222211121122211112221111121122212221212121111211212122211111221211112212111221121221212211222122211112211112222222222121211221222221222121222122211222112212111121121121122111221122122121211212112211211222211222111121121222221121122211211222211212122111112122122221111221211121112212211211122121112121121112121221112112222221211211111222111211121221111122121212221111211121121112211121211211111222122222111211111211121222221121122212221121211222121111111111211121212211222122111212112222221211111211211122121111211221211122212211222221221112222212221111212111112121221122112222212212221212121111121121111222112221122122211212221221221111122112212211222112121121222221111121122221122221222222111222122121211121121112111122111212111122121112212211112112222212211112212122222221221111222121111112212112222112122212211122112221221221111111212221121222211111111121121221111121122121112121111222222111112222211122122111212111122122221222221111122222112222122211221121222222221122121122111222212111122211211111111112212122122121221222211211212212211121121221212221121222222111222212222112211112112121221121211212221121122211112212112122221121221222111221122221212111221222222112121211222222222122222111122121121222121212222221122122111111112222221221222111211222221122122221112111121222221211122112212222212212112222122221222212112122221212212112112211122211222222112222112122112111122222221221222122222122212121121111221211112222111112121211111121212111121212222222212112112222212122111121122122221212211211222122222121221212122112112211111211111211212222221111221122111212112222121212122111111111211111211122111211111121122212211221211212222212212211112212112222122111211212221222121211112111122222211112121222222112122112221111222221111112212212111212222112222222212112212222111111112221211222121122112212121211111112211122111112222121121121122112212122211112112111211212222121111111111212212222112122111112212121122122212211112121121211122211121111221112112222122111121222122112111221222121211121112111122222121111111222212112211212212222112212122112222212112221112112111221112221121121212212211122112221122111111221222111112122112122211121122112212221121212211121112211221222212221212111211122112221122221122211212112212112111222211111121112121222212121212211222211111212212112121121111111122112121122122122211122221211212211112111212211121112111112121221122112211122212121122212121222211111112111112121122122111211211211222121112121222211222211222121111121111221122112122112211221121121122222112111222121112121112222212211111221212221212122122221211111222222121112211122212212222111211211211122211211212222212112212212121222212112122111211221111111222121111222221122121121221211122112111212121222121211212212122112122222221211211122221121122212122122212222221111221211222221121222222112221111221211122222111111212221212121121222122111222111212222211111111122111211122111111111121112121111222221211111112221122212111112212122111122221122222111112122111111112221121211122221211121111222212222212122222212211221221111221122211122122111121111211122112212211111211122221111112122222112121211122222221112211122221112112111111211212122121211222111222122211121121221111221111212221222111222112111222121212121122211112121111122112112121211221212122111111211222222211122222211222121211112221222122111212122111112112222111122111212122221211121122121221222112121121211111111212212221112111211112122222121112112221122111211221121122221211222222221211122111221121122221222111222221111221122222221221222211222112111222212211112111211112111222211111211212221212111112122112122111211211211112122221111122121111121212111122221122111121111211211222111222211122122122221211211121222122222121221221121212111112221211222111121221211122211221222112121112221121111121122222121122221122122211122222122212221222221121111212111222221121221222112121221121211211122221222112121212212211111221221221212121111222212222221211112221221212122112212112112111221211211222211121221222122212111122112112122222222221111222122111112212122122111122122112111112221121112222112221121112121112121222122222212111212222112121111221212212112112122111112122122211221222211211112222111211111111221111221222121221212112212112212211111112222121122221222111211222112221222222111212111211111121111112221121112211121212121221212122222111221211111211222122121122122212121111121212122212222221212112222122221211222112221221211122222112121122122221221112222122222212112112122112122112111121212211122221121111111222212221121212222222211211122122111211212111121222212222222222222222222112111221212221212122221112211211121121221111121211211112111121112211222111221112121222111221112112111111111112121221111212222112221211222111111221211211222111122211222212122221211122112111112122211122221212111122121221212222122211221122112221121221221211211111211121121222121121122112112112211122112111111212112211111111222122221122211122222112122212211121222212212211122212112221211222212211121221212121122111221211111221212122211121222211121221121221112121211111111221221211222122111111121211221221222112222222111111111211122222122221112111211112111221222111122212222222212122112221121122212122122212211111111211212121121112212122111112111221112211121221212211212112122112222121122222212111111212222112211211222111111222222222221222112121122112212122222121122121122221222211111222212122121111111222112222212221112211111112211122111221212121221122121211121221111111122111211111112122111121221122211121211121112222111211111112121212222111122112122212222111121122122222112212212121122121221122121121111122122112111122122112121121111111112211221121212221111212112122222111222122212211121112111211221112112211121112121112122122122222121111121122121221212121211221112222212112121112122112211111222212221211211221222121122221211221222222212121211211122212112221122122112211122222222212211111112221121212111121121112221111221221111122121212211122121112212221212111222221211212211122221112122222111121212212112211112112111122111111122122112111211122111211112122112121112111221211221111211212212221211211212111111211221111221122211212122211112221112111122112221112112112222221212111221212112221112111122121111222212221221112221121212121121212222122112112111121221211221111211211122222221122222212111111211111111221221122121212121112112112221112221222121222112112122211222211112212222211112112222111111221221222211211222111112211112121212212121212212111211122211111122222111111122222111111211222212221212111221112121222221212121112211111112111211121122122222121112121222211211112121211122112121222122111211221122211222212211221221122211112122212211211112211112121112221122121122112122212111211112212112112112221212112122222221221111221221222122212221121212211212211112211112222122112112221112211121211221111111211122112221112121122211111221221221222222221212221222212122121122211121212212222221222112121212112111222111222221221121222111112222222221111111212111221121222112222222111121222112222221111121222211111221112112112212221121212112212111111212122122222112111121122211211211122122211212212211112122222121212121221221221211211221212212222112212221222122111112222211111111222212212121112112121111111212222211211112221122121112121211212121221212221122211122112212222212112212211221121221112211212122122112222112211121112111111111112221212112122211111112122222112221211122112222122112211122122122112221122211112121111121222122221121212221221212111212121222122122111111221212221111112112112221211111221212122122222222121212222112111112122222221222122212121122112111211122121212222212111212121122121111212112112111222211221212122212112212212212111122122211111222212111212212111211222222121122212212211122221221111212121221222211212111211112112112122221121122122211121221222211222122112111112121222222111112112211212122121212111221111222111211211212211212222122111212212111212222211222122122121221111222121211212112111111212112112212111121122122212122211221111122111222211211111212212111112111211111121212221221221112211212212212211121121212212211212222121121121222122211212222112111212212122112211211111222212221212212121221122112222111111221122222111121222222211111121122212121122211112221222121122112111112111122112221112112221211112122112221222222212222122122212221112122121112111111221221121222122112222212121111112221112222212222212211112122221121211222221112222121121211121112122121122121121222122112122211122121122122212111112211112221211211212221121112121112221112221121111221112112112211211121112111221122122122111112221221122121112121211221221221221212222112222122221122122221212122221122122211121112211122211121122112121112121222112222111211211222222212122221121112222212212221221211211121121222111211222122122211121122221121121212211111122111211122111222222122211221111221112112122111222211221122111221222121112212222222221122122222121211121222221221222112121211112222111121112211112112122222111222212111211122222212211122112222222111221221221111112211112121111222122111111222122212211211222212112222222112112212222111212121212111212212221222221212111211111212211221121111112212111121122222221112222112121221122221222211111211221112212222221121222221111212122112121212112112222221211121121112121111111211111212112222122222212122222121111221212222212111211121222212111212112122222112112121221211111122222212222221222221112212112222221111222122122222212111211122212122211211112112222112122211211112211111221111211222222211111122222212212111222112212221212122122111211222212121111121111112122112211122221212222112121112112211212221122221221121111221121222111212112111211122222111221221222111211212121211221112211222221222221212111212121221211212222222211212122121211211121212211212122111111111221222221212212111122122221112121221212111112122222221211222211122112111122122212121221121121222121111222121222212112121211122221121221212212111221211121122121212221111122212112212121111122212122111111112122112222112122121121212222112121121122121112121121212211211111121221212212221112111122222112112122221122121121221211212122211112211221122122112212211221111221211121222212111222212111121212112222112112221111112212112211222221221111122222211222211211121122121211122221222221212222122211212221121211111211121221121111211121112221112222122221122221221121111121211222221111122122112121121221211211212221122221121122112122122122211122221211221211121121111121221111221121212122211221221112221222212211222112111222212112221121122222222121122221212111212211121121122122121122211212212222211222222211211222212211121121121121221112121111221212112122122122112222221221122112112221212212222221111112121121122111222222212112211111122111221122122212112211221211121221211112112212221221122222221221121211111112122111111122212121212112222222122122212111121211221111121222112122112112222111111212112222222111111122222221222112212222211111212211112212221211111211112222221112122121212212221211112121211121221112121211222121222121112211112121211121222212222211212221212121121212122212221222122221121212211222121222222112211122111111121221122221221112211212211221222221211212211221111221211121122111111212222122122212221211211122122112112221121122112221211222211122212112111112121211221221222112111212222122222121112211222111121211212122221222221221212221122121211122112112122212222121222212111121222221111212122222121212122211221112112112212112221221111211212122211122111211122122122111211122121211112122111121112222222121222122121122222112121222221212222111122121121111121212212222122211211122121112111121111211112112112211221121222121121122211212111222122221212112122212112122222111111221112221221221121111112222112212122221212222222211112122121221212122121211222212212121212122121122211122112221212122221211211222212121221122121112111211211112211221212122211112211122211121121222211112122222211111221221121222111122122122222221222212222122222112121212211121212211222121121211111222111121112122111111222211112122222222222122121212122112112112211221112211121221121211212121211121112111211122221112212211212221122212112112121111211112122211211111121122212122211111221212112212212121121212222212121121112121222211112211212111212111112222121221211121112212222211121112222212212221212121221212121121211121121222222211111122222111111222122222211112221112222212122122211222111111221121222212111111221112112212222111211112112121212122212111112121112212111221112221122212111121121112211122122122111122222221112111121221222111121121211112111111222112112121212111222111211112222222212122222112122211212111222122111212122222112222221112211121122121221221211222212221221221122112111121112122121112212221212221211111221112211212211112212212111211121222121121122212212121212222111211221222211212112211211221222121212122221221221122222112121112222221121121122121112221212112221221122122121121122111121222222221221211121122212112111121111212211222211211121212111121212221211122121112112212222212222111221222121122221212221221121111111112221122211211122211221121222121111112211111212111212222121221221111212112221112222212222122212222212221212212221211211222212122121111222221122222111222121112112121212112112111122121121222221121211211112112122211121212222212112111211221121212122222222112212121111121221221121111212221121111212121221212212211112222222111222222221122112212112121122211222211121211212212222111112111112111221211221112221211111211111111221111112222111221112122121211221222111222211222121122122212221211111112212222122212221211121221221122212111221122221122112212221112211212122121121112122211122212112112122112122221112211111221111111222212222111121221221211112122221112211121212211221222122222111121221221221112211222121212111122112211122121212111121122122222122211121112111212122222222211122211211111112112221222222222112221221221222111112222121222112221211212221122221222111211212211121212111221212221222222212211111112121112212111111211111121112212121112122111111111112122122122122111122212111122111121212122211222111111122112111212111111211212121211111211111211111112112122222211222221212121211212112111211122112112111112221111221112211112111211222221122222121122212211121112222212211212112111212112121121121221121211122112111121222111221111121211122221121121112112211212112122121211112112222112211112211221212222211221212212222222212112222121111122111112211121212221121112221211112122221111212221211121222212211122111221122211111222111121211222222112211211221221122121122122222221112211122222112112121212221112122111211221121112212122122211211111112121222211212221222112121112122222211222112122122122211212221112111212211112122212221211222212122121222211211212112121222222221221121221112121211112121121211222111122111121121121122211121211222212122112121111222111211112111121222212112122111111222211111212122211212221212121221121112211211211111211212211111122221112122211121112112221212121212222121221212111121212112122121111121111212122121221211111221122122121112211122112111122212221112121211112121112221211111212222112122222112211121111222222222221211221221212221122111111122222112212121221111211212211121221111121212112112122111221111121121211222212112221122121221222122122221122222211212111212111212212221221221221112222221121111221121222222211122122221221212221111111221122112112222122111112111222122222222111212221112221222222211221211221121212221121121121222112121212212221221221111221222111211222111122112222211111211112212111122122221121212222222221122222112121222212212112111122221122222212122121211212111121122221122212221122112111212122221122221222212222211112222211212121122122211122121221121121221211212111222112212221121212212111111112211112221221211222122212222121121211212111221121122121211112121122222112112122122222221121222122212212222112212111221212212221122212222222121211122122122112121222121112122112111121121212111222111211211112221222211211121112222211212211112111222211212111112121212121122222111221211212121121212212212122111111211112112112112122112212121222212211212112121212221121111111211222122112221111222211122221222222121122121222221211221221122112121111221111121122222111212121222211212222112222222121212121121121112122211222121212211122222222221121111211221222222221221121121211112112222212121111222211211222112111221112112112112222111221221121221122212212112212222211222222212112211111221122222212121222221222222222221212112122222122112121112212211221212221222112211112112122222212121211122212212211122212222212211211222211221122212121221221111222121211222212111221122212222221121121112221111111122112221111221221211122111212211111121211211221212112221112212222111212112111121111112222221221121222122121221212121211211122221111222221221122211112211221112221222211111221221122111122222212112211221222221212212111211112222221121111221222221211112212121211121211221112211221211122221211212222222112221111121111221122221121221222211121122212112122122111211112111112111121122221222222222212122121212111112221222122112112111211111212212211112211221222212112111212221222121221212221121121221112222112222121111111121111211111221211212112112212212122122211222112211222221112221112111111111212211111221221122221211211221122212122122211212221121111221112111112122222111111221111121111212122211111211211211121122121112212121111222111122221211121122212212122111122212122211111122221221222121212111122112221121222111222221121111222222111122221112221222121112222222111112212222212221122111112121122122122222112221222211212111111212112112212221212221121212221112222112111121221122122112112212112111212211222111221112212222212121111111112121211212122221222212212121212121122122111222122222222211211211111222211111222111211111111221121212212221211111222122122121112221121211221122121112112211221122122122222211122211212221112212221122221212221222122211222111212112222112212122112122122121121222122122212212121212221122122222211222111111212212211212222222112112212221122211222111111222212221121121122211212212212122221221121122212111211111222122122211121212121122112211111111122121121212111111211112221122112122221212211211111122212211111121212122212211111112211211121222222221122112211212122211211211222211111211112111211221112112122121221212212112221222211112212212211222121121121122112222112212121212122211121211222122211222112222222212222122112121212212112122212122111211222111212121221112121222112111212211111212222112221221221212111212212222212222211122121112221121221111222221221112122122111122111212222112212211111211221122221111121221211212112121121122122212112111122212212121212211111211121221112221212222221221121212211112221121221212112222221222221212122111122221122212221112122222211112222112111122111222121221121112111221222222212212221121122212121222212221212121111122112222222211111221121112111222122212211122221111121211121211122221222111111221112222111221212111111222111111111111122122211221121121111222111122122111211211121122122222112222221222222221111122121212211122221112212122222222221121222212211222122122211222112111112121212122112221122212222222121211111212122122112111112111121111222211212222122111222121221212222121221212112112221222111212122112212212112122211211221122121222221121212121221221212212112222221221212212121221212121121221121211211212221121111212211121211222122122122221111222221221122211221211112222121222112221212122211221111111211212112122121212111221122211221122212221221111211112221112112122212211112111211211211121122111221121212211122111111112211111112111211212121211112122211212112211112212111222112221212122222111211122211121121121212212111221221121222221222221211121111212211211111221111111112112212122122222121121221222121212212222211212111111121221222211212211212112122222222212121212221122222222222111222211112211221212211112211212112222222122121121221221121121222211221221111222112112211222211121111222222221121121212112222121212212122121111122212211221111111121212112111121222111221221111111222122221121222222112222111121211111221111211122121122212122112222211112111222112211211212222122212221221221221212121212122221111111122212211222212112112212211222221121112112221122112212122112222211221211111111221221112222222212211221112212121122121111211111112121211211111121221121111221112122222211112221221211112122222221221212122111211222111112112212111211222121211122121122221222121222212222121221112111222112112211112212121111222221111212112221111222111111222121211222212122122212112112221211222112121112222222222121112121121111222111212222221212221122112211122212211212122111121111222121222211221222111222121111212111211121211111211211211121122211222211222212212222222122212121222222111211121122122121221211212112112221122122211121212111212212112222221212111222222221111222121221112221122212211222221111111211121121221112111221112222222122221112111222221212211112121221211121112212211111222221121221111122111212221222211222221111212221121111122111221122222222221222211122121222121221211111212221121222111222112111121111222222221122212112222121211112112221112212111211211112212211212112112122211212211121212111222222111221122112212211222122122221212221111122112221112211211122112221211211221121221111222212211221122222122122111122121222121121122121121221212121121111221222111122222211121222222111122212212212211121122112211221112221121211111111212112122112111221212121121121212221211122212111122111112211222121211111222111212122211221111211211122211121212222122222212221222121222121222212212111111211221122212112112222111112111222221221111112211222122211122222221222222221112211121212222111121212221222221121121221111112222112221221211212221112111112112111121121211122111221212221122111211221112222112111221211112111221211122221222221221221222111211212211122122111122121121122111221221111221222112212222111211111111211111111222211221122121122222212122121212112212111222221121121221121121121221121122222221211212121122211212112222222212221211221121211112111222111212121221111112222222222121221121112222211112221122221211221221212111212111122212221111212122122222121211221111222121122222221222111122222112212112122112112112121122122111222112212211122122212211111122212211121111222211111112112112221221111222222212222121211212112221211122211112111212121121111111222211212121222211221212222121122121122112211111122122121221111121111212122122121212222111222112112211222222211112212222112111221121122111112212221122122121212222212121221211221221122121112222122212112111112111221121222211211121111111111112221121221222121121111222212212221111121111212111112211121221122112122122111221212211211222111121112122122222111111211121212121121122212212222122121122122121212212122212111121112221212222212121122122221212222221122212111112111221122211212122121112212112212212211212222222222221121121221121122212121111211222222111221211111211212111221221111111121122211122211222122212222112221211221122221212121112222221121221211111221211121111212211111121211221222211112221122222122211121112121221122222111222221112212222112111212122121221112211212111222212112112122122122212122212122112121221212222121211121211111222221211111222111222111112222122111111211212211121111112112111211112121222121221221112211112212221112121121212211111111211122111221111212222111111221122212121121122112222221212221111222112112221121222211121112121221111211112121122212122212111211112211111112212111111221121221112212222211121122112121122212221212222221111211111112211121212122121121221221221122211211212111111211111221121111111212121222222121122122112112122121112112121222222121111111112212211122111111111222122121112212221112111212112122111112221112111221211111112112112222211121111121212121122121112212122221122221212221111211111112111112111121121111112221112222111111222211212211112111122222112112112221222121112222111222222222221112212121111111221111222212112111222112122212221122122111111221121121122222211112221211211111121112111122122122212111212122121111221122121111211211222122112212121121212122122221212211211121112122112111211222221122122111212211222111221222222111221121111112122211222112222222121112211122112111122122222121221212111121121122122211111112121211221212221221112112112121212122111122212221222111111212111121212211112122221122112211212122211122222122122122121112221222222121111222122122121122222222112122111122221221121122212212111221221221212112212221222211111211112221221122111221122222222221122221122211222222111121212121112111221112211212121121211121211212221122121112111221121211111221222221221211211121221222122221211112212222222121111222212111211122121222121211121221211122212121212121121212112212212222122121121111211111211211112122211212222111122121122221212211122112212121222122221212212111111222221112111112121212111221212112212111112122121122122221112111122122212212122112111221111221222112222121111221112212211221221221111112122212111121122112211111211122111222121211222111212122212221112111111122222212121222221222122221221212112221122111112112122121112221111122211111211212212222121122112112212221222221111222221222112111222222221221221112222121122111222222122212221121222221222121222222121111221121212122121112122121121212222121212111122212111112211112121211112212112221221112221122211222212212222122121221112221121211111112112111222212221111112122112122222111212112111111221211111111112211212122222122121112111122212122212211212121212122112221212212211111111211221111112112111122212111121221211211222111222212211221212111221222211221221112122112222212111111212111212121212111122221221211211212221122111212112122212211212112112221211111221221112222221211221112212221111112121111221112111211122122221211121121222122221122122122212111111112211212212211112122212112121121111211122221221221212121221211111221122121222111221212222212121211112121222222211112212121112211212121211121122122112111212112122121221212222111122122221211111122212221211212211111221112222122221112222122222112122122112111221222121122111212221211121222212222121112212222111221211122112112222212112212111211122222111112111111211112111211212112221211221121121121121211211212121212222122121211121221121122111211212122222122122122122222212122222122211212212222221112112121221112212111211212222121111212111222121212212111212221211221122111121222121121221211221122222212122111121211122122121122222211221112211212121111221222112212121121212211111211212221222121111221121222222111112211121112222121212112121211222212222122121111112122112122112212212212222212122121222121212221111111221211112121212112111211111212121111212122221121112122122222212121111211111221112211221212121122122122111222111221121212121111112212121221111211111211212121121211121222211221111111212221222122112122121212122211221222212222211211112222122111222111212111221111111221122211122221211122211221111121122112112111212121111122211212212221212212121111211112212112222222112211211122212111221122111112112111222221212112121122122221111212111211111121211222121211111121221111221111111121121121222112212222112111111221222221111111221212122121222122222221111211121111222212211211212121121211222121221222121222122211112212221212122211222122111221222212112112212121121221112222121211121112121122221122211112112221222221121212112111111221222122112122112112222211212221211212211122111222221112222221112212121111221121221112111121111121212211221121211211111212122122121222122221112111112212221122112112211121222211122121111112121122212222222121122121211112221212222221111112211222211121111221112121122212222211122121222211111212212221111121221111212211211121221222222222211122221122111121122122221122212211222121121121111222121122111221122211222212122121122112211112212222121111211122222122112111212112111221122111211221122112112212122112222111111112211122211211222221212212221122212122112211212121122222121211221222112122112211211112221122212221221221112221222212221212121111111121222212222121212212121212122112222111212111212111121221212222211112211221211121112121222122112121212112222212212222122121121122221211111211112111222211222121111221221122112121211121122121222121211111112121221211222221211111111212212112222112221212211112221111121211221222122121122112212212122122211122112221122212212212212121112111211112122112222112112122211212122212112222221211111111221112121221212112211221211222221222222111112111221221221121111222211222121212112222112222211211122221112112222222122211221222211122212122112221212222121111221122122211211111111112212121212221122112122212122211122122211211222121212211212211212211222222111122112111122222212122112222211222221212111221122222212212211211221112121222221112211112111121112112221221221221221211212211122221221212222111222111121211222111212211212122221212122211222222122121211112221211122221112112221222211121122212211112212122221121112112122121121121112222211221221121221112112222211211221111222212112222121221222122221112122111121122121122211222222112111222221212122121211222211111111212121211212112122111111211222211122111121222122222211221121222111211121111121212222111122112122212211222211211222112122212112212112111211121211211122121221212121122212221111111211221221212212112221222111222122112211221111121211121121211122112211222221212122112121122122221122222122221222212221121112212212112112121112222112111211222212222212122211212111221111122111211211122221212222211122112121121211121211122122222222221222122121122121221222111112121212122121212212112122112221112221221222111221212111221122112212112221222221222112212212122112222112112111122122121122211222221112212111211221112121122111222121211121112122212121122112111212121122212212121121221221112112122222121222212112121112111222222111211111212221111211212122221221212212111112122222221121121211222222212121122122212221112111111111121111122212121122221122212111112211112212111121211112122212111212211121111122111122221111211122212112221112122211222222111121221212121112111212221121222221212211211112212112211121121212112111222221222111211111112121212211112212112122212212211121221121221211111222121111122122111211211222212111122212111211122211211222221122221222221212222211112221212122122212212221222221122222122121211221111112121111112222211221222211121222111212212121122221122222212211112111121111222112212112221121122211121212221211112112122221111121221122211122122111122111121212222121111121112122222222222122111212212111112121212112212211112212111221221222121121211122122221221221112112211212222221112112222121112221122111221112122112111121121211111122122222121211111111112111222111222122122122112121112122111221111111222121112122222211211122112122111221222222221221121121111212221111212212211212211212212222211111121112111211122222211122122112211121122112211211111211222222221212122221122211111212122221121211222212121212211221221211212122222122212211212211122122221212212222112221121122212211121211221211222112211212221221222111211111211112221212121122112112212211211121122111111112111221121211112122221111111111121211111212221212222211122212121111121221222121222112121111122122121111211121112111221221221111221111222122122112222112221111211222221211111221112111222122122112121221111221121112211221111112221222222111122121111222211121212212222221222211111222111212212122221221222222211211212122211111211111121121221111221221121112111112122212212212222112122121121212122111211121121221111121122222122211111221112222121222122122211111222211111122211221221121122222111221211221112122221222211221212112111212222221221211122211222222222112221222111212121211122112112122112122221112221121222212221121112212211211221112122212122121121221221211211122112122122211112222112221112121121211122221122212212112211222212212121222111121212122122211121122211221122221221111222121112221212112111112211222111211221222121122221111121221121111221112122112221111121112211222122221211211211121121112212222212212121122221211122221221222211211212212212121112112222111112221212121112222121121211211212111111212212221211221211122211212211222112212212222212212221222121211212211212212221112221222222112121221222122112211212112212212111111111112222212111221111211112212112211122222112221212112211211211211212121122212112222212112121211111222112111222122211111211121212121212122221122222121221121221212211121221122222221122212211112122111122111222111222121221221222221122222221111222211221111211221222212112121211122121211211111122122121121122112122212211211211222121111221212112222122222211212212112121212112212221211212121122221211222221211122111222112211111121122222221221221221111121122212111212112211122121212222122111122111222221211112222221221222212211121111122122121222211211222212122122222121121211212111221112122111111111221122111222212222222212111212111211111212112112212212112111221211112121111112122122222211112112212211212122111212122121111112112212112222212121221212121222111222112121122112112111211112211222122112112221222222212122112111112121212222221111221121221121211122122222111122212212221211211121212111122212122122222121122211211222222112121212122112112221112122121212221122221122122221122211212222221112122221121111112221111211212111211112212122221211111122122111121112111222111222221221211111212122122112212112122121221122121112121211111121122221212222112122211111111121222212111212112111211122212222211211211121121122122122212221211211212122111212111221212112221112212121111221222121122112211222122222111121221122112221121222212112112222122221221112211222121221211221221111122222122112221121221221211112212222121212221122211121111111121122221111211222111221121211222122121221221211112111111221222212111221212222111211222121221112112212112221212221112121111222222211222112221222211212221111211121221111212222212211122211212212111222111122121112122122111212222212111122211112111121221222211112222211211111211111121121121221212112111122222211112221221122221122122222211211212222112222122212222122211121122222222212221221221221122212222211111221211221212122122212122111111112221121222221211221121212221121121112122212222211222122212212122211222112112111222112122122221122111211112221211121222211112211121121121111221112221212122122122211121211122222212212211221212221221121111111222122111121121211222112111221221212211122221222211212211121222221122212222111111122211111121121122121122222222211221122221222212122221112222221122221222111112122111211111211221122212212111111121121112121211111122222211122222212121121211211122221121111222222221112222212211122122221121122122221222211212112121121111221212212221111111221121112211221111112221212222222121112122222122211112122112222121221221111122211112221211112122211112212212222211112122122122221211222122211111212211122112121112112111212112221122122112222212121212221121211222111121221222212122221122212122121111211121211212111112122122111222212121121121222121212122121112122222212122211222222121111112121121122221221122112122112212222211111222112212211121222212112122121111121111211222122111122111222222212111211111212111221121221221211121211222222111221122222222121122111212222222211121112221222222212221211121211221211111211211212122112121222212211111221112212212212221112211121111111121212111221212221121112222121222111111211111221221111112121112121221121212221222212211221211121212212121122112221211121222112122122211221111111112122212122221221121111222212211211111211212112121221211221211222222111211211211222122221211112211112222221222222111222111122112212222122121112121212111112111112222221112212221221121221222111121122112112212221122111211111111211222212222121212212212221211112112221111221111121111212222211221211211212112222211121211121211111122122112212112111112122121111221122222212112122121111122212122121222222112111112121112211221112121112112221221211111211222221112221212111211121222112112112221212122122122222122111212211111111112121122221121121121212121122111212121212212222221222121111222111112122111112112211221121112112222211212111211212221122212211112112212211212211122112212212111121212212212221221222112111121221211221121112122122212212121121121211211111112212212121222122121121212121111222221212111111111211112122212122212121121211122211221211111212221221121112111222121122211112121222212111122221212212222112212221122222211121122221212222112122112121212121121122221112221211122112112111221211111221111211221112222112211221121212222111111211212211221111221222221212112221212221121222111212122211121221112211112211211211211222121121212221212211111212122111111112212221212222221112221222121222111122112121211212222222122121111222121211121212122212212222112111122122222122122112122111112222121122222212112111211121211222112211111121112121122121221221222112222122121121122212121112122111222121121221222212122211121212212121212212121211112122212122222121212111222211211112222121222122222112111122122212211212122121212121111222212212122112211221121221121222121212122221122111121222122111222221122121211112122112111221112112111112122122112112212121111111222221111211211222121122221221212112222121111211111222222222212211111121111222211121222122221211212122211122121112212112112121112121221111221121221112121221122112212212112122122111221212211221222222121122211121212122121112211112222122211211122111221112221112211111211222112111222211221222221221221111121122221122121112222221121222222112122222112112122122212122222211121112122212221112222112122122121121212211112221212122111212121212112211211122111122112111212121221221221121211222221111211212212212111212122122222212221211122112111222211121111212211221211122221222122122112211111121111122212221211112212111211211222111212212212121212221112212122121221121222111211122222112121122121211212112221211112121121211112211112211221121121221222111121121121111222221122211122222112221221111221211211111121222121221221211211111112122112221111222111212211221222212121121111111211122112212211121111111212112221112222222222211122221212112221122211222212121212121212221122222212222112112111111111211212211221111212222121121112112122222211122212211211212112222211211121212222121212211221122221212211112221122121111121112212111111211112121222212122222122211211112112122122112122112211212211211212112112212221212122212112211211122111112221211122122221222212112122111222121122222211221122211211212212112121222112122221222111111221112221212211221222212122122221111112212222222221212112221111212211212112212121221212122221121121212222222211221121111112211212122112111212121112111221122211122122112122212211211122221121111121122222221112211121121211121212111122212222122111222111121221111121112222222122211121122122222122211211221222221221212222211111222111211111112212121212112212211221221121211121211122222121211212222211122122222121222211221221212222211111211221122111212212212211111221211211211112211112122121121111222222111222121222222212221222211111121222111212111122111111212121121211222122112112212212221112222221122111122121211222221211211111122122112212212212122121122211221121221111212222111211221111211111212212221111112222222211121112122111221112121222112112211212222111112122221212121222112122212211211121211222212122222211221211122111212211222221112222122121122121211222212222111121112112221212112222221221222122122121211122122122212121222221111221212222112111211211112211121111111111112112222211121222122121211121222111121212212212211111121112111121212211221111111211222222112221212122112221112121212112121112112121111111211221211111221222222222121222222122212112122112212122112222212121221211212121121211221111211212222212211211121121111222211121121211122222122221111122212212211221222211211111212122211211121111212222121222111211122212212111212111121111121221122111112122221111111112222212122212121122222221112121121222122221111211112222122212211222122122121111212122121212122211122112212221121211222212122111122121221211122212122211211221211221211111121221112212212222122112212212211212222112212112122211212211212211221122222121212221121112111211122111211111212222222212222221211122212222212212211222211211212222222122111111222222221122112221211221122111112112221122122222111222122212212212222112122221122211221211122221221112221112222222121111111122112222111211122211212112122112212112211221212212222112212222111112111122111112222212222222111211212122211111221122111111121222121112211212211112121122111221122212121222111111122112221212222122221121121221121211112112221212121222222221212111211211222221111121122222121122121122211122112121112212111121122211222121212112112211111211222122112212211212112121222121211121112112211112122221222121211122122221111121111121222121212212212112212112222211222222112122222221221211122211111211221112122222212121111112121212222212112121122211121211121111211121111122122222212121221222212112221122121122212211122222211111121122211212111112112212222112222211121111211221211122212222212121122121212222121111222111111111111221222121121211112121121111122212121121121212112112221221212112211111211222221212222122111121122212121111121121111212122121111112221221222122211211122111121211221211112111122121121112222211122212222221222122212122211222222212212221111221112121212222111221222111112122121112112122212212212121121111211111212211112211221211211221222111222221222111221221212212221212121212211212221211121121112212222122112111211112222112211222112212112122221221211221222222122121122122211221112112211212222211111111121222121211112112211121211211211211122211222222212121111112211212122122222111112212221212111221111211212121121122212121211212222121121222121121121212211212111112212211222112211112111112121222221211111121112222211112121222212111111111221222112122112221222211211112221212121222122111222111121111112122212211122212221121112212211111211222122111212121121112121111122122111111212112222222222221121211211111122222211111111111221122222111112121211122222111212122111112111121222221222122212221122121212121212121121111112212222211121222212211111221122211221212222212211221221121121111111112222221112122221221111221222111222211221222122122121112112111112212112221212212222212211221212222112111212211121122121222111112212222212212211111222221111122121221211212111222221221111222121222121211212111212222221211212111121112222222122211111112222121221122121212211222222111122222121221222122222112222221212212112212222221222221212121211222122221221222122211222222222221112111222212111121112122211221212121211112122121221112212212211212211111121111112121112211121121121221112221211222212212211122112211111212122112211111121221212211211211121211112222222122111212211112111121121111211111222112222122211122212221111221212211121222111211112122222111221221222211222212112111211111112122111211121112111112122121111122211211121212121121112222122212122111112212112221221222122212122221122121112211212221221121212221222212221122121221211121122221212121221221222221122211121111121212121122222122121121121111111121112121212111222222121111212112221122111211121122211111212112222212112221222122222112221121212211121212122211121221211222121211122121122112221111221211122112212211111211212211222112121211221221211212112121122222221112122112121122212212212222112212211122212112112112212221211222222211212111111112121212121112112111112122121211112121211122222112112122121221222111212221122211211112211121111211111112122121222211112121112122211122211121221112111112111211222122111211211211111121121221121121221222112121111212221122111212122212222121212121221212212112221211221222212122221111222111121222122221121222112211222221212121221222221212221212211122122221121122221112112121122111121222222221211212111222112212112211121211222121221222221211112112212121211222121121121121212222122112111121221122111212121212211211211112112122211111221122112222121212221221212221212221122121212122211112122212222111222111111122112112121212221212122222112211122122111222211211212211112122112212122211112112212222211212222221112112212211121122122212121211222122221211122122211122112121211211222212221122111112222222112122112121122211221212112221212111222222112121122222111122221211111211112122121211112211112122212111112121211222221111111211112112111122211221121122212221111212211212222221121222122111211111221221111121221211222221211122111122212122122121122111111122212111221121211121122212111212211211212222212212222221221222212221221221111212222211121212211112221121221122221222121221111212212222111122122121212222112111222112112111211121221211221122222121111122212211111211221121122211211212111112211211122122111112212222221221221111121122121222111211122111222121111212122121111222111212221212221112111221212112111121222122111111111111121221111222222222122222211121122122122211222212212111121111222222222121211111111112221211111121222111112221111211222111221222122221112222121122222221221112111122121112121211211212212112222121122112111211112222122122122222112112121111211221122112122222121122121211222121111222111111111122211212212211221211112121222211221212212211212211222211122221222121212122112112112121112112221212122112212212121112221221211112122212111112212211121212211211221121122111222111211112122111112111221211111221222122222211112221122121222222121222222112222121211122121112212112222111121121121222222121211112112112121211212222112221121112111112211121111211212212221222122221112122112211111222112211111121222111122212222122111221122211111122111221211221222212122221111112122122211211221112212111122212111222222222221122121122111212212221212221222221211212211222121111221121112122121121122211112121222212221122111112221122222221121121111112111121122211211222211122111211211221112221111212221221122112121211121211111211212112222122221212222121122122121221211212111212212211121122112211122211212221221111122121212112122221112212212112111211211121221211222122222212122121211221122211221121221211122221112221121212111121211121222211222212111221112122212122222221112211211211221112112221121112221121222122111121221112122212221121212111122211222221112111211222211122212221211122221122111211222212212212212211222111221221111122221212211211211221212121121212221122211111122211222112111212121222212222212121121112111221211122111212121212212221221221211222122122111121221211121121212111112211211112112211221211122212122222112121112212212122122212221212111222212212211121121122122222221212212221112121112122212212111221122121221111122122222122222212211121121112221211212112121221211111222121122122111221112211222211221111211122122211121122221222111121111111211112112111121221112212111212222122121222111112112222222112111122221212112121111112112112112122112212211111122221221211121121121111221211221212122112112121221211211121121222122222121222212122112121211111121122211221212212222221222111121111222211221221111121112121212112122121111121121122122122221212211112121122212111212222112122112121121121112211122211221121122221222211111222222111112122211211122112121111112222221211211111212122222221121112121212211122221121112111211112221121211122212211221212121211111112211121112122122222112121222221222221122122211221211122222211122121221211211121222122121211212111212221121111121222112121221122121211121121112122122211111221122222212222121212112211121212122111222211122121222112111111122221212122211212121222211112211212212122222222211122222121112211222211112122121111221212221112121221212121121111222122221212112221221112112211221221121122122211221221222221112111212112121121112121211111111222222212211222111112122212122122121212111221111212112221212112111221112121222111111222112211221221112222122121222211211212122112112112221211211122112211222111111211111221222112111121112211111112222112211211122211222122221122222111212222221122221221122121221222112221221222121122221221121221211122211221221111222121222121111122121111122111212212212122122212121212211121122212112212211122221112211112221222222222111121211212112112112121111221211122111111221112121211212222221112212112222211222212222111211111211121111111122111121112121211112121112122222122121111222211212222122122221212222112111111211111221111112122212122211121112212222222221111221221222211211222221122212212212112122211221111221221212222222122121222111221121212221211111121212121212121221221121222211121221221221121222122212221121112211121112111122221211122212221221121212111221212121122112221222221122111222221221211221212211212211121222122221211112211222212222122111112111111221121112221121122211122122211211122211112212112111111112212212221221212222212121211112122222222211212121121222112121121122212121211222121122211112121212112111122211111221122121121212221222111222222111211122122211211211122112122122111221222212222212111112112111112221122222111211122121111112211112222221112112111222221112122111112122222121222121112111212221221121211121221122112221111121121121122212112222211222212222111122221222221112221211121122111121211122222112122212211222211122111221121122211222122112121222221222121221221112112111122111112211121222122122221221122112112211111222212111222222222122222122121121221212122212122121122212112211122221112122221221212211122212211121111121222111112221122212222122212212122211121222111111222121111211121112112211212112121121112112212122112222122212211111221111221112222122112211122122211122112221221212111111121121222122122222121221212121122211122122122222211121222222121222121211212122112211121111111122111111211112222212211212112121212112221211112222122121211211212211122111112111121111212221121211222121111222121122222121111111221121112122222122212112112221211122111122222211122211221112111112122222212211112111112212222221212122221211122121122212121122222112222222221112212211221122111211212211221121111212122211121211112222111122211222212122212112211122121112221211122122111221211111221222112211212212221222112121121121211112112222121212211222221222111121112211221212212222112211212122121121221111212112211111122222222211121121211121111211222211222122112121221112122122111112222222122112122212111122122211111121212111111122221111121221112112111112112121122222222122212112122122212112211221221212111211211111212122221111221221112212222121111112111211122212112121122111122122112122121212121112111121122221121221121111121211222122212211212222122121222221211121221212212221211222121112111121122222121122112111222211222211211221121221111121222222212211211111211111122211212221112111212221212212212212122211121222211211212212112121112122221212221111221212212221221211221121221112211122212112121211221122211112111211222222222221112221112221211212122222211122211122122212221122212211222121221111221212211121211211121211111221111112112211221112112212212112111121121111121121222221222212121121222122112212111211112221211111222222111211122112112122112122112211221121111121222111211222212221211112122112211122122122212222112121111121121122221111221221122222221221222222221111122122121112212122121211112222122221111121221211111111222112111112221221112211122112111212211211211222211221121212222122111121212211121121122121211212211222121212121121212212212221211222212122222211122112112221211111111121121222211111111222211111212212221112122111111221112111212111112221122222211221212122121111222211212121221111112121221112111211211122121221121221222112112122121211222221122122112112111211112121111121211211121122211211211112112112111111111112221222111222221211211222211111221222211111222112121121212211112222222121112222211221121221112212211112111221222222211212221221122121212122111211222112221111111111112221221222212122121111222221222212211112112211111121121211221121212122112211211111121112111221121112121122221222211111112111122211212212122222222122222211111111111211111222121221221122211111112111111112211212212122111112121221222221122222222111121211112221111221111212112211222121121211222121122111222112222222212112121122211222122211111221122222212121222112211121212121112212212112211211212222111221212212122221122121111121211121122212112222121122112111222222121122221211112221121111222121221112111112122212111212211122112111111211211121212122112121212222222112112112211122112212111221122121112211122221211211221111122111122222112211222221212222112121221121122222221222221211111221212112212121211212112211211112121211122111222112111212222211121211122112112112222222121121122212122211211111112121222222222121112211122111221221111122121112211112122112111211121221112122121121212121211222111212122111212221211111122212211111222222112222112211212111222212222111222112221222112222212112222221212112121112121112221111112221211221212222121121222212222121111112122111221122211121212121221111222112111112122122211212122212111121212111122222211111212122222121212212211221111111212212122112222221112222111111222121222221212222221111222222211222112122212111112112222112111112121212121121221121122221211212122221112211221121221211121111111122111221122222122211111212222111212111122222221211111222111222222211212121122112112112111112112212221121111112212121111212121112111211122111212122112221212122111222111122221221122112221111211121211222222221122112111221112112211221221111212112112212222221212222211222222211212121211122111112121222212122111111222121121111121111211221222221121122122112221112112121122111111221221221122121221112112222221121112121212212211212212121222212222211111122122112222122211212112221122111122221212222122112122221112111112221221111212121121112112111211111212112211212211112222221212122122212122211111212221121212112112221221222222122112222211221112222212221222211122222112222122212111211112112121212222121111211212212121222121221112221122122222121211211221121121222112221122222212121122221221121221112111212222222222111212212222221122121221121221111111222212221212121122211122112122222111122111211222121212112122111122112211122111222111111212122111211222122111122212221121221121222212212221221222111222211221112111211122122212112212222212212211222112222211212222211211212121211111122211111211222121222122122222112121211111212221112211221112112121121212222112221121212121211111222122121111211122111212212211111222211111221211221221211112221122122211122212121222211222211221221221222222222212122221112112112122222112122121212211122111211222211122221222112122112211122111122111122111121121212122221211212111112212122122122222112212211122212221212121111212111212122112112221122112221212121222111111211112111212221211221122221212212221212222122211121222122121111212112222211212122112112221121221211121212121121212122121122111121121211122212122212221221211121112122211222222122121211112212112122111112222212111222212122112111221222212211211222211122121222111222211221221122211221112112222111211211122121221122212212222111221121211122211211111121222122222221211221212111111211212121111111212121221222221121122121122221222122122122221121222222111212112111122212212122121122221212221222212121212111122221121221211121222122221211111112111211212212112111112222221111121112122221212112211122221111212122111221111121112121112111121211221212222212211222111121112221122112212221212212222222111221211211122112211122221121112121221112121122221212212212111222222111112111111222212122212211222222221212112111122112121111221212121221111212111112121211112122222211112121111112222211122121221211122221212221212112122221222112112111111111212222112112122121211222112121221221222121121112122111211212122112111222222221121211211222121112222211212122111212211211121211222221121122121121121212122222212212212112111121212122222221121221122122111122211212122211212222122222221212122111212111222211222112211211112112212212211221111221111221111211211222211212121211122221222111111111221112211221221212121112221222112111121112122222122121111222122221222211221211122112122121212212212112212212221121111111112211121122111111112211211221111111212121122112122122212221221111221122112112211212111222221221122121111122212112122121211112221121112122112121121211222112211122221221221121111111222121221221212122112221121112122221111222121212211212211211221211112212222112122222222122122212222222212211211221121222211222222221222112222211211112212112111112212121112122221211111222221211111222111121111222221222111222121121121221122212212122112122111212112212112121111112211211221221222111121212221221211221111121212211121211111212211211221211122121211222121211121121211222211122112121212211122222122122111111221211112212122221222221111212221122221221211211222212122111211222212121111221222122222222122121122211122221122212112121222211211112212122111221222212221111111221121222112121212221221112112222211222212211122111112221222122112211221222221111211122222221211122211212121221211122112212221221222212122211111212211122211112221121212112221122221211121121121122121122211121112222121121112122212222112222112212112121111111212221122212222212221121222221221222121121122221211222122212112121221122211122211122121121121211111221122222211211211112211122212212222121211211121111212111211112112222121222122211122112221121211211121122211212122112212121211111212111121222221111112112211111122111121221121212112111112211122111211122211222221111212211112211111111222112122222212121211221112222221112122121221121112211211222112122122111222212112222211121222212112122122121121122121211121121112111122211212221222122221121222222212112221111212221221111112111211122222112221111111111122211211221222121212222221111112211111211222121121212212122112112111111112111211121221122111221211122212211112112221122221111121211121111221211111122121112122121111211222111111222122211111121111121221121122121222212121222211211112211212212111112211112221111212222111111111121122111122211112112122112222212212111212112211211221112121112122122112211111212211222111121212212212212121112212111212222221222121112122112111121221122121121121111222121221122221221222112211212111122111212212211221111111112121121111122212122212122121122112222211222111112211111121112112122111221112122211212111221122112212121121112112111111121221111212221111212212211221121221111112212212122221222112111112211111112212222111112111211112112211121212111122211221121211212212211222112122121112212112212111122121121212221111111222222122122212112221111122222212212121211222221212122111221211112111121121122221112122211211221212111111111222122211121211211121212222111111221221122112122111211212212111122221121222112112211222212211112112222222221221222222112221212222221112112212221222222222212112112221222122112112112212211221112121112122121221212121222212212111212212111222121212112111211111112221121221221222222221211211111121121121212122222112112112112112112221122212221212211121221212111222112122211211212111112112111222112112212221212221122212121221122221212222112111122222121221221221222122112221221122121221111121222121122211221222212212211212112122111211112121122111211211111211121111121121211221111121211121112121212212112122112212111121112211212121212122211122211211122212211111111221211121222221211122222121111111212212112112121122122112212212121221221121122222111111121112211212121122222222122112122222121222212212211221211221112212221211222221211112222112221111221112111122211122221122222122212112122112112111211111212111212221211222212121122212222211221222122211221111122111212212122211212212222221121111111211221212221122121122211221111221121122111221122212221212221212221121112212122222211212121122211121211212122222211211222212212111221211212121111112211221112111212121111122221212121111222111111112112111211222112221121211222211221211211112211211111221211121111221212211112222211221221122121111211111122212212122111122221212221222121121211122121221211221112122221111122121111221222121221122211222112121212112112121211112122212111121221112221112211221121122212212111212122112222112221121111122212122211211221221211111212212122221121121212122211111122111212222112212112212111222212122222222221222111212212111212111212221111122212111211212122211221221111121211121121211122222111122121111112211222112112211111121111212221112112112211221111111122222212221222221221122222122211211121211112212121111212112122121222112112112212212212221122112112121122221221212111212121212212212111211211122222121221212111121112121111211111212222122212222212212222222111121221121222111111222212111111212121121111111221122221111212212111221222111121111211221221122221112111221121212222121221112111111112122112122212211211122222221121211112121111111121122121112111121121222121112111112211112221112212111112121211221112112221112111212111212212122221121121221122211111122121221222221212221211221212222111112122111212121221112111212212222211212121221221212122121111121211122122211112222112211111122122121211111221211222211111112212221211221111121222121121212221222111222211121222121212222211111122111111221221222121112122221212211121121222112221211122222211211211112221211222221121122212212212211211221221221111211121122112211111111111211211211211221122122222212221111111212111121211222112112112211121222222212221221111111221112121212211122112122122112212211122112112111121221112212211211211221221211212211122121222212212122212111112222121212111222111122212111121222112111122122212121211121122221111222122111112212121222112212211212212211121121112122112221221212212121122112221221121122221212221122211222112112112221212122211211212112211111122111112212112211112121122122221122122221112212111111212212122221111111211111112112111111211111111111211111211222222112221121221222221211111111212211221212211211221211122121212121122122111222112122121221211211222112111221211122112112121111211212122211212222211122112221112112211221111112222122222111111212212121122112212212121122111222222222212221111111221212221122121122211211222212211112111121222121222211212121212211111221111112122121211122222221122121122122211112222211121112122112111121111121121211221111111221112221112221122121112122222221112121112222111212112212111121212211221212212112212221111222111111111212221221121122112122221112122122122112112111222222221211112111112212221211211121222212112221122121122211222112212121112111112112121112222112111212212121211121212112122121122121112212221221121112222211122112122111211121121221122122122211121211111221212112111111222122212212112211222212222211121112111122111221222212112112222221211211212212211122222112121112221221221111221221222112111112212122122111221121111212121122211121221221111222212121121222112122222222211121122121221112212122222121121111122121121112212122222122111112221221122112112112221111112222112111122122222111222111122221221211221211112111211112212122211212222212122111121212212212211222121222221211221211111221111122121121121212222212221112122122212112111222122111122212212212212212221122212121121112122121121211121122212121111221112112112222212222211111221222221112212111112111122221122112122111211112111221211221212122121211212111122221122211212221111111122122211211222121121212211122112122111122211221212112221212211112111211112111212121111221121121122211222122221112112222211121221122112221122212222221222121211122211112212222222222222121212111221211221121222112221221221122112211121212121121221121112111221112211222111121112121222112221121211121122221212211121222112221122111122222222222211121222212121222212211211221122121111112112221112111111221222112122211121112212122221121112112211122112211222112122211111122212122111111212222222222212122221211111111221211121122222212112122222222112211112212211211111212211111211122111212122122111211112211112122112211221112121121121222122222221221222221121122222222221211122111211222222212121212111212212112221121122221122121221221211111211212212111221211222112212221222211211221112121121111212111211112111212222211212111112212212221122212221212121211221122222122211222112212222111221212121122112221121121211222112112212121211211121222222212112121111112122211121122111122111112211222222121222212122122212222121212222112212222111211221111112222222221212112122121121211112121212222222221121112221221212211221122112111112111221121222112212211122222122211221221111112111122211122212211212222112112222111212122221212221121122121221112112222112211111111112121211222122222122121122212121111112221212221122112122122211122112211112121211212122211111211122112112111222212222112221212112211211222112122111122222122121221112111122121211112122211211121222122122212221112212122212111222222212121122121222121112122111112111222112112111121211222222222121222122221122122211121111121122211112112121212221221112211222112211111112111112121221222111212121212121111112121211212211212211122122212122112121221211211111122122121222222221121221112112121112122112212122222121212221111112212112221122112121222212212121212212221121122211122121121221112212122211222221111122222221121122112222111112122121212212221211221112122122111212111121221222111212111211222212112121121112212211121211112211121221222111121212121211111222211222121111122212112112211111121222212221221112111112221212122222122211212211111221121112211211212122121121211222212212112211111211112221122222112211111122111212122121122222112112121211221121122121112211112212122211221121211212221111121111212111211121111111112211112211121222111122212112221112212122111122222112112222221211212221121121111221222112212122221221112112212112222222221212111112211121222112211112112211212122112211111112222122222122211211221212122222121212222111222122212122111111212222111111121222221112122111111111111121221221121112212211221111122221111112211212221111212212222112212221111222221211222111121212122112111111212222111122121222222211122221212112112111211211221221112222222111221212212221222121111112211122222122111212211122222222122122211222112122212212222112121112121121112211122112211121211111121212121211221211221112222221121211111111121221221211121222222122212122122121121212122222222122112121221221111112222221111122211111211121221122222211212121221112222222112121221221122121212112112221111212121221112121111121222221212111211121122122122122121212222222222212221121111221211112111111222212121221212112111111122222221112221211112211222212222221111121212121112111111221222221222122222111111212122212111222121121222112112122212211211222112221222112221212222112222221211221111211211112122112121221121121122112222212122121112112112112122112121221212212222212211121122222121121222111111222112112212211122121212121221212221212122221222212221212112122122212211122112122221212121111122222121112121222221211212112212111112211222112112111222121111112122222121212211212111121222112212122211121211111122222122222221121212111111222211121222222112222111111121112122112112122122221222222121112211212221212212121111211121222122111111121221112122112211112211121221112211221111222121212212112211222221221112222222112221221212121121211111211212122121111211112122221121121122221112211222122212122212222222112222212221211122212122122221112112122211122121111222211111112112112122212111111221211111221221122212121122222122222221211221212211111112212122111211212211211112221211221221122111122211122212212122112122212221111211222122122222212211221211222221112211122221111121111112122221221221111121121112111112121222212222111121221221111211221111122211211121222121212122121111122121221121111122221111121222112111221121222211122221221112222111221212111121121212121222122112221221212112122211221122122112212221121112111121122221211222211122121121112111112222112212111112211211211211112222112121122122211122212221122211122111212121221122222222121121121212122121112112221112222212111111121222221121211221221221122111112212112221112111112211211122111122111221122121221112121121212211211121212221221112212221212221111222112112212112221121212212111221211222222211112121222112122221212211121222112121122221221122222222211221221211122122122212222111121211111222122112112221221121122122122211221222222112222111221211221112211222211121112122111112222211212212121222122221222111222112221211222222212211122212111221112222211112112122111112212211211211212222212212112212222222121212211122112111222221111211222222212122221112211212111112122122221212211221222212221122122112212112122221221222222211222222212221222122222221212222111221222121222122221111122112122211122111112122111222121211111222121221221121211211221221121222122211112212122211122122122112221221222211122221222112112111222222112212121121211211221222211122212111212122212212112221122211112222112211122212122111211211111211212212121221111221212112122211222111222121212211122111212211222112111122211212112111212212122211221121211211221221222122121111212112211211222211122122222222211111111121111122212111111111222211221221221111222112121122212122212112211222121211221222212121121212211121121211212221121111112112112212222112122122112112221122222121222122121222111222212222121212121212121222121112112211212112112221121211211221122112212122111121212211112112121111222211222112112222222121211222112112211212121121121222221112221212221112121121122221121212111111112222112111122222212212221122211111222122111111112221121211112222121212221211112221111211121112211111122122112211121221212121121112121222122121122211112212221111211211112211221111122211112212222211111212211212221122111211222121222121121121121212122111221121111211112222122211221111122122111111212121122212211122211211212212112212111221122121211222212122221211111211122122211121112221211111111211211111122112122112212221211222222222112212212121122122121112222212221122122122112222221212112122122112122212122222221111112111222211121222222121121212221121221111111222211111212222211211121122111122222221112121211211211121111211122212122212112111111211221121212222211221221211112112212222211121112212111122121212111122111222122111122221112121111211212121111221221121121111111211122112122212222212211111112221111112111222121111122222121122121222112122222122211211121212222221212221121211111222121122212121111111211221212122222222222211222111112122222111121211112121122222221121121111211122222112222222121121122212122112122211212221112111112212122221121211111212122212211112211112121121121222211122212121121122122122212221222112112222112212222112211212122212112112221211112121111212112121222112212122121122121112121111211112122112212221211112222111211111111221122222122211212212122122111212222121121212111122221122222111211221111112221111222221211212221212112222122121122121111212122221122211221112222221122221211212112112212211112221211211211121221222122212211122111222122211211221121221122121221112122221112111112212212121212112212111211121212211122111112221222112221121221121211222222212222222122221222211221121221222211121212212222111222221112121222212221122121122221212221121212112112122112112211122221121122121221212111122211122122121211112111112121121212111112111212111112212121221122121212221211212211121222112122221112122112112212112111112111221111121122212112211121212112211222122212121121212122222222222222121212222221212111122221211122112122121122212212122111222222121122111122112212112222111212121221121222211212212122121222121121111211122212211121121122121122121221212121112122121112121212112221212212111212112211122221112222221111221112111222222211111222212212212122111111121212121211112221221122222222121112122212121212221211212112122222122212221111222221212111111211211211111112212122111222212121121111211112222112222212211222222111121212212111112222222211221112121222222222121221222212222221211121111112222211121122222222122111122111112122211212121122211111121122221211222111121222212112112121111111222122112221212222211112221211111212221221111122121111111222221211211122121121222112111212111121211111112212122112121122122211212211221111121221122212121122112221212112122221122211121111121111211112122122112211211111112121211112121112111211221122211122122121121121212222212122222222112222122211121212112111221212122112122112112221212112121112222121222121221211212212221122211221121212122211211211121211212222212121121212212221212111211221122112111122212222211122122222222211111221221221111211121111112121122121121121212211122221111111212111212111211222121122121221212121211111121211111111112122221212121112222222222221222221122221122212221122122112211221122112112112222212112111222212221111222222211222121222212111122222222222122121122121222111112211212122211111221211111122112121121221112211212211211111111211222222212221221221121221111111122212212122222112111112211122221212212211112211221211211221211222211222122211112211112211111212121112122111111212211221112211122212121121221221111121111121211112211221122212121222212121222111121111122121211212111122211112222221221122212121122211111122111221221111222211111212112222211211111122222222111212221111111211111221211122212222121211212221111221222212222122111121121122221222221211122121111212112111121111112122221221121221122221222212211112211211222212222221121122222122221111111112222222212121212122212211212221122111221211222212122222111221111121222111121221211112212121222121221121222212211122111112112121122212221221222221121121211222211121121111221122211112122111112222122221212111222111121112112112121211122222121211221121122121212212222211121221122211121112221111111111212212122211221112221211121122212221112212122122211221111221222111221211222221211211221112222222222111222122111112121222122222112212112111221121212212211121222221211211211212122221222211111211111212121211222121212211222122121212121121222212222112211212211121212211211112221222221222111111121121111121221212112221212111211122222122222211122112121221111121222112122221121222221122211211221122222122112212112122111222221121121122112222112122221112112111211122222112222222122111221111212211111122221221221221221212112221122222221122112112221211111112221212222121121111111121111121211112112211121112222121112212122111221211212122221212211121221221221212221121111211211111211122121112121211211222122122111121211222221211212112222112122111112221112121222221211211222122121121221221112112121211122211111121222212221111111211222112121121122121111112211121122111212212222222222121211122122211121222221221222222122221221222221112211222122222211222221111212121122211121212121112121212122221221221122121222221121212221221221111221221222112112211121122212121122121122111122211211112212121121211121211112211221212211111211222221112121121112112111112221111112221111212222211221212121122222212111112221221212121111222212121222212112111121222112222212121221221222112211212111211122212111121221111121122111112221112221212211121112112122111211222222212212111121122121112112121121222211111221222112211122222211212112111112221122212212121222122122221112222212222112122112222221211221222211111112212221111212221121222211122112122212211121221222121221122111122212211112111211212212122221112111111122212212212222111222112122222112212112121121112121112211222112122212112222121212222211222211222211112112111112222121111121221221121212111112221122112221121212222211111211121211121222122111212111122212222121111212121221211222211111121121212212112212211212111221121122212121111222112121211222211221112212222121222211212121211121222222211221121212122222122111111212121122111121112211221111222222121111122122222211212222111122111112121221121211111112221211111221111212121111212121111112211111122111221221222221212122111212121122121222121212122211212121122121112121221222212112122212111221121121222121121222212212121121212121212111122122122122121221122221221212222121211121111222221122121211111121212122221221212112112122111211222121211121212211121212222111121212121222221221111121221111121221212221222112212112211222211211112121122112211111112211122212212112221111221222111222111212212222221222121122121111122222112121111112212221111122111221121212212211122211211221111221212112111112211112211122111212212122111111111111221221112211122112211211221121221222122211211112122122112111112222121121211211112122122122222222211112121222211212112221221112212222222222221112212112122212121221121112122122221122112212212121211222122111112111112211122221121122212211112122121222111112212222221211211221112212111111212212212121121211222222221112222111212121111221211221221121211221112222212122121221112111211111221222222221111221222222221212221212222221112112212121121222121221211212211111212212121112111211111111121112212221212111221222221111121122222211111121211112221222111111222122111122121122222212222221122122212221221222222121211222211212111221111222121212212111121211112222212211212222221121122112221122111212221211222211121211111122112212222222222222121112221111212121112221112222212211111121122112111222222221122122212222122222121111211122111212212211121122112212211122121221212212121222212112221212121122221212211122212212222121212111211112111112111222212112121211221122111221212121221111211111222111222222121112211221212211112222112222222212121112121122121112211112222221221122222222211112121212212111212212221211121222222111212212212112112222221122221211211211122111121122111121121121212221111121212112221121212121222221121211211121112221222111221212221122222112112111222212111221221212122112222212122222122111121211122222222211211122122222222112211212122221111222121222112112112122111122122112111222122122112111111221211212211221122212112221211112222121112211221112111111122222121111211121112111122121122111211221211112221122221111221222122111222212111211222112112111211211111212212112121111212221121111211111121111221111212212221122111212122212112112221221112111221211122221112121211112122212121221222121111222211222212112122111211211112211112222112211211212111212211112112111122111221221122222222212112111112121222122221212212221122221221121212111211121122222221212122121121212112121111222122121121111111111212122222122112221221111121111112212211111121112212211221111221211221222121211222212111221222121111211222221211111111221112111111112212211211112212121112111121122112221112221222212121121122111222212212222111122212211111222222112221222222112222212122122111222212121211222111121111222212222221211211121211222221122211222121111122212112211211212222222212122222122121111211121212211222122121211211122121111121212111221222221221121222121121211121121222211221211122121112211121211121122121211221221211222211222112121211112221211111112112121112222121211211222121111111122111221111222221222212121212112122111222211222111212211122211121211212122112211212222222111212121222112112211222212212111121121112122111222211212121121122122212221121222121211222121111111211112112211121212212112222221121212111212221222111211122111112211112122112211211122221112212122112111211112121222112211212221222212122112111112211211212211212122222122112222212221111221221112111111112122111111222222112212122121211222212112222221211211112122112221112111222112222212221222122122222111121112111122112222222221212121222122122121112212221112112122111221222121222221111122111221211222221211111212211212112121111112222211221121111121121211122222222122212112121221121212222221212112111121112122212112121112111121122121222122122222111112211111121122212122111212111211121111111122212122122111111111111121211111222212112122222222121112222111111111122221112221221211121122112122212122111122211111111122121221211111121212222112122111221221212211121111121122221212122221111121122122222222222222122221212212211211222112121122221111122212211212122122211112221211111122112221112222112111221111122221211221212112211112221221211121221112112221212121111112112221222222111121122211122121212111222122111211121212211222221112111221211121212222112212121122211122221112122111222222222112121111212112212122111121122212122121121121111212112222112111222112211121221222111222112122121111212122121221122111122111121222122221221212211212222212122222112211211121221112222122212122112221221112111112222121211212211111121221212112221211212112222211121212122121212212221211211112212121221122211121221122112112121112222111112121122121211122121221111122121221111112211122112221112122221211211212121121122122221122112112111221111212221221222212111112222122221122211211122221221222221211212222211111121211221122221222211111211112122211112121212222112222112121212212221221222211112222122222122221121121211112111121222122121112111122211211121222221212122112211121111222122112112212222122222222211121212212111221112222111211111112121222211221122111211112221222121121211212121221221122222222122221122121112211121211121122111121222121211121222112111112111211112222122211221222111222221222221122212212222211212121112111111122222122122122111111221122121212121212212222122222121222112122111212111121121122222212121211212211122212121112112212111112111221211111211221222111211221212221211111111121212211122221121212212221121221212121111111122122111112112122221122111211122112211222211112212111122221112212112212211111111221211212121211122212122211122121222211211122112112212212211222111211211212222121221122211122111122211222211121122122112121121221221111211121122122212211121121112121122121211112221212111212222212122212222122111112222112111112222211221112112111121122112222211112211222222211211221122121212111222212212112122121222121222111111212122212222111111122121212121211112212121111122222212122112221122221222222212122221111211112112112121122122212111122121121221211112121122111211212222212121111111211121112211111121111121221222121222112221121122111121212111221212211212211122212211221211111111211112122222121112212211121211221212221211222112211121121111111221221122121221122211111212212221211222211122112222211111122212121211112221222121122212112212222211212121122211212221211122112221112212112112111212212121221122121212222121212121211211121111112212121121112222211111121112111221122221111122222122111221111211221121122111121111112121212122222212211121222112112212222212112112212122211211211212221211112212211121222211221112211112222121222222112111122112111212221122221112221121121111111111222111212111121211112121211112121121221112222212221211121211222212112111212111121211221212112222112122121211221121211111121111221222112112212122111112211122212222222122122211121211112222211212122221212122111222121121212212212221122222222122212112122211121211112121111111111122211111111122111122221121121212222112122112211121211221222111112212122112221221121222222122111221112211112111221111112111111112212111111121212222111111212111122211211112121212222111211211222112121121122212122222121111112121212111222212211222121211121111122122221121112121211121211112122112222212211212122222111212222211221221221212221222222211221121122222111121112222111211212212121111111122222121211121122221121222122212221112121222212222111112122122121122221222112211122211222212111121222121212211221111121221122112121112122112112222212111222121211121221111211212212111122221221121121211112112111112222221122122222211122211211211222112222211111211112212111122112212121212221212112222212122111211112121212211112221121221121121211221111111222122111121112221211222121111111222221221111222212111121211111112121222212122111212222212212122112112111222211121211121111211221222111121212212111222122121121112212221111111222121212222111112221122221211211121112221122211221122121121111121121122211221221112212211121121112221221111111122211111211112112121112212222121112211221221222221111221122121211121112121212122112121122222121212221111111221222211112112221212121221212222111211212222111212121222212112122112112122211211211121122122111212221212111211222111211121221121212112122222122122121111221122221212212121222112212212221212122222112221121122222222212211121212222112221122121221122122211112112112212222111111122222211212122211112222122111222122211112221212112222111121121212211111221122111112121111112121222221122112211211111112122222212221212222112121112121221212112122121121222122212121212122111112221222221112211121121112121111221111211122221121122122121211221112211211221121221221221211112221111121121111221122211111112121221111121112221212221212212121222222211111212221212211221222121211222222122211121222121112112212222122221112112111111122112222212122211111111121122211122221211221111222111112222121121122221112122221212111211122221122211122222221121111222111222121122211212121222121112122122222221212112222111222112112121221112111112121112222222122221111111121221121112111121221121212121221222112111222122122122212222222121122121122221122121111122122212122211111122222212211121212212121121221122111111221212122221222222211111221112211111121212222212222222111122221212222122221121121221122212212212221111121222212221111112122111211121222211222111121121112211112122221211111112121211211221221222221211112211212121222121212121111112121211111212221111221221212211111212221211222111212122211221111121121211211111221112212111112121111221112212121221211112221111111211212222212121111221211221212121121122221211122221122121222112121122112221121122111111222222112211211112212211122122121211222121221112212222221222211222122222221212212222122221121122211211111211212111122211122211121112112111121122112211112121222222211112212221121111121121121222212221212112212112222222221211121222112221111222122221111212122111122121221222221211112121122112111221211121221111111122212221112211221211212112222111111111222221122212211212112111211111112211121212111211111211122222211122112122221221111211111112221212122222221212211212122112111222112221221221221121122212222221121121211222112121112212222111122121222211112111221211121122212111222111212121221121111222122122222122121111222221121121211111221121222122121222212221121222222112221221211221112112211121122111211222212221212222211221211112122222111212212122211112211112121121122112211212222122112112221222121211122212112121222122221222212222112112211112122121222221122111221111122212212221121222111111222221121112122121111222122212121212212222122121111111211112211211121222212121221211122122221221111211112221111112212211222122111121222211222211122112222211122112121121212122111221211112112221121111211212212111121111222111212122211112222211111222222112221112221211121112222121222122121222111122121211111112212121112111122122211121111212222112211211122222111212212212211122112121211211112112121122111211122111111221222211121121221221212121112121112112121122111222211211221211112111221122111112221111222211222111211221112211211121222222221212212111121222121212121222111222222121211212211212222111222211112121121112112221222121122222112212121211211111221121221211211122222221212212211222111121212122122211221112211212122212211112222222122212111122122211121222122211221111211221212111122112122121222212112112212211211121111111112112212111122111212122122211112222111121211122112222221121222221112112221121221222211221222122222211111112211221221112111111221222221211211221221122122222111122211212212222112222112222222121212222111121211111111212222122211112222112211111222211221112112121122122121221221211112122111111222122112221122111111221112122211112221222111212122111211212211121212211122112122212212222122121121112111222212212222222212222211112222122121221112212112122211122111222112122112112121122221211121222222122111122221122212122211112221112211221111211112111121222111211212112121111222112211122122121221112121111122222111221211112212111121211222211212121222212222112121212121112222221122111121222122122222111222211121111212121121211212222211121212111211112212111112112221212122211221222111222222122221221121222211222121212111121122221212211221221211112112212212211122111121212221111222212112222212222221221111111221122221221222111111121211211212212112222211212221212222212212222111121112211212122211111212112122121122112122222221112122212211212112222122112222112122212222112121122111122211122122221212212122121211222121211211222122112112222222221112211112121222211122222122121221222111211122222211221122112122122111112212122212112122112221112111221221122212122122221212122111221122211122222222111211212122222221222122112222212121222211121122122122122111221212212112122212122221111212212212221111121112221122112212222212121111112111222121122212222112222111121212222121222212112122221221211222221112122121222212112212212122211112212212221111221121212212212221221121121212211111111212222211211221211212112212122212122111121122212211122112211222112112121112121211122112211222121112212111121121122222221211111112122122211221211222121221121111121212212121122211211211122222121112112212212212112221121112212211211221221121211222112122221222112111212121111112222112221122111122222222212211211112121212111121211211221211122121112122121121122211111112112221121112222111112211111212221121222221211212222221211111111122112222112121111211222212122121222122111122112111212221112211122221211221122221212112222212121212222221212221112122112221221122112221222221212112111112211222212112122221222212221122121111121122111212222211222222112222221222122222112212221122221111221111211222222112212121121211122211122121121212222211111212112222111111122222122222222211121111121211222122221221112111121121222211211121221122212222211212211211212111122122112222221111121121211212212122222112111122221122111211122212222111111211222222111121211112211211211222221221112122211112112221121212122221122222112122122222121212222121111221211112221211112121221122211121221112111212211122211111121122111121112221211211112212212212221122121121222221112211112111122222122112211222222221212212221211111212211212121121111212121221221121112111212122122211121122112221122111211122221222122112211212222211111111211112222222212212122112211222111222211221122222211211221112121212221111211122222122122111111121221121112112222112121121121121211121212212221212122211221112122111111212212212121122121111221222121211121221111211222222221111211212122211112212211211112221121212211221222212222122111221112112122222212122221121212112122211111112211111221222211112222211121211111221221122122222112121211121122112212111112112221111212111212122111121221222122121121121221221211121121211221121212122222111111111112111212121111111122211111212211111222222222112211111221111121211111122211112221212111121222221112211222111112122221122211122111111212111111122112221122111112112212221111122121222211212122112222112111121221222222121221221112111121211111121122111212212221112112111112222111121122111122211122112212111212221211111112211111221211212121121112211222211222112112222111222121221122211222212211111111112121212121212121121222222112221222112111112211122212122121212212121212211212122121112121221122221122212111221222212112111121211121221111222212211221212222212122112121122121122222121211221212211212222221121211111211122111211111211211222111212111112212211221212212122221111222222211222222221122122221111122212122122112222212212121212221222112121211211222221212221122211211222122112121222122212221121222112222211221221121221211122222121121121111111121121221212222121221112111121211121122222212122112111222222212222121111221111211112212211222222112112111121211122121122212221212112111112122212121212212211111221221112211211221121212211222112111222222111212222122112121111221212122212121111111121211121121211212112112112212211222121111111111111122222121112112122222212212221121121111212222112222222122212111211111112211222211212111122222211121221121212212112211222222211221212122122211111122121221221211212222122112212121121221112222122122111111111212121122212112112212122222212211111211111122112121111221221211112222222211212211221122121112122112212221112221212221112111112111211122222211222212222212121212221111122112121211212112212211222212222112221221212111211222122212122121121222122111221111111121212111121211222221122221112122122122121212212112222111222122221111121112212112212112122212212211221222211121212112112211121221221212111221222121221211212222221121221111111212221221222111221221211221122212112222111212221212112112211222211222221221212112211212222111211221122212122211212122112221111211222112222212222112111211221221121212122112221211221112111112112111112122122112111121221112222122122221211112112222211121111222212121221112212121221222122221122112111112222121211222121212121112111112221221212221221212211122111212111122112122221222221222221222211122122212111212222121121221222111222221122121222222112112121122212212122112121221211122212121111222111112122112211211212222212111122222212222122222221122111221111122211112211211111121121122212122211221212122211222221211211112212212121222111221112221122221121212211212111212121111211222121111212122112122211121211211122111221121111112112222121212121111221121111122111211222111121211221222221212121212121222122122112222212211122112121111122122222111122212121212222112112121111112122211111121211111211211122222212211222212212111121221121121121112222112122122211221222222122121222111121212112221121111212222221221122111121122121122211221212111212111111221112122121211221212211121211222211211212112112121222221121222211112211222222122221221222222212212221221121112111221122121121112222221211112211222211112112121221212221221211221111111112221221121122222212221222122122121212112211211122112212122221211222122111122112111122221221112122212112122212111111222212211122111112121221121112211121121222211211212121221112112122121221212211112211222212211211122111222222122221221212222122111111221122212122122111112222212122221222211112122211112222112111212212222121122212212212121122111212211121211121221212212111221122121221212121122122111122221122112111112111111112221221112212212111222122211122112212211211221211222212221122111112222221122121121122211121211121111212112211111221222211122212122211222222122212221122222211222122221211222222112211122212212211222212211111122211112112222222111212112112122112221122212212211212111212221221112112111122112212111121111112121212221212211121122112121211222221221112112121121211211221112211211211211221211122122211211222212122212211122221111211121121112111212111112211211111122211111221111212212211112211112222222111112212221121112121122112221211111111222211122211121222212121111211122212121221212122111221212122112121112121212222121221221121212221121111111122211221121122222122221112222221111221212212122111221212211222222121122121122211121211221122122222212122122211221121221212212221112112212122221122121222122112212112122211222122121221112122121221111211212212121211211222122222121212221122121112211121211122212111122112222112212222221212221222121221111122212221222212112221111111111221121121111111121222211211111222222221211212111112121212112122111111121112121122222212112221121211111111112122221222221111211212211112122111221211221212112221212222212211112211121212212112222111111212121222112211112211212111121112221121121212112112212222222111111211112112122111121122222211222121222211211121122111221112111122121121222222212221222212212212222122221112121121111211112211122112121222212121212122211122122221111212111211111211222211211221211212222212122122112221222211222121111121112211122222112211122122111212222122221121122222122122212111222221121122112122222222111211112211222121122111222112122121221122112211112112112212111222121111111111112111221121222122222122121112211112121212212122211222222221112111122221212212112121121121211121112211111222121111121121212121121221222212211221221111112111122222211212222212121111221212111211211112111111222112122221222212112111121221122112222222121222122222211112222112212121221222112122111112122222111221112212111121222211111222222112222121222212212221212112112222112111212212121111111211111121212211122211221222212211121111112221221122112122222111221111211112122221222112221121122112112212212122111221222122122122212122121212111211211221121112111111122112111122222222211121121122111211211121222221121121111122121122212211122111222122211122222212111112221121111122122121121121122211111211122211111212212222112212121112222221221122211222121112221211212111111121221222221112222212121222211112112111212111112122111122221111221111222222112222212221211221112211222121121212222121122121222111121122221112112111122221211221121122121121222111122221212212121111221221121121112211212221212211121212111212122112222121222221111222111122121211112112222112221222222221212121211111211221221222212112221222111221112221221221212121212112111111122211121112221221111212222221122212222121122122212211222222222121212221221222121222121112221222121211212122212111212222111112222222211121111221112212121121212112212221211121122211121112112111122212111221112122122122111112112221212211222121212211111111222122121221212112122212111111121122121122222222111221112222222111122121122121122211112122121112122111222122122221211112222211111221211222222222121121222112212121221212212221111211221222122111222112212211212121222111121221121122121221212121211121121212121211111112212121222212222112122222121212212221212122222111211121212221221211112112112221122221112211111212211222122122221211111221112112212221111212212121111222112111212212211111111221112111122121222222122222212122211221111211221221211111111112221121221211211112222112111112211112222221111112121111111122122211212221211212111222221112112111121121111221122112121211211221211222221111112212211112222211221112111121112111222122212112222212221212121111211121111112122221122122212112211222222212121121122121112122212222211221111212211211211211122211121111211121222111121211122121212212122122111222212121112122212221121211212221111222211212112111122211112122111121221111222112122222111212211212222111121212221211112112112111222111121212221112222221121111221221112122122121112221121222211212211212221221211111112222211222121111121212122222222122221221121211212211211221211211112122222212121111212221111221221221121212212112211121121121121122222211122212212112222212212221211222121112122112121222122221111112111121212111221211222211211211222111122111211222221111221222222221212211221222121212121222212121221212212121221122111221111122221112111222121111122221212122222121212212122222221222212121111212112221121122111121112121111212222121121212111212122112211222121222121211222122221212121212211212112222212111111121212211111122122122122121112212212221111211121111211121211111122211112222212212111212211221112112121222111112122221112212221222221211121112121221112112121111122111121112211222121211111212121111122211121122122221211221121121121112212122211122112121211222212111211122222122211221112112111222221212122222222122221111212211112111211121212212211121122212221221112211211112121112222122211111122222121211111212221111221211222112122112221221212111221111111211112222222122122122221211111122112121121211221111121211122121122212111112222112122211211212122222112222111212122211112111121112111111222122111212211122222111211211111222211111221122122122111211112212222211211111121122211112122122221222121121221121122221221112121221212112121111112222122122112121122221111212222221112122111112111112211212122122221211112121111111221211211211112122122212112121211121221111122121212112211222211221222221111122212221111221121211112122222221211121111122122111222121211121122222122212112222221111121221211122212221212122122212112222222122111112121221212122222122211222121212212112212221121111122112212122112221212112221121211222222211212112211122211222221221122221122221222121122222211111111112221121121211221211212112121211221221111222212211212222221112221221111121112222111122212211211221112112211212112212121112221111211222211221221221211221211111222211211211122212112111221212111122111211111211211211222212221222222121111211211222212122212112121221111221122111112111121122111222221122122121222222122112221222122211221222112122112211221122222111212222112222112222122221222212112111221221111212211112221112121221121222222221122122222111121112111221212222211112112222121212112122112221112112121222121121112111111121112221221122121212221112122221122112222212221112211122111121222122111221211112221212111221112111221112112212112222222212212121122211212211221221111211111112121121221222121212211121211121111211111122211212212112222211122122121121111221211121212212112122122112121112122112121212111221121111121111221121222212112211221112211212221211122121122121221212111211222211122221222122121121211121221222112221122112212212111222112222112122221221222221112122222212122121122212212222222221221121111112212211211122111111122211211122111211212121122112211221121221122222122221122121111211122121212221212111112121211221121212122111111222222222121211122222111222221212122121211221122111111111212112111111122211212221221112212221221212222111111122111122211112222122211211212112122211112222112222112211222221112212222122211222221112122212122122211111122112211121111222121112221221212211121222122112122112212112212221112222121221111221211111211111112222111221212111111222212121221222111221122222111221111121121112221211121111221222222212121222221121222212112212221121112111211111222211111122212212111211211122112112121222212212211122212111222221121122122112121111221111111112222222221121122112121121211121211222212121221121211112211221221122222212122221221211121112122121112112222221222111211211112121212121121211122222222221212212222111211221121211211211111221221222111122122112221112212121121111222212212221121211121121121121221211112211212212111211212111122122222222121221222222212122121222212112111111121221121112222212121111221111221221122212112222122222122212121211122221112222112221212112212111111222212212222221211111212222212121121112112212212212121112212222122222212212211122111122111121211222211111222211121211122212212221122221222112212222122111211112212211212122122121221121112222222222112121112221111221111121211221121112222111221211221121221221121211222121122122122212112112121112221212112112122121221111121111112221211112111211222222111122212111222112121211221112211222111212221211222212122111212112111211221212112222211112112212211112122211221121121221121222222211112222111111121122122212121211222222211212111121211111111111111222211121122221211212222122211111212221111111211221111121122212222112121111121122122221121122211111112221221112122111212222111111122112121212212222121112222211211112122112221211121111221222211111221121122221222111121122111212211222121211211122222112221221122212121221122122121121212212221222211211212222212112112122112121121122122221112121112221221112221212121221212222112211122221221212211221112122122111121121111121221121121222221222111212221112222111221122222122211122121112221212112221121221211211122121121221112121221222111121112211112212122122212112222212222212111111111121121212212112211111212221111212221212112112122212122212122211211221111112112211221212212111222112122221122112222221112211111121111221221221221222111212222211212211122212122211122122212122121212222221112112211122122222211122222121122222112122222122212211221212111221111122212211212111122112211211222222221211121121222121122212222121222112211212111211112212222212222212122212121222112211221212121112211211211211221121111222221212212222222221212111112121222122112121112212212211212122112221121121112121211212221112111222111212211221112112211121121111111222111112121212222121112112121222122111122211122221211111222111212112121222211211211111122122121222211212211212222222122112112112111121221111122212111121112221121221122121122111221111122212222211222111111211121222122112221212112212212212122211111222211212211121221111221221211222212222212122221122222221212221112112121111121112211121122211221121121221212112222211212212121211121121212112122221211122211212212122112221122112122222222122221222222121111122122121221121212211222211222212121111212221122211121221121121222121212112222112222112211212212111111112221212211121121122212222211121211222111211222211222211221221212122212122222122122112212122221112112111211222222221221221212222122112112221221121111222212111212212122122121121111122222122111212221212122211222222121121112122212211221212222112121112211222221111212122112222111221211212222211221212221122221221111222112221122222121121112111211212121222222221121122212112112122222112111221222222111112122222121221121112122222211222211111111221222112122121211122112112121111121211111122222112122111212111222121222212111121122211112121112112222222111212112221211111221222212221122121211112222112122222222221121122111121111112121212211211111212211211122221222111212222222121222122212211222112112212111121222112222121121221112121221221121221112121121111111222211222221122121112212221121211222111112211111122221212212211221212211211112212222121211112111221222122211221222211121212122222212212111112121122111111121211212121221222112121211211122212122111111122222211111122211121222222111211211222212121212222112221121122111111212121212121122111211222121211221211122121121211211211121111212221112222122121122111121222222112211111122212112221211212222111112212221222212121112122112121222112121222221222211222122111212111111212211121221221121122122221211212111121122212212222222222212221122112111111222221222221222212121222112222212222211212211111122122221112111211121111212222112221112212122122221112212211211211122121121122121112222122211212211211212222111221222211112212221222211111211121121211221112222122122112121212212111222111211121211221112221111221111211112121211222122211112211212122212111222122111221122111212212212211221221222211222222112211211121212121122112121121212211121212222112111121111112111212112221211212211112212121122222222212121112112211112212111222121212112111122111122122212211121211112112221112112112122211212111112111222222211121221122121221121221222221212211212221122121212122111211212222122222221211212211221112211121212122111212221221121221122122111221212112121111222212112122121111222111111111112211121112122222111221121111112212111212222122212121222211211122212222122211112121122211221112211222211111122111212111212222121121212112112111122212111222221211122211211121211122222222112222112221121111121112221111212111112122112121212122211112222222112111222121211122212211211211121221121221121211121212121111222112121122212221112221221111211221211121121212222111212211212221122121221221212211111222221122211112112122212111121222211121211221212111122212222111121112211122121211221112121212111112212211222111221221222122112211111121212211212122221221211111212222222222112112212221222121221212111122112211221221112122112222212222121111121111111212211212222112122121111222111121122211112111112211111212212222111111112111221212122122211121121111111122222111112121121222221221122121212112221121221221121211221212112221111222212211111111211211211221112212122112211222112222221221211112212121212122221121111112112121211112111111212222111112121112221221222222221122122221122112112111112112211222111212221112221111222111111212122111122222121112122221222222111122121121211222221221221221221222121222111212211122221122111121222211221121211121111222121112211112122211212221211121211211122112211122121122212211111222122121111111212111212112112121112211222212121222122111111112112122112222211121212221122211212221121112211212111122112111212212122122122122112222222111111112122211112212111112112111122121122211111221112212121122221222221121111222222221121222211221112111111112112121122211112221112211112211111221221221111111212212112222111212122112211122111111222122221111221211112121112212212212212211112122221122211111121111221111222111221121121121221221212212121221122211212221212122121212121112212221212122122122222221221121111212112112121222211212222212121211212111121111212221221221221112111211122212112211111211211111112221121111222222112222221211121122212212221211122212111222122221112121212221222111212121212112211211121121222212121112221222112122122221111222112211211121211122222211112222222112121111212211222122121112211122121212222212221221211212212212211222221122111211222112222212211122222222211122222122222221222122221111222211221211112212211112112221121222221212222212212112122222121211122111122222121122222111112221112212112111122212111222221122222211222211222112212121222121121222222122221211112121211112221121211112122112221111122111112112211122111111221122112211221121112221121122122121122122211221221221112211212222212222121211112122122211121222222221211121121112121111121221121122222112222222211122211111212221112221222111211112111121221221111212122222121211222221111222211122221212211211122212211111122122222121211122221222221221222212112121211222222221122111221211221222122121222211211221121112122111121221211212211222211112112211112212212212112211111121112121122121112221222212111121121121122221212211212212112222112111221122112122222112211222212122222221111121112211122111212112121221222122122221222211122212222122211222122121122122222211121111112121112221221122121222211212111221212122111122112122121212122211112221211221122121122211121212111222122122112222121121122222211122212111122121121111211112112111221122112111221221222221111122111122122112112122222111212121121221122221222212222221222121211211221221112212111111121211112212212122111111122111222212111112212211111111111211221112212122111122221121221122212111121122221222122211112211222221212121112211212212212111121112222212222221111111212122222211112221222211121222212212211221222211221112121121222222112222122111211112112212221121112112212121211122122212111221112121211222221112111221221121222211112212211211211212221212112121211111111211111211112211111212221212212221221122221222221111111211122212121121221212112222122221221111121111212221212121112111121111111122212221212121112221221112112111122222122121211212221212211212111222211122112112221222211211122111222121121112121111112221111121221111211212222112222221221111222122211121121122222121121212111212222121211122221111212212211121122111222221211112211122222212111112111111212211112112211221112211221211111211112211111222112121122122111222121212222221222112121211112111222212211211111222111112211111222212211112121122122221212211211121111212111122211221211121122112211111222121221222111112212112112222211122221211211121211222122122221211211111122112222122121221211212212221122211111112122222122212111211122221211112211111121222212122221122222211212221122221121221121222211122212111212122121221222122211121221221122121111112222221122211222221221112221212121121112221112111112212211111221121122122211212221221221212121112121112121112221111211111221221212212122122121121111222121221121212112121122212121122212221211121221222221211211121112221111111212112222122112212122111212211122111112212222212121211122121112222212122121212211121112211222111122211122112121212111122221221212221221211121222222222222121121222122112112222211222111111212122212112121121212212112122222211121211112111111111211121121222122211121221111122221112121112121111121112212111121121212222222121111111221211212222222212112212212211221122111212112211122221121111112112212111211211112211122122122121212122221111122122211112111111111221111212121112212221121111222112221211212211121112221211222122122212122112122222121221212122122112122221222221211111112122122111211122112211222121111122222211222211122122222221121122122111222112211122212111112121111122111112222212221122111111121111212221222211212221121111221111122222111121222122212212221222112111222111211222212211111112121212112212222112211212121112222122121112222212212212112112221211111211212211212211211112222222111212122212211111122112112112222111211122112121212212212112222121111211221111221211122212122222221211112221121222222111111222111222221111222122221122211221212121212211211212211212222211222222111112221212211222111121121121211222212212111221221121211211221111212121222212222212221111122111212221222122221122221122112221121212222111111211121222122222211111112222211222222211121122122122211112122212211112112121222122211122222222121222212111212122121122121221111222211122121212212111121122212111121121211122221212222221222121111122121121221111221121112211212112222121222121212111222211222222122112122222112211211221122121221221112212211222111112222211121122221211221121121121211221122112121211121121212121221121111212221122222111111122112112121222122111212211222221222122121122212121222121212122212222112211221121121212122112122122222111121121212221222111221221211111211121122211112221111222212112121121222121222122221221221122122112222222122221221212111122121222212112122211111121122111112122212122121211211221212211121111122121221222122211111111121212212222112221221121211112122222122212211122111111212112212112221222122122211211222212112222112122211121121211111221112121211111122122211211222221122222222222122211212112222112211122212122122211221112111212112122121122212221221112221211211122221222211122122212112121211212122211221222121212211112211221222122111212122121221211122122211212111221211222111111122212111211112222221221112111121111121211111112122222111122121212121221211112111121212122122211222121112112111222212212212112112112221121222222222221122122122112122211122212121211122121222221121222121121111211112222221222112212111222111212111211222112112221122221211122221122212121112122121121122111112221111211212212121211211211211212222221112221211212222212222121112122112112112112212212111211222122112221221122111222111121212212211211121111122111122111122112222212211121222111211221111111222111121122212212222121212212122211211112222121112121121212111122212122111211111112111112222112111111122112122221211221112112222122111222212111112221212221221222222211221211212211122212212211121112121122111121111122111212122122212122212122122111211222221112121121222111111222122221212221222122211122221112211112221121121222111222121111111221222212222121122211121211212122211122212222221112212111211112221121212222212112222211212122212111111211111111111111111212122111121112122222222121121221211211122222211121121212221222111111221121212112112122221221212222121221212222112122122111222221211222222221222111212222212222221121121111112222221211222222211111111221222121221122112212222222212211112212122221212111112122111222121222122112211222221221121112121112112222211212211121222112111222112221222122211111222211121221221121211122111212112212211222221222211221122111112111222121222211121112221112111121211112211111112221122121112221122212112121221212221221221212221212112121212222211222121221221211112211122122222211111122222222121222222111212112122211122221111122221121111122121221222112222122222211221211211222122122121122121122112112221112122222112222121211222121121122111212222121221111211212121112122211221122211222221221111211121121222211112212212222211211121121112121111222121122222122221211222111121221111112112111221112112121112221112122122222112112122211221122212212211122111112221222112122212211122222211122222122111121121111122122222121221222221222221112211112222212121121222112111121222211121121222222211111121122121121122212122211112222112112111222122122111121121122122122121112211122121221121221122111121121212112222221121211112121122212122122211212122112211221222212221211221122221122112111222212122222221212122221121211211111222112211222211211111121112211212222212122121122211222211212222221112212212211122112111111111222112112112221121112211111121221122121221221221121122112222122222221222121222111221111221222122121121221111121221112122112221112112111221122112222222211112222221121111112222112112112111222122211222111211211222122122222111212122121112122111222121221122222112221112112222222111222111112222212221212122112122111122111212222211212112112121221212112112222222121221221112111121121211212221121121222211111212221121212122122211222112121222112221121221122111122121112222122111112221111111111111112221211121122111121222112222212212111121212222112112112122111212111121121221221112222122222121121121111111212211112121222211222121111222212122112111211211212221212122221212121212111111122122121112211122122212112212212222112112121221211122221112121111211211211112112222111221211111222111222111222222212221221111111221211111222121221111222212112122211222212112211222111121121112121211212211222112122121222112122121221121112112121222112122222111211221122221212111221211211121112212221212112212211222222112121221121121211111121221212222222122122222211222112211112111112221111121222212122112112222212122212222222222111111122122222212212211122111221121112122212222111111211212221112121211121211112112222122222122111212212221211221121221211122112122221122221122121121112211222121221221221211212221111122221122211211222122222221222121111212122221111112111212112121111221221112211221221112212221212221112211112211211212212221121122122221122221221221212122112221221221212111111121221122122121222221211121222121222221212221112221121212112221222212222211221121212121211112122121221121221212122121122222222221222211212212221212121212221212112211121212112112221111221212112221112222221122211221121222111111111111121121221112122221211212211111211211111121111111121212122122122211111111112222211112111111212212212112222222121221121122211211211222222112222222222121211122122222111121211211221212121111121212221221112221121212122122112121112222112111212222211211212212211122112211111212211122212122221112212122221112112221222111211111122221222122211112112122221221211112111221211111221112221122221212121222121221112121212222212212111211222221122121122122111121121121211211222112121112212221222121112112222121222121212212222211111212212222111122111111112111212122221112212111222121222221112121222121221122112122222111122121111212212211121211212212221111211112221221212121222122121121211121222211122121122112211112112121121122111222122211122221121221221112111212112122122221211111111222222111222212112121221212212112212112122221222211212111222111212221211121122221111221122122112212211112221121121221221122111111212221222222212221112112221212222112112211221212212122111122111211221111121121221222212221122221211121222211112122111111212122112221221122211211211222221112222211221212112221122122111211222122112221211222122111111211111112111212112211122112122121121212122122211222211211111121112111221221122121112111111122222121221212222212112212122211212121122211122222121221211111111121112212221211111212211221121111111221112111121221121112122212211112121111222111121122112121221121121112121122221112211212122121111121212122212111122112221111222111211112112121221112121112112221112212111111221222221121122121122222211121212221122122112212122222122211212222222111121211111221212112211222222122122212222121121222122212221112221121111222211111222211121212221122111212222112212221221112222211111121121111222112222221222211222121111212111212121222222212111111121211212212221221211121112112111221221112121212111112211112212221112222222211121221222111122211111112211222112221112221111221111212211121121211111211121211212122221221122212221212111122122121122212212111222111111212112211212211211221122212221222112211121211221121111111222221211121121212111121112112121111122212211111121221211122221212212221112211221211221221211222222222112112112221122222222221112122121122111221221212222221211221121212211222212221122211212112111211111211221221222111211112112121121212221122111112122121211221211111121111212122111211121221122221122121122222212212121212221211122121221211221111222221121221122211221121221211112222121222221222222211212221122122122121222121222211122222121112221121122121221121122221111221122121111221111121222122121121211221111221122121222221211222112221121221111112212211222212211221222112222212222112222121121121111121122222222111112112211111121112122111111122111111121121221111112212221222112121221121221221121211222122111111211211112212112211121211212212212121211211212212111222111221121112212112111111112111121111221122211211212212122111121221111121211111111222121211211112211212122112212212111221122112221221122211121111112122212221122212221121222112122221121122121212222221221112222211212222111222211122221111122111211111222222221211211111121221211212221222121222112121112211111212222221212211211121211212121111112121211111221221111122111121212212211122121122122211222122211111112111122111121111222122211212122122122122221121112211111212222221221122122121212122122212121112122111221111122212211221212122122121221121221121121122112122211222112221212111211112111121122122211211112212112221122211112121121121112111222212111211121222221211122111212211112122111122212112112211122221111211221211211211121221221122212211212222222211121111111212222221212121212222112211212221221212222122222122112112222221222112122221212222122121121211222221121222112221212112111111121212222112122122112211121221112222112121222122122211112121221212212211122212212122121122111111221121212112221121121121121121122221122212122111122212211222211221221211221221212212122211222211112121121112212222221222122221112212112111112112221211112112211221122112112221111111122122221121112212222221122222212122211212211212212111221222221221111112221121111221112222122222222122212211211221121212122122111212122222111112112121111212122121211211122121222212221212121221112222122112222212221121222222122122122222222121222122122122212212111212212112122112221122121221112111212112112212121121112111221212222122121122211121222221122212121121122222121122122121212122112222212221122111211122212211211221211221221211122122211222121212121211221112112121111122222112221121111211212111212222111122121221221221112222211122221121121222122112112112111222221212222211112121111211111111122221112221122122111221212122122122221112222121121212112211121211222211122221221112222122221122112211122222111122112122222121122221211111122221221112112111221112112121212221121122222221211121112121221111212221211122212121111122212122121112211221211222121111112211111121111211111122121221111122121222211121122111211211212212212221121112121211222122221111222122211221211112211122222221222222122122122121222221222111212122222222122111112111112212212122111111221221222212112111112111222111112222122222222221221212122211212211112212221212122211222122212111211122122122111122122211221221212212111112212122121212122111222222221111222122121211221112221212112221221212111221212211122122121111121221121212122222212211121122111212122112222112121121222122212212212222121211211222112112122112221221212222212122121222211212211112221221222222212222211112221212222121212112222122121211121112222121122212212122212111112221112112212212111121122222112211111211121211112111122221221211222222112211121111211112121111222121211212112222221221111212122221111122211111212211211122112222211212211112221122222212222222221212221111212112212221121122112221221211111222222221212221122112211222112122212122221222122222121111121111111121111212122122112211112121121111112221211222121112221222112222221221111221111221221121212222221221212121221111221221121221211122212212212222211212212212112212212212221212211111222111121222221112221111121121221122222112111222221112222112221212121211222221222222111112221121122211112221111212112111211111212122111222212222221222111211212111222122121122111221121222211121121122221112221112221121121212222222212121112111111112221211211112112121222222222111212112112112111122121111212121211221211221211211221112212211211212121221221122212221122111222222222211121111111221111122121221112122112111111121111222211211122222111221211122122121211121111122221121121222111212111211212122211122212111111212222222212212221121211222112211212211122212211212111121222212121211111112122222112222221222222122222122121211222121222211212121212121212212211222111222211121122122212121222212222221221121222111112222212122221222212111111122121212222212122112121212212111221211112222122212112112222122122212222121121221112111222121221121121122221221211111212111211112112222121211122212121211112122221221221211212121122112122111121211121221222211212112222112212212222222112122211221211211221121221212121211211211111121221221121122221222212221212212112221212221222222122122211122112121121112112111112111221212212122212111111221122111112222222212212122222222122121121222122222121211122212112112221111121122122212221221212221122212111122121211122221112122122221111122121211121122121112221222221222211211111211112212222222212121211221121222212122221212212211212121211112111121221111122111122212211211211222211111221221222222121112212122121221122222221212221222212222111221112211211122212112122212111121122122121112111121212121112122111222111111122222121121111221112121122221211212211121112222112211221211211222222211112111221122212212122111122122111221122221212211211212211111112221211122221221111121122112221212211221112211211121222222112222222122222212211211211211211211121222222112222211121112221212212121221221221122211121122212112221221211121122122112211211221111211121221212111212222222221211111121121222222221222221212211221112212121122222111221112111211111222221112111222121121122121111122212221212112212212211212212121212212111211222111221111121112111111112212221122121112121121222121122221122221111212111211121222121222122111212112122222221121122111222122221212112212211212222211121211211122212212111121122111122212221212212211211121122211211112112222112212111111212112212121111221122211112211211212122221222112222121221121222111212212112111112111121111212221211112211222221212122121211112212111121111221122212222221112122122112122212111122112221221212211122222122121121111212211111221221112111111212222112221121211211221111111221122212222121122121122122211221222111222121211122111121111221212211111112121211122111212111111212212212221111121121112221122221222221112111112112221212112122222221121111221211211121212112212121122221221221121211212121111121212112122112122221221212222122111222222221212222122121221112221112222221121111222112221121111112111211122122122212211111111121121111221222221112212212212212121221211222122121111121121112111211221211121221221112211111121221211111122212222122212212121222122211211222221111222111211211121111222222212222121122221121212221121111212122212211112211222222211222121222112211222221212221121121221211211222121221212222212222211211222111112221111212121111212111121112211212112221112121122112112112122221122112212221212122222122212112212221122112111122122112121111221111121212222212221222221222112111222211221112221122212121122122221212222212121222122121111212212211211222211112112212122221221221122122221222212112121112121211111112212121211121111122121221122221212122111121122221112112212221222211211121121221121112212221221112221111212222221112211221121222111111212221111222211122122222212222111221122112212211121121212221122221121112122122221222221222112122122222121121222222112121222212221221112121222111212122222211112121121121211111212212122222222211222212111111221222121211221111112221211112111222212111122221211212221121221221221112112111222112212212111112111222121211112211112121212112111112222112122122222212112122212222222122221121212221211121121212111212112122112121122121122122211111211112222122122211221122112222222121121221211221212121221222111212222112111212222122212211212221211212121211111121222122221111211111121111111112221221121211111121122221221121112111112222111221121212112212111112122121211111212212211211222112121221112221112112222211212221111111121121111121212122212222111211122212211212122121121112122211121211112222122222211122121211112111122112122222211111121222112121221212121111222112212222121121222222211121121211112121122121222222121112221112211111121212111112221212212222121122212211212122222211111111112221112121111212122212112121221221211211122222212211121121212121121222211211112211212111121121222121112221211111121122211121122121121221121212111212221221122112212111221121212122211111222221221111212211212111112212222211212221211112211111211112111111122122112111112121112111221212211221211111212222121122212222121121121221212111222111212122121221111111122122211111211221112222221111111122222111211222221222112122111121222111212211211222221112222122221112121112111212212212121221112211121121111111212212212122111111221211112121221212121112211121221222221221212222222221221221221122112222212211112112112212111122122211121222121211211211112221222222112221212122122211212111112121111111211222222211212212122221221111121111212112212121111121122212111222221121122121222222212111222112222121111112111121211122111121221212112212111111111121122122211212221212222122112221222221221222122121211121221112121222211112211122122211212121111122211111222221122121121121121222111112122211112111211222112222212111211212212122222222121122121111112222211211112112212112212222211121112121111122112221222111111221112221122221111121211212221122222222211211122111121111122212111212212221221212111121122122112121111122211122221122122222122122122112221122211221212121121212112212111111211112221222121112222122212111212122121121122212212112211112122121111111122121221212212111222112111112121111221122221222122211222222212221112212111122112221221121111112111122212121212122122211122111112211221221222111111221112221221112211211121212111211112222121111221212121222211212121221221111221222112211122111112222222211211211112222111122221112212212221122211121211212221111211122122112121221121212212221122112122212112121221222221222211111222211212211122122121211222222211121212212222212122222221121212221111221222122121122222212212212211212212122212122111222112221211212112122212111121122112121222221221112112111212211211121112112121111121222221222221121222221111121121122121112222221121222212221221222221122112221111221222212212122112222221111212122222221112122222122221121222212112121121222122112212121211112222212111222212221221112121111222112112112122122221222212211221211212222122221211111211121122112121121111211221222111112212112122212112122111121221221212111112212222222211212122121122222112211211121111212211121222122211121221121112222112122221212122111212221112212221221222211112212212112221222111212211111212111222112111212121122221112222122121121222212122211211112121221212121221111121112211121121112222221221222222112211221121211121221121212122122212111212222122221111122211122211212122111212122111211211212212211122121122221221221211112121221221121112111212221212212221121211211222221222121222211212222121121111221112112121212122122111111122112221121221112112122211112221111212111122212221111122221212121112111122121221112222111111222211112111221221211211221122112112211121112112111212111212221111121111211212121211112122222212112211212121122212122212212122121221122122121211121222211112121112222121112211111112222111222211211112222221221211122221121122122121222221122222122211111111222122221111222112121122112222111212111122112212112222212122221112122221221111211221221212112211122222212211111212221221221222221122112111122121212221111121222121221112221222221221212122112222122111111211121112211222111221111221221111211112212212211211112222112112211212211122112211222122222122212122221112111121212121112221112222221222212222112112111111111122211112212112122222111212221211212221212212121111122212122222222121222222221111122211212211221211111112112212111212221211122212112111221112111122122111111222121111121121121212211221222122211222222211111222111111122222112221211111121212211111221222112111221221111122121122222212122212112211112222211122112121211111211211112221222222122121122122112212111121211111222112111112112221211212121122222121211112111222211112122122111112211211111112121211121111221221211221221221121121112121222222111111112111112121112121111121221112121221112112212112222122122111112122211121221112221212211112222221222111122211221221212212222112122121111122222222121112111211222111122211212222212222111212112122221112211221222222221211121111121121112212221212111112111121221122121122111212212211222112111122121112121121121122211121212111121212112212211121122212212221112122221221122212211222121212121222121222111121122111211212122111212112122122212221121122111111212222211121112122211212221222111111211212122121111121122221122212112122121112221122222111111222222212222112212221212122221122111211222111222121221122212211222121112212221212121121222221222111212221212221222211212222211112211122122112121112222112111211121212222221212212111221121211221122211212112221112222122112222111121112212222112212121121222222211211111211111212111211111211112212222222222111221211211212212212212221222111221111221222112221222211111122212122221121222122222121121121212212222221111122221112112212221211111222122112212211112221212111211212112212222122212221122212122211212122211211222222111212212112211111122111112211112221222111211221111112211122112222111222212121111211212121211212211122121212221212212211112211222122111111212111121212212122212122222111111211211211111222121222211221211112112111221111121211211112212121212111111212222211112221212122122221211211122112222221111112112122122211111212212221211111221121211121221212212121112112111111211112211112211211222121211112222222121222211111111121111112212111111222112122122222121122122212121112212211212221112112111112122222122122211111121112112212122222211211221111221221222222222112211111112221211121221112121222211222222221211221111222121222122121111112211112211111222211222221221222122112122121212211221121211222121122122121222111121112222111211122111221212211212222111211221111121222112112211212112112121211112221222122222112221211121111112112211111111212221211121122121212212111121121112211121111211121112111112222122121222111211111122121211111122211212211222111221221112222212111212222112211221112122111121112222221212121111122212121122212111121222121212121112221111212222221211122211111121112211111211121212222222221222121121211211121121211111121212121111212111112222111111122121212121221221212221112211221121221222121211212122112222221211221222121211112122122211222111112212121112211221122111112221121121111122111222122122222211211222212222212212221122112211212121121212112122221111221221211212221222222121211221122121211221221122212121222112211211121212111212212121111222112121221121211121212222221211221111112111111122212112111111122212111121121121222122211212222121111122121211222211212221222211111112221122121111122111222212122212221121221211112221111111121222221112211122221222121112111111112222112212212212222212112222222221222221211112211222211221212212212212222122122111211222222121212222121122122222211212122122212221211212211221121211112111221211221111212211222112111112212122211112122121121121212111112112121111222222121122121121221111222111211222121211221122112222221212222221221112121111221111222122221211111222111121221212121112212222122212212112111221121211222121222221121122112212122222211121122211112122211212121121222121121121211222121111121212112112121112112122111211112121122222111221211222111221221222221212111111222222222122212211211222121111222211212112122211211212112221212221122112212211122122221222112222212212212112122221221211111222112211221122211221121112211122122122211122121212221111121221221212112112212111221111122121111222212122211122121112212122112112212112112222222212222121212222211212111121111112122222112222221121221212111222112111221212211111112111122121121112222121212222122112211222122211211211111122111111221221111222221121122211111112222221121221212121211122112212112221111222122121222112111222111122211221111221112111211222121211221222111212222112221211121122122121112222111222221112221111211112111212112111121112211112222221122122112112122211222112111111211121212122121212211222211211211111221211222111211212112121221221222221222211121221211221222121122122221111111121221112221211112221112212111122111121121221112222121211221121211221221112222212121222222122211122121112222121111121212211121221121211112121221122122111212222121122212121221122222221111221212212111222221111121111122221121222112121122211212112112212111111111111222212121122122122212112222111121111121122122222112122211222112111111212221111112122221111111221211222212212211121112221212212122121212212122221222122222211121112211112212212221212221221122112112212112211222222121112121222112111222122121112222221212212111212121112222112212121212121121122211222111121121221222221211121122111112122211111221121121221111122111221212111221112121222222122111111112212112111111122122121111111112221111112111111122112122111112111121112122111222121221122111111212222221121111212222211122222211122212122112212112211222212112222121221212222121121121222212111211212112112212121112222222111211122112221112111112211221112221122112212122111111212111211212121111222221111222221222221122211211212211112211212112121222212121121222221122112211121222122211111222122112122121112222111211122122122222221221221222212122211112111212121211121212121212112211212211221122111222122221122221222122122221111111211121221212211212222222122122222121212121122211112111222211121211212211222222212222121111211211112212121221212121112212112222121222112111122211122222112211111221211112111222222222111111111221212111111112211212111211211122121222112211211222211222221121122111121111222212112121111122111212112211222212212212222222221221112221112212222221112222122222221212211212122112111112222121121122111122221112221221111121211112221221111221122111222122211211122122221122122222112122212221211212111212212121122211221121122212112222222221112111211222222112212121122211122122122211222211222221111112111112122121121222222221221122221121111211211211121121122212122221111111112222221221112221122221121222112212212111121222121122211211221121121122222122112221211222222221211222121122211221222121211122112212211221111211221212121121212111212221222111212221122122111112221212222111212221111112122212211121122211212211212122222121111211211212212121212111211221212211111111212112122112121112212221221211212121222222111211121211122211111111222212112111221222212122111112221112121122212112222122211212221121122211211121212121111212212212112121211111212112112122221121211221121111122211111111212211222111212211221221122122121221111112221122222112111222212211121221122122121222121221222111221211222121122122212221121112212222212221212111121121222221211212211221121122221222221211122121221221111112211122212222221211112221222121222121111122112212122122121222212112112111122222222112222211122211211121212121222121211122222121112122211111222212211121112111211211121211111212111122111211112212122111222212122221221121111121121112122221111211122122222122122212121222211222221222112122221222112111212212222112212112122222212122121221222121222111121222111121221122111111112221222212122222212221211212121221111212212221221111211221122222211111122121121222111122221111212122111211121122112121212222122212121121122122121221122222121111112111222122221221112111212121212222221211111222212121211211112122221222112111221121221121221222122122222111111122121121211211221122122121221222221211221211111122122221222222211211121121121211222121112121111212222112112112121222211211111211221121221111211222212221111112211221111221222211121212222211122122212222221121211211212122112212121121112221212212222221111111221111112111221212211222211212222121212221211221111111111222222112222212212122222111211212222212112221121222122111112122222211121122122211112122211111121112112212222112212111112112121121112121211212121221211112212111212222222221122212111121222112122211112221222221112211121112112222111112221122211211122122121221121212111212122211222111221212111122122211111212122112222221212121111211121112122211112222111212211222222111212222121112221112211211212121112112122222211112122212121212121222122221112121211211211212122112222212122221121111112221212222121212222211112211111222111122122222111121221222222221222222111121212122211121221211121221121222212211212122222222112222211112222211111221222211212112212221111121212111111211111111211211122121222221122222121221111221221211221122121112122122222112221111112121111111212211121222122122111112212121221221212121212112121112221221111112112221221221211122111211112212222222121221222222112222212111212212211112112222221121122221112211112111211121211221221112211222212121111221111222121121121122111122122212122222122211122221122111121212112211121212122112112222121222122221122221222122212221121111112222212211221211111112112122111121212122211112112112222121122121121222122212212212212212112221222222121221121211222221122112111112121111211112222211122111111121111222211111121112111111122211211212121121112122121122112211111121221121211222121222121121211221111212121112121121111112222221212122121221222212112122222121111211112122112111221121212122111222211121121112122121222211222111111122211221122121122212111221122211112121121212221111112212221211111212111121212122211112122222111212121121211121112122211221121112121121122212121211211212212122212111222211121222112211222212212211122222111111121112221121122111222212122122122122212221211211222221122121221112121221112211111122211122211121221111222221211221222121222121212211122121222221221222211212212212212222111222212221111222122122121121121212212221211112221111122112111111111111222111121121212212221112222222212111122112112112211111122122212222211122111111221122212121122111221111211121111111121221211121212222222112112111222211121111112211212221121221112212212111112211212222111122212122111111212122112121112222122212212221211121121212112112221221222211111111211111112121111111212222221222222222111212221221111211112212121112122221121211122111111212112122221122211122212121221121212121222112212211112212111122212112221112122222211122221121222111111212111222111212221111222112121221221212211111112121221222111222212212212212212212121221222112112211212122112111221121111121112222211222112221122112121221111212222211121212221121211212211222122111111112212111211211211222221111111111211112211121221112211211121111112222212121221122122121112211121112111122122212111222211212122211111111112112222222112222222212111122122121211111122221222121112222211222121222221211212121212211111112111222111222121122111211112212111112212121112211121112222112211212121221221121222122121211111221112121111111212211111221111122112122212122211122212211122121211122212111111111222111221222112122212112222221222111211211121122211221211111222121211211211222211112122112112121121212212111222112222122221222121111222212121212122211112111212122111222121122111212121212212221211112112211211111112111122111122222112121121112112111122111111121222221112122222211122221222222212211112111221221121222112112212122112121122112211221221222111222222111212222221121122221211122121211122112211212112212112111122121122111121222222121222212111212211221111111212121111111221112221211222112111112121211122112122111112211222121111212112121222221112122222221221112111111221112121222111222222111122121211211221222212111221222212221211211111212212112122122122122122222211222221221211221122111221112121111112111122222212121211112121211221111212222212122111121121221112121122211212221222212112122121212112222212122212211121111111111122211112122121111112112211122222112111211121121212211221111211122121221112211212111121111122112211121222111222112212121221212221111211112111112212211112222121212212122111111111211222222111222221212111211212112121211221111112111221212122221221211211211121111212122222212221121121112121122111222212222111212122211221112112212212122212112212121222121111121121111111222121222111122221222212111122212212212111211112122122121122222222222112121212111111211212221121211111211212212122212212111222222211122111111212222111112221111121111211121211212211121212112112212211112111221211211121212221222111111212212221221211111222122222112112212212211121222222211112211121122112212122121112121121111121221122221111212112211212112111122121221122221212122122112112211122121222121122111122222212212211121222111122122221222111122112121212212211222221122211221222222111222121111212221112222121112112111211211212211222221212221221122121211212111221111121111211212212211112112112222112122221212222112122222121111212111221112111221121122222121221222111111221111222221112221111222221211221112112112122211212112211212111211221222211121111111211122221222121121211122212221111121211211221122221222221112212211211211121222111122122221221122211111212111221122211121121121121122222212121121122121211212112112121121122221111222212111222111211122211111221111122121221121122221122211212112212222221212112222211112112112111211211112111211122222222122111212222122121121121221222211112112211212112211121211222221212121122222222212212211122122111111121111111122212221122111221112121112111222212211122111121122211221111112111112222121211212221212121121221212221222221112112122111221222222221221212121211122121212221112212221221221111212211122222121122111122111212121112122111211221212122121221222111111212121121212211111211112111211222222111122211222122121212221222222112222221122111221122121221112212222122112122222212122211212212111121212112122212222222222111221122211111121212111222111222211212211222111212112211212221222112221121221222222111221212222211212211211121111122212222222121122222221211212121112121121111222122211112112211121222222221221112212212112121111221112122222221212111112211211221212121121111222211121211121111122222221121121212121211121112222222121121122212121111111211221222121211212111122222222222112112121112221221121211212222121211112122121112222121111211122112111111111112212121221222212121112221112221112221121212121212121121122211111222112112111111221111121211111212212112121121211121121121121121111111222111121112112221111122221221212211212222111212211112222211211212121111222212111121211222122121212221221122221122212121112222112211221121112222221222112221211121111122111111111212221222212211221211121111122112221211112211121122221111211112112221212222211111122212121112112111122221212111112112222221212211221221122222221221111111212112222211222121211211122222212221111112221121111122121212212122111111222212211211122111211111221121222221211111122211221111122221112122221122212212211112121221121122121111121122211221212211221212112111121212222212121222212222122222111221211121221222221221111222221112111211221122221221111211112212221211211221111111221121212122111121212222111222211221222211121212211121221111111122122222121221211221121221111211122111222212212211111112121222221122122111112112211111112121222211221122112121211111222222212121121221111122222212211122212222221211221122212211121111122221211222112112221212211211122221221222112221112211212122111121221111212121222222212121221111111111121221222221121211212112111121211212222112112211211122212121222112112121222222111112121221212121112211212222212122222121111112212221112121212212121121111211212112212211112212112122211221222221222222121221222112122212122212112222122222221112121112212212111221122221111112112211121211121121122112111111122212212211222111212111121211212112121211222121121122111112121112112121212222222211112122221212221112112111112122211211211221221212221112112221112112122122221122111121112111212221121221111112112111212122121211111111211221212222112222111221121222122221222111212222222112211122122212112122122121121121111122212221211211112221222121222221222221212222112211222212111222122122221121122212221221212221111211122112112111112222112221112212112121211212222111221211111211112112212111212122212222222211112111122222111112112122221121121222221211112112112122222212221212122112211221211222112122122121212121111112112112122222112211222122122111111222212122121221112112121222222112111111112221122112222222222221212212222122111112111222122212121122112222111122222121211122112221211212222222212211111111212212122121222121111212111211211112221211211222112121122112222122212111111122221112121222212121111112112121222221222122221111121222112212212222122212121222211222221222122222212221212111211111111212121222121121211222211112112111212121111221112222221111111222212112211212222122222122121122221222212121112121112212221111221221122121111211121221111212121222122222222112121221222112111221212111122121222222122121111211212221211211121212122111211112222211212222221111112211212112111111212112111212122122222211211222121111212121222222121121121121212121121211211122111122222122111112121122122111121112221212222111112221121211111212221211111121111121221212121112212122221212212212222112121112212222111122112122121211111222121212121212211121212212221122111112221122211112122212122222212122112121112121221212222221122212112122211112112122221222122111112121211112112122211222112122221212122112212211112111212111111221221112111212211212221112221111122211211211122212221212221111221121122212221212122211222122111122112112121111222212112112211211221112121121222121211111121111222221212111222121112121122211221211212111222222222111222122122221111212222112221211222212121122221222221122122112211222221121111122212112112121112212122211112122221221111111111211221221221112212112112122111111211111212211112212212122121221112222121211111112211211111212122212212111211222211221112222222211112212221121121111212211112111222212111222221112212112122111221221212112122112221211221222221222212211112111122221212221211211121211121211112121211211112211112222122122212212212222111211122221111111222122122112112222211122221212221221112122122211122122112222121212222112121122112221221211122122111211112122212222211122112112221111221111221222222221211111211121122222121221211222222122121121112222111111121211221112122112212211221121122222221221211222221122111222222121221111222112212122222121112222122111221222112111222111211221212111221122211212112121111211211121221221211221121112112111222211112122121212222221212121122112211112111121212112112122112112212222222121112122211222221111122221211122121211111212222122212212111221211122211111121112112212121221222122111111111222222212212122211111222222121211212211122111212112221221222211211211112121212221211222121111122222112212112112112222212221122111121111111212111121121222211222211221221221212121121111112112122121222222111111112111212121211111122211111122211221222121111221121211121222121221122211112212211211222122222221212212122111121212212212221112111221221111112111122122121112121121222222222122111111111222212212211111122121212111112122112211222211112111212122211212222122112211122122121221221221121211212211212112121211121122221221121121212222121122121212121111222122211222111222112212122111121112221122111111122111112211212211122212211111122112122122112111111211212112122222222111222211121112221222111111221121212221111121111221112211212212212222121111122111121111112121211222111211221211212111111221112221212211122112212122211211121112121121211121221222212121222221221111112211212111112221112112221212112221211212112112112111122122221221222212212212212121122212122122112122222222222221212211211111122221121212212212221121212212221111122222111121222121122112212111111221111112211212111221122221112222211112212221211111112111211121122121122212212112112112111121221212211112121111111212122121212222112111122121221212121121122211222221122122222222122122221112122111222121211111121122121211212122222212222212122221222221111112111121121212112121112211122212112211222112122211111121122121122121211211111211211221112112111221111211212122212211122122111112112111222112112222122221222211212111212222112122111111122212211121122221211111222122121122122212222212212122212112211212211211222211221111121222111121222211211222221211212122212212121211122221121121111221122222112121122221111212121221212121112112112221211212212122112112222112112112211111111222222221121212211222112111211121121122122111211221121221111211111211111121221122212112112112112121222112122111222121111111221111211122222112211221122121212212212222222112221222222222112111222212212222111111112212111112121121112222221212222122212212111211212111221212212211222211121111222221122212111122212122211121211122112222221122222212112111112222221121212112211112121111211211121222211121121112121222112111211212122222122112112212121111221211111222121211122222222212221212221211221212122111211122221122121222211112221122122221211122212222212111121111122111222212122211211112211212221212112112121111111111221222122221211122112222111121122122122121112222111112211211111222112112122222121212222121221111122121122112212122121211221221121211221112111222221212212121121212112112221122211112211112211122222121121121112211111112122111222111121221221112211221211221222211111112111121111111121212222122121211121121211212221221112111222221122212222212222111221212121221212121111112222121211112112222211112121111212122222121212111111212222222211112121212112121212221121221211221112112212121121221112112112111121211222221112111122221221212112222121122122112121211221221122121111222121111112121121222122211222221111121222121222122122111111121121222211222121212111211121111212122212111222222121212111112122121122112222121221222211212122111122222222121112112122222221221222111112111121211211111112122111112211211212112122221112222121211212111122121222212212221211211211221222112111221211221222212122122222222112212221112121212122211212122211121121111112212211112122221211112121121121112212111112221222112111212212212111222111221122112211112121112211211122221222211212122122211111221121121221121221221121221111122222212111212112122222222121111121121211212221211122121121212122122122122221212122221112211122121211121111111211111121122111122211121111122222121211222112221211221122112211111221221221211211212112211111212121222121122111122122111211121122222212212211121222112112122111112112111122212111111112122111211122222111122222212111212212221112111112221112222222221212121211221121122211211211121121122122122112221122211112111121222112221121212121121111212212112111211122121111112112222111211122221212111221211222121121222211222212222121211212121111221111212212121122212112222222122221222122111211211212212212212212121112122121221211221222121211112211212122112121212222212221122121112112221221122222222122222112112121222121122221211221221122221111222212112111212221122222221212212211211212121212222111212111212111122212222112121211211112112222122221211111221211112211221111122111122122221121212111112112211121222122122121122211212122122121221121222221111221121222212111211121112121112122111121112222111121211122111122222122221221122112222221222112122221221121122211211111111221121212122121221212221212121211112122111221211121111111221221211211122212212122111112212211222112222211222122211211222121122122111121211212121222212111111122212212111121222122211122211221221222221212211111212122121212112121112111211112221121111122122122211122212212122221121111122222121221111111112121212211221222221222121221222221211222121221211121112122121121212122211221221122121222222211122221222221112111122221122222111221221212111211222112121121122221112122212221112221211121222222211122121122212122111212212122221122221111112122111221111211122222222121211212221111121211212112212111121211122112121111112211212221122211112112111222222121221121221212212222122222211112111112112211211212122212121211221221221111121211211111122121121112212212112211221222111121222121121121222222221111121212112111112121221222212212121221212122222212111121211112112121221122121121221121212121112211111212212121111211212112121212212211112111122122211121221222121222221212222121122212122212221111122212122112211111122112112111222111122121212211221111221122121112211222212221221111112212211122222122222222222221121112211112212221211121121221122211211221221111212222221212122122212121221212111122212222222212121121122121112111112121122211121111111111222112121221212112211121222212111222221122112112121221221111221122122112221122122112211111222121121112222122221212222121111212211222211112222111222121221111122111222222121211111112121121211222121222112112112212122112221221122112221221112111111222121222112212121122222111221121221211111211212211211212211121222221221122112121221122211222222221221211221222112222111212221121121211221122211111211111222122111212221211111211111122122222122222222122212222121121221212112122212112122122211122221221211122122211111122212222112211212211122112221122122211121121221122121112212111211211112112221222221221212221221221221211222122112212212221122212121212112221222222222111121122211212222211121212211222121222211222222111211121121211221111221122221122211212122212212212122111221111221122111111222221112112112122121121212211212111111122212111221221211211221221222122222222222122111112211222212122211121212221222121111211122211221111221211111112211222212121111111122121121121121122122211121112212112212122212121111222222222212121112212122212112112221111211112121112212121111111122112212111212122111212121221122212111222112111211222211212222111212121112221112221221212111211122111122221111111211211112222222122121122212212211121212121112211222122222221122212111112212212221221111111122121122211112222111112222222222221112122111122111122121211111111212121121111121222212212222122211222121121211222211211222211211122112221212221122111111221122212121212221121222122212122122212112222121212221111112122222111212212111221111121121221111211111212222122211121111111221222112111211112111122211121121212121211211222212222222111112111121122111211121211221222221112222111112222212122221121121112212111122111212121111112211212212122111221212122222122112122222112111221222222222211211112111221212112111112212222221112211112121112111112222212122211212121122222221111112111212112122211122212112112222112221211112211222221211221212212122111122212222121211221112111122221111211221121222111122211112121122221111121221221221221121211122212121122122111212212221212212112221211222211211112222121122212122122211111211121122212112111221222212111221222122222111222212212122212122121112121121211111121222212111221211221111112111111222111121221212112222221121221211112112112121121212111211221211121121111122222212111221112122211221212211112111112122112122111111121212212221211111212112212121211111212221212122112112212111111112221212121121121121111211222111111211112222212212112212212211111212211212122121111211121122221212211212112111221221121212212221111211212111212121212121211122212122111122111212111112112221211111212121211121211111122221111211121221211112222111112221212111211111221112222222212122211222121122221212112122211121112212121212212211212122212121212211111122221221111221122212122121211212112222221212121121111222112122222222211111222222222211112212222211222121222222221222111112111121111122222111211111212112121112222211121122221221221212222112111212122222222111121121112112221211121112122111112222122122112222221212222121211112211111111212111111122111212212121221111121122222211211122211121211212111211121222112212222211212221122222121112221112211121222211221122111221121221122222111211222121222112212212222112121211112111211112221222211112121212122221222112221222121111112221212211221221211111122222111111221222222212221222122122111221212222212212112211222111221211112222211111211112112211121112111212122122211222122212212211222111111122122112121211122121212222222112211112122121111111122212221121122122222122121112211121112121212112122122112122222222121221111222222212112221111111211222111222122111211122121111212112112221111122212212222121111212211122111211111221111121211221221112112212121212122222211212221122111121111111122211122111122211112122212122121112112112222221221211211112122122111221211121222222111221112212222122121221121122222212111122121211121122222111121112121122111211212122222112212122212121112221111222221221122122221122121121211121221112121212222112111222222121212211212121212121212121222212112121222122111221221112112111222222122112222121122111222112211212211122211111121122112222121111112121211221122112111222222212222122111111222122221212122112121122121121222222121211121211211222221211222122112121212211111122112122121121221112112112212222221122122222121222221112222211122121222222111121212221121221122122111211112111112212211212112112122221111111121221121111111212211211211121122122211111221121121121122221211121121122112112222212122222122121122112122212121112211221222212112111111112222211111222211112211122112222122211212221222222221212212211221112211212122122222212212221222211211221111112211221111121111122211121212111221221211212111211122112112121122222221122111111222211122222222211211211211222211212212212212221112122111211222211222212221112111212211122211212121221222112221211111121212112111122211111122121121122222121211211212212111112122121221211221221221212222112121221112211122122121111112212121211221121122111211122212221112221112121221211212212222122221121222221211221222122112121221112212222112221121221212222121211121121221211211221221112222112211222211212211211122121122221121122112122122122221112112111122221112212212121122121111111111222111211112122221222121111222222221221222112211121211212112221221211112212112222221111222211121212121122212222222121222211222212112222221212211221122212121121222222221211121212222121212212211222221222222222121222221121122212121211121221222211111211212121212121222111111112211111111121212111211221221112111112221221112122212211221212112112122122111212222221111211121212221111221111122211122122212211121121112122221112211211221221111112122122122222221211122211122112112111212111222121222122222222121222122122211122212121222122211122121112212111221121222222121221111111222121211112121222122121122112211211211222222121221221211222222212112122221212122211121211121122211111122111121221111212211222221222212121211222121211211221222122122121222111211112212111111121212212112222112122211212111212111121221212122222222121112111211121111211112212122121212122111212222121211112211122121222122112222111111212122211211112121112122211121111221122112212221121121212111111222221212212211211112212221122111111121212221112111112122112212212222212221111222222221222112121111121112211112222212122121112121112222212112221211212212121121111111122211211222112222112222211212221212122211211111211111122222121212222222112221212221111112221221212211222221121111221122222221222222111121211221211211211121211212112221222221211121122122111112211222211211121222111112122122211221111212212212122221111221122222122121111111112122111112221122112121112122111211122222122121212122211221211222121212212211211111122111221222121112221212212111121122112111112222122212212222122222121212212212222122111111121211211211222221112122221122221112222212121111211211111122212122212211221112221211212211221222212112112122221211112111212221112112212222222122221212111211211112212121112211111222211221112111121122211112112112212222122211222112212212111222112121221211222122112112122121112122121111212211221211121122111121212212122221221221112212121121211221111222212212111111212212221221112111111122112211211112112112211112121222222211212111222121221121111122222112121221211221212222112121122211112112111111122221122212122222222121112121221222122211211121111121211122222112122121122221121212222121112212112222112122211111122121211211111222111122122121212122112212121221211211222122221221111122211112222222212122212122211121221221211222121122212211121212121112212221111211211222212121122211111122111211122122121211121221221222222211211112211121122212222212111222112211112121112121121111211112122122211222112112211211121221122211211211122111122112221211211121111221112112121221122112211221222212212122211122112221211221122112211122111221122112211221121222111211222111211122112212111122122122122111212212121122112111211121111211221111111111111121112112111121112211212112212111121221121111212222111111121222112221212111222221221211122222211112122211211122121211112121111211122222212211121211212211112112221111221222121211122121112212211212111212222121222112212211222121112211112111122211212211221112121221111122221111212121221212222122112121222211121121111222221122111222112222112111121222111221121112111122121222222211121212112212222121211112222222112221212212211122212121211122212122222122221211212211112221221112111121221211112221222211212212211222121111112121221221121212221221121122122122122121221222221221111121211111111121122121111112121212211221121122121221111111122211121211221222212221111212211122122111221222211211111211122222212121221112222222211121121122211121221111122112222222222122212222212222112222112221212211122211122211221122122112111122212221222222111222112211211112211121222222211222122122221222121212122122222221211222222121212221122211111121211211212122121121221112212112212211211111221222122212122221121212211121121222222122122121111212212211122222112111112122121222111211111211122212222121111222222221212121222211111211221222112222122121111122211122212112121222212211111211121112122221222122212112111211122111211211112212212112122222122122112211212122112221211212121221122212212122111122122211122121211212112212111111222121222212112112112121122121222112211111111111111111211211112121121222222222211212211122221211122122221121212121211112122121222122112111222122112112112111112222221222212111121122212111111212121221221121121111212122222112121121122211211122111112221212222122121211221221121221121211222211221112121211112111211122212222211121121212221212122111222211112122121122111222221222221121121212111111211211121211112112111212112221111221221111221121222122122212211222222122122221221122212112112122111122112121222111211112222112211121112222112211122222212211221121212221211122122221112112212211112121211122222111121122221221211222111211221111221111111211212212221121121122112122222112221121221212111211221222222121222112221122121112112111212212122111212112111222111122121121121122121122211222122121221112211121122222121211211222221221211222222221212121222221212111211112212211111211222221212222212222121112121121111212112212221211122212221121212122122222221211211221121111212121122121122121112112111211221122211211221222112211122222121211211111122122111211211121112122112112112112122221122221122211121121121212221122221121212122112111212221212121111111121211121111222222121211221221122222111212111111211222111111212112121111121112212212212111212121121212112111122122121121212211221211112221221111211111211211122112211121111122112111211222222121212121122112211121112122212222211111211112211221212212122122112211121122111112222212121112211122122212122121212112112221111211222112222211112121222122221111212122212111122111121222111121112112211112112122212121222121222222121111221221121212112121112212221221112121121111111122112121222111111221121111222211211111111111221212112121122222222111122222212221222121221111222121121111112221112122221212221221222212111121121211211222122122222111211121112221221211122122111222212122212121212211221111212212212222121122121122111211221211221111121111211121111112111122211221212222111211221222222122111121112211212221222112212212222222221212122112112112111221211212111122121111122121221111111222121112221111212212221112121212221212221221111222211212121222211222221111121112112122212111112221112112111222121121122212211211221112222121112112211111112112211222221111211112212211212112222211212121211122212112222111212122212122112211212111112221122122211121111122112112222112211111112122112121121112212222222211112121122111121221111211211212221121121211222122112121122112221121111122122221222211122111221122111111211221111221222212112212111122211111211212121111111122212122212211122112211111211121222122211112211212221222212211121221122112121222121121221121221222122211112212112122122122111112211111222211221211112122211111211211212212111211212221111122222112222221122122112222221222111112211211122112211121112211121112222222112212221121221122121211211211112221122111112222111222212112212211221122112112111112112112222112111112121121121111221122111211121212122211121212211111111111122122112121112222221221212221112211122221122111211121211222112212122122122111222212112221122112211211112121122212222221111121122222121221121212121112111212112211122122122112111221222212122221121211122111222121111111122111112211111222211222222122121111221121122122211122212111121122112212212222221111221221122211122122112211211111211112212111111121112111212121222111221211112221122122112111112121221221112121222222212122111222121122221212221122212121211121121112221211222221112211122222221212111122111221211211212111212212212112112222211211121111121121112211111211211121111222121121121212212112211111111212121112212111112222212222212122222222221222211121112121221222212111212221112212111111111221211121211221212112112121212211122121122211222212222221122211112222212221122211112122122212212112222212221212222122111122221122211121211111122122221221221122222122121122222111121211221122121121221112122212211212111112122122111222121221111112112121121112211222212221222222121222122121111122112112222222112122112221222112221222111112221122211221211222121211122222112121221112122121222222221221222211112222122111211122212221111212111211121212222111111211112212211222122121211211111222212111112121121111112122112111122122221111122212122211212121211222121212122121212111121121121221221122111212112222212222221122121211222122111112221112122121222112212121111222112211122121212121221122221122122211122212121112122111122111211121212222211222111122222211111211222122212211111122112111122111222212121111122211121221121222222121122111211112222112222122222222112222111111112222122121112111211211111221111111212212212221221222111222121121122212121122211111122111212112211111211211111122111211112122112211212211222122121112211222212122121211222222221221221211222212111111121122212221112222212212212212212222122121121122121221111112112211122222112121111212122112212212212122121121221211222122111112222121111122111212121111122211211112121221211122211211211222222222122121221212121112111221111121122111211111122111121112121221112122212222121221112222111222112121212222211121211222112221221122222112211111222221121112122122111121122212122212121111111211211212112122111211122111121111221111111112112222212212211211112112211121111112112222222211222121221122111122121221121122121211112212222221221211122212221221122212122112222111111121112211212112212221211212221212221221222111111221212122212122111222122212112111221112122122211222212111211211221111111212122122112122112211122211212121212211211122122211212111111221211112121222222121112111121111212221211111121121122212221222112122121112121121121111121111222112112111212121121122112122222212112211212111121111122211222111221212211121211222122111121221211212122211222221111121212111112121121212212222211121112212212212122112222221112211221121221222211122112211111211121222221211212211122122121222122122222111111212221211111212222222211122121121211122222112222212211212121222212222212122112122121221122111211112121221222222211221222112221221222211122221211121121212222122222111112222222221122211111211112212222121222222111121211222121112121122122222121122121212112211222221211221112211112221211111211112211121222221211221112121121221221121111222122121222121111111221222122221112211111221211221222122212211112112222122222122211221211122111212212121221212221211212112121222122121211212122122212222121212111122211222111112112111121212112212112212111121112221221211212122121121121211221212212221111212121121211221122112111212112121212222112211122211221112121221212222121212111121112111212122211111112222222222221222212222222221222221121121111221122111211222111121112211222122212122212212121221222111112121212122211122221121122211111212111122221112111112121122112222211111111222112211221212112111221121211122122221122211122111222221111112121111222222122212211211211122221112211112122212121221112112221121112121211221221112122122211111111221212121121212212222212122212211221111221122111211211122211211221222112111122112221212221221111212112111211122221221121211111121112112221222211121122111212122112112111212122121122211122211222221221121122212212112121121112122111212121222111122112122221222112222111121221222221111122212222122212121221211122111211121122122221121112111122112111121221122112112222211211112122212212221222212112221112222222221112212122211212112111111222112111122121212211222212222112212222121212211111221112222221112222221222212111222112211211121221122221111221221211111211122111221112122122212222222121212221122211121221212122221121111222212212222211212122112221121221221122221211221211221221122221211111211212121212212221121211212221111211112112222221111221122112122221111221111212211222221111221211122211212121211212212211222112222122121212221122212111122221112211122121221112222212221112211212111111221122222122112212222211112122212112121112211112221112121122121211222212212212122111211121222211122221122111221221212111112122122122111112211121222111222121122112221111212212212222221221112212121112111112111122122212121222122222221222212222122121111122122211121112212111212121211111222121212211111121111122122212111122211112211112222221221212211221122122121111111211112211121112112121121111112221212122221212112121111211122112211221122221121211122222221222221122212121121111111222221221121121211121112211221112122211222212221222221222221211111111212112111221121111212212212222222221112212122122211122111112212211221112221121111121221212221121221121221111222121212222122121121212112122112212211121211221211121122122222222222111111221122111122121112222222111111222111122221112211211211121212111221111122211122221212221112112211122121212112221211112111121112111122212122212221111211221211222122222112211111222221112212222212211222112212121111221111222111222112112212121121211212221222211122121222211111112121122121122111122211222121121112112211222221212122212112111122121112121212221212222212222111211222212111121112122211212221121112211122222122111212211221122211111211212222112211222211212121121112121212222211221121211221221212222222121212222121122212211221211212111221112122222212112212121121111121122222222112212112112121211211112122111121212211112121211122121121211221211121222122112111221122121221212112111112112212221222121121212122221112222221112221111221122122121122121212121122112212212111221111212112111221122111112111121111122121122211121121112121122212111221121121122111121222211211122222222211121122122222111221112211122222122221112221111212111112221222121211222112111112222122112111222222211222111122121122122211222221211221222222211111111111122111112112111112222122121221221121212222211221222222222111122121222222221122211221221111222222221112221212121112221111112211211222221111211211112221122112221111122222121221222122211112212222121122221212121221112221212121211222121211121112121111111112122121121212112111121221212121122121212222111122212111111121212222212211122121112121112111211121112121211121222121112222212111122121112211221112122121111222112222112222112211122212111122122221111122112211121122221222112121212121121222221212112112122112111212111221221121211121222222122112222111112122212111211112212122112211221211222221122212221222111112222222211122221112112212112222121221112121111211211221222111122122212211112122211211112211111122221111222111122122111212111121121122222111211122121111111112212121222122221221112111211211121222122212122221122211112221111121112121111111111121121121121211221222221111212222112221211212122211222112211211111121121111211122211122212212221211121112211111111212221222111111111211222212212222221121112112112112112121211211222212112212112111211121112122211221221111221112222221121121112221212222121221221111222121221212112121122222221122211221121121221121121221212222122212221221111111112212111122221121122222122121211112122222122222112221111222122111121112221221112122122211121212222112112212212111112211222112122111221221111111121211212222212121112112111111111111222211111122212111221122122212221222212222222221211121111111221122221222212121111121222112212212122122111112221221111212211212211222112222212111112112212122211111122121221112212212111222221111211221121221122212212111212211212221111111212121221121121212212112112222112122222211221112122212121211222212121112221221211211111222112112211222222212121221122112212121211222121222122221222211121221211212122121221111221211112112122222122221212112111111121222211222221212122211112221212111122222112112111122211122221212121222212221212111212212121212221212111212122211222121111112112212211122122112212222211221112222211121112122112122111122121221112221221112211122111212111112121122112221212222212222111112111221112121222112122211221122212122212121221121111111121111122221212111111212122212121221122111212212222121221211222112112122122211221221112221212222122221212111212111221211222211222122112112111122122112221121212122222211211121111112111221111112122211211122122121221222121112111111221122111111122121122112221221212122222111112211212211111221212221212112111221212211121122112112111222122222211122212212212212211212112212211112122111212121111212221212121221111121111222211212111221222121221112221222112221112222121111121222112111211121212211122212111112111111112211211221222221112222222222112112222112111211111121122121221112122212212112222211121222221221122221211122112112212212211212111211212121122221112122111121112121122221211211111122122112222212221221221211221122122112212222111112211121121121111122111211122121212212121121221212211112211221212111122212212211221221112122211111111222221121122221122121111222112122121221122211221111211111212211122222221122122212211111121212212211111221221112121122222121111211121122122221122212122212212212112222121212111122122122111112122221212111122111122111212212221122122221121111212212221221222111112112222111211221122211121212211221121111122121222122212211221212212111211222122211212111122111112122221221121121212212211221212211122122112222122212112122112212111121112222122221211212222121121212211222212211111222211221222222221121112222221112111111122112222111212112212122211222212221211122211212212212222112121121112221121211222211111111212211111222121112211221121111121122122111221221121222212121122121112211111212112121111222122111221212111111122211111122212221211111111111222111111222112212212212222111211122211111111111111121111212122111211221211221211221212211211221121122121212112121121121121121222112211212211222222112222122122221121122111122221212121122212222111121112112212221211221111112211221112211121121122212212222222111122112122211121121221212111221222221112212221212111212211121111211121111111111212112112211121212222211211112111121122121211222121112221222222122221211222221122221212211222112222112212121121222212111212111111111222221212121112121121211212111212111222222222112112211212222122111122122211121212111212221221222212222121111212222221111122222111212212222221112212211111211221121211221222222122222112222112221222221121211211222221221112121112212112222121122112211212121122221212222212211222111111222211111222112222112211221112211122221121222111212211221211222222211122122112122221211121122122212122211212111112112112221121112211121111122112121111211211122111211122112221121221121222211111122222222111221221121122122212111111211212222122212121222111222222211122112222222221222111122221212122222212221111111222222111121121122122112222111111112121211222121111211222221212122121222111211221122222122222121122212221112212112211221122221111122121211112222212211112212211122212212211221222211112112221112211122211221122112121222222221222122221212211122122212211121211111222121221222121112112221211122221122121122112112111122222121121221121112112111122122222122211222212121122221122221111212112121121211222221122221212112122221122112212122212121221112121211111221112121212111222222212222121112121121211222221112111212121111111212121121212222221111121122221221112212111221211112212212222112211212111212221112221222111112112122211221121221111122211122221121211211112111222111111111211221111222111112122221221121122212122212222111221222121121222212121122112112122111211122111122221122212221211222111212111122212221121122211121121211111221211112121212121112212112211122211221221112222212222111212111112111111121122112111121222121121211122211221222222112111111212222111211122121122111211222122122222211211222121222222212222122221122222211222221121222221221122112112111211121121221121212212221121211211212221122112221211211121212221221121112121112121112211121122211112111211122121212211111112221121221221212111222112112212111122111211212112212111112212212111211212222121112222212221222211122221112212211222111211222212121111121221112122122222211212111111211121121111222221122111221221121212121122121122111121212121211112112211211111111211122111211111121111112221211122122212222222112121212221221212221212221112221221112121121211111111122112222121221212222222112211212122111111222112222211121211111121221122112211212211221122121212111121121122112222222121112211212121122111112122212112122112212222111221222221221211212112211121112211121212212112221121211211221211112211211212221112122222111222121222112121121212112221211212111112212211211122121222221211222212122122122122222122222111121212112122211222222121222121122221112112212111111211211121122112222222221121112111211121212112111112211122122212122222211212112122222121122121122122221122211121211221221221122122222121221212112112222111111211112222122212121121121122221121222121221211212221221212221212112211222222221212221112211221211211122222211222112212222121122211222111221122222211212212221122121121121211121111112212121212212112122112112222211212122111221112122222121222122122112112211121212212212111111212112222222112121211121221111221112221122122112212212112212112212112112111221112111122211221221111112221122111211121211222112222212112121122121211221121112212212212222221221222211212112212112222222212111121121122122211121112212222112211111111211221122222122222112212111221211112222222111221222221111112111222221111122222121211112211221221121221212211221211112211222212112111222212112212211221222122221212121122211112212121222111122212122222121211111121212211221122122112112112121121122221212211221221221112212122112111112111222112111121221111121212112121121111112122221112111112221221121122222221211222212111122122212112221122111211212111122211212212211222211212111122122221221221212111211112211221222121221112221112122222121112211222122222221121121121222221111112111122222222211112222121221122122221112111212121222111211121122211212212221112211221221121222221112222111222111121222212121222221212121222112122121111222222112212111211122111211121122212211222112111112222121112121111222121222221212211122122211121212212211122222112112221211211211222221121222221211221212211211221112221222111121122222112222122211212211111221211221122122211111121121111111112112211222112121112221211211211222221211212112121111221212121221212212122122222221122122111112111211121212211112111222222221121122221221112111222211221111211111122122211121122212221121121122111122122122122122212212221111221122211111122112111122222111112122121112112112211112111112211212112212212112111121222212112122221122122111112211222121112221212211122111222121211212111112212121121121221211211211211222121211211211211111111111111211111222222111221212222111221111211211122121122112222111122211212211221222112212121121121121222122111112211122221221121211221222212221122212211212112222111111211111112112111222112221212222222221111122211212222221122211111221122221212111111211122112122121212212121121211222212222121211121221222211212111222112122222122221121121122222222122222111211121212122121222112112222211122122112121111222221222222122112212211121212211222211212222122221222121122212122222111222212121122222212211221221221121222111111121222212222212211122211212221121211121122212122121121112111212121121111221111222112211112211112121221212111122221212111212111212111211212212211112111221111122212221122222221121221211112211112121122112111121222222111112111212212122122212112121111221122122221211222222221222111111111122211111211212122111122112212211112212122122221222112112222112122222222111222221222122121211122221111111212122112111121212121121121112122221122212112211122221121212122121221222111221212112211212211121121122212122221212112211122121212111111221212122212211121221221221122122212212211112222212221221122121122222221222112212111121222111121211212212111211122212112121221211111121221212111212211211211211221212121122121211212222121112111222111111112212122112111212121122122212111122121211222221121121122211211211111111112221111121112221111211121122121122121222122121212221221212111122212111222121211222112122222112122221112211111212221112212122222221111211212222212211121221112111211121212112112212221122222221211122111122222121211221121211222222212211112111221211111111122122221111221122221122221211112211222122221111211211111212112111211122112122222221211211211211212112211222121222121222112121221111121122212222222121122112122212122212111121112122211121122111221112222122222122222112212221112222212111122112212122111212212111111222222221112121121111112212121222112112211122211121111112121121222111111121112212111112222121212122222221211121111122122122112222221222222112112111121212121111221212122211221121122211122211111221112221211111112122221221221111221211112112212222111122112222221222121222212122222112121111121212221111121222221111211222122121222211121222222112222222221222112112111211211111211111212222222222111212211122212211211112112221121111111112222121222212122222122211121121121212111222122221111221221211112121122222121212221112211212222211111211212212221111221121212121212211212112121222112221112112122111212111211112221121121111212222222212121121221122222112121221111222222212112111122222221112121222221211221222222212122121221211122121212212111112211121212122221212212221221121111112211122222212221222122211221111121112112212221211221112122111111121212212111211121211222121221121122112212212212112112122121112212112112221222121211212221121221112211122221212212221221121222221111122211111211212112221222112222222211111112222222112211111211122111112211221211121111112212222111222112112122111212112212211211121121122212121212122111111122112111222121212122122122111121111221212112111111221111211222222222222122221212221121122212122111222111122221211111211211112112121121121121222112112212212111222121121122211211112221221122112122112122122111222212112221212222111122211212221222111112212112221122122221111211221212212112111122122122222222111122112211211211222121121221212211122122222212112211212211211211121112221121122212111212211212112112122111111221212212121211212111121222121212122222211221112212221211112122121211211222221212111122112211221112122122121211111221122122121121221211111112122122212211112121111211111122221221212121222111121222221111121211121121122122111121111212121212221211211221221222222212212212222211222221211221211221112111212122111112112122212122112112212212221121212222121221211111211222221122121211121212222222221122111222111121211112221211221122211122121122122212112122211212211222122221222111122122211111222211121222211221211212222221112111122212111211212212122121112122221121112111221222222111221111211222111122222221222222222211111121112212121122211122211112222121121222221221211222111212221122111221212221121111221221212121212112112121121112112221222212121111122211121222122222121212221212222221111221222221212211111221111211112212221211111122212122221121111111222222112222121221121111111122221212111212212111122221221221221122211122221111212122211212222212212122212111212122211222211112122211121112112212121212211212121222122121111122211222221221221222111112222221112111221222212112121222212222122211211212111212211111121121212112112222111122221121211111222112222122122222111122211212212112112221222221121121211121111212211221121222211212112221221212222121112112212111212121212222121211222121112121121212122221221121112211222121222121111122122212212111222112212221211122222122221121121221221212121111121221211212122111212112121112122122112112111122212121111122122122122121221221211122212111122111112222222121221112221112122121222221221211111122112212211121212122111211211222112112211122221222112112121211211112121122222211122221122121221122121121222112222211111221221221211212211121212111212121111122211121212121212221221122112211122222221221222112212212221121222111212222112212221121122112112111212111112221222121212211112111112121222221221112222121211111122212221222222121111122221221221111221122121122121222112121112122211112221111211212112222112212212122212121212112122121122121212222212111212121112112212212212211121112121122121221212121212211211122211212221111121121111121211121121111211121211221122211112222121221221222212112222122212111122221211211121112222221211121111122112111221222222222211121121221111121211111111212111222111122122121211112112111222212112221111222112112112221212122122212112111121112121211212211121121221212211221221111211212122212121221222212221211212111221111222111211221122222212212121112111222122221211112122221222112121221121112121221112211212121212222221212112122222211111222222222111122212212122122122122112111212112222122112212121122211122112112222211121221212211111112111112211212212222122212212211212122112221121111222221222221211222212211111121221121212211222211221121221221112221211212121221212111221212112112111221122112122111122112122121111121122212212221111211112211122111221212222121211222111112221122111121112211121221222221212112211211121221122112221221221221111111212222122111121211122122122211111221222112111121222212221122222121221222211211111221122222211122222122122211212112221212222221122111221222112221111222221122112211121111122212121111122112221112211221112122212121121211111121212112112212111221222121112111211212112121221112121122111122112112212122222111112122212122112112112112122222212112212111111112211122222222221122121112222212112211222222212111211122112111211211211112112222122211211222112111221122121112221122122121211121122122112221221211112111122112111221112221212221221111112121121121121212212212211222121211112211112111221112121221222121211121122222122211222221211122211221212121111212222222121111211122222222111222111211211121211122121111112211121212111211222121221211212121222212221122122111222122212221211112211111112222211121221221112122222212121122211121122221122122122112222121211122122111211112111221122211111111222221222222221211122222221211111121212122112122212121121211221111221112122222211111212121221111211222122211211211212122111221222111212212122122112121112112121122122111111111121211211112122221121111112112211122222121221222221211112112111111111111222111111121212121122111111212121211112111111111221222222211211212122122112122221111122211111112122111212211112221222221121222212112222212211122122212212121222121122212211222221211112121211111122112211112221121211122111222111121222112112222112112222112121221212222221212122121221222111112221122212121112112122211212111112121112112212112121222121122121222122211212111112222112222122222211211121212121221112221112211222221122122211112111112212122122222121221122111221121211122112121121112212121222112212221212112222111112221122121121112111212221111212111122211112122221121221211212212211111221211121121111222211222121121121221112221212222221221212221111212222211212222121112122222212122221222212222212121221221221122112122111112121221112221221111212122221111121222122221211112122212111221112222122211112111221111211211112212112112122221121111221221222121111211221122121111221121212221222112222111212212122212112222122121122121111122112112221121211111122211222122111121212112121121212211111221222122111121211212122221221122112221122222222222211122111221122121121121222222111112111221111121112121111112122212121122221121221122122111112221211111222112212212212121221122221111221111212222222221122211121221121212111211212111111212212112211122222112121212121112211212111211112122221112122122222122111111212221211222121111211222222111221211211221222211222122112221121222211211222212221112121212212122211111121121221121211212121212121111222221112211112112211122112222111121121121111111212212121112211122112122222111112112221221222212211111212211211222122212212221212222222111112212222212111112112111111222111111121212222122211221111222111212211211122112222211222121222212222211122112212222211212212222121221121122121212112111211111222111211221121222211122111112122221221122121122122222111121211221112212221221112222221112111222121221222112111121122211112121112122222212221222221121211221111122222211112212211111121121122221212121211111122212111211112122111222211211211121122121222221222121121211111212121111112221112221112222122111222212111111121111111112112122121212222122222112121211112211111122111112212121221112111212211221212122212121222211211112121122121111121221221121121221222111111211222222111111111111112212222112211122111211212221111111112211222111112221121112111121122221111221212222221121122221121221221122222222121222122121121221221112211121221121112212212112122211112121112221221221222212222112112122222212112212112212111111212222112222121112122222222221211212211122212122111112121121211121221121221212121122122221122122222122112121212122122222212212222121211122111112122221212112222222121111211112112212222122121122111212211121211121122211222221111111112211111111111111221111112121212121221212221112221211112211122222221111112212122212221122111122222222122111211221122211221122212122212121121121121121211122212122212211222221212111121221122111221221111111222111112222221111122122121222212122112111222211222211111121122211222221112111111111222111211121221211222111212111112122211122112121121221121121121111112221112222221211212221121111222121111222122212111212211121211121122121211122222211222122111111122212112212212111112212222112121222211122122221112112222222112121211211222111221212111122122111222121111121112121222111211112221122212122222211112112122222212121122121112221221212111212122112211222211122112121222112222111212211221112112121222222221111222111112122111221221112211111112112212212121212122222122111121111211222111211222111112222122221221112221112221221212212211211212111211222222122212111121212212212212211122222122122221211121221112221111112111112122112112222121111222111111112121121112122222211221112221212112212221212222221121221121222211122221211212222211111221211112221221222122112222121211112211111121222121222122221122211122212111112222122121211122221212221211212121121211112121112121122121121121221122211122221111112211222111121211122111221122121121122221212221121121112222221111121211211121122221122212112222221121121222211221211211122121121222221112122121211121122211112112222212222211212212112222122212222222211212221112212121212122121221122211121211111211122122112211222211121112221112122122222121221211112111222111212111111212221212221221221122212122111122111221122112122211121222122122122111121112212222121122222212211212112121111211222222122122222121212222112212221112121212222221222211121111112212122122221121212222211121211122212111122121211122221212111121121211122121122122221221121212121222121222121222121112211212112222222122112211111121211112111211112111211222222121121112211212122111221222112112112112111222121112122111122222212221212211121112212111111122122211122111221121211121222122212212211112111212122112212221111121221211122121222222121221122211121111212122221112121211122112222221222112121211212211212112122122212222112222212111121112111222111222111112212111122121122112112211122122211222221212212111111222212212211221221122211122111212222221212121122121112122222111221222222122222221212222221111111211121222111211212221112222112211212212121222111222121112212211221222122221121212221211221121211122221111112122122112212121112222222112222111221211112112122222221222112112212121112121111212121112222211121112122111221222122122112212111121221122122121122122122112111111211112112112212221222212112111111212211112212112121122222212211222111111221211111221222112112221222112111221122111221121121122211222222221222111221112211212111222112212122112122221212111211121112222221112111122111222211111211221111222222211221121121111212111121212122212212212121221122122111121221111112122212221211112111222211212222212222122111222211112211211211222221211112121211112221112121122112222211111122122212221211121112111121121222112111121222211221211221121221122122121212111221121122221121212222222212212122111121221221121212221112211221221112121212212111211111121122112111112222121122111212211212122112212111112212112221111122122212211122121212212111111222121221222122212221222221111222211121221212222211222111222111122121112122112122112222211211121112111221221121121121222212112211211211111222121122212212112221222112212221111222111112111221221111112221111212111222212222122211212111212111111221211121112222221111121222222112221121111122122122211122221122122112221121221222122121112222112222121121221122212111211222212222221211112211122111112222221211112121111111212121121121111121121212211111112122222222111111112211222112112212222122112212222221211112222122121222121111221111121211222222111212221112112212112222222221121211212112111111222122111112222222222221122212221211122112212222221212221211121221221112112112121122221212212222221221121222122121112112122222122121121111211121212221122211112211112221211112212221121111122122111222122111211221122121221111112212122121211222212112122221212121221221212122221112112112122121212112212112121112211221112112111221222212112111112212221212211211212121111122111212211112122211121222212121111221221111112222121211221221112211212112112122212111122121222212221122112212111121111112221112122111222222122212212212122121121221212112112121121111112212121122121121211221111211111121122212222221121211121211212222111122122221211211222211221212211122122112221211111222122222212121111121212122121121212122222211211121111212222112121111211121112112121211221211122122112211211211112211212122121221112111112122112111221112111211111111212121221221211122112112112211212212211222111212121111111122222221211112112121121221121111211122111112112112221221212112121122112221121211212121112221222121112112121221222121221111122121111212221112111221112112211122221212121122121121212111122111211121222112212122212122122112112122121212211111222212221221211121212212211111112111211112121111222212212122211211222121221211111121121121112222211221211111112121112122112111111211121212122212122212111112221221121111111212121211221112122111212121111212121221112211211121221222122112121121121212121112121212112111221211211112111121121112122121121211122222222112121211121121121121221212222221211221222211112112222111112212212111212122122221211222111112121211212212212121222211111212122222211221212111112222221121111111122222212221111221122112222212212121112222211121112121112211222122112122212111211221112121112222211222111222112121122122122122112222112112221212211211112221112211122112121122122122122211112222111222121112222111112122111122112122211122222212122212122121211211222221121221222212221121212222212122122221222221212122121211222211111122111222121222122122212111221122211221121221212221211111211222211112221122122221122121122222111222122221221112221212212121111112211221111221112122112121222222111212122121122221112221122121122111221112222211212122112122221222111211211211212212122122222111211112212222121112222221211112122212112221222112211221212212222111221112122122211222222212212121112122212121222122121112112111111212122222212211121112211112121111211221221121212211112211222222221211111212112121121222121221221212212212122122111112122112211221222221121221211222112221122122121111222122111122211121121222222121122122121121211221112122212212221112121221211212111212121122212212122112122112222122211211121111111221121221112221111112112221111112212111211112221112211211211211212212222122212112111221221111222121211121222111111121221222111221111111212221222211122112122212222222212121212112211121211121221121122222122212122211211221221122121121211212121222111111122212111121221211221222221211121112122212112222111221111222221111121121221121122212112221122221111222122212122122111222112122211122211112212112112212222112121112111121111212211122212121112211211111221221212122121211211212122112222222211122212111222122111211221121122122222112212221121112212121121221221221221221122111211211121221212121111121111221221121212121221212212122121212122122112121222212112112222111212212122111122212121121221121212112222121121121212212212212222212122221122111111121221221221122222122211122111212112222111112221212111211111221221122222211212111222111121222111222122221122212122112211122221112112211111222211212111111121121111111221211121212111111222111222121121212111211221211212111112121112211111221122121222222111212221121211212221222211121122121112222111211212111112211211221222122211211211211211222112221121211122211212121112111122222211112122211222122111111222121221122221121121211222221212212221222212112111211112211211222111211112211221121122212221222211121221112211112111121212211111122222122222122111211112211111111212222111211122111111112221212222111211112221222121112222122211121222122111222122211121212222112112222212221212121121221122111121212111122212121211121221212121121221221222221112222221211121122222222212211111222211212222121111122221111111222222111222111212121122121222221121111111211211111111121121222111222122112222122111212211112212111121222111112212221221212121222222121121122111221121211221112112112121222211212122111212121221111111221112221211122122211121111121122211121221111111121211211221112111121111212111222112112112122111211111212222222211212221212221211122222222121221121211122222222122111211212112112211222221221222211212112222222122212221122211222111212122111222121212122112221222111112222111211121211111222122222212122112122222121222222111122112122111122221112211122221121111122121122122112212222121222122222111212112222112222222121111111121221111211221112222221121112222222121212122222212222221112222121111211121111211122211112212221212121221221221212121112122221221221121111211111211121112111211221211112211211112122221222211212221121212121112122122221111221112121222211121111122222222211212121211122112222222211112222211221211121111221221111122221212211112112222121112112211111112121211211221211222111121221111122111222222112121221222112112211121112221111112221122222122121221212111121221122221121211121222122212111121122112212111221211111112112121122221221211222121221121211221221222112111111122122222112122121121222222211122121221212122211211211122211122222211122212211122211122122112212111112211112111122122121212222111221211222221211222211122112122122212222111121221211112211122222122221111112121211211111112211112111221212121121221112111212121221112211221112221122112211112121122112121122111211112111111211211211111222222221211211112122212221121212112121211211212211221222111211121111111212112222222122111212222212111112221221112221111221122122112221222212111111221222111221212122111212211221122211112111112212212111221111112121111121221121122112212122121222212111212121221111221211112222111121222221121112122112121111221121211211211111212221221221221211222112212222222221121112112111222212112212122121112112212112121121212211122211221221112122112212112222211121122112212211112122211112121121212111112121212222222121122221112211111121112111212222112111211122221112211221122121221112221221111111112222211221211122112212211111122121222222112122212122221211211221222221212122222122122122212222111212111111212211211112221112122221222111211212221221112111122222112222222222211212122221222111122212121211221221111211222222221221211222211221221212121211211111111222121112122111112122111211222211122112211112121111122211111112122111221222112112211212122112121212121211121122122222212221122122121111122121221212112122221212211111212122111221112122121221211211222221221122121221111112112111212111112212111221212221112112111221211221122122112112111212122111122112121112212111122212212112222221112121122221122111112112222121221211121112122112111121212112221122212111222211211122212112211212211221222211222121222211111211212211122122212221212221111122111111211112212221112121121212211221212222112222212121122221111111211211121222221211112111121111222122112221222121211221121111222122122221122122212111122211121122122222112122122112222222121212111121211122111111221111121112221222211111121121112211121122122111222222222211111221121211121111122122212122111112212222222212112111212111112122112122222222111112222221221221211121221212211112212222111111121211212221122221112121122211211212221211211221211221221122112221221212221211112211212211111222222111212122122112212112212111111112122111112211121112221112222211122211211211121121212212112121122122211111212121111211221221211211222111121211122212211121212112121121111122121111121122221112212111112111112111222112122121211221222211112111121212221212111212212111222112222121121111111211111121221121211111122212222111121112211222221212222111212121111212112221112112212212222211122212111122212121122211221111222211111222212222111122112121122121112221122222112211221112211111221212122111211211112112112122212121122112221211112222121212211111111222121122212221112222211211112211212112111211221212212121212112122122111221112112122121121121222111121222221222121221112111221121222212112211121222212121222222221112211111221222222111111111212211211112221211111121212222211212112222112221122222111111122222211121121112212221212212112222121121212222122121122221122112211222111211122211221111111211222222122211212112112212221211122221221121112111111221222111122211212111222121221122111221111211222211211221111122111112112121121122212212211221212111221112111111221222111111212221111122112122111121212121122121221111212221212221212212122111222222221121122121111212222121212211222212111121222122211121222121211221111212222212221221211222112222122121111221122112122122112121111212212222112222112211211222212221112211111122222222222222112221211211111221121211222212121212212221212211121212211211211212221122122221111222122212122122222211111112211212211112222122121221221122112121211221212222222212111121221121222211212121122222111121111112112112222111121122122111112212221122122112112122122112111212122212122122222121211211112121222211222111111112111112221221121112122222112122111212112212111212111221111122121112222121112221122112212112211122122112112212122112121222111121222212111221121212121222111221122112111212221212122122212121122122111122212122222212212122211221221112121212212221221211112112111221112121121122222211221122121111111121222112212122222222112211121122221122211111212212112121122212211111221211122112211111121122222112211121122122112121122212112211211121222211122222212112211121111221122221121111111122121121111221212121212222222121222221221122121221221122111222111122111111121122222111212222222211221121112112211222112222222121121212222112122122122221121211122222222111221122112221221122222111222121212212122122121122122112222111211221212222222222111121122111122122111121121121111212111222221221112122222112212211211112221212111111221111211122212112121112112122222221222112121221212222121111222121112222111121111112121112222212121211221122221111211211122222121211122211121112222221212212212211221222211221211211222111122221211112222211211111211122112221221111221221122221221222111212122212111111112122212221212221221111121211122121211111211212121212122112112222212211121212122122112222212111112211112222211222221222222221221122121122121122211222212111121111121121212221122112121112112111221112122112121111122211222221222221122222111111121121111122212112211121121211122111211212211222212122212121222212211121122112212112222212212211121112212112211221212212211111111211112221122121111121121212122212111112222221222122121221221111111222212221212211111211212222112211121111222211122222122121112122122211222211212112221121111222121122111222222222112222212222112122211221112111112121211211212221211222111122211121221122222111212221211211122221112122122221122122211212221211212121112212221212221122212211221121222211212122122221111121122111121111111121212111122221221111211222222212111122121122111212211222121112211121211111222222122112111212112221212221122222222111222212122122211122122211121221212122222211121121121112112212211121122222222222221211111122122121212121111111121212222211122121221212112121121212221112212211211211121212112212121111111111111111212222211211112111211121111121222212211122221111111121112111212121112222221121122211222221112221211112211112211111221221111211211222122111122211112211121211221222212121221222211221211221221221121212122222212221221221111212212222112121121222112222121121211221212221121121212112221211112122221112221121112221122212211212121211112122111112222222221221122212211212221211121212122121221122212121221211112212211212122122221121222221122111122122121121221111111112221121112212221122222221211212212112122112222211211212222222122122211221112112111221111211122212221211111111222211121221211211112212211222121111112222121122121121222221221122211111122121112122122211121222221212222122211111212222212121211221112112212121112112112111121212222212111211121222211121221211212212122122211111212221111222111121222211112111221221221221221121221111111111212222211211222212111211121111122221111211221212212222222212212222222111111211222121212122221111221222211222212221121212222222222122222111122122221221212211212122111122121212111211121211221122112221112112211111111212112112211222222222111112112222212111111222221122221121122121112211212112221112121121111221222221122111212211221212211122212121211222122222222122111222211211211222212212211212111122111222111122212111121112222122211111122112212221222122222122121221122222212212122112221211111122212221221121112121122212211121112222122112112211222212221111222221212122211221211111112111221222111122222111121222221121212112121221222212221221112222212122211111111111211112221221212121211212211221122212211212122111112112221221112212212111121212222112221112112211222211211121112121122211112221121221222112121121121122122212221222211222211211222122121121212112121211122122112212222221222111121222112212221121211212222212222111222112121111211112211221112122222212212122212111212111122122222212112221112112122122212221211112122112211221111222122221222122221211112211221121111122211212211221221222222221112121112222221211112112222211111211112122222221112221222122221212112121212112222111122122212112112111211221112112111212221212221221222221122111221122221222221122211221222212211112222222222212122212122221212222221222212111122221212111122211111121122111122211211121112112122112121211211221221222112111222221111211111222111222211222211222111111122222222211111212212111221111121122121112222222212222121112211111121112212112111111212222211212212212121111112211221221222211121212211122222112221122122122221211112222212111112221121122211112121222112212211111211212221212222211211222212212121221222122212221222122211122222212211211221222222211221122211122112112211112111211112111121221122112121221111211111222211221111221112111121221111122222222211121122222211112122221212111121122221211211221212211212122222222212211121212211112212122212222121122122112211221222112221121112212112212222222222121111122112212112121111111212211121111122221111212221112211221112212111121221222221222212221221111122122121121211121212221122111112211221112222121121221112221212111222211122221222111111121211122221111122221211222111212111221212211112121112211221121111211221212211112121211111122222112121211122122112122122112121222222122111222222212212122211222212211222212221221111112211122112111211212122122222122111121122111111112222212121122121221211212221212111221122211121112222212212111112122121121121111211212121212111111212112212211122221212121122112111211211112121111211212211122212122221112122221221211112211222122211222122112212221221111121122221112121111112112112212112122112222121122221121212222212112222221212112122111111112212111222211211121122121221121121121222122112222111122212221211112122211211212221111211112122112222122121121221111122121212212222121121221221222211112212211122122111222211121212212221221121222221122211221212211222211212212212121112112211212112121221222211212221112221211212222122111212221222112222212211121122212122212122111222212111122112112112112122122112112112112122222121211122122221212212212212122121222112212111112212212121122211211111221121111121111221212122121212121122211212112122212221222122212122221222121122221112111221122111222112212111211212121221112111122212121122122112222212122122211211221222222211222112222222212112212121112111122212112222121111222222212221221111211211111222111122221222222111112112221221121122122221222211112211122222212122211112211222221222222222122221212211222222212111212112221212111222122111111221222211211111212212121122122111121121122211212222121112121121111122122211212212121211121112222121112121221121222122122221121122221211112221121212222111211112111111121111122122221212121122211221221211112212111222122221222122212222221112212122112211111211112211211111212211122222222222112111122112112222121112212211221222111122121122221211222112122112221222211221112212221212211121122212222211211112112211122112211211211112212211111221211112212211122111122211121212122111112121112212121221122211121212121221122121221121221222112121122112121122211221221211111212121121121212122112211121122211222111111212221212211121212222211221112121111121121212222221211212121111222121222212121222221221222122222121111122221222212111222121211221121121221211112211112212122222212111212112121122112111212122111212121112221122112212121222211122112211112122222122111212212221211121222221222221112112212211122222222221122111112122221111122222122212112221222212121212211112222221111122112122111212112212211212222211122211211121111222221121222211221121221221121112111222212112121121222122111222221222221121212112222112211212122221212111111222212212112222111122211222221111112221221212221212121122221222221122122122122211121222121221111221212121212211221222121122122121111122222222111112121112112222122112221111111211212221221222111111212111111211211112121221221211221222121112221111122212221211112111111121222222121222221121112212121221112212112112122222122212212212212222111111122121122211211111221122122212122112121122221221221111211112222112221212122121121111111211112112222212212222211122121112212212211122112122222221222212111222122221111121121222122122221111111122222211111122121221111111122221121212122222112112211221211212111211122121211211111122121112212221211112111122112212112212221212121111121122211222122222222221122221122212111211122112112212211121121211111211121221221221121221222122222212111111112222221221112112211112211121111221222111211221122121212121222111212122112211111212222122112211112111111211222121121121212121122122212112121212222121122212112222121211111112111212122121122122121121211221221221212211112112212221121121212221111212111222112212211211212222121212222122112212221121121211112211222112121111112221212222221111122222112111211211221222122222212221111222212122211122122111222211221112222121111121222121221122112212121111221221112211221221211221211221221212211211211112221212221121121111112212212211111212112212221211112112211122111212122122222111112211122121211122112112211111221222121111222222212212212112221221112211211221122222221111112211212211222211211221222212211111221221121222212222222222211122122112211222222122222122221211112111122122112221221212211122212122221221211212221222221211212212112122111121122211111112221211111221122122122212122211221122111211212122121111212222222112212211212212121112221221122221111111222112212112222121211112112212111121122112112212121211111222122111211211211112222112121121221211112212122111111211222121222122211212111121211211211112121121212111211111221211221222112121212121111122121212122212211222111122211122211112221121121211222122122111211212212112121122111121222221121111211222122122221211222221111222112222121212111112222222122212122222222212211222111212122112122212121221111211211211121222212211122112111211122112112211212122111121121212211222211221212112222111221212221121222222111212122222121222221222211222112121112221221111211212111212212122212122111111121112121221122222121222211111112212211212121112111222121111122221222111121211112111211121122211212222112121121122211211211111211222112121221222222121211222221112112212222121212122222111121221222112111111222122211222122211122121121222122121222222221212211112222222111222122122212121222122212121112222122122211222112111221222111211112121222212112221222212221122221221121112111221121222112212112122222221112222112212111221212111222122221211221122111111112111112212112212121221122122121121122212112212221121121112211222111222112212121122112211212121111121121222221121111121112122122212122112222222211211112222222122121221121111222122212112222221221111222122111122221221211212121112211221221211112221212212212121112111221211221211212212211221211112122122122121121121112122121221112212211122122122221122211122112122111111212122212122111122111211211121111211222212111121211121211121122212112112212221121111221222211112212111121121121122112122112122221122122122112122112222212122112211212221212122111211212222222211111222111112222112222211221111211121211111212121111222222211212222212221121121111221222122121222221121221122121221211222221112221111112211212222212112212121112121221112111112212222111222122111222111122222212122222221121112121121122111122111221221121222222111212222122222222222121111221222211122111222221121112112211211111111212122212112121211112212112222122212111221111212222221111121112121112222122112112122112222121122121222112122221112112212222112212122121112222211112112122122112222221111122221111222122122121222211221111221212211112121222222111121211211112111112222112212112111122121122222222212111221122111212212112222111112221221221222212122212111212111211112111121112221122212121121222122112211111112122122212211121111211212222221122122121112121212222211211121121121212111211222221221222111112121221122211121122111121112111211211211222212121212222121222122121111111221122222212221121121221211111221112212212111221121211222121211221212222222122212111121211211122222111111122111221211121112111222122222122122212111111222122222111211122211212212222121212122211221121211121112221221222222122221122112111111222122122111122122122111122222211121221211122222122122222222212211222212211221211122111112211121122112112211212122121112222222122121121221212212111122121222112122221222122112212121211112212222211111211121111222121222122221121211211212111221221111222111212112221112122122122221222112111111112112121212222212112112212111112212221121122211122122111221121222112212212212112122212211212121122211211211111211222111121212112112121221212222111122111222121221121212222112211122122212211121121221221222222112212111211211222111212222111212221111211211122121221211212222221222222221121222112211211222112121111112222212211122122221111222111212121222111121211211212212222211122121121112121111211222122121111221111122121121222122222212111212111122121211221222112211212221211211121222112111121212111121211211212211112211112212122111211212122121211121121112221222222221211222212221222121212121121112122112122222212111111122111111222121112112221121112121112112221221221222112122212122121122222212111211221111221221121122112112122111121122122112121222212211121212221112121222211112121212211112121212111122121121121211121111121222221221111121211211112222222122221112211221121122122222211221111222121122221121221121122112222122121122122122211122221221222112212112111111111222121211222211211111112222111221121212121211221111221221211211222221112122212222112122212112112222221122111221211121112112221211221211111222222222111221121121222112212112222212122222121222222122121212122212121212121221112112121121121122212112211111221112111122111212121121222122112222122112122221122122221121111221122211211111211212112211122112222112222211111211121111112121112211111211111122221112122212122212122111222122212211212112112222211111122111121222212112222221112122122221122111212112122211221121212221221122211122221211212112221222211222122222212122221121111121122211122111222212221212121221122112111111211121111122122111212121211221122211122122221211112221122222222122121111111222222212122212112122211112211122221212221121221112221112221221122121221111212122122112212212112212211111212212111122121121212222111212212212222121111211222122212222122122221211112211111122111112212122122111112222121121221111112212122112211112221222212122212112221221221212121212212112121221212222111122122122112121112121111122221211221222212222111111211221221112212121221112222222212211222222221222112212212111212222112222222212211121221212211122221122222222211121121211112111122121222122112222112112122121211221211211112122121122121212211111121112112211112212122212121221121122122112212211111221111122222112122122211222121112222121211121111211111222121211212222121222221211221112211122221111112211211111212112222122222221211121222112222121121112111111112211222222211222212112112112112112121111222121212111122221221212111112111212122111222112122112112112222122122222112221222112222221122121212111122222212122121222122121221112222112112212222222122222211112121212212122212222122111121122212111211112122122121212212212111212121211122211212111222211111212222212222212221112121222121112221212121112112112121121122111221122121212221121112212121111122121112212122211122222122211221121111112211221111212222121121112212211122122111221122111212221121121121112121112222112221121122221221211121212211211112222221211222122121221121112122111212112222222221122112112112222211222112221122222122111211221122122212212122221112122122212111222212121112222212211221112222221221112212112111111111121112112121212121212112211221121222212112211112112222212112212211111211211112212112221122222221221121111212222112222112122122112212122122221121112212221112221212211122221212222212112121121121121221112221122121221211221121121121111112112121212222112111111111111111121212121112221212212121111211222121222121121221212111112221211121211212222222112211211211121221211121122212121112211122111121221222211221122211122222112222212111122221222111211112122211211122121112211222112112121112111121222221111112111111112212211222111222212222121111121212112111111122121212112122221122112122112122212122122212212221221211222212112221111212222122212121212221122212122221121211112111212122212222111222111122222212212111222222212112122221112111222222121212212222221121221211112212112211211222112112122221221221222112122222212221221211212222212112212222222222212121221121211221112111212112222111112122212221111121211121112121222211211212121211112111211122111221112111211111112121212111212222112221211122221111211221222221111222212122121211212122222221212122121112211122212111112121111121111111221121212211212111222212111111211112211122222122211112212221122121212122111121221221122121222211112221122211121221112111222111221121121212212212221121222211211221211211211221211221211212221211222221212111122121212221211222112112112211111212112122212112122122222111111211222112111211221212111122122111122112111112222112212121221212122221221122222221222222222222111221121222221211211112111222222221112112121121121122212121222122122121211211111222111121121222222211212121112221212221122112212222212112222111122112121122211111121221222111221222222121111212221112122122111221222212121221212212222122111122122122112122121221112221211121212222221112211112111122221122222121211121112222221222222222121122212211121211121212112121122221121122221122212211121221112111221112221212212122112211221221111222111222111221121211211112222212111212111111121121112121212211211211221211222211211211221212121121212111212222222221111121212121121122111222112221122111221212121122112222212221122122221122112112121222112212121121221111121112122112122211212111122111122122112112222212222212112221112111122211112212122211121122222221211212222211222221121122211221221222211221222222111111121111121212121211221221221211122122222111221212111121211111122121221211111121111211212111121222222121212212122212112222221111222222111111111211111112112111121211211222111121212211221211121122121122222221221211212221211211222212112121122212212121122211122112122211121121112122221222222222221111111222121212111121112112211222221211212121112111112112111111112122111221221222112212122121212212221122221122122222221112122211221122212122211222111122212122121222121122221222212211111211222111222222111121111221212221212111112211221111221122212221121121112221211111121112121221221111212212222112222211211121211112121121221121112222221112211121222222221121111222112221222111211212212222121221112211221112222112122111222211212212212121221121121221111222112111122111121112211211122221112121212221121111112111222121222121222222111122122222212211111211221211122222222111121222221212122112222221111221111211221221112222222112222121122112121111122111221112112211212121222212222221111111211212211222211122221121121121122211221211212212212111212212122212112211212122121221111222122211211112222121222122111212112221122221121221221211222222211221222212212222122112122211112212212212222111111122221221111111212222122211122221211212122222112111121222222221122121221212122121111111221211212112112211111222221222112111121221222212222112211222111122222211121212122122112211222212221111111122122212222111121212121122212112222222222211211221221212122122212121211121212222112211112222211121222221221222121112211122122122112212111211211112211211211212221121222122121112212112222212211222112212112122211112112221122211222112111212212221112212222212221222212122212221221221221212122222222212112122221221111211211211211121121112211222121212112121122221221121211122211112222112222122121111111122122111111111212112111112112121212111122212111212122122222121212111221211121111211211221221211111112212122121122121211112221212212112222212121122121122121211221112111211111222112112222222212211111212121211222221222112221221121211211122122212211211122112222121222221212212112211112221121212112122212212211111211112221112111122112222221211221112212222112211221122111221121221112122222212121212211112111212212112121212121112222121211222121111222121121122212222122111211221222212211222221122212211221122222211111211211122222111222111211211111211111111122221112121222121222212121222112112221221211222112221121211212222121212222221121121221221211211112212121211111111222111221211221111112121221211122211221211121211112212122211222122111111221222211211221121222111122222221112211111222212122122221111122211221212112222222211112222122221112112222112111112111121122111211122112112221112111122111211122121111111121112221111222111222211221112112111222112112111112211122221111112122222212222221121122112122212112212121112212121211211221211112112111212222112122112121211212212112112111211221212112122112212211121212112221111221121121121222121111211111112222211121221121221112221122212221121222121121121121112222112121121222121221112121122121121112122122221111222111112121221111112212122222121121222211212221122122121111112221122112111122222121211121211122121121112222211211122211121112122122112211111111221221121112212211111112112111121122111211122111211212221112212211212211122222211221122212121111222221122221111222221212211211211112111111222212121212211122221121112122212222121112211111212122212212112122212122112221112112112212211112222221111212111112122212111122211112222122211112221211111112121212221211211121222111111212112121111212111211121112211122222122221112221222212221122112212222221121112112211111211121212221112222211121211122211121122112211221111121121222221121221222122112121212122122221222122222221212112112212122221222121222221211122121122222122112221221221112212211222211211222111121222112211121121112111121122122211212221221112111212111221122111111121111122212122222222112112122221212212211212221221111122222111222111221111121212211211221121112211222112121212221111112111121112221112112112112112221211111221111212112122221121221111112222221111222222111211211112112112212222221112122121221212112112121222222221121212111221112211212111222121222211222122222111211122122212112112121111212221121122111212122112212121122121111112211222122222121122122122122111122121212211222222212111121211111122221212211212211112112121122221222221221212122111212121221121212212112212221222222212212111111122212211122111112112211221111212112221111221211221211122112111111111212221222111111212112111122212212221111221121122111112121121112211222122221221111212221222111121121122222121222222222111222112112111221122111111122122222211122222112121221211221122111121122112122212112121212122212212221121212122222121111122111121121221211122211122222121111222122112221121111112212111221121221221222222112212211222121212112111121221222112222212122221121212121121222121212112211221112221212212111211212212221122111211112121112111211121212212111222112221122112222111211211111122121121112211122121122222222221111221111211221111222222121211222211121111112121111222121122121121211222122122111121121122122122122121111211122222221211111222222122122112112111211211212211211111121222111212211122222221221221211121212211221112121222122111221212221122212112122221122121211112212111122111221211212112122221112222212221211221122111212212221211112221122211222111121111121221222122222121221112221121211122211111211211111121112212221211212222212221112222122111221112211121211221121222211221112211221211212121111111222111221211112212121211112122122111112222221212112112112211112111111221121222111122112121212121112211111111111121122211121212211112122212112112222112122221121221121112221122111211121221121221111221211112122111121212222211112222212111111211111212112221112112111122112212121221122111222121111222221122211112111122211212221222122221122122222221111211211211222122112222221112122112121212121221211112222111112122122111222111221221112212211222212211112212112111211122212111212221111222122211221121122121222212121122222121111111222212222121221212111111112122221122121222121211112121212221122122211212212111211212212122122221122222121121221112211112212121121121222121211212211221211112112112222111122212221211121221112221121212221122211122211211122111112221122121112222111121212112222112112121211221222211111221121211111211221222121122121111211211112221211111222111222111121122112212211112212212112211112221222112111211121221211112221212211222111221212221212112122221211122121112222122122212122122112211222212222221211212212111222121222222212212221212121211211211222212122222121221122221111212222221212212121121221222211122112212122222222112111211222211221222222112121111211221212211122212212221122112221211122211112122211222211222112112121222212221112112222211122111222221112212112222212212121211112222212212212211212211121222211212211212212112121212112121222112112121221222121222221221112112212212222221222112121122222111212212211212222211122211211211121212111122111121221221122211111111112111111221122211212122122111112122112122111221212121122222222212221221121111112122121221222222112111212111222121212211221222122221211212112211211122121111222221212122222121211221121111122122222211221212212112111212122222121221112221221112212111212222122221121212211112211112121222112222212211211111112222111222122222211221112111211222112212111221111122222122212122221211122121122212212111111111112211122121221121222212122212122111222111111121111122212212121112121112122212121121211212122212122212221112121211212122111222212212121222221122122221212221121211222211222222221211211111121221112112221222221122122112211212211122222211121121121212112212121122112222111122211211211221211222111121212122221112112222211111122112122211111121122222121211122211221122122222212112221212222222112221221211211111122212212221222122211121211112112111212121121221111211112122211211111221112221211121222121211121221112122211222212222221112211212221111221221121112122211121111221121111211122112121211122222221221222121111111111222122122112121211122211111122221112212122222211222211121111212112112222221112222222122122112211222112121122111121221112211222112222212111111221121221212111221121221121111221221212122112221211211221211121111222121112212212222211111221222221211221211121222122221211212212211111211211211211121212111221212222212222211221112221111111111212222212221222211222222221121112121111222121112211121212221111211221222222222111111112212211222221121121121112111222212112121221221121212212221212112122122211111221211221111122112111211212122222211212212222222222112112212111222221212222222221211222222111111112122211121221111112112111121111211221221212121111221212221112211112122211121122121111211221222211112111221112111111212122122212121121122211221211222121111212222111122221121111122111222121112222121212211222221211222111211111121212121221112222121111121211211222111111122122121121112221221211221122222121111212121221221211211221212211221212122121121121211122112112111211222121122211111222222212111111212211212221211112212111211212212211211111121212112121221121111111222222121221121121112111122211112211222121112122222121122122121222111221212111112122212221122221221211111222221121222111122112122212212221222222111111222122121111121212211211121211111221222112122121121121212112221122111111221221122111121122222212122121112112111221211222112121212221212112211222211211221222212111122222111221221121122122212121121111221222121121222122212222212122211121211121211111112221112222121122122122112112122222221211122111122111111212121221212211111121112112222111222112122222212111211122222112211111212221112122112112112122211222212221211121111212222111121112122221222112212221112211211211212112111111111221111112212111221121221112112111212211122222122212221212112121111112112121111122221221221111222222212112112122222211212221211121211222112112222212121111122111121211222122122221212221121111121211121212211222112122121122122121221212212222121222121122121211222122122211122222121211212211211212111212212111112122222122221211222112111112211122212112111221222211122221211211222111111222212121222121221111212212121121212212211222121111111112121222222211211212222221221211211221111221112211111222121221221212222121221211212122122121112222111211221122121222221122121111121112122121212111122122112222112122121111111122121222221222211211121111212122211111112221112111212121212111222212211212111221222222211121111122221122112111212112112112212121121112121211222221221222211211122122212112112121211212112212222112122111211111112121121212122222112121212121121222112112112122211211122112111111122111212111111112211212222122112121112222211111222211121111112111111212212111221122122111112212121111121111211222112122222122111212221111121211221122212122221112221122111112221212112221112211212221222111111211211122111222111212211121111122221121222211122121111112121221221112222112212112122112222212221221212111112211122222211221121222212222122112111221211222211122121212211121211212222121122111211112222122121211122121222111111211121121112121212122112212221212211221212211112112112222211212121221221212111211222221121211122111212122121111121121112112122212212211122222212211221222112221212121112112112211121112122211212221122221211221211112222122222212211122211111212112111111111111111221112112212222212222112121222121121111111212122211111221122212121112221222212122221222111121121112221221121221122122221111121222221112122121112222221212211122121121111212221121121221221111121211112122222121112212122221212112122211222111112111211121112112122222122212221211222112122111221121212121111122112211111112212122211211112121121112221122222111112221212221211121212122122122112221112212221122121111212111222211122222111111211222121211111211112112211122112112221121111212122212112211121211111112111221212221212112212112111121222112112121121121221122212121222212111111121121211121112121211111222211222112111122221121111121121112121211211112111111112121221112122222212222122211211221121212112221211121111221222122111112212211221222121111122212222121122211121211221212222222212221221212122111211121211122211221111112212112112212121112212122221212111112112111211221221221111221222112111121111222222122112121122121111221111221112221112112221212121121111122111121221212212112221112111112221122212221111221221221211211122222121111211211111122211121212112122212222122222222121211222111211122212112121111211212221122122122122122112122111121112212121121212212121211222212222122111222111212211122121222211212222112222211122221112122111221111112111212121121211112111212222121212121121122211222111111211121112121111212112112122111212222111122221121121112222112212222112112212222221211112112112112121122121111111121211121211122111212221121211222122122221111112121212212222121211221222111122122112111221222111122211211211121212221121222222212222222212121222211222112222211121222122121221111112212221111222111111221212212111212221112212212111221111122122212212211111111212111212121112121122212212212112121111122212212122212112211121211121212111221111112121111212122112222111111112121222121111212221211121111112112122212111122112212222112221111221222111221222221212112112211111212122122112112211122111121222221121212121121212221121122112211121112211111122121221211212122211121112112111222121112211122112112121111211122211111122212222122122122112121211121211211212222211212111111221211211221212121222121111111122121221222122112121212121112111121211221222111112221211111221111121212212122111121122122111111222212122122111111212112211222122111122111112121211112111121221121111211122121222121111212121212211222211111122121212121112211211122111121222212122211112222112222221212212222122111122122111111211112122221122221121211221211222112221121211112121212211111212222212221112112111221112212221121222222112211112211222222222211121211221212211122221211121111221122221121122112122221111112221122211211122112222122121222122212122211122221112222112211112212222122122111222211222121212221122211122121111121111112212112211111212112222121222111222111112111112221121212222221111121112122221112212122122122222222111111221122121121111211212121221112112222121121212212121111221121221211122212112222111221211121112112222122211222121111221221211212222112221221222211222212212221211212122122212211111112211121122122111222221122211212221221221221111121211221221221222112121122112222122112212222121122222221211221222211112211111222221111222222212221222112111221212112222121112221212122212211112211222221212121222212122211121122112221112122122112211211211111111212212111122112112212122211222111122121212212211221221212211121212222222121211121212211212221221212212111112112121211121122212122211112221211211211222111112211221112111222122211211121222122211211211222212122121221211221221121221211112111221221211111122211122211212211221212221111111122112222112121212121121222121221212111212222221211222211211221222112111222212121212221221112121122212212122221211211211212121121212221112121121211222212121122121222212111121122212212211121211112221212112112221112222122111122121221112221112112122111212122122221211222112211212112121221121222212212112221211111122111112122221111211111122221111111122212222212121211112122111222212121122221112112111122211222112121112211212222211222122112212211112222221222221211111211211212122222122111112211222211122212222211112222211112221121211221111221211122111211212121112211112112121221221122222122112111121121222111212211122121221212121122221121122211221221122122112122111212122111121212112212221212221221211221121121111221122121112211221121122222112221222222221122112111212112221121112212121111211122222222121112211212221221221221112112221121111221121221222121222221222112121112112222111211122222222211212211111221222111222122121121112221111122212212221222212221111221221112122212112121111122111121122221212212121122121122222121111212212222211222211111221121121211122121112212111222211221211212212212211211221211111122112212212212221121112211122121111121122112121111121222121212112222112122212111112222211122211222212211212221211212112112222221121111221222122112121212121121212212121111221212112121221111222121121211211122211222222212112212222112111111112221211222121211122122222111222221111111111112212111211112212211112211112121212121222121121121212212121211221112211212112121121112122111111121121121221112111111211221112212222212222112222212112122221122122112111111121111112112222112121221212221211221112222221122212221121122111111221221122121221121112121121221112211111122112122221212211112211211111212122211211221212122212111222122212221112222122221222111222122212212121122122211112211122112221112121221212212111212112222211121222112112222111111112211212121212121222211122221222121222221112111121112112211111122122211211211212211122121222212122111222121222112211112211221121221122221111222121121121112211222211122221221111211212222112212222222121122121121221211112121221111212212211111221222222112211222221212121211121121111222222121222221221212212211212122121121112211111211112222112121211222222221111211122122222111122212212122121121111121212121111211212211222122222121111211222112112121221111211111222111211212221112121222212222211121122222221211111112221112211122111222221222222222211212111121121111221211211112221211111112121112212211122111222122112111112221222222211211221111222222222221222112111121121122121211212121212122222121221112212212112112222112211111121221221122222111112112121211211212221211122122121212212112111112122122212111122111221212121211212221111122222211121122222112211212221112222221211112122221112211211211221111112222122112111212221112121211212122212122222221211212211121221212121111121212122122112111221122222212122122211211111112221122111211211211212122222211122222112112222222122221121212122111222211121221111121221212212222222111211121121211212122211122211212122112112112112221211221211121122122212112121222111122112212222121211111222212121112112221222212122112222211211121112222212211121111121212221221212111121122222111122212221211222122211112112122221111122121112122121111211221222211121212122211121221212111112122122121122222111222221222112112222111112221212221222122112211111122112122211222212121112111221111222221222211222112221121122212122122212112211122121211212122121122212222222211112122112211112221112121122212211221112211112222211211212221111111112221211211111212111222112112211211222211111222212212222211112222222222121122122111111111211112121111221212122122222221221112211221121221111221111121211121111212212111122112212222211211222122222111211122221211222212221112122222111222222212211111211212121212122121111112221122221211211112112212112212221221111111221121121121221211221122112112212221111112121122212221212222211122122111122112211122211211121121222122122212121121122212121122211112122222221212111221112221111121212122121112212212221212222121212122211122222212121211122122112122121222212212221122111212121112211222221222111222212112212111122111212221211222211211121122221221112121121122122122212112111112121212222221222221211112211122222211111211222111212212211212122212122121122211222211211122211211112112111212111121222111221112121111221212211211212222112111122222222112111121112112112212211121112121212221112112211121121112121221112111222112112112122212112121121121222111112222121221221112111211111221212112222112222111111112121121121122121122212222112212211221122221122111221122122221222121222211122211222121122212212222222211222221122211212221222212122211112211122222211212212221121111212122121221211112221221211111111122221221212121122112112222112111222111122122222222121212221211211122122222111112212112122121111111211112121121221121112122222211222221111212112212211222211122211212211221221211221112211211212122212212221122211211212112211222111211222222211121122221222111112121221121121222122121122221221121122212111121111211112211121111211222211211121122111221121212211212111121212222112121212121221111111211222121121211211112211122121221112122121112222222221221221211122121222222211121222222112112112212211111212121211221112221212212121122122221111222112121221212111221122222121221221222221211122112212212121112122112111222111211222212212212212212211212111112112121221121111112212112121121222112222211122211221112212121222121112111212121111221222212211122212122122221222211211212222222111211211122111122111212221111112221122111221212121121112221111112221211211121111222111211212111221211212121121212222212222122122111112211112212222211221212221122111111122221121111121211212111222112121211211221121212212121121122122111212122122111212211121211112211222211222212221221112222122122212212211112122122122112212112221121222221212111212112221112222121211211112112221221211222222222111112122211111112211112112112112122211121212122222221111121222212221111222222112112221121222112112122221212112222222221221111212211211112112211111221212212221122111221211211212221211122222211111221212122212221222111222121111221112212122211111111112222122212122211212122222222111122222122222112211122211211221222111222212112112222212111121211112111221212121222121221222211211211122212121111222221111112111111221222122112121121221112112122222111111111111221222222212121221211112212221122212112112121221112122221222221121122212111112121122112221212222222211222212112221211122122212112122212221211222221212221212212222221122211212112121222112121211222222121122112222112112111221112112222111221212122121121122112212212121122211211122221111222211221221221112112222222122222122211121111112211222122122112221112212112122212112122221121212222222112111121212221111112111212221222221211122211122212212212222112112122112112211111211112212121112212121221221121122112222112212122121112212121222222112111112212112111121111112221112112212211122112212212211121222122111211112112121211211112112122211222112111222112211121121121212211221112211112212212122122211211121112122122122221112212212222111112222121111212112112211222221211111221212121212111222111112221221121212212222221122121112222222222122111222112221121122222222222222112221212211112212211122122211122222112211122112121212112221111212111121112222112211122121211212222122212112212111121111222112111212121122121222221112111121112111212122111222212111211222211212121222111211211121212112122111212222112112122221122111221211211222222211111122212122122122112121111111221111111112212112112121112121221211222221212222122111221121111112122121222212122212111222112222122211111111211121212211211111212212112222222111121222212111211221111112112111212111111121111222211112111221121112211212121112212211211112211112222212212221112212222212111221212121122221121222221122121222122121122111111112112222222212211211221111122122121121212111211221221121211221222122222121112121112221122222212122121112121121212122122211111211212221212222212122111212121221111212221222211211222222211221211221121121121112211111112222111111212212212221221222121222112122122111122221122211212212121221211212111112112222112222121211121222112112111221221121212222212211221112122211111112121121221112212121112222122112221111212222211212211112221221121211111211111221111222122211211122212112112212122112122111221221221222122111121111212222222221212111211211112221212121121111221222211122222122122121221112211212212121121112121122122112111112111122211212212122221121122212211212221122122211221222121212121122212221111121111121221122222121221112221211111221112222121112221212112222111211122122122212121111211121122112111112211121111122121221212211212221112111122221111212221222222122212212212121211211122112111222212222121211111122221212211222222122221212212222222112121122211221122222111112111111111111212212212121112221112212122212111111111211122211121222211221122122212121221111112211222112211122212222212112212212112112111122121121111112121211121121222222112111112211112222221112122222112122221122221222122111222121211122221222111122211111212111221211212122222212222111112111222121112112111121111211122111121221221122112121121222122121112121122112111111221111111222122222111221212212222121121112212111111221222221111212111222112212221112221221211222111122212212112122111212212122211221111222222122122211122121122211121211121121211222121221222221112222221112121122221212222122212121212211211121111111221212221222112112211221222221222111112211221221221122212112211121112112222211122111222111112211222111211211121221122221221122112222111212112112111211222211111222111222121111221221121122212222112112111222211221211112112121121121112111211222121111212211212122211212221112212111112112221211211121222111222222221211112222221111222122121122122221122112222211112112212122111122212212122212112111112112211211122122111111111121212121111221212221212211221112121211221111221221111112222122212222221112211211111111122211211221211212112222121121221221222211211112111111211121111122222122222221121211121112112122222112112221212112221211111211212112222222122222111212111112121112212122211222111121111212211111122222211221111111122221111111111121121211111111211211211121121212122111122111222221212111222222121221212221121111121212212222111221222212121222211222211222122222222212222122212221112121211221212111111222212121122211211121112111211122211122122111222211221121222222222221122221112111112222222111222111212111212111111211121212211222222121112121221122122111112122212122122111211112222222111121112112121222211211212222121112111121112122112112122211222221211222221112211221121222122122221222221221211111121112222121211222122122222211212211212121122121111121121211122122121212121212211112111112112111122221121122212112222111212211112212211221111221121222212222211221121222211112221212112111211221222122211112122211212222111112111221111212221112222112221111221221111122122222221212222112121121122112222121111122111212112221121212122212122211222122112221212211121212222211122211111222222222112112111212211121111121122122221211111121211222122212122221112112112111111111112111121112121111112111212122212212211221111211212212221121121212121122221222222211122112111121212211211222112122222122212211221212112211111121221122211111212222212221112222222121121212222122112212121122222112212212222212112121211212121112212211211212121121121221211121121112221212212211121111121122212111122221211221112212121221111122111212111221121211112111121222111221211222121222112221211112212211112122122111112121112211112122211121212211122112222211222221211111222111111211212211222221121122212112111112112221121112211121212211122221211211122111212112222211221121212221212211122211221121211212221221211121222222121122112122211222212122211112222112111211221111221112222211112222221212222212221212221121111221121112122221112221122112222222121211111122211221222212211112111122121211112211222122122222111121221212222122112212222112222121212222222211211221111112221122111111221212212112111212111221111221211121221122222222121221111111112221212122122221212112122112112121111112121121122111211212111112212212121221121111221222222211111112211212122211112121121112112122222212222122221211122212111211122221111112121121212212222222211221112122121211211111211222221111121211212212112111112122111111112222222112121111221211111212111122122222222111122221211121221212112221111221222212121212221221122122121111112111211222111211212211211221211222111111121111122122212121211222221121112121211112221221212122212211221222221112221212112122211121111222122122111211211221211112221221211121121212211221112222222112212211222111221111221221122221111122222121112121211221212111211111111212121121112211122212212212212211112211112212122122211121211121112112122112211111222211221221122112212211111112212111122122122112121212222221122222122222122112221211212111212222111121212112121121111122112221112111121111122122221222112222211111211211221121121121121221112121212112112221111121111112112221122111121111222222221122211122222212211211212211221211211111111222111222121212221211121121111122221212221121122211211112212112222212221122211212212112212211222111221211212111211221212112222121222221111121122212211112211121111111112212221111112112221121121122212121112212212222221212222122111211121112222122111111222111212122222112212212211221111221221211112212222121112121211122221112211122121122112122112122112112221121112211212222222211121222222111111211212221111122122212221112111112212121221111222221211112222122222122111221222122122212211111111121211221212222222221112221222212221212111211121221111121211221212221122122121212212222111121112122121121121222112111121111221112211222211221222111121112222221221222221111121111111111211122112212111221112121121121211211212111211121211112221222211221121122122112221112122221122112112121222121222122112122222211222221222122211112112121222211222112122221221112112211111112212221211121211112211222211121121212121222221212112121221222212211112212222211221111212112122211212121222221122112112212111211211111211112121222212212121221221112111211122222111112111111111121111212122121222222122212221212212212212111121112111122112211222112122121112211121121111111212212111221112111222211111212221212211121222121222211211211222222122121222211112122121111121122112211121222112121221212122111121211211122121122121222222121221212222221222122121112222111122211122211121121111211111222111221122111211211122122112122221211121112111222121121222221112111211112222121111211212112122222112221121111122211211111222212111122221222122112122212221212212212212221212221112122211111122112212221211221111221221111222112122221111112122221212122122222221222122221112121222212211212121212222222111212112222211112121221222212122112112122222221122212221121221222121222121112221211221112111211211122221211122121212122122112121222212111222221122212111121222122112212111111222222212222111112112122112121122212112112221121122122111121212111211111221121122211222221111121111222111121221221212221222221122122222221222112221112221211121212111122222122221122222212211222222221212111221121121222211111111121212121111122211121112112121211122211212121211122111222212111212112111112111111221221111121111122122211211111212121222211112222122221121221111112112122112222111212111212112212111212212112122211121122111111212121112211222112112122222122222212122112222222221112211122122121222111211222222121121121111212212112112221211222121222211122121111112121212121222111222121221212122212212121211211122111121222212121222112111211212112211112221212111222112211221211221112221111121212112211121122121122122121211221222222121122122221122111221112121121221122111222112121112111111212111112222121211122121111211122112122211212111212212222112212112111112122211111211221211121221222212212211112222122121121211122111211122212222112212211211222122111221112112221121211222211112111221211212211111112212212111222121111211111222211112122112122212112211111222221222111221211121112121121212212212112211111121121121121222112211121121221121111222111211122112221211221122222221121112122111212221122121111122112122211111121112211211112112211222221212121121111212112121212111111111111221111222112112221221221122112122211111112222222111221221121212221211211222122112112112221221211222221212111211222212211222112111122112211121121112221112122111111211122211111112122122111211112222112111222221222211111222122121222111211122212112221121121121212211112222221122111122122212121112211111112222211222111122112221211211121212221121212112111121122121211122121212122122112221111222121211211212221111121122112112212221222112221212211111111222121122212221112121111111222122122222111111222211121221222222121211211212121112121121111111122222112111111121212122221211122122121112222222121221112221212122112222111212112222221121122122112111222212222122122121211111121112221112112121222122211222221121122111212121221111212122111122112222122221212212221211112111221211222112111212122112211111222121221112121111111122122221221212211212221222221122212111122221212222212211121221111112211111212212222211222112222212122121211212112111111111221221222222222222121121221212111112112222112222122111111212222221221122112122222122112222222211212221221221122111121122111122211122211221221112221212111222222221122111222221212121112121221111211222122212112221112112211221211221222121212211111221112121122122122111222112121111221222122112112111212212111122121111112112212112122221111221122221212212122211211212211121111222112111121222212222122122121122222111221111112112212211112112112112221111111121112112121212121211111111211221211212112112112222221112222111112122212111222111212111122112212212221222212212112122221121111122221121221121112211112222222222112122221212212221112122222112121111121211112222221111221222212212212121121111121221122121111112221211211211211111121121222111112211111122121111221122111122121221212212222121111122111211211112122121122121212112121212122221211212212112111211112112111121122222111222211222221122112122122111121222112111112221121222121221221112121222112111222122222121121112211121221221211222221221112212111121112222222111212112222212221112212112222121111222122221121121122222211122111122112111122121212122112122222212112212112121222211212111122211212211221112212221122221222112222111222211211112121121121212112221112222221121212221122111221222112221221112212212211111121222111212221212222111222222221122222122221112121221122111122111111122212112222222122112122111221211112111221121122222122112121211211121122212221112211211111212121211221121121211111221212211222111211222121211212112222222122122121221212211112211112111121112222112122112112211122121211221222111112111121112211211221111121112121121111222112112212111212111111111122222121121121112112111121211221112111121222211121211212122112121112221212211121121111111112122211121212121112111211112212111221222112112111121112221221111212222222221221211222122211111222221112111122111221112211112221122112221211122221221112111122112122112221211112222122222211121121121122212122121212221112121211221122121121211212112122121112222211122122111221111221112221112121111212121212122112212112121211121221211222222212221111221122222121222212221211121122111111211212121222211122111111211121122222211121111122211121221121112221211111212222112222222122211221222121212211122111122212211122212111121111122112112121222122222122211122122121111121222121111221122222111121211121211211111121122112111122222211222211221111122122211212112221111221112112221211122111121121121211222212221222212111121221221111222122112212212111122111121222122111212222221222221112211211221112122221222111122211121211222212112222222112222211121111222122212222112222121221121121111211212121221112112222112121221121221122112121222222112122112121121211222111122122222222122112222111112112122212212211111221111212111121121212122121112211211211111122121221121122221112111212222112222221222222112211112221111121211221221122111211221222122211212212111121121111211112121222222121222122222111221222111212111221221121211111111121121211122221212222211111222211121222221211121122122121122221121112222212111221212221222122111222121222221222222221212211112121221221222112122111121122112221222112121222212221122112211222212112122122221112221121112211121121121122212122111121212221111111121111212111121212222212111211211221222122112222221112212122121212211211211122211212112111221211121122122111122122112122212111212112221121221122212111112211122111221212112111221221111211112222122111221111211121221121222211211211221212111122212112222212121111112222121111121221211211221222122221212222211212222212221212212112121111222221121222212211212222211221211222212211122222122221122111122122122111211112211212112211212112122111222121111222221211221121222211211221222221111211111222221121212222111222221111221221221112121122212211122221211112221212122222121222211211211221121112121212211211121222121121111212221221221111211222211211212112211111122211111112111212122222112111222112211222212121121121221121122212112121111222122121212221222221212211112211112112121111212222222212211122212112222211221111222122121211221212212222122211222211212121221211122122121222212222212211122122122221221212211112222112221121222121211111211122111121212122222112121221222221222111111112221211211221222221211222212122221112111212112112222211211111212222111212212221222222212212112122222211211112122121222212112221122212222212212121221221111211212122122122112212111222122211112222122222212122211211211111121112222121222111121122221122211112222222211212121112221121122222221212121211212221121112211222122211111222212111221212212122122211121221122211211121222222111221222212212122211221211111222211122222212111222122122211221111212222212211112122222111122221112111121111112111221222121222111222211112211211122122111111212122112112111111112211212222112122121122212121122122112112111212111122222112211222121221121122111121112221112212222112112222121211122221122121121211211211121212121222211221212222221112222211111121121112211211222211222222121122212221122121222222112222112111111222122212112211211222122212221222111112121212222221122211222122121212122111211122222112222212222121122111111122211212122222122111121112211212112212112112222222112211112112112212211211122212122221111122121122111211212121221222121221122121211222112122112111221211212122112222111112112221121211212221112121122222121122111112212211212211122121112112111122122121121111212222212111112222111221211121221111221211111111211111221221222222211221111222111222111121122122221121121221112112112221212212211111211121121112212112112122211111111221222212121212221211121112122121211212111211221111211222112111212112211121211211212212122211121221222112111112121212221112111211211112122121112112211121112211112221222112221211222222222222111212121111121121221122222211221121221212212111122212221122112221211221222111121112222212222211222121111121222112122211212211121212121111212112212122122221222112221222112212221222111211211211222221212221121112121211222122212122221211212212222111111121121212121212111212212121111221112112212121111212212212121221221112122222122211112211111112222221222211122221111222212112211222211112212222212211212121112221111212221211221111211222221211222221221111111221121211111111212111212121121221111222111211221222212221111222122221212121212212222212212121121221211121122221211122212221112112212111121122122121112121222112211222121211211211221212112111111212112111112111211121122212121111122111211221112222122122112112222222122211112221111211221122211211122221222211122221121221122112221112122112111112212212222222111221122111112111211112222212112111122122212121211212121112211111221221222112121112122111221212121212111121122211121221212211211111212211221212221211212112212111212121111111211212211112112121122211221122122111111212112121121111112121111122212222111111211222212212121211212111112121112212121122212112112112111222122112112222221111121122221112221221221111111211222111222221221211211112212112121211212212111221121112211111121211112211211122221121212121121112212121222222112211112112112121111121222112211222221112212112211212222121212211222122211121122222212212211212222212222121222222222111121222121122112112212221221122211111112111121111221221122111222121111122111222221112122111222121111212211221121121121111222212121211221112111211112122211221222111221121112212122212112112211121211112221222222212221111212111121111222111211111121212111211112211221222222112122211121121211211222111111111121122211222121122212211111222221111112122221222112212112121122221112222221212212221211222222211211221122221121121211212222211212111122222212111212121121222221221111111211222222222212212111222112211211111221211222121122112111121221122212112212211122221111211211122112212221212122221211222111121211221221222221212111122221211122121122121121121112222221111121211112122111111112121221212221222211111221112122222211112111211211221112221221222221111222121112111221121122111121222112111222212111121222212111112212122222112112211222221122112121211212112211212122222121212211121122212121122221221211122111112121121121222112221211212211111111112222211122221211211111212112211111221211212122112121211122222112221122111121211121111122221222111221122212111212221122111111112121221221121221212122212111221222122112221112222111221112211121212222211212112111211122122211121221112212122222221212121212211111112111111111221112111112222112121121212211111211111112221221121221121121121212121221212221111111212221211211121222122212221222122221221221122212122211211121122122222211111222222112112221221112212121111222212211111221122211221212122111222122111211111122111122221222211221112121221212221121122221221211112112121222222112211222111222222111121212222212212112122121222211212121121111121222112211211212221212121211222221112211212212112212111222112122112221212211212111222222112121221212112122112112122122111222111211212112212122122212222111122211222121222212221222122112121121222211122212112121122111212211112111211111112112122111121122212211112122211211121222111112111111121211221112221121222122211122212221212212211121211221212122222112122111112222112211111121122121111211212121111112112222222212122122221211122221222111111111221121211222121211211122111112122221221122211222122122112122121212121222212222222111212111121122112111221211211121221222211222112222211111212222111111112112112221211222222221121122222211121121211122212211211121221211211112212112112221221111112221221112221211221112112122122221121221221112222112222111212122112112212121121222112112121111121222122111212122112221212122222212121111222211111111212122111122211111112211222121211112112211112222211122212111111111112121212121112211212111111221221222121211222112112111222212121111121222111221212121221212212121121211211121221212112221111212221121212112212221221212212122211122112121211212111222222211122222221121112211211211121122122112122111221212211222222221222111222221221121111122212121212222112222212222221221222211122221122122211212122112111211222221222121211112122112221211211221111112221222211221111122122112121112111221111122212122122211221121121111221121221222211211122121121111221122111212112121221122211222212211122211222212212111211111211212111111112112112211122211122221212222122122211221222222221112112222211222121211122122122111121212122211112222221211211222111122222221221122222211122221111121111222112222211112212122211111121112122221211121211222211112211121112111212211211122211112112211112211211111121221211222222111121111212211111211112121111112111221122222112221112111211122112122212212122121112212211112222221111212221111212111211112112121112212212212121122112112212121222122221212111211121222221121221211221121211212221221122112222121221112112211112122122212122112122121222211121222211212112122222112212222122121111211122211111221222212112222122212112121222112111111112122111211112221121222222112121221122222222212221121222112111212121221111222222212222122222122221112122111122211212122121222222112222212121121112111111112212112222122221112221111221221112212211122112212121211221212112112212211212112121122211221121222222212222211211112211111212212121212112122222211222122111112211112121122212111122211212111222122211222111111212111212212111112211221112122122211112211221212211222212221122122211111121211211211222122212112222212212122222212212111121221111112111211111112121111222111112122112212211121222111211122212211122222112212211121122211122221211221222221111222121211122222121111211112212122212221221211121122122222111222222222222211111221221122111212211111112212222211222112121122221222112112221222122111211121122212211112212112112121121112111211112211211211122222122212121212122212112221122212221112111112122211222111121211212222111111221112111221121122212212222121111111212122121121221222212122122212221221211221212112222222111212111122212122221112112211111222121121112111222211221121111221122222212221112112122122212121121111211222122111112111112221122222122111222112112211112111221212221211212212222121212221212222121222122121211112122221121112122222211221111221222222122112112121211221112212222221111112121121211212212211121222221212212112211222121222111111211121121211212222121211122111122122122121111222221212221121112111211222112112221111222121111122122212222222111122122222221121222212111221212211211112122222222212221212212222112221111221111112112111122221111111222212112211111222111221121222122212221112212112211112121122221221121121221111122121212222121112111112221111212112221211111121121112222112212212222121112121211112222122212112212111112212221121221212221112111111121222121112211212112211122211212221211121111122121211212211222222121122221121121221221211212111221212122212222121212111222121122212211122111211121121121111112121211212111222111222111112212121122212221112212212211112221121122122122121212222121211212111122222211211221222221112112121111211112212122222122221221221222222212112211112222221122111111222212212211122212211222111112121212221112211212122122212111211222212212122112111222212212122212122211122222211221122222222212212112112222121212221212122122221122212111221221212111121121222222222222112221212122212112112121122211212111221122112122122222111111112111212122222222221222121122211122211212112112211221212111211112112122212121211221211122212222222212111222222122121212122211111122111111212121122121211122211212121112221112112222122211211211222221122211211121121221121222222122211121211122111211122121222211121212111222111211211122221222122221121211211211222121112221221211122121122221221221221111121121121112212222121121212211211121222122111221212211122222122211221111122211111221122212121222111111212121121221111111222222122212122122212121221112111112211211112122211111221122111211122112211121122121221221222221122122221212212222222121222211112121122212211222221111211112111111121222212211221111211121112122111222111211111122121112121111221222111121211122121112222222122221111121222221122222112211211212221211212222212222212111211211222212211222221222221111222111211111111122211112211221212111112122112122221122121212122111212121212112211121121222112111111121112211121212212111111122122112112222121212221112112222211211121121212211212222222112122211112122121212121121121112212121112211222211122221212211212212211111221112221211211111122122222121112211111112111212211121221121122221222121211122111121121122121222211111111221111122121211211211111122122111122121212122112121112222111112211221111212221222112111211112112121222122212121221121122112212221212121111211112212212212122121112221222222212221221111112121222221222112221122122211111221212121112222211122112212111112212222111222222211221221221121121121222121221222112111111121222111212122121122211212111121222122122122112211211122111211221221111121221121221122222121122111111221211221211222222121121211222221111212112111222211221221122222212221121211222122111212212212122222111212121111212211111112121221122212222222121121222221212212221212211211122221211221122221222222121112221222221222121122222121211112121222111221221122121122122111221111222112122221111212111222111112121211122112122122221212211112212111121112211121212121111221222222212112221211111121211111112211122211222122122221211112222111222112111212221122122212211211112112221211222121121222122222121121211212112221121222121222222111222211212222112122222212222112212222212222122221122121122222212122121112211121111222222112122111121222121121212121212112122222211111212121221111211112121212222222122222212221112111212121122122211222121122111212121222221111221212111122121111212111222211221121111211112122111212212121122122212212212122111111121122122222121122111212112112221212122211111121112111221221221111211221221222112211112211111112221111111212211221121212112211221221112221121222211212121122122111222121211221122121112211111221221112221122211211121121221221212111222122112121121122221222221222221112112222112212221221211112212111111111121222112222112112211122121211121111122111112122221212222222112212222122112111111122211111212112121111121121122211121111222111121112122222122221122122212121222222221122112222111221212211111221212122112211222212212121112111122122121221212112121221222222112112122221121212222221121121112221211122212111122221112221111122121111122111121121222211221112211112111111111122112212212122121121112122111112121122112121221212212211211212112112112222122211212211221122222121212211112221222122112222212212212121222221212112211112211112222112222111122221211221222112212211222122112222121122122111111221121212212211222121211111222121211121211122221111122111221121221222221112122112121211121222121111112122112121122212212211112221111211212121221211112222221222121212212122211222222111222211211121211211121112211121122112221222211222122212112221222122112221111212221221122111212221122222222122112211121222122112212122211111112112222211112121121121121221112112211122211112111221112222122111221121211122212222211212112122112111222221112121122221211212112221112122222212112212211222211211212122111222111112112121221111122221212112212111111221112221212121212112211111112121221212122121221212112121221212212121111121221111222111112122122212212211111222121111122122212121121222221112212212222211222121222221212211221221121221211211222122121212212112121212221121112112222121122122122121111111111212121112222122222111211111121112121221111112212121221121112222212121112122111221122122122111221212212211222111122212222221211112222122222122222222112121121211112222112122122122221122122222221122222121211121122221111211212212122112222211122212221212212111211212121111211211211112211221112112212211221111121111211111122221212111221112112211211122221211221112221211211122111122111212122111112211112121212112111112211212212221111121212122112221211111221121221112212222111211111121112221122111111111122221122121221111111222211222212111111112222221211112222222121112221211211122222222122211121222212111111121112121212122212121112222222212221212211211222211122221211221211212122111221221121112121222111122111212212121121112121221221211212121111122212221212112211212211221122111211222121222121222121212221111122221221222211222112212122111122121212121111121211211222122211122112211212122111111121122111111212111211122211122222212222112211121211122221112111121212221121221212212222112111112222221222212121112112221211111212222221221221222211222222222122122121222221122222221122122212221111112222122212112112211121211221122112112211222222222112111111211122112112221122212122121121211111122112222122122122111121111222212222222111222221121112121221212111111112211222112211221221112111212211121221111222112122221112121212122221122221212121111122112121211221122121212121112211211221221112212121111212122222111221222122121212211112111111222222222212222122122112212222212222212122211121111112122121221222222222112222221112121222222221221122121222121122222211222122112112112122212112111121212121111221111112211111221212211122111212211112211212212221211212211211121212212211212221212111122121122111112111212211111211212121121122121221121211211111211211222112121222121122222221112121211212221221211112222112221122111111122211121112211122211121221211121211212221211211111221121221221211212221222122221211121112212111112211111212211112211222121112222122112211222222211111111112121121122121111111221122121112212112211221211122122122211122111211111221221122221212212211221222121112122222212222122212111121221121211221221221111121221221211121221211212211112211222112221122121211222122121221211221222222121121212122111211122121211121112221111221221112112111112112112211222222112122122122221221111111212221121121221112122111121221121222212222222221212122211112111211221112122112222121111121221111221211211211121212122212211221212211222121122111112111111221111121222211212211112122212212222222221222222111212121112221121122111112111122221112222211221211121212222222112221121122222121222111211112121212221111112122221222212121121212212112221211222222211221222222122222112122211221112111222222121212211122221111112121112211122111121212221222211211122122221222112221122122211221222221121212212112112111122211111211211211112121221112221222122221211111212212121211112222111211212111121112221212111221211222221211221221111111221111211212222222121122112212121112121211122112111212221122221111222111211212211221221222212222211212222111112122221211221222222112111221121112222221122212111122122112121121111212212221212212212121221122211122222222111222111112222112221121221211212122111221212122221112211222222111121211221222112212212212112112212221221211212211221212222121212112221121211222111122212211221122121111112212122122111112221221121121222211121212212212211212212111121121121222111221211221121122212111212121111121122112212112121222112121212121112111112122111121122122221112112211122111221122212122211222122122111121222112122112111211121122212212221212212221111111111222222212112221211121121222212221222212211221112112121212222211121111121211121121112211121212221221122222122212221211211111112221212111221122212111112112111212111112121122222122212212221111211212211212212122112212211121121122212121211121212222212121212212122111111112222221111112212112111122211111212212121221111212112121111212112112221211112112221112222221112111211112211122222122211122222112122221121221212212222122121221221221111221112222111121221121212111211121112112221112212212211112111122222112121211122222222111121212121111222112221111211222111122222212121211222121122211122112122121221212222212121112112121212211221121121211112112211222111222112211112111112212121121122122221121222122212221212221212221111222222112121112121121122211221212112122222222221122221121122121112122221212211112122222221111222122112212121222211111221221121221122121212121112211211121222212112111111112222212112112112112112111112212112122111222122212212121121211122111121211221212211221211212111212121112211222212212111222221121221121111122212211111121212121222212122212222111222121222221211222122121112112211222112221121111212111111222222221211122211121221122122111121222212121112122121221222121122111111112121221121221121112122111121222222212221112212122112121212111211121111221222121121112212112111222221222111212211122221221212112211121222221122122122211112222111212122122211122121212211211111112212222211122221112111211112111111122221212221212122212211122221221211122111112212221212221211211221121211222212221112221211211111221222222221112122222112212121222111211221122221211211211212211121111112221212122112211111212112211211221211211212112121112121221112111212212211221222111112212111111122111211211121122222222112111122121212121122112212112111212122111111121121222111112212112122211122212212122112212211112111221111112222221222212111112111111222122222212111111112111222222122222221211122111121111112111221111211122211212111111222111112211212221212211211211222122111212212221222121222221121222221212221222222122222222211112221211121221121222211111221111222212112212121212112222211122112222221112121212222212121212222212212122121122122121111122221221211111121212221222211111121122211112222122122211222122111121211122122112212221221112122121112122211211121211222121221221121122211122212111122112221211221212121121211111211221111211111222222222222112111121221212111221222211211112222222111212111211221112222122211111112212211121221221121222211212212222122121121121112222211221122221211221112111112212111222122122221212121111222211112212211212121222222222122221212111221111212121221112221211111221211111121122122122221211122112112112222212222222121122221121212221212111212212222211211211112112112122111211121222122212222121212212222222112121122211212212221221221112111212121222212112111211221222222212222111121212212111121222222211222111112212221111212111121112221122121221222212121221112111111112112211111212112222221211122112222122222212112211222212222122221211221122221112122211212222112222221111211122122121111122212221121111212122111121112111212112112211121122111111111222221222211222212121112221212122122222221121112121222212221211111221121122111112211121222122122211222221222222212112212212212212122212222112212122212111122122111122212121122112212212211122122121122122121212122111122121212222211221122222111222111212121122122211112111212122112112211122211121112122111212212221121212111222122121121222122122211122221112222111222112112121221121221121212222122121121221112121221222221221111212221111122212112212212211211211222122112111112122111111122212211212222212122211212121111211211212112211221211111122212121221222122122121221111112111221122121111211112122111212121212212211122112111221222222212111212221122112121111122122111221112112121122122212212211112121222211222222112211221121122121122212212112222212212121121221111112112122122112211222212121112112212212122211212111121121211211222222211112111111111211111211222111122211211221211221212222111121111222211212122121211111122112112222122212112112212111222112121222222211122121112211112211122221212121111211221211222112222222222221212112222212222221122111111212211112122221111212212221111221221211111212221212221222122112112111211122212111122111112121212122112111112121222122212211122112122222111222221122121211122111211221111222121212221212221121211121112121111122212111211111112121121111211121112121122211122111211111112212211211122111111211121222212221111122211122222211122222111221212122221122121111111121111122212122221222112121111111112112111211121222111222212212211221222211221212112212112111212212211212111112111122212211112122222222222121112222221222222121121122111221222212212211211122221211122122212211222112222212211122211112212111212221122121211111222221211221211111221222122221121111211112112121121221111112222211122122111212112212221111122112211111111222121212212221222222221222212121112112222121121112122212122211211212122122212112122122222121112112122211222211111222121212121212121112211211122122211212222121111121121211222211211222212211221212221221211212222112222111112111212211212111221122121211211221221122222121212111221112112211211212121122121121222122121221212111212212212122222121112221212222221121121221111212211112121222111121111111222122222222212221111222221112111112122212222112122122122211212221122111212212121121222121221222212122211222211221222121121121211212211212211222221122121221212211212121111111112122111122112111112112111221122222212212122122111211122221111122222112122211122122212112211211111212222112122211212211221121122111122122112221111122211121221122111111212222122221112122212122112122211222211122221122122211221111112211222211221221112222211221222121112221111111122221122212211221222121212111221211111211221212211122122111211211112112111221212222212221122121111122121112211212211122211212112112221111112121212111212222212111121212121112122111212121211211222211211122112122211211222222122122121211121122222122121222121222112111211211112111111211221121111121211221111222111222111121222121111221111112222111212211121121212211221121112112212111222221212222222111222212112112211211221222111222222211211221122112121222112122111122112212111212211212121111212211111212222212212121212222121122112211222122121121211221121122221211112122122112212122221221111121112221222222121222122111121211121212222211121222221212222221211121122121212122221122111211211212122221121211211222121112112222121212122122221112211222221212122122122221222121222121111122221121222112222121221221222211222121221221121121122222111211121221212222221212111111111222121212112211222111222111212211221221112211122212211222112211122222112211111111221221212221221111211221221112121212121121212121121212222211112221121212212122222121212222221112222121111111112211221112211212122111211212212211111211211221112112212211221121221121212121122112121221122221122121122221211122211122121212111112212212112212212211222121121212221211211111211221221211222221222221222121121121111121221222121211111122111111112111111122111111222112111112212112212111221112221221112211112212212221222122111221221221212221122211212222211222112222211111221122112222212122212112211211212111111222222121112221111122111112222222112222221121222212122212121212122111222212222211121212121111221111121111211212212112111121111121212122121211222212222222212122121221122121122112121212212111112121122112212121212212211212211211122121211112122222111122212111221211211212211222211111121212221222221212212111222211112221222222112111112211122111112121221222212221222212222112111112221121221221222211122221121121222121121222121121222111222121111121121111122211212121221222211121112121111212121222122222222121121111221112111222221112121211212121212222222211212111111112211211112221222211111112111211222222111211212121121222121122121121111112121222112122111212221221221112221222121112121122111111211212121111122211122122211112222221221111112112222221221122222212111112121122112112212121212221112112111221221112221211111122111221222212212221112121111112122112122212221221121222111122121122121111211122212222112121122222121121111112112211211222121222111221221212112121211222222211111111212112222212221121222111121212222121121222122112222221121111121221121112221122121212221222211211211221122211211211222122122121211122111112121112222112211112112111222221112112112111111211121221112221221112111121221111212212211111222212211111111212222122211221221211122122221211222221111221122212122221112221112121222111221121122112212112221212222122121212121221212122222222111211122111111112221212111212212112212212121121221112212121121222222121211121122122111121111221221111211111112211121221111112211111211121112112111112222211221111211212111222222211212221122121112221111122121112212221212212222121121221221221211122112212121212221222222211121111222222212122221122121211221121112122121121212211222111221221111111212221112112222111221121111121211122112122112222121121121222222222221222222112121121112212112221121122121222211212122111122222222111112222221111212222221111121221211222121221121111221112221212222121121121111111211121121212121222111112121111111221111212222212111111111221221112121111222212221212212221111211221222222212122121222221222112211112211211121112212111112122121212111121211121121212211221121111111111211121122212221212221122111111122211211221212122212211121111111122211212222122112121221222112112111212221122222112111212222212122121112222121112112222222111112112212221112222211112122211121221221211222211112121122111212122222112221112221222122112222122112122121211211111221211211112211122111112111122111212112121212121211211121212111122121122112212112212212221122112121111112121212211121221221122121112212211221212222222221222112122221221222222112122211211211121122121112121122121222111211211222111222112211211212122222112222212221121112111121222111212112122122211122221221121221222222112221111212122121212211221121111121111211222112212212221221212122122222122222122112221122122222221122112222221122222221212122121222112111221112212211211221222212211122212211222221222112111222112222121222222212212211212221112112222212111212122212221121121122222122121222111122212112212111212222221212211112212112111122212222111122111222221112122111122212112211121221112112221221211111221111111221221111222112121121121122212212222111122222211211212222211112112111221121221212211121222212112211211221122112212122221121212121221212222121121221221122221221111222112122111211122112111111222111122222112211111222212212112122221122122122121211111122212111211112111111112112111221121211121212212221122122112211112212112121122222121222212111221211212121212212212222122111211221122212221222112222111112121112221221121112211111111112122112222112211221211222121121122111111112222212222121122111112121122122111221221121112212111221112221122121222222212112212222112112221121111121111111221121111212211122112221111121211121122222111121112221121122112212211221122211222111221221222212212111212211122111122122221122221112111112121121211221112222212221211221111122222111222211111121222112121112111222111122212121112212121111121222221121212112111112112111222211112122222221221221221221221222211121111122221211211121222211122122121212112222121221112122121122212221112211122111212112212222211211121121111211121212121212221121221221221221222212112112211111222221112122111222111222211222211112111112221121211112122212221121122222122121221112121221221111112122121122221221111222221222112221221112121122222111221221221112212122212221221122121121222121211211222222211122112122222212222112222212111222211212211211111221221112212121212111122211221122211211122121222121112211221221111222211221211112112222211121112121112111221222122222221111112211221211121221212212221221221221112212222222111212211122121221211121222222111221121122112122212212221221211212211112121211211122212212122221122221122221122222121121112122212211112122122222111212112112221222221222122112212212111212221211221221212222121222221222112212111121212221222122111222221212122221121212122122112112212122212222122211212222211112122212111111122211212121212222221222112211112211112112212222221112212212111122211222222211111121112211222211222221111122112111212212112111211212212121121111212212212122112112121212211112112222222211111111121111221221222221121212221121211111222211111222112111222212111111112212111222121112112221212112111121121212122221122211212122121122121122111221222222112222221111222122121211121122212121212211111121112222221221122221221121112121212211111111212111221221112222221211112112222211121222111122111122222212222112122122221121212222211112112122122121222122122221112212111112112211111222222111122211121221212121111222121122111121112111111222222222211212212111212222221221212112112221212211112211121121212222122211211112111222222222121212221112212212122111222222121212221222222222122111212222211112121212122211121222222111121212221111222221222211221111111111121221121211122111212211122211122112222122122121111121222211222111112221222111122212222222222112121111111112212211112222212122121222211112112122222222212222211112221111121121121221222212112122211221222221221121122121121122221221112211221212222122211222121211221212221111222211121222121222221121212122121112221212222222221112221112211212221222211211221121222212221221221211111221222222112211211211121122222222222212122222221112211212221211212211221112122212121112222211222221112112221221122121221112211211111212112211121122212121222221111212122121121221112112221122221122122212121121212212121221221211121211121221121212212111111222222212122112121112121111211211212111121222111211111121212222212222112212121222212122211122111222111121212222211112222122121221211111111222211121222212212222221111221121222112112222211221121221111111111221122212211112111221211111112212221112221212121221112221111212212211222222211122112121221122221222222222211122112222112122122212221222212221211211111222122112122122211111212211212222212221121122212111211212121212221211222111212111222111112111221212221221111121122211112112222222212222222121111112121112121212211121122221221121121111221121111221121112121122211221122112121221221222121222212111112211211221212211122222121112212211111212211112211111122212221212211112221212222122111111111121222222112211221221211212111211122121212222111212121111112112111121222111121112122121111212122221222122121121212122211221212111121211211212121121112221111221112222111121111212212111122221222211221212221222211221212122222212212212111111211221121111212121122211121212112112111212221212222111212222211121112212212112112121222122212211212212111112221212111121112211221122211212211221222211221112122212121122121221222122111122211111111111212112121222222212122122222121221221211121221111222111111211222121222221221121121122221121111112212121212222121111111112122211211221211212211112111211222212121112112211121212112111121222212222221211111111122212212122121212111222211122211212211211111111221222221121121211211222122212212221122121122221112211112111111221211222221222121221221221111122121112121112112112222122111121221121121222111121212121121111111112122212211111112111211222112121122211211211211122221222111111211221212211121112111221222212111212111221222221111112122112122222221111121212211221212221121122222112112211121121112112211212222122111212111111211122222212112211122211112122211211112122211221121212222111111211112122111121112111221211212122222112211122111222211112111212111121221122112111112121121212122122222122112211111222121111112222122122222212221212222222121222222211222112211221112121211222111221112222221222112112122121111211221222111221211212212221212211112221111222212122221112211122211222111122212111112112111121212211112222112112222221121211222221212122122222222211212112222111111112111222122121121112112221221111212112111121121111111211112122221222111121111112221222221121222122222222211111111222212112112211122222212112221111111122111122222221122221122222121122112111122222212222211221112221212111222221122221111112211222111221122211121121221221211112221212222211222121121111112121121212121122212112122111222122222222221211112112221222112122222111122111212111121211221211111221112111111222221211222111212121222211211122112111121111212112122122122221221221111112121221112122112121212121112111221121212122221122112122111212122222111122112121111111122121112211222121212121221222212121121222221122111111112211111212122211211221112121112122212111212222122112211222222122111122121222112211212212222112121212111211222212221121222212212211111122221221222111222112211111121222221111122112221121212121121222111121212121121222112122122222122212212112221121122111212112212222211221111122221111221122212111121221221122222222212212121211212221112111111221221222122122212221212211122111221222112211212111222222211222212221112221221211111211221222112221112212212121222222212122121222122121122121212211112211111121111112121112221221212212122111212122121122111122111112222121111222222121221111212111112121121222211212211112121221212211111212122221111122121211212122221212111112222112111121212112112222122111222211122122211111211211112121211211222221221121221122212211111121222112212112122111121121121212111212222121222121222221121211222112122112111222122112121221121211112112121211222211121211222122211212121122212112112111112112121221221211122122221122112221211211111112111112111122212212122122112112212212112211212111122122122212212221211222211221112221112121122111112122212222211122212211121221212222121211121211221221122222111222121112222221122221221212122211121221211222222121112111112222121212211121111111112221211222122121111112221212222122112122121222121211111221121222222221111222122122122112112212221212112212111211212121211122122122121112221121222122222212212221211111211121212222221222122211211112122212112212222122211211222222211122222221121212221112221212211222112122221111111112211211211121121222121212211122212221122211111222221212111222121212121221221121222111221122112122211112122212111122111121111222222121111112222112111222222212211212221211211122112211121112111111121211221221121122121122112112211112122222111221121121212212212111221112121211211212211112121112122121212222122112212222112212121221121211112122212111222212121122122121221211112121112122211211112211111121221111111212222112211122211221112221121122112222112112211222112121122112211212121122112112221122111212111122121211211122122211211212122221122211211121222212121121122121222212112112122222222222121121112221111112212111112221221112221212111122121222111111221211121111211221112122122112222111211121212112212111111222221222112111122211221212211221111121112212221221111121222112121111222122211222121222221121121122221221121121222121111221122211211112221212222122111211111111211211112222222222112221221222211121121122122212211221122212221121122112111122111211122221111112122211122211122222222122212211121211121211122111221211122211222122221121112121122221112122121211112121112112122121222112111211122221122121112222122112112112122222121122121221122221112212221111212122111212212122111212122221122112121212122211212111221212121221121111212222122221222212122122221121122112111122122212121112122121112111212112222221112221221211222121211212222112111221121211221211212112211112112222112112221112111111222212111221112221111112122122111212122211221111211112121222112121211122212212121121122121212111211211221122212112212111111221122122212121122111121112211112112211122212212122122222112222221122121221222212111221211112211122212111222212121112122111111221211112212111122222121112122222112121221112221111122111211221222211121122222222121122112122211111221111211212222222221221211121112212222222221222121121222122111112112211221211111211112111121222111221211122221121221121121211122122211121111121121211211222211122212112122212111122112111211222122212112122211121222222221222112121221121221211111112112211211212111221221111212112222222111122211111122221121222212222212222212211111112112122111211111221121122212212122112211211212212222221212122122212211221111122211122211212122212211112121221212222222122222112212121111211211222111212222121212122122222121221212121111121212122121112212111122122222112212111221111222222222211221211111112211221112112122111211111112111111121111211111122111112112211211222112212122122222212121121211121121121122111212211112222121221211212211211221122212112221122212212222121121221211211122111111111211122212112121111121212211122211111212121222221222211111112212212122221212112112122112111212212221222211121111112122212112122221221121111221211221111221121211111112111122121122212212211222222222221221222211221122122111112111112112121122211112221211212222112211221211111121222111111212112212111221211112121222112122122112121222122122112112222221111212111212212211222211211121211112212111121221111222122121112112112112121212111111111111212211221212112212112221221212211111111121112112222221222111121111122212121212111121211211212121122111121221111211211221212212212211112112211112221111211111211212221222211212221221221222112121111121222122111221112122122221121212121122222122122121112211111212211122122112222112122212221112112211121211211211122121212222221111122212221211121221222221112212111111112212121211112221222221222211222222212222121112222222112111222111121221211222222211211212122111121111111121121111222221221111122211112212121212212212122121212121112112122121222121222212212222221122111112221111111112112211111212111222211121122111122112211122112121111122222212122221112211211211221112111222111112221222221211211112222121212121221221122121121122112122121212222112122122112122121112212221111111211222121211211112212112111121212212211212112112111221221121211122121222122121222211122112222122211212121121111121111221212212112112222221221212221212212121222111121112122121212221112111112122211221211112222221222121112111122122112221112221112112221211122212222111122122111121222121121112122122212122212212211122212122112221212112121122211222221111121211221112212121211212112121211121212221221122121112211111212222211212212221122112221212122111211121111211122111212111122211222122121211111211111212122212211221122211122212212211112212211221221222212222222121212212211211211221122112211112111221111112112211222212111212222112121112121212212222221122111111111211112111221112122122121112121112221122221121112221121222121122121222222112121211222221112112221112111112222222212212122211112112212112222121121211222222111212222122211111121122212212222122221122212212122121211221222112111212222121121221221211121122222122211122222222111211111221211221221122122211222122121222222121121222112112121222221121212222221221221111222111221121221212221121211121122221222211212112111111222121122222212211111222121221212212221112122212112212222122222111212112121221122212112221122222122121222212121111111122212122121121122112222121122221121212222221112122122112221122122211211122211112121221212221112121122121122122122122211221112112221212222211222212111211211121121211211221211122212211111121211122211121122221112111212211121221212112211111121112121221121121212221111212222112122222222122122122112111222211122211111222112112211222111211111212122211212111121112121212211121211121222112112211121112111221111221121212111222212111221211112111121122222211111112121212221211221212221211212112112121211121222222112212121211221211212122211211222212221221211222122222122211211222111121221111121211221112112111121221211221112112112121112212221212122221122112212221121211111221221222112211211121112221221211122221212222121122112211222212222222212112111212111111112212112221121222111221212222112212212211112221122211111212122121222212122112211211222112122122112122112111112211112121211211211212112211112211221222222121121212222221212111221121212222111211111112211121121221222222221111221122222221212222222211121211221222112111122122212221121211111222222112212221112211222212212211112122211111222211221122211222112111111121222221122212221121221222112112112111221222122212211122112222111221222211222112111112111111111121112122221212222111122221121211221111122112121211121212222221121221112212111111212221112211211111221211121121122121111111111221221121212121221221122211212111222112221211222212122122121112211112112222111121111221212122222111112212112222221122122221222222221212111211112211221212211111111211111122112112111222211111211211212122221121222122112122111211111122222112121122211111122111122222221122112212221112222221112111222222222111121221222211212122121122112122112112111111212121121222121112121211112222112211122121121222112211121111222112121111111122121121111112221121212122112212211122222111122212222112212211221112121221111222222212212121122211221221222112212212222122122221212211212222211222211212111211221122212222122221221111111222222221212212212122111121112221212112122221112222222122122222111112211212221222112122111211112211211221221112221121222211112122112212111212121222222111211211221112222121212111212212211222112221111221222111112112122212211222111222112112222121211212122121221211222211212211221122212212211111221112112211221212212121222112111121212122211211111212211211121221212212211121111221211212211111122122222222121122111122121111221121111121211212111222121221111211112221222211122112122122111111222122221121221212221222122221112111112212211122211212222211122112111112222122211121122111111121222222222221121211212112222122111111122121221212122222111221221111112221221122121122222112111112211211222112122111222111221111121122111212221121212121112221111222221211111211212121211112112221221222112222122221222222211211121222111112111212212212222222111122111222212222222122122122112122221211222222222112111222122221121211222111221111112112222212211222121212121111121211221212122221112121221121222221211111211212121121222222222221221212221212221221222212121212112111122121222111122222122111121221221122212211211221111112221121211121112221222121121212212112222112121222222211111121221212211122111211122112111121112212111211211221212122221121112122122111222121221222222111211111221222112112121112212122222122212211111121112121112212222122112221112112121122221221222122112121122212111211221222222212111121122221211111211112112221121121212111222111111122212112121112112222221122111212211111121122221112221112212211211122221121112122121221211212121111112222211112222112121221122212122122211211211211122122112122212112211211212211122222212122121121111111111222221112222212221112122211112122221122212221121222111122111121222111111221221211212111211122121112112112122211221221222211111212222121212211111122112212221222222121222111221112112211222122211122112112111121112222211112122211222211122221111212121221221222221111221211221112122111121212212221221112121121122211112111211212222211122222211222222111112212222211122111212211211222112122122211222221112122121111211111212221121112212122211122121222112221221112222112212112121211112211111122222111122211112112122212111112222212212111122212121112221221112212111212211212112222111221212212121221111112111222112111112112122121222222111111211212122111112112121122212212121112211122122121111212222111121222222121221111112221122222221121121122222111222111122112122111221222222122111221122111122111111211111222211111122221212212111222112212211221221222222111111112211111112122221211112122112211112122221222122222112222112112221211112221222222122222111221212211121111122212211122111211212221221222111212111121122221111221222211112112212122111111212121112111221222221211212222212111222122122111111111211222111222222222221211122222211221221212212111122221221122122111211111111212221222112212122112212222112211111121221222211222111112221222111112222111122222212221222222112222112212221211112212121121122211121222221112112121122111122212121121211111112222111222222222112211211122221122111112212112211222212111222222112121112121221222121221111222112212221122211112111111121112122211111212122112212212221222121211212211222111211112212222112121122221111111122212211122112112222122221111212111111221212211221111112211121222111222222211221212212112221122121211222211222211121212212221211212112122111212112211121112222212111121111121111212221121212111121112211211122122212212121121221111111121111222221122221212112212121222111111222122111111212122211121212211112112112122121122122221122111122121211121211222111111221211212221112122211112211222111111121111121122111211122111221222111222212221221211222211112121221121211211122111221111221221111212211222211111122122211211221121221111111221212122222211122111222212212111111121221222211221112111121211221122112222211211111112121212112112112222121112111112222221121222212211211222121111211211111222212121121212212221221111111112121111111122111222112221211222212121212112221211222212121122222122122212211221211212112122211112111221211222211221221222111121221122212121222212212222211111121222212211111222111222212221112121122212212222212211111112211221111212211111111222112212111111111122222222112212122112121221221122212122222221222212121211211222112112121221212121212211211211222111212212122111111121122212222212221211211111212112222211222211212121212222211221112112112221211211212222221111212122212122221221121122111222222112222211122111121221212111211211222111121221112111121211121121221222212111111222211121222211112122222112221211111211112122221221112122121211112222222212222212211111221211211211212121211122121221222222221221211111122211221111221222212221112121122112112211112122111222121112221211211121122222222221112212221111211222111211211121211122211221221221112212121122212121211221121112221111121111222211222111221121111211112211211111221111122112122212112211212221222222121111211212121222212122211211212222222122212122122111211221212212122221212121121112121111222121221222122112211111212222121212222111111121122221222222212222121221111111122122111212212111121121122122221211122212212111112111211212121112211212222222221212121211212222122121222122212122222222212211122222211122122222211121122211112121122221121222222212221111211121121111211212222111212222211121111112122112112211212221212121212121212122222112222121211111121221212222212221211121212112122122122222221211221222222112222121221211112212211112111211122112122211222112211211212221121121221211211211212212212211222121121212221122212221112112221121111221221111211221122111221121122221221222121211211121222112112211112212221122121111221212122112121211112121122121221221121111211221212111111222122222211122211112112212121121212221122212211112211122112212111221222221111212122121221211111211112222221111121112212111212222111112221111112211122221212222111112112111122222122112221221111112111122212221122121222221111121222121112121112122212221212211221222122112122111222122122212122212211222222122221111212112112112221211221221122121121222222221122211121112121212111121112111212212221121121212121121221112221111221112211221121111211211121111211212222212111122111121222121211122112111112211212211222111122122111212211121122121212222211221111121122211221211222222122211112212122221211112112112211122221212211111222211112221112111112112211112212112212212121211122111112221122222221221212211221212222221121221212222221112212122112111111211211111222121121111112111211111122122122112212112121222212221122221111112122111222112111212211221112212212222112111212212112112112221121211211221121211211121122211111221111111111122212112111211222121211221211211121111111211121111212212211122112111222222221221122212121111221212212112111211111112111211221212122111121222121221221122111211211112221122121222122211111121121111212111121212111212222212112211122212222221111111211221211122221212211221112121222112222212111222112121111122111121222212222122211121211221221111211112121111121212121211212211122221211122121222111211121122222111211211222112222112212112211211112112112111112212212221122222212222212122111211122122211122122222221111212212122112122122222211111222122222121211112211111211221112122212222221121221122222122122211111121212121121222212222121222222122111121122121211222122112122122221122121122122222122221211112221122112122121212112221221222112111221211112121112122122221111211222211121121111111112212212122222211112212212112222122212212122122121222112221122121122112121112221111112122112122211211221212222222221221212122112212122212121211222112212211122212221211212222111212112211122111211122122222211211112112112211212221121212221122112122222221221111111112121222222112122221212112222222122221211111121212211121212212121221111122222122122222112221221111222211222121212122112212112111221222121111221121211222111122221121111122212212211112121212221222212222211122112111111122111221221111112112221211212211222122222222112211121221121111122212122112122222122122211111222211222222122111111112112212211212221122111111121111222112221121111222111121222211122222122112122211111221112112221212221112221121121122222111211122221122111222212111212111111212112122222112112211121211112211111112111212211212122222121221122112222212212122211112212111111222211212221112211112112221122211222121222122121122122122111122121121212221222122112211121211112121112111122221211112111112221121122111221111121222111112211122111112122122211211121121121221222211122212111221121221122122222222212112112122212111221122122222211112111121222211211212221221121222222111222122121221112212221121222222112121112111221112211221221222221222212112212112121121122212122121212122222212211221221121122121112121222121221111122222212112211211112211211221222211111112221211122111222121111211212221121122211222111122122222122112221212111122212221121122211211112212221122121111211111111222111121121221111121112221222122122221121111112221222122222221112112122212111122111112211122112222122121122221212221222112121121122211111112111212112212121111121111222121222112112211221122212212112121222222221122111212212221221222212211112212122221122121211212221112211111211222121111212212212222122121122111211112222221111221112222112212111212221121221212212211111122121222212221211121211221212122121212121222112112222221221122121221212122222222221211212212112212222122122122212121122222121212121111222122221122112222222122112112222111111222222111121212222212222112121222222211121212221222211212112221112212211112222121122212122211111221221112111111122121121122211212121221221122121221221121111211211122221122112221212122122121222122111221122112112111212112122212221112112221211121121122112122111211221111222122112122112221212211112111121221222122221222212112122211111121122112221221221212212111221111212222211112122112212111222112221211112111122211222221212222122222112222111211222211211212121221221122111212121121211112221211221211212211121111211112112211211111222222212211122121111111221122222111222122121211122121122122122222221121121221221122222121111221122212121121111222122222121112121222122112222112212112211122121221212121221222122121222211211121121221121221122112222111221111111122222122121211221111121222111112212211211112221121122221121121122211211122212122112121111111221121211211111112122111121112221212121111222211121222212212111121212111112211222211212121122211211112221211221221112222112122111111122112221121112222111212222221121122121211211112112222211222121221112222211211222112221122112112122111211212212111211112212122111122211121111122112112111222111211111122122121111222222212212112212122122212112221222211111212221221121212211221112112222222122222121112122221122111221222211212221222222212121112112121221221111112221112122111212111111111112111211111111112111112222122121211121111212122111211122221222211222221121211111111222121221121222121121221222211221122211221221221121221222212122121211122121112222221112111212211112121212111121111221111121121112112212211211112221112121122211112112211212222112222111212211122221111121222121222112211111122111121221221121222122112222122222121221121121212111222122111111121221121112111211222222112112122121111211221121212122121121122121221221222222212112222211211121211221212121222222221211121122112211112121221112221122111121211212122112212111111221121121211212122211111112222221122111111212221112111121121221111212211222111212221121211122212112111221211122122222111121112122111122221121222121122122122122211112211221222211122112222212212212121122112222111122221221122221212222121222222211211222122221122111212222211221221112122121112211211121111212222222222222122221212221212121212211122212111211212212212121221212222121211221121111212122221221212212111222122211112211112211222211211212112111221221121222122122121122211221112212122212221222221212222112221111211212111111122122221212221122112112122212111111212122111111211121111112122111111112212211111212211122122222211212212112122112221212112121221211112212212112211222122122221112122211221212211221211121121121222112122121221212222122121221221211212112122122212211221121212121212121212122221121222121222211221212112222121212222212221122111222211211211222222212221111222122112122111112121112122211122211112221111222211112122212222221211211122211111121212221112221222222222112121121211122112212121212111221112222112211222222112222222212111221122211122211221221112122222121211111112112211211122212212222212121111222121111221211111121112112112122211212121221122222112221221212121212122111112112121121212221112121222122121212211222222222212122211222222221112212212122222121121212211111112121222122212222112112111122221222222212211221222111122121112122221111121111122121212222212112211221111212121112222211121122211112222122222112211122212121222222212211212211212212212211221212111122111111221221112111122221122221211122112222111111222212112211221211111222122112111111112212221212121212222122211221111112211212121211211221212221112111221122222112122221122222212211212211212122121221212212122122122211212211211112211121112121121221111121111221111212211211112121221122112122211112221221221111212222121212222112222211111221121122112111222111222221122221122112121212111212212222112221111222122211221212112122222111211112122121222212122222112112221212122211212122111122221122221222121111111122212111121211112211111222111212112211122222111112122121212222222221222111211112211112111212122212122122111222222212222122211211222211221221121122212111122221212222212121111212212211212111212112111212211222222212111221211221211122111112121211111111212122211121122121222222111212121222212112222222121111111121122121221112121212122121222121112112122222121211121211122211212112222121211221122211121111222211112221122121121211212112111121212122122212121211221212122121212222111211112121211221121121211111111211121122121221111121111221211211122221122112221222111111121222111121222211211222211212112121122112212122121212122212121222121122121122211111112222222122211112111112211212211222211111212212221212121212211122222211212122111122122112222112121122112221222121121222121112221111211212122121212211221112211122121122121111221212121121122111111121122212121111221211212211121121211211112221221211122212212211221212211121111212212111211112212212111222221222121111221212121221221222122222121212211122111211122121121212212221212222222221222111221221121211122221221222122221112221121222211221221111222111112222211222121111122212121222212212111122212111112122112111122222222222121212221122211222111122121111112212122111222112211111111212211122222221222222121111111221112121221112121221211122112122122111122221122121212211121211111211212121211112112121221121212121111122222221222211121221221211211211112221212222211121211212121122122111221112212211221211222112121112221111221221112121212221211121212222211212222211211121122122211211221212112121112111221112211112121112112212211221221121221211122211221111211222221221121221212121112121122122222112212222212112122212211112212212211111111111122111112122121222211111221222111122111112111112211112112112211122212221111112112111211111212111121222121212211112212221121222112222111122222122121111212112111211221222222122222212112221211122221111212212211111222211222222211211122122121121112212112221122121221111112121122122222112212122111111211122121222221212112211121111212222211212121222121222122222122121222112221111112221111111122122221111122211212212112212222222212212112211212122112112121122121212221221221222221112212211122212212221211221122121211111212211222111121111211121121121211112112211222221221221122122122221111222212122121211112111222111212122122112111121221112211121112222212221221112111112112212111112211221122121222222122112221221121112212222211222212222112221221112122221222221211221221222221122211211111211222122221222222222211221211111111221122111211122121212221222112111111212222212122212222122112221122211222112222222122111221221211112122212211211222212212111211122122221221211111112121211212221222112122222222212211112221212221122212221211112222121211111112211211211121111221111221121222112211211111122121212122222221111211222122211121111121221111211121112122222221221222222122121121121122222111121112121122122121112222121211222222112122112221221212222112112121112121221122111212122111112212211122222222222211122111212112121121112112211122211121212211221212212211222211212212211211112211212212221212121212211112122211212122212111121212211112222121212112111112112222112121221111121221221212222211122222122112221211221112121122121221121121211111221222212111112111122122121121121221212121211112122121112122122122222121212211222221111211121221211122122111211221212111222111211112112111212122221222122211111222212222121122121122221222122211212112222211111121111122122121111221211121122221212212111121122212121112111121112222212212212122112222111112112121121122211122111212212112121211111121211112212221121111122221122211122211111111111221212211211212221111112212212112212211122211121121212122112121221112112112221222121111121111112122211112212111122221222221222211121112212222112121112221211212111112212121222212121111112121112221121112221122122111122222212121112212121121222121121211111211212121221121112112222212122222121122112211212211112221112121222212222122221211221211211212112222112222122222221111221112112111221212121221221212222221221122222121112211112121111121111112211221122121111121121212121112222221221222211212122112112121121221112122212212112222212112112222112122122111211211111111121221111111122112212221222121212111212122211111121122112221122122211112112121121211121221222121121212112212121211221111122212122122121211112212111112112122222221212121122221221121122121211122122211121211211211112122122211121221222121221122221221212112112121222111222112211212112111212112211122221222221221121211221221212121111121111211121121222212212122121111212211111121221111221212122211112221212211222111122211111112121211122221222212122221122212222121112122112211221212112212122121221112222222111222122212211222112212222112121221122121212221121122112121211212122121121211121111111112212221222112111112121211112211221122111212111212121222112111111122111111111111121221212112221212111112211222122121211122221122121212222122222112111212122211112222111111221211122222211221222212122221221211122212221211121112212222122211121221111111112112221211222121112212112221122211112222122222212121222111111211121222121122211112211222112121222212211222211112211121111111122122221121222212212222221112111221211121112222121111222211211112222111211122211211222122112211121212111121221212222221121221211212221121211222121211112122212122211111212111121122112122112212122112111211121112112121211122122221221222121221222222211122222222122222222212221212212211212221221112222122122112222121212121112111121111111112222112112121221111211212221211211122121121121121111212211211211122122222112111211121122212121211121222112211221112122121111212222221112111211112212121222212122221221111222122121221121112222112122111211121112221111222111222211122111121112112122212221211122121112222212111221222212222221112221121122222212211222222112112212122211111212122212221221112212212121211111222122221222122221211112112121211122221211111212211112122112221112221221122222221212221112212221211112222222221121121121112222121221211112111212212112211122111221122111122111111212111222221111122122121221121121211111112111212112222112111221211112122221121222121122211112211112211122221221212222121122112121122211212212222122221122212212211211112112222121221112212121212222121112212121211221112122222112122212211221121222111211122122222212121111221112121122221212212222121121112122212122122222112121111111211111221221221122211222221221122122111122111111211221122121111221111122112222211222112112121121121122212111112221221112112211112111112122221122111121222122121212222121122121221121122211122221122222112212121212221212112212111222112211121211121211211221121111222112221211222121222211212211121111111122121111111112111111112111122122221121221121122211111121222112222111121211111121112212122122221111221212211221211121221112221211222222122212112112111122221112111221212222222121121121111212112221222121112211222221112222211111112111111111122112111222222121112111222112221111222222112112222211211112212212221212111111122122122112111111111222211122221122122222122121122222112221212111222221112112111211111221111222211211221112222221122211122122222121221211211122122111221211121212122212221122122121112222211112211111222211211122111121122112211222121111212212221222222112221122121211212121212222112221112121111221222111112212222112211221111121111222212222222121111222221221212221111122111121212121121112121121212121111212222122221111211122221222112211121222212211211222221212112121221121222211112212121121111222211221122212221121112111212221211211211122111211221112212111112221122122112221222221222212122112122221122212112112221111122121112222121122222212122211121122211221112222111222222212121222121111222222211111111211222221122211211222122112211222111211211212111112221112222222121111221211122221211122121121112221112122111221222121221211122111222122211211221122111211111122221211221122212111222122221211112221221221112222211222221221112112111122111221211111121222212211222221212121122122122222211221211222212112112112222121112122212112222212111111221112112212122222222122122112122121222212112111122121112212211121111122222211111212112222112212222221212111221212222222112212122112122111121212122122221211212222221112221211222121111221112111112211121211212112111221212221122222122122111122222112211112222221122211221222121222212212122222222121212212222121121111212211112221222212222222211112222122122122221222121222212121222111122211212212211222122211111111212212212112222221111122111212121111212121111111121222221221111211221111211221222222121221211121112121111212111221221122222212221212122212121122212112122211121111121221221111222112212211221221122212112211112211111112122122122221112122212211222211211122112111221121211112211111112122112211121112222221121122211212212221221122122211212222211112112211221221112211222211112122221111222221112122222121222111212212211222111211211121121222211212112122212222121111212212212212222212212211121111111121212211222222111221211111211111111111121112212121212212112222212112212121211111121222221222221211211111221111211111121122221122211221222121221211211112211211221111221122222112112212222222122121122122121121111221111221211121221221112212221221112212111222211111222211222111122221112122111211221111112111212212212212212112212221221112112112212112211121212112111211112111121122222122212212111111212112111122121112221221121222122112222212112122111221112121212212211121212112222221112221212122121211222212111122121222221122222121212222122121212222212212111121221122222121121212221222111111212212122221212112121112121212111211111112211112212222121122211112211211212111211122211112211121222122221212212222222122211121111122112121122221112111221121222112121121211211212112111121212121222121111122112221121111122221111112121122112112222121111121221221212111221122221122112211122121111122121111112121111122211222212221122222222121112112222122212112222222111222121122122222222122212122211112122212211121122121121121211222211211211122111212111122122111222222221112222211111112222112121211122211121121122222222112122122122211212222222121212222221212221221112111122122211121122221111111222121222221111111211121122121121111112112222111111122112121211221112211111111122212221111211221112222122121122211122212121111222221112211212221222212221222222121112221211222112221111211212121121212221221112111121222121222211111122221111122112221112211121211222121212122122221211111122211212111212211121112111121221211111212211222111112112121222222111121222112111211112222121222222122211211111221221221121111221211122221121112122121222122211111212112111212122111111212222221112112221122111112211222112212211112222121211222111121211222212122211211112112121111112212212212212222122211111112122111122122211121222121111122121221112121122112221112211122222222122112112221211221222112121121212221112222212221111221212122121122122222222222222221212212111211111111211121121122211111121222121121111221111211112222112211111211111111111122222122111122221112121121212121121121112121112121111212221212222112221221211111122112221222121222221111211212111122111111122112212212122211211212111121211222211211112111112221111122212122121221222111211211222112111121121121212122222211221121211211122221112221121111212111112111211111122212211112122121212112112221212112111112121211121121121111112122212221222111122121111112112211222222121112221222122211122222111211121111121222121121112222121112122111121212221222221112122211211222112112221222222122111222111221112212111221222112212222211212221111212222111212121111221222111212221222111221222112122121121121112111211122121221222121121221222112112122211121211222212122111222121122222122121112112111111212222111222111222121211221122221122122221211121211121211121111112211111212221111221211111122222222212222112211211112212211221222222111211212222122111122222122112121222112122211221122222121111122112122212212221122112211111112212112221121221111112212221112221122211211112122112221112222221222112222221211221222112211122221122121211111122122211211111211121121222222121211111211111112221221111122221122221112121122122121212111221121211211121121222121121222111212222212111212112212121212221122212112222122111212212112112222121122212122222211122111212221222221222222121221121222222111211122211121112122122121111212111211122121122111121211222111212212112122121112112111121112111111112121112121112222211221222222211211122221112121122122121122111122212212212122222122222112122112221211112221211122221112211111222211212121212122122111221222111112221122222112211222121122222221221112111111112122222111121212222122112211222121221111121222122212221212222211222212111211211212122211222111222112112112212112222122221112212112122112112122121222112112121122122122112111222221111112121111211111211212211222112111112211221121122121111221121212122212211211211222212111112121111211121212222121211212112121111121221111111211122221222212121221111112212212112212122121122212222211112221222222111221211211121121112111122222212112111212212112211121211212121211222212211111121212221112212212212111212222111122122222121221121121111222122121121111122121112211212221112212221211122122212111122222221222211221222121122122112122221211122121212221211211122121212221111112122121222111212111111211111111122122212122111111122111121122221111211122111121211121222222112212221111122222111122112112112111111221121221112212112121212112122111121111121122211111112211111122121121221212211211121221221122122112212222111221222112111112212122221112121222122111121122211122211112222212211122112121212212221221112212212121111112122221212122211212222111121121221112212121111122212121112211112121212121211121112111111212212121112211112121112211222221212212212221121211211121222112221121211212112212211222222212222212222121212212112112221221222211211211111212212211111221111222211122221121122122211122221212121211211221122222222112111122222112112211111211221212121112222211222211111222221221112121112112212111212122112121112112112222222122121222221212122122211111221121222121212211121111211121111122212222221221222122212221221111212222221211112222222222112121222112121211112121222121222212222122112212122112122221212121211221211121111121121212111122211122221121121122222122122111111211121122121212122211112212121111211221111122222221121222222221111221212221112111112112212111111121222212122122212112111222111122121221212211211221112222221212211212221122221121211222111111211211222111122221121211221221221221121212121112221111112121112111111111122112111222122112122221122211211122112122112222111221111121111122221111221122121222222121111212122122212221211122211222211212121112221111211121122122121111111222112111222222122122221122111122221121211212112122121222112222221221112211121111122121111122221211211122211111221122111222222221222212221122212112221211112212111121122122212221211221222112121121222122121122121212212111222122112112212111121211212111212212112121122122122222221222112211221122221222212122122112121221111112122212111121112121122212112212121222112212212222122212111121122122111122222121211122111212112121122122111122121211111112222222211211122111111121121211122221221122112221212112222222121212212221222121211111221211211221112211221121212211122222122212112222121111222221221221121222222211122111112222222112221212122112112122112121122221121122221212211211122121121112121111222221111221222122122212112211122211222211121111211121212221211222111122212112221221122222111221111111222122112112212112121122121111221122211111212122111222212112211212122221111212222122112212112121122112221221222122212212222211121111221111222212222212211221222112222222111122121212121222212222112212212112121212212112111121222211222112222212121211211211211212222112212111222222111222111112122211111112112222211122212111221222222221112212111121212211121211211122212112122212212121111121121111111122121212211122222111211221212221121121122111121112111111122221121112212122211221111121212212222111212121122211221111212112221122212121222112111112111211222211211121122112121111112112221211212211122212121211221111221112122222212222221212222211111122221121111121212212121221222211122212112212212222212112221211211211121121221211111212121122122112221121212222221112122211112121221221221112222221112121112112211221112111121112112221112211121121122212212121212121221111112122221212111221211211111211111212211212121112111121121212221112222221121122112111121211121212112221212122121212122222122121222211212111221221221221111111112121222112121112111212112122121122112212122211211112211121212212112212221112112111221212211122121221211112221112111212112112212222212112212111112211111112111211222112212122211121112222122212121121211222121121211112121221111112222222222122212112222212221212121112222212112112122112211122222112211212221122211121112212222121221121121222112121111111111212221112121111121221221211212111121221111211221212112221212121221221121221222211212121121221112221221111212121122211212112122122111122212111212111222121112122222212212121211212211221121122212212211222122112212121121112121221212111122121222212112221222221222221121121112111221212121222111112111222122221211111222212211112221121111112121221222212122211221222221212211212111112221121211221121211121221212221112122211222122121112222122211222121111122211221111221111211122121212121121211112211122211121211111111222112211121211222121122121211212121111121212121121212212121221222212212211222222221112211221122112211211112211122211112212212211121221121212112211122222211112222122111111211112111212212211121222122112211121212122122122112221211222221112121222122111221211121121112112111211222221112212222112212221221122212121211111212212222212121112111212112211211211121222221221121121112121121112112112112122111212212212111211221111212211211222121122122111121212121222222221111221221122222122221121111121111122112221122212221221112221122222121111211211221222112112222222211111112122221112212111111111221122211212211212122122211112121211211111111111212122221122111222121111122122111212122211111122112111222111121112122111221212212112121211221121222121121121112222121212222122122112111221222212212121121212112122122222221222121222221212122112121211112222122122111222221121112222122211222222112212122121111111211211212111222211112211212122111221211122121211211222211211212211111111221212221111211212212112221122121221111112221211222121212112121122111211121222211112221211212122122111122111121222212222121221122121122222212111122212112121222121122221221112222121111121221122221212122121222221222122211211111112112122212222211222112121221222222122122212111212221121211211122211212221212112221212121121212112111222122112111112122212121221112211112221221111221221221221121121121111122122121122221121221121211122212212122222111211112212111211212111212112222221222212212121221221221111221221111221212222112222222122212121221112221112221221212121212211122212211111222211111221212222212122221222121121222112122112111212112121221111121112211212112112122112221222112221222111221211221122222211121121221111111111221111122121122221211121121121122111122111221221112112212212221112222221211122211222222121121111112221211111122122211121222121122111212221211121222222222122222111221222111122222222111111221212112211221121211112221211221111122212121121122112212111211212111112222211222121111222112221211122122211212121111112221121211221121111111111122222222212211111222221122111222212222112121122212211222221221221122112122222212121212211122112221221221112121112212121111112112221121212211111121222122111122122122112121212221221211111222212111122121211121112211221111121221111221221212121121112212212112222111121222111222121221222111212212122122221221122222221112211112212121222211121221222222221221111211112211122222222222212121221112121111121211211112212212222212221121222222111121122221121122211112122111122212212111122221211222112111111221112221221111221122112111121111221112122111222222111212122112212122212222221221122112112121111222212211211122222211111121211112111212121222221212211122222112221112222122222121111112221111122121222122211221111112111112112122122222112111222121121121122222121111222111212121112211121212222122121111211122112121112211122221122112112122211112112221121111121222211112111221222211122211211222221212211221211212221122111222211112122121111111222212121221112111122211112112112122221211222112222211121112221221211111211112211212112111212211212222112211112221212122121111121111212222221222212221112121112211112221112122111121121121122211112211221112221111221121112112211122211211211121112121211221211221111122111111211222211221222221121221112111112221121221221122221222111221212211221222212211122122222111222112221222111212221212211121122112122221121122221112222212122211112221122222112122112112112121211212122221122222121122212112111111121212222222122211111111211112211121222112122212111212122211112122211212221222221212222212212222211222222111121112212112211222121112222222111111111111222111122112212212112121121121222112122122121221211122112221121222111212111221221112212221212112112212112221211212221121221122121112221111221221222212212122111212221121121121122121112122112211221211122211222222211222121122211112111112211212222222222122211121122121111222212112222111112222211112221222211211222122212221112212221121211221122221111112121111221122121122111222222211111211122221212121211212222221211222211111122212222222121112221122222112222112112112212111112212121221222122221221212222112222211212112121121121211221122222112222211122211221222122212112112211222112221111221212121121121122222211121212212211122121112111212111121122112221111122111222221212121112111221222122112212221212112211211111122221222121111111221221111122222222121111211112221212122221221121222122212221222211212212211121111112222112122221222111221211111111112121222122111111212221211112121111221122221112111222122212111211121212122122122111112221122212221221211121112211111111211222211122212122111222112222111212112221121111222112222222111121111111122221212112111121221122222221211122122212212122111121222112122211122211121222221221212112221112111122122221122121221112221122222221212121112222121221212111211221211112121121221112122222222111222221121222212211112111221111121121122221212121122222112111222121121111121121112212112111111121121211111111121111211112212212122112111211121122112122211222122212222222222111111211112212221221211212112112111112121212221122211221212111211211221122122112212121112221221211112222122221211211121111122212111221212112112122222112111222111112111122222222121111121222122222111111112211211122222221121111121211112111222222122122212122111212112111122121111112222211222211122111222122221212122121112111112222122211221111112212121211122221111212212122112221211111112212221221122222221222221222121121222112211111112222212121122221212212222121212111222111221111111222111112122211211221111121221121121212112122111122122211112211111212211221111112212122212211121121112112111221112111111122212111111111222211122122221221212212222212112222122111122111211111111212121211211112121221121222121221112222222111122221221111222111112222112122211111222112221221111222111122221212221221221112111221212211222122121121121212212111222211221212212211112222111222121121111221211221212112222111211221222111121222211121121211222122122121122122112222112111221111212222121221212112121212112221211222212121112121221211222112112212111222222212112212212221211222112111222122211121212122112212212122122221122112111212122121111122121121221122221212111111212111122111122222211121221212111211121122111211122121222212222222111111121112211112122112121111222222222221121222112111122122211221122112122112212121221222222211121121222122122222111112112111112111221112221121222122221222212111211212212222212222111111221221212212221111221111121111212112122112221221111212111111222212212121212112122211121111222121111111111122111112111221212111121121121122122112111212112222122112212211221221121111111111121211121221212221211111111212221221221212112122222212112121122222221221111212112212121122121212121211211121112111211111212222221121121121222212122112112112112111112122111112221212212221221111221222111121211122122211111121222112221112111211222221212212121222221121112212222112122212212222221222121211121121111122111121222212111122122111221122111122212212212111211121112121112211211222121211121112112212211112122221122221112112221112211222121112111112122211222221122121121222111222122222122222211122221112221222221122122122221212221222222121122212211222121122211122221121122212221221122211221112222122112111221211212221211212212111221212112212212121122112211221212212122211221211121212121111211222212211212122112121111221111122111111112122212221111112112122211212211212122111222222122212222221121222222111212121211212212221112112111212221222122111122111112122211112111222121121111111112212112112222121222112212222111212111222211112212111121111222111111121122121111221211112212222212122112211111122222112221212222211211112122121211222222122112212122211121121111212211112121112121122112122121111122121222222211111111111121112221121221211122122222122111211111111121112222111212212212222111121221121212122111121212222221221211221221222112211122221212112212122222112211122112122121212222221111212211221211111221222221111112211222222122111221121221112121222212122212121121121221121111221122212112212111221221212121212122222211121212111111111122111222121221211222112121211112122112112112211212121212112121221111111212121111122112121112221111222112222211212112221221211221212122222121212112222222111112121212122121211221212121112222111122211222122122212221121222111111211122112121221112222211122122121122222222211112112211222222111121212122212122211222222222122211211212221211212211222122222221112222221112212111121222211222121221211222121222122222212112212211122211122111122211121211122212122221211221122121112121111211222212212111211211211111112121122121212111221212122122211111111112112221112122111211112112222211122211111222122222122122212222221121111121111121222112112121122221121221111212211222121112211212212211212121112122112112221112121111122221121222122222222222212111212112122122211222112222111221212211212111121111122122221212122112211111121221212122212111221212121111112112121211212211111121221221112122121221122122221211122111121111112112211111122111111221111122221121211212121221122211221112112222221221122122122112122121122121222112222111111111112112222112211211221221112221112221222211112222121212221222111222111112211212121222112112122112111111111211222221122112212111221122121222112211111212112221121122121221212121112211221112222112211212121111111212112212121212211221112212212121112111112112121212112222111111112112121222211121221211221211121121222122211111211221111122221111211212212222112112112221221211112212222122221122112212211112111121222112112121211211212112212212222122121112211222211112221212211211112121112121221212111211111111121112212222221211122122222221211112112212211211212112222112211222221222122211221221212122122111122211121122222212111211112222122111111211221122211222121112212121121222212112112222211122112112211112222212112121212221222221222122212212122212111211211221221211211111112112111122222222221112222122112212121111211212221122221221221212222222121222111112111211121112222111221222222222211221112111222121222222222112222212112212111111121221112211122222121121112122222121122112112112212222221111111122112111212221221212211122112222222212112221121111122211211211112222211222112212211122222122122121212212211111111221211121212222221221111111122212112112222122111112122122122111221122121222211212212111221111222111122221211121211211211111122112212222212121212212121111112121111222222122211111121112221211221112122111112122222112111112211222221112222211221122122121221111122122222222221211121121121122111211112211211111211211211221212222222111222222212111121112221212111222212112122211122112222221212121111222112111111212122222221122222222221221222222112111122212211211222212222112122211112121112112222121222222212211211212212212211122211111112212122111122212221112212221111221122111122121121121211211121221222211212121212222122112112222212111112221211212221111112121221221122111221221111212222212112112222111211212121121112221211211211212112212122122221111111122121112121222111121122111221211212111212111221112212121121121112212221222212112221111111212211111121122212212112212211111112111221122221212211212121122111111212222112111211111211212221111121112222222212112122211111212112222121112222122122111121221122112121121221122122222111111121222221212111112111211222121111121111212222221121212211122222212222221112211222211122112222211222212211212211112112212121122211122111122121212222111111212222222221222212222121122112111211221112211112212212112211211211112121221121121221111121111122122212221212121121222122111212112212112112111222122212212222111112211222122122212121121221222111122212222112122222221121221121121222112112112221211122222212211211222212221222221222112212112112211121121122112212212122121121211112211221121221121122212111212111121122112222121222121212211111222111121112111221122222212211222211122222122112121221121111211222211221211211122112121211121121122221211211212112112122111221112212222111211222111122221121221221111212122121222112222121211111122112222122212121121112211221222212211111111122211112222211112112222211112221212112222222112112111211221122211222221221221122211221122222122222212112122121122122212111121121212112111122211121222211222221212211112221121212121222121112212211222111112122211222212112122222111112111122211211112112111111211111221112122122111121121121121212111211211111111222112111221112112111222112222212222111221222221221112222121212111212122222221121122122112221222122222211222112121111111221212211211112112122112121211111222212211222221212111121111212121212121221221212222122221122222121212112122112112122122211111122112211112221222112111212112211212222211222122221222121111122111122222121122222221112122221221221112212212221222221222211211222111122112221121122121211111212121221122221111112222112111222211222211211112122111111211212111221112111211222122222112112222222211212221122122222222111221211211112122221111221211111122212221112121111221112122122211111111111122111112112222212211122221122211121212222122112211122222211221121111111212121112222111222111122222221211121111222212221222111212121112122112122212221121122221111211212112212121122111111111212222212222212121211122122122122212222122211222222221211221222221112121122221222212111122112112222111212111212212211122122212121121211222122221221122222112221222212121122221121212112122111111112212111211212121222222111212212221111121111122222121111121121122221211212212112121112212212112121122111112212111211121221111222211111121221112121222211122122222211212222122121112122112222211212112222211111221211111212222122121121221221221122112122112212212122222212221221121222121212121222111122112111111211211111222211111111111211221112211112212122211112222222111112212222222221111122212222222212122221111122122111112211122222122112112121111212212121111121111111112221221112112111222122122121212122122221111212212111221212122122211212121111121112112222111211212121121221122112221122222212121122211121212211121111221121122111212221212211122121121121222121211212122111221121112212212111122121122121111222212222212221122222122222122122211212111221111112111211122111121212121211221121221212121121111212121121122121211111221211121212122112112121221111212211122221112221111121111121222121112112111122121221212221121212222121212111121122122221211222121111122212122211122111121111121222121111212121122121211122112221211121221221212122121211222221211121212122212122222111211111211211222121221111222122221212212112211212212212222121222222122212221222111112211122222222221222121222222121221112121212212221211122112212112212221221111212222122212212111111112211221111111211212212121111112211111222111221111112122121222222121221222212121122121212111222111121122212111222212121111121222221222111221211222222211222122121122121112211211211212111222222122122111122121111221212221211221222212122111121212112112222111221211221112111122121112221211122121111112122222212122121212121111122112121221211211212121111111211111112211211121221222212121221222122111112121121212112122122221112112211222122212211212111122112221221122121112222211222222211212121111111111222221111122221211111211111212221112111221222211112222211211211212211222112122221211222122222111112121111112211211222221122121122221212221111121221221221122221112221212122122211212211111221212211122221222222112221221122211112122222121222122221111122112111111211111221211211221221112212211222112222221112211222112121222211121212111122211222122221212222121212211121111111112211212221221111222112211221112122212121212222222211122211121222212221112122112122211212122211112122212212212211212222121122121211112211112112211121112222122211121211212122111121221221112112211122212112221222221222221121222121122211211222221121212111221221221222122211222222121121111211121221122122221122112112112211111112111111211112122112112121112222111212122112121211121212112222211121111212121111122212112122111111211222121221212122222221122221121121122121212122122221221111222122212212211111121211122211121122111211221221111122222122122121222111222211212111112121222112222211211221122112221111111212111111212222121122222112222112222121111211221222211212111222111222112111112121211121112222211111222111221111121111212121111121212221111222221121221211122221121212211222122211122221212111112212112122111121221111222211211112222121222222222122111122121212212222111111122221221122212111222122121121221111222122222212212111111222211122212121111122211212111111121112112112111111111121112111112111222122121121112211112212122212221212121112112212212111122121122221221221222121121111112221222212222211111211211111221212222221221222112112122221211122111212111111211222221121222222221211222211212112211121112221111112212111111222112222122122122121222111221222211212212112111221122221211122212112222111211222112111222222122212211122112212121121221211211211222212122112212221211112211122222112122112212221122211112211211212111221222221121111222121212211121212222211221111221111212121222121222221222211112112221222112221221212122211221211122112122121121221122221222221221221121112121111222212221121212112221222211212121211121212121121222111221222222112222212222221112122112112211221121111122221212221211211112111111212211112212112111122121222122111212121112221112112122212122221222122122111121122111211121121112211121212221222212122122212121212222121222112111111122112122122212111222221212211112121211212222222221122222111122121122221112221221122211122112222211211222121122212121112221211122222121222112221112211121122212111121212222211111222221111111111122112221221122222111121222111212221211122111122221211122222222112211221111212212111111111121212111211211222221122222212222222112121111112221211221211112222122221111221212122121222112111121111112122111111111212122212122112111222211112212221211111122112211221121212112121111122211121121221122122111121111211121212222112222211221211121221211111112221121111112222212122122122122122121212221112122121221111121212211112122111222212122122112111221211222221212212112121212222121222221112211212211122211112211111211221112112212111221122222212121221122212122212212222112111212212112222112112222221211121112222211112122222111111212121112122221211212212211222221112212121222112121222221121212112221222122122211111122211211112221121212121212121121222211211122222221111212112221222221211121221222221122122222121122221211211122122122212121111122221112222121212221112221212212122222112212211211222212222112112222122222112212122122222112111111212112111222211122121222212211122221221221112211112111211121222211211212212121122121222122212112111112221211122222211112112122111111222222212112211211112112112111212212212111111121112121121121112212122211112112121122221112111211121221111222211212112122211112121222211121221222211122211221222212112111212122121211122221211212111212112111122221122111122121122111222221111112211121111211121112222112121121211121121211112111121111121212222121111221122111211212122211221121211121222111122211122122211122211212121221212121222121122212221112112112211122121221212222211221111112122121121211111212221112111122212212122212121212222222221221222122112112121211111221121111112121122212211112212111212112221121122112211121222211221112122112111112122221122211111212122121121222112221121112112122211111222222212222122121112222211122221222122121211121221121111222121212212121221221121212211121211111112112211121212211122222121222212211221212221111112121212211111122122212112222121222222122221112121111212112122211121111221121212121212121111122211121211112111112212122112211211221121111221211122222111112111221222121112221112121112112121221212121121122212111121122112212212122121222211111112221221211221221222212122221111211211121112212221212211122111122221111121121212221112211221112121222122121222211222212111212212221122121112222112122111122112222221221222222112222221111111221211111122212222212212212121121211222222222221222221122112212111121121221122121222222122212222111222112211122212111112222212112221122122222221212211121112211111112222211111222122212111121221121221122211112222212122111111122221211211211112112222212221222221122122212122221212122111212221221112121122121121222112122112212212222111221222111112212111121111111212221112111112212211112112112112122122212122222121121122212222212212211211211111122121112211112221112221111111122111212221121122121121222121111111122211121121111112111121212211112112112212222112112211211211122211111212112221112111222122221211121211121212112211112211221111222111221222121221112121121222211122112222222211211222212121121212112212111121122111121112212211222222222221212212211122112221222211222222112122211121111222211222122122121221122221221122111212221222112222111122121121222221121122121211112121221112212212121221221211112211221222121121222111222121111112212122122211212122121121121121112212221111122122111111111122111222122122112122121121121222112212121112211211211111212112211111122111221122122222212111122221211111121122222221221112112112211211222121111221212112212122122121111211111211111121112121111112122122111212222221122222211211211122212112212122222222212211122122122122221212222212211212111121112222122212122111121212211212221212212121211222111121212222111112221221111221222221211122211212211211212111122112122121111122212221211212112212112221122211222211222111112112112212121111221111122212212221111111222112212111211122211221111121111112121121221221211111121122222122122122122222112222211112222112212222211221212212211212122222212211222212111222222212212211112121211112121221121221222121222221112122122221211211212221212212111212222212122112222121222211212212112121211112111222222122122221122112221222111222111211121212122112111112111212211212221121122112211122122111222121221112212122121121211111112222122212111212212111212211221212211111122111221121212111221222122212121122112211221221221222211122212211211111111121122221112122221221122111212122221212222212111122212212112221121112221112111222211112121112212211222121122211121122222221122211112122211212121121112221212121121111211211112121212221221211112122112122122121212222122211122211211112221122122112121112212212122222212221112212211221212222212211121112212121222211211212112222121221211121212122112112112111112221121122122221122122112122112211222122121211221122222121212211222222222221112111222111122112122221222122112212222111212111111212112122211221111111221211222122112221122112212211222222221122212221222112121121212212111112211111122112221112121122112222211221121112122221111111122222212111121212221121221111222211212211111221111112212222121212111111222122212111111122212222211121122112211212211222112121212122112121112222221212122111212222121211111112211112221111212222111221121212111122111211212121122211122121121221221222122121211212221121121212212222212111112221221221121211121111221122112212211112112121211212112112121211212211222212212122122121121111112222212221122211121121121221111111121221121212111211121221221112221122221222212112111222222222121121212112222221111122211112221111122121111211122212121112112212211122121212121221122112212211122211212211221121222212122121212112111221122121212112211122121112111211211112122222222221212222111212121222211221212111221111112121121211222212112112222112212211122122211212212112222121121222221211111122111221112121112122111221121212212221112112211111211111122121121222222112122122112221211121122222221222222221111122122221112111212122222121121221121122212121121121112212121111221111122212221222112122211221112121122121111221111212112122221211122222122211122111112211121121221221221212111112112212212221222212222112211112121121122111122111221221211122121122121211211211122212222211211212221121122121121112122222222221112111111111222211211111112111221212211111121222122122122222111122111111121212121212212122112112221111121111212122212112212122212211212121212111112111111121111212221111221211211111121122221111122122222221222221122211111122221222212111222111122212221112211221221211222121221112211222111222212212211221222222212111121112222122221221121222212222212121111121122121111122211111111111212211211112211222112211211111121222121222212121111212212111212211221111121212112112122211111212222112111212112112221221111121222222122221121111122211112212221122122212111211121211221222111111211121122221112211222222221111221221121221121211111111212112212212211121111112122121122222121111212111112111122212111122112211212222121122211211222211122112212222211122212222211111112122211211121221221212121221212221112221222211122111211221212122211211211112212122222121212111211121212222112112222111222222112221212222211112221222112111211122212111222122211212211211222222111111211121112122222111111112112112121121121211222221122212212221122111111121111221112222112211211111212122111121121112221221211211121111112212111221221112112222121222221121211222212212122212222222222112212112221112212222222212122221212211221211221112221112121221211122122221211211122121222212211221122221111221221211121111211221112221112221221222221222122121122211222221112121211112221111211211221111111212121121221111122121222122211112212211221222121122112222122212122112221112122222121121212121112212112111122122212211211221222122111121222122122211212221111212211211112121221112211112222111112222211212112212222212111112221111212212222212222211211211121111211122211221122111222212212221121121211122111211112122211212111111221212222121212221121222121211122121212211211212221212211112121222122121221222111111112211211122111121122212211121221111111211112221112211212111112121221121112212222121222222111111212122111121211122211211121221112211221221122112211221112222211222221222122111222111221111122121221112112211221122221222122122122212222121221122122211212111122112212212212211212221221222211111122221122111111121221211211121211211222211211212221221122222212212211111222111111121211211221121211122212222112222221121212212222111222221211222111122212212112122121211212112121111221211211212222122122121112222212211121212211111221222212122211211112122121121122111112111112212212121211122212222221211122221122221121112211112221212121121121121111221122222112222222211211121221121121212122122122111222222221111121112222212212121122212122122112111112222221211211212221112222221112221212121111111112122121212111222122222212212221121222221121111121121211122211111111211112121112111212121221221212222221212221121211121212222112222121212121222112122212111122111221222222112221222121121121122111221222122122221121222211221112121122121112112212122211221121111112212212122121211211221212121222121112221112111121121111211111221121211112211112111212111112222211121121222212121221222122222122211212122221211221221222121111221211211121121122221211211121111112222211122111121121122211221112222121121212122211112212112211111222111122211221111122212122221111121111211212122111221122212212211122222212222222121111112222112121222121112211112111222211211211122112221222121212211111212222211222111212122111212211211221122211122212221111221121222121212121222111221222221112221211121212122121212112212121222122112112111112211211122222211111222122222122221111111221111111212111112111121111111212112111211111122112212121211211111221122111112222111212211212112122222222211112112211212112221122121121111211111212122112121221212212122222221212112212121211111222112121212121211211122212222212121121122211211122122222112122112212211112121222212222111221111211111212222222112111112121121111112221111112222122211112221212212221221112211212211222111222221212211222221111121222222111122221111212122122221212222221112122111121211111112121112112221112121212122122212212121212222212212222212121222221112221211222122122211211112212211111111211212221122211121222222221222222112121121211121112222112211222112211212111211121112222211112121222211221111222112212211222212122211111111121111112211211121211121111211212212111211221112112111221111112212111222212121212121221121211212122221222122212122121122111211221211112222122121222112221211221211121121212122222122112221112121221211222111111211221111122211112112212122212212111122122111221122211211121221221121211121111121221211122211222122122222112112111221212211122111111121122111111112211121222222121112121121121122212221121212212121212111211121211222211112111222112221212121211121221222121222212112212122122212222212112121212211112122211122121222211211212111112112222112112121121111212211212211221112221222211122211222121122211212222212111222211212112222122112121121112212112211212122212121221212211121121122222121112122122111212211121211121221211121112221211221111122121112112211122211121222122212211122121122111122221212111212212122122222122122112222111222112221111222112111112222112121222211112221211121122122221121222121121222121212212112112222111222212111212111212222221111111221221112112212111221221121222112212122121212121222121121121222211211222221221212222222112111111111121222211111221212112221121122122121212211212211211111111112221212221222111121212221212211122221212221221111212112222222111111211112122211122111112111221211212222121222222222112111222222221211111122121111212121212122121211221221211222211111112222221222211112121222121121111221221211211222221211211212121111211211222211222111121212121111221112122112112122212221222111111221111121122111212212121221111211112111212222111111212211121221212121111111111122112122212222122121121222112221212111221112121221112212122121221211211212221111221212221111211122222112222122221111122122111111212122211211112212112121221112221212122111222221111221212122122112222112111211222112211111111212121121122222221222222111121111112221111112211112221121111111121212111121221212121221111211111211121211212221121212222121211112221222221221121212212212122122122212112111222221122221222122222212112212122122222122222112222111111222122212211212121221122122221122111112112211122221121212211212221121222121211212112211111212112221222221111222211222111122112122212111121212122121221111121122221222222122111121212111211212221111212211121122122112121212121222122111112212121112111111211222212211122121122122212111122112221221221122122221122211211111212112111111211222222211212222111122122121122112111122112111211112122211111112221221212122121112122121111221111211121211121221212121111121111112221122112212122112221212122122211221121111222121221221221121111221222211111221221112222111111112111121222211211121112111222212112111111211211222121211121212222221222211211112111221111112212122211211212111112121222221122212121121211222212211221121221222111221212211122222211212211221211122121121121111122221222111222121212121111121112121211221222221112112112112221121112112122121212211222121211122211112212111111221221122222221212111121212211222121112121111112221212221212211121211121221122222211121111112112122222222121112221111111112121121111121221211222111211111121212221112222122211222122211211121122222122211222212112222222222121111121122212112222211212111121121221121122122111111121211222221121112112211211222222122212221222221112221212221112211222121212121111111211211221111111222121221212211222222111212112122222112121212212221222222111111222222122221221111111212121221211122211111112211112112221221112122211122121122211122222212212212112112121111221211211212121122211112121212212212111111112122121211222121222112111121221222222122112112222112222221211222112211121121222211122111212112221122112111112112212111111122121111121112122111111121212111221111111112121211121121112111112111221211221211211212212111111122211211122211121212221111222111122121112212111121112222121122111212211111122222212211122112211112111221222222211112111121211211221122112122122112211122222212211222222211222222221222222212122112122211111112212122212121122121222111111121112212112221111222121221112111222221212221212212112221121222222211222221222111221112222121112111121121212112112222211111111122112211122211122212122212212112211111212212212112112221221222121212222211212111212111112211211122211221221112221122111212122111112122121221222111112112212122221112121222112222122222112111212121222212211121222111122121121121222221212112211211122121121221222111212112121121111112222222221222111212121111221222122122211112111221211211221121211111111221212121212111221211211222221211111211112211122122111112211122212221111211112211121112212121122121222221211122112212121222122221122222112111212112211111211112112122211211121122221121222222221212221122221111221112112121211211112122221222211222222222222221112121122211222212222112212211121212111212111221212112111112211222122211212211221122122212112122112112221122121221212111221122112122211122121112212112122221222121111112111121112112211221121122112212211121112211111112111221221112221222121221222212221212222222212121111221222112222212121112122222212112211121112222121212121212211121222211222121111112221111221211212211222122111111222111211212222122211221111112211221121121122111212112122211112222221222112222221211221121121221211121112211121222211112121222221221221211111222212221121211112112222121221121222222112112222121211122222112122222122211111121112212222212222221221212222211221111121112222222121122112121222221112221221212212122222122122221122222111222212211222112122122122121122112222111112121212111221211222211122111111212122212211122121111211112212121112221222211112112121111221211221211212112121211111212222222212112221112112221221122111121121122221212212121112122121112211122122111112121222112222121112121222121221212122111222211222212221122122221222112222211212212112121122221112211121122211122111222112222112121121211221111212122212212222112121111212222112112222221111211112212222121212122111111111122112121211212222211221222222121112112122211212211112221121212211221212211222122211112222221121111221122221211122121222211111122112211221111211111212122112222211222211121222221121212211221112212222211112222212121122121211211211112111122211121111122121221122212211222121122122212221112122111222221221111121222111212222111121112221111221121112212222212111212212122211121211222212122122212121112121122112111221221111122122222121112222111211221212222111211112211221212121111222122122122121112122111211221211111212221211221121222112221111222221112112222221112111212212221121112112122111112211111222122112222211122222211211211211222112222211211221111112221112122111112111112122222111112121221112211221222221211211211212111122222121122222212112211211221111111221221211222122112121211211211122212121122222122112221121111111221112121122111212221112211122211122221122122112122112222212222222112222212211212112211122111221111121112122112211211212212112111222221221211112112211222221111212212212221212212222211222122211221112121122112112211121122122221211212222121122111111222112111112112121112222211221111122121211222222222211111221211112112112111212111221211221221222122221212122211222212212211122121211122111222121222122111121111212221121221212111211222211211212112212222212222121121211211212122122111111212212222122121111122212112212211221121122121221222112121221222122212211222211121112121111221121212122222122122111211111122111121222222221122212222222211111112121121112112211121112121112212111212122121121122212212221122121112222112122111122111222121222211211122222122121112211122221112212221112112112121221121221112121212222122122121111121211111122221111222121211111111222211212212112212122222211121112222121221222221122111111211212121122221122112222222221122211122122122211112111111111212121112222221111121111121111122122121212211221112111121122221111212222212111112211111112111221111111221121112211211111211212211212121211112121112212212112121111111221122221121212111112222222221122221122212212212121222222221212122212122111121221112211111111221212121222211212112211211111122212221211122111111122211121221112212211121221122211122112121212211112221211121221211212121122122121222221121221221222211121212112212212222221112221122211112221211212222111121211122212222111112121221222112222222212111122222222111111211111211222121222211111122221112211111221221222121122111222221121121122122211211211111221111111212211221122121212111111122222212122112121121212222112222211111122212112211212121121222221111211211212212112211221212221122111211211111111111221222121112211222121221122222221112111112121221222212222111221222211111222221111111222111112122222221122112212222221111122122222211211122211121122121212212122111112121222221112222211121212111211221212221121111111122222222212221122111211122112122212221111221221222221111211221222112111112211212112212222212111112211121112122212121122222212222111221122221211222222212221121111221211121122121222122111112112112121222211211122222112212212121221122222221222122221121222211112122222121222121112212112211212122221111112222212222112212222112111211121212211111122122111221111211111212222212211122212121121221121211222111112122122111112122221222212212122112222221122222122121221122122111211122221222121221121221221112122212121222121212222221211221211111222221211121222221122111122122122212211122222111121222212212221212122221211222111211112112122212112111112122112222222222122211111112122222221112222112211211221121121121111121222211211222221111122121122211211222221222112121112221121122111121221122221222122212222112111121211112212212122111122111222112211121112121121212121221111122111122122122211121212212212112222122122221212221212222212222211122212111121221222221121222112122222111112111211112221212211211122211121121221112212112212122212121112112211212212122222112111212122222211221111121212222112222211211222112221211121121111111112211112112111112221122212222122121112222121111121221122121111212221221111122122121212112121121121221111222112112222212111111121122221122122211112112222121212112112212122211211112111212212111211221212211221122211221111212111211212211111112221212121221222121112112121211212122211212122222122211221212121111121121111222122222112212222112112211111211221222222122221122112112121111222212121121211212111221112112211221221122121121212112111212211111212212112221212121211222222111222121221122222122122111112222112221121221212222222222121212212211112111212212222211111111212221221121121121211121222212122211222121111121211122222122112122211112212111211121112112211221122212222112121112211211122112211222112212222211222112211122112211111222122221212211222222121211112212222112211221122211111212211112222221112222222221112212222121112111122211121122212121112222122121122222112222112211111221112221122121111112111211121221211211122222122122121222122111122221221222221211221121221212112112211211112222122111122112222211112211122112221121222121211122222112112211211112121121122112221221222211111221122211212122212212221121212122212121222211122112212221112111212211111111211122112111121112211222122222112121212221122212221112211122112121212121212222121112111122212122211122111212112111222222212222112222212111112212222121121222111111212112221111212221111211111221111222211121112222221221121221112222211221221122122212112211211121121221122221111121121222211212112221222111122112112122221211112211221121121121212121212111111222111121111222212122121212222112212222122112121221212121211112112211221112122121111112221222121122122212222221112112121112211222112222122112221121122111221212122121222121212122111112122221122222112122211121121121211212222212222122212211112212122121221222112122122112211121121212212121222122221212112122112211222212221112111111122122221221221221212221112111222122212222121111122222111221112211121222221112212221122111222111212222122212121122212112112112111111211112121112111222212111112212222112112112111121112222221122212222222111212122222122221222122221111121211212112122111212112112112112222111211112222221211122111112211122212121121111221122122112211112211212112211211111112121122121222121211212212212122122111211111221121212111212222221121212122111221211212211111222222211221221122212121122222212221111221122222121211121212122111122221221112122222221111111222111111211211222221122211112211221112122212222221212111122222222221121111222221222221221222122112122121211122121222222222121122211212212221112111122121122111222121211112112122121112122221122222212112111222211112122121212122212212122122212112112121222221122222221121122111122111221212122122122111211221212121221222212121221221222111111222121211211121111211121212212121212221122112222222121211212222112212212222111122221111211211121222111212112112221211112112111212221111221221111111121121222112211111211211111211211112211121212121121212211111221112212121122111221222211222122221222211221111112122212112221111111211211211112221211211212221221111112211112211121222222221112212222112222122221221111122122212212212111112221222221221121212111211121112111211221212111111121112221211211211112221122122212212222212221221111221222111211212111222211111212212111212121122221221211111121221122212211222122222112222221122221222211112122211111121112222221221112112221211211111212222221121122211112111211112212212121222121111122212222221221222112212111111212121221221112122111122221122121122121121111111222121122212121211112111112112111121211121211211211121212222222211112112112221211111121221222122222212121111121221212122112122221122111212212211121112222122112111211221222112222221121222222222112122221111121112121221122122221222122221212112112211212211122121221122222122112222111222222122122122212211111112122212112211212122111111112222112111211222211111112221121111222112212212122211221211221121211111211222221121111111122222112211222222111111222112221111121221121211111111221212112211122222121121122211112121212211121111122112212121211112121222121112212122112212221222112111221112221111112221222111122111111121212221222211212211211112121211111112221121121122221122211122111121221211212212112111222222211211112121211112122222221112211121222121212211211212221211121122212221111111211222122212112111211222222111121221111111221211121121211111212211112222212111121222222111122212122111221212221112221121112121211222221111111122211212222211211112222122122112212212212211222222222112112221222121212221122222211111211122122221121221212211221111112212121112112111112111121111122112112111211221122211211212112222221211222121121211212112121212221211121222122112121211211121221111122212222121212121212121121211211211222211221111212121211212221222112112221122211211221112211221111211222212222111111221112212221112121121122211212111121211221111122211122122212121212112122221212122221222121212221121222122112122111111111121212211221221211222112221111221222222111221211112111222222112211112212122122111112211122111112121221112121222221121111211112222111112221122211221221111111212211221112112212211121212221122211121222121222221221111211222222121221211121211111122111222111111112221211221112212221121222112222121121221211121211122122221212222122212211211212222222121222122112112121121211121111122221221221112112222112222221212122222211222112221111111221111222212111211221212121212111112112221211221111212112112122112211212121122111221222221121221111122112212222111112212111122212121211212121112221222211222211221111211112111121121121122221221122212221222221222212211121221212111122121112111211221111211211122122211221111222221221122112112221121212111221122122212121212112212111212121112211122121112111122122221212111122121212211121122221121112212221211221221221221122222222121221211212212111212122222212111222212122222122122111222112212121221212122111112122211222221211212222112111211112121112221112111211221221221111211211121121122122122112122211222112111221211221212121122221212111121212221222122121222111121112122112111121211122122121112111211121221212121121122111121122212121112221122121122212111112111212112211111111212221122112111111211122122212112121121221211222112222221212112211121112212121211222112112122121112221121122121122111112211121211111111111221122211221212211122111221211121211121121222212111212221112222212112222212222111121121222222122121122212212111111222121111121112112222221112121111222111111212121121211111122111112212112221222111111111212121221122122222111212211111122121112112112211112121122212211222122112121212122111211111121211211121221121111222121212211211211122221121122221222212112222122222212211222122111122211112211122111112211221112211211122212222222122212212222122111121111212112121221211121221211121211212121212222111111212222212112221112211121222222112222111121211111112212111211122221122221212212122212121221112112222211222111221212111112121121211211121222122112222212112212121221121112212221221222121122221212121222212121121221211121212221112221212211211211222221222211212221211122221222221111222221122112111212122221122122212212221122122222112222222112212212222222221112122112222211112111121211122222212221221122212121122122121122212221121222222222122111111212111211122221111212222122221112121211222121111121121222222122212222222221111122112221122222222221221221112221212222121212212221211121111112121222112111121111211122122222121212122112111221122111122122222111221211221121111111212212211122222112221222112121111222222221121222212111212212122111222211121121122211221212211222122112112221211212122121112111222111222212221121112112111221121221212121212222222212221211211112112111122212222222222211222122221111111222221112112121112111111212112222212121221221222122122221112122112111221112121221112121121222122122122222122211122121121221221221211221212122112222111122222111212112112112222122121112121121221121122112211122221111111121122122121121222111111212221112221111112221221222212221221122212221211121212222222112112111212111122122112121121112212221222222212121212122212221121222122112121221211221112211112212212211212222111112212212111112222112212112121111121122122112222122112211221112112211221112221211111221211112121211121222211112221222112222212122221111222222212221212212112211121111122222212222112111222112221211121221111111111122122221221122111211122211121112211122121212112222112111121122122222111112111211121212212211121121121211121211212212212122211211112222222122212212121121121122212212111122211211212222211111212221111111211221121211221212111111112111122111111111211212112112121222111122122111221112212121121121211122112221122221122122222211211111112222111212122121221211111221121212112111112121222111121212212111211212122221221212212122212121122111221112211122111122112221222211211112222221122121121221112221111121222222111212112221211111112122111111211222122221122222122222122111211211221212212111221122221112221121122122222211211112122222211122222122111221112112211111112222212222111211122111111121221112112122111122212212122221222112222222212112222111211221112212211111111212211121122221112121121112222122112111111222112112212222212212122222221111122212121211221222112112122221121221211121221111112112121222112112221221212121221112222211211222112212122121122222122111121122111222111211121112222112211211222122211211221122111211121212112212222211211122212122222221121211121221212211211121221121221112111211111211221112122111222111111221222121212222221122221212111112221121111111222111122212212211112221211111221122121211222212122221221222122221122211122212111211222221111222121211212222122222121211122121212212211211122112222121222211121121212211222121112222112221211111112212111122211121121221111222111111122212111122221121222112121211221222121122211212121211122222212211222121222212221111111211211122111122122211212111122122112111121212121221221211112122112211112211221111111222211111222221121122211221212211222222211112112222112212111122112121121121211222221211211112112111211212111111111222222211212121212121212222222221222212211121222121212222212221121212112112122222212211112111122111212112212212121112222222212222121112222212122212122211221211112221211121211222221122111121111211121112122211112121121212121122112222222211222111211222112212212122111121212212221211121212221221212111112112122221221222111111122221222112111121222211122222111121212121122112221121221211111121112122211111212122212221111222222112121221112221212111212222122212211212111111121111211221211221211121211222111111221121212112121222112212121222121112122222211121212122122121122111221122221121122122221212112222221211122211222221111111112221122212121221221121221122211111211111111112112211121221211112112112211222212122222112221222121221111122211121112121212221211122211122221211112211112121221112121121222212222121122211121211222222111112122121222221112212221112111121212121122112111212112122111212211112212122111121122212212112111221111122222111221212211211121221112211212212212222212212111222221111211121212221221122222121112122221211122221121121121211211111121122111221111211222222122221122111211121122122111222211122211222221211112121111122121111121211121222122122111122112121222221122222221222222211211122212112222221112211221211212122122212212122111112121111112112211121111121111222121112221111122212122122222212122121111111111212221122211221111221111111111222221211212122221222111111212222121112212222111211111211221111111112111212122121211211112221222211222112122121112221121121121111211211222111121121212121112121112221212212122121111122121121222212111212122212121112212211122221212221112121121111222121112122212121222111212122122221112112122112112221122112122112121111212221121122222221122212121222212112221211112221111222221112222112111212112122112221112221221122122221212121122222121112211111221112222212112121111221111121111112122221212122122221222211111112122212222111221222121211211112222122221211111111112211221211212121221211212221122211111212121111111121112122211112112111111121221112112112111121111211222121222111121212212122112122212121222121121121121111122122121111212111121211112121222121121112122222111222122121121121111121221221222111222212212222221111122212112212111222212221122121122221121221212111212211112212112222221211121121222111222111121212222121212212221212122222211212212122211212222111211111121221112211212122211212211112222212112222211211221212112121112222222111121122112212121211111122111111211122222211211121211122212122221122121222221121112212211121211112222222211211221211112212122112122211111212221121121111121111211212222121222112122122212112212122212212221212111222112222121212121111222111111121111212222111222111122112111222112122111122112122112121212121111222111222121212112112212112211111221211221221222222211122211212222122122212121121112222212122122222111221221111122222212222112211111121121221211211111112222211121221121222122222121112122211222222122221212212111221221111111111111211112222211222112212112221112122111222211111122212222221111111112112221111112212211212222122112222111211112111112111221122211222221112211222212112222111221221121221221121222221112111112122212112112211122221111112221212122211212222211121211122221112222111122221111111212222122112222212121112222222212211111211121211122122122122122121111121122221112212221111212111122211111211111222111111222212221212111112211222221121112111221111211221122212212211222222221121211212211122112112121222111211212112221212112112121221222122112221122211122222211111122211212122121221121111211222211222211121221221111211221211221122111211112121122211122211121121121111211122221212111111221121222221111221212212111222212212212121112121122111111122112112212211221221121212221211121122212222122222222111122212221212112122122111122211212212112122222211222212221121112111121221222211212122211222111112211222121211221211212222212121121122112111221122122112122112212221212112121222221121221122112222222211222212212222212122211211122122111111221111211212211221111121111211222112222122212221112212121121111211221222222212122211222221222222121111122221121212221121222221111112221222221122221112121111211212222221222222212212121122211112211111122112112122222212211222111212111211122212221111122211121122111221122112111111111221111221111221111112212222121211122212211111111222211211112111111222111221221222111222112112221112122111212211211111122222212221112112112112221111122211222221111212111112111121111212121112212121122112211211211212212111221112212121221112111222221222112221112112212121111112221222221221222122122211212121221211121122221122111212122222221121121222211212221211211212122121122212121121121211121212221122121121112112222221221121221211221212111222221222121112112211211122212122112222112122121121221121112112111112221221211222122112221111121111121211121211211122211211211212122222121122221111211112112212212222122121111221211211111121221112121112212221221111121211222221221211112221211111122122122111121212111121112121111111111221121121122121212221211112212121212112211212221212212211111211211111212122111122212121112221211221212111111122122111211222222211211212121112121122212222112222122221112211122111112112221121211211122211112211121112212112211222121121222112211111211221211122121221212111111122112222221221212121111112121112112111121121111121211122112111121212221112212212222111212121122111111221122111211222222121112212222121222212212122121111212112211221222121111211122112212221212122222221121222122212122221112222112111122112121112212211111112122121111122111112122111121111221121122212212111112112221121122121111212122122121111122121212212221212222122221221121112221222212221121112211222121122211211221221212121121121221222212222122121222121221122111212212112212121121221121111211222122121222222122222221112121112121212211112122221221111221111122222222211121122122122112211112121122112221212122221221111121221122122111111222212222221121212221121121212212211211222212122111222112121212211121211221122122111221212112222221221221211121122112112221121211222121112122221122121111112122222221121221221112111211122211212122211122122112122222221122211221122112212121111122221221211121211112222212221121222211211111211221111111222122122221211212212211121121212212121221121121112112122122112112211121112121112212122121111111222211221211111211211221212211122212112212221211112122122221121221111211121221222212112212222122212112222121211221122112221111112121221211221211122111222212212221122111122221222112112122222111221221112121122121212121221122112121212222121221122211122211222111211121122121111122211221221221222122211211221121122212111222222212122212221111221121111222121122122112121121112121211221111221111112221212221111222212221111221211221211212211211121211211212221121211121122111221122212211212211222111222121121121111221222212212111112112111212211221121211112222222111211122211122121222211121122211222111212222212112122212221221111222221112112122111112122221222112121112121221222211112221121121221211212112122111221211112211121112211121111221121212222112111112111222111212111111221222111211122122111211122111211222111212111222111121111211122222221121222221221122112112121121111222122221211222121121112221122221112122121222121121122122221111212122121212222122222222122222122122121212122221221111212222111222112221111111211212212121122122211221212211221211211222122222221121211212111211111221111111211212111212211212112122111212221122112121221222212221212121112212122222211111111112211221211121212212222121111212112111111222222212212212222212122112112211221121121221112221121111211212112211222111111211221122211222221122222121121222112211211111122111122111111211121212212211211121112111122221212122112111112111222212222221121212122211111122111212111121211212221212112122111111212212221211221211222212222211221222221212112212211211211121111222111212221112122212111122112212122112211211211112222221111121121111211212222121222112211222121221121112222111121221112122222121121112112112212122122212121111121211212111212212112121221122212221111221221221211112122111112112221211222121111122111222221111211111111221121112221121212112121212222112121122121222122122212112112111121121112112211121212111212111211221121111222121122111222121121122121211121222112111222221221211221221112111222111221112221212221112212121212122221112121122122121121211122121121222111111122221222211121221222111211221221121222112111221221221212211112212212212112111222121111212212221122122111211222212111212122222111212121111111112211222111211211211111111111211122121112112212111112212122222122122121111221122111111112121122212221121211212221112221212221212212212211112211222212112112222212222111212221221221122212222221121112211221122211211211111211121122111121121111211112121111212211121122122121221222212111122211211111222212122212222112112111112121222121112221122121212122211211121211112212122211222121111121211112112121121212211121222121212221112211222121122112222122221122121121211211122222121121222111112111122211122111211121111112121212121222122121221122222211112211221221122221122112121112222222122122121112221112222112222222221111121111222122212112112221212122221111122212112212111222121121222222212221122221212211121222121121121111111221221112212222222122121211221121112222211112221111221211212211221222222111211211122221222111221211212212121211212211211111112111222122221111222211121211111121221121221212212211221211122211121221212211121112212212111121112111121112212221212111221211212221122121221212222122222211211122212211222211122121211212121211212211121112221111222112121222121111221222112121221112112111122111212111122122212112221221122122221122122221221222221221111221122112111111122222112112212112112121211222112222121221111121222212122221212122111222122121121112221221212212122111212112212212122212212121211122221112221121122222211122112222111222221221112122122122221122111211112212222112112212122211221111211112222222211212211222222222211122211122222112221111111211212211112212221111121122122212112121212111221221212212222111211121222212111121122122121222112221111221211222121121121121112122211111112221211122212122111222111111222121212121122122122112122212111112121221121212121212221212112122122222122211111111122222212211122221112222212211111222112212111222112112111221211122211122111211222112221112122212221212211221222211112122222211212121212121121111211122122211221222222112221212121122211222212122221112211222121122111222222112112221121112211211122121222222221222121121112111212112212121111211122212212122211111212222121212221122112122212122222211221222211221122112212212111222211111121211212112122212211222211211211112121222112221211112222221212221121212112212211222122122211221221122112222211111212221212121212121212222222122111221112222221222111211212212122212112211212212112121112222212222221122122112221112222122111122121121121222211222221112221112212111212112122111222212121122121112112221112111211221212221122122121211111121112221112112211111111111212111212111111221111221122222122212212222211221211222111211211212211221222112111211122121112111112122212222121211222211121121212111222121112111221221111121211212112221112222121221121111212221121121212121221212211121121112221211112121212122222112112111221211111112112122222111211122212221121112211121212122221111112121112121111112122222221111111122212212211122112222212222121121211122221221221112111122121222121112112111122222211222212222212122211211222222111121211111212211111211212122111222212211121221211121222212211122121112212121112112121122222121121112112212212121212222111221222222111111112222122222222221112212111212221122222121121111211222122212222221221211221121121221111221211112212221122222122212111221212111222112122112112221211211221211212221221212121221212221212122122122122111212221111222112121211222122112111112121112212211111222112221112112222112221222222211211122121211121211211221111112221122121222221111122121211212222121122112112112211111111222222112122122121211221212222112121222112112212221122112212121212222112211122112111222222122122111111122112211212121221211121122122211121212212222122121221111121211221122211111222121221221222122111122112221211112121211212122221111211112121221121212122121211121222211122121211122112212122211122211222112112212122112211112121112222112211121222221211221222121222112212122121121122122121122222122212212112122211221222222122121221221112111112112122121211121212111211212122112221111221121212211222212112121212211211211212122212212221211111122121112121111112211122221211111111222121122211211221212111221112122212212221222112211111122122121221122111212121112212222212111121211121211121222111222211111112221222222122212212211222211122111221112122112212112221111212212221221111221122121121121212111221111222121221111221111121212111112221222112211221112222112212111111121112121212121121221122212222212111111222112212222111222221121111211212121222111111121112221121211211222122221111111112211212211121121121121111222212112122211111221212111121121221212112222121212122222221221122112211111211122222112112212222122222121122212121112211212211211111211112212111112111212221222212212122211111221121212211121212211122122221111121122221211222221121211211212112221112211222212221221211212111121122111211121222111222211222221222121221111221211112212221111121212211212122211111221112212122211221211122122222122122222111222122122111221121212111212111111211112221112111222111211112121211111111221121211221121221122221212112121111111211211122112222212212111121112121111122212112112212212111211222111111121122111211122122121211121112121211212111112211221111112111112222212212211211222221212121212111211221222121221211121211212211112211222112221221222221121222121211121221111221121212222221112112211222222111112222221222212122221112212111212211221122211111212212111112211221222111122222211112122112111222121211211211121111121211221221122222221122222111222221121111111111111112212211122112122211221121221211221212222112222211221121221212121121121221121212112211212222211122121111221211121212111112222212211221212112211221112212121221211112221121211221221121212221221221212122111121111121111111122212111221122221121211121222211121221212211112122211122212111212211112122121111111222112122121212122121122222212211112221111122112121121222122212122112221121211212122122121212212221121111112222211122211111112222222212121121212221111211121221121212212111111212221212112222221112221212221111112221221111122211121122221221212222111222111211122212212212121212121121212222111121212212222211221121212121211222122121222221211222221222221112221211121211211112111211111211221211211221221211212212222212121212212222111111121211211111221112111222212112211221222122112122211211111112212111221121112122112112211212112111211221121112121111211122121111112122111122122122212112222121122221112211212211211111212112121112212221111112122222212222121121211111211112212221222121222122222112122121112222222122121112121211212221211212121111112122222222112222122121212122122111211212122112121111112122221112111221121211212111121111121112212222211212112111221212222111111112222122211112111221112222121112111212112112111211211111211222112111211222212121212111122111122211112212221222112211212121122112122112212122212221111111121222222122222222122221122222212222121222121222211122111221221221122121212211221221122122222222222112221211121121112121221111112212112211221222121121221221112221121122121212222111222121211122112112221221211112121121212222112221222211112122112221122221211121111221111221111211112122112212121122112121111212211211212121222221112222212222211121211212112112122111112221211121212221211211122122122122222122221122112211212121121112122122122222221222121212122212121111222221221212111221212221112112221111121121212211221211221212122112222112121112122222222212112211211112211212211222211211111121222221122111221111222221112111221212212121221211221221122211122221221211122122221222122111212221222111212121211112122122211222222222121221222122221111211212122121122211112112112121111111111211122111121221211122222221112212221122112222122212112111121122111211222121111121112121122122121212111122112222122222111221122212121221222122122222111122211212211111111121122211221122121111222212122222222112222112211212111112212111222122121122111122221121212111121112221111112221111122221112111122221222212112222111211121121221121211211212212221112222222211222211121212112222122222221222212111211122122122122111221222211112222122222211112221112222121112211212212112112221212122112111112121221212221112121221211121112121221222122111222222111122111112222211111222121111121111212111222112212111122221112111222221121222212211212112212211222212212222111121221122221212221212211211212211222212121121111112221212112221211221211212212121212112222212211112221111211122222211111221112211121212112122122111122222121121222122121222222221122121111121221211122212111112122112221221121212122111221211222211122111211121212222122211222122111111122211211111212211212221121121111212122111122121112221121122212221121221121121112121222121221121112222211222221212121121221111221121111122211211211122112122211111121221221122211111221122111211112122112211222221111112122212211111111112112122121121111212221111112121112111122212212122112222112212221121122222211112212222211212212111121121111112122111211112221211221111222212222122222122121221222211122211212211122221121211122212221221212122212212212121221111112222111222112221221122122222222111121121222122222121122222221221122211112122221121211222212121222221111111222221111122222122211122221112221122222121122212121112211121111211211211121211222211221122212212112221212111122212111122111112221221212221121211122222222122122221121111221211221222112221212211122212211112122121221122222121221111112212212112121121211122212222211122122212121211212111211121112111221222222122112112122121111121112222222112112121121222122111222212221212212111212221221221122112122122221212212211121221221111122111221222122222222111112221121222111112122221221211221211121111122122222112212211221111222221222111212222211212212121221122222211221111121122211211211112221222222222122122211222221212212222111111212221211122221112111211222221112222111212222122211112221221111111112211112211111211111121222122212221111122121122221112122111222211112112111121112122121222122112111211211212122211211122221212212112221111112111221222212112122212221121222121122212121211212222212122112122221111111221221222111122121211112121212121211211212221212112111112121112222222221121212212112121111111111121211112221221221211212221221121121112111212222122211221211221121222111111222121221222221111122111212211122122112212211112111121212212112122111211112121222111112222221212112122122112221221112121122222112212121212122211121111112122122212121121221211122222112212222121211221122121112112111211112111112111122211122111222121211111121222122221112221221211121211211222211112122121211111211212222211211111221221222122121222112111121121111211222112211112221112122121211121121121111111211211111221212122112111111221222212222111222211221212112112211222221112211221112212111221121221221222222222221111111112122111112212222111212222122111122111112111121121222212221211212111211112212122112211211121222121222211122122111112112212222111111222122221111121112212111111211111212121111121121211211111222112211112221122122121112121221212212222111222212111112211221212222121122221121121121111122111121221111122121212121111111221122211112112212112212122221122122221212222121221112221212222122211111211122122112111111211111212221121122121222111212121122112122211221122222122112221111221221121122111112222221211212122211222112222121111221122122222121122112221211222112121211211111121112211222221121212112111221121212222222212111122121122112211121211222112111221211222122111222121111121212222211211111121211222222222221211211211121211112222222222211212121211211212112111222111112212111211112121112112122112221121222112221222212221112121222111122222111212222112122211212121122212211111212112122122111111122211122111122121121222122211222121122211211111111222111211212112122222211222112211121222112111111221122211211222121121222112122221122212221121111211211211111211221211111221221222122112211121111221112122112121222112121222111122222121212211111212112222122121111112122121212222111122111221111221222122121111121211221112112211121111212221212212121221111222211112221222222221122121221112121111221121121222222122112122122221111112112111112211121121212211211121212112211111211222121221211222222112121122222221121122112111121121112221121221222122121112111122121111111122221122222222121112112112111211211222222111122111221212122222222111121112211122212122222111211212212111122212211212212122121221111112112112111112121111121221122221222221222122111222222211112111222111222211122112122122222222221112211111211121222112111222221222112222111221222222211121222121112122111211112111221221112111121112111121111221222121112221221211112211211211122121121112211222122121121111221221221212211212211122222212121112121221121112111121121121122222122122122111222111122112221222111211111212211212221111111112112122112212112212222211221121211222121221221121212112122212212111212122212221212211221121221222121122212121111211211112121221122111221111212221222211221222121211122222221111121222112121222211211122211222222221212222221122122211222111212112211122111221111221222121111112212112122112111211212111121222211222111122111212112122122121211222121122212112212222222111122222212122212121212211211211222221111122211111112221122221222121112112112122222111121211121122111222211212121122221122111121112112211211221121112221111221212121122112211112111111121212211222121211211221112122222211222211111112221121111121221221212222222221122122212111112211121111212222111221122221212222222122112112212222112212112212121212111222121111112121222211212121112222122222212122222212111222222222211221112112111211121111211122222212122111222212112121111212211221211211122221211221211211122111122211122111221121222211222211122221222121121112121111111121122211211112212111222211221111212211111111121112122122121121121222111122221111111121121211222112122211211121111212121212111111212111211222112111212221211121122212111211111121211212221212111122211111112112212111221212121121122122111111222211122121212221211122222222112221211122111112212112111111211212121211211111111122112112221112122222212212112122222221212211112222111112122122121211211111121111121221212122122112122122122112121221121111122122111222121212222212111222212222222121222111112111111211111211111122112122221212111122222212211112111212212111112122212121111111212221222121121222212221221122211222112221222212211211122122121122211111212112122112111122222111211111111111112211212122121122111112121222121112221212221111211121112111211212111111121221222222221112221121112111221211121122122122112111221212121221111121221121111112212122221211111221222122221112221221111121121211222212212212222111111211211122222222211121121221211212122112212221212112211211222212222122111221211211211111211111111122111221112111122112121112112221222121221221121211222222211212222222212122212111122212111222111211122122122121211221211111121112212122212212222221211222222121211212121121211122211222122212222211212121121112111111212222121112211112111111111221221211212111112222122121211122212222111121122221222221222121111111212222122111111112112122222211122111121222111211222111122112211222122221212121122212221122221121212211111122111111121112212212221212122111111211112122121222211112121211111221121122121122111111112211122111221112112212212211222212122111212212222121211121221221111121211121111211111221112221222122211221122221121211112211112111211121112112222112222122111221111222111222211211221121122111212211222221222212211122112222211112211211222111212212122222122111212121212222211121221111222222122112211222121211212222211221121212211121111122222221111112112212121111211221211112212212212211122212122222111112212122221222121121121222211111211112212212212122122121122222222212112211111221122222112111111111122221122211211122122111221211111222122112112122221212221111211112212221211122112112222111111211222111211212212122122122111211122221211121111221111111111122111112111211222211211221112221122212211211221212211121112221111221212121122212212211211122212222221122122112122111222221121111212212212222211211211212121112122121211122121112121221122221221121111122111121221222212211211211112111112221112221222222121122212122222212221222221121222111112221222122111221222112112121221121212211221221222212211112112221122211121211111122111111222212222111122122122222112112212112112212122122121111112212122121122221212112112122111122222121212121121212112221221121211111221112112212211122122112121112122111121211222112211221122221211211211111121222112122211112222222121222211222211122121112112122122111211111111112221221121222211222122211221111121211112111212111111122212122221121111112212211122111111111111221122221221221212221111121112122121212211112122222112211211112121121212111211211212122122111111222222222222111222211111211121122111121111121211112212211221211211221212211111221112112121111111211221211111111222111211111222212221112222221121212212121221221222112222121212221212212221111222221121122111212111212222122112121112112122111121221221112212122211211111111222111211111111112212121221221221222211221121221111121222111112122111111211122221121112112112221111221221112121221222221211112111222221212211211222121222212112111222221212111212111211112122212112122222211111111221112212222112212121122122112221212112112211212121221112112112112122221112121122222111112111111112222222111222212212211121111112222222222112212121122121221122121122211121111111221112121222122212111211112221122212222111212122122121112111221212112211221211212121121112212221222222211112221122211221121122222112111122222111122111121112222111111211121122121112111111212111221111211121121121111121112121212122121112212112211121211111211111222122211111121121121122221212111112221211211122221122212211221122212112212222221121122221111212221221212211111211211211121222211222212112211222212112121121222222221222222212211122211111211111121112122112212222111122211112221222112122222222121112212212122112111212121122111112221222221111121122222211122121122122211111111112122121121222211211221122122122222212112121211211222222112212222222121211112121222211111211212221122222222212211121111122212211121121122121212122111122121111121121221121221121211222212112212121112111222211122212221122222212122222121212221211122112112122121221221221212222222122112111122211211211212222121111122121122222111111112112121112212111111122111211222222211121122222211112212211212121111121111212122121212111221121112122211122111222122111122112222212222111122222212111212222111122111221222221111111112122222222222222121122221221221211112112222111212211212221211222121122211211122212212221111111211222212121221212221111212111112112222122221121212222111212111111212222122121222222221212121211112122122112121222111211211221111212212211112222121122212221211111221212122122211121211122222221111212122222211221212211122211212222211211221112211121222112111211222222221211222212222121111222211222212111121212212121122221212222212122212111121211122222121112221111111222122112212121121121212122112221112122221211211221121211211111211122222112112221122112221122111221122211222211221121121122121111221212221112222211211212211221111222221212122121212222212221221111211212111111112112122111122212111122211112212222212222222111112112122112111122111112121211211122222212122121111211111122221222212212211112221121212122212221121212221122122211122121221222211211111122222211221122212211122121222121111122111222211211111122212212111111111211122112122122211221221121221122211122211121211212211112211212211212222122122112112222112211112211122111222221121112121122111111112111212212121121122222111112111112221122112211112111221112111112212122111121122221212221211111212122212121211111211111221221222212121112221122221112221211212121121112122112112212212211212121221212212111222222221212111221211111121122112122221112111122112212112122212121222211111211221112211122222122222222121222222121122111211212222111121221111221112111122121121122111111222221111121121112211221221221212122112122212221212211122112122122221112221121212121222221122121111111212212122112222112222212112121212211112212112211212122112112111212122111222221121221211111212111111111111221111111221111211221212222121111122211221222221111212122112211211112212122121211111122112111112121221122221122222111212121111211111212111211121211222211121111212212111112122121222121212221122121221122111112122212112121211222121112211212121122122211222121211111212222122211211221211211221221212211112211221221221111212212221222212121112112122221212122122111122111221211221112112112212221211211221121221222111212121111221211111211121222112111221121112212112212111221222222222122111121221111121211121221122121212212212121222211122222211211212112222112211122111121111111111121212111121111221211211112112212111221112211221112211211121121212122111122112212112211212112112212221222222211211222121212122221122221212211211112111222222111212111222112222121212122122212211112111122221122211211122221111211212121211112222111212211221111211122112222221221222212112112212112221111112122221111111212212121122222211211211211111221222222211212221111221212122111121122112121222112122122111112222111121111111121222212122111112112112121222122212112121112111221122112212212121122121211212121222212111111122222221212121122211221221211211212111222212121212122212121111111112222221122221112111111122111111222212112112221221122111212112222111111212112221211211121122121112111111222121112221121121221222212121211222222122122221121212211212112221211222212121212221122111221222112221111111111212222211111221211112112211111121121212211221112211212222112212121222111221111211122221111111112111212221222121212111221212111112221121221112122112212221211111212221222221222221211221221111211221112222121111211222111111211112122121111112221121212122211112122221222222121212222222112121212221222222112112211111222211222122112111112211111212222111221221122212111212121111122122222121122222212121112122212111121212111121121212111121121211122111211111211121121222212211221221111121221221111111212221122111112212221122122122111221122121112211212121111212121111111122222112221222111212222121111212122111112122221121222111212122211212221212222221121121222122111221222212111211211211122221112212221111222212122211112221221222121212111112221122111121222222211211121111111122111111112211122111222121111211212222121211211111221212122221121121111221112111211222112222122221212121111122111212111112111222122112221211212222122121211111121211111212122221211112211111221111122111211121211122122121122121112112122212122212211211221211211121111221112121222221122222222221112121121222212121122122212212122221111111122221111222121121111212222111122121212222111222222122221111122121122221122221121111112222222211111122112212222111222111121212121121121121111111122121112122221111222212222111112121211111211121112121122212122222121121221121211222211211221111121122211121222112221112211121211211212121121122112221112121112212221121122112212111212211121112111222221112211211122222121212121212111221112211111122111221211121211121212221112122221122211221122212211212212212221222122112111122221221111211222122222212111212121212221122211111222222222212112121111221122121122221112111212121221112221221111221121111122111111222111112211111222222211221221111212221122121211212222221112122221211222222222211122221221212212122221212211112121121222112121222112111122112111222211212111211121112221122111122221212111121121221111111222211122212222112212122122122122122122122221111112222111112212111121212212212111221222112222211111111211111122221112121211121122121111122121121121111112222112221112122221212122112211111121112221222112122111121211222122211222121122212211221111121122112122211211121122112212212121222122112121212121221211222221221121211211211222112111122222221212122112122212212211112122211222112122221222121121221122111221221222112221122112111112212111122111112212121221122212111111211121212222112122222222111211112212121112222222221221212212211222122212111112222111211112112211221112111121111122112111212111211222221121212212122211212122111111112221222121111121211212111221112212222111212111112122111121222212111112211212111121221112121111121222121121221222222122222221112112112222122221221222122122222121122221211111211122121121122221222121111212211112112112212111221222122221121112112111122112212211212221122221221221222211211222122211111112111111111222121212122212212221111112112211221122212111121121221211121121211212122122221212122111121122121221222112212222212121112212212221122121221112222212212122221111222112111222121221121211212112222212211221122212212111112122222112121222112111112211121111121221111112222222212212222222221211222222111221211121212222221221111111122211221211222111211111211121121222211111112222212212211221122221212122211122112122122122211112212211121121221122111112122221121211121212212211121121111211122121211211122212211222212111111221111121222212222221112221222111221212122212121121211211221122111211111211122111111111121121122112212121111212211112111211111221121111212211112122221222121222212221211221122122221212211222122211212122122122111121221222122222121211212112211222121211111212222212121211121222212112222112212211111111212122212211111211222222122111112222111111211211122221211111121211121221122221122222121121212121211212222222222122212111111212112122112211111121221112111121121112211122122112222212221122222221112112121212221122121111111111112211211212111221212221122212212212222211222122222222221121221211222111211112111121122222212121122121221221221211111122221211112222212122121211111212121222111122122212212221122112122212121112221221211121122222212112122122222222212122111112212121221222222211222112222121211112121222121112212112222222221122211112121222221211111121211212222121222111121211211212112121212122212122211221122111222211222112122111121222211111112211211212221212212212221212111212211211122121121122212121211211222121212212222122111122222112221221211211221121111221122211211121121211111121221121221221222222221211112211222212221212122222111121212212212111211111212121111212222121221211112121111122111122111121212121211211112211122222112121111212112122211111122212121121121112222122111222112222222212112111222211111112212122122221211211222221211122112221221111122111221112212211221221211211112221222211211111221212221222222112112121211111112221121211121112212211121221222221222121212222212111111122211222222221221121122111211111112211212222111211222221122121112222221221111222221112112121122222211221212111112111122112212221212111111121121222122211122212211221121221221111211112211111111221111222212212111221211211211111111111212212211122121111121222121122221222112212121111222221221122121221212111121111222212122221112211212111111121221211112121221122121111222122211221212112211112211211121121122122222111222222111121111212112121211121112222211121212111211212221211112221122111111212111112222221112112111211211222222112211221122212211221212121212122222212222122222112112212122121111221211212111112212221221212122112211211222112211221122221212111211221222112222221111112222111111222122211122112222222222211111111112221221221121122221211112121212121112122122121222112121222221211111212211122121211222111111222121211122211221122122112112111222211222212212221211112121111212121222212222112212111222211121212112221122221112222222211111211222112222111122121122211122112111222211222221222112122112211111221111222112112122212112222221111211111111211112121221111122222111121212211221222221121111221222112222222121211112221111122112121222112222221111121211221212122212121112211222121112221211222221212212121212211211212221222112122112221121212222221221221221212222121222221222111122121122111212121121122221112221221121211212111211111111121121112122212111121211122222112121122122111212212111111111211222221211212212122121212121121121121121122112211111112212112111122121222121212212121221211211111222211111111211111221221222212121122211122221122221121212122121112212212121222221212121121221111221122212211121222221221122211221121111112222111212112222122111121221121122111221111122111111212111112222112221221122211211212121112121221211121221211112111112122112211222112212221212221221212121121211212111121211121212122122222121212222212111212211212222222221112111111111211211111212221122111112112121212121212212112222222121211211111112121112121212222221112211121111111121212222211212121122121112212222122112212212112212121221212111212212222222111111212212111221112221211121122111121111121112122211111221111212222112222121212122212221211122112221221112221211212222221211121112222212221122111112221211222212221122121222121122221222221111111122222211212111112122221111212112122211212122121211212111211111221112122111111121112111211221222221122121122221112211121221222222122212112222221222211211111212121211112111111122112121212111211112221121221211212112122121222212112111111222112221222111111111112211121212121221211212212121211112122122122221111111212212211212122211121122111211121122121112222221121112211222222222212122212112222212122121121112221112212222121121121212121222221111111112211222122111111222222221112222112212121122221121121121212211111121111111122111211212112211112221211112212111111121121122112222222222121112122112212112121122121221222221112121111222112222111212112122121222212222111111211221222211122212112211221122122221222221222222112122211211111112112122212212111111121211122211211211121212221121121221221111221212121211212112212211121211221122212122211222111111221211212211221212122122111112211122121222122211212111112121222121221122121112222122222122211222211222112212112111222111121112212222221211112211211111212212121222221111112222122121222211222121221122112212221112221221222211211211211211212122212112112221222112212122111122212221211221111111122122122112122211212211221112121112112211112221122111122221121122221111111122222111222111221121211222122122121121122221211111121111121122212222121122111112211222212122212122212222222111121222211121221121222212121122212212112222122112122122122112111212121211111212112222112222212121112122112212122222121222121211211212121122221122212211121122111111212222221112211122222212111122112121211211211112121111212222221212211212222212111121211122221112211211222222111222222111111222112111222122211112222222212112222122111122112112211112222211211222211121111112221112211121222221212212122112221221111111221112111211112222122122221122212121121121121121121221112121121112211121121112111211222222212211121211212122122211122211222112212121222212221111211122121211221121211221221121222212112112211212111122212121212111212211112122211212111211221221221112222122112212222211111111112211121211122222112211211121111121121111112212211212121221222111111222111111112121112122211221222111222122121221222122121221122211121122111212221222111121121212221111112211121222111221111211222222212111111121212211122112211222111112122221221111112111222221212122111221121211112211111112121122221122212211212212122211112112212111122122211122122111121221112221112212111111121122122211111222211211211212112112111211222121211111122122222111222121111111211122222112112211221112111211222222121222221112111212112222211212221112122221112211112122121211212211111121211112111221122122212121211211112121221112212122222122111222211122222211112221221111222112221122211112121212211212211111222122111122222221112211222112212212111121112112211112121211121212121211222211222211112111222222221121112111212222112212211122112111221111121221211122121121211112121222222122121221121111122121212111122111121222111222112212121112112112222112112112212212212221111212122212212121112121212122112112121221212121211121112121212221112212221122222122222121221221211222222222111112211222112212121212112121121121111121212121112222111121221121111211222222112121112211112112211222221212121122222222211111211122212112211111112222222222221111212121222211111122212112112111122112111212122122222122121222111222222121111122222112111111121112112221212112121222221112221222122221222111222112211111112112121212222122222121212212121122121122222112122211122112112121112212222121212211212111111221111111112122122212111211211212121212122111222212111212121222121212212112121221211111122211222112111111222212211111211121112121122112221212122221121221221112122121112121211121222221122112122212112212112112211222122212112112211121121212112222212221122111112222122122211221122111111211221221211112212212212212121112121121121211211222222211222211222121221122111111222212121211112122121221121112222112121212112122111112112222222112222222222221221221212211221121121112211122112121121222211111222211112212121121121222121111212212111121221121211211111221212122221221221212121111121112112212211112111122211211211211211222122122111122212221111122222212122122122111111111222112111111211222212212122111122122111211111121111222221211211122111121222211211212221222121111121222111222111222211212221211212111211111111122111112222121111112222211221111212212222122211222211212221211111111122221212111212212112112121222121222211221121221222221212122221111221121212112222112222122111111212221111222221112221111211111222122111212211212212212112211221121121212221212112121112222222211122211222211112122211122121211212212112112211111112112122212211122222121222112211122111121122221212221111122122112211222211212222112111211121121121212112122121122122212221121212122212222212111222121122212112221111211221222212221212211212211212121212111111121211112111211111221222222122122221112112221222112222211221121211221211211212111212111211111221212112111112211112222111121112221122121212222122121211121212122112121112121111112222211222111111122212212112211221111221122122111211222221112222122111211211112211112221211121211111211222122211121112221112222111112111212122221221111212122112122111221211111222112221122211121121211112222122112111111222112222211221222221221112222111221221212221111211111222122121211222222222211221112222121211212212122112122121222112111111122111112222221212222222121111111212212111111212121212212112112122222121111122212112222221212122111222222111211212122212111222221121122121122212221222211121212221112211211221111122222122122221111122212211121121212111112212212211122211111212122122211111222222111122221111211222221211112222112211211212111211211122122112221122221211122211212112111212212221221112112112222211222112122112112122212222221122221121122111212212111211212221121212122222121112212121111111122112111111221121222211122112112221221211212211122212221112222211211111221111122212211122112221122111211112221211221121112111222122212111121122211112222111111111222112121222211212211112111212212111212221122122111222212222121211121122222122121111212222112112121221212222112112112222222111221221122222122221222121222112122112121121122222111121211121211111222121222112111112111111222221122111111221222222222221111211221112222211222212222112212221221212222221122121221221222221222211222111121112212211222112121212211122212222122212222212211212211122122112212221121221212211121212122221111211122121121111112121122111121211221111211111112111212212222111221211221212212121222122211112112222212121112211221112121221222122221111111211211211222222121111122111111122211212211222122211122221221222121121112121222112212112222112221221212122221111211211222112111212122221212111221111121112211211221111112111111221112211122121121121112212122221121221121122111112222221112211211221121222222111222122211212211121121212211212122222211211112121122222111222111112112122221111112222221211221122221112112212111221221121111112111211222121221112122121112222222221111211211111111221111222122121111221221221211121111212112112211211122122211122112122211121211221221111221212222222121221212211221212221222211212122222212121221112222212222222221211122222222221112222211121221222111211121212111112122111112122112221111211212112211221111222222122112212111112111112222111122222221121121222221222112121222121111121112111121222222111111121112222121212222111122122111111121111112212221221222211221221222112122111221212211122211222221211111222112111211122111222212222111121112112221112222222121221121112221212122112212112211111121112111221212212112211121212222221211111222222122122222111111211221122222122222212112111112111221221121211112111211222122221211121121111222222111212111211212122212211112211111212122212211122112112221122111121122121112112221212211111121112112222212222112221222212222221112211111121111212212212211211221122112222221122121111212112212121221122212111112222221122121122212112222222112212221121121112111111211211111221221121111212122112112112222211121222121111212122212111121112121121222211222121111211112221122222212121211211112212221222112121211121221112121211112122222222222122221212211121212121111121122112222211112211222222111212212221112112121121111111211212212212212122221121122211111221121212222211122112112211212221121221221221212111122111122222221121211211212222211112221111211112112221221221112111222112122212222122222221111121122212121222212112212212112211112211112222121111222222121121221121121121221221222212111211221221212111222222211211111221112212121211121111121111211222111112212211112122121121211221111121212212211121121112111221112212222121211112221121222111122122222212221122112111212221211212211122121212211212212222211212212122222121212122111122112121222221211211221122121212111121111121112112121211112112121112211112112222212212111222121111211211211222111122221211222222221111111121121211122122112221122112211121121211222111112221222122122222111212212112212221112212112212212122112222211211122112222222222212122111122112121121111122122212212221211122221211122122211112121122211211211221212211222212221122112122111221221212121222212112212221222212121222222221121221112221122221212221222212121211212112211122121121111122122221222211122221211122122112112121211111112111122111221221211222111121112221212221222211112121222222112111112121211212122211111211221111112121221111111112221121221121121211211211112212222212121121221112121112221212121211222222111221112222122122122221122112122221121111122121122112221122211211112212211122121121211212111221122211112121122211221221221112122112112112221211211122212222121222121211111221211212212111111111111111222122212222122122222121221121222211112212212121222121112211121212112121121121122122211111112222122111112222212122211121221112212222212122222122221122111212111111122121211221111222222112212212212222121121122111211112112211211221111222121211122222212212121221222211211211211111222211112211221212122122221112211111112222221221121221111111122111112122122212111212211111111211112211111211222112212112122212212212221111221212221221211212211211111111211222111111221121212111112211221122222211222221212221212112221221112222221222112111211211122112111112222221112212221111122121222111221122221222122112221222222112112122121222112222222111121221121221212212211212211111211112121211221111122111111121111121121112212211111111221222212211112111222222121222121122121221121112221221211112111121212212212112111222122122211122111111111122212222211212212221122212111121121211222211221112221122221121212222121211222212122211211212221112121211122222111112222122122121222122122121222222211112121112121121212121112211112212221221212211122221112221121112212222212112222122121122222112221212222222121211222221212121122122211121212122112222121111221112222212111121111111122212212111221222122122111222211111121211212122211121212222221112122212222122211111121112122222222121211212112112212212212112111212122212212222222212121212112121221122211111212221112111212222212122211221122111212111212121211212211221221211121111122221212112211122111212221112211121222121121112121122112211121221211221212212212211121111211221111112222122222221112222122112112111222212221122111121111212221221221211121122222111111221221221122121112222221221211212121211111112211222111221221111222212211121222212221221211211122221122111212222221112212212121222111212211212121211211111111212221221222221222121111222212122112211221122212111211121221111121112212212122212121111122211121122221221211221121221221112222211111212212221121111211221211121122121221221221222111122121111111112222222122112221112222121122122122121211221121222221212121221222112111221212112212122221122111112112122212122122221122211122211122211121221111221112211122222211212221121212211221222121212121211122221212222221221122111221121222111112112122211112112221212212211211222221111212112222211221211111122112211221212222111221211221212222221221211221221221211221222111222112112222212111121211122122111212112122212212211111211222222211211122111111112222121111121221211111122112121121212121222222112212221211112221121111111112211212112121112211122111222121222112111112222211221211112221112112112212211222212111212212221212212221211111111121111112221212212112121112112222112222222111121211112222111111122211111111121122111222211211121212111221222221212212212212122221212221111222112212111122222112121112222212122211222121121222122222121122211212221112221122211212222111222122212112222222221211111121212211111121122112122121222122222212122222212211122121122122211221221211212122221212221212211212121111111121121221121122211121122122111111122122112122212212211122122122221222122212212222212222211221122212212122212212112121111111121211122121222212122221212221212221121112211121112212221222212122211121211111111122211211212122122222121212122211211122111122112112211212211212122111222111222221211122112211121112221211212211222212111222212212111122211222112122211212111122212212121111221221112111111222211212212111221221121121211221111122211111222111221121111112122111222212221211111112121212121212222121111121121222221121222121122122111211111122221122111122222112221122212112112122111222112121221122111111212111122121211212211211112221111112121121211121121122122121211211121121121112221111122111112212121112122111121111212222222222221222212221112212112222122222211222222221211212122122211211112121121111111111211211121112112121212221121111222111121121212222122112112112121211112112121221222211221221111122122112112121111122211121112221222111222212122111121221222221221222112221111122221222222121112222212111222122212211112212122221112122212221122121111222222222121212121212221222111122211222122211222211221211111222221222112121111112122221212112111211121122222111112111212121112122221222111111221121221111211221112112221122211111221121221121221111221121222211112212212222121222112212111222211221221222122222121112122122121111122122221221212221122222221211112111211222122212212111122121112111122122111221122212211111222112212121111221222111122122211122211111122111121122221221121121211211211211212111221222222222212221221121212111121121111221111122222221221122112111212122212112111122111111122121112121121112222121122211111211121121121221211111122212212211111122112121111112211222111121211212111222221212111222221222122211121222211212112211212111112111111121122211121121212221121122121122122211222222222221121112211111212111121111212212121222221212111211221222121122211212111122222212222211212222212222121111221121211221211112111122221112122112111211212221112222221112112221221222222122211121112221222211212111211112211221111112111221211121112112212212222211221122122121222221211221111122222211212211222221211221112211121122121211112111112112122121112222122122112121112221222222121122211211112212222121112122211122212122222111111211121121222122212221211221112222211111222121121122122111111212121122211221121212211211122212111221222111211112121111112121212222221122211212212211222122121222221111221121221121221121221212112111111212222221121212212121211112212212211222122121211112222212222221212212111222112211221221222212222111122211211122111222221221221111211111121111222121112112221111122122112112221221211122111122122122221222122112111112111211111112222111222222122211222111212111222121212221221222121222222211111222222121122212221121211122221112112112212221221111121211122111222221112222111122111221112122212221111222122212122212222111222221121211121121121121111211112222122121112122212111212222212221121221222221112221222221111221122121221111222221111122212211122111211211121111122221221111222221112212212212112212122112212222121211112211222122211112111121221122122212111122222211121212211111211222222111211222112211211222211221212212221212211221112222222121221222111122211121122111122122212122222111122211211111111112212221222222111112221112122122222121211112122111212111111121222221121222121211211222112212112221121221112111122211211111212112112211122221221222211111111221221112221112211112112211222112122211122121122121212222212121212122222111111221221122112111111112212122211111112122112112112112111212112212222211211211221222222221121222122111222121121222112211112212221112112221112111122121222122122222111212212112212112212212112221221122122111212221122112211211222121112221111112122221122122112211221211111222111211122112121122211121212112121211212121112222112211111212212122121112222111122121121211221212111121222121122211111221122212211122121212221221112111121112212222211212211222122211112111121111112211222111212212111122211211212212111122212212122212222122111221111212222212121212121221212222121221112221121122112221112222211112122222221221221222211111221122121212222121221111222112212121221221111112112111212222221212111211212212122222221121122222221121111111221221122212121211211212212222212121212221211121112122112111212121211221221122112111121112212221211222212121112222212221212221221111211221212211121121221122122212111112111122111212122112122111211221111212212121122222211212222121111121112121111111111121112212222211122212122211222222111211122221222221111222222222212222211211112121111121121112212112221222111211222212112222212121212121111121122221122122221222112211222222222221211112211211121121222222211112121121121111122222221211211221122212212211222212121111121221111121121212112222221211111211112212112212212121122111222121222122212111122222221222221121122222121211112212111211121221121212121121111211211211111122211212212212111121211111211112222211212122111212112211122221221221211211122222222222121112121122212122111212112222212121222211221111212222112222221112111211111222112122122121122221122211211122212122122121111221112112211222111211211112211221122222221112112222212212212122111212212112112211222222221111212212111211211112111112111121122212221122212221122111221221222112111111221121121221111222212122121112221122222111212211222211112222122211222221211122222112121122121222121121122222221211122121212212122111222222112212222221221122212221111112211111121221212212211222121212211212222211212122212221212122112211211221211112221111111122211112222211212121221112121221121111111221121122122111211121222222112221112222112222122122121121121111111122221212212212111122221111112221222211212212222112212121211221211111212221211112222122221211211212122211112122111221222211112211211222111212121211211221212222221122121211212221121222111111221222112121212221222211122111212122111112221111121121112122212212121222111221121222212122111211112121121122221211211112211211222122212111121122111111121222112212112112211111111221211112222122122111212111212112222211122122222222211122212111211221211122211121121211222212111222211111122221122212221112212221221122112112122122222221212221211221122111122121221122112212221221221222122212221221211211222221222111211212112211221221212222221212111122211212211122211121111122222212211121212111222122211222212222112222121222112122211221211211221221212122222212122112121222112221211211221111111112111112222121222212211221122121112222111111222222212222112212222212122122212121111112111212212112122221212211222121211122122122212112112112212211112112221111212222111121121111221122122112112222221112221121221111211212122112111212211121222221221221212212111112221212211212121222121222122121112122121111121221212121221211212122222121112112121212221121122211122212211112211212122111121112222222212111221222212212122122221121211121111122212111221222121111112111211212211111221222122121111222111212211122221212111212122211111221212222212222222111111212121111112221211222211111221121211111222221212111122111111112121111111111121112111111222211221121222211111211211112211121111121121212112222112111112211211122222221211211122211211112221112211122122112212212212121122112211112122112112111122212211122112111221122221121122112221211122122211121111211111212121111221112111112221122121222222222122211212121211221211122222121122122111112222221122222211212212212122222211112122211211221112112221221122211221112211121221111211212221112122211111112112112121122222221112222212112111221122212121221121222111212112212222111111222121122121121222222211111122112212122222112211221211112222211212112221112112111212212222221112212221122221212221111221211211212121212121112211122222212222111221211121121122112122111112111211111222211121121111121111211222111121112212211221122212121111221111221122112212222111211222212112222221211121111211121121211211221121222111122211121221211112112222121221212222112212122211222222222222111211221112121122211112211221212222111112121112212112111121211112121122212222212112221211222221122121112122112112122112121122211112111122111212222111221122122122221222222121222112222212211211211121122121121211212121122121121122112121122212121221112221221122112211221222112121211222222122211122221122222211222112121111211222222112222111112122222212211221111112222212212122122221122212121121212212112211221111212212212222112211212212121222112111211112212122121212121211222221222111212122111222121111222222111222112222121112221121212112111111212221211221221122112211122211221212221211121211222221122111111221121222211112211212212211121122122222212121121121122221122222211121222221111111212221111211121212212111112212111212122122112121112122222222122111211111211122112212212212111222212121111221212112122112121111121211111222112211121212222112112221222111222122211221111211121211111221121122212111112221121112112212222221111111112111221222122111112222121112211222222121111111121121212122122111111222212222122212221122111222212111212122111121112121112111222112222222112221121211121112211121211112122221212111211111112122221122222111211112222121121112211111112121112211112222112122111211222221221222122221121121111222112122222122212211122221121211111221221112222221212222221111111221212212212221221121212211122111111222212212121212111211221221222211122112111112221122212122211122121212222221122211111121221221111211221122122221221121111212211222112111111212121212222211221122221122221211222112122221122121111111221221112221111212211222221211212222112211121121221122121122222111111221112111111112122111212222212211112212221122112112211121212211222122121222212211112221211212211122221211222111111212111121221121221112211222122211212121112122221211111222211122222121122222122122222221222211212122122111221221221112212212222212221222212212122221212221112212121212212122121112221122112221211211111112112122121222222112211211211121111111211221121121121221211112211112221222212121221111221121121221211111212211221221211111122221121112111211212212222122211222212221122221112122111211212221112121211121222212212221122122111122211111111111222211221211122211122122121221112211211121212122212122211222111212222211212121212212121212121211212222211212222222212221211112112111111112212112112211121221111111122122222221211212211211121122222212212221111121221212112122121212122222211111222222112121121112122212121112222112221212222221112222121112111222112212112111121121211211221221111112122111121111221112122212111212112112111122112212211222111212212212222221121112221111111211211112221111112222222222121221211211111212112122121121111221211211111212121222112121221111122211222222111222122211121221212112122222222212211111112122112122121212112221111111112222111221221111122112121211212221111112222122211122121221112212212122122211222221222121111122112212111211211112212211222121112222121112112121212111111111111112111221111212221211221122222212111111222121211212221221111211111222112121222111122221121222112112222122211111212112112112111211121122222111222222211111111211212221121211221122212111111111221221121111112222111222112211212222111112222221222212221121222112121111122112222111212121221211122121212212211122221121222212221122212212112121212122112222122111222221122111112121121212212112122121111211121112221112212211211112212212211212121211221122221112111121122222211121111121222121112121211121221122122121212222122121122222212222222221112222111212211221111222121111122122222122211121222112111111112211112221111122122122121212121112112112211111122111122111112111222212111121112221122112121122212212211112122212122112122211111122222212221112112222212222221211112111122221212121221122111221121121211221111221221112122221111221112112212211112222211211221212221212111212212212221211222112121112122122112212122221122221111212112222212122121111122122221122222111112112122222122211222112212212122221222212112112111211122212221212221222112222121122112122222122212212211211112122122222222121122121221211222211121221221221111122222121111211222221222121222122111211211211121112211222112212212211212212212212221222211121211222212212111111222111121122121212212221112121122222222112212112122211122121221221122222111212212211221212212222211111212211212122222122212211112211112222122112111212222211112221222221222122211222122112222112212122121222121111222212112122222211122122221111122212111212122111221121111111122221222112122221121211112212122212221111212112121122121212212222111122112121112211111212112222211222212212212122221112211111111112212111222211112111112211111221122212112111122222212121112112222112111222111211112222212222212111222222221221222121211111111221221122112212112211122211122212112211211112111111211122212211122112111122112222121112111222122121121122111212121211111212211111221112212221222222211211112221222122212211122112121222112122212112211112121121111212112111211122212211112122211112221212211122121111121211212211212112112221221112111211112111121211221221112212221221122121121212222211222122211122122212222112222221121122112222222211111222111211211211221112211221112112111212112221222212221112221222112222212111222122211222112212111221112211111212221121112122112221212211222222121212221212211212121212221211222221111111112211122222221222211122122221211122221121211111211122211212112222122121112122221111212111212122122212222211212122121221122112222211222121111211212211121211111122111121121112121212111121211122211112212112211212122222111212221121121222222122211112111111211212211111212122121122211222222211121212211112112112112222121222121212221222111111112212221212111212211112212211221112111111121212121112112211211222121121222121222111111112212211222211121221121112222122222212211112211121221111211222212121121111122211111122222111212122112111212222111112221222222122212211221222221122111112111111212112222111211221122211112111211222122212221212122122212111121121111121221112111221221221222212212211212211222121122111221121112121112121212222121212122212122222211112211211222211222212211111122222112111212212212212111222212221222112111112221212212112111212121121112122121112221111222122212121222222121222211221221212122122122122112222111222211121222221222112211112112221112211222221221222111122112221221211212221121112122211222111221211111212211212221121212111122221211121122222222122122112111122121222212221121221111211211111221212222122121222222112122122112112111111212221121112211122211221111222122221212212222112212222211121211221222112211122121111112221112222111221111221211221221112212222221221111111111111122121211112222121212211222211221212111222222211112221222211212121211211121121111222222111122212121221122211221111122122121221112211112121112221222112122221112122122221222211211222122212212121212212111122221221211221211111221221221111121222222111222211112121122211222112222121221122211112222221122222111121112122221211111212112222121211121112122211122122221221222221212122221212121112122111212211122211121212112212122122121122222211212112112121122222222221112112221221212122211222222211122221221221112121121221122221121122121222212222121221222121111221221212111122112121112211122211121121111212211211122212212212121222122212112222212122221212112212121221122121122112221211122112122222122222122111221122112211211121122112212211112112111211221211221121112211121121222222111121121212222121222222221121221212222112221111221111222211121211112221222212122122121211212211221221211222212122212222122121221111112211211211121222222222211111211112111121212111121212222111122221211222122222111222121111212122122222111221212111111112212111211121111122121221121221221122222121121121121111111111122212122221112122212211222211221211122211212211222121112212222111212222222222211122122121121211221211121222122222112211211222121221122211221222122211221122122212222222112211111222112111221122111121122112211122221212122211212221121122222222211122212212222221212211212211112221221222121211212222211222111222112112211121221111112121122112221211121212222122111221221222212221112121212221212111212122112112122122211221112211222221111211121112112111212111222221121112211121111112122221122221112221222222212211222212221212111211221222112222221112121122111222211111122112121212211211111122122211111222121212111122221111111121221111122122111211222211211211221211112112111211221121122211221111111121211111222221121211222211212221221221222221211221121111112221211122121211112122121221222111122212212222112221221111221111222212221211111121212221111221212212212211121221222222221122221111222122111212122211222211212212212222222221222112222121222221122112122212121221121211112221222112112121121222211211122221111221122122111221111212222121111111212212222221121222122122222122121112222222211221221112222122211112111211211211211121122112111212211122211211122112111222222121212121122222121212222212211212112211211112112212212212122211112212221111111122212112212212121121122111211122212111212111122122121121222221122211221122112122111212222111211111112221221111111111111211112112111211222122121212111111212112212121211121111112212211222211112221111221222212221222222112121112112222122111212112212222211221121211121212222122112221212122121112121222112221222121212112121222221121211222111221112221221212111112211222121222221221211222221111121111122222122211122121111221212222221112111122122112222221111112212111112121211212212111222221112121121122111212121112221111212221112111222221112111112212122221112111211222112221222121122221221121122112211212122112122112222112211222212212212121122221211122121121122111211222212122222222211112112122122211221222221122112212111112222111111121121212221121122122211121222222111212112212122222122112222112212112222212211222211212221222211111211222111122122122111111211122221112122211221122112121221112222222221112212222212111222112212122122112212211122121222121112221212211212111211111212221121122211222222211121121122222111222112221111112122211111112111222221222122221112111212122122121111122212221122111222212122112111222211211211121211121211112212211221211212211211121112222221121212221122221212112222222222212221222112222112112121212121222222222221122221111122211112212121112122122212222212111222112111211122111122222222212122112211211212221121121112111212112211211111221121111221211211112111221211111222122212111111122121221221121222222212221211221121122112112212112211121112222111111222122111211112221122211111121122122112122112122122222212112221212111212111112212112111112222222122121122122221221122211121211212212212212221212122211211212111122121111112221222121212111121112222122212121121212122211121111212112212211211121222112211121111122212121212121221222222122221211122211111212221221222111121112212112111222221212112121222112112121211221211122211212122212122112112211112112122211111122212121211121221111211112122112112111112222212211221121112221222221111222222112221211112211122212212212212221112222112112222212112121122211112211122221211221212122221122211111222221212212212122112122222122211221211221212112111211121221111111122112121111222211222121122221222221212221222122121221211211222222222222112111121121121212222112211222121212121111211212121111111222221212221222221121122121111212211222111222111112212222211122122211112122222122121211122212211111121222121112222111112122222111111111212211122112222121121222111121112211221122111121112212221121211221112121212111212212112111111221112212221221211122121111211211112222111222211222122111211222122212112122221121122122112222212111211121222211112112122111111222221221221121111212221212222122211111112111112211122211121112221222212211211122122222122221111221211211111212121211211221121112212111112222211121222122212122121121121212111222122111112222111211221221122221121112122111222212122212212221112112122112221212221112212112122211121222112111222121112111112111121111111212222221111212112121212211221122112121221211111212111221121222221121111121111222112121221122112122111212121112111221121121112222121221121122111121122222122121211211111212112211222122222111111111121111112111211111222221111122212212211111111121212211121222112121221122222122121222211111112211112221121112121211212212212222112222111121221222212211221221221211121121111212211111111212121221122112122221121211211211112112121112122221122112222121221222211221111211112111221221121112121121211112121212111212122222122222122111212111221122122211111211211121211222112222211111222212112111112112111112221122121111212121212222111211222212222112112212112211212212221122112211112222212111111222222122111212121112121122122212221121222212121221122112221111211111111222112111212111112122112111212122211212112222121222222212121112122121221121122222212121111112221111121112211122221121111121112112211111211122212112212211112211211211221211221221121122112211122121112221221122222122111121221122121212222211111111111121111112112212212112221222111121112211122111212212222111111221112211221221112212211222122121212112212122221212121112211221122111112221112112221111211121122211122121221212112211221111211112111111211122212111222211122121111211122221111112111111212212221221122211122221211221221111122121111212112221222221122112211122111122122212212222112222211212122211211221121221111122212221121121211122211212112111221122111222111121222122112221112221212122211211222221111112211211211122221112221111112122212112222112121221112212121221121111112112211221211122212211221121212212112121121221222112112221211122122112122222211212221112211121112111112111121221121122121221112222222122121112221221111121212122211121112121112222111211212122222211122111121111121122121211222222221112111121121221122121222211211211211222111122122211211112112122122222222212221111211221112221121221211221221112111211222121111111122122212211122211122121112111221112212112122121122112111121121111222212112111221122122222112221111211212221111121122222111111122212121212212111122212121121122211211122221212221212121121211121122111211221122111222111221122112122211111112212122222221212112111121121122122111121122212112211121122112221212222112111111121211211122221111121221111212211111121211111121212212211121211121222111221211111122111211221212222212111211222112221111222112121211111121121211211222122111111122211111111221212222121121211121222111112222212122111122211112212221211112211222211212212212211221222222211222112211221222212212221111212211121221121122112122121122121111222222212211212221121222111222212122122222111212212211221112121121121112212121121121111122211221111212221222121122211221211212211121212222111112121212111121122121111222211111122112212212221221211122121211212221211212221212222111121112212212221211122212212212122211111111122212121111121122212112112122111111122222222112122222121222212121212222212122212111221212112111222111222212112212221122212111121221122222112111222211221221112111211121212121121222222211212122211212212122111111121112111122122121122122222121111112221111222222112111111121121121212122121211122121222112111112211221221122212122111112111121212212122122222121122221111211122122121211221112212121111122212222122112122222212212221222222121112222122111122112122222122222221111111212221221111111121211222222112111212221211111111122211112221221111221221122211121222211212221212211222212211221112212222111221121221122211211212122221212222122112212122112111212211211212111112122121122122221221111111211121212211212111222211121112221121112221122122122221222121111212212112112121121112122112212221212112121121122221122222222212112212121112212112212112222121211111211211212222212221111112222222111221111121112222121121112121211221221112222212222112111212212222122222122122221221111112211222222222112121212121111211111122212121222211211212222111222211111112222222222122121112112121211212122121111112221222221212111121112211122222222112212211112212212122112212111211212112222111112211212211112211112221122122212112111121112122211121121211112211111122222221122121112111212221111111122221211212121211221221211111122212222121221121212212122121221121212222121212222111121121212222111121212212112212111221212222211211121222112112212112221112211122211111222121211112122211211222121221211111221212122222212112112211121221112222112212111111112111112122212222212211222112112111122112111111122212212111222121122211121111112121212111121222212212111112212212212112112121211122212212211112211212122211222211222211112112221221121111121122221111112112121121121112111122111122212112122222112222212112112211222111211222121121121211121121211222211112111112122212222112212122111112222222221211211212121221112211112221122221111221121112212111122122211211111221122221121212111121112112122112222111112221222221211122111212112222122211221221122222212222112121121122121221122222112122211222111211222112122112221222121212111112122111112222221222212121122112211111221211212221212112211121222112122111221212222112221211112111121211111122222212121222112222212222221212221222122221211112121121122221111212121111121112112122122212121211222221121211211122222222221121221222112222112122211211211122111222112122111211121122212211121111121221112111221211222111221121122111222222122112212121112111112211222211111122222221122121221222212121112221222211212211112212221222221121222122212122121211212212211221212122221122111121111121212112121221211121212211211222112222211112112112211112221212222212211222122221211211112121111111112222212212112121112122121111112211221212221122111121212211112211112211212212211122121122122222212111212111111122212211222222221112112121112122112222111112121222222121222112111221211211212221111111121112111212212222112112122222222111122122112121212212222222112111121111212112111122211111222221211222222221122222112112122212212122122212121212121221121122211221222111212212212222212212111111212212111111221211121222111112111222112112112111122122222111211112211212121121122111222121112212121111221211221212211211211112211121122222212111111111221111112221121212112111212222112112122122212222222211112211222112112122111121112221221212111122212212112222121111121212122112122112122221121211112221211221221221112221121211112222112221212212211211111221221222122111211121211222211222111222122212221122221221121111122121122112212222121212222112211112122122122112211222221122211122121111122122211111121221212211211122222222222221211112121122121211121222111221222111221222212222121121222112122111121121122112221211112121121112111221122121111121211211112111222112121221121211222122121121121121212212111221111111212211111212222122121122221212112122222121221212111211111221212212211112211221212122222211122112211112212221122212211211111121111112211121222111121222221222221112122121222221121221122211221211212112222112112122211221222121111212221211212112121211122211211122121112222211221111121222122221212221222212212112121112212122211121112222222121222122121121221221221111212112211112221211121222122112122121112212112121111222212222211221111211112111112121121121221212122112221122211222121212222112122221221211111211221111222222111222211212211111111222111222121212122122122212121212222121212222221112211112122122112111211221221121211211122212212121221221211222121121112221211212122121211121111222222111112112221122112121211221221212122111111122222112222211112222221212111111121122112111122212112121212111212221211122121121212122221212211221212222222121222111111111222212111121121121121111222122212222111222222122111211221211221222111122212221121121222221112122122121212212112212122211112121212221111222111121122212122221111221212222211122121122212122212212111112221211212122212122121121222111121122211121212122111122111211221211222221111211211211212221222122112112111211122122121221222222221221212112221122211121222222112212111212111122111221111112221212212111221121121121122212222222112122212211111221211221121121122121212221111112222212122212222122221211222111221221122111221222221122122122222112111221222121121122221222211122212111121222122211111212122122122112222222212221222112212112212212111122222222221212112211222222112122211122222211111121112111111111221112222221222112222212121222112112212222122111122122122121222112112211212121222112212222222111211212212221112211221221122212221111221122221212211111212221221122111221112212121221111221212222121112222211211121212111211211222112211222212122111211211212222222121122211221212212212122121122222221222221211111212211111212122222221121212112121111122111212112122121212222111122111222212111122212211211221122112112122222212122221221112222222221221112122111121121222121111222122111121122112221121121221111121211122122121111111212121212221111211211111122211121111221221222221112212212121212221211111112212112211112211111111211122122121121221121122221212212111121222112122112212121121121122111222112121112221121121211121112112222211112221221121222211222221212121212122222121111121212112111122212111212222211122112212221222212211112121121112212112211111222122121111112221211222112121212222122221111112111122111111122222221122211121212112111111222222122221221121111211221111222122222121122212211221112211212112111212221221222112212121112112112122221211211122122222121112221122121222211212222112222221112212112121112112211121222212122111221211211211111211121122122121221212121221222112222112111221222111221111221212221221121211121221112221221212121111112221211112221221111111222112121121121212212112212222212111121122222111212121211121112112221221122221221111221221222222211112111121112222211211222221111121111112122111122122121211122212121211211122111121222122212222222112121112221222111121111211111221111211111111221211121211121221211211122222111212212222111122211111112221111111111212121111211122112211122122121222222121212222211112121212211222111222122122111212212121221211222111121122221211112212222112211212212112222122221112222211221211121221112111111221221222212211211221121222112122112112222222112112121121111121112122211122122221221122122111121222111121221112121121112112111212111221221212212222112112112111222222111112112121112122112212212122212222112122211111212211111222111222111212122221211222111222211121212212122221222221212122211122222222111121211221112111222121121222211111111212121121111212111212222222121112121122221222111212121111122122121222122122111211221222122211222212211112112121211212212222112112122221121211212122122112212111222222121222121222222211111122222211212211121111211222112112111122222122112222111211221221211122212221222121222112221112222221121211122111121122211112212121212222122221212222222212121221222211221221121221222221221112222121222222222111212112211211211212222111122212111112111211222211112212122112211222221122122212121221221112112211211112121111222211221211211122211222222212222221222121221111212111111221222112212121212221112211212212221121222211221212212212222221211111111212122121121211211122122121111222111121212212121111111222111222111111122211211111211221211112212222112211112222121211112211222121111211222222121121211122111212121121111212221121212112211222111122222111211121122222211121212222112122121112121212122212221122211222121212212121112111121121212212111212121211112211211121222112122211222112122212112111212222122122121122111212121222222112122212221112121221221211212221121121211221121112222121222122122211222121212211122111112121112112122122122221121121121221112212212221122122222221222112222221122112121211111221121121121121122122212121111222111122212212212112112221111121212111221121221212211212111122221222112122212212212122121211121221212211111221212122221121221122212221222221221111111122121111112121211111211121112211212212112221111121221122122221111112211212212211221221111122222122222212221112111111222222212122112212121222111122222112222222211112222121221221221112211111212212212111222211111212122112121221121121222111112212221122222122121221211112112221212212112111212122222122222211222222121111112112221122112211121222121221221112121211112122122121211111211221221111122111212222111121222122221121221211122112112122222111121111111121121112221211211111111222122122221121122221222222112221221222221121221121122212221122221212221212212222211222222221221111112112222212112212111222122112212212221122121222122111211211221112112112222221121121211122221212221122222221212112221211121122122111211212122111211121222112222212221222222212222121212222222112122122122212121212221121221111122121111121211212211212122222111222212112112111122112211222212211121122121112111221122122122122111122222122111221221212212212212111111211212221122111122221112121121121211121221211111111222112112212111221112211121212122212212212211222112212222122112221212111211111112121121211221211112111111212212122122212121112211212211221221221221222111112121211211222222221222222212122121122121121221212111212211121112212111222112121112111222122112121112211111122112112211222111221212122121121112112211221121222121221212112222211211122122221112112121211211121221221222221122112212122121111212112221222221112212121122111212112121211212122112211111111122111121121211121122222111122212212122111221222122221222122122121122222221221111122112111222122211111121112112112122212122112112222221211121111212112221122211122112221222111121122121121111112111112222212222111111211122221122211112111221221121222121212221122121211112222222111222221112221212221121221121212221221112112222221221221122112211222112111212111111222111112221221112111211121121122211122221111121221221212122111221221112112121122211122211112221112211122112211212211121212121221221222221112222122221222112112222221112211221221121212111211122111221122111112212112122221212111212111212212121221211122211112111121222221121121211212212211112211122211222112221222121222211211211211122211211122111212112111222111121222121111112111112211122111122122211212212211212212211112122121222211111211221121122211111222111212222222212212221111212221222111111121212112211222122211221121221222122121122111211212112111212121122112111111211122111122211122111221211221122221221212121121222221221221111211122111222122111212112212122212222221211122112212111121122221112222222212222111212221211222211111121121121122112112121122111111122121112212222112212211111211212122112112222221111111112221222121212222221112112121221212112222212122112112111211112122221212221111211122112222111122121112111122111111211121222222111222111121122111121212222112121222222111121212221112222122112212221211112212222211221112211121111112122211221211222111212122221121222121222121212211212222112211121211212122122211221222121111121211221112212121112112222121211111212111221221222112122212122211122111121122212121121112122122112111212221211111111221121211222112111211111122221112221122221111122121221122121221222221111111111211212111112212121121211111222111112122222211111112121222221111222122212112122221212221222221112212112112111121221112112121112122221122222122222222212212212221112121112211111122211112122122121211121121212211121122121221211112222122221121121221221211211222212111121112122111111112211212211221122211222222111212112212212211121212222112212122211222222122122222211121221121122121121211222221212211121221211212211112211112111222112221211122211122211212221212211122112122221111221221111112222112122122122122212122211222122211111112122111121112111211121211122121222222211211111222212112222222111121122212111211221121121121121222212111122122212121122211111221112221212122111112121122121112212222122111111111121222222221121121212122122111212121121112221221111112212211222122112211222221122221211122121121122122121221111211211212222122221122111221122121111211111121211212112121222121222211122211211221112211211112222112122221211221222112212111222212112222121212122111221122121122112221211122222221121211121111122112112221211111122112221212222112121112111221211211221121211221121222212211121112221221121122122111222221112121222222212221111212121211111211121112121222211222221122221222211212122122211222221222221212122212112222211222221121221221111221211211212222212112211121122122211112211122112212121222111211222121212222112112222111111112212121211222211122111121211121211211112121122222212122112221111211211122112221112121111112122121122121212222211212122221211111212221111212211212222122112212111212212211111121212211122122122111211211222121222112221212112212212122221121221211122222211221222111211221122111211122121211222221122122221211111112121122112112211212211221211221211211122222112121212111112212211211122122121212121111122222121121212111111111112211121222122122122121222122111111122222211221212111222211111222112111121211211222221122121111112121222111111221121222111212121112111211211211122112111112212111211212211222111121211112212122112122212122111122211221222212211222222121111222211121111112111212112211222111112211211212111122122212122122122221212112122221222212121121121221112122222111222222112212211122112111221211122122122211222122221221112212112211111112121111221111111212112112122222221122222211112221222121112212222111211221121121112211122221112212222211122222211212212211122221121222111211212121122111222211212122112122122221211221212222112112111121222222212221111112211111221212211112222122112111122122122211211111111212121211222221111221122122112212221222211111122221211121221122112112111212111111221122121212212222222222211121121112112222221212211122112112112222112212222221211221211211121222122212211122221221212121111122122122221221212121211112222212122112121121221122122121212222222211121122121121122122212122222222212122111211121121221222211111211211211122212212222122212211122122222122111111222211212211111211112122221111222221122121112112121121111211121121211221112122211222212222212121111222221211222121212222121221111111212211111122121121121212112211211111212212112212221211212121212122221211112111121212121211112212221121122212211112222112212222222222222111122212221122222122122211222222211112222121121222111222122112222111121222112112122212221112222122211112111122111112221122222211111122122111122222121212211222222121211121111122212222221221221122211212122122112212112212221121212121122111221222111111211121121222112111122212211212112222122211111221121211221212211212121211112211222111222212211111111121121111121122121212112111222121111211111211212222211212212221211122111222222112211111111222112222222121221111221121111121111222211122221212111121111222212222121212122211112111221211122121222112112111212122122121112111122222112211111222111111212211112112121222121112221121112222222112222212211222112222212121211211211211211112212122211211221111211212122221221111121211112121111111112222112121211122122122222222221211121121122211112121211221121112221112222212221211212221221121212212221212121112112221222122122221211221222122112121212122121121121121222122211112111111111111221122112212112211221112212211221111212122111122211122112122112221222121111222122111122112221122121112112121122111112121122221111211121122221212122121111112111222222112121122211111212222212221211211211221122212111122212211211122111122112111211211221211211222122222111222121111122211122221112221121122121122111122221211221221111222111111111211112222212121221212121212222121122121112112112111122211211112221121112212111211121111121211111221222211121121111121111122211111212212211112221111112112212222211211212211111122112121112111122212221212111112222212211212212221212111121212222112122121222121121112211212221122111211212221112211212221211222211122112111212222222112211121211112121122212222111222212212212121211122122211111111221112121222211112111111122122111121112221211122221221121211121111112112112111121122212121221212221221122121211121122122121111212111222112222111211121212111222211222111211211222111222221112212111111222221111212121222122221212111122121112211212212211122121222222222221212111222122121212211111221221211222111112121211221222122222212222221112122122212121222111121121211111121221112211222111111122121111121222221111222111121212212121222222121112222122221122222112122112112212221221222122212112122122222122221211212112221212112212211112122212221222121221112111212221222122111211211111111112111122112111212221222221112221122221121221211112212212122121212112112212112122211212212122111112212211121222222122111112212112122212112211121221111111122122121212111111111111212121111211121122212111221111212212112112212221211112111222112111221121111222122222222122122211111222121221111122122212212212222211122211112121111112222222212211111121111111112111112122221112212112222121111212121221112112112222221211211121212111111112211211222212221122222122211222222221212212211122121212112211122112222212211121122122122112112221211221222212211122112221221212122212112212212212221122212222112211112121121111121222211222212211221222121222111122221212222222112212222111212211212221121111222212111222221111121111121112111212121212112111112222212112122221211221112221121221221211221221221122212111221112221121112112211112221112221121112212221222212222222212122212121222212112211221112111212211122221222212222112222111212112211122122112221221222111122222221212112212221122212221211121222222211212211121221211112211221221112121221121211222122222211221211112211122212212121211121111212112121111211111111112122111221121211222221121112122111222122121112112211222122212212111222122222211112221221221112221221111112212221111211112112222111121222121212222121221112112112111212121211121111112121222122221212222211211121221212111111211221122121121121121222122121222222111221211212221111122211122111112122222212212221122111212112222112112111212221211212212122212111222112112212122112121111212111122211111212221112221212212111122122212121221121111211211122122211211211212221222122222212112112112221211211212221211211122121211211221211112212222222122211111121122222221121111122121211121122111212121212122221222212112221221211222211112111111221211112122222112212222221122111212111111111211211211212211211222122211111212111211121222121211112112212112221211212222121211222111121122221121121222111112221111211112211212112212212221221222112112212121112122212222212212221112212121211212211212112212222112221211112222121121122212211221112112212122111112122111121222121211121212121111222121112221121111211211122222112112121112211112122121211112212222121112111121222221212112212121112112221112222121112112111222211221121212221222111211222111222121122221211122111111121121122111222111211221212111111111121112121112122221222222212111122212111111112212211112212122112121221112212222222221122112111212121121111211112112211222211122211222121221121111112221222111212221121111212221211222212211121212222122112121221212221121221111212111112121112111221122211222122222112211111112222122122122222221212211212212212222121221121122121111212212222222121211122211111122121112111211221222212222122222121222112211212111122122211121122221211121111222111221211222122222211121212121221111121222112211111211211222221212221221112112212112221211112222221222121211121121211212221121222211122222222221221111111212111112211122211221122222212211221211212111222212112222122212211122222211122221112222122111112122122111111222122122221112212211112122211211122111121111122121111112212222122222121211212212221222222112221121212221122122212212221111222212211112212122122221112122111122211122212112221222212211111112222222211222221221121122221112221212222121222221222221122111111221211112112112111212211112112211111221221222221111122112122122221221211212221112212212211211212222221211222122121212121112121221121222221111212112122222211211121211112212222121111221121112111112112222221122222212211212222121211112211211222221122112211221222111221222221112112121221212111211222211112222122221121111122112211111211122121121111112212111122121211211222221121121221112111222221121122112112122112112221121112211121121212111212222211212111212111212211121122111112111221121212121121111212221221122211212111221122221211211112222111211221121221211222221122211222211222111212221112121212212221221111121112221212211212222121211112222221221122222111122121222212121211111211112211212121212222122211111211221111112121122211121221212221212221221211211221222112221121222111121222212112112222211111112211212112122221122122112111112212122222222122222212121112212222212211211221112221221121112212212112222112221111111211121111222122221222122112121111211112212212112112212212222111212112122221211212211122222121112122111211122222222111212212212111221111222122211121211111121122221122211121221211212211111122111221211111222221222111212112112112221112121212121221221212212221111122112212112222121112211122211212121211211112222211111121222211211222212211222221221212121221112112211212222212111122221221111221111222122212222111222212112221221122212111111122112222211211211212211212111222121212111222121221221222222111221121122112221122122121111121112122112211222222111221212212212221111222212111112221122212111121212221111212122211112222211211121122112211112111221211221222212121111211121111122111222111111212222211212112111121211211112122111222211122221111222222211222221121212111121211221212111111111121222111212221112212111111121111121112122111122221212121112122222212121222121221221112121222121122112121122211222111221121111221111212121121211211221112221222211121212121212211121122122211111112112122211211221212222121221211211211211111122122111222122121222122112121111121122112221112222222111122121112121122221122211121112211211122211111112212112121212122112221112212222122221212111122111121221111111221112221211112212221212112211211221122221211212122212212122122211111111212121211212212112211211122211221211121222122222111112111221222111111111112221122122112111222212211211211222211221121122221122111212122222122211112212122122212222212112211212122112221211111222122122121112112222122211112211222222112211121211121211222221211122222121211211211212111212211122111222222222221221121121121211121112112122111212212212111111112222212112122212121122111211111222112122221212121212112122121212112221111122121211212111121111212221111121111211211122212121211212222112111212222212221112111112212212121111111221221212221211111211111222112111222122122211212211122122122221211122211111211222221111121222112212222221122121222222212222211122221122211111111211221221122211211112212211222121121112222122222212112221221121122211112112212222122121122122112112121121122111121112222122212121211121122121212121222112221222222121121121111221122221112122222222122221122112221111111212111221221122221211112222112112222112111212111122121121121121121212222121121222122221212221122211122221211221122222111222221222222211112122121211211221111121121122111112211221222112121112111122211212112221121221211112212211122212112112112222212221222222212112111221221111111222222221211212122212111221211121121211112112222122112111221121211122121211111222112221111212211222111221112121111111111122112121212221212122111222111212222221121222112112221212122112212221222121212112112212212111221121222112122122121222221122211122121222211122122122221211212122121221121121112112221112221222221122212221121211212122211112121112222112221221222212221121222112111222212112122112122221211111122212121211122222212112212111111211221221111111212212111222222122221221221112112222222121112221111121122212221112111121222112112111121112121222111211221111222121222221111222111212112122211121122121122111121212122212211212121112211211212221112111111212112112122121121122222222222211212111221112112122111112121211211212212111212112222111222212212211221121111221212222212222122112111212211211111222121221221211212112211222212111211122211212212121122222112212112112212122112221212211211211112112121112212221112212111212111111111211121212221222221112221122221211221111212221121221211121111211112222212121122112121112212111212122112121112121221121222211121222222222222121212212212121221211212222222221212111121221211222221112111111122122122211122222122112211212222111221211211121221122112211121211111212122222221212211111122122221111112111212121211121212222212112211122122211212112221212111112112212111111222121222221111221222211222121221111221111212222222121221121121222212122111112111111221211122111221122212122121212122221222121212122211212121112112111222221221212221111121112121122111112222122112211111111112212211121112222121221121221111221221111111211112221211121122112221122122221111122212211122221221122111221211221122121212111121222111222121112121212221211111212212112122112111212222121211122222121212111112121112221111111222111122221122212122111221121112112222122212212112222212122211111221112121211221121212221221122211111122212111212111121122112211121221212212122211122121212112121222111221221121221122111211121122212221222112112121212111222122222212122211112211221121122212222111121122221112111111122211211112211111222212111122121221221222111122121221221211211122112122122221211122121222121122121211111222211221111211121222211111112211221121222121121221112112122211121222212121121221112112122222122122111112211121211222221111111111212222121222211121222111121121212211221111122112111222212112122221111111212222112212111121111122122111111111121112121112121121221121112111122122111212111112221122221222122212212111221211222221122121221121212121121211222121211112121221122121211121222221221122112221212212222222112122122211111122211121121222111221211211221221211211121212221122112212122222122121122211112121121111112212122222121221112122122121122122121121112112222111111111122111122211121221111212112112212222112112221112122122112121211222222221212222111122222211122212212121122212211211212111111221121112212221221221122221212111122212121112112221211222111222221121222121212221212122211111211221211121112122111212112211211112112211221212222222122122211112211121111122222111122112222221121111212212212212121221112221212211121112211111122122211121112111221211222211222122121211212111221111212111211111212212112122211211122122112212122222221221221111211212111111212222112222222221111212121211211211212222121221111222121221222221122222111222121211121212121112122111112212222112122122112211122222121121222111111111222112222121212221221212112121222111121121222111221121211212222111111212211112122121212211121121112212221121111221222122212111212212222222111121221121111111121212222211121111121221121212111222112222212212122221221111112122122111112222111121221122222111221111111111221221212112221221211211221121111112111111111221112222222221221212121111112111221121121212211112121221112211112111111211211211211211222222222211112121112211112222111222222121121122121211111111121121121112111111112112121222121112212121221212122121122211211212122122222212211211111222222112221111121111121221122121211212212122211111122222222211222112111112111112211112121111211111221111222211111221222222112222122212111112222121122121121222222211211111112111211111121222221221211222212211221111222221111121122211211222212111221111122121112112112112211111112221212222211122222121212212112221221222112122221122111121122211212221211222112112211222222111221222111222212221212111222212111112212211111212122121221111222122222112212222111212221122121112211122222211111122222111111122121221221122221111221111121112111112211212222211221222112212212122222112221121122211122212111121112212211112212212222112222122221121221211111222211122212122212111112122221222221121222212122211221112111112112122111221221111122212222111111112111112121221112211222221221222221121221212221111111111112122111121211211222222122211112122111222121122121112112122121222212112122211212121221222121222121122211211211112121212122111211211112221212211212211211212221121211111122221111211211111121211211222111212111211122212211221121121122121111111211121221121221212222211211111221111111121211212121212111222222212111122222222221111122212122121212122122122212211222221121112212112222121211111111211111221221211222221211112211222111211112222221111221111222211121121211211121111112211212111122221122211222222111212122222221222211221222121111222221112112211121211212112121212212212122112112222122112112111211211122211121121112221221111122111122221212112112221221222222121121111122211111211112211221122121221122221222221111122122122122211112111221122112112212221211212112112221112122222122222112111212222212122221121121112111112122112221121212222222121122111121222111221112211211122121222221122111122112112212211122212112111122122121112121111122111222122211111221212111211111221222121222122111221222112221112122111121211122112221112112211121212122112112212122112211122221222112221122122221111212122112111221222121221121112121111121212111111221212222221211212211222212221121111212122112221121212222121211112121121211212111121112121211221121212112212121222222212112221111211122111222122111212222222111121211221111222111121121111122211122112221111122121211212121211222121122212121112121222111121221121222121211212221222212112222222222111121112111212122221112122112222121212111222211212212222111112121221221212212211222221221112111122122121222112121222112211111221121121211121122212122222212112222212212122112122222222221122222221121121111111211122121221211122111222211211211211221122122222112222112212211211112122212221222222212121211111111222212121111122122221211121211112121212212212221221212112222111121112211221212212221122222222122222122111111111121222221211221212121122122122121211222111221212112212112221221122222211212112222211212222121211121112222212212211122211122212112111221112122222121121121222222111222122112211221211112221122121221222212222112222122221112112111211211111112222122111212222212221121212222122121111112122222121221211111112111222121222211112221222212122112122212221111112222211222221211111222112212122222212111211122112211221122122212112221221121111221221212111211112222111121122122121111222221122221121221222112221121111111211112111211111221222222222211112211222111211212111121121111122111211121121221111121221222211111212122112211222212211121221221121122222111222121111221122122121111122122221112112212222121122211212112111112121122212211212122211221121221111111121222121212221111112211122121112121121221221112212111211221212212211121112212121112112111211121221111221122111111221112112212211112222212112121121121211222122222222222111112121212212212121212122112122111112211211212111111211111111211112222212222222211112111212211111221221222122121211121222122211212112212121211222222222111112121222111211122111221122222122211111212122111211122211212121211111121212111122212111212111122211212111212122111211221222111112211211111211112121112212212121211222221212212212211112211122222122222211111121211221221112211211122122121211212221122211211211122111111111112222221212212121121111121212221111112111112111112112112222111111111221211211112121122211212111121211222212212111212212222211111221121212112111211121111112121222111122111122112211121112112222221222221111121222222111121111111112221221121111211111221121122222211222222121212111221112212212222211221121112121122221112222121112222122111221121111221112221111112212112121121221111112122121111212121122212221212111221222222222212211221121112122212212211122222122121222121111121112111222121221111221111121211212222222112111112122221222222211212222221122122121111211111221111111221211212212222111121222212222212121121121222221221222112111212112222222121111221221121112121112112212222221111212222111122212122211122221212221121112121121211212121222111211221222221121112221221122122121121222211211121121122222211112112221122121222211221222212212222212222121222122111111121221112212122121221112222212111221122122211221222221212112222122222212222112112112211111121111122122221212112221221121111221211112121112211122122222212112221121221222121122111221111221121211211111112122112211222211221222111222221222122112211111112222212112211122222211222111122211222212121222112122112121221221212212121121221112222121121221122112221211222112122111212211122111122122122122111122121121211222121211212221122221221122121122211112122112121211121121122111111122222122212221121112112111122121222211121121112212111112111121221112112121122111122212212211122211111221212112212212112212222112211121212122111212212112212111112222112221122222121222122212112122111122112122222121221222111122122121112222212212122121212212211212111212211121121212211112212222121122211222221222222111111111212211211212211221212112111211121222212211212111211112211122121211221112212112121212111122222111222122111122221221122121212112121122122211111112111211112211112122122111222122111112112211222121211112211212221122121222112121222122122111211221112122121122111212221122211221112121112121121122121122112112222121112122112112122222222122111122111122212222112121111111121211222212112222222112211212122222212212122122222112111111111222122222221212222221121211111221212122222122212212112222212212122221121111122111111212212212111121221222122212211122111211222112122212121111221212122221222222221211212111111121212212211121221112212122112121221222121221122122112112112112112122121122212112211211222211211211212211122212122122212111221222121222111112121212121112221122222212222121211212211111112222212222122121122122111121221221221221121211111221121121222111212112111121112121211211111222221112211122211111212111122122111222222212212122211122222121211121122222221112122222222122212211122222121111121111112121211212211212212222121212222111122122211221121122221222111221221122122111122211122222211212212111222121121212212121221121211222211112121211112121221221122212122112212112122122111211111111222112212121121111122221211112212211122111212211221222122212122212112122222112222122212222111112211211122122211112121111122122221222122112121221222111211121221211121212221111111221222222112122112111122222211211221211122121222121122211212111122111122121121212222112121221211221211122121222112211122122212212212121111212222221221211122112221122121112212121211211112121111121111111211122111112121221112221122122212212222211112222121211221211122221211222121212111211111122212221111111121121221122121211211222222211121212122111221121211221222121212111122122112112121222221222222121211212112111122111121222211212112211221111112212111121122121212121112111222211112212111212222212211112212211221122112222212111111211112211222112211212222112221222122112221121121211112122222212221121212222122221221222222122222111211112121121122221221222221111211222121221222222112211112122112212212221211122212121221221212211211111222112211222121111212211112212112111212211212211211112211222211121121112121211222221211211221111112222222121222121111222221121122221112121111222212222211111121212211122121122122111121222112221222221222121111111121211122111212212221111222111212222111112122222212121112121221211211222222121221122122212211121211221212111122212121112222111221212122122221112222222221111221222212121111111112211212122222221122221212121221222212221112211222212121121121122111121121121221211212212111221211222211111122121222111212211111212212211122212222211222211221121212212111112112112212221111122112122111211211112112222111122221221111122221221211111121112121212212222221122222222111122221112222112111111221122212111221212122221222112211221111111212221122121212212221222121211121121222222122121111221121211121212121211222211222212222211121211221121212112211222111222112111222111222121121222122112222211122111112121211121221221222221111111111221121112211221121221122211122111112211212111121111211121122111212121211112112212221112221212121112121212112211121112122222122111222211122121112211112222222222122221122221222112112121111112212221221121211121211121221211111122121212112122211222121221112111111222112122121122111111211112112212112111112221121211111212122221222122111221221122122121212122211221122212112121212111221211222122111211121112121211111121111222211212212122112111221121112111222211212222112222122222122111122122121122221111112112111111111111112221111212222221122111212221211121121212122221122222211111122212121211222211212222112211222211111112212212221221212112122122112212212122121121111212122212221111122211222111111212211121111122121212122212122121222211221221212111212111212212121211211221221222111212121121212211111111121122112111111212122111211222121122121222121112112112112121221211221222122112212212112212212122211111112112122222211222212212111111211222111212121211221112121122211122212122112121212112221222212212222211122111222211122122212111211222212211211212122221221211111212212211111111111211211112222211212212122112111121212222112122112221221112122212122221121212212222222111112111121111212122122122221122112212122121112112112222211212121211221212111221211122121212121112222122111112121211112221211211112212221222112121212121211222112112221211122112221121222111122222122122121111221112112221211111111112211222122121112211221121221121221211122121211212111211222211112121221122112212222122212221211211212112122211112112211222212112222121211112112211212211112111122212122221212112211122122112211112112112211221221222111111111111222211111221122221112122221121222211221211121121122121121221122112211111121121211122122112221112212122111112211122112211222111122212212221211112212122112211122222121112121211211222211112211222112111111122211222111222212121221212121111221122221121221222211221221212212212221111112122211211221121221111112121211221222211221222122222221211111211211211211221222211111121221211111111211212212212211221122221211121212111222212112112221111222222122222222221111212121211121121121111221111122221211121222121112212221112222211112122211121121222121222122112122111212111211121211112122112121212112122121122212122221222211222222122111212221122112122212212121212121111121111221212211111111211221122122211211111222112121112222122112211211222111211222222111222112222112111121112112211211111112122221212111211122212222122211221212211121121211112111112121222212222112212221222112121222121212212212121211121212122121122112111121212112122211211111112222211122112122121112111112111222121221212212112222221221221122222121112211221222121212211112121222221222111221122211211111212212121111221111222222211222121222211222121111212121221212212221211112121121121121121221221121222212212122212121112122122112112221211121221111221221121212221111112121212221222212121111111222112112121121222211122122211222111111112111122212212221112122212222211212122111121222111222112211222121222121222221122212111112122212122122122112121211211222211121221121112221212121221222222222121112211212211122212222211222212112221221212122211211211222221212112221222222112212212212221222211211122121122121122212122222111221112211111122211121122122212211212121112221111111211122112122212111221112212111222222221111111111211212122222111111211222122112112111221121221222112111221221121121222211222121112221111122221111111221121122121211112112221211211111112121122221121212111122122121221211221112111111112211212211121111222211112121221122221122221122112222122212111112122112111112112212212112211211122112111211111122121111111112221111121211121122112111221211222122112222221111211221112112221212221111112122221121222121212211211222111222211122111112112111222222221122112121112221121221121221122121111122121221221111122222221222211122222112111121212221222112222212221212112121121122222212122222111112121211212222111222212121111122211222212221111212121212122221121111112122222121222221121111211212111122112222212122112111122112112112112112221122112111221112122121121111211111112222111221222112221111122211221212222212111111211221112221122211222112221122112122121112121121121211212222212122221221222112112221121122211111212122112111212112221122121121211122221221222222121121112211112122112221121221122211112221222111122222111121222211211112111211221122221112222221122211122111211221212112222112121121212221111112122122111111121112221212211121122112212112111221221212211222221122221121112122112222212111112112222221221111212112111112111221112212212111111122211121112112122211112121121212222222222111222112222111112212122111121221211211122221212222211122121211222122221212221212222212222121121221221211212212122212122122221111122212212221122211122221222221112122212112211222211112221121222112121121212121111212211112212221221122121211122111112112121112212221122221112111221111121111111111121121121212111212221211221211222221122211221221221122221111122122122211212212212222222211121121122112112111111221222112211222112222211212222211212111121121221112222121121221122122122112211211212211212211112212212111111221212122222222212222222122212211211211121111221211211212121122112222121111221121111211111212111112112121122122221221221111222112222222111211211222111212221121222121212212112212122122122111211111111221221221211111121121112222221212222221211121122212221122122111121122221122211111111111111222211111222121121212121221222112111122222121221221222111111112211211212222211211221211112222111221112112121121112221221222112111121121221222122112111112211121111212121211121112121112221121112221112212122212222221212212212212122222221112112111221221122212111221211112221121121111112111111112222111222111221111221212111112111211221222111212112111122221212212111111111222111211122112112211221121122112121221122211211222212122122212122112221111221121112111121112222222211222111121122111221212212221221121211121211112211121211222221221112112211212121112212222112121112212212121211221111211212212122222222122211211122122121111112221112122222121222222111112222112212122112222122211111212211122222212112222112122121211111121122111121122111211222122122221112222212111222121222122211221222111122122122222112122112112122121122222211212122221222121211111211112211121212212212122212111122211212122212121121111121222211222211122221222111211222221212222121122212122222211222222212221221122212121211211112122111212112211211211121111112221111222121112212111211121112211112211112121221122122212221111212221221222211221121222122212221121211122111211212111212121122221121222212122211122221122121211121211211111111122212122121222111212222212221211112222211112121211222111221222121122222221211221111121221212221222222111221211121221212111112222112221122121222122221122211122211212221211221221122121222111111212111121222112222211112221222221111111121212222111211112212122222222221121221112112212122112112111122121222212111122222212211211111111122212121112111121211222221222221212112122111111211121122122221212211211112212122222222222212211222112212111111212222222122211222212212121111221112111111121111212122112211122222222221111222121222212212121222221122121122221211112122111122221222111211211221211121211212121121212211111211221112221112221211221111222111111211111121221122121111121112112121211121212222112211121122222221111222211222111222122212111211212211221221222222111121212121212212122212222222211112212122122122111212111122221111111211211221112122122122111221222111211122112221112212112212121111111122112221121211221122222112112112222221111221111112221121122111212112121111112212111212221222112122112111212112121222222222122212121211222222222112122122211111112211212121111121211221221112122111222122111111111121121112221212221211122121222212111222122112121111122211222122221211121212211221121122121221212221222212212111111112122222212221222222121111121111112112122121112112111112112111222212212121121222112111112121211212122121122221111211212221212121111121111112122112111112111211122212221111112221211222222111221111211222211121212211112212222122222221122112122212112111212121211122222222221221121222111112121212112112212212112112112112211112112221112211211222212112112211212222112122211212221221112112222212221222121122222112112211221112221212111211122221211221222221112211212121211122222222222111221212112122111122212122111111121212111222112111111111121121121221112112221211121122212211221222122221112221211222122212222222212122111221212111111121112212211121222122121111111111222111222121121111221111212211122121222111221121122111221212111212122111222112122111211212122211121111221121112221122121121221211212221111111111212221211121212112211221111121221122211211111212212222121112212112111212212211221122211221211112212212211221211111212211112221221122211122121111111221111111122121222111212111122121221212211221222112122121211222122111112221112221122112122121122222121222212111121211111222112212111122221122122222222112211121111221112122121121212211122211221211111121121111122221112211212221211112122112112112121211212111221111122222221121122221222212122121211212221211212121112111112222122212212222121212211122112121122211212112212212121221121112111211221121121112112112111222112112211112111121122122222111221221111211222122122222122121111211212221211212211111212222121111122112122212111212111221112212111111221211111112212212112122112222222121122121221212112212122222211111121121212111121112221112212112222221211122211221222121221122111121211222112112212112121122112222111221211222112222211221221122212211111121212112221221222212211221211212212212111122112211122112121222222112212221121221112221112222212122211221221122211111212212121221122211121221222111112122221211222212122121212111221211212211111222112211222212221111212221222221221122111211122122222121111212211211112111111211122121122211211211212122121121221121121222111122122212212111111211212212212212111212211212121122122211211121122211121121221111221111222211112221112122222122212111211222211222111112121222222211121111222111222221112111121122222121211121112212121212221112222221222112111122111112212111111212111121121122212121121222112111112212112221121221111222121222212211121222212222221221211211222221121112111221122222112211212211211222121211122112221221211122121212211112112121122221111111122122221121122211121112221112212112212222122221121221221211112112211111121111221221222111221222112221211112212222221111221221112222221111212222222121121112211112221221121122121111121121212122211112112222212111111222122212211122111221121111211111221222112221221221111211212211212221121121221122122111112121212212221222121111111221111111122111212121121221212221111222111222222121221122222211212121111122121121212121121122112211111211212222222122221121222211212221121212222122112221121211221221212211222212212221111222121212212212122212221112121122122122111221121121121112222221221121122212211111221112211212212222121212122122212211121212212222112121211122211121122122122222211211221222111122211112122212122112112222122111212222221221212111112222112111121121221112222122211112212222121121212111211222212211111112112221212122121212121111222212212212222211112221221221122111112211222121111122222112221212122212212111121211121111221211111222122111122211222212122221211122112111111212111121211211221211112121211212122122121212121122212112121212121112111121122112121121222211222211212122222112211112111211122111212222122121112122122121111112211211111122211121221121121211222212212111212212112221212121111222222111221221212122122122121221122121112121222222211211121212221222111212211112111211212212221221111212222121122111211111121211112122121221121122121212211212212212112212211211121122121212112112112111221212221221121122112121122112211211212211122122121221222112121121221122111122111121111111121222222121212112222121112211221121121222221112211222111221222212122112211222111112121122212121212111212221221121122121122121122122122121211222122221111211122121112111222112111112112122222111211121111111221212221111122112122212212111221122212122212222112212112222221211122211211122212212221121221222112122112112221221121212211212122222211212221211111122211222121212212212121211121221221122121222211212211222121221112211222122112222212121121111121221122211212211112121122212222211212121112121211122222112122111222212121112112112111121122121221221222211111122221212222222221221121121222122122121222211111221121211221112221211112122222211222222222211112111112111212111221211122111211112121212221212221112112221222112121121112212112211121221212122221221221111121222112222221112212121221111222212121121121111222112212212121221112221221111122121112221221121122111221121121122112122212121211122112221111111122211221221211212221112221111111211222211211221222221112222221112222221121111212222212222211211222121222111122222122212121212111211121112212111121112221122111121111222122111122221212122122221221212111121211222212122121122112122221121222212222212121221211211212122122112211112221111221111122121112122211221212221212111121112222122211221112221221121112121221112111222211122211211112122212111212211212111111112112221221121121122111222221222222222112111221211211221221112211212121122222111111212212211211122211121122122122221111212111121121211222221112221112211112211222222221211211111221111212121111211222122111221111221122122222212121211111122221111222211211221122111121112122211111221222121121222111212122221122212222221121112112222212111212222222221211121121221221111211122111222211212222122122111122222111221121121212222222112111222121211221121111222221121112221212221212212111222122222122112112112112212211222111112222221222112111211111212112212212221111212212212211112222111212112112211112111222122111121211222221112212212112212112222212112211121111121122122121211121221222121212111212212221122222111221221221212212211111212111111122212111122121111121111121211211121121221212121211221212212211222111221211211221111221221121211112121211111121111111112222121222122221122211112111111211222212121111112212112112222122222211221112222212212212221221122221221222211212122221112122211222222222211222122112211112122122111211212211212221122222122211211221212221112121211122211112121212121212112222221121122111112221121221211122122211122111211221222212121122211211222211212221222221122111121111112211211221122221122121121211222122212122111221111212211221212121122211111122112122111122111122222111121211112112221211122221121122121121111211112212112121222221111112112111121111122121221222222122221222122221122111221121121112111112222211122212212122121211121222122122212221211212111211212211221111221221112122111121112121222222111111221221122222221122122121112211212121212211222122221222121122211221111112112122121112222111112222212221221222221212112221212212222212112112221122212211221111212122112112221212222211221222222121121212121111111222111211122111211121212211122122212112112122221221221121111221212222121112221111222111112211111221122221112222211211111211221121221122111122122222122112111122221112122112211122111111121222211122121111111212221111121122121212221112121112122212112221221221212212111211122212111212211122212111122122112122212212111221112212212221212122211221121222222211212212121111121121222111122111121212211222221221122112212211111122111122211121222121122221211121212211211112121112121211221121111112122112121212222121122121211212121111221212111122221121122122221111211211111211111221122212221112112122211212122221212222112111212221122122222111122121222212211122211222112111221221112212211111222222211112222111211222221122112112222211121121122212221121111221212211211121111212221221122122221122221112112221211122221211122121212212222211122211122212122112222112112222212212211112121112122111122111112111222211212212222212222121221122221122122222211212221221112212221221221111111221211121212122212212111112121122211211122212112122212221111212211121122121212221212211111121222111122112221112111112121122121122111212122122211211121222221221121211111121121121212222221221111112222112111211112211121212222221111221121112222111211121221112222211121221211111122222212122121121122221111112111211211221222121212212111111212122112221222221222211121212222212122112122111221211111212221222112211111112221211211112211221122111212211212111111211221221111121111212222122221211211122222112111211121121212121112211122211122122212122222111111221221211212211111221112211222121211121221212121121221222211112221111121112222212121212222121222212112112112122112222112112121121221121121212122121122122121211112112122211211121212222212121212211221111211222111112222122111211121212221121211212222211211111111222221112121211111112111111121111111211112121122211222212121112111211121222111111111122111122221112122212121112211221211122212121112122112212221121121111111112212122111121221122112222112122111121222211221112112222122112112122121122222111111121111222122211111222112221222221122222121222122211212112121111122221111211211112122222111212211221121111122122212211222112111222221111121122122212222212222212112221121111222112111112112111222121122221221112211112112121112121111211112111221112121211121121222112121221222222212121222212122112121212121222112121212121121211221111122222211122122121211111112122122222221111212211122222112111221122112221211212211211121222111121122111222212212212222222221221212212221212221221222221121211122112222212122111122222222112111122211212212222221221221111222211111222222212221222211122222211111112111111221212221121222211211221211212212212211111212211221121111222111112111222121212211222121221212121212222221121211212122212112211112112111211211111212222122211222222111121112121222222111221122212222222122111112212222222112111211221122122111112112221122212221211211111222221121121111111122212122212112221121112122111111111111112211112212112122112221112112111222122212122122222221212211212111121211111222111122122211211222212211212122111121222122211212221211111212222122221112221122122111112221112112212211222211222222212122211112122212121212122111122111221111211212122111221221222122122111222121122121222112112221122111222221212221112211222122112112212112121211122211211211122212222121222122122112212222221112212112111212112211111111111222211221121211211212111222221212111221212112212222122122211122122111111122221221211221211212222121112221221122222212121212112112121211222212122111112122121211121222122112111111122121122222121121111211212222112221122122211122112211121222112222222111221212121112111112112212111111211222211112221112112221112221111122112211221121221211212112122111212221112121222111111121221111121211221112122112111111112222122222212112121222221221112112212122211121111122121111221221222222212211211112221222122122211222112122212212211111211121222222111121212221222211211121222121221222121221111211221111121122122221222222222212222211221122112122111122221121212222121122221221111112122121122212211122122212222222211111111121122212111221221212221121221221222222221222111212111211211222121112221212221121222222122212121111212121211211111121112212112211221222122121112221221211212122212211212211111112111221122221212122221211122221111112222211121122222212221222211211211211221222221211112211222212111211122221222121211212212111222222121211111222221121111112121112121121121222122212122121111122121112111222221111222112212212221222212112122111112122211211211221122211121211211222111121221212211111121222222211122211222122121112112222221121122211121121222112221111121221122212122111221122111211121222111221211122221211211212212222111112111221121122111212222211122221111122222122212212222121122122122112212221121212222221221111212111112112121211111212222111111121222121122211111122222221222121122122212122122112111121211111121221221111112121121112221122222111112112112222212222221111112211112222121212121112212112211121221122111112212221212222122221122122111221122112221211111112211212221221212111122122211122212121222112222112212112111222222112221222121221112121111111211212121122222212111222212222121121112222211111122111222211112212111222221111122212111122212121112221222122111111111221222221211222222111211211211222122221122122111221221122121112221111121112121212122112111122111222121212121121122111221122112212222122122111121122211112122222122212212222212212221122222222221112222212122221221121111221222122211122221122122222112111111212121221212221211212221112111221111221212221111212122222112212221111122211111221122222121111221221112111111221122222111222111111222221212121122211112212112222111222121211222211122222112212122111222112211211111211221111111221211211221122121112112222122222211112121222212221122221221212112112211122111111221111122121122121222221222122212222211111222221222221121122221222222211121122222212111211211121212212222111212111111111122212211122221121111121211111112121111121122212122212111222222121112222211222111221112122112121221122212221111111112122111221122211211112221121221212221111111121211112211212221211121212112222211212112211221212112211112121122211111111221121111122222121111211112111121221122121122212212111221122122212212112112212212211121221112121121122212222111121112121112121111121121121211222121111211121122122212212211121212111112221111112121221222211212121122212112211221222121122112112211112122222212222122121122221121122121121212211221122211122112222211112112221211222111221221122211111211222221111111221121121111121212111211121212122221211121221212111212222212222121211121111112221222222212211111212111111121122111122121122211222222121112111111221222211122121222212221222212211111111111121212122212222122122111221222111121122121122112121121221221212212112121122122121122221112121121112222121212111212211121221122111112121222111122112112121222222112221222221211211121122112122221222221212111222222222212211212112122222211121121222112121111212111111212111121111211211122221122121121122221111111221112212221111121121122112222222222211111211211211211111221221222111112222121222121112212222222212221111221111112212211111212121211112211212111222212111111122111221122112121122221122212111112111121111112221121221222122112221221121222121112112222121222211222111122221211111111212121111222111211121222222122112212111111122222122212112212121121121112111111211222121111122221221112121121221112211212111221221211121121222212222112221211112121112212122212112122122211111122112222212122111111211221222121221222221221222211122211111221121221211212121112121222211222112212112111111121222111122211111212211222211122221112121222212112111221111211122121222111211112122221111221222221222212111112111112211121211212112122212212112212212222112112111122211211222222112121222122111221111122221212221112221222212211112122221111222122111212212112222222112211112122111222111212111111222222121211111112222211112221121112111212122222111212111112212222112111221211221112221211211121221111221221111212212121221211111212221221221212212111111112222222121111222212112121222222212122222112121111222222122222112222111112111112111122121211211121222121111212122112111222221222122222212122112122222221122222112211221122121111212111121122211122112221121122111121112212122111221121211111121221211111212211112221212121221211211122111122212222222112212221212122112111221122121222212122211111121211221222211222112221221111122212112121122222112211221221211111122112212221122221222112222111112112221222221111111111122221111111111221121212211111222222112211222112212222111221121222212211112121222122211122111121121211222211211121111211222221121122212211122211121122121212212211211212122212112121212111222112112221222111112112112111222121211212112221112221211211121112211111112221222222222211112121111222222121211222111222112222122212222112212212112221212112221222211112122121222221112222121221121222121211221221222212211212122121222222121121211111221212221111222112122111122111112121122111221221112112212221212122111222212122122211221112111211211122222212222221211222211211111212222221222221111221112211111111221221112212112211221122112112111121222222211211212121212222112211111112122111121221121121221221121212122111121112221111121211121221122111222212211112112221121121212121212221222121111122222222112221212112211112111121111222122212121122221111121222222112111112121122221111211221111121212211111222211222211212222112222121221121122212111221221212112112121111211222122222122212212212121121211212212112122111221111112221122112122112222211122121211111111122111122212221121222111221111221121112222112221111212121112111222212111122221112122221211211211212211111111211111212221122111112122121212112221111221222211211211212222121121111112222121122211221212211111212111221221112212212222121121122221112122221212212112212122212112212121222111111211121212212111221122211111222222221222222211211211212211222122111212121112122121122111221212121112211221112111212222122122221212122211112121122112211122222221121112212122111222211111112212122112121222121221112111221212121211122121212211111112212122121211112221111212112121111121111121222222212111222112112111222112222112121221111212222212221112122111211121222221211221112211212222211122211112112221122211211212211122112112112121211211121111111221212121212212121212111211211111221112112212211222121221211122222111211111212211212121222112221221122211222111211122122212222121211212212212221111112111111112122222221211222111212222211121222112211112122121222112111212211222222222121222112121121222221222111222212112212212121212111112112221212212221112121121212121222121212222122111211211211221221211122112221212112111121122222221122111221221112211222222112112212122211211212212211222221121221222121222122221112121122211222212121121112221212211212121111211111111121212221212211222121221111221212112122211112212221111221211211211212121121121122212122221211222111121221122221221122111111212122112212211111212112211212111221212111221112121222121212211112122221221111121112112111121222112121111212222112121121222211221212221112221122122112112111211211122222211112121111111211122212212122212212111111222111112112211221112211121112222111111221211122112122222211112221212221121211112112121122211221221111212212221221111212211221111122221122222111111112121222221211111122121222222111212221121112221212122222221211122222211212212222122122211121212212212212121222212212211221112112112112111122221212211222211211121212122212222212111111112111121122122212121211212222111211112222112112111122111221111112121111221222221211122222212221112221122122122211121121221221212222221112212111211222111121212122112222112221111222221212212111221122221222211221221122122111112122111122221222112121221222122212111221121112121212221121112122121221122111122111221122111111221211221121211111121222112221111112111121211222112222112211221121211121222121221111111212121122111212221121122212212222122222222122212211111111222222112121122222111122121212222222112112211221222221122121122111211211222212222212211212221222211211111112221121212111211122221221112112112112211112121112222122121222222111222122212212212112211111221122221211212122211221121111221222211122111212212112212222112112222122221111112122112211111121212112211111211121221211212112221121122221121112111111221212122122112212112222122112211212111212211112121222222111221222211112111212111211121121111211212212122221221222211212111122122221122222222221212221122112111121221212121121211221122111112212122221121121121211221222221122222121222112121122112211221221221221122122221222211111212112211221121122111111212222122121212112111112221212212211122212212112212122112211112111111121122221221112221222112222221221221121121222122211212222111121212212221221211221112122221211111121112221112222122122122221221121112222221211112122112222122121111112212211121111111112111111211222222212121221211222212111222121122221122121222212212122211212111221212221112122211112122211111211212211111222212222221222211121111212211221221121222211212122211121122112112211121212222112112121212211211111111211112121111212111121121121111111221222121112212112211112112121212112121112211112211121222212122211222122111211221211211221212211122221221121212112111121222112122111121222122122211121122211212221111211122211121222212212212121211121122212122112111211222122212112212221222112222222211112221111221211222121111212112221122212111121211222121221212211221122111111211122112221121122212121121222211122122222221111222212112122122221122221111122112211211211111122221121121211211111121222211211211112221212121122222122211112221121111111212112222212122112212222122222221212222111211111222111222222111112222111221211211222122122222211212112111112111121111122211111111111111111121211122122121222121221222122221122111121111112112211212212111221211111211121221212112212211112222122222121121212212211111221221111221121211222212221122222211112212121222111121121121211112212222121121222211111122212112222111221222112112121111112111122222221211211122221221221111111212112112212221111112211221211221222222112221211122221211211111111122121121221221211221211112111121221211111212112111121121112112112122222111222212122122222121221211121212121212211211111222111122111122122221112122212221221212121121211222212221212121211211222212211222112111121221211111212121221212221211211121122212121222221222112121211111221221222111211211212221122112212122122112112212111122212222121111121221222212111212221221221212122122222112211122121211221211112122211121211222221122222211121211121222212221221212121122212222121212212211121212122221121222121111212111122221121212222112211211222122122112211221112221222111221221122222222211221221121122211122111212121111211122112212221221122221211121222121212222212121211112221211121222122221122122122211212111211112222221112222221122221221211212121122221111122122121212122111221122212111222121121212122211111121212122111112121211112121212222121122111222222112222121211221111122122111211211211212222122211121121112222222112122222211122122122121111121122111121221211111122122112121122112112221111222222211122111211212221212211122112222221111122122111222122121111111111122221112112112111221222112221212111212111221211111221121111112212111222111212211211121112121122121222221121111222121222122121121221211112211111212212111212111212221121121221212122111211121212121212221222111121122211111122212222221112222211212122121111212221222222212111111211121122212212121222212212111221122222121121222211121222222222222221222122221112212212111112212121121212122212222122212112122112112221212112211111122121122112122112122212111211221122122121112211221121221221122112112111112121221222121122111212121121122111211222222221212111112111211121121112221212222222122121112121121222212121112121121221121211211122121211221221112122212212122111122122111122212222122111212111221222221112212212121222112121211221221222221121121121112222212212121212122122211212111122221122111121222122122112222221221121111222122222122212211211211122221122212121122222221211112112112211222221212221122111221112212111221122212222222112221121212121122221212222111211112221212211112221221121122212111212111112211112121122212121111222112221212111222211122112121221222212211212222122122112122121112122121212221211112111221122121211111111211212212222121222221222121221121211221122111122211221222121212212222111222122122212122122122122212222221212221111211211222121121122122122222121212211112122211212221211111122112221221221212111222112221221112211221122111211111112222112212211222222112222122211222211112112111212111221211212111112122111221221222112121111122111121222122111112222212221221111122212111222121122112222121222211112222112222222222122122121211111212122221122212112122122212211121111111221212121112211212221212121221112122122112112122122211121112111212212211112222212221212121212212212212111111211122112222122122111221121212212111112221121121121212111122221111212212211121212122212221111221222212122121212111112121221222121111222112221212222221212122222122122221221211111221222112112212111211211212222222122211111222122111112121111212112211212222111112211121111111222122222122211211121121221112111222212112122211121211221221111112221121222112111212222221122222211212111122221111212212211222212112112211222211221121221212122112212111212221121122222122211122122111112222221212121112212121211222111222121121121111112111212222121112121221211211221221222122222121111212122222221121122211221221212121211111221111112111211121111212212221211222221222211212111211212121121122112211112122121222111211121121111211222121111212121112211212211121222121212112121212212221122221212211111121112122221121112212222121111111122221222112121111112122212122221112221112222121111122121222222111211212212222221222211111122221122221222121221211212121112111222212212211111111222111121121222111121221112112222122222211222122112222111121222221222212221211212111111121121211121112112111121211212121221212112111111221112112211121221111222122221211111121121222211111211122121122212112222112112211112122121211121211111121221112112211111222211222112222222212212121112112112222221122221221222111212121111111212111212211122122111121211212212211122211111111211112112122212221222122112121112122212111221211222212122121121121211122121111211222112212211122112222112222111121121121222111212221122212221212211222121121111121221111222112212111221212212211121122212222122222122111221121122112121221112211222112211221111121222111212121111121212111112112221111212121112112111112122222222122121222221121212211222111122212211221212111112112211222221112111212112212212221212222222122122221211212111112211112111111112221122212112222122111211111122122222212221222211221122112212122211211221222121111122221111211122111211221112111112212122112111122121221111122121112122221212222111111112221112122112221222222121221222112122212112111121212122121211212222111121212221122112121222112121111112211111212121111212222122122211221121211112112112222121121122122212121122212221121122112221111222111121211221122121222122212122112112221221122122121121121121111122212112121121211111221122212112221212221112111111221221112212111121111111222121121111221222211212222122212112222122111122122111121221121221122211222211112121112111112212122221121121212212211211122111112112212122121111221222211122222121212111122122211121212121221222212122121121211211111121221121222121221212121121112221122221112222221212122122122111111212212221122122212112111221211112221121222222222212211212212121211122122121211222112221112122112122222221212122111211122122222212112111222212112211112222222211212112221122111221221112121121221212221122211121222122221111111111222211112221212121122111211121122212121121122212111221111221221211111211222122222121122221122111222212221211121221111122111211121111122112122112212112211122111111121222121121122222222221111122212211112121121222111211111112222212112121122212212211221122121112112111112112222222222112121222111122121112111211221122212212222222121222211222112121221211212121222221112212222221211221112222221211212121221221211221211112211122212212121222221112222112212111221111122221122122221212212221212121121111112212122212111212111221121111121121211211112111222222121221122121112121111212212221122122122122211222111211122112221121121112122121111222112112221112212211222122112212221221122122212211121111111122211222212121122222122211122222222212112221122112211122111222222121121211221112122121212222111112121212222222121122121221212122112121112111122112111221112221221211222111121112211212212122211121212111212221222222121121122211211112221211122222221211222112211222111222121221222112222111211212111212121222112221221112212121222221112122211112112221211121211222122122111111211122222222212212212122221212111211121212212121221121221112212212112211211122222122111212121212221112212111212111111211211121111212122112222121211211211221212212112211112112211211111111221211212111111112121222121121221112222121222211111112221112111111221222121122222121122212221112212221112122221222212211121111122112221211212222111211121121111222221111221211121211211222212122112121222222112211211221112112121222121212222122211112122222111111221211122212111111122121121112212211212121222122111221211121211222212211212212212211122211122211122121121211222112212212212212211222221112212111112211121122112222222221212112122222112121121222221121222211112222212121211111112122111112222211111111111222212222221112121222221112212121121221121211221121121121222212122112222221221211222112122222121112111121222212211121112222211211112121121111222212122211112221111121112221222111212221112111221212212122211112121212222122221222221122122111212211122211121212212121211211112211212222112111211111212111112122222122122221212212211211122111112221112212111212111212211111221221222121211211222111111212111121112111221122221122211121221112111212122112222111221222221212221111212212212211222212211212211222211211212121222122212211111222121212222112122222121122111112121221112211111121222212212222212122221221212112112122211121111212122121221121111211222212222122222211112222222221211221221211121112221122122212111222112211111222221112121222211221112122122122212112111112221122221122122121212221222121212111121221122221111111111121122211111112121222222211112211211112212121211122221122212121121111212122221111222111221211212221122111222122112112122222122221111221211211111112211111221221122222211121111222112112211112122122111111211212111222211122121222221122222212221211211111111221222221212111111112212122122122221221222212122121121112212122222111212122211122221221122221111212212211122121221111221112211112212121221122222222212111112111122221121121122212211211211111212211221211112122222221222222221212212112112222211112222212111222211212222221121112212211211221212211112211221112121211212111112112121112111122221121121221111212221112222121122221212212212111222121112222211211212112212221111112222122211221221121222122112122222121221121112212111212212112222112111121212222222112222121212221112221211212122112112121221212212211221111222221212212211222212221121212112212122122212122122112112122212111121222111122111121112122221111212121111212211112111221112212222221222211222122212111211111111122122121111121221211121111222211112211121211111111212222111222112221122112111111122212121112111112221122121111122221222212122211212111122121121122121121212211212122122112121111221221111211121222222112222222122212211221111211112212112211111222121212122212121122212221112222112221111121112111122211222222111111112122122221211212221212221211122212222112212221212122111122122111122122112222122122121212111122122212221121222111122221111222111212212221221111211222211112222122111222122111111112221212122221212212221111212111121221122222211121211221211112121112222212211221122212122211122121122121221112121121111121112222211111122122212122121121211221122111211212222212222212222111222212121122111111221112122121221221211121221212212222122211221222121121222121122211222112111111221212122211211122212122212121112221112112212112222111112112121222122122212111212211221212221222112221211122121111211212121121221212112121212111221222121221212112222111211122111222212111212222211112122112122111211221122111221122112122122221222221122212212221211121121222211222121222212212111122221121121211121122211122122112212212222112112212211211221112112221122212122222211122212122221212222212212112222121122121121222111121221111121221112211121111212111121211121112112121211221222222111221222212122222212211212111211112212122112121212121111211111211121122122111121112111111122222221222222212221212121112212222211222112111111211212212112211221112112222211221222211222112221111122112221212212222222222122111121212212121211112121111112112122121111121221221111111221121121222122111222211112112221111121212211121122121211221211222222121221121111121211122121212221112222112122211222211211212222121222122211211211222212112212112222211112122212211211221121221112221212112211112121121121112121221211212112122221122212112112221221222211112212112112111221121212122111221221112111222111111112221222121222221221222112222112112222222211112122112211212122221212212222222212211111122122212211112112122122211222112222112211121112222222212112211222122111211211212221211221111221221122222112212222212111111122112111112121221222111211211111221221222221222111221112112222111212121222212211121122122112222211221122122112222212111211112112211211222211211212221122222121212222111212222211212222212221112111112222122121212111221222211121211111221111111122112111212211112212112121121221111112212211121212112212112121221221221212121112122112112222222122112122212121111111112222112122211122112121211221212111211211212221112212211211112222221212121121111222211122111211111222221221121121112122211211112121211112111112221211212212112121112222111212222222221111211112212211121111222211211222221222222212122112222121211121111222111211121222122111221222222112221112111221122211112112221221122212111122111121112122222211211212121221222112112222221122211111121122112222212111111222112122122222212111222111222222111222121221122221212111122211121111121121111212211212121122111211222122111122211121122222212221222221221121212122211111212112212211211211221112121221122112222112212122211222211111222222121121222222221221211212222221221212221122122221112221122221221222122221222121112212112112212121111112111222112111111111221111222111111111111222121112222221212122221121121122122212222122211122111122211122222112122122212122211222121221121222122212111212112212221212211111221221211222111111111112211222121112122221121221112211211222212221212112122121212221121212111121111112211122221122111121211111211221121222222212121121221121122212212212112211112121211211122122212111121121121221122211211111212221212211211221112212121121221212121112121111111122122211121122121211221111221121221111121221111211121221221211121222111111112211112122112111111222112122111111221212221121122221211112211221222121111212111222211121122211112111212212122122212121212212221212222221122111122211222122211222211222122121212212221121122221122111111122122222122212221221221212211112222211121121121221112211211221221122221221121121221122111112121121122121212122121122221111111211221112221212221211211112111121121221121112121221112211211222111111212211211221111121211212221112222221121221222121211122221112212122211221211222111112221211212122212111222212211122121221211122212111211211111212111211112111111222212121221121121221112112211211121212112111222112212111221221211122121121111121222212211112212111112112211212211121222222121111211221111211211122222221221121221121211121212222122221212112221222112122112112222121211211111112111222211211212212221111211222122111222122222121112121222222111211221212221221222122212112122222221212122122222111222111112211121211112112221222122222212212211112211221221222212221221112222111111122221212222121121221221121211121212122112122112122222111121222212111221112112121222121112122211211121212111211111112111121112111211212111121122222212211212222111111111211111212222222111221211111122211111112222221111222112221112212222122111211111211222222212222112221212112212111212211222212221121222122121212111112122111111111212211211211122211211212222211121112112222121222111221112121212211122121111211111222121121121122122111212121121222221121212111112121121112111111122121221212222221221212211122121212212121222122111221122222122222112211112221122211211111111222111212121212121111112121121212112121212211221221221222122212111111111121221122211212111222222122122112211211211121221111222121122111111111222111212111112111221122212111212221111222222211221121212212221121221222111112111122112111212121211211121212211221112112212211121111121211212122222122211111112211112112212111221221221221121211121112212212221112112111222222212221221221222212211122222212112111122221212222121111211222112212211121222222221222121111122212122211122212222111211122112112221211121121211211212221121212122212121211111212121122211212221221112122211112121121112122121221222221121221121212122222111211122111211122212122221221212121122121211122111112122121221121212111112211112222121112222112222211211222122111121122121222222111222222212222122212121122211212222211211211212121221222122222211111111121121222212111122121111221111112121212111222111122222212122212122112221212121111221211122111212212211212211212221111122221211121112222212111211122122111221112211211221211221121222111211222111222212222112222221112111222111221111112111211111211211212121121222212111112222122211211111221211122211211121211112111122111122112112112222112221211211221121122222112112222212121211211111222122111122212111112111212111211212211111112212112112211112122221222211222122222222222211211121211212112122211212122222122221111221122121111211112122111221222212212111222211212122222222211112222212222112122211212111212112122112221122111112122121121111121221122112212121122122211121121121111212121222122122221112212212121112112221112122211111121111222122122211112111222211212221222222221222212121122122221121212212222121211112121222121211112121122122111212111112212122211222112222122212112122111111122122211111111121211221122112221211112121221212112212211121222122222212211112211222211211111121121211111121212122221112112121112112211221121222212221212111111111211121222111221121211212111222121122112122122122221121121121122211211212122111122222111121122221122111212221221212222121222111221121222221122111212212112222112221212212111112111222122121221212221212212122122121111121112222211211221221112111221121222211112122221221211211211111222112211212222211212122221112222122221111211211122122221211121211112112221122122221122222121222221121121212112212112211211212112121221111122221121121122111222121212112122212121211112122222211121221212212122121212121112211211122121222121122112121122211121212112212211121111211222122112111112211121111212211211121222122212112121112112111221122111122122111112112211112122121121211212222211122212221212222221111112211211111211121221122111212221112112111121112222211212111222211211111211121222111211212112212112112222121111221121212121212112121211111221222221212122222211111212121122222111111112121222211212211211211122122111112211221211122112112111111111122112112112212222212211122212212111222221121222211121121222112121122211222211221212112122221111112221221122212122222122121122111111212122121111212122222212221211122222221221212111111222221211211211212112221221212211111212221211111221122211221112221112221121221211121222112211121212221221122121222122221112221121121221122222212112122112222111221222212212111212211221121111111222112121122112221222121122111222222122111211211211211222121112122211222211222112211111121122121121121222112121212111121211112112111121112222222212212111221211222122111212212221122222122122212211111221222222111221122212122112222121122212111212112112222211111212121222122212121122212212211211222211111122212111111222222221212222221112222212211222221111212121122221221222112212211112111112111211212211111112121111212211122211122112211121122122221112211122221121122222211121212221221112222122122121122212221211121122211121221112222121212111121111112112221111121221222112222112211212222111111222122121112112211212211221122112112211112211122111212222121222112112112212211221212122221111212121111111221211122222121222212121121121211221111122212212111222212212111211222212122221222221112111111211222221122221212112212121122212121221111211221211221222211122211111122122221111212112221222111111221212112121212112121222111112211121221222121122111112122211212111122121112212212111212221111111221221111212221212122122121121122222112111121112221122121222221111211221221211111211112211122212121112112122112112111221111211211111211122112212112212111121211211221211221111121221111122121221221222221121122221212122211111111122222222221222112121111221111111111121222121211111222222121221222221112212212221211122221212112121122121221121211121212211221111112112121212111221221111222111111211111111222221212211122211111212221122212112111121111122221121121111222121222222122212221212221111122112211121211222112122111121121111112222122221112211221211121112221112221122212211211122221112212121212112122211112121212221212211111212122222111211112121221212112211212122222122121111121221222121121212221211122121212111212222122112222112221111212222111222222111121111212121112221121122122122121111122122211122122112211211121121221222221211112112211121111211212211111222222221122111122111211222211222212111212121221122222122112222122211122212111111111111111221111211112111222222211212212111112121122221112211211211111111111222222212221111121221211112221112211122222222111122222221221112211212221122212222221212112122111121212111221121221222121121121211211112122221221111112212212222122121122211222122112211111111111222221111112112121212122121121212211221212111121111111221221211122222111112212112121221212112211122112222222212121121122212212212111222122111222112211212122221122211222222222112111112211211222121212112122111122222221211112111222221111211122111211122211222111211212221211221121211222111121222222122122211112122221221111212121212121221112222212112122121211211211222111212122111121122212221111121112122111121122221212222221112122121211121122212112221221122221212121222121111111122221212221211211211121112222211221111212211121221221222212122221222112111221211111122112121222222212222111121122121121222121122222212121211122122112221211211212212212212121122122212221222221222122221222122122221212211222111121121211221122211221121111112122122121221111122112222211212212111211212111111112221112112112121222122212222111121222212212221121111222222122111111211222222112122222121111122221211212121211222111111211122122211212112222212122221122211222222212221111212222111211221112221121112112221111222221221111112111122121112222111211222222112112122212122221212122112122111211122222112112211112111122212212211211211211112222221211111212221221121122211112222121111122211112122212122222122222222122122112122222121112111221121211122121112121222121112221122112121122111222211212111121221112112211212211112222211211112211112122122122211112112222211222122111212112111112121122112212221212212112121211122212222212122121121212211111111111122112221111121211122121122212112111221111222122222221112122212112211212221211222222211122112221221111112222122111222222122122211111212112122212221222121122121111122122211212111111111212211221111212211121112222222222212222212212211111212121111121112112211212211212212211122121222111212221222221122121112121211222112111212221111212221122212221221222121222222211121122211222111112221212221222121221112122221112121121221112221121111211112221221211122122122112211121221111222221111122121121121112221112112112121211221221121112211222222211121111222211221212212122111222122221122212111111211211122222122121112212111121112212222222221122111121111111112221122212211121112112222212111121221121222112111121221211111121212111111211111211211121221122112121122212211212211211222122212222211222111222222112121111111111122111212122122221211111112122121221111121112211211212212211122221121122112111221121121212212212122112111211211122121222112221121221212112222111211222222111122122111111112221122222111112212112122211112211221122111222111112121212212222211121122111212222222112122111211111121221122122111212122221212211211221212111111221122111111222221221222122211212211112122212222222111212211121112222111212212211222221111212212222221221111212121111112111222222111121112112121111221111211122221211122111212221121221211212112122212111122222221222112222211111212121211221221111112212121122221222222121222122222112222222221112111122121221111122211112122221212211211112111212122111121111211211112122211221212112122111121222111112222121121212122222212212221221111222112221122212122122121112111211222121212121122112112211112121111111221112221212221122222112222111212111221122111112212212112111222222121221212212121122221111212121111112222111222222111212122121112222211222211111122211111122112121112112121222121212221112121111221221221211112121111222222222122221222112112221121112121222221121111211221211222122212211122121121211121112121211121212112221121211211211222111121111222211211122122111221121111221221122122122212111111121222121122122221112111212111121212122112211112112122221211111112122221112122122122122111111211112122112211111221212121121211211121222111121112211121211112222112122212222122111221211211121212212222222211111222121222121211211221222211121121121222222121212222122111122122122121211122212121111221122122221211122221112121211121111121211121222212221121112122112212211211212122211221211212111212211111211111111212112112121121221111111121121211222111222211121211121111222112121211121112111222222122211212111111222212122211222212211111221121112222221211221222112222122211222121112211211111221222222211211122122221121122221221122112112111211212121221112112122122111221112222111222211111211222121222121111111121111112222222121211221221212112221111112211112122122122212122222122212111121112221121112211221121221211121212222122222122121111211122122111111222212221211221211211111122211122211112211221111111211212111211212222211222212211112211121211221221221112221211122121222221112112222212222221122211122222222212221221211211122112122221122121111221222222221212122212121121211122222122211211211211221111212211221112212211111221221222212122122212112221211121222212122112111222121222222222112221212212212121211222121121212222211121221221211122122211212212111121222211122212222122221222211121122122211111121211121111121121112122211222111222122222222212121221122111122121212222111121112221111221211121121112221111212222122212111122122212111221221111221121221121122221212121221222111122222212222121121112121112212122111221211221122121212112111121122221111111121222212112121111111222111221121121122122211112121221112112221222221122222122221211221222211212112211121221211211212121121111222121121111222212122221111222222112122121211221212121121222212211211122111212112122122211121211222211221221111111112121121222111211211122122221122121122121112112211122111111221111111212111222111112212112111211221121221212122112222221222212121221122112212122121211111122212222121112211112112122112222121122112111212222112121212121122212222121221112221212121111221121111222211211222221222221222222112211222111112222121221122222221212122112211122222122212211211122122122112112222112122212122211112111222111121222211111211211211221221221221111221112121211122212211111212221121212222211221222121121212212112121112122222222112122121221111121211122221221111221121122122111222211121221221121122221211212221212212221121211111121211111121121122221211112212211211111212211121122111212221112212221121111212121111112221112222121122212221121221221222211111111112212112211111212212112221222111111111121212111222122222121122211221211212221112222211121221121121212111111222221221222222221212111221211222221211211112221112122211222111121222222221222122222111211221112222221222122212112122121211222121111121221111111111221222221222212221221212112212112221112122221211122121221212222222222111111111211121111212211212111211122211112222121122111111111111211112112212122112221111112212111121121122212221221221121212211111112221221111122121111212212211122121122111122221122222112221212211222212211111221112112122112111111212111222221122122222221211222221212111111211222122222212112221122211112121212211221122112122111112121122121221121221122222222222221212121212112121122121121122222222212221211211212121111211111111222211121121112211212212122122121222212221211212122221112112221112222121111212112111112122122112112112212122211112121222121121111221212111211111121112211211222111112112121221122222122112222211121111111121111222112122111212212211222122121211211212122221112222111212111212221222122122211222122222212221111111221121221211121222121211212121122212211221221112112221121212221212121112211112211211211222122222211222212222212121121121222111121221122112121111111122212222122122112212221122211212222122111121222212121122212112211112112111212121222111122222121222121122111121122111111221211211222221211112112221222112222211111212222112121121211221221212221112111122211112111222122211211222111221121111211221212112221211112221211221112212211111112222212212122111112221212121211211112122211212111212121221222112122221221111111121221121221211222122211222122122222212211222221121211221212121221112111212221122111112211112211222221211222221212222212121212122222221122111212222212212122221221212112122112121212211211211211212111211211211211222111121212122222211211111211212221112212221122212122211221212212121212211122222122111121222122211211222121121211111112212112212212211211111212212121221122112122211111221212212211111211221111112121222221121222112211221112221211221112111121112221111211212121211221121222112122211111112222122211111212111121122212211112112112212212112121211112111221112111121211112121212211122212221121212121121221122211212121122112112121212221211212221212212221111222222222211211122222122111221221212121121122112221212111221112122222211122112212111121212111122112112222212222112211122112221211121112212211121111211112121221221121112222221121221112221211211112221222112222121121212121221121212112212122122121112122222122221122121121212212221121111212121222222222211121221111121221222112222122211212121121121212212221112121222211121121121111221211111221112222112112121211211122122121121121211222212211211221111221121121211111121222212112112211122212121121111112222221221111211111221221111221221121221111121112211222211222112112211211221111221212212112222221211222111122222212212121122111112122211222211121211111122222111121222211211212111111122112211121212221111221222112112211111112112122211112222112111221111121122121111111112221221122121221211122222221222221112122112211112211111121221112122222121121121222121222112112122211222112121122221121112211211211121212211122121221112221221222212212122211222211222211122221122221221211221222211221221122221211221212221112212221212112221221121111112111211222122222212111121122221211112211122211222212212121222211212111122211221212112212121121121111222112212211112212112111122122111221222221221211122211111111122112221121112221212112211212111221112211111121111122211222111221112111221211121111111211222212111221111122222212121212122121111221212121221122112122222211212222121111222121221122111111212212111111221211222212122211211111221222211111221112221122212222112221121111221111111211221221121111111111212111222111211111112122121122221122221112122121112212222121112121112111212222211222211111112121221121222222222112211212211121222222212211211112122122222122211112121212112211222212221112111212222212121212212221212112111222212122112211111111121221212121111211221221122211111212212222122221112112211112112212212111222222122112211222121112221221111111212221222121212111111222121222121112122222111121111221111222112212112222221121121212122221122211111221122112221121211122112211121121121111222211211111222212121222121222122111111211111212121121221112111111112111111211122111111212111212211212112121212122122112221111122122122121121111111212211122111112111122211221121222122111221111112211212111121122211112211222121112212112121222111212211111222121121112121211112221122212221122221221211122221122111212112211222212112121221121122111221222212111212112211222111112121122212112212211211122221221212111211221222121121112212121222211222122122211211211212122222212222122212111111222211221111112211212211122122112122111112112221212212222122112212121111112212112212122122122122112111212121212112222112112211212122121222222222212112121211221212222222222211111112122121111112211211112112212212212112222221122222212111112121222211111222112221122121212112112222222121221111122121122121222122122121112212212122211222112212111221121222111121111222111211221111121212222212221122122111222122212211221211222112111222121111222221112112221122112122211111111222222211212222222211211111121112211121111222222212122121111121222122221112212121112222122211221211122212211212222112222122222212121121212212211221112112221111112112221121222122212111212112221212122112222121222222121222121221221121111221112222212122121212121211221222111211121122122121222111122212111211121211221222222121122221211212112222122122122111211221212122211221211111112222122222211211222111121111111211221112222211211222112122111122211221121222122122111121211221221221111121111121121221211111111221211221222112221222212122112211112121121221121222121121112212211221112211122211211121122222211221221212122211122221211222111121222121221112111221121111111211121122212222121221111121111221222122212121111122222112211211221221122211212112221222211212211122111112111211222122222212222112122211211212212121121211211222121122112212112222122211121221112212221122122112121221122112212211121221122212112221212112111222212122121111121121112212222212221122121121111221221112111212112111111111111212221212112221121222121112222122211222121222221212212111112112221121221221111111121112211222121122121222121121121222122221211111212112121111211211212212121211121212222121122112211122111212211112212211211111122112112211222211221221121112222121111212112222222222221222212111222212112111211221111222221112221211122112212112211112212211111121212111122222122211121212121121111112112211221111222222222221222112122211221211221222211111221212212121222221121111212222112112222122222121111221122121122221111111221212212222212121111222221111212211221111212212221122211111121212211222122112112222221112221121222211212221121112211122111121221112221112122222122121211122111212211221111222112221111221222212222221222212222221121111121121121211111221122222212111111122121221212122211112221121222121121222211221111111221222121212111211222222211122211221222221222121221112122212122112222111221111211211221112222121122111122222121211212222222222111212111111122111121222212211211121221122221112122211211111212211121222121111121112211111112121122222211211111112212212111111121211221211111122112122111121221222222211221211222222111122222222221211212122212222221221111221211222122111111221121222211111222111121222211111222111122211111121221111121111212222111221112112121221212221121121221221211111212221221121212111211122222211222212111111221211112111212211112211222122121122122111221212121121222222222111212122121211111112211222211111112122121122111221221112221111221122111121211222111212212211111121222212121211112211121112222121221222222121222211111211222112222211121221111212221121221112121121212211112212121112211122121112221111111121122112112212111211121221121112212222111221222122112121222112122212222122212222121121212221221122122112122111211221121211111212212212121211121211111221121211211112211111211121121222111212211211221211221122221121222212122221112111121222121211122112122111121111112122221221221211211111212222222212211221212122121212121211211121122211112122222111112122111211212121211121211222111121122221211111112111111122211212211221112211211122122111212122122211121122212221121121112122222122212121111121222122222212122212112112121221221221112222212212211222222222212222211122112112112121211112211212221211211112212222221212111222122211211112111112212211111212221111212111211222222221221221112122111122112122211121211221212222112211212211121212112221221212122212111121121111121112121122222212221111222212121121221212221111221212222111122111212111111111111111122122212121212111121111122122211112111112112221222122122122122221112112212112122121122221121222121111221112221111221121221211211122221111112222211121121211112212121121112112112212222111212121111222221121122122222212122222212211221121211211212121121112211121122212212212221121111122122111221211122212222111222212212221121221221121121211222212121121122122212211111212221121111121112222111212212212212112212211121111212111112111112211211211122212221211222211222212112211121212222212122222112221112121112112111121222221111112121222111122112111221112221222112122112111221212211121221211112222111122211112122221121112122111121211121112211211112212111212212122221222211121111211121122111211221221221121212112121211121222121121112212221221221112112212112121121112121121212212211112121212222112211112212122121111111122222221211121221112121221122111221112112212121121222221211122222112111221111112221122212222112111111221121221111211212211122221111211211122122221222121221211221212122122112211111222111122112221221111112111111122121111122212222112221121112211121112211222222112111222121122112122111111222222121122111111122121112122212221212211122112121121121111222122211121121121222121121121211111212112221211211122112112121121212112121211112221121212221122212121211211212121121121121121222112212211122212122222112121112112121111122122211222112122111112112222222222221222122221211111212121221212122112211211221112211221111111221111211222121122111222111212122121121111211112222211121222121212221121221121212122212222121211112122112221221212211211212212212121122211211111221212112122121111211122221122211121111211121111112122121121221212122212211221112122121211222122222221121211122111122121222221112222112212221221122121221221121221222222211221121212121222121112121112221121111112112121222221221211212221111211212111121122121222111212221112122221211122122222122111112222122212121111111121112212221111122112211222212211221221111212221122111111111211211122112222211112111111111211221121122212222211112112212121222211212111211111212121211212122121112221222121122122212211212211211112121221112121111112111121222121221121111121221112121221122121221212122112122211221222211212211212212212221111222212212112222111122211222111221111211212112222222211122222222112211111111112111221121121211211111121212211112122221222122221221112111112211111221112222211122112221221121122122211122212211112122222222111222211121211121222122221211221111211222221122112221222122212212222221111122211221221122222122212211222111221211122211112221112122111122222221212121111121222211222221212221121222211211122122112112211122112211112211211111112121222111111221211222111111112222122121211211211122111112121111211112122221112222211121222111122111111112122112122112122221112221121111221122121211112121211222122111121221222211222121121111222122221121222221212221111111121112111111212212122111121221222112211222221112222221211121122211222222112212112222122112212221111212212212211211121211111122212212222122212112121112121121122212211121222112112222121111112121122112211222112222212212111212221221222121211211111211212211221212212112111112111121121112222111112122121221112211211211112111211212212112222212211212212121222212112222111221111222112211121222111121121212221121211222212221211222122111211222121221212221212121111112111121221222121121211222122122211222121111212122121122212212221122111121212212112122122121111221222221121221221221121122221111222121221112121121221122111121111222212111121122212122222121222212222212111121222111111221212211111211121211112221121111121121121122212122111111112211222222221221221221211121221221112112222112121222122112111212211112112121211121221212222121212121121112112211212122122211122112112112222222211211122212221221221122212212121112121211211211122112112121122211122222212221121112112212121211122212121221222221112111112212212111221112111221122222111111221211121212212122111211112222222122212221221221211211111222121222112121222112122112111212222112211222212112111212221221211121111211122221211121222212221212211111111211222221221222211112111222211221221212222112212112211121222122121121222112122221111112222122122111111212222111211222111121111212221222211221122121221221212221221121121112122111211212111221112221212122212221112211222211221221222222122222212111122112122212122212111222122111221122122122222221121122222122221222211221221212221222212221221111221212121122111121121222112222121122112211112212212111121112222121221221222122211211221212222221111122222112221222222211122122222112122111221111111121112112211212221112112211221222221212211112222222121122111112221122122221221122121121221122111212222211212112122212212112121121221222112121212111212222112122222212211111121112111212111222211121222221122122122111221122111222212212121112221212222221112121122211111221111121211222112122111221121221212211111212211121122112212221222212221212221112222111212221121112122121112212222122212111211222211212111212121111111112112221121221212122111121111222111111211111211111112122121122111122211112112122112112122211212122121212211211222211222212222212111211211112222211111222221122111212211221222112211122121222112121211112212112121222211112222111121212222121221211122122112211212221221212211221112111221112212212212112112122121221111211111222212121212122122222111221211212211112212222122211212121122221112212212111221121211221222111212121112122212112112111122221212122212122212221111221112121121221112211111212221211221221211121122211212122211121111221212112112211221211111121221221112222211222112122221112211112222211122221111221112122211111212221222222212112221222222112221111121222111121211111112111111122211221212122112112221111121222221111122211112111122112111211222212211121222112112212122121221122111212222121212112221112112222211121211112122111112222111222221112221221112211111212122211112122221222211122111122122221111121212112211212112122111122122211222222121121212111211112112221222111212111222211122121221211212221112121222222212222122212112211222222112112211111121212111221211122211122212112111212111111121222121222211221222212211112111122222221122221122121121121122122211212112121112211122222211222111121221221111112112212222221221112222121111112212111212121122222121212212122122211221211111211211111111221211112111211111112112121221211222121211112221112221222122222211122122212212211112111211211212222222222121211212222221212221112212212112211221212112121112211122221211212121212211111121221111121211211212221212222222121122211121121221222112211122212221121111122112111222121112222222121222122212112122111222122211112222112212212111222121122111122112222111212221112211121112122211212122121121121111122122221211122111122222211211122122221212221221112122212112112111212121111122122122221122212222212111111211121221111122121211122211212222112122112112121122212221122221211111222122122221121122211121222122121122111112212111122211121112212121221222121221122221111122122112121111121221111212111212212121121221121122122221222112212112221121222122122221212222211221222122112111211212121211212112212211211222221121222211221211212221211211112122121112111221222211222112121211111111221211122211222221122211121122211211221121221121122211121222121111222212112212121212221221212221111221212112112122211122121111121121111211212111221212212121212221121211122122221221222221121122121211221222121122112121111212212211122212221121222211121222211121121211121221122211121112212121221122212122221222121112222121121211111121221121111122111122122111111212122222222222222222222222111211122222121221122211112222122211221112122121112112112212221211112211112211222212222112112222112222122121212222211121121121212212122112121112211112221212222121222212212111111212112222122112122212111211221111221212212221122221212112111111211121112222111222112122211222212111112221122122112111111221212112221211221211112121121211121222122212122121112222211221211111111221222212222212221112211112221122211112222221211221212212122221212212221111221222122222112112111211221121112211211222122211121222111222112111112122221211212111112121222221122122211121121222221112111112212222211212111222221212111121211111112122222221122212112221121121122111112111221122122222112211112111122111222121111121211112212121221221222211212122122212112221121122211211211112222222212122122212211211111122212212122222221221221111112111222222111211222121122222112121222111211112112112222112221221122221121122221212122121212212222211112222122221221122222212111211112111112111212221222122121122121122122121222212112211222221121121111121212211122121222211222122211111111211111122122112111122111211211221121221121221211211121212221211221111212222212222122121111112112221222121211111221221112221111111112112122212111221122122121111222221222212122222121111211212111222111112112212121122221211121122122212211222111212121121222221121211222211211211112112121122222121112121122122222222112122111111211121122111122121111221212222121111221121212111111212122221111212112212212222112112221222222211121212211222121121221112222112122211222221211221122122121212221121221221221112122211111222222221211121211112121221112222112212212211211112212222122221121112121211122212121222211122122112122111122122221212221212122222221211122222122122222122212211111211212111222212112112121111221121112121222222112121222112121211122111222212222121111212212111122212111212211221222112121212221211211121222122122121211211212211212112112112212112112121221221111112121121221211112211222212121121112112212212212222211112122111212211121222112211122211121121121212122121121121112122121122111122111121221211121221221211211122112121212122221112122212222122211112211221111121112211221222212222222121211211211112111112222222112111212121222222222121121211121222222211211211212112211122222211221221122211221221222122222121221111221122222112122212122112111112212222212212212222211211111221121222221212212121112212112212211112211112112222212111121211222211212222122112211121121122112212221212212212222111121222112222221121222122212111222211211111222222222221221222221212211222111112111112212121121212122222211112112212122211112112212112112112221121121112111122221221211122111112211111111121122221212111111122222211221121112121222212211211222222112212221112212112112112111211111111112121221222221122112212111211211111122112221121112212121122111112111121211121221212212112121211211211121111211122122221111121111212121221211212211112222121112111222211221111221122122211221112222112111211212112211121211112121211212212111112212122122221221221212111121212122122121222122112112112211212121111222112212221222221121122111121122221111211112121211211211122112211122212222221112221211221212212121211211112112111222211211121111221221112221221211222122122222122112221121111111221212112112112212111111222112222221112212221222112221222112112121121211222112221121111122111112111211211211212112121112222221221221121122112221121122121212112111112122122122212122121212112221121221221121221222122222221222121211221211122121111121221121111212212221122222212212211212211222222212212221212122221211212122112221122122112121211221221212211211221221221121212222212222211212222221221212122111121111222111212121121222111121112221212212121121112222122222112211211122111211221122121212221211221222222221112222211121111121111211112122221222122222111211222211111222121121111121221212111212221222111211222121211121222112122222112211222211112121122212122212221221211121121112122221222222212112221122222122222221211122212211121121121121121221121212222112212212222121222221121112121212121222112222111221212221212121112222222212122211221211221212211222211221211121121122112111112212111122122111122121122212211211121121112121212211211212111211212112221222112121222111111121222122112221222111122221121222221112121221221221111122112212112112222121211112121221112221112222112112221111122121212222111121111222121221212222122221122222212122221111212221212212122112211111222212122222122212211112112221121121212211121222222221222211111212122121222222222212112111111221121111112111121211222121222122212121122112111222212112222122121222221122211211121112112112212121122121212111122121222222121111212212211122221221121121222122212211121122222212221211222112112111121111211111111121121122112122121111112111221212121211121211112221211121221211122222122222221111111212111211121221221211221121221221221212112112221211112111112121212221122221211221222212111112221221112112221121122211212121212111111211221112211121212121112122121211122212122122111121111121222112222221112212211111221111122221122222222221222122222222111211122111122211212211122211222222112112111221122112211212111221221112212211112222112122122122221211121221121222112111221221122211111122122122212112112212111221221211222222222111112221212111212211122221221121221112111211111222112221212211122212221211112122221211121111221111112221221211222211111111112222211211111211222111212212111121112111122221112111122221212221222111111121212111112111212122121222111222111222221121111112122122111121122221211221221211112212112221211111122221111222121211111222221211111212112212221121112112112112121122212121121121112121221122222112221222211122212121122112122212111112211121212211211122221112111111211221112211112111211122221122111121222111221122122111111212112221211221212111122111221111221211111121222111122222122212112212222112212121211212212122221112211112222112221112111222212111221111222112211222221112112221112212111221221112221222112211222221211211222221111112111221121222112112122111112112211221211122122211222122212222212112222221112121221221111122121112121111221221121212112222122222121221122212111122122112221121121222112122221111121122122122222111211111111221111222111122212211112112211112111221221112112222122211212221121122222222212211212112221211211111122212212222222111212121221122212121112122122212112212211111211221221111222112212212122211222221121222221112212212122111111211222221121111121112121111111221111112222121211112112222211122111122212111122111222121121122222212212221111121222212111221221212112112111222212221111212211111212212111212211211121112121112222211121221211111222211111121121211222112211211112122222112212112221111211112111122122221112111212122111212112221112222212122122121211112212122122111212121112211221221122122222112111221122212122222111111122211212122221122211222121222112212222122212121222221221222112121222221111222112212112211221112222122111212222112121122211121221111212221211121221122211112122211121212121111212122221221211222221221122212122112122211211212222111221122222222112122211221112122121121212112112212121221211122122112112122222112112211212121112211112212111111112121211212211112212221212221211112212212121121111211212112211212112212211211112111211222211111222122122111112122212222212211222221221221212122122221112211222211211221111111121211211111112222111122112121221222211222212212211121211121111111112212222111222211221111112112111211111112121211122222212222122211122121212112211222211122112122112221222212221212211212221121222222211222122122211211121111121222121222122121212211222111112212212211112122122112212112221121212112211112121221212222111222212222121121222122112122122112121221122222222112211221122212111212221122211222121221122211121222122121212212212211221211222111221122122122111211122212122111122111212122221222221212221121121111221112121111212222122212111212122212121111222211212121221221112112121122111221211112221122212112211221122211211112212222211112222122122212122111112212222211221212211221122222112222111211112111212112121212122211212212212221221112122121222221122122121111222211112121222212121221111112121211122222111212111122211211211121221122122122122112212112211122211222212112112111212122122111221212122222212111112222121222111111111211111111221212212212222221221121222121212211121222221111111212122211221221122121212221111221121122112212211112222112221121222112112122211222112122211122222221121111111212111221211111221212211212112212222221211211112112121111112222122121211221122222222212211211222221121112112211211122111222221121122222212121221222121211121221222121222221222111122211112212222122112112222122212212121122212122222211221122222222111221222221222122211222121111221221211212111211122212211221212221221122221121122212211221221112222112122121212112211111221122112212112122122112212121111222221222222122212211112222112121221211121212211122111211111212212211211211112111122122121211122222212222211121212112121111111212211221221222221221111212221112221211112122222221112122221222112112222212121112221222222121112221122112122121121111212122121222211122221212211221221222112212221222111211222211222221121221121112212222222221212112121112221122122122212112122112211121111122122122222122121212121122112122221221211211122222122211112122111212111212222121222211122111221212222221121212212211212121121212111122112122222222221222221222122121122222222212212222211221222211121221212222112121111222122121212222222222121121112112121221221112222112112222221121221221111221121121112222211221122112121222112221121211212222111211221221112211222222221111121212222122112111221112222112121222112122212122212211111222121211122221221211222111111112111122212222212221121212111111211221212112222212121122111121212112221212211122112122112221111211221222122222122211121121122212211211112122221122211212121212122122122121111122211122121222222122121122211122212221211221212121122121122121112112121121221112211112221111211111211212122111112111122222121121122221211212211121122122221112222121222211112221212212221112222112112221221112112122222111222112122112121222111122121221212211122212221121111212212211121212121111112222212121111111121112212121222211112222121211212111112212111221112111121212121211122121212122212222212121211212121211122122111221222121211111121212122121222212211212121112112212111112221111222112222121211112122222221212221121121212212221211122112111112112211121111112221222121212221111222122121122211122222211212121212212211222221212211211121211111222112211111111121111111112211221121211222222211122221222221112212111122221111211112111211211222221221221221112211212112111222212121212112222222211112222211211212222122112121221121122222211211212211122222211221111221121221111112112122212221222212221121122121221122222222212122222121211121212212122122122122221122111222111211212212212111122221121111221111122212112112122212111221111122111121121111221222212222211211111222121112212111211121111112112221112211122222111212212221222112212111222111121211212211121122122221121221121111221112112221222112211111212222122211222121221211121212111222221112112112121221121121122112222111212122211112221221212112222211212122112211221222112211222121221221112121121221222122211121111221122112222111122222212222211222212121211212121111122212112121212221122112112211212221112211121111111212212112112112112122121111211221111211222112212122221222111221122221222212222111122121222112121222221122222221112112122222122111212122211221121222121221222111221212121221211212211221121112222222212211211122211212111122121221212211211121212222211221122211221211122221112221111211121112122111222111211222211222112112121112111112212111112122111221222221211111121121112112121221111211111211121111212122121211112121112221222212112212221221121112122121112222112211122221112111211221212221122212222112221122111221212112112221121212221122221212112111112222111222112222221212221121211211111211111121222221221121222211211122211222211121212121122212111212122211112111222212122122211122222111121111222222221112111122221111121112112212211222211122211122222212212211221222211122221221211121112112121212212112222111112211121112121212211121221112221121121212221121212111211121222211212212112211222221112122111111221211111121111112122212121121112212111121212211221211221111122112221221111222112221111122211211112111111221112222221112122212111222212112111112222111211211212112212212212121122212121211111122122222211112222222211212111121211212212121121212212212221121222211211111211122121122121112122212111122221112211221111112112111121112211112222122112111222212122122112211211211212221111212212222122111221211122221221212112112212222112111212221111222112122211221221221221212112112222111111112112112211211221222221212121222212221121212122221221221112121112212112122221212222211221212122221221121111221211222122212221112112121222222111111222112212222122111212222111221111122222121111112112221212212221122111221222122212212111112221111211122221222121221222111212122212122121112221121111111212221222122112221122211122212111122122112222121121112222112222111221222212212221112121212211111112222111211221112112221222122111112222211211111221122112212122221112121211212222121221122112121222212111221211122222221122222111111112121111211212222212122112112221212111121222111122111221111112222111112222222222122122112222121222212222122122222211121111111121211112122211211221221221222121211221221221212222212222112221222122122221222122212212112122211112221112211112211222112222221112221212112111222112111122212111111121211211122221111212121211122221121122112212111212111211122221112112112212212112212112221221221222221222222112112212111122212122222122222111222112111121111222211112212122111111211111221221122222211121122122121121122121111222121122222121112222122111121222221211121121221111122111211121121212111112222112212211212211121122121221221121222112221122121221112111222121221111211112221111222221122212211221111112121122121221112111121111121112211112111212111212222122211221211121212222112221121221122221211122212112211121122111122221221121211112222222121222221122112112122221111211122211212122212111111112112211211121212122112121122112222211121111121121222122112111122221122221111211122211211212212222112221212112122121121121222221221122122111222212112121122122222211211222212221121212112222111221212121222111221221112112122111121211211122212211221221212122112212221222212122222222112122112211121221111211212211121212211221111122212121221221122222211221111212112112122112222221222121221222212221111112222111121122122221121211222111221211121222221211221222111212122212211111212122121222212212212221211221112211221122211212221111111221112211121211112212222111211221122111121211212112211122221212122222112121222122222222221212212212221222112212211122122221121122221111112212222121211121121122211221111212121121222212112121221222212212121221122121222121111222222222221111221212211212112122121221222222122122221112221121111121112212221222221211112112222222212221222111122121221212112122121212222221111121112212112111112222122222122211112111121122122212222222112121122212112112222212112221111121212212122121111111111112211112112222111222211122212112221112111211222112222111111212221122222111111212111221221212212211222122222121211111121112211121212212222112221111221111211221122112211122121211222121221221112122221212111111222112221111112111112222122112212122211222112212121121221221112221112121112121112122121121222111122122111211211211212222212212121211222222121212121211212122122212222222221112121221221222212212122111122121222121222222222121122122112112121112121212112122211111222222121221211112122111121111111121222212122221212111211112212111121111111222112112212212221222112212122221121122221212121111112111221212211122221111211222122222221121122211221212112112122212112111221212221122121111112111221112212222221221122212221211222221212122221211122211122221112111111212111221111122221112112222221222121122122222121222212121212111221211121122112121221211222112222111221111112211111111121122211121221222221111221212221122111212211112121212111221222122111212112122222212111212112221111211211212211221112112112111222112221221112211122221121212111111221221221111111112121121122211111122121121122222222121121122211211111221122121221121221222112221212211221222112112211212212121212211222112212121122112111122121112122121221212211111221211121222211112112222122111122221122121122221111212211222112212111211111122112211212211211221122212221121221221211122121122222222121211212111111211111211121211112221111122211212121221111122211122221212212222111221111212221122121222221122222212211222112122111112222121121112222122222222122222112111222212222121111112212111112212211222221221112212212122211211221121221211212111222112122212212112111112212122212222111122212212221121222221112111122112222121112211112222122121121122111121222122212222212122121111111111122212211122111222212111211111212222222112211222122122122112111221222221121211121222111112212222211222112121122121122212211222222211221122212112121221112211122221222212212122112111121222212121211121112222121121122112212122121221122211221221112111112211222122222211221122211121112212121122211122212111122111111212222212211112112212222211221212222122112112122211112211221111222212122121112221112121111211221112212211112111121121112112121111112211112111212222122111112221212121112122111212212112221221222112121211211221122122112212221211221121111121112221211112211221222121221112212112111222212221221121212112212112122221121211121111212222122121222212111111212122121212121112121121111212211222222221212221122122112122222112211221111112122112111212122111221122111221112211122212211121212112221121121222122222211222211222122221112112111122212222222112112222121221121111222121111121221211112222122112221222221121122112121222211221212211112112121211112212221112111112111211211121212222121222212112122122221211221211221111222122221111222121211121111222112221122221122211111221121222221111121112121112122121222111121112212111112222121112212112211111212112122222122212222212221121222221211211112111211211221212222112122111111112122221122121111212112212121111111211111221111221112211122112221212121122222221221221221221121211212212112121212111211111212211222121111211111121121211212121112112112222111111221212111222221211222211121222221122111112122111111211222211122122211221112122222212212111112211111111112221211122111222121221222112111222212221112111122221222122121111222222211211121211122122212221112112111212212112122111112122212122121211112112121122112122211211121122121221222121111111221121221112212112211222122112211112211222212211212222112222121112111112122122112112122221221221122111212121211221122122122121211221212211212112111111222111221211211112121211211221212112221111222222221122212121212111121222222222121121121121111122112122211222212222122121111111221211211211122111122211221121212221111211121221112122212212112122212122121111221221121111222212112222212211211222121211222221211221112222222112212222211111212222212211212212221122222212222122212121211111111111222111122121222212111111221122122112121222121222121211222211221212121222121122221211212222122222212111222222112221121112122121112222111221121222111122222121221212222222212212211212222112212222121111222112221211111222222111222122222121222221221111221222121211111211111211122122222212111112212122121222122211111212111212211112221222121121122121121221121112221222112211221121111211112121121212121112211221211122111221121121212222211211122221211121211212122211221121221222122222121211222112122122111221122111111221212121122112221221122111121221112222122221212211121111221121211122111122111222122112121221222121212221122121121212222122211111111211222121221212112111122222122211122112122121212121121221221111212222222111211122112112111212222221222212111212221121111111222111121211112111112222122221121121122112112111111222211111112121121212111212211111222122222122111111121221211212121121221121111111211112111222112212222211211121121112212111121122111211111222122211111221111122111221222121222112121122211221122112212122111221221111221222111122221222111222221211121211211121212121211221222212211112211221111221211121222121121111111222222212221211221212222122122121221122211112111122221212211111212212112111211111222122211221111111122212212221122221111222111222111111211122112221121111121211111111212121112221211211122112122212222111222221111212211111122122121122212111222122212112111112112122222111112122221211221122112222211211112222222211122221221222212221111121221211111112221111122122222212222122222211112211212222121122121112111111211212121211121121122212212212122211111121212111212111212212221212122221211212222121121121122111221122212212112121222121221112222221212212212212111221111212221112112122212112222221112212222222212121112111212222211212112221211111221122212112121112212212222211121212222121111222111111122122221111221112222111211221212212122112211222212112211121211111111221211112222211211212221212112212221111121122211112222122211122222212112112122212121122221211121112111111122121222212222221221122221122112212121222211221111122211112212112222121212122212122121122211221212211121121211211112111122211222211122111212112221221121212212221122112111222122122212212121221111211121211222212121221111111112222112121222211212212122111122112212122211212112211212222212211111212112121121212211112222211122211122121221122221221111122221112122212212111111112121212121122212121122222111122122112222112122122221211221211121212222222112121122121122212211111111212112121221222212121222122212111222121211212112221222221122111111112221211111212111211121221111121212112221222222212222222121222211121211221222221122211111121211221112221121122221122222122212212211112221112222121221112122121221112212222122112111122221121111122121111211121212111111112211111222211221222221112212222111222111221121222221221212212222112122121221212211111111111222121112112212211121111211222122221112212111222221122221211122211222112112122222122121212212121121212222211122222112212211112112111222122222121112111211122121221121112111221112122222121221111222212122212122222221111112112122222112122111111112111121211112122112121121122122222122211211222112222222212222221211221212112212211121112122212121122111221112111121212121211212112211122122211211111221112222121121121122221122222121121221221121221112111212111121212211122111211122221122111211122221212121222211111122121111111121222122222211211221112211122212121212221212112222221211121212221112221121112111212212122222211212112222121211221222111111121221121221121221121211122222222221211221211222112221112212122221122211121121222211121122111121121111122112112211121211112212112122111212112111111222211112122222112122222122212121221111122221112121222211121222222121121121221122121111211221222222112212122121212111212111221111222112122211211111122111111212212112111221211111111122212221221112121122122211222121222121212121211211122112111111112221211221211212121112212211222221222221121122112222212222221221121221122211112121221122211122212211212221212212221111212111111221111212121212221121222212221212111121221222211211121221112221122211211222212222221211221221222212112121111112221222121112221212112112221211221212122211112111211211212211121111221221112111221122121211212221112211111221212222222111221122211121212111122211221211122221111211221212222112211112211221222221121122112222111122112111111111212221122211111111211121112222211122122211211122212212212121221212112111111211221212212111221222122111221111111211222122222122121212121222221222222221111221221212211222112211222122122212121221122212222222222122211212212111211122112122212112112212112221111222221121112222121211221122112211111222122122112121112121222211221112111111111212121212222121112112112211222111212222111221221212211222222121222211111111211122211112221211122111221111121212112112111222222222222211212121121221222222222121121222211112222112221221122122111211112222111121212122211221221122211121212222222121221112212111122121211212122111111121112121112212121212212111112221222121111221121112212112122121211122222221222221221122122222121122112222112121122112111212222121111122212211222211221111121111112111121221222112112122122122221222221112122112222122212121211212221111222222222121111122221211121221221111222122112121112112111122211121112112222122221211212212111221111221112221211112122122222212112121122222221112222222222112112221211221111111111111111222212121211212121122111211221111112211111212122222112221121121122121221121221221212111121121221122212111211111222111111211111211111122221112212121121212222212212222212222211212121111221211222122212111211211111121221212112212121221221222111212212122221111212211222221212221122212122122111122121122221222121221222212222111122221222112211221211111222211212222111112211122221111221112121121222211122122211112211112221112111221121221121121211212211122112112211221112222222111121211112212122222112222111111221111211221111121222212211121212211122211222221122221122222112211222222222221112111122112221122212122111212221211122121121222112121212211222221111112121121212222211221111122112212112211121211112221222112112211221111211222111121121122112121112112112112111121121212112111121122111222112122122121121212122212121121211111122122122211122111121121112212121112112221122112221111121122221221121211122212221111112111111112121212112121212211212122111111121121211122122211212221122121212211221222222121111112212212212212122112122221111112211111122122221121212121221121121122211121121111122121121121212222122121221222111122212222221112211121211221222212212222111112221111222212222112111211111212212212212222222112221112121222212212122121212222112111212111212111211112121122111212112211221112212121211222122122212112212112222211211121111111221221111221212112122112212121212111211121112211211211122122122212112111111111212211122111111112211211122111212122111212122212212122112112122121111122111122111221111111121211112211221122211111111221222122211112211112221221122122111121111212222112122111212222111221121122221121112221122112212122211112222112122111221211112111112112122211212122222212122122221111212111212112122212111221211212112222221121222122111211222111222222122111222222211211212112121211212221121121121121121112212111211111112121121221121212211221122212112221121121112111121111111221211112111221122112121222111221211121112211111121211121121122111112111122221122121121111212221122112111222212121222211111112111112212112211122212111111112111122211212121222221212222122122112212121112122122112222222111211122111121212211122212111111211112211211112211212222222112111222211222111211121122221121222111112121111111111222212111112122222112222212221212221221111112122122212211222211122222122211111221121222221222211112121211221212212112211212112222122111111222212211122122121211111111221111211111212222112111212221111221221212122212122122211222122121121221211122112111121221122121221112122222122211111211112212121212221111221221221122122111121121121112211121121122111212111121221212211222122122112222212111121221211221112211121211112211122111221112111111111111111221121122112211112122212112221211211212121121212211111211222112211111222222122111112112121211121112121221121212121221122212112212122222221222221221122221112212122111122111122112212221211112222212121122112221112122121112112222121121212112112222111111211111211211212222212111112222221212111211221211212112121122211222221211111212111112111121222111122112212112112121122111112122212112121112221212111121112112221121222222221222211221212212122211211222121222111111121121111222122111112221211211122122122222121121111211111222221211111211112212112212221121121211121222211112121212211212211122212122211212221211122121212122211221222111122111121211111112111222122122211222211112111121211122221212212112121222112121111121222121222222222222212111212122211112222212221121212221111212121121212121221122121121221212122221211211221121122211122122112121221212121121121112121111111111211112122212122222222211111112121222121112112111222111122122122212122212222111122221122221122122112111211121222221211122121111122122211112112121121221121222122221222221211112211222121221211111221221211122111212211122112211122122212211212122212212211121122122221221121121222121112111111211122221112212221221122122112122122222211211221222121122122212122121211221112121221212211111122211222212111122122122212112222212211221221111212222212112221222121111111221222112112121112212211212111122112221212212111222221111222212222111112121111122222111121122212211211122121122121211112221111211111212121121211221112112111111112221112121112222221121222112211211212111122121122221222122211212212112112211212121112121212112121211111121121211212221212111221222211112222221222111122222211212212211211212121111122112111112211122222222211112212222222222122122221121221222222221111122212211211111212211121121122212221222212222212221221121222221121111111222111221122121211121221212112111122221212111221211111122222222121222222222212212211222221122212121211222222222112112111112212211111211121122122211221222212222112222222121122111211122111122111111212211122221121212212222122111122121122111121112212212122122221212112212122111122212211122211222112121112111112222111222122122121212212112111221211221221222211221222211121121212212222111122212222212121222211222211212212121112221111112221212222212111111222222222122211211111212121121112222221221221222212221111122211211112211222221122212112222211211122211112112122222221211211222212211121121111211122122112222121212211122221221212121212221211112122111111221122121121212211121222122221221212222111122212122211112222111212112211211222212121121112211122121222222112211122122111222221212112112222221111221221212111122111121122112212222221212222211121111212221121222221222122221211222121111121112121111221211222211221222112122211112222112222221111221112222212112211121111112112212211221212122111212122222211222212221122211222122212121211212222122212221122212121211111111212212121111111222222212121111211222112211112121121112121111122222112221212121121212212221222121121111211212211211222212122122121112222221121112211121222212121211122211221122212111121222211221211211122111211222212212222122112121212121122121112111112211222112111221211111222112222211212121122112222112112212222222112221122212112111111211122221122212121111211221212211121122212122111111212112111221112222122122122221212112222212121121111212221221221212111211111222222222111222111212121221211222221122221122112212112121121212121112211122221211222121122121112111122212121222122211122211112111222212222121122221221212221221211112122212122222112211212121222222111121222111212121211211212112212122112212211121121221112212122111112221112211211111121211112211212222211121212221222221111112111111121221122122211112221112221221211222112222111212121111112121112221122222112222122211212212122211211112222122122211111211121211221111112111222222121221221112112212121211212121112111211222111112121212121122211221121121221211221212122222221212111111221211112111222222211122111112111121121122222221112122122222111122221211212122211122112111121212112111222222112121111211212121122221112122222112121122111221211211212111112112211221212112121221122112112222122212222112212112121222212122112121112221121221212111111122111121211212111211111212112112112212112121221222122122212211122222211212212112212211212211112212122121122211111121111121121122211121211121122211111211212222121211111221111122211122221122221111212211222212111122211122121122112111111211221211112112211112211112211112211112211211212111111122211221212121211111122211121111112211211112222212122122222211111112122221111221221221211111221221111211111212111222221112122121221221112211122212112211121111121121122211222112111211222221221112222111212121221212111112121112221221211212112221121222211212111112211121221221111112111212211222121111121122121212111221111221122122222222211222121121221111212222112122112112221212112121212222211212121211111122111112212211121121122111221211221112121212222111121112112211121112121112121212222211121221121221122121212111112112211211111211111211122111111111112211221221121221212212211122221112112111111222221122122121211111112222112112211221111211112112221112212221122212112121122221122212222211221222212112221212111112111221121221111122121222212122211111212112122112221211122112222112211211222122222112121111212222111212111112122121121112212121211211211111122222221111221111212111122212122121212222112222112222111221112211111222112221121111112111111222111112122222111222121222222121211122122111111211122111222221222212112112121111221112122122122112121211112221211121212221122122221222122211222211212222222212221121222212222211221211212212221111221121211122222111212121112112122122212221222111222221211121112112222121122211122221222221222122221221222121221211222122221112121212122112212221111112221212211112211112211111122111122211221211211222212122212212212211221111222222111111122212212121112221222122211221211222211221111122112221121211112211122221221222111211112221222222211212112212121212212112222111121212121222212212121112122212221212112121122122211112122122221211221121221221121112222212111211111121111222222222212212212211112222112112211212122111211222211112221221111221222121121121112222211211221112222112212111212222111212122111111122121111122222122121211111222111222122121122122212122211212211212112212121122221222121221112222112112212112111212212112111222222211221111121122221122221211112212122122112211122222112122121211222112122222212211212112222111122221212111121222221212122122122122111112212211221112211121222112112221111121122122111111222122222212221221221111122111122112111222112212221222211221111212112121112121122122121212222221221112111211112122212111112222111112121112111112221121212222221211121122222112211112111222212122222112222111212111111121122122121111222112222211112122112221221212112112111211122222121112121111111111122211122222222121222121112212222222222212211221211122221221212111111122122111211211222112121121112212222112211121211222221121122221211221221121112112112222112111211121222212111122111122122122222211221121222112212222122212212211212222111222222122122121111221111211122112222212122211122212211122112212122222222212221222111221222211211121211111221212112212212111221112122121221221212222221212121121111222112112221222211121211111222122212112211111122111222211121111112112212121211121222121222111122112121212212212122121211122221212221221111111211122212212221212221211112112121221212211111222111222122221121122112112112122222122221121111121221121221212111221211211111221111122222211112111211222222122111212111112112111111221121211222111112122221211112122122112121112111122121111211211111222111212211121221212222221122122111112222211111111212112222112211222221221111221112212121221112222121212212121212222211221211122122212212221212112212112222211112221111212111112222221222211221221121222121111121212211222222112111122221221212111222211212111121222211112112121122111211211221121112222111122212112211221111211122122121221222211221111122211111112222122122111111111212222121112222122122111211111112112222121212122122211211112112222221212211111122221212111222222212211112121122221221111212112111222111122122222211121111112222222222112212111221221121111212211111211222112111212222121222221221222212222111211221121122211212222122111211221122122222212111222121221211222121111222121211211212121211111111112211211111211112122122221212212122122211112121212222221222111221111221212222112221111211122212112122221122212112221112112211212121221111111222121122222112221112112222121212112121222212112121122212222212111112122122211122221112111221112221221221221211122121211121222121121221221221221221211111212222121122122222111222122112211211221112212222112111111212212111112121212112111222211211111222212222121211111112221112222112122112212122211112212212221222221122221122121222111211212112222212211212212222122121212111112111111121122222222111221112121112122222221112222121212222122112212212212121221212111122221222212112221121112222221221211112212212121212221121222111212211112222221211222222211211122112111211111122221121112111222222112112121122222221211222111222222121222212221222111221221122211222111211112111212111121211222222211121121121212111121221111112212121211212122112122122222211122112212121222221112211211212221211111122212121111112222111222111121122122111212221212111211211122211221112122121122211122112112121212221222221222212122122122111122111211212221111221122221211121111112212211111212111212221221222122212112121212111222122122122111221122221122221112211122112211112121111211212122112221112221222112121112121211212122222221111221121221122222112221212211222111122212111111121112222222221222211111212212111111222122122212111222211221211121212211112111121212221121112112112112221211212221221211112121212222221122222121222212222112221212211221122122211112122122211211112112221111121211121211111121121122111221222211221122212122112212112221221122221212111122212221121112121212212222122112221222211122111121121221111211121122211222121212212121121112112122111111212122222222222222212121222221111221111221212221212112121121222212211121212121111221112122212222111121121221221111111221121111122212212221121211222221121111111121122211112212122121121112222212122122221221221212222222212111221111222222222221222111121222222212112111222112121112221211121212111212121122111211212221121211121111222222212222211222212222122212121112112211221212122211222121211112112112122211122121112121211112112121221111121111211222121221211111112221122122222211122221122121212211112112111211111222112222221211222122111222112121221222221222112111122211221212121122112211221112211111212211112211211112222221221211121212222111211112112112212112221122211122212121211221212221211122222122111112112111222122212221222212221121122112221121112112221221221222222121111121112122221222221121221121121221112212111221221222122212222212221211212121212212112111122221212212111212222122222221212222122211212122111211211112212112222121122221111211122211111211221222221221211112221212112122222221212212121221111221112112112111111211212111211112211221212111122221221211212112121121222212111122211211112222112222212121122112222121121111212112221121221121221211112211212221122111212212111212122222221221111111111211212112221122112222222121221221221121111111222111221222211212221222222122222112222222122222211122122221222211221222112212112222222221112211212211212111122111112221212212212122121221121212221112212221222211112212222121112212211121211211221111122122112111222112211111111221211111221112222222112111111222222211211111212122221211221212122222221211211222211111121211112212111121111121211211211112111111222211222222211111122222222121212121221112211111121111211111122211122222121222222211111211222221111122221212122112112121221221211222121122121221122111122211211121211121112211212121221222122112111211112121111122112112111211212112222122211122212122222112122222211212111111211221212122122222121212121211222122221222211122222121111111121111211221211121121112222221111211212121121121221212212121222221222112211122222212111122211111112221121212111221112111221211221111222212222221121211211122211112122122212121211212112112211221211122122211222112212121112111212211122111211211112111221212221221221111221221212121222121121122222112221112211212221212221211221212122222212111121211221111121211111221122121222122111112111122112222222121221212222121212211211211112121112222121212211221212121212212221111121122221212112212111212221212211121221121122221112122121121121121211122221211121222112211211112122211221121122221112221112112212121222221211211222222222122122121121112121222112211221111121122121212111221122121212121211112121121111221112122212211112221221112222111122121222112111111222122111221221212221121112211121221121222122211112222121112112211122221222122122221221122222211211212211122211121222222212112221122111112121222121111122112212111122112111212221122121112212211212111212111212222212112211222222221122121222211112122111222221212222212122212111211221111111212211222121222222122212112122121212211111111112221221212121121212121221122222221112122121112211211111112211112212212222121222221212212222122112111211121211122112212221112111112111111211221122111122111221121211111112212221121111122121112122112222111222222222221121111111111121222212222222222122112122212122112122112112222212211211112211221211211111212211212111121111212111212121222221221111221121122222222211122121212221112112121112211211212112222112212111111121212111112212121212111121112121121121111122221112222211222211221122222211121222121112222211112121221221111212121121122221111112112221221211222112121221111111112211122111212121122121121112111121122212111222111211122121221111211111212221111122221221222121111221121211221212221122112211122212111211211221212212121222111112111112222212121212121212211212212222211111121211121222121111112222212111221211121122112111212121212122222222211221122211112221111121122112111212112111211211121112121112221121122212112221222121121112122112112222121122112112211212221211222222212121112121121212122222212122122122121112212222211112211122221222121112121112222211121121211112121211211112111111121112221112121221112212122111222221121111221212111212111222112222112212121122222122212122121121122111122112111112112221212212121122222211111112112111122211122212112122221111221212211221122221212111111222122212221222212121222222212212212122211221112121122112222112122212221222111111212212221121112111111211212112122222111221211221221221111111211221221112111212112122122212122212111121221211121112222222221211222211211212111212111211211111221212212122112211121211212121112212122211222212211122222121221212211111212222221212112112112112222222222111211122221112212221212122111221122212111112211222211211221121111222212122111222112112122212211122221122112222211112122222211221212111211111121122112121222221212222211122111221111112222211222211222212212122212212212212122222121111112122111111122222211222212121121122222211212211111122121112221112121222111111222111111222212222212111112122221122112121122111111121122221212122212211211121222222111221111121221222112221122211122121212212211111222121221212222121222112111212211221212222122112222112112111112122112121122121111222221112112121212222112121211111122111122211121222111221111212222221212221112222221221222221211111122111222112121121221121212121111221211221111111211222111212211112212111112212212222112122212211111112111221222121122222211212221112112211211121111112211222111211112111122112212211222112112212211222222122122222222111122121122122212111121221211212122221222111211111221212211211122212222111122221221112211122211221112121222112111212222121212121221222121211221122212221112112211122122212211211212112121111221112212211112112222211121211212222111221121111211111112212121222221121121212111211111121222212112111212111111212211112111222222212212111111211222121111111221211211121221111221111222121211112122121121122122221212212111211112111211221212112121211112211112121221112222222212112122212111122121212112121222221221111222111221111122122111111122221111111122121121212211122122112222212221222222111212122212222212121112222112112111221112221212212221222212221111222212211222221112212212122221221212212122221211121121121112121122221122221222211111211212222221211221221222221212111222122221222111121212221211221222112122221112121222221112222111212222111221121221212221221112122212222222221222211221121212221211211111122221111211122122211222212121211221112112121111221111112221222211121112222221212211111221112112122112211211121211222121111112121121122211122122122121111122212211122221111122121222111221111222112211211122112222222121222122211122211211111122222122221111121222111211212111122112221222111212222111222111221112211121222121121122211211221111112121211111122221111221212112111122112122121111112122112211212111111111112221211121121111122221212212122211112111222211111121211221111112122112111212221222211112111122212121221111121211122221212211221221211111112211111222112122221221122111211111222112212111111121121211212112222112121121112111222122211222222221212111212121212222111212121122111212222111211221211111222112211121112111111121122221111112212211222112112221212221222112122221122222112221122222122221121122122111212122222212212211211212211211212211212122221121222121212211121211211111211111212221212222221111211212212122222111122211212211111121212211111211122222111211121222222112121121112122111122222111211111112112122111111222222221211221121211112121222212121221121212211211122221122211211211111122211111111221222112122211121112122111222121122212211221222212111111122112111121111112222221122221221122121112221212211222221211222112212222111211221211222111212111111112211121122112222111111221221121111222111121112222212121112111211121111212111112122221211111221122222111221221222111122111122122122222221122222221122221222222122211222111211222121211212211122221121222221221122222222221221111221222121112122212111111121112221122211111122211112211222112211221212112122122121222112121111211112122222222221211111121222211221221221211212212121112111212222112222221111212112221221222211122221212222111221212211122211221121211222111111222212121211112211112112212111221211212221222121212122211212111222211211121122121222121111221112222121111111222121211211221212211211112121121211122121221211112112221221212211222121111222111122122211122211211221212121211111211122122112222111212112211221112222112222212212222112221122211212112222211222212112221112221122121222222222211211111111212212122221121221211211122122212222221222122221122112222121222212211112221111211221111212212221221111211122111212222121122222111211212221112121122211111122121122212221112222221221222222112221122212222122112222221111211221221111122122122121212212222112121211222121112222111211212122222211122111121212221112221211122111211212111212222122222211112122221221111211112121112211222121222111111111121211122122221122222121111211122222122211111221221212221221112211121122212111121222222111221122221112221112122111111211222222211211121111211221212222112121112212112222112112211222122121122222222222212121222212112122111221221121221222122122121212212222211122112222222221211121222112112122111121122121111221211121211221222212212111222112112112212221112122222221121222122121222211212112111111221111122212212211222112212111122112212211212122121122112122221122211212121111121211122121211122122112212112211221212211111211221111122122221212212212221221111122121211222212122211121121222211211222222121222111121222212122121121121112112222122121211212222212221222212121121111121222112122112211121112122122222121122212112121211122221212212222212212221222122112111122122121121121112112211222121222221122212222111111221211112111212222222112221122222121112122211111111112212111212221221122211211222121111221211221122222111212112111222111221122121221122111112212211212222122211212211111211212121221121221121211121121121112111211111121112221222211112211212111211222222111112212112221222221211111221222221211111222121111212211111211112221221121221222221222111212121211212122122122211211121212211121212221212222211122122111122211122122212221121112211221122122211111221112211122212112111121111122212112122122212121111112112221221122112121212112121221222222121112121221212212111122112212112221221221121212222112111122211122212211112222121221211221212211211211221221221222122121112212112211111212122222211111121222211221211122221221222211211122122112111212222112211122221222221112212212212121112121111121221122212221111112111221211222221111211112121211111222111121212122112221111121212221221112111112121221111121211111211221222212112122221112112221211221121221211122121222122222221122121111222122221221221212212222112222221121111211112111121221221221212121112112222212222111222121112222112112122111211122222112121122211222111221122222121121212111221121112222111121221212222111111122112212121122212211221221112221111212211111121111212111111111222122122211221211211211121121112122221221111121221212211211121111122212211121122212211212221121212111111212121121121212122121222121211121222221111212211212111211121212121211122111122222212211111221122111211212121121121111122221212112221212211221212111221212111112112221122112112111212222122222221212221122221122222211211121122112112222222111121121122111111112211212111221112221222212122221121121122222212112122221221221222111112112112112121121121111221122122222122121111112121211211112212122112211212211212121212111211211111221112111121112111222221221121212121212122222112111122122122112122111122122221122122221211112211222122211212111222122121221111112121111221211212122222121122122212211221122111221212111112211222221222221212122221121122212111122222211111122121112121222221212111222222212121112212212221121221212112121211211211111112112121111121211221211112111222121122111112122222111121222122222121221111112221111222111221112111212211122112212222111112222211121121221222122222112121111222221211211112222211112221211122122122121121122222211222111222121222222111221112121121221221211211111121112211221211212212122212222222111111221212212211221112211122121122112211111122221122221122122221122221111221122121121121211211121212112222221122211211221111222212121212221112111212221221122112212111222112221221121211121111221121212121221112121212112211221112221122122112112222212222112221212211112222211112222111121111111121211222111111121222122221211211211122221221111122112211221221222122222221111121212112112112111122211211111212111211212212122112211112222212121121122111221211221121111222211111121221122122121212211121121212111121112222212111222212221211122222122112122212121211111122222212112121221222221212112222222121112211122221221212122211112121122111222211221212121211111212122121222112122122111112222212121122222212112212111122121111112221111212122222211122211221121121111221112122121211222222122121121121211121211222221212211211122111212212222222121122112221121222211212121212221221122211222222122222111111212222111121221112211212111221212112212111121121221211121121221111222212221212211212221212121111121211222111222122222222121111221112121122111121222122221121222211111122212111222121222221112122111211222212112122212121212112222211122121122221221221122212111112222112222121112212221122121222121121111222121121222121212111121121111122211111212222211211112212221212222112221121112211212121111212222221222221122112221221121212212122212121212221112111222122121222112121121111212221221121212212122212112112122112222111221112112111222111112222111222111111112221111221221222112212111122222222212111221111112121122112121222212111121122211111122121222111212211122111212222122122111121212221111222211111122221222121121111212222121111222112121222222222212221212221112212211112111212112122121211121112121111221112212221211111121212211121111221121212111211211121221112122211211111122111221221112112112112212212211222122111212221221212122211211211211211212222222121112121221112111122222221211112221111212112222212222222122122121221112221221222211122212211221112212221211112221121211222122211211122222212222122122121122111112212221221222122222212121111121111112121121222211111122222122122121212212222111122111221122122222221222112112222112122121211111212212121111222112122122211221121222222122111112212212121222212212211111222212122121111111111122211211122211111221221212221111122112222211121221112212212111122211112121111221121212222212212212222111122111221212221121212112222212112211122211221211222122111121111112122222111111122122121222211121222212111222121212111112122121121222122221111112112222121111222122111122122212212122221221121112211211211212112211112222111221111111222211222121221122122222222122222111211212122112222212121212222121221221221211211121211111211111212222221211211122211122211121211222122212111112112222222112121212112122221212221121222221111121211112121111112122211121122222222212111221222122221112121212111111222121121222211122222211221122121212121211122122211112211222121122221212112112221221221222222221112121212222111112111122211121222121112121121122212222212211112222211221222112112121221111212122222112112211212221112211121121122212221111211212211111221222222122111221221211212121111211122112122212112221211122222212112111221211212221121111211221122212121111211222211121121112122121222122222221122111122212112112222112211211112212211212212121122112222122112212211211122221121111112112222222121111121121221111111211112222111112121211121212121111121111121211122121122221111212122221111211122122212222211221112112121112111221122121112212211211212212112121121121222222111122121122212222211212112212212111212221211112221121222112111222222122222121212211212122222121121212212212112212212221122221112211222212111211112222111122122212222222222122112222121212222222221112211112122222122212111121121212122211211222122111121121111112222221211112122112112212121112222212222121112212112222111211122212111112112122121122111211112222111122222112122212222212221222222112212222122221122122211112212212122212111111222122211111112211221122121221212122111112221122111121122211112211122211221121111122212212221222111222121222112112221221111222121221121221121222121122221221211211121221212221111122221111222112122222122112111221112121121221221212222221222211112211112211222212111222221111111222112112211122211212212122112221111221112211222111122212111212112221112122111121222221121221121121212212122111111222221122122222221211212211122221111121212122111211222111211121111112221212122212122112111122112211122222212111121122211211112211122121221211211111222211221121111222112212112111122221121121211121121112211122112212121122211112112212121121212212122221121121212112111112221212112122222212112112211211212121211222122122122221221121121121111221111212212212211111121212112221112121121111122222121212222221121221211222111222112221211222112121112122121121222111111121111112212211211212212211221212112212122112121112122221211221112122111211121222121212222221111111112221212222112121221212212111111211221112112212211212211212112222111212212222112122121121112122112221222212221212212221212112212221111212121222111211121222211111212212122122212121122122122122211212221112121221122211112212222111212111122122212122112211222211222121111212211121222112212212222121222222211112212111121112111121122211122111212211112211121111212222212222211221111222111111211121112222221211112112212212211222211212112212111222121212222211112212111121112111121211221212211222221221212221212121211122121111221222221111221111121211121112112121121111212121121211111121222111211112211121212212211222121112112111122111222122221212211121111222121222212122122111211211121122121112111222221121221221212211211112112212212222111222222221111121121112111222111112111212111212222111122111221121112122112212221211211112221121221121111212211212122121221112112211212211211212111121112222121222221211222211221222211222121112111212122122221122112111221211112211111121211221111212121211212222121222111122222121121221221222221222221121211212112211111211222211211212222121211121122212212112111222121222122112122212122111221221222211112112122222111221221121121221111112211222221221212122111111121222222221112122212211122112211222211211221212211222121212111122212222121211121121222122112221111221222222211112221122212112121112111122112111222112211121212111221121211212121211222222211211122221112112111221211211111122222122122212112221112122122222111121122112111221122111212212122222211121222121122121221212112221212212211122112122121121122122111121212212111222211222112222111112122222212122211221212221112111211111122222222112212221211222222112211211121222122111121112222122121222222112121111221111221221211221111112221112112122111121112122121121121122211122111122111221121221222122211122221112121222221212212222112212111112212212122112212122211112111212121111112221221121112212221111121111222122211112112112112221121221122212211121111112121221111121212222122212222222221211222111211112222111111211112211211211112221211122111121112121212211111211121221112211111222212121111111112221112221222212222221111121111222211111221111112122112221122212122211222122111111121222122121222112121222211221112212222121112122212122121112211111122111122112121121212212122122122121111122122221121211112111221212121222221222211111221111222121112121222211211112121111122221212122122121212212222112211122211222112221211221221221111111112221212121122122122212112112211112211221212121211121212221122211221111122211212122111112111111212122222212221221211112212222222211221212121212112221212211221111212222111112112112212122222111211222121211112121222121112211221221121212212112122212111221221111211221111211122121222111212221111212121121222121121222212221112111111222211121111121212211112122212222111221112222211222111221212111121221122212222222221111111222112121221211111112122121112222121222211112121121212222112112112121222222211121111111221121111221211111111112222121221211122111122122212121122221111112111212121222222211221211211222221112211222111121211211121122122211211122122222112211211221222111221122222221211122221221111122121221212111122212122221112112212112222122122121112122112111211111111121221211212122221221211221111212221212121112111111111212111112211112111212222111121212221111121211221222122121112222221211222221111211122212212112221122212212112221111221222212121211212122121111121112211111212111112121212121211212112221212121122221112212221122211211212212121211111211112222121211122112221112222122222122122112121222212112211121122122112222211221111221211112212122121122222122222211111112211121121111111211111211122221221212212212221211212222112211111112111221222121122211112121112112112222111111111222221212122111121111111121121222121122112221122222212212122221122211121122122112211112122222211112212221121121112222211221112211121221112212111111122121112111112211111221112112212111212122212122122212221112212112212221222121121221111111211111121122122111121211122112222211222112221121111211112221211111122122221221221222221222122111112111212211121222211112121221112221222211111112211211121112221212222122112122111221121111211111212211211121222212221212212222212212211211211111111211211221112112111121121212221111121121222221111222222111212111222222221111211111222222121111111212222211122121221111112211211221221112122122212222222211111222211122222112121222222122121122211212221112111111222122121211211212111111121212212222111222211211222222211111122122121111212122111222222222221212221122212111122122112221212221211211212122112221221221212112221221112212111112211121221121222222211112122122222111212121222121212221122221222222211121122221121222122211112122111212112111222112211111211222212122112222111222212212212122112121112221212122112121112221212212211121212122112122111222221221112222112121121111112122111121211122211122211211211221221112112112212221112122112122211211121211121122211111221121121121112111221212111122121211112111222111122122222212222212211212122212122121211221122122211122222221111111212221221221221111122111212222122111111212221111211221212212222122111212221221222121211111112221112222121212212111212122121121222212111221122122221111212122221122112122111222112222222211211122211111222222112221111112222212211122121221221122112211212111112111221222122211121112221122222211121111112121222121212211211121122122211121111222221122111122112122121122111111122121121212111212221221112222121111221112221212111111211222112221221221122212212212221121111212221212221222211122211122221122222221122221212112222212122121211112222112111122211112112111221111111222122221112222112221111222122111121221211121221211221111111121222111211222222221111211122122122111212211211111212212121212211121222221121212121221211221121222121112211122111122221212112121122211221221221121111122121212222222112111212111221212221121111121112112112212122112222112111212212112221112111222212121211121212212221222112222111211111211112212111212111212221212122111211222221211121111121122111212221221221111222112111212222212212122121221222111112222111221112211112122122122221111221122221121222111221211121211221212121111112211112121122112122112112212111111211221121222211222212211112212122122111221221111111121211212211121112212221212111121122221211221211111212121212111211112221222222222221211112112121121121222122211121221121112212212111212122121122211112222212111122112112111212111112122211211211212112211222211122121121111221212112221221211122111112111222221122211211121222221122112122111121121121211122212222111211222222211212211121212121122221122222222122111111211111122111122111222221221222212212222121212121122111122111122122121211122212121212212112211112221111211122122112122111112222121211111121112112111121122211121212122222211221221211112111112211222221211121112121121112122211211122121211212121221211122111121211221111112111112222221222122112212111212121121211112212221111222122211112221211221122112121222222112111221122222212222222122222222111212222122112222121211221212111112211112111212212211121122111211111111211121111111122222122112122222122112221112112112112222212212112112211221212112221221111221111122122212111111121212111112211112122112221111111112211121112112222121122112212121111121211121212121112122112211221221112112121122121121221121122212111112121212122222212122222112212121221122221112222221211111112222112222122112222111112111112221212211221221121211221212121122211222222122112122121221122222112221112222112122112212221221122222111211122111211112222112211212212221121112122212121222211211212112222211212221221211221212211211211212121112222112122212111212212222121122121221122222212222211211212112112111112122112111121221221111212111122111122211121211212112112121222111122111111211122222122221121121121212121212212112221212222112121121121212111111111222222112121121221211111221212221122212212111211111222211121111212212211221211112222122211112121112221211121111221221211211212112222212222221221112221121211212211222112121212222112212111211122111122112211121211211121212221121212212122211121211122222221121222112121122122212221112122222222111222111222122112121112112112222212222211122112212212221212211121211121212112112211211221111222122222121111212222111222211212211222121212122222222121211112112111112221121122111211212111121221211112212112221222212121111211212212222211222212121121111121211221212212111112211221211222211211212122111111222222221112121111211222222221112221122122111122112112221111121221112112121211122112212122222122122112211112211212212122122211212112111222222122212221111221222112111112111112121222122211112111221211222221211212221221121212112212111112211111122221111222221111222222222122112211121222111211122111121121121121222122122221121121212122222211121212112121112222121211221211222212111111112112122212111212212122121211111222222222121221111222122221112112222122212122121212212222212211112122121221121221112211111221212222211222222121211211221122122112212122212121221221222221221122221222112212211212111211112221212112112121121211212112122212211222212111221112111211122112122112121222111121221121212212112121112122212121111112111211221222121212211122221212221111121122111111221212122212222112212221222221121112212222222211121221211222112112111221121112212212122121112212222111222211111222112221222121111211212112212211221212212121122212222212211221212212111112122111221212212122222222112212221221111212112121222212112112212222121112112222212111221112111111221221122111211211222111211211212112212221211211221111211122122112222122211222211112121112221112112221212212122122111111211222111122212222121121111112212222122122221121212112221121211111212221122122111122122221121221212122211212222121211212211221222211212222211111222111211121222222122221112121221122122222212212112211212112211222222221121212112122222122221111212122211121122121222122122222212121122221221112122221111211121121211121122121121111121121112122122212112211222212112111111211111122212122222212122222121122222122121221112222122121212221122112221112111121122112221212122211211122211112221222112121211122222212211212221222211222212112212211221121221222211212112211112121122211222211122112112221112121121122211112121222211221221221121112211221111122222121112222121112221111122221222211211122212221122121222222212112212222121121221222222222111211112212111211212212122212221122121121212112111221222222212111211111212122121121212112122121111111122221111121111121112122112211212221121111112211212122121112212111122121222111212111122121111122212111121122211112121112221221221112111211212112212112122111211112122122111121112221212222122122122222212222221211122222211111212111121112212111111112222212221121221112212111112111211212121212122122211221212121211212222112222222212222111222122111122112121222122221221111221211111122212121221211111222122112221221222112112111121211112121221212222122212221112222121112222112121211122112212222112211112122122112212122111211111211112211121122111122122112122221211211212221122112121212112111111111212112221112211222212222112212221212122212122112211222222112112221222222112222212112221111122221121122221221111122112221212122111221222122121111212211211112112212112222211211111121221221122112122221122121112122111122212222111111221122122212122112222221212221212111211212222212121122221122121222111221221222211121111112222211221121211112122121212211222211112121211212222112121221211122111221222212112222122222121121111121211222222221221122221222211122222221112112122122121122122112222222222221221122121211121212211211211211221211211211222122222221111122221221112122112112212221112211222121212221111122212221211221111122112222211212122112112112112111222112112112112211112121222222122222211112112212211211211121211211211221112212211221122212212222222211211111211212122211212121222221212221212211121221221212112211222111111112222111111122122222212221111122121122122222112212112121111121121212111122112111212211222222112121111111122112121122111211221112121112211121112112122212222212221122111121121222221212112111122122122122212212211111111112122111112112121122222221112222112122121121111112212121121112221211222122121112121221211222121221121221121222112122222111112112122122111212212111111112221211122221122212211221111211122211122122221111112212111222121222212111112111212221112122222111221211112121212112121112222211111121221122211211121222111211122212122112122212211211122212112212211211112211221211111122221222221211111211211211111212222212221121111221122211221121121212211221111222211121122211221122212121111222122212221122121211111211111222211221221112112211111222222111112222211111222112212111112221111222211122211222221111221222112122122212121222122221112212222111212112111111211211221122221111112122211221222222211112222111211121222111121112111121121112122212111122122111121112112212222122112121122122211111221221212112111222112221212121112212121112212112111112122112222122222111211111112221112222121221121222212212122211112112211222211211111112121112122212121222111211121112211112122222211212122121121222111211211111112112121112212221122222212212211211121211222212211122121122111111112212212222111221121211212222212112121111222222222122121122122121121122222111121222121121222221122211121212221121222111211222211122121121222211211212112212111121112112112221112222121221212222122222212122121122112222221122221122122111211221121211112221111211212211121122212222112211221122122121212221122212221212121212122212112212122111121121211221112221221111121212121222211221212121222212121121222111121222211122211211111121211222122122121221221221121122222112222222112211122121212212122222122112122222222212111121211222121211211222121212112122211222122222112121111221121222222222212122212212122212222221221111212121111111222111221121112111121121212211122222222111112122122121111121112212222121112121211122222211212122211212112221111221222222111211112122112122211222122122122212121111221112222221112222122111212222222112222222222122111112221111212122112221212221112112122211121112211212222112222221121222121112111112121222221211211111121122222122212121112221121122222111111221112212212221222212111212121222222121112112121121222222121212211121212221111222212111212212212222211222121222221122222212212212121211222221211122122122222212211111112212221111121212122122212222121211122112212212221212211211211112221122111222212122222222122111211211112211212222111212221221122122212112221111221112112221212112112111122111121221211121222212221111222222122112221222212221122122111122121121222212222112122112121221122212212122211122211122222112112122122211112221122212222211211112121211221212112112222212222212111112122212212211211211222112111111212111122212121212211212211112221212212221222111221221211222111121111222112222121222111222121211111211121121111222222222112112111221111112111121122221211212121121121222222221221222222112121211112221222121112211221122221221122121121222222221112122122212111221212222111112212211212221111121212212121212211222121111122111212122211211211221111221221212211122221121111221122211222122212211222121111111222222222221221121222222122112221122211111212111211111221221121212212212112112122212121212211121221212212222111122211211221121222211222121112112112222211121222121112111122111222112122221111221112122221222212222222211112121112212221121221222122222122122221122222212121222122112122221121121222112122121121222122222221221211211111122122112121211112222212121121221111221121122112221111222111122112211121212211112221112121211212122121212112211221222211211122212222222211111122221211122212122112212212121222111122221121122111212222112212121222212121211112221112212121122111212121121111112212221221211212222221212111122222222221212112111121212221111112111112111211221112211111111222222121221112122221221111221212112211122121122211122122222112212221111211222112221111222112111111221112221211212212221122112211221212221121221121122121212121211212221121111221212122122222112222121221222111212212122121222211111211122112212112212121222121121121112211222112112122121221122221211211112122121121112211111211112112222222222111111211222211212121122221211121111222221122221212112121111122221211111122111211112212211112212212112111112111212112212122212221112221211222121212121221211121222221221112222221122221222211122222111211122211112112211122222122112222121222111221221221211211122212222211122121222122111122112122121211121122211121211112111111221221221222211122122212111111212222211112221112221211121111122211221211212111112212121122211222112211122111122112121111112111222122212211221211122121111212221221211221112112212112122112211221111222111121121222112112111111221222221121121222222112122121112121212121221211211211211122221221111121121211212212212122112122111221212111211221222112221212221122112122121222212112211212111122122122111111212122222211222111212222121111121221222112112112222222222111211112121212212221122122211111211211122212111121121121212211221211121221211122112212221211122121212221122111222212122211112211222122222122212222222222112111212212122212221121121122112112212222111222212121222222211212222122121221211212222222122111211211211121111122122112221112111211222121122122111112221112212121112212112112111211111121222112121211112212211111222221121222122212222221212121111121112122122222111222222221121222112112221211222222222222121211112121222222221111211212121212112211122121122212221122222212112221122121112221222221222111121112212222212212211121212211222122212212121211111122111111121212222111112222112111121212222222212221112222221222112121121122112112211122112112121112211221222212222111211121112111112222111121221112212221121212122221211221221121112211111222221121121111212111112121211111121212111211211212121111212221211122112222112121111121121121221121211222111211111121121121211122122121222221221212222121212111211221121112112212111112121222121221121212121221121222121221212111211211121221211212221122122121222121222122222222211112122112111112121122211112112111122121122112112212122112211212111211222122221221221221121221121112112222121121222122212211121212211222111112211111112221121122221222222111112111121212111211222212112222112212211112121221211222122211221221112112111221221222111221112121222122111222121221121211222122212212221112211112222122211121122222211221222211221112212211112222112122112122211122211122221111212121211111221222212121212112111111221222122221111222111222222121111211211212221212212112111221121212111211122212111221222221212111221122121211211111121112122211122111122221211121122211111222222112211222211211222211122211221212121222111221121211221122222112122112122111121212222211211221121112212222122211222222212212221212212112221112221121212222222222211222112122222111112212122221112221221222211112221121122112112211121212111222111122122111112211111111121211112222122222121122112211112122221212111211211222121112222222211121221221221122112111222121122122111112212212221222111221222121121222212121222221211211222211221222111111122222112112212211122212212121211111112112222122212212112122112112212122212211221211112112121122122122122212121122111121122111122222212211121112212112121221222211121121221212111211112112212112111222121212112211121122112222222112122221212222112111221112111212211211122212211221222122121112222212222122211212221122221221112122221112121121211111121112122212112112111122221112212211221121112122122111121122221222112121122122121221112121221211211111222221111211122122222121221121212111222222122111111112222221111222221212121121112111121122122221112122212112211112212112111111111112122111212221122122121221111221222121211222112211211221222122212122112121221211122212222112221111121212112222211211112122122112211222221111222222111211211212122211121221212212221122211222111121122111222222112221221122212222111112211112221112122111212211211111212121121121111111221121212112112222122112221111112121211212211211121121121221221211221112222222121222121222212211221222112221111122211211222111122211212111122112122212211222112121112112122112222212122122221111111111222222212121222111112111211212111121222222212211121111112111112121112211121112221211121211211211112111212221221222111222212221112211122211112111122211221221121222222222212221212221112111122112221111222221122112212221122121211111212211211111211122221122212121211211221112122112211211122121212112112212121211122211222121221111112111212222111222112122111221121221111122121211121222221222221212111122212212122112122111222121111212211211112122122212122121221111222112221121122121222121112212212112222212122211122211122122222212121121221121112121212212112222111221221212212211122221121222212111122111212112221122121112112121221121212212221111111222211122212111222211121112221112222122112211122212122222221221212211222212221122211221212211121122122122221221121211222212112212212122111121122212221111211211121122112111211221221121122222111211121221121212222212211122111112112111122122222222112111212211122111121212112212112211122211222121111222122121112212122112122111212122121121212222212112121222121122121211211111122111212112211122122222112211111122121111112211111121221222222112111211211221121211121121211122122112111122122222112212111211212111212221211121112111122211121221211122111122112211112122111211111221111111212112222211121221221111212112212212212211211111221112112211212121212222121212211121112211121222211211221122121211111221112221212122211211212221112211222222121222122122221222212222112211112222212122211212221212122222112211222211212222112112212111212212212222212222222221121222211211121112212211221221111212112221112112221211211221111211212111212222212212112212212122211112211211122211112222112222121111112212112122112112222221121122121121211112121122211212221212121121112121111211212121121122112112111122212121222121111211122211122222222221122122211111212211222222111221112122122111121111111222121222121112121212122121111221111111221222211212222212212112112221212221222121211211111221212211222221112111111212222212211221222212222122121221212221222222122111221221211122112212122111211121122221112221212122222221112221111222222121121221112112112111111111121222122212222122221221112212222111222121112221122212212211122221122211111122121221211111212112111222211121211212212121112211222112221122221122122212221122211221212112221122211111112221122111112112222112222211221121121112112121222121111122212111211212222122222221111221112122211212121222122112221121111212222122211112211121112211112211112112221221211222112111212211221221211221122121111111212122122122112211221212121211121212121221111112211112211211122111112211122222121211122211211112111121212211212111211122211212212111212212221121222121122222212122222212222221122212122221212111122122121121111211122221211111112111212122122212121222111221121121211111211121111111121212121112111212212222122221211222211211111221212112222111122111121111221122211211211112112111111121212112122111212212122221121111122112112212212211211121111111111221121121122122222222112212112222111211221111111222111211122211212121112222121121222211212221112111221111122222211111212222221111211112222221122211221121212122211121122111221221222212121211221121221121212112212111211111211221122111121111212112212212211122121221122122111122111111111121122212121221211221111211212121222112122211212221122221112221212221112112111112111212221221221122122111111121211221121111122122222122112211221121111212111211111111211122221121222122222122122211222221121111222212212221221221222122221211111121121222212211122211111221121221112211211212222212111222122111221211112212212112211211111222221112211122211212111121112212221121212122222211221212122211212211111212212211122222121212212121221121122121122211122211212221221222122211212121222121212212111111122112212122111211122221222221221111221222111112222112112112211112111212111121211122121122121221111222221121212122122222212211112211122111211222222122221122222221122222221221212222111221212121212112111112212222222112111221121221121121111211111222112211222212121211112111112211211222122111211221222112112122122112221121111212121121221221111221221122122221211222221212222222211212122221212112211111112222221111121221121211222122121212222222121211211211121212121222222222222111212221222222111122222212222221211221111222121122221112222221112122112221111121122212211222212112111221211111212211222222211212112211112121122122212121221211111222211121221111122122111212122121122122121221212211211221122222122221222112112122222121212111112211122211222211112212121211112221222222122112211111222112211122121112211212212211111121121212212112222122211212221112221221122212112121112111221121222212222221212121121111112121211222221121211222122112221112111111211121112112212122222122122111111221111111112212212211112211122121111111121211112211121111212121112212221122212212211222222122212122122112211211111222111222222121121121222222211122221121212211221112211221122122121211222212211122222111221211221212112222212111122212221111112221212111212122122121111222222212221222221122222211121112221212111212222122222222211212122112121211221222222221221221111122111112121112211211122211221221112112222221111211112111112112212211111122112111111111121211222122222221122112112121222211222222211221212212222112211222112122122212111112221221121121211122211112122111111211111222222121211122221111222121221122111222121211111222112221121212121112121222111122221221211222112122121211122121121121122211122112121112121122121121221121112222121121112121121221212121122111221221122211121121212112212121111111111112122221222222221211112121111221222222121122111112212222112112121211211222211121212112121221212112111111222112212222122222122222222211121111212122121121111122111121221112112122222111111122212222222221222221121121212112121211121121212112122121121211222121112121212212122121111111121222111222112222111121122212121112212221221212122122212121112211111111121112111122111212212212121221221211112221112112211122121212212122122212221211112121111221211121212121112112111212121122121211221122111211212112212211121112222221222222112122112212211212122112222112211111212212112212112212211122211212211111212122221221212211122222121111111112212112122111211111122211121111112112121121122211122222112212221122112122122221222112222121222211211122211222212122121112112111212222212121212112221112121211221211222221222111122121112121222212221221112211211212112122222112221212211122112112211111222211221112121121121221222121122212221122222112211212121212221122112212121212121111221121211121221211222212122121221222112212211212122222222112112211212211222112122211111122221211211111111112122111222211212122112212121212212211212211212111222212121112212121112121211111222222111112222211221122211211122111121112122211121111122222122221121222111111222121222222212222211212221111222221211211121121122221112111221211112122211212222211122222122122222211221221111122212211112221112122122212211121221122221212221111222221112211111122121222212111212222122221212121212122121221111221211221222111212111221212121221212121121112112222221212221212212222112211211211111222112121122212221112111211111112122122221222121211222111111222121222221212121212222211211222211121221222111112121221112111221121122221122212212111222221222122111212121112211222122122111221121111111121112222212222111122122112122222222121212112222222211121221111122122112121122211112222212112222222211112221121111222212121121212212112222222221112112221221122111111212221122111211112122121112222121111221212212211111222212112112111121122111121111122222112122112121221121111222111212121212122222112222121222112211112121212112121211122111111112111211211122212211112112212111211112111112121112121221111211111212211222221112222122112112211212222222111111112222211211111121211111121222111222121222112211122111122221211111211112112122112122112122222112212121212112212121211111111222122211111111212212122111121121111221112121111212212121112121211211222221122212112111211221121222112212112212112122222211221221111121211121211212222112122112111221211122221222111212112122212212122211121121212221112122112112211122221222122121222111221221112121221212221122121121221212111121111112121211212222112112221112211112112112122221212212111112221121211212212121221221222222112112111222111112221112222111222211121112121111121112211122122121122211212111221222122122112122222112222221222212122122112222211122122121222212222111111111221222222222122222122112221212212112112111222221212211222121222112221122221122121212222122112221212112122112221212111211221211111111111211111112121222221221122212111111121212212112212121212222212221121221211222111112111121211221121212111212221122122212112212111111111122111122111222112122222211111211111122222121121122121212212212111111221212111221122111222211221111122222112222112212121211212111221122112211222221222121122221121121121212122122121211212211122221221121221111122211122222121122212112221111121121211212212222122211221211122112121222221222222221212221221112211112122122112221211111222112221122212122112111221211222121221111221112111122111111121122121122222212121221121122221112121212212212212121121121212222112111211221222222222212121111222211122222111111122211212211122211221222112122111111121112112121222212222211211111211121121221122112222122121121212212122211222211212212122122121222212221212111122222111111122211211121112112221211222122221111222222221121222222212112111112111121121211212212222111122221212122122122112212122111122211222212212221221211212112111211222111221211212221122112111111222112122112111122111111221221222121222111121112112221212222111122211112112121111111211112212212122211212211121122221112212111212221112212122212211221121222212111211111222122112211211211221111222221212121121221111122122111212111122222112112221211211212122212122211112122211212111111222222122121111212212221112111111222111222221122121211122221112112212222211121111212222211122121211122211121211212122211222221222211112122222221212112212211211112111111222212211211121122122111221221221221122122111112221222221122211111211121211122121212221212211211112211121111221211121111221221121221121222222222212121211212221211111111121211212212211121212122122212222222121121211221122221222111111111122121211211221211222121122112122122222212112221111121212211222221111222121222211211111222221121211112221222211211221221222212122121212211222211111211222112212212112111211221211212112121121112221221112111211211122111211112121222121112211111222212111212122112122111121121111212212211211211211212221121121121211221111212111121111111211211211111212111111122221222112222122212212221221122211221121111121112121111221112121122111221211111212211222111211112121111112112122222112122221121222122122111122212222111221111112121112121121222111221111222122212221211122211122211121211211222211112222111112211112122211112122211211222122212212222222122222121221222212121212222111221222221212122222221121121112212221122111212111221211112121111211111111122122112221222122112211121212111111112122121212222212112111221112121211111212112112112112122212211121221121111122122222212211111112222122212211222211212112222121221111121122212122211111221212112212222222212211121112211122211112221112222212212212212111212111122222111112222111122112211122122222111111121111112112122111122221212211122122121111221112121222122211112212211122222111112121212222121122212122111121122212111112122111111122212211222212111222121211122221111221122222112221222112111212221112222112122221121121122121121111121122221211122112121121122121112121121112122122222111222111121121221122122222121221222112112111122111111211122111222112221222122121111211211112111222121122222221111222222121221122211121111121122222212211212121211221212112112111121122211121111222112222222211212112212212221222111121121121121221211121111212212121212211112121211211221222121111121111112221221121222122222121211122122122112122221211122211221211112111112121222122211111121112212111221212121211221211212122211212221211111111122222221112121222211222121211112112121222112221121222212111212221112112212222212211222112211112121222112211211222211122121211211112211212222212121221221221121111112211111222222221222222221122121221122211111122221212222212121222111221211222112122212112212112222111112222112221222222222122121111211111221112111221121211212212221212212222121112211111111111122212221221212111122211211112222222211211111222121221221211221221221122121122222212111112111222122122211221112221112211112212111211122112122222221222122111122212111111211212112121121112221122222122112222222121221222221112121122211212212121221212122111121122121221221222111211122212121111112212111111112211212122222222221211212211211221112112222122122121212112112111222211221121122122121112221121122221112222112211221222222222111212211122122211211221111121212121111211122112212112222111122111221121222221122111111222112121211122222212111221112221222111121212222112122111211221221111122111112122222121111211212222111212221211122222121121221221122121221212212122111112211212122111121221112212221121222212211122111221222111111222212221111111212212111222222112122111212222112122111221222222221212122121222211212121211222122221211122121211222121122122212122211211121121122111222221211112112121211221121222112122222122121211222212212211222212222111211221222222122122122221111121111221212121111121111211122121122112222122222211212212122112122121211222112122212212211221122122221221121211211212212221111111122122222112111211211221221112212122121211221112222122222222221111112122122222221212112122211211211221221121111122222121121121222121212221122121222121211111112222222211211121211121212212122121111112122222122111211111112122221211221211122212111111112122111122112221112112121121122211121111211221211111111222112222221122212121121111122222122121211211221212211122121122211212212221121212121111222212112211112212222111211221212122112121111111221111212211211212112111112112211221122212221221211122221212122121212111122212121221222211221121211121111222121121221121121121222121211222221221212221121122111111221122122121112222221221222121122111111221211212222222112111221221222122112122122222122122121211111222121111211122211112221121122111122221112222121121111211221122221212121112111121112212212221112121211221112122111122121212211121222112121112112222111122212111212112112211111112212122121212122121222222111112112221122212221212111222112212112212222211222121211122222212211221112112122122212212221122212222222221222221222212121221121221222111111121222222212122222221121212212122211211211221221222111222121112222111222111111112121112112211122112112112122212221122122121111212212122122222211211111222122221211121122222112221222121211221222112211121221121221212211121122211121211121121121211211111222112122222212222122122111211111221212122212122112121221212121111221222211212122211222122122111112222121211112111221211121212222211211122111112111211122211212121221211221112112211121122112211112212121221121121121221221111121222121111212212221212112111111112121222221121122122111121222212111212111121212111212222221121212112112212121212112121121122222111222222222121112112112211122212121212222111122212211111122111222212222122212211222111121211121222211222211111222211212121211221112112221212211121221211122112222112111112122221121222212112212111222111211212112111211122112122112111222211212212221111112212221121211212212211122212112221121121112211111212122122211212111222222221221122121112221112222111112112222212212211212112121212122121222121222212122121222121122112111111211212211122122111112111222222122121112212212212222122212212111111221122111221222112112221221221212122121122211211111222112222112211111122221211111212222221211221122211222211222112121122211112221221111212222112211222222211222221112112122211122221212211121112221221111122212112221112122221211112221122111122122221212121211121221112222222212212122211122221222221221112221112211211111112222211111122112121212221221122211211111221212222112111112212222122221122221111211211212211212112121212121211221112211111212111212122121121212111212111122222112212221111122121222112112121211121211222111121212212121211212122112121121121121222121221211222121122211111212221222212121211211112212122112221112221222222112222221211212221211221121121212122221112212122212122222111211122122212122112222221222212221211122221221122212221112222212111111121122122112211121212121211122112222112111122111211112212222221221222222121112221122111211211112212222122112212112112211112211112121212221112222212111212212211122211122222211121111212211122211221112111122121221212221122121112112221221112112221112221112111222111222122212212222221211212212222121221122122211221111111112121212112121222211121221121221112122212212212121221211111122122122221211211121111221212112211122212121211112222111211122211112222221211121212222212221122111121222112112122211111222222222112211221221211112111222112212111121222212122121221221222221121121211212112211222122211111121122122221221222111111211111112122211112111211111212221211122122211212211211211121121121122221122112211211112121122122121111211112222111122112221212112212112122222222121111222221222222112121211112212212111221111112211211122111212112122212121112222121212112211122111111111222222212122111211112212112122112212122121212111112212212112222121211121122222222111222221121211121111211112111222112211221221111222122222111122212111112111212122211112111221211212221221122111222212211212221122211121121112122121222212221212121221121211122111221112221111222222112212112111121222121222222222211211211122122122111111222111111212211122211221221112122212111122121222111221121211121122221211121212212211111111112221112212122121222212211112121212212212122221211221111121112221111222111222221122211212222121122222221212222211121222111211211211111212122121211111112221122111221211211211221122121211211112122221211212122121222111222112122111121212121122111112221112211112112121122211122211222121112112111111112211121222221111221121222112222122111222212111121212222221221222222122121122211112212122122111111221211212211211211211221211112211221221222211112111221212211221111111121212122211122222221111112121121212122211112121212222111111112222111211212112222222212212111212221122112221211212111112112121121111211122212122222111111122211112122121122111111122112112111211121222211111221211122221212221111211222111112121222112211211122122111122121212222112222111111221121112222222212221111122221121212111112211111121121111112222212111221112211212222221112211222222211122212122212222212112121111112112122221122111212211222222112211212221211111111222211122221121211121212221121112112222111212121112211222211221121122111222212122222121222212221111121222221222112112221211222221211122122121211111212222121221221121112122122121112122121112122122121221212122122222211122121112121111211122222222221112221222111221121121122112211212121212211112211121122122122212222211222211211221222122221212222121211111122222222212222221122112121221111212211121211122212112121211212221112111112121221111221121111212211112212122111212112211221112221112122121111212211122222222221112211112111221222121212222122121211221221112111211221222112111212212222221212122222111222211122222121211211122112222222122111111212212121112111222121112111111212122111112222221222121221111221222121211211121112112121111212212221122222122111211121111212212122221222222121212111121221212212112221112122211111222212211212111111221222112222211212212121212121122211211211222111212111221221222212111122121211212112222112212111222111212222111221122111122221111212222222211122221111222111112112222111211122212111122111212222211212211221221211212121211221121122222111212112121212211121112211112221121211212221212111122111222112222222222222212222111111221212211122221112211122111222111111221111111221112121122222111211122121112211121222212212121222212211212211211122221111121211122121212112212122111112121212112221211222111221211111211112222222222111122211221111211221122121112221112211222122222121112221221211222122122112112111222212122222222121122112111112212222112111221221221122221121122212112122121222211112112212221212221111121221211111212221221222212112111122121121111111212222211121212121222121211212111122112222221111211211221221212211111112222221221211221121111122121112112222121111122221112211111211221122212221112211112111111222121212111221211222211111212221121222112112211222221211112212111222212112112112212111221111112222211111211222121121122211212212222222122222112111121111112212112221212122112221122212222212121222111111121222111121212112211122122222121212211121122221111122212222212221122221121222112112222122222111112112122211222122222122122222212121212111121112111211212211121122112122121221222211112222112112112221122221111122122212221212212221111222212212121121221212112111111212112112112211122111111112221221121122212112111212212212211212112122211112222211122111112112211211221222122112112111221111221112211111112122121122211111222111221121121212121122212122212112122121112211221222222112111111122221122222122111111111212111112111222121111122112121211221212112111122112112111211122221121221121111112121111221112222112122111212222122121212222221222121111111111112211211211222221222112221212122122212122222212122111121121211112221212111111112212121122121222121122212111211222211211212211211112111122212221111222212112121212211221111221212111211212222122222212212211122212221212121111111211112211222112222111122221212222222112111121212112212212221111212211222121221112122111222221111212212212121111121112121222222112111111221211121112112111221221121222121211221222221122111212212112121212121112211211112221211212212212111112212112211111111111212121112222221121111212212122122222121112212121221112212111211212111121212212122211122111121111121212212121111212121121122211112121211222222212212112221211221222111222221211221111221111221111111211111122111111122122122121222121122122222122222111222212122212112111221121121221111122212222222112222111122122121111111111221221222122211212122112221211211211221222122211111222121212122222112112122211222112221212121112212122121222221112112111111222222221221211121112121122211211221122212122221122222122122212112211212122121211112212211122221211211112122222122221121121111211222211212112121212121111222112112221222212122212111211222221111221111212212122121211122112212112122111112212212111121122221112111211222122212112122212211121212221111222121222112112221112122121121222221121122221222222222111122211222221112121212212111121222122212211122121221222221111122221122211212111111111122112211212212212112112211222212222222211211221112221222111222212122221221112121122112122212122212221211211112112211211121221122112221212221211122112222111122121112121112212111222222121122121212112121112211122112211221111222111222212221111121222112221122221112222111212212111222121211111121222222211111222112111212221112211122211111211121121112212112212222122121111212111111112222211111212222122222212122212221222221211221212222212121222111222221221121212222221122211221221211221121112222221221212122121222111221111121221222211212212121222212121121212111211112122111222111122112211122212221111221112212121112212212122111212121212212211111221211122211211222222111222221211221221221121111222112122222122211122111221121122212222222122211221221111121111122221212122222122111221221221221112212212122221122121121112212111112211121211212112221222222212111121122222212222222222212222111222122122112112221211112121222211211211112122122211212221122221211122222212221111211211121211222212122111121111111112221211121121121112122122121211122221122221212112212111221212212121221221211222222212212111222122112111212221221221212221222112122122111221222221221222212112111112211112121121111111112211112212222221121212212212111111212212212221212111121222122122211222221212221122212222222212112221112122212122221111221112211211222112111121221211212111111221121211111221122122222221212211211211111122121212222121122112222222212121111111212112212112212211122221211111121222221111111111211211111111211121122222111221221221121122221112222122211122221122122221111112121221122222211211122211221222111112221212121211121211111121111221212221211122121211111111211111211121211122211121122121222211221111121221122222122221222211212111111211122221212122221212111122221122222212211222111112121211121222221211222122211112111212112121212122112221211122121212121221221221222121121112121121112222222211221212122122122122212221112212222221211212122222122121111111122111212211122221211211211211212112222122122211122211222222112222212211212211112221112221112222212112121111212122222222121222221221211221221121122111221112212212222121221222222221212122222222111211222121122211221121122221121122112211221221122212121111112121112212122212211211221221121122122112112212221211211122212221122122111211122122222121122222121112111111122121211211222211222211122112212212222112212222112211121122211212221221211111111221121111212222211111122111122222211222211111112212212212222211112112221221121112211112222121221112222121121122112112121221111212111121211111212111112121211222122112222121111122211122121111211112112122121222211222112111212212212111211221221211211111112122211221122212122121222111111111221121111221121222222112221211112111212121221221222212221211122221211212222122121221111221121111221112122222122111211111222121121211211121212111122111222211212221211122121212122212122211212211122212122212222211212122122121222222221112212212121211122112211111112121121211122112111122221112221111212122221122112112112121221211221222122221212121221122211112221221222221122221222221212222122212112211221221121111121221222222111222122221221222222221212221211222122222112111211112112112112211212221111222111222212212221211112122122222211211211111211111112122212222222121222111221122111222212211111222111121112222222221111222112221122212121222211211121212212111212122111112111121111211121111122221212111221222111111212111222122111122212112122112211211121222121212212221222122111211211121222122222212211112211112212111112111221212212121212112112221122222221121121222122212221211121112212221121121222122122112221221122112222211221122122212211121111212122212211121212221111112122211112121222222121112111221111211121122211211211211222212121112111211211222211212211211212221221112112111122112211112222112122222112121222112211211221122222112111111122111212212221112112212112121112212221122221112222211122211121221211221211212222212212112222222122122212121112221121221211221221121222212111121211221111122111221121121212222121221111211211111121122121121222121122111221112211212211121221111221221112121222112211221122221211111222211212221211222211121212112212111211211212122121221111212111112121122221111211212111122221112122221222222222212212121122222121212112211212212111111212111111221211221121112121222221221111121112212222211222111112212112122211122211221211222111121121121111122222221112111112122111211122122212111121112212111221221111121122122212122121121221121222221111211112212212121211212121212212211121221112222212222122211212222212112221112111122212222221221221112222211211111111112222222211111221122122221221112112212221222122212211212212111221121121212121212222222111211122122211221222211211121211121221211222221112122221222121111222112211111221111211222211122122111112111111222222121211111122222221112211112212221112222222121212212211111121112122211111211222221121121122211211112221111211211221211211211112222111211222211112222112111222221212212111221222222121112121212112122221112211222222112111112121222222121221121122112212112222111122211122212212121111112222121111122222221111222211221211122222211112121122221211121122211221122222211121112122122212112211111221112222121121112121111122112221122212221111112121122112212212121222122221221221211121112221121112212122221122122122211211212122211111222111122221211221122121121211111112111112111112221122212122211111211222221221122111112222212112221211212121212122222221221222211221211212112122111112212212112112212222222122211112121112212222112212212112122221221222122221212121222221122222111111212111122211211211112121222122111111121221122121122122221212222211112122222211122122121122112222221222222111221222121112122221121222211221121111221222122121111221212222222222112222221112111222212212122112112111222221121212222112122212222112111122221221221221112111112122112222212111211122122112122221111122112211122111112112222212121122112211122121211211222212121222221111222221212121121121212112121121212121111211221212222211112221121211222222212212222112221112222111222112112222211121222122112111111222212211221112122212221212221112211121222112222112111121111212122212122111121221112212212112112112211222211121121212112211212122111121221212222122222222112121121222121222111111211121211121222112211211212212121221211222221112111121211121222112111112121212112122112222212222221122221121112212112212221211221222211121122111211111121222221112222221122221122112121122222212112222221122121222222112221121221112211122211221221121122112221222112212111111121121122111121211122221121221122221212122111122211111121121212222121211111112221211222111221112111112211222212222221122221221222121221211212222222111122121112212121222112121122122221221221122221122211111222221111211122221121222121221121122211122122211111121122221111212221211112221211121211212212222111111222111212212122112211211222122212212112112112122112121121212212211222221111212211222221222211211122112221111212122112111122211211112111122121122111211111212111122212222111221112212212112112122112212122222121121112222222121111212121212121221112122222222221111222221122221211212122222121111221222122221122112121212212122212211211212122222112212221211221212122121112211121122111222221221122122121221112121211211111212121221212121121212221222221212121222111211112222112112111211122212211212221121112112212222121221112221121212112112122222121221121111212222221221222212221211221211212121112212221221222212112112112212222211221111212112111211212122211221222121222111111222221111122121221111212122121222211212211212121212112112112122111121112222222111211121122112211122212111222222212212221122121212111221212112211121221121111121222121111112121121222221121221121211221111111221112211222121211221212121121222212212111212211111111122121221111221121122111221222211111222221112111221211222111221221221121222212122121211122112111111221211221221212112221121112122211212211221111222111222221221221212112222222121111212121112112211112211211221111221112212121122122112212221111121211221211211111122111112111121222221212221121122212212111221121221211212212112121211122221222112111121212112211111222121211211111221221122122221121122211221111221221122221222111212112122211122222221222122222121122121111221222121122222122121212121122212221222121112221212111222222222212221111121121121211121112112112221222112221121112221222212121211111212121221212211111212122121222121211122121112222222222111211121122212111211222111212111111121222122112212222212222222211121211112112121221211111212211112112111122121221111211221111211111122111222222221211122111222122112112212212122122121212222122221112122122221212211221222221212121121121111221212111211112211221222122222121121212212222212211121121211222222121222121122122122221222221121122112121221112121122122111121122212112111211112222111112122222222111211212121122211112222211112112111222121121211112112212112121212222222111112112222121111111121222222111121121121212111121211122222112122212112222112211121221111111112122122211112222121122222221112212112122122121221222222222122112111112122112111211111222221111221211111211221222212212112222112111221112122222121121112121222111211121211111111222121222221211111211221112221122111122211122121122211211211222222212121122222222222221112112221122112212212121112121212212222122112122222221221122222221221222111112111212111221112112122212211221212211112122111112211211212112222121122221212112121121112211111122222222121221211221121212122112212122211111221222121212222111121121222121212222212221121222212212211211112222211211121222212121111221221221221222222112111121112111122122112121212211112111121121111111212121111111121111212222222221222211111221211112212111212212111221221211211211212111211112222111221221221221121211222222221211211111222121121211122112212122122212221221111212211112112121112121221211222111222121212111121221221111221221222111121122121221221212222211211212121222111221212212212221221121111212221112211212211212221111112222111122222221111112112111121211221211221221111121211121112122222121112111121222212222222112212212221212112112111221211121112111112122221222121221211221122122121212121121221211122212111221221121121121121112221212212122122121212212212211211121112122112122211121111211122111211222112211222222212121211122112211222221212111122122112122222121121211122112111122211121111111211112221112111212122121121212212212211121211222211221122211112211121121121121111221112112211122221122221122212212211212111111111212222122221221111111222221222112212221111222121112212122222221111221121121111121221222111212111112211212222112112111122122112221221222211122111111222212211111221112211122212211111221111211112111221112222221221111122211212111121211122111121121122122212112112222221211112221111122111211122121122221122222121212122122122212221211111221122222122221111122122212222122222111222112122112211122111222211112111211221121211211122122111211122222222121122121112211111212121221212112121212111222111122111211222122221121112111111111121222111112112211222211221222112221112112112211111212122211212111211111112121212212212122222122121112112212212211121212222211121212212112221211222121111211112212112112212112221222222112111221221112221211221212111212221221212112222212121222112212221212121221112212211121221212212112222211211121121111221222221112211121121122221221212211221212112121212221112121112221222221212221122121111222222211211212211112121111111211122121211212121112112122112212221122221221212211211222221211122222222111222221121221122112111222111221121222122221222112122222112211122112122222112212111122221111112112122221222121122111221122121121121221112211222111122112211121111111221121212212212121111211222211221112211112112121211211112222212212212112122111222221212112111122112211122211222211211111221222121211111122211122112111211212222121221221212212122111212211221211212211221211121221222221221221211121221112222212221111211121212221111212122211212211222211112112122211221121211211122221221112122221212211121212211112122112111121121112122122222212111221112122112111212111111222221212121211112111221222121122221221221212211122222221122112111212121111222221222122111221112211121211121212222122212212212211112212212211111211211212112212212211211212121221221221211211121212222121122122111112211122121211221121112112211211111211221212222111111112112121221221222121211222221121211121211211122122121121112211122121111212111112112222111121222221221112112112221221122112111212111112212212112222121122111212221122222222112112111121122111222112112222211121211212121112112221221121222211221212212212222212221112222122212221121222221221221222121121221212112111222122122222121121212221122212121112221122112121221122122222112122122221122212222221221121211222221112211212222212112121212111111121222112112112122121112211122212212222112112122221122111112212221222121111221111121111221122211222221122122112222221121222221212221221212122221222212112121221122222211212111212111212212211111112212222222121221222112212211112111211211112112112211211221212111221221111222122122222112211221121211122121112121112221122222211112122221222112112222212111112112211222212212121222122121211112111112112221221112212211212112212221122111211221222112122112111111211121211221112212122211212222122211212111121111111111212211222121211222212112222222112121121111212221221111221111222212222212211121212111111121212111111111212212221112122221111121221112122121212211222211222211222211121112122122112121111221122122111221221222222111111111222211211211121111122212211121211222212222212111111122112111221221222121111122221221221221112222212112122121122212112122112122212222111222111222211112222111111121112111212212112211122222111122212112121222222221212111121222211221122111121211211212222111121221121121111221222212111221211212121212121221111112222222212211121212221222221111122121222211211112122221221211221111212121111222222121111112121221112221121121111221122211121222112211212121121212111221122212111111112221121121212211122111121222211211112121221112112212111222222221121221122122211121222211212211111112212111111211112111221221211121111122222222221112221121211112112122221111222221122112112222212122211221212122112112121221221211211111211221211122211212212112121222211121111112122111112122221211121111221122222211111222222211112121211222222221212212112222121221121122221211122221221221111111212211122212121221121112221222121121222212112112122222222212211221112211121112221212122221121121111111211222121112212122221221211121122211122112222221121121111111211211222222221221222211212212212121112122211221221121222211211122211221221112222112222122221122121121122121212112112221121112122211211211221111212221121222211221122212212122221211112112211221122112212212211111121221222111112112111112221121111221112222121221211112121121221112221212222112211222212211221112221222212221212112221111121111211221121211211112222121112212222111122122121121122112121212211222111212111221111121112212221112122211111111112212221122212212212111222122121122121221211222121112122212112112121221122222212211221122111212111112211112111111212121221212221212212211122122211211212112222111122111211121111221222221122122221111211121122112111112112111222211212221122222121221212112222221111211221221212212111111212112111211112222112112221222222212111212111122111112112112211222212111122111212222111112222121221121112221122222121121222121221211121212221211221111111112212122112221122122111111211211211111121122212122211111221211122121212212122212121111121121211221111222122222121121122112212222112222222122112121112111221222122111212121212211112212111221111211221121121222111212111111122111211211211221122212111111221121112222211111221222112112112122222122122121212111211212222211122212211121121111112221221222121211211212211221222122212211121211121111112112112111221211112112112222222211112112121122112221222112212211222212221221221211121212222122121122222112111111121221221111112121111121222121111222211212111111111212121121122121222212121211121221222112111122121221111111221112121111111211122112222221122121212112112122212211112122121211211212122122121111211112121221111221221222222212221112222122221221222212111212221211221111122212122211222111121212221211111122221111221211122222222111112112121111121221211212112212221211111122112211212121211211121222112221112211212111212221112112211222122112111212221121112222111121121221122211122221212211121122212111211221122212211112221211121222122122222111212111221221112221222112212222112221111121122211212211221221121122222121122122212122221212221111112222111212122121121111222212212122221211211222222112212222211111122121122121211121111222221122111121221222121211222212112112212222111221121111212221121112111221212112111212212122221112211112111221122212121111122112211121211212122222211221121122212211112122111211212222221112222121122222112212121111221222121222212111222222211221111221121121212111222122121221112211221211111212211211121222121112111212222221221212212221212111211211212122111211222122221221122111111121111211211221112221211212122221121211121121222112222111211222222221121112122222221111211111121221211111211111221211221111122121112222212122112211111122221121211111121111121121122122222111111122121221122212221122221121112122122212221212111122221122212112111112112222121222121222121111111221111112211122121222111211111222111222121122111212112222112122212221112222111112121212211222121122122121211211211222212211122122111212111222111212121112222122222121221211111121211222121211112111221211221122121221121222112222221111121221222212212222111211222121211212122121212211122212112221121122112121222221112122112112111222211211121211211111211222112211211111112212112212222212122111222111212221222111111121212112212122221112121112121212212212222221111112111122112122212122121221212222111121111121121122112222122221121122111222122111211111112211211221111122211122211111222112221122112221122212111221212111212122122212222111212111222211221112221212121221222221211122122111211212111221111211212211122221112121121222111212222222112111222121111111122111212212212121112112222112121221122111112221121221212211221111222221211221112221122121111122122121212111211112122112221211121121212111211212111112121222222221111211121112211221211112212212111122111122112112111121121211222222212211111211112112121122212121112221121222212221121112121212112111221121112212111222122112122112121222212212122212211222121122221212111222222212221122112211122122121111212112221121121111221211122121221111121211212221122111111111222122111111211212122222111121112121122221221222222121121112112122211112212221121112221221221122122221211111211211121222211111121211212121222122112112221212111222221122111122212122212222211111121211211211111121111221112222122112111211212211211211112221121212112122222211221122212122212222121111112121122122111222121221222221111221211222111122122211121111211211112222221222221221221221212111111212122121122211212222112211212222111112212112212221111122122212121122211112122121212112122211211212122211212111122221121111212111121122111211112211221122212221121111112121112112212122222111212222112121112121221122112222121222111212221222221221212112221111121121222211212122112121221112112111221221112212222121221111111222211122121212222121122111222112221222221211222222212211121222221222221112211222121122222221222111121111112212222112212222122112122112221111222212221122112122222112111212121221121222222211211121121112212122122212212222221111212122112222121222111122211221121111121222211122211221112111221111122211211211111222122212111211222212221121112111111212121112111212112221212212112111112211221222122212112112111212212212121121222122112122121122121112212112211212121222222221221222111111211111222112212122221121222111212111221211221122112211121221121222221222111112222222111122211221112222111112111112212112211211212112221121121111222212212211122212122122122221212212112221212112112112112211211212211212112211212122112221121122111221122222122111212121222112121112222121211111211121212212122111111112122122121212112112222111212222111221222222222221212112221221221111211122222111122121221122112112222112112221121222222221121211112211112211222211222121112112211111222111212221121212221222211112221222221121121211112212221121211111222121211122221221212121121221111212121111221211112112122111211121111111211122211112212211211211112212221121211222111122221121111122121222111222112111111222211211222112221111211221121111112221121222212212121121221121211212211221222112121122221111111222221121111111111212111222212111221211212112111122112111222122112122111111121221112211122112212122212112221222212221222122211212211112211222112222121121212211122212222211211222112211212212221212221211212112221112112211222211211122212111222112222121212221211221122222222111112122212112211211212221221221122212111121222211112122122121112112111211221222111122211111121222212221111222112112222211221211222222111121121222122121211122211212222211221121221122222121221221221222212121222222211111122121222121211121221122212111211212212122121212121112122112111111112112211121111222121212211211212221222111211222211221212112121222221211112211211211221112212122212121211121211121211212112222111222121112221221111211121211221111211221122212122111222212121222222111122121111221121121222221212211122221121211221112112111221121221222122211111221212212121121221111111122221211122112112121221122122112221221121212211121222112212212121122221221211211111221122121121221222211222212112111122222212122222211112122222222112121222122112222221112211111112221121121121111212212211121112222211112111121212222111222211221212112112211122122121112211221211212221211221222122111112222111221121211122112112122212222211212221211121212122212111221212112122122121222222121111112121222212221121121222222212121121112112112222112121121121211221111211211212112221221212221122122111221122111122211212121212112111221121121111212122112211121222211222111122111111222211222212121111112111111122211212112212121121112212221111221212211221111222212122112121122111222121211222122121122221122221112212121221221122111212121211211222212222211222221222222112212222122121121111122112212121212222211222212212112122112221222211121212121211211211212122212211211212122212211112112111221121121112111112211221211211112221212222221122211221221211221221221112212221111222212212211122211211221122111212112112212122121121112221212222212121222221211122122212221111222211122211111221212121122111212211212111112221111112222121112212122122111222222221111121211122212221122112211111112211122221211211212212112222111111121212222221212222221212211211112211211122111121221212122112121222211212212112112112122221222122211212121122211212112211212221122111111211212211112111211221122111212111112122211222222211121222211121111212122211212211111211121222221112212112111212111211122121121112121212122211221111112222111121212211121222222111111112121212221111222111222112111111121112212121212221212221112212221112112112122112121121211122211111112211122122112211212221122222112112122212221222122211212211212211122122222111211112222112121211211221221112112111122122211121211222112211121122111222111121211211112212111122111222111122211212211111112122122111121212211122112122211122111111112122122121211112122121112222211111211222212221121121221111221122121211212212212212222111221112221122212122212212221111221221112221221211212121112112212211111122111112112212122222221121222221222222122122222211121212211112221121111222222121122121122121222111211112221221212211122212121222212212221121121211112222121122111112211122121212111212122222221111121221111221222212111212111111111111111222222122112222121122122211221221211212221222221222112112212221122111211221211122112122122211112121121112222121221211222121222211122111212222211222222222112122221221221122211112121222112212112221111111211211222222211221121212112211112222122112111211122112211211212222211222222222221122222221112212112211112121121222122122211221121211211121121111121212211111121212121121221221212121111121222222112211112221121221221111112112112222122121221222112212211211121122222222222211211221221112112211211111212222111111222111111121221112121111111222221122222122212121122212211222122122121122112211111122211122121222112121222112221111122211222222121211221221212222212211122112121221222221111221222222112121121212221111121222121111122221112121121211212122121122212122122221222121211211211111222111212221212221222211112122111121111222112211222212121212122112122211112121121112222112111111112121122122222221122212112221121121122112111222111221211211221111222212221211121222221211212122122122111211112112112222112111222221122111222112221211221222111212111122211111111212221121121221211111211111111122221211122112211221112222112122211221221212222122211111211222221122112212121112121121112112211111211221112111112222111211111221112122121121222222221222211221112221122121222121111121221121121121111211121122221222211112121111122122211222112111211121112221211221211222221111221122112121212122222221112122221111111122111212112112211222111121122111111212121121111121222122111121111121122112211221211121121212222122111221211222222121212112222222121121221112112211211221211211112211112212221112112121111222212121221221112122121111212111221111122222222211221112112222221122112121222211122112122122112211211212221221122121121222112221111222211211212112212112121211221211212121121121121111121112122222122212112121111212121111112121212112221222211112212121211122111122122111121121222121222221111222221212122222212221221211121221111211111212112221111221122112222212212121112111112211122211112211111121112221212122222111121222122211222122211221121112112222211211222112122212221112212112212121222212121221212111212111211121112121211121112121111111222112221212212211212112212111221121122122112121211111121212212211121111221222122122222212212211222122112122112211212122112221211111122111211222121211111221112212211112222112122112222112221222212221121111121212121122222121112221122112122221122111211122121122112111112221112212122111222211111211111122121111211112111211221121221212221211211121211221222221222212122111121211112121212112112211222122212122211222222111222221111221112222112211211111121121212211222121122112121222112222212222112212122122111122212122111212211122221212221211111222122111111221122221211221112222121122122111122122222122121221222111111211121222111111111222212112221121211212112211212121212221112212122211121211212211221122212112111212221222212212111221121121111122212222121111111212112212112122221122111121221122222212122222212122222211221211111112122212112212122211111111212121122221112122221211112121222112121221222211222111222111212212222122211221221211122111212111122111212122121211111122122121222222221122221221111121122121122121221112111212112122122222111221122222222112121121221121221112211221112221221111211121211211111121211122111222212211221211121211112222222211222221221222211221222212221112221211212121121222221221221221221221122211212112212121222112221211121222122221212112212212122121112111121112121222222122221121211121121221111221111212211222211121112122111211122221121212221122222221112111211122111112212221211222222221112212122212112112122221221212112121212212221221221122122221111121222122212112121221121211121221111222121222112221212122121121222112111221112121122221222121121111121211222211112211222122221122122212222122122211122122122222212111211112212212122211112221222112211211221212111222122222222211122121122212112222221222111112122212222211111221112211111121212212222211221112111112221112222111212122222221121222122211221222221122221111111221121111212121122122122212211112112121112122112122222212112112211212111211211212111121122211111121121112212212211122111212112112221111221112211112211211122121111222122121122222121222222212112112112111212112212112222112112121221211211111222122222222221221111111212112212112111121122221211222221212212212212221212222121212212112112121112222122112221121121222111121111112122212222122221222122122222111122221222112221221121211112121112112222222221122211111121112221221111112211112221121222221211211112112121212212221212122111221222112112212112222111121112111212221222112122212121212221222211211122221212211111222112111121221121122221211212221112121111211121222112121212222222122212212222121211112221211122122221111221222122212122221112211212221211211112112222122211212222121221121222112221221211221211222212111121111111212211211222221112111112121212112111122122222212122222121212222212211211112212121112211212122222111122111112211212111111111222212112121112211221222112221111222211222211121211121112111112212122111211212111212121111122222122112211122212221212212122111211122112121121212212212221112112221211211211222222112111121211111122222212111122212221111221221221111122221111212212111122111111121111221212221222112211222212121122222122121111212112112222222112121122212121122122111211112111122122211121212212211212121111112212111122222212212211222121112122221111212112222121222211112111212211111122122221211211211212122122212212122212222122122121111111122122121121112112221211122122212112212111211221221211121112122211212112222111222112222122121112212122222112221222121212111212121122111112112122221212212121212221112121111212112212121122122212212111121112211122222122212211121222121222122121112111112222121121111112121212121122221111122222211211112112221222121212112211122111122112211122212112212121111222121212211212122222212122222122222211122122121122221211211122211221211122222221211112112121112221222112221212222221221211221211122211222122211222121121121112221112111122212121222112211211211211111211221211222121211121222112111212211122111222221122211111212111221222112221222212222121212121111121212121112111112211122112222111111111222122122222221122212211221212121121221121211121111212111222222222211212122112122122212111221112211112122121211211211211211212221221222111212222112112212222112112121122112121121121122122111112222211111112122211121121211112111121111222221122221112122221112221222121122211111112121212212111221112221121112211112211222212111122211221222121221221111111112222222212111222112122221111111111211121221221212221111222212122211221222221212122222212211122121212121222212122112221221111111222221212211121111221122212111211122122112111111212121212211111212121211211211112122112212112111221221121212222122121111211112122221222121221212212122111222121122211121112212221222211212112221111211121212212211121211211111221112122111112112221121121212112112112122111222212112221122112122112211212111112211111211211121112121112221111221222222212111122212111122221111211112212112122222221122112112111111212221221221222122121212112111122221112222122212211221121122121222122221212212222111222112121211222211222222112222211211112221212121211222121221212111211221221222111211112211112212212221212121111221122121211112111112221111112121111112121121111112121211211122121221222122122222122211221222121222221221121112111122111222222221122112221221111221221222122112121221112111111211221111111122122122211121221222121222221222121211221111111111111212212121211212211221112121221211122111221212111122112121112222112221122112121222211112112122112122112111211211211222112221121121122122211211112222111212122112111221121212221211221212212111221212111212211212121111121112222212211211211111121121112112121221122112211212121122221222122111211212111221112122122121222221222211221111222121212121111112112221221121111221222222122111121111111212122121222222212222222222111211111221221112121212211112221221122112122221122121221222212222111121221111111121112121121112212212122122221121211122211121222221111111211112121212221122211122122122212121211222121121221222212122112111221121222222221222221121222121222212111212111221121212222221212221112221122212122221111221212112122221211211221222121122111122221221221212212122112121211221121122221221111121212122112222112221211211112112211112112111121212221111222212112112222221212212122221212222111221111121221212221212211221112221211212121111112211221211211121221211122122222122111121112111222221222222212112211222211111122221222212111112221212111121121212111122121222211221211111212221112212222212212222112112212111112211122222221111121122122111221222221221112221222212121211211212121122221212222122122222221112122212212121212112222211121212111121212111111212121122222121221221222212211122222212121112222221221222112212221222121111121221211212122211222112121112211122122212211222221122212121111121222122211112212122111212111121222111221121211211121121221212122212121112121222122111221222121121222111121121211122222211211211222212121211121121111112221111222221112222222211222222211221211222121111221121212122221122221112112211122211111122222212221121122222121112221112211112211221221221211211222111221112112212111121112112222121212122222211211122112111111111122222122121211212111221121212112122122222222212122221211112122111121121221211222222211222211222211122221212212212222211212222121221212221212221122121221211121111222211111111121121221111111122111212212111121222111212222111122111221211211122212212122211121212122221111211221121111122112111211222121221121122111212212122211222121212121121122111122221122211111221211121111221212122221122211211122112221222112112121211122122111212122211111121112212222212112211222212211111221222212111221222121112222112211122211122211121112222122112111111221221111222211121122212112211222122212122212222122111121122112222121111111111222211112111121211222212122121111211211221121111111111211112112222121221211212212122121122111112212221221122122122221222111212212211111211212211222222112122222111222212221111111212121122112112121212222122211222221212112212212212222222221112122121222122212112211212111111121111222111221122221122112112212222212111111112212221221112122112211121212211111122111211222112121121212122222212221121222111111212111111211222112122122122212111111121221111112211121221112121221211221122112112111112111121222221211121121211121221222112121122111112212212221122111211222111111211211222222212221222212222222211211212211121112121222111121122122122112112211212121121112112111122121212221212122122212222111122212121222111121222222111211211211221121211222222211211111222211112221121121111211121212222121221221212221112221211211211111111222221212221122112112111111211211212222212122211222121112121222221122221211211122222222111112121212222222122112112212121222122112212211212221211121212121212121121112211222211221112211122112221211112211112121112221111222122221212121111112211222222222112221222212121122112121112122222122112221212121222122222222122122111221122111222111211211112211212212122221221221221121212122112122222111112212211211112212211222111121222212221221221212222222222221221122111122122111111222211121111222112221122222112121211221222122122211211122212221112212111222221221121212112212211121121111122121121221112221221222222212122122112122111222212121111112212122122221212122122211212222212121112221112211112212221222112121122211222121112111212122222122112121222121212222222112121211211111111112111211121111121221121112211122121121112112212111212211112121211212221121121212221112222221222221221122211112211121111122221121211222221212211122211212221222212112112112111222122112211112122112122122221211121112112121211222211112221111211211111121212211111212112211121211222221211211121112212122222122212222121211212222212222111211221212222212221222122221121121221212121112112111112112222211122222122111122112122222222212122212121211221122122122212122111122222211122111111112211111111122121112212221121112222121111222212211111111122212222222111221222121111212211212222121122111112212211221221122112222212221112121121212112112221121122221222121221111111222222111212221121112111222111212112121222112111221222212112222211212121112111212212121222212121211122212221122211212112222121222121211212121221121221222111121112121112212112212122222121111211122121111122211111122111212122212221121222112221212222122222111111221112122221212221121111211112122121111112212211112212122122222212212112121112121221122221221212111111111221222112221211222122211212211122121212111221112211112112121121121211212211221222112122221212122112212211121212212122222111121111112121112121211112112222221211122221211211112111212122122111212222121212111122122122222112222222111221212122222221222212211122121112222212121212121221211111211221112112121121121222212122212222211122112222221212221222221221222112221211222222121221221112121211222211211211211111211211212222122221122121121122122222211111122122211121212211221221222112121222121121121121111121121121212121121112211112112121211111222211221122112211212221222111222212212111112112221121221111212112212122111121111122222111211212122122211221211212122111112221221112112221212211212111112212112112222121212111112121212212221221111211121111222122121111122211122222112122121112211111211212212111211221212112222122222222112121221111112211221112221222121121122212112121111122121212212111212122221211111112121111122122212122122111112121122212212212222211112111222121221112221222122212211112221221112221112221111211221211112222122211211211121212222122212221122112121111111221122212112211211211122212222121122121111112212112122212221222121221122212211121211212112222112212211112221121221221121122111121222122211222122121221212111222111212212212121222112221111112122211212211111221221122112222222221122112222221121222222211122212221222211112211222222211211112122112111122122122212222112122112211122221211211212111111222121211112222211122122221222211121211111112212121212122112211222122111221211212122221112211211111222112111212211121112221112121112122122211211222222121112212211222122222121221221211121111211221211222111122221121211112211222122122111122122122211122122121121221222121212212221111212112221212222111122111122211111221221211111212122121121121221112212212122221122122211211221122221212112211122122111122111211221222112212222222111212222121111211222222111221112122211111211222211111222221111122221111221111221222212221222111221221211112221112122111122221221122211212121111222121121121211211222212211222111112121212112211112222122112222222111111212222211221212222222112112122221211222221211122221222211221211211222111221111111212211122211221111222111111122212111111111111211212222222212122212212112211122222212222211212212121121121111221222121112222111112222122222211222221221222121212121221122121112122222221212212211112111211112111121112111222121211221222222211221111222111111112221212122121211121121122212211222112221221211112122111211211222121122222222212221112122211111211122112212111211212212221111221222111112221122112122121121111222221221221222211112121221222112222112122111122222212112221121221211221111112111121211221221112212111212122112122222212111121122121222112222211122212122112212111221212211212111211211212112112222211122111211121112221122122121121212121211212122121212221212121121221112212221222122112211111212212222211211222211122222122221212111111112222122211112222211121111212221111112222112122211111112111212121121122212112211111111111212121221112222121112121112212211222112122222222122212212121211111221211121221221121212222212211121212211122122211222211212112112212221121211112111111121121211112222112221111211211222221121121111221211211222112221112212121122121222112121111222112212211112211111211121111221211212122121221221111111221111222112111222222221212122222122221221222122122121211112212122121112121121111211222212112121122122112222111111121222112111222111122111112121111111112221111211122122222111222122212122112121222122211122222112121122211222212222121122112122122112211221222122121222212212212212212211221212222211111221121211121211221212121111211121222122112222122121211222112211211112211122122221212112212211112111122211222221111212211112122222112112212221111221222111112222222111111112121112211111211122112111121112222122122221212121222111121222212111211222221111211221211111211221211211111211111111112122222212121112121122111112112221222111222122212221211222221211211121221121211222211122121111111112211212112111111122222212222111211222121122111222212221211222111111111111121111122122111222211212111212222112111211222111221122211211212112221122222222111111212212211212122111211212111222121112122222222222211112111222221111221221222121221211222112111212211211121212122111221122211211221111221111211122222121222221122221112112211111121111111221122211122212211211122211112211221122122112121122111122222221121122212222211111222122111212111212121112112121212122222211112221221211122111212211212221122122122111121122212222111121122111212112112111121121221222222122212212212221211122121222122212211212212221212222121122111221112212221212121212112212122222121212221221122211211211221122122211221111222122121221112211122112122112111122121221221211221121121112212221111112221121122111111212212221222222122111121222212121212211122121111211211211112112121221122221221122212221212111222221112222122111221111212122212122212211221111221111212122121111211111221111112212112112111211112121221111122121211221121211212222112111211122122111212212122222122222112221111221121222211221122111112122221112121221122211212122121111122112122122212211112212121212122222122222112111112222122121222122112221122211222221111221222111221121121211111212122112111122122221112112212122212211122221212111221122112222111111112112212122211212211222111222122121121111122212122212222211211211111222212122112221111221121121211112122221121211122222121122221222121112111222212212122211112221211112221222211211112112212222121221222111111121112212122221122122222122211222122221122211211211212221122222122122122111121212112111111212211111121112212122222112212122122222122112112122111212221112222122222212221111122121212112122211111222121121111122221122221121211212112211212121122122222221222211212211222112111212221211211212122111221212122212221222111121121222111221122212212211121121111111112111112111111112222222221221121111221121222111111211122112111111122121221111112121112111222221121211222212211211222121121121111112112211221122211121121222112211212111122122122222222221212211212111211212221121112211121222121111122212212212121212112211211211222111212112111221212211112211112111221111111112112111211212221221122212212222121212121222122212212122211112121212221211121121111121212122121211221122211112122222212222111111211221112222211112122111121222111212122222122221122211121211122121212112121212111222112122112112112222211122122212111111222211111122221122122221121121212212212122221212121211111222211221121111111222111122222222221111112121211212221122212211111121221222111112211122222222212221122212212221222211121122222112221222211222222211222221112121111121111211122122111121112212222122122121122221211112111111222222111221122221111211122111121221222211112112221111212122222212212121221221221211211221212112121222112122112222111212111111122222211121111121122111112122222121122112211111112111222221112111211111222211212121212221211211122221221121211121121211222111222222122122212121211112121221211221211212212222211212212121212112112212222221211212111212222122112212211221211112111221112222211111221112111212122122121212121122212221211221112212212211122212112112212122112121222111111211211121122121112212112122122111212112212121221111211111112121222112212112112222211112221221111121111222121112111212122112112211222112121222212212222211212222212212221211212211211121111211212122111211111222122111112122111211212212122211212111221111212122212212112212222112121112222112112222212212222122111112112112222121112221212212111212222112221212111211212121122222112122122112221121121221121121112111212211222122121121111111221221111212222112112122221122112221222122122121122221122121122111121212111222212221212212122222121121211111211212122121122221212221221111221221111111112222212111121211112122221112221211122212221121221111111121122111221222222122112221112111122121212112111121112221122122222222221121112121111111222121121212212221221212122111121111121212122112212111121112222212111122211221212212112112222112221221121121221111111222112121222222122211212212211112112112122221121111212211211121122211111221212122222221222221122121121122221222112111122121211122211122112121122221221211121212221112112112211111112111112211222212121211111212112211211111121212121111121121212221122112222211122121222221221122212112221221211221112111211122121121112111122122112122211111121212111112222111212222112111111121122221122122212121212222222222212221111212111211111212211112221222111211112112212221211211112111221212211122212212122112111122212211211111121111112111221221111222111222221111121222211112211222112222122222222122121121221221222122211212221212211112112221221222122122121122111111121122121212111221222212211121112112212212111221212122221221121221221221211121122212211111111111121212212122221111121121212111122221121122111111221111212212111221212222121221212121111112122222222221122211221111221112222121212111111121212112121221212221121122122212121212111212122211212221221112221211111211222221222212212222121111111221222212121121111221112122111121212112212112121122111121112122221212212221122221212112122222222122122222122121121211211221121121221211211111221221121111221122212222111221112212222122221211222212112122111211212122211212121211221122211122211211211222221222221222222211211212212111112221112221112122211122111221222211121211121211211112111122111221222122221112211121211212221111212121211211211221122212122112211111112212221122112211211112221211111112121221221222211122122221211221221211121121222222111121221111112112122111111121221212121112211212211212112112111221211221122222111121221121112222111112222211122221222111212122222211211122222212222122222111121222221122221112212122121122211221222121122212212112121212122222112122121212211111121212211211211222212122211211121221111212221112211112211211111212112121112122222221211122211112112211111212111112211212211222221211112222212121211211112112222222122111222111121121121121222222112121111112221212211111211221222212222222212221121221111111222122211111112212121221211122212111212221221222121211111222121121122121122112122221121122212221211222211112121222222111121112111221112212212112212122211222211222211222121111222122221122121112222112212122212212212111211211121111221212212111111212112211111222121112222212221112212121221122112112211122121212121122111111211121112122111121122221122221111221211122212121222222222112122212222211111222122221112112221122111111121222212112112221122122121122221212221221212212111222222221221111222122121122221112121221221112211121211211221221121221112221121211221211122111212212111121211211211212112111221221211212122211222121212122112112122121211122221111222112111212122212221222111121221121121222122211122112121212121222211212122122221211222112211121121222122222111221212212122112222212211222221212112211221222121112111222121212112212122222111122221211222112212221212212121222222221111112212112222122212112111111211112222111212222212112121122111121211212212112221212121111111211111122222112212212221212121121212222111221111112211112222212121112112112112111221121122122112211221122121221212121212121111112121222122111112221222112121112121212111212121111121212222212211221112212111212122121222221112222222122212111211222222111111122212111221221121112122112122111221111212222211221111112212112112211121221111121221112112122112121222121221211211212112211121122122212111122211122112111222121111221221212211121222111222222111112122211211122222121221221222212212111112111212122111121212212222212112212221211211122221112121122212121212112121112221212122222111112212111222122211111211111211211221121221222221111112111222121122212111122111122121211221212112111121211111111112122112221122212122212221122212121211222121221121221112112222121112121212121112112222221111211122121112211211212121121122212212221222221122112221221111111112221221222222211221211221212222112112211112211212221212211111211211221211122111211212122121212111111212222111211212222122212112222221222122112122121221112222122221211112221112121112112112211211121222221211212111221222222112222112112222111121221122211211211222122211221211211112212112212212111221111111212222222211222122222112122122121212211121212111121211212112211111212122222122222212221222211112112222121121222221121112122222212222222221121222222111212121222212222111111212221212112122111212122112221111122121121211222122221111211121212122221112212221221211212112222221122211112121111111221122211211121212221221121121221121111222222112222212112211112111222121122222111112121121112121222121211212121112212121111122212122212222112122221121122112212121221121221111222121221112121221222111211112122212222212112122211111222212112221111122111222112112222211111121111122121111112222212112111111221111212211212121221211222222111211222222221122212111122122122111222121222221222112211112111122222211211211111111122222221112122112121122122211222112222111221212222211211121112221222221212112121221121211121112122222222112221122111121211122121122121122111222222211122222222212121112221222222221112121211112122121211211222212122111122221111111111221211111221222211212211211212121212122121211121122111212121222111121212121212121221222121112111211221222122222221112112112121221121222112112222222221222111111211211112212121221111122121212121111111222211212222111122122221221221221222221112221211222122212222111221111111122112112111112211121122212122212112122221212112221222211111221212121221112111112222212122212221222211122222211122121111112122211212121221121211222212222112111211121222221222211212211122221122211221222122221112221212122222211221222222111212111112121221212111121222222211121222112122121222112122112212221211122221221121211221212221212121122221222121111221121211222112112112222211222121211122221212211111122121212222212221212111122112211111221112121112212221112121122112112221222222121111121111122221212122122212111111221212121212111222121121122211222222211112212112221122221221111121221122222111221121122122221212111122222211112211212211112121212112122211112222122122121122112112112121112222121211221211112122111222121222212121212111222112112111212111112121111222222112221221122111122221111122112222212112121122111111221122111112112111211122221222112121211122212222212211221211222112212222221221122111111121122112122221221222111221122212122121112212221121121212122211222122112111211212212111211111112121111121222122212211212112121111112211212121212112212111211222111111111121221121221221222121211122221111211111212211111121212212112111221222111221212211212112211211111111112121111211212112121221122212112122121221121122121112121222112221121211212112221122212122111221212222122111212222211121211112222122212221112111221211122121121112112212122111121222122121111212121122112121112111221212111121212212212212121111121121121111212121121121222112122111211122122122221211121111121221121122212212111212221111112111112112212222222111221211122221221122211121221122121221111222112221212221222212111221122221211111222212212112111211111211212112222122221222112112111121121121211222111211211212211112122111221212111211221122112222222221221221112122222121221221222122221112222111221211212222112221112221221111211122211221111211121222112211222212212122112111212212121222211121121212121112211112121221111211212111111122122212121112211112212121121121122211122122112112112221211112221211111211111112222121212221111211222211112111121222122212112122222111211111222122122222111211221121222121112111211221221221212112111222211112212222112112222112122112222122112121222122112111211112112212212122211112122111122211211211111221111121121221221211121212222111112112221221212222221212122211122112121212122112111221221211211212112211221212121221112212122211112122212221121212222221121122121222121212222122222122221111111122212222122221121122111221212211121212121211212212221222121222211211112112122111122211122222211112121111111121112111111222221112122121222212221222121212212122111111112222212212212111121112221212221121222111121122121112221211212111222112222221212212121221211121122122121111221121111112222111111121222122221212212112112121221121122122111112221121112121212122111112112122221111121111211212221122212112222112122221121122112121121222122222121222112221212111222112121112222221111222222112222112212212211112211111122211122211121211122111121121111222122211111122111121121111121211122221212111211211212222122221222211122212212121122212122111111211121221222222222222211222121221221122221221121112122222211122211212212211121212211121112111212121211211222121111122222221121222112222122221121121111111221211211211211212111211211211121221112222222111222122211121111211221111121212122211122222112211222212111221212111121111121111111121212221221122221212222212111112122222221121112212112121222221122112122121212111122222211122221122222121112222111211212122211212111222221121122112221221112211112122221111212212212121221211221122211221111122212212111112212212122221221222112122121211122222212111122122111121221212121122211212212222221112111112122211211112212222121121211211122221121212211221122122122211111111112211221122112221112122121221211122221211222121111122212212121111222222121212222121122122121212112112112112212212122222122112212222122211112222112222121111122111122122221112222112221221111121222121212222212212112221111111212222212111111211112212212212212221222121112112222221222111112222111121222112111122211211212111111221122121211121211212222121222221121222222212222221211221121222221222122222112211212122221221211221122222222211222122122212122111211212222122211122211212121211121121121221211121111222121121212121222221112212112221221222211212212122221221121212211222221212122122121222212211212222222221211111212221212222211211121122112112212122111212122212222112211112122211221222112112112121221221112211212122211221121112222121222111211111222122221222221112112221212111112121122111222121212212121211122121222222211221212112221121121121212121221222211111212112112221222212212112112111121212111111111122121121121112112111122112212211212111111112112221111211112112211111211212222211211112122212211211112221222121122211221121221111122111112221222221212211111211111112221111112122111121112121221221111111121222212111112211211111212112111212122122211212122221222211121212222112221221212211111121212221222112221122211211121222222212222222111221212211222122111121111221212221121212111121222122122221111121122222221112222222221222222211112222112221111211111122111112221211122112221221111121212222221121221221211122111221222221211121111211112122212211222221222112221121121112222221112122222121111222111222122122221111121112111221111122211111222112122212112222121112222222122222212111221221212221111122221122212212121222112121112122221211221121122212122222212211221111222212211212211221221121222212112221212211222211122112111222212111212221111121222122221221222222122111222222221111221221222221212122221122111121111221222212112112111211121122121211111111211111121112112221111112212211222121221112221122221121121122222121212211211221112112111111111122222221122122121211121212111222212212121121212112212111221121221211121211222122112121121222121121112121212112121121122222221222212212211112112211221221212122211212221111112211212211122111111122111112212122112211211122222122111222112112212122111111221221122111111221112122222112112221222111112211122112121221212111221121111112211211221112111221211222211122122221122222221121111112211212111111221222112222211111211222111121222122212112121222221121212212211222221222121112122211212212211212212122212121111112222112211212212221211211221111221121211212121212121211212121111112122122212112212212221221122121212222122111122211222122122211222111212122122221121221111221112222122221211122111112122111121222111222221112111122111122211111221122211222121211211121112211111111211212122111121221111222121112122221112121112111222112212112211111112112111211221222222211222122112112212212112111222121221111122112121222122211111122122221111112211211212221111212112212212122222212222121211212222122211111211212222212121212222221212112122111222221212222121211122211112112112221122221211121112211112211112222222122122122211222112212221212222211212122121212211221211212121221211121121211211221121112221122211121222211122122121221122211211112222122112221212121221112112111221211112212211121211111122222222112111222121212211211122112112222121212221221211121121122222122211221221111212221122222111111211112221111111121121122111112112221221121211121111212211222212222111211112121122211211111121212221211121211212212112211212222111122122121221111111122211211112222222212121222222221112121121222222112221111112121222212121222112122122111221212122122211122122112122222112122221122211111221112111211111221112221212222212212121111211112122111112121112121222111112112111212112222212221211122212222121222121221221121121221221222122121121121221122222122222121121121112112122121221222221112221112212122112112112112212211221222112222122212111111111112212221212211211112212212211112122112221112112211122122111211121221111212221112122112211211222121222121211121212222121121211211221121212121111222112121122221222122211211111221122122222222111111111122121111112121112221122121211111122221211112122211121122111221111211212112221212122112122222222121222211121122121212121222122212211222111221211212221111212222112111222112122222111222221221122111121212222211211211221222221112221122212212222111211121212111111211112121221221211221121211222211111122122211211211211122212211121121222212111121212112121122212211212111211121212212112121112122122121211211122121212212112121221112111112111122221121121112222122212212212222112211221112111222111211211112221212211112221112212211121111211112212111112212112222112111211222221112212122211122111212221121221112221122212221121211111212222121211222222212222122111112221121121121222222111212212122122111221221112122121111112122211112222212222212111222212111211122122222211112112122111212212122211212121121112121121222212211222211212222222212122222222121211112122121121222212212221211111112122121222112222121112111212212122212212122221121212111121221222221221212112211212112111122211222112212112111121221122122211122121221222212222122222111222121121211212122212112112112222122211122112212212111222111121221122212111121112112121112212221222222122221211212112221222111112122111211222212212122112122221211112122122212222212122222121122222221222221212111222121121122121211212211122111222221112211111222111111222122112221112111212212112121221112221212121222112211221211122211111212221211111121211222211212121111122121222211212212221121212212122221111122222122121122221121111211211112221111221111221122121211212222212222212122222112212111121221111211111111221211212122122211212122122212221121112211221212211221112122121212121222121121122211212222111212211121212212211222221112121212212211222211121211111112112111111122211211121112212122111211122111211121221222211221212212212112112121221112111121122212222112212211211121222122222111222121211112121111221221121212111222212111211112122112121112112221111211222222222222211212222222212211121212211211122122111221122222221211212212221222212111221222111112121121222222112221112111111211221111122122212121221122121222122112121111211222112121122112112211212122221111121212112221111122221211222112121121212112112112121222122222111121221122211212222111222121111112212222221222112212221212121221122212111222211111212221212211112221112221121222212211211211122122112121211222122221121121211122111121212121121111111211211121212121222121221121212112222211111211221211221112122222122212212121212211211122112112122112122222112122211121212121222122111122211211122211212212112122111221111122111222221111212211121111212212112121212211211212211221112111112212221121221212212122122121212121211212212121122211212212221221211211121212222212112111121112211222211111211212211211121111211221222221121211221111221121211112121111121121221222212212112122221221122122221112111211211122212211112221122222212122112212222222121211212122212111212221221121111112122212121211122211212221122112212221121221122112222121112122222222222111121121212212111222112121122212111121122111211221112211112221211111212212222111122122111111221212221212121221122121112222222112211111121211122112112111221111111221222122121212111211222112221221212112121111111112122121212111222112212212112222212111212121222111121212221121122121221211112221212212211121111111211112111222121222221111121222212111212211211111121122112222121222212112212211222122221212222212212212122222222122221112221121111121222112122212111122222222212112121212122222112122221211112222111222211221122221212112112211221122212212112222112121212112111212111221221221121211122211112121212111112221121212212111122111111212212111222121122122111211222221122212212121212111211221212122211211112222112122222121212212121122212221221211212122122212211221112121212222121112122212222212122122111122112111212222221121222122112121212222122211211222212112112222221212212211122211111221222122221221112122212222122211121111212112212122212221221212111121112112111221212112121111211222222221211221111112122122121121221112212212121211112221222112121122211211121222112122122222121122112221112111112222111222211222122122211112211222222212122121122221111112111222211112211112221122111121122212122122112212222111221221221122221122121122111122111122121112222221122211222122112222122121121221222211122111222212122112122211222111211112122122122121222222221122211122121122112112212121121111122112121112211112211111112122122122222211211212211211222212212121111221221222121222122122112121122112111112221222112212211221112121212112211221112221112221122111111222122212221212221222121211212121222221211221111212222212121122222121221211211121222222212221222122222112121222121122112221111111111211122122112112122111212112222212211221122221112112111121121212121222212111111221222212111222222121221211121222121111111212221122111222112121211112121111222212111221111121211111121111121121122221211111221122222121121221221222122221211122221221122122121111222111111222221212122122122211221212121112222222211212112112222222221111111121221121122111112212212221112111121211121121212211221222222221212121222111112212221211111121211112121122121111212211212221121122221221112122112212222221111221221211122211222121112222112121211211121222121211211221222212222221222211211121222221211221112221122122212211122112221222222112111212221211112121222212112211112112221121221212212211211212122222222211122122222121212221122222111211122121212112122112122112111122122221222111221111212211111211221111121112222211112211112222211121121112121122221221122111122212212111111122111122112112212122112221112222111212211112121221122112211122212212122211111221212112211211221122211121121221112212112112222211111222221111222221221211111212221112111212122111212122121212212222121111212212122112112212222122212121222212222111212212121121221212212121112111121221211212212111211122121112222221121222211221111112121221212222111121122212211222221122222121111211212111111121211211121222222111221211211122221111112221121222212212111111221221121211112111122111111112211211111222112212221111221112122112211212221111222122122221122212122221111221111221222121222212222222111121222112111212112121112122221122221222112221221212222121211112222222212122222112212212121111122212212112221122212222211121121121121111112212122112212212111112221111221222122211122121122212211121211211212211211112211112112212211121121212222211122221121211212211111112212222211212221211221222112122221212222211112122112211111121112112121121222121121111122121212122121212111221221211211212211211211121221111112112212112112111122111111122222212222112111221122211222211221122111222222211111122112212111112122212111121122222112121111222112211121212222212121222122122211222211111121111211111211222221212111222211121221212122211211111222222221211211212222121111211121211112112122121112112212111112111112212221221112112211122222221112221222212122111222212111222122121122122112212211222111121222122122221211211121222112222212121222221112121122212222211121121221212111121211211222211112221122121122222122212222112221222221112121111221212122212122121121111211122221112211211211111212111211211112121121121221112212122222221212212212121211111221121111212222111111122111212111112211121121222122221122211122222211121111122222122212112111211221111212122112222111221211111121212211121221211111221122222112211112222222122122222211212212122122112222211211211122122211112122211122222222122122122121121221212212212222112121121111122122121211222221211121212122212111121221212122221111122121211221121112222211112221122221212122122211122112111111211121221222221112222212112121121122221211112221222222211211112221211112211122121221211211111122212221112211211222221111121112222222111222111222112111112211212112211121112121121122221121211221221121211222222211111122222111112111121212121121221112121122221222111121212221221222111121112122212212121112212121222212112221221212122112211221111222221112211122221211221221212122111122111111111121221221212122222221211211111211212122121222211221121211121221111212212121122211211112111121221221122121121111211221111222221111212111212122112222122222222112112221221122121121212121212222121212121212111221222222222212111122221222121212122121211112121111111112121212122212222112112221221122122111111112112111111211111122111121112111211211111121211222222122121221122221222212221221211112122211111221112121212121121112221111121211221121112211211212122211222111121122111121121222222121121112212222122111111111112122212122112111112222111122222222111112221221122111222211122212211221111222111111121121211111121112221111122122222112111121112111112221211212121122211111122112211122122211122212221222211121112111211122211122221112111121122122211122211221121222112221122222221121212111211121122212211121221111111212212122222121221222221221112121121111212211211222122221222121112122122212221121111121111221222212222121122122211222221212111211122111212211111212121111111221111212221121222112111111222111112212221211221222222212222211122222211212221121211121112121211111111211212222221211111212111112111121122111221221112221221121222222111112111221222211212121111122122122112212221111112111222112121122222221122211111121122222111122212111111212211221121122222121112221212122221221212121221121221212111112111121111222112212221111111122112212122212111122212111212212212212112112211111211111222121221211221122122122121122111221111212212111121212222121122112211221112212121221121122212211121111111221222212112221222222212212121112111221221121221212122122211222212212121212221222212221211211221212212212121222112112122111222122112211111221222111211221111221112212212211211222121112221111212122111122212112122121222222111212111112121222111112221221122221112112122221212221222111222222111111221222121221122112222112111121212211211122121112211111221121112221222111221121111121121121221222121222211122112122221222221212121121222121111112121121111212111112212211121221222221212121222212122212111212222212112122121212121221212121122212222211112122222221111121212222212122212211122221222211121111222222212221211211222121212212112211112222211122221122221222211121212111111212212111112121111111211212212121222111111212122211111222211121222222112212112221222122221121112122112212221222111122211112222112212121211211112211212121222211211122211122211112212121221111212212221112111221221221212211111211112211222221221112122112222112212112212221211121211211122112111121122212122221222212212222122211222221221111112222212212211211212222222122122212122211222222112121211112222222121221222222111221211221121121211221112112122122211221211111111211212211112211211121222112221121222211122211111221212111222111112121122122212111211211222112111222222221122121112112121221122122121221122221111221122211211222112211121211122222222221122122222111212111221111122122211122212221122221221111112121211121112211221211222222222211222222212112111111212121222211222122111121112112211211122211121221222221221111112111111211111222221121212221221111112211222111121111221121211111121122221212112212212221111221111221212122121212122221121212122111211122211121222122212122221211121121111111111111122222111112222111222111121111211212212111211222122211122111121222122122122221222112111112211112222121112212211112212122212112212212122222222112121122122111222112112122122222122122222221221121111211211112122211211111211121112121112222221121212112111212121212211211121122211112221212212111222122221221121222111221111121122112221222222222211112212111111221122222222122222211221112211221121212211211212211212222222111222212121121211111212221221222222212221221211122122111221212211221112122222121121112221111111222222111212211112222222122211212112221122221122112121122122112112221111222112121122121222212122221221211212112211111212122222211122221221221121211112221221211122112222221221112212211112211211211212211122112111221122121121221111222222112211211112112112222112111121112221222211111222212211122121221121221212222212212112121111121121111221211122222222222211111221111121222222111212122111111212211122111222221222221211121122222222222112211212122111121212111222212122212112211222112112122121211211111122111221112121211222211122211121222121121112212212122212111211112222221211111211221111222121211111122112222222111212111122112112112221221121121212111222212212111122111112122112212221112212222121111122222121212221222111211111212112211122112121122121111122212112122112222212111111111122111212222212211222112211122221221221112111221121112212122221121211211222212121211221112111222111122211211121211212221121112211222221122211221111211112221222212112222122211212221211222212221112212221111111222112111211112212222112211121212211212211222121221112212211111211112121212112222122122111212222212212112121211121111211122122221112111112212212121122112212121212121221122111211111211122111122221211122121122212122212212222111112122222122122221222112222221121222111212222212222122212111211121211122121222111122122111211122222211221112222221222122121222122121212122111121112212212111121221222122112122222121112211211121121211112122211112121211121212111212222221211211111112222211222221211111112122121111111222111222111221221122212112112111221112211221111112211111212122222121211211122221212212221221111112111212122212212211221222222111121112121212122211121222211122211111121112211111112121121122112121211122211122111212112212122121121221121122111121212122121211221112112111112122111111212111222222221222222111211122121222211112222222212111121212111211121212111121121221221112221212221211112222222111212221121111121112222222221222111122121121221222211222211122222222111211122122221121212122221111121111121111221121211121112112112211112122221212112221121211222211111121112122212112122112122211112122222112222122122222212222212111212222221222211221211112121212122111121121222122112221112221112111112221112122122121222211222212222121112111221211122121111111222122122212211111211111111112212222211212211212121122122111221111212212121221221222121212222221112111122221212212112222111212112122222122122211112212111211121111222211121211112221111221211121211111111111211111221211212212211221112122212122212222221121221112221111222112121212112111121121221122211121211211111212211222211212112221112221212111121222121221112122111112122111122121121222221222222221222122212122121211222212211222221221212122222212211211211221211211121212212211212122121211121222221111111212211221121222211112222212221221211222222222212211112211112222112121211122212122211212122211212222211222211221212211222222221122211221112212121122221121122111212222211122112112111211111211212212221212212212122121111112222211212121111212111212112212221212212121122111212222121122222121111121111122221222222221221122211222212121211111221121222222112222111122221112111111211222112222122122121111211222111211222111121121221111111221222212221112122111221112211112212122212122211222211211112221222211111122212111222221111111111222121211212121112121221112212212112222121122112212212211211221211211221211112211212221211212212122222221122211111222221121221221212212221212112212112121212111221212111111222212122221222122221212211112122112211112212112121222111121222111212111212212211222222112122111111122122111122211112211212122222212122111122122112211222112222222112111222121121222222222122111222222211221221111111222122122112111112211212111212122211112211112121122122211222212112121122112222111222122212212211212211122112222111212211221121112212211111212111221222111111112211221122122121121222222221121112221111221222122211111212212111212122112212222122112211121221221121211112112222121222122212112222221121122122212211122212111221211212212112222122211212222212212121122122121211222212222111211122212112212211221211121221112221222222122122111221211222212212212122112122121222211211111222221122211221121212121221112121112111221121222212122112211211112112221222212122212112111122111211111221121222211121121111112112211122122121211122212112112121112111122122211122121211111112221212221111121121112112111111122221112111121111112221112112122221212211121211122212112212122221111221111211221212121111212222212121222121122112122221212122121221212112211112221222111112122222112112212212122122112122122222112221121222121222212212112122112122111221212121222111211112121212222121112121221222121111122121212212122221112222211111211121121112111222112122221111211121221112221212122212112112112121121211221221221211122112112211222212122222212221122222221212222112212112212212211112122221211122212122222112211112221111112111111121211211111122122122122212111222111221122212121212211122221111112212221222212112122211111211222121212212112212211121222222111222211212121221111212121211222122111212122212212121122221121212111222221112112212111112112121112111222112212221111111121221221112222111111221222221111212212111112112211211222211111221222221121211212111222211121111222111211122221212122211112212211111111221122211111221222121211211121211222221211212222212122211112122222122122111111122211222122121221221212111112212112212211121211221111221121212121212112111212112211212121122222222222122122222212221221112221212221221111211212211112111111221222112122122121112121211111122122121112221221221211121111221211112122222122111222122222111112112212111222112211222222121121112112222121122111212111111122111211222112221112211222112212222211211211112112121222122212122122211222211212112222111212111122211211112111221221221112112212211111212212112221222111221212221111222112211212212211211122112122211212111122222221111111112212112111222221221112221222121212111112111212111222121221221222222212122112212211111222121211221112222121121121121122121112211212222211222222211122221111211112222212111121221112222212211122111212121122211222212222122222212221222222211121211122221222212121112112222221221212222212212212122222221111211211112121112121212122111121122211111212222221122121112221121212122212122212221121211212212211121221121222121112111222111222122111111211221112111111221212221221222112121122111121222222121121212221111212211221211111121222211122222122221222111222122112221111212221211222121222112122122111121112112112112212211221212211212221211212211122211221112221211121111221222221221122111222211221111211112211211121222121112122112112111111122111222112222222112121211222222211222111221122112221221211111211211111212111221211111112122122222212211122211122121221122222222222222221222211212211212111221121222212212121112212222112122111222211122221112212211112221111121222221121122221222112122122212211112112221222112121212212112122211112122121121111222112121112221121121121111212121112221211122122212122121111221221221211221122112121212112122121111211121212211221122122121222112221122111211211121212121212222212121221221121121122112122121112111121121212122121111221111212122222222211211122111122212222112121222121211121211122211212211221112111222212221212121221211111111112211222221212221211212211211122121112111112222122221122112111212221121111211112122111111122112211112112212212112121122221211121222122212222121121122121221221222121111111222212211112111112221122212112211222121112212121222122211111222221221112122121212211211121121212121111222211112222222222112112111112112111211112222222221221221121122222122221122221211122122122221212221222111121212112112112112221211222222221222212221111111211112111122112112121121122112111221112211111121211122211222211222211112211211212212122221112211121221122121111221212112112212222111111111221121122122121222222121122122112121122222112211212111122211212111212222212222221212211121122111211212212111111212212222211111212121222222121121112111121121112221122122221222112221212122212221122121122211221121212112222112221212212122221221122212212112122221222211212212221111222121221121211112111112111212212112111212111212111211112122121122111111112212121112222221121112111122222111211211222122211122121222222211121111222112122221212222111211212111111121211111122122221221222212221122121112121121111112211111112222122112222222222111122222122112112112121111121212122122111121111111122211112121121221212221221222222212221121211211212112112121221112122112222111222111111111212211211211112211222111221111212121211112122111122212111221211122122222121222211211221121212112212222122112212111111111112222122221112212221112121212211212121112211122211222122221112212211112211111121211211121212221122211111122121111211211222121112121212222122122221111211112111121112221111112222111111112121212212221221221221211122221221222221112222112121222122211211121122222111221121122122221222211112222111121112111111112121222221111122222121211222221121222222121122112221112121221122211222112111211112211221111122121212112221111111222212222222221112211122111211121112111112221121221222212111122222111122222112111111112211112122211111221211221121111221121121222121222212112221121111112212211111222122211221111211122222111222222122221212112112212212112221222111112222121121211211221222211212211222212222121112112122112121112121222112221211111211112122112212211121122221111121212212111212222222112122122112121221122121221111221222212121111112122122222222211122211121211212222122121221211122221121111221121211222211212121222211222121112121111211111212212111211221111222212122222222211112212221122112111211211121222222111221121212211111121112211212211111122212122122122112112112212211122222211211122212221122111221121112122211111111222211121122211121211212111112111122222122121211212121112212112111211212111211121122122212211111221112112211211222221221221211111211222212112211121222211111111222112112212122211111212111221112121112121211121112121121212221212122112222222222111121222221121222111211122211122112122112111211221212121211111122211212211222221122222211222112121122112111122112122211221212221222212111212221211212211112122111112112211111211212221112111211211122122121122121211222122212112111211221111221122112222112221221121111212122212121122222211221222212121111111122121222121122211212121222221111222122211121221121111122212221221121221112122111111222211112122221221221112121222222111222211121212122111112112221112212122111122111221212211121212122111112111211212211111111111211212212222222121121212212122222122121221212112221221212122112221212122122212111221212122111121111121212212111211222122211122121112121222112112221222111221212212121122212121121111121111211121221112212211122121122212221111212112212122211211122121211112111212112111122211222222221122211112221221212112221211221112211122112211112221121112111221121222112221221212212112111122211212222112122111212222212211212122122112211222122221212121111221211121221222212211122122222122121221221112222112211112221212121222211211212121122121222221112122122212211222212211211222222211211112112111122121112221212211112221212112121111212211112222222221121211221221122112121111122212112221122221222112111212111212121122212212121211111122222111221121222211212112112112121121122212112121221111211112212222212222111221112212211122221121112122221111222222211121122112221212222111111121221112111111211111121212122121211122212111111221222122211122212121222212121122111111212211221112211121112222211111122222121112211111122112212122122121122212221212221222122222111122111111112222221121122112221112212211121211111121121221122111112111222111121221112221122112212112112221112122211222111212211121221222222121121111211121121112222112212121111211221121212222221222222111121111112111221211212222211212112222221111212211112112112221122122221211212222221112212121221212121221221221211122111211211212121122122221112121212111221111122112222112122112212121211221222112122111122111221212221112221111112222111211222122211112122112111212111122211222121111212121222211121122212111122121211122222112222211212122112111121111212122212122111212121222112111122211112212112111121112111112211111212112211111222222221112222211221112222221222212111212222221122211211121111122212211212222212222121111121212122212211121112211211122222111211212211212212221211112112222221222111222111111111122111111122221111222222122212222111122112122111121121211222222121122212222111112221211112112212121121111122122121221121222111122122112222212111222222212222121111122121111221121212212112111111122221111212221222221122111122111112121122222221222211122112121212121211211212121212122212222222222121111212211221222212111122122222221121221211212212222212122112212122122111212111221211121112212222221111222222211111212212221122112211211112211121112221112211112121222122222212221121221212122121122221121112211121211112221121112222222121212121121222212111111222121221211112121121112112212111122221121211121121122111122121111222222211211222122221222122112222121221122212211211121212111211112111112222221112122211121112111212212112221222212122211221212211112111212212212212112111221121211121111122122211211112121222212122111211212112221221121211112122112211121222122111112222221111221222222221121121111221211111111112222112121211122221212112112222211211112122212222122112111111112221111211121111211112111212222122222221221112112221222112122111222111112212222111112122112222122222221222222221122111112112211121222212111211212221221121221221212122121222211212122221111212211222112122111211212212122121112121221212111212121121122121111212111221111211112122121112112112111122211121112222122111112112111212211122212222211222212111221222211121111221211121111221212212221222122221221211121222111111111122211112212112222122212112212212111122112112121211112121122222211211112122121221121112112112112212121222111222122121121111212112121112212111222222222222211221122222112221111122212221222212222211112212221222111121212221212122112112121221121212111111211222112112111121122112212112121212121212211222121211121222121112222122221122121111212221122222222212121212212122222212111112221212111111212221212211212121222222212222121211221112221211122212122221122222212111222111112112221211212222212222122112222221212212221212212222122121122112211122122211111112112221212122122111211221222122222121222112211222111212221222112122211221122221212221121112221111212122212222112211121222111222121222222121222111221221221122112122211112212211121121112111212212121121112212112111121221122212121112122111212212221111222221122121212121221211211122222211221211121211221212111221112112112121121212122212211122222221221222211221112122221112212221221212211222212112122222221221211211112111212112112212211221222212122221122122121111212212111212211112111121112221111111111121221122211221121222211212212212111212222212122122221112122211212121121122211211211222112121222221122111122222112211221122122222211211122121212211212222112111111122211222111112221211222112112211222121121111111221122112221111211121112211112212222112222212221212222211221222221111212221221222211211122111222212212221222112212212212111212111122221122221111211222112212222212211221221112221121212221111112121211221221112122222211212212111221221112122121222212112112111222112111121112121111122222111212212222112221211222221211112112122112111221122112221221211122122111222111112111111111122121211122122112122221212212122222212211212212222111222212122111112211112222112221221111111121121122121111112211122211212121122121122222222122112211112111221211212222221221111221221212212121121122122212211221212111111112222221111221112121211212211211211111211121111212222122121221122121112122111222211121122122221221212211211212122222222211122121111221112111212222221221122222221121211221112222212112111121121221122211222111211122211221111221222122112222112121111121212121112121211221211212211122111221111122222122212111121112121122222121222112121111222122211112122211111111111122122221122212222221211122222211111212122121121221121122222211211211111122211222212111111121212112111121221112122211112112121211112111221212122122221211211222112221112221122112121121121121111212221122212122121122211112122212222112212112111222112211121221222212222212221211111112211222122111212212222112211121222211122211222221122222121212122121121212212121112122212111122211121121211211122121122112222222122122212212222112122112112222211212122221221222221212111221221121222122121112112121122121122222122111121122121222112112112212112211111122112112111222122121111211221212211222111211122122112222222112121211121121211112221112122121122112221111221112211222211222122111211112122121222111121222222121221112111222222111121211121212112211211211122111222221121122212122212122121221212121112111122211222211112212111122222111221222221121212211122111122211212111122222221221222222121111122221111121212121122211211222222222212111121211122212212122112212111121211211122211111122111221222111112121121212211211221222222222221111112112221222212111221221112221122122222212121211221122212122122221222211111112211121121112222221111122222121112212121211211221211221122222121122122111111222211211122121112211112211211222111121211211122111221221122111222211211111112211221121221112111112212112222211211122212221111112121221122112221212221112121222211222112222122122111212211212121211111212122111112112112112111112121122112122122212211121222211121121122212112121121111221221112222121111222111211211211212212211112211111222212221212121112212121221111121211112211112112211222112222221222212111122221222121111121121222212121121112212111221111221222111112111222121221111221111212112221222212121121221221222122222211122212122222211112122122212121122111111112222112111221111211211212122221222211221112121112122211211222111222212211121222221212221221212212112112112122212221122211211111112211211112212121222212112211121111222221222111222121222122121122122122221121221221221121112121112212112122111112221211221222222112222221121121212111122111212211211111212211111221122211111121122112121212211111112111211221212111111221121121222121211121122211111211111212112222112111221121122111112221111112121221121222222112121122112211211212112111212221212221221222211122112122212112222222212112212122212212221211211121211211211122222222121211221121122111112112112122222112212212222222112121121212211122222122211211222121121122121112221212221222222122122211211122212221212121121122111212121122111222112211112212112112112222212121112122221111211122221221211111211212221221221211221121221112221212211112221122111221112112211121221112211122112221112122111212112221221211211222211221121222112122122111222211122112221211211222211221211122221111112222211122121222222221211111112212221221212211112112222211111212121112122222122112221121221212212121121212112122112222122212112121221111112112212222222121222112211112221111212121211122121222212211112212121112212221212222222111112122222221122222111112111111221121212221112222121222122212112112211112211212221222222221112112112111112212112121211211111221212211121222212222222221212112221211122111211212111122112221121211111221222111221121121221122212221221212122222111221122111111212121221221121121221211211121221212212112111222111122122211222112222111222122222211211111212111211222112211111111112221221211111211122122221211222121111121121121121211212221211221112221112212122121211111121221112111212112221222221122121112122222211122212211111222221122212112212112111112211211122222211212111122221122121212122221221112221111122211222212111221222211221222121212221112121222222122122212112221222121111212222211222121221111112121211221111121211212222112111121111212122221211112111121221212212112112212222211111122112122212122212221211121111211211121121111221211111212121121211121112222222221212212111111121221122122212111111211122212222222111121111211222122211222211111112121212111121221222112222122221122122221211111121122122112111212111222121122111112212221222121122212121112221111121112212211222221221212221112121112122211112111221112121212111121221211211111212112112211122122221121221112221222111122211121121111121122211222122221111222111121121112221122221122122111222112112212221122212222122211221222112121121112212211111222211222222121112121211122211112222212212122112122212222112121122122122112221112121211122212212222211222112221211222121212121111212222122222112222222122112211211111121111112211111121121122122121211112122121221121211112122121122122222211222111121212121221112112121112121111221121122211211222222221112112121112212111222121112222111211212222222212122122121112222221121111212112211211111112111222112111221221112112111122112112111121121222121221121111221111121121112222111212222121122121112111221111111212121111112222122112122221221111122221111211111211112222121112122222112221222121212112222222211122112122222221121211222122111111211121222211121121121211111121111222122121222112122111112121221211111222221112111112121211111111122121212122111111222122222211212111112111121221222211121221111122112121111121112112111121111212121121222112111221222221122211111121221212222112121121221121212121122121211212111121222112112121222111111111222121122111222121211222221221222222221122112112212122121222112111122212112111112212121211122221222221212121211111112121121221112222122111122222121111122121222211222212122212121121211221111122111122212222111112121112111111212122121122122211111111222221222221111211112112222211122122222121222211122211121121212222112221222111111222111212221121112111212111111121112121222222122211121211212111221111222121111121212221211122222112112211222122212211122122122112222212121221112221112112211122111112222222222112212212212122112112122212112211222212112122122111221212122222111121112111211111212121211121211112121121111221112212121121122121211121222221221221122111121111222222211112221212211121111211121211211122121111212112112112212222221122222122111121121111221211122112212221211121111211211112122111222222122211212111111121211121122222212112112212222122222121221111122222212122222122111111222122212211122111221221111122121121222121212112112212211212111211211121212221112122222111211111212122111212122111212211222122121122221222111122122112122212121121221111211222212222212211221122211221221111212221222222222112121222112222121211121122221111222211222121112121222221112212211212111121221121221212211211111111211211121212212112121211122122212122211211121211121211211121121121112211222221221122121221221221121121111211221122222212111111111221221222111221212112111122111121221112212121211122111121111122122222222212121111221221111222121212211212121122122222111212212121212212221222222121221112122222211111211221122111111121121222211221111222211111212112221111221212221211121121112212221222112112111112212211221221121121122221221112112111211222121121111112121222112112222112222112111212211212212111222212212211111211112112221122122221121211122122121221111222221211221122121212212122222121221112211211122112122211211122112111221122112122212111112122211121111222111122222112111111111111221212112112121122121121112212112222222212212211222111111222211211121121221122111221122111111112112112212121222212211222122221221221121211111211112122221211111211222112222221121122221112111121112111111222222111111122111122211121112221212222111121212112222221211121121111221112212121221112111121221111112112122111212212222122221212222112121221211221221122222221211122222221111122121212111212222221111112221212112211112112112221211212212212221222112221122212122122111212112122222111212221122212112221122222222121112122111212212122212112121212222212111222111111112221121212222122221211212112121111211112121211221122111121112121212212222111211121211112222222222211111221211111212111112212212122122111121222212222121222221211121222122122222221212212112212211121121121221221111122122112211121221212112212112122212222222222221211122122111221221122122211221111121211112111111112221121211122122212222212221211122212212111112222122221111111221121112212212212211122221122121222112111222211221222222122221122221121221221212121111111212211112112221112112211122122111222111222121221122111221112111221122221212111211222111111222222221212122121212122221122111211111121211222121221221211122222112111212111111112121212222122211122212121112212122121222212221112221111212222211211122121222121212221222212121222112211221221221222112121211121121112112112222122221221121111121211211222111121211121222112222222211212222121111212112222212221112212212222111111111111112212121111212112121221112122222122222222112112222121111111222111112122211111222121221221112111221211121221212111211121221211221122212122121212221112121121112121212112112122211212122211212222112112111221111121211122112111211111112122212112111222211112222111212211121111212111221111112111222111211121222121111222121211121221222222221212221121222221222211121122122112221211222221122212222212112121221222122111122122111121221222221211211112222122111211222221121222112212212222222211111112222111222121122112111222212211122211212212112221122222121221211212122211221221122221111121122222221222121122122212221222221121111112112222211112121111221221111222111211122212221112111112221122121221111222212122222221121112211122112221212212221211221212221221112121211222211121121112222122211221221222122112111211212211112222221111111222221212122111222222221122121211112222122211121122222122222212212122111121212212221211222121121111111112222111121122121112111211122112221211111211111122211122121111222121212122222222221221211212212212221121221111111111122111222221121121211111122211111211111211211122111221212121222221111121211121111121112112211111212121222212222221221122121122221112212212121211111121212111221221122211222121222121122221121122121121212222111211122122111122211221112111111221222122122112112212122212112211122211221211121222111212221111121121121222211212212221121212221121222221122222112211122222121221112112211121122221212121112212112221222222111212212211122212112222221222211221121212122122222211111212122122111212121211211122122212221122211111112121111111221122112111112221211211122221122222111212112222122212212212111222122112212112112211212121212212221221112111222121211112221221121222212222111221112121122121111222212211222111211211121112211212222212112112212212111111221111122222122212111212122222111221112212222211121211211121221122111212212122121222211112121221222122211112211211211222112122122211111121121122222221112111122111112221211122212222212212112121112221121222222211222221211111111221122111222121221221222212121111222221222211111222121221121121121211111222212111221222122111122221112212121122111122111121112221211221211121122121212111111121221212222121112212222212112122212122122222112211122121211112111212212121112221122212211212122111112112111211111111222122112222112122122222221122112222111122211211211221112112222221112111222222111212212112221121111222222112112122111122222212122211211111121211211211212112212111212121111121221122111121221212212122122122222221121212121211211111212121121121122112212211112212222222211222121212112221121222212211112221122221121122222111222211212111112222212212212212222221111221121212111122112111111111211121112221122211222111122121222111122121222121212211221222121122111212122122222212211211222211211111222221122212121222212121221212111121221222212222122211111221211221121121112212221211211121211222221111121222121212121121211212221121122222121222212212122121122221112111121122211211111222112222212112211111212111122221211112122222122211212112122111112212112211222211221211212221211122111221222221211212122222212111211211112221211211122212111211122122122211212111111212211222212212122111121211221111122112211111222112221222211111212221221212121221221111221222112112112121212122112221121122122221112112121212121212121111112211122111112122222211122122121222211121222222211211121121122121112121121111221211212122121111112121112211222111111112212221212222111112111211221111222112112112212222212222112222122211111111112211121222221212111211122212122222221221122121222221222211122211212111121211222112111122111222112221122111221112111222211111121212121211211222222111121121222111121112211122212211122211111112122221122221211222212112111111122112122111122211111122112112222111211122212222212212122221111212222111212212122212212112212211112121221111112112221212211112121221222222121221211212221212122121222221111121211112122122121111211122121212122211112212222221211211211222222211112221212222112111212221112112221122212212111121221121112121121221211111221121212122112221111121212221211212112222211122212112121221112211112212122111111211122111212122122211121211221222111221211111212211212211111222122221222211112122222212222112112222111111222221222121122211221122211112122111121211111111212221121211112221221112121212112221121122221222212111122211222211211221121121111222112222221221221112111212222122212211122112122221122111112212212121211221121111112212111221222121112112122122111212211212212121121212122221212122212112212111111122111112112112122222211111221222222221112221122111221222121122111112112121211112121112212111112222222212111222122121112222122211222122122222221112121112221121212121111111112112221112222212122222111212121121222112222111222111222121222112122212122212212112121121212112222121211111122212222212122222111122211121122222121221112111122122121222111222112112221122121222211212212211212112221122111212211212221212122112121112222222121221222111111122111212211112221122112121221222221212121212222111221122112211221121221121112112122111122111121112211221222111212111122122222212111211211111212111121221121112212121112212111122122221112111122112122122122121212212112222221122221221222112222221112222222121212211211122121111122111112221121211121111222221211112122222121212121221211212221222112122221121122222112112222221222212222222111222111122111122211122121212221111221121211121121221221212221211122112112111112222211221112122122221212111122212112122112222221122222112111212222121122221222121212222111221111221222211212112111212222222111211222111212222111122212222121121112122211222122122211221111211122222222121112222212122212211111221211211121111111111121221111122211221211212222212211112111222211212221111222212112222121221222222112222112212111211122122212112112111222221211111122121122222111111222212212222121111212122221121221122112222212211222211122112222212111222111111221221212221112212112211211212121111211222221222112112111122211222221111212122112211112112221112121212122111112221122222111211122222221111112211221121121111222222212122121111212212111221121122112221212221212221121221222112122211222111111112121111122111122221111121121112121211111121111122222122221121122221112121121111121111122211121121212122122112211122121112212122222222212212222222222122121222222211222121111211121221221112221222121122211111221112112112121211222122111222122122221112111122211122111212111212222122212211221121222221121112122121111112221111221212211122112111112122122122221112112112111211122111222112112122221211122222212122211211112211211121212221121112122221221122122121212111122112222122221121122121221112212121212122121212211221221212112222221122112121112211212111122112212112211221122212121112121111121112111112121211222211112211222211121211111111211221221121122121111112122111211212112122112221222112211221112212221112211211111212212111221222222111112122121222211111112222211221212121212121221111221211211112211222211221221112222212112212112212111221112222221121111222121211212111211121211212211222121211211212222212222222111221211111212221112221212212111112212112121221111222221221111221112211211111222212211211222211221211221112122111112111122221111121111222122221121121122222222111211212222222212111121212122222112221212112112111222212221112211121212222211121222122111111222121211122211121222111211211221221111121221122222112111222222121112212122121212121111121112221212121111112221122111122111112221111221112212112111222111212112222221121221121222212121122211221221121112212121222112221211112211121211111222221211222111212222211121222222122211122221122111212122221212221112112121212221212122222221122112121121212112212222212211222212221122111111211222222121212221212112111122111222112122121122211221111111112222212221212212211111122221112111111111212121222212211221122122112122211112112211112211221212212221112121222111112221212211211121121221211211222112221122211112212111211212211211112121222221111121212122121111122211122121212112222222111221112121111211121221111212112122111221212221222211122111111222121112111211122122112212112221211222111211212122112112222122122222211121212122122221222121122121111211212222122212222122112222211221121211112111112122222211221211111222121221121122221111121111222212122211112222112111121122112112122112211221111111122112112222112121211222122122221111221112212121112121121111212222121111112221221111221211211211222121221221211122121221121211221121221212112112122121111221112221121121122121112121211121212112111211121122222222122212121211112211112122212112111111122212112222121121121222212212112221112112212222211212111121221121212222121122222212212222211121122121112111121211221111111221121212221212222221212211121221221112111111121222212222222221211221122222121211111112211111222121212221121112211122121121112111221121112221221121211212122121112111221121212111111111212121211211121111211122222222111221121112222122121221121111211221212122212122222121211222211222222222221212112221211222122111211212112111112211212122122121222212111211222112211211212212222222112121212222211111111222121221112121112221222212112212122112122212221211211122121212221121112111221112212112222112112112111222112212211212111112112112221112211221212221211221122222221111111122112121122212211211222221221112121112212221222111221212212122111111211212222112121121121211111212212121211111212222212121112111122112121121122111222221211112221211121122222222121111221112221212212121212111121211111211121111222111221121212221111111121121112211222121112211122122112112222122222122211111121211211122112212221112111221111121121212222222111112211111222211121112122211211222222211212221112112112112121221112112222122211112111221222221222122221211122112121222212122222221111121212122221111111221221122212211121122211211122121222111112112222222212112221122222122121112221122222121121221112122221211122112122112121111222221221222121222112111111122111222211221221211221212221111121211211212221122111122222222112211221121122221221111111211211121112121122112211111212221112211122121122112121212112121122211121221122111121112111211122211121212222122121221112221112212211111112121122221111212121222222122111212121122111111211121121221111221121112121212221222112212212221112122222222211222111121112211222222211111211121211221221211121121121222211111222222112121211111111122121122222212121112211212211221221122111211212122221212111212211112211121211212222122122122111121112112121222222121122221222111221112212112211121221212111112111221212221211221122112212222112121222122111121122121112111121222221122112211222112221211222122122121211112121211221111111212211222222211122212212121221112122122112211211121212111122222122112112112122122221222221221122212221221222222122111111212121222112112221221211211121211212121121121111112212121112222122122122121121212122212112121212222212121112222222111111112211122211212221121121122221221112122122212111212221111121212111121212112112212212212212221121111111121121111112111112222211211122111112221122111212221122112222222121122212212212121211222112122221112112111211112222221111122121121111111221112112111122121211211211112122122222211212111212121221112111212211222112121212221221222112222122121222221212221111112221211212121111122111121112221211111222221221211121221221221221112222111112112222112221221122211212121111121211221111211222122122112211212121112111221211211211121222112111212212122111212121122121211222211211212221211112222221121112221122121212121212121122212211111112211112212112122112211122121121221221212122211212122221121212112212211211211111221212111222121121122112112222221121212222221121211222221212222111211121112122121212121222211221111221221212111211122121221222211112222112211221222111211222111121122121212122222121221222122222122112212112222221111212212111221222122222221222122121112211212112112121222111111221212111212222111212121122221121211212112111211122221221211211211212122121211211122211222111212222212212211112222222211111122221112211211212211212111222121221111112112121121111211122111221112111122122111112111111111111211211112211112122122121122111112211221121222122121112112111221212121211112121112112112211211112221211212122211121221222221111112111111211211222111221222121122111221212212221211222222121122211222111112211221111122211221122212221111221112222121211111111222221211212112122221121212211221212111212111222221112211112121221222221111212111122111122221212122122211111211122211222121212212122212222111111112112121221121221222222212111112211212111211222121212122121111121122112221221222121121222212112212221112112111122122222112211211111121211121222121122112212221212221122222221112112121122222112212121221211221211212111121121121121211222212122122221212122222221111221112221221221211122112222221112111222212111222222221121122221111121111122222111222212211211222211222212212211222221211111121122211122122212122122221222122121222111121121122112112222112121121122112212221212121122122221212111221122112212221212222111122121121221211121122111221222111211121112211222111221211222221121222111211122111111222122112211212211122121222221111122121222122111112112222212211111122112222212121111212122122221112221122221112112122211221112221211212121112121122121222122212111112121111212211212222211211121121112122121212122111211211211111222211222111221212121121121111121121221121211212111121112222212112221211121211111222222221122221212221121121211122111222222222221211221121121221122212212111122121211121122121211111121221122122211122111122211211211212111211111112121211111122111122122121212222222122212211112222111222122112221211222112122222221221122121112122222121122111211211122222211222111121221111222112221222121111112221121121212212211112221211211121121212222221112211112122212211212211212221212112221111212221222111211111112121121211212222121112221212211112222121121112112221112121111121111211212121221121112111121222221121111222121221122212122112211222212222212222121122212112221112112221111212111221112221112211122222121212212212211121112121221221212112112222121222121221111111112111221212212111111222212211111212121112112111122111222122122212111122122221211211111222111221212212212122221221121211121112112221121121122121122121121222112112121222122212121211121111112212112112112112222111221112212222121122222222122111211121122111222222222212121112122222222112122211221112212221212212122122221121222112212221112221211212212211122112121221211211122121221112211112221122222112211111112222222122212222111112121222112212111111212121221122222211211122222121121211212221211111212211222121111121122122111221112212112122222121222121121212212121112121122121111211221121112221221222122121112121111122112221112222222122222111111122212121211211222112212222222122112112212212222221212121121121221121111212112211121211211111211121211222112122212211121221221121222211222112221112221212121211212112111222221221121222112122211211112121221121112211112112211121212122111112121112211121222222221221121121122221222122211212122111211211111221212211212221121111212222221111211212211221122211121221211212222112222112212222122211111112221112121121121111222122212121211221121221122122222212122212211212122212222212212222112121111111111122121111122222212112222222221111122121121222122121222122222121122222121222211221121121111112112112121112121121122211122222121112111222122212112211122121122112121222111121211122121221111212112221212122221122111111122122122111111121112112211121112111121122111222122222211221211112121111112212222112111221112212121111222112212112212112111121121111222112221222211121212122111111111122122221111122211221211221222212221212211112221121221111111121212111121111222212121121121112122111212222112221211112211121222122112121122221211122121222122222221121112121112222212222222222221122222212112121212222112112112222111122211222111212222222221121212222112112211221211112211112122122211112121112121111111221121221211221111221121211111111222222212212112222121111221211212112221112122222121222222121111211112221112221112212111221222111121112112212111211121112122211212121222222121112121222211211112111121212222121121212211111211112111111211222222212112111221212121111112222111122211212122122121212212211121112111122212211122122211212112222222211111122112221111112122121111121212112121212212121211122111121222211212122211221112212111212121121111112212112112122121112111111222122122111122212212221121112211122121211212111121222112222221111221221121112121212212221222112112211122112112121111111122112211221122121111212211221221221112221111211112211222212211112112112121211221222122221212222112122111212211121111111212122122222221122122122111112112121112212222221211112112112222222122121121111122122111222121212111221112212221222221212111111122211222221222112222121221212122212111122121222221122221212222121211122212121122111122222122121221221221222211112212121222211222112111212221122122111212222112112111221212111121112212111121222212111122221121221121221111211111121122111212111121211221121112221212121111111112122211211121222221211212212211211122212212122222121121121112112212122121222212212211121222112122122121121222211221122212111222112221222212212221221112222111221211222221212222221221222121112122212122122221211221212222212222111122211222211222221121211221121111111221212221221111121121112112112212211112221111121222221121122122221222222221121122122212222111112222122121122112212212212121212111221122122221122121122122211212121212212112121122111121211211121222222211122221222111222121211122221122121211212112121121222212221211221221111221221211112121122112221111122221111212122222221111122212122121122212222122212221112121221222211222112212211122122121212122112122222222211121222122212111211222222111111212112211111112222211221121221212122221111111122221112112221221122121212212211211222211122212221121122212221122221221122222111211221212111222212212211211122222211122122112112212222222112112212111111221121222212122222111222221121112122212222211222121112211122121212122221222222122222222212112112122222122121212121221111121121221222112211112122112212211211221112111111212222112222212111111221211221221212112212221122211112212211212112121212121111112221222212211111111212212222211222212212221122212222112212212222112221221212222111111211112111212111122221121121222112122222122211221212212121212211222112212121112222112222221221111221221121111212122221211212212121111212112112112111222112122121111211222212212122122121122111121212121221222112221121211211111122111111212112111211112222122121221222112211111212222221211211112122121212211212121221122211112112212212222222121222211212221222212221212121111222211221212112111212212111211211121212222112111111112121111212222111212212111211211112212111222112112122121112211212222112222122221112212221212211221122212211222121122112212111112212111222211212211211122112211211112222211111111212121212122221112221221121221221122112111222221222211211122221111211112111221221222221112222122122112111112221122111221222122121212122221222121121221212112221111111211212112211221221112121212222121222121111112122212222121221121112211121121222211212221111121111222111112121112221221212122112112222111212121222211212222221221221222212221211222122212211211211222122121211111111212212121212211111211221222111222221111221211211211211112211211122112121122121211111122212112211111222112212222122221221122221121121212221221211112222221111121211122221122222221121112111122111112122122222111122211112122122222222211112111211121221112222211212211112111121221122221222122112122121221122122112121121121221211121221121121122211111112122122121221112121221221222112222212111212212112111222212211111111211111212212122222222111121111211212212212112212222122221211212111212211121221112222121221112112222122212212121211121121211221122111111221211211211212222211222121112221122111211212222111211122221222111222121122112212221222221111212212111121122221211212221122121111221221121122222112222112111111111212112111112221111212212111211211222121222222221112222112211121111122111111212212122211221121112111211112212222122122121222212121211222112122111111212121211111222211111122211211121212122222111222221211211222222122111121121112122222112111222211222221121221212112222112221121111211112212212211221221222212222222122122112222122122111111121112211121211111122112112121111122121212111121212211212221121221212111122222211111221211212211121211221112221121112222211221111121121111212221112122121122121112111112212221111111221212121111212122211221111211112222121112121212212221222221222221211211111222211121212212111211212221112222221112211121211111121211121211212212121212111221221211212121222121211211221111112121211221122211122121122212222212111121122211112112222122122112221211122211212112122222122212211222221222221122212112121112122122122122112221211221122112221222211222122112211212121212212111222222212211211121211112122212112111212121121111222112122122212121121111212111111211222111221221111211121212221121122121121221221112121111221211221122122212111211121212222122121111122112221221222211122211111112112112122221122212211122221211212222121221211122112112121212211121221211122221121211111112122121112212222222122222221222121222221221212121111212212212221121212112222221222122222121222121212111212221221222211111221222121222112122121122222112121212112112121221111112121211122111112222111121111122112112111211211111221221211221111112122212111112112222121121222111122121112211122121121221111121211122221211112121221211211111112112111122111222121211222111212211221211222121111111211122221111221121222211211111221112121222212121222121111121122121222221121212212212111221112112212121121212211212222221111212122221112121221112212221122112111112222112222222122111121121211222211221122221222212211112122222121122221111222222112122122111111112122112112111122111221112211112112121111222111222112111221221121211222212111111111211112122221211211222221222122111111221211212222122112211122111212111112112222211112121111122211122211121212211221122221211111121212211112211221221121111122211122122111111212121212112112212211111211212121211121112122221211121212221221212222212121211122122111112221122221221111212212222122111222221222112122112221122221211111122122122211222121122221112112222112111122121211111111221221222122212122122111212212212221112122211222112222211211111212112221211221212211112222211121111221212222111211121122212112222111111112122211212211112122211111121111121221122211221212112212111111111111212121211122111121222211221121122211221212222121211112112121222211121222111111221112111121212212112222211112212211212222122222111212212212112211221212112121212222221111222121121111112212112222211222122112211111111122211112121111221211212121212122121122121222212122211122222122221221221211211221111121222211212111122221211222211222111111212211111112122112222121111121211211111211122212112121222112212221122112212111111111221112121212221212121111221211111221211121212221221221112212211122221222121221211222121211111111112211122112212222222222221122211221122221112112111212221221222122212121222221222112212121121212222121221122222211221222122221212112112212222122222222111221221121111111222212221211121111112121112112222112112122211212121222212222121112121211121121122211111212212222221221212222212222211122111212221121221222212112111212122221122222121222222212222221221221122112122111222211122212112222122221212111111121112112222122122122211122221121212212121122112212222222222212121121122222221122121122222112121112212221111112222212112221112221222211222222212111221211211121112212222121212211121211212221212122111212211221121122121122112111221221221111212112112112222221111111221121222212111212211121121212111112212211111112222112122221122122212211222211122112122111212112121222111122212122211112112221122111211112212212112111112211111111112111222122111212222121211222122221222122222221111222211112111221112122222122122221111122212111212222122211121211222111111222122221212212111121221111211111212122122122111112121121212222111221122122111121112211112121211121122211111122211122211112121211211211122111212122221122112122112122221112221211112122112221111112222212211212122112112122212222222221211212221111212111122211211222122121111111211222111221221111112111222122112221221211212222211111221221111121121211222222122222222121212121121212122121121222212211221211211211221111221112211121221122221222222122211212221112221112211122112211221221111211211122122211111112221221211111111112121211221122212121122121221112222121222211111112121111221211211221112121122121111111221111121112211122122121122111121221112112221211112122222112211121212212212212212212221121111222212222212111112221222221121121211222211121122222221122221121211211121112111212222221122121211122221122122112211112122222121212212212211212121122211221112112211211221122112211212221221222211112122111111112121211122222112222122212211211122212212122221221121122222211111122212222112211121122212222212211211121222222221221112222222221222111212211122111112212221122111211211211122222211211222211111211222211112121222112111211112211221222122221112112111112121111222122111112212112112111111222111111112112121212111112221211221221111212121222222221121122211111122222112212221112112122212122112222221122221212222222121112221121112211121212211121122222222112112112121121112221121212222121221111212211222222211111112121221112222212212121221112121222211121111121122221221221111122112122211222221111111112211221221111221112222121111222112211221121121212221211221222111122221121111111212122222111211111211121211211112122212222212211222122111211221111222221112211212111221212222121112221112112111221122212222221112221211111122122122222111222112122112222112121121121211112112112222222112111211221222211222122122222121121221122221112211222111112212112222211111211211222111112121221121222121112221111112112212222212112212211112122112122221111121222121111222222121221221112111122212221121211122221111222122121112111111111122112111221222212221121122112211211112222121112211111122212111112111122222221122122112121112112211221122211222221111112211221211211211112112112121111222111122212212121211122112121112212221111222112112211121111222221111211222122211211121121211121122221221122211211222221122111222221211222212222111111112112212111212111121221222212212121212121212111222222112211111121112122112222222221212221212121222221111212222212212222221221212122221221112221111111211211121111211121211221121211111121112111111112111122211221212211111212222122211122112112121111221221111111121211111221112111212222221122121111221221112211211112211221111221221111111111222221121211122121111221222212211211122212121211211121222221121211212222222211122222211111222211212221122211222112122221211121112211211221212122122222111111122121212221211122121222111121111211122211211111221211121212111111122221112211112211122122121112212111222221211221111222122112112222221212211221212211221122112222122222222211122112212111222111211221211121222121121111112112122211211121222222122221121212221222122121222111212222212211212111222111121111122111111122122122112111111121122221222212211112121221221122212212221111112222112111112122122112222112211121112222222121211212211212122112122212122222111112222212221112211221222111121222122112122111221211111112211212222121121122212212212212222211121111121122122212211111222221212221122222222111111111112222111112212211222211221112111111212111121212122121121122222221211122111212121221112122121222121212122111121222112211112221121122211212211221211112212212112121212221221222212121221212221122121122121122211222212121222111121211122221121121122112212122112211112222211111212122212212212112221122111222111112121122211111221222222221212121112112121121122112211212122111122111212121121212222222221212222121111221112111111221112122122112121121211222112221222222112212212122112122122122212212212222211222121111212112112122212112121211122212222212112111122222211212122122112212121221112121111221111212221221112211111221212221122111221122122222221221221121111222221222221221112211111222222221111112121212111112211221211221212112222121212211112211222222121121121211221112222221212112212112221112221112212122211222222112222112212111112122122211222112222222121222221111212221121121112112222121122212121211111111121112212112121122211211122121211212122122121221212122122111211221211111211222122111111221221122211221122212111112121112112112121221122211222222221111112212121211212222222112111221122212111212222111212211211122121211112112221212222211211112112222222222122121121121222111212122111111222222112212222121112112212112212222212222112212221122222111121211121122111112212111211112111211221121222211121122211122222112111222222211111111221112211121222121211221112122112212111121112212221222211112212112211212122222121112121211121112211111121121111221121122111211222111212112111121211112221221111221222121122222112121112222112211122112222221221221212121121111111221222221121111112122111121222221211221221111211112222221122211121111222212111222122121121122121121111121111111111112212221111211122212222121222112122111212222211222122112122122121222111221222111122211121121212111112112222121111221122211112222212111222222121221212112212121212121122221121222121121211112112212122212111222222212222112211212221222212212221121211121112211211221212112221122112121112221211211221221221112221211121112112111211122111111211222222111211211222222211222212212112121112111111221122222112221121222121121221221212222221121112212121221122221112222212111111212211122121221212122121222221221122212121122211221211111121121212122212112221221112121111111122121212122222121112121111212122221212111212121122111111121221121122221221211222221111221112121222112112122122222121121121111122111222221121111221211212221111212212211122112211221112222212111111112222122122122222111211111111221111122121121212112212121121212111221111121121111122112221121211112212211111111222112122212211121212221212112112222221222121122211111212112211112222121211111221222221122221212212222112211212122111121221221122111112112221111211211122122212211111111121221111112121111211222222221222212212211221111122111221111111111212111222122222111111212212111111111211211122211211221112112221212112112212122211112221122121221221121121112112111121212122111121111111222222221112211112222212211122211112222112112111112211222112212221121111122211211112111221121211221121221121111111221221121211221111221212211211212221121211121212212112222212112212222212122112112111121212121121212211222221222211211112111121111222112212112212211211122211221221211212211212121122122112121121111112221222121121211212121211212212212222121121221121121212212211212122112212212212221111111212221222112221212111111112111111121121112222112221112222122221221222221122222221112121112211212112211221122221211221121122212122111211221122211212222222122221211222212221121111121211112122122122121112211221221122122212121222211221111111212112211211112221211222222221121222112222111112111221121212211221122112222122212221122121221221221221211111211221112122221222111221122112211111221121212121112112122211111111112111111211221122111121211112112222221111122212222122111122111222121222111212211222222211211221112221221112122221112221111221112121222212221222112122111111211111222111121222111221121222111211121222122221121211222211222121112112221122212121221121221211211222121112221122112111122111121211111221221211122212111212212122211212211221121111121111111111111222212111112122222121222212111121212122121212222221111221122121222211122122221121222112111121122211212211211211211221221122211121122222112122212121221221111122121112221111212112111111121222221122121212121221222121111121211121222212221222211221212212111122212211212222112122212211122112112222122122111221122212222221221122112212211121111111111121222222111221211222112111211211212112221211121222111112111112112121122122111112111121212212222222211122122121122212221222112122211121211221122122221212111121122211222211221222121112221112212222112221212211121222112122221221212122221221111212211122222122221211212221112111121111212112211122111222212221112122111211111211111112212211222122111221111122221121211211211111111212222121121122111221211222212122221211112222222111112111112111221121121111122111222121222221111111111111221221222221212211211212121222212222211122221112111121221111222111211122122111111222211122111111122112121121221211221222111112121122222112222122111122112111121212121222121121222212122111112221222111222121121112112222112122221111221211221221122211211122212112122112111121211211121222112111111112222222221112121211211112211121111212122121221221211122212121211212111122122111211212212222121121111222221111111212222122221111212121121211212212111122221111211211111212112212121121112121121122122111221112122212111111221211122211221121221122211211122112112121221211212112122112212222221211112221121121221121222121122212222222122221121111122112211222122221222221112122212112211112221121222112212221211121121211121121122221222122212221221122111212212211111222221121112112111211221222121212211111221221222212211112221122222212122121121122221212212112121221221221121222222121212112122212212122121212122212212112111211122221211111112112212111222211222212212122121221112211112212122111211112221221112212222221111112221111111221111222212211212211221122111112111121122212211112122112221111211211112111222121111212212112111222112112112121122212121211121111121221112222211121212212221122121212122111121212221121221211212221122122112221212122112211121221212111111212212121111211222121211222211222111121111121121121221221221122222121112121112122111112112211221212211212122121211212122111112221122111111222221112211112112211121111212222121121211222121211112222122112212211211111111211111212111121122122211212211112211112222222112212121221111111111112111222222122111212122212122121222211211221212222121212222112122212121211222122112112112221211212221222222121111212221122221221112112122112222222222222111112222222221121212112111222122121112222112222121112212221111222111122122122222111112221221111112112122121112111212211212221211122122111111212111121221112211122122122212122221112221121111121221121121222111212222212112111222112221211122211121222112222222121121212111211112211221121222222112111222222222212212112121121222212111111112121112221222121211111122122122212222122121112221211211111221222112222112211122221122222221211122212111222211221111221112112112211222112112121222222211121222121112221111111222112212221211122112122112221212111212122111121222112111122121122222111222212122221112112112212221112111112211212222122111222121112121212222221212221122121112221222221112112121212222211121121111222111221222122112221212112121211121211122112221221121122212221222211122221121111211122211221222122111211212122212222222121122221122111221122211222112211221221111111222111121221122121122122122211221112122121211121221112221111122211112211112112111222121222121122211211211212121111221121212121122122112211121222212121222212221122121221111211121122121112111221221212122221111112122122222112222221112212212211111211112122111222112122121211222221111121112221211211221221112121212222112122112122121111221212112222111212122111212212121111111121221112212212211212222212112122112121221111122111212211122122222111122211111111111212221121122212112122112121212111212221221122221222212122221222122212122222211222221221211211222211221222211122222211221222212222121122211211111211112212112122211211121211211222121222111112211112122111212221122221212121212221222221111121222122221112111121112121122112211121122112122212211112222222111112212121111221122212212112112122121221122122121112221121122221212211112212121211111112121211122112222112121211221211222122211222212221212222221222212221111112222212111111221122211121112212122112221222222122121221122222121211211212212121212122121121211211112212211211112111122222122121112221112111221122111111211112222221211221121112222222221222211211112211222212122212112212111112212212222122221122122212121212221122112111211212221211211121112212212221122112112221221222222112222211121212221212111221112122122112111121111222212212111112112221212221212212211111121111112111121112222121111112222111211211112112112111121211122212212212111111222121221221111211211122112122211112111122122212122122121112111121121112221222212212211121212111111212211121211112222221112211211121211221112212212112111111222122221212111122121121121122212221111122212111212121112122211212212111111111111222112212222221212211222222111221112221111221211111212122212212111211222211122212111222112112212122111211122222121121121121121212111211222211112222221121112121211111111221221222222121212122111212121122122211121212112222212221122221222222111211111222221222121121112122222111122211111212211212112111112121221122221122222121121122211121122112111112111112221221122222212112121221212121211121122122222122112212122122112121121212212111211111212112111111111122111111211121111112212111212122111122211121211122122221212211112212121111121212122121122121222211212212221122211121221221111212211121111221221122222222111112212221211221221112121111121221122222121111211222211212111212211111121112122221222111211211111121121122222121112121222111112221111221121121111211212211212112212122112111111122122222211212121122221222112112111121222221211122121122212112221122122222112122122222221211112112122112221111122121121111111121121212111211122121211111212222111222222111221122211212112122212221211112211121121212111212212121111112122112122111112122222222211221212222111212222112111121221121212112211221111112221221222111122112211211222122112112121212211222222111212211121112121211221211122111121221221121111122112112222121212211222221121211211222122222121122111112112111122121211112112112121222121111221121121222221222112221211222122212122221111111111221112221121222121121122111112212222211212122212221111111211222122211212121211211122222211112221111212121122121212111222211112221222221222221211221121121111122212212112212222122112211111121111111221111222112111111222122222122222212212112212111222121222211211221212121212221222222112221212112222211121111222221112222222212212212222112112112221212222112222222122112112221122212222211122111212212221111222112221121112121212112122122221112222122211212111221222112122112221111222211221111222122221121222212112212211221211222112122112221121212121122221221121212122222222222121222112222122221122212222111212122112111221221111211122121211211212222222212211111222121111222121112122121121212221211111212111222221121212122212211112222222221212212211112222221112121222122112221112221112222121111221111112122211112221222221222211221122221211221112111212121122111122222211212222112211211221221211112222111112221111222211222112212121221212211112111212111111211122221111222121222222211111111211121212222211212212122212211211212221122122121221221121122222211121121222121111211212122212212222212222121112212222112111222112211122122111211111122211222122211112222211111122122121121122212221122222121211121211111121121112211112112221111111122221211122122221112212122112211211211221212122212212122111212111211211122221112121121211211222121122211111111122211222212122211111221222111122121211121222121121222111112112122221221211211121111111112221122222111212112211122222221111121222222122212212122222212122112122112222212221221112222122121221212212112221111222222212212211211221122121211112221221122111111112212121121211222222112121111211221122211121112211221212221122111111221111112111221222122121122111122121221112222211212111111121121212121212211111121222222111112111221212211221112122121122211211111111211112211112112111211122212122122211221221222212221211111111212112221212211111121122121122111211122121221221111112221112222212221111111121112111121222212221121211111112212222121211121121112112211212222122121112122221121221121121211121212112211211212222121112212111122211221221212111121122111221222112121212211122222221111122221111221222211111122222221111112212221221222221111222211222222222212222211221112221221211221112222111112212121222111112212211221212112212222121121121222122211111221222211212121121121222111212221111122111112222112111111221222122112212211212221111121112112112222111221121122212212121112122121212122221222121212111211212222222222111122212212122121121221121112211122121221222212212212112222112211221221112222222121121212222121121111221222112212212122112122121122121121222112112122211221211121122222112122121221112211211111212121121112212111121122111122122111111211111212122122112122221112111121112112221222122121112221221222111112121221112222121121112222111121121211221221111112121222211122222112111212122122122222112122222111221212211111122121112222211111121211121222221212111122222122221211211222111112111211121211111221212211221221122211211211221111222122121112211211111221121111112121211211222211221221212121211211122211121222112111222111112222112211111121121112212122211212111212122212222112112112221211212212222122122221112212121222212221111212211212221121221222221111121221111221111221222222112212221122121112121122211211211221212122222122212121111221212121222111222211122112121222111121211122121221211212222122121212212212111211222121111211212121112121112122221112112111222111122121211211111111111111112221211121122112121221121222122212112121212122112112121211212211212111221212211121222211222222221112222221111222221222111221111212112112122112111212122111111222112122212112112211212221112122221112222112221112221122221211211222111212111211222121122111211111212211121111111221112121112112122112111112111122112212121121211112122212111112222222111222111112222112122211122221112122112221212112212221211212222222111121221222212211122212212212111112122121122122221112222112221221222212222111222121112122111121222121212112222222222121111212221111111112112112212111111221121112112112121121122121222221211122122212112221112111222122211221222221221111111212211122222111122111211211212111222111222212221121112122112211211211121112221121121112221211211121122211212221121221211121111112111121211212112112112122112121112111111221112122112121112112112121212221221221222122121111122112222121211221121221211121122212121211222222222122212221121111212221222221121111122121122121121112222122211221122111121212121122222121222111112212121222112211211212222122211111122222122122122122122221222211122112112212221122121211121121212122122111212122211112211111112121121212221222211121121112211112121112211121221112111121121212122212111222111211211222211221111212222212112211211122211221222122222222222112111112111111212221212212221221122211122122112221112211121221112222211111121221121121212121122112112121221111222111111121221122212111111221222212212121222212212122212212112221122211121212112112212121211221111222212111111122221221111221212222121121222111111211111211121222211111112212212122211211121111222212111221212121212111112121111211112111222222211222211121211112212111211112112212222222111222221221221111111211122211222112121211122111111222222111121212221112211222121212111211121212122212212221211112211211121112212212122211221122112212211212221121121122211221212221222121221112222122112111212222211221112111222111222212212221222222111112221221212211211121122112222211112212212212212211211112121111212212111112211121211211212112121122121121111221221111121212211122122121212221112112111122111221111222111212222212121122112221122122221212222222221212212122112211112221112112221111221221121212222221111212112222222112122222112111212212222212212212222222122111112222122212211221121111212212221121211222222212111212212212112121211221111222111122211221111211222211122222121121221212111211112211212222111122221111112211121112212211112221112212221212121111121121221121222212211112122211121212221121212221211111111211211212211121222112222111211221211112111221111222121211121121222212212112221212112121221211211212221221221222211212221221212222222121121222111211212211212222121221211112112212122122212122121222111111221222121121121111211122121212211122212222221221211111211222212222112112212112112211221112222211211121111221121221121221212112112111222121112211112112212112221112111222121221112122212122222211212121221112111212112122122221111221211211122222121112111111222221211222111222211212122112122121212212112122221122122221221221112111211111222212111112212221222212121122211212221212221121221111111122112222121121122222211222211121111112111221221122121112211212111112221221222211111211211122212222112212112111112211121111121212121221221211121122121212122212112222222211121211222211111122111221222111222221121111211211221222111211221222222211112221212222221221222122212221112111221111221111212222112222222112122222222121122222212221221122211221221222111112111212121222212211211122111121122122222212222111222121112112111211212122211111122222222222222211222222222112122221111222122212212111222211121111211221212212121121122122212122122111111121112122112222212211222111221211221112211211211111111211122112212211211122222112121222111222121221212122122222121111221212122111122211212111122222121221211221211111222121112112122221122222122111122212112112221221222211212221122121212122222221212211221122111112121212212122111111122212111221122212111211122121211122112211211222121212112212121222121112221111112212112211212122121212112211121121122221112121122122212221212222111221112211212111222221122212221112122221211111122122121221221112211212221212121111111221212111221112222121222212111121121111221221211121112211221212122122222212121222212111211221122111112212121221211222222122122221212211211212122121122111112221121221222112211211111121122212112112122121121221112122111121121212211222121121112222121221211122121211111211222121121122212112112122121212112122111121221122212121211112221121222122211122122121212112111122122221111222112222211211111221221121122221121211111211221111221221112222111122221112111121122112121112121211111212222212111112212112211222122222212222122112212212112222222111122121121212112112212122211212222221211122111212121222112122211122121222121211221122112222212212111122212122112121212221111212121111211221211212112221121121121111111211112221111211121122211112122222121222211222122222212211122122112112122211221211211221222112121112222112121111122221211221111121111212121111222211212211221121112121121221211222122221222211122111221111211211222122111212211221211211212122122211222212121212111121211111211221222112121112122221122222111122122111212221212212111212121121122212212122112111122112111112221121112122121121212111212212221112222111111122211222222122222222221222111112121212121121212211122211121211221111221221222212122111121211212222111111222222112221222122222111222221112221111122121221121112122222112221221112111112221111222121121121212111221222212112112212111211222112211111121211122121122212112221222112221111221122112211121122212221211122122212112122122122112111122222111112221112121222121111211112211111122211222111122111121222221221212222221112221122221122221212121121211121122112212211122112222122212211122222222111111112221112121111111111122212112221212221122212111211122111121212112121122222112111111122111211122121221221212111211112112112212111221221211112112212121111112211112222221122122221112211122212122121222211111122122111112211121111221221212211222111222222222211222112111112221211121212111122111121121211112222121211121121222211221122221211222121222122212221121222221122211122121121122211211212122221122112112121121121211111222111121221212211212111111212212112211211222122221111221222222222122112121121122212212222212222221222122222211111211212221222221111122212222211212112222222212112111212122211122112221212112122211211112211122222121221221211222112122121121112221211121122221212121112222111122211221111121121122121211121211212222121221211221121111122122211222212122112221211212211211122122212121111222212211212212112211122111221122112111112122112122122122211211222112222211222121112212112112121112211221222222121111221212122111221211112212211112122122121121222222212211211122111111122221221221122111122212222121212122112211212111122221211221212112222221112222222111212122221121222211212111222122122121211221211222212221221212221212111111212121121121111111221122221111111122121121221222121212212111211221211122111122222212212121111111212212112222221112111121222211221222221112211212121121221212222221112112221122121211121221222211112212122222212212122112212222122122111211211121122211212122221111222222222221121222211121111112212121211121222212121121122221221122122221222122112122221212111121111212211211211211122112212112122112211122121212122212211121121121111211222221112222211112111212222112222222111111122121221211212122121121212212211121112211221121221212122221222222111121112212212212111122121111121112121211111221112111121211121222112121212112212211222112211222211222221111211111112222211222122112211122112222222111112221121222221212222122211222121122122212112122122212222211122222222211112222122212212211112112212122121122222112122221121111122222211122122122122222212212222112111222211221112122111212222221122212221222112222222211221221221111121221211221211212111122122111221111111221221112221212112222221111222211112122112211111112212222222212111122121122221122212111222212211111121211122121222122112222222121122122121112111111211222212111222111222222122212111121121111222222111112222122112211221112212211121222121111212112212212122221112112222222112122211221212111212112212211212122121111112121122122212222121221222121222111121112111211122122212121121111111122222222122222122122111222212221212112111222122211211211121112121122112111122122112111212122111212121222221122212211221121222211222221221111221122221221222211122111111112122222122212121222221211212211121211121111112211212121121121212211222122222121122111211222211211211112122121212211222221212121112121111112222121211122121211222112222222212212111222221212212111212121122221121221112211222112111121221212221111221111122111211212112111211111121212222111221211122212112121212212122222112111111112221111111122222111122211122121212121211121221211121221122211121112122112121212221121111222112122112222121211212221222111111111122221121211222121112212211221111112111121111221212211112122112111122121212222111212111212222112111122221221112112121211122112221221111111222221221212211121121222122112221111211121211221122211122122222111112112212212111212111222111111121122111111211111222122211221111112221121122122111121122222211121111121122111211221212121211121211112211211212111111111222121122212122221121122212211111221122222222211222222112122221111112222221111121221211212221222111121122222122111212222121121111111222221111111111211211112112121212222222121212122212221222211122112212122211111112212112121112222222222221121121122122212212222122212221222222111121211111111211122121112112211121112221121121112212111121222122122122121122111122221211111112111121122122221221112221121111221221212111212221122222121212122112222212122112111121112121111212212222221112112211222211112112212112111121121221121121222121112121111112211121121111112112221112122212112121212112122122122111211222212211211211212222111221221121212212222112211112121121111112222111112121222221222111121222111221211121212122122122222111222221221121221221222222112111222221121222121222122112112212222222121211222212211112112221221211121112121221111221112122221122212121112122111111212222211222112212111111111222222122211212121211122222112222122222222121211121112211211222211222121112221222112111221212121212222221212122221212112112212211222122222111221221111212122221121221121222111222212222122112121112211121122211221222211211111222121112222121111111222121112122121112122211222122121211122122122121121112211221111222222112211121221212222222211122222212111111121111212221222122211111221211221112221111112211122212111211121221222222121111211222112121122111122122212121122111112212111112212121121122111221222222222111221111121221112111221212212221111111212211111112212112111211112121212211121222111222111121112111221112222112121221211112221122212121211122121211211121121121112211221112222211121121211221221111111222112222122121122212111211112221112211122212211121212212221111222211222121212221212112121111112121221222212212111122212222122121122211111211121222222211212111122122111122221122121212222211122122211121122121211121221212222211112111112112221121212112222112211111211121211221222122121121122111211121222111122211121111121121122212212121222212212212211121222122212221112211112112211111211212112122121122112112222212111222111222111122112212111112211112121221211222211111212122211122122221121112211221211222222211222222122122221212122222212211212221222211222121122121121211121212112221122111221112122212121211112121111112212112212212121122111121112122112221221211122112221122121211112212112111122121112222111222212222111121222212121112222222122121222111211221211212121222111221121111111212222121221212211212221122122111111222122212212111122112212221221212112112122222112111222211211212121111212211122212112111221112211122222211221221212112121221121122112122212221112221211121221212221121122211122111121121211222211212112122212212222112211112212212122112111211122221211112222221211222222112211121211212112111111112112111122221211112211122112121212122212112111212112121211221112221221111221211121112122222122121122111222221122212221221221112112121121122122221111112221222122111211122221222121121211212111222212211212111112221111212212112221221121122211222211221122211122222221212222212222122221212212211222111111221122212111121212221122111221121211221111211211111212112212121211121121111221112212121121221112121222121222112211121122221221121212122122112112212122212111121221212211122121212111122122112212112211211122121111211122112112112111121222122111112121121221112211111222222111112212122112112122111222112211121211211211222212211211221122112212122112112221211212212212221121122121221212122111222121121111111221112111221121222121112212122111111222212121111211111221112122221211222222111212122211112122122222221122121121212112222222121222222221212122121211112222122211112122111212222222111112112122111221121211122222211112211211222221221121112111112221211212112222112221111211222122112122111112121122112212221121111212212222121121221122211212121211221211222121122112112211121212221222112121111111221111211112211121212122111211221222121121221222122221122222122111221122122221212221111211111121221221222122221211122222211112111212121121122122222122212221112211222221111122111112212221111212112121111221112111121212212222211222112112212222221221212121211112221211111111122221121121212211212112221111222211122122112121212122212122112211211122112121212221122222222121221111111212221212121122122222112111221122112122211221121212111212111211122111112222211122121222112112112222211221211221221212211112221112111122111121112211222221212221122222112121222121121111121222122221222111111221111222122221212211122212121122222112112112121112111221111111221211111222122111112112122111221122112222212112122122222211211221122212122121212121222112111222121212222112221122111122222222212122211222211121121212112121221122111211111122212121122122221221221122122221222221212122212112121122121121121112111121212211122122221122122112122221221112211212121121221212222221222121212221211122222221222212122211121221122111212222212122112111212122221112211222111222122221212211222222222112112212121121112211121221122212221212121221211121212212111111121212111212122221222221121212111221111122121111221221221221121211212222122112122122222111222122111112211111121122212112111212122221121121112111122112211122222222211112211122121212111222221212122211121221221212111121111211221212121221211212222121121212121221221121111212222211222221211111211222121112122122221122222211211122222212221211121212221121212122111221212122122222222222212112211221111212112221212212111112212221111212211212221211111221211111111212122112221222121111222122212111211112121121212211222112211212111221112211222121111212222112121111121121122121111121221212121121121212121211111112121211212121221221211111112112221222121112112211221111211221111112121222211121122211122122212112212122212111212221212112122211222122211112211212221122112122212211211122222222111121221112211112121222111221211112112222112222211221211111121111211121222212221121122211222121222212222112121121212112121111221121111112111211122122122221121212212211121112222121121212121211112222221212122221211112122212122122112111112221121122122111122111121112221211211122111122221212122221222121122121122111112222212122112211122222121122222222112221212212211212111211121121112111122212211111211111212111222212121222221212211111111221212122221222121221121111212221112221222221221121112111212112221222121111221221111121221222111212211211121121121112212122122221221122121121212221212111221222112221222122212112222211111122121112112212112221222222221211212221212121211222121212122221122121121211212121222221222121111222221122121122211112111111111212211212111221222112121111112221211112121122112112222211121212112112211211112111112222122121122112221121212212212122112111111122221121221121112112221111221111111122221112211121211122111112222111221111111111221212121212211122122222211222221121112212221212222122212111221121111221221222211211212111212222221111221221121221211221211112112211112112211112221211121122221222212111111211111222212222122212222121121111211211121212122112122211221221211122221222221212121212121222121111112111122121222212222222121112111221211211112221121212122212211122221112121222111111221211221222212111111122211112221122111212222221211212111111112221212112121211111211211212122212222122222112211112211111121211212111212121211112221222121111222221122211121211211212121212212221112121222211112221211111221212211122111212221121112121121222211121112121111221121111212111112212111111221111221111221211112122211221212221112222111122211211122121112111122212111212121122111211221112122122122121111122212111211221122222222212111112222211221112212222212121222121211121211112212122221111222111122211112111211221122222112212222122211122221112122221211122121121211122211211211112121112222221121211122221122212111122122212212122222222111112122222221211211122112112222111222112212112122222221212122121122212221112212221212211221212112111121111212221122111111211111111212221211111211121112211122121121221111212222121111112222211122122111111211212212222221211111221111212222222211212212211222212221212121112211221222211112121221222112222222122111211212221221222211221111121121122211112112222211221211212212222121121111221121122111111122112122121122122122122122111211221111122222222121112212112121212121212121212222222112212222222212222212221111222111221211112211221112111121222121122112122121222211111121222121222112111212221211112111111112121121211211212212122222112211212211222212212122222211121222111111111122121211212121221212111211212122121121221212222222222222121221122122222112222112121222212111112212211122122211121211121122111122212211121212211211222211212112222222212121211211221111112111111212121211112121221212111111112212122221122111121222121211111212222112122122121222221112212212112222122212222112122222122122121221222122111122221111122112122221122111222121211211222111122111122211211121211222212211221121112211211111221121212121211121222121211111211221212121212221211112221221222222122212221111221221121112112122221211222121121222211112121211222211222111222121111222221111121221112111122122222122211121211222222122112211221112111211221122111121221122122221211221111112211112212112121122111222121222212122122211111212221222222211121122222121111221212222111221111122212112112122121112222122111211121211112221221212222222112211222211112121211111121121222121221122211222121112112212211112212112111212111211122222222211121221112112211222212121212222112122112111111121111211221212121112222121122222122212112121121121122222222221222111211221211122112112211121112122121121221112221112121121121121222112122111211211212222222212111122112122221122111212111122212121221111121112111112112221221121211211212221122222211111122222211222222121222222222112112121122122122121112112112112211222212112212121212211112122112212112121121111211121221212112221211222221121222212212211221122112212121211122111122221121121212122112212211222121121211222211212111112121112222111121221122212121222212121222221211211111112212112222222111121122221221211122222222111212122222112221111122222211122121121112122212112122112111121211122111222122111222221222112122211112221222212111221121222121122211211211211111212122212122212221121212211121112211111111221221121211121212222212222112111221222111122211111121111122222122121111111221112111121212122111111111212121122121122112111211212222111112212222122111221222211121111112222122111212221211222222111222112112112111212121121111211111112211212121121212112111111111122122211111211112222112122211222112222211112222222222221121111211122111122111112212112212211221222211112121211211121112212122211221222211122111211121112211212222111121212121111212221122221111211212221221221211221221111111221212221212222221211112212222211222211221212112212211111121112211122212112111121222112211112211221221111121111221211212122122111121121212112222212112211211121212112212222212112222222112212222122112111111122112221121222122212212221212211212122121211222212211122212121112121121111111121112112112111112122111222221122212211222211211112221121221112112121212222122222212221212222211112212122221222111121212112112211121212212112211211212112222112112111111112111211122221211111211212222112112111122111112211111222121112112122221221211221221222222211111222111222112112211222212111111122211112122111221212121212221211212111212112111112212211222221211122221222212121121112212222122211221222211222221112211121112122121112211211122221211222112112122212112122111211211122222121211212111212122222112221221222121212112112221211212221111212121121212212212212121222112221122221111222121221122112121111111211111121111111121211211212222112212112121221122221122111121212211111211222212121211112222222221111222221121111121212221112112122221121222212222221222211122121112221122211212111122111112211212111221111222222211221222222222212212121111212212112112211222212121211122222211221122211211221122222111211121221112112111111112112222221111211212112211121111211222211121122212111211212111122212122211222112212212111221111211211122211211111122222122112121122221121222221111121122112212122122222122211212122121212212112212221212212221111112211111112122112111112112222112222112111111211211221222211221111211211121111121112222221221222122212122211221122111212112111112112222211211122121212121221112121222122212221121112212112112122222222221222211111122222211111111121221112221221111221211121111221212211221222221112122222212112211212112221222212221111121212211121211222121211122222212111121121112122212212221222121111122212121221212121111222212122212211211212211211112121211211211211221111222111222111211111222112112112221112121212222212121112122222211112211122211112211212122121122112222212111112112111211211221122112212211221211111221211111221112221222121121222222112112221122222221121112211111111121221222211111111111112112112122111112112111221122221111222211222112112211111111122212221121222112111211112111221211221222212211222212122221222222212222111212221121111221212121121121221222122112222212211211121222111122122111112111212122112112211122111112111221111212211222211112212111222111122111212111212111222221111112111121112112121121122222211121121211211221221121111112121121211221121111211211221212111221221211121212112122221121111111222221121112212122112112212221222211222212212222122222211122111211211221211111111112121121121112121121222112112222111111222122111111112221222121222122221111212221221121211121222221211112211212111111222212221112211212111112121122111111122121222222112212212121111212112121222212222122221221211111121111222112212221221212212112112121121111212222222112112121222122112122112211211211211222111221112112211121221212212221221122111122212222122112212121212222222211221122222212121112221111111111112212221222212112112211222111222111121122111222122222221111121122111212111111212112122211222211111222112111221211112221221212122211221112211122111112212112121111112111212222221221121111211222212111212121222112212121212111122112121211212222222221112122211222212211111222212122111222112222221111111212212221211111211122111122111212122112211212122122121122221121122122121211122221221222111112212112212121111222112121122212121112211122111221212111221221221121211222212221222121111212211121111211122122122111111212212122222111222112212112122121121211112121121111121221121221222121211122212122111121222222121211121211112212211122111122222221122222222211211121221122211111111222212211222112122122111221221212122122121111221211222112211211112222111222122121122221222211111112212121111121111111212122111212122122212112211212121211222212221221121121212222111112121122211222221221212121221221111211212211121121221212122211121221222121211111212212211212111211211111112222122211122111112222222212211211222222121212111212211122212111122222222122122122112121111111221212112122121222211221121112221111211222112211111121122212122212111212211211212122121122111211121221222111122221122121122211212111121122211122112111122222112222112222112221212121211211221112122211121211111211112121221112211222121221212212112211212211121112122222222221112222212212112221212112111212122111121121211111122212111222112212212111211222211212222211212122121221112212121121212122211112222222122212112112112111221122212121211122112122212222211111111212112212112122112222212222211211211112121112112112222211222112112221222221112211112212222211211122221112221122112212221211111222212221221122122111222122121122211112121111122112111121121222112121112121221222222111111112111121212121211211111122121211111211222121212221112121212221222122212211122111212211122221222222221112221221212221112212122121122212121121111211112122221122221121212221212211222221212122121112111112111122222122211211212121212122211121122212112211121112212222122111212111111111122121211221122112211212111222212221111212212211111212121111111112112112221222112211122211211111121111122212112222212211121211221211222222221212222112111121122211112121222121112211222111122122221222222112221121211222111121211222212121112112221211212212122112221222222212212111221111222212121111122122221122111122222212111221111212211122122112211221111122122221212221211211222221212211112222211212211221211222221211111121211211212222111211122212211211111121212222121211121121211121211112211222122112211222222211122122112222121221122122122111112221212212111212221112112121222222212111212221212112212121221122211121221221112112211211211211121222222221211111122111121222221212211212111112121211212111212111111211212112212111121222112111212112222111121112121121222222122112111212221221212211222211221111111221111211121111112211221121211122111112121122122221121111112112111222222212222121221111122122211212121212222221212112122122222212221122222211222222112121221211121212221221121122111221222112111222111121121221122121211111121121121222121222122221122122221122211211122211121112112111112212112222221122122221222122122212222122221112221121122211112211112112211212122211121112212121111121211112212111212221121221211222112211121212222221222222221211222122111212212111112121122212112212211222112221211112222122112112211122221221222211221112112212111122211221211111112111111121222112212111121112121122121112222111122122211112112212111211221112122212222221122122221112212221221221211121221221222122121212121212112122212122122211112111122112121111221221111112221221121121111122222212121112112121211222221112211221121112112111222122122212111112122222222112122111111111122221121212111211112221211112222212112212222221112211122122122211111221112122222212212122211222212111221122112112112211212122122212122212111221222121222112111121121112211222211211111122122221111122112221212122111111122121212222212221221111211112111112121111212221121211122112112211122122112112211121222222112111112122111122211222112212112122222212121112221221221122121221112211111112212112121122121112212211211121121112111112212112212111222121222122212212111122212112221221212111122222222211111212221212122121112122122221211222222111122222111121222111211211111212121121122211121211211122122221222212222122222221221212112211122221122111222122121112122222121122111122112122121121212122221222121221212212212111222112211121222121111112121122211212112211221111122122221221122222111122211121222112212222122112222122222111111122221211122212121211212121111122121111112121121111221121212111122211211221122212112211122212122111112222221211221222211112121222122221111211222122111122111111111211211221221222211212121121121211112122121112212211212212112212112112211211122222221211112221112112221122221211122112112211121112122212221111112122112211122111211221111112211221221212222212111122112222222222211112122121122121221212212112212211121121211122211221112222111112212222212111211222221221122222211212112211222222122112122211211212122111222122112212122121111121211111122111121211112111122212222112212112122111221221122121111122211221121222211212121122212212112112212212221221122111122111221212112122121112212111222112221222121212122211111211121222121222112112112212122111221211121221221212212112111212112221211122112112211122122222222211212211211221112211211122112122212212111121211222211122211111222111112222211121112121121121222121222221221212212121221111121122121112111122121112222222221111111221222112221122112122112112121121111122111211111122111211112222112121122112221121122121121212122111112221112211211221222222222212122111122111121211122222122121211211222211221111112221122222111221122221212111211222122112211111112111112212212221221212211211122122121121112211211111112211111122112122221211122111211121122111212222111112122111221221121111212112211211111121111212122112221112111212211222121122221211212222221112222111111121122212111122112111121122211222122122122222111111111122111122121221121212221222222212112121111111111221111221211111111112111112112121121211111212222111212111122121212122121111212212221122111121221211211121222111121122211111111211111111222111222211222212211221122121122222221122211222221221122221122211121121222121221221111112121222122122211122221221222122112121122221221221121121221211122211112111112122121221222121211221222112211211211211122121122121121112121111221212222111211112112212112211212111122212221111221212121222222122121222111121222222121211212122112122111111222221212121122221211211112222212221122112221111221212111211112221212212121111111221112121122221111212212111121121221221111112211111211112122211111111121212211112211211112122111122111111111122122121222122212122222211122111222222112122112211221221211212211122212122122222121211121211112111122221221212111112121112221112121111212122122212212111212221121221212222111122111122122222121122222212222221111221221222112211222111112211212122211222111121112121212211222122122221121222121112112222122122222211111111212211222222221112122112211121222121111222122221211212112211222222222222122221121222122121211122121111111212121111121112222111222221211222112222222112111212112221122222121112211111222121112221122112122122122211222111112111121212111122121212121211221112211221211122211211112212122212221122121212211221222121212112112112212221122111212221211112122222122122122121121212212112222121111111211112212112212122212222111222111212122112212212122222221112112222211212112212211222122122221211212112112112211111121222221122122121221212111222221112122221212122221211212212112111212111211211122112211111112211121221122121112211212211211221222111112111111221121112222211111112121212112112212121212222222221212122122122212211121221222221121222221122122212222212211111211211121112222121121112111112121121221221112221221112221222212122211111121112122222112122122222122121122211111221221222222212122211221212212112121211222212112111111222112121222121222112222222211212111211112111122122222112122222221221122122211111211222221121111212112112212112222212221121121121212112122211122221222211122112121121222221211122212111211222211212221122121112122212211121121121111122222211211212121211121211112121121221212111121221211212111211112122112212122112121112121221121122111121122121111122221222221111211221211122111121121222122112112221112111111111211222122112122122222221122211122122112222221112112112121112111112211122221111211122121222121222112122211122212121111112222221121222221222212122221111111212112122122121211222111112111121112112222112122121122221122112111211222112111112212112122122222211111222212111112212212222111222222221112222212222212111212122121212112111111211222212112111121121121221221122111212211221221112222212112222221122221122112122111222222111211112221211111121221211222212111211212212212111212222211121111122221121122221122112211221212212211221121221121222121212221221222121212122211112111222122222121222211221111222112122122111112212122212211212222211122111212121211212211222121111211212121222212112222212212112222121222111222111121112111211112212221112121121211111211212121111212212221111212122222112122212122111212111112122111111111112111222221112222122112122111222122112121221211121221212212221121221121211112221121112212122222221222112222211222212112121121211212212121111212211221112212212122111112221111222121212111211112122112122221121122211112221121122211112121211211121221121121222221212122122221121111122111121222221221112211211111212121212121112121212111111211222122121211222111122121111212211112111112111212211122121212222122211221221112212111211222121121112121121221221111221212111221212122212111211222222211122221112222111221112121212121121212111222111212221212121211221222221122122212121122122122122211112122221111122211222211112221112212122221112212221212112221122121221211122122212222111111122221221221111111112112121211211121222211112121122111122212112212112222212212112112211221222121211112211211212111211111222121121221212121121222211111211222111121211221111212122122212211212111221222111212122111211221221121122121212121221222121212222212212212122122121122122111112211112222211222211221211212111112222112111212212221112112211122121121212122211212122122221221122211112212221121222221222112211211121222212121221211112121122112122112211121221211121111122122221222111112212222221122121212121111221221221211211112111222222112121212212221112222111221211212211111222112121221111221122111221112112221122222211222221211222121111211221121211121122122121222112122212212111111222121122212122121211212112221212212222221222122221212112122221112112121211121212122112222212122222222111122212222211111211212122211211112222222221111111122212111111112121211121221221121222111211222212122111121121222121111121112211112221121122121212111122211121122222221111211112221121212212122122121112222221222112221212111212222222112121111222112112112222212111121121112121211211121112211212221112112222221111121122112211212122222121221222221112222221111121121222122222112112122111122112221122122112222121211111222112111212112112122212212221122121111211121221222111212111221222122212211222222111211121221112112222212211112212212221121211222222122111112212121122112111212211111211112212121121122222121211212211112212222122121122111222121111212222212222122111222211211112221222221111212111121211211212111122121221111221111121212221211211121221212111121222122112112111211112122222221121222112121211121122112212122212212221222112112221122212122212111222222112112122112211111122211212112112211212121221111222211112112222112221122121121122211121122122111122212121121221221111111121222121211122221211222111121211221121211221221111221221221121221211112221122212111212111122112211122212111221111112112111221111121212222122211222122121221211221211212211211111222211112212212122111212222112211222222112121121221112211122222212212122212112122111112112212221222111211212221222221212112222221211111112111111121122221121221122222112122212112221212221221221212112122212112222221122121112112221222212212111221212222121212212122212212121211111122221212122121112211122211122222111222112122212122221121221112212212221112111222111112111121211111221121112211212122212222211112122221121211211221222222112111122222112221221212222222111111212112221122212122221212112122122111221121111212212122212112112222122222111212111211111211121112121221122112212121212212122212112122121122221221112111122212211221221211212122122121221212121212212212122212121211122122222112122122111121221121211221111211122111122211122111221222222221211122212111221221122112112122221212122112211211221112112221122121212212121111212121212212222111221212122111211212121112212211212211112112211121221221222121111221222122212111122212221221222122111222212211112121211222122221122211221112122222122221121122212122122111221212221212221122122212212111122212212112121112111112212222122221112222121212112122121221211121222111212121222212111111122212212221121122122112122122112111122111212221211122112122221111122222111211222221112222221221122212122122112211122222221122122212221111122211111122111112112212212121211122211222111222122121222112122111122122112222221221212122122222222222221121122122111111112222211211111112221212212221212122111211122211222222121111212211211122212122211221121122221221112111122212212122121121212112222211121112121221111122121121122111122111211222122212112211211111122222211211112121211111212222222122212122122211112212122212221121111122222211221222211111121112222211211222211222112111222122122111221111211122112121212211222222111211111122121221212212111112222112222221222221221121122222221112212122211112222212212121121211211121112112221112122211221112212222111122211112221111211211121212121212221112221222211112222211222211112211211121111211111211111221121111121222222122111112221111222212222211211221122221111211112111222121212111211221221122112121121122121222212212211222121212211221211122211221111112222121111211111212221121212121211111121221122211211112112221121222212112112121222211211221112111121211111211221122212111111112211212212211221122221122212121122222122121211221112222222111212221111221221121211121122222111111122212221112122122111222121221122222221112121221212111222212111112222121222221122212211112122222111221112121122122122122212211121221222122211122122111112112212212121121122211221121112122222112111112112221211212111211222122122122211211222222222112212112121212112122221211211121222121211122112212221221111112122211111111211212222211121211222112222211121212211121222111111111112221111112222111112112211122222221211112222112222221221211122112121112121211222211112212111121212212221222112221122221121211112112222221111222112111211211121121122221121121111112121222122121121221122222121112222212121121221222112212212122122212211222122122221211112121122112221111222221111211122221221111211121112221221212122222122121121111111111122122211122211211112121111222112112111122112211122222212111112122121222211222221111212222211111122112211222111122211121111211212211121222112122222121112222112211121112111221122221212112122212212122212111222221211112112122121222211111212111212112211211112121111122221121122122221112221222212112221221222121112121212111211221211122112121111221121112212211122112121212222222211222111121112221112222221222211112122112112112222112111222221121122111212212211211111111122111212111211211211212212121122112221221221121222111222211222112221122112112122112122121212221111211122211121221221111112222222222112122221221211211221211211221212211211111112112122121221211112222121221122122222111112122112111122111122122121222111111111122121222111112222212122222112111211122121222221212112222111122111211221121222221212122212212122221122211121112222221222221121212221212222212222111222211222211221111211122211111222211121222211211112122121112211221212222211122112112122221222111112112222122222111121122111221212221222222212211122211122212111121221222122112121111222121221211221112122221122121211112222122222222221111222211221222111111212212112221211222121112121222122211212221122111211121111112111121122222112221122121212111222122122211121212111221212121112121122212111112222211222222112112122112221112211221112221221222212112222111211212222222112112112222211111221221222221211112221111111212221211111221212111112222122222221222111221111121111112212111221122111121212221212121222222121121121122211121121111221211122222111121212111111112111212212212211121211121112122121111221121112222221121111222222222222212211111121122112111221121122122112121221221112221121211211122121111211112221111212122221212121111121112122111111221121111211122111111112112111122222212122112121111221221122212211211121211121212221121112211112122212211112111122122221111222222211212222112121111221112212212222211211111212122122111222121122112112212211212122221221121211221222222221211112112212211211122121211111221112121211222121212221221211222221221122112222112212111112221122121121212111212222122112212212121221212211121211211212222121112121112111112222112211121122121211121212212121222212111211121212111211121111222111111122212211121211121121212211221211121122212222121122111221111221211222122211121122112221212112222122111212222211211211121211212222112121112221212212212111211121111112221222112212222211221221211221222222221111122222212221221122121211221112221112212111112222221212121211121121222211212122211122212222222111221112212112122111112112211211212111122111222221212122111121121221111221122112222121211121112112122212112112121122111121221121111221222212212112112222122121121122212212222122122211221121222211212111221212211122121212122112212222211111211212122211222121212222112111212111121122122122121222121112111211211121221222211112112112212122211122122222222222112112212112122222212212112121112111111222122111112212121221112222111121212211211111112112221121122211122211111212111112221212122211111111212211112121221111111211221111221212212122221122222112111221222111111121121222221112221211122222212212112211111111111221211222121211222221212121111111111112111211121222112222221221221222222222111222111212222122222112121121112212221121221211112212121221122122112122111211112212212212222122122112212222121111211122212212222221222211212111121212222221122222122212122121112211121122112221221111211121112222112212122121112211221222112121221121221222212121112112112122121111112111121212221222122122111122122221221222222111212222221222112111211111212112222212111121121121212222221221111121111211222121111122112221212212222212111212211122212212112111222121222222222122212211221222212122112211112112221121211212212122211222111212211222212111121221111222121122212222121221221222112212221121122211222122222121222121221212222111112121122111121221112211222112121222121221112212121111222121112212111112212211122122122211212212211222122111121221121211121111111211122111222121112122122222122121111111121221212222211112122111212121221111211112211222122112121212112212122121122221221222112211122211212121122121112221111222111111111111122111221112112221121111222111122112221222222212122122212111211111122211212122221222111112121211111211122121122221121112222122111221222111221121122222112112221121121122122121122112221111222112221212222221221122211122221212211122212112221112112111222222111211112221112112112122211111221212111222122221122222112222212211122111122111111222111112111221221112221211212112222221122212211122212212211222222112122222222212121222221222222212112112112122121111112111112112222221211222211221111221212112121221222112212121122221112211222122211211222112221222212212111121211121222221112211112211122221122222212211111212221211222122221121221222222212121211112111212111222222111122121112211121211211222122212111211211112222222221111122212122112111222221111212221112122211222122212111222111112112122111222222111122222111221222221221112112122221211212112211112212122211121222221121221221111122111221211122111212221122122121211211111111121212211112221111112122121112121112122111111222222112111221212112112112111212212111221212122112122111111222112222211212211221122222122222112112122212221222121212221121211221121221221221222121222122222121211112122211112222111211112222121221212221121112222121212111121222111222211211121111111122111222221212121212212211221212222222221221221221212212121221221221212121222121211121121221122122212222221122121111111211122122221222111221222211121122121222221112212212122122111111222112221122222112212212211211212111212121112222121111122122212122111221122122121112122222121112111121121211221112122212122222221112121122112122212211111111221112211122111211211211122122221222122211212122211222221212111121112211111121222111111211222221222211221211122112112212211211111211211122122122122221222222212112121121112222221112212221122122221221222221221222121111122212112121221212122221221112211222212221221122211112111112121111122121111111122112112212222121121111221121111112222212111111221111111112111122222212221212212111122222122211112121121212122211122221112212121211111211111222121122211112212122122111111211222222212122121122222221211221211121122111222122112211211211211221122222111122212122212112221122112112211212122212121121212112112221121211122212111121112122112111121111112222121112121121222211111112122222221211212112212211111122221212121222122212211212122212221212121222121222121121112121111122222211212222111222122112121221122111221121121212221121212112212221211212121212211111221221221222111122221211112211221121221112121112221122121112212211112112112221111211212112221211221211212122221212221121122212111122122211222221212111222221111222111111221212212211212122212222222221112211122211212221221111221122212112212121111211122211222111221122111212222212221112111112211221111221121121221121221211111221211121121112112222111211212211112222112111112121122211222112112121111222122222111212221122112221222211211222212212122212221212111122112212112212112222121122121222112122222221112112122212121221221111221111211222212222222211121111112222122121221122111211121212222211222111122222111211221212122221112222221121121112212212211211211112211121122111211121211111111221221212122222122222122221222112211112111121221212121111212122121212122211211111212121221211122222121121111211221212222122122121112212212222121111211222211211122212212212212111221112211112122222222211221122112212212111112122222111221112211211122211111122112221222212211222212122121121121111112112221111121211222122211212212211112121211211111211112222111121211212112211112112111121111121212222212211222212211121212221211111112211221111212222111212112111111221122112122122212212111212212122111122222211221212221121112122221121212221111121212111122221222121121122111212211112212221121112222221212112112211222211221221111211122122121222112122222221121121221222122121121211121121111111112211121122211111112122121212112212112211112211121212112222211222112212122212121222121221222121122221221112221222212212112122222221111122211221222121222122111122121211222212122121122212211222112222111112112211121112112212221111121212211111121121122122121212222121122212222121212121121122222211121112122122221221112111121212212121122121122121112122221211212211112211222121112221121121112111122212121122221112211222222111212121111222121121212112121221111222222222211221222122222211211222211111212211221222111212212112111111222121212222112222111121122121222222212111221212211111212221121112221112222122222222221112122221112221211122212222112211221121222222112211211121122212121211122221121212211111112112221221111112122122121222221211221121212112122212211122112212222212212112212212121222111111211221122211122222212222222222211212222121122222221221222121211221121212112121211222111122112121222222211212222212221221222212211222221112222212221212211122211122112212111122122121112122211221112212212111222212221112222211221211212112112221121212221212121221112112212212212112121211112211212111211121111211112121221211211211111122212111121122111112221122221221212111212121112111111221211111212122111211212112221221212222121221121212222222112121112221212211122122122211212112221222212222212122112112111221122222222212211222212112122112212211221211211211121122111222112112121222211111212112212211221222212221212221211112211222122121121221221221112221121121121111222222212222122212122222221112211222222221112121222121221222121222111112121122211112111122211212211222122222212122212122221112221222122211112112111111222122111221221121122221211212222222111121121111112111212222112122122212111111122112212221122221212111212211111122222112212221111121121112211112121122212112212221121221222121212211122211221122221111112121122122211121222111211211212121222112211212222211221222212222121121212112111222121111221112122122221222122221112222121111222122122121121122212212112222211211212121221222122121211221222212212221222221221122211212222221211221222122212212221122212222112122122221111111111112221221211112112121212122122222121112121111112111211111212122111112121112222222221222212121211222111221212122222212122222221222221111112212212121121221211122222111212112211111211111111111212222212121212222212221222211112212212122122211121111122122111112121121222112121122222112111221221222222221112121212121121111111122221221122221211212121121121212112122112212111122221212212211112122111221221221222211111211111122221121112111122122221222112211111211122111221221222212112111122211112221111121211122211112111112211222222122121212211111222211222222212221122112121121112121111122222121212111112212222121211222211212211112221121212122121122221221121222121221112122121221221222211222211112211121222121212221222111211111222211122211122211111122112122221211221121122112112111111121121212222221112221221121222122112112111211121222211122211122121112221111122221111222121121121122112112111111221221121111211211111211112122212212111122121221111112111211222211221111121111121221111122221112222112211222211212221212222211121112111211111111111211121211212221211221122111222222222212222111212211111112222211122121222122212211122112121222112112211112211112212121112112221222122221112222112111121212112212221222121211221222212211112222121222111212122222221222122112122221121221222122212112221121122122212222221112122221112211112212221112112221221222211111221121222121211222222212111221121222222222111212222221221211122121222122121122222112212222221221222222111121122222222211211111121122222121111222211112112212221111212121222211222212122112111111221221122112112121211212221221111111211211211222111122122221222221221111112112211212111121111212222111222111211122221212111211212221221222112122221111221222112111221221122111122122222122211112112111122222212222121111122212111222112112121111121121212111121212111221221121112211111112112112121222212112211121221112122222222122211121111212221222111121221221221222121212212221222212222112211121221112211121221211221122212222111211221111122221212122221112111221212122121212211111211121121211121212111111112212222221112112111221122121122112111122211122211111111211112121111122221112112112221122212111122221212212211222121111222221121211122122221121212212111121212211222122112122222121221112212112211122212122112212122122122122212121222212122212112111212222121111211211121122112121221121211111221222211122222211222112211212121121111221122122111211211212121222221111212221122211211122122121122121121121222111112121211122122221112211111222222222111222212222211112211111221222212221122211222211222111121212111122221111222112121221122221211211121222222121222222211221122112211221211112122122111221211122112221111121221112212211212122111112212122212112221222212222221221212221121121221222221111212212212112111222111211121221121212221222221122212121122111121221112212211121221212111111222222222212121121112122111212112122222211122212221222211111221112211222222221222112221121212211212211122121122212112221112122221121212222122221211211221222212221221222121111121211211211212111121221112112212121221122121122112122212121211121211212212212112112211111222112122122221112221212121111111112112111211221121111222212111112222221122112211222211211121222112112112112221111212222221212112121221222221212221222111211221111122112221112111211111111221212122222112111222212221112211111211212221222111122212121111211212222122222121122122221211121112221121211212111211222212221212122112212122111121212211222122121221112111121212121221222212112121122221121222212222212222212121122212122212122112112111122211222111222122222111111222111112122221222121221121211212112221212212211111222112122222211121211221222211112111121221122122111212122121112222222222111112112222221122212122112221121111112111111122212111222212212212212111211221211121121221211111221211122112211222211222121112212122221212211122222222122222122111111121122211112122212222221211222112221111211121222211211122122111112221121122112212122121121112221211212122122221221211112211121221121121122222222212212211221221222222212112211222222222211112122211222221111111112121211221122221112122221212221121121212211121111111122121212121222221121111121111222112222221111212212121221112122221222212211222112122212112211121221221212221121212111211211112122112121222122212122221112121112111111111112222121121212212122212121121221111221111121222221222212122211222212122212112221112112121112111122211222211112222111111111122211121221222221122121111112222211222111222212121122221112122122122211122121222212222211121112112122112221111211121121221122221122112122222211211112221211121221212222112221111222222212222111222222222212112112111211222121122122111211211121221221212222111111122221112221122111212122211112122121121221112111111211112221211111121221112222111221221112122222212211221211221111212111122221211222112211212112222111111112211212211221111112222222222121222112112211211121211222212212112121222111112121221122212121111212122122121111111121122112121221111112121221122122211222121112212212212121211211122111221222112221211121222111122211211211221211211211222121211211122122122112212221111212122121212111222222122111211221222111222221111211222222112122112221121212221212212121212122211122222212221211111221211212111212112121111222212111211211111112211121122112121211122111122221222122211122211212112212112212211111222121221121121121222221211121211221112122221112212121222111111122111212212211221121212221122221221122112121212121122211111122112111121212112122222122112121211122212112111211112212111221212121112222111111111221121221211112122211221222121221222122112212121112222112121112212221222222222221212211111121111122111212112121112121112212111221121112222221112212122211222112211111222222122211222211221112121211222111121111122111222222122121122112112211222212222121112112212112212112221111122212211222122112212211221111212111211222122222221111211122212122211221122122211122222222112212121111111211221122222112111112222221122112212222112112211111211121112222212122212221212221222221112111222112221222121211211111211112121212222212212222111112211111222212221121112112112212221121122211111122121122211222112211112112222112211122122222121222221122111212121212211212212111212111221112111222122122121121221121212111111211211222112121222221211222212222221222122121121221111111121211112112122221111222122112121212222221211121211121211221121121112121212121212111212121222221222222212222112111222212222121212211112212222221222112222122211121221112211111212221111111222111111211121222222221212222212122112121111122222111212122112121212112211221111211222212221222212121222211212111211121211121211111211121112121211111112122211212122212221122211122121222121222121211211221121121211211121111221221222121112111211212221222112122122112222211121111222122211121221112222121122111112122212222212221211121112111212222121222122112111212122222122221221121212221121211212212211211122222222211222211222212212121221222122112212122222222221221212121221121221112222112212112211122112221222222221222222222121222211121112221112221122122122221211212122222111221222212111212221111211122111212122222121122212221212122122222112122121122212211122222222212221211211222212111111121111122111211121112221212212222122121121122222122121221121121212212222122212221112111111211222212121221212211112112212222222221111122222211122222211112221122211122121122122111121222222112112222211121212112111122112211211222221112222221121111211222111121212122222112111121111212112122222211211212111222211122222112222222122211222222121212221211122111212121212111212221211112221222112211211111112211121112121112221122111122212112222112211111212111121221221221121211112121122211211211221222112211111222121221212221222121212222222211212121112122122221121111112111121122212111111111211212222212121221212122122212111111122112222212112211121121222212112112221211111221121122212222212122122111121121211211211212121222222211211211221222221112122221222212221111221121121221112112221121112221212111122211112222221111211112112121121121222211211121211211212112112221122222212211111122211111222111111221112122121112222222212211122121112121222122121211221112221221221121222211122111222121221122121221122112222121212122111121212221111112111112111122122112221122222112112121111111111121122222122122121211212221221122121122112122122111111222222212222211211211211222222121122111212121111212212211211222212121221211111111112122111221122112222211212221222222212211222222221221112121112221221212212112112212122211121112211122122111222121221212222222222222111122222111112221212121211111221212212112222212221121111111222221222221222111112211212212211211211111222112122211112222221121221211222211222121121212212111111122211122212211222112122221221212122122222222212111222221222112211221212122211221211212111222211212122112112212111121212211121211121212212212212221111121221112221212222222211221122122221211211211111112121122111111221212222121212211222221111121211121121211211111221111122122121212222121111112222112222121211211122122211111122111212112221212221122211211112122222121121121121122212122221222211111222121122222212122222211111211122221222111221111212121122212122212211112221211122212122121221221111122212222222212212221212212222111122111221211122121121111112122112122222122112111222211112111211212121111112211111122121212111211111212222212212121221212122222112112212121122122221122111111212212212212211121222121222211222121111212212111211111222222122112111122221121222212121112221212111212221121122211112122222121222211112211112222122211112211111111222122122211121122222212221212121221122111211121121212221211222121121112111221212121111211211112112122122211122211122221121112222221222121211212121222221121211221121112221111211211122212222212221121122122222211222122212122121212111122212211222221221211111121122121122121122111111212221212112111211211221211112221212212221212221222222212212122221221211111112221122122212122121222112211112112122222112222122111112121212222112112112111212211222222221121122222111212211221211111222221211222222221221122122121211221222212111112221222212122121112112212112211122222221111221221121122221222111222222211112212211222211121122222212111212211211122222221112112222221111121121111221121111121212121222111121122122111221211112221111122222211121221212122222211221112112212222111122211211112221221221221122212112122211112222121222112112211211121112222211122211121212122222211211112111111222222112221112111221122111222222221222222112111112221122212211111221121212121121221122212121121211111112111211211111211112112121221212121121122111122111112112221122111222212222222212112222121222221222211222222212211121211212222221222121222222212111211122112211221221111122212211221112221111211111212122212111222112122212111221121211122212111121111212211122221121221211111112121212222112112122211212212212212112122111222111121211122222221211212121112222121211211221122221221121221122111222221111122111112212221111212111111112212211122121212222212222112222112221211122222212121222222112211122111212112111121222112221212212212222111121121111212221221211111222112111212211211121211121111222121221211222221221121221112212111122222111211121221212211212111111212121122212112112212222111112112222111121122121211212211122212121222122222212221211211222221111112222111121112122211121122211122222211221221111121212121222212221222222222122111221121221211122111122222211121222222221222111212122122221211212211222122211112211111211112222112222222121112121111122122112211112122221211111121121111221122122111222212222212212122122222212221121212222212121211221121111221121112121211211222212211111222112111111121211111222121112121211222212211222111222112111221222222212221212112221111121211122111221121121111112121221111122212211211122112122111221212211221211212221222121212211221212111112212122122112122112111121111212112212211211212212212121111122211122122111222121111112212212211212221221211112221211212212112212111212122221111211122121222112211112112221111211121222122221122122221211212222111111111112111221121111222111121112111122211221121111222222122222212122112111212112112211122211222121112121211111211122121221212121112122112222221122111122221221121221222221112212221212122211122121121211111212221211211111111122122111122222112221111212221212122111222111221121111211122112111111112212111112211121111112212112111112222121111111222122112111221221222122122121112211211112211221111122111221112111212111112112112211121221212211111121212112211222121211112221212111222121111211212111112111122212221222111222212222112212122221212221222212121212212211211121112111222211121112212212111121211111211112211111122212211222121121111111221112122211222212222212221212222112212121121111112111221212112122122112112111112221122121122111221221222111212212221211211111111212211122221122121112111211121212222221222111222111211122111221112211211111121122221222212121112212121122121122111221211222212221222112222122221211212211211122212221222112212121121212212222222112211212222222211111121222122112111111211111212122212111212122121121121221212112122211221221121111112221122211212222221222121222211112112212221122122122122122112111122212112212212112222222112121112212221221122111221111211122211221121222211222211212121212121212122111221122121221122222111212111211121212111121211222112221222211122122211212212121221212211222122111222121111212221222122121222212111221212121121212212212212121211112112222212221111111111111221112222221222111212222221112111111111221211212222212221211222221212221121222221222112111111121112221122221222221212122112222221222122211122122111211112112122211222122222122212122221112121122112122122222122211222121112112121111121122222211212121211121221122111112112211222121112212122221211221122112211122111211121212122212122112211221211112112111221211221112122212212222211221122211122112122211111221221122112212221211221221111212221211221112112211122222121211221212122122121111122212222122221221121121111121111221121122122221221121222222122211112221121212112111211212122212122211211122122111122122211111112222211121222222121111211122112112122122111122212212122122121121121121211122221121222221111221122212222221222121121221222211122122121112121212122222212111121211211222221112121112112112111221221121222121222121112211111122221112222221222221121112211222112112111122111222212211222222221121121112222222111211121222221211111121112212212211112122122122111211212122112121222112112211221112121122122122121121122122222222222212221212212211121211221111122112221122111112121112212222121112211111212221212222111122221122112121111211211212212221221121112112221121221211122122111211122211122221122221111121222221112111222121211211121222111122211221112211212212212212221222221221111222221221212112221211121211112211222222122111122111221221211222122121222111222122212111211111122211221112111121111111211211211222212221221112111222112211122122221122221212211212221211112121222121211212112212211122212222111222122122122221121212122111222212121221212212111122121212211121121111211221211111212211111211112122122212122221121222121111112122212221211222221211122212112122112112122121112221121112121222112212121121122212111111221121111111212112112222212111221111221222222221222212222121121211212211112121121112222212122122222111221111212212121222212212222212111212112122111111122221212212121111122212121211221221122111221121111122111212222121122211122112212221222122212121212122111121221212111222211211111111221112211222122221111222211221122122111211221122122112221112222221212221211222212122122211112121221111221212212122212221211122221111212222222211221212112112222221222112121121212211111211222122221112222212111221111111221221111121112121212112121211211121122112221221221122212212122112221112122122212112111221111111221111122122121222211221211212111212112211212121112111222111111212121212222211221222222222121111222112122111221212211212212121121221121122222221112221222121222221112111111221111112121111111111211212211111111212222112212222121222221212122122222221211112121111222112111211112221122221121121122222212222221222212121212222212111122121111222212122211221121221111111212212221111112222122112111212111221211221111112221111212121111212111221122111121122111121221122212112222112122222211121212121212111112221211212122222211112212211222112112112121111222222112212122211121121211211121211222122211122122212222222121112111222122222221211122221121222222121221212121222111222221211212122122121221211222211212112221112221222111211211122211222222112221111222111212212211112121121222112112111221121121121221212222212112212211221112212112111212122211112121222221121221112121221112111221111121121212122222221211121212222222212212222222221122121212212222111121122121221211112112211111211212221122121121222121121122111221221211212212222112122221221112111111212121211221111222212222122212222122111111122222112212222111112221121211211121222212112122122121112221211111222211221221112222221222112112212222212112111122122211122122211212122222222112112122122211111221121121222222221121121221211222111111122121211212111212111112221122211222212211121212121111212212111222212211121122112122122122121122221112222211111221112212121212122122112222112121211221112121122112111212222211222212212212222112222112212111121112111222212212122221221221122211212211111122121222221111222122222112111221122222121212111211212111112122211121122211122211122222122112212112111111122211222222212212112111221212122211112121212212111211211221121111211112221111221122222111211211222122221222111221211121112122221112212111211212122111211121222121111221111211121211122121222222211121212212222111122122222121212111211111112222111211112221221112112222221211212221211122122121111111222122222112121212211112222122122112212122122112211112211222222112211111212111121221221211212112121111222122222111122212121222112122121111121112121222212112221112222111111221111122121211211221212121122212222222221212112121122222211121222212121212211112121121221111221212122111121121121212112112122221121111211112122112211121122112222221221111212221111122212122221211222112222212121221112121222121122222112122111121211222122111222122112121211212122222122122221211111221121212111222221222212112111222112122211221221221221111111111221122112222122211122212212121211122111222221221222211211211122212112221222122221112212211121112221112211121221222121112112212221111211221122222121122121112122111211121221211222221122221221211121222112221122212211221222211222121121121111122121222221222212222121211112212112111212221122122112121111111111212122221222221211212221211212122221222121111111211112222221112111111221121221121211112211222112222221212222211212212121211121122121121121122112212212121211121211222222122122112211112111112112222111222122212212112122211111211212211221221122211212111111121221122122121111121212211212111111112112121112112111211112112111211221212122221112112122212221112221111211222222211122121211222121121212222222212111112111111222212111212211211212121211212111212122112122122222121211122212222111222212221222111221112121212121122112111221222112222112111111112212112121222122111221122211212211112212212112122222122111111111222212221221122111121112212212221222212122121111221221221112121212211122221221221112112221211211212222211211221122221121222112111121221121212211222111122122111121122211211211121222111222111112112121212221112221211212211121111211111212111211122222211121212211112212111211212121122212121222111112222221222211222212211122122121111212222112221222111121211112112222122122122111212121222221211122111111121222212222112122122111111211211112211221221122221222211111112122221121222121212112212221212212122211212112122121222221111211112122221221211212211221222222222122112221221112121221212122121111222112112112122212111122122212122121112212211122112212222212211212221121211211221212211111212122112212112121211211121111112221211211122212211212222121121222212112222112212121211122211222211112111121212222121122121111122212121211222222112212112211122222111112111111212112111211121121122111111122212122221222221211111211212212211222111122122122122121222121221221211112211112122222211111121122211221112111111111122111112222112122121121122212121121122111221111111212212211221112211222122211122122112122222111221121121121121122222212222111121212111112212211212212211222112211121122111211111211112121212112111221221121111111112122211111212121121212222222221112111112212212121111211221112211112212112221211211221212111121221221111122221122122122221122121111122221122211221211111212111122222212222122112121221211212122221112211122211122211121212222112121121221211122112111222122121121221222212221212212122221212111112111111121222211222221112221212122221222112221221111112222212211222212122212212121222112121221212222112222222222121222211111122111221221111112122222112211211212222122222221111221121221212121121122211211112111121122112112121112222112212221121211211111122111121211221221211121121221211121212111211122221112211122212111121222211111222211222212212112221211111211121221121122211212212122112112111111212212211112212222121222221111121222221111221122121211211211222121212212221121112122122212122211212122222221211112122211222212221121122111112221121222212211122111221112112112122221221222121121122222222121211212212111221122221212221212121122111221222222111221121211122112122111122211212211111111222121221211221221212211112221121221221111122221112121122211121111222212111221121122121221211121221211221122211112111221112122222222112112111111211111222121111222221111112121211212112212221221221221111111111222121111222211111211121112222112112222121121221212112222111212212112111211122221112212221211112122112121211121112122222121112221121122221122112211121122111221211111211221122121122211222121221111122212222211212112212111222212211111212221111121211211222221211212112112122212211212112111211212221222221222111121121211122221211211212111121112122211222221211211122211111222112212222111121221112212112221122211121222122121121112111222212222112112121122221211112222212211122122222122222221212221112212111212221122111211121111222221212222221122112122222222212112112212122112212111122121111211121211112221212212122112121212211212122221112122212121112122221112221222222112222122212211112212112112212122111211111211212121212222122112212122111222221212211211122112212111121221221211211121222221211212122112121121122121221221211112211112111121212211111221111111111121221211112121111112111221211111112211212111112122212122111111221212122122222122222121212112121111211122212111222211111112111112122222212211111222221221212122111111212121111222122221212112112112211122212211121221111221121112121111112112221112212122211122122112121222222111221212211111121112122122111111111122111222221212211121211222112221211111222111121222111221222122211121222111112211222112222122222212221111112212222112122211212122112222121212111211121121211221212112211112111112122211212112222221221111212222112211211211112121121212122222121122212211122112111212211121111211122211122221221112212121121111221221122121121122121211212122211222212212222211112111122222122121121212122122121122212212222112122112111212111121122212121221122221221212111211111221211212212111211122212211222212212221221222121222212212221222211112111212111122121122121222211221211122221112222212222111121122122121111122121122221211111112211111211211111121122222212122112212111212112212111221211121211211122112111222212222121212222112221112222212222112122112122111212211111111122111112121121111111222212222212221121211222222112111222122111122212112122222212122212211222221221211112221111211111222212221212212211111211111221221112222111112221111211112212212222121212222122211122121211122212111112111112222211211112121221122221221112122212222212121221222111222112221122111122221222221221211221122211222122121112221212121122112222112121211121111111121122221221111222221121121112221122121111211121212211222211122121211221122112211211221111121122122211112212211211111221212222112212212211121222122112222211122212222121211122112122212112121122112222121122212222112222111122121211222221121211121221222212222112211211221212212121212212222112122122211121221112212221221112122211112211211222112212121222212121112111222211211111121122211112111111121112122211222111122112212112122222221221111222121122212122221221112112222111112222221112111112111122112111121121212112211111212222122211121121211222222211222112121212212211211221111221221112222111212211111111122111221111211112112121221222112211112222111122121122212221112211221121122112211111212212221212212111222122111111222112111112212212212221222121112212212211222121211122122122211211111222212221211222112122212211112111122122112211211212211122121211121211221212111212221111122221111221121121212212222121212121221211121121112111211121121221222221212211122221112121211211211111121222211121111112211112221122111122121122112221221111121211222222112112221222111112112211121111211112112222221212121212112221121221222211111121222111121122122211211112112122221122121222122221211212121112222222122221212221122121212212111211222221111111211222222222222121212212111112121121221212211221122212211112222222122122111112221212212212111212221212212111111222212122111212111212111222212121212221222112212111121222211222122121221121111122121221222221212211122111122122222121211222212211111111122111121212112211221212121121112112112222112121121111112122121221111122111122222211221111121121112211222211222111121111212212111222211122121111112122222112221121121112122211121212222222111111211221121112122112111112121222221221221112122221221211211112222111122211212122211222112211222121211111222111121222212212121212222121221111122211122222112221221111212121122222221221212122112211211211222222212111112121221222122122112121222122111221111212222121111212122211221122111121212111221211121111112212122111212122221222122212111211221212121212211121212112212211212212122211211212221112112121211221122211211212212111212112222121211221212111121221211111121111222121121112112111122122122121221212212111221222121221221211222211211122211221222122222122211111112112212221121122112122212221211211212122211111212211122222112111212221112121111111211111211221112122111222112211121111212111112111211222112122222212222122112112221122221121122222212212221222122211121111212121112212111221111222112212221211212211222222122222111212211121111122212211212212111121121111211212211222222211121221221212222111222221222112211121212221121211212221122112222211212222211212111122222112112212112112122112122122212111121212122111121112122211222212212221112221212121222112111221112222221212111111221211221121121111111122212222112111222222111111222212222112121121222121122111112111122121212212212111111121111221221121211122212212222211111222221122222112121212222121112112111221122122111221122112122222211212112212222111112212211221111111122212122221122121112121112212222121122221122222111111122212212222211212112111212221212212122122221112212111221122221112221112212112211112221222211212221221211212111122111222122211122212111212212111211212212221212112212112122211212112212211221211121211211222211121121112121222122221212212112112112211212211122222112212211112111212121121111111211111222112211112211212212222121222122221111111111112112121121222122121122121221221112121212221111212122112221221122211222211212122212212212211221221122211121111222121221212212112112212112122111121121122212222121112122211212221221212121212222112112122212222121221221222112122111121222221122112122112121221211222122212111212211121211112122221122121222112222122112121221222121212111122121211212112122111112221222112222112112212122121122221222211212221211121222221112122221121112122221111121122121211111222221212122212221122211211221121212112211111221211211112211111221221121111112111112212111212222222122221222212112112222211121222211112112112122122122111112111211112212112111111111212222112112111211122221212211222111122122111112122221212111121222122111121211211112111222121112112112112111222112112221212122122222112222111222222222222221112111212111211211222111222211122112122222221222221222112212221211122111111111122111112122122111112212121112221221122222122211122121212211222211221211122122222121122111121212122121221211221211121221111121122122112212122222111122121122121112212112222221212221112221211112222221221111222112221122222112221111212111211111121112111222112212121211221111112222212122221112112111211211121122121212222212121111222211221112111121121222221122211112112212212121222211221121221121211111221111222221221221121111111221122112122111111122221112212211212212212122222222112212211221222212212122111212211211211222221211112111112122212121211211112221212111112212221121111212121112211222222111121112122211112122222211222221212111112112122222111212221211212222122212111221222211121112222112222221121121211122211222211211222122221221211221122112121122212222212122211112212221211221122121122121122112212222222122111121221222112121112221222211221212111211111122222222111111111112212211222111111221121122222122222211111122221211112121122112111222221112221221112222211122212221112112221211121122222122212211212122111122111112121212122212222112221121212112111122112212111121121121211221112112121122111112211221112211111212111212111222221121212211211212221112222122212221221212112211212211121212212211112212112222212211212122212222122211222112112111221211121122122112112122211212111112112122221211222211222112221121211222221212221122222122212221211111111111121221112221121222112212111211221122121222222221122221211222122211211122212121122112212112122111222221221212111211112212112211212122112112212111112221111112211121112122111221222112211112222211111212211111112211122221111221222222112112121122112211121211111112121121121121121221211222111121211121222212212111221221112122112122211121121111122111221121212121111222222111111111112222121221121121222122112111222112211212222112212222221211222221112122121111111221222221222212121211122211221121211111212211211121222211111121121121221121112222111112121221121211211222211211112121112122221122221122122112222122221211121221112121211212121212211121221122222222212112222111212111111122222211121221211122221212221212212112222211111112121112122212211211221122122221222122122221121221211211211122212121211212112222221121112212121121121222122122121221221122211121121222112221212111121112221112121121111111111212112121112122221212221212112221112222122121112111221122222121121111222112212111212122211211221221222211221222222221222122122111121111122212212211121222112222212111111122122212112222212121111122222222121122111211211111121222221222111212211122111212222111221112112121212111221222212121212122222112112221211221211112221211222211222122221111121221112112122222112212211111222211112221112121121221121122112112112211221121212222111211112221112122112212122211222122112121212221222112212211212122112211212211122221211112112221111221221222222211222221221222122112221111112121221211222211221211111212222121121111122211122112112111222121221221211122221121222121121211222112211222112121111211111112212122121111211222112112222211111211112222122112221121221222221221212121112111112221222221121111121211221211122121222221222212122211222212112122211211212222121122112211212211112112211112122112112122211221111121212112211111112221212122122121211211222212112112211111121211212122211122212121212112222111221222122122211212111111111121111122212222121122211212122121112111112211212112111112211111122122112221221221222212212212111212211111122211222221221212212111221121121112111121222222112222112121121122222222211121222221121211221111212112112212112121211222121122112122122211222111222221121111212211121112212222222212222111212121112211222122222212121121211222121111122222121122212112122111111211212221111211211211112122221221111112121122111112121121212111211122221112121121112221221112122221221211212121222112221112222121111222111211222111112112111211121212111221222122121222111112121112121221222111122121211121112212222121212111221221111212222121212212122111121122222211112122111222112222211212212212121121222112121211222112211121212122121112222112221122222211112111112212211122221211211122211222112121121112212211221122222122222222122222222212111122221112121222221211211121222221121222121212112222221121221221221112111122221112122122112221211211121122121121122122122211111222112121211121111222221211111212211211112222222112211221211211221112122212211221211221121211212222122111112121211211221112222221121121221221112211212222212122222111112211122121212222222221222212121222211221222112222111221222112211111121222112222211221222112121122112212111212221212222111111111121112212111222111121221121222211121212111112121211111111211221221112211112211211222121211121111222121121112211222111112111121112111212222112221122222121111222222112212112121112111112212211112211121122212121222221112121122122122121111111211211121112111212111212211111221212122222111111122112221222211121112121121222121112221222112122121221221122222111222121112222122221121122111122211122222221111212122111111222111122212122211121221112212222122111121222222122212222211221112222212121222212121121121112112222111221111122222222122211222212221221211222112211111121222111212111112212122211221212121211221212121121121121222122222221121221122212221222111212121211222221221211122222221122212211122111111212121112211122222222111211211222121122121111212212111211211122211112212121111222221211112221122122112111222112212211121111222122111212112112221112211221212121211112112211121111122111122221121212121122211222112112222221112222222121222112121212111222211211211111222211112211122211121122211122122211222112212221221212222211212211121122111122122221221111122211211112212211222111122121221211222122221111122221211221211221121122212221222212211221212111122211122121122112111122212121211122211122211122112122211112221222122111211221111222121121222222122112111211221212222212222212212121221122221122111121121112111212211122211111112112121112222111121222221221222212121111111211112111222222211112111211121211121121221112221211112122121121211111212212122111112111221212222212122221212121211211112112211121111222222211222211222121111222221221221222211221121121211112212221222211112112211211121221212211221222121211121221221112212212112221111222222112221122121212111222221121121222121121212211111122122221122121222211121111121222111121121222212122122211112121222222122121212212212211111111112112112111211211222111112212112222121111112122111211211211122122211221121112112212211121111122222121122222111211122221221211122212111122112211211222121211212211122122112122211122211221211221122221222212122221111111121122121121122212222212121121112212212111221212221111221122122111211122112122122222121212221212121121111112211111111111222112121211211122122112221111212221212122121221111121222212121112122111122211211221211222222111121211221112211221222112211122111121111211121112221211211112222112212212122212222111122211221121221222111211221222212121212211122111211121112112222212112221211112112212212221112121221121211222112212112121212212211122221122211212112111111112212221122211112112222222112112211211121112111112111121112112111122212222211211222221212222222112121112221112221112221121122111112111122221222211122212122111111211121111221112121122212122211211122222221111111111212221222112121211212112222221121122111121121222222222111212112211211112111112221211212112122112211121112222211222122221121112212212122112122221121211111112121111222211111211121122112112122111111221221211212112211221211221221112122112121211122221211121212111111211222111121222121212212211112112112122212212122112122122222221222112221212212121112112222212212121212121112222221122211212112111111222221221121121111222212121111122121221111221111221212112121111221211111122221112212121111111111222122111211111211222111222222121121121121122211121122221221221211221222211121212122211112111122122221121111221211122211112111212122212112221121121111221122222212112212222122222112122221111122221212121122222121121211112221211111112212111222211222221221122222211111112212121211121212222122122121122221222221121212211121122212111112121212111111122222111211212121111111111121112121112212112212111112121212121211221122112212111122222211121111221112122222121112212121212121121112121221222211211121122112211111122121222111122122122111221111111122212121221211122121112121121222122212122221212122112211221212122121112221122122112221121111212121211111121121221221111121212212211121112121112222212212111221122221221222112222222212122222111211112212211212122111221221221121122121221211212221221222122122212121212211222111111112212112121221122211122212222111211112222222222111212212222112212222111221112222211122212112112221122211212211211111211221111112121111221221121122121112122121121111121122122221221211111122212222212212122121112211121221112221212122221121222221222121222222222122222212112122211222121212221222121211112211112121121222122212211112112121112222121221111222112212112212222112122111221212121211222212111121121121121121121122121221222212111112111122111211221121122121112211121222222121112222121112221221211121212212121121111112122121121112122112111112122122121221222222111212211222212122212221121212112222222212122122111211221211222112122111122111122121211122222221112122222121111121121122111221122111212222111222111212222112211112221112121212211121211121211212222111122211211112111121111122221211222212211112211121212122222211122222222221112221122111211122121121222121122111111212221112111211222211211222221212122122221212222212221121111112211121111221121221112221221221222122222122212112222121221212211121112222111112222222212112221221212111121222111222221212121212112211211111122121121112121221122211112122221211121211212212212111211122221211112212222211122122221122211211122112122122111112122122211212112111121211212211121211122112111122112112122222112111212222212111222121212211212211122112112112111121221211212211212121121221121121212211212212122122221211221221211111211111211112111111212212212122222211211121222122222212211212211111222112212221111221111221222221222111211121111112212112122112112221211122111122212112121221111122221121111112212222122111122122212221221112122121111222112111111112212221112222112222222121212121112221111112112221122221121212222111112212121122221212211222122112211122112211112221111112112112112211222122211211211221221121121122211222112121221211111221221212212221211222111122212122112122111222222112222122211222112121211211221121212122221112222122121111221112211212211121112111112111211112222111222222111212211221112122212121221221221121211222111212211211112122221122122222121112222211112221122221121121222222222122211121221211221121121111121221221121122121111211111122112212211111222112221112211211211122211221221212111221212221211121212121111121112212111222211121121221121111121122111111211111221211222211212111222112211112212211222221112212122222121122222221211112121111222221121111121212221212112121222221212212112211211212111221212222211221111121121122212211222112221211121112221121211211211212112221121212111211211112221212221211221222212222221212212222122221222111211122112221121222212112111121211211122112222212112222112211211122221211122122111112212221121222112212222122122111212211222111222211222112121111112221111212222112122211112112121212222112222222122121121111222222221212122122222212222122112211211121221211111222211222211112122221212211211211222222121212112112111221111111112122212121111221212112112221212121211121221221221121222222221212111211211221121122111112111112121122122222111221121112221112221212211121222212121212221211111112111212222221211221121122221222212112122222221112212221222112111122112121122212211111111212221121111222212122112212211211212212212211121122211212212222212212111212122222222111221222112212211121112221222112212211212112121122222222212112211222112111212221112221212111221111121222222222212211111212111211111211111221212111121211121212122122111112222212121212221121122111122212211211121222112212212222212221221222222112221212112121111121111222121111122212112221212112112122212121121221121211221122222211122222212211211121212111211222122222212222212122111121122121121112211122122211112212111221211221122121112122222221212221121122221121122122121221122222121112112111111222111211221221111221222122211221212211222212111221112111112211121122112121211211112112121211111111121211112112121111122122122112112112111222111121222122222121121121211222122222122222122122212112121121212112222221112221221111212112211211222212121121111222112212111222211212111212111111211221221221122222122111212222112222211222212112221221112211222112212122212122222222111222211222111221111211122121122121122122212122111211112122211112112222221111222222211221121112212111212212221211111212112112112122111211212221112122222111222112221112121222222221222211111212221121122221122112112221122211111121111111121122111221212122122112211112112121122221122212212121221222221112212211222122221221222212212111222121211221222212221222112111212211112212221212122112211211211221222112111121212222212122121221211121111122121122221211212221121122221112122222222212112121222211121121211212221112111222221111212112221222121212221121122211222111221222111111221222221111121212212121221222112222211211221222112111112211112111212111122211112211122121112221112121112121121222221221211121212111122112211221112222121222112121212122222111122222122221121211211112112111112122211122111122111122112221222212112122222212211222122211122111122222212121221122121111112211211121211111212212211122212221222121221212111222212212121111212112211112221212222111121212222211211111211221221111122112122222121121111121211211222111212111121111221221112211121211211211212221122121212121112211121122122211211121122122212212122221121221122211112112122211212112211221221222211112111212222122111121111222121121222111212221211221112112212112122112212212111112211221222211222221212111111112222222221112122122212221212121112111211212112221211112112221222212121112122121222221112111221221212221121221222121112121121121212111111122121112211221221221111222222222112122112221121221222122211121212211121121222111212221112111211222211211221122112211111211122212211122211221122121211211221112121212122222121222111221211121121221221221221211122111112222121112121112112221221121111212121121212111121122211222122111212222122221212112122111112221121121222122111122122222221211212211121211212112222112211212212111121221122121121221112121112212111222112122221222222112212122222211211221222112122222222111212122211221111112221112211221111121222121212212121211111221212121122111221122212122222222211122122212211221222222112222112112112211111111212122121122111211122221211121221112112221222111111212112221121121112212212121212212111212211111122122111221111111211112111222111111121121211121211112111211112111212212111222212211222122112221121222122212112212221221111211111211112222112112121121212111121211221222122122122112111112111122211222221212112222212211111121212211212222222111221112111222221211212122111112122212122212122122121221222221221212212122112112211111111212211111212121122121221111112211222221122121211121222112112222122212121122212121122112111221212212121222211222212221212111222121111111212111122121222222221122121112111122211111111111112122121211221122222222211121122112122112221212111212121111211212121222222222221122112112122212111211221212121221222121212222112222111211121111122211222221212122212121222111221122211121212211212221111121222222212221222112221211221212111222212222111122212112222222111112112121122221212222112221122121221222212221221211122212211111212111222112111212122121222221222222121121122122211122112122221121212111212211222222221221221121121212112212112122221121121211221122221122122112211122222121122112111212122222111222112211221211222121111211121122111122222112121112111221121221211221222121122121211121121211122221222122222112122212122211112212221212112221221121211212112222122211111211111222121222221211111211122221112121112212121112122111122121112211122121211121122122111122121112222121112212121222212111121122121221111112211121211112211221212111212212111211211222221222111212222211121111121221212111111121122222222122211221111222112122221212222222221122212221121211222221111111212122112122211122111222121212121221212121121122211121222111211111212222111111212211111222111222111112212211222211221222212221212122211211212112121211121222111111211122122211112212221212221212212211222122112112212111212122121212111121221111212212221211112222212111221222112121211121121121121211211112122112212211112212111221222211221222111221222222221212112212121222222111112121222112212122121112222112122222212122121111211112121211121212111212121112112222212111112211121222222221211221222111211122221211121221212121112122121122121112121211112211211121211212211122111212211122121212212112222221112221111122211222122212211211221111121122121122222112112111222121111212111222112211222111111112121121222212222112211221112121212212212221221211111122221212112222211212121122221211112222112212212122221111122121211212112211212112211121221222122112121111211122211222122221111121111111212122121112111221211221222122121211212112221122212121221221112221121111121111111221112212211211211221112111222212222122212212212122122121111121221211211121111112122211111222211122212212212121212122211112212121222111221112112211211211121111111122211222211222212211212212111121111222221212122112121222121111122212211211122221212122112112211221112222112221121112221111112121111112222211111122211211121122111121221221212212222122212122211222112211221122112211221221122111112122122222122222222122122111112121211121121111211222221222212111122211222212112112222122211211211221221122121111221112112222112121221111212211221221121122111121212211121221211212222222111112111221222122211222221122112122121211211212221211211222211122212212111221121222122211222212111112122222212222112211121221112122121221111211221212211211111221111111112111212121222122112212112222211221222221111121112122112122111112111221112111112212121121121221121212121122121212112111112211122221112212212112221111211222122122222121211121112112122111111211122122112211111111121211111111112112122221221221222122121222221121221212221211122212212121111111122112211122122122212221221122122122222211212111221222122221122211212222122221122112122222222122221122212222122211221121211212122111221122211221112221211111111212221122112221211121221221221111112121221111111121121212212122111211221211111112111121112121112112121111222112111121112221212211221212221221212222222211222212122121112222121222211112112212212112212122121122222121212122212112121111112211112211111222212122122122211122112121112112122121212112112122211112121111121112122222121212222212122212111111211122111222211112211221222212211122111111112211211111122211221221112211211211221221211222121122222111211222122211112111211112222221211111222222122122211112112121221221122212212111212212112221222222121112122211121222212121112211121111212221212122121121221112122122222222122212221122112212122211121112121121222111212121121121122222111212122211222212222211121112112211112212221221211212112212112222122111112222222212211121111212122221111222212112212221112111222221221112121221212222221122122121212212121222222112122112211112122221121122111111111121211212122111111122211121211121221211212111121221121112211211112212212212212222222121221112112212121112212112122221121211122112221221222212111111221221221221122111211221211211121211222112211112222121122221221112122112111121122122112122222121122212121211121221111111222212211221121112112121222221211222121212111122221122112111212222112121212112212121212222212221112121112212212222211121111122211211111222121122221121212112222112121122121122121121212111122111211211122222112222221121112222122222222211121212211212211221112121122222121222222221111111221122121112112122211122121111221212122222122122122212121221112211111111222111222222211221112122112111112111211212222111112112111111121121122222211212112221211222222222212222222221211222222212122211222211121121122221121212221211111122121221221122122121111122211221122211111121211211222112111121112111221122112122112221111122112112121122121111221221211121221122222112222221112222122212212222121212221121221122222211211212112221222221112221122121121222121211221121122121211112111121112211221222111212221221112111222111122221122211122222122211212211112111122112112211121112122121212122212222212111111212111122111122122112221122211111221112111222211111112121211222121111221111222111112221221112122112112212111112221211112212121222212111211211121121222221111212212222222221122222222221111211211222111211121221112111212222222121121222212221222221221221121222212221112212122222111211111211212221122221222122122222211111121212211121122222122112121212112222211212122212122222111211121112221221111211112212221121111211212122111211222211212211211212122221211212122211221221222212122112112211221121212222212122112221221112221121221122222221111221212121121112211121122211221121211212211221112112212122122221122112222122212222221121211221212211222222221212121211121122221112211122212112121111222112122121221122111122221111121222211112122112222112212212122121111221112111211212121211212221222212222221112222121122121212111111222221122111221222211221222122221122212111121122122122212121211211212121122111211212221222221222212222121111211111121122111121121122122122122221122211211211221211112112221121212212211221212222111121111121221211211211112221221212111211221122221121111121122222211121212212212222221211211112212222211112122222212211121122221122111121221212221112111211111112121221221221122222111111121221212212211211222111111111221111212111212122112211222112211122222221111221121212111221111212221111211111211211121122111121221211212211112222111222121122122121122112222211221112112122221111221222222111111112221112112122212221221221122212121212111121211212121211222221221112112221211211221221222121221212221212111122212112111212112122222122212222112212122211112122221222111221121111221211211121212222111221111112211221211112111112211121122221112221111211121121112222222211211121222111111121121121221211121211221112221112211111122212222212112222112121121221122212222222122121221122111212211222211222112212122121121121111222211211111211222212211122111212111111122211211112121121221212221122112111112221112222121211221211221211212121221222222221222111122121121121211112121122212211222121111221121222221121212122211211222121222121222221121111121111222222122211121222121222222121211112122121121211112211211111121222211112112112122121211122121212112112122212112221112111111212211211212122221221112111121112112121122211111221222211121122222222221121212221112111221212222112121221121212121121111211122122112122211122112212212221111221222112111212222111221121221121212221122211111122121121211112121221211111222212211112122112121212122212111221221221111211111212112122221121122122211222222111222222111112222122122222221222121121122222112222222112111211111212212121221222212112121212121211112222111221112122112112221111221112222121121222221112221222211222211222222111122222112212111121212212222112112222211122211112112211221211222112211111212222122111121111221222212111221111111212212211112211121121222111111211111221221212211121212212111112222211121211212122221112121221121112112222221111122211212221221112222121111121112211221222212222121121111221211222122211211122211112221112211221211212212212122211211222112112212112211212112112122121221121222221221111212212121211112121112111211122112121111211121121222221212121212221221221222111222212221212221211221111211222221122112212222222221112112212222211111111221111112111221221122221122112212222211221112221222222222112121122111212222112212212212221211222212222221112221221111121221121222121111122221121121111121121221211221111112211122111112122112212211121212221122111222121121122212111111222212222212222121122122221211112211222121121122221122222222222122212112221122122222211212221111122121121121121212221212211122212111112121211112112112221221121121122122122121221121122111222221111121112221221222222121112222121112122122112122122111211112221212122212121122211112121212111212122112221221221111221212211111112221212111121222111222121122111221211211122121121122111211121212212212121221121221111121121212111212221212121121121222212122112222221221222212211221212111121121211121122121221112212121112121221211122212121221121112122212112121211122222111122222111121221122221211122121222222111111221212122211212122222221122121111121221121121222112122121121221222122211111221221122211122121112122222212112221222122121111221121221211112211222221222211121112121112211111122222111111122211111211121111111221222211121121122112111122111111211222212221122122212222212121111222112211112122121122221221112121122112111112121222121121212222112211122112112112212112222221211221212222212211122121122211111212211221112122122222122221222221211221212222112211111121111211212211121221222112122222112122211211122211222221111211211122221222111212122111111221212222112222221112122111211221112112211121211122112222111221112121122122211221122222211121221211111222112212212222112112222211212222122111122212222111121222221122121121121112122111212221121111212122221211122122111221122222212112121222122111222122221221122211122121222221112122121221122211111111212221122112121121211121122221211112211212121221222121121112111122122122222112111222222222211121122221122111121111111212211112221211212212111212222122221112122222221211212211212121122121121212121122122222211222222111221112222212211112112121111122211112222212221221221211121221112111212122212112121211211211121112121211112222212111222211221212112211221112212121212211112122212112222221121222221222112211121212122211221121221122112111212112122121222111122122121211122222212111221222111212122122111212121121221212212212211221211222221112222121121222121221122112121212211112112121112112111222111121212221221111211222111122222222221122221222112222221222222221222122221111221221111112111211122121111111211222212122121211111112121112121122212221111221212222221222211122211221222121221112221221122222222121221222112111221112222211212221121112121112122112112211112121221112212111211112221112211111222112121222111121222212121122221121121111221221221121122211222212121222121121122112212122212222221211122211221221211111112221112111111122112211111112122221221221221211212222221121122112221222122112212122211221122122122121212222122212221222221112122212122212112121222222212121212212121222112211121212111221122222111212112121221221111222221111111221221222111212222222112221221122122122211222212111111112212111222121111212112121111122112112122112212222122221211122222211221212121122222211211222122222212211221121122221212112122212121222122122111111122211222212211111121122222222222122222222211222122211211222222121212121221111122122221212212221212122211111212112112211122122111211221212222211112212112212212222111112122112211221221211112121222112112211122111222122221222222122112121121212112111222112112221212211221221122112111212111112222222212111212122211222112222121112211121211211222121212122112121212111122221122111121212112122211211211121121112121121212221211112211122222121122111222212221111222122121212212211122111222211111211122222212112221222222211112211222112221221211212121221122112121121111111211122221211222221212211211212111111212112121122212111112212221211122222111222222221122221221111122112112122211221112121112211122221112112222111221222222121222222111112212212222121211211121221212212112222112212121112121122121221212121222211211211221221112212122222221222221111211112121222121222121212212212221211121222222221121222211211211212111121211211111122212212111211111211211222221111111212212221222122111211111211211211121112221222111122222111212111211121111221221212122112211211211111211112222212111222211222222122221212221122211212122112221122111122111212222112111222121111222212111112112122212221122121121111121122121222121122122112211221211111212212211122211122222212121211211111212112222222211221212121122211122221221222221212222111122222111112222211112111112222111121122121221212212111112211122211212111222122212221211221222212212121222122211111212211122122121222111222222221111112221221212212212211222112222212121112122111211111121222122112222222121211121121222112122122111111112212122222221112121112221122222211111121122211212112122112222112111121112122122121222221121122121211222222222211212121212212222222112111122211111221211211112211212221112122222212221112111111211122121211212211211112111211212212222221212122122121222112112212212121221211111222112222112112111121122211121122222121122222221211122111111111211111111111212121122122212211222122122221222212111212221122222112211212212221211111112111212211221212111121121222222121212222122221211221111111112212111212111221211222112122221211122222211212211212221221112122222212222111212221211121212121221212212212212122112111211122112212222221222212111222111212212121111121212212111121112111221221121121222121121122122211121211122112111211212112222121111211122211112221112122222112211222221212122212221212111111112111211111222221211222221212121212122111211112111222211212121212221211121211221212111121212221211222221212121221121222221122222112211121221211111121112221111121121212112212121111221122211222111211212212112221122211222122112212112221212122221111112221121222212212221222121121211222211112221211211211212122122112212111121122221112211122111221122221112222121121111221212212222121222121111122121122121121122211221111212121112222221111211111111112121121112121221111112121221222112211221122221122121111112222211121211122221122221222212222122111222221221212222211211111111211222121222212122212212111121211111212121221122121212221121212112122211121221122212111221122222121212212121222112121221122112111222222111121211122112222122212221212112221211121111122222212112121122211112111121121222122112111211212122122111222221221122112112121112122121221211111221212111122111212222222112211222212111112111111222111221221112122121211211122121121211222112111211112111212111222221211212111212221222121121222121122222222122222222122221222222111121221221111212212211121121111211122122221221211221221111112222222111122221112122111222222121111212111111222112221222111211122222222121112111121111122111111221212122112121212211221222122112211112111222121222222112211111212222212121211111212212221212212222221112111211121121212121121122111121222122112112221111222112222122112112122122121111221121211221121222211222111122112111121121111222212122222121222221112112121112111121212122211221121112112122212211112211221112211122111222112211111121112222211212111122211122211212122221112212121111212222121211212121221222112222122121112122221211122222222221222222211122122211221122111211121112211121211121222111221222221122211122111222222121221221122112221112112111211212122212122112211112211111221221222121112112211222122121211222111111122212212122221121221211111212211222112122211222212211212112112222111221121122112111121212122112221122112111121121122121221121111221212212121211112212222212112112221211221112121111212111212212111121212111211111112111212221111112221111112212221222212112221222121121221212112122221112221112111122111211212221222111121211211122211222222222112222122212112212222212211112121212121112112221221211222112111111121211122211122112122222121111112222121111221222221222122111121211121121112121221211212111111222121222111222212222222222122212122122211222222211122211221121111112112212122122111121212121122122121211112111221111221221122122212211121112122121221112222111211111122221112121122212212212122211222111221221222212222211212111121111222212212121222111211121211122212122221122212222111122222112111121211121111212111112112111112112222211121222112111211211211122121111222212221111122121112121212222121111112211122122111111112212211122212112112111112111211211112222211122221211122111122211121212212221212222211221212221211212221211121222222111222111122112122112111222221222122221122221221211112122221121121222121112221211121111112112221222221112222222211112121222112221222111111122221111112112122111121112211111122121122221222221211211212121221122122211111211111221222221112221111222222121222221112221111222222222122111212211112121212212112211221121112122112122111221222111122222212122121211122121112221112112211122111112222222122221222112211121211222111122221211221122222112111212111112112211222111221111211212212121212121111112111121212211121111111211121121222112211222122211122112221211211222121112221212122211212122111111111212212122221112221212222122221111222221212221212212112122212121211222121111212221212122122111212121221122212222112121121122111211121122111111112211112221122222221111212122122211211221212111112211211222211211122112221121121122221211122211111122222112212222121112212112212221121122212221212112222211212221221121211211222212212111111222122111121212121211122221121111211222122122212112121111212121222121211212121111212112222111112222212121112122112212222211221221112221211121122122112121222122121222221222111111112111222122111222121222211112122211212222111111212222121211122221122212111122111122121212112222222212121211122122212122221112212111211121121222211212211211221122122112122211211212121211221112112211121111222122211222111221211221212211221211221222222221222122222111112112112221121122212222111222111112111111211222212222112111112112122221112122222111212121121111111112112212222212212122221112212122112122121121222111121212212121112122211222121111212122121211221222222212211122222121211121112211111112111111212222212222122121121211111122112211221122222121221212221222212221212112112122111211121221122212112221222112211122222212111212121122222222122122211111211122211111221211111211122221121111122112112111211112212111122212212121222111112221221111111112212212211211211111112222211222221122121112211211212111212122112111121112221121111212122222211221122122221211111211122121221222111221112211112212111211122122111122212112112212222211122211111212121222122111122121221222112212212221111112222212111222212221122212221211112121121111211122221112222112211221211122112111222211211212111222111111221222112111222212122221222222111112112222122212222121111112111122112221112221222212122212121111222212122211221222221121211111112222212222211122111111112212122221111122112111221221111221222111221222111111121122212221212211222112121111112121122222111111111112112221121221221121211111222121112211122112221212221212122222211122112221212112222112112121212212212111221212221221221211211122222112122121121221211121111112221222121122211121121222112222221122211121211112111111211111212222221122221122121122222122121112112111121212222122122212222122221221122112121221112211222221221212221121211221111211211121111112122221221111112112221112122121122122222221112212122121222122211221222121221222111211112221221212221222221222222122211211112111111112221211121222222111121122122212121121212121112122122112111112222212221111221112112122122111112111222112121111212112212221111221112112111211221212212211211222112212221112222221212112111122122221122122211112211222222112112121211212112222211221121222111222122211111122122221221121121112111122222111211111112211212221221112111221122211211112121111112221221211212121222122212211221122221121221221121112112112222112222122121212111122112111222212211222112212112112211212222212111221121122121121222111111211112211212121222221112111122222222112221112112112112112212122221222211222112212121111122112122111122122112222212111112212212112112211212122112111212112121122221211211112222112212121212121222112122112222211121112212111212111221122121212222221222121222211121222211121221212221212221222111112111222221211212122212112111212122211222112221112121211212211222212222212121111211121222221221122112211111211221122212222112221212222122122222112221221212121111121121212221111222112211122221222212122211211121112222122221222221212222221112111122121222211211211221111212212112222121122222212112222121211122222222111212121111222122122221212111121122112212211212211211222121222112122221211112222121212222111221121222122121112112111212122112212212212222121211111221111121211212121211112111122212222211211222212212121112121111111111211212212111221221112221121212111221211211212111122222211221211111121112212111222222121211211112212222111112111122122111121122111211112111112222121221211222211122122122222121111211122211212212212111111122111112221211121122212112222122112212221122111111222222211112222211112222212122222211111211221222122212121221121211112111122121122221212122111221111212221211221111122111122112112212222212222122222112111112112211112121121212222121211112212112112222111211122211222221212122211122222111121122211221221111122111222211122211121211122222122122111111221221221212122122212112122111212122112121222211121221211121221222122121111111112112212211122111111222122112222111122112122122221212122221221112122111112211112221212121122222221221121121211121212121212222112212111212212121121222121121112121122122222212112122211112212112111111122121122121112111222211221221122212121221222212121211222111211222211122122222212121112122121111112122112112211212222122121222121121212211211211212122111212221111212222121211222111121222121212111221222212111121112222211211111212222221121222221212111111211212212222212221121211212212111212121222221211221122221222211212111122112221211212211212111111221121221222121222212212221111112122212122112222212122222121112222121111112221121211112111122221212111122221211112222121122212121221122222222221121111122111111211222121121222221121111111211222111112122211211212122121112122212221212122122212212111221222222221121212121221222211121121212122211122211211122112221122212121211112211112121222111212222212211121112111211112212111112211122111121111222221211212211111221212111112111112122212111121211211211111111121121211111111121212212221212121212211122112111112122121122122211121111222211221211122111112212111212212122222212211111122211212112112122221111121121212211211212221111122211221212121121221121212221112122112211122122212211112211121222121121221211211121111222211212221122212211211122122211212211211222111111121121111221212222122212112111221122221111221222112111222212212112221221211211211121222211212211112111121121221121211111211121211221111221111221221121111112111121111111112212221121111221212111212111111111112111122122112222212221222211112212112112212121112221121111222121111121111211111112122212221212212222121212121112221121222222111211122122222221112111211222211222212111122121111122112122122122122122122111222222122112112121121122112112112121221212122111111111211112112212222111221222222212211211122211111212222211211222211112221121212212221212221122211221112222212221222221121122122121222122112122112122221112122122221221222121112121222211121122121222111212112111112212112212212212211222122212222122221122221121212122212111112111222112222111111222111112221222221111122222111222221121111121222112222211121112221221212221222222112121121111221221221212212111121221212222211212111111121212122222221122112221212222211111211112222212112212221221111122211112111111212212121211121222212111122111221222122122211211121121111112221212112211211211121211222211221212212122222112112111211122221112211221212112221222222112112112111221212111112111111212212112211221221222221122211111222211121121221211122211111122121122221211212222221111211211121111221212111121212122212112211222222122222122221221112221221222221112112111211222212222112111121122111112121121211112111121222111221112212112222111122222112212122122121121221221121121111121222221221211222121122221111221111122111212122122112222122121221221111121212121211211111122112211212111121111122211122222112212211222212112221221112121222121212112222212212212222121221121111221121212121211222212122221112221111121122221122121222111111212222211121111222212122112212211222222212111111212122111222111222121121221222121111222111122122121112221211221222121122221122222121211222111112222122121212211112112221121211212212111122121222122212211111112122221211121121221221122122112211212211121221212211121222221112212122111221212221222221121221111112112211122222111122222121222221111211222111222221211221111222111211122222221122111121211111222121212211222222121121211212121121111221222122111111111211122121122122211112112222222112121212112221222221112212212121212221212112221112221221211111122112121112221212211112112111111212221112212122112212212222122222221211221112111121212212221122111212112221211212121121211122122111211211222221111112221121112221222122111222121111211221111121221111122112111122112221221211211112212122221122121212211221212221211111112222122112212111122221222212211221111112222211212121212221122121211211211221122212222112121211121211111212211221111121221122222221111112112111222122112121122122122111212211211211121212222221221121211112111111112121211212112222111222221122122212212221121222121121221221112111111121121212221122212122121112211221112222221222112111112111211212222121211122221222122111121211121112111111222221111222112222112121221112122121212212212121122112221111221221122121122122112221212222211112112212211211222222212122222121112222111222121122121212122121211112221112222221111112211121112211221212122211111122221212212121112111122111122112221222221221121212211112121211212211121221212222211212221221122211112222211121222111121121211212111211111112211122122112112121222122112222222112122122222221211121122112211221111221122222222222221222221212111112222212222212121112112112222211212212221221212221111122221112222112112211222112121122122212112112212212212111112211112121111112112212211122122222121221121211211111112221222122212222221211122112122111122212221222122211211112212122122121122222222122111111122211211212121122212221212222111111122211121212221112222221111112211221212211111212111122111222212222122222112112222212212111222121212121212211121212221221121111222121111111111212121211222121122111222112212122222212121121221211111212211111211112212212211121121121112211211111112212111221112211111111112211111221222122212112122221121111212121212122211212212111112221112212121221222211112112221111212121222212212112221212122121121121111112112212212121221211211122211222212211211122211222221121221212122222221111211222111121222221221122111212121212121221211112121111221221122211212211221111122212121122212211212212121111211211111111221221122121221122222212121121222211212111211112112221212212222112222111212222212211112111122121122212221212112222211211111212221112221222111112222112122222211212221111112122211121222212211222221121112211211222221121221111211111112212111211221111122111211212112211221121222111121112111222211122122212212112221221221221221122222212212222212222122222122222112222121112112122112211211111122222112122221121211122221211121222111122122211111121222212212122212111211221221212111211122211111121221212121121111212122222121211111121222122222122112122112211222211111211122212121111211122111122121112221211211211111212222122111222221221211222122212222212111221121211111121212211212212211111222222221121121221112121222122112121111211211121121121111221211211111211211212122121111111121212121121111111221211112122212211222222111222122222211121122211111121122121221122112211121212222221121221222212211112212212122111222212111212222211111212121211122121112122121111211212212212221211111122222112212222121211122212222111212122111121211221122122221221211222122111111221211222112221211221111111121212122211211221222121221212212222221212121212112221121221221221211112221221112212112211211212211121222121211111212121122212212221121211212112222111211122221112122122222112122122211222121212121222111211211112221212111121122121222221122222111112121122211221222112222111212221221211221121211121222222221221112111112121122221112221222121121122222122122212222222212221112221221112111211122211122222222212222111111221112212112122112211211122122211122212112211122212112112121222222222222212122222111222111111121221211122221112122121112112121211211212221111121211112121211122111122211221212122122221121222122211211211122211111111211211211222111222222112121121112112211222122221222112121121222111222122212212221121221121221212222122221221211111111112112112112221212122121122112122221122221122111212121221111221221112221222222122211122122212121212211112121112222111211112221211122121212211112111121122122111222122211122121112212222212211222211111222222121112121112211211222212211211211221122122122222111212211222212222112222211121111212211211221111122111212121211111221211211211221111111211222111122111211122212122222211111221111222122222112212111222222222212111221211112222212222122212122122221111111221212221212211121211212122222212112111111111112222222112121121211211121122222211111212211221121112211111122122112121112211212121122221211221122222221222212221122212222122112111221111221121211211212211221211211112122111211212222111111122112121112211221111221211121122112222221121112211212221222212212112121211112211221122211112222211122112221222221221121122121212221111221122222221222122222222221212111211222222111121212222211221211211122221212111122222121122212221222212112211222121121211221121122112212222211212212121122221122211211222212111122111222211112121212222221212221212121121222212112121121112221221122121222211111222112112211111211212221211111112111111222122212221221211212112221122211121121121112212222211222211211122121212111121122122111211112212121222122222222112212121221221212121121121211122211122212211111121122111122122121121111211111122211211222122122222212121212122221221121122221122221211221221111212121222212112222122112121221121212222122211122122222111122111111222221212221212221211211122211122211121212211121111222122212111111212112122122211222211112211222121112111122211122212221112112112112112222212211122212111111122212211111122122212212111222111221122122222112122221222111121111221221221121222221121211112211212112211222212222221111112221112211112112211221111121111211122121112122121212111222212212221222111122111221111222212211112211112222222222222121122122211112211222212112221122121211111212111221212212112221211122111111211212122121111112211122112211122121222222221111121222122211121222221111122212121212222222222121212121112111122121121112112121221222121222121222122221222222111212221211212122212221221211211211221212111111222112212222222222121122222211222222221212111121122221222121112212221212111221122122111222121112211212221222121211122221212111221211112212122122212121212212211112211111121221212112221112122221212222211112121112212221221211222111121122112221222221122211112122212121122112212212111211111212122212122212111221112112222122122222121121211221211221211122221221222122212212111212211111212111212211112112122112221121222122122112121111121212122221111221212111122222222212211222221121211121211122221221222212121212221121221212212111112122211221211122222211212112111122111211222211211222212211111121111122112121222222212221111112112211221111112111211222221222222222112222212112212221122211122121212211221211111112212222221111211211122222222121122112221222222221222211212112212121122122222212221112212221212111121222111121221112222111221122212111211121111112122122211212221222111211122112222212121211112112112112212122222211111122122121112112221111121112111111221222121122222111212212212121112212111111212211221221222121122221212121111122112211111211212122122112122222221222112221221211111222121221222111222221212211212221222212211111111121211111211212122122121111122212211111122111222122211221122211221211212121211112121121112221222211222121222212121121221121121121121222122211112122121221122221122112121111122121222221222221121221121222221111221222112121111211112221212211211121122211111121122212221112221222211111121212212111221122121222222222222122212212222122221111121221122121222122121212211222122122212111121111221211211112212221221221121212112121111222212222222221122122222112222121122212222222221121122211211122111212211222112112121112212222112211121112111112222112112122222211222212221121111112222212212111211221121211122122122111222112121112211111112112211122122112221121221221112221212222221112222221111212112222112212222111222122112112122112222221111221221221121121211121211222211212121221122212121221122112221222211111122211211212212222112121121221211222222122221221111121111122212212122221111112222211121122111212112221212112112221112212222121211111122211121121222111211121122112111222211112211112122112221212221111222222111211121121221112221222121121121222122212112211211122211222111111222122212121222112122221222121111222111221121212112122222212212121111212221111111221211121211111122211211222221212222211211112122211111212121221122112112212111222122212112111122112212222212122111222111111111111221112122221222111122121122221211121221211112221211212122222122121111122212211211222221221222221221222212221111122222111122212121122112211121121122221122221111221112211122222212112212122221112211212222122111212222211122111212112112221222112221222111212112121222111221111222111112122211211221111112212121212212211112121122222111222222122121111121222122111212122211122211221221211111112122222222121211122121212211211211221222222121211212221121121211121211221112121211211221112112221211112121112212221121121111121111112112122221221221212212111221111122221211211111221221212122111211121112212112122212121122221221211212122211121222111222112221121122222122111212111222221122122211221122122112211122221212112121122212211211221111211112121111121222211222212122222222212221222222121221222212122122111211221112222112221221211222222122221121111111121212211221122211111211112211212111212222212221122211211221211211112121211212122112121112112222122121221221122211221222122222111221211211111222222222111112212221122122222212112112212111122111222112111222222121212211221221212121221112211121222111111111122121211112221211212211212221122111221121111122112121121221222221122211111112222211211111221221112211212212222212121211121122112211212212112121211212111122212111112221121222121121121222212221122121222212212121122121212221111221121112222112211111211122111112211112211212221212111221112211111221111211122111211211112111211122221222221212212121121222122121221222121121111212121112111112221212122122211121122221122221212211212121122111212112222222211111221212111112111211112222212122121122212212221211211211122122222222212221112122122122121221211211111211222121122221122112212121111122212111122122121221222221212112121112121212222112121112221211122222112122122221111221222221211222112112211122212222221121222111211211222212121222121212112211111122111222121222212122121211111111212112121122111122122111121122112121111112211211221121222212222111122111111211211112121112222112221222122221122122121122212222112222121221111212122122111111222211222112111211222121222122221211111211212111211222211112211121122111221121221221211222122121121122221221121122222121122212222111212111212212112211111212221222122211112112221112222222222122122112121211221121211111122212222212111122212212122121221111211121112222222112121111121121122111121112121221211121121111222112211112221222221121122122112212112112211221122121112121121121212122112112211112222222222211222112222212121111222122122121222111211111111222121111221212122122112211112122121122122112211222222222222212222212122212222221111222111112122122211222112121111211111122111212212222121211121121211122121122122212212122111222112221111211211212112222112221111111221111121122111211211112111222211222111111111121112122111221221112121221222121111221222111212222212221222121222212111222222122212221112112211221222122222211222111111222122112111212221122222111111122112221122112112111212211211121112212212212121222112111222122221222122221121121122112211212111112121211212121222222122212212212121112222211111211211112211111212212211211121122111121221121211222221122112212121121111222211212111112221211211211112121222111112221122111121222212111222121212222222212122111212122122211212121112221222112211211122212121221222111121111211122122211212222112121111212221112222111222211222122121211111211112111121221222112121112121121122212111112222221121211111222112112122122111211112212221112122211222111211222211111111121112121211111211112211222221112211211222122122222222112222211221222121222121211221111112222112222222212111111212122212212121211222121111122221122111222221111121211111221122222222111121121112211122222112111212212121212211221121221111211111122112112212122122221111222221121222121112221221112212121211111211211211121121211221112211211222212221221222122221211121221212122121122211121221122222222221122222221121112222222211112111121211122111212212221121112112112122122122222222122122122221111222112221112111122221111122221122211222111212221211111111121212221122121122112111121211212222122111212112211112111112112212211211112112121112222211111212221222112111111112122222211221212122211111111122112212221221122121222222122222211122212212221112111112121121221211121121222122222222122111112112112111111112211121211122222112122212212221211212211111221221212222122222221211111121111112212222121121122212122211121221122222112212122222111222221112112212111212121222222112222222212221221212121122122212211121221222221111121212111222112121122211112221222212112111121112212221121211122212122112211121121211122211121221111222121111222122121212211111111212222111222212221212211222211111112221212121111221122122112111122221221112112121112121122122112221211221122212112121221222212122212122222221111212211211221121122121121121112222111121112122112211111112111112211111212222222211222221112212122221121111122112211212112222211212221221112222121121121121211111212111122121212222111111122221112112211221112212122121112212121112222211222211222111222112212221211121122211112212122121212222212221122111221221222111212221211121222112122212112212221211121121121212221212222112111112211122112122112222122221221111221212212111222222221212111121111211112222111221221112221212112121122112122221222122122212212221122122221122222122211222211111221111211222112222221212212112211221121122121222222211212221122112111121221112221221222221112111121112121122122211211121111222212221222111212221211221112221211112121211211112211112221222221212112112212222212222222122122121211122111221222211121121222122212112212222221111222111112221221211222222121211221212221222111221221121122222211211121222212222222211212121211212222212212112121211122121221221221111112122122211211111122211112111212111121112112222212211111121111112121212122212112111212121222121122212112221211122222221212222111221121121111212112121211221111212222212212112112111211122221212211211122111122112121122212212212211111212121222122111122221212111112221212222221212212112111111211112122212111221122222221121211111211211112222111212122121122122222112121112211111112222121211112211121222211222122122221212111111221222222121211221211112211212211222221122221111112112221222111221221212112111122221111221121112221221212212121122121122112221111221111211121211122212121222121111222222122121112221111121111112122211211221111112121222111112112122212222122121121112121212122221211121111112222211211222122111212212212222211112111112212211221221222211122112221222212121121122112221121112121112121111211222122112122212111212212211222111221222221212212112222111221211221211222221211222122112121221112122222222212122221121222111221211111211121122112112112112221112122212211212212112112112112121211122122211222122122112111222122221222122112212111222111121112111222112212212111121211222222122212111211212112111221222222111222111211112222112221221121211212121111122211212212222211122121222212121211111211211122112222221111221212112111111211112211222221112121112211222212221122222121222112212121212221111122111121112111111121112112221111222212121222221111121121222111112212112121211221212112122222112221112122122211122121111121112212211121212112222112121111121221221111212121212221211122212111122212222112221121112121221121221222212222112211221221222122112122121121212221221212211122221121112221222221211221222122211222211212211122112211121221212121221221122211121121111221122211112212222112211221211111221211212211211212212112211112222111211222111212222221221112211112222212222211121212222222122211211212112211121211222122211111122222222122111222211111211121221211121212212111122111111121211211221212212111111211211212221222212221122211221212112212112111212221111121121111221121222211122121222221112111122112211211121222222221221212122211112221222112111221222221112222222221122221112112121122111212221221211121222222221221122122222221222222122112222111121112211222111211211212211112121222211122211211212112221211212211111111211111221121221111212112121122122112211222111122221211112211221122121122212221221121112122122111111111121122111221211222221122111111122112211112222112221121112221111211111222222222221222212221122212211222221121212111112122112111222122221121222122122211212121222221112212211221221212211112221112121212222211221111221112122222212111222121212111212121222111222112112111122221211211111221221222211121212111122222122222221112221121212122221222222212221111121112111111222221122121121111112211112221211122212211121221121222221212212111121221222212121111112122122111222112211212212222122222121221211222122122222211112221222221111122221121112121221222112221221212121112112221222212111121121221112111121121122222211122122212211112111222121112211121212121211212211212221121211221122111222211212222212222122222112112211121112111212111222221222121122212122121121122122221212211222111112221211121221212111112112122222221222122111211211211122221221111112222212211112122211121222211222212222211111112221111211112121121212122211111222222122212212212222212222112111121221112122221121221112211212222212111112121121221112222212111122111122211221221211111122211111122222122112222212112221111221222211111222221211122111211112122222112211221221122121112221121122111112111211122212111221211121221221222121111211121212111222112221122211212112111122222222122221211112111122112221111111121121122211222122111212211122221121211222112121211212221211212221121211221122112211121212222211212112121111211112112122121221122121222122212222212112211121221112112121212112222111121112111112111121222111221211222221122221212111121111111111221111222111211212121122121111212112221211222221221111222222111122211211121112122121212212212111222112121222111121222221211212112111221122221222121112211211222112221212121111111121221221111112212211121112212111122221121122122121112112121211222112112221122122122222222112122221122222222111111212211221121121222222121222121222212222112122111122111121121221221222121121211112122112222211222211212122121211221221112121121121222122211111221221222121211111112221111221212221222222121122222211211121121212222121121222111211121122111211212211222211221211112112222222221221121122111111111221211212222122221222222212122121112212222211211212122111221122222121122221211221212222122221121211211221121211112112122221111122212221121112122122212121111111212211221211222122222212111211222111212222212111121212112121221222222222222122111211121221222211222221122222221222112112112111222112212222121212212212121211211112221112222212221221221122222212211221211122221122211211211112222222122221111111121221112112112112121111112211122212221222121122222211112221212222222111211221121121122111212112122112122121111211222111111111122212222211111222222211112211111111121111112121112221122211211222212221221211211112221222111122122221211111121211222121221111222121111121112122112121111112121122122112112211112211122212221112222212221222211121212211122122221122111111212222111211211222112121211122212112221112112112211122121121121111112221111211111222122111122111111122212211222222112222112212211211112121211222121111121222211211111121122212222122112121211121121221211121121122212212112122221222111211211211111212111221211112122121221111112112121122222222211121222122112121221111212122122112222222211211221112121111112121122121122212221222222211122111221121112112121122122212121122121212211121212121122212211121121122221121122222221221221121211212122211221112122112111222221211112111111222121221122212121212121212112221221122221111112121221222222212212112112121222121211222122122112221121222221112112221121222121211111121112111222211212222111211122112111212211112112112122221212122221211221112111111221212212211212211121122112122111221121121221212121121211121111121122122212222221212121111221211212122222112111212211211111122111221112122212112222221112122111112212111112211112222111111212112211121221112222221112122222222211211122122221212222211222122212112221122212211212122112122122222112111121112121222222121122221222111212211121211221111222212111211121121121212121221111221121222221112221121211121121221222122212221122122121221222121121221222121222122211122222211211112212121121211121211122221112212211122211121111121121121211212111111212112222211222122122221211211111121111111111122211111111221222221121121111211212211211112222212122221112112212121111122212111112221111211212111111222112222121211222222222122212221222212112212122112221111121122211122211121111122121222121121221112211211221222222112221211221222221221112211221211221121111121122211212122122111121112212212222121221222121212222122221212221222121112121111111111122212212122111122111111111212111112212212211111121222121122212112222112111221222221211112212111221211221122211112211122221222121212222211122122112222122121122222211222221122212111221221111222222211221212221111222221212221212222121212222221122111112121212212121211112112112221212122121121221222121111212211212111121211122222221112111222222112122221112211211111111122122222121211222122112212112211221122222221212122222112122222111112111121212122112122111121112212221112121111212121222221112221111112121122121221211211221111211222122112211122212212112212212122221112121122222221111212221221111211221211121212222222122111222212222122122112211112221211221211211111221211122122121221211212121122211121121221222112111211121112222122221122212121121211222121211121122121211211211222122212111112221111111221121211121212222121111122112212121212211121111121112211212111112212212121122121122222112211211221111121121222112221112122122211222121112121222222222222222111222121122122211111221221222211211121212122221222122222112221211222212111222112212221111111222111122211122221121111112221112212122111112112111221211121212221221211211221211121221122112221122211121211221212111121221211121111111222111212221122211212121221221221221221222122121111212222111212121121112221222112222112122112212221121211221211222222212112122212212212221221122211211122122122221122122222122121211211121222222111112212211211122221112111221211112222122121212112112212121212212221212222211212212211211111222111212211121221221111121221112122121211121222221111211222111222211221222221221222111222211112221222212222211112122122111221122122211221122221222212222211111222122112211221122111121111222211122122221112121122212212122122222122122221212211122112121222121211111222112222212122211212111121211211112222211212211121211121222211121211121212121211221221112211111111121121122112111221222111211122211122112111211212121122211111122111212222111222111122212112211211222222221222111112212121111221221111122211112211111212111112211111221112221111121121111221112112122121111122122221212112112122222221112122222211221111111122221111211222221111222121222221221111212221111211112122221211122221211211221211211221221212121222221212112221212122112212221221112221121222221112211122111122112211211221122212112112222212122121212112221122111212211111121111221121212222222121111211121221211221222221111221121121122111211211111211122111111222211121222221122212122122111222212211111221112221222222222222212122112111212211111212221221212111212222211122121121222111221112122121212222211112212221122121211222112122121211212212111111211211112211121222211222112111212111222221221212221222212122111212221111121121211212121221222222111221112211121222122211221111212111211111121221222112122222212111112211112221221121112121112222112112111211121111221211111121212111222222112222122122222221121122212121222111121212212211112112212121122221211211221211211111122112122212121221211211111221111221211221122112112111122221221111112111222112222221221121221121112221212221221112211112112211111112221211111112212111212112211122112212111221212122111211221211222121211122222212112112222122122122122222121121212221211211212212221222211221112112212222122222211212112222222221112221111122211221221112112121112121212222222112111121122111112121212212122212111211121112122212212212112221211121211112221121111122121112111221122221111211121211111122122211122112122212222111221221111111222111111222212122121112222211211212222222222121222211111122222221111222212212121222111111121221222222122112122212121222222112211222122111211112221122211111122112212111111222222122122112221212112121111211212111221122121212122111122121121112112221222112112212122122112211111212222112211111111112222121212212222112121211111222112111122211121211211222121111122222122222122222111221212122121122122111212111212221212211111222222122222222121221212112211111212112222121211122222222121121121221112122212122222221212212121111111211221221222122211221112112112221111111211221222111111111221222122221222221122121212211211112112222211122221222221111121221121112112111222221121211211221211121121121222211221211112221122112111112122222211212112211222111212122121211112212222211222221211221212222111112221112111112211222111222112212222221121222121112122212211211121222111112121222112211112112212212221221211111112121212222222111121212111221222121122111121222111211112111112111111111211111112221121112111112111111221211122111222112212112221211222212112111211211222121221211222112222112222211211121112121212122212111222212221221211221112222121222111111112122212211111112122121121121222211222221221111211211212211222211112121112112111212222221222212121222222122222122222111112122111111122212211221112221111212211111211122221111121122212112112122111122112212111211221122211111212212212222212111212221121221122121112222122121211112222212221122112112112111222221122111212122211221221222222121121112122111112112211222122222211221122222122222222121122112111221222221112221121112222121212212211222122211121222112222211211222211211212211121212222121212222121121121212121111111122112222121221121222221212221112221121111211122121112221211211222111122121212222211112121121112111221211122122221122212222222221222112111112221111121112122212211112121222222111212111211211211222121111121212222122111221121212111112122211122211212212111111122221211211211121222221211212121122221212212112221211222211112111111222212212122221121112222211211212221111111212111112122211212222222122111211111111122122211112122211111111122112212112112211121221222121212212122211122222212212111222211212111221122111122112122111212221112212221222212222122222211122222221212112211121222112221112221112222112222121122222221221211121211211111212122122211122111121122121222211212122211211222211211121111211122211221212112121221212121211121121211222221212121222111111211211121111221111222121212112212212121122212212121122112212221121111211222112221121221221121121222111221112212121222211211122222222112221222122121222112221221112222212112221222221211221112221122112211221221211221111122212222222111212111211211121221212212121212122122212111222111212211122211221221221111111222212212222111112212211221212121222121112111111122211222211122221122212121221112122111221212122222221212221212122222121121222222111211111222222211111211122111121111211122121221111221112112112121112221122211212121222111221212112221111212122122211211212222122221211211221121122221111222112221111122121111212122122212222121121112221222122212222111111211222111222211221121111222112122122112111122211211122112112212211112122121212221221222112222122111112212111112222112212121212111221121212212122221122111111211221112122211221111221121222112111211222221122122122122212221222211121112112111211121211122122221222111112222121121212112221112211222122111111211221111112112122121112211221112111221112111221111211222122211221122222221211122221221212121211212121212221111112211122121212122211221112112221211211111121221111221221121211112122122112111221121212111122111212222221212222212111111111221222222111121211221221121111121222121221221222222222222222212222211211112221222211211121122121212121121121112121121122111222122121112211211121122122122111111222211222122222111221221212211212112111112212122211212112122222122222112111122221222222121121222112111122122112111111212121121121212222221221221121121111221122122112121222112111211111211111221111221112121122121121112111111111222221112221212122211221121211221211111212221111111222222222222212211122112112112222111212121111122211211112111212112211112121112212221122222122122211122221121111222112121112221211212121222212122111212111212222211221221122111221122121222221122121122212211111222221222121122122112122222211122211122121221121212111112211211221221222122111222222122112211211211112222211111211212222221222211111211121121211212222122211111211222211121212212112212211212211211212221221212121212111122221221221221221122222222211121221111122112221222112122212221211211212211211212121222211211112222121121111212112121112111112212221111221112222121211222211222212212122211112121122112211121222221112111212211211112111111211211222222112121122121222112121222212211212112111121111111122212122122222122121211121212122121112122211211222211212111121212211121212222212221112222121222111122212211122211211111122111222222111112112111112211221112221111222121122212122111222112211112122111121211212221121112222111112221222111111212211212111211121112112121122111212212222111122212212222111111212211222222212212122112111221122111211122111212121112211222111121122111112111222212112211222112221212221222112112122112221211121122112122221222212221111121222221222122122222222221111112121211211221211111212212221112111121122212222122221222211212222211111112221221111211211122222212212212211111211222122112111212112222211121212112211222112211221112221212112112221121211112212211122221211212222211221111112111112122211121112112211222222211112112221111221211112121222122111121112111222112211222121122121122212121222121112121121221122222122211222112111112222222111111222211121221222111211222111121222221111112121121121211212212121222111121221121212212221212112221221211121212212222121111211212111121212121222121112212221111222212211221212111222121221112212121121121211221112122221122211111121221112211212121122211221212211221112122121221111111222122122121112122222111212211111122222111121221111111212221221211112111121221221112112211211112112121221112221221121121111111112212211111112212111211112121121221112222221211122212222211212221122112222212121122111221112211122211122122111221121112222121112222212121112121121212121211211122122212211221221212122122111112111212121112211221211111121112121111122111122211112211222112211112211111121221121112121122221122212111222111222211222122222211121122221221111222212122211212211121222121121121112122222111122111112122121221111121121222221121221211222221112111212211122121122222212212122211211111221211111211221221122211222221111212222211122122221222122212222211221112221121221211111212111112112221221122122211212112122211121222212211211211122121211111212111212121211211111222112112212221111221212122112122122212221211211121222221112111212122111211211221112111212211112222221211121112221222221222121221211221212212121112111121212122122222221121122221222121211222211121212121222111111111221221221121111121121122222222111112111221211112211112221221222211222112111212122211112211211122111111111222221111111211221222212222212211211122212122111211221212211221112111111112212112111122111121211121211122112122112112112221111112121211211222212112121122121122211122211121111111111111122222221222212211221212212112222122221222211211121211112121221211121112221212112112121221122112112112111111211111111212212111212121221212211221122212112212221121222221121112221112111212112111211211111211122222211222211212122222212111122112212221111211112111212121121212112222122222221121121112112111211212121111212121211212211211112212122222212111222212122112211212112121212111221122221121121221112211121122212211211212221222211222121221222111211222112111111212122122212122121211211121112212122211221112121221221121121121211111221122122222221211222221122212111222122222221212221212122221112212122111222111211111212222111121222221212212212221112222122122111221222122121211221222111211211211122122211111112221121222122222211111112121121111111122221222212121212211212112222112121111122111121111121121122121222111121211121222111122222212122121221111111221211122211211122112212221212212222211121221121221212221222221222221112122122121122211122212211211121211111222212211122212212122221211111111222121222221112112212212212212212222112111211212222112112121111221122121111112122212112222221122221112121222212211211122111221122112221212112121112112111111111221211221111112221212212212112112211111122121222221121221212111121222211211122121122212112112222122122221112211111211212211121112211221211111211122111122222211221221221221121221211121212111222122122111111121122112212112111112211111122211211111111221111211221222112212221212211112122122222112222121211212221111222122221222121211122121211222121111212112111122121112222112212111221121211221212212122211212222111122111212222212222212221222121221212222122112221212211211121122121121121221122121221122211111122122212222111112111111121221221222122121211211121221222111212122212122222111121212211112221111212111212221222121211112112121211222111212121111122111221111222111111122221122221112212222211221221212111211211212221121111112111111122122112122222112121112121111222121211112211111222121222222112222211111111211221121121222122222212122221222111111222211222112111111222212221212122221222211111122221212112111112221111211112211222121212212112121122212111111221221212222211112122212212122111221211111221122111211222212121122112111212211122211111212212111111211222221112221111212111122212112221212212221211222222211212221111221122122122111121122111122222221211121122122111121222222221211211122222212121222222122111112112212122221212121212111212122112222121121112122212222212121122112112211121221221211121221112121212111221221122122111112121221212212211221211212111212211122221112112221112212121221111222222211221122111121221111121212121112112121112222112222112111111122222111212212112121112211221212221212222212212221121212121221122211111122111211212122211111222221111221112112212121222122222121222222221112112122111111211121122212212112211211122111212121212121211111211111211112222121111121121121122211121112222121222112112212112211112122111221122112212212112222221122222111122111212222121111112112221221222111222122112212112221111112221111212212111111222122221221211222121221122222211121111111122211122221111112211121221221111111122121112111211122211212112122122221121221112211212121212222221211122121212122111211222112222111211112212122111112222212221211211122221111112111211222212121221112222112221212211221212122121121112122211211221211222112221211111211111212211122112221212212212112222221122111112111121222221211111221221211122221122121111122211122222212112211221211212111121211121212122122211111221122222221112211211111121122211122112222222222211112222211112121212212212121111222211221212122111122211112222111112211122112111122111121111222112222222222112112211111111212111121212212221121212211211112122211121111112212111221222112121121112212221212211212222122111211212221222211112122212121211222122122212121222112222111212121122212122112111122121222112212222121111211111121212221122111122112111112212221221212221121112111121122111212222211111212122111112211221221212112122222121221112121221212212122121111121121121211122111212112122112121212121211111111221211122112221122222211111121111222122111111121112211212122221112112211211222112212121221212222112122222121112112222111212221121122122121212122212112122221111112222211121212221221111222211122111122212111221222111111212121122111222221212122121121122111111211112221112122111111211212111211122111122221221111222122112121122221112122121112211112221211211121121222122112211222211112211212122211121121122122211111222221121122121212211222111121212211112212112111211111221221112211112212111111221212211121212111222122211222122112212112221211212112121112122111211212212222212121221122211221221222112222112111111122212111221211212211212112122211122112111211111221211222111121222112112211221112222112122221222111112122121221122221122112221122211122122122212112221122212112112211112222221221222112211212212212121212222121111122121211111222211212112122111111222122111122221122122211212211112222221221222222212212122121211221122212112121222222121212212221222211212122212221211112221221211121122222212211211112111111112121222111121112212111222211212222111111112212222211121221112222212212111211221212122122122212121112221221222222221222221222122211222121121212211211121122122112122212121212221111211212112221122112121121122112222222122121122222111221112212221222122121111122112212122122221122122221111112122212212112222212112122122122221112121121112222122111221222221121111122222221211122221221212222211112211121122122222111211212221221122221122111111211121112212222111221121112211111211112211122211112221212221112221211212112111221111211212221112222222112112212222122212111111121212222111212221121121221121111221111122211121112111122122211112122122121212111222212212211211112122222221111211221221211122121222212222111221222121222211111221112121212212121221211211212211211111122221221112111112121121221221121221211121122121221212221122221221112111222112211112222121222122112121221122222122111111211212121221121221222111121211122221111121122211211211122222222121212212222212212121211221121122211212212211112112221112112121221122122211211122122221111222212112212211211111122211212221222221221222221111121222221112121222221122112211212111121222221221222112122211112211121222211121211121212211122121111221121211111222112112122221122121121222122112112222112111121211221121122112211221212121121221212111121211111122222112211221112111221121211121221221222212121121121122111221221112112122111222221121222122122221122212221222122122212111112221121112212111211211222121211112222122221211221121222211122122121122111112122112212122212211212222212121222121112222111211111121221111111121112121111122212112222221122222221212222111212222211121211111212112221222212121221222112121122111222112111221112111111211212111122112221112211211122121111212112222212221221212111121112211122222112222121221121221221121211221222122121111221221111221112111212212121121221222112212221212221122222222121122122221122221121211111122112211112212211222111221211122121221222212111112222212112122211222222221121112222212211111221211212121121212222111211212111111121211122212211212121212112121221122121122122211222221222112211112221121112212211212222112211121211111221121112212112212112112122111112121211122222111211222212121112221212211111121211211112221121111212212112112122221212121112222211211211221121122221211222122212211121221211122222222112222121211221212222122212112122222121211121222211122111122222212211211222212122111221221212122121212121211221121212112121222221212122112221121111111111212222111212111122111221121112212121222111112222112111112221212221212221211111112221111121121221212112111212111221222122122212211121121212121211111112121121221222212112221112211112112211121112111112211112212111122211211122121221222212222211221222111122111121211221222211221111211112222222222212212212111212112222211212121221222212212221212122111221211121122121211112121221222112212122222212121221121122212222212121121122221122112212211122221211222222111122221211221211111212221212222122112122112221222111212221212222222121111121221121211211111122221122221112221112211212212212111121112212121121111221221222121222122212211222111121211111111221212221111122112111121211221112112122112111211222122222211122221222112212211112121212211221212121122211212111221222121212212111211221221112121112122221221212212111111211121121211221212211111221211111211211221122222221112212112111112212211211222211221222221211121112211122222121112212221122111211222111212121112221111222112211112112111211222222122121212222112121221221221112222221212121122122121211121122222222121221221222112121121112221222212212221121221112121121221122211212212122222112221211212111221222221212121122211212212221122111211112112212121122222211222121222211111212222121111111122121212122122221121112212122221121212212221111122121111112122212122211222121222222112121211112122111212111112112221111111121222221111212221112212222111121221112211211221212122222221211122212221111121121211121121222211112212211221211112222212122112111122121121122122221122111111221221111221111212222122211121121122111222211222111111121221212222111122211211122112222111212221212122212112221111221112212112111112121121112112211211222222112121212121112222221212122212121222222212222212222212221122112212221211112122211122122111212122222122221121221212212121211221222121212111122211111222121122221121122211122112221222111112222211221221122221221212122121211122222212212221211222221111112121112112211122121121111121111212221112121112211121111221121211211222112212112111211221111121211212121222211111111121222111211121212112121122112222111211221121222212222222111211221211121121122222211111112121211211212122111122221111111121111221212212212121211221222111112121212121221212111122222222211121121221221211121212212212212112122221222112211221211121111221121221112112211122221221221121222121122121211212121122112111112211222211112222212222112122122111122222122121222112121221122212222111121211112122112222221212212122122212221122221211221111221221211222122221212111111112111222221211221122121221221211212222212111221212222112212122221212221112121111221212212212212222222111112111212211221222221121212221222121121221122212221112222222222222111122122121221122112112211212221112221221122222121222211212121211121222222112122211212211111221112111121122211112221211211222211112111122121122221211211211221212221121122121111212111112111121111121222122211221211212111222121112122211211212222211212212121221111211211221222121221122212211121221121112121222122221111122111112211111212211212121222111122122212222122222122221121112121111221122211221222112211121122211221112212121122112211112112121212111222221112122212211111211221212222112111111111122221112222222112222122111111111112221212121221112212121222212121122222112112122122212212121121111111121121121221112112221121211112211112112221222211121222121221211121112221122221121121222221221221112212122212212111112211221221221112121111222212212221112121211212122221221211211112121122222212221121122221121221122212122111222112212222122121111122122211121222121212112112112111222212221211122121221212112222112111112211212221111221212122222111221222222222212112212121111212211112212121211122221212112221211111211121222121112112211212112121122221112121222212222111211221111221122111112111211111121121212122221211111212212222122111122222122111122121221122212121122112121111111111211121222212212111211212212111222111111121122112221212222212112211221121221112122221111221211222111222211121122211212111111122112121222212221121112211211212122111221122211222122122221122212212222211222211111112212121112222221211212122122111221221121221212221212211111112211212221221121211112211122111122221212112111122212211221121121112212221211212111222221112211222122222221212122122211121212211111222111221122121211221222121211121221122221111121222221211111222222221212211122111212111212221211221222111112222211111111221112122211122221222111221221112121212212121211212122211111121212122221121222221112121221112121222121111212221111211211222111212221121111222112211112212122212111112211211121212112222221222121222221222211212111112111121211122122112122122211121221111221222221221121212112121111122112211122222221122211122211121212222111211212121112221221121211222121111212212211122112121221221222221122112112221211212221112112211222122222212221211221122212222221122211211121221121212121211121112111111121211211212121222221221221121211121212122112222122121221212222212121122121222111122222211111112122111121221112222112221222222121121111122122211111122221111111212121122121221221221121222121222212111211112122222222221122122112121122121111212221222121112221111122111211111211211121111222211112222212212211122211122111112112211211122221112121222211222122211212121122221222221111212121112211211212211111212122122222221212121112122212122212122221221221112112121211112111221212112122221212211111222121211222211121122221112212122222121211222212111211122212222121221122212221212221122121122211112112121222222122221221112122122111212212211212111221221122122222121122212112211221111112221121211211212121112212112221111111121111112112111111222121121221222121121211222211221212212111121112211212221111121111121122121211221121112221121121111222211222212121111221111211222111111221221211112221221112211211121122221122211221111112222212121112221211111221112111212222122211212121121221212222221222212112121221122122111222222112121222112111211211221112111122111121111122112122211122222112211112121112112222122221222121122121211222211221111122212211212111121222112112111211121221222111122112122212112222212221122221122122111221221111211222211121121221122221111121111112222121211122221121122222121212222222212111112112112211112212122112211221212121112212112112211221211112222212222212111121211112222212212221221221122112121122111222212211112221221222221211112112212111211112212212222112222222122112111121212121111212211112211211222122122211121212111122112122112221121212122221222121121112112112112222122112121212221121122211111222112112222221111222122122221221121221222111112211111221122222211212222121221111122222122222212122111221222211221222121212222122112221121122221121211112212112121221221212222212112222122122222122211222111122212222212221222222221221211211211211121212122222221122121111122121121221221112112121111121211121222221121111112112112221211222111112212111121111112221111221212212122112211212221212111122222222212221122121112222122212111212121212221121221221212212211112122221121112212211112221112212112212111112212112222221221211112222112122111212221122222222112212112221112211211211112112112211211122111211112122121112122122211112121211211111212211221111221121221111211212222112112212222121221111212121112122221112121222121211112122122122112212122122121212222122211211111121121222212122111122221221122121122222111222222221211112122122212222212212212221211221112212222111111111112122112212112122121211112222221121111211222122212112211121221122111122111121122222111212222112112211221122112122121211221121111111221212111222211221111121122121222121211121222221222121111121211222122212221121212221122111211222121111222221221212112211221211212121112122222112112211212221211212121121122112121112121112222221212212112212111122112122221222122112112122112221122111211111212222111212212211122221222122112222111111112211222222222212211212212112122122222111222111111211121121222212212221121111221121222112122111222222122111222112112221121222221211121111111121122211111122211211121111122122122112112112121112212121122221121122122121211211112212111111221112212221112121211211221222211221121221112122222121221122111112111221221222221222112222212111222111122111112211112122111221222112221111211211222111122222212221122122121212212222111212122112112211222112122121121111212211221221111212112222112122111222121222112211211112112121122112221212221121211112122121121111212222121222122221122121221211121222212211122211222221212122211111212222221112112211212121111121122111121221111221222221222111111222121111211222221111112221112212222212121121112212212211121112222212221221111211222221221211122111212122211121111221122112121212212212212111222122211221221122111211222211122221121112212212112111211222222211221212212222222112222222111112111111221222112111112222121222222121211212222221221221112112211211122221222211222222211222222122111111122112221211111211122222212112212211222222221111111121111111222211111221121112121212111211111122121111122122212221212121222122111112221122121111211122212212221121112222121122221112222111111121212121121112122122212111111211111222211112112112121112121121111111122221111121122121222212211111211122121122212211122111122112221211112221112212122111212121221111212111121212111111212211111122212112211111121112112122212122221111112211111121222212211212211111221122122122212221222122221122121221212121122122222211121221111122221212211112211222212112122111221221212211222122222221212212112122122122211122122222211121122221121121221222212212121212212121222222112212221121212121112112221221211111121112112222221222121112122221212211122112212122211122212221112111221211212211221222222211111112112121112211112111112121112212112211122211222122211111122111111122112112122112122212122111211112111212112122122111121111122212111122212211221221221212211121112211211112211212121112211122121212211222221211222112222211121221121121111121112111112221222221122211112212222221112222212222221112222112111111121111122111212122221122211112211222212122211122121111221111211112112222211122221221211111111121121212121222121221122211221121111211211112222221111211112212222121212221122122122212212111111111212221222111222121221211221222111211112221111111221121122121222211112211112111111122112112121121212221222212111221222122222221211121122121222112122121222121112121221111221112212122211121121222122211222111121212211121111212222211122211221221222211221212122111211111111121111121111221211212111222122111112112222112122111112121222121121121222222122222111121222221112122122111211212122212212111121122211121221122211221122222112212122222111211111112211212222222212222221222121222211121221121112122221111212211211221121222111112122121212121121222112121111111212221211222211211121122221122222121212211222111121122221111222211222121221112121122222122122211121212112222212221222112212212111211211212211122121122122122212221221222122211122221222121122112121121112111122211122211211221112211222111111121221111211111212222222111221122112221211222222111211211122211111122122111121122121121211212212212221222122221112112111121221212211211112211111122111212121112112221111211221211112221221122122211221121221221222222222111212122111221111122221212212222121212122212122211221111221222122212111211211111212212221221112212122221221121211111111112222121222211111122212112211211211122211221121222112212121112122111121121212212221221121112121112222211122112211212221222122112111112122122222121221222121211121211221221211221111112112222121112122111121211221111212211222121212112221122222222112221222112112121212211222121211112221212121221112122221111122212122112212112111111222121211122122112212211122111211111222122221222211222112121212221111121211211122212111122121222122111212221121112212222212122111221212211221111221212222221122212112112111121112121221222221121212111121221111111122211212212111221122122212211121111221112222221211121221111121121112211212112212211121121211111112122222122121112211222211222222211112221212112212211221221121122211122111221221121111122212122122211211212111111111221212211121121221212122122212211221112121112212211112212122222212121121221212212122222112112212122122211211211112222212112122122122111111111111221122221212111212221112212212221221212212221221112121111212121221122212212212212122221122112121221211211112111112112221121111121221212111122222221111121222121212121211222212122121122212122112222221122111212111121211121111222122111111212121111112111212222111212112112212121111111121122211212122122122111222211211112221211122111122221121221221221121122111211122211112112111212212122122121112111221121212121121221212112112221222221111122122111112122222121122221122111222112221112211221111222221221212122211112112112222112211112111111211212112112212121221212221111222211122211211111121111111211112221212222222211122222212121121121121211121221221222222121222111212212221112122121221111222122112211112112221111211221121222112221122111112111222222222111111212121221211111211222212211211222211121122211211222211212122111211112122222122122212222122211222121112222112222221212222112111111211212221122212212211112122112111122221211111211122221112111112212122212221122121111122122212111122121111222212221122222111222222211111222111121121121121122211221111221211111111212221112211212222212221121221122222112221122112211211221121111122212122111212211122111121212211222211212212222212212111112222121221121112222112111212122212211121212112111111122111211112121111222122221122122112211112211221222122212112121121122122121211221221111212112112121112211121211222111122222211111111121221222112211221122112212112121112111122211122212112121211211211112222112222111122211221221112121121221112112122211121212111121122112122112221211212111222212212222122111122111111222111121112222121111211222211121212221112122212122111111222212221112221111121212212112122122222222122112111112222112121211221112112122212212222111122121221221211222122122121222211121211111211222111211211222222122212212222121112112112222122111112221212211111111222112211221221121222212221112122122212112221221122112111121221212212112211222221122222121121111212212122122112112212112221112111122111221111122122211222222121211112222112112122221112222111212121122221121122221122212212121212121211122122122121211111221222121212112221112122221222122121112112211211121121112121212111221121211222111121122111112122122111112112221121121122221221122121222111112121212221212211211211221112121112211122221222222122211122111111222112111111122111221122121221122122212222211212111121222222111221222222122211211221221222122121111112222111121121112212211211221221221211222121121211122212112121121212122222212222111121122222211111112211122112212121121222212211222222121122211122221112222122211222222211111112122122222221122211111121212111221121211212211121111221221111111222111212112121222212112222112222222211122111221212112222122221221122211112121112221221112221121112211111121212222111111212112212212212212211121111211222111222121112111211121112222122121121221112221122222121112122122212211121122121111211211121221122122121122111111211212112221111222211211112122111212111212111211222122212121211112211212111212111222112222121221122112121212222111122112111122221122212111112112212212222211121122112222121121122222212121211221222212121222211211212122111111122112111221212211111222111212121222112221112211121122222111122112111111211222212122122122111122221121221112221111211222212212211212121222211212121112222111212111122212111122212221121211211121112112122121121122111222221222211221222212121211222211212122222111221121221111211212111212112222221221221112212112211112111222211111112212211221221222112112222112112221212212211112112221211121212212212111112222121222221111111122211221112111112112211212212212122222222222222112221121222221221121212211112111121221222121121111212212222122221111221221122122212222222121212121112111222212211221122121111211212121222221212121111222212121122121112111122121211122122212122221222222222122112222112111121212211121222122111111121221121211211212112211211111211212112211212122122111222212222211112112111211212122112211221112112221122122212212112211222212222222212122222212222122122221222211221211211212221221211111211121121221121111111211122111222112222112121122122211211221122111121221212212211212211221112112212121112211221111121112221112111111122122122122122121211112122211111211212212212222121122111212122112212212222112111221221111211112121221221212212211111221221111211122222222121112111212111222221212221121212111111211212122112122112121211221111222211111211222212121222222222212222221221122122222112212121222212211221121221221122221112221111211111222122212111111112212211212221121111211121212122212121211212111121121122112222111122122122111212221221121122122112122212112112222212121122111221122212212112121211211211111212222211221212122221221222111211222121111222221211222111212112122212222221222212112222222211112112112222221111111121221212212121212212122122221111212222221221122211211211212111221122112222221221211212111112121121211222212112212122212111211222121122222122112221122211221111222221212222212121222111111212222222222212111222211122111211221212121111122212221222212221112221211222221121211221121122122121221222121211222211221212222222222121212212122211122122222122111112111211111222211111121122111212211211211121212122111121221222222221121111211212111111112121211121121212111212112212211212212212212211112121111121222122222221111111221121122221121211122221222222122122111222211112222121221111221111122111112212221111112111112122111212212221122122121112212222122211111121121122121221211111211221112122211222212122211112121112221111122111221222122211222222112112121122221122121221212121122112221111121211111121212111121211112111122212222111111221122212211121112222122222211211121221121112122111111112221112122121212111222121111212111212112122121121122112121222222222212222111221211212122112121112121121211222121222211211121112221212122122212111211111212111121112122112222121212222212111122221122111111221111212222111221221121222121121211212211122121212211221211211221221111212111111122211211211211111222122122121222121211221111222112221121212211221222112221221222211111112122112211212111122211121222122221212122121211112111121122111112111221211121111111222112111212112221121122111121221222112122211212211112222122111211222211221222112121221121112111122211111112221111121122211222121221211121112122221111222122212111122212112122111111112221211111112122121111111221112111212111222212211221121122121222211221221121121221112122111222111221222212221111111111111112222122221111221211111112121112111122211222112112121112222122222121122121121111112221221212221121121122121222212222221112211222222121111212122112212222112121211121212111112111122122212222111222221121112222112211211211221121112111211121121221222122122112211111111121121211112221112221222211211121122112221222122111121211212211121222121111222222212221121212112122211221111111122212121112112111222221111212122212111121112111212211121212112222121211122111121112222222111221121112221121221221222122222221222111111211212211112112121221221222221121121121222122211112212122121212121111111211122121122122112221222221121111222221111111112122111212222211211121221211222212122221221211121222112211212121112212122112221211221122112121112221221212112112221211211121211122121111122221212111221211222222221221222111112212121121211222211121112121222121222111212222221221122122112121121122111211222211222111111121122121111122122111222212121121111221221211221121122121111222222112212111121121111121211121112122211212111122211122122121121211122221122221222111121112211211221212221221121121121222122121221112122121111112111211122212121222121112221121221122211111111211111222121112111212121112211222212112221112112211121111111222222121111112112121121211111122211212121222211121222221111122122222121222212111111212211122122121222222112222211222212212111111112212122212222221111212121222211122212121122211211111212211121121121221212212111211122211222212112222221121111222221221111112212222211211111221122212121212122212222122121212221122122112122212211112111111211122222211112111212122211222222211221212221122211111211222211121112122121222121221211111112112122111221211212222122221111122222221112222222211112122122121212122121122221222111112222112112121212222111222121212222222122112122122211222121212122122121122111112211112122212221122111211112212112211121212121111122212112122112212221221122121221211211211211112121122212212112221112121211122112211112211212121212211121221112122111222112111212222111221221212211221222211211221211221121111221111111222112222112112121221121211121221112111222211212222112111211121122222112222211212122222121112212211111111112111211112222111121211111112212221122212122121221222221211112211212121222212121121111221112111121121122121122211211212121121211122211221111111121221212221111121111122122222222122122221112222122222111122112111212222122121211112122221122221212111121211121211111221211122111222111121221221111112212112221111122111122122111222211222211121122212211222111112212221112111222212212212112222111222122111111222111211121222222222122222211222222212121221222121121212212122121211112111222112221222211212222211112122111112112221221111221121221111112211212121222112211112212212121211111222221112112211111222211221222111222121222221222122112211121122112121211112212122211121212112222221112121121222122211122112111122212112111222111212122212122221212111212222122122122221221122211122212112222212121111211122221222221222122122111121122221111111112212212122111112221121222212122211212111221121121211121121221111111221111121212211211112222211122112112121112221221222212222211211121111122221121222222122211211111111211211211121111121211222112211211221211212121221112122112111111122212222222111121221111222211112122221212221212211211211211112221122221121212122212111112211121122222212211211122222211111211221121121222112122222121121111211212111121112112111111211212212121122121121111122121212111112121221111121121111211112221211211111211211221111222221121221121121111122212221121211221121111112212212222121211222122221122221211122222122111111221111122111211221221222211122221211211211212121121121121211212112112221121222112122121111111111212222112221221211121112222212221112211212221121212121212221212122121122222121122212212212212211121221122111112211121112221122211221122111122121212112211212212212122111212222221121122222212222212211112222122111211122111212122112112221211222211222111212122122212111212212222121211212211211122122221222122212221112111211222222221221211121222221221122121121211121221122112121111112111122112222212222222221221211111112221211211121211112112212211221111221211211122211211112122122222112111121211112121111112222111222111112122212121121112122211121111111211212112222112212111121211111121212211112122112111211222212111122221212112211211111222122221222222211111211112211112112221211122111122111112221222112221121121221121211112122111222121212121121122212112222222112121212212212112212111212221112121222222122121211212221222211121111121211121122222111111112212111212222211111212222212211121111122222121211122221211211112112211112212212122112212211212112121111111112111212212212212212121222111122121122121121212111122221122221122212221212222211122111212112222222212121211221111111121111211121221211212122122112111121221211112112122112211212121121222122222212221221111222121222221121122111212112112121222222212122212212211221222212111122212122112221211112212111212222121112112121112211211122222221212122212121222212221121121221222112222211222121122112212121111111221121221211221112221212111112221111112122122112222221111212121111222121111122222222212211112121221222121211111212112122222222112222211212121212112222122121211122112112111211121221222211212222211222112112222112121222221221212222222122212222112211112122212122122111121122121122211211112122111121221121122122111211221222122222211221122121212222212211211212211122121122111211121112112122122121122221122122221222111121122121121121111221122222122212122111121221221212211121211222111212122122121112222222112221122121111121221212112211221121121222212121122211122121211111221211211112111121112221112221112122211211212212111112211212121112121211122222222122121112221111111221211111211221212221111221222111122112121122222121111211121221212112112111112221112121211121112121221211222222221211221112221211111112211212222212121222221221112222112122121212111222211111221122222222211222111112122112221212122222222222122121212122121212121212112222121221212212111112112111222221112222221211211212211211111111112221111111222211211221212212221121211112112211122112211211222222221121212222121222111211211211121212221112122221122221111122112221222222212111111211221212212111112221211111221221222112121222221111112111121111112121221112121212121121222121112221111222222222122111112121221222121221111212122221122222112222111112121221212111122111112111121211111221221111212122222222222111222112111222222222122122221112212211122111112221212112221122121212212122221211112122112222212222222121212121121111211222211122111111221221211212211121122221121222112112212122222222122121122221121222112212112222121222121111122221221111211212221222221221211121122211111222212222111211211221121212211122112111212122112111112221211111122221211221211221121111222212211212212221122122222221212122212212121221121112211222221212122222121221212111211111211221222212121122212121111121211121222122112121112222111121121222211222112111112211211222221121221121221122122212122212221222121112112221121122121121222122112112212212111121122211222121111122221211211121112211221111111211111222122212111221111122222121122121222221122222211222122222221211221211211111111121222212222211112121111212122221121211211211211222112211112122221211122221122122122221111111121211211212122111222112122222212222221211122222111222221111211111211112112221222212111121212221112122222122122121212111122121211122111221211112211111211211121222112222121221222121112222111112121221111112212221211111122221212112111211221221111221121111111222111221122112221222222222111111222221212211212112112221122122111121222122121221121112121212222112211111221111211122112111122121212211221222112111221122212222212221211112122212112222222212222111111121112111112121121112112211111221212222221121212222212221221222111121111221121212121211222212112122112222212212122221111122122222122122222121122122211222112121121112111211112222121121212221121222122111111121121211122212211211221122222211211112122111221121111212212211211222121221211111112122222122121112112211212112122121111111221212112211122122211121111111222221121111221121211111122221121122211211221222212112221111211122111211222221111212222112111111111121222212111122112122121112112211122112212212222222121112121212221111211211222121222121212121121122221112112222121122212111112212111111111211211121121121211121221111122122212122122111121221112111212111111222211122212121111222222211211211111211111111212111122221122222212122212111211221212221112212112222111221221121112112221121221211111211211211122211222122122222111221211112112121211222222222222111122122221121112212211112122122212212222122222112111111111211112221221112112122221211212221112111111211121122111211212122211112122112222112221112121121212221111212122121212121112112111222211121212121122211112121122111221212212111221221221212211212212211122121211212112121111112111211111121111211211212211112212211222121112112211221111212212111121121122111111121121121221121122111222122212221121221122121112112122222222212112211121121222122111111222121211221121121112112222112121121221212211221111111212121112122222221122121111111221121212211221111121212122122222211211122212211122122122221222111112222112122112222111112221211221211111112211111121211111211222222222212212211221212112221221122212211122112121212122221112211222122211212121121221212121121221211122122121212112222111212222111122111111222221112212222212222211211111211112222112212222111121122111112211221221111111222211122111221221111211121221121121111211111122221111222111221212111111111212121122121222112221122122212221211122112221211121112122121122222211122211211121212211111221221122121211122212121212122221221121222212112222212121121222121112111121121212111111112211211222111222222112112222221211112221112222221211211212111122121222221112121222111212212221221212122221222221221122212211112222221121212211211121121221111211222211222122221211211211111222111111211222122222112211122122121111111122112221111211222222111221112112211111212121112222221112211121222222121122221121222121122121121112212211222122221111212212122211222211212222121112211211222111222222121222112122122212221212211222121111121111221221112212121121221112112221111211212121221122222222121122211212112222221211221212121112211221222221222212122211122221122212111112211221222221122212212211222222122112121221121212221111122111212111221122112211122212222211111222212122112111121111221122122122112112211222221121222211121212121111121211122222222111212121122121121111211112112211111112122112111122222221211221211222112211222122121222221122221121222211112212111121222221112111112222222222211222222121121122112112121212222111122112122112221221121222211222211112212211122211121122121212222121121111112212111122212121212211121221212121111111111221112222221211111221122122121112222211221111121111221121221211122111221112121122221111122122111212121122112222121111121222122212212112221121111121222211112211111121222121111221112111122222211221122112122122212121212112212222122112211211122121211221111212112121121112122211212221121222211121211111222112111212211111111112212112222221111221122112211121212122122111121122121222211222122222211222221222112111222212222221111121211212122122121111211222121222112111121121121112122122222222111221221122121222221212211212221211112221112111121222121221221222112221111111212111211121222112112212121121222122121211222222111211111211121122122121212121111122211211211111211122221211221112221212221112112222122211211212212121111221121121222221211212222112212211122222122122111122121212112122122222121111211211112211212221111121211112221111121221212112121122122222122121121122112111212211211122222221222111122122221111222212222111221112111122112112122212112112122211112212121212221111212112121112112211122212112222222122212221111222121211111221221121122222211221222221212111222212111212121111121221212222212112222122222111121211222221222112111221112121121221211122211111121112221212212222212122211112121211122121122212122212222212112111212211211212222212212222221221211111112211212221212112212112111211221121122121112112222221212111112121121121221211112211222121221121112212222112122212212111121122121222121211122111221122121111122221222122122122112111111211111112212212112121112122111212222221111122222122111111221211122222211121121121212211112222121111211221211112122112211111212222222211121221121221221111211111121221121121122222221221221212211211211222211222221111221121222122112212122111221121222211212221221211122221212221111212112211212212212121121111222111212121222111112121111212112221121211222112212121222211221111212222122122212112222121111222212111222221221212211222222112111112221211111122122222121222121211221212222122222122221112211112112212121212211121211121212211122222212122212111121221211222121222211121221121211111121221122121222111121111221212112111211211111112112121211222112112122212212111221111222122222212122212111121122211112111212221222222122121222211221111111212122121222111121211121122112221122222221222112111121222112111211111112111111111221112112222211221222222222211221121112222222222122221212111111111222212121221111212211221111212222212112221121112222122222212212121112111111121212222112212111112122222122122212121211222112221122111211122211211212122111111222111122111212122121222111111211212222221211211221222112112212122121111221222222212222122221221112122111221111121222221211221122212222221122221121211112111211222221222121122121121122211222221221211221221121221222211222111221221211221112221221222212222111121221222112222222122111121112212212111212221112222122112112221112122121222111122112212211211122222212112112211121112122121121112122222212212222222121221122212211121111112122112121122112212222122111211212212211221122112221212122221111221221222111211221111221112122211221211121112211221111112212221111221221212112211121211121121211221111211211122111111211111222222111112212121222112212211121211211211121222212211111221222111122212112221222121221211112221221121221222211211112222211112211112212122122111122122112221212112212221221221211222121112112121112212212211222111222112212111111112122111122221111111221121121111212221212111121212121122212111212222112112212212211112222121112122122221212111222111211222212222122121221111222122111121122112111211112121112122212112212112211111121121221211122211212221111111212112211112121112111212111222212222222111112111112211122211222211221222112221112122222212112212221211222121211121221221111121221212222221121221221112221221212222212122122121121211211112222121121211121121212221221111222111211122111211121122221122211212222212121222121112221121121212211111212212222122211121121212221112111222122112121122122121122112121221211222112222122112122111221222122111211111112222211121222211222121111222221112122112112221122111222212121122112122212221122121122111122211112221121112122222211112121121111211222112221222221212211211211121222112121221222222122121122212112122112122222212111221111221111221222212211211122111111121112111122112212111112112122122222222222112121122122121211221121212121121112111112222122212222212212122222222221211112112111211112211111222111121212121222212212122222212122212111221121122112212212222222212121111111122221212211121212112112212112222111112211111211121221212111212221112122122211112112112122222222122121211112211122112212121111221212111212112211111111222122221221121212111211122122221212122111121121221211211122221221221111112211111111211121211111221212221212121221122211221212111211122221121111212122122221112212222211211122122211112221212122222121212222211212221222221112221211211121222121212112222212221112212222112211111111122211212121111211111212122211212211221112222221111112112121121212122122212221122212122112221112122122221111222111122221211212212111212211112122212122111111122222111121222211122122221222111112212212211112111222222111221212222212222212122221122112121111121211221111112221111222122121111111211121221211212122222221111112221212211211112121221211112122121112121111122212111111122112112122211221112112122111111221121212122222122211221122122111111111212221212211111121211121212112221111222221221211212221121112111211111212121111211111221212211111122122111121222111111221221221112112112111221212111211211211112222112221112122121211221211211221111112221212212222222221112222122122222212122112111112121121111111112221222211121221222211211111222212212121112122221212222211212121211221112221112222112212121112122212222112212121112222122111212122222222212121122222111121221211111122222221221212221111212122211211111222112221121221211221122212121211112122222122121122221222221121121212212212121212221221112211222111121112111121222122222221211211111112221112212122212211111121122111111211121221111222111121212112212222122112112122112221122211212112122121122112122121211111222111211222222122112221122121112122122211121121121222111221212121121112222121112211121121211122212222122211211122121122121222212122111121121121111221111121212112222212212211222121212122121121221122111212121112121222212211112112222212222122122221122112211211121111222222121121221211122222212211212121112122112111222122211212221121222111122221212222222222121111121211122222221221112221212121212111111222212222122111121121222121122112121122212212221221112211122221111121111222221121112221112122121212211121111122212121222221222212211111122222212211212122112222212122212212211122222212222221122221222221211121222221122211122122212121221221221211112112222111221111122112112121212122111112222222121212112222112111111212211212212212212221211111221112111111221122111111121111221221222212112122222112122221121222211221212122222211122211212122122221221121222122222211122211221121222111121111112112122121111111122211211211211212212111112111211221212111222222122111212212212211221222112212211211112222111122222111211112211121111112112222211122112111222122122111221122112222221212222211121121221112111222112211121121122222221122221222212112211111211111212122211122212122212212121212212111111222111121221111111221221221122122121221121212112212212222111222222222121112221112221222122112211212212112221222211212221222222112111121211111221211211121211111211122121211111212121121112112221111121212112111111222222121111122122121211212222211112212122122211211121211221211211222121221222112211111212121112111111211121111222222212112122121221221212122221122111111111221122121222121211111122222221222112221212222212222221121112112111212211121212211221112222121212222221221111112111222112222111222122222222112111111122222111221111111221211212211112221221111112121122221212221121221121121222212222112111122222122112111112211122122112221211221112212122111211221122211122222221222211222111112122121121112111222221212221211121112212121212222222111222222212211112112112112122222111111212212111212122212222212111121111121222111122122222212111211121222211112122221111121221111212212112212212121112222122211212222211121211112111111111222212112222221122211111122122122212112222222212212112222222122111221211212121111122222121121122211222221222112121122112112121122122121121111122122212222112111222212122211222112112121121121221112121212111111121112121212212111122112212121111111122221112111111112111122111221211221221211222222122121221212221212122112222222122222211221111121212222222111222211112221221211221111212112212121121122211111122221212221122111221121121211212221112111111221112222122111122121221122121212212211211211122212112111121122111112221122222122122221222121112211122121121212211212122111112112222222222111121221122212222221122112211111111212121111221222111222211122111111111122111211111222222221212221121222122211121121122211222212122211222121222211222221212222212122222121222122122222212221112211212112221121211221221211122211221111122122222122211221221111221122221121212212122111212211121212221211122212121122212121122222111212112111221121122111122112121122211222211121221212112111112211221112111211221212221211212212222122212121211212222212122112221112111211211112111111221211221122212122121121112211211221222111122211221112112122111212211212211121112121111211222211212121122112212221122222111211211112212121211111212121111122212211122122121211121111111211111111222221121211221122122211111112212121121221211111211111222222111112211111112111221112122122211221111111212122221211122221111221221222111112122222112212111122222121121211122222112122121121111221221111112111111112122111221111112221121112112212111212211121122122211121111221212212212112112212221211122212122122212112112112222211111211211121112211221121121212111212211212121212112112212222212221211121212121121222211212122122122112222122121221212121122111211212111211222111111121221211112111211111222211221122112112112121112212222112112212222212122111111221222111121122211222221221112112211122112211212222221111111211212212121212222112112122221121112112211111122121111121212112122212222222122112122111211211122112111212122221111211221222221121121211212221122222121221112111212212221222111112212121211221111221111121212121222211121122112112221222222121111121211211122222212111122111222121212112111111122212111112211111222121111111122211121222122112221222111121121222121122221112212221122222122121112212221111121111111222221112212211222122211211111212221111122222212122112112211122212222121211222122111221111212111112111221121221111212222222121121211112121122122222122212222112112222211211121221121221222222221121222121221211222221121111221212121212112222212212122112122211221111121221212221222122211122121122121121111211221121112112121121222111221212122221211221122222122112111221212122121222222122121112211112212211121211212211112111121111222222211122222211111211111121222122211211212121111121112222221112112222122121222212221212112111111112112221221222121111111211212112211121222212111122212122211122112121122121111211221222112111111221222121212212121122221221111221111112121121111222122112221222222122111111122111222222211212112211121221212212221221212221221112211122211211222111222212211122122211121121121121212211121122112122221222211212122221212212221211212122221111211122222212212122111221112121221111112222111221122121112221222221111222221211121121112212222221111212121121121212122111112122221121112112222112112222122212221221221212212212121211112122112112221122221121221112111111212112111212111111212222112211121111111122121111222122212121122111122211222212122121121112211111221121112211112111112211212222211111111112211212122122222111221212112222212221222122122122211121211222112222122122112112121222222221112121121222121221222122122212222121122211211222111122121222122212212112111211212212112121111121212121122212211121221212122112211121222122212122112112111211121212212122221211211111222111222212211122112212121121212111211122222222221221112222212222212222122112112121112211111122112222111222121221222221111212111122211121122122112211222211221122112112121212222111121221122122121121212121212112222221121211222112112221111222212122221121211121121111121212111122122121121112111112212122122122221111111221212222211121111222122122212212221221211111112121221122112212211221121221111211212222222121122211122112211112111122111211221112212112121211121122221222211212112121122221222211121222211111112221211222222222111111221112221211111212211222211122122221221211221121211112211111122222111221121111212112122111121112112221221222221221221111112112211111212212222221222222121221111211211121212212222111222112121211211112121111221211211212222111222211212212121121212121112221221211222221112221112211212121211121122112111221222112111211121221211212122112212212121111212111221221212211212212221211121121211112212212111211111222212111121122212222221221122222112211212111212221122112122112122211112121121111112121222212122111221222112112121122212122111211211122222112121111221211112212211121212222121121121112211212212121111122111222221211221211212211212121121111111112222211221121121221111212211122212222122212212121212211221211111111112122211222122112111212122211122121222122211111112122211211111112121111121222122222212122122222121211212111121211121212221211122122121112122122121121122212222121111122121112122112221121121121121222221211212121121112122211112112211222122121211122122122121121112122112121222221112211212212211112222221221211211112212211222122122111211212121112221112111211221111121212122112222122122122111212221212112211222222112212212221222121211221122222212121121222222122222222122221121121121212112211121111121221212221222121212212211112111221212222122122112212212112222212222212122112212112112122111112121211122221121122121112211121212121212211222211211221121111222221221212111122112222222212212121221111121111122112221222112211111211121212211121112211211122121122212111111221122212211222111212121111112221222111211111112121212222211222222121222122211221111222211221221122122112121222221211111222211112212221111211221122122122122211111121212111122212121121122212121112112111211212111121212221122222111222221222221112211221111221121222122111122222121111111121112111111212112122111111221121211211222112222122211211212211221111222112111221122211222221222112221112111121111211222122212222112222121111111211111212111112211211221212212211211211112212222111112221211112212222221211122111221112211122121111121122111222121121122222211221212121211112111212122112221121212212111221211212121122222122121122221121121122122211111122111212221222212111121121121112111211221121212221211122111211112212111221222111121221212121111222212122221111221212121212222112211222212122221221112121212112212111122111211111122111122121121211112212112121211221222212122122121221221112121212111112211212112211121222211222222122221121122222112112121122211212222112112112222212212212222212121112112222212212112211112211222112212221222112121111211222222121111222112222111221221121121211112212112211211121112211211212221212221122221111211211111221122121212111112122222121121121211121212211112211211121221121212212121111122211221112222221112212211122112111122111222122212121221212211222221112211111211222122212211212122222122211221221122111222112212122221221222121121221112212121111221121212112111212221121112122221121222222212122112222222212112211112122111212222212211212111222121112222211221122122211211211121121211121121122221112222212112222121221122221111121221211212212221111121111111122221221122222111211221221221211222222222212122111222112122121121212122211221212121112211121111211122222211212212111222112122221211212211121111221121122121121122212121221221112211221212221111121211122122122112111211121211221122221122212111111121122122222212122221122112122212121112121121122111211212111112212112222121221121111212211211221222221221221221121122212122112121212212211221212111121211112112121121111112211221112112212222112122111122111222112111121111212212122222222112121212111211221211121222122212122111112222122122121211212112121112111112111112211211211112112121112221121221111112111222121111121221122122211211212211212121212211212121212221221212221211121211112122211222121121112111111222222221122211121121211222211212222122122122221121111111212221121122122121122112212122222112221121222222112211121122111121111221211111121221222111112122221212222111221211111212221112222221212221212222212212211212112211121212112211111121211222111122212222112211111122212211222121212221111111222221222212222222222211111222211222222121112122221112112211122111121112112122211222211111122211221121111211121122122112211212112112111122211212111212212121222212122122121211112122222212112211122222121212111212212111222111122222212121222121222121211122122122222211112121212212212222222121121112221121111212112222122211211121112112111121121121212111112222212121221211111111112111212111121221211122222111212112122122121212122221122212121211221211111121221221222111212121112121211111112121122221111112121212112122121211211122212112222222222212122122122221211111212121222122122212211122212122121111122121111222211111112111111122211222212211212221111212111222111111122122212112211211222112111221111112121212112221221221222222211222222121111212111121211221212122221122122221212111122121211222122212122112221222221221222212221222222112111122121221222111111212212212222222121222111212112222121211211221222121222211121112222212112211122121211121111122121222222122212121111112212122221111122211222212112222212111211111122112222212212222221212222221112111212111112221221112221112221221212112211222211211122222222222212111212112111222121121112122122122111121122121222121121121222211211122212211122211121112112112122112121221211111121222111212112121112111212212121111221221222112121221212221222212222222221212222212121121111121211112122221112122111122112221212221212112112211221221221221212112112211122111222112221222212211221211122111221111112221211122221112121122112122222222112212122111121212122222222111121122111112222212221221122221122111211211112222222221111212121121222211111222112212111121122111221121222212111111111121212212221221221221222122221211212112212221121122122221212212211121212221122122212222121122121212212211211122112212112211212122112112122221112212221211122111122111221211222112112221121122212122212122221122122212211211222212111221211121111222121111222211111122121112222212212211212211111112211211221211222112211211211211121222112121221112111111121212122221221122111112112111221212221221122212111211211121111122112122222122112122111212112112222111122111111222112121212211122211212212221221221221122121211121212221121222122222122211112221122212112122122112221221111112122122212111112222112221211111111122111112211211212211211121212121112121211112112112121222221222111121222111122122121221211212211211221111111221112212122211121221121211222212112212211122122222122221112111211211111112122111111211222221211211122111121211122112121212112221112221211122221121121121212111122111111212211111221112221211212222112111212222111112222222222121121222121212111221121212221122212121122221211122122221211212222222122121222221221211111221111121112121122111222212222222212212112112122222221112222121211212112221221111211122212122221211122112222112222221122121221121111222211111111122221221111222112211122111212211121212121122222221111221122111222112121122112122122121121211212112212222222222111222221212112111212221111112122112222211111112111221112121111221111221212112221111212112222121222122211122222122111212111212221211221221221211222221211212212121111221112112221211111111112112221122111212112212211211212212221122221111212212112222222111221221112222212111222112212111112122121122211212222221221112112212221121212122121212112222221221112212222221122121222211222222111112112122212222221112221111122111121222211211111121212211112112222221111221221121111212122211112211212122122111122222112212112122121221112212121112122111121212122222111211212212222211221111111212111222121212111112221122211111221121112212211222221112212112222221121122211121122121222111212212122121221122221211221221221211212211222221121222111121221112121221211122121111111112212221122222211221212111222122112221112222222122212112222121122111222121111111121112221112221222222221221221122121222221221122222111211211111112122122211112112221221222112111221111112122122212221122222112122122111221212222111212112122121111111111122122212121122222221111112221222121112121212212121112122212112222121211222212222121122112211211211111112221211111121211222212222221212111222122121121212122211212212221212221211122121121122211211121221221221112111212112121211122112222111212111122221111212112211222121111221221121221211122221122121221121112121211222211212221112221112112122121222221212121212222112222222211111121122211112211112122111122111211111121221212112121212221221221111112211221112212221211221111212112111221222211111211121112121211211111121212222112222112221221112122112111211112222211212212121212111212121222122122221211122121112121221121212221111211112221221112212211111222111122222111111221122222112122212112212122222121221221211222112221121211111121222111122111112112221112221211222222111121221111121222221211121121212212112112122122111222111212222122221111222111221112221122221211121212112121121212112122111112212112222221221122112121211122221221112122111121222122221122222222111222222112221112211212212111111222111121221212221221221112211122122112222121121212111112222111212212112112212211121112211212121121112222111122122222212112121212112221221111212121221221122221222112221121221212122121212121212211212122211121212111211221112111212112121121112112122122111212122121222211112112111111112111112121222211211221221222111121222222122221211111211111111122122111112111221122211222212211111111111212111221212212111122111211222111112222221112121222222112212222122112112212222212122222122111221121122121222212122122221121211212112221121122222121112212121222122211221221121222122121112112112212212111221221211122111221222122111211211212222112122111112221112222212211121212212111211121112122112221212121112121222112111111111112121211222122221122212212221122122212122211211221122112212121121121211112222212222211221211122122121111222111211211121111112122211222221212111212211211211221121222121111111122212121122121121222121212121111122122121221122211111111112121122112111121222121111222111111111212122112112222221211211212111111121122221211122122212221212121221122112222111222211111221221112122122112211221122111111212221121122122222211111111121212221122212121122111112211121212212121121221111211221221211121122211222212122121121122112112212211111111211111111221111121122212211122211212122111211112121211112111112221112221211221211221212222211111121121122211221111112222122122222221211212212221112211211221211222221211121111121222121211221121111211111221211111212111212121112212121122121121222212212121122221212112112121211122122111212121122121111211211121121221211221212111212112122121121211122112112122212122111121111121211211211121222112121221112122121222111112221111112112122212112111212112112122211111221211211222122122122212111112211111221221122211222222221211221221121221221211211222211111122221122222212122221112121111222111121222121121111111111122112111221112111112121221111121222221221111221122221222111211111212111111111122121112122111222222221121122111112212212111122221111112112222212111121222211212112211212211211121122212221212121211122211221122222211211211221122122221221222111122112112111122121111212121122221212211111112121221211221112112222111112221121122221111222111112222112122122112221121121222112222122111211122112212211121222121122112112222112211111212122221221212121121221122211111222122122122212222121112111112211221221112122222121122112122122121212222211221111212221112111211222112121222111122211212212121222111111111221112122122222211222221211112212212211211112211122111122122211211222212121111111222222122222222111211122222211221112121221221111211211121122122222211222212121121121111212222212122211221121122222211122122121112211221111111112112121112121112222111112221121221122122221112212212212112222112222222112121111211212222112211111211212221122111211212122122211212121122221212111211112211111221221111212222212211122221222212222222122112212222222222122122112221212212221111112211112212211221212212212121212222112222121211111111221111211221222211121122112121111121122112121211212121112122121222112221222112122212122111121222122121221121112112212111211212222121121212221112221121212222212112222222222221121112211122221211112221222121112112111221122122122221211221212212112221111112112122121121221122212122112111221212122222121212222112112122112121122221122212112122212212121111112111122121212221122222112122112121111222212221212121122112111221222122111112111121122221121222221111111221222222222222122221112221212222212211122212111221222221112212221121122112212111122111112222111111212112211111121212211112111221221211122221112222121122212122122112121222211221122221122212222212121222221221211112222212112122212112222111122122121111222122212212212111222211111111212222112111121211122121112112211222112221121221121121122211211212112212122121112111111212212112112211121111211121212211111122111221121212122121122111121222211222112221212222111111122112222111221112122111211211211122212212212111211221111112211211222221112221111211112212121111112112221112212221111122122112222122122122112222212211122222222121211221221122121211221222112112212122211111211112212122111211111212121211122122212121212221122222112211222222112222212111222222211222211111222121212222211222212211212212212221221112212222112121211221211222112112121211222122221112122221112221222222212211221211221121112212122221121121111112222212111121122221212221221111112121221121212111111222212122222111212111112212112212121211112121122221111112211112121221222221221222122112222212111221121212211222221211212121222211121211221221222122112122121221211121221222221212212212222122212212111211112211222122112121212222222111212122122121111212221222112212122112212221211112111222222121112112121211112211112212122222122122222211112122212122111222212212222211211111212212211221211121122111122211221111122112122111212122122221112122122222221211221212121121212121222221222112222211122122211112222212212111112211112222122211111122222122111222121221122212112212222122111211221221122212221121222211211121221112122212222212111212222122212222111222212212212221221122212112121111112122211221111221211111112212221122112122121222212121221111222122221211112111222122122211121122222221212221222111122122112211212111222211211212211111222221111122122221222212221111221212222221212221211111122122111122121221111222121222121122121221122121121212121211211221122121121211211122211211222112221111222221121122121212211222121111222121221121122111221212122221222111222111111121122122222221222111222222111212121222222111112122112111212211211112121121221112211112111222222112222112221211212221122122111122212122221121222121121122112222222111221221122212121211111122112222111112221121211111122111111211211222121121212222222221122221112211111112212221212221121122212221212222111212121221211221121212111121111222122112212122111111121121212121112221221121221212112122112121121121211221111211121222212212112212112222112222122211211222212111221122111121111111121222122111121211121222221211221211122121112121211122121112112211111111222111221212222111222212122121212221212212111121221121121111212111222222221121212112121112111111212222212222222212122221222111221112212112222221111112212211111221211111121222122121122211121221122221112111221222211212112111222221121212122211112112221221112112121211122122221211122121222221212112222221121121111222121221111112221221211211112211222222111221122221112122112211211112211112111211211112111221111211221221221212221221112211212222111211121121222122211121221112222121111211111121211111122212211222211212112222121121212211112211122221111211121222122222212122211122211122121221121112221221122111121122122112222211111221121211111112112211112212111121222212212122221111212222122211221111212211112121212121112111122211211212112222112211222222221222111111211222222122221221222212221212112221221122222222221222221212221121112222221211121112221212111221122221121111221211122112222211212112112222212111222121221112222112211121111111221222121221222121122212222112222122222112221212112112212121211112221111122221221212121222122221111212112122112121122112112222111112111122212212121111222121212211121122212221222111122221122112212122112122222112222112122111121112221112122112111112222211111222112221121211212211212212112222211212212212222111211222121121122221112112122222122221222222122122111122122121212211121222111112121211221211221221222111222222222222121112221111111112122212122112222112222121111221121221222212111221212121222222111122121211112122121211112211221121111121212111122222211111211122212111222221222111122212221112211211122122112222212221121222212112121121112222111222121121122212112221111111212112222212112212222211221211122121122211221122222221222111221212121111112212222211221212221212121112221122212211121221211222211112212211222211111222221222111111222222221222122221212121222111211111221212221222112211121112221221212222121111121212222222111222121112111121121112211212211111121222111121121121111122211112122221111111111212121222222211111211122112121222111222221221122121211212221112112211112221111121211122212122112211111122211221222122212211122222121112211211121111122112111122221122111111212122212212112111212121221121212121212122111121122112212112112221221112121111221121222111112221221112221221212212222211221222212221122111112212121211121222121211122212121211212212112222212111212122122111221222121122222212122121221211122222111112122121111122111112221222221122221222222121221112111122221211212222221211211222212221112122121221112111211222111121111212122111122211121122222222112112221111112221122211211121222111122121221112122211221211222212222212212211211222222211112222111111221112111112111212212222212211111221122122221221222122111111211211112212121112121222111211211221111121222121212111221111121111122212121121222221112112222212222221111111221222121212212222212122222122222111212121121222111112212121112111221111212211111112121222211221212112211222222121121222221211222111221221221221112212212221121111222122112121211221122221222112111122111222112121122112212111111222212221122221111111221211121111111222111111221111122212122211222212121212212112121222121112121211221112112111211121122112222111122211221212221121122112112212122122122121112212112211222212121222111121111121121221212221111211111212211222221121122212111111111221121211211212121122221122121211112112211121211111122211111222122112111112121122121122111211211112111112121122121122121222111122121121221122112111111122212121121112222112222221211112221212212222211122211122212222122221111221122221122112111221112212122212112212212222211212212111122221121122111112112221222111122111211121222112211122121212121111211122122112211211212222112211122112122221212222111112122221221121222112121222222212221111221111112211221112111111122122121221222122111112121111121211211122212121221222212111221211111212112111211121222122112222212211211222221111122112121222111212221112221212121112221112111212111112112121221112111222112221211122221112121111121111222221112211122212222221112112112122112111221111112221112222212111121222121122111121211111112112221212111121212211222211211211222111112212121222121211112221111222121112112222121121112221212111222122222212211212221221221112211122212221212112121122122211221222212222121122212212222211111112221121121221212212112221222112222211111211211111122211222121121122211112211122211121122121111222112112111121222121212211221222121211111221122122111111111111211112211222212112122221121222111211112122211222222121112222211121222121221222121122212111222212212122212222111211222221222211211222212122112212121111221221121122121112122122222112212221121112221112112121111122222221211122212112212122221212222111212111212111112111122121211221112111121212121211221222121111211212211222222121112222211212112221221221122111112121222211111212212211111221112112121221222221111221211122111211122121222211112122221111112212111111222221112221211222211111112221212111211121212112111112121211222211222112212111222121121112211221112221212112212221212112122221222211121211122111211112122222122222221221121221122121111111122122121211111222212212112211222211212211211112122111111221212212212222121221211111222212112222212122121211122111121211121212112111222112122222221112212211212122221111221211222112222121111112112212221122212111211122222112211211222121222121221211112111222112211211121211221111211121112212212122211212111211221121121222121212212221121221121111222112122212112212122122221121221111211112122211121112212212111211211222122211211222112111121211212111121112122211122212222222211222212112222221222211211212111121212222221122111211121111221221111221212221212122222222222212211221122211122222112111111121212212212121112112221212112212212212112122122121112112121111222121122222112212111111211221222211112121212211211211121111112212212212221221222211111212222112122122112211211111222112221112112211221222222222222112212111221122111121112112111112111211222121212212111121212212112121122112112222211221221221122221122212112211121122212112211112211111211212212121221112112111121111122212221111212221212122111122111212212221222122121212212221112221221111111121111122222222212112112122211221211112112111211221212212111112211111122121222112222222112111212212111111112111221121221212122222212111211212222122212222211111122112112121221211221122212222122221212111111221211222112122212212111222112122212122221111122221212221121212121211222121122121221212212112221121212221221122221122222122112211122211111111111121222111222221212112122211121111121222212212122212212112212122212111111222121122112211212112122121122122222121112122212122122112221112122221112212221122211222221221212112212212122211222112111121212212211112122211122212211221221221211211222122112121122221222221222222122111211112122221221111212221112222112211112222222122111211212112212111221222222122221112221111212111112212122221111211111112221211122112121222121212222212211211111122121111112212211122212122112212111122222211111112121122222222221211122112112211212122121222122221222112111111221122111212222222112111221122211221221211122212122211222122121222121121212112112122211222111121221122222222212121211122222212112112222222122221121121211221111221211122112212211221112222122112122221122222221211112112222212221221212211111112212121121112211121122122112122222211122212212221111112212112222212211211111112111121112212222222212222111121111121221122212211221122121211122212111221212211211221211211221121221112111221212122221222222122222122112121212211122122212221111211121212122212222222111212122222111222121211111111211211211121222111111221221222112221111112111112211222212212211211111221111121221122112222222221122121211121212122111111212111222112221212111121111222111122212111221221222221212112122212122112122212211212121222212221111222222211222212112211221121121212222212112221222211121222111222222222112221222222121212112112111112221221122122222111221222221212122111122222112112122211111112121211222211221111122222121211221122121222121212222221122222221112211122211122111112121211112112111111121211221121121121121211221121112222121121211121112222212121122211222211212112122111122121111122111212211212112211212122112212221211221221221122112211122221222212121112111121122211211212221121211222121212222212211111111121212122211222212212212211212121222121122112121221211122112211222111221111112211221222222112112122221111212112111112122111122112122211111122122212112121112212122221221111122121212111221111111221112112112221222212122121112221122112122112112121222212211211222121221222212221212222112221112212221222222221211212121212221112221121221121122121122211111221212222221212212211112222211212122222222121112222222222211121122222212112121122112212112222222221111211111212121211211121221111221212112212111222122222121211221111211212222111111121222221121121111212121111211222111222222221121212111212111222212212122211212211112121111221212212222122111121112111121122211121121112222212211211222112222222211212212112122212211122112111212112112212122121112211122222112122211212222122121121221222211121221112112212212112121212211222121122122212221111221211221111221212112122222212122212211122222212222121111221122121211112211121122122121112111112122222111212122112122111111121211111221212211111122221111111122122212212121212111222212112112212121121221211122122211112111212112121122112112221111212211211221212211212112121112121222221221122212121212221221212112122222111121222222211111112211222122111221112111111221121211111221112221111122122221221222222121211211122222121111211222212212121121211222111221212121122222221122112212222112121222111212222212212112222221112222222221122121112111212211111211222122122211121211112122212222211222112122112112122122222221121222122222211211112211111221212221222211121211111221222122221212221222112222111221221221221221221111211122121112211222212111222222121222221122222212122111222121122112212221122211222212122112221222211211222221112121212211121112221111122112211122121111112211222222222211121211221222122221211221212221112211122212112221212222212112212122111111221122211211122222111112222221212121212212111122222121222111122222121211121221221221111221222222122121222211222222211222122112121122222211212211212211212112111212112121111222212211111122112112122222212212122122212111112111111222122211222222122112212112111111212122121211112122111112122122122111211111221112222112112112212222211122112221122212122122211211122111212221121122122221111222211212222211222221112111211122212121222222211222212211122212121122222122222111211222112112211122221222111212212121222212121212222211211212122121222212122112111111112112112212211222222222112111121222222222112122111112221111111112221122212212122212121122221221122221222222122212211221111211112112211221122122112212212221112212222212111111122122221211212211211212222112112222211212112121211121221212112222112211212121122111222111121112222112112212122211212221221112222222112121222112112111121112111121122221222221211122211111211222211212121121111111111222212211122111222121211221212112122121112212122222222211122212221211221112212221222211122111111111211122112121121211122122222121112221211222122222121221111122111212222122122122122222121112222111112211222112112221112221211212221222112112122221212121222111222222221112222121122222122211112121122121212222221222112222211222221122122212112212211122221222211122122112121222211221122111112212111112221121111111221211211212211222121111211212211221111222211122111211121112121212211112122212112122111222122222121221122222222222212122111221221112122122211221122121112122121211212221122221122112112211121212112222211112221221211211112121211121111112121122222222111212222211111111222222121221112222121212211222211212211211221211111211121111121111111122222122222122211221212122212222211121211121221211111221122122122212111111122111112212121222222121222122111222121112212211221211222111221212212111212122211112211112221122111211122222121121212121112212112122221221122112122112112111112211211112221111221122122212222122111211121222112121221211222212212121212212111211222221221211121212112121122112121211222122222112112111121112211211222111222212221211221112122112122221221111111122122211221112211211112221212122122212211121211112221212221212121111121121212222221111211112212211111122222211122121221111111221222111112122112211222111111211221211121221121221221222111211121221122212122212221222212121211222122221111221122222122121221112222121212221211111121221211122212211211212211112212222221222211122122122222221221221222111121212111121222112221222122211111212222222211222122122221211111112111211122112112212211221112212212212222122111121212111121221221112212112222121212211221212112112121212112111112212111221112211111112221112122221211221221221212212112112111111112212211112111211112111112222112221121212212222121212121211211111221121212211122122121121122212222112121112221112221112222121211211211121211121112212122221222222212121111211222222122212121122212222211221111221112222222212112121112111111112122111211211121221222112111121211222122221111221211122122112111212111221121111122212221211121112212222212211111211222211111222111121221212221212212221121112212221211221221122211211121222112121111122122112112112111111222111121211211222111112121112122111112121212111221221111111122121211212122121112111121111111121221222212122221221212211222111222111121212212222221211111122111212212212221122211122112121121221121111212222211221212112122121211111112222212211222211222112121111212211212222222112111112121212121211221111111121211121122121111122221122121222121122221122212222221221112211112221212211121211222221112111211121111112111121222211112221122222221212221221212222211211212211211221111112112122222122112221212121112221221221221221111212222121212221221211122221121121112111222112221122111111221222111111111111112122221122121211121112121111112121222222221211221212211221211211212221222222122111121221112122221221122112212211122122221111112211221112221122112111212211111212221221211212212221122211211111221111121211111221122111111211212121212112222112222212212111222112222212222211212221212211121212221121221112112221211212211211121122122121221222211122221211211212112111121111122222111211122112121212122212112222112122112121112222121121111112121111122111122211212221122212112122222221221222111121222221112211111211112111112111111211121211221211111211121121121211122212222122211211211112111121112122112211221211211111222212221122121211211221121222122221121222221212222121121211121221212112112221112212212221212111211222211111222111212122211111112222211111211122122111122212111222222212122121212222121121221112121212222112212112122121121111222111112122111211121212111211212112122212112121111222111221122111111121122212121212221212112121121222111111211211112112212222211221211122222111212121111111221211112222221221112111121112212112111211222222222221121222221222222122111211211121121221121222221222121211112211122221122111211222212122222222112122222122211122221121211122111222121212111211222212211222122121221221122211112212121112212121211112111111221222212211212112211111211112221121222212222121112122112112112211111221121221211212212221111121112121211111122221222112121111121212111221221212212221121212221212121212122222221121211122111121111121211122111221212221111222122111121121221112211221212221212121122212211122121122112112122212111221121121222222211222221112111222212111211222211212112222112211222122211221111122212211121121121111122212111111211122222122221112212111121111221212222112122122211222122222111222122111221222111122212121211122212211112221221222111122111112222111212111121122211211122121122111222111212112222222111122121222222121122222121222112121222222222122111212121122112221121221122212222121111222211121211122122212112212112221111211112122111211111122211212222222112222112121221122121212211212122111122121221211221112122211112111211211122221111122212121111212211112121111121122112222222122122122111112212112111112112121122212222212122111111121111112112111122212121212111121221212121122121122221121221122122111212212212222121111222212112111111212212222221211122211122221121212122221121112111111121112112212211222112222111112111111221212212122122222122111121211122222122121222211212121121122121212112221111121211222121122222222111122112221111212211221121212112221212112121221211122121221122112112122222111121111112212211212222121122221111222122222121212221222121112111221212112121211112212212111111211111211211212122221112111222212222122121212122121111221111212121121122222121221221112112111211121112212221212211122221111122121212211112112112122212111221122211111222212211111222112221212221222212222222212122111121221112222121211122111221111221121211112122121122111122122122211121212211221111222221111112122122222122212222122122112221221112122112111211212121212111112211211221212212121221212122111111121211211111121222112121122121212212121112221221121112121222122121211221111212111111111221211222111212221212111211211222212222222121211121211222221221122211221122112122221121122121121121211212221221222212211211122122221222111212222112212211211122121121221212112122221111221112221121121221222212121111121211112111212122212212211121222221222211212211221111222122221212121222111111221221111222221221211112221221112221211222212222111211221121112112111112112221111121112221222211211222121222112222211212121222112112221121222122121121122221112222111112221221211221111122222222121112222111221111111222212212122212222211211212211221222121211212222221111222211211121111112112111221122211121111111212211121112111112122221121111212111211212121212111212222221112111111122221211221222222212112111221212221122222112222212211122122122121122112121121222112212112111222221211211121211212222122221212121112121221121211212212122222211111111121112121211122211211122122212212111221221212122122111221112221112222112212221212112121222111221221112222121221112111121222211111221212222222111111112211112121111122112122121222112122111221221221112221221111212211221222112211222222121222111221212212121222122111121211211122212122122122221112222112121211111122112121112122222122112122112122121222121221122121121121111112222222112212122221221111221212222222121222112212211112111111121211212112222112111112121222222222211222112121221212111212222221221222111111112111112222222221221111222111111222221111222212211111221221212211111112212221222121212222122211212112111212121222112212112212212222112112221111121222221112222221221211112222211221112221212122111211211211112122212212121211222111211212222221112122221222212122212112122222121112212212212212121121122212111211211122222121211112122112221121211111221112112222122122112112122121121211121112222111122112122111211112212122121222122122112121211122122222221122122222222211221211121112112221211212121212212122111222221211121212121121122222222212111211212111221222121112121122221122112211122112211121221211122211221112222211211111121111121221212222221222211222221211112212112211112112121121212222112211112112121121212121111111122221222112211112112212111112222122122222212222212121211112121112221121111222221121121121211212122211121211111222121221211111121121121121221122112211121221211111122111121112122121111212222212122212222112111221122121112112121122212221211212121112122121211111221121112211212122221121211222221222221222112211221122121121221111112212122111111212222112221222211221221122121222121221122221122221122221122122211122212212121111122222112111112211121222122222211111112222222212212111122211222211211211212212222221111222222221211121222211211212122121122111111211121221111221122112111211222212221111222121121122212221221211112121121221122122111211212212121112121112112212212122122121112221221122211122112211212212122122122222111211221121111222221211212111212222211111221112212121212111122111212221112111111212211112121222111122112121112222112122212121122122211211211112221112112121121112212111221221221122111211221121111111121212212111121222122211122222112222112111211212211112121121212222221221222121121211222222222212211212121212212221222112222111221212211221212112211222212122212222112111212111121121122111221121121211121211221121122212222221112112112212222212111121211111122212112212121111122211112111222122221111111212221122122111122111211221111221112112111112111212121121112221212121211212111212111121212211212112212222212122122212112212211212121122122111222122122112212122121121211121122222222211212222112221121221122122122221121212111212222111112111112221211221111122221212222112121112111112112221212121221221112211221212222111121122221212121122221111112111212222221222111112212112221222121212111122212212111121211111122121121222112222222122121111112212111212222111221211222111221221122122222212212221121212112121212121121211112221222212211122222112212122221211112212121221211112122221121222111212111121221112122221221112111212212212221211121122221211212112111222211122221122221122222111222222222212211211122121222212212212221111112211111121122111112122212211221112221222211122112221212211222122111121212211212211121212112222221112112121121121211221212111112112211122122222221121112121122212211222211221212111112112221122222111212212112111221212111121212111211122222112112112122112111212112211221112112211111121122111222112112222112122221111112112221121112112112211121121112121212222122211212221122121222211221111121211122222222112122122122211111112222212221121211111111122111121121221211221221211112221212111111222121121121212111212212122112121221112211221212222121221122121112122121221211122122212122122122221121211211111212212222121212112222222221122222112122122222111122212111121121112111111111222111122122112121222122121111212121221122111111221222112121212122121121211212122222121221212112122212211112212222222122112221121221112121112221111122211211221222112112112121111211221111111121221222111212212111122211221211112122111122121221112222222211122222211211221212221122222221121112222212222111211221212121122122112111111222112212122221222122212111211222221122221212222122221222221122211222111111222212211112222222212221112122211211121112211112222222222121221212122122221112111212212221212221212122111122222211122112111212111112222221112122122111121121112211221222122211112122121111112122222122222211111212112111211122122211121112112221122211212222121211122112112221211111111111221212212121122221122112121112222121111112112221121112221121121222211212122122222211122221112221221112121121111212112212112212122112221211222122112122222121122212221122122211122212111121211111111211122222211112221211122112211212122112212221112121211221111221112111121212211121112121112212121212121121112221212212111222221222111211122111211211112111211212111122212221122211221111122122222112121211221112222111111221221222221112112122121221122221221212221212121122121212222212122211121211122212222122221222222111111112211212122112211111222212111211121221121212111211122211112212222212112111221121222211122222121121212111222111222111121221221222112222111121112221122112212121112111221121211211121121122112221121212112111121111222112212222211212111122211221211222212222212112121122222121222212221112112122221212121212211211222112112211211112211122112111211111221212221211121111211221111212211211222111211112211212111111112221122211211122221222222122212121122122211121112122122222211221212222221112222222121121221122221212121121222212221222112122121222211111221122121112121111221212112212121122112111222112222211221221111111212222121111221221212122111111121111112112222122112211112121212112121221111211112111222212112222122111222222212111212222122212212121111222112111111222112111122121221122111112122212222122122221112221121212212211221211221212111111121121122112212121121221122212212221111121222222112121121122121112121222222211211122222111111122121121112211222222112212111221112221112121212222111111211221112222112111122211121112222222111112112121112211122212212212211221111121121221222212121112222212221122222121222121121122122112221112211112121111122212121212222112211122111111122121111221222112112212111212211212211211112222212112211222121212211221122222112212212111222221112222111221211211121211212222111122111121211221122211112221211211211121212221221222222121122221121221121222111211221221221212111212111112212112212111111212112111111221212211112222111112121222121222121221221111211222111112111111221121222212211112222221222222221112112221111211211221221112121112222221221121222111121211211222211222122122212212222212212111221211111221212111222111111112122122212111122121211222222112222211211221211112121121222211112212121211211212221121111212211111122221221122211221222221212112221221112112211111212121212212221221121222112122212121222112221212121211122112121222222221122222112111221221111212122212122211211211211121112211212212121211222212111211111111212112222121222221222111222111112221221111211121121222222111222212221221121222212122211111212222121222212111212221111212222211211122121211112222122211122212211211111122122112221222121112221121211211221222121211112221121112111222221212222212122111121112122222221111211221111112122121222221122212111122221211222212122112111222212221211121121211122212112122122221121211211222121211221211222112112112211221111211122222221121121221212212221112111112122111112221221222112211211112111111122211111111121122121212221212122121112222111212121112221122121222112211122111122221221121111212121122111111112221221111221121222212211211121211222122222212112211221212211212221111222211212112112111122111122121121111111122112222112122221211122122111222122222211211212212121111212112211112221122122112112111121221212111121112111211221222211111222122211221111112122221121121221212221222221222121112212112121112122211122121212111221221122121122212222211211212222221221211212121111122121221211212211212211212212212122222121111221211112122211211121112222121222121121121122222111112211122211122221222221212112222212111212112112121221111212112221111212111111212112121121112111211212212122212122221212122211111221212112121112122222212111122122211111212221112211221221121111122111112122222212222211111122112221211122111211212121121111111222121122121112122212211211221212112112212212211221112222211121221211221112211121212122211212211122112111111212111111111121222212111222111122112221112112122122222112212121222221221121212211212211222221122211121222212212222211222212211112212211111111112121121222221212221111222222122111211212222111121112111122111111112221221111121122121211122222211211221212211222112212112212221122221212122212112122211222121111122212222111222121222222212211212212121212121112111211211212122211221221222122112221212212221121221211121212222211222212121122111222222211111122121122222112211121121121121221112221122111112121121222221221221122221121212111121212222221211222122212221221222122212211122221112112111212221121122222221211222121121111211121112222122212112122112222111222112122122121222122221111212212212212112111112211221222112211221212211121222112211122121112112222212112121112112221222211112122221112122221222221122222221222112122122212222122221122111212212122122112112122222111112112112111211212222222212212111212222112221122222111211222211221112222222111211122111122111211211212211122212222222112221121211212122221221111221122221112221212121221212211121122212211122212221221121112212222212222122222222212222222112221122122221121121111222112121121112211211121211122121221111112112121122211221111112112122122121212212212122112212122112121212112221221211122212111221212122212121222122212221221121111121212211211111122111212111211122212221222212122122211212112221211212111211122121111212122122111212112122222111211112122222122212121111221221212212122122111121221122212122221211212221221222211211212111222111111221122112221211122111222212122121211111222222211212111112122222122112122221222212221112222211111221122211111121211211211211221122221121221121212121211121211122111112221111212212112122211112112122221221221222221112121121222112221122212211122121211222111222211222212212211111211111121121212212211122112121211211121211221112222212211111111221211211222111221121112221122111111111212122122112212122212222212211111211122212211212121211111111221212121211111112211212222221221121122111212111222122211211222122211111112212121212221222121122111211221222121212222122121122121112221112222212221121222111221221221111211222221211221112122121111111122112211212221111122111121221221112212122112211111112121111122121121222121121221221221211122111211111111122211112112212121111111221122221111111221111121211111211112212211221212112221212212211221221112211111112122122211112211221212222222221211112212221222112121122122112221221111221211111122221212222121112211222212211211221112221221112121221222112111111121112212221111221222112221122222111222222121222111122221212211212111111121221122121211122222121222221212221212221122111121212221211121111221121221221211212222112111112111211211111112221212111111212112112111222212122121111212122211121112112212121221122121212221212121122112122212221222112222122111112112222211121111222221111221211222222212121221122221121211211111222212121222121111222112221112222122222222211112222121212121111212212122121122211221122121122212221221211122222212121221211112221111221211212121111112211212121221211222221121212111212121122212112112221211221121221221111122221212111221211122111221221112122221122121111111211212112112112111221122222122111122211112211212111221121212222212222112111122111221221211222212212212122221112211121222211212212212221121121111211211212211111222221112221212111122112212112111111221122211121121122212222212111112121222221122121122221212222222122211211221112222111111222222211212112111122212111122212211221112211122112111111121221121122122121121122222111211211212122212121212211212112212211212221112122111121111111121212122122122222122121122221121212222121222211212121222111122121222121112212222111212212212121111122212211222111112121121222222121121222112211212221221211211112122112121212121221121211211211112112121121111122222121122222211121122212112121221122212221212121112212211122121212122212111211122122212211221221211212112112122121222112121222221212112122212222212211121222211121111112222212111212222122121222211122212221211122212122121221221221111221122211221212122211121212122122121122122211211121111211111211222212212122122221111121221112112122121212121222212111111122221211222112112211121212221112222111222212121122222122121122222221122222221211111211222222111211121112122111112121212111221221122221112222112211211222222122122121211211222211121122222221221122122121221212121122111121211211112211222111212122111211211212121111122111212211221222122112122212111112222211222221121222122212222122122112112112122111122121111222111121222221122221221121122121211221221221221112121221222211212111222111211221211211211121111111112111212222222111212112112122221221112221221221221112112112121222211222212211211222111112211212211111222111212112212111122222212121111111211222112111221112121222121122111221121112212122122112112221121211111212212212221112212121222221212221121112122221112121211112121211122221112221222212222122122221222111221111112111111211211111122111111222211121222222221221122122121122222212111111111122221222212222122121111122211221111122122121112111221122121212112112121111121112122211122222121111121212222122221212212112111221211122222221121121222111222121212222222212221122121112212111111121112111111111112121111111121112112222122112212211221211111121122112121111111112122222122111221221221212122212212222121221122122112212112122212212222221222221222221221222222111111222212122212222211121122122221211122222112211112111122211112122221112122212222211211112111211122221211122222221121121121221222222112222211212111122111212122112112122122111112122112221212211112211122222222212121111211112211111212222111121111212122112221212121212222122212212112212212121122111111111112111212212222222211211121222222222111221212212211122212121221121122112111112111121122211221221211121222112122212211221112122212121212121122122111211111121211121111221221121121212112222111211111212122121222221122112122121122222211212221221112121212211121122212111222121211212121111212212222122122222111121211122111111121121121121212222122222112121112212211212211212111211222122112112212111112111121122211221112121122121111111212212211211111112222212121212221222211122211212121211112222112222221222111111112211212111112222121212221222212222112222211212111212122122122222112212212112121122212211211121111111112122111212112122121121122212221211211212122211111111122122121112121221122122111112211112222222211222121221121221221211121212221222122212111222211121121122221211212211212222221211211122212122211222111121212221222121121211211111222122212212122111221111222112211211221112211211221221111121121212122211211222122112121211121221122211111221222221111121121111121121122211212211222111221211122122221122222211121221122111222221112122221211222211222121112111212212111111221222222212112212121121121122111122211222212121121111112221212211221112212122212121121211221122212122112211111121112121121111212121112122211211111211222111111112111122222111121111121112111122222211221112121112222111221121122222211112212112121111112111122221211111122212112112122112112222211211121221122111111111212221222121221212222111212221112212112221121222111222222221222221211222221121212212212112121112221222212121221121122212221211222221211211121122222221222221211111112112221222111222111121111111211212112212212221112222211211212212222222111211212221112121211112122112121121121211111222221222122212211221121211121212221211111111122112221112211121112221211212212111211112122211221121211211211121211212111122211221212121122111121221211111221222222122222112111222112112212122212222221112122121121212211111111222211121112111211122112111221211212222222222212122212122222212122122112212222121112212122222221212211221212221221221121211212211212122221112222212112222121221221221222211212111122111112122122221111112212212221122222221112121121212222221212222112122222112112112222111122121111221212221212121212112211221121221112111121221222121121121122221221222122211212222222221211111212211221222211112112121222221221211112222221211122122112222211211111111121222221121222111112211212111121122222211121121122111111112111122212122112221112221122112111212221112112121221222111222121121112122212212222222211211211212222121121122111111111121122112122211211211112121211112222212221112122121211111212212121212122122122211121221111221112112222122211111211121112221222212122221222212121211221211222122212112211211112122112111212221122111122121212222211122211111112122121222212122221112212211221222222122211121121111111122221112112212121122221122121112211211122211112211212222211212222212111121111121212112112222112212112121222222221212222112212112112112221211111221221211221222111122211222122221212211112111111111111122221211221221121211222121122212122222222211111212121221222112211112212121112212211212122222111221221222121121112122222122121111121111121111122211211122111112211211221111211222212211111222121122221122121212122222211121221221112111122221212122212122212122122221122121122222221211122111112112112111211211121112221222122122121122221211212122112212212112121221121121111221211111211222121112222112111121112121221112221211122211122212222111111121211121211211212211111121111222211112221112212212111211212121222111222211212211222211111221112112121111221121211211222212122211121122112212212112221121222211122111211221221221122212222221222111212222122211211222122112111112222212111212111122222221222111121221211222221211212212112222121112122211211111212111222211112212111112221212212121112112211112122121121211212111222222122221112122221122212111221112112111121221111211112112221222122122222211111112111211211221222121212122212122112211212221112211122212221112221222121212112211222221212112222121121112221211122221122211112111212222222111121222211112211212221111221122111212121212121111112211222111122211211212122212112222221222121121122212221112211222221122211112211222111222212111221111221111112221121212112111111222112111212121211112112122122221122122122112112211211121121111111222112111211212212221112212111122121221112112212121212212212212122222211222112211222112111121112112121112122122222122121112212112221122212122212121112222221212121222122211212212222111222221221211121212221221221222221222112122121211221222222211221222222112121211112222222112221222111122212221121222211122221122112112222122221222111221212212222121222111111122112112212221122121211112221222221212212221212212112221222112122221222122112212222221221212221112221222222112212222222212122212121112111212221211121222211111122121122222211221222221221212211211221112121122112121121221121222111221222222122122111212111112221221222122211222121212112211122211121221112121222111112122222121211212122121221212211112122221221112211211222121112121112112212122111221212122221212212121221111211111222211122121122222221222222221121112122211122111212222111111221211212112111112221112121121212121211112122111121222122221211221212112212212121221122222121211111211121211221122221211122211221221222211211121112222111221112121111221122221111111222121121221122112221122121121111122211121111111221122121121212121112212211122121212221122111122111222112121121122221222211112111221211112211211222122212121221112122222111211112121111121111222212221211112211211121221111211112212121222212211122111122212221211212111211212222122222211121122221222212211221122221221222122112111112212122211211222121121211112122111122222111222222122111111111211222122112221122211211121122111111121211222211222212221121111111221212111212221111112111212111211212121222111221122211221211222222122222112112122212212112111212221111112211212121122111121212212121122112221222221112121222222221212111121222222222221111122211111212122112221222112222121212122212121211122112122121212222212122222211212222221221121111111212221211221212221211212111121222112221211211221212112221212121222212222121212211112121111122121122212221222112122222121122212212112211211122211222212111212211122112122111112111221121221221121221212122111111212121122222121212222111121121221111121111222221112121112221121111121211121111221122212212211221112211211212221112111111211212112221222112211121222121122122212212122222122211212122211212111211112211212212212221111111221222122112211111211211222212122221111122222111212111121221121221212221112112121121212211211112122121112211221121221122222112121121211121121221111122121222112211222112121221111222222112121211221112211121111212222211122212211112212212222221212211212112121112212121111121211121211111222122222112212112121222221212112221111221221111122222211212221211121212121212211212121212112222221211111211112121121121111221222212211211122222221222111121222222121222122211122121212121111122122122122121122222122122222122112211122111122122121211222122211221122212222221212111121221221122121122212122222112122222121212121222222112211112112111111121121111122122222121211112212111121211122112121111122212122211121212112222212221212212222111121221122122221212211122111112211211121212121121112212111112222221212111222121221221122111111212212121211111221222212221122222122122221222111121111211211121212222112222222212212222122111211211111221222122211121111222221112121211121222111222222112222221111221221122222212121122222121111111121222121212121222211211122211112112121212211212112112122112212222211122111211111112212121211221212211222121212121222211222121122121112212111222111222222111222122212221111212212121222121212221121122221212111211121111221221211211212211222111121222212121111112211121121111112221221221112222121222122121112112212112111221122121221221111212122121221122111111122222212211211221112222212212111222111122111121212211222122121121221221112212111211211122212211222211112121122212111212121111111222111211111122211122212111211112122212121121122222111221121221121221112211221212112121111121212111221211212211112111221112222222211122211222122122221222112221112221211121212121212112221112212111211111122221212121212211121112212121221122211221222112121121211121222212111221222111212122121222121221111112112122212112112111111211121121222122221221221112121121111211111122212212222212121221222212211221211121222112112211221212111212211111112122212211221111212121121222122211221121122122212112122221122122221122122121222212121122221212212122112111221212222212111211112221211122212221211112121112222211121121122121111112122212121121112221211221222121112221111211122112212121112222221222121121211112121112212121122121121122221211211121121222111212212212121122222111121111221121122112221222112111221112111112122112211211222121212122222221112221111212221222122122212222112111112211122122111211211121222111111211212121121221111112121222222111112211111221112211112111211222121222121121112112112121212111212121121212112221112211212122221221211212212111222211222112221122221121112121212112222111121222212222121211211211121111122122211221221212221111222112221222111212122121112212111112112112212111121121112211212122211112121111211211211112122221121221111212212222122211112112212121212121121121211211121212122212111222121211111221221211122211122121112221212211222211221211122222111112112121212221111112211222121221221122122222212222112111121212111222221121222112111112112221222121111122211111112121211222212112112211112122111222222122212121212221211122122121112121212222212212221122212111112121121111112212212121221111112122112221221212111212221221122212121222112222112211122111122122111112212112221212112221221212211222121222211211111222222112221222222111221211212121221122111212111212222221111111211222112121222121211121122112111112111212121221121122122221122222111111111211222122122122112122111212111212121111111222211212221122211211211222221111211111222122221212221222222111212112222222111221121212111221121112122111111112111221111222122111212111211222222222221222222112211111221122112122122111221221211221122121212122122112122112112211112111111222211212111211111222211212221112222222212122211121121122212121212112121122212112121112211211211112212122222221222222121111111122122112221122122212112112222212212212122222122122111121121122112122211122222111111221112112122112212212112112111211211211122112211221211211221122222222221221221121221222121111212121212221211222222212211211121211111112112212222122122221222222211221211122221111221122221111122121212121121121222111121112122111212222212111222121221122221212111211212122222122221221222222111222211121221111112212221122222111112111222121222121222212122212222122121111122212112211212112122222222222212122111112221111112111211122212212111212211122111212122211122112221122121121122112112221111121222222221122222122221111111221112112222122112112112212222122222222112111122212112211122112111121112211211121212211112112121211212211211222111221212222112112121121221221222112121222221222121211221112211211121211211111112111121111122211112111212211221121211111212222112111111122212212221212212111111122111221121211211112111111222122221211221111121211211221222222222121111212222121112122112212212122222211121221121112112211211121211221221111111212211222211121211111221211222121221122122212221212121212221211222112222122212221222112212121212221121221221112222212221212111212121212222121111212212222211222221121212112222111211211222221222121122211121111112222222111122122222121111112221221221122111211212111122112212112112112122122211222222121211111221221212221121122222221121212112112222112112221122211212121122222111121121212122122122221222112111122211221222222122121222221111211212222222222121121121222222212222111221121121122221211111222112221111122111112222112112221222121211121222211221121111111222122121122112122112111212221121212121211211111222122121121122212122222211121211212112221211221112211121112121211112122211211212112212221222111111221211121111212121212122211112222112221121212212111121221211211212211111111111212211211222122221122121111122121212212112222212122121222121112112212112111222222112112112121222211222221111222222211112122222212111221222121111111121222122121111212122222221112222211222112112111211121121211112212122111221112111111111221111112112211111111222221112111111212111222122212122221211222211211121122111212112112112211122122121112121222111211211121112211122212111121221211122222122111221212221212222111211112211211212222111212221121122222212112221211221222111112212122122212221111121211121121121211211222211211221212211112211111211212212221111212212121112211221112122112122212212211212122112221221211221221211111112112112121211211212122112212211111212111122211212212222122212211221122212212121211111211111212212121111122122121222112122211212121222212122122211121121111121112221212222221222112211122112212112222122212122221212122121211221211111122211222221221121212121112222222111111212122112221221212122122212112211122121121122122121112111211212221122122221212212211112212112212122221112122121211212212222222221111111112121211111112222122121112211212111122111211221111222221122122211122222112111221112111121221212111211211221222111222122221221121122112222221111222221212121112121211222111112221211121212112112221211221121212211221111121122212112122121122122112211121211121222222112122111211212221211111112121111111211221221211212221122211222211221111221121221212121211122112212121221211221221212122221211211121212122121222112111211122122221121222212211222111222122122122121121211122111212122122121222212222222222212121221221211111112212121222222212222122211112122112121112122212212112112222221111212221221111211212221211112222111112121111212122112222121212222112222121222121222222222121222221111112111221111221122122221121221222111211221111121222111112221112211122222121121112122212112211122221222112221121122221122212222221121122221222111221112112112111122212212112122222122111112221121221222122121222112212122221122111121212221221112212221111112212221112211122222211122211222211111222111211111221221212221211211222221222212211221212222212112222222112222221121211121112221222121211111222122121211221121221212111212221212121212112222222221112222112222212111221122122112221112121222211211212222212111212221222211211111221121212112211121212212121121111112221222122211111222211112221221122221121111122121112122111221112221222221111112111212222222122111212211122212112221112112212212112221111212222112112121212221112221112122211211212111222112122221122122112222221112221221212122112221122222112111211212211122212221222221112221222221221212121212122212111121211211221122122111221112221221221212212111212211221122212222221211122121222211211121112222121112211211111221122221111222211221121222222222212112211221122112121121221211221212112112122111122211221221111212222212121211221222212212121121222212111111112221212222122211212121211212211222211111121222122222121111221122122121222221121212122212111112121122112122211122122211211221111211222221222112212121212122112112122211211121121112111122111212112221212111112221211221222121211112222111111111222111111122122211121121222122121122211212111212122222221211212221212221122111211222221112211221212122111221121222112221111122112122211221111212111121112211122112222121121111211121112111111222112212121211212212111222211121111122121121112222111212221212112111222221211111122221121211111122212211212122121211122111212112221211222221222122221212112121221112211122211221111212212111222211221212212222121212111111221121222221212211121121222211112121222111111212222122221212211112222211222112121121222221222122212222222221211111111111111121211211122122211221111221211121112211122112222111222121212221212221221221212121222111212122222111121121221212211211122212122112111112121211121122122111112212122211122122122111212112211112221112211122222211222122221121221121212211122121121121122212212122212121222221111112222222122211112212212112221122122222212111222112222222212222212112222111112222212212112222121222221212112111211121122121212112111111212212222212212222222121221122112211121212112111112111111211221121122222112222221211111112221111222212221211221111222112122221121111211111211212112221121112112222122122221112221121212121111111111221112222112211211211112221112112122121111121211122222121211112122112211121111221111211221221112212121111112112121212211111111122122222121122121221211121112121211122212112221222121122212112111211212122122111121121111111211221122112221112221121221112211222221111122211221112211221221221122121211211112111222111222221222121112122221121212121221122122221111121121122221112221111112122121221212121211221111111211221122121211112111112121121221212211222222121111112212221221112111121121212212211122112121112222112211112221111121221122211122122212211122211221222111222111211112221222221121121111121211121111211111211212121121111112222211121112222221221221212211221122212222211211222122122212111121111111112211222122121222121221112122221212122111211122112121121121111122112222121122112121221212121121222111122221111111212221111122222211111221212211111211221212121211121212222111122121111222111112222122121221221111211222211122122222122222122122212111121121112222111221111212112211221222211111122211112122222221221211122211122121112111122111211221112121212111211222221222112111212221221121212212111112222221121221212111211122221112222222112222122121221112121221211222112122121211122222122121121121122211222221121111212122211112222222221211122222211212212122212212211222211122122122121122211222121212121222112222211211222221112212112222222112111112111212212222222222212122221221121111211221212122212212111212221111221121212221211122212121112212112221121111111221121211221112121121121122222112112112111121221112111222121122221212212122212212222221112121121221211211121121121221122222111112121112112121222111212111121111222121112112211112212222222222112222122111222221212211122112222211211212221221211111121112211111111211122112121111112112112122111122122111222112221211212221121122112211121111211222222111111121212111111122122212111221211112111212211112222212211111222112212212212112112221212221212111221211212121111121121211122112122112121212211121221122121112121221121212212121211112211122122211221211111112112211112222211112211112121122121212112111221121112122122121121222121121212212211222112222111121111222112212121211121222222112111211111122222111121112111211211222221111212222112121212121122121121121212121221122122122222212111211121211112222222221221212211111211112211221112112212211121212112222121111111222121211122221222121212121112222222222121111121121221212211222222222122211212212212221121112112122121222121121211222222122121121212211212222122221112221112221111212212212212111122121111221111112211111111121221121121122222221121221222112112112221111222221222121111221212221222112211212222221111121121122121122122121212112211211222121222221221221121212222211121111121111121211221121212221122122212222111221122222221122211222121111122221112212222122211111212111221111111112121212121222121122211122112212121212212111211211222111211112211222121112222121111212221111212222122212121221222121112122221211222211112112122111221221222211112221211221221221112122211122121212221112121112111112111122112221221211212121121221111121112212112222112222111221212111112211111222222111221221122211221121111122121222112112111121111222112121121221222112211222111112211111221112112222111222121111112221121222112221112112221112222112121222122121221222111222221112221221121222112211111111221121211121221212121121211112221122121212122111121121121222211121122221122122122222222122212111211222212222122122112122121222112122111212221111122111121211221122122122112122122111111221221222211211111221121211212112121221211121211211222222112122212211122221221221121112112222221221212112121121122121112212221122121211221211112112221121111222212111212211212122112221211212221112121211122121212122122111112111221221112212221112212122111222112212112212121121221122222221221211222121211222121122211111111211212111221122122112122121211221111212122122211122122221122112121112221112222121111211221212221122111121112121121222122211112221211111111221111212121112211122112211211211112112222122122112222111211121222222112222121112221111121112112222222112211221221111122211211111221111211221121111221122211212111211111112111112111222221121122211221212212121122121221212211222221222112212222112121122122221122212221112221211111212222221212121121221221121121112211111121111121111122221211211112112121122212211222221112122222122222111221211211122121221211211212212112212121121211112112122111112212222122121221111222222212212222111222222111121121111111211111121112212121222212122121211111111111212222222121212222111211121111222111212211122122112212212111222211122111221211112212222222111221212221221112221111212221122222122122112221121222212121222211212122121221212212121211221112222211122112222122212212121112122222112111221212121221111222212221222111221212122121222112222111112221122112221212121112121112222222122121122122112111222121121122122222221222222211122121121222221111221212112211212211121222112221122221122221122212112122122121112212222111211211111221112222112111211111211122221111111121222221121122221111111212122212122111212222122122211111212111122221121212121212122221221112222221112121212211212221121211122112211222222211122121211112212222111112211122121111121211111112111221222112212122121121122221111111211221112221112221222222221111212112222211212111111111112122122111222212222111212221121121112222122212222112211211212121221212221111211111111212221212212111221222221112122221122112212222122221222121112221121122211211122211111111122221221111111121222211111211221212122111211122211212212211221122211121122212122112212221121122211112122122222111221112212211122121212121212111111111221222121211212112212121112222121112221211211121211122111222112222122212212221111211211222112121112212212222221111122121212122211121222222122211222111112121221222121112212112222122211221212222111222221112122221112221212112222111111221222222121211222211211221122122221122121211221111212211112112122122112121112221122122222121121222121211121111222112221211122121212112211222221112111212122221211221121212222212121221221221211122222212112111121111212111121121212212222221221111111221121221121222211211112212221211211112121212121222122212222122112122111111211121222211221111122122222112121111222111211122112222222221122121221222212122111121122211112211122211121111122222222212212122122122121121122122112121111112211212112222212211112222222122221212211211222221112222212211121112222111222111221211122122211121122221221211222221212221222212221221111121112122222221111121222211212211112112211212211211121111112211112121122221221221112222122112122111122222222121212222212211112211112221111222211212111221112222212222211121112121212121211112221221211111121211121222221111121112222212221121121111121121211122222111221122111211222122211212112112121121121111112121122122212121122111122112121121222222222211221212111211111111122222121121221112122212211221112112122211122111111112212111112212222111222222111121122122111121221212212122112222221112221121111111212122112211211122111121122222111121121112121122112122122221212111212112121211221222211221111212221121222221122112112121211222122111211211122121112111122212112211212121121211121121212212221112121122212222112121221111121121221212212221221222111111111212221121122112211222112211222211112111112222122221221212121211212221221122122221122122121222112122121211222222222112121122121112221121112111122121221212222121112121221221111111211211221121211221112222212112111121121121212221211111221211211122221122212222211211121121121121122111112222111121212121221121112222121121221221211222122111212222111112122122111121121222222122111112121222221212221222211112122111212222222221122121122122211222211212211122121122121221221211121111121211212122212212111222122111222122121112221222111221122222121211221122122212111211121211222212212221211222212111111121112211111121221211122112121212121221111221222212121212222222211111212222211212211222121112211211122221111111112222112121212111212121222111221211212221211211112221221111222122112221212121121121121111222212211221221112112111111112212112222112121122211212121212212212211121222222112121211221112111111211111122212222212112122212211111211111121212122111121211111211122221111212121121221211211121111112222221121211212112111121221121211121221222111211211222121122112121112221112111221112221121111112222112121111222221211221122221111221222112112111221111111112122111121111221211221111221221121121212111211212222112121211212212112121211212221221121211111211211111221221112221122122221221221122112222222221112212122121122111112112211212212111122111122112222211111121211222121211221222212121212122211111221122212212112112212111121121212121121111211221122122112212211212112211112121221211221211122122112121122212212221121211112211122111112212222112212111112211222222122121112212222222211122121211111211111222221112222222121211221222112111112112121121122211221122112221111221212222221121111221122121222212222211212211211112121222122211111122112221111112211222212221121212212211211222122122122122221112121211212122122112211112111112122111222112222222121111111112121212122111221122121222122122112122212222221221211222212121121211121221122121222122212211111222121211122121121212211221121221121211222221121121111111222112221212111212112122211121211122211111221111121111212221211212212112121222211212222211111221111211121121211211212222212122222121221222112112222222111212222122122122122121211221122121121111221222221112212112212121212212211212221221211121221112211212222211121211122121121122221112121212212112212212211122122221111122222111211122122222222222211221221222212122212222122222211121212221121121121122211222222211121222212121212211122111121211111112121122112221211222221121211221211212211212211111222111221212111122221211112221112112111111212112121121121222211111211211221222122211211221112111221111222211111121122111122111212221111211111112211211122121111122222121121112121122111212221122111112222221212222221222122122112211121121112211221222212111111112122212112122112212122221222222112121121211121111121212221122111111121112222112121121121211111221211122212112111221122121221112121212211222121211221222211221112121122112111222222122212211211122122222121222222211212122122121222112121111221221112111112112121112212212121111112222121212122112121212222221212212121212211112212221222212222111221122222222211221221122221212112122122222221221122212121211111111112112211111111122211121222122221122222221212221112111112222212122221112211222111221122222121212222112112212221221112221222121112122121121121211112212112112122222112211212212211221121221212221222122212112211211212121121211212112121111121112111112121211121112111112211121111221211111121221222121122212212211212222222212111222221211122112221122121212212112211111121222222221112212111211221221112212121212122221111211221211112111121212112122222222212112221112222121211122121211121212212111112212222221122111111221111122112122211222222112222121112221221212211121222111212111122112212221222212222122112221221211222121122111222122111222121112211121211212112211211211222212122211221211222212221221221221211211221222222122222212112111212121112122212112221122212212211222111211222212211121222221112222211222122222111122122112122112212121211221222121221221221121212111222111122112112121121111111122122221122122111222111121222122111212122121221222221122221122222121211211221121211212211122212221112212122112112121121222222221221212111221121221111211211121121121211222111222221122221211111112221212121222222112221212221121221221221221212222211121222212121211111122112221222112221212122111211112122212122222122122221212222222112222211121112212211122112212212211222122222211221212211212122122121221112112111221111212212111222111122121122212222211122222221122112221111221121111212121222111222221111212212121111222111122111211222122221122222222111121212111122222121112121122212212111211121212212112121112222222211111221122112112112222221111221111121221121221121221112111112112221221212121221211121211222122221121111122111122112221221222112222122212212221112121121212111122222221222212112122112111111112212121111221122111221221211112222111222122221222121212221111211211121122212221222112112221122121112121212112222122212112122211222212212122122111112211121112122122221221111121212122222111121222211222121111112221112112212121212121222121212212211221212222211122112111222222122121111122111221212211211221211211222211122221212111111212212222121211112112112111112121212112211221222111122112211222212112211121112211221211211221221121212211211222222122121111222222211211121121112112122111212121212121111122111221221111121122221221212222211211222121121222121121112211122111221122212112121212111112212122112222112211111122222221222121111122122212112222121212121111212112111111222121112122122122211112212112122122111122222211212221111111122212212212122222121112121221222221212112121221122112122222222111122122122112222212122222111212222112122121212112122221111111112221112122112221212212112212122111121121222121211221212112222112111121121111222111121212121112212212212122112121212211221211221211121222222112122212111122212121121122121212112222212121112122221121122222112212212212222222212121111212112112121112121121212211211211122211121112112211222211211212122212222222211222122122112222221112111221122111212222212222222212121112211111212111112122122112212111221212111122222112212212112111222122121111221112112111221212121112212111121221111121121222111111211122221212221222122211212211212121222111111221112221222211122222121221221122112211112122211211221221212212122111222112211121111221111211222211222222122212121122122111221121112121122221112121112212212212111222111221121112212211212122211222211112112121122112211111121112122111212222122212111212122112211212212112122221112122211122111111211212212211222211211111222112221122112222221121122212221212112211111211122122122212212111221121221221212112211221112212111121111121222121212222221222211212121121211112112121121112211112211112222222121111222121221111222122112122112121111212221112121211222122212211111112122121222221222212122211221222121221222212222121222111112222221121122221222112121112211211212111112221222112122111112221222121112211212122221112211121122211211122122221221221211121112212111112222121111212222212222221121111222222212222121112222212111122122112112211121212111112212111112221222212212222222111211221211111221112111211222112122222111212112211222212121121221122121221111221221211111121112212112222111221222212212222111112112222122211212212112221222222112212122212222111212221112112111121122112221211112222212111112112212111212111212111111222112221122222211222121121122112112122112121222222212112221122121222221121222111121222121122121112211111122212122211122122112212221211111211212221221221121222112211121111122111211221211122211222211211121112211122121111121112211211222212111222122212211212211222112222212221111222121211122212212111222111122112121211222111111111122111222211211121121122212211122212121112112222212121121111121222112112112111212212122112122221211211112212222221211212211111222112112221121112122222212111121222211111212212121122211122121112221211212122112221222111121112222112121222212112211211112112121111211212222112211112122121112111111122122212111111122121222222221121211222122122111122211111111121121121121212122221221222111212121112112221121221122111121122121222111212112111212211111122121112111211211221112111111112221211122121121211221221221212212111212222222111222112211211112122122212222121122111222111212112212222212212212112211121212111211122211122211211211122212121211122122111122112111122122211211122112222121222221212212112211111121111211121221112221211122222221111122211222212121221122212212122121211221212211222212122111221122112222122112212222221121211211122212221211122111222111212212222211212112111212112222211222221111211222121122122122212121112212212121212212221212212122122121211212212122222121211122211222211222222222122221121122222111122211111211112212222221212121121212121222121111212121122122211211211112211211222222111121112112121121212211111211221121121112121222221111212222222211211222112212111122112111221122212212121211212111211111221122221222112212221212221221222112212122212212221222121212121222221222211112112211211121121222122112222121112221112112111122122122212221212121122222211212111112221122212122222121111112211121111222112221212122122121211222111112111221212121122122112221211121122222211121112222111212222212211211111212122211212212212122122112122222222111222221112212221212211221221222112121112221121122211222122221212211121212212221121211221221111211222111121212121212111111211122122211221111221112221222121211111211221212221111121121222112212221122211111112212212112122121212212212122122112121221122111122112211112211122112112122121121122111222222121122212221221122121212222221122221111121112212121121211111211222212111111222122122111211111211112121211222211112221221112212111211111121122122212222222121211221122222222112122122122221221222212111112121111112222212212122221221212221121121112221212121222122122222112111212122212112211212222222112221211212122112222122222211121122222111211222122211211121122222111111222221212112212111111221221212212222122221112122211212212111221122211122211112211221221222111222112211121211112112221222122122122211222221121221221111112211212111211111222122112122221111212221111122111222121222221121122211222211212122122121212221222212211121121112222112112211121222121122221221121122111122222211111222121222221211221212122221112211212211221121222111211121112121211122222111222112112221211212122112222112212221121212211111221112122212212221122222111222212212211212222121211211121121222111211111211211222211221122211122211112111212222122121221222212221222211112121211112122111221122221112222111221122212112222121112222121212221211221212212212121112222111112221111211222222211222212222221121122222212112221211211122222122221122111111112111121112111211221122121211122221121121221221221111111211211212221221111222121212211221212211221112211212121111112111211122112211112121121121212212221121122111122221221222111121222222121112222212222121211221212222222121111222111221221112112212212221121221221112211121111212211111112111111222111222111122212111212211112222122212121112121211222212211121121212211222121222122212121222221222121221222122122112221122211112212212111112221221212212211212222122211122212111221212222122211221121212111121111221122122122212211212212222211121122112122221221111122122111222212112221221121111121212122221211212211121211112112112212121212111221111122112211212121212212122212222111122121212122122121211111122222112111112221122121221211112211211122121212112222221212222122211221122221212111212212212211121222221121222211122211122222112212121111211221212111212111211112222112222212211212221221222211222112211221122212212221112121112212212221112112122222212212112112222211211121222221222222221112211112222111221121122121112212122221121211212222121212112121121221121112211221111122211111121111212212121111221222212222121112212121122122112112222111221122222211212221211212111122122212221122221121221222112121221222222221222212222122121122221222222111222221211111121121112111122212211121111111222122221121212211222122221121111211212212211222111222222211122122211122122221122221222121222122222111112211212212112121121221111121111122212112112121112112111211121222212212222121222221221112212221121222111212112212211112222222122122212112211212112112212112111222211112222221111222222121222221212122212211112122122222212211211211211121112212221121212121111112122111221221121121121111212122112222211112221211112212122222112112221122211221222222211121111211111221222222211212221212222221111212211222212121111222112221221111122111112222211111112112211222112211211211111121121211121122112221222121212221121222112222221111212121111222121211112121112121221122212211111111121222122112222122112221111212112111222222121211112222112121121211222122121222121122212221112222211121111112211221221121222212211212121222222211111222222112221212222211121212121212212111121212211212122211122112222111121121122221211112211222112122121212112221112211121221111212221121112221222222112212222111212222112221122122221112221121111122121222111211112211211211112121211122212221221222222221112221222221121222221121111221221212121221221122212121121212221211221212111121222212211222212121222122122111211221111211112221211222211111212221121212122222212112122122222112221111211212212212212111221212122211222111222211212221221222112111222222222122222121122121112222112111121111121122211111111222212121222211212112211211222122112111111211212121212222221122112122212221212112112112211122221221222111122222112112121221112222212122112212111121111121212111121222111121111212112112222212121121221122111122211211221121221122221221112222112211121212111212121221111222121221212111211221212222122121112121221121111222211122211121211212111121122222112111211221221111122211221221112122211211222111212221111122121121211212122112122222112122122212222222112211121122112222211211122112221221211211112111121112211222212221211211212222212212222112211222122121122221211121121212111112122221211222212211122112112222221122121111121122112211212111222111212122112212121222221111112211112221222212211112222221221121221212212122122122111112211221212222212111111222111111121112211222221211121222122111122222111221222122212111222112111211211212122121112111211121111111211211222222211121221221221222211122222121112221211122111121112211122121112112122121111221111212222221221122221212211211111112111222212212122121112211221122212121222111121221222121121112122211111111112121111121112221122112221212211121122221222121222122211112122112211122112212211121111212212122222212111222122211211111111122112221212211112112212211221121212122221212121212211112212122112222212222222211121222121121212112221122222211112211122111211111122121112112212221222212221121211112221111211221212111121221111122122112212112222211211112112212111122212111111221211211212212221121211112121121212212111211211222222212212112121121211112111211212221122111122111211222221112121222222112122222112122212211122211212211122121111121122111112222122221121211211221122212212122212211112121112222221121221112112221212222122112112112122221211112112221111111121221122211222112122221111212111212222121111222111121222222122122111112112122122121221212111112111222122111221112112221212111221222121221221211221212222122222221222122222222221112212111122122212221122212122211222112211121121111121221211221111121112112212211212211122121112122221211122111122111222122112211222121212221222122121122122211211222211211112221111122121112221212121121111111122222212111211111111212221211212111121212112212222212221121112222122112121122221112112222112111112122121121221212122221111211122112221212222122222122212112221211211121112222222211122212221112111212121221212212211112111122222211121122212211111112211112221211112212111211212222122121111121121221111222111211211111112222122222212112221221121122221122111112122221222221212121122122112221211122222212122221111112121112212122212212222122221211111122122222121111121122122221122111121211211121221211121211212112112211111211112211211221212122111212212211121111211122221211112111221221122111212211212222111212111122121122221212222222212122211212212211111121211212111212111121222212111111212212222121222212222121221111111111111121121111212121111211222111212211211121112211121221122121121122112222211222122211212111211221122121221211121222211112111122111211211112121122111211221111222112121112122112222221122221122212122211122221211212121212112211121222111222222211221112122111122211222121112211212122121121212211122211111212111122222221122111111211111212121111212111121111222112122122212112121212212222222111121212122122122122222212222111122212221212111122211112212122121112212221121122122111211212112222121111121112112211212221212121112212212122122111122112222112111212121111212121211212212111111112122221112121111122111111211211212221222111211221222122122121122212111112111211121111221211112122112221112221112212122121211122112211112222212222221122122111112212111111112121112221222122211112111111112221211112222221122212212112121122212121111221211121212211222111222112222221212222112222121111112112222112212222112211122112121211222112222211212221122112112211112121222222122222222222111221122121212211111221111112122221121212211122112122122211121212221111221121122212211212122121212111211122122221112111221111211211221122121212212112221211122221111212111222122112111212111212221211221221221112212112112222211221122222111122211211211111222212211211121222211112111112211121111211122222111122121221212222222121121112111122111122121221212122111222112221122222111221212221122212221221112112112122121112112221222221222112121122222121112212211212211112122111122121111122212121212212122111112221122112221212112111112211212221112221211121211111112212222222221212212221112121122221222122121111121112121222211112211221222221121222122112112122121121222111222221121122122211221211222112111221112112221211221121122121212211111222122112212112221111121211122211212221222221211111122211211112121212121111121211221211121112112112211112111112211121221111122112222122211211121111222221122211222121111221122221112122112111122211122121111221111112222122121111221111112211121222221112222221121111211211121111211122111122211212111112122211122122212112212221111112121222112211121211221222121212121121121111222112221112111221212121222112122212122112121112221221112111222122111112212112111121111212212222122221221122221112222122111221122212112212222221212222121121111122121122121111211211212111122222211212122222211112111112222112121221221112212211121121221121121222222122212221212121112112112211122112121111211221111212222122211112211121112212121212221222111211221122112222112122212111212121111111212112221222122222121211211112121121211222122221122111221211211221111222112211212221121222212221112122222222111221212112221212112112122212122121122211112211121222221122121111122122111122212111212111111112112212222121122111221222121212211111111212222121211211222121112121212222212221222122111111112221111212112111212221122222112111112121121211111122222212121121211222222212111211212222111222221222211111111221112221222212212122222111122211121221222121122212211211121121121111211221112122212111122212212122111221222121111222121111112222211221221221122222111111111212112111221222111211122221111122222112222211112222111221122222221111121122221111122222121122221212222212211212212112211211221221112122121112212111111122121122112122111122111122211122112111121211122121221212112221221211211221212211211122221121212222122121112112212121211122121222111112212211211222122122212212111111221222222121221212222111112111121211221211122111112122222122121222121212211221211112222222111112221211211122221221111111221212122211212121222111121112122122122112112121122121221211122221221211111211112212112121122212221112122112211211212221111211211122221112112121222212222211211211121221122221112112221212112211211221112221222112121221111112122221212121211211222222122212122111211111222212221121111221222111222112221211111112221222221111112222211211222121112221112212212212221122122212122112111222121121112211121212112122122112121121212112121111212122111121122221212111122221121121111121211111221221221122221212121111111211111121222121221122212221121212121222221122112221121122212222111211121211121111211112122212212121122211212121111121212112211122211212212221212111222122112211212211211212121111112211112212111212122212222221212222211122121221121212111112121221111212211111212111121211212221112121122221122212121222212111221122212121121212212121221121222112222212122111122211221111121122211122221222222211221121212122222111121222221111211111212212212221121112212112211212222211111111121112121121111112121112121222111212121111111121122222112122211112222211122211111111122221111212121121112221122212221111112112121211211211222111221122211212122212222121221212111222112111122122211111222221121211111121221111212221211221122111111212222111211112222211212221112211222112212222212122111211212211211222111112212211121122222221212112122221122122222222111212222122121121122122211122121111211222112112111122222211111112111222211221221212221121112221122122112222221121122212222112211111212222112221122111121221221112211211211212211112122122221221112112122222121221121221112111122222211211222121222122212221222212221211211222122111222111112122222211222121121212211122121221212211112212122211212121121212111212212211122122122122221222222212221112111111121112121212212212121112221211222221121121212111212212111211222111111221121122221122212211211122122112111221211122222211212222221211212111212121211212112111111222212212222111212222221222122121121111111211212222221121222212212211221122121222112221122111121212222121112211212212122122212111212212211221121211222211121211211112111211212222111221212212121112222112211212121112212222221122121222111112212212222112121112121121111211222122111211211211112122122211211122212212121221111121211121212112211221212211112121122111211221212211212112121221222211111222211111112121111112122222111212121212112112121222112121211122221221112112111222122221221222222222121112121121112121211211111222112222122211111112121221221111221121211122111212112211222211112222221212112211111222122221122211212122122112222122121122222112211112112111122122221112212121112121122112212122111111122221122111222212211212211122111221211222212221222111122222211221211212121121111111112122222211112212111222112112222211222112212222222212211112112222222211212111212121111221112221122211122221221222211222222111111112212121212211221212111112111122112121222212221111212121111221221212121121111111221222111121222222122121122112211222111221221222121122212121111112212112121212221211111222122211222121222112111121212122111211112111112122111111221112121122212111221211112112111222211212111221221222222111212221211121112111211212112222212111211112122111212211111222111222212221222121222122222121121121212211221212222112121111121221112211212222222112122121212222111222122111112111112121111112212122112221122211122122122222122221211221222211111121112212121211112122122222122111122112112221222121222121122221122111212121221122222112122111211221222121112121122111221122221221212222221121111112122111222212111121212221221222111222211111122121111111211111211211212121121221111111122122221212121212221122112121211222221122221222122112122121211122221221122121212221111222121121122122221221121212221111112121111212111112121111221212122122121211112211212222112111121221111122221222211222122211212211211121212221112222121121211121122211211221212111222221221212121121112122221111212121121111121222122222221121212221111211211122111121111211111111211112222111112122211212212122222211122212222121211112221222111112221212121212212212212111211211212212212122222111121211221111211112222121122111211112212212212121221122112221222211121222222112212111122121212112221221222121211111121212221211111122221212111111212112111212222121212121112111221121211211211122122111222112211212121122122112221211122221111211212211112111111211112111221211122211212212222222212122112122211221212212222211221111221112221111122221111121212212121121211221221112122121121211121222221121111112111121112212221112211112111111212121212222122211121222112111111211111122111211121121222121212122112221212211112112121122111111111212211121111221112211222221221212111221211122112221111122121111211111122122121122222121122211121112111221121221112212212121121212211111121222112121121222122112112111122222221212112122112222112121222122112122121221112222222211111222212211112212211221221222211111122111222111121111221222212121111221221222212111122121122122212221212222122222221112221121222112211112122211222121212112122222112211212212211121111112111121212111111211212212122221112212212222212211211221222121121211222112212122221212222112111221111222222122212211221111211112121221112111111111112211211122222221211212122121221122112121221212222222222222122122222211221211211222122222211222222211122112111121111121122121221111212112111212121112111222121211221122212112122222211111121222111121212111222122112122122121222111111122121111112112221122211112221221122221212222121222212111211122122221112221122112221112122111212121221212112121211121212221112212222121222222221222111212112211221122222212222111222121111122212212112222112211221211121111211212112221211122112212121121212121121122212111112111122112112122222212122111111121121211222221111121122222212121211211122221111221122212222111222212212111211112211112211111112121221222212112121212221211112222112112122211221211222212212112112111211122122122212112221222122211112212211221222112221222221112212222121221121112122221211212222112122222112222221212212112121212222121212111211212221211212111212212221121211222111212212211112222221222112111122122111221212212212221221211221122212211112122122122211112212112222212111222121211111221212122221122121122222221112111112111111121122111222122112121212222111222112222111111112222212122221112122212212212222122121222112121211121212112122121222121122212212111212111221121211122222222121121112222212111112212112211122112112122121121222222111222221121222211221221222222211121211111211122212221222111212211122111121212221211212211122121112121111111212212221122121222111112111211111111222211211111111211212212121221212221121222121212211211211111121122211112121221211112112112222121112112212212221222121122122211111221111111121121112212111111121112112211112212221211212112211212211121212212121112112111221112121221212122222222212111212112111222212111112212111111221212111112112222221222121212211111221211111212211212211111212112121212112122111121112221112111121122212211121222221111211221121112212122112112111222221212111122121212211122121121112211211122111211221112122211222112111111122122112111222122112111121112112111121212211122211212112211111111222122121212121212211222121122222112211211111111212222221122212122112211211211221221111211121122211221121221122221121111122122121111111111212111212221111121222111122122111222212222121122111111211112221211222121111112121222122121222112222122111222222111111212112112111122212222212222112222111221211221212221221111211211112112212222211122222222111112221221222222112221112111122122122111111112121121121222111222112111222212222222212221122112211111212111121222211112122121212222211112211121122211111221112111221211111221222112121121212221212222222222122111112221111212121112122122112112211212211112222111212122222212211211112121121211221221211221222221222212122112111122211222221111221222111111111222222121112212212222121211221222111212122211111122222222211212111121121112112121222112112111121122221221222221111112222222122112211222122221221212121212112211121221212121121111122122112222212121212112121111221121121122212222221121212221122212111222112121221122212212122221221222211121212111211211112111211211122221222222211121212221221121221211222212212211112212212222212121221111122112121211211222121211222121111112122222121221222112211212121121121111222222212112221112222211122122122112212111121211112221122211111222122222111112121211222111222121211121112122111212112211112222222221212212122211122122212211212222121112221122122211212121121212122211122111221211122112112222112212121121122221122112212221112222211112122121212111222122112111222221212111122222122222222121122221221221121111122112222121122212222221211111111121212121122211121212121221121121222122212221222222111112112111212112121222212212122211121211211122212122121112112122111122221222211111212122112212222222122122121212112121211121222122211122111111222121222212111111211212122222222221121122122222221112221221221212112211122211221221221122112212222222212211212111221122222112112222221111211221222222122111221111221221212112122112111222111111222122112222221222122112121112111212212222221122211112212111121121111121212221221122221221112112121111121121211211121211112112122111221211221122112221122212121211212212122112222111221212122112112112121222212112112221121212211222121111211222111211221212111222122121121121212112222211212221221122122111222221111122122112211112212221122212222212111212111121122211121222211222121211122211121221112212121212111121212122111112112221212221112121212112111221221221221222112211121211122122212211112211212222212111221211122122121122111122112222222211112121222122121212121222222112122222222221111121122211211221111211122212111112122222211221211122121122221222222121211211111211121112111121221222212121112221121221112112211121221112111122111121211212121121121211122211212221222212221121122111112222122111222121111221111122121122121111112111121212122122122221211122212222122111221222121121121121222211212222222111222212222121121211212112212221222212112122111121222111111221112121212111121221222221222122121211212111122221212112222121121221221212121111211122221122121221122112221121221221111111122112212211211112211221121212122111121211212211222112222212222221121122121121212222122122221122222212211211221121222121222221111111222211121121111222111122121112111111112211122121211121222222212212222221212212221121221221122221211221121211221122221122222211211221121222222222212222122211111122211112211222211211221111221111211211111112111211221122121212221112121111121211122111121112121212211211211212122121121122212222122121222122111111111122122111112121122122212112112122222222221222221121222121211212111221221111212212211121112221112112212212112221111112211121221112221112221111121212121122211212112122122212121221211121222121221121121211122221122122122212221111111121212222212212112221221211122221111221112222221122221112112212121112111111212121122122222112222211211212122221212111112221211112211211222211122112121222121121222221121212221212211122122222222112212121212222122221112112122222121211122111111122222221111222212221121112221211121111211122222222222212111221212112112122211112221122222111122121221112112212111222111222112211222222122212112111112211222122221112212222222222122111221112111221222112211211212221221212111211221212122111221212122221222122222112122212122222122111121111121221122211221121111112111222212211122111122122121211212112211221211112111122112121111121111122112112121112221211112221112221122211111121221221122222112122122111122212221222112121121221221221111121121221122112111212121211111111222111121121222122122212121211212211111211111222112221112111121212222111121211111122122221111122112222222222112111121112121212111121212111222211212211212212111122211121122222121221111221221111111221121112111121212111222222112111112221122121222122111211222121112111122121112212222221111112112122112121111122122112112111111212122111122211212112122212111122211221222122222211222122212212121122222221111121221211122221111121111211211212211222122222211112122212122211221112221222222211121111211122112222212121211212112222111212221212211111111111221211222112222222222112122121221121121222121221222121212222212112122111122211122111222221211122212212222121221111212221212122221122221122121212122122221221121211111111212112221221212111211211221212112121112221222222122121121221122121112221211212121112222112222212221221112222221222212212122222221211111222211222211211112122121222221222121221122121221112212111122212121111111221222221112221122112222112121122112112121121221112122212221122112122211212122212211221211222122222211212122222112112212122211112121111211221212112112111111221212221121221221112222221121222222212222221122212222121111121122222221111211221211121112112122211121221112122212212112121112222211112121111112212212112111211122211122212221111122111212212212212212111211111212112211221212222211112112112221122122221211212211122211212211111112212121222221122112211121111222221222211211212111111222212112121111122122221211121211222211211222211211121211122121211221212112112212111121121212122212122211221122122111211122221122112122112212112122112111112111112212111212111212221212212222211121212212212222121121211221222112122221212221222212211221111222211112122222212211212221212222212222121211112121122122121121222121212221221222111221211122111112122221212122122212221222122221111111111122221221211122212222221222222111121211121111212222221212121122122122111222212221112211121221122221111221121111211221212111111121121211222122212121211221211122221211211212212111222122211222212112121121111111212222222112211122222122122122221211211211111211111111121121112212211222221212122212221221221121121221222221221121222111122111112121211122221212112212122211121112122222222112122221222211211221111211122111112122221111111212111122221121212212112122111222221212112121112122221121222211122122112112211212112222211122222111111222122112122222112211221122111112211221211121112112212212221222212221111122121211222112222212112121111111111212212211211121212212111112111122221112111211221211122122122121111112222212221212112221111112121121222211122211122212221222112222221122222111111221211122222111211111221211111222211211212112212221111211211221122221211222212221221212122111112221111112112121121121121122211212211112112212211111122211221121221122222211122221122122212212222111111121121121221121221111211211111122111211221112221212122222112122221212112221111222111222122111221221211111222112111222212212111111211211122212111211122122122112212112111112111221122221211122122222212121221121112111221211221111212212121112122212121111111111122121121221222221112222112112111121222122221121122112122112111222111212221122211221111121111111122221121122222212112211122121121122211112122212212221222112122211211221212122212122212222221111212121122222112222212221112212121111211221212212121212221112222221212121211211212212221121211122121221211222221211212221112121211212112122121122221222122111221222111111111121212222121221222211111121121211121222211212111212222122221111121212222212112211122212212121212122222222221211222111211111122222121211211212212112222112112122112222212212122211211212111222222121111211221221111122221222212112211121121212222121211212122121112121211122121112111211222111121211221111211222221222112111212211111211111121212222112211112212112222111122211222222122221211212221211211222212121122112112212212222112222222122121112121222121122121111212112111221111121122221111222121222221121121122121212112221222122221221112221122222211211211211121211122212112211211221121211112122222212212221211212211212122121212122211211211122211212112111222211121122222222121122112212121111121211212211112122111122221121221112221111211212212121211122212211222211121122221212222121211212121212221222221222212111212222221122112212211211211222112222111112111122221112222222112212212212212121221122112121221221122211122212112121122122121211212122212121112212212111221121112121121112112111221211211112121211211222112211111212112221121221221121222122112222211122222211222111221112122211121211111212112212222112122221111211222121112111221221122112122222221111121111121121121121122211111211222212112111112122111121111122111222222212122112112222211111211112122111221212222111221212212111121212212222121211112212111121121221122111111221121112112222122122221122212111221212221112112212211122112122112112122121121211212122122112211111211112221211122122211211111122211122222111111222212122112211221112221211221212112212121211222122122221222211212122222211121122222212111112111122211111122111122212222121211112221221221121121122111211222111222112222211122212211112111121212112112121111211211122222121221112222221122111212222212111112122212222121121121212221221212222221112122111211112122211221222112121222122211112122211222212122112211112221112212122111221222221212112211111122112222212112111222222122112211211112121221212121222212111112222212222121121122111122222212212111111211111111121221121122212211112111122211121221122221211122111111211212111221211122122212111121122111112221121112111212122222112122122112211221122221112211122212222211212221211122112112222211122121212121212221221211122122111122122222122121221122222211112122111211122221222121212111111122121211111221221112212211111121121112222211221111211121212112211111222111121211221111222121112221222121221111222112112212121221122121221222212112221222111111112212111212212212121212112122111221122112211111112222222212211221122111121111211111111221211121111121222112211122111112211112221222212122122111211121112121112221212222111121121112112222112221222222112212112111222122211211212122221112212221112122122212221212222211112122112122221122211222212111212221111111112122211122121212121111111122211212211122221112222221212121122211121121121121221221121112121222121111112211111121121112212121122111111112222111211111221211111111122112112111122212121222121121122212122221112212221121122222211221121222111112221221112121111222222111111111111111222112122112221222121212222122111122111111111211211121222221112121121112111112212212221212121121212212121111121212111221121111211212211122121222222222211121122211222121222121111221111221112122122121222111112111122221212221112212221211222212222212121122211121211211112211211121212221221211211212211212122222211212222121212221212211222222122221211211111211222121121222211111121112121122222112212112112211111221221222212212222222122112112221121222211121111212222211122121112122112112122122222221212112211121221222111211211211211112222222112221221112212122121221221211221211121211112112211112111222212122221122122122121222212212221222121212211121212222222222211212112222212222212111121111212221112222112112122212112211221111111211112111212212221222212212212111121212211212211121211212112112222221212112112112212211121222212112221212211111121211221212222111212212112211222222211122112112111222121211221112121222121121221211112121122112212122212111222212112121222212221122121211122222212121221111211212221211222222221211212211122212112222221212212221112222222221111211111222121111221222222221122222212122111111211122111111221222112111211222122222221212222212121111221122122121221222121122222112211212222221122212221121211212211211211121212122121121211212212112111112112112211111121212212112121121211222212112222222222111112221212122122221221211212122121111122112212112221121212222121212212111111211222222222212121121112221112222211122111111222212121211112221111111222221122122121212112212222122121221111222211121221111122111212112211221211211222211121112211221112222221121211122211112112212111112111212111211222121122112122212222222222211221211221221221121111222112212122112212211112121111112212212211221211211111112122121111222211211211212212222211112122212121212221121212112112111122122122222212112112111121122121111111121212221121212212222212222211211112221212212212121121222111111112111211112112212222122121121221221111221221221212211121211222111112112111111211112121112122212122111212121111212111211112112111211222222212211211211222112211212122121221111212222211222212221211111212121222122111121112112222121111221121222122211221111111122111121121212212221121121112122111112212221211112111212112212121121212112121121211112221111222221121111212111222211212112212121122112122221221111221111211222112112222211221122221222221122212111211211122122122212212122221212222211211121221112111112111122111121112112111122222121121221211112221221121111121112222121211121122222122121121121111221121112111121212222212212121122222121222212212121211111121111222222211222121121112111222122221121112121221222121111111212221212212211112212212221211212211122211112211111211222111121211112111212222112112211221111121122111112122111212211222121122211122222221222112221121121121111122122222221211212112222222221112122222221221211211121211121222122221122122221121222222211221222211111121121121112121211221221122222211221121221222212122111121211211121111121121211221121112111112112222111212211112122212212121221121121121212222122111221212211112122122112111221221221112121221122112121122211211211221222111212212111221212212121221122212121211122121212121211121211211122211212221221121112212111211122221111221221211221111122122212112122221221211112112122222111221221222211212222211122112212122121112221221111122221211111121212221112222111112121112112121121112222212212222111222111211212111212121112111121111222211221212122122211221112121221111221212122111222222212222122121212122112212211222112111212222122112111221112211222121111211212122112212121211121222111122121222111221121222222121212212121221212221111122222221122111111111122221121221222212121211122122221211121122221122221211111221212212121122211121222221211212211211222112121122221111221121222122121222212221121222221111111212122222122112221121112221111121211222222211112112221121112111121211111211122121121211211121121211212212221112121112212112122121122112222122111211122221111111211212221111121221122212212111221112122222112222221122222121121112121111222112121221212121211122121111212222121121122122221211121112122111122122222211212111111112222212122121112121212122111111211211211221222212121211121222222111121122122121122112121122122211211222111111221212112112211221221122221111221111111111112111112111221122221122212112222111122212222121112122212112212111122211212222121121111121222221212222211112112122111211111212211122122112111111121222112212111222112122112221122222211122111211211211122222221122112112212212211211221121121122212211222112122212221212121222121221111222112111122222211222222111111121111211211222111122211122122221122212111222222212111112111121222222212222211211111221112212121112222222111122122211211122121112222222212212111122112121221222211112222212222112122122122222111211111211221212222221112222121212221121111111121122221111212121122112221112211222112122212111122121111121221211122112211122122121112222222112212122221121222221222111222211122221112112221212221212212111211212211212111111222121211221121221221211222221221211221111111221211122212121121212221112221222121211111212222222121212211211121122211121121212122221112222111112112111121221212122112211222211112222222121112211212211112112221211112221112221112221122121222112212111212122112221211121122111212122212212221112221212222222122211211221212221212121211121222222111112211212222212221222111122212122111212222122112212111222212212212112112112211122111222122112211222211122222211222222122111111221111221211211222221121121222111212122222122111222212122211121222221211121222121212222222212122211121211212211122222212122112222212211211122212222221212211121112221222121111122121212111122222121221212221122122221111122212111121121112111121211212111122122112122112221111111221222211221222112222112112222122121121111221112111221111111221222221111122121221111122122222221221111122212122112121111112222112112111212221211212211212222212222221222111221212111222221122221221221112111112222211222211212122221212212211112221111212221221221111212121221222112222222212222212221211212211212122221222211121121112112122221122212112211122222211211212111122111122121122121111111222221111221121122112211112211121212121212121221222122211112111122222121122122112112222111221111222211222212121221122112122112112212221111222121121122212111111121222212122111121122112112222122112211221222112221211111211121221211112112221212221121222211111211221121112221112112221211111212211111112112222221121122221211111112211222221121122121221222211221212122212221221221111211211112112212211112211211222112112112212212122122122221211221111221222221211122211211222112112111211111122212111122111122122221112212222222112222221121221111111121111112122111111121121212211122221112222221112211121221121111211122111211112221111212122111222211112212122121111122211121222111211212121211211121211221221211212221121211111111121121221211221121222212121121121112112211112121221111112212111221211121222122222221222121112121111211211211221222122112122122112111111222212221222211221121111112222111111111222221111211121111112122222212112121222221121221222111222212211211121212221112111122222111221121211221121211221222121112212211111222112111212112211122211222212212112221221122121222221121212112222112111211221212212121212222112221212221221222221221122211221122222121222211122212121112221221121112211111112122221111121221222112111212121211112122212111121222121111221111212111112222112112221211211222222122121112211121221211121211112121221112211222112111221112121212112111222121122121222121222121221121221222221221222121111222112221121222222212122122112112111121221122112111111211222112211122121211111222122111112121112212211221121211212111221122112211112121121212222221122222221212211212112111121222122222221121122111112212222121212212211211121222221222112222112221122122122211122111211121111211111211112221212222112111112121211211111111122111112212122222211221111112121111221111112222122121111122221121222211121111222222122211122212112121221112212121111212112121112212122222222222211121121221211112121122222112111112211222212112221212222111221112222212112121221221221111212211221222112211122211211122221112221211222222212122121122211222212122111221112221212112211211122111112222111112212122222222111121212221212112211122121222211222111222221222111121222211112111121111121121222212211212211112221212112122212211222211122121221121212111211111122122111211222212111211121212122122112112212111222222222222122212212121212211112211221222211122121212111211211221211222121111212121121111111221121111212122221111112121121221112221222111112112112112111121221112111212211112122122121121222121222221112212221111222221121212122112122212112211121212111112112222122121212222122121221112111211222112222111112212112122222211221121121222112222111121221122122111111211121212111212122122121212121222112222222221221122121122222212212212111112121222122211111211112111111221122211212222112222211221211121222222111111221212112122212121112111112211222211221121222222211222211111122112121122221121212212221222212122122122212112221212121221221122222111221222221111211122221111221112211111222111221121122212112222111211211221111121121211121221121211222122211122121212111122121222212222111211121111111121122122111122211211122111111112112211212211222121212122211111112212212111121121121221122221122112211121122211222112111221221111212221111222211221112212122222211212221112211221211221121212111222122222122121111112221111221212122221212111222121221121112121121121122111112112212221222122221111222121121211222222111212211212211221211112121121211221111122112111222111112211111212222111122121112221112212121122222112111222221111212222221121111112222111112112122111212121222212122121221221221212212221111212111222221121212112111121211112121211211111111212121221112112222122121211111222211121211121122122222122121112211222212121111221112121222222212112212211211212212212212122211211221112222222211121121221212211121221211221122222111112111111111221221221112112112221212211121222212212121121121122122221122212222212222122112211222212221211221211221222221121112121221212212122222121112112122221211212211121122111221221111121112122121112121121222212122222111122222212221121222222211211221111121211121111222112222211222122121122221221111211122111112211222111222212121222112122222212221121212111211111211122111122212211111112222122122111212111212121222111212221211112211222121222112122122222121221111112211112212122212111121221112222212222111111211212212121122221222112222121221211221222121212221121111112121211211222211211211221212211221111111221121212121121211112221212212222212212112112122111211222222221112211111122122121212221121111112121222222121112222121221211222221222111112221121122122121121211222222121211211122212121211122221121221222122121121112112211121112121112212112211121111111222222122121211211221222221212221111222212211122111121222222111121111111222211222211121221112112211222221212221211122121212212112221221212111221111222221122111212221111112221122111221222211111211111211111222211122121122112112111222112211222111212121222122212222222212121222121212211211222122222222211221212111212211221221112212221211111211221121112212112121222111111112211111112222222212222121111122111212121212221221121221121111222221212212221111222121122221121112222221211211221112112111221122121121221221111211122222222122122221121221122121212111111212121112222122112222221221221112112222221212121211121212112112111222111211212111121111111221112112221121211222212111211212122111122211122122221222222122211212212111211121112222211121111111211122211111112211112221122112111211111212222212222121111211222122111121121221221121212121221122222122221111122212222222222111221212212221111111121211121112121211112221122112221122221222121221211222121211122221222222121121221222122122122111121221221121212212122111122121112211111221112221122211211221221122122112211122212111222222222112211212122221211211112112112121111212212111222211111111121211222211221111111222121221212212222221112122122112221121122112112121112112211222222211111112112112211121112122212111212121111112212111111211111221121222222112112211222111222112212211112121212112221212121212112112111112111111121222112211122121121122122221122121122222112111222112112122212222222211211221111211112211221222121112212121221122211112112221112211221221112221121111212211112112221112211122122211212111221112212121221121212111221112211112211121221221121211221222122121111221221112221112212112112112111111212121211221112222212121221221111122122122222122111221212211222222221111112121112111222121211112211212221111211221111211122212221211112211212111221211121112121122222222122221211122221122112111221221212211221222212221221121222222112222222211112212212222122211212112112121212112222112221111122212121222212222112212112212111211111122221112212111112121211112221212112111221221122211111122222112111222211212121111211122112212211212211122211121122212111211211222212112212212112211211111211121212222111221122221122111121111221221111221211222111122222212211211122222221212121211121212112221112111121221111111211211112112221211212221212212122212211221212122211121212111212211112112221122121121122122122212122122111111122211111212111211112122111111112221211211211222221121222212121221121121211111122221221222111221121112121212211222212122121211221121111221122211222212112111122112111212111111211111111221221122111121121211111221111111112121212121212221211221221222211212222121211221122212211111122212222111121121212221111211122222121121122212121211122211111111212121111221211221111121122112112221211211112222112121122122111221211111221212122222122222212112111212211122122222122111121122112111222221211221112222211212122211121112122212111121222122221221222212122122221121111221222212121211222222221222222111111112121121212212111211221112211111222212211221122112112222112221222212112211122212222112211112221121111111122112211211121111222221211121212111222121122212111111122211212122112112222212111112122111222111222111221221111112222112222112122111111211111111211122211221222212122222222112112111111212121121122121212121222112121222122111122112112222212222212121112212212222211212211221212122111121222122122122111111111222211121121212212222211221112111221222111122122111111111221112121122122211222121121112221121121212122111221211112122221212221222221212212122122122222111211112212211212221221212222212122221121122211221121122221122222221122122211121212211122221221122221211111112221112222121212211122211222221122211221212211222122111111112122121122112212211122111121122211121222122222221112121122212212122121212221112121212111222112221221121222211122212112121121221221221211222111112111212212112211112112112112211222122211221222121111212122221222221121211121211221121111111111212112112122211212121122111121122121212121121112122111221221112112121221212212211112121122122222212222122112122121221221112111211112121121122222221112122111111121211211111122111212122121211212221112111122221222212111121211111212112222112221112122122211212122112111122221111111211212111211121111121221222212122211121111122222111111222111222111221212212121121121221222112222121122122212121221212211221211112212212211121121111121212222222112112122222212121211122211112112221121212212211112222122221112222222211122211212221111111212112221222211211122211211122222222211221221221122211222111222112212111212121221122112212121211111221211121212222222212112221111121222221212222211122121221211111211221121112222222221121212111122121121211111222121221211222122211211212211111121111212121112112122222221122221211112112212211212112212112211121121221111221222111222111121212221112122121211222211111112221222111222122111121221111121121211211111111121211112212121212122111212122222221212221212221222121112222211212122111111221112122211122211221112211111212112221211111121222122122221112211121221222212212222111111222212222112221122121222221122111122122122211112111122221221212212211211111111212112122122211122121111121211221212111222112222221222212211211222121111221111211211222111211211121211212111121221112212111211222222121211122121222122221211121112222221111221211122121221211112211212212222222121222212222111212222212222121122112121112112221212112211112221111121221222122112212212121121212122211112122112212221212212111111211211212212222221222112211211211212212211211212222211221212222111222222221112111222112221121221212221111122212211122121212222122121121221112221111122222212212122211122112211111211211222121121222211112112112212122222122111222121111221221121111112112221212122111211122211212222222211112221211221222111121122221121122221221112211111221212111211111122222121212222112212112221222211212111212211222211212211222121212111222122112121222112211222121221112212112221221221221111211221122212221222221121212222112222122112122122221112212111221211122122211222211122212221222112111211111211222222211221222221221221121211112122211222221122122112112221222222211211122211111221121222211212121222221221121122211221121122212121111222212222121122122122121211112122122122212222121111112211221211121111212112212212122122121121221221222221222121111221211211222222212112212111222221112111121221222221222122122121122121112121111112221121111112121121112221122212222122221212122121212211212122222222212222111221212121121112121211111121121212222212222121111212222212111222122221122121221222112212211112122221221222212212122212211211112211222121122211211211112121111112112221112121211121112211221121212211211122221112221222112121122222222212222211212211221222211212111221112121222222122112221211221212111111112112211111122111211121112111122112112121122112211221221221112121212222112221112222111121121222221111122211221221222111212212222122121221221212212211121211212122111122111212112112121222211121221211111222212222121121212212122221211121211212112111122112112212122222111222121221121212121122112122112122121221122112221212222121211222221212112221122221212211121111211211211212112111112112211112211212211111122121211121121221112111121111222112211112121121111212212212212112212111221212111121122211211211212212112121221121111122211121121221211221211122112112122112222112221122121222111122221112222111121111211221212111111221211221212222221112111221112111111222222121122122222222121212112121121222211221211222222111212121222121211122212212212121111211122211121122111222122211211221121112121211222212122212111212122121211222222212211211122212111211122212121211111111211112211221111122212222122221122222112111212212121212121111221222212212111221222211212121112122111122122222122122122211221112122111121221111121121112111212212212221222212121111121211111222112111122222121121221112211211211211112112121212222112211121121112222211212112212122222121211122212111112111212222121112121222222222221212211222211112222222222222212212222222121111111212221111221112112211111112211211221222121221122111111122112111211111212111121121122212112212211112111222221212222211211211212222122221111122112222122212121222221222121222122212121221221121122212111211112222121122211112121221111121122221221122111222222121121121222211121111112222222211212211221222222211221122222211111221111221212121222111222122211111212111122211221212221112111121111222221212222222222122112122221121211212222212222122222212121212211221121211211121112122222221212111121111212221111221212211221212112222211111111112221221122121221221111212212111122212211122111211221221221212121211211122212211122222122212221221222222121212212222212122221112121222111121112111222221121112121121121111221221212112222112111211111212212211112211221112112111222122221111222122111112121212112221121222111212221121122212212112112111211112122121122122112221222212211211222211122222122212221212122111122121222112121112112112222222121121221112222111111222121112211112111121211211112212121222211121111122121211222122121112121222211222122122122212121112111112221111111121211222211222222211211212121211112211221112222211221122212111211121122122121112112211112122222111212121111212111211212112112122112212212212222222111222222121122122122212212121112122212112121211122212212221122212212122211211221122211111222212222112122222122211212111112112112111121222111111211212112222212111211222122112111112112121211121222211221112122222221212121121111212112121222121111122111222111211212111211222122122121112122121222212111121111121121112221122121121122112211222212222211111221221212121222121221221211111221121121121111222112221112222221222222221112221221122212212212112111112121211111222111221122112112212222222122212221122122122222222222122121222122122121222111112221111122212112222121112211211212212221121122111221122211111222121211222122212111221222221221111222211111212112222211122122221112111222222222212112212111112222222211112121122112122111221121111112111212211221222211121122122212221111212211112221211122111211121112212211212112112221111121122222212121112222112222121122122121212122111112222221212221222121121222222111111121211211222122212221111112112122212221221112112122212121211121121112111122112221121122122122212111222211112222212212121111211211221122212121221222221221211221222121112212112222221212121222121221221222111212121112211221111122211122212122221112211112121121122212212222112212122222211122121122211221222122212122221122211222221112121221212112221111221122121222222212222121121211121122222122122212111212211112111211211211112212211221121212122212121122112121112211212111211121111212121121121111122121211212121122211121211212112212222112121211221121112222221211212222222211221221111221211211212111212222111212111122221121211112121122122112212212221211121122222122111121121222211112121222122222211112121112112211211122212122222222112212121112122112222222121121222112222112221211212112221112112112212212121111222222221212221222112212122121211211212121111212211122112111111211211111211121112221122211122121111211121111212211221211121221221112112111222112112212221221222222222222112111111121111111221122221112112121111122212122112211222121221211211121121212222221212122111111221222211222112222211111122122221112221222222111212211121111121212222111112211112121112112211221211121112221122111111121112121121211111222222211111121212212211112212222112221112212121122112222222112122122222112212212111122212121222211211112222221121222221112211212122112121111221121222121122111122112212212221122122221121111112221112122212211221221222222211112221212111222111221221211121222112211211222222122111121212122222111221122122211112212122112222122222222211112111211211122121212122221111212122112222112221111212112111222111111122112111211221121221112212212211211122222121222122121121222221122222221111121121111111122222111112221121221112211211222122121211212111111222121111221221212221122122121111111121112221111111211112221121211212211222112222121221122122211222121111222122112122211112111212221111211122121211211111222122212121111222111221112221222221122111121212112221111112212122111122212121212111211121222221222222221122211121112122211111222122221222121222111121121211212111212112212121122221211212222112212112212122112211222212121212212221111222212121112121121222122111221112122121221111221212121222112111122121211112122112211121112121121212111221221212222212211111211221111222111121122122121111121122222221111221112121221221221111222221112221122212221221221122211221121211112221111212122222122221112111112221212122212111111112212221221112121121111121221122111121211111121221112122112221222221122122212112122122112111222212221221122211121111212212112111222122212212111222221212211221121211211122122212221112121122212221111111211121112121212211112112212222122122212112111212211221122112122112212121111212121122122211122111212222111211111212121211222212222111121221211121221112222221211211212121212221112221221111111112121221122112212112112212112222221121221111212211112111211122222112122111112221212212121211111211122221222211121221121222122121221221111112121111211122121111212121222221222121112212211222221122111221221111111112111111212112211222122121222221112121122122221211122212112111211111221111121212111211222121222221121121121221211121112211112121212112122122222122112111211211121221112221221211212112111222211221112121212112221122111212212111222221221222111121221122122222221121221212211122112111222112211221221111122121111212222112112121212211112111212121211211212111121222112112222111222211222212121212222122222122111122222221221122111222212221121112222222121121111121221212212212221121111212221121111112222222222211222211212222121122222122112111222222222211121112112112111122221211121221211111221211111112222111221111122211121211211221121111121122112121112112221212211122111211222111212112222122121211221212111121112122111121212112122212212211121122111111212212111221112221222212122122222221122111211112121111221212121222112122221211222221211212112212121121211222211221222122111222122221211221111222111111112222111211111121211111112211222112221212222211221121222211111111212121222221122112211221222122111111122222212222222221112221111122112122222122122212222222111221222111122121122111121121211212212212111121122111221112221112222212111211222212111221122221221222112222212112212122111211111111112222221211122112222221111211221112221212111121122221211122111222212211121112112212111112211111112212121221111122122211222111211122221222211121222121221211121111122221111212122222221212121122221112111121221222112121212111112221112122121112221221112111221112212112211221211122212122122122212122212121111212111111111212211122221222112212222111121121112122111221122121212122221211111121211212122111111122121212122211222222211211212121112212112121112221221111221221112121121222121112212212212222221211222212112111212222222122222112211212221212121111221222122111221221222222122221122121121112112111212221112221222112211211121112112121211122121121211112121112222222112212211122222121112122212221211221112211121111112222211221211222111211212112121111212212221221111122122212111222212222212122222111211221222222122122112122122112121121221122121222212212222212221211222122111112222122212111121122211112211212211222212112221122112222111212221221212212121221111212121222222121222222111112222121222222211221222222221222221122122212111122112121222212212111112121111111211222111221111211212221221212221221221221212122121122211212111222112212221211112212222221221212122112211122212211211222222122121111122222121112211222212222121112121122222112112212111121222222112111122212212222111111221221121111111212222111221112211111112221112121122211121211222122111111122212221221121212112112112211211212121221112221111221121111122212222212212211222221222111111222111122112112211212111112221122122221112121221122122121221122211211212121122212222112121222112111122121122122211112221211122221111112111112211121111221211111112112222222221112112221211122212112111122112112221122122121212211222211222222111122211221112121112222112221111121121211112212112121121222222221222222121222112111121112221112211211112112211122112212122221122122122212112112122221221221111111222122122222221222111221121122121222221211111111111222112212221122211111222222222111211111111222111122222112121111221111222211221221221111122121212111222221212121211112221121222122112211111112111212121222212112221112211112122121212211111222111211222111111222212221212212222222112112222221222111222121221222121111112212221112222112121221221112212211212122222211221221111212212222212112221222212212212212111121222211212211222111222212211221111222222121212211212112111121222121222121121212211111211122211221122121122121112222221221121212121212111121211111222112221221211221222221211211212122221221121222212122122112212222122122211111221212121112112111221211211111211212221122221112121122122122112112211121122211212212212211122212222121122211111222222221221211121112121221122222221112212112111111112111122221111221221211122211121122122212221222111122121211212111221222122222111121211221221211112111212111212212121221221122222211111122212222111212222221221122111121121221221211221111122211212112212112211222222111221221212222222222212112122112111122122122121211111112221211112211222122112222211122111212112211221222122211221212112211111211112211121112121122221212112121112211222212111212112111221211212112111121222212221121212211222111222212122212212112121211111211222122211112121112221221222121212111111212112111111211221222121221211221111212212111212121211121212112122111112211111121211222222111222222212212211221211211111111212212212112122122211122212121121112211212221212212111111212112222111121121122112121112121122112221212212222212211221212122222221211122112112112121212122111221112221121111211222221112222221111122121111112222222212221212222212211211111112121221212121221212222121111212211222111112121121212111221212121112221112122222122112211112112111211111212212221222211121121212111121221212211222121111111111212212112112222212122112211212112212212112211221122111121121222221222221211212212121211112212212212121222121111122112222112222121212221221212121211212122111221111112211111221221111211122211221112112121121211211222221111212222221221112121121111111211111111122111221122112121212212122222212221221222222221211112211121211122122121111212112222222122121212122112121221221221211212112211112122112112221222221122112211221112211111212112111221211122122221211221121222221122222212211221222121221112122212211121121112111221212222121112211221212121221211112222112111121122222221222111112221222121111121121222111212211112112122121211221211121112221121221222212212121112121222121112212212111212211221121211222112222211212122112121212222211212222122211221121121112121221211212221122211112112112212211211112121112122121112211211211122111121211211211212221222112122121112111222121122112122212111112212222121211212211221212121122112212211221112122122212112121211112111112221121121221212122221111112112211121222112121111212121212112122121121111111222111112221221221112111112122222222222111212221211111211111222211211211211112111221112212212111221112111112122212121212221112112122122121221221222112211211112121121222121221222212212112112122112122212222221211222122222111121211122111112212112222211112221121212212112211112212122212121112222122221111221112112222121111112121111122122221111211211111111122221211122212122112212121122212222112111121121122221111211121121211221212221112221112211111221121212112221221221212121222122211122221122222122111221211211221111211211122222222212122112212122222121112222221221122122112111122121212122111211121111111212222112211221222121221111121221221212211122121121212212222122122221222122121122122221211112222111222122111211111111121112212222221112222121221121112111211222111212122112111211221122111221111222211111221112112212121112222121121221212212121222112211212121222221111222212211111221222212222122222211112221122111221112211212222211121211221221212112112211111211222121212112211111111211222211111112211122212221211122122111212221111212221211121112212222222212222122222211221212112221212211112221211111221222212222211212112112222222111221211111111211112222121221212211122222211222121122111212111121111112211121112111221222212111112112222121111221121122121222121121121212221111121211221212212121222222122222122111212121122222111121121221222112221121212222122112112211112112121211122122121221211112222222111121121222212222211222212211212221121121222222111122122111222122121212221111112211212211212212121212122111122221211112211211211222212221112212221111122222212211121122122111111122122111211212122222122221212122121112212212112211212211121111112222122111112212112111211111121212122211211122212211121112221221122111211112211111222221212112222212212211222211122221212122211111221121111221121121122122112122112211212122221211122212112112111112122212221121222111122111211111222121211122122211112122212211122122221122221221222112112221122111212122221212212212221212112211221112111212112212212111111222212112121211211221212121112111112221212222112111112221221122211121211111212121211112222222111111111121112111122111211112212122111121112222222211112112212121112112221112121222212112122111212221211222221221121222212122222111221221122122112211222122212221222212222112111122111212211121122212222222212112122121221211211221112212122211112221212111211112222111112121122121121121112222112221211222221111211121222112112222111211121112221111221221212212111212111222111111211121222212112122211221211212112222222211212122121212221221121112212221222212122211121121211112222221221112112122212112221221111111111221111121222121212121112211211111221122212211211112221221112222121111112211122121112111221211212112212122222121222111222221121222212111221121212222121112112121221211121111211212121122121212122121112221112121112211111212122111112122222111111211122222122222211212121211222221111211222222212212111122112111212222121111212121221121111211212221221112121212212222111212211111221121111211211221222122222212222211211121222121221112112121112222122222112111222211221112221211112222122122122222122222211121212212221111122211211121122121221111212112221222112212122222221221212121122121221112221212121212112222121112121212122211112122121121212212222221121221112212111112112222221212122122121111112122122121122122211121121212121121212222122122222122221111212111212222112212212221121112112112222122122111222122111121122112122111221122221121212121112121221222211122222112222111111212111222221111221121122221111121212222121111112221211222222121211122112121112122212121121212221122111122122111211212221211122121111221122111221111221212221111211222121222221212222222212222222112221222121221121211112111122112122211222221111222212112111111121121122222122112222221211221211221211121212221112111212111122121122211221211212222212222111121212212122212112122122211222121212121212212122221222111211211212121221112112122211111211222121112222222112211111211222222111111211222112222212211222122112222112222121121121212221112222111122211111212221112112221221212222212112122211121112112222221121121112212122122121111121211212221212221212221211221112211122222212112221112112222211122212111212212221111222222222112221211112112222112222212122122112221122112122112221111221211122121211211111222111121222211212122212221221111122211121111212111222221222222121221111112211122222111211111122121112112121112122112121211112211221211122211221121122222111121221222222212221112221212221222211112112112212221212111111211121121112122111122221211221122122211122122221112111121212222222121212211222112121112121221122222122111212112122222122111122111122211221122122222212111222121112212221211211111221112222212122211112122221122122222212111211121112121212112212211221221121212221211122121212222212122112222222122112212112221111121111122221211111111211222221222221211111111121211221211212212122211211111122221212112122212221121122221222111122111112122221112112122111112222221112111112221212222211111112112112221211121211222221211121112221221222122112222121221212122111122212112112211222212121222121211111121221112222122212221112122111211122222211112222121212112112212222221122121212111122212121112211122122111222222211221122122222121221212211221121221212121222112121121222111211221112111222221222122211122112111221112222211221211221221212211211112222122211211211121112212221111212122122111211122221111222111212212111221112112122211111212111212222112212121111211222211222211212112121122112111221122212112112211112112212122121122221121222212122212111121222212212222221211211112212211211211212122111221221211212111112111211212222122222221121222211212212122122221222112111212122111211121212211121112122121122212222212211221211111222111122121121222112111122222221222121112221122112111121221112121221122222212112121211221111121122221212211112222111222221121112212211112221121222112212221222122122121222111212112211111221122211111122211122112212212111112222222121221222211112121121112211222122112222112112112122221112111122112112211121221222211212221212211111222112212221221212112111221111122112211121222122121122221122122211212222111111112112222221211111111222121122212121221222221122221221112222121211212112221222122222211121221121212212112122222111112221212212221222212122211111221112121112121121122211111221111212122212121122111212111222222111212112112221211221221222222221111122212121122121211111212112221122122121112112112211222221222222112121111221112212122122121222112111121211111111111112112111112222122211212112112221222211112221222212111222122112111111112111121122212121212121122111212221122211211111111122121121122222112111122212121211111121122221211112212111211122112112112111122211111212122121222111211222211211221112221211122221122221112222211222212211211211212111211121112121211121211112221111211212112111212121211112212122111212111212211221212221222111112222111122121111121222121122121211122121212222221121221121111222221211211112211212122211121211112212121121111221222111112112221212121122121212211112221222111122122212222121212222122211212112111211212121222212211211122211221212121112112112112221111121221121121121122221111121211212121221211222211112211111121111211112111112212111112121111211211122221221111211112222122212212121111211222211111121111212212211122221222111112212221222212221222211111211221221222122112211222122211221211212112111121212212111222121112122121122212111111111111221221122111112212112212222121211211211122212221122212111222111112221122111211122121112221121111212212112221112112111111211112112212112222211211111211222211212111212112121111122221212212122121121121212211221211111111122112221122121211211212112111221222221212221221111222121212111212121212111111221111111221111111121111111212122211122222212121221112121122121212122211222222222122122222122122211211122222211211222112122121112122221212212221112222221121222222212221222112112211122111211212121221221212122111112122112112122221222222122211221211112212211122112122122111212111221112222212221211211121211111112212212112211211122122122121122222112211211212121111221222121111211221221112212111122212212121221222112222211221111221122221122111112221211112212222112111111122221212211212212121212212112221211222111221222211222212221112122121122111122122112122222221112212112222222122222212122221212222211221122112111211211121221112122122221111211212212211212111211211111121111222122221122122112112222121221112211221112211221111111111211112211222112212211121112221212122111122111222111222122122212122121212212222122212211111112112222111222111121212111222122112111212111212211112222211112122212221122222122122121121221212211112211212221222122111211121122221122222212121211111221111121122112121211111112121211221122222111121112211221212111221121122211121211111111112222212222122121112222222121222121222211211222211211121211211111211221212212221112111222222112112222121112111112211121212211112221112211212222222122111211222112221122122111112212212222112212211222122221121112221222212122112112121221122211122121121112221122221112212221222211221122222221212211112222111121221221111122212111122121211211222112121121121212212111211221121211211111122211111122112221121221112121212111112111212212221212112211111222212111111112121211111221121112221212112111221122211122112112211121221111211211212112111212222211222112212111121211212212121222112211211121122222222111212121112211222111222221121221212221212122122211121212111112111111212111212212221212222111211212111122212112212211221211212122111121111221222211221111212211222222221121121122111112111111122211111111211211112112221211222111111112211211221112222211222122211222222211122211121112122211221122221112111121121222221212212221222221112111112121222222211121121121211112222122121111122212212111211111112212211112111112111221222122121221121211222211112111121111111111122211221211222121212212121111122222121121222211222221221121211222122122112212211121221111121222211211112112222121121221211221221212122212122221121122111212222212221112212112211122211222212222211222122122212121122121121221211222221212222122112211121122111222111111221211112221121111221211211222222111222211122122221221112211211221112121211221211121121222222222222221112211122112212112112121122222122121112222212111121111222211112211222111122122222212212211122111211111122121121221211112121111122212112121222221112222111211112112221212221222222122111212112121222221211121222111122112211221122211222211111221212212112121121222222222221121211212221222212121121211212211111212222222121111111211211212122221111111222212211221112122211221222112121222211212112212212222222122121212222111112222112211211121112112222221121112111221221111112211211221112122121122122111221212111222112222122121112212212212222211221112222121211111212111221111111122122122211212221221122112112212212221211112122112211221212212121211111221121111211122212222211122212222221222221111122211121222221112221222111221122212122222211212111211121222212212122212212111121122121222122211212122222212112121122211212122122211211211122212121111221111111212212211211221112112111221122222222122212122121222212122121112222121212122221222221211212111212122211121112111221221112212212221222111212121122212212112211221112122211211111211212111212221211121212211112112111122211222121111212212212112121111212112212212121121122122211111111221112122112222111111221222211122221121212222111211111221222221112212212211121222212121112111221212111211211221222212221221122112122112212222121112122222212212212112111121122121121111212122122112221122122221211222112111111212211122122122121111212212212112122211122121112112121121221211222221111212112211122221112111122212122211112212121111111212212221222221212121221121221221222222122211122222221122212222211221221211221111221122211111111121221222122221212121221212221222222222211222112111222111211122112122222111121121211111122222221211121211121122212122221122221212122212221122221112112221211211121122112212112222111111222212212221212121211211121222121121222111222221122112221112121221121112112121121222121112112221121112112221211212222212111112121122121111121221222211112221212112112112211211121221122221221111112212222211212112121211221121222222121212111211112211211211222122211121121112112111211221121122222222111211211112212222121222222222121221222112112212212121222122211121211221121222111212211222222212112121111112212111122221222211122212122222222211112222121211211211121211221121121111112212212122121111212111121111121122112121221121112122222222211212221222111112212222111122221121112222221221212111112122121211112221111221221112112111112222121121222111212212112121211121111221222112211111212222212212221112222222122222212121212221222212222122121111121222212212121222211111222111212111121221122112222121212212111111122211211112122212122111222221112112222122111222211122111122211221112221111112122121222112221222112212122211121121112211122121211112212112211121221121222122122222212122112222111121211111122212221122222111222121121111122212211112222211221222211112222211122211212111122111122221122211221122211211111221121211221211221122212122222221211211221222212111211121221122122222212122121211121211222122111222122221211121111121112122111211122212222221112221222111121111121121122212112221222221121112121211212112111211211121221121211112221121212212212221111222122222122212212221111112222112211211211221121222211222122212212222112222112211222111111121121222212222222112121111211122121221121122212122122122111221211121122221212122112122211122211211112111112122122121111112121122222112211222111221122222222211211121222122121212111111211222122212211112222122111211222222212212122212111112122212122212121111121121122122122221212222222212222222111112221112212112122211222111211211221221221111111221212122111112121221211211112212122222212122111111222221122211212222121221112122122211222111211111212211122121112222112221211112121111122122112111121212112111221112211222121121222212112212211211222111222221222112221122211112112122111121211112222122122121112112112222111111121211111221122121222212112111112211111111211112121221112211211211112212121211111221122211111221212121111111112122211211222121221211221211222222211211111112211122111111222112111111111212122222222112122121122222122222222221222212111211221111111211221212111221221222121211112212212212222211221222121211222112211211221121221122111122112112222222212212122221222222122212222112121221121222212211111122121112221211221122111212111121111122121222211221222212111211212221111112212222111122212222211221211112121211121121211212212211111121111112121212111111221121222122111222122212222112212222111222221211111112122212212212221212112222211112122111212111111211111222121122211111111221112122221121222221112111221122221122122212221221222222212211222211222122212111211212122111112221212221212121221211111122112122221221122112122121212222112211122212211112122122111221212221111112111211221121122121112112111122212222221111222222222111212222211111212111121212122121112221211122122121122112221122212122222111122112221222111221221121222112222121211211221222122211212111122112212121222121121111221121122111121211121112121221112121211211111112222221112122212222111222122111221212112111222112111222121212212111112111112121122111221222122211221211221112222221122122222222112212212222111212121212211221121211112211112221212212122211212211122221112112122111211121111112222222211221222212212121211221112112122111221112122221111112112221222211121221121212222111221212212211222111221221122211121111122222121212111212221211212222221211121111222111222221211211121122211212211121221112121112121212221211222221112111122211221221122222121111221122122221112212222122211112112212211112122212221211111122121222212211222221111212212212222121121212212221112122111121222122221222121222122212221122212211112211211111221122211112122121212222121222111122212211122112222112122112121221111212111212222121122212122122222122222211121212122222112122212112212212211111111221222112221111111121122211222212212222121221112111221122111212111112112111111122122222121121111222221121221112112121121221112121211111121111221221121211212221211121112112211111122111222112212222122111221121211121221222112112222221112111112111122121121121211111112222111112111222111222212222211121112212212212211211112122222111122111222211211211222221212222222212112121211111211222212112222212212211112221122111222222112211112121112121222222221112222221222121111221121111111212122111121221221121221221112221122122212212211121222222112111112211121222211122212122222212111121122111211121222222212222122121222111122111122222222112122122211112222211221112122111221211111122212122112111121222212112222122221121111212211221212111221221221221212111221121121121212211221112122222111222211122112222212221222222211211211121112212211112122211111111221112121111222221111122112221122212121212221211121121121221212112212122111111222222112221122121112222121212111112111111211212212111122211212221221222212211222112122111211121222222222111221221221111221211211122222211212111111221111211122221221212122122221222111221212211121222112211222112212121212222221121221211212221221211211221212112112111122211212221121212212212112121211212121211111221121111111121112222222111211112212122122221211111122121122122121222221212211212122111122222112122222122112122112211211112222122111221211211112122112212211222221221112222121212222221222221112211211122122211221112111222222222212121222221222222112221122212212121111222121211212212122222212222122221112112122212221211212222212122112211112221112121122111212112222122211211122122122211111122212211111121221212111221122122211112122122211112211221112121111111212211211211221122111221111112222221122111211112121211212122221122211211212112122221211112121122112211221122222212222122121122112211112122111122121121122221222211122121112211112212122211122111112112121211111221111111211121212211222121211222211112212122111112122222222222112222111211212212111122221111211212221121121122222221211211222222211122222211122221112122222122121122211222212212221222222211122122112221222212212112122211112222112112121222122122221122121222222211222212212111211222212122122222212221112121211112112211211121222222122112221122211221122111112221122112121212222121111122211222122221212111112221112212212221111111211111122212222112222122211211122122212112211121212221121111112221211112212122222222111112212112111212222221122211112212211111222212111111112111112212122122221112111112211221121121111221111212222222212222212111122211111111112122122221212222112122121222211221111121111212122212222221112212111222112212121111222222111121111121122211111122221121211211111122222122221211111112122212222211121121222211122211221122212122121212112122111221121212222211222122112212111122112221212112212122111222122122222121111212212121111221222112122112111111111122121221121221122112212112121221222212122211121222111221212211221211222211122112222212112212221222121212222122121221111112221112212211112111121122112212112111221111111212112222111222222121221211111122212221111111112221222211221122211112111212212111121222112211211222121212122211122121112221111221111111221122121212121221121112111111221211111112121221121111121222222212211221212111212211111221121121121121112121121211121212211222121112121111211211222122222211121212112112212221122221112111222221112111112122212121111121221112111222112221112212112211112111222111111221222112121122121111111221122112211112121112212222121221112111212111121221111221212111211211112112121111111111112221112222121212122121111122122112222111111221222211121122212121221211211211112211222111212111222212122122221221121222211211121222212221122212111222211211222221121112111112112122222121222222122112212212211122211121211111111222222212121111111222111221221111222122112121221122221112211111221212211212121122221122221222222122112221112211212111122212121221111111112122111111221122122111112211222221121221222121222212222211212111121211212222121112221111111222112122111222121112221211221121112122211112222121222112112121111221111222121221222212221122121211112121221222221222212111122212122222211221222112121112221221221211222221221221122122111212211111211212221111212211111221212222122122221221212222121212112122121222222211122212222121222212221212122111212121111111221221111212112112112122222111222221111222221211112211112111221221211221221211122112112122211221122221112212122111221221222212122122211212122211211222111121221212211112212212111211111211112221221211212211212121222221211111121222111211212221121111211211112112221111122112121122111211221211121222122212111222122221111212211111112121221222211221112222112121222111111111221121112222212211121212122111122212112222111122222212121112122121222111212111211122122212112121222212212112222111221112212212221211222111212211111112122112211112211122212122222121122111112121211111121122112212221122211221121112112221122122222211122221222222222212122222112212212121122221121111122111121122211121112211121212121112221111221222112111122121212211222212112121211211111211222222112222112112112111122212212122121212122111122111211221221122122112212211122111121221221221121112111121121121111212111122222112121222112112111112211211121122211112121221111121212122211122121211112211212221212211111112121112121211211211122211111212222221112122211112211122121212212112121211121221112122211221111112222112211121211222212111122122221211121222121221121212212121121112211112211221112122111122111212211212221121122121111212122121221121211222122211111222122221222212122222212221122112112212112212222111121221121221112211112221121221211122112211222221211121112211111111221212122121222222111211122112122212112221221121221121121221211222112222222121112112221112212211212111112211222221121121121111121222122221112121122212122222112222121112112122111112212211111211122122111212112212222111121222221212122211211112221221222111211122221112212122112112222221112212211212121222112121112112121222211222211221111211211222121211212112122112222212212212111122111211221122111112222222221112211222212212122122121111122211222222212111221222211212121212121122111122122111221221112211211221221221122212211111221221112111221222112112121212212122112122121122121212211212211121211211222211111212221121221221222122122211121111121221112122121222221111121121211221221111222112122211221212111111222221221211122121212212222222122222212211222222111222211111222221111212211112222111111122211222222211211111121121121122221121112111122222212112122221112122122212112211122122212121211112112112111111211122212122121212112211122222111112111121211212111221221121121222112121112222212221122122221121222211221111112112222111121112212122211212111121222212211211222212211112222221212212221222211221221112221122121211211221121212212121112212211122112222122112112211121221111112122122221222212121212212221121111222211221122212112111122221222221111212122221111221211212222221111212221211211111122122211212121221112222112111212122212121221121212222212221221212221112111222112222221221221222121111222212121112122221212122122212111121212211222212122112121121211222212121112122212112221212122122222112212112122112112122222121212221211122221211121122112222212221222112111221112222121222211211221112221121111222212112121121211112112111221212211112222111212212122211212122212111212211122112111122221111212211112221222122222222121212121112122211221211221111211111212112122111112222122121212221122122121222121221221121221211211112222222112122121211122222222121121221221122222121111212211111122221211121211121212111212211121211221222221212111122212212212112121211122112121121112111211212111212121121212212112122221221111212221112122222121221122121212212111111111112111221212121121222111121122211221112222112211121222222112112222211122121121212212121212211122211122112222112121211122221212111222112111112221212222222211121221211121221121122122112222121222112211221112122121121211212112222121112121221122222211111212112111212212222111212221222212221111212212122212112112121122112222221212212211212221212122221212112111112112121122112222121212221211122221111211211112112112122111122122121211111211221122222112211222121121111121111222121121111111212212211112111211122122111122221211122211211111212121121111122121211112111211122111221212112222221122212212221122121221112222211121222111122121122122112222112222112112212112212222222212112121122222221211122222122211112121121222111221212111112212211222222221121122121212121112122212221111221122222212221112212122212111111222222211122112222221111212222221112212122222222222112222211212121111122221221212121122122111221122121221211112112222111112122121212112221221112122221122111211222211221111221211222221222212212221122222111122111111221222111211112112122212221122212211211122212211112121212221212122121122211212112111121121211212111112211112121111111212211221221112121211222211211212111221111121212211111121222211122221121121111112212111212212212111221211211212121122121211121112221221212111211121211121122212122112111212121212111111222222111221111112211222121121121221111221111222222122221211212211112212122122111221221212112222122122111112211122211222112222212222211211221121222221211121222122211222111211112111222121121211222211222222122222211122222222122122211111111211112122122121112212111112222111221112112121111212222122212222211222221221222211221112111212212221122122221111112111122112212122212112111221122222112222111221212212211111122121211121211121222121222112212211121121111121212212121122221112211211111222212211111121221222111212222112222122111211122112122112121122221112121112211111221121221112222121222212122111211121112221222111122211122111112211221121222122211121112111212211212111222112212121222211221212112212222222111112212121121212221112212111221122121112212212121122121121122121211222212212211222211212122121211211121111221121122211212112121122222222121222122221211111122122122121121222211122111222112111221122122111221122211111111212112111122112122222222212122211211221121122211221121112211212111112112211222212222112222221212112121212212122112111211211212111212121212211212221111222211122212211211212211112111221212122122122122111121212111222222221211222112222222111211112222122111111111221222122112211221212211111122121111111222111221121212221222212222111121211222212112122221222222212222112211211221211121122222222111122221221222222222121221211212222112111211211121211112221112222212222122221112222211112222222112212112121221211212121212111211111212221111211211222221121211112221221121212121222222121121112111222112122121211212122112221112212121122112222222222111111222212122122211121211221121111112221112222221122221121111112222121122122121222211112221222221112121122221211212221222112222221212111221122111212121111221211212111112121112221121221212121121212212212212121212111212222121111212221122212211112122212112122112222222111111211122222122112122222111222212112111112221122221121111212111121221122112221211122111122212121121211121211111112111122221112111222111221212212111211112222112112221122212122112211111111122112221112111221112212222121212222221111122221121212111221111111121222111122211111221221222221111211112121221121111122112221221112122222111121222112212112211122212211112212212222222211221211212112212111212122112212121111212221221122111122222122112121121122121121211122221222121122112221221212112111222221221112212111222112222212211221212122211212212121221221222121122122111121221121111111221121112211211221112112122222112111211222222212222112122222112221121121122122221112111222121112222112111221121212122121212111111222221211211112121222222222212222211112221212221222222121112222111222121222221212122211222212222111111112211112122111221121121122221222121211112211211221211111211211112112121222221212111111112121122211222211212222122211222222122111212222112221122222212121211221122221121122221221122111121112222111221111112212111222211211121222211121111122222212121111111112122112112221221112222222222121212122211111221221221121122212221121221111111222222221121221112212111212222121211212221211111112122211121211221112112211212111211222121111221212121121122222121122111221212222222122211122212111211122121212221211222121121111211222211211211222111122111222112211212222111122111211212111121122212111121222221212111211122122222221111112222212221211121211211211112112111221122211112212122212111212112222111221112211212222121211221212222221211222211112212221222111112111122222211222121211121121222121122221212211111212221222112111211111121221212111111121111212122221111221112112111222222222111121122122112211222112221121221121211111211111221121211112222122122122122222211111212121222211111122221212212111112212121111111121212221221211221221112221111212112212112111222211212211211111212122211111212212112211212112112222121221221112112122211112121221112212122211221111211221221211122122211212121221211122211111222111122212211221211211211222222212211211112121211122221212221212211221121222222121212222212121212212111121211122111112122111212122212221221211222211121211121122122222212212111112221221211211122211122211121212112111111212212212211222112111221211221121212112221112222111212122211221211112112112121211112211212212211111211122222112111222211111222221121222121121212222222212222211121121221121212111211212211221112121111222111212211222122211121111122211111111122122111122211111212122111211121221212122122122112112112222222122111221211111211222121211112112112121111221112112112212211111211121111222211222211121221111211212112211111222121212211211121212111221111212221221212112122212212212212211221211122122121222122211111111211111221222211112211112111222211211112121212112222112221221111212222112211111111111122112211122212122121112222122221221121112211221221111121221111211111111222112121222221112121122122111111111212212122221211122121222212211221212122211111221221212122111112222122111122112121212222221112211211222212212111122112111211122222212212212212222112112222121211112211121222122112112222111112212211112212112111222111221212222212111212111121212221211222211111221221112221112221122121211221122112111212112222221222112122112112211122211211222111122121221121221112212221221212221212111221111221121111122112211222112212122122221121111212212112222221111122112122212211121222222121122211111211221212111212221212122212121122112222111121221221112122221222121112111122221111122112121222211122121121122221221211212122112211122112111212122122111112222212121221121212212211222112111121212111111122112221122221211121222221221122212212112221221121211112122112212211212211221221111212111112221222121211211122222212122121111221121121122211221122122112212111122121121212111122111112112222211122112212112111111112222211212211122122212122112211211121221111221211112121212121112122112112212111212121222121222121221111221112212121211112222222111212121212121122121111212211122212121221111211222121211212112111222221122121221221212211221111121112211112112111121122121122222111212111112212112111211122222111111111221211112121122112222121111222221212211121211122111212121222121212212211222111111112222211112221121112221222221121221211212121111122221111111212222111111121212211221112121212211121211111212212212212111221212212111211112122121121112121211112211211212211112122121121121122122222121112121212211221221221112111221111122112221222222111121122211112212111211111111112211222222111112212111212221112122211111212221212122222122212222211222221222212212122212211111211211121111221212222222222112212222122211112112121112221112121221221111122211221112112221222122122221121222121221212112112211112212112121221222121221222212112112222112211222121212222122111111211222212221112211122211212122121211212211122211211112112111212112221112111111111221221121111122121112122121211112112112111221122221122221221222212211222212111111121121111122211122212221212211211212211121122121121211212221222222221122221212111222111211221211122222122121212222112212112122222121111111111222112121221122122121211221122211111221111112122222211221212121221111222111221121111211122111122221212112121212221111122121222112111122222221111211122222211122222112222221121111211222122112212121111112111112111122211221221121222211111121211112122121222112211122121212111212212122112121211221211111211211112222221211222212211221212212212121111121222221111112212212211122122112111212111212121111112222122111221122122121111122112212222211122122122122221121121221112121221121212122111222222221112221111111221222222111221111111222211221122122212122211112222111121121111111222221211111112111112222212221221121211111221112211212221112112112221122211121112211112222221112122122122122112221212221221112122121122211121212221211211111211212221212121111222111221122211221212122222121222222222211112121121121212212221221121221222211222221221221212121222121212122111111212112222211112221212221221122221121212222211122212122112211122211222121221112111111122212112122121221122111111122221122112111111121112122221122212212221111212121222111222112121112121211122111121212111111221111222122211222211111211122222122112112222212121212212122212111111212121112212122221212221212121121121222212221222212221221111111211221111111211212221122221122221111122222111111222111112111212211211111211111111122211111111121112122112121121111111211122221121121122112121211212121221221211212122111222221222112121121112121221111121211122112221112122112222221111221121122122111112111211211221112221211122211121111121111112222221111222111221222211111211222112121112212221221212221112112212121111211212221111121111122212212111122111222112112212221121121211111212112122122112211221212221212111121112111211111211211112111221211211222121211121222122221212211112111211211222122211122112121211111221211112111222211211221121111122212222212221122112211222111221212111222222111111221112222212111121121211211221211212212222211221211112111122212111212212221222121211122112212122122121112212121111111112212122222221221222211121111211111112222111111221211112111222121121212112211221111122121121111222121121111122212211212211122111221212222112221211111212221121111111122121112122112122222111122122212112121222122212122111212221212211212112222122111121221222222211122112211121222212212212121111222222122211111112122112212211211111111111212112111111112111112222121211121211121112122122111221122112221121111221221122122221121222211111221212111211211212111211211122121111212222121112221222112212211121222121111121212221211212212222211212121122111211121222111111222221121211211122212222221112122212122111111122122221211111211121221111222211121121211121111211211122111111112222221121112121221211212221111121112212212212111112112122212221222112221222122121121122222212221112221121122112111211121212221212211212222212122112221222211122122212122221112121211121121112221212222221222112111211221122112221211221121112112212111122212222111211111122112212111111221222211121211212111111111121111121122221211212112112211211221212122221121111121122122211121221222212211121122222111222211211112121221111122112122221211122221221222211212211212221221212122112121221122121211111111212221112122122211212222111122212221122212222111111112222111212111122112222222111212221122212122211111211221121122211222111121211122111222112121221222111211222222112212221222211221111222111121111222112222221212122221112221212111122111212122122122221111211111211122222111121111122122212221111122222212211121212222121112212121111221212212122222222122221121122121221221111222112222222212112122221122121222211221211222211112222122221222212212211212121121111212111211111112121121212221112122112221111112211112222221222112112111121221211212122222212122112212211222121112121212121121122121211111111211111222111122211122222111111112221121211221122111122221122211222222111112221212212111221112122122212221112121212212121212122221212221112212112212121121221122121112221121221211222212121222212222212212222212112122222221111221122211111122112211211121211211221221212211211212222222221121121221122111211211221211112111112222112222222111121222121112112112111111221111222211111222221121222112112212212211121112121111211112211221222112211211221222211222111122121112112222122122222222212112111111122212222212122122222121211122112122212122121112221221211221121222212221212221221211112221121111122212221212222122211222122212121212111212112222121221211111112121221211111222221111112221222122211222122212111222212121221222121212111111212111121121122122122221122211221212121221221112112211212211121222212121212212221122212222211212222221121111112211122211212122111222211112122122212112222211121212111221122211221112221121212112211221221111121211211121111111211122222212122221121111212112122222221112121221111211211211111211112211112222222112212111122121122221122121112211212122212121112112212221112211211212111222212211222211121121221222221122211212112112112121122122212111222212121221111111222212221122111121221221221211112121111112121211122122121221111122112222122111112211121111212222121122222222121111211121221212221111221112212111121112221111112121222212121211212222212222221112221122122221112121222211112222122122122222112121222222111221121212122122112111211121112211222222111222112112111112212111211222211221122211111221212211211111112211211121112111111111212211111221221222222111212222212212111221212112122211221221212211121212122221222212211112112212121212211221122211121221212212212121212222212211211222212111221221221111112211122122122212221211212111222221111112121112222112222111111221211211112121212221221112111121111222111112221121121212221121222211211111121111212111222121112212111111112212122211122112111222111212111211112112222112212222122111122112122111221221121111222111121111121222221111222211221112221122221222212111212211221121221221212121221112121211221211212211212122121221221122121211211211211121212122222121211212112112222121112222222211121111121112111212111112222212211112121122221212212121111222211121211122221122122111222122212212122212222211111221212112121121211212122121211122122212212212111212212112212222212111212121212112112121112211211211221221221112121112212212212112112212211221121111211121121212211222222222211111221221122221121111211121122122212121212212211112222111111112112112211122212211122222121111112211111221111221212111211112211222222211212122121112212111211111112212121111122211111111211212222211222211222212111212112221111112211122122122211222212212121112221121221212122222121112122122222112121121211122212222112222212221121121111111221211211222221212112111122111212112121211112122112211111112211212112212121122122221221221122111212111121112221211112222222222211121222222211211221112212212222211222122212212211111112111211212211122211121222222121121112211211111121211221222221111221222122122121112221221221212212121222121111211121121212212111212222211112211111122222211221111112212121211112112222221122112112222112212222122122112212122222212211212111111221112121221112211121221111112211122222222212122111122121222121112121111211121121122111211121122212211211111112221121221221122211212122211111221221221222221221222221222211121212222112222211211112222212211221111211222221112122122222221222221111111121121111112111112222211211211221211211111212121122122121212222121211122212111221112221111111212112211221111212221121111121121121211121112112222212221112122112112212111212221212122211211222221121121212111121112122122222111221121222221112212122122122111112212111212212121212211121212121121121212121111112211121111111211212221121221221112212212222122212122112121222112222212112111121211212122221222212111211122222212212212121112121211121111121212121111112221111111222221221212112221112121121221121211211121211111122112112221112111221222222111122122112122121122221221222112211211122222222112111222212121111212112111122121211211212122111112111111122222211211111121212111121111111221111122212222111122211112222211111221222212122221222212222111111221112121222221221221212222211112222212122221112221221211111122112221112122222112122121221111112212111121212221221122111212111221121121221221121211122212212221121211221221121211222121122211121212122212211111222211112211222211222121222212212221122221221212111121122111211111221211212221212111112221112212222222112112221122211112122222122211111111211212111111211112212221212111112122122222121221211221221211212221112111211121212121122212112112122121121221121112121111122111212112122211111222111111221112212121121112222121122222111112222212112222221211122222122222121112112112211111212112221112121212211222212221221121122221222112212211122122212111112112212121121121121222111122111222221111121222111111111121221111221222222122221211221122212121212222211212211222122222121222221212222121221112222111222221121222112211211111111212111211112212212111112122122121221211122211122122111112122122211112211121121222212121111211112122112122112112121222211212121111112121212222211211211121221121122121212221121111222221111221121222211221222112111121221222211111221112121111212211111111111112121222111111212112211122221212221221111112222111122111112212121111222212212212122122112212121122221221121111112222221222121122121112121111221111122121221222222122221211111211111212112211111122111211212122122122212121111122221111221112222212221221211222111212122112111122122211221212221122112212112112212212121122112222221211121121212212212122122122121222121221111112212111222212111212212211111111122212222211212122211111121121222121111222221211111112211222222212111212122222212211112112111212112111222222221221111222112121222221222221111122222222212222121111211212111122111121222121211111111122211111211211121122121211211212212212221212222211122112211222211122112121212222212211121122112111222112211111121222211121211212222212212222112121121211211122221212222222222212211111221111222121212212222222121221112122211122122122212122221112111121111211222211212222122121221121112122122212122121211121111111122122112111222111211112112112122112222222121111111211111221212211122111121221111211112111122221222211111211221222111122111121212212111222222222212121111222111121111112211122221211122122121111112221112122222221212221211211121221112111212222212222221222212112112112212111111211121122211221111211212121221212111111212121112121211221112111122222212211211122112211121221122212211111111111111221111211122121111212121211111121221211112121212121212122222222122121111111221221212222122111121111121212221211222121122121111211122221111111112211121122122212221211221221112111212222221222211111212221221212121222122211111121222222211212112221211111212111122122221212122212112222222222212212111122212212111122222212112122111121121222122212221111111222212121112211222111221212222111221221222122212111112112211122111212221112112112121121212212212211211221221221221121221211222212112211122222111221112211112111122212122122221221111112222222121112212121112211111211112122112112122211111111121221121121111222111112121211121121222222222111122121112212121212122222122211221111112111112221111212121221122212122221121111122111212112121121212221121221122122211111222111212212121121122111211222122111121122112221122221222111221112121221211212211221212222122222212111221221221221111211211122222211122211222111111121111121212221111112122111112221112121212121211112112111121112212222121122211212111212222111111222212211211121121121111212211222111212212221111111121111121112222122122211122221111212212211211222122221212222222221121212222221121211212212222222212222111222122221112221221222111121211112221221211212212112111121222221111121222112211222121112222121112211222211222112221111212112211121122211111122122112222112212221121222212211122121112221222211222111121112121121222121221222111122111212122222211122112111211112222212222222212121112211221212222122122221121112121121212222111121111222112121212112111212122122212211221212221212222121221222222211211212111121222221111221211211122122211121211121211212121111221222221121222222222212112121211211122211222112112212211112121121111111111221121211211221112121212112221122212222112122211122212112111222212121121212121112122121212112122121221221122222122112221111212221121112222111111122211112221222221222222122212111112112222112211212222112211222212111122211211211222121221221122121212112112112221212222221121111222111122212222121111222121222122212211212121121221212212122222211112111122211111112221112122221222111112121222221112122121122112111111212211122211211122211111211122222122122222112211211111111112221122212111111122121121222221111112211221112112122122122122211121212222212211211122121211112221221211112121212122122112211221212122222212211122211222212112222111212211221121122111121111121221221121212211111121121111211111222121111112212111122121221222122222211212211211111211112121121211212112112111222211221212222222112112211112222121112222122222122221122122121211212211212111111112212112111111122211122212211221222121212212111212212122122212221122221112222111221112111111111122222112111111221121121121112221112111121111221122111112222222122122221222121212112212111211211112221221121211222212221221211212111122221112212211221122111222121121221121122111121212121222112112222121122122122112112222222222111221221111122112222112221212122121222222121111222121121212121122112211222111221221122211222121121222222222212111121121222222212112211122221121211121222111212111122121121112221211122111121212221121122211112122212222111211121122212212212112121221112112221212221121122212211122211121211122221211212121121122111111112221121221211111122212222111111122212112121111221212212211121222111121122122111111112221212221212121121212112121211221122111221212211222122222212212121221212111221212121111211222112122121122212121121112211222122111122121111211222121222122222212222222212111212122121221211121111222121212121112112221121221212221111112212211211221112122222121122111122122111212212122211212112221122222212212122112211211112211222121221121111211221111211122122222212211211222211211212211111122121112111121222222221111212112112221222212211211122111122221221212111222212212112122212122121122112121221111111221121112111221221212121211112112211122221121212211111222222122212212112212221212212122121211112122111111221121121111221121212222121221221121121222222212121112122121211212122212222111222222212122211221111222212211122212212221211121111122112111221121212221122121122222221112111212112121221111211122211211111122221121121222121122211221112221211121221221111211111221122112111112222122121211122222112211121221212111221211222212121212112122211111111211111222122221221211122222122112211111221111212112211111211212121211221122221212221111211221212222121222122112222221122112111111122122111211211121112112122112211121212121211212111212221121212122111222222112222111212121211112221211211122111121112112221222122222222121122122122221112211111112122222211221212111122122212221121121111211112221111222121111111112122111221122221212212221121122221221111221211111122222112111121221211122122222112212121212222222221211112121221211211211112111221211222221212212211221122122211211112212111122211112111221221212221221212212112222221112222112222122211212111211221221221122121222122122212222211112222121221212221211211211211221121122111222112122112222212122122112111212121122221122212122121112112211212211122111122212122222211122111212221212121212122121111121222111212112112111111222211122111211212111122211221212211122221111212112122112222122112122221111121211222222222212221222222222222212211121211221111222221121222111221122121121221222122212111112122111111222111221121122221222221221121212221121222112121221112212111211112122222121111211112121121222211112121222121221121211122122211111122211121221121111122122112122211112212111221112122212211211122212221112222222221212111112121111221111222221222121211112221222121112111211212111121111111111111121112122121222121111122221221121121111122121121212211211211111211211212112221222211212112111121222112112121121212212221212221211211112212211221122112221221211112222212212211221212222122112122111121111122111222222222212121211121222222122121221121111222211111112121222111221221111212212121221122221122121212112121222121121221111222211121211212212122121211221211111122221112222222112112112121112122222221221211112121211122112121212212221111211122122122212122221112221112121211121122221222211221221222122221121221222112211111211111222121122211112212112212111121222221222111112221111121222222111111122212222122111222221222212112111211222122122212212211111121122121111122112122111211221112212221211212122212121111221221221121111211122111112221222112112112212111112122222212112211121112121111122221111212121211212211122122112221121222212212111122122221121121111111121221112122221122222221221212122111221212221122222121111212222122111211221222212222111121211222211211212121211212122221111221111222221222111221221221222112222122121122122111122211121111211122221221211211122112111211122211222212121221122122121111222212112212111211111211222211111211221212111211111211211111111121112111222211121111222122111121212211111222212111112112111122121211222221121111222122112112221112212122112212211122122212111111212121121222211121211222211121121211211222211112121112112112222122121122112211221122121111121112222212212122122112212111221121122122122121222221222111121111221122112122111111111222212122111212121121222111222112112121211112211112212122211222112112221122111112121111121222121112221111221212121212111111222112122221121221222212212111121211122121111211211212122222121212221112112211112112121211111121122221111112121111112211222111121222111211121212222222211122222121211122111212212112111111221121211111211112222111122211211111211211121222211121221111111111211212211221122221212121111122121221211121212111212221211212212211212221111122221121121111121211212221121221112221112221221211212222121222222211112121122212122211222222112122111211221112222112211221111222112122112211222112112221221112222111122211212221211122122222122221221222112211111111211112112222112222122211221112121122121221121222211121222112112212111122212211221111212121221212222121122222121121121211211122111221211121121111111121122211111122122112211211222212222121111221221222112122221111212212221112212222111111212211222211221221122212111121212112112211221122211112122221112211121112222121222221211111212112222122112222211111212211112121112122121121221122221122211221221212211212221111212112111112211121121221121122221211111221222222111112122221111221121211212221212111111111121121112112221222111122211222222211211212221221121221221212212212211122222112222121211122122111222211211122212122222211212111111111122122221222121221222112122112122121222212221211112221111221122122212221212222211211111112122111212121222122212222121212111122122111112111121222212221121211121221212121122121121112111112111122121111121122221112222111121211112222211211111212221221222121211221221122211112222122211222211122112111112111122212221122122112221221212211121221212122121121111212221122221112121212211222122122211121222222221122122221111111221111212121221211111221222222222122222122122121111121212111212212111211111222121211212122212121111221121212121221221122122112221222211212221212111111121212111221211122122112211212111222122221122211122212222221122212211222211122122211211111121111212211222122221211222212111212111111211222221212122211112111221111122122111121122222211222121112112221121212221212211111112122211212112211211111211122122212121122121221121111221121211122122212221222111121211211221222221111111212122212111111112222111121222212111212212121212122222222212122211222121112222121221221122222212212122121221121221222221222122111211121122112121222221122111121222111212221122111112212122222122122212112222222111222222221212111112222222112211221211112111211112121222111212121212121222222112121111112222212211122212112221222221112112211212111222112111211122121211121122121111122212111221112112122212222212211211112121221222212221211111122222211211111222212112211222111111111112111122212221211112121121221212112121112112122112221212112212221222112222222212211211222212211122121211212212121211211121212211112112111122222222222222121121112112111122212121212222112222122111212212211112111111111222111221122212122122121122221222221121111112212112111221211111112222221222211212122111112221112121122221211122112111121222122211212121121211111122112111111211121212211111111211211222212112121122222122221211222212212211112221222111112122111222211112211121221111212211122121212211211111112212211122212222222112212112222222111221221111222122112222122221122112122111112211111122121111222121122211121121122221212212221121221221212211211221211112212211221211111121212121222122121222222211212122221211111121122112111212112222112212122112121111121111222121222211122112112211212112121212112121122222121212111212112211222112121212122121211212121112222222112212121121121222121122112122221121111211111111121221221222212222122121111211212222212221222122111121222111122211122211121211222221212222211111212111211112122111211211112211211121121221212221111211122121122112111121222221221222222122211122221122112112112112222211111212122222111122211212212211222212122112122121222221122112221221121221122221221112221212222212121221212222111121112112212111122222221221112122121112122212222211221111222212222222222222112121111121121121221221112111221211211122211211222221111111122122222211221122111211221222111221111121122111221121111121122222222221112111121112111112112112212122222221112221222122111112221211212121121212112211212111112112221112112111221122112111211111222222222212212221112111211122111212212221122211112212212112112212212211122121121221111212211112122122122122112121112112122212111221211112221111122222211221222121112212121112112222121112122212212112112212222211221112212212222122111222122121122111211112222111222212211121211122122111122212211111122112112121212222212221212221122211211122121121121212111221212121122122212221221212121122222221211212112221222122112122221211121221112212221121112121212221112211222221211122221111122221211211122111111111112122112221211222121121212221212221122211122111121112211221211112111221121211111212221211222222122112221212211221122122222121222221221212121111221212122121211221211121212222222121221212122222211222222111121222212221111212122222122222222221112221121221211211221121212212221211122221112222222112122122211122212222221122112211221212212122111211112111111221111111122112222221122112221121221121111122122222122122121222212222121211221121211221111111121122112122211222122212221112111122121122211112121221221221221121121221222121212221121122212112221112212212212211211121121222222221112121111122112112222212112112211112122212221221212222221112122111221211112212111211111112121221212211211122211211212221122111112122112121212112112221111222112221121122222122111111112221112122211121212222111221222122111211111211221221221112211121211212212222122121122121122112121211112121111212111222121221212121211222221111212211211121212121122112112222221112212211212211111122222222221211112121122221222121212121221212122111122111222212212222111222221212212221111121112111221222221222111121211222212222121212122212222122221122111121222212112112111112112221212212221222222212221112121112111212211222221211211111222222221111122112112112211122122121121112121122111222221121111121212222112211111221212121211111122122211111122111212121122221221221112111121122211121212212222212212221121221211122212222121222211211222112211121112111212221222121121211211122221111211121221222222121112212112122211222212222222211211122121112221222222211212122111212111122121221122211212111111122211122211122121212221121212211121122122212212212122222122122111121111221111121221111222111122122111222212112221112222111121222221212212121112222211112112211122221211212222112221212121211112211122222111111122222122222121111112212112122222221112211111112121212211121121211211111211111112122211222222111211211212211221222211111121212222211212221122212121211111111122111211121112221111112111222111121111122111212112112112122221212112112122211212111112111211111211221121122222211121121221222221112111121222212221122221221111111121221222111211112222221111112221111222212221111111121212121211211211221221221121122222211121221221222211212212121221112112122212111222211122221111222221111212111222222211212121121221221222122221112212222212212221121211121121212112222222212111211211222212211121222211222211111222121221211221112111121222111111221212112222221121122112122211221221121211222112211112222221121122221122121112121212212222111222211211212222111112211112111121212212121121212221112211222212122212111111111111222212111121121211211111221122122121111121222112111111211211111111221112122112212121221112222112222111112122212111222222111111222212121122222222122111121222221121122222212111122222212222212211222221122211211221111221222122222122221122122122121222211222111112111222221122122121211222212221121121122222221112122212121221211221221112111222111122212121122121121221111121211221111122112212121212222121222121122121122112211111222222222121221211111122212222212122212211122122112222211121122122121211221222122212121221122111221211222111121112211221221122211211122122212121211221212112212111111122111222221112122212111211122122112122221222222122221111212112222211122122212222211221121221222112222122112112221112111111212121221211212212212112122121212221122211211211122222121121212111212111212112221212121112221211221211121222222221122212122112211122112111112122111121222122212111211112222121122222122212112121112122222211212221112121111211122212122211122221212211111121212122222211212212121222222221211222111211111222222211222212121121211212112212122211221112112112111211122221222212212121112112222212221222121211122221222222212122111212122122122221112221222221112211222221211112212111222211221222122221221111211112211111121222211111211221222112222212121122221112122212112111211111221111211212122222211121222112221111221222212212221211212211222121112112222211121212111112122212222111121112111222222122122212212221111211212122221212212222111221111212121122111212122122122221122211212212211222212121212221112121221212112212121122112212222112212121121212212121111122122221212111111211211122111121211111221211112211221211212222112112222111112121122112111222221222112221212122211211211111221212222222112121122112211212222121122121122222222122212111212222221212211211122211111222212212221111111111221122111221222221122221121211212221221221112212222221211211121222112212111111222222212122122221212121221121122211122211112211112111212222111211222222211112122111211112211112222222211122221221221112211122122121121211112122122212222111221221211212121121222212112122221112211121121211211121221121211111222122211211111121212212121222221122221111222222212121111211111222222222211122121112212221111221121211221122222212211212112222121111121211111222121112211221211121121222112111111221122211211221121221121122122121112211121112122122222222121111122221222122111112212112211122211211222222111122211121121221221211111121112121221212122122122221222221221112121222111212121212211112112212121112211212112221211112112221122221221222221111121221112222221111122211122112212111112212121222122121122221121112222111211222121212111121111222122112221122212111222221122212121212111122111222221122121112211221111212222121211222122222211221111211222222222211121111111222212222121221111221221212212222212112211121221212111121221222211112111122112222121122111121222221112112211212211212121211221222112222112211221112221212211111111221121221222121111111211121111211111211211212121111111111222222212121112121212221221222111221222121211211211111112111222212221112112112122121121212212111222121221221221112222122222211212212122121122221221121221111221211222112221112222122111212221212121212122121211111122212112111112121111222221121121212222121211221221221112121111122111121112112222211212222212121122211111212221222211222121221211122121111121212222122221121221121112121211221112211211112211111212122212121222122221121121111211211221211222222221122111211122112122222121222211121211112122112212121222222221212221211112222111222222212211111122111222222121111111211112222222112212221211211111211112221111212122212211121111212211212221211111111222212222211122112211221221122111112222112112222211221222211221111212112222221221212211111212112121121121112212112211112222111221121121221222112112122121221111211211122121211212212111112122211222222112121222212222212112112221222122121211222222122221212222122122122111112121121221212111111122122212221111221212111212221211221111221222121121112121211111221121122122212112221222121211221212221211212211121221212221122212221221121112121222121222221221122121111222221112112121122222111222221122211121212222212211222211112112112222212222212221121221111112221222221211221222221222221221111112221111222222212122112211111111211121122122112212121222211121122121222111211221121211122221222212211221111221112122111121211112111212212111111122222112122122121111111222122221121211221221122221222122211211121121211111221122111211222222221211111122211212122212112212221212212212212122112222212212212122111121212211111212221212212122112121112212112121122112222121112221221112222122212222111212122221121122111212112121212222211222121121222121222221222221212122121111112112212122111221211111221112122122112112212221221121212222121221111122212121222112122212211222212111111111212212211211111211121121112112111121112121211211221212212122111222121112111211111222212111121122122121122111212222122211121122212121121222222222211212111111212121211121112112212222122122222121112122211121112112121221211111221222122211112222121212222222222212111122112122211212121121122221122121112222221121111121121221221122122112221222121221122221222212112112122122121221222111221212222211222211112112211222112221122121112221121221111212221221121212221212212211222211212212211122221211122222221221221222222122121222121112111112112111221111211121211121112121122221112111221211212221121111212221112222121111121122121221222212122222212111221212221112212121111211212212212212211121212111212111122112121112121122121121211112222111212211221222211211112221111212121221121221111112222111212222111121211111222111212211222221211112212122122112111111222122121212212122111221111211122122122221121121222121122121111121122122111122212211112121221112111211122112212212211122221211211212211111121221112222112112222211212112122222221112111212211122111222112122111221221211111222121121121122222221122111212211111222221221121121112221121212111212111121211211121122122212222112211211121221121122122112211121121112222222121221112111121122222211112222121211221111212122212112222222122121112212121222111212122221221112222111111211212122122121212221111121122122111222221212112111222122221211211111121212122122212111112122212122112121211221211221111112211211122121221121211211211211222211222211211221122121121212122122121121111222222111111121222121111222112122122212212221111221222122221122221221122112222122222121212112221221121122211221121121222121121121212211122212212112222211212211122111221122122211211221211122221221222222212212112221121122111121212121212121221121121111212122112212122222122121121111111122111111121222121122121122211222121111222211212121112122111211221211211112211122112122212122111212111122212221111222121111221211221222212122121211212212121121212112221111221212121212211112221122112221212112111111121111122111112111111121221212222221121122211112211211212221221122211211122212111121111112222212112211112221121211112211121222111112222122221111111111212121222211122111122111122211111121111122221121111211211212122212212221112121122112112221111212121121221121222222211111122122211122222122211212111111222121121211211211121111221111211111121122111212111122212121122122212212111212211212212222121222212211112212212111122211211222222212122222212112121112212212121212111112222211211222211211121211222121112221121121222221222221111111122212212222212111112212121122222222112212222211221221221112222221211212212221212211221222122122112212212112112221122122112221111211121122222212222112212221111121221211112212211121222121121221222211112121112211212221112122121111211212221122122121111211121212111111222111122121212212111112211222111222221211212112112112111221111111121221221222111122221211122121221212222112211222122112112122111211111112122211211212122211222121221122111212221222212122112212121211212112221221221122212211212211212212221222211122121222112211222211112212221111111111222111212211212122222212112221211221211112212122221121122122121212212222212121122221122121121211221221211221222221122221221211211112121122111212222111122122212222112212122112222212212112221111122212212211121112222221121212222211222112222121122212112211212222212112112121121211212111111112121221222221122222112112122112122221211222221112112221122121221112221122211221212112112121121222122221221121111122111111122212121111111211211222222212211212211212122112111211212111122212121121122111221221122211211121122112212211112221121221122111212222211211122211211222222222221212221221121111111211222111222221221121221122112122111211211212212111221111112122212211112222221221221111111212112211111122121211211222211222212212121121112121122121222111221111122122221211112111111121212111112112111122221212121111111221121211122211121222211222222212111222121212211211122221112112122121112111121112111221221122221211222222111211122121221111112112211112121211121121222211121122222121121221211221221222211222211211221121112222222122222211111121211111221111112112222121122222121212111212212221122112112222121221222121122211112222212111221211212122211112122111211112112111122121212121122121121212111222212111122111222222221112212111121221111212122122211111112122121222122212122112211112112112212122121112122211122121222121211211212221111221211222211212222221111221121222121212111211112122122212222121121122122122121112221112212111212212122212112211111221111121212122222122112122212221222211222122221111211121212211211112221212221111212222222121111122121211211211221112211111222212111222211212222122122212121211111212221122121222221121212122111111122112111122211111111112221221221211212112212122112121212221121221112212122222112221212222211222221112211211122121112221122221221121122211122121211212121222221211112112222112112221212211211111112221112222121111112112222222122222222221212122122111222212212221122121112112121112222212112121211211112212121222121112112221112111112221121121212111112211121211112121122221221222111222121112221121221212111112222211122111121212212121112211112122211111121112222212111111112122112122222122221222212121212222212111212221212211121212112122121221221212121211112111221211221112221112211211222112121112111111212111221121211211121221112221212211111122212121212222111211222222221211211122212121122112211222121112211221111112111121222122111122212121211212112121121211111121222222211211221222121211111122212222122121221121122121111111222212211112112121121212211212212122111112121211111221111112211122221221111111121111222121111212111112122222122112222111121122112221212112121211212212112212121212222222112121211112112122222222112111122222221122122122122112221111111221222122112111112212222221222121121111212222212212211111121122222122212121211121221222111122122211211211222221122221112221222222112111112221111111121221112221112122121222212111112112221112112222111112122221221222112122211222112122122221111222121222211122221122112212221211111221122121212211221122112111112212122122122222222211212221112211112122212111111112212111221222122112112122111122221121212222122222211111112121212122112212212111221121122211112222221221112221111212111222212112121121111212112212222211221122222121211212111221222211121221121211212212211221122112212122221122212122111122112221122111221211222212122212121122111222121121122111221111121111122212122211122222121212111221211111122222221221221111221222111212211111212222212211221221122122212112211221221112211212112122122212111112212112112221112111112122212121121222222222211112211122211212222122212211221112211222212122111112112112221212212122222211111211211221112211222112112111122212212121222121122212211112212212211222221222111122221211112111112211122221212222121112111121111212112111221221112122222122122112211222221122212222211121112111122121112221222221121222212211211211222211111111121222112121112122212212121222222111211122112111122112222111112222121211222121212121122222221212122211111122111122221111112111221222221111112211222221222112212121222111111121112112211121122122222221112212112221122121112112121111112121211111211112111122212222112222121211112221121211221222212211111112212111121111121112122111211112211121122122211111211111222112221211221222122111221221122121212221221122112121111222121111112112221121222121112222222111212112211211121212112221211221221222111121112111112122121211111121111212212121111112111211121211222111211212112112111121121112221211112122221211211211211211122111122112112111121221112111221211121212111121222112112121211122211121211222212212112122111211221212112111122112111122221121111221122121212212222222211212212112121211211122121111122111122112122111221212211122222122222212122121222222111112121212212112121122122112212212112222112221112221121211222212112211222112112222222122212121121211121122221122112222222212111211221212112112212112122121122111212222111111111122221112221111222212222122122211221222222111121121112111122121221211221122222221111112212112222112111112211121221221122211222112221212221122212112222211222211212221211222122112211211212211222112122112222111121122211122212212221212212112111122111212121212212211122212212122211222112221222222112112212122111122212121222222122222212212222122121111222121211221222211211112212212211212121111121221211121121212121222122122222122112222212222222212221222221111121221121112221112211222121222122222112211222122111122222121122221211112222112221221111221211212212122111221122112222211122211112211222221121112122122212112122111211221112112112222121122221211222222222112122221121212111122221112112111122212112121111221111121222221111111121121212111222122111122211121212121111221221121211221122212211121112212211111112221222112111212121222111121212112212222221122121111222111221221111212122122211111121212221212111121121111111112222122121121122122122122121112222211212222121112122222211111222222222112121221122121122121122222212121112211111222121221222112112222111112121221112111212121221221212111112222121222121112212221221122212122221212111111211112111221211121112111211212112122222121221221221222211212112121121222212221121111121221212222112222212211212112111222122212122222221211121112212211221212121212221112212221212212121221111211112111121111221211112112121112111222222112212211121121121111222111121221111222122211222211122212121221122212222222111112211121211222112111212112212121211112112212212122111121211111111122212112111221211112111212112111211222222222221121112111211111222211122121122211122121112122122111222111111121211112112211121212212211222222222221121111222111111122122121222212112112122111121211212221122122122211222221221111111121122212212221111112221222221212112112222222122112112211111122211112112121121222211212222222112222211112222122221211211121211112121221212112112222111121111121121122211211111111212111222112222112222122211212122212211211211221122211112121211222211121211121122211112221221212221221122211211111112111221111221112221122122221111122111112122111112112111122221212211121122121121121222112121112211222212221212112221211122222221112112112211121222222112122112122222211121222111222112211211211112211112211121111112121221221211121111122122212222212221222211122112222121111211121121112112122212211121121121121212111221221122222121122212122212221212122222111111222221211212222211211211112112111111221212221221111112212112122221212111211112211111222122111222121111112221222112122212221222211212221121112212221221122211212122121211221222122222121212212221221222111121112212111112212221212122111122111112211121211212122111112222211211212211121121222212112212222111121211222211222211121122222212211111222121112122121221212221121122121212112111111211122222211211211121111221122212112211222121122211211121111222211111222222211111112111212122221211122211221212212212112111212111212222221121221212122211211111122212222211111111122111121121112221212222112212112122221112121221221222122212212212122211121212112212121111222122121121122212111122221121212111122111222211212122212111222221122212111121112221121222222112111122112111111112212211122122121221112212222211121121121211222121111212211112222111122121122212122222221211121221222121112111211111122121121112222212112112112222211222112112112111112121211111222221122111221112111122212212221221212211112121212122211121111112122221122212122112121221121211221112121212122122111222112121121112122221212212121212222122112221212111111221211112211112112112222221211212222122211222222212211122221111111121111112222121222112221112222212111211122121221122111111122221222211221221222122211221211222211222112221211112212211212121221221121222111112222222211111121221211112222212122222222122112222112111222212222211122111112112212121112121212212111122111122121221111111212221121212212112121222122211121112211121222121222122111221212111221221121211111221221222212211221211212122112222212112111221122222121221122212111112122121222121212112212111121212222121211222122211211211212122112121111122122122222211121112111122212112121221112112222211112212122111121212111222222221121211221112211111111221221221111122111122222222222122111211121212122211122221121122211212212121212212111111221112212212212112212122211121112111122111122111212211121212212122112122122121122221122212211212221212212112212221212121211212212111212112122122222212111222121111122122121112221121212221112112112212112212122211122111112122211121122212212222212121112112212212212122221211211111211112221212112211112212212121212121121122222111122211112221212121211112212112122121221111212122121211122221112121112121221112122221212111122212121122112112212111112111111211212221111221122221121221121121212221111211122121112222122121211221112211111222211211221111211112111122222221122212111112121111211111211221211222111221222212112222121222122112221122112111112211222221212111212212221112211111221212111122122121112112111212121121112222112121112122122211221122222211221222121222222112211211221111212222221122112111121211221212121112112212112222212121112212211222112212212212121212121211121212112221121111211222121211221121212112212111211121211212221221111212121111111212121221121122212111121111111112121211122222111122211222122222112221112221212121211211122122212212222211111112221121211111121112221221222121211112222121112222222221222111112212111121212121212221112121112121122122122121212211121122221222121211222211222121121221212122212222221122112221211221221212122221111222112212122222111212221112211122212112121222221111112111221221222212222111222121121122221212111111111221221221122211211222111112121112222122122112212121211112222122222211121222221122121211222222211112111111122112112112211112111212111121222112221112122121222112122221222221221212111121211122212222121112221111221222111211112111121122111222122222122222111122221122111112122211111112112112111212221112122212212221211122222222221212211121111211211112211212111122122112121122211112212222212112211222112211222122111121221112212112222212111111111221112122211211222221112212211122212211221111122212212111222121111111212222121121112211212221121122122222121122222222111122212212111122112212122222111222222212211121121121211121121111122222112112211211221112211112212222212221212111122212112121212121222222221222221221121122122121222212212211112221221112221211112212222211211222112222112111221112122211222121221222222211221112111211211212211212111122121112221121222211212211121112111122222111212211112122111111212222111222122221222212221112211111211221212122221221121211121222111122212112122121111211122211111121112211211122122111211111222211121112111222111121122221212221111212112211211121112122122222121212111111211222112211112221212222222121112211211222122222121212221111111212122211221122122221212122111112222211111221121212222122122211221121221221112212111212212122111122122221222111112112111122212211212211111222211111111122222122121121211212222222121122111222122221112212121121211212222122111122121211121121211111222212221121212111221112222212112211211221222222221122211112112112221122221112211121222212212111122212221121221111212222212122121112222122211112222211121222111222211221111212212212122121222211121111221122211112212121111212221212121122211212111111111121221211122121211222212222211221122212122112121111121222212112122121122112121212221212212222211221222121122121112211211121222212122221222112212112211121112121212122112121211221222121212122122122212222222122121211221111222112212112221221122122212111121222222112121211211121111212111122122122221121222221221122212212212221121211111112112222111122211122221122112211211121211222112211112211111222212211112122211111212112112221112111211112121121221112111211221112121221212122122121211212212221222122221111122222211212211212211112212121122221212122211112121111222111122212211112222112212112112112121222112221112122222112121212222121122121212121122112222111222221212221222212111222211221221121211112222111211122222221112212122121211211121221112221222221222121111211122122111212212221212212122211111121222111122122221112121212221121121211211112121112112122112111222221111212221121122111211111112112222211112212121121222122122112121222212121121111221121111122111112221121221111212212221211222221122212221222112221122121222111211121222112122121221211221211112121122221211222122122111122212211122222112211122121212121211211211121221211111212212221212111122211222221222111122221111211111211222212222111212211222212111222211122112221121121121212122221211212221112111112211111221111211222211222212221112121221112222121112121122221112121121211122212211221212111221111122111111211111121222121212121211112221212122121112112121212221211111212112122122112212122122122221212112212221211211222112222212122121212121211112111211112221111222112121112121111211222221212212211221221111221122211211222212222121222211112122121122211222221222121222222211222121222111221222221212122112211111111211111211212122112222121111211111211121222111211121112121222122112211122122222222111111121211121122112221122212222212221111222111112122111112121112121212122121212212222111122222121221212221212222111211212121212221121122222112222121222111221221112211222211121121211112211112211111211211112111211222122212112111111212212111112111121222221212222222212122121112112221221122221221121221212112222212222212121221112222111221122222211111212221121222122212122211112121111211112211212222111222211112211122211112111122222112211211111111111211121112111211211221121212122122212111112121121222212121112212112122222111112222212212111211111221112222122222122112112212222121212212111122112111111112111212122222111222121221221111212122121121111111111221212112221121111111112112222221111211212121222212111221121111211212211211212112212211122211121122111211222112211222211222112222122222211221111222111121211211222121121121121111112211121121121212221211111121112212222222111221211221212111222122111112211222222222212111211211122221111122222211112111222212122112211211212121212221211122221121211121121222112112222222222112112211112121111211121222121211221221111212112121121212222121212121222111221221111121211222121111111122221222111121221222211122122112211111222212221122211122222121121221111211222122122121122121222111112122222122121212212121212221211111212222121111122111122112121121222112212111111121112212121221121112111222122122111111121112212222121222121221211122221111122211112122112112212111212221211122122111211212111112122212112212111122212211212221211122222111112221222221222222122121222122111122211112112112221211121122212212121122211122211121221212112221112112122222112112211211221211222212112121221221112211221111122112221111211211111121222221122112221221111212221122121112212221121212221122111111212222211121121212222221211122122121212121122112121121111212111122212221212121222222122122212112112212222221122122112222112121122111112222221111121111122112211222212112111211121222211211221221211112121212121211122222211112212122221222212122211121112122111122111211111111121211111211122212121122111211221121121221112122221111212112122121111212221211221212121212111212111221211212121122221221111221212112112211121121211121122121222121222211222122221121221222111212111222121211221211122222121212112111211111212212211212212221122111222222121121122212212112222111212121112212122222222211121221111212221211222121212121222121111121222112122211211111122122222121212122112211122211111122222112212222111112221221222222222221211112222121111211221222121121212122112111211121111121121211112221211111211122112121221121221122221112222111121122211112121111212111211121121211212112221212212111121111222211212122212121211221112122122121221222122112211212222121212211112121111122112122122121112222122212212211122221221122212212111112211211112221112212221112111111121121122121121122221221111212121122121211222212111212111212121111212211222222221112112211211122122221211122212221111121211111222111212121112121112111222222222221212111122111211121211111221222111221121211222221221121212122122222111211222111212111222122221212112222221221112121212122211222222211222211211212122111221221221212222112112122111111222221212122212222222112122112122221111112221122222112212121121111111211212212211221211211112122122222212212111112112211121212121222211221221111121221221211211212111211221121121222111221111112111122112112122111122212222221212211212211111122221222112222111121112112121122212122112122222112122122111211222221221222111221121122121111211111112121112111211211111222122221111212112212211221211212212112111221111211212221222111112111122221221222122212221112222112122111211221211211221222221222221221222122111121121111221122212111111212221121222212111212222221112221212122212212112221222211221211111211211211122122222212122121222121122122121221112221111111121211111222121111121212212111212211121121211211211212221211122212222112122111211122112212211121121122222211121212221212221211212122112211111121212211211221121111112111111221122221112111211112121222221122112122122211121221121112222222121121212221122212121211222212211222122222222212212222212211211222122122112111111122122212111221212211211221221112221222122221121111212112222221111112212111212111111222211211212212111211122111212221111212211112221112111222211122111112111122122211111222212111222221211122221111221211122221111221222121222211222121222111221121221222212221222122111222121211112211111122121211111212121121222222222221221211111122121121122112122212112222112222221112112212222122212111222121122212212212122111111122222211211112212212121112211121111211112111212121222222222221212221111121122222112222211212222121221111221222121222212221212121221221111122212122112122111122112211221221221222111122222112212211112221212222121122122111222212111221222121221221122112112221121121122222212222221121111111222121221222212121211111221212221211112221111211122212221211111112112221112211212121221122111122112122212122222211121112112212112121121211221111222211111121222112122211122222211222211211211122222211212212211221112111111212212121111222212112122122222222221111211121222122211121112112121212211212222112222122111221211212221122212222112122221111112211122112112211112112112212211111111211222112112221121222112112111112112221112122222112221111221122221122221112121221112111111212112222211222121121222221222221112112122211222221221212111111122221212122122122112122112121221111111112122211212211122222212111121211211112222211121211211211222212211222112211111221211121112121122111122122212111221222121111122111221111211121112111112222112221221111212122121211212122212221222112121111221121111122211112212121212112222121112122111122111222221122111212121221212222122122211121121221111121122211122111222212222111212121111122211221221111121212221112212212111121212122111122222222211222211111122121122222121122211111211211112211122222221222222111111111212121211111121212221222121121221112121221122222211112121221212121121122222221121122221211221112122122111121122222121222111222222122222122111221111222111211111111121122111212212212122211212122212122122111222211212111122222112221212221112122212112211211211121112221212211122122121112221112112212211222111121111111211222121212211221221212111121121221221111211121112211122112221211122112121121121112221221222211122122122121211111112112212211122221111211222211222111211121122222222212112212211212122112121111211121222112211211121121121211122211222222211111121212222111222112122111221212221121211222122112111221212221111122121121222211121122212221211221111222112122212211212221111211122211211111221122221221111211212112121212221221111212211212211222211212211121211121212221121112122211121111212211221222211212122112211211211212111112221112122222111122221122111122221112222221222212221122211222122121112121212111121211212221111111122222112211122121112112112112212121121111222212122112111121221221121211122121122222112211121122111211212111122212221112111112122112222112221111112121111211211222111211111122112121121212221222111222212211111211222112211222111111221122212121221212121111222222221212211212121122221122112212121212212121121221112211212222122222221111212122211121112121122222111122222122222112112222111121111122222212211221212211211111221111122111211222111211222221112111122222211111222122222222112112211212222122211212122212121211212112122211211211211122211211111211212212111221211221221221212111222111211221222111112112121122112221211211211222221121112122122211222221222121222121122212221222222222111112121212212222211211222112211212212221222221212222221222122212211211112112211212221212121122122111111221112212221221121122121112121112221122211221211212211221122221112112121222122111121222111212221211111222112111122122121221211112212212121112212222212111112222221212222212211222122221122121212112111122221121221112111112111221222111111122221111112112121111212111222211212122111121121221121222122112111111222211212121122122222221111121112212211222221222221221221121111121221222121222112221211111112212122112121111122121122122211112211112112222221222221221221112121111121222222111112222112222122122221221212111222222212211111121221221111221122221222112122221112212122212212212221212122212111112121122112222221211112121222211111122111222222112221211211221222221111121111122212121111122112121111221211122212112111211121221221121212112112221111112111211122112212112121111111211221122221222212222111121212222112211112112221221212122121221121221221112122122211211211122111222221111121121121221112221221112222112112122211111212221221222112212112222112222121211112112212111222222211112121111222222221212212211111111212111121122121122221221212121212211211121112212111221222221111221222122212221221212121121221122222112211212221112212211122122212211211222111222121221112111212121222121111122122221222211111222111211111122111112222212211222221121222111222121111122111221111222122112112122221121121221212121112211222111122222122221212212122212122122121112222122111222222212211121221212222121222212122222221121111221221112221121112111121211222212111112221121122211222122121211112221112221212221221122222221212212111211222221112112121222121221222212112212222222221222212212121222122222212222121212221221111121112112221212121121111212122222112121112211122222222212111122221122221112111222122212111111111112121111112112212211111222211221221212221222212222111211211122222112111221222121121121221122212212212211222212122212221111111121221122112211222222222122121122221121122122122122211111212112212211121222122122222122222212212212122111112211211122211211212121122112122221221212122222211221122121122222212221211212112111211221121111222122221121222112121111121111222211122221222212221121122122211222221211211112222122111121111222121112211222221221121122212211212111221112222121122222121212222222211211211122222222122122122212121122112121111122212211222221121221121121121121122222211212121222211221221112111211111212121112221111212111111122222222211221221221121221121222211222211222121111111211122111222121112112222221211111211112121111212211211121121212212111221212112212111122122112221211221222122112111111111112221211222122112212122221212121212121221122222211121222112222112221222221122122211121221112222221221221112211111111111121112222111112211112221111122112122111111222121211111121122222112221212112221211221221121111222222221121212112222222222222221221111222121122222111211222212212122111211121221211221221212112211121222212222221112122222221222221121121111212121222212211122111111211111121121212211221122112222122212212211121222111212211121211222112112122121112111212211211221212222112111111111121122111121111112222212211112121121122121122122222211122222121122221112121121212122111112212211211221221111212211212212222111221112222221221212121121112122111111111112122222221212212122112222121121221212222111112221121222221211122122222222111122221221111222122112121221212221222212112212121222111112111111221121211212212222111221121212111111221211122221221111121211221221112222112212112211111121212222121221221111112221212122122111122121112212111122122111122112121222122211211211212212111212111212212111221111111211221221222212212211222211212111112221111221121212221111121112122212122221122112221221211221111112111222221211112122111122122121122222111221211122111122222222211212221212211212221211122221212122221121111122112221221222111122111122111211211211212111211221221121222222111111211221221222111122221212212121211212112122222211112112122111222121111221212221122212112121121212122211212121221122111221222222212122212222121221121112121122121112211112122212112211111211211211122211212212222121221222112111222122112122121212222122121221221211211111111212121111111212112112122112112221222221122212211121212212211222112211221122212211211112211211112212212121221221222122122122221121111222221222112111222112221222221121121211111221122121222111221122221222112211121121221221221212212211111212121122112121112121212212211221112222212111111212111212222111222112112222222122112212112212222221212121221221211221211221222111211221112222212121222222111122212221111221112212221121222112122222222221112222222222212122212112212112222211111112112112112212211221212212122112211212122122222122212221211121111211111122112222121121222121122121212221211212122221121121112111211212111122112212211222122221112112221212212221122212111222112111121121222122221222122211121112211112112211211112112112211112211121122112111222122211222122222222212211112121122121112212222211122111121111112111112122222211122122111111111122111212222222211212111122111212211112221121211221122212111211221212121122111111212121211212121212111222111211212122222111212121111211112221222221212112222211212111122211222112212112121221212122221121222111211222221122222122121212112121121212112221222212211111121121112221111212121211121212121222121222112211112212121211211211212121122222211111121221212212221122222121221122222211221222121222221111211221121111221212221221121111112212112122212121211112211221122211222122221111211121211212122122211211121112121122211211121211111212211212122211112111222121222212111111221112111112221112121112111122112111211222112121211212221121112121112211211211122121212222222112111212111222221211212211222211112222122112122122112122121212122221111221121212211221111221221222222222211222111221121111112222222111111122111211222122211112212121112122112121121211112212211111122121222111122121112222111111121122212121122221221221221221222222212221121221221222121121112222111221122221221122112212211212211122112111222121121112121222212121122211211121122111221111111222112222121112112121221111222112122122122122221111212122221122212222212121121222222112122212121222112121111121221121212112111222221222112212121122112222212121212211212111112211111121122111222111111122221111112112112221112222222222121222222212222222212111122222112222221221222112212111122211122121122222212211121212122111222111212121122221212122222122211222211211112211211122111111122222211111112212121112122111111112211222222121212121122121121212122212211222121112122122112122121212212122221222121112111221111121211222112122211112121212211121211121121221212212211212111211121211111111121211112112112121111212212112221121211112111211211212112211121211212121112112221112222222111122112212222122221122111122211212222212112121121221112121121211112122122111122112111211221222112211121111112211111212112211121121121111221122221221121112222111122121211111112122221211121122112122211122111112122211112211211212221121112121112212222111121221212222112121112221212212222211121221122212221212222111112121211121211212221212211222111122112111212212112122112221111112211121112112122222212222121211212222122122121122112121222221212112112212121211112212121221221111111121122211212112221222122112221121112112212121212212222221112221121211211221121211211222222221212112112111111211222211112212122111122221111111212222112211222211211221212221112112211211212211221211211212221121221212122121112221112122211111222121121211111211221122212111121122121121112112112121111112111122212221212221112122222221111122112112222111112111221221122221111111221111222221221211112112111122121211222112122122121221112112212111121221212111212222222221221222111112122211211112112211222212122121122111211111222222212212222121121222211122222222212212221221222222122122112211112112111111122111222221121121221121122221122111212211122122122211222222111221222122211212122112122122122111112121121222122121122222211211121212111122122112111212211112222212112222122112212122212211111122122211122112222121221221221211211211122212221212122121221121212212221121222111122211112211111211221121222211122112112221211112222212112112112222112121222221211222212212212211122122221222122121212211111221212112211111111112121212111211122111221111111111211211112111121211121222212122211221212222211111222121222221111122121222112222211121122221221111121122211122212211112122122121121111122111212121212212221211122212211212112211121121222122221222112211211221211112212112121112111121122212212222122222111112222222111111112222211121221112212212211222221212122121112112211111121121221211111222221121212222212222111121212112111211121121112121111112222112222221111212122222211122111221121122212111222112211122111221112122112111221122211121222111112111211121221121222121122121212211121211212122122212221122212212121221112221221122221221221211122221211122212212122211221111212211112111211221212112112122211221222211221212211212222212111111121122222211111122211221222222212212212212111122112222122112111112212221222222221122212222122122111212211212212212211221221222212121212122111122211222212122212112112222212121212122221211211121211122122111122121112212122212211222122222222211121222221212222212111121221212121112122212222122222122122211121212221211111221222121112122222121122222111122211112121211121221122222112122221121211122111211212121121112211211112211121121222221111112112221221111122111112122111212221211122111222122122122111211121122111122121122121121122221211121212211212111121122212111222221222211111121212122221212112212121211111111221212222111121212211111222212221112222121112121222222211221121112121221111222221212112221212122212122222122211211111221211111221211122211111211112112111222211222211212221211222112212121112111221212112221211221211112111121221212122222121112122112111112122221111222211211211112222212212121111222122112122122112212211111221211122222112211112111111122112111121121121212121121112111121122221122112211122121212122121221111212112212112212121122111222121121221122221222111122122121111112221222222122212211122121111111222112221212222222111211211112121211212121122221121212222222221211211112212212121122121221112122111222112211212122212111112111211212121211211211212111111122112212121111212111222212111112121112122211111121222112121221112121121221212111221222122212212212121211112222121122221221211212211211112122211211221122212122211212222111212222122221212111222112111111212222112221121121221111221121222121121122121112112112222222111212221221222112222112212211111212221122122111122221211222121221121212211212222211211121222122112212122212122212111222221112212222211111211112212222122211212221212122121122122111112212221111121121222111222212111112221221221121112211111112112212212122111211122211112211112211121121121212122112112122111221222221222121222222111111212111221211111112221222122222112221212111212122121111111222111212111222111212112221111211221212221121122222112212212222211112212211221212222121212221221112211112211211211111111212211211121221112221221222221122111112112222122222221212221222111211222112212211111122212211222222111211212112212112221212222122121112212121111211121221112222122221211122211121222222211222221122222112112122122121222212221121112212122112112222121121211112222212121211111221121211211111221212122211222211222212211111121111212111222111112211121221212111121111111222212111112222211211211212211221211121122222222122111121111122221111222221111121121111222111122121221111211111211221121212111121111121222221212112221111212122222122211121112212211111211121212112211121222211222111212111111222112122221221112212222112222212211212221122121221211121121121212121221121211111111112221221221212112212121122212212212122121122112122122122222111211212111212212111112111111212221222221211111211212121112221222221221212212122211222111121121111212112122122121222221221211112122221111211122221212221222112212121122221212211212112111221212212112121211212121122122122111211122122122111121111211122212112112122212221112111211222112122221221122122211211122211211111212212121212111212212222111121122122211222122212212112111111212212121112222121112211222122122221121121122111211121221111121221111121222221211121211112121111111212111212222112212111122221121212112212121112111112111121122212221212222222121112222121122112121122212222211221222121222211212121112112211211221122221211121112111222212221122221111222121111222111122212212221212212121221121122212122211121112221222122222212121211121211211121212121111121221221122221122212122121121212112211111112112111211222211222211211122221221211111112212111111222212112121112211212112122222212112222121112221212222211111111212111222112122122112212222222222121122111221211222221212122112212222112221221221122221222211112211121122121122211211211222121212122112222121122212112222211211211112111111112111122121212222221122211221221212121211122211221111122212212211112112221222221211222122211122112212122111112212211121111111212211212211121122221221122112112122111121121211212112112211221122221212112222122121211112112111212122112222211112222212121122111221122211112112221112221122122112222222211122121212122111222222112112212221112212112222111111211122111121212212211121122212211212121121112122222211211222221212121221222122112112112221211121222211221121221112111121221212212221111211122112111112112211211122211122222212221211211212122212212221212222212212212211211121111212111211111112111211121111212121211211211221222222111212222111211221222121112122212111121121111121122212112222121112111222121111121212222211222212122121212111122122222211212121212221121212112112121111212222112212221212111212112211122222221222111111121211112122122122122221211121112122222211222211211212221112122221112221121112221111111122222122122121122111111121212211222121212211221221112211212121212211212121112122112222221211121211222212221212211211111121211221211221221111122221221221212221111212122211111112111122211211111112212211122112211112222212112211112222221211112121221122221111221212221222112221211121211122112122212211221211212122211111112222211121111122211111111222211121221112111211112221111122112111211121111122111111122111121111111111121212211111212122111212212112111222111212122122122222211211122211211111121122112111212221111111111122111111111211212211211212111221212122211222212121111122122122221122111112222122221212211212122211211212211112122121211221121112222221121221121121111111222222111222121222121111112111112111211112222221122112212122211222122222122212122111211211111211212111222212221211111221112112122221121121121212222221221122112122112211111112112221122212222121211221211221122211222221122222111211122111222211211221111122111122111212121121111221212222221121121122112111111221122121221122111221122111121222122122121221211222212212222112121122112112212211112221112121212112112111121122112121211112111221121111112121221121122121211111111122212111122112111211111121122122221112211112222212111221222121112111212211112221221112112121121221121112212122212212111211212121211121111121212221111222111121121112111121111221221122112122212121221121112121111211221222122112221211211111222221111211211121222212221212222112212221112211111212112112222222122121222211222112221121222112111121121112122222112212212212112112222122112212121122221121111221221211112112221222112212112112221111211222221112111212222222221221211122111111112112212111122121211112222112112112111111212122112221112212121211222211112111111121211221221122121221221121222121212112122111222211222212111222221111211221111122212122121111121122121211212121122112222221112111112121212112112221221221221221111211222121221112212221222212212221221221112212112121112122121112122122212122221121222121112221211122212121111122111121211122121122111121221111122222212122212111222112111212222111112212222222122122221111111122121212211111122222211212211112122222222121111221122111112211121222122122112212212221111112211111112221111222212211112121122222221222122111211121111221122112212212212112212122212212122212121222122222121211222112222122112211221122211211211211212122212212211222121211221111111112121212112122211212111211122121221222211112222211112221111211222212112222221121121111211122121221111122222112222112121212121222222221212121121111112212221222122121112211221222212121222112221111221211211222212112221222121122212212222111112221212221211111112211212211212221222122212211121122211111222112121122111211211121221221121212212122121212211122222122112112121122111111111111221112112212222111221121112111211212121112211122121212122121122211111211111112121111211221211122121222221121112122121211211212212111121222122122211212121112111111121121222121222221122222221112222211122112221112112222121211211122122122122221211222211122112112122112221211212211212122221221122111222221211212212221212212121211222221122112111112211121222111221221222212212212211121222222221121221111222121121222212211111112112111121122222222212211222122122111112211212221112212212112112221121212221111122121222212212222122211112112211221112122221221121112222112222221111222122222222121111112111222221112222121222212112112121221111112111212212222121111212221212222112221222111222122222122122112121211121212121111222112121211112121122111121221222112121221212122222222212111121121222122112122112222111111211121122112221211212212121212212121112211212221122212122122211121121121222212221112212222121221121211211111112222112222111212211211122211222112212121222212112212211221121212222211212122211112211211121121221212122122212122112112122121221111212122212111111111112211222211122211211211211121211111121112221122221121222112221111222122111121221111121121121221121222112122121211211122211111212212111211121221121211122212222121212221221211221211122111211111211211211122112121222221212112122112211111122212122112212212211221112211211211121212111112221211111111122122212111221211221112212121212112111112112112111112122221122222212212112112121121122211111122221222111221222111122212222222221111111122111221112121112121121212122212221211221222212111221221111211112112111121212211221111222222111112212212122221222112121111221122211211112222221111122111112122111211122111221212122111212111111222112111122122112221212222121112211111121121111212121111212121211212211212112121222221222222122121111222111122112122122111221121212212112211212221112211121111121222121112212111111221112211111122222221221221222122211111121111111221212111112112211221121111221121112211112222212212111112222122221112111111111221212111222111122121121111222112221121212112112112121211121122111122212211221222122222222212222121122222111221112112221122211111222212212112111222121221122122122112222222122122212122212111121122222122221121111221121112222222122112222212111111122222121211212122212122121221111122111111111122212212222121221221122122112111211111222221221122212221122122222121122122221211212211221211211112221121111222112111222212122211221212212111111212112122111211112212222111212222222122221221211121222121121122211121211222122222222122121221112122222222221121212222221222112222212221222211111221222112121121211122222212122221111121211122121121221212222222221112112111122121122221211112222211222121111112221122112212111212122222111111211121222212221112122222212222112122221221111221212212122111222222212222212112111111121221211121222122212121222122212221212212211121222111112211221222112111211222122212212221122222111222221112121122111212221122121122211112221222112212122211221212122121121222211111221112122112221111211122222222212121121222121121222112111222222211212112122222222211122111112212211111121222122111122221222112111121122222222111211212212111111222212212121112212112121121211211221111211221122211211111212211121221112212112212222112121211222222112122111122222111222221222112221122122111212122121222212222111222211121112121111221122222121121112221221112221121222111122121222211211122112111122112212111112222111121111221121222121221212211221121221212121222111221122211222122212121211211122111212212211212211111122122211212112111112121222221222211221121221222121211111211111221221111111122221112122112211112222121222212222211222212111112221122122211111121212212121222221121211122221122112111212211121111122112221222122212221222111222121122211212112212212112211111221121122211221112122212112111212222212121122121221212212112112112122112211111122112112112122222211212111211221122212221121122122211222111222122211111222211211221211112122112122121211122211212122222221221122112211122221122121122112222122122112121221212121122112212211212122221211112212121121211211221122212222122222112211112221121111212221121211121221221221121221121112112221211121212212111211111222211111221111111111121221112111112111222121121112122211111112112221121211122121222212222122212221112222112122121112222112222211111112212222222221121111222122121211112111211112221222221211221222122212112121211111121122121222222122112112222221112112121211111122111122111112222111221211121111112221111112211222222121122221111222111211211121112122222212121222221122111211122111111111212212221222121211212121221212211111122111122111212112222212121222112211212222122211211222121121121122121112211111122121221221212111121221112221212122212122211121121122211112122211111221111221221211212122212212211212211211222112211211121221111212121112222212121111211212221211221222112121112211221221111111122121221111121111122122211222212122212212122111222111122211212121112121111211221212212221212111122211122211222212112211212222212212111222211112212211221211221212222112111222112221211112121122121211221122212211111221112112112112111222221222111121112222211211222222212121122222211211122211212222212222222221122111222211111221212211221222211121211222121122112122212121211211111222112112112222112221222211211112111121112221221111111121212122211221112111111121211221211221221111111112221222112211221222111112211212211112121222211122112112212122111211122221111221112222112111112221211221122212222222121112212111221121122221112221122111111212221212211211121222221121222221122112212211212111211121112111122211211122121122222212212212212211212112222122211212222211212221112111221211211221112221111112111221111222111112112222122111211111211211212212121122112122211221121221222222122122221111121212221112221111112221112221212222222212222111122212112111121122211211111121122222111121212122221111111112121221122121122121222221122212121222212121222212221121111222111121221122211211212121112221211112112112112121222111221122122121122111212122221111222111221222212212111112212122111112111212211212121212121121211221111111121211222222212222222221211121221111212112221221212222112112111111112212121211212222222222221211111212212211221122122212211121222222122121221112221222111222212112212212122122112211122212111212122121112222221112112212222121212112221111112221212221121111121212121122121121221212111121211111212121221112222122212112122111112211112211112221112211222212122122121222222211211221112222122211122211111122111112212222221122222221222122221211121222111111121221121212112212111221211121111112221112211222122122121112221212121121112212122112211122222212111112121121211112212221112112121121121122121122212111222211121122211122122212111122122221221112122111112212112122221122122122211122221112122212122112212212211222221121212221112112121122222121221112212222121211221212212211111211121111212221122211212121212122212122112212122211111221211121212212111211211112222121212211121222122121211122121211221122122221211211221112222222211221121222221211111222111211122122112222221121111111122112222211112122111222221121122211211211221121212211111221221222122112211212111112212112111122122212212212121121112111111112221221211111222112222221111222222111222121222212122222212111211221222221211212112112111122111221122222212111222222112221222222111212122121222222221212111221211222112222111211211221212112222121221211212222111111221111221121211112111112111222221121122221221111121112111222112112122112222122112111112221111122112111111222112221211121122111112111222121212222111221221212221221221122112122211211222221122111211212222221122112112212121121212221121212122122222222121112221122211222122221221111212111212211222222111221212212212112221112112211211122221112222121111222111221122222111122221221221111222121112221122122121221212222211112112111211221211222222112122121112111221121112212122212112112111121221212122112212221211212122112211111121222112212211222121122212212221211122121122121112121212212122121121122112221122121221122222121212112122111111212122122221111221222122111221121211212221222221111221111211211212221212122222222211222111212221111222122211211112111121211222112222211122111121212121212111121211211222122222111121112121111212122222221121122112122211221112222121212122212212211211222111212121111122221221222122111221221122212111212111122222122121112121112122212211212121221111111211121121112111212212211121111112121212222221212111122222221211222122221122211212111222121222121211222121122111111221121222221211122212111212222111211211112121221212112121121111222212212112211121121222112111222211122221121211122112121122112211212111121112122212212111111212111121221221211221222211222222222121122211111211112122212112212112221212122221112221121112111212121212112211222222112212112112122112111221212211122112221211122211211111211222222212222222212212121222122222111111111122111111212212211122222222212221121111112111211211211221221121122221222112222111211122211112221212221112111122112121111111122212121212121121121211211122121221221121122111211221211222111212222212222212212122222211222122211212121212121221222112222112221111122121211111122112211112221222122221221221121222212222222121122112211222222212211121221221111211122212222212211222212221111112122221112111211111111121212221221212222211222112111112122121221221212112121112221112211121121212111122211111211222112112211122112222212122112112112212121211111221112112121211221222221121122122122212221112211212222211222221121111212122122212122211221121122121111222221221121121221212112212122211211221111121111222221112211221221212112111111212211111111122122111122211222122221222221112212111222222121212121221111211222222222112112222212121112111112121112212122111122222222112122211211212221121111211222222221112122111112222121111112221112211112212222122222221221111211212221211222221212212211121221221221111221222221122122122111221212112212121112122112122222221211111211121121221221112221122111112222211212212112111112221212211122121111122111111221211111211112221221122121122212211122212111221112121212111121121122122112122222112112112111211121112122221222222112222111211212222211121122211112122122121221121121111111122111222211121112111212222122121111121211211111221111121121211112111122212111122212221212221212212222212111121211212211121221121221211121222111121121112222222211122122212121211121122222221211221111211112121111211111111111111121211212121121221112211111212121111121122211222121221112211111122212112221221122211121211211112121111111111112211121222212211221112212111211122221211221112222212222122122122122212222111122212112112222222111221211111222212222111121111222212121222121222212222222222222221221111121122221221221212211211111122211111222212222211112211112221221111212212211212111121111121222221221122211211112222121221121212122211111222111222112112221212122221121222211121112221121212121112221122221221111122221222221111122121211122111211122211121111221112212222211112112112121221211111211222221221212122111112212222222121111212221111222222211122211121212211221211112121121121122121111121221112212222121221211121122112212222211222222212221121122111211111212212221212212112212121211211221211122112112122221222122222222111112221222121111211122112122211112112122211212112211121112111222221212211222211211112221212112212211122111112122212122112112111221112112222122111211211222211112211212121111112222211211111211121112211211212122212121112111111222112222211112212111112212122121112211112222112111212122221221111112112211112112112212121112211222111212222222222121212121211212221121122111211122221221221112121212212222121122212212212211112221121222121221222111122221112112121212221222212122211111121121122121122122111222221221221111221221112122112221121222121222122211111221121122221121222111221122222121211212211112221122121221111121222221222122222111222111121211211122212211122212221221221121212112222211111222222221211211112221211222121212212221111111111222112212222221212211221122112121112111122211211111112221212122111211111212111112111221111121211112212112211122112122121121121122112121222111211212222211111221112222121111221111111112122111121111221221121211112112221221222211212221212221112221212221222222221211212212111212221211211211222212212112121112111222112122222211221121221221222211111212212211221122121211221221211211211211221221112222121212122211122121111121221211121122221122212112122121222121121221211122211122111121112122112212221112121222212112211112112122222222111121212222121111212111212211111112121211222212222222112112122112111222222211211221122212212121122122221112211112221211112112221222112111222112112211212121221112212122121221122122111121222111222221121221122122121222112222212212121212121212112121221211112212121121112212211221111222112212122122212121121222112112221112212121211212122211221212211221212112121112212222111121222111211212121212212211222212111212111212112121211112122222121112212211212112122221221221222121121211222221121112212111122212211221212122221112212112121221211221111111212211112111212122212211121111122122222221111211112211222112111211212112211111212222122122122121112222112211211212112222222112112111221111111111122221222211212211122122221122121221212222122222122112111122222212211222122211221222222112111212121122111222122122221211221112112121212221211211221212112221211221212121221111111221211222221212112212212122211122111121112222112121112211211221221111122121122211211222112222112221211211222212111211211212212111111122112111121111212121122221122121111111122211112111111122122121111211211211221122212121122111222221211212221112212222222121212222221122212121121122212211222122222122121222222212111211122211221111221221211112222112111121122121211111112122111111221222222121121122222112122222122211111222122121121121221222121122122122211211211221112211222122122122111122212222111111111121112112122112221211111121122221221212111112222212212122221211121112212111212212222222211222121121112222111121212221212122211121112121121112112212212121121112211111112121122112111212121212121122221122211122121122111211122112221121122222111222112222221222122212112212122221121221221112222121222122221212112121211111221111122212122112211121222212221121222112211222211211212121112112122111112111221111212221112122221122122122222121122111111121222221112111221121222221121211222121212211122222221112111112212111212122212111222121211112121221221221111211222212221212211211112221221222212121221221111112121221222212211211112221121212111122121222212111122121222211121212122222122121211222222112211111211121211222221112222212212121121122122122211211112112222112121222111122112111221212221121121121112121112112222112221222211111121121122211121111111222112112122111211111222211222211211112222112212222122222212111221122122212221112211221121121211212222121122222121122121112212212221211222121212122121221212212221122112112111221222211222211122111121111212211212121121212222211111221111112222222211222221111122112212222212112112121112222211222122112222212211112112222121112121121111121221122211112211212111121211211122212121121111122211121122121121212121211222221222211121211221211112222122121212211212111221122211112112121111112221121122211212121221121112122211111122122121122112222211211122121111112221112211122111221212121122112122122111121221111212212122211211121112112111112121222222222112222121122221121222112222111221211111221221212112222212212222111111211111122221122221112122212222112112212111121222212211212111211112121221121212212122212111111221111121222211221222212111212112112212121212121212212121222112212212121112211212111212122121211111122222211112122112122112222111121112121122221211222221112212221122112222112122221122111112212211121212112122222222211222222212122111212121212221222111222122122211221222122212121222121121222211221212112221121211222211121121112122112121221212111212111111222212122212221212221221111111222121221222222222221122111112212212211111221122121121221111211112111221212212222122121212211121212211121112212221221221122211111111121122211211222111112122222222222112122111211122211211211211222111121111222122111212222212121121211111221212222211111222122121212212121121122111222121122221112212221222112122212222221112111112111221211212211222121122222122122121212211212212212121222112121222211212212212112111211111222212221112122121121212211222222211211111222111122221111111121211211112122111111122212122122112122121222111121111112122122211212211211222212212122112122122211222211121221122222212211211112222112121121221222122112222112122211122111211122122111111211112211221112212222122212111111112211211222212111211221212221222112121122222211112111221122112121212222122211212122121212122122112212122122112112212221122112212121111121111211211112121122112112112222222222211221211221121211111221222221222122221112221211112211121121222222122221122211121212111111121212222112222211111211121112221111212122122222222121111121112212222222212212112212122212122221211221112212111211212221222212211221111111111111212222112122222111121121221122112222211212111212222111111121121222221122221212111112211122111112111111211111122122211112122211211121222211111211111111222211121222122222211121211111211121111221122211211111112111112212222212221221111211222122121121222221121122221222122211222212112122212222221111122221112111211111122112111121111211212111111112121211112212212121121112112112111111112111121211121222221221221212121111211212222212221221122222212212221121122212211212112212122211122221221112121112121122111112111121112222222112112111222211121111211111122112221121222222212212211122212112111112222122122121212112221122122221112211221121222222221112112111211221121112221211222221111121122212122111122122212222111112212211122122211212121212212222111221221122122121112222222112212221222111111112212222122211222122122121111112221121112111221222112221211111221122112222221121212212112221122121112211221112112112121212121221111221222122211212112222112122211222211221211122221111222221211211111112111221112122121221222122111122111212122122211221212211122122122122211111222111121211212122112121111221122121212211112222112211121221212111111212222222122221121221121112222212211221212222222122121112221211211221212112222211211121112122111122221121121221121112211121212122211222122221121222112221222111111112112211212221222112121121112211221222222211222221112211112212221221122121211121222122111221112222111112222122121122221222111222222222212121221212111111222122112222112112212222121212222122112112111121122112212212211121222212122112222221112122211121121222112211212212111211222112211211212112211212212111121221111121121212221121211222122112121211222222111221122111121221211112211222121221111111211112211222212111222221121221111122221221111221111111221112222111221112122221222111211212212121112221222211122211212211211121112212222221122121222111221112212212222221221121222122122121122211121222211111222111211111221122111221212222222111212221211121112122111222111212112122111122121222121122112122221212121222211221111221212112112211122222222111212221212221211121212121111221111221212222112211222121112122121112121121121122221212211222221221222222212111111121111121111111221221112222121111212111121111121212111211222112122111222112112122121212121222111122211212211112222112121212222212211111222222221121111112211211122222211111112221222221112121212222122122122221111121222221211121121212122221212221112212112121222112222112122121212221112221122222112211122212222111121211221212111111222121122111212221211212212211112222222122221222112111122122221222222122222121221111221221222221221122222121211121222112121122221121221122221122121222111221211222211111221121211111112212112211112122222211111112112111221122212112211122112222112211211222122221222222221121221222111112212221211121111211121212121121221122111222212211211111121221222112221112211111222122112121122111212222122211122221222221222122112122122111121221212121122211111221211211222221221121221212212121121211112121121222221111112222122121221122222222111212121212111222212221211121211112221222121122222112121111122122221122122212111222211212122222222121221222212221121222221122212122221212121111112211112122222111212222211112121212122212211122122112121112112212121121211121121212222221112121222121112112212121211121222112211121212222111211121111221122122221122221211212111112112121121111122122111112111211212212221221212111122112211221212121221112222121121121121112112121222222111112112222112221122222212111221211111221121221112211112121122111212221111211211222221121111122221111221112212111222211122122221111122112212112222121211122121211111122212222222112121221211121112112212121111211121212121222211121222212122122212222111112212121122211212112222221221212122122222111111121122122212212211212121122222122221112222211222211121211112121211121221222122122122111212122111222111212112211122122111222212211112212211222112121122111211221211221212122121211211211221121221221222222212121121121122112211211212212211112112221211212221222111122221121111222212111122212222212222222222222211212221212111212212112221212122212121121222122222211221121222211212122122112212122212111122122222122122121212121211211211222221121111212122121222221211111111121112211221121111111111112121211211211122212121222212112221212211212112212211221211121221221221112112211212222112221122111212222121222211221112212111112211121211121212212111121122221112212121112111221112211121212112111111222122112122211121222221121121211111211121222212122111222122212211111122112211222212111121222111122212212121122222211121211221122122122221112122122121212112111121112112211212211212211112122111122111122121111222221222221211211221212111121211111111211212221122122112222111212121222212112221112112112122122112122222112121222122221122221221212211212121221111211121222212222212212211222222112222111211212111221122221122221112212222122222121111212221122112222222211221212112222111111121211111111111222222222222121121121222221121121222122212211111222122112122111222211211212222121111112112222122211122122121111111121111111112222122112122212112122221121122212111111121122212112111112112111211121211111112222121211211111212122222221222222212211112222122212211112112211122112121221121111212211222212112222221212221112211122112212112221221211111121112112222211222221221221212211211122112221122212112211211222112121221211221122222222211112211122222222221112222212212112212121111122222212222111112121221122212112221111112222222212212111221221221212112122112212121122211112121121222221222221222112222122221212221111122111212121222221112121221222111212122122111112112211111122111121112222121121111221122211121121111112211221222121211121112221221122122111111112211112122221122211222111121211211212222121211211111222121122222212212121111211121211211211211112111222211112121222212222211221221222221122212222222111111221121222111211112111122112212211221121221121112112211122112111211221222212112222212121111222111221212121222122222122121212122111212111212221112221211112112112212212121211112111121121222112222112222112211221121112121111122112121111211122222221122112222212222222122111122112111222122212222112122121212111221121222121221221121122112221112222122222122222211121221111122222221212122211211221121122111211111212221121122122222221121111112121122212121112221211211122211112122211221212211111111112112111211222212122212211121221112212122121112111112112221212121211222212111211212222211111112111211111112122122111221121121121111211222221111221222111122211211111121112221112222111222212112211211122121222221211212111211111121221221222111221112212122212221212211112112111112112122211222111212112222121121212211221112121122112111111121121122122122112111212111121221112111112212212211221111212112221221221211222121212221212112121222122221121212121112111212222122112112222121221112121121221221112212221122112211111112222112122211211112212122222212112212112222122111221111222221122112112111112112211111211212122122221211221112211221112121112212221212122112121211111211222211112111222211122212221221221221112111211121222112211121221211112211222121211122122121222111212211212221112111222212212221222112122221211222222211121212211122121122211121222222122122222121222222122112221222112212211222222211111112222222111221122211122121111112111222122211111112122222122122111111212221212122221111122112112211221112211111121122122112121122111111111122221122112212221211122222212211222122111122112112122211121112211221121122222112112212211212112222111211121111221111121111112211121222212212112222222212212221112111212121112111221211112112122111222122112212112211112211111221112111122222221211111111212211122211212122111121112221122121121222221122111112122121112221221112122221211122121121121212112212221212222122211122221212211212211211111211222121111122221122121121121212212111222221122121111111122112112121111211121111112111121111221222221122121111112221121221112111122212121112112222111111111122121121211222112212221122112111211221112211212211211212111211122211111121222221111211211121121222121221211221112122111112121212121122221112121122212211221211211112212122111112222122212121112121212222111212111112221111122211222222221211112122211212121211121221221112112111221111211211121121221211112211111212111111212121111212212112111122121122122121112211122212122112121211121112111122212211211121112212211111212221222111122111121122212212222122212221211112122122111122222121112111111222121211121222121221221122112111211122122112121111121112221212212111121111122211222111111112222111122111222121222121211111222222222112222122212212211112221212122221122221211212221112211122212122221121121112121222222212112212111211212211121211211112121112111221121211111122221211211222112211121211112112222122122222212111121122222122111211111211221211211112121221221221211112121121221212121222222122122121212222112112211121212212222221211111111212121121222212122212211122211222112121221121212212121112121221212122221211221211111122121211111121212222212121112112121111212122111211112222111222211111112121221111112211211122211121211121122212211111112212212122121111121211221121122111221222212122212112121111111211222121211221211122212111112111111211112111111221212212222111122122121112122121122211211211221112221121212122112122212211221122121222212111211122122121211221122111122111121212112212122122222121211122121211212112112121211122221121222221112121222122111121111112211111121212112121122122211122211111221111211111211121121222211121221222121221122221112222222111112112122111112121111222111112112111212221212222111111221111122211212111222111112211222121212221112112221222112211221121122111221212212211112122121122111122121122221112221112222221111211222211221222122212212212212222122121211222112211211111212212111212111222112222221221212121111121112222222211212221122122211122112222122121121112212112221212222112221122211221111122122111212221211212121212111121121211111112112112111112212222212221221122121111221122221112122212221211211112111122211221111121211121122212122221222212121212211112221221212122121111111222121221122211221112122111212211112212212122222221122221121121212122121112112121211112121121112122111212111122112121122122212211121212122112121111111222222212211121121221211212121212221111222121112112121222112221111212222121121122122112112222112122211211121212222122111121212112121222121122211121121111112211112122111111121112221122222112122211112221122211112221211211221111112212222121212212212121122111222111221121212211122221112111212212121122221122111222221121121222112111112112121121112111211112111221212112212111211121111122111121212211122211221212111122211221112212121211222122221112212112111221222222211222212221211222112212112212121211121112211122211111222212211212222222212112221121211112121112221121221212112212121112212221111221211222112212122121112121212211211221121122122211211122211211121222211122122122212211211211212121122121122112222212211211222212112121222221112122121211222112221211121122222121212222122222221111211221121212212121111111122121211222222111212212222211211111211112112211111212111211121221212222122211121221222112211211122211111111221211121222112212112111122122111211212112111211112222122212222211212211122221211121211111221112122111221221112221222221221111122222222112121121112211212211212111121212112112222112111111221211211221111212112212122111122121221222112212222122212221111112121112212222211112122122211121221212121212111111111122212211222112122211121121122211221212221222112112122122222211111221121121222122212211112112221212212121122212222111222122221112112212111112112112211112212112222122111221121211212211212221222112121121221211112222111212112222111221121122111122211211222121211211122211221212221121112122122111221222122212212111112221222122111111122222222212221121212112122121221122211122211212121221112111121221111221111122221111112221111122122211211122221111221121221211211112222112212111211122222222112112121211122211211211122122221111112211122122221221222211221211111111121121212121212211221121211121221122111212122122211211221212111122211121222121112222122111111122222111221121221112112121121221222222111222212212212212211212222112111212212122122122211212221211221121212111121222122221212211111221122122111122122121211221212222122111111211112122121121112222112212212221111121111121122221122212212212222211222212212212222222121122111112211122112112111122112211212222121121212221121222111222222111122111122122221111111211112111221212221222211212122122111222222122111121112111122212221221222212211212121222222222121211112121111211221211221122122221222112221212212212211112211222221121211111121121111112111111112111222211122212112111211122112211111121112221121212112221121121122222122111112211222121222211111211111111121122212212222222111222222121112211112111211222222122212121221111111112221111112211121111221211121221222222221111221122221121211221112122112111221111221111122112111222222211211212212212122122121121122111111112112221211211211112211211212211221212112121121122221222122221111122222111212221211121211111111111211111112222211111111211112211212111112211112112221222222112211211211112112111211122211122211222121122221112222111222111221112221212111112222211211221112222111222122221112122112212122111122122221211212122211221111122221222221221221122111221212121221121121121121121112111121211211122112222222212221121222121122112222222221121212122122222112122121111112222112212112211111221111211212221112121211111222211112212212212112122211222212112112111111212112112122211212211121122122121222112212122112121211212211121112112222212122212112211222211211122111222111211122111121122212121121222111122112221211211222122122222221212122211221121121121222221122121111212211211121222121121112222211212121122222112111121212122122121112112212112112222212222212121111112211122122121111222212122222211222111121212222212112222112221212222111211112211222111212112121211112122211122211221112122212212122112112112211122121221121121121121221222212121222122111121121211221211222222112221122221211111211112122121122211122221221122222211112111111121221212111221122212121111121121112221221111122211221112112211221122122112111222122111222112212122211122221222222121122212112111111122112111222121211121221221222122222212111122221112212122122211112221211211212121221212111221212221212112111112111112111211112222211222122211112222122122211122212112111111112112111221121222111221222111212122222212111112111211221121111111211211121121212122221112222111221222122122221221122122222222212212221212221222121111211112221112111121222222222121121222222222112111221111122122121111112121112211221211211112111112212211121221222221122121112221212122112112211121212222212122221121221111222121111212212221211212212211222122221212112112221112221121122222222211121221112112222221111121212221112211112222112112121222112111121112121111122111222111221111221212212111112122221112122222112212112211211212211111111212121122212121211112122122111112222111212122222221111122221112122222111111112211211122221122212112222121121111121212211211211112211111112121121121112221221211212211122122112211111221122112121122122111111222211112221122212111112222212111211211112112111122221221111121111122111122122122212212222112112112111212221222212222221222211122122221112211212112211211111221211121211122122121222111221111112122211122211122222211222211112111121211112122111221122212221211111121221121221221111121121211111111122112222221212112121211222212122122121222211221222212112222212111222222122221221111211211112222112111112222111122211111121211122111221112212121111111121211211121121221221222111212111121212221221111122212212121111221122222212221111221212121221211111221121221222222212112112212112221122221112222121221221211111221222221221112211222211222122121211122212121211211121212212211211212112121221222121112112121112211211221212222212211221122211212111211222221122111121222121111212122222221211222112111111212112212121121212112121112221122121122221221211121222111111112221121122222222222222211111112222122212112112211212211221222111111221212212221221111121222112222112112222121122222211112122221212211121111122111221121112112212221211212111211121211222122121121221221211121212121211211221211221122221112121222221121222112112212222222222212222112121111112212221212222111211211211121211221112122122121112222112121122222211121122221222212112121112221221221111222222222111221212121222121111122221211111212112222112111111221212212211122121211221212221112112222221112122111221121111212212221211111111121111122111221221111211122111111111112121212121221211211221111122222221212112212111221221111121221221211221211112121212121122212112212112222111222211121122212222212222112222111211111121221211222211111211121122111221221222222122121222211122211112212222112221112122122212121122121111121122221212111122112212211211221111211221121121112212111112222121121112111112212112111211211221111211211211112222221121211211211211111111111121212211111111221212222221122121122221112121212222122121121112221222111222111112111122122122112212222211211111212212222121212221212121222112211211111221211121212122121222221222111221121122212221112122221111211112122211221212111212211222121222211222121212212222111112112212112121122121122222111221222221221222121112222111121111112111111212212121222121121112211221122122122212112221112222111222122122121222221112222111112222211112211121122212222212211212221111122221112211122112212122222111111111111212112222122221122211121111111211211212212111222122111211222222211211221221212221211121211112111211112112111122212122111222122122222222111222122212111111112122212112211121211212122212112212111111211121211111212111211222111211221121121122122222111121111112212112111122122111211122111221121122222221211212222222211212122121212121221121122222122112212221121221121111121121212111112112212221212211212111121211211111121212211221122111121212211211222222212212112111122111122122212211122212122112221121222112122111211111121211222212212121212121221221221212121121122121111221211112122111111211222212111221111211211222112221222211222212111111122112221122221111221112111122221121221221111121122112212122221221112221222211212221212221212222221112221222121122112212222111221111112211212222112122111112221221222111122111111212211222222111211112221112221211111221211122121122211122212222212222221221222122211212112221112222122221212112221212221221222112122122121121122121111222112112121222222221221121222122121111222222122211212122112111112112212211111211212121222212112212221121111221122111212121121222212221112112221211122211112112111221111121111211212111211221111121122121122211122221222221211112212112122122222111221222122211121111221111121112211221211211221112122212212111122222222111222222211222222112111221121211222122221221112212112122121222212221222121222112221211221111121212111112221221112212212121211211212121222211121212212121211211221121211221122122121222112122222112111112211122211122111222221222221122212112121212111112212222222112221211222121112111122121122112111121221222221111122221111212211221121211222121112112112211212111222111222221221111211221111121112121212211221212221111112212112222212211211111121121211211111222112122122212222212112222211121212222212121222122122221212122221121111211121122221222112221212121221211212111212112111121122221111221222211221112211122212122211122112212211122122111222212122112111212122112112112211121211221211222111222111112221212221122112221122211211212121221121221222112121121112122211121111212212211122111121112111212111121221122221222212222212112122112212221222221111222211122211122222121122111221122111111212112222111122122112122121122122121212121112112212121212212221212122121221122221111122222221121211111212211212121121211122112211212112122112111112211222121222212122222222112121222112121211222112121112222122211122122211222222112112212212211112112212122121112221221122121221211211112112221122221111111121111212112212212211111212212212112212112221212122112222222212111222121111112111122212121211212111212122112221121221112222112221122122112111222221112212111121221211111112111111121121111111121221212112221112211122212212111111221222112211212121221122121212112111222121221122122121111112111221222221212222221212111222222111221211222221112222112112111222212122122221222111111121111112211111112221221211211222122221112212121212222211121222211212221222211121112112111221222211222122112112122221122221211211211222121112221212122111112222211221121221211212112122222121211121111222122111111222121121212222212122111211211121211222221111222112212121122221212111112111211211122222221211222211211122121211211212112112111122222212121212112221121212222121221211221111222212121111212121222211211221121221221221111122211222221221211122211212112111111212122212221111212121211121122222222222121222211112112112121111111111221122212212212111111122121221211222122221222212221121222121122221222211222121122221211121112212221221121212212222111221221221211122221222122112212122121212122112122121212112222121121212121221122111122211112222121212221111211111112111111222221112222211221111111122121211121211221211122121121222212111222111121212221221222121112222122221222211222111121112112212221111212111122211122122111221212222212221212221222112222111122212122211212222122122211221211111222212221122212121112121121222221221111212111112112122211222222212221221121121212122121111211122221221121122111111212112112211221211111112121112221212221122212111121212111211121221211211211121121122211221212212121212222121221122112211121212222112111122121221112111211121121211122122212222212122122112112221122211121221222212112111211111112111222122222222212211211222111211211121111122121222112112222111221212112121211111121222222112121111122212112221221122121111121121212211211112211222112222111222221212222221121121121221121221111211212212221112211212122111212221222122222111211121211121221222122212121111211121111222121211111112122122221211211212212122221211121122122221212122112122212212121211111222211112122221221112111211211221221211111111122211222111122112212221212221111212112221112122111122211222221212112211121111121122112221221112212122211112122122121221211121211222211111212221221212222221122122221112111221122222221221121122121221211211221122221122122112121212112212111211212211111121211211212121212212121221211121211222212222212212111221222122121112121211212212112111111222122122222221121211112211111212211122121222112111122122121121212222122121212221222121212211121222121222111221211122122222111212121112212122212121222211112221122122122221212121221222221222111212211221221221212121111221212121212112221221222112111221122112212112212222221111221221211122222122212212122222121122222121211122212122111221111121222212112121121221112212212221112221222122222122111222121111222111112212121111212111121111122211112222111212111121221211212212122112111111211211122112121121211211111111121222111222111212121122212211121211221212221111122112222222121111111111121111111122212122212111222212222212111212221221122112111112122211211211122112122111122211111121111222222121112112121221122222211111222221111212211121211111112111122121211221121211222222212211121121121111121122121112211222121212211112211222121121112212222121122112222222212122122121121112222121222222122221222122111111121111111112121111112222122222221222112111211212212112121211222121222222122112222212111111122121111221112112212211211211122111111112212122221112111222121212122212111111221221122112122211212111122121122212211222222212212221221111212211111112111112212221121212212221112221122122121211221212122212212211212221221122112212222112221112222222211112122121222111111121112212121221112221121222122111211212121212211122121121212222112121212121221111121211111112221211112211122211122122111211222221211112112221112112112122111112121221222122122212221121221211222121111122111221112211112221112212112111221121121222112111111121222222122211222222221221111121122212211111121211211222121121122111111122211212122122112122221111212222212121122212212212111211112221212222111221121122212122121221212211211111121221122211212222121222221222212211112121222212211211221211111221221211112211221122112121222211112222212121122121122222111111221121221122211111112111222222211112121212222222212211112112122121111122221222221212112122222212212112112111212221111211111212222222122211121121212121222222111212112211112222121221211122121221212211222121122111121121121221121212112212122221121112222221111121222221211111122121211122222121211222221121211111122221121211221212122211112112222121221122222222121222212211111111121112221211211122111111121221111121122122211122222212222212212112112112211222212122212112111212121221111212212212221221211221222121212111212121121211222221121212111222212121212111212122222211122221112121122112121211122111211112112112222212211111212221111222121211221111112211211121122111121221111221212221222122122122122222112212212121111112111221122112111221221122111222122121111111112122211221122121221222122211111122122222222112222122112121222111221211112221212111122222221211221121212211211122122222211222121211222121122111122221211112112222112112122221122122211222122111221122211112221122122122211121112221112221222212112112121122112221211222111222122112122122112121222112222122222122121122122122221222111211112222211212112221122211111121111121112112211221121211212212111221122221111221122222221222111111121121222222111212221111222212222222122212121211211221211112121111211111212121122112122121221211221111111112212221111221212211211121212121212121111111112122221211211112122211122111222121211111221111122111112122221121211221211212121122211112121212112222221212221222222122222211121112122112221212122121112121122211212211211222221111122112111122221122212211212211112212121222212122211111112211212221112112111111221111122221221211121121212222122222221222112221111111122121121122212121121112111221212121122121111221211212111121122112211221121221122112111111112111112112212121211221221222122221122121212121212221211111121112121221121212111112122222211222211122121112122221111221221121221211221112211222221212112112112111222211121112112112112212221122222122121221221221112222112222111222121121112222111222111222121112212111122211111212212211221212121212122112222221122221212221222222212211212221222221121211212121112122122221112221111111221111221112111112222212121212221111212111212111122111221122211121211122121112211222112222121222211221122112112221212122212221222121121121212211121221111112112222112221121121112211122221222222211221111211122221122221111121212122121122112112221211211121122121111121111112112122221222112211211121222221221221222212111221222121122121222122221212222221112121212212222112222121212112111121211122221221112112122112122221112121211222121222111211211221121211111122121212111211212222211221121121111221212121121122111221111111221211211221211111121121121112112111121122222211212121121112121121212212121212111121111111122121212221222212112221221112112222121122121122121122221121122122211121212121112111221211222122122121212211111111112122111212222212122211112112111212122221112121122112122212222222221211111111212121221222212122221112222111112121122122122212111122211221121122112121221212222112212211112212112211121211121212121222212122122211121122121121212111112121122211212111211221221211212111221212212221221122211211111112112211112122111211111122121221211212211221211222211212112221112112111222212111221112112211211112222122111221212222122112121112111121211122211212121211221211221122211212112221211211121122222211212211221211111211121112211111112221122211211122112122212111121221212122212122122221221222112112122121122211211212112221122211121212112111221212122211121212221221112122212212221112212111222121222122222221111111211212112112221212211111122211221121222211122222211212211111121111222121221222122121111122221211222211221112211211221211121212112121221211122221112221111122221112221111121111222211122112221111222221211121112222222121112122111211211111212112222221222211122222121111211222211212211122112111112222211221122121212112211212122222112121211111112121112112222222221222111111212122212122211112122221212212122222221112212121112122112212112112111211222222221212121222221221111211122221221222212222212122122221121222122122122222121111121212122122112212221212212112112112112112211121222221211222212221222221211222121111111212121112222121111122121112112121111112121122121222122221121121222121221212211111222222112121222112221211221211122212111222221211111222112122112222211122211212111122121211222212211221121211112122211121121121122112111212122211212222212212121212112121122121111112212222122212111221211212122221221122221211222222211212211111111211212221212222122212122212221221112122211122222111222122111111212211222212211221111212221222121121212211211121111212221111122111222211212112122122211212221112221211221211121112221121121212112221221122122122122121112212112111211222112212211221122212212221222111221111211112221211111221222222222121121122212112222212111112121122212211121222222212211221212112122112122221212111212122122112212122111222112211211122121221222112122121111211111122222212112211211122122111211121121211122222122111211121222221211121221222111111212122121111221121211212211111222121122112121212112222212121122212221111121211211221121221211211122122111222112222112211221222211212111112111221222212121211222222111221121122121111111111121111111111222222122112112111211222111222212222211112221221122112222222121212211122222212122111122221212111121222212121111212222112111112212222122221122111121111221112211212211221111121222112122212212221212211111211221111212121121122112112111221212112112121221211222122111221111122222121211111211221222122112122112112221112122212111122211211221211222112211221212121212221211222222222211111122112112212122221221221122122211211111112211111221222212112212211112111221121211121222121111121222121122121212112212122111111121211212111222212222211112112122122111122111111111111211222221122212111122222222211221112221122212221222112112221211121211221222121211222111122211112122221211221122111122122121222222112121221221221222121121212122212111221122222121221112212212222121111211222221211122212221111221121112112212212222111221112122111222222121112112122122122221222111211212222221212222112212121111211211211122121111222222222211111112111222211221121211121211122111222122112221212122221222221122221212111221211211222221211212121221122211111121111221211212221221112211122221222211222211212112121122212112112222112211212221211212221122211222212112121221212121212222112221111122221211212112221122122211122222122222121211222211222111122111121122112212222112112112212212111222211222212111212122211212111212221112121221222112222111222111211212112222111122222111111112222111121211111222212222111222111121112112111112222222221211121112212211211112112222221111112222121212212221122222122122112122112111212122221221221222122221221122112212212222122212222222221111112222121211221121221121211211121222212111212111212222112221112211222111121212211211122221211211122111222121221212222111121121221211112212122221111211211121112211221122212122122111222221122121222211112212221121212112112221112221122221112211122112121121121221111222222122221122112221122212212121122221221211222221212111112111112221212212221111221222212211222122221222112221112121212222212122112221212111111212112111111212221211121111212211111222122222222112212121121122112222121111212121211221221212221222211222121212221222121122121222122211222212212122111121212221212112111111121221212121211222212121211111112221212111222112111222111221122221222122221212211211222111122222112122122111112111211111121212121212221112112111112211222212222221222121122221211222221212121221122212121221221121121122221122122211111222221222121122121211222112112211122112221111122111221221212211221121121222222122121221211222111111122222212222222222111112111211211211112112211112111111212121211122121121122112112222112112222212222221111121121211111221211212212111212121112211122222111222212112222212212212111212111211222121111211121222112212221221212112221112221212222111211212221212221121221112211212121111212221122222212112222112221121222111122121112111111111222221211122211122222211122222222221121212211212211222111222111212121121121111222222222112212111111111221122211221111112222212111211212212111121111212111112111221221222221222121221111122121121122222222111212212111212221221221111121222111211212221122222111211112111212222211121112121211221221121211212221221222211111111111222112212221212212212112222211221122221111212111121111212112212212222111122122111111112122112111211222121222212122212221121211122111212111211112211111212121212221111122222211122122221211121221112211122222211211222212121222211112122122211212121212222112122212122212122211111221121212112212211221211112222122112112212211212112211221212121222222121222212111211222222121122212211211221112122212112212212212112122222222121122221222211112111122111121212212212221222121221112111222222122112212112211222212122111212122111211111122111121111211221111211122212121221121111222221111121211212121212112221121221122111211221221122221221111122121222222112212112112122112222221121111111122222221112122222221221212122211212211212121111121221122122111221221212222222221111221122212112122222122112111221211211112112121212221222222112221212211222122112121111221212211111122222221221222121222211122112112212112222121212121222111222112112122111111221112212111111112112212211222111121211211212112222122111222221121221212111112112222221212212112211121212222212212222122112122211111122121221211121122112111111111222122122122122111211222222111111112222111112111211221121212222212111212122221222221212122212222122211212122221122111221122111121211112112212222212121212121212122122221211211111221222122122221222122111211121222222222112212222222121211221211111122211122112111121211222212112112121111222211211211112211212221212122122221121121221112221111211122122112122122122121222111111221212211111112111221122221222111121122211222222122211222211211122222111122222212112111121222221222121211221222122222221112222111211122121122222112221221212211212221122221221211211112122222211221212212111121222211211111121121112121112112112111212121122122121211122222122112212212211112111211111121112211122111211221122211121121122222222112211111221221121211211211111221111111111222122221222121112221211122222222112222111222212112212122222211222211212121122122121111121212211122121211221212121112122211211222121212111122221211211211112121112112112221222211212122111111112111112221121221211111222211211111122112222222221121212121121112221111222122222122111212112122212122222112222211122122212111111122111121122112112212122121212221222121121212121221222111211111212212221122222211112112121211212111211221211121122212222111222212211112211122212212222211112122121221212212112121111211112112222221111211122121112112122222122212211211211111111212221211222111122111211122122112222112221111122212222222212212112112111212121222211112111112212111222212122211121111211112121112221121111121212211212221221221212221111221211212221222221211221221111211212221122221211112111211221122221221112122122122222112121112121212112221121211112222122212112112211121112111212111211221112111222211222222112212222212212222221112121222111112212121112222212122111211211211112221112122121212121222212211211111121211211212121212212122221122222211111121211212212111121111112121221222212222122121111111212112111111121111121111222111122221221112221111221112221211221111121121112211211111212221122222211122211122211212122121221111121111121111122212222122212221211111122212121221122111121121222212121121221122112211222121122111211212222122121112121111112122121212122222221112222211211211112222112112211112221211111122222212121222212221121212211111112112212222122112212212111122122222111111212221222111212122121212121221112112221222111212111121222212121212111222212222212212221211122221211121222121222122222111221221121111221111121222112112111111112212112212112111221211122112211211221112221211221222122121112221112122212121122221212111121121221121121212122112211121222222211121111221122112211112111212221212222121111112122222122111221212112221121112221121121212221112111222221112212222121112222112211211122122122112112121212221222112122111211222222211211111122221212212111221121212121122222111222121222221122212212211222112112111121212121211221122221121122221112121111111121221112121221211122111111121212222212212211212211121211211112212112222112212212122112222122111112121122112221121112121211112212111121211211122212211221112122112122222212221121121111211111212112211112112211111112221122222121121122211112211211122222112121222212121221122221121221211121222221112122122111122111221212121221112122222222122112222121221221122121112122112122111112112222222212111211122222221121111221112222221221211221212211111222211121212111221212212211222222222112221221122122222112121111111221112122211222211112212222121122211112122221112211222111222111112222112112212111221221111222121211212222112122211111121112211111221212222211211122211121212111222112212211111221122121222121222111212111211112111121211111222212211121211222121121121212111112211211211111122121211111222222122111121221121121112221221221212212211211211222211211121212212222212222221222121122122221222212111211222122112112211112111221212212121121212112211111221121222212212122212121112112122212211211211221222112112121221221122221112112112222221221112211211112111122221211112222221111212122211222211111222112121122212112111121121212111122222212122221212212222222211212111122222211222122222122121211121122222111221111111122211211122111221211121221121221212121212121222222222112111222111211111222212222111121111111121211222111112121111212222211121221112122212111121212112112121211222112111212112111121122111111122222222221121222211111212121222121211221222121211212212221121112211112212222221112111212111221211211221122111221121212112212112222122221222221111121121222221121222222222111211221111112221221211221222121212111211111122221211212112111122121121122122221211111221111211211221212221221121211112111112212211212221121212222122122222122121211222221222112111221211122222222121212112111211111122121122211122122221212222122111211121221111121221112212111212111122122221212111211211112221212212212111111111112212112221211122122211221221212111122211111221222222211212212122221211222121212122211212222212112121112122121122222121211222111221212221212222221121122111221212211111212122112111221121112221111111121111121122121121222211221121111222222221221121122212212211212111112211211112122112222222211112212211122221112222222222212212112221222121121112211111212121112211211212121211112112111211222121212222111122121222221122111211121222221221221122112221211122111122212112112122221211221212222112112212221111111121122121212121111222222111122111221121112212121221212112222121212122222211121112212222221222212112111122222112122112111112122211122222112222211112211122211122111112112111111121212222112221212222121222212221122212122112111221222111222221112221211121211222112222212212211121121111121122112221122112112121112212121222111121112221112122212222122121111212112111121112221122211222222211211221122111111122112121121222112112111122111212112121111111211222121222112221221211112112222111121122121212221222222122112211222112112122211221212112122121121212212221212122221222222112122111111222221212122211122112221211112122221112112111211212221122222212222121122112121212112121212121211222112112111122211122212222112221112211111121111211222221122212112221222121222121222111211222212111112222121212222111221222212212112111121221221122222111211121122221111121211111122121121111211111121121211111112111122221122111111221222221111221222211121222212212111122112221222221122121212111122111221211111211222121122211222121222112112212111122122122211222222211112212111112112211121221121221122121222112211122111122222221111211212211111211212112112221121211122212112121212221212222211211212221111122112111222121122121222211222122112211122111111211111111121122212111211122221111111111112112221112111212211212112222112211112221221212121221222122112111212222112211222111221111211221212121112122121112212211221121111112122112112111212112211121111121112221212222121211122111212122111122122121122112211212211122221211222211121112212221221221122122111121222112111121112111111112112211222222221221112111211222111122121212211121121222111211222122212222221112212121111222121212221221121111121122112122222221212112112222221111221212121112221111122221112121111111221121121111111222211121211112111212222211121112111211122112122211122111211222112211211112112121221121221211212112111211111222211222111122212122212111222122212221122221211221112112111212212122112212122122222112221211221122111111112222111221211122122111221111122122221211212212121221221111121211221221222121112111221222211222212221222212221211111222121211112122212121121221222211122111222122222221212112112112112122221121211111112122121221111111121111222221112212112222222122212122121212112211111112111212212111122211211112112111222212111221222211212221211221111221222212222112222221211221222111211112112211121221121121111111222111111122112211112112122122212121211211211111222211222222121122222122121211121112211212222112212211112212221211112111112122212111221211112111121112112221221211111212121222111112111121212222222121112222122121112111112112211112222112211222212121222222111122222212112222121222211222212212222122222212112122121221221122111112111112121111111211222121112122221111112121111221121122211122222212122121211121212111112222211112222122122111222221212212211212211111221211122111121111122212221212112211121111112121111122121112211112211221212212122212121112122212112221221122211122222211211212211112121112211212211211221112112221221211212212111222111112111212222222112221221221122112211112211211122211111221212222112111112222211221212122211212121111112221212112211222121211112111211112111122211111121122221112121122211111122111212112121212122112221222112221222222111212222212122211111122111212212121121212121112222211121112112222222221221212221221211111112221211211222122112222121122122121112212122111111222111112221222122111221122122221112221212222122222112221211121211222121221222222221212122111112122121112112121212111122211111112212112122122122121222111122222112221112212221222111121221121121111222112221211211112212211122211212111222222112111111122222111112211112122212112221211221211221121112122211221121112111111122212211112212221222121222211211211112111112112211212111211111121111112221121121122111112222211112111122221212222222121221121122211212122121111212122111121122222121222222121222112121111221221211112121222212112221212121122112221121221122212222122121122112112121222212121211211212211122121212212112211221211122222211211111212221212111222212112122122221222211111211121212221222211222221211212122112212212222211221111222121222212121222112212211212111211122121211121121112222122222121212212222222121112222211121221122212222111112121222211221112111122121221222111111212112112212111212221222221121121221111122221212221111112211112221211221221121222121111111211222112222121121211211211122112111111212212212222212212112112211221211221121121211222111121112221122112222121111111122211122112221121121121121122212111122122121221211221221221121122221122122112111121112111221212111121212111211111212211112222212212121111212221222111121122212212221111112122111211212111212211112221112212111212212221112221122122121111221211222122222122211211121221222222222111222222222112111121221221112211111121222211221222212111221211112211111111221222212121122222122211222122212122211222221111111221122212112122121222122222221221211211111121222112112211112211222112221222111221212222111221212122212212112221222212112122222122212112111121112222211211121112112122211122112222112212111222122211122112211111211222121211121222122111121211212111122222222112122221211221212112111111211222221222112221212121121112212211222112221222121222212111222211212221212122111211212211111221121112121111221211111221212222211121222121212121121111212111221212112122222221121111112121122222222221111211222222112222122112112211121112222122111212122112212121221111111212221122211222211211112221121221122121211212122111112221221222212111122222211111222211212111111121211221122122111121211121212212121221111211211122221112212211112112121211122112112222112122121221111121221221111122122121222221111111221111222122112211212122222112112221211211211221222222221221121122111222222221112222111212211222121122211111222121222122221111222111111112121211122211211112112122211121112121221122211122211121121212221211111111211222212122111111122222221112221211221222211222122112222221111112212222112121212222221211211212212122112112112121112221121222212212121121221211212112221121222221122212111112221122111212122222112222112211121221221111221221221221212112222121112112122211212211121112222121112211112211222121221112211211211221211112221121221122211121112221211222122122222111211121112121111212121211222222111122211221121121222211122211111221111121122212111222212211212212111111111222121121221222112121111212222122221211221111222221112112222221111211112112222221222112222222112221222121222111122212211212111111221122111121122212122121111111212211122221112211111212221221121122111211211221221121212211211121111221211221111112121121112211211221222111111122121122111221121212121112111111111212122212111211111222122121122121112221121222111222212222211111112212211221211222222122122222111212122222122221121121222221212211121112212211212121221212222211212111121221212211122111112211211212121211221222121111222211121121222212221211121112121211112211111121112122111121112222112121121111111221122122111222212112112212211222121121222121121221222222112222111122122111222121121111121211111212112121122112121111212122122111212111111111112112211122121212211121111211121221121212111122211112222111222212221222211212211111221222222112121111111222222111122211122122211221121222121212212122221121111111122111112212112122212212221111212121211111111222221212211112111221222222211222212122222221111111121122112112221111111222112221122211121221111111212212112212211121111111112111212221111112121121112112121121222212221112112211122121121112112222211111222221221111221111212112122211111112112222112122211122222211221212112222111122122211211212222122222111111122122111121112121212122112211111221122111212122121121111121221122122212121111111122122222211122222121212221111121111112222121112212122222111212212121222212221221111221222212221222212212212122122222112221222111212211222122111111121112212212212221121222122221111112212221111122112222212221222222211121221122212111221221222111111121122122122221212112212121222111221222222212222222111111221221212211211122122221222222111222121111122122221122111112212211221121211112211212112121222212221121111222211121112111122112122112221222212222221211211212221222211111112122121212121121211211121111221121221111212122111122222222111221122111221111221121212111222222221121211221122122112221212221111112211122222211121112112211122111211211122221221211121211122122211112111222112122222222122122111221112211221222212221111121111221221222112121121122222111112112211221211211121222212121122121121111112211111111221212122222221122221221112121112212211112112112211221121122222222211112212221222212221211221221212111211122111122221211112111122122111212212122111211221121111221212212111211212221221222112212221211222121111122121122112111211211212122221121221122222111121121222121111112112212121222221211211221212112221121221221211121121122121222212122222122121211222112221121221122212221112122112221212222121122111222222221112112122212112222211222111121212121112212222111121222211222211221112112122212121111121222211121112222121222211111121112212221121112211212221122111221222112212112122111211222111121222222121221121112112121112222212221112111111112222111111121121122211212112122111212221221221121122211222212112212222122121122111221222212122112211211112121111221111221112212211112111122222121221112212111222111121121112212211221112221212222222221112222121221112112112111122122122122121122121121222212211211112121212222211212121111121112222222112111112222122121211121111222211111221111212112221111221112211222221112111122211121111212122221221222212211222111122121121222222112112211222121111112122121111121221122122212122122121222111122122221112121212222211221212112121222112222122212212211211111122222221211121211222121111121212112212221122121222122111211211212222111211111221112212112211122112222211221221122112211111221112122222112211122111222211112211122222121222212222221211122112211221112212122221111111211211222212112121221212212212212221112111221112211121112112222111121212112212122121112212112122111112112112122122111222221111111121111222222121112122112222111121222121112122222121112111222111121112122112112122111211212222212212222211121122111211111121121211111211122112112211222111222211111111221112212112121221111121222121122221121222221121212121111121212111121211122221121211211112222121111111121211112221211112112121221111112221212111121211212111211122122211221121211212212121221111212222121122112121211121222112211111121222212112121221111211211221122111221121121122122111121211212122122222211111112211112212121121222212222212221221211211221121121112112221111122111211222222222121111222212222122211221121112122121212212211212122111121122221211112222112122111211111122112212211122121112211221221112211212221121222112211222112111212121212122222122111222111211122221122211212212221222222212121221221212111121121122111112112222211222112221111222111221221111122221211221222121211221122222111211221112222112121211122122211222222111122221211121122222221222212122121111222211212211112121122122222211212122221212211222212121211111122122121212111111222212121122211121121222222121221211121122211221221221122111212211121222222121121211111222222112121221122221221111112211221121122121122212112222122222111211111221121221121221111222112222212221221222111211112221211122122222122212221222221222122121121111212121221222111111221111222112212221122122121121122122112221222211212212211212121111122122112112212111222211112211222112221122121212221222212212221212122112111121212221212112121122111112222222112122222212211112222221121221212122212111121122122212111211211221211222112221111111111212111222222111211121121222112221222112111221121222221111121111111112212111121122121122112221111222121111222211112111211121221121121112222211112222221221222211211122212122212221211221112121112121222121222122221111221121222222112211122212112211222211221212211121121222122221122211121222222221122112211222122221122222122212112121111122212211222112221111212221222122221122122221212211211112212221111221221122212212212111111211122212112221212212212212112111222222221212221111122212212121121222212112122211122112211122221212212211221112222111112212111221112111121222222122111121211121222222211121121121121122211222211222122111222121121222121212111211121211122212111222121121222122122121121111211211121111222121121121212212212112222111122222212221212121111111121111222211121122222221122122111211212222111122112211222212211112121212212211212122221111211212122221222222222222112121121111112211211221212112211111111211111122121212121211122111111222122111212122121122222111111111212122112211112211221112221111221222221112222122121112211112222111112122111122221222211111222111111211121222211222211122222211122111211112112112112221122111222122112222111112212112222122122111211122222222112111111222211112111122122222211222112211112121121212211121211121112222112111121111211121221112111112211121221222221112111112121211121211121211221122212121211121222112221211122121121211121221212121121121221221121122211122111112121212112212211222111221122222121221121111222211112211112221112211211122122221222121222122222121211121212121122212212122221211121221112221122211121122221211212112221211111221112221212121222111212112221221221122122121212111212111212112112211222211112212112112112211111121112122211222212211221122221212121221112111221211211122111222111111122221212221221222112212121122121122111221212111121221211212122122122212221111122221121221221111122112212121111212211221211122112122112111121221122221121212122122211112111112222112122112112212222112211122122122112212211222222121111111112121121112121222211221211222222112212222212212111221211112122212122211121221122222212221211211111221122122111112211121221212222211222112112222111111112221222222211212211222221112111212222222111112222221211111212222121111121211122112112112112221112211212122122211222112212111211111221212122222112111121122211212111212212112122211122112122122112122111211111121211211111112211211112212221111221221121112222221112212121221221121121122212112212211222112112121222121222122121212222111111111221122121211221222122121122212111121112111111211222122122122122211112121212221221122122222122212222212222121221112112211211112222211111221221211212121212121212211222221121122221122212121221221112112111121122121122122122122121111111122211111212211112212212221211212122121112121122112111221211122212222211112222111122122121121211212222212112221111111212112111222121121222122112122222211111112212221222111221122112111212211221121111111111212222221222221211212122211211122122122111121112112222121121211222121212121122221112212111212221221222112112222222111221111221111221112212111222212122212111111221212111121222212212122222212122222122222211222221122222221121112212122221212112111221221112211112121221122212222221112121122111222222111211111121222212111222212222222221212222121212212112122112211221222112111122111122212211212221211211111121221222121222122211121112122211211222221111122211212221211111121221211112112122212221211221222111211121112221111122121112212111121112111112211211121222212121111221112222221122111122112222121211222212221111121211122221112122221112112122111211112122112112122221121112222221111211221122222211211121112212121121112221221222121122111212111221111212212221211222211111212222111212222122212212121221211222122221221122122121111112222122222111211111211122221122121212112221222221222121222121211122112112222222112122111121121122111121112211121121111112221112222211121221122111212111121212212211112122222221111212211212112111112221122222121122111112111121121221222121112122222112121211211212211111221112112221111211122222221211122222212212112112221111212122111111111212111121111122212111221211222111221212222221121212212121211112211221121212212121221111221112222122211112222112112211111122122111222222121111211211112212122212211221221221221211211222212121121212112111212222111221222211121122111222212122122111221212121221122112211111122121111112221221121212122111121211211112212121212122222111122211221221122112212111211221112111211221111112211122121212111211112111112121222211211221121122221111211221112122122121111222211122111122111212222211212211121111221112122111211212222111222111222111212121212111112221112122122222221112111211221122111111112222211121112112111212121221112111222221122211222111211122111121212221222121212211121111211111222111221112211222222221221211111112212111111221222221211111112212222121211112122222121212212222221211122121211221212222112122221222221211221121121121211221121112121221222212112211121111111121122111221221121111222122122111221212221212111121112121221221122122122212212122221122121222211212121222111221222122121221122122112211112122221122221221122212212121211211121221121222112112122212212111111211222121221121221221112212122121111122121122222222211221122112112112221221221112111212222122122122211222122211222112112222212122222212111122122122112112121121212221212121222112212211211111221121211121211112212122211122211112221212122212112212121111111222211221112122122112212112121222222222112112221221221222111112122211112222212222221111112211211121121111221211212111212121221121221112121221211112221111211222212122121221122211212112122121222211211212111211211212212121212212121112121112212211221222122221121221112212111212222222122111211121111112121221111222111111211112111122221212211112111212212221111212222121111221112211122222212211221211122112222122122211121221111211112212221221121222212122221112122111121112211211222212122111221112122111112122111221122122112112111221211211211112112112222222111221221112212122112212221112222222222112112122211112211122122212112112111222222212222212112121111212122122111222211222221212111122122222112121122222222222111211121111111222222211212111122122211212212122212111221122112112121222121222221122211222112222112122221122222222121111111212122122221111112212112222111221122211212111221222211112212112221112212111111212122211221212111112112112111122112112122112222122221122112111222211221211222111222112121212221222111121212121222111122122211212212121111122111221111122222122221221112212211112212222221111122211112111122121121211112122222111121121121121212222111221222111211112112111122212211222122121222112121122122122222222121112222221221122212111212222211211221211111111212212112112122221111122211122221122212112112222222222212222121111122211121212112122211112111121222212221112211211112122121121222212122221211222212111222122222122222221221221111111111121121111112222222112212222112111121222111111121122111122112112111212122222211222121112111222112122121121212212222211112222112212122211121221111221122221211221221111122112122122222211122221221121122112212112122212111122221121111122212111221111121212211221211212212221211222122111221211212222222121121121111111121221121222211111221111222122112121211112111212121111111222122121111111212222111122211122221222121221122222221121212111212122111122212212112112122212222212222221121222122212121211122211112111111221111111111221122221122222211121211211221111222111111211211122121222222122122122211221122122112122221122222111121122212111222222222121212122121211211221112112121111112111212212222212121222111121121212221211122111212222222112121122212222221111111212211122111212221122221212212222122121211122221111111212221122121222221111212122122112211112212112212121122212212212222221211212212122112111121122222111121221112212221222211212212211222211112122121221112111121221122222211111222122211211221112211122111112112222212122222112111212121221221122111112221221111221221211121221211211112212122112121121221211221211122221111221222222112122221121211121212222121111221211212212111211111121112111121121221221111111122222222222221212112112122221212122112211121211122122222111221221121222222212211112221122111112222211221112212112222221111121221112121222222122111211121221212112222221212112111121122221222212211221122112211121222221222122112111212221211112212211121112212111222112121111221211111121221221212222111121122121111222111221222112122211121122211121211112221212121221212212222212211121111112111211221211221122122121221112211221222222112112212222212122222221222212221222121121122121211122222121211121221221212122112221211212222122111121121211221222212222222211111221122221112122212112211121222121121212121221221122111211112121212122111221221122212221221112111121121222121222111221122211112212112122221221121222211122222121221122222112122222222212211211121211111221122212211111211111211111212222121221211111212122211222221112222122121112111121212211221222122112111212212112112122121111121211221111212211221212222111122212212221212211212111122122212121221121222211121121212112211212221121112111222211111112221211222111222211221112212222111222211112222211221212121211122112222221221122222112121222211122212122211211121121122222211212111222212112121222212121122121111122211122122122221221122111121221112211222111112211221221221112112122111211211112122221112221111122211122112112221112111211111211122121122111211212222122122111122121121111221121211211121222112112211112212122122222112112112212212211221112211221111121111111111212211111122121122211211212222121112122211212211111211112111212212221122122221111112211112122111112222111122221212112221222122121121112121121221222121211211121112111122121222111121121122222121211121211221121111122122121121212111111212221221222222211122122211111212221221122112211211112122221211212121112122211121122122111221221212212221221111222121211112111222222112122122221121111212122221211112122121112112211121112212122112112121222211111112212212112122222122211111222221111222222122121121221122121211112122111212212112222121111221112122221211121222122211121222221222221212122211212112111111121122111112211111211112121211211121212121211211211121112222121121212111221221212111122222211211111112122221221211112222222212122121121121221211112212121111221221222211222212121112112112121111122112121211122222111122221111221222211222212122212211211112122121112211212122122221221221222222122121212222222111222222222121122111212111222211121122221122211212111122122212211212212112112111112212112122121121212121212221221111121222122211112212221122121211222111112211111221212212221112222121121112112212221221222112222221222212222212122111121111111121211122222121122121222222221212222111122112222211112211221122121212112222111121222212222211122111221121211211211211122222222211121221112221111121212211111221112222112222122221221122211212211212222122111111222211221212112112122211222121222111212122121112122211211211121122112211111112121111111112222111121221112212212221112211122112122212111122122122111222222221211222122122222221222112212121121112112111221212121222112211112211111211222111211122112111211111111111111112221212211221221112221122122121212211222221122122111211212111222111212121222111221111212121121122121222121122222222122111122222212112222211111121211221122112221221112222111121121211112122221112122222112212212212211221112112112212222112221211122222122111222122121211122112222222112122221111212222221212221212122121212121112221222211222112211121111222211212112112121111112212112122211221211122111122111121212112211212212211222121221212221211212211221122112211121121111111122222212112211221221211121211122222111121211221111212212212111221122222221112111212111112111111222111221121212111212221221212222111112111111121222122221221211112222112222111121121112212221112221221122111211111211112121112221121212111222112211122122112121122112222222122112121211121122222112222211221112112122222111212221122112211211122112121221222212221121211122122212111112111111211222212122212112211212112212222112122122121112122112211211221222221211211122121121111222112211212111112111111221222211211222112222121121212121122112112121221212222222211121211121211222212121112112212112111211212222211112112211221111212122112112121112111112221211222112112211221122222211221211212211122212121221212222211222212221211112212211122112112211222212222122111222221211222111121211112211111211121222122222112121111111212121211111212121212222211212222112221222221122211112221122111111112122211212221122211112212122111212112121221122112211211122121221211121112122122211212222121222122212122212212122122122212122122212112121111111222222111212111122121121111222111222212121212111211212212111122112212121112212212222121122222121122122211221211222212222222121112122211112221212221111211122121122222212121111121212111212212121221112111221121212111111111111122221221221222121222112111112222212111112111121222111211111112221111222112212211121212212122212221212111121121221121122212221112211211112111122211222112222222122221122211212221122121122222221121122112222111112112112121211211121221121112211222212221221211212112222211112222222211211211212112221221222112112221222111212121211222112121212211221111211211222211211121211211121222212111112111122222211221122112212221111211111122111122111112111211122222112211211112222112211111222221122221211222222221122122212222211112122221222111121111221211112112221122121121211221121112212111111111111122121221222222211121111112222212212111211222212112122222122121111122122212122221211111212222212212222212121222122111211122221221222122121112221111111111221221112212211221221211221212211111111112111111222221222112121111111221112122111111112111211121212221112212122222222212121122121111112121222122221111112211212212111121221111222221211222221211121122111212122112222111121211122212121211211122221122121222221122122212212111211222212222111212211122121221111121211222112212221222121121221121222122212222122221122112211212222122211122121112221221222121212222122211221212111212111211222111221122221122221122222112211111222222212212212222221221121121212222112212111221122122211221111221121121211122212111222122122221211122112212122111221112222121121112121212112112121221112112112212221211212112121122212212112121221112112111112122122221221121212212222121212222111121212112112111211121111122212121221222221111222211121222221222221212222112122121112212112212111121121111221211111222222212121221222122112211211122111222121122121122212121222111122122222121122221121221112122211211211111121122212222122111122121122112221111222222122112112121111211121121111111221112121211111111211222112122111111222212112121121121122121111221221121221121121122211121212112111122221122122121221112211222121111211111112112111121111221221111121111112212111121211111111212121211221122212122112221222111112221221112221111112222121221112122221122111222222221112211221111111111121222111121212211122222121221112211111111222221112122222211211122111221111212122122222121221222212122111222211112112122122111121112111211222121222212211112111221211112111121221121212111211122222111222112122212112222222112112112212122111212111121112121211121222212111121222211121221222112222121121212221212122212211222211212222211212222222121122122221121122221112112222212222122112122212221112122112112212221212221112111112211112212212221211121111211212121212122221121211112121212222122112222112121212222112222212111211221111121212221222212222222111121222121122122221221122112212111212211222222221211212121111211121121222212221221112221221112112121221212121212222212112121121222212221211211122211212122121221111122111112122222212112212112112111222212121222122212222211121211212122121212111121212221111221222222121212221221112121211221222112211121121221122121121111121111112221112221221212222222221222122121212121112112112222112112221212111211121121222111122111212112122111222212112121211221121221212222211222211221221111222211222212211211112121222112111122222122122122111122121122121112211122222121112222122112122212212222112222111111121212122211222121221111111111211211121212221222121221222111211211222111221112212112211212211221212212121121222221111221221111121112222121112221112211121222221221221221221211122111211212212222122112121212112111211122112112211221221111211211121122111121221112222122112211221211122122211222211211111222211212112112121221112121221112112222211111122222212211212211111222222212112121111112212211221212122121221121112111112121111222211212111112221212121121122112221211221121112122121211222211121221111221222211112211111121121122221121112211221222111221121121211122111212221111211111111221222222212121112211121222111221212221212112211122212222212121112221211211111212121121122212112211112122112211112111111222111222212221222121121122211211111122111212121211212112111221221121111222121221122111222122112221212111221111112222121212112121211111121221222221111112221221211112222122111121121221111211111111212112112221221211122222122221121112122112111221112222211122112111112111212122211212221211121122211222121211211111222211121111221122112211221212121211222112111211221211222211122211111212111111121121122221121122211211222112111121111212111222121212112221222122112221121112221211121222211112212111222111212122121212122111222111112121121212222212212212112112122221112221112222121211212122211211222111121112211211122212111222211221221122121122121212122122211221211211111112212211212112111211212211121211212122111111122122112111112112211211112212122212212221111221211111111211121221111212121221111122121111121221222211122212121111122122122122122221212111212211121121222111112212221221121212212221121121211221212222222212111122112221121121221122121212111121122222111212212111222211122222221212221111112212121212212222121222211122122121111112122122111112221121222221211212111222222111211112211111211211122211221111111212121111222211112221221212121111222221121111111211221211122221121122112111111122221122122212221212112212122221211111122212221121211212121111211222122121222222212112112121221211221222222111112122222221112121111221112112212212221211212112222122221112212112121222122122222222222212121122111121212112121222112211122221211212222121212112112121221112222122221121112111112222111122112122112212221121122222222111221211211222221122111121121112212122112112212221221212121112122221222211111222121111111121222111211122121121122212212212122122222221211112122221112121211122211122221111211221111222122221211221221221221111222221212122212111222221211112212221221222121221112211121121212212121112211111121121122222111121112122112121121111121122111212111222112121112111221222221211111221112112121211211221121112222111212121212122121222222222111211222121121221121221222111112121112211221222111221111211122122222211222111222211122122212222221211211221121112222111211111121121222122222212111222111122221212211212221222112122222111211122121121212222122122111122112121111121212211212122212121111111122211212221112111211211121112111121112121121121221221211122222212211121221212221122212111222121112222121211122221211122221122212211222221211112121111112222211112121222112122222112221222112221221212222111121122222221121212212222122122222121121112221222221222122221122112211211111222112112212212111122111112121221112122112222122211122112121122222122122221111121222121212122112211221221211222111212221221112221121112211222112211111112121112122112111222112212211112211121222212211211122122221122121211221211222211122222221212122122221222121222212211111221112212212121222221221222111111211122222112111122111211212122222121122221222221221222212121211211121122221211111221221222112211221222222221122212221111222121122212122121111211212212221121222221222222222112222112221112222222221122212122122112122211122211121212222221122212222112211211212121211212221212222222122221111122221211212111121111221121221112121112112211121121122222212112122221221121121221112212211211211222212211212221211122121211211111112122111112112211112221112111222221222121112112221221111112211121221222222211222121212211221222111221111122211122222221211121122212112111212112222221121111111112121212221211211221212111212122122122112212222221111111221112112211121211122212211121212122221122111212221122212121112121122212111121111221212111122111211212221121112222212211121211222221221121111122221121212111121212111211222211112122211211212221122121221121112211112221121112212111111222222111212211121121222121211212111221212211222211122212211122111112111112112111112121111221212212121112212211221111112112121222112111122112112111211212211112221121212112212111212211121112122212122222212122121121112211121211221212122121222222121212111212122121111212112212122121111121111112121221221121111221222111222122121112122112121111221121211212122221211221111112221222122121221111122122211122212222121111212212112221121212222221222112111121222222112122122122122222212212122112212111121121221112221211112222212221212112212112212121221121122122121211222112112222211212112212222222122121222112212222112112121111211221122112122212111212111211221221122212112112212121121111211111222221112111121211221221111211222212111111122222111211221211211121221121211111121221111221112121121212211221212221121212222212121111211121112111121122211222221222212211211121121212112221211222221222111211111212211212211111211121212211111122112121121111211211111221112221111122221221121122122221222122121212212122212211211211222121122111222111121222112112122121112212122122121221212212222121112221112221112222221121222222221212111122121121211221221122222122212121211122211112221211212211121211211112112121122122211112221221221221221222122212122121212211122122122122222111211212222121111121121211212122122222121212212121122222121212221121222121221111221111211222212211212211112211122212122221211211221212122222121111122112122112112112211112221121212122221121211212221121221222111122211211121121211111122112211122221122212222211221211111221121222222222212111211221111222211221121122112211121121211222212221122111111221122212111221212122222122122221121122211221111212121211112212111212122122122212112212222221211221112211121112112112212121211121211222111222122222122212112212112211112122212222122212121221212221112211111121111112211111222221121211112121112111112122121211111112212221112211112121121122122111111211211121212122111121211121211122111122222222212121121212112211122211221111222211121211121111121221122221121212112111112121111122212221111222112111212221212222222221111221221221222222221222122222212111221212122222212121212111122111122212112221112112212122221112122212222212121221122211121222121121122111122112121221111212221222212222112212222122111211111212112222222222122122221222211211222112121221122112222221212121122211112221112111221211111122221112221111121111222221111212122221122221122122221221212112112121122122211121111221221212121212121221111111212112211221121221221111222211211221222112212211121112211222111112111111111221212222111121122111221221222121122211122112112111112122211121221122112121112111211212121212121112112222111111122121211211221111221122122211112222111222222111111211211212122122112211122112122222211112212122111121212211211222112111111122112212222212111122121122222212221221121211111211211122112221122121122121122212212111222221112212111121121222221111121211222112221212221111122121222121121111111212212121222112111121221112122211221212222111221222112111122121211222212212121212112121212221121222121112211212212112221212121212212211221122111122221211121122122221221221222122212222221212121212112211112222221222111211121121211212112112121111212222121222122221212121111222121112112112121211121212122222112122111112121121222211211211211212112212222112121212212211211111112212122112122121112122211112112212222212122122111211221121122121112221121112121111212121122212112211211222211122112212112111221222121222122112212122121211121111222212221122222111111112112111212222121122211211221122122211122211212112222122121112112212111112222121221211122122221212211112221211222111111212211222211222211112212222212112212122212212111211112111112212222222111111222221122112222211211122111121211222111112121112221221121212122121211121122221211222222211211222121222121112122122111111212121212111211222212121111112112212211112222212222122111211111112221221212221211221111122111221221111212122111121112111112222122121212222112121221222121221221222112121211222121222122122212211112111212121112112222111212211122222222122221211121211221211222122121112211122222122221212121111112112211121221121111122111222122111111221211122221122211122121121112211121221221222111221212112122112111122221122222212122211222221212111111221121111122122211122222111212221111211112122212222122211222112122222221122222221112122112211121222111221221122211112122121211212112211222222121112221121112121111212112211121111121111122112122112221222111122221121212211212222221222122211121211122111222222222212122221112212121221212122121122121111122121211112112221122222221111222111121221222211122121212222221221122221222211112222222121111121122221112121212222212112122111121122121212111222211222122121211212222112212121112212121112211221222111211112121221211222212112221112221211222221111211121211122122111222221112111211222212222221222221211122122211212122112212212112222122122212121112222111221112121111122111122221211221112122222211121221212122111221121111221222221112212221212112121122112212111221112212122221222222211121222111221112221211112122121111221112221221112221221111211212122112212121112111111121121112112112211111121211211212212112112121222212222222121122212221222211121222121212222122212122111211111221211211121212112212122221211221212122121112212122112112212112122112212111212211222122212111222112122221111211221121222112211112122211111112111112121212222121121222111121212221112111111112221122122222111221211121122112211111222122121112221211222121111111211222221221212121212122212121122112121221121122121212221212121121212111212121112112112221122111221111211112111111221121212211112212112221112112212222221111121222212122221211212112122122211212111212222222211111112121112111212122221212112211121122111212112112212221111112122112112212212121211112222221211222222212211121122121111212121212212122212122211221212222122112112122122211221112211211121122211222121122212222221111212112212112212122122112221222221111211111111221221221111112222121111112212221121122112221121121212122211222111211222112211121222211211112112111122112121211111112222211222211111222112112112211111222212122221112222122121212222212121222212122111211121112221212211212121211221122112221112112111222212221221211222221122211122122212121222121122222122212221121212121121211122111221112111212221212111122111212212221121121211121211121122111112211122212222222212212222121211221112111221211212111211122112221222212221112122122221222221111222112112111111122121222212221212112111211122212222212212212111211111122221212122122121121122111212212212211121211121121121122212221211111211112221111112122121222221222111222121122111211121112121111111122111212211121221112122221111121111121212111122121122111122222222112121211221221111121221112121211211221121212222122111211212212112222212111112222122112221221111111122222221112111122122222211111211211222112122111122211111112111211212111211112222121122122112221121112122121122122122221211221121122121121112211211222112111122111111211121222112122121121121122222211122221212121111112222121222111212222221121221211122211112121211121221212112211212211221221221122222221111221122121212211222111122211121112111211212212121121111222222222221121121211121211122122212122121221221121112122211221122221112112112111222222211211121111112221212221122112222112222121111221111111111112121121212112221222222212222212211221222121121212211221111111111212121111211212211121121121211111211222221211221122112112211222121222111222221212221121221222212111211212211122211112121111111122221111222211222212221211121222222212222111112222212211112112212122111222211211222212211211111221121211222122212211112211111122111121222111111111112212111121121221122212222212112111121221122122212111222222121221121211222121122211221111122221121111211112222121212211221222222122211212212121222112112221212112221222122122211212122121222121121112122212211221221122111212222221221222212221222111222221221211111222212211222112212221122111211122212111121122121121111212221121212221111122222121111212122211222211112221111112122122112211122221212222212211222111121112112212221211112122121121222211111222211221222222112112121122122221222222221221121111222111222212222211111212122122211211212222111121222122111121112122111122211112122112211221212211122112111111122121222111212211212111222211222112212211211212212112122112121122111211112112212212111112111121111122112221121221121212212121112121121111221122111122122222122212111222112222121112112221211122112222121211222122121111122222211111112112211112222211221212111221121212112212221121221112221211121222111112111122222212222121122121111212121121111211222121122222211121211121211221121111212211122212221122221222221122221222112112121121111221111222221211222111222221222121121112112121121122121112222122112212221212221111211112111211111211212121121212211122122111121122121211221121212221212221112112121122211222121211112211222211222212111122222121121122221122222121212111111111222121221111112222112112222121221211122212212212121111122122221121112112122212112121212111211121111122121221111212221222122212122122212221112121122122112211122111111112211221121122211112111122121112122221212112111111221221112222111122111222212112212222221122122111112111121221122221111111222212112222112221112222121112222122212112111111221112221211112222221112122211222111112111212112111112122212211221121211222212121111212211121121111122121111111211211121221122111211112221111121211112121212121122222221222111211112112212211222122211211112221122222211211121212121222221111121112212122122222222112211211111121111211211222112112221122122122121112111211211212121212212121221112211122222121222211221221222222221211111122112112222122212112111112121212211212121122112212121122111121222121121212122212111221111221121221211112211122211112221222111122221122122121211112122122121122221111221112122112222222222111222212122122211122222111121222112122221122222222121112121221121112212212121122222121112211222122111221222111221122121211221122122121111112122222211122111212122122111122222221212122221211111122111212211111211122211112221121122122222111122122122212121111111222121121111121122222121222112111222111212212212111122212122221222211111222111122212111222212112121222212121111212221111112121221212122112221222112111211122111121111221121221211211222112221222212112111211121111212222112112212221112211111112222112211222121121222122212122112212122121222222121221211111212221221122122221222122212211122121122122111221212122122221122212211122122221111212121221222222222121222121212222222112122122212121212212112111121111112222222212111212221222211221221111112112211112221112121211221111121111222112122112111111211222121222212212221221122112111122211222222111222122111111221211112122222222111121221121122121122211121121222211221221121121221112121122211212112221212222121221221222111212112121221212112212212221212121212112112212112112122221212121111111221122212211122211212121121111222221222121121122112122212211121112121122121222221222111211112112212121211121121221222211121212211122211212122222121221122211222122222211222121211122122212121112212121212212112221122212111122112121221111211122221112121121212222111222211221211222212122222222121221121221221221122212212212212121222222222211112122222222211112212122212222112121121111122111212111121122121111111211112212221211112212212111222111211111221221222211122221111121112121121212212212112222111222222111222221212112222122221211211122222222222222211112122111211122221211121212111211221212211211221111211212122121222122221122122221112121211121122211212112122222221112122121122212211212122122112221222222121112121211122112121111221111221222122211122111221212111122112211121121222211211211211112121122122211222221121122112112112122122112222211212211111222111121211112211121211222221122121112212112121121212122212112211212221111121122111211112121122122122122211222122111112122222212121211111212222122122222212211111122212211222221222212211221211112112222212122222112222212212122211122122121122112111121112211212221111122121212222212222221221212121122221111221221212211121121122212222222221122111121122212211222221121211212221111211211122211121222121121221222122212222211211122221212112222222111211212211112211111112121211212221221122222122211221221122221212212111222121211122222122122212222122212222222112121111211122221112121121121111212222122112122121212111111111212122122212121111121212121111112112211122221121221221222222211222212211111212122121122121212212211122121211221222112112212122121212221212222222122122221122122221222212212111122222111112211222221122222122122111112221111122211212112211222212221112222112212221221222121112212121111121221221221122111212212221121221122222222121221211111222212121212121111111222221111121121212211222122222211222211222221111112122121122122211112122111121111112211221112121122212121222221112112112211221221211212221122221212122122111112121112212121121112212122121222221112222112121112112122121122121221122212221221122221211221112221112212122112221111212121121211221212111222111122222112222222112111112212122121211222112121222211111112111221222212212222222122122121222221221221112121212121211122221122222212212122211222111121212212222211212121221211122211222121121121122111122121111111112112212121212211222212221122222112222222221112122122111211222111211221211111112121211122212121221222212222122111222212211111112121112212221121111121122211122121111122212122111212211111222221222112112121211222221112112121112211212111222112211121212221222122121221211212121212122221112111222122212111111211111222211211221121111222212111222212122121221221212121121222212221111122211121221222222221122221221221121111122222212122112222121221111221121212211221122122212121121211221111222122221211222112222212211112211122211211222222121112112122211211212212221111111122211211212111221221212121212221211121211211111121222222222211111111221111121211112212111112222121211221121212211111222112222222212111121122122122122112112112122222112222221121221111221111222221111221121121211212112122211121221112221211222121211112211212121111211222111211221112211221211221212111211222112122122221212212221222122212121122221222122121122112212111222222122122121211222221111112211211212212221211111112122211111222221112212211221112212212212211211212112122121221111111212112211221212222122122211211112112222111211112212111122111122111221221221222211221111221222121121211122112122122112221112121122211121221211122211211212211111211222112222111121221212222111211121122222122112212111222221212211221221122212212211121221222211121212122221121122222222122221121221111222111221212112212112222122111122112221221112112212221212222211211212212122112112212112221212111122211222112211112112221222221211212212221211221112121122212211221122212212211211211221122221112222222121112222211212122212221211122222211111122112212222212211111221112111112211211222222221221222222121122221112211112221212122221112122121121122212211212221111122222221221122212221122221111211212111212211212221122212212212221122211222122211112122111111111211211221221222221212112211221122221211211111112112111112222121122212211121112212122122111212112211121121211211211221211122212221121122221212212222112222211111212121122212121121212211112211211121112121111111112111111221221121111211121121211112222122212122212112111112212222212212121221222211212122112212112121112212212221121211122121221222211111211211111121111121111212122212212211111221221112221121212212121211121211222221122212222121222212121221221111112221122112121222212212221121212222112222222111112121121122112222221122111212122212211221212222122112211211122121111111111221122111222212221112122112111212112121122112211222112211111222121111221111222211212122212112222111212121112212111121222111112111221112222222121111222221122211112221111122212111121211121111222222122212221211121111111122212111112212122121222122211121212222212222111221211211211122112122221122212111121212212222111212211121222211221212122112112111221222121222111121211112221121112112122211211211212211121111221111212211122122122212221212111221112112211121121211122212211212111211111122112221111221111221221112212112211121212112222222112122222211112221122222111221211221222122122221211122112122122122222222111222211121212122222211121122211121221221111212211212222112122112221221111122122121212211122212221222211211122122222112212222221221112111211211112222122211122121222221111212111221212222211222222221111212111122221222222221211112122211121111121121212221111121211222111112212222111222122212112222212111121122111222112122221121112222111222212111222212122112112212222111221111212212211121212112221112121212212121122112112122221121221112111111121122221111212211222112212222211222212221111121111111111212111111211112211222222111212222212212121122121121222122222212212112212112221211112111221112212112112111111212111211122121122222221222112212121222111121221111112221211112112211221122221122121211211221122112221222122222222221122221221211122212111111122112122112222221112121212222222122112212222112221111112212121211111212221122121222211212211211211222111111222112121211212222211112212212112122121111211121111222111121211211111222221121121112211122222211221112222122212222212111122121111111121122121122112111122112122211221221121211211212121112222121211212211211122222111222121112111222212212211212211122121211211211111212222212112212121122211211221122122122122212221221212112222122211112222111222221122212221112122221122111221112122221222121111111121222122212211112121121122111221222222111112221112111111212211112111122222122112212211212212212211111112212121111121221121122212111211211222211121211212211111222111121212212121211112221211221121112122212121121111221221121221122211111112212111112121211121121111111122122222111222121212222222221111221122112221212211212122112122122121122211221221222121222212112111212111211111212112122121121212212122121111122122111222111222122212121212221121121212222211111111222222212222221111211211212211122122211122111122121222111121121222121111211121211211121111221222122221111112121221121121112111222111211212121211222211222212122121211111222222211111122112222121222211211112121112222212122212122111211212112112111111221122212211122111212212112211222121111122211222211212122211112221111221112121111122221221111212221121121112121122121212121212211112122112122112212222222212211122221211112111111111121121122221121111122222222211222221112221122211222111111112211122122112222221122111221222112211111111111111111121112222222221111122112222212211221222221222211211121121121122212122112112211212111112222222221121122211212221122222122211112112112212112122121112211111121111111112122222211121122121112222222111122212222111111112112212122122221122122212111211111221221122221212112221211221122121122211112121121212212112212111222222212111211122222111121222211112122111222211221221112112212122221121122222221112212211111221222122122111212211222112111222112111122112211122222222122212122121111121122222122121112212211211112111121211112121211212212212222122212122122122122122121112211111111112222211121211112122221112121121112112122122111122111122121111111221212112211122222221111221211122121221221122121111121122212122212112112121221221211211211212212112121112222112221222222111211112111212212111122122121211212211221222122121222121111222121212121122212211111122111221121112111211122121121212222212112112111212121221122121111211111121112111112222122112212221221212221112212212221222122121112122121212121222121221212122211222221222211122112221221121112222211112121211122211221122212221111221121211121121211212222112222221121222221122112111111112211222222111212121121221111121212212211211111121221221211112222222211121111211211111111212222211121212122222112221122121221111121121111222111122122111112112121222122211112121211221221122212112211121211111122111212111212212222211222211122112122111112221212222122212211221122122122122111212121121121222211121222121212211222112222111222212221222122122121122211111111221212111111111111222212122221222112222111212112221222222211222112221221221222221111222111211221221111221121122111112222222222222212121221121121112122112212121112122122212112112121111112121121111211212211222221111222121121122212221111221122222122112212112222121211112211112221222112222111111111112112221112121122222112212222122112111212222221121212112111121122122111121222221211111112121122111222112111211112212111112112211222212222122222112212111211221121112211221121121112221212211112211121212112111211212112122212211112211121122121112222221112112212211221222211111122111112212212112211111212222211112222222111122121212221221212221211122122111122212212112211112222221122121211211111112212212122121212221211211122211212122121221122111212111211121111222212121221121112122221112212121122221112121211221121221222222122121112121111112221122221121222222211122221212111111212212121221212122221122122111221211121222222111212221111222211122221122222222222211222112211221111212221122112122121222212222212122112212112112211121221221221122121122122212222111221122221222222121121111121212122121112212111211212111222211121212122122121222212222111222112112222211112111212211222211221222212212222112112122112221122221221121121212211111212212111212121212221122122211221111112111221122211121222212122112111211112121221112211212212112221211122111111111221221222121222111112212111211211211211122111222112121122222221111221222111211211221221211121222222112222111212111222212211112112212212212221212222222121222112111122221212121122222222122122222121112121222111111222221122112112221121122211121111212222121122121221121212121112222222221112122212121222222212212122221122221112122121211121112112221221111122211222112122112111122212221122221111112212111111211222211211111111212121112212212211222211221212211222212121121222112112122211211222212122112122111121111121211211122111111121211122112222212221122121211212212221212121112112222111212121211121211212211112221222122111121212212221222121121111221121222111222211212112111222122112222222111122122111211121221122121222121111221121122112221122111112122222111122221211211211111221212112112111211211112221112112221112221112121211221221212111111221221211221222211112122112122122211211221212222121122122221211211112222111112212111121111112112122222222221211222121121121211121112222211212121211222121121122112121112222111212112221111212111121111221111221221222222122122212111221211222121112111221212111122212211212111121112112112112221222122222221111211222122111112212112221212212222222221121122121122111212121112111121122111112122222111111111212111121211122121121222112112112111122222211121211221112111222111112121212121122222112212222121111212122111211121211111121112112222122121112122221122122212222212122112221222212211122212122222121222221211212121212222121222212121122111211121111122111121122211212222222211221222112122112222111111121121211112221211121212212112212111221221211212111112221121121122222122222122221122112222222212111122122122122221222111212112111122122112222122221212221222121112211112212121111221222212122112111222212222211112222222212221121222222121112122111122222212211211112111212211221221112121212122211222212122121122112121111111111112221111121211121212211112122211222122122221111222121122222211112221222212212221222222222212221222112221122111112222111211221212222211221212122122211111112111221111111221112211211211121212221112221122212212222112221222212222222212122211111211211111212211122211212221211111221221121211111222122111222212222121122122211111112212112122112121111221222122212112222111111222121211212221121221122112221212121212121122212222212121211211112212222112211121122111212112112212121121121221121112111211112211122121111112112211222112121121211212222122111222221112121222121121211111122222221222212212222112122121221222222112111122212222212112111122122222221121112222222122122211122211121211222212221211221122122121121121212121111212211221222112121221122211222111111212111112221121212121222222122222222221112111221221212111111222121122121221221122111212121212122112122211122122122121112112212221221211112211111221122112222211212112122122121212222122112211111111221221122122221221211111221212212122212111122112122111222111111212222221211212111111112221212111221121212121122111211212122112211122112121221221222222221111211122221122212122222221212121211212222211112121211211122221222211112221212111121121221111111211122112112212221122212222112212121122121222221221122211112212212211112121212122122111222212121112112112211122212211121111222121111222221122211221221111121111212122122212222222212212122112112221222222221211121111212222112221212122222211211111222121211211221222122111222112222112212112121222221222221211122212222112211222122211212111211121222211112122221122112212122211111211112112221121222112221122111122121112112212222122212121111221211212212211121121221222221221112221222122211211211121121122122221221211222222222112121212111222122222112122211212222121112121112112222212112111111121212212111212122211111122111112121221112112111122222222112211222211122211112221111222122111122211222211122211122122111212122121122211211211222221221221121122221111111122221121221211122111111211221221121112121211122211222121221111222122222221222121212222211112122111111112112221121222112221121221211221211112222211122221212111122112122221112212122121112221212211221212222221111112221112111112121222111222212112221112111111121222111112211111212121211212112221121211121212111222112122222211122211212112221122122122212112121121221212111112121112121121222212111211222112221111112121211212111122112222111111112112121122221212121221121212211211212212122212111122221211212122222121221112111122121112211221221211122121122222122111212222212222221122221212121122221222121212111122112112112121222122121122211211121122122222111212212112222221111121221122122111121211122221111111112122121211211222121212111112222222222122122212121122212211212211222221122211121211221212221121122122122221212212112211211122221111111111211121212122221122122211222111122121112111211211112211111212211221112211122122222211122212211222112211122221112212122111212111212222121222121211212121122111111112122222211222211222121111111111121212221222211111111212121212212212211222211221211121112112212121111221122121221112211212121111112221211222111222212221111221211211211111221111111211121222121221221121121211121121121122221122212122221122112221111222222211212221121111112121111222211222212112222222211112121121111222121121111212212211111221122222212111112212111222221221121221211121112212112112121122111121112212122221112111211121221221122222121122111112211122111112212211212112222112112221211111222112111121122221111111221211122211121111122222211112222222211222211211111222211212121121121222111121211222111112211221222121111211212112222222212212122221111121111221211212121121112111211212222221222112112211212222121111212121221211211221122112122122111112122211212211122212112222221211212212111212112222122122221122212221121111211122111211222211221221221212212212221112121121112222212222112111222211221122211112212121211122212121121121221112112122111221222211211111112221121211112121121111111121211122221212222212122111122111221211222222211222222121121122211111112121111122121121221111221221121211112121211222212222121212112122112121212122211111211122121212112122112212211221111212121112111111221211121211212121221212212222211122212121212111112221122112212211112221112112212122211222122212122111221122211222222222111222222212212211211121211121111222111111111112211211121221212111222211212221222211121121222111222212222211211221112211111222121221122211222211222212121122111211121111211221122211212121121212222212111211211121212211211122212221222122222111121121222111122212212212221112111111111112212221211122122211222221212221122121111111212211111122112111122121221222112121122221112221111211211122121211121122112121212211222121211111121221211222121211212112121111211222212212111211212112222121122111112221112122211211112122212122212212221121221121212111222112112222211111122121111212222122211212211111121211112222122122112121211222212121121222121112221212222121112212122112221122122112212111111112212211122112222121222121122111211222111222221121222212111111111122122112112111122212121212111112121112211211112211112111222122121111212111212122222212122212222212112111211212211222121111122222121121211221122211221222212211212211122212212221121212212222222222211111121222212212121212212221221122222221221121112212122211221222121221122211211112222112211211111212121121212121111222212211121211121222221122211122222212222121112221212121111221112222211222112212122221112111221112211221222222122212222222212212122211112122122112222211122112121221222211122211222212212111222112111121122122111112122122212221212112221221212111112111121121221121211112211212122212122111221221111222111112112121111122122111221111122122222112111121212211211121212112222121211121111221212122122211121221112212222122122211122211212212112221211111211112122221222111222122221211221121111222212112121121121122222122212222111221122212222211212212211211212111211222211212121112212121211122212221212122122121212112112121212112212212121111221111111221222111112121111211112211221111222212211221222112211222212211122212221112211111221112121122221212221111222212112211112112221111111222122222212111222222122112211121221121211112122212211212211221112212222211121222211121122211221122212112221111112111221222222212221221122112122122221222221111212111212112221121211221222211121112222212112221221112221121222212121122112221221222121221111221122121221121112111121221211122222121111212211212212211121212212222221112121221221221212122112121112222221122121112112211211122122212112221212112222222222211212212122121222212221112121221111121112122222221221211212212212111211212222121211111211112212122221121222211212221222221122121122221211211122121122211112222121221111212111221211222122212211211211121211212121121112122111211111122221111121212111121122211212121212112121221222112112212221221221221112211212111111222211112112212112222211212122112212121221222122111211111221111121212212212212211121122222212222121212222111221121211221211212112121111112211111222121121112122122111122211211221211212121212121222222112222222211111111122122221111111211121111222122211221212211112212222111221212121112122112112121222112211112221111122121122221121222122112211211222121122112211212111111221221112112212121112222111112211111221212121112212111211221211212111121211212122212111112222112122212221222222122112121111221121212212212222122222221221212111212212222111121221112211222112112222121211221112222221112211121112121221222211211222112221212122111112121211222222211212221111221211112121222111212112121222211122212221221222211111121122212211112122221111211221122112122221122221212211122222221122112211212121211211212121112211222121211112122122221112122212111222121112111112221212211222122112112111221212221222111112122221211221112111211222222111212121211211112121111112221121222222212222211221211222122212221211212111121222211211122211112222211111212212111122121111212221212221121122112212221222211111212212121112211211222112122212111112222122212111111112121212122212121222221112111212221222222211212212111112222111111121211112112212121222111112121122212221211222122222212111111211222211222222211111122111111211222112211211211211121211221222111221111211112221212121222222121212111212112212121112222111121121211211112112121221121221112121111211112222122112212212122212211222221112122212221222122212121112112112222212121112212211112121112111121112212111111222121112122121212111221112121122111222222112112211112211122122112112211111122122111222112221221122212122111212122121221211212122221121212221212222212211121121111221211111211212211111122122211111211112222122122112112221121111211212121122211211212222111222122112112112121122121212121121112112112222222121112111221111122221121221212212212211221212122212221222211121212222212222222211211121212211211111111112111122211121211112111222111222212211121212222121211211112222211211121222222221112121212222211211212111222222111222211121112111122212121212122221211211211122112112221122111221122221212122121212111212211112111212112112212112222222112121212222211222221222222121211221122121211211222121212212112122212211221221121121211121112212122222112211122212122121121112212121221211111111112211111111211111221212212212112211112221222222221222222211122112221122112212222211122112112211212112212211111221112121211111211111122121111122212221212122221222111121111222111111211211211221212122212112122112121212111211122111121212112122211112212211111212112222211212211212111221122122222121122222121122212211122112221212112222121111211212121112211211211211122112111111122122212221122121122122122112112111211112121222121221111122212121222121111122211212112112122212112122122112111111211212211212122122212122121221111122212111212121221222122222212111112111211122121111111212221221122222211122111122211111221212121122122112211111212221111221221112212221221112111122211212211111211112122112211221211121211112112212121111211121111222121212222222122221222222211122221112121112221222222111122112111221222221211212221211122222111212211212111121221122222122221122111122121111111121222121212211212122222112211112122112211121122112121221121211211122122222211111221222212112112111221121221122111121112222112112221212211112121111111211121111122212211212112111222211111221222112221121212112212212212121212222122221212111221221222112112122112121111122122222112111111222212121121111121121221122121212212121222111212222211212111211222221211211211121111222212212111111212122112112221211122122212211211221122122111222122211111221222122212112122122211112221112222211221212222211211111212112111212211112211221222112222222221221121221112121112222211121221222222122121211221221222222111221111111212122211211212212211122121222212112212112112121212111212122121121221212112111212211212122121111221221122212211221212212111221222212221212121122212211212212212112121122122122221112211112121221121221121221121112111221211121222111122211122212222121121122121222112122111221222111222111212211112212121122112111112111222212212122212122121221111112112221111221121111221111212112212222212112221121121121121221122111211212111212111221111122211121212111212112112121111222121122111221222111211212111221222212212111111122221212221221212212211221211211122112222212111222111211221121121222122122111222222212221211112112112221121122122222112212221211111112222221111211221122211112221211122221222111111211222221121122211212122222222211221212111221212121222112212122211112221222211121212122212221111222112111121221212111121112221111222121222121112222112121221121121111121122112122221222121121121212121111222121221121222212212222121121212112111112221121122211222121211112121222121222222112221212111111222212112211122112221122121112111111211221212221121111221222211121112222211222122211211122122122121222222222112222211221221221212121222211211212221111211122221122211222221121222211221121111212122112212222221121221121221112111212211121121121122212211212222211222221121221111121112122121222121212211212222121112221121212111212211222221111121221112212122221121121212122221121112211111122122111121112212121121112222111112121111211122211111111211111222122221122111122112112122122122211122221211112222212111211111112211211212222222222122112221111111212112122222122212121112111121112121122221212122112121122221121221111212211221221111221211121211111121211211211222111112111122122122122211212122111112111222221221112211221122222112222122112121221221211121111112212111221122211121212112221211121211211222212112111212222211211122111211121222111222112111112122212122112222221121121222211211212121112122121112212221122212121112111211111221122111211212222211121222112111211121211122211122212211221122111111221211122212111212221111221221111212222221112111211122211122122111222122212112221222211222222212111222121221222111122122122212112112111212221222122121111222212122111211222222211111222122212121211211112221111222222211221121122112221211121222121112211122211212211122211122122212112211221212222111222122212111122112122112111222121212212211212222211211122211111112112211111111121121211111222112211211211222222211211122212121222222211122111121221121211111122221222111112221222221212211111112112112112222112111111122121221122112112221222222222121221221121222122111211121212212221222122221221122221222122121221122122212111111111222211212121122112122112211221212211212222121221212222222221122112121222221221122112211212221112111121222112121222212121122112121212112222121222122221121112112121211112112112211221221122212212112122211211212222212212222221112211121112221121212122112121211111121112211211212121212212212211122111111211121121211121222222112122122222222112222222122211111122121212221111121111222112221121221122212112112122212112121221212222112221121212112122211221121211122221222211121121112211122222221112112221222112121111211212112111111121122211122122111122221222121111122221212112122222121222211121222122212212122212211111111221111221212211212212122212122122211222212211111211221121212121111221111122211121122122112211222122121212211211222111221212111111121122121112122221222111221111122212112121222122221222121222111211222112111211121212122122222112112121211222122212222212111111112122121112112211212212122122211111111222211211122222122122121222211221222121211222112222222212112111122122111212212211212122122211221211112212111222112112122222121211222112212212211222112221121122112211121211112211122111221122122121222211112212211122112121111212221122122122111122111121211112122212221221122122222111112222221121222122122212211122212211112121122122111112222222221211221221222121212221212221111222221211211111221122111211212211121121221111221121121122121122121221111222211122212121221112222211222212211222212211112211211122111211122212212121121222221111121212121211221121221211111121221121222222211112222121111211211112211111212212212111221121112212211222121112112122122221222222122212112211211121211122111211221112111211121121121222221121221221121211121111211221211122121212211111212111121111221222121111222121222221221122222211111221121111211111221211112112121222211222211222212221222212112221221211112222211212111211111222211122111122122211121121111222121211122211222222212211222112111211122112222121212212122121211211122111221111121211212122222122122211111222121122211222122222111211111111212222212112222121212211211211121122222222211211212112222121111121121121222211211111221112122221212111111222211211111122112121112212212211221122221222112211222112212122122221222222122111221121211122112211121122112111222122111112212212222222212121122112211221111111212211211221212212212112222122211122212212111112211221222211121121222112121111112121112212111112121112122221222112112212222111112221222211121212121122212121121221111121222222212221111222111122212112112221211121212122122221222112221111222222111112112221212121122212121212211121112212122212122211122211112211122112122221111111222111111211112122111211122111122122212121212222121212221112121222221122112122122122211212111222222222111211121122112212212212111122111222222211122121222221112111121212222221111112222211221221111221121111122221112221111221112112121122222112122211121111122221121111121122212122212222221212211122112122122222212212121111122221222121221212211112122122112222112211111212221112122121112221122122222121112211121122122221211222112211122221211111112112121121112121212211122111111121212121211121212211112211111121121222221122212112221221112212121211222122212112122121112211122111122121121112221121212111112111212211221211122121222222212112111121221212221221222112121112112212211211221211212222222121122212221111111211112212111222221211212212122222112221121211111112122222221112122212122222221111211112112211122211211122112121122112222122111122121122222112112111212121121122111221111111212122212121221221112121211211221122112121111221221222122112112211221122221111121222221121211222122121121212112122111221211111222222222111122211112212121122221121222111222121211112211211121121211212221121221122111222122111221221222221222222122111222121121122222212211112222122222122112112112112222211211221121111111211212122111121222212112212121212211111211121222112221121111111212222222222222111211211221212211111112111211222211221212111222212122112121111122111112222112212111111222211121212211212111211121211212212222221121122112221112222121222212222112222112222121211211122211212221111211222222212221221222121212112122221212121112212222122122222122112111211212122211122212211211111111211111122122112211111221122212222211222221212121211112222222112121212111122212122211122112212221112111121222121121211222122122222111122121122121212122211122122221212222212121122111222111222221112222111211221121122222222222122112212212112212122211221122121222111112211122221211122221222121221221112121121221122122111111211111211222222221121111212121121212111112222221222122121111211112211221122222121222121122211212212112112211212122221121222122122211111112111111121122121222111212122121121222121122212121212112111222121111111112122122111222122121211121211112122212212121212211121111212112121222112211121212111211112222112222221211211221211111211112222112211222122212211122122212212121211221111111212212122122212111121211112221111212112212122222211222222212212212112222222122222122122112122212111122212211221222211111112111112211122211221221222221112222221212221112122212111211121121211211212121111212212222112211221211111111122111211222122111112122212112121121122111212111122112122221122221222212121212221221211112121122211112222211112222111211121211121122122211222211221211212112111122122111112112112212222222122122221222112211222212111121222111112121111221212222211211111212212212122212212122221221122211222212121122112212221222121121221222122211111112112221111121212112111121111112221212221122111221122122221122212111121122111122222222111111212211121221221211111222122121211111211111211121121112211121222212112212112211211222212221212111121111121111212221111221212112122122111211212121222211112111122112222121122112121221221112121211122112211212122122212111121111122221222222212122112122121221222112121222212221111222111221222121221212221221221122211211121111122112122222211122221221121211112121122222221221121111122211221221122112212111222111211222111211222222122211222122122212112112221221112112112122211122221212122121112222111211221122221122112222222212121212112121212111221121212222222211222111122111122121122222111222111112121211222212221111122111112212122221112211122212211112112212222121212222112121211112112121222211221112121112221211121122211221222211112112222212112212121111222112112222221122221212221222112122111112211111121211212111222112111111211111211111121121122121212212111121111221211121211121112121112221222212222212222212121111111112221111212212211211211222122122212211212221212222112112212212222211222111221221121222121112111121122112121112112221222111112212121122111222112111111111112122122112221111221211212221122121222121212211211212211222122221112121112112222212222112211122211122221212121212222221121221222212222112121222122122221222112212121122212111112112222111122122222212112211221222222221111122121111112121112112122211121212212122221221112122122111122212221221112211122121211112212112212222112211212212111212211122111112122222111121111122221212121122111112221222122221121211212111212212112222112222111222111221212221121221221121121222112221112112222222122112112221112112221211111122211222111121121212212221222222222212122121122122212122222212222111222221221121212222121121211222111211112112121211112122212212212221211122111212211221122221122222122211112121111112122212211212212111211221111221111121212121221111112221111111112112211211111112121211112112121212122211112211122222122222221211222111212221221121221121211111212112121112222212112222211211221211211221222212122212222111111212122122112221122111212111111122222112212211112111211211122112212221212122112222221212222122211121221212122112112212112212221222112211121211221221112112121122112211112222211122122221122212121122122222112212122121122222212221212222221121112221112222112212112122211212212111111122122112112211221112122212111121112221112121212222222222112111222221212212222221222121212221222222211221112212212212122111112221221112212222211112121222221211211111111112112112111222122122121121122112211111122122112212212222111222111122112212222112212111121112222112211212122221222121112212121121122122222122112112211221112212121122121121112122121211222221211211221122112222211211212121122222222222211221121112211121111222211112212122221222122221221212122211211122221121222221111222122222111211212121112222111111222212122212111112111121222112121112221222221111111222211121211112122111212221211221221212111111211212212112122111121222111122222222121221212112221111111112212112121122211122212222121211221111221212222222212112222112122211111112111121211221211112111122222111222121112221222212221122111111221221222221222122221222212112222122122211111121221211212212221111212122112111212111221122211111121212221211211211211221222211211221211121121221211221111112212121221121121122121122221212112222212121222211222211111121211111221211212111121212221111111212221121221221112212122121212111112211211111121211211221122121211212221111221222221222211221222112121221222212211222112121221112112222221121111222122212111122111221112221121212212212212111121121221222211211111122112211121211222121121222221112221221121222211212112121222112121211221222221121121221111212122111212212221221122211222112221111222211111111222222211111222221121112212222122122222211112212212121121121121211121122112122221211122212111121122121111121211122112112122212121222111111111112212112222122112122222111121111212222121112122211121221112212221212112122222112211222221121211211221221211222121211121122221222221121122212121122211222212211121121121121122111222111122112122122111221111212221121112222221221121121111211212212212112222211112222222221121222212111111112211212112222222111122222222112111212221211121122121211221112121122222112121211112211212222211112212111221111111212111221222221112221222121212122212121212211222112122212212111212111111112212222112221111221212222212212122121222112222222221122222211122112221111212122112112211222121121212221122111212122221222211211112222211122112121121211211222211122221221211211111111212122111221122211111122222222211211121211121111222111222112212121211122222221111222212121121222211222121112111222112221212111221122221212211222121111211211111112212211111211211221212211222122212211211111112111121212112111121221211221222112221122122122212221222222221122121212112211221222112222212211121122222112212222221212221111221212212221111112111222121121121122121221222211112221111212122112112211111122212221221212212211111121121211212212221221211211111122222122121222111211122211122221211222211222112121222212111221121111221111222112121221112222122221211212211211112211122212222211221121112121122222211222111111222121121121222121121122122211111112222111112121122211222211212112122212111121222221221111121111121121122112212211122211211221221122112122211111212211212222212121221122221221221121122222221222112112121212111121121222221121212121121122222122112211111112221212111212222121222212212112112111122212121121221221211211222211111121221212212212222221121112122212112212112211221212111211122111112222121111111121212212121122211122212122212111221121122221122111212212112121121111222211121211121222112221212121211222211222221122222122221212211211111122121122121122122112212111221211212221221212222122222212121222121121112122112212121112211211112121111111211221211212112221112112221221112111212212221122212121122111111212122211222121111221212221221122222221122122112222111112222211122122212221121211121211211112121211111221111112211111111221111122121211111212221211121122211211111221121112112122211211112121221211111222112122121222222112111211212212121221122122222111211212212221112222112222122121222221122222212112211121121111222122111212122212111112122122122122121222212111112121211122111221212211221112111221111212112222111112122212211222112212211221221222121221211212211112112222212211211111112211211211221221111121112122112122212212112212221112211212112222121111222222111221212122121111122221222212222122212121211222111212221121111122212112221221112111112122122222121112212112212212222122121112122211121112212121212122112222112112121212222222112221112221112222221222212112122111122111112122111122212211122221121122221122122112122211111122222112212211121121212212221112212222111121211121211121112212221111212112121211111111121112222111112121211222211222222222212221111112211211212222221222212111121221211122211111111112111122222222211221212112212112222121222212221112211211221122112122122212222112221211212122221211211112211221112221121122222222121222211222111222212121121121122111212212111122122122111112121121211222222111222111122111122212121111212221212221222111222122212122211211221222221111211222221111121211211112121212122221112221112121112122122112221221111111111121112111212212222212212121221111121212122211112121221121112212111221212111212222111121222212122122222121121112111211121112122121211122222222112221122221222221222111212222122222211122111122111122212221212122122122121111211222122112111122211111211111211112222211122221212121221211111112222212222222122121121221121111111221122211122122212212112221122111121121112212111121212111112122111121111222122222222112111211112111111212122122111121221212111222112211222122112212121111121121111111211222211111211122112222121111111212112221122121112222211112212212222122222212222112111221122221121212212212222211222112211212221212222221222212212122111222221211122212111122121222111221111122211121121111221111211221111221222222122211222212111111122122112212111111212112221112211112211222112111222212221122212221111121111222212211212112121222211122222211112221222212222122211221222111121121221221111212111121112122122111111212121112121221122222222212212222122222112122212221111222221122212221122211121211221122122111211122121112221222122222212121112122212122112221112211221211211211222212112211221121121122211122111112221221212212221112112112221212111111212221111112211211112111212122112112111212221211121222222122122211222112112121221122221112212222221112111211122112212211112221221121211122111221122122212222112221122212121122221212122122121212211111122221121221122111222122211111211122211121211122111212111221211212221211212112221211111211121211222212221112122222222121221221122212212221121121211111222221111111221121122211111122111122211211222122222222111122222121122212112112212211211112121222111112221222222222121211111122221111221121112111221211111121111111212122222111221121222222122122121122112121221121111221121121211112221121121122122211222221211112221111122221222122121222121221221111222122212211112222122221121111222122221111111111211121122122211122221222112112211122222111112121221222221221212111112122112212122122121122112211112212222211121211122121221121211111111221122222211221121121212221221112212111112222122112122222121112222122112111221222212122212212211121111211122111211212211211121212111122211122212112122111211212111112111211112212222222211121212221122121211222111111112121222112221212221111112211221211112112122122221211111211112112111122111122112212112212112222111221211221221221122211122221111122221121212211212122212122222221112111111211212122121212221112111121221221221222111221222221222211211112112221121221121222212112212111112112212112221111112221112121211221111121112222111112111212121221212111121121211122222222222212212212212121221112121121122122121222121221122111211112222221112211112122112211122211111111111111222221211211112211212211121112211212111221212121121121112112111111111211222212222112211222121221221211222121111121122211221111112121122211221211121121122112212222112111211112211221121221221221222122211211221122122211111211211111211212122111221112121111121212222111122112111121111121112111212211212222111111121211221112121122222121121221122122211121122112212122112211212211111221121111121211112122111212122212221222121212111211121112122111122211221211212111211222121222122121211121111122222221211111122221221211121212212211221222222221121212121221121222112121122111221112122122122212211121111212221212121111122122211221121212121112122122112121212122212222121111111211222112112121211221221222111221212112212111221211212222121211211212122211121112222121222212222112212121122111111222211111121212222222112122112122212112221222121112111212122111211111111111221121122122222211111112121121222222211112212121122222212212222221121111222222112222211211121112222222222221211222211122112112122111212221121212121121222112212121221222112122221222121222212212211121122222121221111221122121111222111212111121111211211122121212111112212212121121222111211222212212122121222222121122222222122121111221121121111112121111221221122112122122111111121121211212221212221211222112111122112122222122122221212111222122121121212211111121111212212121222122211211111212122222111222221112222111112121221112112122212222112211112111222121222122222221222222111211211222111211221212111212211111112222222212122122211121121212111221111221221211221211212221221122212211122122121111221221111112222111111211122111122111222221211121222122221221212212112121112121111222222111211111112122222211112211211121222111211122122212121112212221122111221112222122222121211111222112121111221122111112122221212122211222112121122211221211221112212222222212122112211121222211212112211222121121221221121121221111212212111111222222122211212121112221211212112121222112121112112112221211222212222211221211221212112122212212211112222111211122111121112112221222222121112111211211121222112221112122111222211122121221222112212222121121112112111221121122221112111221212222222112211221111212111122111211221111121222122122111121111222111112211122212121122122211211212212112222212212112222221221121212212212222211212122122222112222222122222112211122122112221211212122122112221222222122221222112111212111211122211122121122212212112212211121111222222222222222121221211112111112112211112112222212111122212122211111222121221112122122221212111121211212212111122211211121111212211111111121121112111221222211112112222121222222211211211112211121211121121221111222221112212211221111222121112112121121122212121111112211121112221212212111122212112112122111121212221121121121121111122222212221111122121121221221222212222222212112122211122221111121211222222212122212122112112222222222221122111221212121121112112121111222122112211121122121212121111222122212211112222121122222121221112111212111212112112112112221122221212222212121111211212122222212212221112111111211211212222122212211212112212112221122111121121112222222211211122121212212111211121112111212122121221222211221211111211122121112212121212222211211212121211112212112112222111112222212221211112121212112211222122221121111122221222222112112111111122221212222111111112211222222122212121112212111111221121221111111211111212222221211111211211222222121212212112112122111121221112221211111121111221211222122121212122211212211111121211221112111121221112121112121112211121211212122122121111112112222112111221211212222211121111211121111112111212122111222212111111222211222121122222212222211111121122121122122111212122221211211121112222121111112111221212211111112121221122222121112121221111221111112221112111211222211122222112211222122212212221112222121221221211221122221211121122112122121221221222111121112221122121111122111111111122221112221122221121111121221221111221211222212111221221212222211112121222212222122121112222212112111121122121121212121121111212211212111121122122211212122221111211122112122121212122211221111221221211222111121221221121111212212111212221111111222211121222211122122121212221112111111122222112112212211111222211121222221222111112211111211221112111122121211222121121212111212112212121211222211212121221212211212121221212112122222211212121221221111111111111121122222211112122221212211111122111211111212221221211121211112121122122221222211122122121212222211112121112121122212221221122112112212122222121112112121222111112122122111222211121121111211222112221122212122111221222211112112211112222211222112112222221112111222122222111122122121121122212112212122221222221112122211121221122212211222112212111212212122221112122112221211121111112222122111111212211121121221212211111111112212112112212121122212111122122222221211222211122222121121121122122212212222221221222121221111212112121122121211222222111221211222112112222211112112222121122212122212122112222112112222111122221222221222122222122122111212112212211111111211111211221111211211111211121122221111121211221121121212211212211112211211111112221121221211222121221212221221222122222122221211212222211212221222111222122212222221111221212121122212121112121111222212211111212222122221211121212222111212221121112221111121122211211121222221211222211122122221122221212112111122212122211121112122211211212111221121112111111222111222211111111212122221211112211112111122112111121222212212122122222222121211212111111212221122112112211221211122112112222222111211112222121211121222112121122121221211211112221121111122111211221122221112211212211222121112111122111211121222122112111121112122212111122222221122111121221222121111121122211221112122222112121222212122121121112122121222122111122111122121212222122111212111221111121212211222211112211211121112211111122212111111121111211111112211211121222221112121112222121122211111121121121112122212212122111222211212111112212222111212111221211122212121121121222122112221222112112111222122211211221211211111112121222221222112122221111112121122211211122112211222212221112211111122111221222122112222221112212212211112222211111211121211111112111222122212122122112221222111111111112111212211122222112121112121111212112221221111122211112212212221222121211111222221112211211121111211222112121222122211211212121112222121211221221211211112112212222212222221221112112121211121121211111121112222221112221111212211121112212221212211121221122212221121122121121111212212112222211222111222111111122212222112112111112112111211222112111212121211211211221212122122222221112212211122221112212121212122122211121212111111212221121121121122121221121122221122121222111211112221221212211211112121222211111112221212222121122122222222221111221111112122111221112122112112221211121211111121112122222121212122221111121221222211222122122112112221212212122121121112222211111112222112121112122211112212112112122111121122121222121121212112211222122212122112121211111221111222111221121222222222222121112111211212111111111121221222212221111212222211111111211212211222122112222211222111122212122212112112212121111121112221221221211121212122221112122122211111221222222221212121122112121221121112222211212221122121112122122112112122121222211111111121221111211212211221211211221121111112111221211111221122212221212222121121211212212112211222112122222212121212121111211212111112212111212221112122111222121111211112112121221121211212212222111121111221122121111112211211112222211212222211111211121221111112211222211112121211211122211212112211121221122111221111222122122112111212221222112122212122222122111212111121211112121211221212212112111121221212212221212221211111222111211222112111121212222211211221111121221221221212222222212221212212122122212121211121221212121212122112122222122211221111111221211221222111122111112122222212221211111221111111112222211211122111222211112212212221122222111222122122222111121211121122111111212221122212112121111211212111211212111121222112222212111122122212112221111112212121222112122112122112212212111122122212212112222222111122122112222122112222222111222221222122112111112112111211112111222121211211122111122211121222121112211121112212122222222112212122111222221122222211111122121221221111112211111221212222112222121222212112122221221122121221211222122121212212211222111222111111211211221221211112221111211111112222211212112211111222212112211112112212121111121112122211112221211112211222221122222122122221222121211221122111112221111222121121122122111212111221221212221212112211112112112221212211112121212212112221211112222122111212222111112212122222221111122121121122111211212111212111221211221122121122211121222121121112221211111122211121221112211121121221111221122111222111122111111121122121221221212122221222112222122211112211221211211212211121212222112122222222121121122112221112211122222121221211211222112221211122211211221122222111111111112222211112111112111111221222211222221112121211111122121122221122121212121122211212211222211222211212212112222111221122212211211212111121222212122221111222221211121222211212112211122222211212121122112121222111111111222122111221221121112212121111112111122111122222211221222122111212112221222121112211221122111212121122111211211211212211221212121121211112122122211122211122221222111121222222211221222222221121221211212212222221112211212222122122221122111112211221111221212221111222222222121222121211121221122211212111222112221112211121111212221112221122121212121211222211221221122111211221222111211211222121122222222122121112222212222121111221222111121121221221222121211222112111122212111111121212221212211212121111111112122212222211122111111122122121122212222111112112212222211222222121221121111222212112111221222221111221221211221111121122121212122111121221211112222221221111211211212111112212121211221112121111222111111221122221122121222222212112222112212222222121111122121212222122112112212222221211212211111221212211212221121211112111122122211222221112221221111111111112111111111221111211211221121112211112112212111221112121121122221222122211212222221211221122222121122112211111222111121112112222111222111222212122221121112112122122221212121122212221222112222221112222122122221222212111122211222212121112222112211212221111212121221112212111122111121121122112121112121212112211111211121222121111221112111122221212221112121112112122111122111221122211121211211221122112122121221121211212122211112221111121221111221221221112112222222211122211112222122121211222221122212212121222221222221212221212112212121121122212111121122221111221212121112211211112212212212121121122211122212211122122221211222222212111112112121212121221211211112212212221221212121122221111121111212121122212221112111212122212212121111112121122112222222211121111112222111121211211112122211221222122112222111221211121112111222122211112122122212212221122121121111112121221112112111211212121112122112222121211112212111212221121221212112122121122212222212122121122212111222212122222211211222221121222212222111112121112211122222121212111212212211222122122112112112212222112212112111211211212211122212111221122212112122122122222221122121122121112122112121112222111122212121111121212211212121122122212211111122112212211211221221211112121211122212122121121111222212222212212222222211212212122211122112222211221112111111222212212112222211122121212111222111222221211112121122222121111212121221111111221122211211222212221212121122112222212211221122112212111222221221121211221121122222112111211211122122211222222121111212222221211122221222122222222211212121121111212122211121221111112112221122122122121112112212212121111111111111111121111212111221221122212222212222222122122121111121221222122211121211111122221221112111121112211221111211112211211211211222211212221112112212212211112122221111122121111111112111121111121222212111222211121111112212222222221112111212121112122111212111121211222122221111221212212211211212222122222222121121121211112221221122221122211111111212222211121122111111122121221112221121212221122222222212112222111221221121222112221122222212221111112112111211112221111122111222111121112212112211112122111212222112221111111212122122211121122112121121222112221121221121122212211111122221112221221222211112112122211112111121212221212112211122211122122111111111211121122212222122111212221112121212212221112112122112211212121221111122111122112122211222121222111121122122221212121222222111222212212222112122212211121111212221222122111212221221222121112122111121121212112112111212122222121221221112122111221112111112211221222221111122112221111221211122111122211212121221121211211121122211222112211112211121112111221211112122212211212212221222222111111212112211222122111111121222111212212122212111122122211111211111212221212212122221212122121122222212212211122221112211211122212221121111221221111121221112122212212212112211111211121111211212112211221221211122212122112221212212121211112121212222122111212112122112121122211121122221212122112222222212111222222111121211121111212121121111221111111212121112221121212211221122212122122222211222221212111222111111222112221111112212211221222112221221222221121112211112122122121111211121122121212211212122121211121212211222121211221222212112111222121221211211122212211121212122121221221221122221222122211112121122122122212111112211112121112112111121112111212112212122122221111122221222212112111222111222221122212122212211112211122222122121212222122211121222211212211211222111211212112112112212221211221111112212112122222121121122221222221221212112221112111211211112222222222122212222212212211121211211211122212221122111212221211112112111222111121122121212212122212212121211212212121211122111122221112122222211221121212211121121112121122111121221121122112221211112111112222122212211111212111222211222121222221211222212211212211222111112212211121222112212121122222211212122222212212121112222121212121121221112212212111112211121221121122221222121211122111221111122112212212221121212221112112122221211112121111222221221111221122112112221222222211221122211121222111221122212221211222112211211221221221221222221211121111112121121222112122121112122111221111111121122222111122221122121212121111221222111211111222212222111222121221122211122112222221122111112222122211222212121211122111211211212122212121211211122122111211222222211212112211111222221211212112121112221211212122211111111222212221121222222121212221221122211121121212121212212121112112211211212111222222212112112221112111221211212221221122222122221211211221111111221112112222112221212112222112212111122112211122111212112111112112111121222222121212221111222122122112121221122111222211211221222122122112121111112112221222121222221121121222111221221222211222211112111111222211211212211211122111111111112112112222111121122121211211221211122111221222211122212122122211222211222111212112112121212122121212121112122212122122211122211212211111112122221211112222111212221121111222222211212221112212112111122221211112122221112222221211222221121121212222222121222121212111212112122211221221122212212111121222111221122212111211211212221112121221122111111211112221111211212212211112221122112222222121211122112221112111221211111211221122211122212211111121221221122111211222112121212211121112111111112211121222121222211211222111212111121112222222112121122211212221112122221222112212121212112122211112121221111122221121212211222121211212212212111121112222111121221221122221212111112112121111121221112122221112211222122112221212222222212222212122221211221122211122211111211221111112121122212211121211212222111122212211112122221221121112121111112121211222112212212112111211212122211221122212111122111222121221111122111112122211111121122111122222112112111222211111112211121212122211112121211111111222212112121221221211212222111122112111222211222111221221111212121122221222221212121212221221212212122122211222122221211121111111111221221212212111111121221211121111111221222121212221121211212122212211212222221112122121221212221121222211121112122122122212111212222111112211221112121221221111112122112212221121211221222112222212112211221111221122112211121211112122221122111121112111221111212211111122122111121211121211112212222122111122111111222221221211211221111221212212221211212122122222111211122111221111222221112212222111121111211222112112211221211121211221221121212212112121122212111121212111122121211121111221221222212111212122211112111121121122122112122221111122122111211112122211112121221222211111222121222111121121212112211122211222121122221222221211222121112211221212211222112212211122211111121221111212221111211122212211222221211212111112112221122211122212111222212112121212122122121121221121211111221122122121122121212121121111112212122211121122122122221212121111121221222121221111121112112122122122212112112111212122211212111111112111121111111112112211112122222122111121221222211112121112121112111212112212221112121221112111221121112211112212121222121211122112212221211211122112122211211111122121112222121211212221211122121111211112221112112212212222122222122211212212222212211221121211122221222222112221111212121111112211212221221222211112111112122121112111222121122212212222211222211122112122122212112222211112111222122212122212212211221112122211211121121212211111112211212121211221222112221111212122121112221222211212222222212121222211122212212211121122121212212112222221211222121111221112112222221111111121122121211212111121121112211211112111112112222222211112212111122121221112122211222221222121122111222222222221122211221222122111222112222112221211212112121122122222121211112222112221112222212221212121211112122122212212211121221221111121212111212121121222211222222121222111221221212121221211122111111112121211212221112111222221212222121122121221212121122112222121222122121121221122121212121211212122211221211112222221121212222222121212222221111211122211221121111122221211212122211221222122111111211121122112212111112221112221221112211111212111211222112212111121112221121111111221222212111212122212211211121222212122211121122221112222212211212112121212211222212122111111112222212212122121212222121221221122111121211211221221122112211211122111122112221112121112211211211121122111221112111212211221222111212111211111222112212112121212222111222111211122122111221221112121212122211122212211211112111222211222212221222112112121221112222221121222212112122222112112222222212112212222212121121222222212221222112222211122112222212222122212121122221222111122112221212221221222222221221122221211221111212221122211211112221122121121222222121221121211112222111121122121211211211112111221121121212122222122111212221121222222222121222111122212121212211222222221111122221211222211222222211112112212112121112111212121112212212211122121211222212122221122222121212212121111211212221112222112221211221222222121111112121222221222111211112212222111122111221211222122122112112211112212121122122111111121212211121211212222221211221112222211121111212211221222212211111212212211111121221212112122212222222121221221122112221112121221211222122222212221122121211112212111122111221111111212211212111212211211112212111212222221122112111122221211111111222211222111212112221221211111222122111111121121111211122111211111212111111211221221222122211112222211212112122122221221111212111121122121112211221111111111121112222221122111121212221212221221122211121121222112212112121112211222122112111211212112111121122122222211111212112222121122112222222112211122211222222122212222212122212221212212221221222221111121222212122112211122121121212221211121211211122111111212212212211212121111121122211222221111211122222121111111121111111211111112122112221212222111221222212211222211111212211112112112211122212121211121221122221211212212121121212211121122122121211122121122122122111221122122121122112221222221122212122211121121122211111222122212122222221112212222111212111122212121211212121112112212222112121212112222111222211121222112211221111222212221122111212121122121222112212221121221222211221122222111112212211112221222122122122121221212221111122112121221221112122211121112221211221221222111212121221111112111212222112112221111212121111111211112222222121111121212221112221121222212111222112111222122212212222112222122222221212112212212221221121121122212121221111122112122112112211222112112212121121111221211122112211112122122121121222222222122221212122112222212211221121111211221111111221111121212222121221112111111222121212222222211212121121211212111222122121122122121222211121212222221121222112112222112221222111112221222212112212111211112121212211222112112222122222111222211212111121222221221112122212212112122211121121111222112121212212122122221212112221112221112122221221221111211121221221222121112111122222222221111212121211212221112212121121211221211112122121222121212122122221112121112212211221212122211212222222112221222221222122111121221211211122122111212212212212111212221111212121212112211121111122121121212221212122212212111212222112111211111121222122212121122211222212112222112121222212212112112122111221111211212222211121111221211121212111222211222111121222112212211112222122211121121221121112222222211121221112222222122221211222212122121221112222222212212211111221221121212222112111212212121211221222221211212221212122122222121111211211121122222122221211211111222222221121122122111121221121221112211111121212111212112221112212211111222222111112211122211211222122211122122122122111111212121121122121121212121122211221211212112122111121211222212111122122221112212111222121211221121212221221221121221222221212212112121122222122211211122212121112122111121112111121212212112211112221111212211222211222122211122212212121112112122211111122212211111212112112111111221212122222221211221111211221112112121211122222111222211221112222111121211221211222212122211121111122121221111211212211122222212211212121122212222122111211211111111221121122222212212111211212111211112222212212122112112112222211221111211222212222111221111121122111221222122122222221222211222212121122121111222212212212211212211221221211211212211212212212121122211111112212211212222222121211212222211121112112212111122111121122221221221211212121122112211212122212122111211111222211121121211211121211111122112111212212112112111222221122212212122121212112212112211121211222112221111112211222212222222111221111122212211211222221212111211211212211122122212122211221211111112111112211211111112122221121211221121121221111121211122121122111211122111212222221122121112121212222211222112221121212222211221111211222221111122121122221112111122211112122122122211222211211221111212212121212221112212111211122211212212122222111222112112221111212111121211111212222122122222122221112212221222221122111221112121111121221122212122112122222211122212211112212112221121211121121122212221112111212122121121112112122222221222211212112111212221112111222221111211212222222221122221222212211212112212221222112121212121121122111122111122121212122221221121111122111111112212211121122212211122221121111212112122211222222221112221222211222222212211112211212222222221122221122221121221212112122112111222222122112122122211112112111212111112121211112111212221221211122212222121112221111221111121222212122221122111111112211212112222222111222121211112111221222112111122111121212112212222122121121212221111122112222112211222212222211121221222122222211122112222212222222221222121121122122212212211121121122222111112212122112121221112111111111222212121121112221212221221222221221122121212112222222212211111121221111221221222121211212121212212122211212112121122211212222222221122111222211211122212112211222221222222121111222221212222212112211111121112121121111211222211121122212112221111111212222221112211221211212211212111221122111111221111122111221212112121111111211211112211121112122211222111122111222212221222221111212111122212121211211212211111111211221121221121211121121222211122221111212212211212212222111211111112122221112211111221112122122111222111121111122122121111121221212112111211222212121221222122122121222122211111112211211222222211112122221111221111112111211211111222211121221222122111111221222222222221122112222222122221222221222112211221111112121221111211111112221121221111112121212222112122122221212111122122121211212121111111122221112222221221112121112111121212112211111211212212121112211211121121211122222111111112211111121212212211222211122212122221222121222221112222211212222211122211122212212121211211211112222222222111222211112222111212221122211112122121222221222112121211112221122222212212112112111222222122222211221111222211111121111221221211222222111121222222221122212212222112222112222222112222222111212111222222212121121122222222212222212211111122111112112112212211211221122112211221222211222112122121221221112112222121211111211112212122111211121222211112212211122112122122121222121221211112222222111211211111222112212121222212212122221112111122121212122221122122122122211212111212111221112122222212121122212212112122211211212122121222122112111111211221112212222121211112112112211211212112111211122112111121122122122222121211222222111222121221221222221111122221221121221111212112122211122222221222222121221121111211222111112212112222122122111122221122211212212112112221222122111212222112211111122111211222111122122111122111122111211122221121221222211211122212122211122212222111121122222122212122122112211111222212121112211121111121221221112122222112222212112112121111211112211121112111121112122221111211221221111111211222122222122222122212112112121221122212221211212212211211222122122221221211221112222112111121112111111212211211112111122211221211221211212211112111112211112221212112212221222112212111122211222211112222211222221122221112221111222212112212221112211211122121111212111121112222121212222122122122212121112221222112211121221212211212122212212222212211111112211111121121221212211212221212222221122121111112122211111211222211211122211212212221211211112122112212221222121222111221121211221121211211222122221221112212222121211222222221112221211211112211222122221211212222222122112112211222121211212122122122212221122222222111112111222121221222111212112122221222111121111112112212212112122212221111211212121111112112211212222111122122122112122112211121112121121111211211222211211112222121121212211222111122221212222211111122121211222112221212121221221111212221111121111211221222112121112112111222122112122112221112212212112221222112111112111112112221222112121222222221222211122221221211121122121212222121222112111212112111212121221121222112112112222222112211112222111111111211211112221211121212211212212211121212212122122121222122111122122221222211122112211211221112222212222112122112112122212111112222211222212211212121221222121221121122221211112111211212211222121211121121221221112221122222212211122221112121211112221222121122122222221111212122122211222222111122111121221111212111112121222212222221212112212212112112122122111122112222211112111221121112111112121121222212212222221122222122122212212112112122212222222222211212212221112212122211122111112222122112211112111122112122211211211112211211211221212122222111221222122111221222212122121121221112221212122212111122221222211222111121211112122121211122112112211212222212111222111122111111111121121111112111111122121212212221212122221112112222212211211221111111221121112212212221112211111212221122121212211112221212221222121122122211111212211211112121121122112222212112111211211221121211221222221212112112111221222221212111122211222121221222112212222212111212121121121222111122112112112221211212111212211212222121212211221121212121121212222222211112222112212122212112121212222121121211221221121221222212212221112121112112211122211121111122122222121221221112122112121221111112211221211122122122221112121221121211121211112112121211222112212111121111122112121112222112121221222111111222211121121121221221122221112122111111211212212121121112222122112212212212222122211212112222122212211211121221222222121212212221222121111122122111112111222112211212111221221221211222112122122122112211222121122122211122111222121221212222211222112112111112122211221211122122121212222221221122121112122122211121111222222222212211221112211211221222112122121211121212111112112122122112111221211222111221121112212222212112111211212111221122212121112112121122121121211221221211212221211122122111111211222111212221221112221211211212122211122222211122112222112211211111121221222212211122222111122222122212121221221122212122221211211121212221112221212221122112111211122111111122221211212122112122212112211121121121121112111222211211211111122211122212211122111222111212121121121111122112122212112122112221112122122112211221222111122122121111121212211221212122212111221221111221112222222211212122221211112112121221221122122122122222211211121221212212221221222222222212211222212212111111222112211112121221121122212211121111112112222221211221221111222111222212211211111212111111212212122121211212121222212112112121212111211222122122122212112221212221211222212211121212222121211221212111112121211211212121222222221121211121211121112211122112112211111222111112212211211121112221122221212122222122221212221111112222222121212121121111122122122222222212212221212121112122211222211121222112121121111112222211121121122211121112121211111121121122212222211111121122122211221111211112111121221222212122222112212112111111212212221111122222112111222112212221222111221211121121122121221112122212212222121221222112212111122222221222212111111122122211212221112222111211212122211221121111121221122112112212222221222222221221122121121222212221222111222221121212221122111212122212211221111222121121112112211122112221122222211121111221222121222212121122112221122212212111221222112121212211211122221121122212112111221122221111212122111222122121211121112221112222121121221212221121112111122222121121112222212112211222211222121221211112111222122211111212221122211121212222212112122211221111221222221121112111111112121121112222111112211111121222212212221211121111222121121221212212212211212111211222122111111221112212221121112211222111111112211212221122122211121221112222222122222112221111221122222111221212122212221122121111211222121122122211112211121121221112211211121212112212212222112222122211112111121122121122221212221212121221122221222212221211122122111211211121221121111211122221221222212212212121112112211121222222121111221212211122211211122211111211212122212221111212211122212121222121121112121222122212111111112212212112112211221122212122122111222212222121212212121112121212111122122211121121121121222221111111111212221122222222221121212121112221212211112211111112221121211211122221221112112112111121122121221212121221121112221121212122122221121111122121222112212221211211221222112111122222111112221222112211212121112122211221111111112221111111212112111221222112121211211112221212121121221222122221122121222222221212212121121112121221111122121111112222121111111111122221212111222222222212121112222111121111212121212221211111222111222221122122212122112121122221221121211111122221112112212111112212211221212211212221211112222221121212122222222211211212212222211221112212222111122221121112222212211112112212122212222122222121112111211222211112212121111111111111122211121111221212122121221211112212121212122211122121111112221121221111121221121112111112121121211211122221221122221121121212211212212211122221211121111221111221221111111122111121112111111211112222212212121112122112111121111211112121112121221112121122212122112122212111221121211122221212121222211212222212211121211212122211121111222211122112222122122121112212121122111121211112212221111221221121112111121121211221212122111112111111111211111211211212211222222222121111112212112112121211112111122121212122222222221221212122122112221222122121121211122222112121221221212222111111122221111112121211212121211111222221212112222212212122122122121111122221211111211121111122221222122221221212221122121221121212211212211211222212121121211221112221221121221221221121222211221121221221122112222222111211122212221221211112222221121222111122212212221111211212211111122121122211111211121211121221212212222222212212111122122211221112112122121212212211222212211122112222212211121121122112221111112211111111212111221121212221222122221112212122221221212112121112212221111122112221111112221212212211122211221121111222112111121111112222111121112221212221112111222122122122211122112121222221222222222122222111121112222122222222111222212211211222211221211122112121221222112221212121222122222221221222121112221221112122112112111221121112221222212112212122111212122111221121211211212112212121111222121212212212222111211212221122212111121211121221112121112111112121121221112122111211222211222211212112112111122112121222222211211111122212211112222122212212221111212222211221111212111222221211112211211112111121212222221211222122212212122211221122222212221112211121111211121121222212111221121112122222112121221212211211112121211222112122222112122211111212221222121221212111121111112122212122122111222121111212212212221211112211222221212122112122122111212121221121222212111222221222112111111212112121112112221121121211112121212221111121211112122212221212112222121112221121111222222112121112112112121112221111221211112212222212221121221221222121111122112121222221122122222211122112221111212212221112221121212211211211112121112112121112211211211212111221222222111112112212121122212221122121211222122121212111221222122112112221122111222111121111211122112111112222122211112112221222111121121221122111222111112111221222211122221121111112112122122121222212222211112111222211112112212211122121212222211122211111222111211221222111211111112222211212221211221221111211112112211212212211222211121222121222112221221211112122212222222211122111212111112122112222122222112221122211222212212111121121121121122212112122112112112211122122221122221121222111112111212112212212111221222212121111122112112111211112211222122121221122221222112222111121212222112121112221121121111211122221222212111211211221112212112111111122212121121111212212111221111212222111211122211121122112212122111111221111112122111112221112211222222111221221222221122221112211212221122122112211211212212221222211211221121111111221222111121221121211221222121222121222212222122111212112112112221121111112122212122122122121222112122121222211121211111111112122222121221211121212112212222112111212212112221211212212222112221122111121212122111211222221121121122212122112111111122212222112111122112211112212121211121221112111212212121212111121222212222112121222222222221221211111111222121211212121211122111121122112111221221111111221212111122222121212222221211121122222111112212121211122112111122122222121221122222122221211121212121121121221212112211221122222212121111122222211211122221221221221221222222211122122112111212222111122111112112222111212121211122122212122221212221211221122211212212212222112222112121121112111112111121121121222221121221221122211212212221211221211212222112122222211112222111122222212221122121122122221122211211112122211122222112112111112212111221112212112221122111121221112221212112212122111221212112111122112211111222122122212112122222221222111111112221211122121221222211211111122212222222122222112221212221122111212221212211212112111112122222111121121222222212122112211211221121111222211112122112122121212121111122212222221211121122112112121221111211112212121111111211221211212212121122121122221222211111212112212121121112222211221121112112211212112212211212112221212111211111121112122122112222221112121122122122222211222122222222121211111221212211222212211221122112111112222221122221112112121211111111111121222211112221211112122122122211222122211211222222212211221221122122211111211121211122222222121112121122212222111112212221112222121111112211121121211211112221111122112211221112121112121222221112112122121121212121221222111211222221222111121221212211112211121112122111221121122121212211121222111122221122122111111112112121211122222222122111222122122221122111211211222121112121212111122111222112121121121222112222112221111212221221212121212112212222222112212111122212212122221121222221111112222222122212122221121221111221122211212211211122111222111211212212222222212122112112112122112222111122121112122222121212212221111211111122222122221112122121121111111221121222212211111121121122122112212121212212222222221121121121122222212112112121112112112211111112112212221121121121212212111122211111221112211221111112211112211121122222221222122222211211211121112121221121121211221221222221122122121211222111122121112121112111212211121212112111121112121212112121122121212122221121212212122112222221222211112222112212211111222222121221122222121222111121122222111121122222121221221221211222111212222122221112221112221111122112111221122211221211212111111221121122221122211221121211111111121221211121212221221122112222111211121212222121221111211111112122222122121122221212221222222221122121112111212111121221222221111112112222112121111212212211212211121111121122121211211111221111221222121122221211211222121112111112112122211122212121122222222112222222111212222222112212222221212112112221221211221111112121222112112112212221222121221211221111121112122221211212212121122222121122222122111122111122211112221212211112121111122111121211122221112212112121122221211212222112221222222112211122222212212112212212112121211212222222221211122112121112222121222112121212121222112211121211211212122111221121111121222111111211221122211111222212121111222211221222121221111122212122222211111222212112211122211211112211121121222211122111111112211212121111122112221111121222111212212122121211211221222221112211112212221111222212111221122221212112212112211122112221212221212112211211121122222222122111112212212112111211211121111112222122111211112212211222212212212212121221112122212122122212222221211222111222111222112121211221222211111211211121111112221221222211222222212112221221211121211221211211221212112212121111222121121221211122112212111122211112121112211212122112221211121222212222122212112221221222122121211222221212212221211122112122212122111222211111212212112211211211212111122121111222221122222211122222121111111122112212222111112212221121121111211112112111211111111111212112212111211111222221111212222122222111222111221122211212212121221221122122122112112212211121211211211111112221121221212121121111112211211222212211222111221212111112122121222222112121111112221221222112121122212212112212222211221211112211222121222212211112212222121211122111122111221222112211112221112122122222212122122122122211221121211221121112222212212212111212111112111111222211112212222112221112121111122222122112121222112211122221221122121121222222111122112212211122112212121211111221221121222112122211121112222221222111122212112221212212212122211211111212212222121211122122212221121111221211211122211111122222111211212211211212221212122112212122212112112122112212221211212212211221221122212221212212222111221121222221212221222122222211222221121211211222211111212221222221112211112121211112222112222112221121112112222222112112221112222211222222212121112212221112122222222221211121121222111112111121122122221212121222121112121211122111122112212212211212122211112212121111211211222222112221211211111222111222211122212121111122122222221122222121211212212222112222212111122211221112212112222211122121212112221112211211221121111121212222111121212211121111121212121112111212221212122211111212211112112211212122112122112111112112121222221221211211212221222122121221111222112222211111111221121122122212121111121221122121212222212212122212112222122112111221122222112212212121121121122121111211111122222122112121211112112221111211112212122222112212122112121222222221222222211212122222211221122122212222112211121211121212122121121121112212221211221112212122121221121221121211121122122211222211121211221121222122121221121111121211122212211122221212211112212122121211221222212221111221112221111211111111221111212121121211122122211121122121212121122212211212222212121111111212122112122221111121211212212111111212211122121211211122221211211121212211112212212112212111122222212112122112221211212112111111111211111222121111221111111221112112112221112112121212112221211221222112212221121212222111211121112122111111222221111122121221221112122111222222121121122211121212212212222222221111121112212122211211111121121211222211111212111212211122111212121122122212222211212212211221121112221122112212112112121111212222221212121211112121111121121111222211222221121222112221211111121212112112222222112112222211212211222122212221221211122122121222121211222222121112111221222222122121111222122222121122221122121111212122112122112121122222111212222211211221222212111212122211212111212112111111222222211221121212221121111121111112122111221222211221111121221112122212121122211222212121221211122221221221221122221221122122111121111221112121221222222111112211121112211122211221222121122112211112111112111121222122211111212221112212211122122212112221112221111112122211221111212222222222222121222212121111211122112111212222221112111122212211111212222222222111211122111112112212121212211112222121212212121121222212221122222121222122212122111121122122221221212222222211222222211221211121111122111212211122222121221221212221212212121211222212111121222122122221112221211222112221121122111121222122122221122211112222222121121111222122222211111121122121221111121121221211212111212122222121221112121112211122122222112221211112111222222211222122121112222112122221122112112122122222221211212121112122222212211121221212121221112221112221211121112221111121221221211111122112212111112221212211211221211112212211211122121221122121221121221221111222121111212111121211212121211121221211121112222212111221111121212121222222211112221221112111122211112221122211112212112112122111222111121221122221222212112121112111122222211212122221222211211112112212212222221211111121212121221112211112212211112221121211112212211222222212122112212211112212211222122122211112121221111111212111221112121111222122212221122112122222212112212111211221212212211111112112221121211121112211221211122122122211211111222121212111111221121112221111221111122222222221111111111111221211122221222112112212221211122122122111221211121211212221111211111221212222211222221212211221122211111122112212222221211122211222222212111121111112112222111221121121121122222112122222221221211212212111122221212122122212212122212112121111212112112112112112221121212112211212212112221121112211111221111211221222212121121111212221221221222222222112112121211122222122111121111212112112211111112112221121221122122122212122222212222221111121121122222121121212112222222122112212121122211112212112212121111111221221121211112111122221112211111111111122112211112221211221211212122222121211112212111112212222222221212211112221211121121121122121212211222111121221222221212221121122211221121211121221111211121222111211121212111222111121212211212122112121121222211211212222221211121111221112112112211111111221122121222212111212212222212211122122121111112121211212212111221211211222211121111112221221212222121121122111211122212122222222122111122122211111111212211211111211212111211112212112212122221112121121121122212221121111211211121221222211112122122121111112112112122212222112112211212122212121212211222111111211111122211111222112111212122112112222111212212221212111221121122221211222212221221121121111211122211212221121221111221121212212121221211211121221112122122222121221211121212222122222112122211121221221221211222121122222212221211212111222122112121212221211122111211121221122122211211122121221121112122121212111111222122121222111112122112222122221112211122221122122222112112222222122122221212211211212222122211212121112212211212222122112221222212211221222222122212112211122211122111222111122221222222211222111112211212222211122212212221212221122221211111211221121222112122211222112222222112122121111122111111221121111211122122212212111112112111221122221121112221222211222122211122122112212121221122122121122112212121222222222111211212122121212211212122111212112222121212111212112122112112112212221222222222122222111211121122212112212211221221222222111211212212121121211211211112121222212121121211111221122112112111211211122122122111222212112111111121111222122122112122111221112211111212122211212212212211221211222212211211211111121122112221111221212222222212121211111112212222212121222122212122112121122212222121121122111222211212211221121122111221111211212212222212112221211211221112211211112111222121111112122211221121222111122122112112121122221122112222212121111121222212111122212211122112212121222121222222221222221221212222211211112112111212222111212121221121212121112111222222111211221211112122221212212111111211221112112111212222212122222121112111212222112111121221221121112212221211222111111212121112121121222122212112221222211121222211121211211212122221222111222122111211112211111112111121221212221211121212211111222222121211122111221111121111122112211221221222112121222211221122121122111211211111111111121211212122211111121221222122121222211221212112121212112221112121221212221122111222122211111122121122222211112111122121112121122121122122221112111111221112112221111111121111112122222221111221122212212211122111221112122222221111112222221211211222122222122221211222112122122221111212111221222121222221221221222121112112211211222122221121111111121211112122211212221222212122112222221112222222121221121222212212122222212121211212222122111211121122221122121222221112221111112121212111222112122212111121211212222111122122121112212212111112111112212211111112212211112111222122222212122111221222212111221121112222121222211212212122211111211121212221122111222121122112111121211111212121122222211212111112112222222112122221221112222221112212212112212211121121211121122211122111122212111111222121222112111111122222122122222211112221212212211212222211111111211222112221111212111121212212222112122121122111111112212211121121121112211112122212112212221121121221111221211221211111111121112112111111212211222211222122222111111122122212121121121111121122222221211112111222121222121121111121112112222212111221121122121221211222121111212112222222212122122212222211221211112122211221112111122212111121111111121112222212112212222121212121211112111212211121212212211222111221122212212112111222211221221111111222212212112121121111222211221221221112111122121121112111111212211112212211122222122112211211221112121221111122111211122211121211111212121112111212121221212222122221212222121111222111212212222121222212221211212211111221112222221211111212212111112212222211222222211221112122221221112112122112121222221122111112211121111212221211112221222221221111111111211111121111122211112221211221221221211111111122121212122222112112212212122111211112221222211121122222222221121221212122121221212221212212112121121112212111212111221122222112122121122111221111111222111211222112221121212111111212212111211121122111121111121112222112112211122122222121121212112111212222221112222221112112122221222122121222111122212112222222221121112111212121212122121121111221121212212122112122212122222222212212222121111212121112111112211121212111221121211221122212212222211222112222221221121212221221222212111211212111112112121111111121212121112211121121111121221111212122122221222122111212121221222221211122222121121121211121111111212212121211112112111121111221211112211122211222122111222212211211121121122222121112221121222122211211122212221221212121221122211222212222121112212221112121222222221222222211122122212121221122212122221121222211221111121221212112122222111222211222221121112111212211221122122121221111111122212111111221121222112111121111221122222211112122111222222122122221112112111111121211221112212211112111111112221222122121121221212112222222222121222111222111222121222121111111111222221212212111112111112121112121222212111122111211122212112112212122211112112221211112111111212112211111222212122211221121121111222122121221122112222111212212111221112112211122222122222221122112211111121221111112122111212121221121121222222112122212111211122221112121112121112112211211122222122222212222111221122112112221121121221112112121211221111211121121222111221122221122112221212221111121121121121222121122211111111122211121112222222122212111221212121221122211121222112211222112121212212221211121111122221211122221212221221122121212211112111221221211121211111112122221221211212122121112221112222212212212221221212212112221112211221111122122111211111111211221211211112221122212212112212121112111212122111122122122212121111222112112222212222221121222222221112212221112211211111221111221112211221122122121212112221112122122112111122122221222121212221221211111121212211112111222211121221112122221222111122111111122121221111211212122121211121222212121122122221221111112111121111212212211211221121212221211112221111211212212212121121111222112221222122121221221212222222111112212122211111211112222122111121122212211112212112211111112122222211222222221112112222222211222212222121111211211212122122212211121211122222221222222211222121112121112112122212122111222112121121221112112122121211221122211112111211212121221112122112212221212212221211212222122212222222212121222122212121121222112122121222212121122121112212222222111221211121221221112212212221121211212212122112212212111212112222212211112221122222222211121122122222221122211122111211221221112111111211212212111112122222121212211221111211112222211221211211121221211111121111122121222122111122122121111222111211121211111111121111211221111112222121121221222122112111112122111222222222212221122122111122122111212211222211111222221112122221221211222222211111211111221212112122122111221221112111211121122122211221211211111111112211122122212222222211211212211221222222212221112112121212121111212111112221222212211122122122112221211211221122122112112212122211112111212222122221212222112222111121221112221222221212211221212212222211211122212111222211211111212121121112212221211112112211211121221122221222221221121121222111112211211122112222211221111122121111222121121211122112112222211121221222212122112112221212112111221222212121122221121212212222111112212111222212221222112121222121211121212112111212122221222222112122221112122222221221221122112111111121121111121221221121121112112212111222122111222211221222122122221212111122121211212222112122221121222111111112211121221122212221122111222122211122211212212222112211212121221111221121111211211221212222112222222211221212111221211121222122111121111122222222111222222111221122221122222212212211122212221221221121121211112221222122212222121111211222122222222121111111211222112111112212222121212111122222122221122111222221211212212221212222122211112111221222111222121211111222212211111211111121222211112111222111222221221112122122112221121111211212121112221211121212122112212111222112211212211111112212121111212112212211221221112221211121122122212122222222222121211121111221122212211211121121111112122221122212222112121211112112111211112212212122111122212121112121211211122121122111121221212211212221111121121211112122212112111212111221212221221221221122111211122212121112222211212222212211112111221221211112122122112211121211111212122221122122212212211212221112222222122121212111121211221212121212121121121221121211212212222221222111121112212212112222212112122221122111111212112212121211121121212212111212111122122112222111122122211221221222112221112212222212112212112221211111112211122212221111121211112212221212121221222122221222212222221112211122121222121221222121121221121211212212111122111111111211112221112222222222222122112122212211121222121211222222222211112122221111111211222121111221222122222212222112222111212121122222211121212111111221221122121112221222222221111221112111112121121122221222112221121211222111221211111111122112112221112211211122211221112212221211121112112112111121211221221112211212211222111211221111221221121222121211122122222221212122212212222212212112212221112211112221121111112211121222111111221211211221222112111222112121212212222112111112212211221111212211211122112221222211212212212121122212221111112112121121111211121111112212222222221112122212121122222211122221212111222111122112111111212222211221122122211211111112212122222211112121221221112222222221221222221112222111221212122122221112212122211122121112112221212111222212111222122112211222112221222112112221121121112121122211212111112211211121112121221121221111221121112222111111122121221121211112112222212221122111112212221111121222222221122111122122111221111121221112121222121222111211122111221121121111211222111222122212111221122222121121221122121111212221211111212121211222112211211112112221121212222121122122122122121222212212221222111122112212111122121212212121121221212221121222112212121221111222111121112122221222212212122221222122121211112212212112221111111211122221121122221111121122221212222212122112211222122122122122211221221121212221212222222222112112121111111211212221212122212122111122211121221111211211211222212121122211121221221121121112122211221211111221222122211122212222212122211111122212111211121112111211221122221212112122211112222212121121111222121211222222222222221122212111212122111121112121111222122222221222121112212112122121111112222222112112122222212112212212111212122212222221122122222112121111211212211212221122212111112112112222122211112122121111122221212111111211122121222212221222112221121112122122221121211121112212122112112212212122122212112222212221222212122212121211121122221221221112122121221212221121111212111111222122221211222112121221221212111112211221211221212122222122111222121111111111112221121221212221112111111222122211222121222121112211222122211212211221222111121122221111211121122212221222212212121122212122212222212221122222112221211221222122222111212222111122212122111121212221112121212122221222121222122121222222222121111221112111112112122222222112111212221121212211212221222221122122211211211212222212111122222221121121112221221121222122212211122221112111112211111211221111221222221222122111122112122221211122111212111212122221221212211212221112221222112221111122111211122121122112111212211111222121222111122222212122211111122112212222121211211122212221122212212112221212122222212222122111211111122222211222222212212212112112221212222122222221112212221212211111211212111121212122222212122121122111121211221121212211221211112111122212211221211221211212212211212211111211212122112211112122112211212212122222122121211111212221112212111122212111111221212112222211221221122211212222122112111121222222111121222211121121212221222111122222211112221122112211212221221212112122221121211221121221121112111222211112121122111111212122121111221111121122122122211222222211112221121122122211211122112112122122112121211211211112121112111112222111112112111212111221222121111122221112112111221212122111212222211221121122112211121212221221111221222122121221211112221121211121121122112111221212211211111221111222112112122212212221222211111112122122221221211211122121221122122111122221112212122222111122222122121112211112221111121111112212111222111222222111111212211222222122222222221211221222121212212212111111211112121111211211211121111222221212111212112212111122222212222111221121122211122221112111222122112121212211111122222211111112221211221212222221211112211211222211221211121212222221121112211111111112211211112211211111111121221212221212122122222122212111222211111221111221112112121112111222211112222122211112221221212122221221121222121211212222212211222212221112112222212122222111122122221121121121221122221221222222111221122112212221122212112212222222112111211221221211221211222221212212122122122121212121222111112212222212111111122121111211221121222211121211111122112211222221121112212111222111112211212112112121122122112111221111212121221111211112121122222112122112112221212112221222222111211111212222212112211121111222122211121222112221121112211122222211111122222212221112122111222122112112221221122122212121111111222212112111122112111111122222221211212121211111222212122211112222112212221122222222111122121112211121121212111222122121122111221221222211221122121211222112121221112122221111112222112111122111111112212111222122122112211212221211212212222122222122222121211111112221212121221122211112112222121212112121221122222121122112112222112221212122112212121212212211212221112211122122211121121222212212222122212111222111221111222222122111212222111112112212221112122112211121121122111111222111211111112221111222221212122212221112111211112122112221222212211112122221121122212221221111121111221211112111122121121222112111122221111221222221111122111211111111221122222211112222222212121122122111112211121121121112221122122221212211121211112121111112212112122122222112112221221211111122112111221211111121221221111121111111121221211221222221221122221211221122211121111211211111121121211111222112222211222122211112122212112112111111122122121212112212211111211211121121121121122221121212211211212122221122211222222121111221122111121221212121121222221111221211221121112121221122111122212211111222122211212212121121121221221211111212121211221211222222222122212211122212111221211112111111111122222221222122211121221212112121122221212121212121122212121212121122221211211211112221221111112112122222121222111212122221122121212221111122212121222122212212122122211222221222111211221111122112111211221211221221122121222122221111221121122211111222222112212211211211111211122211222111122211211112221121121111112212121122221212222212212211122212222122121111211122111211121112211222122221111211222112112211212112122221221222122121121122112121222121212211221122211111211111211111111112111121112121212122112222112122221122122222221212221112221222111111221211121112112111122222212212122111211121222221112222112122121112221222112111112121122222221221222121211211121112121221212111211221111122111222112212212212112212122221221211212122112111222111111121212111111112122121122122222112212221112122222122211212121222111112222212112221111111222112221221212112111212121212122121222122122212222112122221121211212121121111221222212222221221222112112122112122122212222111211111122111222211212222111211122121111211111112122122111112122122112221211222211211221111221111222121112111222212112221221112221221111112212221221122121221111111222211111211112111221222211111221111121211222122112121211222121111112221122211221211212111222221221112211111222112112222222221122111212222121122211221111212222212121222211222112222112122111221112222221122111121121112111222112121211122111221211212211211212111121212122212221121111212221221221112112222121221121222112112121222111111221112221121112222212222112111111121221121222221121112112211121212122212121221112112121211221221211121122122121122121221122222221222122112211112122221222212111212112122122222112211121212222221221121112221122112222212222221121211222212221121121121122111112222222211121221111221222221112121121111111121221112111112122221121121121122221222121222221211111212221212121112112222111212221212212112211211212211121212112112111112212121222221222122211211211122122111122112222222222212221222111112121221211211211221212112211221121211222111222211111222122211112111211212112211122211111111121112222211221111211222111121112121222221212221112112112222111112112212122112211222212221222122111221121222221222112122111111112222111111112111122112121222222111212212122212212112222212212112211221121112121221111222122111121111121212212211121121221112222211222211122112221121121111122111121221122112222221112222212122122222111212122122122221112122211222112222212212212121111122111222222211122122222211221111212122122111211112122121121211122122112122211211221121221222221112111212212122222221111111111121211111112122111112112111111212112112112112211121122112122222122112122222111111222211211212212221122111111211221222212222222221221121112122121122112111112222212111122221112112121121211221122222222111121112112121122212222222112212212222121212212212121112111112221121222222112222221211221221212222212222212121221221221122211122211121122222121212122211211112121222211121211122222122221122212121221211221211212121112112211222221122112212221221112211221122112211222211122212111111211221212112221211212212222211211221212222221211222122212122121222221121121222121111222211111222222221221221222221211121111112221222212112211121121221211111212111211121121221222222112122121121212211112222122111211222221121221212221222211212222112212222221122122111211112121222212211211221111212211221122121221122212111222112122112211222222211221112212112112222121112111222222222111121111221121222222112121211212212222121121112222111221221221112212121221121221212221222121122222111122122112221121112221122221221112211222222211211121121112211122112212122221122211112121112221122112122222222211122211222111212212221211211122122221112222112122221121112222121121212222222212111211122212221112221222222122222221222122221112211211112212111122121121122112121212121112221122121111211122222112211212112121211122212221211122121122222122212222121221122221111221221121221121221121121221111112121212211111222221222211211111221111112121211122111121121121212221212222212111122122221122212112111212222121122111122121122212212111122111222211122212221212211111111112112212111122222211212212111122222121121122111222121211211221122112112111222122112211211212221211221222112121212211221122111222112212111221221222222222212211222211212222122111222111112212221212222121211112211112211112221111121211111121112222222212221111221122121222212212111222221112221211211222111221111112111112222221211211111111211121211111222212211112222121122212212211221212111221221221212121212212111221112122211121212221111222222221211222112112222211211212212222222121121121122122111211112212222211121211122111121221222221121111111111222222212122221211222222122121222111122221221111111111121212111121111221111111112121212111122122222211112112222112112221212121211222222212111122211111122221212212212111221112221121211122111121122212222211221112121221221211221121121211111212211222211121112121211211121111121121212221212212222211211122121112221112211121112122212211111122121211211221211112211221121211211211211121212222122211112222212112122121121122221221122211211111211122212222221212112111121122211112122221212112111111212212112111222112212121121221222222222221111212212121212112221222212222121112221212122221222211221121222122212221211221121121122211122212112111122212121221122121111111122121211222122111211111111121222211122121211221111112121121221112112211211221111211121212211112212111122222211212221121221121212222112212212112212212122122122112121122122121122121212222222222122112112122222122121222212111222111222112212211111221112222212211211111122112112111221222221221121222212111211222111221211112112112122211111222122112111212211111212222112211212212111122121211122212121112112121221112112122212221112112121111112212221221222111111212112121122211112121212221212222222111111111121122121221222212212122112112211222222222112212122122211211211111111211112122221222211212221122222111211211122121122121222121111122211112112111211111211221212122112122221211121212212212211221122221111121112122122122111222212122222111111111212112111222112122122112112121222121122121211212121212121121121112221111111222221111121122212112121222111111112122212121121212111221111212222211112112111122211221111212111222222212221221121212112122111212222121112121122112222122221221212111211211212211121122121112111121121111221211111212221112111121111121211211121211212221112211211221222122112221111221111221222211121221121111122121221212111111212121122111212211211221222122111211111111212221221222112121221112221112222211112112212111211222221121212112112222122121121111211122221121111121211122112222211121121111111212121111212112121211222111122111221221212111211111112111221212222112112211112211212212121222122112112121122212212112222222122121122111112111212121212221111112122211221121211222212221122222111211221211222211112212121111222221212121222121212211221111112121211221221212122111212122112111112121122211112222211211222222122112212222112111221112122111211121111121212122111121211222111122212212111222221221111122222112122212111122222221212221212121222221211222212122222221222222222212121222111222112221112121222212121111221212122111211211122111222121211112221222222221111121112222211121211112221111112112121111112111111221221212222211111222212212112221112222121122211211221111121112212221111111222111211222211222122221211211122122121222212112221122122112121121112211121211212122122211211121221111211111121121222112122212111221211122121122111121122211212222112122112122212111112212212121122111121221121221122212121222211222222222222211222212222122221222111211222211111111211112121212122122221221111211111212212211121122121221212112122121222112211122122112222211221221112121222212121112122112111112121211112121111212221222112221111121112112212112122122111211111222221211211222112121212122222212122211121212221211111122221222221222122121112212211122122112121221211212122121111122121212212122221212212111122212221222221122222221122222121212122222221112222221221211121212221222112112221111111122222122211111221122211121221221112112122111112221212222211222221122212212121112112111211221212221122112211221222111222121211112112222111221112111212211122112222222222211212222122221212221112221221221122211122222211221121221122221111211222112111221221212212221111112221211222112222212111111121121111111221212221121211122111111212211111221212112121122211111111122222111111212122111212211122111221122112221121112111111212112211121111122222221211122221121212222111211222211212112222211121111212211211121221222121222211121211222112222212221122222112122111221221221122112211111221122211221112121222211212121112121121212221211212222111222222112212222221211111122222221111112221222221121121212112112122221112211112212221211221212121211111112112122111211112211121121211112222111122212221211121122211122222221222211111121121211221211122121122112211122122211112121211121212121111222121121121122122121122211211212222221212111211112122211222122222111111112111222122212211111122211121121111112212121111111211111112112222122112121221222122111221222221122121121111212212222121221122122121112111221211222112221212112221222212122222122121122221212122222222221111222121112211212221222112112221111212222221121211121111211222212111222222211222111111112111212111211122112112221111211212212221121222211112112221211111221112121221111112212212111211121122212121121221112211212222111122221122121222112222111121222112211212221122222222112222111211212111211122221122221122112121211221121121221111121122211221221212221212211211212121121222212121112221121121122221111111212122212211221212121211112121212111211121221222111111112211111211121121111122122211112222222122211122121111111212121221111221212121221211222222111122112212211212212112112111122121121121112222122211222211211122221221221222111122111212122212111121112111222222221111112122211221222222122111121212121111122111211111212221121211211111212122122121122122122121121122211122212111122212111212111211121121121112111122222112112111212221221222222222212222221212221222122112121212221121121121121121222121112122211212112211121212222221212112221211212212211111121222211211112111222212112112211112222221222122121211122122222122111111221112212111122212222112221121221221111111122222121222121212222211221122221221112222212222212121222112121212211212111222122222111211111212221112121211222111212211121221211111111112111121212121112112122122121212112121222222221111221121121121111122112211211112212222122211211212221221221112212211221121111111221111112212121112211222222211222121122121112211211212212122222222211121112222112212121221122111121222222211221112121111221111121212222222212121111212222212112111111111121212212211222111121222111121122211111122222112121222221211111121122212221122122122221211212111112211122221111122222112122122111212211122221222121121111212112111121121212212122121122221111222212122222112221211211112211122121112112111111121212111222212221111112222112222122111222211222122221211122221221122112121122212121112222111221112211111121211211211112222121122212122212122122212211111212222221111122222112222122211121122221211221111222212211221221221211111222212212212211222211211122212112211121211212121222212222122122112121211111212111212221211122121111212211121211212211112212221222212212211122111222221221112221222122122112212211111122111221121111112221221211211212212111222122121211222211121112111111112121112121211111121222111111221212121122122121111222121112112112121211121212111112222121112222211121112122122121112121122121122221222221212212111222222211121221222121222212212212122222211122121122122221122212221212111111211111212212122111222111122122112121211222221221111121122112211112121111121111211212112121211121212221212212121222122112222211111222221122111122112212221122222212222212112111121121111211212212221221212111211121112121211111112111111212122211121222222121212122211112112222121121121222211221111211111111122112211112211222212122212212122212212221122221221221211112121122111121221122112221221111221211211111222112222212112121212221222112111211121112222212221212112111111112222221221112121211122122212112221112111211212212221121112121222221111211121211111212111121221221221222122121212211111122112221111121122111111122211212211222222122212212112111111121122112121222112121111221211122121211211221222112121121221122112121222211111222221122222222112211121211221221222122222112211111111211221212222211211212221212211122112222211221112111112111221221112121221121112222211212212121222212211212211122112111212121211121111122121222211211121222121212122211212111121222222111122221122222211111111121222122211112211221112212121212211121221221112212112221111121211212121211122211122211122212211121111212211122222111112212222221212212222121212121121211111212111222222222122122121122121212222112212121111211122222212111222112122211221211211111212122221211111111221222221222211211222221111222221211212111211112212111111112112111211111121112112222112212211211211211112222211212211121221122221211212121222222212121221222121111111121111221121222112112211212111122222111212221212222111212222212211111111122122222111222122222222121221222122111212211122111111222222222222221111121121112211212222222222112112211112221111122121111222122211211121112112211211211211211122222221212211121112111222121111112111121221221211112221212111221222111211112112211112222111121112122121121121211111112222221211221122212212122122221221222112111111122221212112122122112122212112212122112212112112212212122111111112221112211211121221122121222122222211121211121211221222112111221211222112211121221122212221212221111111212212121222211222212111212122211222221212211221212212212111212122112212122211122211121112222121111221211212221221221212211122212221221211121212221221121222221111222112121121211212111212122121211121222111111122111121112122222111222112221122111211221222222212211221211211112122121122121221212111212221122122212111122121222111111212212122221111212221121221222212221222122222211112111112222221211121221212221211112112222121211121221211112212211111121212111112112211111221212221121212212121112122122212111121212221212112211122222222121121212221111222222121111122222112212222222211122221211211222211212222121121212121221222222111111122221121211221121212122221122212222222212212122112111222212121122211212112222221222221221121111222112111222211221212211112221122211112211222122112122121111122222111211212121222122222212212121111122211122112211221221212211121222222112112121221221211111121212121111222111211211212222122221112221111122122122121111112222121111212111122112221212121121221112222111222212111211211122121121112122212122121222121122112211122212122211111111211212212111221221211221221112212221222212222221212221122122211111212112111111212121222212212112211211121121121111121121111122111121221212221111211212211211212222221121112221211221212222122122222212211222112122212222212212111112111221112111111211122122222121211221212221222111121221121212112121211222221122211121221221221222112211112212212212212111212112211121221112122122222222122212121122111112122212212112221122221122122211122121111212112111112122122221112112211221222222121121121122121221211121211112111121221212221111121121221122221211221111112112122211212122122222222121211212221211121222211112121222111211221221121221111221222211221111221112111212222212221212121111222211122222111111111211212222121221122211211221212212122211111122122212222112121221222121222122221112222111222212212221122222112211121111122112122222221221222222112212122211211222211222122122122222212112122121111121122112112111122121122122221211111221121121211111111111221211112211212121111212222222221212221121112111122212211211222112222112222212212212122211122221221222112212111211122212211211112212211221121222121122222212221222121222221121211211212221212111222111212121121221111112112212222212212112211121222122221221111212221111121211111122122211221211212222111121112111211111222122221121212111111122122221121111221211122111112112112211211111121222112112111222121222212212211212221212111112222222122121121111122221211211122121111121222112112222122111111122121222121121211112112212112221211222211122211122221211112211222112121111112221222212111212211212111222222211112222112122212121112211111111222211211222121212112222222211111221221221222211212212112221212112121112222122221122212211121211112112121121222211211211121211112221222221222221122112221111211111222221121212112121222121121221222222121212222211112222112212221211222111111122212221221222111112222212121111122121111121221121211212112221222122222111211122121122122211121211222221112212211212212221221221211222221111121122112212212222222112222212112221222221111122121122121221222112212221212212122122122112112212222121111212211111121222222211222112111211221211222222221112212122212211212121222222211112212212212212111111122222122221211211122212121122212111111111212222111122111222112122211221222111212222221221122122212122111221221222222121122212121221112122122221111221221222121221121121221212121122211212111221112221211222221211111222111121121112221122212121112222122121122121122112121212111122121122122211122122211112112212111122222121212112112121112212121111221221222211121222121221122211112211221122212111221121122222111121122122112122112112222111221111111112111212111221121211212122211121212211212122121211222222121221121221122112122222222111111222212121111212122221212211221122111211211121122111222211112122222111112221212211121122122121112211112122121212122112111211221222112211112212112121111121221212112121121222112222121212122112122211111222112212221112112212122112222221212112121221211122212111111122212111112211121211112212211122111221121211111222212112112122121222222122211111212121222122111212212111121212221111111222221121121222111212221221111111122222122221112212212221111122221122121222212211121222211111112111111122221221221121212121111112212111112121221211112222221112212112212221221122221222221211111112211112222222212221222111211112112221212112212221212112222221222222111111121211211121221212221212212212122221112211211221222122122221111121212211112112222112222122112211112221212112122121112211121222122122111211112121111212112122112111222211211222211211112122112222112211111222222211211112121212121222121212112221221211222211112122122221222122221111111212221122112211222112111222222112112122112221212221212111211111212212122211111221221212112122212121212111112211111212112222221221111211221122222212112212112112211222221112112222212121221121121221112221212122222122112112221222111221211111121221122211112122211111121121112122111222111112112222211222121122121222222111211222112211111111112121111121221211212212122221222222212111122111111111121122221112121212111112212221112121121222211212111122122222111222221112121221222121111122211122121122121211212121211122112122222212122111221121121112222221212222121121112121121211122121111212111221212121111212211111121211112212212122121112211122221112212211122122221122211112111122212111221112222211122221211221112121122111212222111111111221221122112121211222112122211211121221221121111211111112112112111212122111222122122221122212211211211221112112211212122222221122212121111211112221122221112211111111221111122221121112222111222222122122222122222211222221211122221121222121212212222111122221221221111212122112211222111111212122122122121212112121112211221112122111222221221211121111222222221222122211111121221121121111112121111112221222121212112212112121222111112112212222211211211121221122112112212221212212222222211221221221122111212222221211122222221122222222221212212222221111222122222121221122121222112211121211212121111221122211211211111121211121221212211112221122121222222222122122222122112222222222122111112121222111111221211221211111211121122221121212121111112221111212211212211122211221222222112211221212211221112112112122121122211222122212211111222121112122211122221121222122222221111121112211222211111212221211111212211111122121222221121112111121212211212221112211211112212111212221221122122121111122211111121221211111112221211122121122211212211212111112122122122222212122211111121212122121221222221211211112121211121211211112112212211122222121221212212211112112121121122111122121221211111212122221221122111221122222212112122211111212122122121112112111211211122211121122122221111111112111212211111122221121122122111211121222221112122122221112111122221122211121111121212112122212121112212211221221212222121222121212121221121222211112221212212211112222211122211122111211122121221221212221111221122222121121221112212221222122122221212121111212221222121112121222112221121222222121111222222122211112211111112212112212222122111212122122212211211112111122221121112111221222121221121221121221112222121111211212112222221222221221221121122121121122121121212112122121111121111122222121112121112111212222121222122211112121221122222121222222122221212121121112211212211122212122112121122122122121122122122121212211222212122121211122211121121112121111221222112222121212212121221112211111211112221212212122211121212212111212122211122221222122212222121112121222111111121112122221122211212121121111111221122121212111211111221122112111121122212121122212111212212212112221221121222111122222212221122211111112221221122212212211212221122222212221222112222112222211222211222111211211112111211122221211221122112122121221121211222112111122112121221122221212111211222112221211112121222211122212212121111222211122222211221211112212122121112221222212111122122121112121211212111111121112121111221112111122112221121221211122122212222212111112221222212211112121111222221211122212221212211221111112112221212111122222111221111211112111222121212222111112111222221112112122222222221212221121122121221122222111221111121221122112121211112112121112121212111212221222122222222212121111111112222222221211122112212112221221121212121121112122212112221122122112122121112221112112222111221111211112111121211211121112121211221221221111211122111111212211111121111211122221111111222121111222122122212111111121121212112211221211122122121112121122221221211111122211121112111121212121211221112211222221122121221211111122112122112211122112122112212122212222212221221221121221121222121111121221212121122211111111211221121112222221112222111212221222112212211211211212121111112221112222111121212212221211222112211222222121222112112121122112222221221112121221111212122112112111121211221112211112111211111122111212112112112121221212121221111112222111121111112212221212121112211121112112221221121121211222222112122111121111112121121112112222212111111122112222111221112111221111212211122121122212211111212222112212212212122122211112211122122111122222211122221112111211122112112211122111222111211221111212211212221211221121222211221121122121112212121212122221111111112211212212222121122112111222222211112221122221122121121211221111112111111211111121122212221221212121211121122122122111211211112122221111121112122111222121121111112121211222212221112111212122111112222221121122212222122222111111121121211112221111121111212211212111211121212122211212111222222222121221122212221121221211121111212211111221222122122122222221221222121221221111211211211122212211212112212212222211221111112221122212112211112222112121222211221221112122221221212122122221111221221112212211212121221221212122121111111221112112212122111111222222221212221121211212112111112221111112121111212112111212111222112121122212212111221122222122211112112222122222212121111121211121212121122112212121212211122121212212112211111111121212122112121211121212221212211112121212112221112122212221122111211212212122112211121122211222111122211222111121122211122211222112212112111112122222122122112121221211212222221122221122212121211112221212211121212112222111222222222122112122211222122112222122212121211211112112111221122112121122111121222121221211122112111122112221122222211222122211112222222111111222121111212111111221212222122112121221112212221111211122122112111221122112122122111112121212111222212122121211212112112111111112111112211122212111211212112122122111221122222112211212121122222211221111211122122112121112222211112111211111211222121111222212112111112112112221221222222122121121221112222122211122112122112111211211211111122121211122222221212122121122221212211212211222111112111112111122111111221221122221112212222121221222221222222211222112121212121222121221221221221211121212111112211122222222111112112112222222212112222222211222212111121111111222121111211211111111211112211111211121222222221112211211121121111221221212212222211112121221221122112222112112122112121112111212222222122212121112121111221211211112221221222121121112121112211122111122121212221111121211211222122121221111211112122112212211211211111222122222122221221122111121121221222112112221221222222211122122111212122221221211212122221122121211222111212111221211111112222211222122211212112221121211211122121212112111122112122122212121221111222222111111112222111222112121121121211121112222212111212121122211112122112221221121121112212212112122222112111221221111111122211111112212221122211212211222111111112122112112221112221211212211121222212111121111111222221221211222121122212111111122111122122212222112212221122211122121122121111112111212221211221212212121112112111122222121221222121221222111211221121121221222122211121212222112222121121121221212211221211122111222212211112212211211111221211121222111121212221211111111111211212112211212111121121222121121212212121221111121212221211222212121111112212122221212211121222222222221212121211112222211222121122121112211112111222211112212122122112112111121112121221122122111211211211111112211112222121222112111122112122222112122121122222122111211121122212121211221112212221212111222111211221221111221222222222112222212122212111212211122112122122122112221211111221111212111211221211111211121212221221222222121121122211221211212122222222221212221122121212222221212122211111111111111222212112112122221211212222212212212221112121211111112111221121112222122212121122222222122112211122222221121121222111111221221112211222122222112112212221211222212111121122121111222112122222122121211112222112221211112121222221221222212222112112121211211111122212212211222212221212212211211111212112212111112121122222222122112121221211221222221111211112212211211111121111212121222212122112121112211221112121221211221121121211121221111212122111221221212211121111111122211211221122221121111212222122222122221212211112112111222222221222221122212111112112221121221122222121221121122122111221121211222221111212221111211211212121221211112122112122211211122222221111111222122112112122122221222211112112122221121111111222121222111211221212112121111122211111122221112111111222211211222211222111221122212121212211111212111111121221212112212112122221221222112222121121111122112221221211112222122221112221112221121211112111222222221211121221121121121211122111222221212222122122212111111221112211111222111212211211212122212122222212112112121222122222211211222122111112212211121121111121122211212222111211112211112211111212111121121122111111222111111121111211111121112211222212221111221212122222222211222221212111222112211112122212112221121121112111221121221211212222212222211121121122221122221112221111212222221111221121112121111221111112122221222221111222212111212211212112122121221121111222122211222111122122122112111222211211121221111222222122121221112112211221111212221121121222122212111211112121111222121112121122122112121121212112122122221111122111221221211122122211121222121222212112121222221222121111112212121221221122121122211121211121222211221222211111211122222121122121112111111221112112122211212222112112212221222111121212211221121221112212212111221112222222222111212112222111212221111211221112221121212112222121222221122221122121211111212221211212221111121222221211112222111121211112222222222111112111211222121212211212111222122122221212212112111212112221122111212221222222222212112221222122112121212121122122121112122221111121111111212111211112112212111221212121212111122212122221111222222222111112211121221212122222111112212211222222121122111122221221221222222111121111111122112112111211221222112112111121212111222122221211222112211222221212221212122212221111112122111212212212221222112121211221211211122111122212212122122111112211212122111122221211212121122222212122222122222211121122111211112122121211121211112221212111212212112222121212221212222212212211111111111221221111121222121111222211222221222211111122212222211111222111121211211212222222212121122211211212212222111112222122111122112112221112212211121112111121111221212222122212121222121121212212212122122211122111221112221222212212122222211221221112122211121221111222211111122221211112212121111221222212121112212121111211212212212222121111222211111112222112211211211122122111121211222212112222211112212222222212112121211112222222112122211222121121222222222112112112212212222221122211121112112221112121111122111112222212211212212212121222111211211212211212111121221222121212212111221122212121211211111212222122221212121222111121121212211222122111111221211122111221112121212111221112122121122122211112112112111222212211121211221112121122112122221122221112122222122111222212122212222111222221112121112112112112122212212212222221221211121211112212211112211221111111222222211222211121222122221122211222221221111211212222222212221122111221112212212221111212122221221211112122211111221222212112212211211111212121211122112221212222211121211121221221112121221212212121121222111212222212121112112221211221221212222122121122122221212121111212112221112121222111212112112212121222221211222112122212111111122211212212122212122222221112221212211121221211121212211221222221211212111121211111111222122112211211122212211212212222222111221221111112221222212221112221222122222222121211122222121211111121112111112212122212122222122112221211112111212212111112212221222211222221212112211221222121211222212222222222212112221122121222112121121111221211121211212111121112212112212221121222122111212211111122111222122111111211111211122221112221111221211121122221121222112112222211212122222222111111111211122121221222221121211211211112222211112211211111212111222221122121111211121121212121211121211211212121212221112222122122111211111111222212212122122111211111222221121111122212222111211221222121121221221211221121122222112121122221121121222211211112221222112211222111211222211111111122212212222221221212212212121212111122112211121212212211112221222112111122122111211121122222221112221111122121111212221222121121112122111221222111211111111212121222211211222112212111122211121212222212111112222221121121211122221111221212222122221112222122222111121121122212221221111112122212212221111122112221211121212221212221121111212112121122111112211112122222122122221211111111111222211111122121112221121221212221221121212112212121112112122111111212112112111121111221222211112112211112122112211222111122112112212212221211111211211212111222222222221122121221221122222122211122111212111221111222211221211111212112122211221222212222122122212112221222122122221121112222112122112212211112122222211222211121221112222222111222222211212212122221222221121211111222122211111211122221112122112122112211221112122122122112121221121221212112222211122111221222211111122222222221121112121222212212112212111212212122222111212211111122121112121112211122112211111122122211112122121211121211221222121112121122111122211211211222122122212212111111121122222111211212121221111122121212112111121222212111121222211211221211211111121121121221112221221221212122221111211121211111222211221111212112122122121222211111121122221121222112211122222122212112121112221112212212111122222221221121221121211211221121111111211122112212222121122211121112112122121212111112222122122111211112212121221212211121212111211121121111212121111112222112212122221221211221111222111211222122222112221221122122112221212212112211121112122221112121112221211222111111112112111112111122122221112222212211122222221112122211111121121121222112212221111122112112211112211111212221121222212222221111222221221122122222112222211211111111112221111111122111122121122222111221221121221221121222222112111111112121211112212111212121212112122111121121221111211112212121222211221122122221121211211222212221122112121111221122221222221221121121221122222112122112112121211122111212122221122212121111211222212211112212121222211121222122122211122212222121212121221221222122111212112121222221111211211111221221212212212121211212112221221212222211121112111122212111211222112111221212211211211112212222222211121122121211222221221212111212112122212122221212211221212212121212222221121112222221222222222221222212221212212212212112221211221211211112112111211222121211212112221212212212221112122222122121221221122221212121122211211111122112211111221221211222221121122122122212212212221121111211121211221211111121212221211221112212112221112222222112212122222111121122212222221221212221121122222111212222122222221212111221212111212111212211211222122122121121111212111112121122121212122222112122222221121222221111121221121211122212221112122122122121112121111121112112221111122211121122211212222121212212121111122121122211222122111211212111111221212122222112121211212112212211111222112221211212222122121121212221112111122112121122221111221222221221112222221122121121121111212121112221122112111221211211222122122121121221212111211211212211121211221111212222122121111221122111122122222211211211122221112121211221212211211212221121111112112211121211211211112112112122122111121211112122111122111221111211212221122112211121212122121111122221121211111122211112222222112111211222111221212222112121211121211122121122221212222111122211212112112212221111222121121222222121111211122112211122221122122211222211222122221111212212112212121211111212111112121222122112212122211221121212221221212122121112122121212211212122122212221121221222212111211212211122121121121121212212222112121112112211111212111122121222111221212112111111122111221221112211212221212112222121211122221212212122221122122211211112111112212221122122221211221111221122122222112222121121122222222121211221222121111212212221112221112112211221111222122221122121112112112221122112112211212111211112212122122222221111121221212122112111222212112211121212121112211122222122111211122212212111221212212111221222222211221112211212112121211112122221122212222211112122111121221112112112221221221112222111112121122121222221121112212212122112222112212112111121222112121221211212111111112212212112122122112112212222121121211112212221111211222222122121212212222212121121121221211112122221121211112222221221211111211121122221212121211221222111112212222221221112111212222212212221121211112221212221121211121221121222121212111221121111221211121221122122121212112112112111211122112112122111211111211222222221212212211112212212211222222212212211111112122212212112222112211221222211211211221222122111211212112112211122121122221222211212212212221121222212111122211212211122122121112211122221111222221122122122212112221211121121222212211211212221121111121122222122111221112211222212121211212112221111222122221111211222111211122122122112212211211222122211122222122222122211221212122111121112111121112122122212121212222221121212122222222222222211121121122112212111112222111212221221111221212112211222221122211222211111121112212121221112222112211121222121111111111112111222212111221121222112121121212211121211211122212212122122222122111221222221221121121212111211222211112122121222122222121112112221212122122111111221122221222121222212122122212222221212111111222112222221212221212222111112211111111221222222222222121112121122122211121221121111221112121211111221211212222122222121122211121211212122122112112222221211211112221122211221112221221211112211121221221112222211221221222212221112122122212221212111112221212221111211111221122111222122211121122212221112112122211122222112211222221221221122111221211212111121111121122221212221121222221222212122221222222112211111112112122212112122222121211112111212222112212221211122212212122221112222111222211111112121111122121121212112122122122221122221122112121222212211212121121121211111111212112111122112121122122212111111211212222112222211122212112212212221121211222221212122122112121211222222221211212211112222121222211211112121211221121212222211221211222112112112211212212212221212121122121212121112221221122122122111222221111222221112212111121112211122221211211222211212111122111111222211222112211222211121121211212212112222122111212112212211212111212222122121222122212112111212212112211111211121211111212121221122212222212112221221212112222122112221221222122212112222222212222122222112122212121221111212122222111221111111221221111221111121122212121212221122112112211221122122112212211112112122112211211221122121121111221121111222122211112221122221121111222222121212221221112121121221212212122111212121122221112112121112221122122212111122122112121121211221122122221121211211212112211112121121222211122211111121111222212211121112212222221221112111122121122111122121112212221221122121122112212111212122221221122212111221211122222212112222122121221122211222211212121212111211112122121211112221212112121121221212112111221121212112211212112212122111212222112221112111111212222221222111211121221211221211211112222112121112111122122112212211221112211122222222221211222211112221211112221222211222111111122122222221221111112122222111211111212111222112221112111121211211121221221222222111221111121111112121212212211221212212121122111112222222222112221212221211221212222111212221121212121122212212211222112222122112121211221122221221211212222121222221112121111121212212221112111221112211212111221111211122121221222112112111211111112222212122122112111122121112212211121212222111111221212121122121221111121122112211212221111212112222211221212112211122121211212212221111221212112212221121122212222122112222121222222221222121122122122222211222111112112222121111111221112111211211221111212212122122112112121211212211221112111122111121122122211111221211211221212211122121222222112122221112111121212112221112122211222211211121111122221122221111211111111212221111121222112222121212112112221221212211212122222112212221112221222222122222212221121121111111122111211112212111122212222111112221212221221211122122112212212211222112111112212121221211221221212222221212221211212211111121112222121121211221122111112221212212111211111212121112111121111111212112111221212122122221211221121222212121111122211212212222122112222222211212112112222222112212212212221221222211222221122222221211221221111211222222211222211111112222111211112212121122122212122112112221212121212212222112111222122212112122122121212121221121122221222121211121111112212211211211222121211212221221111212122222122212222221121112222211112111112211222112222212221212122111121211122222211212121211111121211121211222121112212112111112111121222222212112112111122221211111211122212212222221222221212211122121211211221111122221222212221211111122221212111211222221212112221122222111122212112122121112212221221222212222211122222211112122211111122121222112212221122111122222112211122221122211212121222112121121121111221121122221212221221112111121212121222211222111211222221211211111122122122221112121121111121222221221212211211221211211211212111221112211111112221112222211212212121111222112211221221112222222121222121111122111211122221211121211121121122112212122222112212211111111212111211211112212112122212112111222222111211221212121122221122122211122212211221121122212112121112121122212212212111121112211112112212111121212212211222121212212112112221221112121211111112122112122111212111221212111221121112112112212212122111112121211222121111212121212222122222112122122212221222111122222122112121112211111112221122122221222112222212111122221121211222121212212121222121121222121221112221211111221122211121111112121121212111111121211221211212122221111212122212222121222212211222121211221221112211212222212211221112121211221211222222211112121222221222122122121212221221121211212211121221121212121122212211122111122212111222121221222211221112122121111212211121121122121122121211111222122221211111122111111122121111121112211112121211121221122121222112222112211111221222211221221111222122212121222222221111121221112122222121212112112121211212122211122112112221122112112212112212222111112121112122121212212222121222111122211212211212212221112211221111121122111222112212212222111121221111222221112121212212222112222212112121222111211211222212222211221122221221222222221122122112111212211222212122211211221222211211221121122221122211211221211221122221122112222221122111121122212112222212211221211221221111212112121221121221222212111212121112122212222221221112121111122212121112112211211111121212222122122222211112222212121122221211121211212122222222111212212121112112121212111211112212122112111221211211211222121112222222222121122212121211222221111221212221212112111112111221212212221122112121221211211222221112122221221211112121112211211121111212111211212121112211112211211211222212212222221112212212121121112121211222211111222222112211122222212112111211212211211211111212122221121122221121212211121212222211212111211211121221121222221122211121212212111111112111222112112212212121222121211112112121111111112222221111121121122122111121212112221112121122111211121221221222121212221212222111222112221122221122221121212111222111222111222121112211221221221212221111221221121121221121212211211122122222111122122211222121122111122112121222221112211212111111122212221211121212111221111121221211211122111211211221112212212211212221222112121111221212212112211212122221122222221211111112211111221211221211111111222112212111211121211222211212122221111112211212211221212122212111221121211212212111212111222111112211212222112221221111211211121211221121211212111212112111222212112212121111221222221221211221222222211122121111121211221221222111222212121221222112221222122221111222121221111122212221211211111222211121121111221211221211112221112111121111211222221122222221222111111212121111212112222122121111211122211212111222121112112112221122111221212111211111112112122212211222111122111211111122121111112222212212122221211212211122211222111121211211121212112121222111112111122211211211221122111111222111221222121222221112212222112122112122122211122221112211121212212222212211221222211122111212221222112212211121121111211221211111122222112122121222212121222121211121122212111211111222211211211121111211212211121122212221211222111211122111222221112221221122111122212112122122222122212221112222211221111212212212122221222222222122121212211122121221121222111111122211112121221222221211111221111221122212122121122211111122212111121122121212112112211221111212111122222121211212212222212211111211112121222221221222222222221221211212112121212212111111212212212221112112221222211212222112122211112112222121111122111121112212211212122221112222122121212212212222122112212221221121212222221221121211122222221211211122112112111221212122112212221212111111221222121112121212121122212212212222121111111221121122221222221111121221122221112212121221222221212111211211211112212212122212112212111221112222222111222221212221111122212212122111112111222121222222221222211211222122222122111122222221222111221211122211122122122121222222212212222112122112211121122121112122211221112111121221112211111111212122222112112121222122121222221112212111221111222112212122121111111122212211212222122211112212122112211111121111121112211221221112122212112122111112112112122121221112112111212111211121112111122212121112221121221212111211111221122211111222121221121121121121211121212121222222211122112211111112121212112211211112212221112222122121112211111122112122222221112222111121221112222121112122122121112121121112222121112212221111121111211221122212212212212112121112221222212212221122212121221222211211212112211221222111121122212211222121122222222112112122211222111212112122121221211111121211222212122222221121222222221212111122222222222222211222221111111212211212112122112122211121111221121222221211112112111112121122211221112112222121211112121212211211211221121212211212211222212222111121211212112122221221212121122212111121121222222112221221122112112111112221112222121211212221111121111222212212111211211211222212221222122221221222212122111212112112211111111121122122122121211121121121212111122122112212122122222121111111112222222111212112212121212211211211211222111121112211121211212221111112122112122222221122222212212111211222212222221112121212111112121112112222211111122211221111212212212121122121221112222122121211212211211122212122222221211122122111112112121211111211122121121212211222111222222222212211122211111212222211111212122121121221212212121121121211121121112222222122211212221221111112211112212111112121211121222212222211122211122222221121221122121211221221122211222122211212222122221211111212211121222211111122122212221222122122112211221222222111222121122112211111212222222212112221111122112111112112222222211211121221212222122121111112111121112121211112222112121121221221121221212111112122122112211222121121111121212212221211122121121121211222212212222222122211112212221222212122121111112222222121212112111111122122211111111122221111221212122122112221112211112211122221122222122222111221112222212211121111222222111112111212212111121211122112121211211112211112211212121222121122122221121121211211121121221121122222211111122211222111222112122212111221112111122112111212222221211221222111122222122212122121211221211122121212212211121111112121122121222122111211122111121221111121212112212122211122122111122211121122122212212111122222112212111121121221111112221122221111111221222222212121221221112122211222112212222221122112212221221212121121211121122121111212212122122112221222111212222112211212211111221211212112111112212111121221222112111111212112211121211112122121112112112221122211111112222222211111121121112111212221221112221121122222111221211112222121122212111222211112121222121212121111122122212222211222222111221222111222211211222211112222111122211121121221121211121222111211112221122111122111122121121221221211112112221212122221111211222112212121221122212212111212122111121221221111212221121212221221212122221221121122122112222222122221111212211211112222211212111222122122222212211112211222112111212212222111211222212212222121122121212222222112122122221112212222112111221121112111211112122211112211122212111222122122212221112222122222121222122122211121122111221121111211111122222111121111121222112122112211222121212121112122222221111211211212212111222112121211112121222212212121211212212121211222111122112221212221221221122122111221211122121121222212211122121112222111122111122222211211112212112212111221212221121122212211211121122221222112212122121122122111111222212221122122111221222212211121112221222111221222221122222212212112111121212212111121211112122112221122111111121112211221112212111211122111211122221211111221111222112222111221122112211112111121112222212122212212112121112111212121121111212122211112211211222121222111212112212212121112122121211121112122122222221112222111212121211111222212212221221121222222211112222112121212211212212122121122222122212212121221111212112121222111211211121212211221111122111222221122111222222221212221111212112111122111122222222112121222122211221121221221211122211121112112222112121121121221211221122112212221222111112112211222221122122112111122122221122122222221212111122212111212112222212122212121112122112122111121212111121221211212211222211112212221122212212221121211211212212222112211212221112121211212111112222211221222112112222121121112221221212212212111111121121111222122211111112122212111221221211122121212211221122212111111111211112211111121112221221211211211111221122112121122122222121221112212112121211122211211211112121212221111211111122212111112121121111122222111112122121222211222121122211211212112111212222111112122121221111111221122211112121221211121211221212111211112122212111211212211211121221212121212222221222211212222212121221212221212212211221121122121112112221222212122221111211211122111122111122112112222222212112212122221121211221121121122212211111222212112122221211211222212212121212211111211221111221121121112211222122211112211222211112111212221122212112212212112112212221222122111222122121122222211112122121111112112222112221221122211111211221221222221222112211221122112111212122111121211111221121111111222222222222111112211112211222222122111122111121222111112222121222122212121211111122212122222221112121111212121122222122212221211111212111212111121221221211212222222112212221211121111221121212221212212221211221221221122121121212212221221211112122212112121222222222211212211122212212211212112112212121211222212221211212211211222211121122122221222112212122211221122112112111211211111122222111221221221222121222221112211212121211112222211122212221122111222121122211121222212211221112212121212111122122222111111221111112211121122112112221112212121211221122122121212221122212121111221112211122211121111111221221122212212112211122112222212221112121111211222111112221212212122221211222112221112112121211221211212212111112221212221122211212112222112211111111212212112221111222111111211122112112211221111212211212221211222221112221212122221111221222221211122112212112121211112222121221221112122211112222111122222222112221121222212121222121122121122122222212212112111222212111212211112121221212121122212212122121221111112112211122121111221121222212222222221222121122212121121112212122212212222121212211112212222221221212122112112211221121212222111122112211212222112212222112212211211212112222212212221222122222122222121222111221122211111212111211121111222111222212222221222121221222111112122111121211111222222122211121121222221122211221121122211112222112121121121221221222212211212212222221121112122212122112212121222111221212221212121111121221121222112121112211112211121222222121112221121112211121212112112211212112221212211111212111212212112121112121121212222222211111122112211122112222122111121221112122211112212211121222112122111222111112222211121122222212222212221121211111212121111121211112112211122112121212221121112212122122212122121211211221211222121111222222112222221122111112111211211112122221111211121222111212211111222222112221221212221122121212122212222111121122211121111212221222222121212222221211222122111121112121122211111122222211211212122111212111121121122222121111122212111222111112121222122212221221111221122121211211221221221221212122212111211111211221111222112121122122222112122122111222212211122211222212121211212222112211111111112221122122121212221111222212212212122211212112111122212121221221212222111222211112212122122111222121122222222121121121222211212122111122111111122122222222121121111112212112211111111111212221212221222111111221122111121122212112112122221121222122122221212221211221111121112211222111122211111122112222222111121222212211112121221121222221122212122121222112122221111212121111222211211112121212112221222122112222212122112211111211112111222121222212111111112211222221211211112212122121121122222122211122222112122122211121121211121122121212211111121122122122122222222212112212112222221221122222222212221121121212212211222122212111212121112211222112112212212221121211222211212111212121221112112122112122211122212212121111212112222121221122111222121122222211221112222122222111122112221112222111212212121211122122211121121221112221222211212121222122122222112112221122211211222211211111112121112121212212222212122222222221121212112112212222212222112112112122121122122212221212111112221112212111221112211211122111211222212112222122111211221121211122221221221222121112111221222221122222112222221122222121221211211221212212212121212112211212212121112211221211121122211112112122221111212121212112122221221211112111111211211112221122122122212211221112211111112212221222112212122111122111212221112122212121111222221111112112211211111211211222112212221111122212111112211122211211212121111121111212211211112221112111212121211212112212221111121122121111111122211211211221212211211111111211111122112121122221222112111112112222112221221121212211222112212111212222222211111112221121111222122112212222112122221121112122211122222111121212212212122111212221222111122212221122222212111221111112221122122212212222212212121112111212111111211121112111221211221112121212221122121211121112221221222212111122122121212221212122211121222111111112122222122221222122122222121122122212221222112122112121111122211221211121122212121212122221222222111121112222122221121122111122112221221121111121111112111121221121121211221221211121221112222111211212122221212212222211211111112221112122112222111122222122122112112211122122212112122112121221121111211212112122221212121212121221112122222111112222212121222121112112112222111111112122122112211222111121121211112121221211212222222222112111112211121222111211111111212111212122212121122211112122122112222221212222221111112221122121211122111212111211212121211111212122221111212221111221221212111112221222211222221221212121111122122212212112221222221111212212211212121121112122112112221221121222121121211122211221121211111221222122112212212211212221221222211211211121112222212222212222212212222121221112122222111222221122211111121111222112121122222122212112221121222121112211122121122122221221121121221212221111122212111211222121221222211212212221222122221211221211121212112122211121112122211122121112122222222222122112112122111112212111221111212112122212211111121112211121212112211221111212122211111211211211112212121112222221122212112112221111111212121121212211122211112112212111212122122112111122121122121112222212112122212121122122211112111112122111111212112121111212111112211212212222112121212122221222112211212221121211212222221221111212221221112212122212122122222112222112111111221122211121222222222111121211221112122122122211211121222112221212221222221112221222222212112211222212112221111222111111121221121221211221222222122211211112212111221112111121122111212111121111111111122112111122122111121211222212112221122211221222212111212121211212112121211221111221222122122212222121111222121211112211212211121112111221211121222112122221211211122212221122122122221221212211121111211211111111211111222222221211112211222122221212111121212212122122212211221122122112122221122111211121122212222122112112121222112212122222121122222121122122222121221111111112212222221122122221121221211211221221212221111122211121111122121112111211211222211121121212212121112211221122111212121221111221112221212212222111121212111121111211122121111222221222112212212112211212112222212111121121122212222212121121211112221212122222222121212221121212222221122122212122222211222112122122111221122221211221121111222122112111111211121122211121212222212211221121211221112111221121122121111212211121212111221122212112122122111111121112111121212221112211221221221122211222221212122122112211211211121121221112212122212212111112211112222122112122121221212111222111222222122222211222222221212121211211212121111122112211221222212211121222212221222112211111121221122221111222222212211211211212122221211222121211212122111121212211211122121212112211222212222122122221211112121111112111212111121212111211222111212212212121121122221221211212121221122112111222222212111122121121121122212212111211212111212111122112122122221111211211112212122121211122122112112121112121211221112122112121121221112122112212121211122112211112222121212122121111122122211122211221222212111211121211221212112211211112121221112212112212121222122112121112222121221222121221221121221212221212211221112122221111221212222211221122122112111111221222221222112221122221122111221122221121112121222121112112222122211111111221211112211212112111211222111111222121212221222222211212122222211221221221222212222221221212122121221121212222122121111221121112121112221212211112121211221122222211212212222121121121122122111211112212211211221112211222222211212212212212112111121121121222112122111122212112211112111112122212121212121211121222112222122121122111211211122211112112111212111211121222212121212211122211111211111112121112221121222221221222121112122112212112122112111122221221121112221112221212222111122112121121211211212221111111111211111212122221212212221212211222112121212112211111221221122112222212122111222212111221111111222121221111211122112121221221111212111112211221112222111121212122121121111212222121211212121221111112121122121211122222221222211112112222212221111112211111222122222212111122112122122111211212112112221221222211221222121222212211111212112221221111121222111111212211221222122211121121212222111121111111221111111211211221222212121221112212112221222122112221212222211221221222222211221122212122221212211222222212222222221111122221222122122111121222122212111122111211111222221211121211222121122112111112221212122111111112221211112112112221212121221212211122111121211121212112212212222121211122111211222112221222211221111121212222212211222111221222211122111122111112211122221211221121111211121112221211112221111121211112112121111211221212122111111222111212112121212122222112222211222112211211122112221122111212112111112122122111211111122121122211111112211112211211222221111222212111212122122122222111112121221222112111121221222111112111221111212111112222212212212112112111121211121111212222122111121111121222212112221211212212111111121221121211122122221111111121211212121121112221212121211122122112122122211211122112222112111212221122221121122212212111222112122221112111121121122121211212121211221112122222222221111112111122112222122121221221221122222211221121211122211211122211212122121112222121122112121212212121211221211112211212111221122112211121111222222112112221111222221212111111111122221211211112111111122112122111212122222112111222112222112111211121212111122122121112212222211221211211121121222112122221121212221121221221121122222112112211211112122221122221111112112122121112212111111211221122221111121121221212221121222221122212121212222122122211111212211221212211212111221112111212222121121211221111222221111221211222211122222222112221122221111121212212121111211122121111111122121121112122222111111111111221121221112212211111212211212212121222122122111112211111122112221222111112221112222221222212222112222122111112122212122111221122122112121211212222121211222111122122122112121212121221112222221111112122222111222111221212212211122122112112112122221212221212111212112222122121112111111212221112222112211121111211121112121221212111121211112212112222212121121221221221222212122221122122111222111121112211121112121212211121222212222222212111221221212122122111111112222111211212222121221221121121211111122111221212211212112122221111121222221121222221122112212212122212121121112112212121212221122211122111121122211222122212222221112122221212111111221222222122111212221121122222212112222222112221111121112112122211121212111112122222122222111212112212111221111222211121121112211221221122122222221111211122221221122222122111122111221112122211111212221111221122112111111221112221212211211211211212111222111121121111222222111212211212212212111111221122212211111112111211122111221111112221111111122222221222221122122222112211211121121111211222122221112121212211112112111122222221211212222112221121211212111111221211111112211111212212221112112211221221111212112122221111122212221111221121121111222112212221221112222121212221121222112112122122221122122112122222112121111122212222211111121211222222121122222111122221211121222111221212111122112211221222222222212121112122221112122211222122112121212212212221212222112111222112211211211212112211212221212221112121211222112122112211221121121111212212111121211112212121221111121221111122221112111222212211211222221211211211112221122122122212212111221222112112111121211212212211112122222212111221111222112111212222112121122112212122221222112122121111122211211212221212111211121211222212211212212112221211222112212211122212111111221212211212121211211221211212221121121112222111122121211111212121212122122212112112112112112222122112112211112222121221121122111121121212112121221112211122212221222222122211112111112112111212122122212122221111211122111212211222111221111122121112111121122111121222222212112222222211211111222221122122212112122211222221111112112221111222222222211222111122221222222221221111122211222121112111121211121222221122212211122121122212222211221221211111121211111222212222221121111221221121121211121211221112222212222212221121212112222211112211111111122122212211211111222221221212212122222211121122121222211211122211122111221212222211222121121121212222212122222221221121211111222122112211112112112212212122122112112112121222122221111221122212221212121111222122211112122212121111121111111221122211222121221222221111221121222222212221112121111121222211211211112112112111122121121212212221122122122211111222221111222221212211221112222212122112111111121222221111211222112211211111111122221122121121121211121112212111222122211122122222122222112112112211212111111111222122121111222111121111211211212211112121122211112221212122211211222121111121112221211211221222211111212211211122121112122122121111212221212122112212212221222111122211221111212112221121122222221212121212222121211122112221212122212111211122221111222212111122111112222222112212222111112221122112112212121211121211112112212212112111222211211211122222121222222221222211111121122221212222211221112211111211122211221212111212111221211121112221111112212221122222122112111211121212222212122221121111222211212222122221121122111212211222212121211122222122121221112122111122222122112221111112121212212121221112211211221222122222221112221211111121211212121112211122111212121111112221112121212111211121111122111222222222112212222121112222112111221121111111122112122112222111121121122111221121122222221221122112112122221222211122212222211222211112121121122111122111212211211111211122112211111221122212222221221121111211221111211122121212211111112112211222112221211112211111211212211112111222222221111222121112222212112221122112121112121212111212122222222121212121121112221121112222221121222122212222112111222212211211112121221212121112212112212212122111121212121111212221221112212222222121222112122112111112112211211122221122221221212212221122122211112111211211222121212112222222112112222221111221222222221211221112121122222212111212122122211222211222122211121121222112121111122212222221111112122111211212112112112212121122222121122211221211211111212121221212122112212212111121112212111111211212221111211221122212112222122211111111221111112121112122212212121221121221221122112122121111112121121112212112221211111112112221221222121122122111222121212112121211211222122221211122221221212121212222122211212112222122221112122211121112221111212121111112211221122111211112221121111121221222112112121222221212211112222221212112122122211212221111112222211112122121112112121212212211212212212222211121211222111212112112122222122111212121222212121221222122211211121212112212221112122222222111222222122211111112111121211211221221111212221111112221211211111211122212221222221112211111121111112111121112121122111122211212111121222212221212112122222111212112111221212222111121122211111111111221212121112211212221221111222211221212112211121222222212222221212122111211211112212112212212211212212121112211121212221212112122221112212211122121111112221222111121122111222221212122111221111122222211222122211221222121122121122211222112121221221121222121211222221222211111111211122111222111112121212111111211221112112112222212221121221211111112221122112221222211211211122211112121211111122122221211121122211112222121222112122211122111212112211221122212122112211121122211211111111221112121111111112112212121111211112122211212122212112221111112222112111211221212222112121111222212121211112122121211111212121121122222121222112122212221122112211212121211112122122112111212112212211211121111211111111211211211112111111212222221221221122221122212111122211211222221122212122121111111211111222112122211212112221121112111122212212112221222221221112221112121211112211222211211221121121222122212211122122211112122222111121222211111212221111212211211221221111122222221222121111111222212222112222222111111211212222122221111211121222221212222112222112211221122112122112111121121112112121111221122112221221222212222111122112211111122112221122221122211212221111212212122211122112212112121212211112122111122122221212121212212222222222211112212222212222122111211111122211121121111112121122112112112112221111211221211121121122122112121222221221112212111221112111211111112121222112212211221122112122221111122112112211221121112211221122121111222211121211121111112112211222122212122112222211111122112111211222212222221111111212111211112111222212221221122121221211112221122112221221221211221211211112222121212112221111221121222212222211121122212211211221222111221222111222122112121111122112121222111221221112212212211212212211121211212111211112221211121122222122121112122212121212212121211112211111122111122121121222112111212112111112222111222121112222212222122212212211111122112122212211122221122122111221121112222221211222221211111112122112112122112222211112221112121111111112211211112122122111222111222122121111211111212122112221112221112112111111122211112121212111211211121122211222221221221112121112212221211122221212112222121221112222212112122112211221122122211111112221111112111211112121222221122212112222211222122112111122121211111112111121112112221121121212221221122221221211222121111222221122211122122222221111122121121212111221222121221112221122112211222221221222212211222221122121211222112122112111111212121121212221112112121212222221122212111221221111122212112122112122211212122211211212221212111212112122221212111221121212122111222112111122211112122121121212121221222211221112212122211112111112122121221221212111122112111211112221112112111212121121111121221122221122121222221222111211222221111222112111111221121222222212221111111211212122221222122121221122221122211111222211212112221212121221221222221222212122211221122111112112112111211112112221111212121111122221221222111211212211211112121112211221221111211112121212122112212112121222221111112112112121212221121211122222121221111222122112212122212121112111222111112111122121122212122112211122122112122222121221121212222121221222212222211121122212121222111111122112122121212222112211212121211212112121112211212222121221112211122112111121121221211212112121212112211211222212211121211222112111122121212112211212211211211222212121111221111221111222211212221122111112212112112221222222112222121112211222221222111211112111112112111111221112222222122212112121112212122221122111221111111222221111221212121211112212122121122112221121212221111212112211122222111111222222212122211112122111122221111121221222211212221112222221111122211221221222212211212222211211122211212111222112112121121221111121121222121222112221221112112222222112111121122122222212221212122222212221221212211112111211111122121122121211111121111112212122212212121112222222122112122122222112111212211222121212111222221112222112222211212222212212222112112122111212221212222112122212122212111222221112212121212221111122211112111112221122112221221212112122211121211122222212111211221212122212112111212111111222122211112121121121122111211221111121212222212221212111121122222121222122221222212112221221122112122121122112211122121111212121122211212122121212211122121112221222211122211122221211111112222111121211121221222221122121112122221212212211121221212222211221212222111121221122111222212121122121222111212121121212221212111211112122222111222121222211222221121222221211212211111211121112212221211121222111212122222121222211211121122211111122121111122211221211221122221111212112221112212111211222221221121121122122222122122111222111211211121112222221111111211112112122121122112112211222211221121222122221211111112121221112122121111112221221222112112211111112222122222221112122111112221222122211221212212122112122112211111221212222211112111121221212121121122121221122211112121211211121122211122122122211211221122111221112222221112222121112222211221122121121222111222221212122111222121221221122212122211212121222211111212112111112222122122222212222121122212221211121212111211222222121112111111222222211111111211221211222221221122112221121112212221111122221122222212121122122112121121212122122211222222212111111111211122121111222112111122212211212111212122222112111121121211221212121122121221221111211122222111111121221122122111111221121111211112222211221112112221221122121221111112222111111221222221122122112111121212121122211122112121212222212221122122121212111112212212222121211111112122112121222122212111121111112111111211111222221222222221121122112211221111212211122211111221212112121222122112221112121112112122121122221221122222222122211211112212211121221112222221121221111121122212222222122221112211122221212122111211211122122111112121222112211112221222121122211222211122211121212112212122111111111122222221122211222212211111212112222212211122222111121121212212121211212212212111222121112221221111222212112222111211121121211122212122221112222122122212211122111212121121122212112222122121121222222111112122112212222211212121122222121211222211211121112121221211211221121221211212212221221122121122221121222211122121222111121122111112212121221121212122121221211112211212222122122121111221121222211112121112222221211222112121111212211211211121112122212112222112111121212112221112211211211111122112121111122221222121212212122212111212122121111111112212121211121212111222121112122111122212222212212121121211111112211122121111112211112222121112212122212122121112111212111122211121222222121212112212222121111212122212112111212121122221221121222122112211112212112222122111122122122112121222221111222111122211211212221222112121222221111222212112222222212112222121212122221211212122211112212111122212221121212211112221221221112121112211121122122112111221111211122112222121121211222121122222212111112221221212112212211212212121122212122221211222222111211121212112121221211211111121112122112221112112112212222112221212221211121112221211222112211121122122121212211222121122212222112112221111112212111112221212112111121122211122112111112121222221112221222121122112212111122121211211111112111122211121122221212222121112112222112221122111112122222212111111112222221122121122211112111121211122222222222122121121111212222111222222221211121212221121211112212112112221112221121211222111121221121111221121122222112121111212122111221212211112121211121221212222211122221121211121122221112221212211121112122111111122222112121211222221222121221211122111121211122222121212211222211211122222121211111121121121222212111211211111112222221222221122122222121112111111112212221221221221122121122212112222122221122121222221211112211111221121212121222111121211112211221221112221121212212221112121211122112122221211221112121111212111111112222122211121122111222221211221222112211211221121122112111212122211112112112222122121121122122112112111212212121111222111122122211111211212111221112112222212112111222221112211221122212212112121222121211121112222111212211222122112122211212212222112121121221221211212112221211122212112112122212222211221221111222211211111221112122221212221121222212212211221221121122212211111122212121212112122221221211111211112211222121111221111212121121221222111122212221221122111212122212222221212222112211121112211211122211111121212111221211122122122112111222222222221221122121112222211111221111121222212122212112122111111111122212221111111111111221222112111111122111122222211112222111122222121211112221211121111112222121222212112122221121212222222111222122212222112211211121211122222121222212122211222111212121122222121212211112111112221112222111212211122222212222211222111112112222121121122112212112122111212112222121112212212121222111111221212122121211122211222112211221212121222212122221221212121121212112212112222112121221222122221122222211122121112111222111111111122121122222221111121222122122221221122222212121221211112222211112221211222221122111122111221211122121112121221212122221221222212221121111112111121111111112111111111211211122112122122111222222112222212212112221211221112211112212212111221222121222212111112112221222212221121212222122111212211111222112222111121111211122122221112112121121121221121221211212221122112221111122222112221111212112121211112122111212111222222222222111221221111112111212212111211212112122222122222222121111112211221221112121212121221111221112122112212111111112211121212221112222222222111112222211212112212111212221121111222212211221221221122211221221212222112221112111111222121122122221111122222211211222122211222212112121111121122112112112222211121122112111212212111222211211122111221112121112221211221122112111211122212112222222121111221112111221111111221222221222111221211222221222112211212122112121211122112222112211122221222211212221211121222122111122212122211222112122212212112221121122222211112112212111111222121122122122112211111111111222221121212121112112111121211121212122212122212211211211222221121222111221111111112122121211221212222111121121111222211221221211222111112121111221122212112121211222212121211122211212212221121112222211222211112221211122221212222212111112112211111122221222122212212211122122221122111221122221111221111112121121221222222211122121111122211112111212112221111211221112111222221221212112222221121111222211121221221221211212211221122122221111221111111111221211211212221112222122221222211221121212122111111121221112212212211121221122221212121122221222111121111221212121111122212211211122111222111211111122211211221221112111211212112111121121222212121112212211121211222111221222112211211111212221122211122221211211112222111222221211122221221111121212122221112212122211222121121212112212221221122221211122121112211112212211221211222222121222122121211221222121121212112222222211222111112212211112212211221112212121111112211112111222211212112221221111211222111211221222122111111222211121211112121221122112121212211221122111122121122211112122122212221211122221111122121221112222211111112122112121222212122211112221212221111121112111221221222112222222221111112111212222121211121111122211211221122111212122211222222212111111121221222121222122221222221222221211211121111112212212212111212122112112212112212111122121111111121112212222111112122121222212122112212212122111211212121112222222212122221211121122221212221112112122212222212211111211221111211112211222211211222111211111112212111121111112121211122212121121112212111211121121222212122211221221112221122121111112211111111112121121221122211122211212221121121112211221212222221121121111221222112211122221211111212222212121222211121211211212222121121212222111212212112121122222212122111121221122212222211211111221221212111222211212221211121221211112122121221121111112121222211112121222121121222111122221122122221222222221222221122111221211222221111222222122221222111221112122212222212221112112222122222111211122222122221222212212111122111222121221211122221212222221212122121221122211211212121111211122112112111122222121222211222212211121121122221112122212221121121112211211222111221211122111221211221112222211112222221211112121121122121221112111221221121122111122122121112221112212122212122221121221121121121112222121221211221211221112112111221112221212221212212121212212221212122211122211211111111221211211221121222212211112121112122221122212112221122121121122211222222212121212211121121222222121121121211222112211112221111212122112221111222212211122221111121112111112121122212112211111121211111122111222221122121211112222121211112112121121212111121212221211111222122211211221211122212111222122111121112211222112221121212222112211212222211222222121121221121222221122122111112121211222222111111221211211222211222112112211122112211112122211211212111212211212122111212111112111212112112111211112222121111222121212212222111122112121112222122122222122121211222111111222212121122122212222121221122121212121112222221221211212212211121222222121221122112111221121211122122121112112212112112111212121222112221112122112221222111221212111121222212121222112121121121221222212221111221212121112221122122112111122222121111112121111222112121122111212121212211121122211121212112111221111211121111221212121122211112222221122112111211222211121121121222121111222221212211122212211111121212222211112211212122112211121122212121212222222222212221212112221211111221211222211121112122111212112122112111111211221221212122121211112221112121111112111112221221222111211212211121211122212121211122121112221112112111111212221121212212121211112222212221211112121112221122112121121211211222112121121112222111222212112121222111211112222111112222221221111112112211211222121211211122211212211112121122122212121112212122222212221121112121111222111111211112211111111112121111112221221211122122211122121111121111112222122221221212211122112122222211112221111211111122221211222121121111121211121121122212221122122111211122112112211112121111111212212221121121222221111212212121112111222111221212212122121121121222122221211222121212212222112112122221122211222121111222122212222221112212121221212121111221111122221211221112212222122212212111212121112211211221222222112221121121111222221222222121111211122212222222211221112221111211222112222221112221111222212111122111222222221222111221211211221111221122112112112111212211212211112121212112111122111111121212211221221121121122212221112121121112112212212221222112111122111222112221121221121111121122122121112111222222111221122121122212221112222221122221121211222222221121211221222111221212111222221211221212122212111221111121112111222122121211221121212221211111222111111122112111212111122112122211221212112111212121211211211122122222122111121121122221221222211112221222112221211222121211121121121221112221111111122111212211222222222212211111211121211112111211212212112211221211112112222222222111122222121111212211121121111212222212211111111221212121212222111111222111112112221211212112111212221112121221122222211222221111211211112221112111222111211222211111212121111212112121221222121112112122112121222211122212122221211222222121112121121122212221121212211122121111111211122122112221121212211122111121222112111221122222211222222211121211221112212221212222121211111112222122222112111222221121221222221222221211121111122221122122222221112212111221121112112211211112111211222121121222122212111222212221111211212211222111111121212221111112211122122212212211222221111121212122111211212212122111121121111122121222222121221121122112221111112221112222111222112222112222121112112211121221122122211121122121122221112112212111221122111212122111112212222212122121211221222222222112112112222222111121222212211112211211122212221211122112212122112121212211222121211111212222222222122212121222222222211211221112122211122222111212121211122211112222121221122222112111212121122222121222122222121211221221212222111112211121211211211221121121222212112111222222121111112211111112212112212111122121222212222221222222212112121121112122112212112221212211221111222211221211221222121121111111111211122212122112211212112122121222221211211112112212221221222112221111112222221221121122121221211211211211111212122212212111121222111112112212111111211221112221212112221112111212221111222111112212222222212211112122121222122211221211212221221112122111121121212122111121111111212212121212112221122111111212122122122222211212122111111221221111212221112122222122221112112212122112212122112121211212122121121222222222212211121112111221222122112222122122122222111122211222212112222222112111121212121222122211212121122121122121121112122112222111222211212111212112222122212112121211212212111221222121221122212212211211211221121222122212112212122212211121122122112111122111211121111111221211122111222212121121222222111121221122112111112222211111212211122112212221221222122212111121211112111111122111211212222212222222222222222122121112222221221222212122112211211212221112111221112122121121111222122112211112111122221221122112221212122111221112112122122112222112221122122112221121221212212222112121212222122221212112112221211122122122121222212112212222121222212221121121222222121122112222221122212111111121111221221211111111121222222121211112221122221111212222111222111221111221212222112211121211212122112222222211221112122111122112211121211111112221211111222122121112212112212111211211212212211221222212121121222122121121212121112211222122212121122111122121121121112221112211211222212122111121211212211212121212211111112222222112112222112111211112212112122112222112211112112221121221222212222212212112122211221121112122112121212211121112222112112212111121221222111222212121121111121121221211211122221222122212112222112111222222221111121111222212121121222212221212211122222211121222121211111221222222222212112212222212121212112111212211121212222121122222122211211111211111221211111111111221121221121222111111222122211212211211112221112122222111211121122112222112111221111111121121211111121211111111122122211121221222221112222111211221121212211121221222212222122111211212211111221212112212111121122221122111121122122211122112111222112112122212211121112211112121221112111211112211221111221121221221112222112122121211211211222211112222122111112122212121211121222222122221221222221221111111222222211221212121122212222111121211111112111221122121212221121211122111112111122122111121211121111211122122121212211122112212222112212111212111121211221212111222221112122221112112122221121112122111211211212111211222121211111112211111211112222111111121121221211112121212211221121112212122122111111121222222222212221221122111222212221121212122222122121222122222121111222222221221221212112212221111112122122212112221211221111121122211112122221111212221211111111221112222212211221211211222122112122221111112122212111221122121121121111221221112111122121211112112111221211211112221121111211122212222211111112211111121122221121211212122222212212212111121221122211121122111112122221222211111212212111112122122121122122211212112112221112111111112211112112111222122111222122222122221122222221122211221221122121212212212221112111122211112221211211111121121122111221121122112122121111121122211111212111121212221122221112211211112121111111112111211212122121111121221212221212121221212221212211221112111221122212122121122212122211221112222222212211222221221212112112211111121221112212211221222212122211122212121121122111211211122221121212221111221112211221221121122221121122122112211112211222221112122212122121112111222112212212221122211221111122221121211111221221221111212121111121222221111212211111112221112122212222221112211221221111211212221121111222121122212222112111121122212122222112212221222121121212222222222121211121212111211212221121211212222112121112112122221111111211211111211111112222222211222122111211112111221121211121121221211221222112211112121112222122221212121121211212122211111111111222111121122211122211212211111222112121111121111222112111111222211211111122222121211111121121111122121221221211222122211111221222112211122221222112221122121112112111211211212111221222221122221121111121212222121121221112222212222122222111212221112211212112222111221212111121111111222221112221112221222221221221221212211122211211121221222111112221211212221222111211221112121121212112212212221111112111122222112211122212211211211221212112221222221222221121112111212212211222221121221211222111111212111212222221212122111212222212212211121111222211222121222122111122212122211121211121122121222111121121212221211121212112122212121211211121211122121112121211112121212112211122212122122121122122112111221221222221122122222211212122121222222112112112112121211212122122122222122212122121111212211211122211222211121122112111122221211222122222112211112212111121122222111221121212122112121222211222111122112121121222222112222212222222212111121211111212122121222221222121111112121212211111212121211222221221211211122122111221122211112121111222212122112222112111112212122212221212212212112111122121222122212221212122222222222222211211211212221221121122222112112122121211111222212212211112122112111221121121111111211211211121122121112122111221111112111211222222212112112112212211222111212111211221211222112111122121111121221221121222222122221222112112221221222111112122122112112121111222222222221111221121211212112222121212111222122222222112111212122212221221121122121121121111112122121112221112121112122221122221121111222122211122221121221121221212121112222112212222221121122222121211111221122211112112111222111121121222111211222222212111212121121112221212211222111121111211121212211222121111122212112122111111111212121121121122122112112221111221221112121121212122211122122221122122111221121111221222221121112212211121111221122121112121122211112222211221111121211111121222121112122111212211211121112112212121212221222121111112111212222212212211111121112221121222111222221122221122212111121122221112122221221122221212112121212212221111221221212121211111222121211222122112112111211122112222222221122211211111221212211211112211221221121211212221221222112221112122212111211221221212122122111121122112222122222122121122121211121121121211212211112221121222221111221221122212211211112112221221212222122212111222112211122221122122122122211112212111211121212112211112121212221212221111221222121121222221111122211212112111212121222121221211221111121212212121212122222221212221211221111211221121221212122212112111222211112221111111211121212112111212122211211111222221221211121211122222221212121111122222111211221221112221112212221121112222112111111212222112211122222121211221222112112111222112221221212121212111211112122211111222122122112111111122222212221221212221222222211212111222112121122211112111122221112112112121121211211121221212222122222212111121222211112112121111222121121221111212221112111222121112111221221221122112121111222222212122222211212222221111212121221121111221222122222212112112211222212122111221121212111122112222121211122222222121121111222112221212211111121212121212112121222122111112121122221211122112221111221212121122222122111211112122122221221111212222211111222222112111122222211222211111222221121111222111121211212212221211121121112122212212211111122211121211112212111212122121122212111212212212221212112122211121112221112211122122111121222122212122211222222221211221111212212121111212222121212112221212212122122112111122122111111212112122111111112122122212112122122212121212211122221222112111211122122221211212211222122211112122112122111212212121111221212222212212212222212212211222121221122212111222112111112222111112122211122222111111222211121221122121222111122221122111121221212121121221222121211221121121112212121211211122211222211212111211112121112222112221211211121122222221222112211212211211112122221212221211122121112112212221212221211112222111221111211112212212111122122221111121212112121121222212212111112121221111122111211221221112221211112112121222221221212221221111222122221211122221222112212121121211122222222212112111122122111121222122122121222222222212221122112212111111121111222222212221211212121221121222221111122121222211111222222121221211211122121222211222122211111122112111221211122121221111222211212112121211112221221122111122112211212121121222222211211221122112121221222111222121222122122212112122211221222111112122111112111211211112221221122221112111221121111212121212222211211112121211122112111121111212212111111222221122121222211212211112111211112111121112221122122121112121112112111211112121122112122122212222222112121121121121112211211121212221222222222212111211121122121212222222211121112122111221112211122111111122112112211211112121121112211221212222121221222122212122111221111111121111221211111111112112221121112222122121222111222111221111222122122221121122212222112212221112112112211112121121221222121112122211222221221122111112221212222111112221122212111121222221211211212211121111212122121221222122222112111112112122211221221221212112211212222211222211222112122221112121122112212221221221121121211111122112121211122111211121122121111121221121122221122221112112221221122122212122112121221111222221212122211212222122222122221212122211222111122212122112221111111221112112222111111121122211112211212211111111212112122122222112121222112112222222112112122222212222111222122222222111222211211121111222212211122121222112212212121112211121121211121211212212111222122221121222121211221221211111222111112212221222122221122122221112222112221211112121121212122122112212221112222212211122122112121211212121222222122122111112122212122111212122112111122221212212212121112122212121221211221222212212121122212112222112111112222221122112122212221121221222111211221112212122112212122221221222111112211221221211111211111221122221112112212112222111112222121111221222111212111211212211111221211122221222111221121121122211221211122111222112111211111121211121111212122212111111111121122211111222122212222121121211111111221222222212122112211221111121122211211222111112121112221212221211221222222212212212121212122212221121122221112111121111221112222111222212112221112211121212111212211222221212121222221221211112111212111122112212211111222221112211112222111122211222211112111112212111212111221121222111221221111211212121211212221222121122112212121122211111121222221221211112221222111212121122122112122112222212122111112222122122112222112111211221212112222221121212212121211122121211221122212112222111212211121212112221221122222212121122111221221221121221212112122111221222112111222111111122211111221111112211121122211121211222221222111211121222221222221212212221122111212221111211111222122121211212121221112121112212211122112221122112211211212122211121212111122221121211112222121211221212211121121112122211122212221122212212221211111211122112111122112222112221221112222122222121211221112211211212112221122112111221111222222112222222112212222212121111121121221221211212122211122221122212111221122111221212211211122122221212111222121112221222112121111121121221222111121121121211121212222222122212111212111122221222212122111111211122111222221111212211221122122211222121111211212222121111212221121112211222121121121111111121212121221211221222122121212222221222122122211112211122212111111122111211112112212112222211221222211122112111121121112121121221221221222111112122212211111222122221112222122222112222112211121211212111211121112211111222221212221212112212212211122121212222211122221221222122221121112122111212122111211121122122221122111121122222211211122222122112122121121122111222221211221221111111211121211212212112221222221212122121111211122112121112121122112221221221121112222211111111211222222121121212111212112222221112221221112122222122211121112122122111212212211212121121121122212222212212122122221112112122211222122121222211112111122111221112211212222212122221211212221122112221211212211221121121111122121121211122121112211122221121111111112211121212111111112112222222111212212212122112211222121111121211222212121221111222111221122112122122112221211111112211121212112111221211122211111222211221121211221121222211122122112221122121112211111221121112221222222222222222112112112112222122121212111211212111222121112111112211122122121222122112212121122111111222211122121212222211221222221112222212122112222211211112111221211122122211112121122211111122122112112212111211221112211221111122112111212111121211211111112112222222212112122211122112221122122211121112121212211122122112212111211112122112112121222112222122212112211222221222212111221212122122222112221222111112122112222121212212122111221221111211122122121212211222112222212211211212122121111111112121221112112121221112122211121222211111112112212212112221222111211221112111222221212212221222112222122212221121212112221111121122221111221211111122211122211221222111222122222122112221212111211222121122121211112122222112221112211211212112111221211112211111211121112111121121111212221111222111222111122212121121111111122111212211222212222122111221112112212121122111221111111122121212221112212212112112221112122112211221122121212122222121222221221212112211212121121221211221212221221211122211111221212221212211211112211122212222122111122121121111112122211121222212211122122211112122111212211212111222111211222221211121222211221122121121212112112221222211212111121211222221121112222121221122112211112112122112111111112222222212112121222111221212211211121212221212212212212111221112222211221222212221212111222222121112112111121212121211122121122121112121122111121121212212211221121111111222122221211221212112212212121212211221221111111221112111211122112122111111212222122222222221112121112212111212212122211121211121212112221121121122121222121221222111121122221122222211121121221111122212221211111212212211212212212112112121211212112111121211212111211212112212212121211212211211111112211112222122212222221121112111222122212221122222222111121211212221121221212112111222222111122122111221221221111211122121122221221222112121121211222212111211222221221221122222211111122111212122112122212212122212111122222212112122112112111212122221121211122112212212222212111121111111212212121121222122212111121221122212221221112111112122212222111111222222112111112121221221212212112221222222222211121221121121211112122212121212121212212212121221211222212112212222211221122211212221212212222112112111222211111222112211122222211211221121112222121212212122211221222221121122112221212212121112122221122212122221112211112121222212211111122112211221112211122122212221122222121222211222121211112111211212122121111121112221111121112111112222212211211122111121222221222212111211222212222221112212121222112221221211212121211111212222122212221221122212122212212112222222122122122221112222211211121212212121222211211112211221121212221221212211111222112112221222222212212121212112122112112211122211121112112221211222222121112212112112212121121211121121221222221121221121111222111222222221112122211121221112111112222111222122222221212212221121112121121212212112122121221112221222111222111122112221112122212222221111111121112222121112121112112222121221121112212111112222122122121221212122212222111111122122212211122112221212212212221222221221122211112112211222222122221122112111211112221211111111221112112122111111212112111212121121221221121111222221221111112212211212111121222121112222112121111221121111221112221212221122122111122111212122122121122112221112222211122121222212221222212111122211212222212121122222122121112211122222212211221112111111222221222122122111122112112111221122111222212122121221222121112212211111212212122121222112112122112221211121121112211221221212112122211211212221111111122112111211221112222112122122112211212212221111211222122211221212211112122212111212122112122121121121112121122212212221122111111211111111212222222122121111212221221112122111221211222211211112211111212112111211122111111111221122211122211221222112221121111122121222211111122212222121221111111222111211222221121122221211222111121211221222121222122221211112121212222111121112211212112122111111222122111112112111111111222221112112222222122222211122222122221112222221212221221112122121112211211221112222122112221121211112122211222121221112111221111221122212122222122222112212221211212112222222221222222211122211122222121211112122211112122221211122222111122111111212112212212222121221222221221111122122122111112112211111121212212221221222112211111121212122121211112212221112212111212112212212122121212121211112211222112122112122122212221121121221211212122222122222122112122122211122122222111112111121211221211211121122221221211212212211111212222212222111211111211212222111221121211111212111121221112222111121111111122121221221112122122222122122222111121211111221222122222112222112211221121222122112212112222122112121111122122212212221212122121211112121121122211112222221221221112111212221222222222212111212122121221222222221121221121212121211211221211121122211211122122221212211122222211122112121112121112112122221122112221221121122222222211222222111222122212211211112211222112221222112222222211211111212122222122112222111111111212211222122121222222212211222221222222222112121212211222111111211212221122221121212211112112221212111222221111222121112222221122222121211112211221122122212222222211121121121122221211112212212111222121212212121212122211212111111121112122212221112121221221112212112221121121222212222121211111212111112212121212211111112212111121222122211121221111211212121112111111211211212211212222212212122212121222221221122212221121122211222112111111111112221222121212112221111221222122111121121212221222122122221222111121221112121222112221221221111212112211211112212121122211222222212112112221111112222221211211112221122221112112212221111221221222121122112112221222122121221121111112112212112122222222222112211111221212121222122221122112211221222122212111212211221212112112112112212222122121211211211212222121112111222122222112121122221221212222121221111211112121122111212121211112122211222121211122111212212222112211212121122111212121111211212121112112221212111222222111212211222112211221122211211111222211221122212112121212211121222112122212221222111221222122111212221221211222122112211222111222111211212112111222112212112122122212111122111212122111111121211121111212221212222122211222112212122221211222211112221112122211221112111121211211111212222221122122121212121111222212111221111122222212221212111211121111112121121221111112211222121122122221222122112121122122212222112112211111221112222111221111122121121112112212211121112122211211121122212222122121221122122121111112211122221121111212211222121122121121122122122212211112211111112221121121211212221111112112121222112111121221221211112121221121111211121222211111121111111212211212111112122112211221212212221122112222111121221221122122111211211112222121222222122111112111222111222221112112111221212212222211122222212222211221121221212211111222112212221221211211121211121211111111221112211212212121122121221111112121121212122122222111211111122122222212122221212211222221222122122121211121112221222222212212112211212122121122222221112221211212122222112212211122221212211122122212211111221111222212211222211221121122122222212221112112111122211222111221111212222211111122212122211222211222222121111121121212212212222121222211212111122222221112221121221212112222222112121221211122222211111112121111111122111122222111121221111121212222122112121121222211221221122111211121211211111211221221222222111221212122222221122212211211222111222111222212211212111211111221111211112212221111112121112221222211222111111221222121122112122121111121211211221211112222212221212122222111211111222211222121221122122222221221211211212112212111211111211211111111122121121222211122122122121122111211112111212211122211122212212211211111212221121212122211112112111222111111122222222112112121222212111112212212222222121122121211112222122122121112211111112221122122221121221222221112211121222111122222121222211221121222121112212111112112221112121222121112112121121212222112122111212211122112121222121212212112122221212111112212111222111222222121212112112111212222122122111121121121122121211221121221212211112112212121221122212112211111112111222221211221222211221211211211221212112212222122121221222222121122221221221222211212222121121211122212222112212121111122121211121221121222222221121111121122221112122221111221221121211211121111111222222212122211111212121121122222122122221212211222221122111111112121111122211122222111111122212221122121222122121211121122112212212112122212222122121122111212121112221222221211121211122111212112222121121221121221222222211112121221122112212112221112211112112211212111121112111122221221221212222122112122122112211222111121222222221221122222222122121211122112122221221221211222122211212221211112222221212221122122221211122222221222112111221212212211112222221212112212121212212212211221122121221121111222222212222211222221222112222211112111211212122221121211112221212121221211221122122121211122111121112221212121122221221111122221121221122111221212221222111122121122122222112122222212222121122222112221111222121221222111112222211212222212111121221211212212222111211121212221121212211222212122122222111111222121221212122221121211111122112111212212211121221111221222121122212121112212221121122111121211212122111221111212212111221121112121122122211112222111222222222211112221212211121112122112222122212211121212122122121121212212221112111211112111122121211212221111222121122211111221212222112212212211122211211111122222221111111121111212211122122212222121212222222222212211212112122212111121121122112212221212121221112111121211211121111111222221212111122212211221121122221222221211122122112111212212212222222111221111222222121111211221211121122111111122212112121222222222112112221221112122121211111212111211122121221122212112211111221221112121222122122221112212111212112211222212112112112212211121212112222211112212122221121222111111122122222111211112221111122122212211111211112221112211212211221222221111121112211211211211211212211112212222112221221222121112221212211221221121212122211112222111121221221212222122121122122112112122221221222211221122111112122211122212111122221221222212122222111121122121121222122122212211112211111221112222212122122222211221222122111122211111112222111111221111122212121222112222222222121122112212122111122122122111122111221121211112121211112111112222112121112111222221211121212122212111222112111121212221211112121212111222122222112121122211221211122112112112112221212222211112122112221121212221212112222221211122121112222221121212222212212121111222121122211221122222211212212121122122121212112211122211222111212222122121121122222212111211212112112112112122222221212221211222111221112221211222222221212112111211221212111212111121112221112112221222122211221212121112222121212122112111222211211111111121122111212121112221221122121121221211122222211112221211221222112111121122121212222121122211211121222221221212112121121211212112212122212222122221221111212112212212212211122222121222122112211212122221221122212111112122121111122112211211222221121121222211221211112212112122112211211111211121111121122121221121221111121111122121222122122212212221222221212122122121211111121212221212122112112211221121221122122222221122121222121111212221111122211122121221211111121122222212112211112222111212212112211211211212121221212122222222211222122212212112212122212122211122212121112211121112212212122212211121122121221222121111121221122211122111211212211121122122112112121212222112121122222112111111122221112222111212212112221112122212221222211111111112211122222121221122211212221122211222111211111222121122111111222111111212121221121221121112222212212211211122112112111221122112221211121221221222212122112221121111121222112212122122112221112211211112221112222112112212211221111122222221121112221211221211121122122122221111221222121222111121121212222122222222121221212212111122112111112221212122211211212221121222121222212122121212112122112121111222221121121112221111111222211111221111222112221221212112121212122111111111112121222121112111221221221111212211122121111112121112111212112112212212111112112221111122221211222112112222221211212222121122122111222222212122221112121221222121211122221121211212111212212222111222222121212211212112212111112221122221111221221212111222222111111122221222211122222222122111221122122121111222212221121121112221121211112211211211212111122221212222211221121221112112112211121111222122221211112122212121222222111221111211121221221112112222212221211211122122211122212111121122121111122221111121211121121211112221212121111121211121122122112112222112112121221221212212221112222222121222211211111212221212111221211212221122111211221222111212221121112211221121122112121211111221211122111122212211112221222221112111211222222112212112211221212121111211212111112212121222211111111222111221112221221111221122221211112121112111121121122112211211121221122111112212122112212122122112112111221122211221221112221111122111121121222122111221211122111121122212222211122222222222222111122211111112221111112121222111221121221221122112121122121222112222222121111222221212221222221111221211122212121212111121221112221121111211112122122222111221221112111112211121211221211222121121211222122111222212222222121211112211122222122122122212211222111122212111212112212112121212211111221111111222212222221121121122212121211222122122122111112212221212211122221121212221212112211221122221211221222211121211122211222111122222122211222211111111111222121111212121212222221222112112112112212121121111111221112121112211122112212211122122111211222112122221222221211211112222111211211211211221121211211122212212112121222222222212112222212122221112121112211221111112112122122212221111111111122122211222112112111221221222212211211221122122111111121111121122221112222211211121122212222111221111211121122112111211221221122212212211121212222222221222122211121112212122111212221212122111221112121121221121222122221111211212122222121222212112211222211221211111122221121121121211121221212212212222122112222112212221121122221122111211211111222122111221112212111122121112222222221122212122212111221212111211122122211121121121112211221112222122112222122212221222121222121112112221122221111211211211211212121222211221121111211122112212222222212221212211121111212221221222112212222121212122121112121212122221112212222121111122121121111211111221121222212112222121221112111122222111122112212111112111211111122222211211211122212111222221121122211212112211111112122122222221212221222121121111222112212122112222112212121111121111122112212222111111121221121222112212221211122121212122212211121122111222121221111121122122211211221112121212222112221122212212222122212111112112222122111112111212221122221211222221112112222111222121112111122221111212112222121111121222111111112111112221212122211222221122212222121111212211211221121122221222221112212211212222111212212111212121111121221111211122111112222122211122112121111121111222112221212112111121112222112222111111111221122211121221112111111212112112112222222211121212212222122212221212121111122111112121221121221212112211111222221222221222112111222121212112212212122112121222212212121212112212111212211121122112111221112222111211211111212121122122111222221221222211112212212112122221121122222221221112121212221111221122112122122111111122111111121121221121222121221121222222121211112121122111222222121211212212112111211211121221121222121221111122212111111221222121112211121221221211211211211112221111121122221122122221121221222112212211222121221122111112112221222112212212222212111112112121121112112222211212121221122121111111211111211111121122222122112211212112122112212221222121121211212222211212222122111222122212212122111221111111122122212221122121221222122121221122222111112111211221112211222212212211122211121211221212112121112121112121121222111211211122121122112112221111112111221221212111211122122222121212222222222212111212221211111221111111122121221211122211221122212221122222221122212111121212222111221212211111212211111122211222212212211222111212222122112122112221111121121212212212122212222111221212222121212121221122222212221211112111111112112211212111111122212222212212222211111221122111111212121212122212212212122212211212221212212122212112221122121212221222112212121212121212122212221222111111122122222221212122112221112221212212221211112211212222212112211211221212112222211121221221212121222112122211111222111121211112122121222122112121222112122112211221212112122222112211211121211112111122121221212212111122112112211112121122122222121221111112111221122212122112122121121112112122122212212211112112211111122222111221211111212212211121122121212111211222122112121121221112222221211222121211212112212212111222122111222111211112221222222112211111212221221122111112212111212121122212222222121222122211112112222121122112211122122112221111222112211221212122211111211112122212212211111222222221211211121122222222211221221212121111212121222221211212212221121222211121112221111212221122221122211212112222221222222121112211121111121112112212211122222212122211212221122221222222221221111211222112122212211222112221111112111112112212221222112211212121121122122221111111212212111221222121121211121111222212122212221222112122221122112222112122212211212122121112211122122221112211121212211221222111111222121222221221112221121212121222221111221221222221211211111112111212221121121222212112122112122122111211211111112222121212212221122121111111222221222121111221111111121221122211212212221112222121211112111221112112112112121112221112222122221121211212221212211112122222121221112221111211222111222111111211122222211121222221122222221111122112221222211121221212111122121112111212111122112111121221212111221121121221121212112111121121211112122211111211222211122111122222222211112112121111211122121222111121212121121221212212121212112212211112212111212111221112111221211111121111222211121211121212211112212122112111211112122211211221121122221112221211222212222221221121222121111222211221212122111112111122121111222122112112221121121211222112212121122121221112112111211122111121112121221121122212222111222221212121221222111221122121121211212111112221112212212211222112211221121222212222121212122221221111112112112212211112121121212122222122212221122221121121211122221211112111112212122122221122222221122212122111121121111222121222122122112122221121211222221221211221222212112112221221112212222222212211222121221121222112221222212111112121122211121212112111222122212212211121221111221121222212122111221121222112121111222222121222222212111212112111222211122112221122122121112111121212112221111111212121122121122111211111121112211211221211122122111122111221221111211112222121111221211212221112211112112112222212122222121221112212122222121111222121211222111212121112121112112221121211211212222212111222111211211221212222122222221222121212112112122212111122122212122221212221212122212211121111122111122111221211121122211121121112112112122222222222112222212222111222221121112222122122112221122211111221211222112112222211211221112112121211222121121112221121221122112211212121121211111212112211112212122212221122221212122122121112212121121112211112222121222111211121212122122222221222211222121222112112121112121212211112122221111111212121121111211111222112112121221222221222112111111212111212211212121211111212212122221222222112112122111221222112211212111212121121211222121211111211222112221211111121122111211122212212221211111111222111212121111211222221121122222211111212212212222211122212121222112222221121122122211122211111111111211212211111121221122212122221112212222212122221222222221111121221122112211111221112212111112112211211221222221122121211212211121221121222211222122222212211121111111112111112111212222112121211122121121222211121221121222221211121212122221111111221112111211122221112112222112222112111221222112111212121212111122121221121221212121121212111221121121122211221222221211111112212212111212111222212111212212211212221211121122112122212112212211212112111221122211121112121222211211121122112212111221211121122222212112211121111111212222212222121222121211121222211221111122221121111222122221212121122111112112111222121211112112222112122122211121112221222122121122121221222111111121121222112211222212111121221222122122121221212222221212122111212122221211211211212212222222122212222212111122222222112112221221212211222122121112211111121121121221111121221212221211222212221212112221111112122211211212221122211221221111111122211121112222121211122221122122122112211111121122112122121211212222222121212222122111221221221121211111122221211212112212122211111222222112221221222212211211221111112122112211221121212211221212122112112112121121111121222212122221122112122222211121122222221221221112212121211221122121222211222112211121112121211121221221121121112221111122211222121111222111121122221111121112212221122122122212211212211111221112222121211212121111221121211111221122221222211221221222221222221212211212212222122112211221211112222121121211212221111121222112121221111211122221112221221112222121122222112211212212221122111112121221111221112222112221112112211111212211121122222111112111111111221121121111222121111112111221111111212211122222122121111211211222122211112121222111112211112212121112222212212212111222122122122122122212212222221221222121212221212111212211112212222111121122221211122111211221211212121221222212222121211121211212211211111122211212112211111221222121112111221212222111212211121112122212111121221111122111122122212222112211221112112212221112111212122212222222111111222112112221212122222212122121222211221222221222112222211211222122111122121121112111121212122112111212222212111221122212121111221122111112112122221212121212211112212112111212112221111121211121211122221212112221222111212222112222212112121112122221122122121222121221111222221211122221121112211121121111121222111211122211211122222222212111212212111112222112221211222212122121112112112111222212221111222121111121122212222212211222111111112112122112112122222122121211212111111212211212121122111121122121212122121211212112212122222211111122212111222121212121222121111122211211112112121211211111121112112211112221212222111211121121112211221111112211221221122212212122112221112211121212121212121122122121122212112121222111112111111122221111222112212212212212121211112211122122122122111211121121121221121212222122212121221111122222212211212222211211121112112222221122111212212221212112111112112112112112221121211211222211222212221212121111112111112222121222221222112221112111122122112122112112221212111111221212121212222122212211111221221121112111111222221112222122212112212111121112221121211222121111211211121212221111212211211121111111221122122111221211222122211111222121122112221121211212222122121212222122211222212112221222122211122211112212221121122221122112112122121222222221121112122112221122221221121122222221111112221122122111112221212121112211121111121112222112212211111122211112211111111211121112121222111221211111212111111111112112111211212121111211122222122211111222112111221221121212112222112122212211121221122211111111111111212121222112221112121122122111121211212222121112112222221112111221221121221112221211111122112122111122112211212122211122122111122221222221212212111122222212122221112111121122221111121122211122111121221212122121122111122211112111222121122112111112212121121211122112112111112212111211111221122121121121211122221122122211221222122122112111112122212112222111221122212211121221111112122122221221121112221122221121112112221122111121121121221211222111111122222222222122121212122112112221112212212221222111111121111211121111212212222211221212112222211111212211212121212221112112112111112212222122212121121212222211222112211121222122112121222222122121211121211221111111112222211211222122221222211222121122221121121222122112211212222111111211211222211111221121221122122212211121211121121211221112221212221111112212121121112221121221211111121222111112222111122111112121121222222211221222212221211212211211121112212121121122112212222221112221211122122122111122121212111121211112212122222111222121221112122122122122112222221111222212122121111111121111111112212122121211121112221121121111111111112111221211211222212211112212222122121221111221221122121111212111112121222212212211111121221211112212112111111112122211222212222112111121221211121122112211111221222121121111222122112221112111111121211121111212111222211122211122212111222112122122211121212121112121111211211212111111222211212121121122122112221222121221221222211221222122221111211122122122222122211121122221121212112111221221212111112112121222212111221112221211221212122121212212111121111221111221221112122121122111222111121111211221112122221211121221221221122111221211122221221221211212211222221121111122212222112112212221112222212222112222222122111122222211122112212211212221212222121111211212121221211221221221222121111111211121121212121112121211211222221211222212112221211212112212121221222111111112211211112221221212111221111222121121111222212211112111212221222211222211222222211211212211222111211221221112221122121112112122122221121211222112221112221121112122121111222222212212121111211122211222112221222112212211211211211122222122122121122122121221212112111221112221111121212112212211122222121221111122111122211121121212122222122122221211112112222112221222221122211211211122112111211211121112221222212221221211221221221111111222111212211211211122122212122222211212111122212121111111222221112122222212211112111211122211221112121212121222112122212122211112112121112111211111222121121112122121112221112222211222122112112121222222122222122221121111112221221121222222221211121212212221222122112121121212222212111222211222122111222121121111212121221212121212212111112221121111221111211211222212112122111222211212211211222112212221122111121122222122221211122112221212221212112212111221212222111222212121211211211211112222221111111121222212221212221121112211121111212122121221212122112111211211221211112222121111111222121222212111212212222112222222222222122121112121122212212222121112122212111221112121111122121221212222222122212221121211222222111221122112222112222221121222111121221122211222221212121212121212212121111122122221211112222221122122112211111222222122211221212122221212121121212112221222111212212111122221112111212221212212212222221112212221122111122221221111221212122211212221111122112211122112212211121122211112111212221121111222221212221212111112212212222222212222221112221212212112111211111222212221221122222222122111221222212211112211222211212121112212122122112211112122211212221211211211121222121121221222121112112122111122212221121211121221221221211211121211221112112121121212221112211111212222221111121221211222111112221211112111111111222221121212121112112211111221222221122122222111121222122121221122221121122121222112112121212122221111111121221212121121211121221111122122112222111121122122121222221112111112221122212212222211212112112211212112121222111111222212221111222221111211221212221121221121212211222111212121222121112111222121221211221111121111221222221212221121222111221122211122112122222222211122121222212111222211121222112111212222122212212122111122111122122112122121112121211121111211222122222212121221122121121211112211112121222121212211221111111221221112211222222122122122211221221121121111112221212111222111212221211212222221122222112111221112112221222122221111122211222221222221222111221122122221121121221221222122211122112211211112122221211221122222212222212222222121112112212122112112122211222121212122112112222211212211112111112112211121212122221111121221222221112112122222122212222222211112222211111111121112222211222221222121111212121211212222212222221121111121112121111111222222221112122122221122121121212221212212211211221221111222121112221211121122221221112211112211112111211211212211122212211112112222112222111212222111111212112112121211121221212111112221122111212222111121112122222222222221212111211222112211221112121112111121121212222212111222222121122122222222111111211221212121121122121111121211112222211222221112112121221222222111212211111121211122111121222221222121111121221112222122212212211121221212221212121122212121212212121212222212211222122211221211112112111222111211112121122122221212122122221222211112111211111121212221222111112212112122211212212222112211211111211112221121112111122211122222211222122121211112111111221121111221121222121221221221122221221211221221212222221121122211121222111111211121212111222212111211112122112112212212221221221112122122222212212121221122212222112212112121211111212221212222211222121112111211211112212212122111221111122212122222122211212221122112222221112122111111222212121211212221221212111212121221112111211121211111111212211121112221211122112111222111121112121112122121211222111112212122121122211122111211221211212122121121121212111212121112211111121221121212121122211221121222221112212122221212211222222111211222221222122221121222112221122211221121212121121212221222222121212121122111222212121122112221111221112112221121212112212121121112222112112122211221122122111111122222111212211112221112112222121221121111122122211222112112121112111211211211112112122221112122222121121212212122111122212211212112122121122222122211221211212221112222121122112121221111112121222121211222122221212122122221111211121112121212121211122121212212212112211211111212212112221211122111211111121122211111112122121111212212122221212211221222212221111212221122111221121221122221212221111212221222221121122112111212211112111222111111212121222111221122211221212122122112122112112211111121111222222221221121221122111212211211111121121122111211212122121211222212222111121111112122122111111212222112112122122111211112121111112111111211222221211121212122212112121111211211221122122121121211111222111212211221122111222122222221212111121222111122211112121112112112121111111111121211112222121212111121221221212122122111212121222122221221112212122111221222222221112221221212222221212121112111112121222211122122121122112222221122111122112211221222222211221111111211111112211112111221212211121211211211112122111222121211122122211211221212112222212122121111222121121222121112122212122112211221211111121221111112112211111211222211222221221221221212112221212222221221211111122222211121121212112111122111222212222221122112222222211121221222221222212221211212122112221111212211111212212121111122122222212122121112121122111212211111212212222112122121122221121121121211212222122211222112111122221121121222111222221211122121222122211121122222221222222111112211221121221121221111221211121211221211112112111222111112221211211222212211112211211221112221212122121211212211212222222222222122221222122212221111121211221212221211222111122212221122222212122212221122222121111222211221121211222112212122212222121222122221211221211121121121111122122111122121121212211111121221121212111121111111121111222112121111111111121121121121122212222112222211222222221222122221211221211111122111212211122122221111112121221122221111121221111222212222212212221222112221111212211211111121221112212122211221211222122121122111111112122122122221122222122111112212222212122122121112112112112211221211222121111112121122112221211111222122112112222121222111212212221122212222212212121211112222222111112211111121121111121212111221112122221122111111112211121211211122212212221111121112222111112111111211212121112122212212211212222212221211121112112112222111222221121112122121221212111122121212222112111122122211212221222111122122221211221222221111222111221121222111222112211212222212211222212121222211212212121221212222221211122211111222122112121221212221112221221211121112122221122222211121212112121211121212122212112111111111222222221122111222211222222211222222111222212111111121211212221211221222222212112212121112211212222111211221221222112212121211121211212221222222121221211212211112212222121121122112212221112121121112221221211112112212212222122222112121112111221212112211211212221111221222222222121212111111122222211112222122121212221121222211111121111112111112111111112121111211112122112211121112122122122222222221112222112212222221111221122112221212111221121121112222121112211221122212122112211212212212212211212222222121112111122122112111112121112211121121212111212211111221212111222212122112121122112121221221212121211211122211111212111212222121222121222222221221221122211122112121122222221112122221212122111212211121221222222221122122111212121222122121122212112122112221111212111122121121211222111211111221112221222221212221222221221121111121212222112111112111121122212212112211222112221122112112221122221222222122222221221121112222121212111111121111121212221121121211121111111221211212112222212211211222122122112121221121122221221122212112121222122221211212221111222211122111222212211111112221221221122222112222221121221212121222111212222122222122112211211221121221111122221211222211111122212111211221112211111211221222122211111221121122112121211222122112121111122112121211212121112122212122112222221222121121212211211211121212122112111111212112221121122222111222112221222211121221221221112212122211221222212122222122122211112212222111112222122112221212221211121212222111221111222122112221212111212111211212112212112121221211211222222112212211122211111121222222211222211212111111211221122112111222222121112212222121222211122211112122111111121112111112111221111211212222111122222111222111212112212221111222221112222111212112111122112112211221222111122111122221222122212112122212221112211112122221211111111212222212211211221222211212112121211211211111112111122222221111211122122212212221211221221112111211122211121212122211122211211122221212222112211121222111212212222222221211121121211221212122212221122122221122111221122222221212221112111111112212112212122112221122112221111222222221212112212112211121112212121211211212212122121121212121122222111211121212112111122221112211221121212111212122112221122212211212122212121221212112112112212212212212221111112121112222111222221122111211112222121222222112121121212121221112111222112112121121221212112111112111222122221112212111112212212121112122111211112121212122122222112222112221212112121121111211211212112112111221211121212121211121222221121112222221221212111122121112121121221112112112112221112112112221112221212122212212211212221222112212122111212222212212222212221221212211111212112221212211112122112222121112222121221211121211121122211221111222221222122121222211111122122221211222122222212121122111212121121112211122212111122121111122122222212112112221111221111122122221212212112222121121211112212212111111112122112122222211111222211211121221222122111222211212111111212111122212212111111112121212212211111212111121111222121121112121111222122111112111112212211211221112112221222211121211122112122221222222121122121212111212122122211212212212222221112111122122212212122122211211221111212111222112122211212211222122222222112211121121222212211112122211112212211222121121121122212121112212122111122222222212211122121111211221111212112111222111222121221221221221211111211112112121121111121222221122212121111222222211121111222222212122112221122211121121211122211211121112211121221121121211222111121221212221121112112211122211221122112112111221112212222121222212122111122211121112122221121212221112211211221112222211112211212211211212112211111112121221211112222122121211222221121111212222212111221212211211122221111121112121211111122121221121112222211112122122211221121211221112212211122222212222122121122122221222111222222211222112111222112212122222212211121222221111211221122111111221222122221111111212122221111222112121112212111111122112221212222212121111211211222221121112221211121212222112111211111221222121211222212112211111221112111211211222111221221121212212221122122111111122122112112221222122111212222111112211221121211212211212211221222111221221212121112212212112212222122222112122211221221222211221221221122122111212122112121121121121212211211121122111122112222111211112112111112112212212212222122211212121112111221121222211122112122122222221122121122112112212122111221111111111112112121122122212211221211221212212221212111111221212121111212122112112211112111212221111211221211112122212221212112121212112222122222111221222122111112222111222211221212111121112121121222222212112212221112112112112112111121222112122222111121122222111221212212222112122211112212112122122112121121122111121122211211112122211211122211212111222121222211211212121211222222122111122122222122211212111211211121221221221122212212212221112112211212111222221112212122122121111112112112222121111222112222212122122221121221212122221212212211221221122111112211221211121112111212112121122222222121111111112212122121222211221222121122122222122211222111222211222211112211121122112211212122122111222111111111222122121222211222212121221211222111212121221211121122111221122212222112211121212211121121111211212112211111221121111122122112111111211121211221221221212222121222222122222111211122222222111222222221122212212122222112222122221221111211121222112212111122121121121112221222111211221211121122121211121112221212121111122212112122111122122222221222221111212121222212122121222122121221221221111211112221212122111211112212212211122221112221112121111211221211222222212121122211122221211221211221121222111222121222112122211111111111222221221111212211111121112211222122221111221211122122122111111221212112122221112222122222121211121211122211112112222122122112212111111121112212121212221121222121121221111221121122212111212212221111112122111222111221211112111222221122122211221122222222212221212212112112212112211212221111122221112121212112122112211222112112121221122211211111122222212212221212211212222221121112122221221211111221122122221111221212122111222121122111222111212122121211212121211111211112121221222212221212111222221222122221122112122212121122211221121221111112111211122211211121211112112212122122112211112211112211211121112112121211221111211222222212222112121221221221211221211112212211121212122112222112212221212211212221121121221121212211111121222211211121111222121111222121221112122222111122211212222121111222212212122121111111222211121222111222112211221212122122222222221111122222111122121112111211111111212112222121112212122111121212211211111121222211211112122221111122122111212121212111221211212211112222112112211122212221111121112212211112122112212122111212222112111211221212112111222112221212212211121221111222122122222111111122122211211211221111212122221122221111122222112211222111122222222121221222121112111221221211121121221221212211211211122221122122111111211122111111212121221111222122221112111111212211122222112211212222112222122222121212122212221212122112121111121121222221121112221111111122121212122121222221221211211112111112212122112122121212212212221122122122221111222221212222112212222112222111222111211111221121222121121211221112112212221122211211112112112221211212122212111112122222221111122111122122122221211212111112121112221222211122122222112111121212121212222121111212111211122121111121211222122212221221222221121111111212212212121121112211212121122222221112121211122221211221112112221112111121122221212221221212211212122221121222221222121121211222112211121212212122222122122212211211222212122212111121121111111211111222222111222212112221221112122222112112111222111222122211222212221112212211122221212112221211212222211212221112212122211112111111121212112111222221222222111221112112122121212111121222222222222221121221112112222212211212212121121121111222212112222111221222222221122222112221211212212222121122212221112121112121221212221111222211211122211112211121212222111112222222221211222221112121221212222222121222112121222221121122122112211112121221121211221211222122121122222112212122221212122221212112111211222221221111212122212212112221222212222221222122221221121121222111221222212222122212222222112222221122221122112221211211211221121122222112122111112221112221212211212122121111221121121221221211221111211212121221222112122121211222122211221211211211212221122121211221111212112112212221222121112122222112221111122111112122111222112122211221122222222212211221111111222121111111121121221212112111121212221122112122212211212212222221111112211211111222212111211112211111122221212111211111221122222122212122211222121121121122111112221222222122111112121111112122221221122121211222121121122212112112221122222211221121112222112112212112221112112112212211211222212111121222221222221112222122221122121221212111121222211222111112111222212221111211122111121221111122221121121212222212212121212112111111212112212121111221111122212112211111122122112222112222212121212221112122121111121112121212212112211112121112121111222121212211122221212211112222121222222122221122111222222122221221222111211122221122222221122221111121222121112212211121221211122121212222121211112111111221211112212211121221222122121121212112122112122221221111221212221211122121121111121122112222221221221212112122211111211122211111211121122222221112121221211112221211121211211222121122111122221211211112122222212111212212222111212121221221221222111222211121221222122122221222221221222121112111222112211122122221122111211212112222111212112112222112111121111121122122212111122121211122121212221211221221112112122112211112122111112222121212212112112222212222121112122112221221111112111121222221122111112122222112211111111211112111211121221112212212221211121112112112122211122221212212111212221112111122111112112112211111211211122112212112212221122112111112122221212221221212212222121211221221221122122221121212222211211222111221222122111222212212212211211112112111111222121211111222212212211212221221222111111111121121211111211111212111211111222221122212222112112111222112121111112212221121111212111111222122112212212122212111211122222212122121221122121211222212112222111222122211212222211211222121121111111221212222112122212122211122211212112221121111112222211111112112212122211121122122221222221221222111122122111121211211122212122211121211211122121111211212211212112122211122212211121121111222122122221112212121112211221112111121222111111211211121222222112222222222111121111222112121122211111121121212111212122121122212111122111222221112111111222221211221122121111211121112111222122221111212221121222122221211121122221211211122212211212121211221221112212121121222111221121221212122211212212121121221211121112222221221121221222211211212111221222122122221112211222112222221112111212121112221122121222122122221122221111221222122111121212122121212121222212211222222212122212112222122221112111122222112122211212122112212122221112112222221221221111121222222211122221111222211112111121122211121111212121111211222212212221221222221121122122112221121222122211112221121212112121222122221212212121212112212212222112111111212112222211112212212112122111212212112211122212212211211212121111121212212222121211122122112211221211121111122221212211111111222122112112211122112122212111111221122221111122211112212112212122122112112221121111222122121212221121121222211211212211121212212222221222111221212221222221122112121121122221211212222221211212211221211221112122121111211112112122122212112122222122211112221111221222211221121222212212121211222122122112121212222222111222222211221122211212111122221122111221121221121122122122212222222111121222112212211111212121212112112111212221111111222211112112111211212222111112121212111222211212221121112221121212112221212112221222121222111121111121222121211112121221212222111121211212221211221121112212211121212211212211221112222211211121122122221212112211112211122212212211222222211111111122222221111111112211121122222111121221111112122221111122221222211122112122121111212222212222221222222222212111112222121211212211212111111212221111221121112121122211222211111121211212211212212221122122212211221111212221111112111112211212222122221121121112211222212212122221121121122121222222212121221221211211211221221121121212211212221111211111122222221221121222111122212222122122222221222212112122212222212122211222121122121111212211111222221212211111121111122212111212211221112222212112121112211221111211222222221122122112212111211212122212111111122212222121221211122222112111212122212222211211212222221211222212111222221221121221211222221121222211211111211121122112212221212122121122221212212222211222221121221212222222121212211212122112212112122111212222211111112121112211121222221212112121211212211121221121211211122122222122112111212212221121221212112122112111211111222121122111222122221121211212222222212122221222222111121212221222211111112111111222122121212122212121211111212111211112211112121212112221112221222121112212112122121221221121221111221222211122211222121121112121121122122212211122212212122211111122212222212221222211121121121122122212212211112121112221122222112111122211122222221122122221211222121111111221222222211212221112111122222122112212211122212112112212211112221111121112112111122221122212212111212222222221111221111111112222111121211112111112112122222221221122221111211111121222221122122122221122121122222121221212122121122212111112211112211122122222222122211212122221112222221122121111121212212121112211212111121212121211111121112122112221112221211121121211212122122222222112221222112112222121122222112212121121221111222112212122221112222121122122212111212211211222122212221121221122121122112222211211122211221111211221211222221111222111122212122122221222121211222222212111221122212122211212121212121222221222111222111211221122112122212211212121112122112211211212222121121222221212111211121222122122222122221222212112212111221211211211222211222221212111112211111211211211121222221112111212212221111211212122212222211211122211222221221121211222212211211112122212121221221112222121211121222122212212121121212211112221211221112111112111212211111111211222121121121112111222222122221112121212121111111111121222112222222122112121121121112112122222212112111222112111211222111211221211222211112122112222111222112221211112212211112112111122112222111111211211222112221221111211222121221222221212121111212111221122221212121211122112111211212122121211122221122212121122121112111112211111222221211111122122122211111211112212212222111221111211211221111212112211121121222212222221221222111121212121212212112221122122121121212221112222121112122211112212121222211112221212212121222121212211212112221112111222121212121122121221112212111212122211221212111121121112222211211111111112222121122112221221212211222112112211121111122212121222122212212122121222222211212121122111211112121121222212212122122122111211121221112221211211211111222221222222121111222112122222122111112221122121111122112112112122222222111122121221221212111211221222121121221122211221221112212211222222211112112122121222121211112221222112212121211221121221122112111221211211111221122222221111222121121222122122222121211122222122212212121122112211121122212222111211212112122212221221122222121121212112211121211121212122122211221212212211121221111121211221112121222221221212221222112112221121122111211222211122212122212212112221122111212122122112122112121111121212112212111211211111211112212121212222212111212112221122112121122122211121111112121211121111121121122122121122221211211211211212121222121112112112221222221222221121212121111111121211111222221211222121121121221211121121111111222212121112212212222222212122221121221222212211211111112211121121222112111112121212111211122221222112211211221212112212221222212121212221122211122222112211211122121112122112221222222111211222222212121212111222112211211122221212212221222221121112111121222221122121122211211221222212212122221222111111221221212122212111222211222112121121121111221222122121112212211111221121121212121111121221221221122121122212212211112122211222112212112121112122222111122212111112122222221121121222221221121112212112122112212121111122122111122221122221111112111212211221111211211221121112211212112222211211111111221121222121121121122212121121111221121221222122122111212222221221212221122112222121121122221222212121121221122112222111112221221122221211121221122221221212222221121111221211212222222211211111212111112111221121211121212212122221111222111112221112112212111122112112212221122121222111221121212121222212212222112121211221121211211221122211111211212211112212221121121222212221211111221212112121122121212112112222212221212111111221121121111112111112121222122121212121221121221212122122212211221111211111212122122222222212221212222121211222121221112212121112222112211122112222221122222122211222221111212112122221122121211222121112112112111121211211121211222211221112212121211221121211221212211211122221222112121211222122222222222122212122111121111212122112221111121122212222222122222211121122222112121112222222221211122222122212122221212121121222212222111121121112212112121121121211212112121221121222121121212111211211222111112221222221212211121212112111121212112222121121212111221221122221121112122211121111221112111212121111111222122112212122121212221211121211211112111222122112222111112121121122122111221221211222222122121112112112222121112112211121211222211222121122121122221222211211211112221112212111221211222212222211112122111122111122122111212222221211112211121211222212222211121111222211122112222211212212212122221111212212112222222121222121212112212221112112212111221212121111112112121121211111121221111121212211222221222122222122112212211212212121111212121111221121211122112212122112112221212212211222212121111211111122212111112212221211222121222221212211111112112112212222222111121222211211222212212121222222112222122222122221222222112111122122111121122222212212222112122221122222221222122112122122222221212122112212221212211222222111112222111211222212211111221221221212212112112111112112122212111112212121222111122212212222112211212122222212211222122221112121221111211111112122222211222121122121222121212222211211212112221122122112121221222221112121221121122122112222212122121121122222122122221211121122221112112122111221212121211111221221221122112211212212222212112211211212222221212212111221211111212221222211211211112211112111222111221122112122211121222122212221112222221111221122221112222122112112122211122111211112111222212111221211212221222112111211111122111222121211111211212121222112212111111111122111122121111112221211211122221211221212121111121222112112211111112122112211112211121222112111211211221212121112111121211112212212112221112121211111121122212121212121222222211212111211221221111121112122212121112121211112121221221212212211122121211222212121212111222222122222212211122221212221112211212222222122111111212222211221111112211111222122212122212222212122222222211211112211222111112111211121122222122212112212212221122221122211112221122222112211111221111221222122112211111112121221121121212121111121212122121122211212211221222221211122221121111221221222222122211211211212222212222112121122221221211111122221112211212122222112222212222222112121121121111112121221211211121121121121222122121112111211222112222121221222211122121221121111212212211222111122122112121122211211221212211221112211111222122111222212221111122211112222212111222122221222111222121221212221112211122212122121111221222122111121112221121222111112122112211211121112221221222111212221121222211111111221112122221112122212211112122222122211112112212112211111112122222211121221111221222221212221112122221111122212221222211122212212121221212112211121221122122122121112212112211211112121211221211221211121111222211221121222222112211122122212211212122121212121211121211112122112112221121121212122221122212112121211211122211111122222111211122222211121222112111121212121122211211121212122222212112211112222212111221212112121111112112211221122111112221212212212222111122122212212222111211122211112222212212111222211221211111212211222111221121122111212111112112221121121111111112111121222112211122222112121122211121121211212211222221111111112222121221221112211112212221221222122111112212112212122122211122222122212221111112212211111222212212221122211212212111121121221221221111222112112122221221221121122121211212112111112122212112221221121222212222222221122211222212221212222112222111212212222212212111222221121211221221211212121211221212222121211221111212222222211212222212211122221121111121111121122211211121112112212111112221112121122122111211211212212111222211211221122112121211222121112111122221222121221122211121122222112112111111212211221211122112111121221121222222122221121111212112111212221122112221222222111122211221111221121221122222112221211121122111222111122121221122222112111211222122111112111222121211122122122112211111222121211111222111112111222112111212211222221212211121221211211122212111122112111112221112121122212121221212122211211112221121111222212111122222221211122212122111222112112221121111212121121212222121112122212212122212111211121211222122121111211112121221112121221212211112212211122111112121221212212221222111121222221211221211121122222211222112221212122111121111221221111122211111122211122222222111222112221112221112112211112112222111111122122122111221221111111221211111121111112112112121212221122221222121111122112212221221111122122111111121211111121121122221221221212221221211212112212212112222121122112122112122121212211211122212212221222222111222222221211111111221222222211211112222211212211212112111112222122111212112122112211111221212112211211111121111112221221222221111112111221211121222212122211121121211222222122211221112222211221211221111122112112211212122112121111211121112211221222212211121222111211121222122222121222222111211211212112212221111222111212112222111111222111112212221122111212222111111122211111111211221121221212111111221112111121212222211212111222221222122211122222211222222212211212212212212111211222122112111222122112212212211222222122222112122212221121112112111112122222121212111221221112212222211111221112112121211112121111221211211211111211211122112122122121122211111112112222211111122122121121211222211221221112222122121221121221221222121222121221222121121112111112122211122222211211221111121221111112212112121122111221121111121222221222111211112122122122122211112212212222112121122111221211222221122111112111222222111222222121211221121122122221211221111112111222221112112211121121121221112221212111122222221222211111121121111222111122211222222221222111112122212111212111211122121122122112122222111112211121121212112111221111122112222122121121211122122222212212112212111112212222112111121221121111121111122222221122211111212211211222221121121212121212222221111122222222221121121211111222122222221121111221111121111121222121221212121122222212111221221111122212112121121212122221121212211212112111121222122122122112112222121222112122211222221122111111222212212122121121222221211212212112121221121222111221111112111212222222122211112222112111121111211211111222212121212211211211112112111212221111122121112112221211221222112122112112122122111121122111221121121221221122111112211121221221122122211121122221211211122222122121211121111211111212111111121112112222111222112121121121212211121111122111122121222112112212221211221122212211211112212211121212212122121122121212221222122211211111112122121112221221222122122122211122122111111211211121111211122112112122221122111122122212122111211222211212122222221221211112112212111221211221222222221121212112221121212112122212122112121121222111122111221211111112221121221211221111112221122121121122121221122221111212122122112221122121212111121112122121211112212122222212122211112122112222222111211122222222212122122221122211212212212222222111112212122112122111121211111211122112121111211211221112211222121111212211222112212122122222112222121112212122211221122112222121211111222111112221112121122112212122212121211122221211111222211121212212221211221112112212212221111122122221111221211111122111211221111112112211111112222122121122121222211121212112111221111112121211111211112122212212211221122122221212212222121121121111121212111221111122211222211212211122211222112121212212121222221222212122121111111222222111122122222122221222222221221121211211222221111221222211112211222112112122112121121212211222112122112111111112122121122211221121111121121112221221212221211111221211211221211222112221121121211111122212212121211122111122122212121121222222111111122212112122222222222111112222222211121121122211111221222221112121121122111112121212122112112222121112122222112122122111221112212112221211222122221122112211221212222221121111112112221212222111211221121221221111211222221211221212211211122112121211122112122111212121211211222112111112211211221111122212211121211111222222122211211121121222212122122212121211122111211121121121121211121121121111121112211122121211122111121222221212112121122222122111221112221222221121221222111111212112222121211212111122212221112221222212121122211222111122121221121122121112121122211221221221221211111121122121111111212121211211212212111212111122111121112212122212111112122121122221221222121121111222121121112111222211221222212111211122222121212221211111222221112211122121212121211221212111221121112212122212121111212121121212112212222212221211112111212112122222212122121221222111221221222221111211211112121211121211112112122122122112112112112212112122121222212111221112211222221112212222222111212122122221221121211211122111111221212111122221212111221111122211211211222122211221222111112111221121221122121222212112121221211122111211111121112121212221122112122222222212122122222122212212222221121211221121111212221211121212222211111112121121112111211121222121111111222221122212122222112212122222111111122211212121221111111122122112222122211111112212112112222122221221211121212211111211112122222121111222211122111222112222121112111211211121222222222221212121212211212111111111222222121111212211111212121211212211212121122112122112111211121212221111211211112111122111111212212221122111122211111121122111221121221111111112111212111222222212121121211222111121122211112221212121121211121122122112112121222212212212112221121112212221221221212222211122111211221112222121112212222222122111111222211121112121221221122121222221221122111121121211111111112122122122112121212211221121221211121111122222212121112122212221221221222111111222121221222221121122111121121112211122112221112122221111211211221211121211211221212221211221121221121111222211112222121221121212122121212122112112112122111112122222112112212221211221122211112221112112212112221211211111111221111111121212221122122122221121222111122112112221122121112121221121112122112211222221212221121122222111112211121122121122121211222221211111111111211211121111121221111212122211212121222121111111111112121111222221212122222122121221122221121211221111211111221211221221222211212222111122112111121111122212221112111111121111122221211121211221212221221122111221211222111122121111212122212211111211221121121221122221221211122112211121121111122112112211112222212222211112221211212112222111211112222211122122222112222221222122222121221122112111121211212221111212112111111112122121221111211122122122121111112211211221122221112121211211212122112221111211221211112222121121112221112222222221212221211112212121121122211221121111222111211121121111221111212221222222212211211112111222212112211111111211122122121111112221121121121121212121122111222112222121122121222121222121211222221212121121111211221121212221221211212111221111212212222221221121112111211222222222111221111121221112122112222122211222121112221121111212222112212211211122211211121212212111212211122211211212222121122112212112211221211222221111222222222111111112212111221121112222221121222111222212111222211122221122111111211211112112122212211122121122222112122112221212211122222112211222121112122221111111121221221121111221111112111112222111122212121112221122122121211222211222112222121222112122212121212212112112121211221221221222122112121122121111222111222121221211221122122111111111222212122112222221222212212221121112111111211222122212222121222212221221211111221211112122211211222111111212212211111122211122112211122111112112222212211121112212212122112111222222221121112212121222222111211122222122122122112222212122222211122211111111122222111112222112221112121221212212122122212111212111212211122221211112221212211111222222121112211211121211222222212212112212111112111222122122121112112211221211211221111112222122122222122222122122212222112221112212121212111211122122112221212111112121212222121212212211212112111222112111211111111112111211211211112212112122222111212111121221222222211121211121111111222111112112211111111122211112121121221212122221222122122222122212222212221212211211212111222122122221221111111222112111222211222111211121122122112122112221111122212112222221111112122122221122212112222211211221122211112221222221221211111221122212221212111221212211221112212112211222111111221221122121222211111221222112212222111211211222211111121111222122211112121222221122212222111222212121221111122221112212211122211112221222221211211222221212212121221121222211221221221222221121122211212121122212221111222221222221122221221212211111111111212211121111221122112212112222111122212211221211111211122221211112112121211221222111111111112211212112211212221122222112222111111112111211121121211222112211212211212221212222121121112221121111112222212222111222221111222112221221212111121112121122111222121122212121121222122111222212211211122222111122212122212221121121112212221121211221112212211221112212111121121112211122221211111212222122121112112212211211111222111212212212121112211222112222222221212222121111122112221221221122122111221122111212212221121121222111211212212222111211211222222121122121122112221221211122121111211121121112111122121112221221222112212212211121222212221212221111221211221112221122111221122222212121222122122111111122212112221212221221211221221211112122122221122212122121212111112122112221221121211222222121212211122122111221111212221211211121222211211112112222121222211211122212111221211112122221112111122221221112111222222212122212211121211211121212112112221121221112121222112222212112122121111112111111111122212111122112122211111222212111212211121221211122211221221122122121121222112111222111212212211221121211111211121121212122222122211222122111221211221122222112222221221212221212221212212112211211111211111222211121121122111222121222211121211221222222212212121112121212111222121211121111121221222222111212121211111122121222121121112121222221122211121121211111112121111122221111112122221111112222221211112121121112122112111112122111212222222122122222221111211112122121111222112211122212111111222122111112221122122221222112221211212222121222212111121212212212222221111211112111111211212211111112121111112211221122211111122111121221211221211111212212122112221122211211122211212122112121222122122121211221211122121211112111212221122212222222111112122112112121212222222211211221122212111222121112211112111222211121122112111222222222211111211111222221222211111211212222212111211221212222111121112112221211221222212222121112222122112222121112212121112222122111211121221111222222221111212221211122112222222222221211112111212212122221212111121221112211122211112221221121222211221122121111222122212121212122222221112211121121111221212221211211212221221221112111222122121122121111121121121111112111121221221221222112111112111212122122221112221211222111212111121112211112111212112112121211222221221211121221211111222111122221212111112222222222121112222221111221211122111212221121111122211121112112222121211212221112212221122111212221111111221221121221121121112222211121112111212222112221121212211122121211122212112111111122111211222221211211211212112111111121211111112222111211112221222111211221222112121111111121122112212221122122121211122122211122122112222212112122221212111212212211221211112112212211122111111121121121212112221222121221111121122121112221112211122222212111111121211211211212111222121211222221121122121122221212112121112122212122112212222222211212221121222222112221111222221111212221222221221212121212121112222112212221221211211112111112122122222222112111222121211122112122112122222121212211111211121111122221122211111222111112222221112222122111112211111122211121111121211112211211212111111221212111221111112112112211112122221121122222122122221212112121122222221122221121222211122121112122221221122122121212121222111112112111221212111222111212221111222122222221212112111212212111222122121122111222111212111212212111222121112211212222112222221211211211112121122121212111211112221222122212221212122221211212211111221111212111121212121122212211212211211212121221221211211121221112121121221111211221121112211111212212111221111121121221212112121222111211212222111222121122111112221222122121221212112222121122221121122122111221212211111111121122211122212212112111121111111122111222221221222222122221122122112111112112121222221122121121211222122221212212211122211211211212211112211221111112111111122211121111211212121221211212222112121111122121212122121222222222222111211121121211212122212222211211212111111221212221211211211121212111122111122121111212212222212222211221212112112212211221122111221111222211221121211221221222222111212211222221221221221221212122222112112222212221222112112121111221211112211111221121122122222111121112122211111121111111221221212121112122212122112112212112111222122111111211212122211122112112112212222222222212212222112222222112211122112111221222211121112222212122122221211122112121221221211212122121111122112222221212121221212212211121121122122122211122112111211121221222222121122222222121112121122221211111212112122122221112212112222221121212212222211112212122122112211222122122221112111122121122221211111212122221222111121212212211122221111212211221122212121222221111222121211222221122222212111212111112121111222222212121211211221221212221122212221122212221211211222122121212221111112112121111212111212222212111221122212121212121212221121122221112222221111212122112111112211112112121111221221121122121211121221212111221221121222211222222221212211112111221121112121222112222122211222122121211121112122222222111122212211122121212212212121221221222121212212212111111111121211221221111122211211221112122122121221112211222221222112111221121211222121122222112222211112222111112121211211221212112121211211221121121212112112221211122211212221112221212212121212221221222111211221212112221122112221222212122112122121221221221212122212222212211222212121212211122121221111112221121221121221111211212221112212111112221111211212221221112121122112211122111221122122222211212112221121121222112211222112211211211222122212212112212122221121111221222222221222121222112111122221122222122121122222222112112222222112212222121221222112212222112212211221221111222121111121221111112111222112111121111211112222211112212111112212122111122221122222121121212211221121121122111122122212111111221121212212222222211221211211121212111211112211221222111121221121222221111122222122212111211112211111222112221111222111222122111121221221122122221221121212211212222122212222221211111121221122211221211222112222211212212212112222222112221122111221121112112121211112212222221121221121222212121211221211222112112211211122212122212122112222211222121211212112111221211221111111212221221112122222111211212122122122111111112112111121222121221122211212212111211212112112111111211111211211112212122111122212122221211111121121121122112112112222222212221221221222121212222212121111111222222212121122212112211222111112211221122112111111111221111112122212212211221122121111112221111122211122112122212211212222122111122212211211212122211222112212121112211212211121221211212121121122121111222211111222221111222211121211211222122221221122221111212221222111122111221212112121212111211221111112111121221112212112221211221122222112211212121212112122121211111222121221211222111112111122122211111212121222111222222112212122111221212211122121111121211222112121221211211121112121111111121112212212212221122122212212212211222211211112221122222121221222212111222222121112211211221221122112222211222111112111112112111112121212222121222122122221112211112121111111212211212111221212111121111121211211112111221211121121211221112121222222211212111122212222212222221212221212111121221212122222121211122222221222121112122221221121121121212121211112122122211111221211212211122112122111111121111212112222112111122211121211112111111211122122121221122111121221112222221112122221222221111211211222221122222122112112112222121111122112221112212122222211221222211211122212212122111211122212111221212211121112112122121121111212222111212122212221222122212112221221221112111112121111121221222112111111212121111111122211221221111212111222222111212121122121121222211212212122222122121221121211212112111121221122222222222222112211122112212211122211212221111122122111211121112122111211221121112211221212212112211221222122211211221112212111222121211112212111122121211112112111111221121112221222112212221212112112222111112121221222211122121222122221222112212121121222111212111222212122111111221111212122211212222222122122111221122222211122112221121121222211112221211222211222121211121222222212212211111111112121211211122111122121211211112222121211121122211122111222212122112212112121212121222211222121212112221212122222112212221212221222122112221112111122222121221212112212211111211112111211211211111211222212121121221221111112122112221122121111211111211211211222111211121121122212111222111211211212121221212122212112212111221212221112211212211221111221112222111121221122221111221211112221211111221212211222121222212221122211112222212221121121111121221111111122222111212121212222211122212121211121221111121122211121212122121221111112222222122212212211112121212222211221211121221111222221112111111121221111121112122121221222111122212122211122222112112222221112122122122111222221122212122111222121221121122121121221112121121122211212221122112221222112122121211122212121221111212221121111121111212212221211221111212222112221222221121221111212211212122111221122112222111112222122221121211221212111221111112222221122111212111111121121221121222111111111122121121222212122121212112122112221221221221112221221211112112111211111211111122222212222222112212121212122121112212222122211212222121212211221121111111121221111211122222112222112212112121221211221111222121221111122211122222222121122112111122112221111211211112212222111222111211121212212121212212122122211211221121211211111121211111121212211212111222111121111212222112212111111211221112211212112211221212121122222111122221121111211222211212211122221211121122211212122211211112122112212222212222112221222222212121221111211121121212111211122111112121121221112111111221122112221211212222212122211211121222112221112112122122221111211121121112211221221222221121122121121112222112121122122121222112222121112221122121211222222111112221221112111111111121122111121211121122112121212121222121211212112121222212121221222111112211221212122112112211112222121111221111111221221122211221222221211112221122112212111121111122121222212111111122111221222112211222222111112121212121121112211212221222122112221112212211221111222111212111221211122122222222121112222122121221222111121222221121111222221112222211211212112222111222112122221222112212112211121122111222111212212121222222111222112121212112212222111222111211222122212111222222211122112122121211111211222122111112112222211211111222121222112211222222222111221122121212112121221212122222212211122221211211221212121112121112211211121211221221212121222112212211211222121112111122122112122121212222212122121111111212211112222122122221121211211221211122112111121122121111112222211112112212122112221121112222222222222121122222111112221111211221211112112222211222122221212212221222211112121122121122211211212122222221112112212221222212211111211211211222211222221112212111122121221221111222111111121122111222212112112112121122112212212211222112111112121211121211111211221112221222122211111222112212222122212222221212122212111111212222221211222221112222122221121221222121121122112222111221112122211222111111212112221222121211222212221112211221111121112222211121212121112221121211211222112122121212122222121221122122222112212221122111111122111222212111121212111112122112121221212222122212222112111122211111121211121212221111111211122221222122221211111112122211212122221122222112222222111121222212112122111222112221112122212122121122222121111212211221211122221211211212112111221221211111221122111211121221111111211212222222221222111211221211221221222212111121122121212122122112221112122112222211221111111122221211121211221222222212222122121112211111111121221211222221211111112211111112221221222221111121222222212212112122212121121222212212211111211222222122121112122212212121212221221111121221211121221111111211122212212121212221111222211121111222211112112212212111211221121221122111122122121211212111211112122111221212112122221212222122221122222111112211111222111111121122121212211122111211111122111111122222221122211111121221211222122111222221111121121112121121221122112121112121122112212212121222121222112222122121122212121112221121212222212112212221222221221221222111112211221122211112122222211111121121211121222111211122211121211222121221111222211122112221211211211211211212121121122121112111122112111112221122112111222222112212112211122222211212122111121222112221221211221222221121122222111212212212111211222112112221121121122112121122121121221111222212112122211222112121112222221111112121211211112212112111221221121121122221211111122111121221222112221122222222111221122212211221111211112222111112222112121222211122211222112211121222112121222121122222211211222121222221212121111111211122111122211112212212221122111212122222212221122222212112212121122121212122121121111211121121212212112122111112121221212211211122112121222121221211121212221122212112222222221111212122221111221112112111221112111222121121121122111111112112121222212121222121222222222112121221121112211212222122212111211111222122212222221212121121221222212111221121112211121221122211212111111112211122211222212221112211112222112121211221211222212221111111211211221212122121112222211112121212111211122121211121111121221112122111222122111222211111111122222221221122121111212121111211222222122211222111222122222211111211221222212112122121221221211212221122111111212222112212221222222212221222122122112222111121222121212122121122212212111121122112212112222122222111112111111111212122112212111111112112112221111112121221222122212121211112211121212121211111222211121222111111211222122122221112122111211212121111221121221212111221222211121212221221221221211112112122111222221221211112122212112112122122122112211211212211221121222111122122221121221212221121211111221122212111221112211112222111221122212112121222112111121211111121211122211122212111212211221221221212111111121122211121221112221111111222121222121222111121212111212122221211211211111221212111122122121222111211211212212221112111122222211212122122211211211111111221211112112112121222211112221211212112221211112212212112222122111122112212112221121111212212112211121221212222111121122221112112221221121112112121212112211112122222222222112211122211111112112221121122212112222112122111221112212111221221211111222212211221122212111212221111122222111211112122222221222112221222112111221112111212212112121221221121212212221222122221222221121121212211221222212222111212122212222121112122111122121212112211111112122122122122222211122211212222122211222121212211211212111122111121112212221121221112111222212212111221121211212112122122211222122221212122111122122122211111221112212212221212222221211121111112222222221212221122121121212122212121221112111111212121221211121221221212212112112112211122112211222212221112211112221111221211122112222212111121222211222111211222212121212122212111111211121121221122112112122122211121221111221111121212122121122222122122121121222222211221112122112112122222211212111111121211222212212121122221111112221221121121122112212211212112112222122122222222111112122221111121211221111222121121222212112221112221122211222221212111211221211122122111221211122222222122212211111122221111222211111111212122111122121122111111212111112222211111222211211212222112221222112211212221222211112221212121112111112122111111122221212211121122212221211122122112221221222112212121211211222211111122111122221112211221222112221212221121122122212211212221112122211222121112211112112211121211112212212122221212221111212112122122122212221112111121211122121221111111111222121121122221211222221211211221111221222212211222111212112212221112111111121221112121222112222211222221121111121212221121121211122121212212111122212111222212112221211111212112112111222111211212111212211122112221221212112222212211222121212122112221111212121111111211222221121222221121122221211122122122112122111111112121221221122122122221122112112122221111121112111122222111222222121122221111221112122111211222122211122122221122222211121112222112112212111221221121122212122121111212212212112122221211211121221211222111222222221112222122111122221122211212212121222212222211111212112122222112111121111211111112122111112221212112112111222111222121121221111121211112121222112212112212111212221222222112222111121211211121212122121222211121111211112122111111111211222121112212121211212211222122111121211111112211112221212221222121111122211221211122222122112112212121121212111211122212221221122222212212212111112212212211121121111221121122222212111222221212121122211112122222112112211211222111121111122121221112112121211111122211211222222121212222121122212121121112112112112211111121211221111211121121121211121112111212121221212222211121122212122211121221212111221112212122112212221112122122212211221212211112111111121212112121222112121121221211112112121212112122222212212222222121111221221121212211121221221112112121222211111211121121121212211222121221122121121111121112111111122221221221112121222112212122121122222112121221121121221122222121121211211222111222221121121222222112111221211211212212212221211111122121112211122211111211111122222222112111121122121211112112211122212221221121121221121112122121122221222212211222211211112222122222212121221211122122222212112121221122222222111212111211122221122121212212111211211222211112221111122112121111112221221212212112212121222222111212112111222121221111111121221121222121112222111221122211222222111212212212211222222212121221122222222211221221112212221112121121212122122221111211112112111211222111221221212212111221111121222211212122221122222212212221222112221112122221222122112112121211221212121122211221111111112112122212122222112221221211221211222212122111221222211222122121121212211212121121111222212112222121122212212222212212121112222112121211121111122122111222122211222122121111222221112222112221212222222121222112221112222221222221111212121221212212122121122212211112122112222122221222222111111111112211222111211222112121112112212221121212111211221121221212211222112121222122212112211122122222112111212221122212122211222212112222211211121122211112112212222222222111222121121121211122221121211212221111222211212122111121121222221212212122222221222122212112112211112122221121111122112121112221221212211111222112121211222111211222222222121121212121122212212212111222221221121221222121211221122121211112222211221121212112221112212112211112211112121211211121121211122112112211122222222221222221211122122222121212122121222222112121121121122222112211212111211121111112121212111211212211112122221122121222221111111121121212212111212121211122122122212112211111112212221122221112111211222212211221122121111221112211222122221122212211121121221221211122121122221121112111122121111221221111111121211111112211221222221211221112111221222212122112222111212121222111111112221212122222122221212112221221121122222212212122222121111122121122111212122212221111221122211121112122222122212112111121112222211122222211122211121111222211111212112122212112211212221221211111212111222111122122112112211121211212221112211122221111122222211211121122111111211221111111122221122222121112211222122112212211212112111211111212122121121112222221122221212121221222222212111121122212111212111112212211122222122111221222121122222221122222122211112221212111111111211212211122211211222221111112111221122211122121111121212111222122222111111112112112221221221222212212221221222212121221121122121212121221121121121212112121211211212122222122121111212111212112111221122212112212212212121121212111111122212111212212221222122121111221221112111211121122221221112222222111122122112111222121222111122212222112212122211221122222122121222221222122111212222122222211122221121122112111212212121111221121212121212121222121122121212122222121111211112221111112221212121112121121121222121211222211111221112121112121111222112121111111121221212122122122211222221221111211212111122121121211121112111121212112122111122212121121222211122111112121212121212112111111221111121121112122221221212211212211122211111211211212122122111121122211211222222122211121212121112112211121211121121122211111122111221211111112121112111211122122221111111112121222112111222111211221111221212122222122122222111212222211212121111122122121221112221221211212221112221212221112211212212122112122222222121122222222111122122111112121112121122212111222222222112122112121121111222121121222111221121222212212222122122221222211212222121221211211212112112211111122121111212121222211121212221222222122221211121111211211212222112112112222121121211212122212111211212111121112212212111121112122212121222122212211111211222222222122111122122211221121112111122222122122112212222111212222112212212212212211121122222121112222212211222121222111222211111211222121211111111121112121222121122221122111111112211211222212211222222121221112211212112122122112222222211121212121211212122211112222212121212212212112222111211212111121221222111111122122222221122212112111212122221222212112212211112112221221122211211122121212112122222111212112111121121111211221211221222122221112112111111112221111122222121122111222212212211121111221222212222211112112211111122111112212111211211211121122112112121122112121121122212111222212112211221111211222111221212222221211122222221212211222212111111212212111221221112221221212112221211112121211211121122112211122211122112111212112221221121121112222221111222212221111211212112121122221112212211111212221122111112112122211111221221112211111222222121122122122112122111122111222112112112122122111221112211222122112122221121222111221111122112212112121211211221111112122122121221112112221211121112221111112212121212212222121122111211211111121111111222121212112211211211121221112222221111111111121212112121121122222111112111212221222211212221221112111111222221222221112211112111211112111111122121122121221222112121121121221112111222111222211112222122121221112111211112211122212121221211111212212212122121111111122121121111121221111222121111122212221211212122212111212211122112222212212222121211121121111121211121211111222221111121122112121121221112121211112111212112121121221121122221221222122211111112122211211122122212122122222121112222212121221121111121221121111111122112212121211212222222112221122211221221212121222211112111222212121122222221112212122212112212222122122221222211122211211112111212122222121111111112211211122221121121122222212112221211211111222212212111222222122121211211211222121122222212112221121122222211111112122221112212121221122122221112212221222122211112212111122212112111211211121122211122122222112111221121112212111212221222112112111212211121212111112121221112211221121221122122212221122212112111121121211211121221222221111211212122221222122222111112212111212122112211222112211122121111112221112211211111211112121112122122222112112212112122211122222121112211221112221111121112212221112211221211111211222112121121112111121211211121121222211221121222212222211221112111222222122212122212212122212222212112211222122111222212211211121112212112221212221112222112112111222111121222122221222212121221211221112211111221211112222221122111221222122121111212122222222222221122221212122111121121222122221111112111221112112122111121121211112112212111221221211212121122212111111221212121212211112122221112112112211212112122212121122121122222222212211222111222222212122211122121122112121111122122211222112121212122121112222221112211112121222211221112111222211212111111121111222221222121121112221112112222221222122122222122211211122221121112121112211112122111111222212121112112221122212212112211112121121111112221111211111222222211222221122211211121111222211221221211122122122221211122112221122221211212212212121121222121221111111222212112122111112111211212221121211111222222112222112211222221222121211122211111211111211121222111111112222112111112212212222222212122211221221221121221211111122221211221122112122112211211212121221121222121212111221122112222121221111121111111121111121121221121121212221221112112221122121221221221112212121111111222211121122212122121221221112211211222122222211121112121211112121122222111211211221212212112112122112121122212211211222122121122121111121122212112222122222212112221211212222112111122222211111111121222211111121212121112121111221222112121211111221222112221212121211122121122121121211212111221212212112212121212221222212111211212111222122112222121211122112121121221212122211221122122121111221212221211111112111211222212122111121111122222122121111222211122121221121221122212122211121211111222122111122111121222221112111112121211111112122211111121212121112211121112211112222111221111212121112212222212121222111221122212112122122122111212121122211112222221212221122112211121211221212221221222221212221211221121211221211221112221222122221112211211112212121122222212221122221212112121222112212212222121221112221222112222111212222221212212221211111111122222112111112222222121222122212222111121211221222212121111211111222122211222121212112112122122221211121112212111121221111111112211222111221221211211211122112122211211121222212221222111222212122111111222112112121221112112212212121222112122122221221222212122222222121121222111121211211212121112111111222122222122122112122221112212111212221121122221122221211111122222121112112112211221211222222211222211221112221112211111212221212212221222212211211211222121122221112122211212121122111211121222121121111121211221112222211222211122221221222122211212111212211212212222222112121222211212112111112222111222211122222212211121211221212212211121221212212222212111112211112121111121222221211121222222211122221212212112212111111211211222122221111121222112221221112221222222121211112211121221112222211121111122111111122222212221212211111122221112111111221222112121121222121222211211112121212121222211112122122111111112121212222222222121121212222121221211122111212122211122211112121111111111122122111111211222212122211221212122112122122222212212111111211222111122111212221211112221111122211122221211221111211212222121121211111212122121121212212221221221212222111222222221122221212221111221112222222211211111212211122111122111112212221221221222222221212212121212221211211212211111211111221111211122212122222211221112211121121221121111211222121212212111121211211211121222221122222111212211122222221222121221121121111111221111122122112121221221221211112211222111222221111212222122112221212222221111222211122222112111112112212122211111121111111221211212122222112122211212221122111212121112111111111121112121221111111121121112122122212111211221221221112221221112111222112211211121212121112222211211211221212121111111212112122122112121112112122222212212222112221111122212221112112222121212112122222211221112121122121222211222212212112112112122222111211221112221222221212221112121211222111211121221111221222111211121221211122111221112121111222111111112121212112222211221212211121111211211121111221122112212121211222212221112212112121112111222221211111221121122121121222112221122212212222212122211221221111211122111122112112211111121121122112111121212221112211221122222222221221221211111211121212121221211222212112222121212212211211112111111222211221221112121211211212221121112222122221211221211122121111212222221121122221121211111111222212121121112221212111211111121222122122122212221222211122111122111111112212221111222111121112222211111211111121112211211222122121212112211211211221121111121221111111222111112122111112222111122112211222222111121121122222121112222211121222212221221211111111112111221212222212221121212211221121121111221211211121221212212221121111122222212221222122212122212121221212111121221211111212221211122212221222222212212112221222212211122222222212212121211212122221112221112121122111221211222112121122222121222212211222222122212112221212121112122212121211121122122221222221121121222222112111222221111222121212111112211222121221212111221112211122221111122211122211211211211221212211121121122112112212112112121222222121212121221121111121111221211111112211212221112111122112212212222121221121111211222212221222121121122222212111122222221122121221122211121112111222211221221112212122121111112221222222112112212212222212122122121222112112222221211121112122211111221222122121122211211221112221112222222112121222222121222111221111211111212111222121122221122111211211122221212221211112211112121212212221211222112221121222122212112222212221212112222222211221111121212112111112121112121221111211211122212221212211122222122222222222111111222212121212122211121211222122122111111212212121111222211112121122112221222212211112212211122211112221121221212122211111222121211112212121212112221121212222221212222222222122112121221212211211222212112112112111211121212111222211111122121212112212221122111211221222211222222121112112211122212121111222212121112112222222111221211122112221112111211221111211212221221121212222121212121121112211112221212112211122222111222211221111112112212222221211212111112211221111121121211221111112121122221221121222111212222221122121222112112212211121212121121221111112212112122111121212112122212122211221121111221122212121222121222121212112211221111121212221211212212111111111111112121211121222211221112222112212111221112222222221112221112122222111211222211212122222122222122121111212222211111121211122221222222112112212121212121121212112211212212121122111211211211212211212221122112122212212221211112122212122221211211121112111111212211221112112211221112122212112111111121211221121111222121122212111211122112221122121212121122112221111222222222111121212211122221111121212221111112121112212212121221112111112211112112211111122121122221111211122111222212121111212112222111221211211111121112122112221212212222222222222121211121122111212212121111122212211222222221112112112221221121212112121112121221211112112221222211122122221121222112122121111211212121112112122222222212222211221121221121111222221221212211121112112221222212212211211212212111211211222112121211121112211121112211112111222122122212112121111121222112122222221122111121122112211121121222221122222222121222111111211111222112111211212121212122221212211212222111122111122212111112121221211221112121211121111122222212111122121112112111122211211122221222212122121221111211121121112211112212111211122211121211221122112122112122212211221212211212111112221212122212222212112121212121111112121121121212222111221221122211122211222122221212211111111222111112212221111212212111111122121112221212212211222121221122221221212111221212211222121121212221212111211222212211221221222222122111222122212122212122112122212111212222221111121221121122211222212122222221121222222112212122222211111212122121121112212112212121211121212122222121111111111112112222221222222221121221112121121221112111222221112211122212121111221222122112111222111112112221121111221121111211111122111121221112221112122112211122121112111211112112222122122212111211112222222212211211221122122221122121112211112122221122111112211212121222221221112111122122212122121111122122121121112112121211122111121111221222111122122111122121222112221121111111122122121211221221122122212212112212222121111212121222122122111211222212212221212221211122111211211211112222221111122122211211211212221211221121121221212211111112222221112212212122212212221121211111222212212122222111122211111111211111112112221222122222221121121211122211112212121121122221122122212111222222122212221221122112211112112122211211122112212112221221212111212121121212112122212212211111112112212121212222112221121221212222222121121212212112222211222222221112112122121122212112112222112111222112211221111112212222221212212121122221121112222212112212212222222122122111212121212121222212111112111221121222212112212222211211222212112221111121211221112221211122222221111111122112221211221221222121121212112122112112221122111111212211211111121111212222222111212212112121112212122211222211221212212112111221211211112221222122212111211112221121212111112121111222211112112111122211121221122221111121222221112222211122112111121222122111212111122122212122111111211111211221111112121222112221212221111112121122212112212112211222221222121212221122121222112222222222211222111122222121211211211111112222211112122221211121112112111111221121112211211121121212221211112112221121111112121222112212122111221221221121121121111111212112221222212212111221212112221212222121222222111222122222121122211212112221222111221112111122212122212121111122211212111111212111222221111221121222222221221221211212212221112222111211212212112222212122222122111122111122221122211212122122221211122212111112212121122221111221211222122121111221121221211111212211122122211121211221111221221111112221221211212121211121221122222222122121212222121211211211122121111222122222121211221112222211222112212222221221112211121121112222222122112111211111221121212121112211212122222211212122211121122122212122212211212112112122111222121112221212211121221222111111211222222222211222122211112211212111221121111112212221112211122222222221121122112121122211122112212212121221111112211222212212222222221111222122211111222212112121222122222112112122122121121122112112112112222221221221122212122122222112122221222122121212222122221121121211212112112111112111111221112211212212122222212122211121122122121121211212211222112222121221121212111222211221111222111221111221221111111112221122222111221222212112111212112222111222122212211221111221111222212111212212121111122221212111122122122222221212112112212212221211212121122211122112121222112212211122111122121211222222212222212121222221121112211222211112111111122212221211222212111112111212121112211121122211212111211111211222211111122111111111122121211211121211121222222211221211221222111122211212111211221211222221212212221121121221211122111112122111222212122212112112121111122111211222111111212211121212221212212221121112112221211212121222212221211121121211212122111222211211211211212211221111211222122211111221222121111121212212211121121221222122112222111112122112111121112112222211212111122111222211121112221211211222222122212211111122111222222212122112221112111222121211221111212221212112221121222222211212111222111221221222222122212121221112221112122221121221212111221122212211211211212122111221221212112111121221111221211212122122111212111211122211211222112122221212212211111211111222212222221122211222212212212112211112122212221121122121111111211222211121111211222211112211122212212121222121221211112122122222211211221212111122122222112211121122222221111211211212222212111212211112112111212222222211221111112121121212122222221112112211111112111122221211112211212121112121122121122222212222211211221222211112221111222222111121121112211211221112111211121122211212211212221212212211212222221222211122121111112221122121222122211212111111111121112112222112222211211222122122222122212222212121212212221222212121221112222222221211211221111121211211222221222221212112121211221211121221222211221222212221211111112122122212112121221212221222122222112211211112211212212122121122122212221221212222222122112221111111112211112212121211112112212222112111122121222222111222122221221221111211111121221121121122112221212111112111121212221121112111212111221211211211121111212221211211111222121221121112122211111112112222212112121111211222212121111221221122121211112122122212221112111111122112122222222221111121211221112111211111122221211221212122211222221122212121222122222121111221212222221111211112112111112222112112222121121221112222112122111211212112222222211221211212122121212211122112212112211111212211122111122221121121211211121211222211211122212221122222122222211121122112222122211222211211211222121212111222121212212111211211212222121111112111212111112111122121212122122211212212222221112212222111121222211212211212121111211211222222211211211211112221222212222221121222221121122122122122122111212221212122212222111111121211111211221112222222112222211221211112211121212222111112212122111121211112222221222212221211221122121211211112112212122121112221121221121212121222112221212211222112211121112221211221221122221212121122111212212211112122212212111222112111222121212121221121221121212212222221111112212222211122222111121222122122222121212221222222212211121222212121212111222222121221211222211112112221111112111211121111121121112222111122122121222121122122121112121121122212212112221121112122222211111221221211122112111221221121121211112222222121121222222211221211121221221211121212211222211221121221211222222212122221111111122112212122212221212211221111212221112111212221212121221221112212212121221121212222222222112111122211121121121222122222211112211121221222122221122222122111221121212211121121221221212122111221212121222111121112121112112111112222112211212211122212111121211212222112112221111121121122111111122122211122121122122122212212222222221111111222222221222222112121211212212221212212211121211222221222222222121212112211121122112121111212122111122211121212122221122121111221211212111112222121122212221121212122221222122111121212222222112222221111221111222222212211212212221212221212211122222122211221222112222212221221122212122212112222121212222222211222121111221121221222221212221121111211212111211121212221222221112112111121221112122122121222122121122111212112112211212221112221112212112111222121112222221222221221212121111112111121112121112121122212112221111212211121212111212211111221121212221221111212122122112221221111121111122122211122211121221122112112122212221221211222122212222221221111221122112221121122221122122112212212122211121111221122122221211212111122212222122121221122221222122212211212222211112112122111221211211222212221122212222111111221111222212212112212121222221121122111222112222121112122212212121221212121212222121212211111212221121222111211221212212112221211122211212222212211211111221111122112212222212222111112121222122222112211212122212111122111221212121111112122212212222111112112122222121121111112211121212122122121121121121212121221221221212211122211122111221112222212221212112212212221211222212121212221211112221212212121212222222112221121221121111221111121222222222121122222111211222111111222121122212111111211221111111112112222211211122212122111112211121222212112122111112211221112111121221121111211112222222112122222222212211122112212212121122112222221222112212211112122222121222211122112211111212221211122211111212111222112222211221211121212111111222121222221221222222221211221221221221211211222122121211221122121112221111122122211222221111222111211121112211112222222222111111122212111212112212121211211222112212122212221112211222212111222111121221121122122122121122112212111122222112111212122111112111222221222112221122221112222222122211122111112112211221222211211122122222221211221221112121121111122221111211211212221221212211222211121112111121112121221221121221111211112122112221211221212121112211212121221222121211121121112222221112122121222222122212221121122211222212212212121221112221221221212222212222221111121111212222121211122121221111122122212211211212222122111222222221111212222211112221211212121222122111212112121221222122121221222112111122111122122221112212112121121121111121122121222221211121122212212212111112122222111121112121211112222222122211222111222121211221211211122122221111212112211112212211222111211222221121112121211221111211121221211121112212221222222122221221121111222211121111212222112222221111112111212121121121221221112211212112122221221211111111121121211211221212112112111121211111221112212122222221212211122222121221121211211121221121112112221222112222121112122212222112221211222212222222212122222221122111212111122212122112211121112221212121212111111221211121111212212221211121222221112221222112111111111122211111211221112221122221221222111122222221222122122121221111211211221121112112111221112122221112112122211112122212122111121122211221221212112222112212222122121211212212122211221112221222222211111221111122121212122112111111111221122221121221221211211122121121111111122112222211211122211122121122221212112211211221111211122212112121122222122112211222212111221211111221222222122211221212121111121121121222222222211122212212221211111121121121222122212112111122212122111221112112222111211121221111111121121212112122211212212212112222121211212212112222212221221222212212111212221111222211222111111211221211211221121212121111122121212121212221212112122122122211222112212111211211112222222111122212212121212222221122221112222212221221221211121121112121111212211121221222222211211112112122121112121121211211221112212111112211222221121211211111221112212222122211222122211222122212111221221112121122111221212112221221211122122122112112212212212222221211211122111221221121111222212122111111211121212221212121121122121212222221221212112122222221122111221122222221212112211112212111122212111212222211112212112212211112112121111211122112111112111122121122221212122212212221122211211121112112121222121122121222122211211212221211221121122211222112222222221212121212211221211121121221222112222112212222111222112122112211112112222122211222222111122111112211121221212122121112222112221212121212222221211121211112122121222221111122112112221122222122221122211221111121221222121222211221112111222111222122221121212221222222212122111221121221111222222212112122122222211112212212112212212222222212212111222112221212111211211212122111212212112111122221112212112211211121212121211222211222121211112221221211211112221121211122121122211211222222211121122122222111211212121121122222211222121221111112221212211212212221212222121121122111122221111121111212221121212111111221211212111211222122221122112111121221211111222211112111121121222211111121222122112121122111121111111111212112212112222221222212112112121212122112212211221221222121121222212212222121121212112121112222111122122221122222211111211112212221221211121212212122221122122111221112121221112212221212222222221222111121122121112122122121112211221222111121111211121222122212111212121122221212211112212122122111212222211212121122221122211212222121122211112222112121212122112212121121221121122222222212222222111222111221111221221121211212121121121212122222121121222122212222212112212222112222122121212222222122211112221212211122112121111121111122121211222221121111112111211222111221111112122122221111121211121212211222121222121221221221221121212121122212122111212221212111121111121221212222221221121122121122122211122111122111222121222211121222111222211121112211121111221221222122212212121212112212221212121111222212212221211111222212211212211122111212111212121111122221222121222222222111221212121221111122211122211212212221111212222112222211111221122211122112221211112112222222221122222121221222112111221212212212122112222221221111222222221122221212111112211121121122212212121211112212111121222122121112222112112211211121211121221121122121121221121222112112221111211212112112122221212221121112212122111211211211112212111212222121222221211111211211112122122221121211122121222211112221212221222122112211211122222221211112112221221122211222122112211212212211121211212122222212112211111111111212121221122111111221112222111112222221121121112221121221212112122111221212221222121211221222121211121211112221221221212222222221212211112222112211111121122221211121111222121122222211211122211111221121122121221221211221221111222221211221212112212222211212112121112122211111211221211212211122111221211121111212111222121222111211211111222112111121111222211211122212121111222211112222212212111211211121212122122222221112112211121112212211212112221111121121211211111122121122122121212121221221112121211111222221112112122212122212122222212212121212211212222122112212212122221111121221122211122222121112112111221111211111112211122121222111121112121121112111111111111112221222221222221221112221111222112211112222112221221221111211222221121211121221122122222221212122122221121211221112122222221221212122222222222112111212121211211112222211111212211212222212112212111212122211221212121121122222122211212211211111121222122211221112211122121222111211112211122221212211112112122221211122121212211111122111222212112112121112212211122222112121212112112211121212112111122111211222221221221121212212211212211112221112121112212212221122122111121112111211122122111111122222221222121111221212222222111221111211121211221221211121112211122121212112121211211221122122111112211222222112211221212212122211111122211122222221222212112222121122121212121111211112111121122212121212221212112222111211112111121111121211111222121221222211212212111221211212122121111212221112211122112112222122121221121222122112112112122112121211112111212121111212211112112121112111222112111121222221112212222111211211222112222112221121211122222111112122112111111112121112121211221222222221112212111112222111112121211112111222121121111111221212222211221111222211212211121211121122211112111212122122221222112211212121221112122121112222212122121112121122211211222221111222112212111112111122121121211222111212211122212111122222121121111122221112221212111111112221122112221122211211121122221121121211122111221122112122212221222122212122122112211111121211221211111111211112122112212221111112212211222211212122212122112212112211222121111112121121211211112222121221122112221211211221212112111212122122121211122122122211122111121222121112112111221211121121221221112111212221222112122121112221222112211212121122111222212212111112112121121111222112122212212121121221222121122222222121121222222221221212221112222111121221111211111211222121111112111122221112121222112221111222121222211111212212112221122212221211111221211111122121122222211222121111211122222121212111121112212122222121221121112112221221122121212122112212221122212221122121222211222121111111221122121212211111112222212111111212221221221211211221222222212111221221221121212221211112211212112121112221211212111112212211111112112212222212222122122212122111211211121112212221111221222221211121121122212211112121222221112212222111221222222222111121211222212122222111111122222112111111212211212211221122222212121221221122221121212121121212221111111111212121122211221111112222222212122222112221212121212211112221112212211222112122222211222212211222112221212221122111222211111222221122211121212221112211111211212211111122222112111222111112212122111122212212212212122112122122122121111211122112121212121111211212112121222212212221111121121221121212122122221221111221221221222112111222121212212112121122122222121221121211112111121122212121222211112212212211121122212112112221112112211111222221222221222222212211222211211121112112112222112122212221221212212112212221212221122211122122112212211122122222112211222111221121111212111121111222222212111212122211121211111212121221211112111211211221211121112211221122121221122112121112111211122112112211122221111222111122221121121122221112212212112112122122221211211122122121122221112112122112122111121211121212221122211111221111212121121111222122221221122211112111222221221121222111112212222221112121121121221211211112121222122121122222121212211111122122111121212222111121112221211221121212211212212211112111122122222121121122122212221121121112211122112111211212112111121222212122222121111122221222211211112122111212212121112122111221222222121111221121122212212122222222212111211211121121111211112121222221222121212112212222121122222212211222111222122211222211122122121211212112212122111111222211121122211122112112122211212212121122121122222112112111222111222211212221111112222212222111111222211122111121212111222122221111111212222211122122122121211121122121221122221121211211112122212221212111121111121121111222221222111221111222222211221222212211221222121112212211122111121222111122212111112221112111222122112221121221111222212111122121111222112222211212212121221122111222222112222121212212212111111211212211111121111112121111121221212122221112212211212221112221221221111112121222111221112212212122112111112111222212211111222221212121111112221112112112122222121221111112211211211222211111211111111122121111212111221221112221221211222112121212112212221111121112212112122121211221222122222122212211211111112222212222212111212212222122212221222222112222122211111211222211211111211222111121111212111211221112122221221111222212112222222222222222212211211212111211121212221112112222221212222222222111221221122221112222212111121212222211221121211122211212121112112211121222222112212122211122212122112222211221122221122222111221211111112211111212112211212211211112121211122112212112221112121121121221221122122121222121222212222121221122111121111221222122121222222111221222212212122112122111112211112212222121222111211111212121112221122222212111111122211111121112211221111112222121221111121112121111111212221221211121212212221211111121111111212211221122111121222122112112111212222111121221212222222221221212111212121122211121121221121112122112211121211111112121212112111122212121211122111111211111121212221221122121112221221111111212111111121211112112112112122111212122222211221122122212212212222222221212212221221121222221222122111221111112212112112222111122221112121111111111121221122122222212112212211122111111221112111221221222222221122112212212111121222211222221212222122121221121222211222222222122222222112122112211211111221112221112221212121111212212222121211211211121122211112122222112212112112111111121211212211112212212211212111111121212212111122111212121222221212112111121111122211212221211212122222212212212212212111211121112122212112112121221112111221222212211221112222222111222221121221211121122211221221111111112211211222211112221121221112112212212222211212212221121211122212112121212221122222211212112212112111121122112222221112211121112122111212121221221122111222112221111122112112112222211111222112121122111212212221111122212211122112222121112111111122212211122122221222212211211221121212121212122111212122221221212211212221212221221112121222212121122111212212112221111211112111111121212222111121212111212222112212122111222121212212221121221112122212222121211212221221222211122222111122112111212112211211221222122221121121121112211212121212221222212221222222111211122122221211121122211112122221212222221112121211212111122122221221121111122222211112112211122211111121121211211211121121221122111221221121122221211211221222111212112122211121211212211111221112211112112221211112222222112112211221122111122111111111222122211122111112222111221212112212222221111112121212112211221212221211221221121112222211112111221211121211111221112122111212212121211212211122221111221221221122122221121211212222121222222122122112112122121121221211221221121111121121211111211121222122222111221112211221112211112221212122212211111211111212211121212211111221121222122121112211221112211211111221121111111221111121112212122221222212121212211212222212211112121111121212122211212121112211122222112112222112121212111222212212212112221222111121222211121121221222121211212211222221221121221121222121222122112111212111111111121111211122112122121112121122111222211111211212212212111211122112222222212112221122122222212221122211212122221111222122221122112121122222112212122221112222112222211121212211222221112111222112212212211221212111212112211111212111222121121121112222211122211112211121211212122111121211121122222212221121112222121111211222212211121212111122122122121122111222212222212212112121221222212221111212122222111222221221122212212212122112211111121212112221111111122112122112211122212211222121111221111111112222112112211112211221122211212121211211111221122122221111211111111211222121121111122111122222111122111112222111122221222212111122221222111221212111112211112111111211122222121211221112112121112212211222222122121221112122111112111121121122221112222111221222212212122212221112121122211121222122112121112121112222222222221111112211122222221112112111122111122212112222211111222212212112211211222221111222121221122122211212121112122122222211112212212112122122111122122222222122111222112221121122121212212221221221121221222211222222211122111122122122112111122122212121112112211122121112211122112121112122211212111122122221111212211212112112212212211111211222212211122222221221211112121121111111111221221221222221221222222112222212111111211221222211121111221212211221121112122121222221222212211122221112212112111122212211211212211111221111122222111222111221212212222222222121111122112222111112212111122122222222221212211212221122212121211121112122122211122112221122121212221121221111221222111112111121122222121221211112222121212111112221212221211111112112212222122211222121221221212122121211212222222111211221212122222222122111211111122212112122222112222211222111212222111111221122122212121221111111111112121111221121112112211222112112212211222212211221112221122212222212221122112112122121211221111122222221222121112121112212112222221111121222121121121111111122122122122222221121211211221122111222111211112212211222211121112121112112111122111121212212112212211221222111221211121121221212112212221111212122221212121212222121212111212111212222112222211112121121211211111211111121122221112212221121112222122212111212121212222111211111122112121221212221221211122212112111212122122112211122212222221211211122112212222222211122111221222222121221121212222122221211222111222212122111121112221122221122212222121211122221212112112122212112112222211111222211222111221212211222221211112221112112221111112111111221222111211211211111111212111211222212211212112111121211122221122211222122212122212111112221211221121111122212212112221222221112122121221122222121121111112212212112112112222111121111212122222121112222211212221122112112122222112221212111222221112122221221112212121112212111222211121121112221121221112212122111112212212212212212212121121122121122212122112122222212212212111211212222112122222222121122111211212221122221221222111111221111221121221211122212221222111212121121111112112211121122122122121212111221222221112211212211112121211212212122112221211212111122222121222112122111221122222211212222211111211221222111122112121112122221211221111112112112122221211112122111222112112112111112221222222111122112122112122111111122212212121112222121212211111212111112111111222112212122221222212211121111121122111122221222111221211222222111121111221112212111122121211221121221222211222222112111221211221222112121212212111222221212111111111111112112121222111211111221112111211211112222121121212222122121211212122222221121111112112212222212212222112122212222211122212222121111211221121222112221222221121221211222212211122211112121112221111221211121122212111121222112111221212121112111111221222111111122211211222111122112222212122221122121111212211221121212122222111112112222121221212122212111212222211121112221111122111212212121211111111221122211122211212212221211222121221222122222122212111121212221211111121221122211121111121122211111122112111111221222211121112211212211221121111121122122112121111111212122112222122211222211121111122212221111212212122211211121122112122111121212122122221122222121122212212121222212221122121112111212222111212112111112121111211222221211122212112111222221222212222212122222212211222121221211122112121222212111122121222212222122121211122111121122111212212211212111112112221111112121211111112111222122111221111111212111112221222211211222111211121211121221222212122222221211111112222212122122122121121112211111211212122122121111221211211111211221121122211121212112112112221122222112112121211112211122112212221112212222111211222122222112211112221212111122211222122211212112212112111212212121212121221121112222121111222221122221221221222122111121121112222211121221222111121211222111211211211111211122111121221221212122111112211111112211212222111211121121121121122111221212211211222112211121122221222222111212121212211112222112111111112222211121122121212222211121222111222111211112221111222222221112221212222122111211112121112222122211111111212112222121111222221212122221221221111221221121211122222122111222112212212122121212221222111212212121111211212221221111121121111222111121221111222212112222121122222121122121211122121121111111122121111221111122111212111222221122211212121221112121111112122212212212122112111112221212112111111211212212221121221112111121222122111221121121122212112221122211212222121121112112122211112211212212222112111121112222221212122221121221112121211111112212122122222122122211121212222112121111111222222222212122121212112121111221121221111221212212112112222212222121122112211222122111112122111111111122221112122212222112222221212121111122222212212121112121122112121122221211121111221122211112111212121222212211222122212112222222221121122111222222111222122211122221122211222111211122111121212212211122211122121121111112221221211211111121222212212122222111212212212211111122111212212111221222212212211122212221112222122112212222111211122111221112212111112112221212122222221221122112111221222222221112211121111211212122221112222211121221212211221122221121112221211222122212222122122112211112112111211111111221212121122212221211121111211122112212221212122112112121122212111222122122222222122121111112121211121221211212112222112112122111222111221222222212212122222111222112221121212212122121212111111222222112211122212121122112111122122111121122122211111222222212122211211211112221211121222122211112222111221221221111112211222111221222222221121222122221121211122211111121221211112222221121212221221121212222222211221211212222112211122111211111122122211222112112112121112112121122221211121222121112121111111112111212222212112221221121212222111111122211222112221222112121221111111212221122111122111111211222211222212112122122112112222111211221122221212222121212112222111221112112121122222221111112111212221111221111111212121111112211111111212221211111111212121212112211111211111221112211122212212212111111122112121221121222122121111112222111212222111212211212112112222111121211211121112222222212221222122122122122121221221121211111122112121211221112122111111112212212221212222211122221222112212222212211222121222221222121122222222122121111211111222212111122122112121112122212221112211211221212222211111121112222112211222222122211122111212221111121221112111121211212111212111112211222221111122212111221122221112112111112211122222221212211111221222212222222122212221122121222111212211112122121212212212112221222212211222212111121222222212221221121211211212222221211221221111122211121111211122122211111121212111111222122222122122222212112112122122212211121121122111122211222211122121212122121211212211112212222211121121212221112222221121122121112221111122212121122211222212212212212121122212111122212212222112211111221122121212221212212112112212111221122221211212112122221221211212222112211212211211112122221222121121211122211122212121211112122121222112121212121221222122112222221222122122212222211212121122112111112122211122121121211122212122222122212221221221122221112221122121212221121122121111111212221122221211212121221122212122212111222221222122211221122211111121211111112111222111211122221122212112221111112221211121211221122112112211112222112112111212222212212221111111111221122112111212221111122221122121122222121211222112212221211212122222222212212111122111111122111212121222112211122212212121222212112111112221221111212212122222121211111111212221111121111212122212121122111222212121212211121111122222111121122211222221111122111112112212121211122121111212122222122221112222211121222111112121222122121122221112121221112222221212121121211112122122121112211221122112212111221222111112122221111111112222212221122121111211222112121121221212121122111211121211221112212221211211222212211112122122211212112121211212112222222112111221112121121111112212111122222122211222221122222212222112211112121121211122122212121221221221122221112221212212121222221221112212112212112112222212112122111121121112222222221122111212112221121122221111212111222111212211112121111212212111221212222122121121122122221111221122111111121221111222211111221212122221222111212111111122121221212221212211121211222121222112221212212212211122222221122221112222111222212222211111121122212212112221121122222121121212211221221111121222221121112221212211211111221212221112212121222112112212221111212212112222121122121111221121111222222211221111112112212221221221222211222221112221121112212211112112222122212122211221111221121111121221111211221212221121221111122112111221111122111211211111212122122111212221121112212122221111212122221211222212111222211221112212222112222221111122221112212122122222122221222121212211221221112112211112211121221111111112222121121211222121122211211122121221121222111222212221212221212212211212111222122122212222221121122212221122121121222112212112121112122221211112212122112222212122111222212211222112122112121222221221222212222111112221211122122121211112211222122222112222112111221221222111212221222221222121112112212111211122122121111111212211211211212221222111111221111221221112212122211121222121122221211121121212221221122221111211221122212122222212221222111212211211222111111111222112112112122221221211121121212112122212111212112111222112221111112212121222211122112121121121121111211112212221111121221112111112111122121111211112211222221211211222122121211111111222222222211122111122222111121122221212121121122211121111212122122121121222212212112122211111112121211211212221211211211111222221222212111122221122221221212221112222222112211212212222211112221222112112121211122222122211121212112122221121212112211112121222222112121122121111211112212212112212212121212122222122212222111222111122212212222212221221222122221111111111222111111212211112122211121222212222221212222112121111211222212221122121212111222221122112121221112211222211112111112121111122121112212121212121212112222112121111212221212121112112112222121121211222111212112121122211112122111222211221221111221212222111122212121211122222122122112121222122222212111212221221122211121212212211111121211122111221111112122111222112212212212121211122211222121222121221222122212212221112211122222121222122121122221111122222221121221211112122211122212112212221112111121222212211112211121212211211221121211121112212111112211121121111111211211211111211112211111212222212122121111121222111211212212121112112121221121212211222111221111112112122222211111212212112211112112121221121122221222211221122212111221212221211221121212211112122121212212222221211111112222122211211111212112112211222121222221122111212222212121221111212212111112212122212112212211222111122211211222222122111111211221111221121112121221212111112211112212121112222211211122211121112221211221221111122111211112121111221112122111211122121121111111221221211221212221222122121112121222122112111212122122122122222122121111222221111122122212221121211111111222212221122121111222221222211111222222212121221212122111121121222211212111212222222222122121212211121111221222121111122222221212122222222222112122111221221222222111212112111211221121211222112121121222121211112121111222112112112222221112212121211112111111221121112112122222111221212211222212111121211121221211211221221221121111221211112112111111112112222211212111222221122211211122112212122211122111111222221111111221121222111212111112221121211112222111112222222122111122111212211222112222112111112212121211211212112212112112112112212222111222221112111121122212111212222111122112211221121211122121122112211222211211112112222212121222221221211112221111221212111112111121211122112211112222222222112112111121112221112222111121221122111221211222222121122222122112221221111212221121221112221121222211122121212122211121212212221121221222121221121111121222122122112222211111222112222212212222122222112122222212212121222222121221212222112221211212222111211111111111111121222221212121211112222212111211121222212221211212111211222212221112121212221212222211111222212111121212122121221222212122121112222211211121121121212222122221121121121221212221222112222221112211211222122211121211221112121121211112112121222112212211112222211221221212221122112121222111122122122111111221211112112111112111212111111121112212221112112111221221211221211212121222211211121111222211122222111122212122122121112221222222111121111211221222111122211122111122111122211112221122122122222222111122222211121122121122122122122222212211211212211221221121222222121222111121222211222111212121212221122122121121122111221111122122212211211122222221222221122211221112112221121122112121211212112111112121121111111211212221112221211211121121212111211222212212222221212122212121121222211221211221112111112111211221222222122212112222211111222221212111111111221211212112221211121222221211221122112121222221111212211212221221222111222222122112122221212121121211221211212211112221121122212121111212211222221221222221112221212222122112221212111221121112222222211222221222221222221212212111121121212112211122222212212111221122112222211211211221221112121222211121212122212222221221212211111121121121222121212112221211111211121222211111222222211222222121212222122211211122221211212212111122212112112212122211122122221212111111211211111112112222111122211222122121111121212121121121211211111111122211111121212112112122211221212121112121222221211222211212122221111122121212221221111122212111221122112212122211222221112222211112222212222212111121122211212222221212211121121221212122211122211122221111211121122221121221122122121211111121112222222121121121122211212121111221211211122212111112221111221222212221211221221212211121212111121221112111211221212111112211121111211122221122211221212221221121112111221111212111212212122212112212222222221122211121122221222211112121121111122212111212221121112211111111111112112122111211221211222211112111121121111112121122211221111121111212212122221111122122121221121221122212112221112222111221112211211211112121211212221121212211111122212211122122222121112222122111222112222212221112212222112221212221211122121222212122222222212122112222211121222122121111222111121121212221222221112121212112112122111222211221122222122121121121222222211221112211211222122212121111221211121221212122222112111122212211221211112111221211122121212111221221221211112112222111212222211221221211222221211211121122211211222122122121212212112122122221222211112221221121121211221221211221111212112222112111111221221211222221221222212212211211122112212222222212211112121212111221111212211121222122112221211122221122211211121222121222111222212111211112222221111122221221112121121111221222112111111122112221222222211122122111122221211212222212112211221122222111111122112221222111111211212112121222122212212221222122211221212112221212111112122221212212111222222111221211121122121111111221121121212212221122212112111112221121111111111121111221211222111121221211221211121222221222221212122221211212112212222111211222111212222122221112222222112122211212212212221222121121212212112221212122221222121112211221221111111122221211111121121112121222121111211212112122212122221211122212212112112221221111222211211222122222112221122212221221121211112221111222221221112212221121121112112112222122211211121212112111212212211211122122212121221112212111111121112112122222212211222122221212121121222122222212112212222212212111212212211221212221111212212211112111222221212112212221112122111112211111211222121121221121121121211221212121122122211222221122121121121122122121212221112212211112211112121221221222221211211111112221221222222112222211111222222211212122212221222121222121122211222221212121211211212121222121211211212221221112212212212121212112221121212121111221211112112112111212212121212212112122211122111111111222211111212211121212121111221121121112121222112121211221122122112121111122121112112212111222122211112121212112112122212111122221112221122221211212121121111111121112222222222112222222211222122111112121222112112122212112122211121221212211112222222211111121211222211221221112112121212222222212112221111212211112212121112221112212212112211212221212211222221211212212211111211211122212112211121211122122221211211222222211222121222211221211221111122112211211112112212211211221222211221221111112112212111222221211221121112222211211221212112112222111121211221222221111222112121112212212212111121111112121111111212211112122122112121112211112111221111122211111211211212121121122212111211121111221211121121112121122121111212211121112112111211212222121121212221211211222211112212111221212211212111122221222111222111121212121121211221121121111212212122122112121122211221122111212211121111221212121211212222121212221112121212121222112121221122212221212221121212222111212112121121121122122111121212211111212121111212222211111112211111212212111121122111212122121222121112121122121112212111111212212111221111222222112221212111222212112112112212212222212222111212211212212211111112112212112211211222112121212121222221212121121121122212221121112122111221211222222212221122222112122122212212221121211122122111211222111122111212121122122121212222121122222111221221121221111112111111211212112122121211212111222121211121111112121211222121112222111221121212221122211211121122121212221122211222212122211211122222222111111222211121121222212111212121222122112112212111212122221122212222212221211212222122221121121121221121112222221211222121121121222212222111122211111211121111112222221212121122111212121121221222111222121111211112221212211211221211111212212112212111221122211212222122111122122122211212122112221221122122212112221222122112212211211112121221112121111221122221212112122221121112122211222222121111212121211122111111111221222222221222121121121212212121221111221211121212211211112222222211222122122121222111122111211121122212221112111211221122222112211211112212211111222221211111121211221212212212121112221112122121222122222221121212221211222112222211221112112111122112211121211211211111122221212212212222121111112221121221111122211112212111222212221122112212122221212212121122121121121112211121112111211222221112222111121211112122211222122122122212211111222222222212121222111211122211222211221122112221212112122222121122211212122112221211211121122221112211212122122121112111221122222211112222112121211112212222221211111112111122112111112211121111122112121122221122112111222222221111211112222222111122112212111121221211112122211122112111121221122212212111211222211222122212221112222121221121221112121112112212122222221121211122111111122212121111212111122112211112211112122111211121211211222111112212212212211122221211221112212112212222121211111212111222212111212111222212222221222111211112211111222112212212221212212122211122122222221112211222112211211212212111122211112222211122122222222211212122221121222122112111222122121222111122121221212121122112111121122111111112112221112211222212211121112211221211112111212121121111111222111122221211222222221112112222222111112212121121121121212112112211112211222112222222112221222212111212221221122212221212222111121212212112121112111211211121211121222122122211111122211212211221111111212112121221112221222221221121122222212121112211211121211212221112112222122122121211221122211211111222211222212121211222111112212122222121112112221122212211211111121111122222222221221221122111111121222112121122112211111122122221122222222111121212212111211111212222212212211221221122122121112112211212121122111111111211212112211222211221212221212211211121222221212121121112221122212112112222211222112212111112222122222221122112222212121112122212112121112211111121221222111221112222112221222111121121212111121221212221211212112212111212111212112112222221211122212211222221111221222122111111221221221121221212112221222111112222221122222222222221222111221211122112222211111212211211211211122112221211221112111112122122112211121112111222112122121212111111122212122111122221222112222222122221212111221121221122211122221221112211211222111221111121221121122122112112221122212221121111121211211122121121211211221221111111221121111122222112211211221211222121222112122221211211221221122112221112121212211122111222222222222211211212112121212122121212221222122112112121222121111111111122122111111212122211112221121122222222211121221222112211121111122211212122112212221122211221112211122121111221111122121222121211221222221111222111121111211111212121212122222121221121112221222211112111111221111121112221112221221222121222222212111112221212222211211112111222222122212211212212211212221112222221211222112111212112211212122111112122222111212222212222211222221122112222222112212222222112122221212212122112121221211122221112121212222222122211222211221121222221221111222212112121121122121222222121111121212211221222211122111211212222122221221222112211211112121222211212221221122222222111121121221222222222221122111121222222221111122112112122211212212221211212212122111111211112211212222112222111112221121122121121211211212221122111111221112122221121221212112112211112211112121112212121222212122111211122222222121121211212122212121111221111211112122222121121121211222121222112112222212122122212211212212222222222221212111211112122221112111111212122211112211112122122212121121211121111111111222222211212221121221111122122212211122222212211222122211122112211112222222112121211212122212122221112211112121222222212112222121111111112122211212221222221221212222121211222111122112112112221211121121221211121221222222211212221112122222221122221212112112222122111121122211221121111211221211121111222121221211221112212212122112122111222122112211122221212121221121222221112111221221121121211112122211211112212221211111222211211121121222122221112212121111122222112211212111211121212122122111121112222122212121221211121222211121222221121222111212221122122121221222212122222222112212111212111222112211122221211221221111111121221111112211122212212111122122122222222121211111121112122212112112221122111121122121212212111221212122221111211212221112221211212222121211121221112112122221222111121122221122221221111111212112122211212111211122221121211112121222112121211212111212211222211222122122111221111212221222211211211221212211222111212111121221211121221122211221211222222222121212212111212221212212221121111112221122122112211222211122112222222222111212121111111212211222121112212211111112122121221222212121121222112112222112121222121212121122222111221121212122211112222121212211122221211121122221212121221221211211221212122211221111112112211222112112211222121212211221212211212211221122111212111221212112122111112121222112112221222222121111122122122211211221222111122221221122222211212221112211212121112222111222212211122212111211111122112211122221111121121122222221212121212112212221221211211121212112112222211221222222222212121221122111212121121222221111121111221211121122211212121221221111122111112112121111111222112221121222222212211212112211121221221222211111111111221121122222121221121212121122212221212222122111111212112221212212211122211121112221211211111122121112121222221121221111221221121111112111221112121111111221212122212111212111221211122221112122212111221121121211121221222111212112211211112112212112221221111221221112112211212121222122212222111122211212222122122111111111122121112112122122221121112211111221211122122211122112112211222112211112212222211212221121212222212212211122111221111211122222222211212112111222211112122211112111212211111112122222222111111212222111222221111112122222112212211121112221122121111211222212112212212122121222122121212222111221221112221121121112111112222212112112212112111222212212221111211222121121222212112121221122111121111212121221221112112122121121111222212112222212212111221112112221111222222212122212221211212221221222121121121121121222212212221212212211111221212111111221212121212222112221121212222121112222212112122112222221222111222112111211211221111112212211211222221222212121121212221111222221212222112222212221111221112111121112122212112211122111122111211112122122212212211222122112211121121112212221222122222111111211112121122222112212222221121212111122211122121222222112221212112222121112211222111121121111222212111121121212112212122221222112122211212221111211222122111121122111221211221222221112222211212222212211122122211111212211212111122211122211122211112112122211112111122212112212212122112222111122112221211121222112111122212221222112222211122212222122112112111122221222112212221121122111121121121122112212212222111212121221211111122211112121211222212112121222211112221111222111121222221122221221111221212111222111212112122212212111211122222112121212212122121122122112111212222211121222121211122122212121211221112122122222211111212222211121111222121212221121111212122122211221212222122222222211221121121222112111112111222121112222112111212121121222121212221111111211212222112121212121222111221212211122212221111112111212111122111121211121211221121211212122111111121222222211122212112212121122121111112221221121111122111221111211122211222222111221111221111122111112212222222222221121122111221112212111112222212121211212121122112211122122221221222112121222122221222122112122221221122221212221222121122211221221222212121211212112122111211211122112122112222122121111221211112122111122122122121111222122221221111112222211222121122212211212222112112111112222112211222221121121122122122211122121121212212212122121122211122112111211212211212121222222111121221222221112111122222221122221221211221122222221212212211112211111222221112122112112222112121122121112221212212211112221121222221221212111211122212112111112222112121111211221111122112222222211222211211221112211122111112111111222212221121212122122122222212122112121221212121222111121211211221121121212221222211211122122112122111222211122121212111111211222121211111212122111222112122212222211211212111121111121212211122221211211221122211121111111122221111112121111211112222211112221112222221222211112221122122222112211111122112212112221211212222212112122211122212121112112211111211222222211222111222211221211211111221111211221112111212121111111211212211222112111112112111121212212111122122222222121212211221121122222111221222122212122221222221121122212211121212221212121221222111212122212121111112122211112121211211211212222221221112112121111121122111211112111111221121122211111121121111212122211211221112112121211221222111212221221221212111221211212222111112222222111112121111222112121222111112112112112212121111121122112212121111211121222212211112111222222111212212121211112121112121112221112221121222211111111112112122112222222222121221222211211111212222111222111111211222211212212211221112111112212122121211211122121111111212122211212222122222122222211221121222211121122111121221112122121121121112121221121212111212221111111211122221222112111221111212111222221221221221111211112221112111112112221221212212212212212221221111111111212211112122122222121121211112212122111221222212111122221222211211222121122111121122222122212122211121211112221111112112112222122222221112222222122112212221121211121121121112222112212121121211222111121122112121212212212221221121211222122111222111212211221112212121222122211121121212111221212121222111212212212221211222111211212111221122121222212211111221112111121221211221121221212121112111221222212221111221212211111112222221221122222211222112112121221211111221112111112111221112122222212112121112111222121212121112211121111122111211122112211211122221122211222222222112222122112111212221111121112121222222222112121112111221121211121221212112221221212211112112122222212122121212112211212212221212112212221222222122111112222211122221221121121122212211111212222121212221111221222212211122222221212122121211112121111121122221122111111222211122212221221111121211122121212212212212112121211212111222111222122221211222112121211112212211111121121121112112122122111111211221121211212211222212211112221212111121212212112121222112122221111111221211121122212111212111111222212122212211111111121122112211121111222121112122212221121222222211221111211112221222111112212112111121111212211211112211221112121111122121221222111212111212112121121222211221112112121212121112122112111122111111111121222212211221112212121211112212112112121222222112121211222211112112211211222121212122221122211222112221122212111121221212222221212121222221222122112211112121211222221122212221121122122221222122211222112121111212211212111222121222221222212112212111112211121212221122211221222222221222111221122212111222121121112121212121212212212121221212121112212121222112111222122122121212121112211112221121122212212222221112212221122212122111121112121212112111111211221212211112112111112122212211222121122111112222212121112122122222222211122111211221211122212222222222112221121221122122211212211122111212212112111222122121112221112222122212111221121211222211121122221221112222212221211221222112112211121221122211112212111211111111121211222112122122122221111222111221112122221222112212222211221221112212111221121221111212112121112222211212211111212121221122112211212222112122112212212222211212122121122211122222212211221222211112111211121111221211212112221221222212211211112112222212121121211211222211121111222221112221112222211211122211122122212122222221212222221122122221221222212111121111121222211221221122111222121112111212211111221112212212211122122122211122212122121221122221121111111221221111112212221122212112122122112222122122122112222211212211121111211112221211211221122222211112121211221212122112121211212112212211121122221112212222211122111221112212211112111112211112111212112112211222221221222211111122111122211212122112121222121211211221121222122211121112222212111221111221212111122121111121121111122212122212122211212122221221222221221222111221212221211122122111222121211212221121111112122212222212221122211212111121221221111121212121112112222221211121111122222221211221121112121121211112122112222222122211221122112222122111222122212122211212211212212212222112221111111111111221211211122212211211212211111212222211222112212122221112111221112212112122121122111222221222221121112121111112121222122211211121122122111221111221111111222222111212121212112211122222111221211212222111122111121121121121222112222212212212221111222222111212222211111121222122111111222212112121221111221222122112221221212211122221222221211211112222112212111122212112121221221121112222211222212111211111222222112112112212122121121221212112112122111222221121112222122222112112222112111111111121212222122121121121112211221222112221122122221111221121221211122212211111221211121212212222112211212222212122211112122211112111221212212122221222212212121212122222112221112121212221122211112111211111212122111222121121212122122111222111222111212121112221122222122122121221121111222212111121112121212212222122122222122222211212121221222121211212211111121112211211211212221212212111221111222121221222112111121212212212212222212211112211112221212212222212212112121112211211212211122111221211221112122222221112121122112221212222121222211212111211122211111121121121212221212122221211122211121112211211222111121112212222212211222222221111221221212112212112122221121112222112212112121122221112112112121221111211212221121121112122112122122112212222221112211111122111221221211112122122211211211111112121121112211211122222111221122112112111111212221211111211211222112212111122221222221222111112112121121121212212222211212112212111222111222121211112122122211111122221221222111221211222121122121122121221222212221221221121222212122111111211122211221112222111111222111111122211111121112122112222212111222111121221211122211122122112112221122212111111121121222122212211221212221111212122121122112111211122222121222112111221222111112222221112221211112211212211111211211212211122122122111211122111212212222212212211121111121211121211112111221221122212222112211111122121221212222211221121221222221112211121212212212122111122221211211111111112111221112221211111121121212221221121112121222221221121111121212122122111211211121111112221121212211111222112221212221112211212211122112122222112212122222111222122112212111212111212221122121221122121112121212222121221221211121211112112121222222221111121212121211222212112122121111221212221212121222112211221221121212122222221211121212212222111121212122111122211211212121121112111212212121211111211222212211221211221212211121111111212122211212212211111212122212121221222121221222111221112112122222211221222211112121221221112121111221221221112122121122211221222122211212122112221222211222121111211212212211212211221212111122121112212122222112211211211112222121111112211122111212222121212221112111212212212211212112212122111111121221211222111221112222122211212222121112221221112111222222121121221212222111122222122111211222221211122221112211112121122122211221121211111211122222211212212222112221222111222112211122111212111211111212122111121122211122111111221222121111122122121121221112111112111222212211222121212212222211221112122122222111222211212122111222111211122112121121111221221221111221111212212211222121121111121222111221221112122211221111122112221111211121222121221121221122111122211122112221111112221222121111122122212112111122112111211212211111212222112212112121221212211211111212212222122111122211121211112221122122212112211112212222221211211112211221222222211222122122112111211222122112121212211211222212111211111221222112211211211122211222112121212122112122122122222111112222211212221212121121211212211221222222111211212212112221122121122111111111222111112222221111211112211122211122121121111221211122211111212211211121221211221122111221121212212221211121212211111222111122111222111211211212211122122211211121121121212222211122111121122112211212222112112111111122221122121112221221121211221211111212211111111121111122111122112212111122211211211121221222211212121222122121221211221212221211222122221122111221222222112222122221111121121122212112211211111121111122211212211112112222211212112122112212211222112211111221211121222222121211121221122112111212122211221112122211222212211111222112111122222111222222121222122122212121112121222211111121122112212112121112121211211121112112222112112222221222211211121212122122111122221222211112122221112212121121222112211221211122212111222221211111121121112222122112122212222121121122211212121112111112121212111121212221212221122111211111221122211121112211221211221221122112121211212111211212221122121121122111111122211112112221121112111111112112111112121121222111212222222112111211121212112111122112212121211212221111222122122221122211221111212211112111211122111222122122122111112222222111112222111122211211222211111211111222212211211211121121222122122112211221112212121221121122112121112212212221122222212121222221112211112122112121221112122112211112221122212222211121112122212112212121221211121221222121121112111221112212112222112211222121211222212122212122111212111122222221211112222112121111112222122121112112121221221222111211111112111222212122211112211122121121212111121212221111221111222121122212111111212122122212222112111112211111111112221212212121211221212211122211221222111221211112121122212211222122122112122222222112222221111111211221111121221212221211222111122211111112122112111212122221122222122122222211111121112212122212122211211212211121211122122122111221111211121112221222221222211212111112211111211212222112112222122111121212212111111111211112111122111212212211212211221112222212212121111221122222122122221112121222222112221222112222211112121111112121212212111212122211112222212212121111122122221121212111121121212111112121112111211222212212211122121121122122222221122211212122221121121112111211111212211221122221121212121122111221112221122212222122211112222111121212122121222121221221222211111212222111112111112111112222222112122222211111112121121221121222112111222211122211222212122222212121122121211222121121211111122112211221212222221111221212221112112211121122221212121212121112111121221212112212122111211211121221211121222222111212112111222111221222112121211221222222122212221121111221122121121211121212211111121212112112122112122122211222122211221112212111212111111222122111222222122111112211111212111222212112121222112122222222122121212122222221122112222122212111121221222121212221221221212121111121111121122221222122221211122211221112121222212212212211122111111212211211222212211212112212221212112121111122122122221122222211112111212211212212211111212211111121122212111111121121212222221111212122212121212121122122121121111212111121121212222111222111221222122222112222211111212121211212211222211111111221111121222221222222121221212111122122112222112221212121121121212121112122222121112112221112111222111221121122212211112222121211121221111211121112221212121112122121211211222112221222211121211111122211112221222112121211212111212212212112112211122211211221211122212211221121111122212222221221212112112112112112222111211112122221121122222212111112211122112111122221111121122221221222111221122112122222221221122222122111212121121121222221212121222112111112112111121221111122122222211112221111222121221221112221122122112121212112211222112112111222212121221122122211221121221221111221221222212122211222121221121222111121222112221112112112222221121212112112122121111212221222211111221211111222111121222211211112112212122221222222221211221121112111211222222111111211112121111212121212121122212121111111112112211121121111221111122112221212111211211212122211111222112212112121212222221121112221211221222112212222211211222212111112212121122211222212121121121222112222121111212112122211211121222112211211222211212211111211112211111211211212221122221221121121122112212111112111222222122122221212212212212222221222212122221111122111212212121111112111122112222111211211112112221211111221211112211122112222111122122211112211122211211221222112111111121112122211212212221112212111221122222221211222221211212221222122211221211222111211222221121211112221111211222121112112211111222211221222212112211122211111121111112222122111211222121221222211212121111122112212111112112121121212121122121221212121222121112211122222122111122211121212112112211112112121121211111112121222222221121121122122222211111212111211222111111221112122111211121112211111112211221112112211221122121211111221222211112212222212112122211212221212122111211222121211122122221121112211212212211211111121121121222112221122112122111121121222122222112111122221121221222111211121222111211112112221121222212212122122211222121111221122111121212211222122121211121222212212212221212122112122112111122222121221222211122212121121222111222112222111221221122221121222111211212121212211221222221221212221121211222212111211211222212122122212212222221212212122212211122212211122111212221211122111221211221111221211121211121221121212122221111212112221222211122121111122211211211222121111221212211122211111222211122211212121122112122112211112121211212222221211121111121211121221222112111221221212111111211112112222222212212222122111111212121111112221121111111221122112212112111211111222221122212222121212222122122122212122121222221112122211212111211211122211222211211111122121212212112122212121221222121121112111121121221121121211122221211112221221112112221222212112111211212221111211211121211222222212211211122111112222222222112112222121121211111212221211211111221222221221222122111121122112111111111212122212112212121112112211212212112221211112212121212211122121211112212111212211222222221121212222122112121212122222122212211121121111212222112111211221122211212221122112121112122122111111111222222222112211122221111221111222122111122212122122121222222112221122221211222122121111221111222211212211212221111212121211212121122212121112222122121121222221121122121221212221112111121212121222211212122212221121121221222121221111112111221111222121222112211121222222211211212122221112112221121121111221211221121222121221122111112122222122212121212121212222211221111112222122211222211112112221221111112121122222122212112111222212112111222221121221111121121222221221221222121212222121212122212222222111221112122121111222222221211212121112122221111221112222121211122212212222111222222222121211112111211212222222122121211112221121122121122111122112222221122122122111221121221221111111211122122222221111211121222221121112212212221122212222211121111111111211212111112211222222111212211211111211212112222212121212121112122212211212211111212122121212212122212111122111222111111222222111121111212112121211221122121121221222111211211221222111111121221221112112211121211122221112111112222212221122211121111111212121222112111121211212111222221121221212211111211122122121212211221211212122211112222122111222111112121112222222121211222211112222211222121112122121122112111211122121221212112111221211212111121212122222122222121222212122122112121112112211111112111111122212111221222221221122211212221212112222111222122121122112212212212112212222122212112121122211112221211111221222111122211222212212122121212211222121212121121211121112122211212212121221221122212221211222211212212111211212112221121112222111122111212212122211222111122211221211122221121211212211122211122222211211111121212221212222111222212221122121122122212211112222211212122112112121212212121221122221212111111122122211222211222121211122221121222222111222211121211112111111212221212111121212212212222111122122112211121211121211112121122122221111211122212221212111112221222212222122122211222121111121211122222111212221122111122222111111111121112222222112112122112211212111111122122122222222111222111212122212121222211122211111122212222221111222111211211111211221122122122112221221212222121221212222222211211111111221211212212111211221122121222111111212112112211221122112111112112211212112222111212212122222111212221222222121212211121122122221222121222121122211212122221211212122212221122211111121112111222122122221122112221221221112112221112211211121221112112211122221212211111121121211122222211221212221122222121111112122122112111121122122111121221121212121122222112221221112112122111122212221121111222212111122211111121111211122122212211222111211211122212122122211212112222221112211122122222122122222211122212221222121221211121221211211212212122221121122212211222111221222222221111212212222212121222211112121222221212112112222122121221122221122211221122221211222211222121111222221212111212211111112112212221221111222212122212222222221211111211221122122221122222111221222121212211211221112122222221121112112211111122211222112212112222212212211221212212221122122221221121121221211221221211212122211222112222112112121122122212112112211212111221222211212111222121121221221122122211221222121122212222122111222211221121221121122211222121111122222111221211121211111111111222111122112222222212111211122211221112122211211212212112121122111222121212121211121121222112211112122111222221212222112111211212221111111112121122122211121212122222211121222121211211212212122112122122212121111212211122211222222121211212122112212222212212222111121222222222112122112111122121111111112221121122122221212221121111211121211211212111211121122212212211122221112122222222212222121221121211222211111211111111111121112111211212221112112222212112122222122222222112221211122221212112122221221111112211222211211111222122112112121112212122111222121221221111121122212112122112211121221122112221212121211212212112122111122211211221222112212122112122212122112122121212211122111111111221111212111121212121122211211111212112211112212211222112212221221111221122222212212221211221111221212222222121122112212111121122221222122122222211122111122212122112221111122221122211211222112211121221121111221122222212221211211112121111222212211112111211222112222222111212112111111211212122111212121211111111111122212112212121111122212212122212221112111122222212111121111212112121122112212211221211212121212122222111121212211211122122122112221111211111112211122112222111111111111222212212211112121221211212221121222212111222212222122121212111111122222112111122212222212221112221222221222112122111222221112221112122122221121211222211111111222111122111122221211111122211111111111111112221111222211122212112121111112111221111121122112221211122112121112222221112112211121112122121222221222111122112121221221211121112121211111221111211212222211222222212211221212122221222212122111211122112112122112212212222212211212111111222112212222212212112121212211211111111211112211212111222221121111212122121222111111122221222111212111212112221112212121111212221221112212121111212222111222112211211211221121111121221222112212111222211222111121222212121111121211221221221211122112222111112212222212222121121122121221221222222122111212111211112111222122121222211121221222212121122112221122112112221211222212112221222211111112212121122111121121211121211212221112211111122221212121221112221221122222222211121121122112222112212222122211122221112211212211122111111121222221112111212222112112112212221212112222121212112212121122121211221122112112222122212211111222111111121211111121111212112212112112212111122221112121122122211111121211211112121211211222111212212212222122112211122222122212112221221111211122212121212222222211221212112111221212112122121122112121121212112111221212122111122222112111122112121221121111122122211221212221121122212221121212211222112221211112222112112211112112111121221122222121122121111111212211112122221221122121111212121112222121222212212111212211111222222221112211211222112212122221222212221221111222212221222221122111222221111121221121221222211111112111121212222211121111111111211221221222112121121211212211211111212212222211211222111222212222122211211122112111112212122212111121121112122122211111211122112122222221112222121211122221112221121211212211222211121122112211211121112211112221111221112222211112212222212212222111221121122111111222111112212212111111112112211222212121121211121221212122211222122112112222121222221121222121212122221121121112122111122121122221221212222211212212121112112121211112222122212122121211122121112122121221112122212222221221111221212122112111111211121212112221121212222111221121121211121211121211222221121222221121221112211221122112111222121122222222112122121122221111111122121212111121112221222221121111112212222122111212111222122111111222212222221222222211111121221121222222111112121222112121121221221212122122212111221222221121111122122122212212221221121222121122112221121112122122221112111121112221121112122221112122112212121212221211221221122122121121112111212212121222112111212111122221111121222121122121112112122121211221212222111111211221221122222112222211211222122111222222122121111221212121212121122122121112111222211112222112221111211222212211122211122211221222212222112112122122222121122212222111221121222221121122121111112112212222121221112212121211112112212112121112222212112211121111212212212221222112122111221221222112111111121212222211122112212221112222111212221122221121111211212222111211222212212111111121112211211212212212122121122212121212221222212122221111211211211222112221222221112112212212111111222111211221111121221211212112121221212222111212212222211112211212112221122122211122222221212211222112122212122211222211222121212211122221112221222122121121111221211122222222221111112111222112221111111122112112211212122122111222112112112122122222121122211221122211111211221112111211121211222112112111212211122112122111212222221111222121112212212211121122112112111221221122212222122211122112211222212222222111211221112221221212111212112112221111211211222222211222122122212211122112122122212221122212221122112111112211111121111212212121111112221112122122212212112111111221222211211122221221111211211211111222121122222222122111121212212121111121211121122222111221221111122221211121111121122211111112222222111112122121122122211122121112111211121121222221221222212222121212222211222121122212222111221112121112121221211222122221121112212111111121111111111111211122222222121212112112221211212121222212121211111222211112111211121112211121111121211211222222111212211221222111111221112212122221221211122212112121121211111221222212112111111212122212112211111211112111212111121222222111112122122211111111212222222222212121122122221211112121121212221122111212222221111212211212211121112121221221122211111122121121221212211211212121122121121122211111121112212222111122111212121112122121221111211111222211121222222112211111221222211122212222221111112112221221112222212211212112222121221111222222222122112122211112212211212222111121122222222222211111211221112121221222121111111111111222221111221211221122112211211221211211111121212211211112112212111212211212112211222112221121221212122222221221221112112112222122222211221221221222122221112111212121211122112112222221222222111121112222211212111222212122122221122121222111111221122122121221112121221111111122122212121221212212111111112112221122122222212212112121111112121121222221111121221121121111112211212112221212112221222112122221222112212111122222222122212211222112122222112112212111211122122121112221211112212111112222111122121111122112212111212111212221221221112111211222221112111112112122112211122112212121121122221121221221222121222112121122211222221221111222121222221211122212121212111221112112212211222212212112212212212211211221111122222212211121111222112121122121111121211122112112122122222121221221122211222121222121221211212112122111222122112222122221222111121211112121222122111111221221212211122122211221221121122111211222112221111212111121111121112222212112112221122111212221112212121111212211111211112111122111112121212111222211121112121221112122111222222211122221122112222222112121212221211122121212212122121112112211212221121212222111122221111212111122122121221222212112122211212111212112221212122221111111212112121221212221121212122212111111222112112212222121112221212212222112111111111221121222211121222112111112211122111112211221221121221111221211121121122212122221121121111111212211212212222211221121111121111221122112122211111121212212212222121122122211122112211111111211121211112212211211112121222122212222221221222122221212121121221211122222221112112222221212121221121111222211222211212222222221212122112111221121222122222211211222211112212111211111222122121122122122211211121222211121122112121111112222121211212111122112111212221122111221221121112221212222112112212112221221212111112212212222111112121112111212121112212121221211111221212111112212122122111111112211121211222112212111222112111121122121212121211111121112211222212212122112111222212212112121121122211221222222112121112221211121122121121111111222212212212222121212112121212121212222221221121122222222111212211222121212111211221121121211211111221212212112122222212111122122121121212111222111221112122112121211221111112122212212122122211211111112112121221222122122111211111222121112221211112121211121212122122111222222112111111122121112222122212211212122211221222122212212122112212211121121111111112121121111111111112112112221221112122211111211122211121222121122222112212221222122221122111112212112212212212121221111221221112211122221122122222112112122221222112121211121122111111122222112221221211222222222111211221112222122221212121122222221212212112222122112112121212212122211211121211221211212211112211122112211111112121121112211221212211221121122121212211222112122112212122122221111211221112211111111221112121221121121212222211112121222122212211121211121111211211122122112121221212221121211222221121111222112222121111111211122212112222111222221121222222111121122122221211222111211122222112121211111111221222122212222222222112212121121212211211112122221211222111112212222121221211121211222111112222222222121221112121212122222112121112111212112221211121121112221221122221112212111212211211222112121112121111211211121222212122122112112212212121111112122221122122112121122221222122211222222211211111111212122121211212111112211111212112121222211212112122122212211212121121112112122111112122222122221221122112122222212211212212212122121221121121212122121221221112111111222121111212222111111212121211122122112212121222222122212111212221122212112211212112112112211221221121122121111222222212112112122212211222221122221112212221121111111212211121121222112222122222121211122221212112111112121111211111112111212211121111221122111112212111111212121222211211211212221121121211221222112212212212212221111211211212121222211111122222222121111212111112112212222222112212122222211212222222212211222111112112211111111111111221212112212222211211222222112221221221211122212122221112121222112122222212121121222121212222122122222211111221221221222221211112221112211122212211211211112211222111222212221121211221211222212122112111111111211112121221222211122121112121111212121111112211221122111122221221112111112122112211121121121121121112211121111122222222211222212121212112112212121222112121121111212122111222121222121212212122221221211122222212222112111212111212111112122222222122221212211121111111112212221121222122212112122112212222112121111112212212212211221111212121221122122112111111121211211121121211222112122112211211111221222111122122221221111211212222221222221111122212222211122211221111212122221112212111221212111212222111112212111121122121211211121222112222121212121122222221222222111111112122121222121222222211212121211111212212111211222112122111122221222211112211221112111222212111211122222111121121221212122121111211222111221212121111121222112221222121221211122112212112122222211222211211221212122221222211211221121122112222212112222221122222122221211121211112121111112111221121112111122221111122122112112111212121122122121212211222222222122221221222111212121222121112111112112121221221221222221221221122121112222122122122111121221112212112112222222111121121121212221222112121112212221211222122122111111112222211121211111121122222221221122121211211212222111221111221121212222122211212221221222222112112122112112211121122222121211222122112121212111211211112222221111112122212222212222122212221211212212212112211212212212122111122222222221212121222211221112212122111122121211222111211121211111121122111111112221122121111122111121111112222212112211112111122111121211222221221122211221122112121112212211122122212211211112222222111122222212222221121111211211221111121112112212121211121122211112212212121121222211111111122122121211222112111221112111222112211122122112221221222122121111221112122122112221121112222111212122222112212112222221121211212211212112111111122221112222112122122121121221221222121212221211121222111221222111212111222222222211211221212112111121121222221211121211112212222122122111221221121211221112211112112221221122121221222212211122212211111121211211212211222122112221112222111112212222221221221111122121221211222121211122121121112221111112121222122121212212211112211221211212122212222211122222122121122122211211221221221212111222112211211121222121121121212122121111112121221121222221121112112121112111122221112122221212211122122122121211111121212212221222212121222222212212212212222222211122111221121212212111211221122222211212222112222122222221111211121221112211122111221112112121122221211212211222221122112111212121112122112121211222221211122122121221111121112211222222121212222211111221111121221222211111111221222112121212222222111112221111122111212211122121222212112212211122122211222122212111112222111111121122211211211121221211122211122221122122111211122121211122221112221121121121222112112121111222212212222221212121121211221112111112221212112221211211112112111112222121221221122221211122211222211121111122122121111111112111221222211121221121112111111112111211222111211111212121222111122111111222112222112121221112122112211111122212221111111222121121111122112111211212211211212121112122112211211121222121121111221122221212211221121112221112111222111212211221212221221121121222112212221222222122122211111112212121112112121222212212222211221121211122122122221211222122211122211221111112111121221111121122221111212212111212111121122112212121211121211212211122111121121122121222122122211222212112211121111221211122122211112111222112222222222211221121212211111111221222112111121221111112121121121211212222211121122122221121121222112121211222222222222222222221121212111222222211121122111211111122212212221112121111212121211121112211212222112222122212221122112211222211121211211222212111221221211212211222222212121121112111211221211212112221221211121122112112121211222221221112212111112111221111221112111121111221212111111221112121211221211111222111122221122122122221222121222212112222122211112122122212221221211222221211222212122222221121222212222111212121122122112212122212212122221122122212111222221111221222122122221222212222112212112111222212221122211211122111221122212222112222112112111121122122122222122212121222112211211211211122222122221111112222121112112111211111111121211111112121121211211112122211222111121221111212221211221111122112221121212121222221221212112222122122221212211221222221212222112121112121222121111111222121111111222121212112222212211112121222112222221112122121112212122121111112121222212121121111221122121212222112211221221121222212112121121112122211112221211211212121111112222222121122221122222222121121212122111212121212111112121112111211211121212221222212222122211122111212222212122212212112111112121212212121211211121211221122222222222221121111112221111112122112222112121222121212122111121212221211222111111222111221222122111212111211112211211221222122212212111212122121212112122211111122122212112212221222111211211211122222112121211222222121211211122122222222212121212212111211211222212212112111221211111221211121121111212122211222212122112111222212122222122222212122121221212222122211121211112112222112222221111112212212212111111112222111111222122222212221221211211122111112121221111111222122212221212212222121121112212211111211212112112111112212122221111211111121111112222212212122111112112111211222212221122211221212112222222212212212122211112122222112111211211221222212222222111121211222212222111211122221211222211121222212212121122221211221221211111212221221111111222221111121112221211122122222212111111222212112111212122121122111211222121111111111122221221211212111221112111121121221122221212212111111211221211212112211222222122112121121112112122211111222221221221222221122212222212212222111222111112111222121112222212221222121121121212211212111121212212221122221121122211112112211122221221221112111212121212222222121222112211122211221221122111211222122112112211122112112122221111221121111212212121212122212111122111121112112222211112222221221121212122211212212111211112221211111221122112221121222111122221122221222112112212211221222212211221211222122222112221111212222111212222112211211211121122222222121112222222111112221221111222121111212221112112112212111122111122211121221111121212121212221211212211222212221221212122221111111212121111211122122212222111122112121111122121222121211122122111212111211122221222122212121212212111112212111122222211122222222122212121112111121221212111112221211122212122222212221122112221112212211212122122222221222121112222112211222112222211211222121121111122121111221221211211121212111122111121122122111211121122112212111222121211122111121212121111221221211221122212221111212211221211212112111112222211122121111221222222221122121122211122222112221212212221111212221211111112211122111112222111112221221121111121122121121211211212212211211111111222212221212121111112111111212212122112112211122222221211222221122222212211222112211111122222122112211122212211121211112212122221122122122212212222112212112212212111211112122211211212121122221111211112111122111112212111221222222222112111222222221122212122221222112112112222121122211112112212111122211112122212121211221211221121122212111222122121212222112221111211221122212121112112111221121211222112112221212111121212112121222121121212122122111211222112212212111221122211222111211122211212112212222111112222122212111221211221211221111211111122121221211211212222211112121121112111221211212122121111121212122211111211222222112112112112221122122211222212221112122121222112221111121222121221211222112111112211111122212222112112111222222122112122211222212222211222122112121221221111111112112211111111122111211212222221121212212212112111211121121212121122211111222122222222212111112222111111211112221212212112111112221222122121122112212111212221121212221112122111221111122212221222112122221111211222221222122121122212222222122221211122212221121121221212112222222122222122111212121112211121111212122121111222121112222221111211221212222222222211122222212122122222211112221111111211221122211211222221221111111222211112112221111111111212121122111121111121222112112112221211222222222111111221122211121212122212212221122121111211221121221121111111212221211111122122112121112112222212222112121112121212211212221211222212122112212122211122211111212221211122221122121112122212211112122212111211122222112221211221221221122212211211121221222111211111222222222111112111221222121122112222121111112212121221121121211222222212111222212211212211222211221112112122222212111212211122122111122222121222121122222222111212122121222111222121222112222122122222121221222121211111122211121222122211222212121121122112221112211211212112121211221121121112222122111122211122122211211122121122221122222121222211111222121112121122221121212212121121211221121221211121112221221212111122121222212222211221211211222222122211211221112212212221222122121112121112211212121212112112211212112111222221212121212211222211212222122122122211122211121211211111121122121211212121112112211121221211112122121122221221121121112111121222211222112122121111221121221221121222121212112111212111122212122121111121211111121112121111111211211122122211122221211111222221221121211221212211111212221211112211122111112212212122212121112212211212122212221112121112121212212122211212112122112121212211211121222212122212111212211121122112111122211222111112121222111211112212121112221111122211122122121121222111112222112212122222212222122122112111211222121222211222121211212211221121112222221211122211221222122122112211222121212121222111122121221221222111112121221111122121222212112121222222212212212122112121122111121211111221121211221212222221111221122212211212211112112222221121121111122222222212211212221221112111221211212111222211112221111221122112121212221212212112121211212112121121212221112211112121122211122222122212211212211111221211111222211111121221111221121212221111222111121221222212212112212211121122111212112121221211122112122121121112122112221112211222212111222212222212211212111122222212122221122212211212222111122112212112222122111121112211121222121222211121111221221212112121222222112111221212112221112221111221222222212221222121111211121112112121111221221222121111212112121121122111122212212222112222111211212212111111212112111212112111212222212122211221111221112221212121212111112222221222121221122121122112222121121222111112122111212112221121211111122211112221121112211111111112122222112111111112212212122212111111112212211212211111111122222212222211122221112221121212221121121112121121221121122111112211121112122111121211111122122111111212212111212221111211111221212112111121121121222121211122112121222221111212221211112211222211122211111121212121112112212212122212212211111112122121212212121212212121112222212111212121222112221212121122222121212211122211222112212121121122112222121222222121222122211122222112122221221221121112221112221111221222222222121121112212211112122122112221112111212121121221112111122212211121112212221112111111122221222212222111221211111211221121121211212211111112211122122211121111222222222211221222222122211211221122112111211211111121211122122211222222222211222111122111112212111122212122111211111212211121211211121121111112222222121212221121122211112121211221222221121212112111212212221221212111112211211112212212212211122112212221121121211221222221222112121121111222112222122212122122121112222211222111221111111221122121222112221221221122122221112222122222122122212111121212121221122212112111121212221212111211221122211121122221122112212121211122121111121211211211222111112211211111121122112212122221122212212221211111111111211211121222121122222122212112112211211222211222122111212212212221122112121111211221222212122121112121122212112121111211112222111211221111121111221112111211211122222111212122221222221212212212222121111121222121121112212111211222211221111111122221112112212121211111222222222221112121112211221211112122112122221111121112112121122111211222221222211222122222121111111111112122221222122212212211211221222222211122112112112212112211122111211112111212212212112212211211122122211122211211222211211221212122221222221222112221122221211212212212111121212112221222222221121211112212122211122122211122222122221121112221121211211112112121121211222111211212211212111111111221112122111112112221112111121212121212111221122111121122111112112111211121212211212211212211212112221121222222112122221122121222112211122121212212122212121211221112122112222222112112222212212122212211211122212212122222111212121221122111222221212222121122121212111111221121221212222212111222112111121211211122121111112222112111212222121212222121121121211221211211111121212122121212222122122211222211222222212222122221221221221222211111111111221121211122212221222121111221211122212121112211111112122222121112221122211212212222222222111121212222222221222211221212111221222112221111222111112121112112222122112212222221221111211221212112121221122112212212111211211222111112121222222222222111222222111111121121121222112122212222211222111221122121122112211122111211122112222122121212121221122122121112222222121122121221211221221121112211222121112221211212222222222212112221112211211221212221112222121111112111212221221112121222112111121221212222122211111221121111212112221221211211121121111112211121221112212111222111112112121221111112221212121211211122212111222221221222222211111211221222111212221211222111111122222211221122121121121112122111122222212221111212112121121112111212212121221211122212211111111212212112112221111122112112111122221121112212122222222122221212121211212211112221121122121211121221111221211221111111122111211111222112222211121112111121211211121222211112221212122221112121112221211121222211212122122212221112221122211212212112222222222111221122211122112211212211211122112212111112222122211112121211211111222211121212111111111111121112221212221221211222122111121211211121221111121121122111121111112111122121221122111121112211122212121122111222222212112112222212222121221211111122221111222122121112212121122112121212212122212211111211121222212122121211122122122221211211221122212112212221112112121111121112121112112122221221222121121112222112122211121222122222212121222122211122221222121122112222222122111212211222112222112212211121222222121222111221111221221212211121112212221121212211221112121222111112111122212121112121112212221211121211121122222221211111222222221111221221211221112122112221222121122221211111211112121111112211121222121112222221121221111112111112122221112222121212122112222221111221121112222111122121111221221211222222111112221211221121111212212222211221222122111212222222222112222212212212112112122221211122222122211112122222211121221121122122122221221212112122111212211121112211212221221111112221111111112112111222111211122122221122211112111222211221221221212211121122122112222121112222122112221122112212111112221212221222211212212221212111112221112212211121112112221222122212221221122122111112122121121111221222111211122212212111221121211212111211211111122211121121211112222112121211111111112111212122121112221121222222112211122122111112212211121211112221111221122222112222122112121111121221212211211212221112211121112221212211122211121222111221221121111212112111222111112112222121211121222221212121211221221221212111222111111212212221211222221122211211112221211211112122211221221121112222211122222221122111211122221121112112112112112222121112221112212121211212122211211211222222121112222221212121221221112111221211122112222112122211112212212122211221211122111111221112212211111221211122221221212212221222222122222212122221121112222221111111212212111221212221112121112111222221222121222211212221122122112212122122112222111212221111222222112211222222222122221112122211222112111121222211211111221221222121121221221121121221112221111112212111111222122121211121121122221111112221212212212111122221122211221111121121112212111122122121112212122122111112211212211211211121111211211111111221111111212211111112211222111221122121112121221221112121111221222121122212211111211221221122122211212121212211122121121111212122222221212111222222211212111221122112111211122221111121221221122111122221221121212211122211211221221112111122211122112211111112221121112211112112122111212222211222221222111212121121121112221121111111212221221122112121222222222121121212212111222221211221221121212111211111121111221211211121112121222212222112221212212121222221212211111121112222122222111122212222122111222211221211121222221211112112122222111112122111122111221222122211111212122112221221111212111111222122121212211121222211111222221122122121212222212112211222222111211211112121222212111111111221112112122212221211211221111221211121211211121112121221211221221122211221111121122212212221122122122111212112212122122122112111222211212121122222211122222212112212222111122121121212111212111122221112211212222211212222121122111122112221212112112112221112212222221221122211211212121112212122222111122221111121221121121112121112112122211112122121112212122122211221221221112122221111111122212222121222121212222111112121112121211212222122112221112122221121221121112121221221212212211222111211221122111221211211212212121112221111111112112211122222121221211221112212121121211112122212212111122221211111222211112222112212122221121222112222122222221222111112112221211122112211212222111112222222121221221212111121222221211211112111221122111211111212211111121222212211121122121212122112221122212212221121121122221212121112121221212112111222122222222111222121111211112111222121121122221122121112122111112112122221222121212122112122112112211221121111221222221221222112212111211112211221212221111212112211211111212122211121111112221122111222212222111221222212121122111112212121111122222222122112122211212222212112211221121212122112112122111222211121211221221122212211121212112121212221221111212211122112111112122212121211212112222112112222122211111112112221211221212122211122222221221111211121212111211122211212222112212211111122212221121221111211221112122121221112221211122112112112121121122212221112212211111212212221212221121122222111122112121111221112121122121112222112212122222211211121112122222211122212111112112121112221121112221112112121121222221121211112111111112121221111112122221221221111222111112222112112212221112121222221112211112112111112111211221222122211211122112222122221112111121211212111221222212111121222212122212221121222112111112121122221112121112221211121212112221211212122221221111211212122112221222122212221112222121211222222211112111112211112221121222212212211212112122212112111121112121221112122122111211112112122122121211222111221222112111121122122122111111121121212221222121221111211211212111112222112221121121121111222212121112211121222121212212222222121121212112112212222222121112212221112221211222211211121112222211111111111122112121111111222112122222122212211112111112112112121212112221211122111111221211212211211121212121122212222111122122222221221121121112112211222112221211111111111211212122122221211212212211222112122222222211211122112222212112121212212221211222111122112111212122222222111112111221211221211112121112112222212211111211122121121222112122222121111111111211221211211222212211211121221212222112121121121112221221121212221222112112112111111211211221221211212222221212122122122111111222221211222221111122112122212221112221112211221221122122112211212221111121111112122211222121222211222111112212222121121221121212112121222212222112121211111121212212121212221111212121211211122112222122222212111121211112121112222111111221122111111121112222222221112212211112221212222212222222212212121112112212222111112211221221221212112111111222222221121122212111111112221112212121221222111212122222112212211211222121111222121112121112121222212121121211212122112111111121122122211222111211122111122222122112111111211121111212112211111221222121212121222212212112112111212121212222122212121211221121222212212211111111121221111111211121111212122112222212111212222112111221122212222111111121222211211122221211111222121221121121212121122221111212222211112122121121212121211222111212122122221112111211211111221221111112221111221122122211112122111121122121221111112111122121222221111211222221222121222111112121121211112112111211111122222221122221212122211222221211212222112121112111212111112122221221222212212212212222121212122222221212122122111211121212111222221112121122122211221112212212222221222222221211211121111112222222111122212211122112112222211221212222221221112122212121212211112212111211222111222211121211122112111121111221221222122211122112112112112212111211221211122222112221121211211122222122111212111212111122111122112122211112222211122221121211212112111112121211122111222211122112122211122221212121212121221122211112212222111121111222221221122222122122211111222211111111121112121112121222221122121211112111111111122221222112222222122212222122211112221221221221121221111211111222111111212121121221112222212211221122121112211212221122212112111221212211222111222122222222211122222122222211212221221212111221122211111121222211122121111222211211221212221212211221121211212111122112111121222122221112111121211221211212222121211222222111121121111112211221121212112112121222111111111212121122221121111112122112112121212111122122112211112221112111111122111222122212222222121212222122221221111121211112122211211111112212212221112221121222112122222121112121122122222122211222222211112211122111122112121111122122221222212222111222121111122122112221211212211121222221112111221121212212212221121222222222222212222221211222212221222222122222222112121122121222221212112122212212111211221121211222122111112212122122222111121222122211211112212112222222222211221211212112211211211211112221212111121112212222121122221221121222212111121221222111112212212121112211211121212121112121112211112121212121222122211221111111221211121222111121221122111212222211112211211112121112121122112112121121111222111111222111211212222221211212211221112221112211121112122111221222221212111121122112121211122211112222111121222112222222211221211112222222222121111112222212212211212212221111222122122121211221212111121112121121211222122221122221112122111221121211221211122111121222212221221111212222211221121212122112111221111221211212211112221222121121111222221122212222222221211212212122112211112222221111112222111122221221111121211111122112112122122122212211221211211111121121112112121111111111121111222212211212212112111212211122112211122221112211111112212122211211112112212212211222122122121111212112222112111122112222222111211122112221112211121121111111122121211211112122211121122122211112222111112121221221111111212212211121222211212221111122211122112212221211121211211211111111222212121221122121212111212222122211222211111211212212211111112211222121212222112122221211222122122212121121111111212212211121222211212121122212211221221222112221221121122221212212211211122111222222122111111211121221111211211122221121221122211121112122111122121211111121222212111221212212111221121211122211222212121121212112211222121111212121112121121211111211211111112211111221211222121222112211222212222222211222122222221221222121222122122221122211212111121121211211121212212222111122211221211212121212212212222222112122111112211211212112111112222111211221112111221212222121212211222121122111112211212122122222221122222111221111211122112222122112121221221221211212112121221222121121111212222212212211221211211222122211212222121111112122121112122111121222212121211212221111222122211121221222121112112211211221122222222121122222221112221212121122211111112212122221121212121212111122211122211111122112221112121221122212221212111211212121111111222212122122211211222112121121111221121121111122211111222211121211121222121222212111222222211112222122221221122211221122221122222221112112222221122212222222221121212211111122221111221212122111211211211112211112211211211112111221121221222212122222122112211212112112221221121222112112211222122212221221212211222121212121121211221122211212121211211122222122221121121111221221222122112222111111222121111212112221122212211211112222121221112122221222221112221211122112112121112211222112122122222222111111122221222121121121212222121212111112112121112212212111111211221111212112111211122221111222221221111121121211212121221112211211122212221121221221112222212221211121111211221222222222222121112111122122121211121222112111122122112221211122111211211211122222222221222111212212211122122112112212222112212222111211122211212222211121221122111221122221122212111112122121111111222121112112222122212222211122111211122221122212212112122221112122211211122222121211222121211111111211122121122221121112211121211222212111122112111211122112121111111112211111211222222122121112111211111112121121111222212112221111221112122211211211122211221221221212112212112111122222212121222122221222111121111112221121212221112122111221122222221112122211122222121122112222122111122221122112112222111221222111122112121221122111222111112112211122122121112221222222121121212212121121112222112112212122221211212222122111211222211212211121112212211212211122112212121221111221112111211122211221211221111211121221112221211112112222112111111222221221212121222121112121212112222112122221121121122111211212222121112121221212122212111212211122122222122222211111221111221112111212222121211121212221211211211121211211122112211211221212221121122222211111221121122111111211221212112211111122111121122121111112122122212222222112111212211221211221111112212111212122222111221111111212111122212112122221121221112121212221112222111222121111122121212112222222121212222212211212111221221212112121121212122111111122212211121121221222122211122212221221122211112122222112211121211122111221111122212212211122111212211211222222212122221112221221211122211222112111211222112221222211221111211211122212111212122121212211111211221212121121121211111112111222222211222221121211121121112221122211111211121121112221211212221121122111112221212121111112221112112122121112222112211121122122112212222111211222212121121111111122121222121112222212111112211121112212111121121121221212111112211211111121221111112122112122212122221122212111121112222111122212211212121222222221121222221221121222122112212112211121222122211122111221112111221111222211111112211111211121122121112112111222111211222111211121111121112221112112222112212121112121221112221221112221211122212222111211212121121211212111111122112111212211121222112111221121122212121222112121222222111221121212111221221122121121222112221212212221211111111121112122122122121221211222222111212212222122121121211211111121211122221222112211211112112211221122112111112211212121121122121211111112112112222221112211121212121121222122112121112221221122111221222221211221212122112212211112122221121111122112212221212221112221121212122112212221112112122221221222111221112212222121222221121212222111221212111212211121111212212222211121122121112122221122111222221211211121112112112222122221122112122221222111111222112121211212112212212112212111221221211111211222222122112222221211222122111111121221122221211221122111222121211211111112121121111121112121111121121112222111221212211222211111122112212211112111121112221222121221211221122222211222221112211211122121222112122221211212222121211111122211222112222122112221222212111121222211121221222122222212122212212221222121121212122112222112121111221211122212221222122111221111112111221112122211212121212222111112221212212221222222112111112112122121212112222122111122122212212122222122121211211121221221122221122212121122212121221212112121211122212222212221222111211212222212112122112122121122121121121122122211111122212122222121212221221221122121221221121221112111222212222121212211211221221212111111222211211211211121112211212122111122111212111122221221121221211112122111122212112222221212122211111111221212212121212222112212221111121221212121212212222122211122112212222222122111211221122112222211212121211122221122212212212112211222222222211112222212112122221221111222211211211211222222122122112121111212222211212211222221212112122112121122211111122212212121122121111212212112221121121121111222122111112121121121222121211212122212222222221112222221212122212222112122222111221111222212212222122212211211112121111111222221222211112111112221222112111211122212211222211211112221212212221221122212112211122112121211212111222122112222122221111212212122222211122222112121211221222111211111111112222211112212211112221122212112111111121111221111111122221111221122212122122211211222212122121111222121122221121121111122112222121211211211122222212212122222222111122222112222212222112111222221221222211111112211122211212222211111111212211221211221211222212221121211111121211121111112222212122222212122212221111122212211212121211212122121112211111122122112222122222221112222211221122211222211212221112221222221111122212212212112112112121212121111112211111112222211111211112111122212211112112121112121122112211122222212222122222111121221111212221112212222111211222112121222222212222212121222122221212222212212211112221221211121112111212111111121112212212222121212121221121221222122222112211111212121111122121211212122222112212212212111221122222212221221221212111121221222212121121111211222122211111121122111222222222111112222121211112122212112221222221212221122112212212212111122211112122121122111121111122111221111221222221211212221121112121211211112112121111111111222211212122121111111211112212111211122112121112111121112221221212222111112211211121112212121211211122222211212111122211212222212111212211212121111212222111111211111221211222121221221211222121121212212122122212212222112111211111221212111122121122121212221121211212211122111112212122111111111222112221112212112122111122211121112112222221121222212121111111211211211121121122211212121222222212212211112212121222222212221121111121212221111212111122111211122211121222111122122211222112212221212122211212212222222121112112222122121221221112221122222121211112121212211112212222111222211121112211222212211122122122112121112121211122211111222212111112211221222221211211221112212221212221112221221212221222121221222121221222121121112212221212121212222221212212111111222211211111111122112111121221212111221121222111212112111221112121222211112222121122211112112211121221221112212222121211212111212112211111221112222221122112121112221121221112112121112222122122112212222122112122111111122221122112112222212112212111111111221211121121112112121122112111222221121112122212112212211212111211111122121221222112222212221121111122222112121112221121111122121111222211122221212222122112222121121222212112222112212211121112112211112122122121212212221221212221222111222211221211211122122112212122211121222221122212122222121122212122121112211212212112222122222111112112112221221212212221211221121211222111222111222111212112222211212112212212211211121222121211221222111121221222211122112122222121221112221111121122222121211212211111212112211211121112122111222212211112121121122212121222221222112222211111121221121122112122212211111221212122122221222221211112222211122121212112122111212121222121221222212122221122111111121211211122111221211222222212221221122211221122212212221111112212221122112221121212212212111221222221211112222211222112112121111121212122122121212111221122122121111211221121112222112111211121221122111222121121121112212222221112121121212211111111111112212121112222222122212112112122122221222212122211122112111111112221111222122111221112221212222111122212211112211221211212111111112212222212111111221221122221121211122212111211221111222222211222211222221112211121121112211121121112112221111212211212221221221221122211211221122111111221112122112212121212222121222112121222222212122111112122111111212112122122221122111112112112122211122122221211212112222211121221221121112112111112212222111221122111112111112111221112122212222111211212111222211111121121222121221221112112221121221212122122212121111112111112212112111222122212122221211111112121121211121111222122211122211112111212211121112111221221111112222112221211112221112211212121221221211112112121111121111212222222111221122222212122121211211122112122122121111121121111111211122222111121111111222212222222112122122212122111211211211121212112221221121211121211111121111221221212122211222122212222211121122121111121121112211121222111212222122111222111212212211221211212122211222122212122221111212221212111221212122111112112111121111222122222111212121122121222112112112211212211221211111212222112121121121222221222111212121122112122211121111121212112112222211121111222112122212122121121211222111211221122112222221222222111211121112222211212112111222211211111112211112121222121121121221112211211212212111121121222111111121221211111211212211212212111112122111111121112122111122121111222222212112112121111111222212122221111211212211112122221111112121221112111212112121212112111221122211122111212111121221221111112121211121121112221112222211212221221111211211121211111111112211122112122121222112222211222221221112111112122121111212212112222122212212122212212222112111221221212121222121222122111122222121212121212121112111121111121211121111222221121111212112212222211121111221112122122112211221222221122112122222121222221211122211111122221222221212221211121222112112122222221212211212221222212222122121111121112122122212122112122222112111212221111112121121211221222121112221112112212222212111111111121211111212122122121112112211221112122222212111222122212211122221211111212222122111111211222112222122121122221121212111122222211221122212122221121221211212212212222211112111212212112212112111211111221112212211122222121211222222222221212121211111212122121121212121121211111111121211221211112222222112222111212212211211211221112111221211122112212222221121212211211111121221221212222111121122222112211111111121222212212112111222121112112212122121222122122212111222212222112222211112211212122222222111221212212222111112222212112212112222212122122212212222221122221222211221111121111211212112211121111122121211121211212121212122211122121121221211212222212221111111221121212112222212222221112112111121122211222221112122212122212121121121221211211112221121122122222211221222222211211221212112221212112211111112211111221121122221221211212221122112211122222112121111121211222121121121111122212212211212112111121211212222111221122221111111112221221112211212211222211112222211221211111121212111221111121222221121122112111122112111222222111221221211112111121221211211211122211121112222221112222111112121212221111212211111211221112111211112111111111221222221122212222122221121121221221221121112211111121221211211111222122112211121111111221212122212122112211121122222221222112221122112111111111212212122221121222211111212122222112112222221222222211111221111221111222211221112211212122112222211122112211122212122222122121222121112221212212211112121121121211112121121212111222211112121211222122112111222121121111222122122111122112112212122111112221121111122122122221112112212111112212121222121212111122112112211212211212211122222121111111112222111222212111111112121122211121111121222122121221121222111222211221121222112111111121112211122221212111112211212121212111121121212222112112212121112221222111122122111211212211221111212111212221222111112211112211122212211221112212121111111222211121222112122121111212111221112212121121112121212211111212212122211211112222222122222221221121122121222111121112112221112121111121221212221121211211222111212221122121222221211212111221112211121122112212221122112121211211211111212122221111212212221212211221112222221121212222121111112222121121221122111212222111211212122211222222212111121221111122212122221222111212121122122211222111121222221222111222112222221121122212211122212222122222211111112212211222222221111211212112111111211222111222111221122122211121111121222112112212122111112121121221221221222121111221111112121122122211212212121211212121122211211212122112211111112111122211112212221212221121112221211211122112121211221211122112121222122212221112112111122112211222221121111112222122112112212122211121121222112121222221211112211122122111212221111212211212221211212112111121121121111122122211211111211111222222211221122112221112121222222211222211212222212212111211111122211111212122212212212222111121211122212111211221221122222212121221122222211221112211122222111211122212122221211221222221211121122111122212222211222221221111111121112221111121212122212121111221211121112222222212111211221212221212212121221221211222111121122112211221211111221112212211121221221121212122111221212211221111212122222221111111212222212111122121222212222222121111111212221122221221122211211112222122112122221112121211212111222111221111212211211212222112222111111111112112112211212222111121122122121112211222112111211222211111121222221121112211211121212121211111111211122211122221112111111222211121122121111112212112211212121211111112212111222221222122212111222111222112211112212221212111211212222122112222111211221121122211112112211221221112222122222211212111111222111212121211211221221111221211212221222121122121121211112222222222112212211121112112221221221112111112212122222211112121211121112211122121121112221111212121112111122112212222121221211111112212222212221112111121111221112212222111111121112122211122111211122222222211212222222111111222211111121112211121121212112222121222122222111112111222211221121111112121212111221111122212222122222212122112111221122222212221122112122112112221211212111111121122221211111212112212211121111222221222211211112112221221221221112122112221222112111221122211221212222212212121212112222112222222211212222122212212212122111222121122222222112122221211121212112212122112122221221112221212122112122111222212121112221212122122212211111122111112112121221212112121122121221121211212212212122121221221112111211221122222222212221122121212222211221211112122212221121221222112212211211222211111121221221122221221222111112111122121121211112212221111111212212222221221121121221211222111122222111212211111212112221112212211111211211112212211211112112222122222222221211211222111222122112212222121112112111222212122211111122122211122121222121221222122222122122211211121112211111112112222112121212222212211111212111212112112222112111222122111122121121112221211121211222212112211122112221221222212211122211221211112211212121211222212211112111111121212211122112121221222212221111111221212111112121221221221122222212111222121212211121212212212221222121211112212221222111122122122122112221221211222212211111111211122121211211212221221211121221211112122111121111212112121112112111122122112211112221221111112111211211211221222121122221122211111212111122222121211211211122211112221211221222111121121212212111212211222211111211211121211122222122122212122222111211122111112121221212111221211211211122211122121111112111122112222121211122112112222222121221111221112221211221122112121112221112221121211222211111111122222121211111212121211221111212221121222121212122212211212221111212122211211211121212111212222211212212221121111221121122121112112111221221211212111211212121212112221212122211211222112221221122212122112222211112122212121121222221211221221111212221212221222122112111221112112111222111122111212212111221222211111122222222222121221211221211222221211221112221122111221221122111222112211122121222122121211212112121212212211222212111221222121112112221222112221221221112112121211121212222121211211122121222222211121222112122112221211111112211212212121221211221112122121211111211221122122111222221211222122111121222111212121112221211122212121112221212122111121122211221121111222112211121112221221121112111222221122221212111111221111221211111111221221212121122111221121212222222211211122211121212212221212212211111211211221222222221221121112221121222111112222112212121112112211121122122112221122111112222222221211211222222211121111122212211222211212111211112222222221212112112112221122211221211122212211121212211221121122122221112211122212111221212111122112211112221211221222121221121211221212212212121211111121112211211222211111121211112212211121221111121122222211212111122222211122221112121122122112221121211211112121211122121212122222212222222222212222212221122112111121121121111212211222221212121212211211111221112121221121111111222212111212122211111112221111222221112222112122221212211111211222122121211112212112221212121112221112111212121112212111112221112212221222212221221212211222222112222221111221221212122111212211221211111212122122221111121222122111111221212111211122122122211221211212111111211212122221211112111122112221121211221211122222211211222112122211111222222212111222222121111112212222121222122112211212211121111212111112211222212222211221212121121112212122222112211222212211221112222221111122121122121112112112111211221212121111112112211211112122112221211211122112212222111112212222112222221121211111122122221221112221111212222222222122111122222212122222111111211222211122112212222122122221122212221122221112112111111121111211112222112111121112111121112222121222221121121222111112221111121211212111212211111111221221211211221221121111212212222122221222122222222111221221211222121211121111211211111221222222222111212111112121221122122212112122212112111112121112222121211211221111222212112111122122212212112122222211111211112121211122122122212112111111121222211112111112111211211222221112221222222211211222111122212121221121211211122111111211211221111111211222222122121212121222121122221121211121111212211211221112111122122111121222111121121112122122121111211112222222122211212122222211111112221121212111222221112221222222112211222122121122222122111221111221212112221122222212211222121221211122112211212221122222211122122212112212211222112122221122211122221212222112222222222122221222222211211211111122212121112211222111211111212122122221122221121121211112122112221122121221222222121111211121211212112122122121121121111211212112222112221111111111112111112112111112112222212212122121121211112211111121111212111121221211212122111211221221221111111111111211212111112111111122212221112121211222211211211111112121211111122221121122212221121222122121211222222221112212121212212121211122122121212111121212111211121121221121211111212121222121212122222221221211221221112121212222221122221212122112222222122121222122122111112111112222212122122222211222222211111221211111221221121122211111121221211111221122211212212121111112221221122121222221222122111122211211121211121212122122112121211121212122211221221112212211221122211211122211222222121221211211111122121112212211222222112111121121222211211221121222111221121112112122211221111111112221112112222211112121211222112111112122211222111111212211221212121121212112112212222212112112111112111121111212121112121121121121121211122221122222112211211211122221222221211111222221212121212112212211222112122111121111112212122121121211111211222222121212122112222212121211122111111111122211221222112121111211221212212221111112222222122112112122112212222122121222121121121112122122121221212112212211112222122111222211112221111221211222111122212121212122221111111111121222212122211121222222211122122211211211212122121212222211222222121211211121122122122112112211121121111111122212121122121212221122211112212122211221121122111112222111112212121211221121121222221211121122221222121222111111212121111212112122222112122112112211222112122212221211122221212122212121112222121221121121221122111121222112121211211112211222221222111122221122211221211212111222221111111211121112121112212211212211222221212211221121211122111121222112112212221122121221211222121211121112212212221112112222221121112112222122121112111112212111111221121112222222122221212222122122112122222121222211222122111211211111122122111121211212222121221221122112212112111222222222212212211222222111211122212122212121122212122222211122221111211221112211112221122222211222212122222221211211212212121212122112211111112211221122111212121112212221211211211212212112212221122222112112222121221212211112121112112221222221211112212222111211122112121211211222222211221122112111112211122121122111112111221122111222221211121122211222121211111211111121222222112121111122222122212121222112121112122111221111212222221222112221221111222112222112221211112221221222111212111222212211212121211111121222222211221112211222212222211222122221121112222212221221111112221212222111221121222122211211222112122111212111221122122222122111221122111122112221112221212211111122111222122112122221212121221122112222222121222222211221112112121112112121211221211112121112211222111111122222212111111221211221212112111111211221212111122222122222112112112121221122121112211212122121121211111122212222111222111222122221222121111122221111111111211211222221112222112122211212111221121112111221221211111121211221112111211222122122112122211211121122121121111112211111111111212121111221112121222211221111112112121111222122112111111212222211222222212222221211221122111211211211112211122212121222112122121212122222221112121212222211222111211122121212121112211112112221121211221222121122121121122122111112212212111211121122122121221211121212111111221221112112212222111121121212222212122222112122122211211222221121212121221112111122111121122122211211221122211212211221112122222112112211111121212212211221122121211111111221211211211122111111122221222211211121121121221121212211212212221111211222112122212221222122221211212111121112222121122212112212121222112222211121211112221122211121212121211221221111111112111212221222211122221122122111212212221221121222111222221212122212222121122222211212121122212211121112221121112221122111221112121211221121222121212222212221211211122121221111121212211121222212112212121222112212222212121212221122122111212121211211222111211112112211112111222122222122122211122222221111211112212222122222211211222122221112212122211112212212211221222212122221112112222121222121212111121121111121112112122211122222222121222211222111111222112112211121111212212112222122112221111122211122211111222111112212212121111222111121121122122222112111221111112121122221212221121221211111121121212122212211122111222221111221212222221221112221211212221222222222221111121222212122112212222221122211222221221121221111112212111121122112221222111222222122111111211122211222122121111212212221121121211211222122111221111111112112211212111122212112221211211112211211222221111121211122211112212121222212211211212221211212222221222121211112111111211111122111111212122212112211111121212111112212222121112212211122212211222222221121122121212211212212112222211222122222112122211211121111222221112122111211212112121121121112121211121222122111122211111121222211212121221111122221111112112122211221212121221212222221112212222121221112222112122222112111211211211221211211112122211222221122221112211121112221112212112211221112222111112221222121122122212121212111211222211211211222121222122221212212121211111121221211211211111211211121221112222121112211221221221122122221212121121222212111111111112122212121112212111212121211221112122212211211221111212212112122211222111222111221121221211212222111212121121222111121221221221112112122212221211111112212111111211211221122122121222211121211221122222112221222112111212112112212112211112222221112212112212222212111112122112221122211121221222211111122111112212221112112112221222211122122121212111112212221112121111112122222221211211122112221222121122211122122222212111212212122112122121111112212221221211211112122212121111112112111121122211111211221122212121222122211122121112211112122212111121211211112212111221111111112121112111211122211211122111222211212122111221121212112122122212212212111222212221211221122212221212122212212112111211121222222221112211221212111111212121121111221212112211121111121121122121121221121112221121122212111111112211222211212221112221222112221211112121222111212222121221111121212112121211211112121121212222221111121221112121121212211222221222211221221211212111121221222121122122122121211222111222221112121121221112122111221122222111121111221111122222111121121111212122121121212112211112211212112222212122221211122222222211112222212221112221222111211122121121211222121121121112111212221121111122212222112221121121121112211122211211121122212222112221122211112122121111222122122212212122221221212211111212112222111122221111121222111111222222121112121221122222222221111212222212122212211111212112111211222221122211122212112111222221121122121212222222221222221221112211111222122121112221112222211212212212112212221221112122222122122211122212212112211211122112112211112112121212121222112211111122211112211121111122211122111222222111122211112212111222111212122221122222111121211111222121211222121121111111112211212121221221211121212211211212112111122112112121222121121222212221121212211212121212121111111222112211211212221121212211111211222212122111221111211221111111121212211111121222221111212111211221212211212121212121122222221112122211222212122122122122211211121111221111211122212211212112111121112221211121211222211122121222122111111121121221111121122121122122111211221211212212222111112221212111121221112121212112121211211121211222221121222211211121112211112211211212211112122222121212211122122111222211122111212221222222111111111211122212112112111122111211112221212212212211122212111122212222212222121211212112212212121122222222122221221122211111221222212222211121121111222211122112212211122211212111211121221121111221211222112122221221222112222221211112212121122211212111222211122122221121122121122211212112221211212211122121211112121112111222112112221121121121112122221111222111212122221122212211112222112211121222212112121112121112222222122212212122122122121222211222112221122222122221211122212211221221221221221112122111112112121221122122222121111221122222221111222212222211212112222122211211222111111222121111122112211211221121212221112112212212111212121212121222111111222122221222222212121222212221212211111122221222221221111122111212122211121221211211122211222122222122221111221112211112222111222212212121112122122121122211121212112222111121112121121122122122211211122211122212112121222211111211212222221121112122221122111221112111221111212122222112121112222211212221212111112121122211221121111212222212111212212121122121212222221212222121211122122222222122211222111221221222121122222221111122121122221211222112121122121211112211112112221211221212111122122222122111221222121211211221221222212112212211212122221121212211222211211111211211111122111221112111211222221122221221222212211121112221222222221111111212121111221222111121221122122212211221211211211112121222121122121221222121122111121221111222211212211122121121221112221212122212111211121122221222211211112212112112121211112122112212112222111121222222212121222122121111121222221112212111122211122112122111212112222211212112112212122212121122121211212211111222221222222121121221122222121112112212221112221211122121211222222212111211122121221211122111111122221121221122121221112111222212111221212212112211121122221111221111212221122221211222122112222111122121122222212121121211211221221212111221222212111121211111112221221221211212222211121122121221211111112112211112121211112122222121222121112122121111222111111211122121111121211211221211122212212221112112212121221222222211221121122122111222212222222221222112111111211212221222222221221211121211221111211221122112222121111112222211211212112211212111112221122112121122212111112212111111211211212222212212121212121112122111112111211121211221221112121221211122222111122212122121111222111212211122121212112122211221112211111212122211212122211121121121212121221122121222111211111211121111211222112222221212222222121112222111221211122122212111222221112122111211112112221111121122121121121221122122112222122221212112211122122111222211122111212111221122121122211211112222212111111121111121212212112121121111221122211122111212111121111222111212211212122211212111121222211211122221212122111111112212222112221111111112121221212112211222111112211122211112222212211212111121112221212112212122212121112212212221112222122212121122121122122121212221112211122111221112122112121222212121111112221111211212221121212111112222122122222221221121212112222122111121112111121211221221221111112221212112221211212212111221122212222121221121112211221212221222122121211122221111112212112111121122121211211212221211221122221122111222211212222121221211112212121111122112221112211112112121111222121212212112122222211221112211222112111112222211121112211111122211221211111121122221112212221111121112122111121121222112121212122122212211111222212212111212222221221122121112212121222211221111112221212121222212122122211222221111211211211212122121111121211211212221212112222121122221112212212122112122212112222222212112121211221211111111221111121111122212222222111121122111122121111112222112222122112222211111222122111112112211112222122121212122221112112122211211121112222111122112122122222221211221122112221121222212222212211212221111111222121121221122122221121211111222212122111112222212221222111222111112222221221122212211221212222221112121122211212221211121111211111221212222222221212221112112211222111222122212222112212111122121111122222111211222112221122221112112111222221122212111222112211211112122212121222211211221221212111111122212111222211212111212211222222122111121221122111212222221111112122212122111212111211211221211222222111122222222212212222221112111122212221111221121112122121212121221211122211112211212221221121111221121211121221121221122112221222222121121222212122122122211121212121212212221211111111221221221122222122122121121221112211221121122112212221112112211121121221212222111121222112122121221121222112211222111112111211121212211222211112112122212121112121221111222112211221222122112111121112111112121112121212222121222112221222121112211211112221121111111121111222112212222111221121211121222212212212112112211121112212222212111212222111221212221221122221222122111221122121212121211222211221211111112111111222221222222221112211211112121222112122121212121111221211122221211222212121111111121222222212212212111112112211121111212122221211112221112211122112112111111211122222212121222211122112222211221112122212211221212121112221211221111112112221221122211221121211122221122222212122221221111122121121112122122211111221121211122122221122212111221211221112112212121222211221111112122122112221222122122211121222211221111221222212112112111211212111122221111212211122211211222211122221222111121121222211121111121112211121111211212112122211222221121221112212111212222221121121221122122222222111211122122111112221211122121122112121212122221111111211221221211222222122211121112112212221111122221211222112112112122112111222212212221211222212212212111212112121222222212212122121211212121222121111121211122222222221211112212122111221122121121111221112222121211111122222222211211112121112212222111111212212122222121112122212111111211122112112112121111122111212212221222121221112112221211221221222212211221112121222212221212121222111222222121111212212212222212221221211211211212212111221221221221112121211211212212222122121221211122112221221111111111222111211212112221122121112211122111122221121122122111122222211221212212211221212212221212211112211222222222211121122121211121212211111211211221211221212222222211212212111121121211111121111222122111112221112111212121221112121222111222211211122221111212212121111212112112221212222112222122212122222221211221222112222212122112221112212211211122211221112212122221221122212211221211211111111211211221221222211121221211111111121122221221212221121112212112221222121222222111221111221211112222222221211211121121111122111221111222221222121212112111211221112121121211111221221111112221222211122121211111122121211212222111211222122222122111112122121221121211211121121121112222122222211112211122112211112111211221122121112212111121221122212121212222212211122122112211111112112211112212111122122111222221212112211121222222211212211212121222122211112112212221222112122111121111211212121212121112112211212111222221122122221212211221121111111111221111222222211112112111111111121121212212121112212212122212211122221211112111112122211222111221111122122121112122121211112121211222111111122212221122121212211222122121111111112111222221121122112112222111221211112111111221112121122212122222222122211212221122212222211212222111121221122211112222211212121221121222211212112211212221221211211112122211212122111121111212112212121111122211122212222122222222212211111121221221222111212122111112212111122212112121221221112212111121122121212111121222121122122212121212221122122122222211211112122122221212222122122221122222221122211112211212112121211121212212222212111222222112121122211112222221212212112121221211221222211222112222121121111221212122121112212211221121122212122211221122121111111212121122112212111111221212222121211212221211121111212222222122211212111111212112121221212111111112212211221122211211111111122111221112122121212122111121222222211112122112111111112211212211111112122111211122211211221111112221212221221112221122112112121111212122121121121112221111111212122112122222212112222121211111122122211211212112221212121221212112222112111211111221112121121112221221112211121212122211212221111212121121111221121221112121221222111111121112221211221222212222122122122122111112222221111221121221211221122212112221122222111221222221121221111122121121111121221121221121112111211122222211222221112121111211222211221222122212212221222112112111222222112212122121122222221111122121222122211122112122111212222111121211221112221212122122212222111111222122221112111211211121212111221111222211212121122212121222112222212211121112222122122211111111122211211111222211221212211111211212221112122112121112121112211222122121112121211121111222212121121222121222221211212212112212112212121221121122221211111111111211221211212221222111121122121122111111112221122112212211211122222211222221121111212211121112221211112212211222221122211212211111211121221121212212222222211111121111111222222112211112112211121212111221112212212112222112122222212221222222211222112121121112121221112211211222121212122122122221212111211121221121211211222221122222211121211111211122222222112212112111121212112122222211222222121211111211222221122122121221221111211112111121222111122112221112212222212112221212212112221121222111122211221111212111211222211212111212112211222112212111112221112212212222112211121122122121111121121211122221122211111211112112221222212111121222212212121111122221211211212111112111221122122211112121211121212222121112212111222121222122222211121112222221212221211212212212221112211121122112221121212111111121112112222222111211221122211121212121112112112221111112112212221221122222211121222121211111211211121221212112121122211222211121111112222212122111121222211121211222122111222222121212111221121212221112212222121222212211111111121212121122221211221111122221112211112122212211111212221211111211212121222122221122112221222122212211112222211211121121112121112122122122221222221211221122212122121121211112212122222211112122221211121121221122222111111122111222211211221211211121222221122221211112222212121122221111211122121222221212122112211221112121212112212121122212221122112222211122211111122111211211221222221121111211222222122112122211122222121111112122222212122122112221212211212212221121112211211112221212111112122121121111212111122111212122122121211111212122111222211112122222221111212211212112212222211212212222121111122222221211222112122211222112222221211221212212212211111122111111111211211121111222212222111212222212212111122212221222211222221111211211121222221221212112212211222211222222122222222121212222122221212121121112221111211122221122112121111221211112112211122111122112222211221221222221122222111122111221111111222111111221212111222111211222122212222122211112122222212121112211211112111121112111212222222211211121121221121222222222212211112222211221211211221222112222211112212121211122112221221122221211211112122211122221111212122111221111212112222121222112212112122211212122111222211211222112122211211211212111112221122112212222222221212112211221121111211121222121221112221211121222212121112212112222212121111111111122212222212211121212222221211112221212112111222111212112121121211111221212111112222212112211222112112212111121221122112222111112211122122111212212222121221121121122222111121211222122122221111111111122122212211111112222122222112222212211122222121111221122212212211212212221121222112122222122212112211211222221222122122112221221221222221111222222221112211212221211112221111112221122221221221212222111221211111212211222112122222221221112122112211111222212112221112222121122222121111121211112221112222122121221121222211111221221222122121122222122122221212221211211112221211121222222211122121112122221112211122211111211111122112111111112222112222121212221111112222112222111221121221221222122121121212222112121111112121211222221221222111222211211111221112121222222221221112212112212222111111112112211212122221222222111122212122121221112211121112212111211212121122122221211221112121111112122121122121212112121121121221221111111211111211122121122121222121111222211212122121212112111222212221121222111222111211212111112111111111212111222112112221211221112211122211122111121121112112211112111122112211122122111122222212112221121212122121111111222122221111111222212221221122122122221222222222112121221111211212111212221111121211221221212222121221211212112122211112212211122221121111111222211121122211111212222221222222111211112112122222112221121212221111112221112211122212121222121112212222211111111112212111112111222222211222222121112212221212222111222211221221121122112112221122112111111222111221211222222112212211111222221212121221111111211111211222222122221222221222122122221222211212122212112221222211111211212112111221122121121122222212212122211221111111122212221211122121211211222211112211222112211112111222222121112212122122211222122221112111211212122112121212212212122221221121121212221221121111222221212112222111221121222211211221222212122111111121222112212212111221221211221212221211122221121221211112221122112221112212112222211112122212222111112221221122222122111212121221222121221112112212212121212122111121111212212111212121212211111211211211112221112112212121212222212212111122121222111122111112112122212222121222221112212211121112212211212222122221221212121121211221112212111121222112112221121112122211121111211121221121121222221211211221221111211221222222212222121111211122111212111121122222212222112212211221112121111112222112212122221211111111211221211211212121221222212111111222211121121111221112122112121212112212112122221211212111211212221112211111122111221222122211122222222211121122122112111122112122211111212222212222211221211222211121222221121221122111122212111221222122221122122222122121222121211112111222121122212112221122211212222221122122222121212222112121221112121221222122121212122111221211112222222221121122121222212122121112111121111222121112122221111211112112112121112212212222212112121212222111112122111211212122111111221211121111222112111121221222221212211222222222122111121122212111212222212221212221221121221111221222112211222112111122212112212121121111122221212121211122211212121211212221212121111121222221212121112122121112111222211121111221221211212212111121221111212111212212222211221221121212121211122111211111211111221212122111212212221211212112211221222111211122112121222112212221211212111211121212111211112122212222212211111221121112111211121221121222221222212211212221112212221112221211121122221212221111221222121111222112121122222212211122122211212112112221112211111221222221121111221111111112212121221111122212112221111222121122211222122221222212221112222111121111221111111222112122212111121222212121121111122221211221121111121111211212122211211222222112121221222111111111221111221211122122212121121211122221221211121212212221121112222111112122111211211111121212121112222112121222212121122122121111121212121221112111211122212212112212222121222112111121212122122211112221122221121221122111211221111211112222222212111211122212121112121222112221112112122121212112111211112121222222212111222112122211221111212111121111212121121112212221211121121112121122112222111111112111222221122211112222222221121112112112222122221122112122212221122212122222111222122212221111111111112112221212111121212221212112121121112212211222111212221112212122221221222121111212222222121212121121122211222222212211222211121211121111111221222112221222111222221122222221111122221112111112211112121222112121221112222212111121222112221222111211122211222112111212111112111111112212121211212211112211121111212212221212112221111121122222112211212121112112212221211212111221221211121222122221111211222121222222212221211211122112222222121121112122122111111122211211212112121121211112221121222211221211121212212121111211121121221222222111222211122111222122112221212122122112212221212212111111112111111121121211112112122122221111121212212212212112111222121121122221121212121111121212212222222212211212211122221121222212122122222122111122111122112122212112222222221112221122112222121111121121221221212212212212122222222122211121112221221121212122212121122211111211221122222221112111112112221112112112122122221121112112211121222222122211112211112111221121222212221211212122121111121222222221212121111111121221111111212122122121212222121112221121211111222121122121212221121211212211112121121111211112121211112211112222211222111112121222212222122211111211221111212221212122111121111212112122221221121112222111112112112222212222212211112221212211221111222211221222222211222221211212211122221122221222112222122112221112211221121111222121212212111112111122122121221212111211211212111121111121122222212222122112222111211111112122112111121121122112121212122221111212222222221211122221211121211121211121112222112221121221221112221222122112122121222212211122221211211212221111212211211111111212221212121221212222122111212122111121222212122211111222212211121121221211122221222221111112111212221211222221122212111221221222222111122212221112112222222122111121121212222112211211211211121212212122112212212211212121121122112212221112212122222112222211221122121122111212211122211111122221222222211222211211122222112111112111222122222112111111122221211112221111122122222222121212121212112211221222212212112121222122111112222112111222211122111221212111212112122211222222212122211122221111222112221111121112211122211121211122121122222112221122121121212212112211122111212121211221112111111111212221212112121112222212111222222122222111212211122222211212222112111111222122122221122111212111222112211212122222112212111111122122112211122112212211112121121222221122111212122121122122121122222211112212221212211111211122111222111212211111212222222221222121111221122211122111211112112212221112112221111112221222122112121222222122211121212111121212211211121212211112122111221112222212212212122122111222211221221211112222221211212222121111212112122211211211111122122221122222111111222122111121222122112112122122121212121122222111221122111111212222111121211112112212222111122121222122112222221121122212122212212112212211221222111222111212211112111122211121112221112221222121122112222211211122111222111212222112112222212121212222121112121121112122122221111111212211211111111222111122111121121111221222121211221222121212111111222121122122122222122212121111122221222221222212221222122111121221121122211111222211211122111212211121112112212222222111212221112122112121221222222112212121212212221121222122212111221122212211212212211121221212212121222121211111212221121121121211221122221212211121212111111121222111211222222212122221211221111122122112121122211121121211112211111222222212212221221122212211122222212221222211211112221112211121211222122121222211111211221111211212112212221221122111112211122221211211121112222212111212211211112221112111222121222112122111211122212111222111222211111211122211112222212212121121211111222122121212121221222112222221112121211211212221211121112121212112121211111112121112222221212211122111121112121211122111112112212122121112122112111222112121111221222212112211222211212112222112211122211222211222211221121122112112111112221222221222211112121221121212122112212222222212111221112222222221111122112112222211121121222221211222112112122122222211121112221111212121111111211111111122212122211121121222211211111112122121212221211112111211111212122212121121121211221122212112112212221212111112122112221121212222111122112122222221111121212121222111211122111121212211222211221221121112212212211121222222121212122222221221112112212222121112121222121121211121222212122121111221122211111221221112211211111211222111112112112221222222122112212112111111221112221212211121222121222111111121111121122111222222211212212221121211122222121121212121112122211211122212221221112221112212121112121111212222222212111212211122111121222111111212212221212111112122211221222222122222222221211111221212121121212222121112111121212221121111121121222211211111122222112122221211211212221121111122122212212122222222111122111111111211121112211121122122211222211221111112222211121121122112212221111112221122222221222112122222111211112121111222212121211211112222121112121122211122221111222111112221212121211122122222211122222222222122112221221111221112211121112221211122211221121112122112221222122211112212121211111212212121222221212121211122112122221211122221122112221112221221221212122222212112111112112122212112211222122122222111221222112211221111212122221122212222221222211212121111122112111211111122121222111121211122222221222222122212222112121122122121211121211222122212212221212212222221112111112212121221122221112111122122121112111121111122221122211111121212222122111112111222122211222211111111211211111121112111221211212212222121122212222221212222212122222211212121212112222111222121111212212121212212112111111221111212211222222121122211221121222212212222222112211122122121212222122121221221222122121212221222122222212212212211112122221112121221212211212111211122212222221211222221122112211112122121111221211222212111122121111222222112222111122221211212121112121221112121122211122111212122112211121111121222221212212211122211122212121212121221221222112212121211212121222212221111122221221212121122121211122212112112111121122211222211211221212111211111212212222111212122121221121211211221112212211212212112122112212222112112221112211111211222222222112222212221211122221112112121121112211221221222211222111222112211112221221122111221221222112222211212111111211221212112111222112121122112211212121222211222112112212212212112122111221111121121221111122211222222211112111111212121122222222112211121221111111221122111112111112221221212121121121222211212211222111111122222222111122112111121111212211221221111222122111221112122111112121222221112211212222121221221212222121222222211211112122112111121121111112212221121222221221211212111212221211222121221122122212222112222122111211122122122121212112211221221121111121221212121211211221222122112121221221121121111121122121122221212221112221221221122121212212122222211222221211122112211112221122211121221221111221122222212222212122111122211212221211122121112221222111212112212121111212221111221121211222122212211122211211222111222221122221222112222222121112122212122221221222112222211121111212122122211121222222122222111222122122111221122212112212121221222122222122222211111221221212221112121121221112111122211221111121212111222211221221111222212122222121112111122121111211221122112222212212121221212212112222212122112121111111121112211122212112112122212222112222112211121212111121121222121211212111122122211211212122221122212221212211222112222121121121111111111212221221122122221111222221112221222221121121112121111112111122221112122211212111211111221111212112222111122222121122211121121222111121121111211212222212212211222221121222221221112121212221222122222121121211111121111222211111111121112111121111222211211121211211212112212211221212111122112122111122212222112212122212212111112222121121221112112222121121112112221122112111222112211112121122221122112121112211112222111222211222111211121221121121112121112112112212111211111111121222121221222111122212222221221221112111122212121212111112111122111222222221211211222221221121121111212211112112111121221122211212221211112111222112222121211112221221222222121122111121221112111212211221112221122211212211122211112111211211111222111121112221221211222112121111211221211121211122121211122222122222121212112221221112211211221211122221221122122212121212211122121122121112221122111122121211222222221212111122211212211222112122222221121221212222221212112122111211112121122122112221222211211121221222122111121122121121122212211112122211112111121222111211222222212111222121222111222221221221122111212212212211222221111212112111122122222122212222221222212122212221212121112212222121222212121212121221212221211112112121122222121122211221211222221112211221122221211121222221121221222122212221121221211222112121121211211221121111222111221212122112112122221211221222122121212121112122212112122112222212122122122222112221111122122112222212222111121111212212112122112212222212111211222112222221112222111121112112111121121221121221221211211112122222211121111222221211122112121111112212122121211112111121112112112222112112222121121212221111222112222111212211112122122112212121121122112211221112112212111111222121122221212211122121121111121111112122221211212121122222122211111212111112122111222221121121121111111122111221212222122211121122122212112122222121112211112211111211221112212222121222121121112111122221212221121121221221212212221112212122211222111211221122112122112122221211122112221121212211122222122121212111212212211122212111121112212112112211121211112112221212222211212211211112122122122122221121212211211212111221211221211221111122122112222221121111122121122121122212111221221221222212112222112211212122112211211221121221211212112222212221212111111122212111122212122211121222122211111211112122111121122111122121121211212122111211122121121122222221211121221212211211212111222212211222121221211112221112122221211212122122122221222112122112121111212221112112122122211122211221212122212121211111112112212211222211111211112222211221111121112211211122122221211211222211111122111212221122222122121212221122222112211212112121112211222121121222222111111112212122212221211221221122122221121112112112121111221111112222211112112112112222112122211112212221112112221111112222211122111211112212222122122121212121112211211111212222122211122112211122222222212222211222221112111121222121211111122122111211211112122221121121222222222221222221212212111122221212122112221212211121112211112212121112222221212221112211212211122211121122221211221221112211212112221222112121212221221211111121122111211212112121221111211221211111112211221122111211111222121112221111221112121111211122211121211122212222221112211211112111212222121211211121221222221211221111221121122121211112211111221211212121111111211212211211212211111121122211111211112221122212212111112121121111222222121122121111221112212112211222112121121212222112121122121221222122222211121211112212121121122112122211212221222121212122222222121211221122112122211211212221112121112212112221112222112121221212121221212122112212222122122221122211211121212221111211122121122112112212122111111111121122112111122211112221221221212211111112121111212121112221211121111111221111111112122122211112222212211112212121122222211112221112221112122121221111112121112222221222122111122212121121221221212112221221112222121212222211222212111122112122221221211121111222121212221222122112212112112212112112211111211211212221211121211211221211121121112121121221222212111222222112221112211222212112111121211222121111211122211111222211211221111121112112122222211211221212211212112222111221122211121221222122112122222222222122222122121112222212221211112122111121121121222121111121221111112121111211111211121112211121211221221122221112211121222112221211212121121111212122111221112122221212211121121121111212222112112212122212111221112122121212111122122122212211122222121111222122122112112211222111222211111221211121221111122122221212211121112212122122222122112121121211221212211111211211211222122211121222121121222211112211121212212212112111112222221112212112112222222211111112121212222111122122211221221111221111211222111211112212122121211212111212212112112221221222212211221211121221221112212211222121222211212121221222111122211122121121212211211121111121121212212221111111212221122212112122121111222222212112122121112112221111111121212212122121122222221122122221112112222121122121122212222211121121222122112222111112122212211122122212221122211222112221122211212121211222211211212212111212112122112122111112221222211222211111222112221222121221112111212221121212221212122112212121111221122112222211111121212112112221222112112121222122121112122212121212211111112212222112121221121122212112222222212212221222121111211221212111121211111111112121111112221212211112111122121121221221111212122111121221221121121111221221111211112112122211111112212122222112112111111211111111212121212121121221212122111112222122122211212222112112222122122122212221221121122122121221222222112111222211122212122122211111222212111221212212222221122211212121221212112221122121211112211211222211211212222211222122111111221212212122221221222111122211121122121211111111112122212222221222121212221211122211212121112122112211211121211212112222212122122122221222222111122222222222122212122211122111212121122122112111222121212111121222122111112221121111211221211121211211111221211211112212211211121212122122122111211111212212222222122222212122121112112111222122211111112112122212211111121212222211212221211111121112211112122221222121222121122112211212121212122121111111121121111211121122122212211222121122122111121211111111222111211111212112122121122112211112112212121211221211111112222211222122111121121122122211111122122121121221222212221211221112212122112111212112122211112211221112121122222211112222122212121112112122211212222211212112121222122211211222121222122122211112122221211112122221212112122221211222221212111212121121212111121121212212112121221122121111212122121111122111221221121211212222212211211111111121221112121222111121111112122222112211122121212211121121221221112122211122211222211122222212212222112222111122112112211111222212222121222222221121222122222211221212222112122212111112221222112212121111221112222111212121112122222211122111222121111211212122222212112211212221212121121121121112212211222122222122212111122222122212111122221212112222212122221112221122112222222111221121112212211122222111212222121111111112212221111211122112222112121211122211221221221112211222222121111122122122211212112221222222121212121122112212212111111121212122112121211211121222222211111222122211221221121211222222111212211212211211222121121121211221221121122222122221212221112222112212121111112112112221122122211112211121211111221111121212221111112122211212121222211212222212112212112122211112112212121212112111222221122221211211212211212222221112111221121212121122112212221112222222111111112121122212222121222222211122112122112221211111211221212121121211122211121222211121221221211122111211222222111121212221122221112122211221212122122221222221211122122111122221222111122122221112112221221121212121121222122222121221211121221212111111121111212121121222221222111221221122121111211221221112122121121122112112212122211122212122221111122222112222121211221211222122112112211222212212111121112111221122111121221122111212111112212211121212211212221121111112212122212211111121222122212122212222212121111212221211122212111212111121211122121211112211211111211222222212121122212221211121222211221122122211121211211112111111121111222122111221212122111111121222221211222221222112112212122211112121122221222211122212112211211222221222211221211212211111212121112112212122112111111122212211121111211222122111122211221112221212222212122121122212211212112212211121111112222212112212111122221112111122122211112221112222211122111212112222121221212222122112112111212121122111211112211222122221121222222121221211222211111121121112221111111221121122222122112121111221221121222112222111211112111111122111112212121122122112211111111112111221211111221121111121222212112112221211221121221112212211121112121222112221222212122122221112122122221122112221111112221111121211212212211112111221112221121122122211111122212111222112211121112122112211122222222212211222211112222122211122111122112211211122211221212222211112122122112211112122211122211222122211212222212121221221211112122211111211212212212222111222221222111122122122111112212222221111221221222111222112211212222211122111212221121212221111122122221211112111111121222211121122111211122121212122211121111111112111111122221212211112222212122211121122211121111111212221221221222122211122121122121221121121121222121222222222111212121122111122211121121121111122121121212112112221212121122121121222111211122212221112222212121111211212211112121111121122121211121212121221222211111111122112112122121221211221222121211212212221222211211122212222111222122122211222221221211211121111222222112121221221222121221122122221111221222212211212221112211221112211221121212212212121211222212222221121112111112221121121212222112122211122112112121211221122222122111212212112121121112221212111211221211211112122122211111212222211112111212111112122111221122112222222121111112222122222112222121222221121221112111112112211121222121212221112112122222122112112222211212121222122111122112221111212122122211211211111112112121222111222222211222222112121121112221212222122222111112211211122121221112212211212222212211211221112212222211111111212221111122112221212221111121112112222222112121212121211212122112221221121111222212112122212112211121221122222212112222211211212121111222221221212112112112112211122122121111122221211211222112211111211211121122122221212212212122111122212221111212212221112221112222221212211222122122221121121121212122221122122112211111211222222122122121222112121212122111112221111112122111121212111122122122221121222221112122211211112122221122121222212121212222111221222122221122112212211122111122212212111222212111111211211212221212112121212222211121221211221122121122111221211211221121121122211221112211211212221212111111112212211112212122221122122212221122212212212122111221222111121121112112111111222221222112211211212111121112212122221222112121112111222121112221212221121111112211111111122111112222121222122121211111211112112122222222111121221221121121111121122221112221111211112221221121222121112111122221212221112212121221212222211121211212211212122111121221111222122122112221122122112222121122122122222212212222121211211122122121211121222111122212111112111121111222121211212121112122121111222111122212122121111112112221211211221221122111122221222221212221112222212212122111112222112212122111121112222112112121221212111222121111222221122112111122221221221222221221112212221112112121112221212121122112221222221222222211111112221222122221221212112111122112211112211211111211121211121112221122112222111211221211111222211121121221222112112122112211112212212222222121122111212121222112222121211111212221122122212211111112211122122221222221211221121212222212222211221122212121221121222212122212211212221112212221222111111121211222111121112121121212221222111112212121211222111122122112111222211111112121122211211122111222111121112122112112212222222222222212221122212122222212111111212212122221211211212212122112112111112222111121122212112121121122111122121212221111111212221112212122122212222212111212221111222122121111121121112121212111111211111212222222212111121111122112111112111211221222212112221122211212121112121111211212222212222112122112121212121112111112122221122212211221221222111221222112222222122221221211211211222221212222212222121222112122111112121211112221212222111221112112112121221211212122211112112112212112221112222221222121122212111211121212121211222122112121211221111122221211121222121112122221112212121221121111111121222221111121211121211112111122212111121212221212211222111122122212122212211212122111122211111121222112211211122121222222111212121212121112111222212222112111211111121221112111221111211221211122112212211122121222211112221222222121111222122122211212222222111112222121211212112222121222121212122122111221122111112221221112212121122122221122112221111211121212122122122212111121222111212212212222111222111111221111211121111221122122222211221212212221111221221112122111212222221111121121112122221222221121211122212212112121112221211211212122111122122122211122122221112222222111212111121111112111111111112212111221212122111222212111211212221211112212111212212212121212211112221122122112222221211222112122112122221112111112111112112212211221211221121122112112111121211112221221212112212211222211221212111212121121222111211211121222221212211112212122121221212212221222112122111111112122122121211122222112111221112222111111122122221211222111222122211111122122211111111221222111211221121111222122112211212221112121221222211222122211122111211111121222212111221211222121122112121121222112222121212111112111122112211122212112211211121221122221122122112112122121112211111222222121122111211222122222221122211111222121221111211212221212112212212221112112211112212111211211211121221121111122122212121121111112122111112221122121221111111112122122112121121122121211221222111112212111121211212222222121122212111221221121112111222121211212211211122211111111212111221122121111211111221111212122222112122121221222121121222122122212121112112221221122122212221212111111212222212111121221121211212211211111221211121111112111212122121222111211211112112121112112121112212211222121111211221112221212122212211211221111221222112211221211222222222121112111212112112222221211221221112112121122121222112112222212111222111212211211221111122121121111111221221211111112111222112222121211121222122112222221212121112212122222121212122111222112221111112221122221221122111121222222112111112112122212121112122212121221112212122112121222122111211221212112221211222212212112211111121211221111121211222122222111121211122122212222111221122211111222111122121122122212112121211112221121111221121212112222122122211121122211222212212121111122221221222222112111112212211112211112211211212111211111221212222211121222221111212221222121121122111112221121121221212122121122212121122212122111112121112222121122211112122121121222112111212112111111122111112221112122221211212121112111121221112222212122212221111211122212112122222111122221212211212221121122211222212111121121121211121122222212122121211222111122122112122122222222111122222222112112211111122111122112122212222221222222111212122222122221211121112212122221121121122222212111112111121211212221121222222121112112111211122212122122212122111111122222121212221112111122212121112121121212221122212222122121112212122222212212212212222121212212111212221121111121112211221211211122211121121112121111112221121122222112211121221212111121212222121121211111222222222111112211212212212212122112212221211112211122221111121222121121111212121121112212112222121112122121122111122212121111121222211221121121122122122211212222211212222211212211112122212211121211122211221112111212112222221212212112122221212211211111111221222112212211122121111111211222111112212122222121222212212111222112212111212122122222122212212121112221111122221122121111111111122121221211112121121212111222112211112111112211111121211211122222121121112211222121222221211222121212121212112121122212122112221111212212121112122112212211111112121221122112212112111221121121111112111221122211121211121112211111112211221211122122122222121222222212211121211212222221222222111111111212122212211121211112212121122222212122111211222112221111111221222122122212211122112111112221212111222121221221212112111122121122211222111112121212112122212211112222222111111121211221122111222111212211221221212222221122112211221211221211222112222211112111212122121212211222121112211111111211112211112212111122222211221222111222111211221111222122122111111112221122221122222222122121211121122212211122211222112122112222122111212211212221121222111111222221221121112221211211112221212212112212211112221221122212221121221211221112121112111212121212112121121211211221121211122111221222112211212121112122122222212212112112221222212111221112111121222221112111212122212111212221222122121222112122212112212221222112222212121112221111112121212111111122111112121221111211221221112122212212122122112222211211221212212111111212121221111212211212222111212211222121222211111222212121111212112121111111212112112111212211122212221212111212212212211122122212222122221211212212111112111121222212222222112212112111221121222122121121111121112212122112221121111122222211121111222112111221121122121111221112122222212222121221121121121121221121222111121122222121121221221211122112112211212112222222112221111121121211121222222212111211221122222222121211212122122111222122212111111222121122222221112212122121111121212122121122221111221111221222221211222122212222122221211211221211221112211221212122112222121222122111221111122212221211222222221111112221122111222122112211122122111212122121222222111212112122222221111111222212122221121122221121212212112122221121111122212222222221221212211221211221121121221122211221111121221111211211121122211211222222221222221122211221111122222111211112111221222212212112222212121112222212221112122122221221222122222112221222111121121121212122121222211211221121221211112211112112222211121122122222122221222122221222122111222121121122221112211212222121121112221112112212211222222111122211122221122111112121121222211121122222211121211111211221111112212222221211211221212211122121111212121212122212112221211212212121221221111211111122122111212222221111112211112211211221221122222221212112122221112222121112111121111212122112111211212122211222212122112112112222112211121222221112222212121222222221222222221211211122212211221112112222122221222122112211211221221121221111212121111111221121221222122221212221121121112111111112211121111211211221121111212211221122222122221211121211211112212121221222212221211121222111222121221221221222112111222112212111222121221122212222121121222112122122212112211111222122221212212222222122211111112122111112221111222211221121122212122112211122211122121211222111112212211212221211122222222221112211221222121222122112212212212221212111221211112211221112211112221122211112212222212212211212222212111111221121122112221112122111122212221221122111211211222121111112111222112112111112211121111222211111111111212222111111212221121212212111111121221122212111211221112122211222111212211112221212121222121211212112212121221122211112112221211212221222211211212111221121111122211122212111112221112112211212112222211212122111112122111122211212222221211121222221122121122111221222222211121212221211122211212121121221211111112112212212212221222212212121112211212211112211222121121212122211112221112121111222121122212211121212121222222112122222122222112112122121221222211212212212111221211221221111211222211222111112212112121222212221112212212112212211111221222222122112122122111221122212222222121111222112122111122112121121212212221211221111121211211111211211122221121121121221111111222111121111112211211112221121112111222121111221112122212212111211121112222122112212122111122212211221122121112222122112212211212211111221221221121212221122221222221122212122212221121122222112112212221222121122111222212211111211121121222122121112222222222212111112121111222211121121212221211112122222111222222112112112211221221222211212121111221212111222121222121112221112111121121211212111221111221211122212122121121212211112212222111211112122111122122121111121112222212222212112111221212111221211212212112121122211111122222122121112222212122112212112111112222122121211122222112211111211122222121111221121221211121222212211221212222112222211222122122212122112122221221111212121212222122112112211121122212122111111112121211121222112211112222212121221212212121121211121121111122211222222211111121112212212212212212222122212112222222112122122211211221211221122122112121121212111112111211222111221222122112121221211121221212222212111121212121221111221111211222221212122111211122211221111222222211212221222122121122121121122121121221212211221121212121211121212122211112122112222221111111212221212112111222221221112112111212121221112111222122212212222222111122222121211122221122222211221222121122111212212211122112222222221211111121122112211122211121122111112212121121221222222211121122221111221221122211211112211212121222111112212122111222222112211211212112112112122212122212121211121212211121222222221111211122211211211122121122122221221121112121211122221111212111121222222111112111122111122121222212211111211121111211121121212111121111222122221112222112111221212121111221221222212111212112222122212222222112122222212111121221122221222211212122222221111111212211221211221211111212221211212212122222212121121211212222112122121212212222122212122212111211222122221121221111221122112211122211222112121212221222112221111221221212211122112111111112111212112222121112122121111111122221212222212212121222112222212211211112112211211112222212121112111211221112121212112212121221122121122212121221112221122121111112212222221121112211111111222122212212222222222122212111222111222111111122111222211112112221121211221122121121111121112222221222121211112111212122112221112121121122212111112212212222111211212211121222211121122211212211111222212222211112112222211122122112221121121222122111111221111212222221112121211122111111122111112112122121212211212211111211112122212112111211222222221211121212211221112222222122121121221111112211121111221212121121211112111112121121222111111122112112211121121111121121121111212211112221211222212112212112112221222122221121121222211222212221111211222112122121112122121212121221221122121222112121211112111212222222122211222222212122222121122112211222222212121211112122121221111111221122122112122212222122221111222211111112221221122222211122222222221222211222212111111221211121112112211112122212112212221212111212122222121221121212121211111212121111211211221122222121222221111121122112212221111211111121122112121221111112122211221222221112222112122222211212122122121112212121112111111211112122222221222222221222111211111112221221111221111212211111122221122212111222112111121211122222212222122112111112211122122212111112221112222211112221111212212211221112222122212122211211111121212111222122211121122112111212211211221111212212111121111211222121122222221121212112211222221112212222222122121112221112221121222111111222222222212112112121121121111221111221212122121212222122222222122122211122122221121222112122222211121122211112111222221121222111111111122211222111222222122211211222111112222112112221111122122122211111121111212212121112221211221221211221122112212222121111221221221121222122211122221212121122122122221222111221221112221112121121122212212222211121222212211211111222211222212211122121211112222212212222121212121222121111112211212212112121122212221111222222222121221222221212212112221222121222111221112111211212212121211121121212221221111212222211221221221212212121112212111122211221122111222221212222222122222222122111221112111122211211221112212112212222222112221221222221122212112122222111121111212122122221112221212121121112112111221212122221112221212112121212111221122222111212221211221111112111122112211212221122122211121112211221111222112112122122122121222212212221122212211211111121111212222212222111121221112111211122122211111111111221111111221222211211111111121121111112121112121211111112211212212111112111122122222111212112112212222121212111221111221222211122122211221122212121212221111212122212211111121122112121111211222122211212112112212221212121121112222122121111212222121222212212121121212122222212122111212111212111122212111122212222211122221222122222211112111111222112111122111211221112111211221121221121121212212121221221111211212121222222211222122121112221122122221221221222122122212211221211211211221122111222212222221222122111122121111222222111221212122122221121222111121121121111211212221221222111211221221122212211211122121121212222122122121212112222111112211122121222112111112222222222221222111221222212112221112112211212222222121222222222112211222112112122211122222112212221112122111211122221111222122122222212112221122111112121212121212211121111221222111112111221112212111211212121211211212211121212121221212221222221122221211122221121221111112122111222211221121222122122111222212112111112222222111122121111111212221221111211212111222211121212121112221221221211221122211212221211212112122211211121212221222211212121122221222111212221211221222121212222121221212212222212112111212111122211222211111112222121222221111212111121121111111112112211122122122221222112121212221221121122222121112212112221221122121111121212211221111212222111221212111222112211221221211221212111212112111111121212112212111112112221212122221211222112211211111221111112122221121211211211121121121212111122111211122221122221111111111222121121122121212211222111222111121222112221121111222111111112122211211222211221111221211221112112222111222121121212112121111221112212221221122111122221122221111112112122212122111212221212112122222221222112212111112222112112121212212212112122121121211111211211121222112212121121221222211221211121222122211211111111212122122112211112212212122211121222112211222121121112222111122112222121211211211112222212112111222112221221221121112121112122211211212221211211111111211221112211112221121122121122211211111121221211221112212211222221211221121111111222212221111211111111121222112112111121121222121121211112221221111121121222112111112121212212122122112122112221221111211112221122122211112211222121112221212122221211111212211111212212221222221121211211121221221122221121121221111122222111121121111212222221212122121222221111111122111111122122221112212222121111121112221222211111122122112211122121211222112122112122222121221222111121121112221222222122221212111221221222121122221112121121112122221121222212222112112212222212222111111211122211212221222122221122111122121111221221122211212222211122112121111122222112222211222112112112111121111221111211222222222211122221221121121122111111221211221112212112221112212121111212121111211212122122112221211212111121211222212121212122222212112122112121221111212221111221221212221112211122211111121122211211222112211112122211122222121221211221122121221212221122212211212111121221221211122122211122212221112221121122111122221112111122111212122121222221222212112121111121111122211112121112122122112112111112222211222112111212212212122221112222111212112112112212112122111221121112212221211211111122121221212111221212121122222112211221121111112212111121112112222221221111221212221111112211212122211122121121212122212221221112212211122212211112212112122211112112122211212122222121212112221222121212121112121211122111212112221222211212212222212211111221112112121212212221121111111211111211212122222122122121212112112112221211212211221122222211122212211211221112112122111222111111122222221221222111121221212211212112122212111121212222221222122212211111222211211121122112112222111212121222211122111121111111222112222212111212111111112211222122122111112211222122212212122211122222221222122112112212211222212211112211221112212122221111221122122111122212212212222112222122112212122212122112221111122222111211211212121111222221122212122111122222212222111212112222221212122212222221112211112111212122221112111211112221212111112111212221221212222211221122122212221121111211222112221111122212121222221112211122211122111122222122211221121112111212111122122111211112112112211222212222222121222211122121212211221122112111221222211122222121112111111222111111222111221222112111122212112112112112222211222112112112112221112211221212121211221221211211122221221212121212211122212112211222212221122122212112212111211122221111121222122111212221221111121211111122212211111211112111121112211211112211221122121122211211212212212112222112221221112221222121222111212212211221212211211221212111211122112112212112121211112121111122122112121121212221222221112121111211212212111122222212122121112121111221121222122112221111111121212212211221111221121121221121221212112122122222222112121121212212221222211111122222111221112111112211122112121112212211211111211211211121211211122222111111222121121212112112122211111222112112112111121212211121222121121121211111212221211112222122112112112122222221211212212121122211212221111211112111212122112111221121122222222122212222122221121222211222212112211222212112212121221121212221211211112111212211122211121211211121121111221122211221111221112111112212111112111221221121121112212221212211111221112122211112112121221122221222221212112212212222221212222122221212112221112112222112211211111121222122112222121212212122122111112112212112222222212212211121112111122211111222121122212222111112111112222211122221221111222221111211121222222121221122111111111212122222111221211221222222121221212112122211121222122111121111221112221122221111211112212111111222211221121122212122112121221122222121222211122122212212222221222221112111112211122212112221221222112111121122121122222211221122112221222122122212221122112222222111211121122111121111211122122122221212212211122221121211122211112222121121112111122212211211112121211211121221121122221112121112121112122112111222122211212222212111112112121112121221121221212111212211121111221212212121211211212211112211122111111222111121121122212222121112122111122121111212222212112222111122122121112222121211112121112122111221111111122111111212122211222211111221222222112212121222212211111212211212221122121222221212221212122212121222112122111112211112121121212212122121222121112122221121212111211121221122212222212222111211212112111211221112112112112112122212111112112111221211112221112112121111221122112212222112121112122122212222222121222222212222212211111112212111212212221211122212221211212111221121211222211212122122221112212221211121112121221222111222221222222121111111212112212211121121111112111112112211111112112212122122212211211212111221211111221112222211121211111122211221112111212121211122222222212222212111112221212211222111111222221221211121211211111111122112212221111221112222111112121211212211122122212121122211221211121122212212112112222121211122121111211112221211112122211122121122221212221111212221122121111211211122122112121121222111121211112112212121121121121212212121222111112222112222221121221211222222211122122112221111222222121111222112212111221221122111211212112211221211122212111212211112221211221222121121111212112212121111111221121111212222211112112121222212221221221112122221111221221111111221221222222212212221222111121222222111211211122112212212122211211212221112221211112121222121121221121122211211111121122111111222222211112112121221221121121222211121211212112121222111112212112112221211122111122122112112222121221111222111111121212212122222221211211222222112111212121112221212122221121111111221212222211212121111221112212122221212112211211212111122212222112221121112112121212121121111212212211222111211212121212111121112112222221121112122121221112112211211212122121121221212212112122211111211111211222112122211221212211211221212122221121221111221111122211222212111211221212112221122221122111222212112112222111221222221222111212112122222212221222211121211212112122112122222121211112222212212111222222112122111111122221111111212222212222222221211212121212211111112211221122221122222212212222222122121121122111222112211112121112211212111122221222212121121121122112222122222222122111111111121222122121112211122212221211112112111122212111112112121222112122112112221121221112211211112121221122222221211121112122222211221121121121212112111112222222112221111222121111121211111222222111211212121212221221212122221121222112121211221211212222121122221221121122221121111222112121122111222112212222211111121212211222122111222211121222211111111222121112121211111111111122212222211111112122222212222211121212122121221222112212121211222222212122122221211111112121111112112211121222211112111211121221122121222212222212121222121111222121211212111112222122121221112212111122222212112211111222112111212212111221121121121111222221212122211122212212221121121211212122122211221222222122122212211122122111121211121221121111212221212122212212221122112122112121211221211112112211111221112122212111221222221222211122222211112221222212222222212211121222122112212111211121122121222121122111111222212121222112111212212222122122112121211221211211222121222112222212111222211112121121222121221111211211221122121222121121111221212212221222122111212222211111121211212121122212112122121111122121122211112211211121122221121121112212111122122221112121111121122211222222212122122222221111111212222222111111222222111112212222121212111212212112211211222121211111111221221121222112222111222212222221222221122211212212112121111112121221122111211222121112111111111122212112212111121121111121222221221211111122112212122212121211212121122122111211221221211222111222211212111121212122111111212212111211222122112121222121222222221112222222211122221121122122112212211112111111211212212111122112112221122222222221111221121122221221212211121212212222221112211112122111112111222111111212222221212211222212211122111222221121222211211211121221122111122222222122211122112222222222122211221111222111212112121211222211222212212222211212211122122211122211112221212222221111121221121121221221111212111212122122212121222112212211222121211212122121111121112112221222112221221212211221211121122221212211121111121112112111212122121111112122212122122211112221111211121212121211122111212121222211112212111122211122211221221121121222222212211112121222111222212212222112122122111121212122221212111211222211111221221211111212212211111111112111221122221222122122112112122111111222211112112212222211222222212122122211212122111112221222211212212122211211221212112221212121122112211122212122111221112222112221111221221211211111122221222212212122112122222122122211221122112112112112221121212221112112221211112221221122122211221122111211211122122121221122212121212112121221111212222111112122221122111211111112212222111121122212222211112122222212121212221111122121122211122221112211221221211122111121122222222211122112122222221111111111221112111221212212121122122211222222112112222122121211111112211111211112112111212112212222222111221122222221121122222111111112222121212221211211212111212211121111111212122222121222111222222111121211121212222121222121112221212112222121111112221212112212111122221111122211122222111111221222222111211212111212112221212221112221221221211221121121122222212121221222221112122122221121112122111122111111222112212112111212212221122211211111221222111212211122112111212112122211111221212112112122121221111221221112111221222111211222111112221121122212121212112211121222121212221122212122121211211112121112111211222112211211221122221221112212112112122111212112122121121211212122111222121121121212121221222212121111111211221121222111221111121121212111122112211222222221222222112221222221212111111222212121111122212222112111122212221121122222112211212222211122121121111112211122112221221112111221111212212221221212211211111221222111212122111112111211221222222212121122112222121121111112122222212111112111111222211221211112111211112221112112112121112122211211212212222121221211212211212111121121212122122221112121221222212111111212221121212211221212111222122211111212112112112121121221121222212112221121112112121222222212111221122112122111122121211221112111121111221111221122222222221222121121211111121121121122222111111211211221112221122221112112122121221112221111222212211122112212121122111111121222222112121221211211222212121111122211111121222211212212121111221211211222222121212221222121221112111112112222112111221221112222221221111112211121111222122111122211211122121211111222211221121212222211112122111211121121221211111211112122122221221221121211122212221212222222122221111211121112212121121221221221121122221122221211211221121112221212222111121111211121121122121121211121221112111112211122111212122122111212221121121212221221111122221112221221211212112112222212211121112122121111211211221122212212211211112122212121211211211211221122222221121222111222121111211121111222222111121112211211212222211221221221221212111222221121221121211221222212221211111222211121222111122111222121112211222112221112221111211211112222212122222211211212222212212222212121212221111222112112111121222211221211112112121222212212121111211221211111121222212122121212122121122211212111212111212121212222121222221112212112112211212122211211122212122121121122221221222122212222111222111211222112121212111211122121111112222122122221122221221222111121122112221111111112112212121112121222121112122222211111222121211222122211212222111211112211222121121222111222222122112122122222121121211111111122111212112222221121112122221121221212211211212112211122211211212121121212222122122122212212122122222122122121212212221222221221221212211122222212222112121211112111211111212212122122221222212112112222111111122211212112211221112112222112212112212222112112122211221112211212121222111211111111222212112112212212122112122211222121111222212121111221221212112121222222121211212121121121221221112211212121121121111222122112222222211111221111212212221211121222112211211111212112222122211122221122221121222112122111111112121211212121211121111211122212112122221212121112221121221212112111121121222221111111122212111121121112122212112112122112122112212112122221122222122121212112121212111211122121222111211212111211122112112111221122112212111222212222221222221211212221212211221111212112221111122222112222212112121112211211211122121221112222112211112122222122222211112111221112122211111122111212112211112211211121212112122222212112121112221221121221111121112112122211212212122221111112112222112221111111221211111211211121112221211112212121111111121111211112121121212111222112112121112112221122212212222222222221122112212222222211212222212221222221122121121211222122121111211221212211112121121211211121121122111121122211212112221112222211122112122111112112121121112211111221222121211222221221121211212121122211211222121222222212212221211122122212122122112121111122221122222211111121221212222221111211122211222211211111212211111111221211122212121112212211221212211212221112112112112122111222212222211122221212222121112221212221111111221121112211111221112211121111222112121222221112122121211221221111112221121121112221121111222212122112211121121111112111212221121121222122121211122122221222221222222212112211112222222211122112112221121212211111111122212222112211122221221221221212112111212222111111212212222122212212212122221222221211111212222112212222111212121121221221111212212121111111112212221222221211122112122121111222112222221221112112122212221221212222222222212121221212211122121121211121111221211221211111211112221121221212212122222112211121211111111111122222212211111221112222122121221121122211212212111222212221221111211221111121111212221222112121112122112211222111222212211211222212111121111211111112111112221222212122122222212122212122111211221121211221222111221111122121221212212121211212112112222222211121112121222111121121222122112121221121221211121111221111111111211221222222211212121111122211222222212221111122212221211212111122112222212122111221121121222221212212221211222121211211222122112222121221222121122121122112212211121122111111121211122212111221212221212211112112111211122111111212122212112121212121222111222121212112121111212121212222111222122121111212221111221212221122111221122221211222221122211122112211212121212212112221121222121111112222222221111212111122211112122112111212222112121121112211222221112112221211222222221222211111121211112112111111112221222121112112222211222211122122221222221112121221111121221211111111111212121211222112112121111211122121111111122222222111221122121112211112122121221212121112212211112211212211121212211221111112212211121222122211122211121211222121122112121111112212122121222122112222111122111221221121212212212112111222211111222221121211212122121112221111211112122222112222212111112122122222121112111221121121211122111121222122212111222222212211212122221112111222211221121221122111112222122111122112122221122112122122211222221222211121211111221121221221211122221211122222122122222112212221121221222112222121212121112111222121121211122212211221121221211221212111122212222211112122111211211212121211121211221112212111212111112221221211112222112221211222122222112221111222121211112222121212221221112221222221111121111222222121111121221211122221221122121222111222112111211112211222212122121211122222121212221211222212221221222121121111112221221221212222122121222222122222111211111212112222121211221122211222112121111111122221211222222121222211111111221211221221122221112222222111112122211122111211112121221222221211221221222212221221211122111222112121221111121211212112221211111222222222212222211122112212122111211222221111121111221222221212111121111112212121221112212111212221121221211111111112111112111212222212211211112111212221122221222221221112211221212212121212212221212111112212112122121222122111121221111212222111112112111222112121212121211122221211121112112221122121111211112212211211212221112211112112221211121212211111121212211221122222221112122212122212222122111222222121112111111121111111112211111111221212221112112211211112222121112222222122112221221112122122211212112212112221121121121211211111221122211221112112122112112122212212112112111211121121222112121121222111222111112122122111122112211222121121122221222212122221221121111112121221211222112121121222212212121121212111222212212211111212222111222221111212111112221112211211221222221222122121122222222221222211121221221111121111222121221221112112122122112122121111211221112111112112112221121112221121212121111121212122112122222122222221111122111211112121122221112112121112111122122211211111222111222221211221111211221212212221121121221121222222111221111112111212111111122112211111112112212122221111121111222212121111122122111221111122221211212212122121211222112122221111212121121222212221121111121212112221121122111221121111112221221221211121121211221122121122212122222221121222211222112111211221112212122112222221121211222222211121221112211221111121111112121111221111211112122111211122222211222211121112211211222222211111121111211221121122112112211112211211112222122121112211122111221222122222222222122221121112221121122221212121222222122112111222212211212222111122222221222212121211121122211222211121112122221222112112111121112122211121121111112221122211212212212212112222222222211112111211121112212222212222221121212221221211222212121221111122112211111211122111122121212122121111222112122222211121221111112121122211211112222222112222222212211221222211111212111112112221112222221111221221121112122222122111222222212211212211121111112111112211212122121212111221221222221212112222222112121222111212122111121222122221211112121221212121121221121112122122212212122221112212221221121111222221122211121211221211212211212222121221211122222121112222112111211121112221222111211111212121221221222212211121211222111122122112121121112122211112111211122111112112121222121221121221112212111121222122222211111222222211211121112222211112221212222112122222212221111221221122121221112211111211221111111211222112222121211221212212212222111122122121112222211211211212121212111221122211211122221211212122211222221112212212221122111121222121222121122222212111221111222111121211111211111222211212221211122221122111212212121221221211112122122121222212222211221221111122211122221112121112121121212112211122212212111121222222211211111212221212111211111212122221211111122221221112111122112211221212221212222111212112121211122221212211221212121221122122211211211122212122211121112221221221222121212122222122121112222112112112112211111122112212211222211222222221221112112221211222112222222212122112122222111112122222121111211211221221221212221122111111221112122112211112211211211122122111211122212112212222122211212122212121121112221121211122212212122222112112221121221212212122221122121112211221222112112222121222212121221122112121112112211122212211221221211211111222112121112212211212222212121112211121112112212222121111121212121222121222211221211121212222211122122211122221211211122111221221212221121211111222121211212111212212112211221222121212111221222122212221212112122211111122211121211112212211212112211112122212112111222112211212112212221212122121212112222221212122211111212221211221111212211122122211221112122122112221222111122211211112112222211121221211221211212211222112122111212121222121222121212112111122211222111222211222111222111112111222211112212211112121222112222221212112111211112221122111111221112222221122211121122222222122111122122111122111122221111121211111122212122212111111121111221112122211212222212222122122212121121122112111111211122112221112221121112121211212121112121111111121222221222111211212121122211121211212222121112112111122221211222212112211212211111221222222111222122112221212121111111211122112211222212112212111111111212122122221212222211112211112121111221212121121112121222221121212112121222211211111121212112121112222111111211122112211121121221211211222221112221222121211221222211111122211222212111111111211212122211111122211221111222111122111222212122111121111221121112111121221222112212222111112212122211221121122221122212111112211122221211112112112122111212121221211111221112212221222111121112221121212212212222111122112222112222111222212112221212112121121221212212121112112111221121112222222112111222211112122112112121121211211111212112112211111221111122221212112222221121111221212212111122211121121122121112211121212121111112222111221112222221111211211122121111222112122111221112122222121121122211121111212111122211221111212122122112111212121211122112211212122111122111112222122121112122112122221211212222122112122211112112111122212111121121122122111122121121112211212222122121111222212121221212111122222112211111222111122122112112211122221212111111222221111212212111121121211221122122112221211221211122122121222111211222122112111222111122211221112121221121112112111111221111121112211221222111122221212111212112121112121211111112221211121221122212121111211222221111222211122112211212121222122222111111112122111121111111211211221212212221221112212222212211111111212111221222111121112122211211222112121111222112121121221122222211112212212212211121122122121222211211121212222212211222111122221221221111121122212121122112122111222111121211212122221221111222121222121111122111221222112222111221111221221122112121111122212111111121122112222111222112122222111221212112112221221222112212211121222122122122211212222121211122112212211112121221222212211121121212222211221222122121222211221111211212222212111112212122122221222122122211222121221221221222212211212121221112212121211222221112211222222111211211112222111212111112111221212121121212121112212111212111112221112122121222121122222112222122211211221112222111111222211211212212122212221111221111212212122111222121112121222112121122112211122111121122221112112121121111121211122221111221122212222211112222111112122111212112222212221121112121112221222121122222112222222111212112121222222111121122121122211112122221111211222222221111211212111111122122222112222212111111221121221212111212211221111222112112211112221212221121212222211111222112122111222221221221212211221222112122121211111112222221222121111122212222211121122111122112122222212121112111111211122212222211211211111121222212122221111221111221212211211111111122111222112222222222211121121212121211212111212121222121212212112112211221122121211221112112122221112212211112221211212112212121212212112112112112211111211221211111111211112121112111122211221222112212121111121111211122221121111111121212221121112212112121212221222222111111211122122212212112221212122212222211211122111222211221212212212122221112121221122222121222212112211212221121121212111212211222122211222112212222212221122212222212122211221221221211222221121122122212121111112111222121221212222211211122222212111122222121211221111122221112121221221222212211111121121221121112212122111111111212122122212122122221212112112111121121211212221122121111221212212222212221222211211112222121222122111121111222221111212122111121122212121212112222121222211222212112222122211112212221211222121121221222122221111221121111222112122221122222212212221111121122112111111111222112211212121211121121211111121122221211111212112212112111221111211121122222221222221112221221112222221121212212112111111222211222121112121112121211212122222112112211121221112121221212212122222222212221221122122111212211221112122211222112112212222122112212121221111222222222122122112112112112221221211112121212211222122222112222122212212211121222222111211222122112221212112111122211211222112211111221111212111221211111212212122211121121222112121212112122221121121121212112221212122222121222112221112222121112121121222121122222222111121121122122112222221112122122211212211111122211111112112122111212221221222212221122221111222212221111112222122122111111211121222222222122211121211212222111212211122121222221122221221222111221212212212122211112211222221222222222222121211212211212212212121112122122122122212211211112222112121221222212121212111212111212221221212111212121121212211221212112121111122212111212222221121112111222212111121222222211211112111221221112112112212111121222221112221111222112211111121211122222222221112112211211222222122211211222121221122221221121211211121212112211222121212121212122122112122122212111112112211221221222222211112221221212111211211221222221111211212121111211211122122111121121122221212222222212111212111112112112222122111122112112221122211221212222211212211122221222121122121221111121111122211212111112212111122121222212121121222112112122121122121212122212212111121111121212122221111222112112112122212222122211212112112212211211222111122111111212111111222111121211212211112221122222212212111222211122121212222212212122122122121112122212112211222211221222221212212111121122212112222212222111221211212122121222112221111122122211222221121122222222221222221211112122122221112121122122112221111122122111222112221221121112211221211212122111212212211211221222122212122122222211222121221211112111222211112111122222221222211111221221221122211222111212112221221121122211222121122112111122212211222122211221221211211221221211222111112122212222112122221211222111122221111111222112122222121111221222111121222212222112212112111112211222212112212211221211211121211122111221111122222212121221122111111112121112221112112121212112112221212111111122212122112221212222221221111212211221211111111222122122112122111211122122121122222221111112221122111111221112221211221221212121211212212221111112211112122111111111112111212211121211222212222211212212121221121122122122221121212211111112111222122121222221212111111222222112221111222121211212111112111122212121112221112211212122122112221121211122212121121111212222122221212222122222211121111212222121112111122122111221122122111212212121221221112211212221111211211122211211121211121221122212122221122212221111211222211112112211211122121221121212121121112122212111112211211221122211211121111121111112212212122221221211111221221121222212221122111211112211111122122212122121112222122121122122112111211221221112111211221212111121112222111221222111212122222112112221221221112112211122112221221211222222211122222122111222122212212211121121212222222222212112112121122221222212222121221111221111221222121221222121111212122122122122211221222122112221111111122121112211122222122122221112122212111221121211221112221122112122111211212211121112122222112112121121112212121221221211112121222121111112222112111121221121111211211222111111211112121112222221221221121112211111211221221121121221112222212121111222222112221222112221122212212211222121212211122222211111121212122122111221111111212122111121211222212112222222222211221112222111212222121121212212222211111122221211211121212211121222221222122221212221112121111221211222112222111121122112221121122221111112122112221111212121111111221112212121212121111121212112212212122121121121112212121212222222211122211122222121121121121211212112111212111122211211222212221111122121221111222221121121221211212111222122211211212222111112112222211111121212222221122211221222212221111111121122221222222121222112111221211112111211121111221222211121121111221212111111121212212121122211222111221122212221121212122112211212211212111121222212112211122221212221211121222222122112212212122222221211121122111212212222211122112121111111211111111221222112211112122122222222121121112121121222221111112212111121212112122111112212222121221211122112212212112122211122121111211111211112121121111112111212222122222112111112211112112212222112112212212122112122111212111211111222212221121122111112221222122211212111211112221221221122221112112211221122122221222121111112122111121221212222222222211112111121212222112122112212112221121112122111112121111212121111222122212121221222222111212122112222122121122211122222211121121211222221112221221111221222222121121122211212122222212122212122112111222221111111121211211121121112211222211212112112212112111121122212111122122121222122112221212122212121122212222212212121221121112121211222122112121222221122211212221121221112212221222121221122122112121221121222212222222222211221212122122111112112212211122121112122122112222111222211111112122211222122211122222221122111112212221122122121221111211122112122111111121221122221121111122111221212112211122122212112121212121111211212222122222222112221212112111121111122212121121212112112212222111122121221222212122111111211122211222222121112211111221122211221222121212112122112222212222221212121212211122121122222112212222122121121122122122121112111121112121211221222221222112211121111221122221212212221121212111121111212212212111221122221121212212112221221221222221111211221121121212121211211112122112112221122221121221121112112121121121211112111121211221212222111111222121121212211121211221221212111122221122112121112222111212212121211121222212221221212111212222121121122111121211122211222112212122221122121222112222222122122112221211221211122111122221222221222212211221222222221112211122121111112222222212121212212211222212211222111111222121211121122122122121121112122211111122121112221122211221122122111122111121221221122111122111112211112121121111121111122121122111211212211211221121212221121111111212121112221221111122221221121121122111221122112121221222111221222222222112222121212112111212221222111111211212121112112122211111111111112211111122221221221112111211111111122211112122212222222211222122221122122121211111122111212112122111221222112221221212212221211221211222222111122211221212111111212212221212211112221222212221112111121211221222212121211112121222221121111211111111212211221121121122221111222122121222122122212122122121111112122221221122121211212221122112221222112211212111211121122122212111112112111212121112221122222121211111122222221211121121111112122121212222211221121111221222211211212112111111211222112111221111212221222112222222211122211122111221122112211111122222121221222222112122121211122111121121122222122121121111121221212122121221212222122111222222122121112112222112111211122122111211112211212122121211122112111122111112212222222112112111211211112112112212122122122211121122112121112121212111221221112221111121121211211221111212221122212112212222221122212122111211122211121221221211212222121121121222221211212121121212111211221221121212112212221222222221222122112122121111221211212222111111212122212111112211112122111212222211212221222111112222211121211221222222212212211221221221211211222212211121221212121112221111112212122122112121111121121221122211221112111222211211211221121221112112111122122221222122122111112222222121121121122122112221122121122221211122222112122221211212222212111112212122212122111111221221121222211121212112111111111122221121121211122112221122221112221211112112212212211122112121222212121111211111222222121211212122211221122112222112211222121222111112112122221111121122211122122222221112211212221211121212122211122121112111212111221112122121121212121112211221121121112221221221121221211221212122111222221122211111222111212121222211121212212212212222112121121122221122222111112112221211121211112211211122112221111121112221222112122222221222221211212121221111121111121212221212112211222212112222211121121112122211111111111121222111222111121121121122222111111121111212211111221121111121121211222222111212111221111212111121221222211121112211211212211111121221211111111221111121211112121212121211222212112121221211111111122122211222221222121221211111122112112212211111221112222122112111212122121112122211221122212212221212211121122111112111121121222222221211112111111111121111222211122221112221111222211121221111221222221222212112111122211211122111111111112212212222112211122211121121221122211212112111221121212112222111212221122221121221212211211222221111222222212212212112121222222122121211112212121122122221122221111212212122221221211222221222121222122222221212112122112222222211121212222112121211222121112221211222111211222212222222112222211111211112212122122122111121211111222122111112211212111212112122222122211212111111111121121211211111211112112211222121212221111222122221121212111211112122211211112222111112122211212121211212112212121211212111212221111221211211221121221212112112222111221121222112211211111121122111211122212212211121111111122222112211112222111112121211222211211222211121222212212121221112122222122212211122121111111221222221211211211122222122122122221221112122112221112121121212222121211122122222211112121221112111111221111222211221221112221122121212122112221212212121221222222212212122121121212111221111122122112221111212222211222222211122122211222221112212122122212222222121122222212221121112111112112222121121221211121212111121111121122111112121221111211211112111111112112121221121212112112122222112222211212121112222121211111111111211111211112122121122222222221211222112211221121112122211222111121212222121222212122111221111212221122212221121111122121122111211122222111212121112221111112221212211222222222222121112212122112111222112211111111111112211221111212221212211111222212221211221222111122111121112111222211122222212121112122121212221111121111112221112221221111221111111121221122111222111211222111221211222222212111111221112211221111122212222112121111122111111211212122122112122121221112222211212221212221121111211221212122211212221222122121211122221222112112221212211221112111121121221122211221111222121111122111222221112112222212211222222111111112122211121212122121122111121211112222212221122211112222112122121211221122112122121211212211222121121112112122222121111211111212212222211121221221222221111122221121121122112222111122212112121112111112111121121122112111112121121121211211212221222211111122212111111212111221211112112221221121111111222112212121122112222211221121112111212222211211212212212211221122122111122222121121212222121211221112211122221221111222121112222211112112221122112122211111112121212211211221111122112122212222111121211112221121212212112212111222221212212112212212111211212112221121221122211211221222122122221211212122122112221112221112121112211111122122222121212122212211111112222112221222221222221211122122111111111222121211111212112211122222112221121121221211222112112211212221111122112112221211212222122222212122221212212211212222122112221112112211122122211121121122222222122112112121221222222112111121221121211222112212122212212222121222111212222212211121122111111212211111221211211111111221112112212122222222211212111212211111111111211122222121122112221121212212112222111212121122221122122221221212212211222112111222111122111122121111222111112221121112121122221122121222121121111111221211221111211111122221122211212212122122121111212112111211122221121111211122211211112221212212111212211212211121111122122111211222112222221122111212221121222121121112211212222222212112121221111211121221211111211121112112121111212211221222111211222122211122222222221212222222212211212211122222222221122222111211121111221121112112111111211121122212211221211222111211111122222222122121221212122112112222221122211211122121112222222211111112122111122112212111221221221221222111221221221211112221121221222211222111122221122122122211222111111111211222122212112122111122112111121222211221222222111112121212121212221112112222221211221212122211121222212112212211222121111222212221211122222121122211121221111111122221121112212221122212221111121112211212122121212112122121122211112112222112111221111221121221212111212122222121222211112211222212121112121111111221122212112112211121121211221211111112221122222122212121211112121112211121111211222222122211211222212111211112211111112221112121211221212121121112211122122211221111221221121111111212112222222122121212112122112121221211222122121222121112111122122121222121212122212112122111121222121121222211122111222222111211221112212222111112222122121211111122222122211121122222211111222221222111111211212121221122221122121122112222112112221112112122221211212222112122212112211211221211212111122222112122112221221121211122112122111212121221111111121122221111111212212222111211122122121211112121222122121122211122112211221212212121222122112122221121212121211111121222121122222122211122212221122122112121211122122121221221121122112211122221222222121222122211111122222121212122121222111221221112112211121212112212112121112211222212111222211211211222221121112111121221111121222211122121221111112222222111112122112212112112211121212212211212211112211222111212222122221121222111211212222221211122211212112212112111122122211122212221111111112122111112221211111212121212121111222222111222122111122111221221121211222122111122211122222122222212121211112211222121222212221211212122112212122221122222222212222121221221212111211212221122121212221211211111112112112211122211221211111212212211112112112222211222212211221111212221122122112222112111222222112221111212112211211121212222121111211122222222112222221211121221211122212121112221112222211121212221221122212211111121221211122211211211222212222121221211112212112111121211212211212211212211112112211122122112111111122211122221221121122112222212111211222121211121111112221212111122222121112212122222112211221111221111222222221111112112112122121222221222212222122112221212221122111222111121112121221212222221211112112221212111211121121221221221212112212121111211211122121211112222121221222222222122221111212221122212111211212121221222122212221211122221111221111211111121111111111221111122222222211121121211112121122121111111222122121221221122122111211212112212112122112111121112122122222211222122212212222221212211112221111111112212112121221121111211221111111212221111222211112212122221111212211221212121121211221111121111212221212221211122222212122112111112112122212121122111211221121211222221111121222121221222212111212221222122121111212221111211222212221221111211111122122211212112221111112112112211111122112121222112112212112111212211222211111111111122121221222211112121222122122111222122211111111221122211121112111221212212222221111112111121111212121212211221221122222212221122121211222121121111111121221222121222112121121121122212221112112111112222111211221112121222212111221112212221111121211221122211221112221122212122212121222112222122222221221212211221222112221211221221122222111112212221221222111212221222221212111221212222212121111112211212221121211222221111212121222222222222122111222221121111212122112221221122121111121112221112111112111212211111122121122222221212211121212111111211222121122112211112221211122212121112111121222211212221121221221112211111211211111211112121112211111111212211222211222222222222211222111211111111122121221121111212112222211112122122212222212221212222111212122222211111211122111221111121121221211221211212221122221111112222111112122221222111121212221212221222112111112222211221211121122112222222211112121111111111221222122111112221211212221111122112122111122112212121212121212121221221121211211112112111221211122211211221222211211212121222211111122211122212222212111212112212111211221222211122211222121221212221121211222111212112212211121112121212212111212111222122222112122112111211121121212211212112122111122122111221221211112211222122111121122222221211122221211112212122221211212111121211111122121121211112211121222111122112222112112222222112212121212212111112111111122211211212212111122121222211122122212221111121112121212112121111222122111212112221211121122211122222122121111222122111221122112211122121212112112122211121212122112111111222211212222221111111111112212122121212222121212122222112122212212221111122122212122122212221121221211111121121122112111212212222112221222221222111212121211221212221222211221121111221121112222121221221112111211121222111122222111221111111221112121212222111222121211222111211122221221222211122211121111212121222121222212222221111221122112211221222121112222221212222211112112122122221111222111221211111211221221112222111111221111111221121112112212211111121112211222111212121212221112212212112211121111221112111221111122122112211221221221222212111212211111212221111221121122212121112122112122211111111111222111211222111112122121212211112221212211222222122112221221111111212122211121122221221121211221212212212212121221121122111112211112211121121111221122111111122111212222112122212112122111121122211112212112212211211122111211211111111211112122221122212122111121211222111111111122121212222221221211212212111112211221121222112222122121112112111222112221212211121122122112122212221212212111122111222222121221211111221121122211112122122111112221211212212211111122122111111121121211111121122112112122112121222211212121122112121211122121111212112222212121222212212112122111222222221211111112121222112212211221211212111221112121221121211211121222122111121122212121222212122121211222122222211222221112121121221121212121111222111111121122211111122111221111221122111112122121122222112222121121221211211222111111112121222112111222222222222112111111212212111221222222112122212222121111112122121122112112111121222111111212211121212112112221222221112111112112211222212211111212221112222212222122112112121112221212211222112212111212222111221212221112211222221211221121122112212211121212221221121221221211222111112212121121222221121112121111211121122212212111121211211222212111222211212221122111111221222211111222111112221212211111221121112112221112111121122111222212122211212121222111111112212112211222121122212222221121222121221222122112222112211221111111221212111111222221122212122121111112112211122112121122211121121222122212121121121221122122222121221211121222121112121212221111221122212221112212112221122121122122222211111212212212122112211111111111221211112121112111212212211111221211222112122212211111111112211212122221212211122121121121121221211221222222221111212112212221212221121211121211221122222111212222121222111111122121211112121121222212122111112222111212221122122112121121111222122221122221121122112222122122211221221221111112111121221221221212221112112222211112212222112112222211221112111111212221222121222121222212212221211121112122121222212212211122211112222122221222221122122211211122222212112121121221221221212212222221221121122221122211221111221212111121222212121211221112122212222222222211121221211122221221122121111121111112211211111122222122112112121111121112111211111221222112112122112111112121111112121111222211212121212122121221122221222211121212221222212122122211212111122112212122222112221112222222122221111121212222212211221211212211111122211222121121121121122221221222222212122222112211211112221122211212222212122221211221221111221122122122222222121211221211121121212121212221222121111112211212221212122122112212222112121211221222212221211111112122121211222121211221211112211211222211122212211222222122221121111211211111111221112112222111121122112222212122122111112121221111111111222221112211122121121222122112211212111121212112221121211111222212122112111212111121212111221122211111211112222212122221121111221122122222212212211222112212221221212112222221112112222111121111112222111111121212222111221111111111121111221212112212221122212222211221112122111112112212121122122222112221211222211112121212122122212122112212221211211222212111121212112111212222212112212222221211121211112221222121211211112121111221122122212212221111211112122222211221112212221222212212112122222112221112122211211222111212212111112221121112121111122122112112212211112211112212221222111122122221122111111211222122212111211122122122111121211221121112112122122122222112112221222112222211221211211111121111221222111122212122111122111211221212222112211112211121222211221211122111212221212121111212121212221121122112112222111221112111212121222122121112221221112122212212122122122221111112222122122211122211112221212121122122111221211111122121122121111211211222221111121211121122111112211121211221222121112111212111122211211112221212111221112212212121211111111212112111111121112212111112211111112111212122111211122111211222112122112221111121112112211212112212211122121122121112112112122222212122212222122221222122112221122211221112211221212211221111122122222112122111112111222212122211212222221111122211111122211111122221221212112221212111121122121112122122121221221121122111221121222122222221121112211212121212221122122122212112212111121212222221112221112111112211121212211112121122121121111122111112111122212211112211222212212221111122222111212121121211222111222122122121122221221111211121221221121222112111122111212222111222221212211212222221122212212221121122211211211122211222211221222222221222122221111111121212122112221111212222112121112112112122222121112111111112111111112221212122111112122121222112111112212121121121112111221221212112222212211212222222212111112222121212211122112122211221211111122212212112212112222221212221122112111221211222212111111212111121212122112221221112111211211112212211121112221121211221212212112111112112121122212221222112112112111111222112221121111221221121222122111111111121221211122212211112212111122222112121121112211212121212112221112221122222111211112121121121112122221112122212122222211112111221122212111112111122112211212222221212122212222112222222121121112121221222222111112122222212112111111111211211121211222112112122122122112112221212111121212211222121222111112212212222212122211122221211112222212211211111211112122221112212222212212212111112121112122221112222212112112222112122222211212112122221211111211212122121121122222111221211222211212211122221121222221222212212221121222111111211121212122111121221211211121211221121122122222211212211111111121222122112222222221121121212122112122212121111122222122122221121222211111112121122212121122221221121222111212211212221122112111222212221211212121221111121211212122221211122112112122211121112212111121211111111221112221211112122211211111112112211221121112221112121122112111222111122212122121221222221221221221112112211121122122121212211111122122111211221112211112121212112112121221121122112111211222111221212121121222221212112222222111221211122222212111122221121221212222121211221111112121111212121222222111221211121222221111221111212121112112121121122222112122212221122112212221211111211111121121111111121222121212122222211211121112222211211121211211111221212112212212111211121211111221121112111121221121111211221222121111212212122121211211222221111221212112121121112121122112211221111112221222112212212112122111221112211222221221212211112122122222212211112112122222221121211111222111212212112111221111111112121212112212122221121221121121112212112112211122122221121112211211122112122122122122222112121111222211222222211221122111111222121111222211221121221111112112121121212212122212211112221211121122111111221221122112212212222121221122111122212222221222122122121122121221222122121221222111111121111121212212111122221112112212221212211221112122212211221212121222221212212112221221211121122111211212112121221122122112121112221111222111111212111222111221212122111111212212111222121111222211111211221111122112111121222121121222122211121122111211212121122111222221222121121221221112112221211112212212111112121222122112121222222221112222111121111211121221111222122212112211222111111121221121212221222112212122111212222222112121111222112222111211222222221222221221122222222221121212111112121111222112221121122112122121212212112111222121122221212112112222211211212112121222212222112221122211121111221211122222121221111122111212222221222211111221112211211221112222112212212212112212121121122121221112212122212112111222122122112211221211112121212221111112121212221212111112221212222211212222111221112211211112212121212122222211211122112121111112122212222121222211222221221122211221121121212111112112212221221211112222111212121222212222121122122211121221222222112212111122221111222222222221112111211121212211121121221122112222112122121222212122121222212112122111122222221122212222112112222211112122112221222122111121111112221121121111211212222221121111222121122122222212112121222222222212112112222122222221221112121111111122211112222221221222121122121222112221222122111222122211222111111111111122221221221112221222212121121221222222211111121221221211222111122211211211122121111111122212111121121122112121212121212112221111221212121112222111112121212121221212111222221121222222221221211211211222222221221122222212221122121111122222211122221221212112122212211111112211212112221211212211222111122221221122122212121211222222222122222212112222211212212122222211222222222222221112211222121222222212111221122212222112222212121221111121112222122122122211121221112112121122121212122222222111221221121221121212112112222221222121212222122211212111122221122111222211112221211111122222111221122211222211221112112111122112212221212221222222121212211221112112211112222122221211211211112221222112122211221111112121212112222222212212221212122211121112211111222122122222122212222111211122222212112211121122211112121211222121222122221112112221111112221111112211211112111122122121211222212221221212212222122212122212122212221212122211211122222221121121122111111112221212121122211122112222211122212122112222211111111222122222221112211211222111221221212122212121121221222122221121122212221121211122112222112121211212112122112122222111222222222112111211122211111121211122111122121212211111122112122221211112221122221112221112211122112111221212222122222221221112111221211221212221122112211112222122112122112111221112221112221222222222111222222212211211212121122221222122211112222111212122221212212212121112111122111222221211221111122222122122122112122112122112121111122122121111211211212122112211111212212112221211111212112111211112212211211111212122112121111122222111112112211212212211222121111121221221221222111211212121211121222121211221212111112112212212112211222122121112212121112122222221121221112211221111212221112222112221212122221211221121112121211111122211121222211121122112111112221122211121112212211222112211211222122212111221211221212121212111222211121211221112221121221212112112121112112221121222211212222122111211222121222111212211212221122111211212212121212211222212211121221112121221212221121111221222112221211121222221111112222211222112111111122222211212212211121222111112212111222121111211112121121211122221211111112112212222221221211112112222122121221221121121222112122111121121221221121121222112212212122212211211212222112221222122122221221211122211112111112221121122121122111222221212121212121222122211212122221112212111211212121112111222211211121121122122212121221121212121222122222111112222111211221212222221112121112122111122122122121212121222112212121111221212121221122122111221122222211112122111221112121111111211111121122121212111112121221212122122112212121212221221121111111221221111122111211211221211111222111221221122112211221212111222212211222221121111211212222212211212212122121222121111222222112121111221212221111121111212221112122212221212221111211122112221212122212121222221122121221121211121212212222211222122112121122112111111121211221222222222211221222112211212211112212222121212221211222122221222222122211121122111122221121211122222222222211222122122212111222121111211112122221122121112221212222221122222222221211211221112222112212112222122211222112111222221211121222222112122111212222221112121112222222222221111222122121221212121121212212212121212121121222122221211221121221212122221111222121112222222122112111121211211211222221211212112212121121121211112122212122122122222221212112111111222211122111222222111111212211111121121112212122121121212111212212221122111221222211212222121211111222221112212112221112211222222122121112211122221211211111121121211111222121112122221121112112122111212122111121122112211212121122121122222122112121211122122122222111112112211111112211122221222222212211221212121222222111221212221211111121221122212122122121121222212121221122111111221221122221112221212212212111121212221211112122221212221211221121121222112212221112211222222112221121212211211111211211222122122211111222111121222221121222221222221212112222222111111121112221112121121122212111221211221121211121122111111121221211221121122222111112121121211221222221121211211221122211122211211211122112221112221212112221211221121211111112112211122212112221112212111122112222121212121121212112211111212112111111212111112222121111122121212111112221211121122211122222121212222221121122112211121122122112112122112122121212112212212122221222111122221122221121221211212121222221221122221122121121121222111112222121212121211212121111112212222111112111122212111221222211221112222221211112212222221122121121122122212111222112211122111212111111122122111221211122111122111121122211112121111211112221111221121112211112222212111111122221212212112221221112212212121211212221121122222122221212211121222221111112111212221112122112112221121212111121221111211121111112211221212111122111121112122211121211111112222111122111211122112222222212111121211222211112221212121121121212222212221221211121212211221122222122222221211211121221221222221211212122212121121221222111221122222211221122211221211112221111121221212112121221221112221222221211111112222122221111211121111121212122122212121121111122221121111221221111222221112222211221112221111211121212212111122212111122112222212111211122111121212221211121112122111122121211122211222112121122221221211212111111112221211121112212121211121121222111111221221122221221211211121212212112111221222212112111221212222111112212121211222112111112122222121122122222122122122121221222121121221121211221211222112111212222111112211221112222212222221212112112212222111111212111121222121221121211121222222111222222111211112111221212112111122221111112211122212112112211212212212121222221122112111121211122112222211211122222221111111211212111222122111111211212112121111221112121111111111122222122122222222111121112212221112211121111121112222122122111222222111121122222222212121221222112121111211122212112221112211222222212211221221212221222121221112111211111112111121222211122122212112121111222112111221112112111122112212221211222211222212222212121122121221212122222122212212122111121121122221122122112222111112212112222112112112122121222211122111121122221222222221111111122112211112121121122221212112121122221111212112222221222121211222122111111211212212122221221211112222122221211222222112211222112112222111122111121221111221121112221221112221122211222111212221112121221121211122211112122111111222222121211222112211112212122112121121111212122122111221122222222111211212222212211111221222112111221212112212122212212121121221222221222121111211122112212212111121211212121212222222112121211211122122112212221222121111222111111212122222122212121222121111111212121221121211212121211122211221211211111122122121212121122121112111122211111211221212221221221222211122122211122111221212222222212221111212122111121111221122112111112112222212111221211211112112111222211122222212111121221222111112221112221121111212221222121222221111212221121112121122212121111221112122112121121112221222212211122111212122221222112211221112121111212211121111221221122112112111212122112121122211111221112111122111221122211121212211221121121221111121121222221211111121222121222112122212112112122111221221211112211212121212212122111211121221112212121112122211211222122221112121211211121112221212112112221112121121112222111111121122221122112221212122112121122222211122222121221121222211212212211122221211111211111112212212222221121111222121211111111122221112211222112121211222222111122222212221212112222212212121122111112221211111112122222122221221122121111221111211211122212111212121121212112212211122112212222212122122221121111222221221122212212212122121222211122121111121121112121121212112121212211112211222122121222122122212221212212222112221112112212112212122112211222122211222121111212221111212211212212122221222211112212221122222221112222111221121112221112121221212122111211121122122211111112211122221222212112111122221222121211221121211122211121211211222221211212212111112121121111122221111211222122122112122211121112221212222111112221211112221221221212112211111211122122121111221121122221211222211121221211121222112211211221221221221112221122222221111122112222222212121211221211221121122121211111121211211221122121122112221111211221222211212111221221211122122122212111211221221112212112212222112211121122122222212121222211121122211122121122211121122211222122211121222211122111122221211222212222112121212221212122122221111212221211212221221212121122212212121112221222221121121121122112212222121212222112212221121212121222221121211111112111221111222112211112222211212212222211122212221221222222212222112121112212221121222212222122122111122212122122122222221222121212112122212122211212221222111221112221222111122211222112122122121212121121122221222112122112222122221111122122111112221221221211211222112121222211111112121122211222211112211121121221222111112122222212222221222221211212222212111211112211122222112112121212212221211211111211112221112222121122112221211212121211111222112112222112121121222112211111222212221122112122112222221121211222121222111212212211111222122121111122222111221212111212122111122111211221222121122221121122111122222112121122211111111222212112211122212122121211211221112112112221211221221122122121122111211111112121222222111121212112122122111212222211111221221122121222112212212212221222211111222111211222222221222211212221211221212111122112222211111221112212122212221112212221121122212121121222211121111212111221112212222111212222222222111222112111212222111122211222221212212112212122222122221121122221122111122122112111211221222111222122112211221121212112121122222121122211212111221122122122111212222122222211211122112112222221211211221222111112122121112122211111221212221221222112222212112211121112211122111112221112221121121222111112121221121212212122112111111111212111222112111212111221111221122222211111221222121222211211121121111211111222112121212222121211212222122111222211222112212121112212212211221221221221212122222221111211111122111111212222122122121122121211212112222212111221222121112211212211112112112221222121121122112221222121112211212221111221221112111112221111111112122211121211111111222212111122122212211212111112221121111221222221112121222122122211121111112212112222211221112211121212112211122221121121122221222212211222222222112221222122112111222221111122111122112112112222111111122112122112111112111112221211221111221121121222212122111222122111111112211211122112221111122121122212112212211221211112222211211221221112222112122221211212121112121121121212222112112221122122122221122211121211221122221222222112121122221111212111121222211212222121111211212112111112222111222112122221121212121221222122121112112211111222222121111111211111112122112111121122122122122212111112121221212222112222211212211212212222112212111112212111121122212112121122111222221222212122221121221121211221112221211221222221221111212112111112121222211221212222121211211211111111212211122111222111121121122111112121221222122112211221212122122221222121221111121112121222212111212222212111111222122212112211112221211211211112111111211211221112122212212121211212112111211212121211222221122122211211222121121222111112211112122122121122212212122212112221122112111211221211112122212222221112212122221111212222111221221122222122121212222121221212222121222222211212122221222222121111221212211222221122111112111121221221222212111211212221112221122222212111212222212111112211221212221112221221112212111221112211222211211122211222111112111121212212111211111212122222122112221112121112222221122112221211121212222211111122211222221121222221121112222222222222212112112211122112222221122111121221122121111222111122212111222211112121112221212222222122112222222111221122222111112122211211111112111221111111222211212121211122212112211112221111222112111212121122112212111222112211221112112122111122111221122221222212122211222111122221221111212211122122222212212221112212221222211122222111221112221221121112122221212211111211112111221211121122222211122211212212211112112211212212211121121222121112112111211222212211122221111111212111212211111111212221122211211212122121121112221121121221121112122212121112112122222121122222221112211111212121111122222122212112222121121212121122222122122122221212221122221112222222112212221121211222122221221122212221222212211111111212211211211221111111222211211112211112111212212221122222221121212111222212111122211221112111211122212212211221122121211111112111121212212112121212212122121121221212121122122221221121221221112211121121212211221221111221211111212221212112111211222211111212212111111221221212121112122212212221212121121112212121121221221111121112222212222221212211111121111212112222111212112212211112222211121212112212221111111112221211221212111221221211112112211122221112112222111212221222211111112112212212222121111221212121122221221121211222212222222111221211211211111112111211111111122121211112122222212212212222221222112111112211121212212122112222211111111111211112121122112212121221211112111212122221122111122222212121122212121122111122211212122222211122221221211122222211121222221121112121221111112111122211212112221121111212111211221112121211221211122221211111111111211222122221222222122222111122112111121211112111111121211111122212222211222221121221121212221112112221111212111122121212222211211221122122221122122121121111222211121221111211122122122121121111111122111112122211111221211212122221212121121211221211112221212111111211121212121111222122112111211122112112111121212212112121212122211111121222111121121221111211221122111221211122121112112122122221212111112211211111211211221111121221111212211221212222112122222112112111122121222122222212221212111211221212211112111122212221222111122212111111222121122211221122212211122121221212112222222112221111221212212121222121211121111212222122111111112122112222212112111221212221111211212211212222211211212211222111212222221211121222222221121212112111122222211122222222112212212121121112212122211221221212211111221212221222211211121112112121221112222221111112221111221112111211121112212111111121211211122221221221221112112211122111222112111112121122211122121221211222211221111212221112211122211211222112211212111121122211112222212212111221121222121121221222221111121211111111112221121122122122222212212211211221121112212121112122222112221221212212211211212221221121121222212212111121111122122111111211211111211111221111122122211222212221121211112211111211221211121111122111121222221211212122121221122121222112121211221212111211121221222221221212112112112221212222211112211122111211121112222111122111121112212112121122122121222112222222122211222211211211211122122212221211222122212211122122121212122111111221122121112121211211112112111121211111122111121112222221121112211221221212121121221112211221222122111221112112111212222122212212122121121221221222111222222121112121121111122122121111122122121111111212211122111122111112112211112111211111121221221212211222212222211121121212212222212121122112211211112111211111111211121122122211112221221212221111121122112122221211211122212122121222121212111212222211222212122111111212212112212122122122121121112122221222112121212111211211221111122122122211221112121112121212222212111112122211222112211211122121111222111222212112212211212211121111122222222112211221121112121221212221111122111121111111112122221211121112211121222111222222211212211221122112222112211121212211221211122212122121112122221111111121211121111112122111111112221122121111221112211222211222212222212111211121122221122221122211221112121212212221212112112211222212221111112222212212211121112122221221122222121222112221112121212112221121121122221112211222211122222122221221121211211212211122112121111121211211221122221221222121111212111111112122211221122222121121111211121122121122122211211111221222111112211121221211122111121112211111212221111211221221111221122222112121211111122222122111222122111221121121122112222121212222121211222212211211112122121221122222221221121121112112221112112212122211112122211121211221211121221211221211121222112211212122121212222212111122112112112112221211212122122221121112111222211121221122221111111222211221212211221212221211122111121212212222112112211221211122212121111121211222221112112222221221121212222222112112222112211112122222212111222222111122211111111221111212121221112122111112121122221112122112112111112211122221111222112222111212212221112112212122222221122111222221221111222211211211112222122122121122221122211122221211112122211111211111111121212111212211222112121211212111221111211212111111122222221122111112112122112221112111211121212111221221212111121111221121212121122121121222211212211111222211121122212222112211212122212111122211122222221112212122121122111111221121221121111212222222112212222211111122112212212122212122121222121221122212222111221221121112122222121111212212211222221112112121122221221122121212122111212212121222112221122211211112212222222212212112212122111211221211112211211121111212221221211111211121121212112112212122222221122221212212221112222212122211111211121212221211221221111222221221221211211222122112122221221121121222212211112121211111212212111222222122122121122122212222221111211122122121212222211121112211111211122221221211112212111112111121122112112111121112121122221221121222122222212221111222211112221221122122221212122222211112212212211221211222222221112122212221222212211211222112121121111122222122211121122112222121112211111112121112221221211211112122112212121122112121121211112222222111122222122122121222111122222212121111121222121221112222112222212222222221222221211222121111212112122111212212112121211121211111222121222112212111122211121211222222212221222222221222212111221222211212111211122112212121111221221112212122212212112111112212211112112111211211112111111221211121211111222212212212121222211121112111121112222211121122211211211211122112222222221121222111222222112122111122221112212111222121221221211212121112221121112112121111122212222111212212122112122221212211111121211111111221221221122121111111122222112112212121111221212222221121111222212111121121121112111221121222222112222211112111221121212222122211121111221212112222112111221111222221222222222221122211112212121122121112112222222211221112212121121122122121111122222111211112212212212221122222111112221212221222221111211122122221212222111211112112222121221212222222212111221212111222112121211211222211222212212122112122121222222221211121121122212111111122222112222111211112112121111111111221111122211122112112122122121212121122221211112221111112212211221121112111111122222212112221112121122122112122111211111122112122212122212111111212211221121111121111212211212112121221221121222221212122221211211221221211212221211112111121222212111111211111112121221222212211212111211112121222221111222112122122221111112111111212211111221211121121221221222222111221111212121211121121212112121112212111222121112111121112111212112112122222112222222121212121221112212122211212121212212112121121122221112111221211222211111211111212222212112111112211112221222122211112121221212121221222221211112221212112212211222121111112221211211121111122121111211211122111112212121222222111112122212211122112121122211121111221212121212111222112122211112212221122221112222122222221112221221211122211222221121211222222222211212212222112121222111122121212212221221112121221121222112221111212211111122121112211212222121222111212221122122112211112111112222211211112221112222221211211222111122211211112211121122111122222212212221111111221222212121111221112121122221222212212121221212222211221121121212222121121212112112111111211112212211121222221221222221222211112212121122211222212221211211111222112112222211111211221221121221222222221212222111121111112121112121122111112122222222212222121112111121121112122211112111212211121221121221111222111212111221111111122212122121111122211111212222121111211111121111211112211111211221221212212211212212221212222212112212121111112212122222111112211222212211122221222211211121211212221212222211121111211221112121212112111222112212112121222121221121121211112112111222212221221121121221221221212122221211122111222212111222121121211222111111221221111122111212222211212212212211212112211112222211221121111222121212221111211222212112121212112111111112211211112111222112111212121121212112121121112111222122122122211112122122221121111122222212111212121222121222211111112212111122211221211211121111111212121222211212221121112112111111121121222222221222222121121112121122212122221111222222121111121211221111211112221211212212211121122122212222212121212221212222222111212212111112221111111221121212211121212121112211222122211121112212112121121211222221122121211212221211111122221111221221112122222212221212221121211112222112112222221112122121122111121112111212211112112212212112211111121111111222221211122212212221222222112212221121121111222122211121211221221212212211122222112111111212111212122121122211111111121121222211211122112112112211221212111222111121221211122211222112211212221211221211221212222222221122122211111122121222222111121112211112211221111121121212222112222212211112112221121121222221222212111211212222121211111221121212112111221112222222121212122121122211221112111112111121222212111122122121211122111121111211211122111221221111212122211222222112121221111211222121112112111212121121222221112111212221221211221211221211212121211211112211221112111122112121112212122111212221222221111112212112112222112121122221212111212111112122122211121121121212211122111211112211212122112122222121121222122222112211212222221222112211222121222211111222121211211121111212122111121221121111222211222221121111221222222212112211121121222221122111111121222212121122221212222211122222112112211211121222212122121211222221121121221212111121221211222222222211222212222222112112111222221211122222222121221221112222211212121121211221111122212121121222111112221221211221212121111211111111121122121121212221212121212211112122211112212211112212112212221112112221222112122112212111111111111211222222122212111211111221212212122222212221122121222211112212111121111122112222211111112111222211112121122222111112212112121211211122212112212212111121212212221212221121211222221211122212212122221222211122212111121221122111212121221211111222221122111122112211221211211121212221112122221212122212222221122222211212112212111122211221221221211211221212212211222112212221122122111111121221212112112211122222121212121212111221221212212112211212211112112122121112222212122122111121211112222212112111112222111122221212122222111112112222112112211211112112211111221211122121211212122111221122121212112112112111222221122222212212112122111112221211121112112111122122111221211211122112212122211122211112121122221212221121211122221121112111122211111111211212212222112121222212111111122211122212211221222122112111121121121211221111221211221112221222122211111111211212112111112112221111111222211221111212112122122122121111212221121212222122221111211112121122122221122211121121121221222212121212212221221212122122222122112121111111221212121211221222212212211111121121111121121122211222112112222111222222121111112112211121222112211121211211122221212211211112121111212221122221211121222121121122212112221212221211221211212112121211221222122122111122111221111211211211212111222222122211212211111212111112222221211222121112221121211211211211121211111221121221122111212121121111211222221211111112222112221212122121212221212222112122111221122211211121122221122222222121111211112212122212221222112212221221111211211112222222112222211212112121221122221212222221222212221212121122112221122222112111211221221112112121121122211222221122221112212221211221211221211212111211122112121111111221111212222111111121121211211212121112121211111111112222111122121222121121111221111121121212222211211222112221122111221212121222112212121121121222121121112121122112121121121121122211112221221222122121211222211111211222211122122222221112211122122121212121111122222122221122112112221121121222212121212111111222221121221222221111111122121211121121211112222111222211121121122112212111111111221112111211121212212112112222221121121122122222112112111121211211111111111112111211211121122112212211212122112222212211122212121212112211221211121222222121222221112221121222122111222111112111112211222122122112211122211122222222111211222211112111112112121121121122211212111222111222212212222211111112211222212211122222221111121222112111111221122211122122222112111221121222222221221212112222112222121112212211121122222122221212211112222222111221122221212111111221112122112122112122221221221221212222112212122222122121211121221211211111212212221112111212112212112222212121222122121111221211111211112111212121122221222121121112212222112112222211112222211121221222122221122122112221122221112121121212212112122212112112221212211112122211211112211111111212121122111112212111212121111211122212111212211211111121211212222111121112121121221122121112222111121111221222212122221211212111112221211112111222211221212121222221212112112212212222221122212122221221221121222111121122121112212121211121121111111222211111121212211121211122212212112222122211122221111211111122221111112122222221222221122111212211221111111212111222211212111111212222121221111212212122122222121222112212211221121211221111121212122211121112222221122212112222121111122211222112111122211211121222122221211222212211221122112222221121111122211222222111121222212112221112121212221221212112211221211212221211112222122111221212111221121221211122211222222222211211122112211222112222212122111122111212211212111111212212112222211212211122112122222222121222112121112211221212211221222122122112111111111222111221221222112212111222112211121212122122221222111112212112212111112211121111112222221222221111221212221112121222111121211221122212221221211121211222122211211121112112111212111112222111121211211211222121112121221221111222221122121222221222112221112212222122222121221111212111111122112111222221111122212121111122121121211121211111212222122212121221212122111221222122212122212112211111112122212112212122111222222211222212222222222222112212111211111111122122121221221212112221222221111211111211211211222222112112121221211121112221122121212111222111121121221211111121122111212212212222112212111111222212111212112211212212121221122122121212111122221212221111122122111221221221212212122211112222122212112212112211221112221121121211212212221222112111212212222221222211212122111221222221221111212121111112222122111111221211122122122212112211212221122121222211222212121211221221111121122122112111222212221211211112112122111111122122111122222222222221121122111112122212212222111111221121221212112222222122111222122111212221122121121121212111211121111111212111222121222111211122221111222221211212112121121111121122212122112212222221222211122112121221111222111122112212221212121112122111221122222211211121212222121221121121111112221221221112122121222222121122211212211122211221211212221112122122221122212122222122221221111221112222122111122222121222211212221121121111122122212112222211122111121122122222111222111112212211112212112122121212122211121222111121221212211111122112212221221122112222221111122121111222212112112121121211112121122211221111112111112222122221212111222212211112221221112112221222112111212121121122222211222221212111212222221222121112212221212221121222221112111211122112111211122222121121212212121121122111111211212122111122121121111111121221112211211121111111121221222122121221122122111212211111221221222221222211211112121212222121112112112122222122112122222122122121121211111211122222222121121212211121121112222222121222122122112112122212122212222221112121112211211121221112211111221222122111112211222212222212122112122211222211222122121121221112112212212222212112112212122122112211122121212221112111212121211222121222112112112111221222122121122122111221212221222121221121122112211222112212222211212111111111211221122112212212121121111221111111211212211221111111222122111111111222221111111212112122222112112222212222221122121122212211111211122221221121112111222221222112121121122212111212222221222221122122122122122122211221122122111221112121122112121211222221221122121222222221221122122112222221112211212111122111121222121122122222211111112111222112111121111212221211221212221212211122211211212112122211121122221212112221121122111112121221111121211122111122212222221122221121112212212221111222222112211211222122212112121212112222212111222211122111211221211221211221212121121222222111121221122121122111122111221122212111212222112122121121222121221121222221121212112111222122222211111122122122122211212112122222112122121111121222112212212111222111212121222122122211121222221221111122221111122222212221111222121121222212221122222211221222222211221211212112221111212122212212112112222112222212212121112222122112112221111112211221122222121112211121221111211111212121221122221211112121221122222112121221211222111111121221222222122212221122222122122122112112212221211211212211111221121121111121222211121211212212221111112121111111112121222212222212221221212112112222121122112112122211222222212111122111212221211221121111111121222122112222122221121221122122112122211212122211111211121211112122111121111221111212121122221111111221211112211122212212112212122211221221112222212122112122111122221212222112112212221221221212112212212221212222111122121212111112121111122112221112112112222121222121222211121121211222112122222121221122222212121112221112212121221121111211222222121111122212111212121212111211121111211112112222222122111111212112122211211222111122111221212111211221122211212111121222112211222222212212212211222112221122212111122121122122121211121111121111221111121222111222221222211211211221111212211111111112212111212221221111121111121212212111211211212121222211112112111112221111111111212212112222221221112112222111222221221222211211111222111112121111111121221222221212222121121112221222122122212111112111221221222121212221111111212112221122212112212121112222211221111221111221212212211111222122221221212222122121111212211211122121122121211121111121112122222211111222212122211122111122222121122212121111111212222222121112211211111112112212112122112222221222112122212212112122212222111122222121111112212112221122112121111211221111122222222121221122112211212121121222211221222111211211212212111221112212122212122212112211122212121112222111112211122211112222212122122211112111222211122221222211212211122112211212211112111112122221211111211122222211211112121212112112222221221121212222212111211212111121121112222211112212121111111121211212222221222211211212121222212221121222121112222211222121211222212122211212112212222222221222122121211112221111112122212222212212112222112221212121121221121212111112221212122122111121122211211112121121121211121221111212212112121222122212111112122212221222121212122212121111222212212121111122221112222221111111211211211212121122112212122211122121212222211211122222111212111121121222221112112212111121211121112121122111212111212212112222111112121211221112222111122211211211212122122211221221221221221111111121221221211212221211122112222111112122122212122111211222111122121222122212222111111212121121111221122122122112212111222222212222111122121111212212222112111111222221111211221211111122122121222212111222112211121122111222222111111211221211112111121122121211221222211122212111112222212112122211221111222122121112112221111221222221122222211212121222122211211121121212122212222111121211222112212122112211122121112211221111211111112112121222122111122212121221111111221222222112121122222221222221212222221212211112211222222221212211212211211212122111212122111212122222222221211222221221212122121211221121112221221111121211211221122212221222222212122112122121211211112121211212222211111112222222122221212222122212111222112112111221211222122122111111212121222112211111222211221121222221121212112121211122211112111212121221122222121211211221111111211212112111221222111111222121121121221112211122121211212111211111222221122122221221111221122111111221112222121122122121122211212211222121212112121122222121121212122112111212112211121211112222222222122211221222222111211111222221221122221122111221222122111122121211112121211221112222212211122112112111122222122112111221122221121211122122111222112212122112121112111222211222212121211122211111122212212122212211111212122122122121121212221212222221112221212211112111111122211221212111222221121111122122121112111111112221112212122121211121212122212212222112121222122112222111221222112222211111112122212112122112211121212222122111112112121111221221112112211111112111121212222221112212212121221222222221121221121222222122121112121111221111121112112122212121221112111212111221112121121211121121221111221112211221212122221121211122122111122211111121112211111221122122221212221222111211221212222122121112112112111111222211221221222111221121122122121222212222122212112112212122112122211211111121222111211121122222121221221112221122211111211112211221121222122122212112222121221121211122211121211211221222121221222122221211111112111212212122221111112121111112112221221121122111111122121221222211121212212112221221211221211122121122122122122121212211112121221221122221221121121212121221121222221112112221211112222212211211221221112121212111111111122112211112211211111222121121122211112222211122112221122121121121221211121222122212122122221111121212221122212212222122212111212221211212222211222222122211121211112122221212122112221111211111221112222121122111111112222221211112121212112111111211221111122112121121122211111211222121211212222221111122121121121222212212122112121221211221212211211121112121211121212111121121122211222112212221111212111222121112111211221222112211212112111221111211211211111222112121222222111212212222111122221211222221221112121112221121211222111222222222211112121211221221221222122222112222122122122222221221111112222122111212212222221122121222212211121121122212111122121211112211212121212211211211211221212221211222212111222122211222121222212211221111111222112112211221221221111122221121212221211121211211122222212121112112222211121212112121222122211121221211221111112112121121122121211212212112221122112221121212221212221221112122222111121121212111111222211221212222111222112122221222121122211222112212111211122212211212221221121211121222212112221111222122211111221211221211111212112122211121122212221121221111111211112212211121121222211222221211111212111122121122211112112212122121112212212211222111112121211121112222112111122211112211212211211222211212122122221122111211211212221212112111211211111112211112222211211122212222111221212122111122112112121221222121221221221221112111212212121211122211221212222211222122221211222212221221222111211222222122211211112211121111222211112222212112111211112211111221122111111111112221222121222212221212121121111211211121212121112212122212221211222121221121222211212111121112121222221222212122122111212122121112122112222111122122221212221112111212212211212211111212212211111221122221222212221222111122221121111211121212112122111212211122111211222211112121222112212112122221121221121222112122112222112222211122112212112112122212222111221121222121222222221111112211222112211112111222111122211221111122112122211122111222212212121221122111211121211121222212221222111121121111212122112121122121222112222221222211122112121212211221112122212222112122212211111211211112222211222222221111111222122221221111222122211222221111212121211211222222122111111222212211212122112212211112121111111111121111222121122221121211211211112111122212111222221212122221121221221212212122122121221112222211112221222121221121212111211111111122122122211221211222211222212121212121222122222211222121221211221221221211121112122122221212112111112222111121212222122211211222221121221221222111112221122221212121222112212112112121222111212222222222212221121111122212111112122111111222222122121121221212211111111122221222212212121111122212111112212122211111221122111122122121121212212112112212221221211112211221211111211122122121122112112221222211221122111211112121212121111221112221111221221222121212211121222111122122222122112121121211212121121112221121211112211222112211211222212221212121221112122112112211122112211211221122221112221111211122221211111112112221121111111112221121112222111112111211121222122111212112122112121221121211121221112122121121112121112211221122222212112112112211222111121111122211211222112212221221112112221121111122212121212121212211122122221221212221212122121221122121222222221212112211221122222221211211212212212211212112111121112211111222212221112111121111222222211122111221222111111111121221112212212122121212112111122121122211112221211121221212222212212112112212221222212221221212122212112222121111221222222222212211122121221111212121112111111222121121222212111221122121221112111112111211211211111222111111211221212222121221221221222121211122222121211212121222112222121122122221121211122121121112211111111122111211211212212121122222212222121222222211211222121121121211121221211112222112222222211212121222222211222112121121212211221121111222212222112122121212122122122111111212212211121122212212221212211111222212212212112212112221121122212121221222112211121111121112111112212212222222221222112111212111111221221222111111221212112212212221212222112121212121212211122111111221221212112122122211211222222111122121212211122211122212211122221122212112121121122222221222212111121221212122222212222221221112222211222112222212111112111111112211121221222111121221212211112122212121112221112122221221122111212112221221211111122112212111211211221111111212211222211111111111221211112211222111112211112221122211111212221222222211211122112221222111111221221212211121111122212222222221111211112221211212111222221221222111222112112111111221111121112222212121112112222121211122122112222211111111221122222211221221222121122121112122222112211112121112121122122112212121222221212112112221212112121222122111222211221112112212211221121122212212221212122121222212111222221211121122122211122111211111221121212122222111111212122111122221111121111121111111112121121121221221111111211111122122111212122122211111111211121111121211221221222221212111211212221222111221222221112111122211222221112221122221111211111222212122212121122112112212111111121111122212212212122122121222221222122122112212211122222122112221122221122111222211112211111211212122112212121211122212221111211111211112222122111211121211221111122121221221111112112121121111222222221211212211212121112222122112212212211221221211112221121221222121111222222211222222212221121111212222112211121112221112112221221212222222112112122111222221111112121111111121211121121211212111221121122211212211112221111222122121212221121211221121221112221121211212111121211111111221122121121112112121111111211111122112111121122211121112212212112211222221111112211112121111121122212121121212222221221112211121121212122222211111121221111211211211221221121111211122112112111211222211122212121112122122122221121212121112211111121221122212212222111222211221222111221122222122212121222112211211212221221121222222211121121212211211212212221211212211211112222112212122121121222221211111111212222221222112112111121112112122221222112212212112111212112211122112222112222211122221111221211211111211212212222221111222222211221211112222122121111221212221111212212122221121212221221122221111212121222112211122122121222112212211121122121211212122222121122121222222111212111222111112211121221121221112111121212121122112221112221221112221121111121121211122122112211221211112111121112121112221121111212121221212222111222111221222121222211221111222112211211222222221211211111221121222222221122211111221222221211121112212112122112211121121121121222212111222221221121212222121121122112212122212212122212112221212121211122121112221112222212221111122222211122122122211121122212221221221222122222222211221112221211211212111112221211112221112122112112221221222111111212211211111121211212121121111121111112122112111211212121212222112211112212121211221122222121212112221111112121211221211221111222212211122122111112211211121211222121112222222111211112212212111122212112212122111111211221211212222211221212121211211222122111221121121222121121122111122212212222122111122122122211221111112111121122212222212121111222211212112212112111111111212112111122212221222121122211121211122212221122222222122211221211122221212111221121122122122221211211112212112111121121212221121222112211212222212221222121112221112222111121211112122121221212221111222122221222111211112112121221112122111221211222121212212112211222112112121121222111111212121211212121112112122222211212121112222122211111212222222212111121212211222222111212122112112222211211211211211121122121112211112122112122121111111122122212111111221222122112222122211111221212112122112212211221212121221111122222212111211112221122221121222222112122222112122221111222221222212112221121112211212221222111222122121122211211212222121221121111112211122121121121122112221111122222221221221212111212221111222211221222121221211121212221221111212111222122112222211121221211111112222212212211122221211112111111122222221121111212212212212212121121122112121212112122111111212111112221121222111121111211221222122222122212111121122122121122111121221122211112111111122221222111111111212111222121221212222112221211222212221121222212122211122121121221112111112211121111222121112222211112121121122221211122112221122112221212221111112122122111112211111212211212212112112222211121111222211222211212222222222211222111212212122222121112221112111211121122122111221121222122122122112112112211121121222221222211122122211221221221112212222212221122212211121211112111111121122212221211111212112111221211211212112112222222212111112222112112112212122111222122121112221222121122222212221222121212111111111222212112121222111111221212112111211222121122221122122211211211222122112221221111212122221122222212221222111112222212212122211212211221211122111112121111112222211122212122122111212221122112122221112212112111122122122122112221221221112221111112121211211121111222212112111222122122212122122111111112112122222111112121111211122222121111111211221122122222211221121221222122222212121121121211222111212121211112212221212122211212222211221121222211111222112121211212122222222111222211221222111111112122122212122122222211112121121212211111212221122111211122211112112112112221211222221112221211222211121221121222212122222122122212122111122211122221122111121121211121212222121111222112221121221211212212122211221212212111122112111212212211222212111122112121222222221111111122122212121111122121122112211211221221211221221221121122121211122212222221122221111211211122221111221221221112211212121121212122111212112111211112211112112212211112211222222122211221222122112121112121221111222212112112222112222122222221211222111122222112221112112112221112121212211222112221122111211122122212222112121212211112112121211112211112111222221211222112121222122111122222222221221212112122222112221222111212122122221211122212221211121221122112122222221212122211212121111221112111212111212111111112121122212221222111111122112111221121212221212222112212222121212111112221121112121211212121121212212212112122212122112111112121122221122222211122211222112211221122121122121121211212112212121211211211221111121111122122112111212212121212212111112112221221111212211121112212121112122122211212112211222221112112121121112212121112121212211111211211222221122211121111111211121221222222212212121121212111121111221121122211112212121112221122222222211121212112121222122212112121112112112122112211212122211122221211112122221121122122121211212221222211111121222121221111111212121111121121122221121211112111221111222211221121211121212222221112221121212221121122222211212221212212212212222121211122222122111122222122112121112111111112222111122211221111111122211112112111221112221211221111122121111211122122122212212212221111111111221112221122212122111121121221122212221122112212222212121211211111221112122221122211222122222211121211121111111112221122212211121212111221121111222222212112121221222112121122122112111122122222211112222122111211222221122212212221121111122211222122212112221121112122221211112221221121112222211112222121111211111221111121121212212221222121122211211211221112112111222112122222222122122112211221122221112112211222222111222111222112122222121112222212212221112112211221222221212211212222122111122211212121211122212211112121121212222112121212121212121212221111222222112122222211212222112121212111212221221212212222211112121211221212112222221122122121211222122212222111222222112221212211121111211112111112111221122121111222112211212112211111221211221112111212111222211122122111121111211212121112121112212122212212211221211221111211222122112112122221111112212221211211221211222222121112222211122112121112112221222222111221221211222211211122212221222211222112112211122121211221122122121111122121112122212121111122222212112122112112212212222222221112122122211121121112211212111111112211111212111111222112211212222111221222212222112112112212122122211121111222121112121111222111222112211211212121122221222111211212211221121121212221112121111112112112212211111212221121121111122121111111111112221121212112221111211112111111121122122111222212212121111112222222122122221122211222111211211111212111212222211222211211221111122222222111222222221111122122221122122211112212211212111112111212112221122112221212212221211211212121122211121112222222121121222122212121122111211221222221221222122111112122222112222211111211112222122222212122122111212122222222221122122121121212222121122121122221211122112221221212211122121112212111122121211112112222121212212111121122122112221211111111111111121122112121111121212222211221121211121111221112222212211211211112111112122112222222212111112222121212211211211111212211221212211122212211222122222112111211211111121111212222111122111212111212222111211212122222112222212112112121121112112222122222221112111211112121121222111111221122112221112212221111111211212212111221111112212111212122212112111211211212211212121221211121121121111211112221221112212211222122212112121212112112212122222222222212212222212222212112212221212111121211221222121111112222112111212112122212222112122211211212121211121211122122212111212221222122211122211211222212221212112212221121121121122121111121222211211211121121222212211122111222111111221222112112111121222211112111222221222111221122212121221111112121221122222112212112121121111121222111221112222122221111222121212211121222121121122211121111211111112121211222222112222112212111112221122112211122121111121121212121222211112112121111111111122211121121222221121211222221221121111211122122211211121221212211122221212122212222221122122122122222221222212121112212121121212211121212212112121212122222121121121112221111111121212212121112111222212222221112221111222212122121121222112212111222221212211212211111212111211121212122122221212212122111111112211211122122122122111112111211111221222112122212121211121122221222212211121122122111221222112121121222111121222121122121122211121112212211111211122212221121112222112122221222121111121211121222111211121112122112112122112221212222112221111211111122212111212112211212211211212221211212221222212212112121222212121121221111211211222222111122111122111121222112221211222221211121212221111122111122221212111122121211122212221211121122211121111212122212112121222212222122221211222211221222212221211112121222121221212111221121211121112121122221211111121111112221111121221112221122112211112122121222122111122121211122221111212111211112212222212211221222122221212212121222111212222212122222122222111112121122221121122222112121122221121111211222111221112221221221222112212211122222121112122111111121122212112222221112222112111111112122211212212222112121221212121211122222222111122111222211121112122212121122121122121221112121111221111221121222112221222212121212112121111122122222212122211121112121112221122112211221221121222221112122122222212111211112112211222212221121222222211222112111122221111122121121122222212211122112112121111112221222122121121111112121222222122121221111121112121122121122212122112212111212112122121222222122211122112212121212221222211122111212221122212211212112112112221211222221212211221121222222222111121122222122121221221111111212122112222111122222211221222112212222121221121112212121122212221222112212211212111122111122122121112211211111122222222211112112211111211211112211121211122222221111222212112221211212112211122111212221222111111112111221111121212212112122221112211121121211222121222221111222222111211221221222211221122221212212111212221122222112121222112222221121221122222111112221211221222211112112121221222112212121221222111122221111121122211211211121211222221211122121121221221122212222122222221112112122122212111211222112121121212212122222221211211212222111122122122212112222121221212211122112121111212122221221221111122122211121211211112122222121111212122222222222111221122112221121122121211221211122212221222222111221221111112212122121222212221211121112211221122211112112212121212121121222111112111111222212112112212212112111212211211111222122222111112122222122122112212111222222221211122112112212221212211222212121212211111221111212222121122211222112212212112122222221111222222222122111121212122222112211221222112111211222211122211211211111211221212221111111221122121112212121112222221121221221221222222211222221111212111112111121122211111122211212112211112222122221222122222121121221121212222222122212122121112211211221211221221211211211212222112222122122121122112121211212221212211212211211222112111121111112221221112112122221221212211211122122122222212111221212212122222222111222112121222112111112221221112111211222111222122111211211121112211211211212112112122221121122112212122211122111121111111212212121121112121222221212121121222111221212212111112211212122112221211112221112121221111222111112121212112121221222121121221111212112111221112112111211222212121222212122222112111222221222211122212221221112222122111122221211221211122212212121211222122212211111111121111111222111111111121211111221122222121111211122212222222212211111111111222212211111221221222122212211122211112122112112122112212122122211222112222121222121112121111222221211122122112112112121121222111112112211222122221221222111212221221221211221212122221121211121122221212111221112222212221121121221222212211222221121221112211211222222221222211222222121212122122222211122112121121121122212111212122211111211111211111112112122221222211212112111221121121122221221111221121221121111222211212122212122111121221112212112112121122221222221211211121121222212122122221211211112211211122121222111221122112112122122222222222111121211121111212222222122112121112211221111211211111221221222112122221112112112122121121221121121112111121222222122122212212221121111111122122121111211211112112222212112121212112121222221212222222112121121112212211112112212211222111222211112222122211222222111211111121211221211222212221222122111222121122112122212111221212212222122212121111221211112112212212222121121222122211212111112112112112112122112221111212121211111122212211121112212221212112112222221111212122221211111221111211222121121122212111221221121222112222212211221112112122211212121222111121221112111211121212122121221111112211222221122222221121112222212221111112221112111221112212211211122222212122122111112112121121112221212211122222211111121211121112111222112222211211111221221112122121211121211221112111211122111222222221211112221111221121122222222212222121121212222221212221121212122211111122221211111212112122212211111211221221122121222112122121112222221121111221211112111122211122112112111122222221112111212222111122112122222122122212221222221212112211212222121112221112112111212111211222121111122211121212112122112221211212212122222221211212111222211121212121221222222222211112221111221212222212112212112221121112211122222222112222221212121222122222122222112111221211112111122112211121211211111221112112212111112212221112112212211122221211211212211211121222212122121221122212212111121112211211221221122221111221222211111122112221222212111121112112212221121212221221121222212212111112212212122121212222222121222211212221112222222221111221212211111211221211211122122212122121212212112211212122212111111212221111122112112211112111111222122212221212221211111112121111212222111121121212111111111211211121111222122122112222112222221221211222211222122122211112221122212112211221122212212212221222211112222122212222111211211121121112112111122121112222222212212211212121212111121211112122112121221211121121112121221112222211112221111222121111121122212212212222222112211121221222212122211121221112121221122122112211221122212111222111111211221212211222111212221212211112112112121112211221121121212222212111121121211221211222211121211121122221211222121222212221112122122121221211112121221121112211222222211222221112211121112211221122112222111112111221111212111121222211121122121221211122111222221221121111211212122221121222212211111111121222222211111122212222111121111221121111111121122222121221222222212222122111122112222122211212122112222221222122112122211212111112111111222211212212122112221122111121211222221212222221111122222112222212122121221212212122211121221211112211111211211112221222121211122212212211111221221122111221212121211122222222222111222111211222222212222221212112111121211211211222111112212112111212211111222212221121222211221111111222112112121211111211211112111211121111212211221111112211122111211222221121211222212212212212212211121211112121211221122111122122111211122221112221222121112221112211221221112212122121221112111212212212212112211221111121111212121112121212111221221112221122121112211222122211212212221122221222112112122122212211221121211211122121211212111122111212121222211222222211112222121211111221222111222122221111111211112111222222221221212122221112212122222121221122222212222211112211221221111222222111112221222212211212221112111122112212211111221212121112122212212211121222111112122211112121212211221221221212222222222212221222121212222221221212111211112122221211221121122122221221221112121111112121111222111122112221122112212112212221121111221212121122112112121222112211212112221112212211221122222212221212121111222222112122212121112122221121112211112222122212112112111211111112212221122111221121222211122221211121122212121211221221212222212222111211111211211221221221222211222211112112112122212121212211112111221222122221212211112222221221122222111112221221121112112111211211211122112221212121222112221121212222122211112112212222222221122211122121212122212121211121121112112212112111222121221122221211112212212221222211112222122111112211211121122112222122211211221221122211111221222211122112122122121112121211212212221211212121112122211222111121212212121221122212212121122211211221111221211212121221111112111222222222111221122212121211112222212112221121212121111212222121221221122121111112222111222221111222212211222122111121112111122211111122121211111222211211222212112212222221212211221221112221111211111121212122111222121112121212211112112111221222221221122212221211221222112122112111211212221221222121212222111221221212121111111221111112221221212222211111111222211112221111221212222211112212121221111212121211212222111221221111112222211111112211111121112112111212212112122112112122122111212212121212122212121211222212222111122121111211222122211221111122211112121121122221212212121122221112212122212122221212121212222211121121121122112121212112112212211122121212112122221121122112111212211212122222111111211222122212222221112121122212111222221222211111222122212121222122221111221122112211211121212111222222111111112121222222222222112122122222212111222221121122121211221122111121112111112221221211222122212221111122112212121111211222221222212111122121211121212212111212121211112222112211221122211222212221221212122221121112212112221111112111221211222122221222121122221112111121122111121122211122121122111211111112111111111122122222111222112211222221221221122111221111221121121211121222221222122112212122211211122212222211121211221121112121221222121122222122111211111112121111222221121212122111112112112121121111212222121222111122221212122212222121212121122212212111221221112211111221111222111222221112221221122222222122121211111212222222111221221122222212212122221111121112111112221121212122211211222112111211112122212112121221112111111112111111211122112211121222121111222122112211121122112222222112111221121222212111121111121212211121122112111121221121212112111222112111212112222121111211122222111211222111221222212211121221111112212221112222211221212212212121211111222212112121221122211112122111112212211212211121212112211212222212211111222212122222121121121122211211122221212112121121111221121122212111121212221211212111122212222122111222112122212211122222112212112212212122111212222122112222112222222112112211112211222222112212212122122222111212211112222221112211211222211222111222112112222121122121211112221212222221211112112212121211222122211112111121122221222112222112121112111122222222121121112111221122212222121111111222121222211111112122221211112212111122221122222212222212221211211111111211121112112121122121222121211121211212112212211122111222112112121212121221221122221121112122121122221211121211121221122211212122222122212122222121211211112212221122121221111222221221222111111212211111111122221112112111222221122222121212121212122211121211221221122212111222211111111212122121111111111212122212121112121122121222222111212112122212212221121221112112122211211221111212112121121122221221222111211112121112111212211221111211112222121111211111211211221222122111212211112212121221221121221122111122112212122211121112211111122212111111212221122221212122121211212212112221111122222111221221111211112112222221112111222121212122111121212211212211111122222212222112122122112221221122212112211112121122212122111211121111111122212221212111112121112121111212112222112211121212221111111121122222111211211122112122211221122122111212111121112111222111222111212222111212112121112121221122211111212111122111111122122211111212122212211122111122211221121211212122221212211122222112122121111211112111222112211222222122211221222222211211212111211121111221112211211211211122211121121111222222112122122212122212111121112111222222221111111211212122111212112222122122212221122112222121112221111221212112211111111111221122111221111221212222122111112212212112121111222221111222112222111122222222121212121212222122221212211112221111221111212121112221122112212122121211212212212112111121122122111121112121212221122221112111212212211212122212122121112122121222122212211221221211221221221212122122222212212122221212111111222111221112122112121111112112221221221121111112221222121121212121222122121221121222112211122212222111112212121111112211122221221112112111112221112212221112222111121111212111121212221122211122221211122222112122112111212112111211112111222211121222211121111111122111122221211111122122112111121211112111111112212122112221211112122112221212122212211221212222122221212112121212212111111112221112212212121111211111222122222221211221222212211111212122112211121222121121221112211121212112222212221111122121221112211112221121211121211211122221222112221222222222221221111112211212111212222221221211212221122122122121111112221112122121112111122212121221211222112121122112122121122211122112111112111121221222121221111121112111122121222111121221122221211111122111211211212121121111112211122121221112111211211111212221222222221121111122112221112222121212121122111112122122111121121121221111221212221222112222111122221221121222121121222222221211212112112112221111112121121121111211221111121211112121122112211122112112121221221122222211222111222121212221112111212121222221112212121121122221112111211211221221122111121111212122111212222122111212211112211111122112222122212111121111221111222121112212111211121221221212122221121212121112111112222111112121122221221111111221212222211222112121212111121112212112122122222221221122212221222112122212211111211112211222112112122221111111111121212221221211211211222212222222111122222111112111221222112121211112212211122122221122111112222211211122211222112221211221112111212111121122112211221121222222211221222212112111222211122222111111212222112121112122111121122122221212212211122121112112212222212211111121211121212121211212212222211212211222121212222212221211211221112122122122121111222121112211112222222121222111211121221212112112122221122121221112222112211221211121121112212122212111121111121112211212212211111111211212222212211121221221112112221121221211221122221121121112212221112211211221121222112222221111121122121122212121222121122212222222121111211112112112212211122212112122222212122122211212112211111212222121121212111111221121121121111211212211221222111112122121221111122111211112222122121111122212212112221112112222211112221211112111121211121221211222222211111111212111221211211211222112122122211211112222121212112211222122121112112221211122111111222112122112222121112212121111221122112111111211122112222122221221122221211212111122222121212222222221221121112122212212122222122112121111111211111111222121122122222112221111112211221121121211111222121121122111221211222112111212121111222122211111112122111111111221111212222211221121111112222112222212121121111221211111212121212211221121112221121211211211122122121121121221122112222112111221211121112122122122122222222122221112221211122222121122212221212222212222221221112221112221112211112221221112212111211111211222212121111222112122221111122111211212221111212112111221111122112212221111121121122222112222121222121121212122211112212211112211122211112121211212212111211211112122112112122122211112222222211121112211122212122222221221211112222211211121111211122122222121212221222112221212121122222121222222222111122111212121112121221211122212122122211121211121111212221121121111121222212212212111222112111112122221212122122221111221121112222221122121122211122222221111222222111111221112211122122121222222222221212112221222222212121111222222121221221121112221112122121122221221221211122222122121222211211221122112212211222122212122211211221222212111111121212221122211212212122221121212121121222221211212122112122212211212111121111112211211111111211111222122112112111211121112112212211211112111112121221222222212211121221111221112122222112211112212111211211222111222122211222111121122121222212111111211122111221212121122112112211211112121122221112122212112122112221211112112212211111211112221112221112221112111212122121121212212222112211211222122212122222212211212122121212122111222222212112212221122122112111112111111112212111112121121122222212122122222221211222221221121211212211212121121122212211221121212221212221211121121211221122222221211112112112121111222221111112111221221221112211122111222212122221122222212121211211211211211212112212222112222122212122122211121122221111112222212221121211211212111212112221212222111121221121111112121211121121111122121121211212112211222112122211222111112121211222121121222211221112112121111211122121112122122212211221212212221222211121112122122211121112221212222221111212221221121122222222112112111221112112121222221222221111111221112222212121122121212112111222121212212122211111111211211211112122211221221221212222211122222211222112121121121111112222111222122112222212211212221211221112221222121112111112211221221122112221212211122112121212211121211122222222211112221212212112221112121111121121112121222211212212111112222111121122212212221212222212122112211221222222112122111121212121111121221122211222221121122221221111122111212122112111112122112211121111111212211121121211111121221111222211122211221222212211112211122221212212111221221112221111112211112212221222211211222222221222111221122211111122122111221212211111111111222122211222212112221121121212222122211121221211221221212212211112112212211211221212212212212111121121212121221212221222211221111221222212122212122122221111211222121122112112121211121112211112122122212112111211121222212121122111222222221111222122111111122122111221122112211111112111121222211112221111212122222111111212122121121211121212211122122122212211222221221111111112122222112222212222111112222121122222212222122211221111122211111221222112222121221122211111212212121221221222112212122221212121221211112121222221212222112121221222221121222121112212122121221212222222122222112111212111221121222111122221222222222221221122221211121212121221122221122221212121221112212211122111222221122211122121112111111112112211112112122212222111121111222221212111122211211221112212122211122211121111112122211111222122111112121211121112112222221111121121221121212211122121121222211211212122211221222111122212112121111211121111121121222121212122221211112221222222212122112121122212221222111121222222211112121112122111221221111222212112121121122111222112212221121222211221212212111211221211122211221122121211221211212221111211221122222122111222111222122221211112122221122212221221111211212211112211221112121212212222112212121122121212112221121222122222122112212121111212112122222222222112121211112211211212122112122111222211212211121112222111111121211121222111121112112222121122111111211111221211221111222221212211112221211212222222211221122221221111222211222222221221222211221121211211212121211111122212122121221112111111211211211221121222221111111222212122221221211121112211112112222221222211112211222122112212111111211221121121121121121112222222211122222111122212111211221121212122222112222121112111222212212222111112221121122122112211222222211112112122221122122222222111122111111111221222112121111112111221122222221221221211221111111221211122212212121121122212212122112221121221222112121121221222112122212212121111222121111222222111121221111112212212222112211122221211112121211121112221121212121221211211122211221221221211212222211122212221112222112112221122122112112112121122221211122222222112212211121221212111121121222221222222112111211112211112211111211112222222122212112122111111211112121222121222222221212222222122111212212112221212221122211212221211212212211221212212121221122121222121211112122111222121111222111221122222121111221212112121111211211112222221211122211212212112122212211222211111112122111111112112211122121111211122122221121212121121212211122112222122112212222122212222122222112112122221122112222111112121222212212212222122111112222122221212211112211211212212112121112122221222222112122121212212212121111211222121121222221211121111221221212122221222212111211211122222212222222121112222111121211222211211212211212221212221221222222121221212211122211121121121112222212221121221121111111121112111222212111111112212112221112211122122121221221222222222111122111221122121121112112221211221122211221222211211222122212212111122212111112212212222221221212211121111212122212122111211121121121222212221211122211112221122221122112121222212112122121111112121212212221211211122112211211221211112221111121211121222111212122222212212122112112212222121122221112122121111111212111122212112212122112211111112222222222111221122112122221211121122111222121221212211212212111122111121112112121221212222221111112221212121112212122222121122212121122111121222212222221111211222222222212221122212222221211221121211221211112122112211221212211222211222211222112221212121212211212221122122221221121121122212112111121122212122112211211111122222122121222212221122222121221121111111122122121121222222112122221121121121221112221222121111212122122111112112122111122212112121121111122211211122222111111211121221222211122112111112111111121122121212122212121211222221111212122212111221212212212122222121211211112122221112112111111112122221222211221122122221122221222111211122222111121111222121212221222221111211111112111211222221212222122222122221122111122222112122112222111222112111221212212222211221112221111111121122121211111222222111211112121111122122112122112112122121121121211221221122122212111222221122112222112211122112111121222111211211222112211111121212122211222212121211111212111112211222121211211112122122111212222122212222122221211222211112211111111112112111222222122122212111212211121122212212112112222112111111111122121212121122112222121222212112221122211121112211122122112212121212112121212221221121211121122112122221122212222121211222122111222122211222212211111122122222111212122121212211122112122212212111222221112212221112221122212121121121111212112211222221211112111212111111212121221121221111222121221111121212222112112211221221111222112111122111122221222112121112121222122222122111111122121112222212111222112122112221112111111112211211122222111122111212221212212212222222211222111222212121211222221122221112111111122122222221221121112211222222112111122221111122212211211112211121122112121112212211112122212212111112121121221211221212222122122222111111211122211222221221222121221112112112112121222212121112211212112121212121221111221121111122222111211112212222211122122211222211122212122112222212221211121121211222212221211112212211112112112221212222122111211111112112112112212111221122222112112212212222221212212111212112221221122112212121121122211222211222112112112111212221121211212121112121212121222222112112211221112111211222221112212211212212121112121112112121221121111221121212121211112222122111221111122112122121211111122122122112112222122112121211211122221212212221212222212112211112122222212122122121211111212121112221111111121222121212222122121112211221112111112121211212122122212122212212221221122112122212111121212212211112122121121211121122211121122122211221222212121122211112222211111222221212221222111112221122112211111122211221221221122111221122121112112212212211221122112212121211122121221221211221212112122221112121211222112122112122122212122212211211122122212112112212122221122211221212112222212111212222221221211121211122111111111221212211121122112211222111212212211111222122111221221212112122112222211211211111221122122212211112222221222212111212111112221221122221221121121212121212211121111221112121221111122112221211122212221222122112221122222222112111222112212211112112112211111111122122212111221111122112111211122212112121222112211122211111222121122111112212212211212222212222111211121221211222222121122221121112121212111111122222212211121112112211212112211222222112211222121212111111121222211222221111121212111121211222122211211111112122211221111211112121122122221212121112112221222111211211222221212111211112221112111222121112121222121221112212221222121212112211122111112212112212222212221122211122112112222121222212121121121212111222211221212221222221212111111122211211211121112112122122121112111211221222121222212111121122112211221122112122222121211112111212212112121112121221122122221111212112211111212112221122212122121121122222211122122211221212222212111222222121212221212212222112222122112121121211121221122221221211112121222212122222112121212111221221122121221211211111112122211112121212211212212121222122221211121111211121112111221222211112212221211112112112111112222221221111211121212212212112122112221121112212221221122211211112212221121121212121211122211211122211121212121221112112211222121211112222112221211211112122122222212221222222122222122111212121111221121212222222121121212122221112212211112122211111222112212121222212121122211122121212121112122212221221111122111111211112211122221121121211221221112221121221222112221221121122222112122121111212222222211212111122121212222122212121121111211112211111112111211221221121122121212122121122112122122221211121222111122121112211222222111122222121211111212222112212211222112222212112122112212121222112121211212222121121112112121212212221112221122212211111112122211121121221111221121111112212222222221121112222122111111212111112211221121221111112221111121111112112112111122211122222212212222122222122221212221222221122121212111111212222111122222212221211221212121211222112112122122222111111222212222212121211221122121122222222221222112112222112211212122222122121221212112221222221121212111212121112121121222122211111122121112221211112122212211111221221211221111121211112222211212121221222112222111111121211221211112111222222111122111221211212222221212122222211221121112221121112112211122212222221221112221222112122112112112122111121212111222222112221111211112211222112222221122111111211111112222112212211121221112112211212112111212111112121112111221211112221111221121212222111122211212212111211111212112211111222222222221212211222211222222122221212121222222111222221111112112112222112211112211222121121212111121211211221121122212111212122212121112111122222112222111112212121212122221122121212211212121112221222221121212111111212221222222111211111111221121211112112222212221221222112212222221221211222221121122212111212111211111112111221121121121112122221222122121122212212121112111112111112211212111112222112211221211121211112222221211112112121122211222121121112211222221211111111212211122212111222122212221111111211112221212112211221111111222111111121211122221222222222222122221122222111222221222221211121221221121222222121122221111221222212121212211121122112111222211112122112112212112212112112112221112121222211112122211112221111211112221112211211122122221121112111122122122121222121212122222121112112212222121211122211111122111212222221112211112121111111221222111212112211121211111111112122122111211212211221211221121111121222222111222211211221212211111111122222112211222222121221222212121212122122211211222111222112111221121112222222111221222211221112112212112122111122212211112121122111211111221222221212212222121111212121111221221212212121122112211211221222221122112211222222222222111121121211121111221222221211122221212121222111121121222121112212122122122121211122211222121221222222211121122111222211211212112222122122221212112122222122121211121111222211111212211122111212221111122211121121112212121211121221221112111112211221221111112221221111121121111222212211212211222121122222221211111221111212112212121121212111111122122111212211121211211121221112121111111222112122212122222221112112121111122122121222221111211112122221221211112221121211122122121122111212121211222121112222121212211121222221111111122121212221111212212112212121221112211122222222112221122111112211122121121221122122222221112212222221221211222112221212112222111212111222222221122112122112121221121111222121212122112122111211111112122122211112122111222122112212211111222122212221112221121221112111221211211211212212211211112211222221112122111112221212212222222111112111122211221112222122211121211111111122222222121211222121112221121112122121121221111121122121121111221111221111212222121112121111111221221111212122222221211212211221111122212222212211211122211221112212112222112221112221211122211112121221222111222122212222112112212122222221112112222211121122221121121222121121212111211111111211111222112111212121212222111222112211111212222121111122111112111122122211222111211211221222112121222222221221111222211211112211211121211111121122121121111221211111222111222112221221111212112211211211122111121111112222121212111112212111222221122112211221122112112112112111122211121221212221121221221211212211121111211112211111211221122221111111112111221211212121111111211212121121112112112212112112212221122112222121212221122221112212112221112222112222121221122211222211222122121111222121111121112212112111211111112221212222212121111221221222121122211212122221211121121121121122221212211121211122222212112211221212121111121111212122112221221222122222111222211212222212121121222212212211221221121212121112121121222121121221122221212211121111221211222112111122122212112111112212211121122222212112122122122122211211211122222212222211222211212212112211111121221122111221211121221111212212122112112211121221222121221112221111211222222221221122222212212111121221211112221221111111121211222212111211211122212221212212221112121112211122112221121221111212122211212212222111112122111111222222222211122212122221122121122121122221122122112112211212222111112221212221122211121222221211221122122122222212112122111121221122111122222122211211221112212221222112211112222122121121221121112222121222211222122211211222121211221222122212211221212112111121121121112121221211211221111221211222112212211121121111121211222112122112122112122122222221112222222112121121222222222212121122211112121212222211211121211222111221122121221212112111211111222122222222211111211212111222112112112221121212121221121212111111211121212222111111122112221111122211221211111211122212112111211212211211222121122111122122122112222211211212122111122212121112221121222121122222122222211211221212111121221212211111111112112121121212112212121112121211221211222221211221112212222112221211212221212222112221221212211222111121211212111221222122212222221222212212111122211221111111121112221222211112222222221222111211112122211211121211221121212122222111112221221221122111212112222122222221121221212222221111112121221221112221111121112121122122222222111111121211221222211121121211211221121111112222212112122221222221222221112122222211111122122211112112112112221221112212221122221112122211122212112111111122121211211221111211211221221212212211121122221222222112211212122222121211112212112112112112111212122211112211121212111222212112221112222121212222122221221211211222122122212212211212211122211122222121211211121211212222112211122221112211111212112121112112211121221122111111121111121122212122112221222212222112122111121122222222111221121222112222221211111122221221112121111122122121112211212222121122112211111112221122221122221112221212121122121122222222221221222211122221111221112122121212212111221122222122122112121111221222112212121221222121112222111112111112221211212112122122212212212122111221112121212112111221211211111112112111112122211212222121111122122222111111121212221121122212122221211221222122212211222111111221111112222222122212112111222111221112221222112112212122111211112221112121221222111111222211121212222211222111222122222122211212222212222112222211121112121121211212221112222221121112111121122122212122212112122111211111111112212221121222122212121211222222122112222122111221122222112121221121211212122222211122111212121111222222221122121211211111122121111221121122212222221111121222212111221211221212211221222111112121121211122112211122111211222122221122211122222111211122211221221111122122122121211222112112121121122211222221122112212111222121122122211112211212222121121111222212121112111112222212222221221111212111212112112111112212122222111121222122221121111122112222122111211112222211221211112122122111121212212211221211111112211122112112111221111222221211221122111212212212212112112122212112221221211121221211112211221212211211211212111212222121212222111222211222221212122121121222222212122211122221211122212221112221122211221222112212222112121211122221121221111212212221221222121112122122212111221211121122222122121221212122112121121221122221111121211211112112112112112222122122222212222211121221212222221212111112221211121221222222222211111122221212122122211212121121122221122221111212221211212122211221211212122112121221221122221222211222112122212121112221111122122121112122121111212222211122211211221121122222222211111111112221221212222121222121122121212221122212212122211211221111122111212222121112221222212212212112211221122212111211221211222212221112222111121122121122122212222112121121121111122212122121212222121222221121122121221212212121222111112121121112121112212211121212222211122211221212121122221112112222221121122211222112212111222111111211112122221212112111221212221112222121222121112222221122222211221222222121211221211222211112211221222121211111221211221212122121121221211112211122121111111112221212122122211121211112211211111121122211222121122212212121122212121122121112122121111221111112212222122212121222111221122212222122221111222111212122111112221121112211121222211122122111122221112222211122212121121222221112212222221212122222112121121211222111111121111121112222111222112211112112222222222112121122111222122222222121111221212122122111112111122211221111222112112121222211122111211221221221212222221221121121122212221221212222122222222212112121221212121212111112121112111212121221222112121121211122112222221211121211122122121111112222122212111221212212212211111112212111121221212121222122121222111221212111122121121122212212212112221111121111111121212111222221122221212122112111122121212221111111122111112222212112112211121212221212212112211211212122121211212121212111212121222111222212221112122222211211112211121121111212112222121212111222111221112212111111111122112221221121221222212111112212122112122112122111121212211121222211211212111211121212122222121112112212211222111111111221111221122211112122221212122112122222121121122222122222222111112221111122122112212222112111111121111111111212121222111211112211121121212221222211111212122112222212212221121211212111112212211212222111122211211111122111111211221122121111121212221212111211211222111122122211222122121211121211211111222222112221221122212121211122121211212122222221121112222212211211112111112221122121211112121212211122112222212211122122122112111111122111221112212221122212212111122122111111112221222112111212111111111121111211212212212212221211121222212211221112222111222112212222221221221221112111122122222211112211121221211111212121222222122212211222112111221221121222112221212221221212112221122222111122111211112121222222121111121211112122122122122111121222111112121211121112111122221111121122222112112112112222211222211222222222121211122121222222222121111122121211122122211112122111212111122121221222221122212122212122212121122112222221112211111122221212112212211212221211111122111122122112112221111211121212222111121112212112222222121221111211222212122221122121112212211121212222212112221221121122211222121122121112111111222122112222221122121222222212222221222221121121111222221212122121212122212222111121212111222112222212111222112121221112221211222122111111212212121122122112112211211112222112111122111112121112112212221111211221112111112111212122122212111221111111211221222122121211111111222121122221112212122111221112121211211212111222222111111122111111112111221112222222211212221221212121212111111222111112222112121211211112212222211111112221212222222112111122111121111211122222121221222211212121211222112112211121222222112112212112222222122211212222111212121212222211222111212111112212211121222111121112221222122221211211212122211112222121212112122112121211222112212112221211121211212111221222221221211111211111122211112111221212111112111121222112122122222111211122122111211211121221122212222111211211111111212112112222122211112212121211112221211111122112112121211111121112122221111222222221111121212221221111111121122222222121121221121211211112121222211221211221111112221111211111112211111112212121212222221212111211222212121212212221221121212112111211122212212111222211121111122121122222112111221122111221212221121222112112111121211212121112111221122121121121221111122211211122221222221121122211111211212121121211111221112111212112212221122222212121222212221221221221121121211222111111222211121211111112111122211222222211121211211122211212221221122122211122221212222112111221111112121211221121222222222221211112112122212111221122112112222122121112212212122111221212111112122112212121212112122212112122212212221211211211212111212212211222111212111112121211111121212222122122221112121122121112112122112212212221122122121121111122122211121121112221112111111212212112122121221212111211222222221122111112122211121122211221122212222222221211111111111122222222221121122221111111211211122211211112212111212212212122211112222212211211211221122211112211221111212221222112211212121122121221212121211221221221222211211121211122211222212112221222122211122122211212121211112122122112211221211112212112112121121111221221111121212211112111221211222111122222212122221112111212122112222221211222211211122222121211222211211111212222221121222221112222222111222121112122211112211111222112211211122122221111222111122211122222112212112112222122212111211221211211121111111211211121211121212211111211212221211112111111121221211122112222111212212112122222221121121222121212221122122111111212122212211211122122112222121221122222221212221212221112121212121112112221212221111211122121112121112212211121211112121211111222212111122222121112211212222211222211121111122211211211111122211222221221212221212111111111221122221121221221211211111111212211212112111221222122112121112112222121121212212122122112121211121222112211121121222212222121211212221121222211121221222121221212121121221111211211111211211221112211222121211222222212121212112211121221212212112222212112122112222221122222121121222211122221122222212111112111211222112211121111112121122122221112121211211111111112121111221221212221221211121112112112222211111212122212212121222222221211211212212111111112221111112121121212221112111211121111212111222222222222211112221121121212222211112121122112212121122111122111211221111122221112112122121222221211211222122112222221211121121122121221212111112222121122111212212221212111112122212212221212112221122212212121211211221222111121121211121221112212121222122111121211222212222121221121111221212222112222112221111212112112111121221221121111212222212122221211221121221221111211222121212111112112221221122212221221222221111211221121212221212212112112212112121122212112211121122212111112222111211121212122122212222211112122221121112111121112121122221212121212122222212222222122122222221221211111112212111212111211121111222111221111122212112111112121111212211112111112121211112212222121122212111112222211112112221122111221112122112122221212212122221212122222221211212111121122122222121212111212111121221112212222111221211122221221211222211221211222121121211111221221121212122122111121112111212112212111221222212122111222112111211212212211221211211222112122122122111111122111112211121212222112221111212212212212111112222211111112211111221211212112111211111211121221211222221222222121212211121111112221112112221111221112211211122122112122111221121211122221221122212121111222112122111221122221121212122112121112111111112112121211122121111112212211112221111212112222121111222122212222222222111122122211212211221112222112121212112221222112222122111112212221111111221211212111112112221212222121221111212221212111121221211222222121221112211121211112212212222211111122222121121111211121112222212221212121112121122212222121211122221212211212111221211211122121121211111212122111112122122212111111111112111221111211221111221121121122222111112121221121122121112212221222212221212112121122222222112212221222122222222121211222121211212221222121121221222222121221121121222111222111212112211111111112111211211212212121111122122222111222121112112212211222212221221121112111221211222111222121222211212111111222211221222212222211221221122111212122122211211122111121121122121122122212222212212111211221111222222221211221122211221121111212222111111212211221121212112211221122111122122122111121211121222211121112121122111222112122121122211121221121221122222222222111122111111222121212222221112221211222122222211212221121112122121112222211122112122222211121211212221122122222121121212121222111221211121122121221112111112121112211111222221112112212221222111212222222122112221212212222222121112122112111222212122111221212211111112221211221211112112211211221221112211222122122121222212112111112222112112122211121112221212221111112212111211212212112111122121122221111222212212222121112222122221122121111121212111221212212212122211122121111212112112122122222112111121111221112121112212122122212211212222121212211121122212212122122222221222222121211212221121211121112222111111121222221212211211222211222221122111121122222212221212212221121221222211212112111221111111212222211221211122212212212111211111121111221212112212212222121112121212211211112221222221112112122112122121111121122222221121121111211111112112212122211221212212121111212211211211111221222111112221111121212122122211112212212212122112122221212121121211112221122211211111221122121122222222212212122122222121122221221121121121222111222211221221121111211122211111222121112122212112222222122222212222221122222221122112111121211222111121121111221111221112111122122211121121221212221121111121112211222221211121122221122112112112122111221221121121112221212122121212211112112112221221212221222122212211111211112222212212211122121111122111122222211222211121122211121212112122221112122212121221112121222121112222111211222122112122111112121212121112222111112212221112122211221221221212121112111112212222121211211122211222221121211121211222111111212212221212212221221221112212221211111221212121121211221222212112111121122111111222211221222211121122122111212111122111222112222111111111111121211122112111221112122222222222121112222111121121212122221222111112221221211121122122222111111111211221111112221111211212112212221211212112221221212122221212211112222221111212212111211221221221221211211211111211122121221221211222112111221221121222122121111111121222111121121212111221212222222111122212222111211111121111122221121112111212221211121111211221112111111211112112211221211121222221222111121111121122222121111111221122121211111122111112111122121211212111222221222122121111212121122112211212121121221222111122211122212121211112111122221122111112222112211112221112212111212222212212211111211111122112221111212222111212222122111212212112221211222212121111222212222122222222221112211221221122122222211221222212211122221211222222122112122212121222122122211212121112111121221112122222112212221222222212211121221211121121121112211111111121211211222111212121121221212112211122212222211222122112212221212111121111221121222111211111212221111122221122121211121121211212112221221212222122121221221112111122221111122222221221111212112221112212112112211121212122122212221212211222212212122112211211121121212221122121122222122212121212221111221121111212122111111221121112121122112111122221121211121221221212122212112222121222111122121222211112122111122112212212211221111212212122121111211211221212211211222212122111222121122221121221222212122121121122112221121122112111111122222121111111122221221122122222211211211111221122121222121122112111211121221212121121112212211221211122112112212211112111121211221221212112121122212212122211221112222122112221222222121121112212222221211221112112122222222122212222211222221221212112122111221121112111222212111222111121111221121211212212211211112211211111212211212122222121121122222122221121211221112212121211111211212111122211221222122222221121211222221111122211212112221112122111112221222221112111122122221211222212111112211221221111111112221212112211211111112212222221112212221122222211112112222222111211122122211222111111222221111221121122222121111111211112121121112111111111111221211222112111211111211111222211112212222211222122121212122111221122112111222121122121211221212212112111212222122111222222222211222212211211222221121112112121221122221222222221122211211212221211122112222122111221212222112112222122121212221222121211221212221221221211112121222111121112112221111111222121112211112111211222221122121212112121122112111212221221112211211211111112221222212212122122211211122222211111121212221112221212111212221212211222212222121212211111212111112122121112222212211121112121112112211212211121121122211211221111221112122212211121211211222221222222121121122121111212211121212111122121122122221221111111121222211212211221222121111121222211122222122122112221221221122111111111222122111112111212111121221121221121112112222212121212122221211111122121211222122222111211211212212221221111122122221111211222111221121122211222222112211122212122211112212112211112211122112222211221111122222222121222122122222112112212111222112122112212121112212121111122111211112122122221111211121111121211211112221222122121122121212212222122111121122211111222121112111111121222221111211222222122112111112111121121122212221211212122212211222122222212111122222212221122112222122112122222211112221212222121122212112111112111212212112121122112222112121111221211222222111112121122211211221221221222211122211112112222212112112111211222212222111211212222211122212112212212111121222112211222111111222222211111222222111112121212221211221212111212222122121221121121221122122121112111111221222111222111122211211121222122222111121212121211212111222111122211111121112121212112222222122121122211121212111211222112211112211221222221122112221112211121112221212212111212122211222212222122211221212221222122212211221121211112211221222122111122211112221122122121221122211222222221112122222121222211221212211122212111111221212212112122111211222122222122111212211121122212121212222222211121112222221122221211122121212122222122212222112222112121112111222211111211211221211122121212221221222211212111121121211212222221222221211111112111222112212111211212222211112211122212221222112211122221211211122212112112211212122211122221111122112111222222122111121111212122221221212121221212111112211222111221221221112221222221222111222121121121121222222222211221122222122122222212211221122112221222211222122222112121221111111212121121111222212111122122211212211211211112112211221212211222212111122211111212121122212212111212121122112111111121221122121211222121211222222122212112112121112211112212221122222121221121222121212121121212111212212221211112221112112122211122121112122122222112111122121221212212211211212212111211112211111211211122211222112122121121112112122211211111122111122111221222122222222121212222222122112222212121112221112112211122121122122221211111211222111121222222212221121221121221121122112222211121211111122122122221222222211121221121111211222221122112222222111112221221221112122222122122121112121212212211121212222221121122111222112111212222121221122221211222222122211211122122111111212212112212121122111111121221221221112212121122122112121221221121211121222221121121221221221111111111121112122121112121211211212221121111211122111112212112221111112112122121112211211212211111121212211212222221222122211111112221121211121121211211111222222112211211111121221222111112112122111122111111122211221122112122121111112112221112211112121111212211212211121111112122111111122122122212122111111211211222221212111111122111221111212211112111222111222222122211122111121211221221222112212211121111211122121121112211121122212112112111212112122211112121122111212122111111112122111211212221222211211111112112212211221211212122211211211121112121211222122212212121212221111122111212111111211211212222212111111112122221221111222122111221212122122222222112121211222222221212222121212111221122122111221222221121122111122112111121222211122211121221122121222211111112112211112122212122111121121222221221122122212111211111111221221221212211221121221221222211211121221221111121211221111122121111121111122121211121211222121111122212122112212212112121212112221221111122112222122222122212112212212212221211121111111221112112111121221222111112221221212112222111122121222221111122111112221121122111211221221222222222122211212211111212122112121222122111222211121121221211121212222122112212221122222221221222112112212112121112121221211111212222122111121111211211222221212122112121122121121222221121121121112121122111222121122222121212211111221111112221221122121221212122221122222222212122121121221212112121212212221212221212212112121112222122122122121121122212211221121211122112222222121121212111212122221212111212222112121121221222221211211111222212221121212211221121121211211122112121221112112211222211222112211212121221221211122211221111211221222221111121112212211211211222221112211221212112212122122212122222111221212111212112211121111211222221111212211212212122222211112111211211112122211211121222212122211221221122112121221112211222121121221121121222221221221212212221222121211222211211211221122221111121122212121112111121112212111121111212222211121121112111121121222121221111212112222111121212112211211212121222112122112122222121121111222221111212111112212221112212121212221121112111112222111222121222121221121212112222121222121212122222222121122121222122122121222221121221211221222212222111222211221112111122112211121121211221122121122222212222222121112112222222211222121122111111122211211222212211111122111121211221222111211222222221121221222112121121111121211211221111121221122111121212122212212122221212121211122112111211211211121211212122212111112122211121211121111122111112111111212112221111211212111221122111121221222112111222121211221122121112212211112121111121122122221211222212222112211122111212111111211111112112122121221211122122221221212111121121221222221212111111111111222222221111212121121112112222112112112121222121211112121212222122112211122111222222212222221212112111221111212112112112212211211111222221222112112211111221212221222121221112211211122111211122122121222221212112212122211112221112221121211212112221122121121222222222212221212211222112221122121221112212121111222211112121111111221122221112222112221121212121221122222221212211111112211212222221211222112112211122222212222212222221121222112122211221212212212211212122121121111121221121121222111221221221211111211212121112122212111212211222122121112122212211122121121111222111122222221122121211211111111122212121122222212222222112221221222121212121111222121122212112121221122121212221211222211221112221222222112122222222211122112122212112121111111212111221111122111212221221112221221111221211212221111212211111111111222212212222221212122111221121211212112111111222212222111121112121211222222111211212112211212222221222112121211212121121122122111121112121121112211111221221211211122111111221212212122222212222221222211212111111111222211111112211112211112221112111122111212212222212112122222122111211121212111112121222222121221122112121221111221111111122211211112211212221221111212221211221112211221211121222122211222121211112221222121211122111212222222212111212222222122222221121222121221211121121221212212221221121222212111221222212122122111112111112111122121112122121221111112121112212211111211112211221122122211221122122111122212111122111121221222222212122211222121211111221222112221121122212121112222212121211112221212121211111122221111211221111222212122111212211211222221122212212121111211122211112122122221212211121222122122221112211222212221212122112122212121212111212222121121222212122112212221221111122112112111122211222211122111222221122121122112221122111112121121122112122111211121122121211122122111212111221112211112212222122212121111221122211221122122211111121121211122212111112111222121211112121121212111112222222111211212212212211121121211111222212221221222212212121112112211211221111221121211111111122121212121121222112122221212111221212112212212212122212121222121222221222111222111122212122212221212111212211122112212121121121221112222211112212121111111222112112222212122211121221221212122111221122122211112111111122122112112222121122222122121111121121222221212211121222111211221221122121112212221211222112221221212222122122211122121221111211122121221121212122112222122121122111112211222111121222122221112222212121222111222211112121111122211221111111222122122122111121211111211212211221121221122221221111212222222112122212121221211211111111211121112212211122222221212121222111111112111212212111122221212221221221112212211211112212221211121221211222121112212222112122212122211222111121222111211121211122112211222212111222222122211212112212221222112111122111112212121212212122111212212111111211212122212212212122212122112222121121222212122222122211122121122222222212121222121211212221212122112112112222211112212121212112112222222121122111111111111221112111211222212112222221221222121122211121111221122211111222112111122121111111122112111111211122121221211111111111122121211221111211211221122112221122212222122111221221211211212222121212211211211111121221122122211221111221111112221211112211221122222112212222122222121111112221221221111122122221112211111121212222211211212222111221212121211111112221112121112121221122122112212211111212212211211121212211111112211222222212121212221122222222211221211221111212221221211212122112212112121111111221112212121121212222212111121211111111122221212112111122122221221212211221221121112222212212222211221111111222121222121221121211212122121221212212121211212122212221211222211112112121122221221212121122221212222222211111222112111112121221212221222112221112221111222221211222221222211112112212221111111211111121112221122211222222211122212112111211212212211111122222111221112121212112111122111212121211212121122112212122222122222121122122222211122122222211221211112211212122211112111121221122211111211221112222212112111211121221221122212211111212111222121121121222211222122221121122122221121121111121111122122122211221212121221222111122111222212111221222211211122212211121212221122121112122111212221222222222121121122221111221222121122112111222211112221222212111212221122112122112121212111112212221122122212221121212221121211122121211212111112221121221221122121121222222121222221221122221111112112112221211122122211221112212121211212122112112111111221212211122121121221221212121211121212111112212222112121111121221122211221221112211221122211212121112111212112112221212112211122122121121122112222212111211222111212122221221122221112211122221222222212121211211122211121122122121211122122111121121221121211112212221111222221211211112212211212111112222211111122112122122112222122122212222112211222222111121122221111212112211111112221221212222221222221222212121221121211212121211121211111111222111122222211222222121221112112111111212211122212111111222211121211222212122111122211112222122212121112212221221122122121211122112212121212211222122122222121212221111222211111212122211212122221111111121121111211211212111211112221222222222212212122212211111222211211111211112222211121212122221111112222111221112222221121112221211121212111122111111211212121222221212112112121221211122221222222221212221212211122222211221212221222222122112122212111211212211222111221122112122222121212211111122221122221112112221221221211112112112222121121211222112221122222111222121222212112221212212112221211212112212112122122122122122111121122212111121211212222121221211212112211122122112212112212212211212112221221212211111121121222111111222221222212112111211212211122111222112212212222212222111221122122211221211221222122121221222111211221221222121121221112212122112121112222221121121221112211212211122111221221221212121112122212212121212122122212112112212121122121212112121112211212221221121122222111222221212121121212112211121222121111212112121212212112222122212111221112221121221222211211211122211222121122211222121222211211211112112111222212212212121211211112221211111221222211221211122212122112222222221221112221112221221221212111111222222121122112222211111212112222211222211211112112222122121221122122221211211121211122222111221121112222111111111111221121122211222211122111222221121111221221222221211222112221221122212222212121211121211122121212222212212122122221122221121212221121222221121212121221212112111212122221212211112121221212111121122112212221122121122212212221122122221112111212212111112111211222121221221121222112121121111121122222112122212221112121212212122211211111211222221112211212211112221121112211211112221222221122222221211212121221211212122221112122212212112211112112112112212211211222212121211122121111212212212122212222211222111122111122212211221211111122211111212212122121221222111121221111221121111211121111222222111121222112122112212122111212122121211222211221111212222222221122111121221121122111212212222212221112212121211222221221212212112211212211112121122112112211221121122112112121122121121221212211222211121221212121212211211112211112122112121111112111112211122221221212112122121222212211211121211221122111112211122111112221111122212211221111111121222112112111222212211122222211112211122221211212211221222211111112111122211122212222112221221212111222221112212211121111121111212222221111112221112222122222121212211222211222212212222111211222211211222112222221122211221111121122121222112112112211111212222111111211111221222112121222122111212112211112111111211112221221221121111221121222212112222221122211212111121222211221121122221111221122112122211122112222121212121221221122211212222221211211212221212111222221122221221212211221211111121111122122222122112212211222122211111112221122112111221222211112221121211121122222221222221222111112121121121122212211221222221211212121222122111121212222221121211121122211112212121222122112111212211112122212211121121122111222222112111211211212212111211221121221112222122212122111112212112211122121211221121211122221112212121112112112112221221222111122221111212112112111111111122212121112221121112211221221122211212111112212122112111212121111221212211111212111111111222212111122222222212122221111111222221121212212212122211211212222211221112221211222221222112211112222111111122121112211221211121222121122211212221111112211111211111211111122212221111122112122112111212121222111122121211121111211222121212111112212112112222122221122111122222112221112112222112212222222222212121121212122212122212122112221121111211112122111212221112222222122122212221212112121212111122122222111212221121112212222211212112121222222212112121111212222212111212111121212112111222222121112122212121211212221121122121222111112112112212112121121221212221212212112112121111212121212121112222122111121111122212122122212211111112221211122112221122221211121212212222211112211111122221221212212122221211221211222211122211121211111121222122122121122212211222222111121111222211111212112112212222222211121211121111211122122221121212221221122212222222112122122121111211112222122211111221212212111112111121221121222122212121111212211112121121111211112121222211211111122122211222111222122221121111112211222211212212212212111122221112222122111112122111122212222112111211122221121211112211111221222111121122111122122211212112112121211122111221112222121222122112222111222212112211221211111211212121111121111222221122112111112111122211111112112221212222111212212222112211121212112222222221221211111211122111212112111221212212122221111111221121222212122212212212211211211121121112221222222222121212221121221212112212212112122121212111221222121222212121112111111112112121222112222222222212122122121221122211222121212122121111221122222112222222112112122222111222121122222111122212111221111212211212212211112122112111221211112122111121222212121212222122222121112222111111112212212121221111212111221122211111112222222211121221111211221211121211112221122111221111111111221211222122122212111212122222112122222222222111121112212111221222222112221212112111122212122112221121121121221112121112111122221111211111221211111122221222112222212111111121111222121121111212212212212221122222111211111211222211212121222222211122112211221221211222212221111121212112211212212211122112121112221212212221212211121212211211121122112212111221222221211222221121212112121122221222121112212121122212122121112122221111121121121221221112122112222112121211212211112111122222112112121121112121121211221212221222221211121122211111212112121211212121212112111112221212222221212112221212212112212111222121211222212222211222211212122222221112221211112212211122211221212121121212211221121121221222221121122211221212221122211111112222222212111211221221222211222111212112222221121221112221222212121221221221122221212122111211221122212211121111222211112221222122111212122222221111111212121221212221221221221222222212222211121121212221221121221121121122221212111221221212212221222111221121112221221111122211222221112112112122221121212122112121221222112121111112212112211212212211111211112212221112211222212222112112211112111221121111221222112211211222212212121212112222111111212211222122222111211112222222122121112111112221211212221111112122222222121111222121221112222222121121122112211122111122111112211221122212112121212122122112221122222222121111222211211221211211212211111111222111112221221212222212211121112221112211221121122111112121222222112222112112211211221122212211212121121211211212121122121112221222212121122222211122112222222221211122111222222212222112212111211222121222212121112122211112211221212111212212222222112211122121112111111222111212211122221222122221112221211212222111112212122222122111121111211121112222222111212222111222111112221122212221222122211122121112211111222212112221221211212221122221122111122111211111121121111122212122211122211221112221122222121222111111121121212222222212112221112121221221122221221222121211211122222122221122122111121211212111112121112122111221221121221121122222112212222121121121221222111212111211121112122112222122112222112121222112212112221121212121212222221212221111221211121121122121221211111211121211221121112222111221211211112211111211122111222111122111121222112212212222122222111121221222211121122222221221222112211112111212121121111122122222121112212112212211221122112121112112212121222211122112211121222221212111121211222212222112212211212212211222121222212212121122112112112121122122121111221111122212112112211121221122212111112112211221121211211221221221212221121112212111122212111112121121121111221111112122112212211111121121121122122112212222112122212221112211211222112112211211222111211221222222122112212112112112222222111122121212111221122212122112111121121112121212212122111111211112222222121121111122111111111112122122222111222122212212222212112211212121211222211112112112112211212121121212122221112111122112112111212122222111121212122111122121111211221222211112121111111121221122111112222211122211111122222121111211221222212211212121211112121211222121212222221112111112112121222212212111112211112111122222112111222211122222122211112221111122122212222122221121211121112121122121122212221111211222211222212222211121121111222211222121211212211112111122212212221212121121112212111212212211112222222121122121122212222111211112212222111111221222111111122212112121112111222222212121221211221212211221211222122112112212211122111212221221112121122212121121222212112222122121112111211111121221121221122222112121221122212211121122211121211211121122122111122121212212112221222112222221221122111211222121221211122121112211221121122211111221221221112121212122221122221112222212122122222222221121212211221211221222112111212121221221112212211221121212112111212112121221112211221122221222222121122221222111212112122222112111111211212112211212111122121212222211221121221112212112122212121121112112211212111211122211211221111122122121211222211212111111211111121221222212112122112221222211121112211221112112222112222221121212111212122121211121122212212211211212221122211221212222111112221121222212222121121212212221211211121122212222112222222222112221112211112221112112121211222222212221222111211221221222111112122212122212222212111211211222222222221212122211121111112112212222212212211211222112122221122121222111212121212121211212121211111212221112121112121222122112111212212122112211212121112121222221111212111221121112112121222122212112222121112112212121211222121221111212222121122211221111122121112112111112111211211111222212211112212122121211221211212211121212112212111112122112211121212211112121212221222221212121211111112121111222121112112222121121211121212222211121222112111121111112221211221122111211112111211112222211112121121122222211221112111211121121111112112122121212122212121212221211221212212121121211222212221122122121122121221111211222221211111211111211121222112122212212221222121121221222112122121121121111122122222222111211121121211221112222211221222112211111222111122222211111211111112121212222111111112222221221221211111112111222111212121211111222222211121112111112112122121121122211121221222112111221122222221112112211212112211122211122112211112122211211122212111121222211222212111221211222212112222121121112212211211111221112222112121222121222212112112121111221222221211121222212212121211121122112121221112222222122211111121121122212211221121211221112122211112111112212122122222121221222211221222111211121122112212112221211222112222121121112211221121212112112111122212112111122112111111121122111111112212221122111112121212122111212122122222212212212221112222212112112222211122221121111111222222122112222212121221212222111211122211122112212111221212212221122112221221112212211111211122121112112121212221112122112211121111112121222222212211211122212121211222111121112221222122222121221122122111111112212212211212121122221221112121112222112211211122112221122221212212122111211212111212212211122122221212122112221121112211222122212121111221212112121211222112221112212122222112112211111212221121212212112221211212122211112112212221111222221121212222221111121112122121221122112111112212121112222112112211111211111222111222111112222111221212211221122222221212221211122121222112221112221211211212221221222112221222221221122111122222111112121112212122112111212211111112122221221121221121222222211212212112211221222111122112111221211222211112221211211222222222121112112112111121121212221222122211111221111221112222221111212111222111121122222121111221122111111111212211121121212122212122212122221222112211111222222111121221212212121111112121222122122122111121111222121222111212212111112222121112211122111122112121121222222112221212111121211122121212222211221222121212111222221222212122221221111211222211211121212112111222221122211212221121122221211112112111121211221222122222211222122221212121222212121122221221212121222221122122211211111111111121112212122121221211111121122211111212222112122212121121122122211112211112221212112112111121211222211111121221112212111122122221221112211212122112122211222121122211122112121121222111222212111212212211222221211221112111112212122222212122121122112111121111111122222212111111121121121211112211112212112111121222211121211121121121122212111222122112222211211122221122212222212222222212211212212112211121211122112211112221111212121211121212122121212112211121121212112221211111212111122221122122211222212222112221111221112121221111222121221222122212211211111111121112111212122211111122222122221211122221111122222111121211111211122221122211111112121121221121121112121222222212122122221112211111112112112112211211121222211112221111122211221212111111212212212111211111111122122212221122212121222222111122211212111112112121221121112111111111221211221122111112112211122122121111112111222121121121211221221222211121111112221222121122221222112212112112221211222221112111121122121221112221122222111112122221111112211111221112212222212212121122122221112222122122222221212221112222221221211111211212212121122211211211122221111211211121111122112222121222121221122222121121111221122112121212112111222212221221111111121112222212112211111212121111121212122121221222211122122212111112112212222221121122221111222222222112112121212111112212222121112221112211112121121221222122211221211122112221122122111212121111211211212111211211111112211211112221212112222221112221111111122112222211121121111211112111121212121121222121122212121112121222212111221112222122222121211212121211111122122112221111211112211211121111112111122221212122222211222212121221211121211221222222221211112212111211212221111121121212112221211111222121221211122122221121121111122221222121111222121222211212211112222221211111222121112211122211122211111122212122212112121221212122212221221222221211211212211111211211222112121222112111222211122221221211122121221211212211122112221221122111122212221112212212221122121122121111222122122221111212111211111122221111122212111112122211112212212121212222121212111222222211222222122212112221211212112211111211112211211212112112221121211221112111122221211112112121221212221211212211121112122222111121112112121222122121122222121212121222212112122122222222222212212212122111112121112222212211122212112222212111221211122112121122111212211212211112111121212221212212221211212112212222212122212111112212211221221122221122222111212211222121221222221112222211112222111122212222122121112111121221111212212122222111122212111111122112112111122112211222122122121211122111221221222221122122111111111221222121221122122221222112221112211111222221222211212122212222222112112211112111221221111111211121121221112212222211111112122111221211222212121122211212112222122112222211211221112121221222211211121222212222211121212212111212111211121222112211212122221221112122222121211212211222212122112121211212211112222111121221211111112221222112112122112212121211221222111111121212211221212222111112121112211112112222121111122222121221111122211212221211111111222111212122112221221111121121111222111112211211221112211111121212111212121222111122221111211222121222212212212211221222111112111111212222111112222211122111111111111112211112222112222112112222121222222212122111111212212221112211222111222221222122212221121222212112111111222121211121222221212111221211221121222112112112212211112112222112222112111111211222221121221211212111121112121112211111112222122112112211122112112121122222121212122122222121212212222212211112221222121122212222111112121112112112121111112122222222122112121221222212111211111221111222111221211211211211212111221122112221111111122122212211112112212211122111212121122212221211122221111112221222222212212122222212122222222112122211122111121222121221122122212111111211212222122221122221221211211111211221122112221212112222211221212211211221211211211111211111221111121212211221221222112222222121111212122221112211221211112122111222121211112211212212111122221122121222221221121212211111211111112211121121222211222212212122221221221121212211221222121222222112111112121121112211111122212112222221121112221112111211122211222221121112221111212222121212222111221211212122221112111222111211111122112221211221112122121121212222222211211222121211121212221112122121112221211122222111121112211111111121221221112121121222212222122111122211211211111212111111211222122121122221122122221122111211121221211121121121122111122111222211222111112112211121111121121122122221222221212111211212211221111121222212222111121211122111111222122221212221121211221111122122211212222111111221112222221121222221212121121211212212212121111121122222121211111221221212121111211211112221122211111221111221221221121112111122212221222221212222111112111121221121122221221111111121111221211212112122112211122221111222211222112122121221112121221121122211212212111121122122112111211211222222222212122122112111211111212122211112221221212211122112122121122111112211121212221111122112121111112221111212212112222111212222111112212222221212112121222121112212222212121112121212212111222222212121211212112212212212112122111221221221122222111222122112222221111221111112211212222122121221122112111212222222111222221111121121122221221122221222111212211111211212122122211221121222112221212122221211222111112212121122112121122112121111122111221211222112211111221111222212111222212221222212122121121112121221122211211122111121111221222112211111122112112111212222111212121111211111212111111111111122122122211112222112212222111122212111122221222111122122222111212211112222122221222212121211121221111222212222111222212122122112111111122111222222121221222221121111112111221121121121212222222111112122211221111212221121221121111212122221212121211222211221222211122222111122212111112212221121221121221121122212121222122212212121121122221121112112221112122212211211212221211111121112122221112112121212121121212211122221212122112111111221111212211212222212221111212211122122111222221122121121211212221211111122211222222222112222211221212122121121221121122222221221212121121111111121112211211121121111212121112211121122111211112121211122111211211221111111221222212221121221122222122212211221221211211111121221122221222122211111211121221121222121111111212121111211121112222122121222211121211211111122112121211211211111121222221211121112211121112222211111212122111222211122111222212112222212212122122122212222221122112122122121122222112111111211222221122122122211112211211111222221211112121211211221222121112211212211111121111212111112122212221211122222122121122211112211222222121121222111121221121222211211122211111112121212122221112221211221111221112122212111222112222221111111111212222221112212112222222221112121122122122221111122212111111112111211221111122222212121122212121121122211122212222212121211122111111221222222212122211112222112122211122111212222111111222212211212112221222221212211211111212212112121211221122211222212222221221212211111222122112112112222112122212112211221222221112121211211122212112222112111121211212212112112121221212112222211112111112121222112112211121112111222122221211212111112222112221121122112121111111211122121211221222222221112121112222211212112111112212111121221112212121212221222212211212121121122212221211112221121212212222122221222122212112221122111111212112121222111111221221211211111212222122211221222112212112211222221122121222212212211211212112221121111121221111211212122221122111111121121212122221211211211122212221121221221112122222111211222112112111211122221221121212122111211211121211211211222112211121112122212222221111112211111121121122112111111122111212122121221212111122122121122221222111222122121211112212121222211122221221112121121121211212111111212121211121122221221111222111112122122212122212112112111121212122212212221111112221211221111121112212111222111211222221222221122222122122111212111222121222211112121222221222221121212112112111122211222222122111221121112221212121222111221222112221211112221111211111111121212111111211221211222122122222221221221221112212222121122222121211211212112121112122112122221212112212222211122212221122121221111212212221122221221222212221211211121121112222222121121212111111212122122112211212111222212211122111212121121211221212112121222222222111112212221212111111211122122121222112121222122111121111111221112222221221122111121112121111212221222211111112222222121222221211122121222121221122112112111212121222121221122212211112212121111221121111112112111121222111112221221212221211211122121221221122222121122222112121121222222222112211221222211211122222112111221111111112111112112211122221212212111111122121212111212121222122112111112222221221122221211111221112112111121221222221211111222122111221222211222222111111212222122121212112111111121221212221111111122221222122112111121121122221122222121221211212212111112112122211112111212221112222221121221121122211121122222222122111211122221211122122112112121111121222211122212212212122212211121122112111122221122212112221122221211111212221122111122212112221222211122112112211122112222211111212111221211112122222222122222121222122222222121111122112222221111122221222212222112112112222112222111212121211211121221121212221111112111212122222111112211212111212222221112112211221122122111111112212122211112212122222222222121221221121121121222111112222121222211121121112121122211112122221222111211212222222122221121121222111212121122212112221212222221221222222112211111221122221211221122111212211211222221212111211111222111112212212112221212111112212211222112211221211212222122222211222221211122111211122212111111121121112121112111112111212222212111112222111112122122112122122212121212112222221221122221221211222212112222112211212122121221121122221112111212222122222122122111211212221221112122222212122221222221222111122112212211222112112122211211111122112221122121211122121212212121111121222121222212221111111121121212222221222111121221111121221222222122121222121221221222211112111111222221122121121111122212121122222111212222222122211122221121222112212121222212121112221221111112112112112121212221222212212121111121112121111222122212221122122221222221212222221221112221221211221221212211112112211212112212122122211111112122111212211121111211122221212112112121122122221222222221111221112211112221222211222211111122111111212112221111211211221112111112111222112212212121121222222111211111221122221121122211122221211121212112121122121211211112211221211211111222211221121211222222121221221212112222221221221121121211212212121122121112121221222122122112212121112121222221212221211211222212222111211121112221111222122112121211121211222222221212212221211212212221122221211212211211111111121211122121112221111212121111222111211211222111121212212121122221121211221211112111222112112121221112111222112121111112222111112212212222111222212212211222211212121211112212112221112212111112221211122122122211212112211111111211111212212221121112121221121122111212222221221212211111222212111111211121222222221121221211122221221221121212112211112111122222222212211212122112222211212211211222212212222112212211222122212122121222121211221221212211121221122222212112112112221212121222122222122222221122112222121212222221211111121112112111122122221221111211111111112221222212221222122121122222121222221111111111211111122222122121122211212212211121221112121212121221221222211111111212111111122222121121122121211221121212122112211211121122112122222121222121212221211211112112112122121211211222111211212112122121111211122122222211221121222212211121212121222111121121111122122122111112222111112112121122211222212221122222121212222221222112122212121211112111221222221111112221121112211112121121112121211212221211212111212112221112212211122221112221112212221111221222221221212222122111212222212122211221111111211121112222122122211212112222121121221122212121222121222112112122122212211112212112212112222212212121222211222112122211112112221121212211122211211112222112211112112112221211122111212211111121112111222221211121212122221121221111112222211211212111112212222211112222222222111222211122212121112112222121112122111211211122221221111222222222211222121122211222122211222212222221111111121122221212212112121122122212221111121112211111211211122122221112112121211121121211122222221221111211111111211111122121212112222221212211112112211211221221121221222221212111121211111112211221112221112121211221111212222211212212111211211111212111122121212112111122122122221222222121222121112222211122122221212221121211111221112221222122112111212111121112121221221111222112122222221212221222221111212112221212111221221122121222121212211121111111111121222121111212222121122221222111221121121121111212221222112222211111221221222212121111222221222222211111122222121122122111111111111221122212111112111121211211111212122222212222111212221112122222222211221111211222112222112221222122212111211222122222222212121121112221221222222121112211121222212112222221221112111112212121111212221211111221111212122111221121122212212221111121222111121121121112221222211122221121212122111222122211112111121121111112212122221121111112111112111122122111212121121112121112222111222211121222221221111121222111122112222112211112111121211212122121221111211122112121221211111221121212221112222111212112122212211212111222112211111111111211212121211122212112211122112222221111112121212112112111211211121111121121122122221112111212212222122212222212212212122222122111221111121222121212211222221222112211221112212121112111111122112221222222212211221212122121211111212111212112121221212211121221112112211111212211111211211212212221212111211212121212111121212221121121212111121222211112212121111212211211122222111121122122111112111222212212222221221212122212212111211222211211211122211111112221122111221121112112112222121112221212222112121211112222111212121211211222211111221212122111211111121221221222122111111221121112212211211212221212221121222112122122111111122212122121222112111122221122212211222222112111222112111121221221121211211122211111211121222212112112222221211122122212112211111122112121112111122212111122112112111111111111122112221211121211121112122211112212121222111222122121112122222112112112121121112122112221212121221222212222112212121222211211211122211122222221211111112122112121212221112112221212222111121112222111221112111112111221111122211211212211122222121122122211221211122122212222222222221221222122211222112122122211221211122221112111121222121222212111111122211221112121111112221222121121111122111121122122211212222112122222111111111122112111211221222211121211112211112111211212122212112121112121211122111122121122112222111112212122112212221211221121211121211211121212221211211111112122121212211221221212222121211112221122121111221221121221121111221221211222111121221222121122121112112222212212221221211212221211111111111222211111211112112121222211222122221121112221211222221122112112112122211122112111112222211111112112211212221212122111211221111221111121211212122122122122111111222221222112222112211112221221112122221211221211122122122221221122121112121121122222221221211121221222111111112211212121212221121122112222221212111121122112221212112222222221212112222222211221112221222112222122212222112212121221212222211112111112112221112121122122122212211221121121112211222212211112222212212112121212221222211212122112111122221122122222212211222211121112121112122121211111112221122222221212112222112211122222222221111122222121211222212221211121121122122112121122122112121211111121121222122121221121221121112212122222212122211112122112222221221211211212212121222221112212111212222121122211111121112112122121122121111122122122121111111211111112222221211222211111122111221121121112122112211222212122121211221122112221221112222212111212111212121122212122111112221122212121121121211222111221112212111111111221221212121222221222222112221221122121111212122211222112222111111111222222212111212221122112122212212211222112122221112222111112211222122121211122221111222112222211221111112121111111111221212221122212221111211212122211221112122222212211222222111112212211211212211212211112221212212211111121221212122211221121112212212122211212121222112122222122121212121111222222112111112121112111222212122121112221121222222212222222121111211111212211111121221221222211211111122121112222121122122222221212212212211121122212211221121121212222112111112211211212211221121121221221211222122111122111121112222212111121111111122212121112212111111122111121212122222211221212212211212122122122121121122112212112112222122121222111121112112222122222111211111222222221211112111212111122112122212211121222212121111221112122122222111111211211211111121122222111222221122121112221112211212111212111221121222122122221122212221112121112112222111221221221221121122212111222112112222221221121121121112112222122222222111121122111211111211211222112211211211121112111211222211121221121111112121121222122211211121112111121221121221211221111222221112222111222111212122112221222211212111111212111122222122112211222121121112112121211221211222211212211121212211212221122222122112111222122221122112222212122112111211122122121112121122212212112122122121121221221211112222221212112121111221112121222211211122222222211211222121211211212211121221211212111212212122211221212222221111211211112111122212211222121121122211111221121212222222212122222212222111111111111212111212212122211212222211211222122211121121221221112221222221222121112111222221212211121221221122212122122112111221221212212122122221121221211122212222112211122121221122222212112222212211122122222221222112222122112212222221111121222122112112211122121211212222121121122212122212212221212111221212111221211212221211111211221212111211221211122222111212212212122112112122121111112211122122121111111121212111212211112222211112221221211212121222222121221222222121221211222122112212111112211122222111111221221212221212212112121122212111211112112221111121211211122112221222211212211222211221221122121222222222221111121112122111221212212111122212212111121212222112122221111121111111212221121121212211121111222212111121211212111222211222211111121221212212112122112121222211112111221112221121111121222121111122122122212222222111222112121222211111212212112121111222222221122122112221221212221211122122212212111212121212221111112221122112112221221222211211111212111211121111122121122111222111221122121212222111211221112122112112211212112112212112222221121212112211222121121211121212112222222112212121222211212222212212212221211221122221112211112112212211211111111111211112112212112221212212121111222111211122211221111121112111122111121122121221111211221121111222111111222122112121112122212121212111221112221112222221221121122221111221211222122111112121121222221112121212212122221221121211211112211222221221111111222211221111222121112121211122121212211222221212211212211111121111121112111222122121112212112212112212111111221212111221211122111121211122222122122212112112212212221221212222122122112112211111122222112111211112212222222111111211121212221221222221212111222211121222222121212122222111211111212121212222211211212222212121111122121212112121222212212121221112212112211122111222112121121221122212122222111121111121211122212222221212212112211211122112112222112112222111211211222211121112211221221121221111212212212211222122112222122211211222211122121122111222221111212211122211221212121211222222221222212122121222112112122122122212121111212111212122111212121111221222111111121122121112122121211212122212211121211121112111122111212211121121112121211211212111111112222221122111221111221222211122222222221122121111211212212112221112222122111111121211221211212122112111211212112112212121112111121212112222212222221122212122121111222211122111211212112211222122212111211112212112221111222122121111112121221222111221212111121221221212211122111221212222222222121121221122212212111111222122222221112112111212111222112121211121222111122221112222221111111112212111112112221121211112122111221212211212112212221211221112121122222112221212111211122221222212212212112222222112211111122221121122222112111121221221211122111222211121122112112111111122222221121212121222211222212221212122121211112112111121122221111222222211111221211222111221111211211222222122122122121211122222122121112121212111221212111112112121222212212222111211212211211221112212222222221222211111211222222112112121111112212122211121112221122222211222221111212121112221111212122121221212211211211222212121221112222212222221112212222112111211222212212212122122122211121121111221221122121222212112222222222122221111221111122122112211211111122212221111211211111122111122112211111112221122211211211221212222121111111122221121112211112212212222222211222222212111222122221222212212212222212112111211112212221111121212121111221111221211212221211222121212112112121221222222222121211122112221222112222122111212111212121221122122221112122212211112221221111222112111222111111221122221222211211111121222211221121111122121111221122221211211111111112112212211211222211122221221112111222111112111122221122122122211222122121221121121222221111221111122121112121121112221221121112122212221221221222211112221112122111112121221112112121221212121122112122112222212211112212221222122111111221211211122112221122212112112122122212121222212212221111122211212112112212122112212211211112212222122212122221121222211222211121221121111122121212111112121222211111121212111222221222111121111212222212221121211121121212212221222211221121122211222112111122121111121221112222122222212222222221111212221211121121121221111211111112222122211221111222112211212122122121111212222222112122112211222211121112112222221222111211221211122222122211111111121212221112212112111222211212122121221121122112122212212212211212221112221112211212222211211122222212211222122212111212112221121221221111121111111211112111112112222112211212211111212212111121221212212122122112221221121221111211121111121122112221222221222111111222111222111221122121222221122122111222121212212211221122221222112112221112211211212222122111111222221212221212212221121212212112122121122211111221212211212211111121221121221111122122112122122111212211221112211211122211222112121111121111121211121121121111212221212121211212122112111122221111112121122222122221212121121211211121222221211221212211222111212121221222121222222122121121221211121111212221212122222221121221121122212111121121221111122121121111211222122222122211122112222112212122211111111222111112221122221121211221212121112221221122222121122211221111211122211221121111122111211121122221122212111111111211211222122122221212222121221222222112111222211112212122111112212221211212121121222121121111112112212212222222111121211222212212222122212122121112111112221222221212211112121211121222212121111122122211212121221111122211221221111111111221111212121212212212212222121122121212112112221221212111212111222222112121212112121112111212121112212211112111221111221111222222122112112212111212111211222111221122212211211211122211122111212122222212111121221112111222222111122111222221222122111122221111122221222121122111221121122112212211112222211222211121112222221121221211211221122111112111222111212222211211221111122211221222121211121211122221121211221221212212222121221112112211221111122111212121121112222111112121111222121121121111211222111211111222211211211112222112121211112112221221211222221121112111112111212212212211212212211221212111212212222221222221111222122112222222112121212121121112212221121121222212221122221121221212211222111112212112212121122121222111112122121212112112221122212122111122112122212111221111121112122221212121121212211211111212121211111212111111211212221122111212221211211122122121222112111212122212122122122111221211111112122111121222122112121112212112122221121112211212212121222121222222111211221221111211221122222222211122211121111221122212121222122111111221111111222221221112112212211221221222211121212211222211122112122212222111121121212111211211221122111212222111222221112221211211111222121212111212112221122221122222221222121212111111212212112122111121122122122221121211211111111112211212122221211122221211122222212221221122221111111122222112122111212211212121112111112122112112111122112111121111112111112111112111211222212112111121221211211111212122212122212222121211121221222122212121211212222112222122211122122212121221112222121221222122222221212112122221112212222121111212222212211121121222111222212221122122221222111212112211211222111122222122222212112211212212111212112221111212222122222111222111111222112221122111111221121111112221211222111121111122121211112211222121222112112112121111111121221212122122211211221111121121121121122121112222112211221112212112222122111221221211112212111211121222112222211212121122111211222221121111122222121221212122222211122112122212121111221111112211112222221211112122211222111211222122211112222212211122122221212112122112212221211221212112221221121212212212211222121221121121121222212121121212111212222111221212222222111221121122211211121121221222121221121122112212112111112222112212121121121211211221222112111212111222122211112221222121222222221112111222212221122212222222222222111212122112121122111211111221121211221221121111212222122222221211111221121221212122111221211211211112222112222211211111222122122121222111221221222221211211211211112221112212222221212221121111121221212112222211212121112122222222221122211121222111221121221221211221121122221211112221211211222112112211111112221221121122121212221222211121122111122122111122221122112111211111212211222122212222122121112111122221221212212221221222212121111222222121112211112121221222112221111111222211212212211211221211222121111222211122222112221122111211212112112112122111122211111211211122211211122112211211121122122221211112122221122111122222212121222122121121122222222211121112221221111111212212111111222112212122112212221221221221122121122112121121211112112221221111112212211212211122212221222122112122121211222112121112212222221122211112112222212111222121121221121221222122122221121121122221221212212121111212112122112211212122211121221221212212221111121221121212212212221211221112121212121212121112122211212121121222221122221221222212112221211122222122112111222121111112111112211112111212112211121212212221112112211111221221222221112222211212222211121121211121211122122111222112122222111111111121111111122221111122122211121211221121222212111221121222122211112121121212121112211221211112122111222221111221112222211212212122112212121212122112121211121111111121121121211211222122121122211221111122212221112211111211222111211122212221212122211212121211222212212122212121222222121121212112221221111121222221121111221111222211121112112221122121211221122121112111112112221121112211211112121211222212122211222112211222221222121221121221112111121222121122221112111221212122221121212222121211122211112212221111222111212112121111211212122122221211112121121222111111212122121121211212221221122122212212111112111111121121222211112211211121121211121111211222221222222211212111211211221212221122111221211221212212221122221111211211112211111211121111221212111122222221111221121212111222122121211122222121111211121122111121221221211112221121121121222112212111221222212222212211221221121121211222212222121221221121212111121112211111122212121111111212221121112221211122111211221112121212211211121212112121121112112122222212121121221122222111112222212111222211112121222122122121112111121121222111112222122222222112212121121111222212212122122212212221111211121112121222121121212111112122221121111221122121222211211111222211122121211122111121112212212221122121121211211111121222122221222122211212212221212111112111222122121222212111222111211111112122111212112112211121122221112211122221112222212212122112211112111111111211212222211212221112122211111212222112222121221112122121111121212212211121211111212221112211212111121211122121122212221111121122122221221112122122112221211211221211121221111221211111212212112221212222121211112111221122122222112121122212222211211111221122221212111221122121222122221212112211112212111112211112122111221121222221222122112222211222211112211112221112222111122112212222211222212212111121112121222212112111112221112121222112221211121211111121111211112212121212221221221112111212222112111112112111211111111122112222222222111222212122211221212222212212221121221221121111211122222112222121222121111221111222112212211211112222221221222122112212211221112221112122122211222212111211222221111212212211121211111222222112222122211121221112121111111211211121121211121212111211121112211112211121211121112112221211221211122222122212211111211121111122212212121111122211211122222121122222121211212121221222121222112222122222212122211221121211121121111121211112221212222122112121222121112122212121221211211221211121112121122122111222212222211112111221212122121111212212122121221121222212211221221121212212212121212221122212112221121111221122221121211212221112221212112222112212222221211111212211221112222221222221212221121112112122212111221121122121222121111112122222111121111212111112222222212121211121212111211212111212212112221212111222111222221222111222222111112112112212222122121221222121112121221121212112221122211121121212122211221112221121121221112111211212221212221112212121211211112121212112222122212122221212122122121122211211211211222211211111122222222221221222122211222122211221211211222221212111211122222111121112112121121111121221121222122222121212211212122122211122111211122222222211122112112112212111111121221222221122212121211121212122222222121221212111122112112211221111111112211121122212221112221112122122211121112112221121222122121211112211122221222111221222212121222211111222221111112212111212221221122222111212211222211111111112121112121212211111122222111122122221111221122221111111112212111211221221211111121111112222211221111112121221222122121212212222111211111111122121111212112211112222112212121112222122111222222211211112112112122111112122122112111111112221211221212111122221122112112211122212112111221222211212111211221122222221221112122221211112211222112222111112222211221222212211112222221112222211222121111122121221211211112222212222112222222121112122221222121112111111112112211112122212112121211112211111112122212121121122221112112221222122211121212121122121122121212212112121112221112122121212221222122222212121212112222212112211222122122112211211122221122121122111112112222122111111121112111112221211112221121111112212112122111212212212211122212221222111221112212122122121112122212121221222111211112211211122111222222112211111121112121221222212221121211112111222211111112222121222112211221121212111121112122121222212211211222222221212112121211211212211111111221221122122112112211222211111122222211222221212212221222212211121122121212112121221122121111221212211112121121222222122111222211212121222221212111111122111222221211121121111221122112222211222112211222222112122121222222211212211221122112211222111122212112222112111111122121221221112211211111211121121122111111212111222212221211122211121121111112112112112212211222212121211211222121111122121211211111212121221112121212122122111111211212112212121222211211122211212221222211122222112221212222222211112122221122212222222212112111122211222212121121212221221121111212112222211221121112221121112121211221122112212122121211112221112221122212211122122222121122212222211212122212111212122212211121221121211111221222222121221121212212212211222121221222212112122112111111112121121221221112121122121121121221112112212211212111121111111211212121221212221112222121222222222221221221222222222211112111111211121122211221112121221212222212212212112211111221122211211121212221121112222121111121122221122222222112212222222222121122221121222111211112221121222111221121221112212122122111122111211211211112122212221221212112222212111111211122221221122111222221222221221111211221211112221211112121221222222112211111211121121222122121112111212221221212212112211111121112222212112221211112222122122211222221112221222212212221121221212112212122211212122221122221122121122112211122222112111212122122212111222122221221112211121112212221111211111121121221111112222221212122222121212121112222112221221221121211122211211112122121112221211221221111111112112111122222111121121222121121211111222222112221211122221122122221111122111221122211111221221211112222222222222222111122212111121122122112112212222211112121122221211212211211112122111212212212111222211221122212112112212222211211122122212212122222122211222121121121112111221212212222221121121111221112221121121111221122221121121112212112212221222221222112222212211112111121112222211221111122222211122222112121121211222211221221112212212121121121221212211121212122121122111221222111211222212212221112112111121221111122222211112212112122212122221122112122212122111111211221111111221211121221122112111212211112221121112122222212112112222111212121112121211121111211212222121221121221121121212121222212221122111211222121111112112122212111221212221111122122111121112111211121221121121211221222112212211121121221121122112222122112122122112222122212221211211111112112121221221222222121112212112121222111122221112211211222111222212211222111221222121221221212121212211221111212211111211112112111212211112121122111111111212221111122222111121111111121111221211112112121221112211212112212122112212211112111112111212211121212212121121121112221112222112221112222212222112221211122122111221112211111112111212111121112222122222221112211221211112121111111211112121221211112112221221221112111111212111222112111111111222112222221121111222111122221121122111122111112211122122222212222111211222112211221222212111121121111212112111222222111121211112222121211112212212122122112111212221212111112222222222211222111122212121222212121121222211112221211222122112111212222212211212211111211111121122221112212111122211111121221112112212212121211121112112222221112211222111222112212222122111112111222221122112222212122212221212211112221211211212222122111222122222111122221122122211212121111222221112121121212211221212121211112112121211122111222122111222211221212121221212121111112112112121222212222121122122122111122222122212111212221122222121212122121211111221222221211111222112211212221222122112221211112211221122111222222212211111212222212212111212212111122221111121111111222122212112121221122122221211221222222121211121121111121212221111121121222122121122211212212221211221121221112212211111211121222222121212212111122111222122111211121222122221122121122111112111211211221221211112221222111222112221122222111222221111221122222221212222111211111121122121112212212112122221121222211222222211121212222222112222111111221212112121121211221221112211122112211221122221212122122221121122122212112222221122221211111212121112221111221211211121111221112112111211111222211121121222222212212221111221121222212221212111121111121221221221222212211222211221211212111111111212111222221221111122222122112112221222122111112112212211121121222221221111112112212122111112212211222111112122122122121122221121111222212122212122121122212122212222212122112212221112221112221121211221121221212122122221111211121122112112222121111122121221222111221111122221121122122212222121211222212212112122112222112222122111221212222221212111222221211122221112122221112222121112221112221112121212122111112212222211212212221112121221121212122221121211112112212211222212212112111221211121221212111112111111111222212121122212222111111212112121112112112221211222222121211212121221122222111112122122112222121111222111122122211111111212122122121121221222212222222111112112222122111112111121111222211212121221121122222121121211212221221122221121122122112221111112122211222122211221212211121222222122221212122212222112222212122112111122112222121212112122112112221221121121212221111212212111221221111212121112111222112121122121211112121112211121211112122222211112222211222211111212211122222122212122221212112211212122121111122112121112221122112221121121111211122122122211121211121221212111221121111212222212122122222221221112211112222112122212121112222112222211112111112122112211111121212222122111211112222121221121121121111111212221222212112122121121112212222222221112211222111222221112211222121111222211211112111221112211121112122211222222212222121122122212111121211212222112222121111111111112222212122121111122122121122111211211221222211112221211221221111121221111222212212221212112122222112111122112112122212221211121122221211222222122221112112221122212112121121112121212211211221111211222211112222121212121112211222111221121112111212211211222112122111222111112211111211221221222221222212112122122221211112111221221122211221121211221121112222221212112212212221112112221222212112221212121222222112111221122112211222211111222211221222112111211122121212221111221112211111212111121212211222212121211212212211121111222221222112221111111222111122121211221221212221222211121122211111212222222121112121121112222222122122112222211121222112112211212222111222112211221122112211121212222211211221111112211111212222211112112211122222222221122121111121121121122122211112111221112211222112212221211222221221211221212121121122221221112211122222111112211122111112212111221121122122221122112122211112222122222121122212111122122221211211112122121121221121112212222111122221211212211211111212122112211222111222221121112212121221221122222121211211212222222111121111111211211222111221121121211212212221222112111222112121122221121121121222121112111222122122112112112112221221222121221122122211221122221111122212111222221222112122122221111211121122122111221121122111121221211222222221221121212122122112112211221211221112112221111222211121222111212212112221221222212212121122212122221111212112122122122112222222211122121111211112122121111111121211112221222112211221112211222122122221111222112122112122111121221222121112112221221211212122112222121221211212121112211221221111221122221111122112212211122122212121222122211122222212111111222111212222111212211212222122212122222212221221121121112121111221221121111211121212112221121111121111212121211222111222112222222212122111221222112221122222121211122121221111222122211222111212212222121112112111221112221122211212122221111221211112122122122222221221221222221221122221112111212121111112212112112221111211121111112122212211122111221111112221221112112111212112221222122112212121122211211212212112211211111222222122222211111211111212212211211222211221121211212121211121222121112221211222121221212221211122122211221212221212212121122112121121112121212221222211211221222121212112112121222211121112121222212212121112212212211122112122211222222221221122211122212122221212212121112121111222121222122112112122211211121222221222121111221211221222221222121222111121211221122121111211121221111212221211211122212111122221121112212211112111111221112121112121112211111221211222111211112121121122111122212121211111111211122121222111122211211112111112121112212122221221221112212212211121121121222121112221122222121111221212112212221222112211221111122222122212111212212222212211112122212222111112121121111222111211112211111221121121221211221221122122211112121111121121222222222211122121111112222112212112112222221111121221211122212111221221122221211221222112111222222121222112111121111211222122221112222121221121112122222112111121212211112121122122212112111221221221221222122211222221112222112112211212121221211221111221222221211112122222112211211222221121212221112112211222111121221212211111121212112212111111122111112221121122212222212121221212221111122212211212211212112212221121121221112212222122111112211221122121212212122212222122121122111211112111212111222122221222221212212122212212121222212222211112111212111112222212211112121222221222221211212111211212112211121111212111212212221222212211121211111212221111211122211212111221111211112222222112122212112212111211211121121122121111121122222212212212222122121122212111111212211211122122211121112211212212212112212121111111112222121221121112111221222111221111212222121222212122211222122112121212212121221221211211122221112222222211222121212222221211122121222222221212121111212212211212211211112222212121121112122121212121221212122121111211221121111122111212221112122212222111121221222122122212112121112221212112122111111111212211222222122121122211111121212111112211121122211112122122111121222212111212121122211221121121211122111111211211222122221122211112111121121121122222122212221222122121122212211111222122122221112122122121222111122212221212222121222212122212211221212112112211111222211212211122221222112212221212212211111121112112221122211211211211112111221222121222122112221221212111112222121222211221222121121221121112221121211221221212221221211112222111121212222222111111111222121121211111111111111122112211111212112222221221222121111111222112221221111122112121211122221121222122111121121121112121122211222111211122221222222221211122222222121211212112111221221212221122122122121212121221122122121212212211121112222221211122221111222112112111222222121121121121212211112211222211211122212112212222221222122111212211112211112221121111212212211221111121112112211122212222121221222221122211212212112111212111121222111222221222121111211121111121212222122211111211122212212111222112212122122221222222222212222211221212221121121221121211221111111121121211212112211222211111111221111112222222211221222122212121222211211211111121221221222212221211122222212121122221112212122121221222221122112221211111212112122221222211111222121112111212212211221211211121112121112212121111211122122212122112121121211221111121112122211122222212122212122111211222222122122122112122222212222222222112222121112222222212121221211122121111122112212121222211121122221122122122121221222212122212222212111211212122221222221221122112112111121111122112121122212121211111222122112122212111111112211121212222221121222111111121222111121222212222211222112211122122212111212121221121122121112211222122122112222221211212122212222211121221122221122212211211111111112112112111212111122222111122121211212212111221111211111122212112211211122122222222211111111212212211112222222121212122111211121111222121222112222122112221112122222121112112122111222112211112112122221121221112122111121222112111111222211212122211121122211112221111111111122112121111122212221212212222112122222222121212111122221122111111111221222211222221122111111221111122212112212211122112122211221221121111112212112121111222122212121112222222111222121122122111212112211221122112212221212121112112121211222222221112112111212121211221221112211211222121221222121211211212222212111121211222122221121111112221212212212221121221122111222221122121111212222221112111212122121112122111112211111222121222212121112221211212122111211221221111222211111112111111212212122212112112222211121112122122212212211221112211112121221222221211121211212212222221212111212221222122211122111122212121112212111121221112112122111211111221122211112122111212122212221122212221222111122121122121211212121121112121212111212222222222122222222211211221222112121111121122122121112111122122122112121221112221211212222211212222212112121111111112212222111222111111221222212112221122121211222122122111212211211122222121112121221212221112112221112122221211112121111121111122122222212221211111112112122211212121111212212211221121121212111112222222212211211211211121221121121112222211112121122112212112122121121111212122121211111212112112121122112212211111122111121112111111221222221112221211222211112111211221112222111211222221222222122211112212211221112221111222122112111122121111212111222211112112122122221122212111121211122222111121212222212222211222121221112122121222111112122211212222222111222111222112121121221222212221211122212221222222221211122121122222112221222221111112211122111121121221221211121222211111111112221112111211121212212112112122211121122211111122112212222112121112122122122111112111122211212221211111211222212212211222121112122221122221221111121211222211211221212211112121122112112122222222111121121221211112111121221212121111121111121121111122122221222112121122221222222121121112222111122222112112122121211121212211112222221221212121112122122122221212121122222121122211211212112112211111211122111121211222212122222121122112212112121222121121122112212121121211211212112221122211212121222222212122211211211122111121121111122221212122221121122122111111222221122212111212111121221112121211111111112222222111222122221122111211111121122211122111112112222211111121212222212212112121111112111221112212212121122212211121211221222211221212222122221222112112111111111121222221111122121222112212212111212121211122111211112121212212212211222222211211111212212111122212211211211112211112222222212112111121111222221112111111212221112122212121221222111111121112221122211121212111211121221211112112121222112212121121221112222211212122212122121112211212122222222222221121221121212122122122122121112211122121122112211111121221211211112122111222111111211111112212211121112212121122111112212212212111222221112222122221121122212122112122122212112122221121211211212212222112222222112221211112221221212112112122111212121211111122212212121112221121111211212212212121222111122221112111221221121122222221122211211221222121212112212222111122111212121111111212122221212212211121212121212111112121212111211111121122221221112221122211211221222111111222112112211122122111111111122111211111211121211122211122221221121122122212222122222211222222112121112212212112121211112212221121211221111112211112121121222122212212211111121122111212211221222111111111222121221221122211212112212221222112111221122111111212211221121112211112221112111112222122112122122211211212211211112221121221221222222111121122121122221212212112211122111122111122111111121112212221222221221121121121111221112121212221212222121122212122211121121221121222122221212112121212112111122211121112221122222121212111221121112111111221111121212121221111212211121122212222112222112122121111211222212221211211112111112211121122122112122112212121122122112211211122222112121221111211212211212112221122222222222111111211221222221122122222221221121211211222222122222211112111121111221111212122122112111221121222222121212121112221222121122122212222122221122212211222112122112221122112111111121222112112211122212112112121221221112111122221222111212121111222121112122212211112122222211122111212121221222212222112121111211112122221221112212112111121212112111112221212221212222211111221222112121122212121211121212211122221122112222121211111111212211112211111222222222212112112121121111112222222112211222121112121212122222212112121211121112221122112211212222122121212221222221112111111221112212122221222222122211221122111222211111111122122222122122122121211222211111112211221111211122112122122212121222121122222122221211122121111111222122121122211121111212211122112212111111221122112111212112122221212121111221211122211122112221211211212111221221221111212122221222111111111112212122212122121122121221121122111222211212112112221211111222121112112211122121212111212211221221212212121221122221121212211121212111122221212222121221122211221212222221211222112221112122221111211212212121221111222211111211121122222221212222222121222112221222221221212121211121212222111212221121222222221212222221212111122112122112122212222211111222121111122222212112111221111212212112211221112121222111121221111222211112221122221112112122121122212212121111222222221111112221221111112212212122121221211121212212121122211211111111211112222222222112112221111212122212112122212122122111122211221121111222121121122211211121211221111221221222221221111222111211212122221111112111222212112222212121121121111211212221211121122121222122121221112112212122111211122122221221112212121112222211212121121212121211221211221221211121122212111112112212111222222112221112221222211211212221111121112122211221112211212122111111122121121222221111211222211122121112122122111122212221112221111221112211222111121212212111121121222221212212211112122122122111222211221222112122211121112111122221121122221122112212222211111221111211221111112121222211112112122212121112111212222221122212112112121222222122221121111222212222211121122122112211111111121122221221221222222112222111212122122212121121222211121122212112221111212111112122122221122222221212222211221221211222122221122122111221222121112212122121121211212111111212112121112222222112122122111122112211211211222212111221121211221111211222111222221122112211212121121212222121211112212221111222121222212222221111121221222111122112121222121212111221122122212112222121122122222111222222222212112221221212112121221111212121121211212221111121222112222121112112212122211111221222121122212221211121112112211111212122221122112112111222121121221111221111111121111111122111221212212111222112111212211112112111121111222111212112212211212211112211111222111211222122121112212112121212111212121212222111111212111121211112222221112212221212212221121121122211222122211221212212211111221222212121121121212212121112121122221121212122111112221112121122221111111211211122112222111212112121112112111222121112212212122212211222222122222112212221211111211112221112211221222211212221221221121212221222212122111112222122122111121221221112212121112122211122112222122111222222221222112112111122122112111212121121112212212121222111211111121112122211122222222121221111111111121111121212221122111121212211111121112212211212112211211212122222121211212111221221222112121111121222111221112122121122222212212122212211111222111222212222111222211221112222221121111222212111121212112122222221211121212221121111221111222121211112112211211122112122222121211221111222221121211211211212222221211121222121112112221212221122121221211221111222122122112212112112122222122212211211121121222122122112211211221121111111222111222121121222112121121222122121222222111112112221121112121111222212211122211222112111221222122111221121112211221112122112111222212212121112222122221122112222111111112221221221121111212222211111111212221121122211111112122112221121112111211221211112122111222122212112121112122221112111222222221211221221112121121112121221121122121121112211112122111111211222211221121222122122222211222211122222122212221121221212221112221221211121222212121211221222222122111111121121211112122211111212121122221221112111111112112221222212222212111121221122112122221122211211212112212122111111111211222121112212122221221121122221211211211112112211212111211121221112212122122111211122222222111212221211221122111121112212212212112211211222121121111122221221212221211221222111211211212222211112121112212212112121112122211112122212122221121212122212111221222221122212112221222212212211121112211121122121122212122122122121212121222121122122211221212122122222212112122222211112221221211121121221212212112211212112111212121211212212111122121222122212111211111222111112121111212122122211221112212122221121222211112112221211121122111111222112211222111222121212212222211211121221222221122112112211112212112111221112222211212222221112222111122122112121212211122212122122112112212111121211222221222112211211211111121121222111112112121211221121122222212212221121111111222112211112122112121121122122221121111211211211122112111111212122222222211222112222121222122221111121212111222112222222112211112111112112212112111121111112121121211121222122212212112221122121111212211211112211121122221222122222211222212212112212122221112122111112122211221112211121211111121122211121212112211111112121222122211112122222211212212121222121212211112221212212112212112212212211122121122121222212221222212112211211121211111212221222211221222122112211222211221222122222121211121222222211111112212212112222121221122211212221122122122221212112211111212122112121222221221222112121212222112122212121121222121112121221111112212122122222112221222212222111121111122221211122122212111211211212222222121222221121211111212111121212212222212112222222221212122221222122122112221222112211212221221112211122122212211111221121121211112112121222122111122122221111212222222222111212212121121121122121211111221122122222221112222212221111122121112121111111221112221212121112121121111121221211121222112211121122111122211221111212121122211122221121222122112211111211221121112122122121121122211212122211221121221121122221112121121221111111211112221122111121122122112121211112112222121221121112221222121122212212112211111112221112122221211112211122212112211121112121111122221221221122112121112111111112211121111211111222122121111121222222221221122211121121212122221122221111212121112212212122222121212211122212122112122112211121122112212221122112211212212222211212121112122221221121112112122111212122221212111121111212122112121112221222111111122121221121211111222122111211212212212112122121222211121221112122222221221121222111121212112222211211212222121222222122111221112111212222111111211221112212211222121211211221222212222122112122122121121221121211212112211121111112211221211222221121212212222122121222221212111222122121212211112221121111112221221212221211222211222211122122122222221221221122111222121212221111121121211222221112112222222212211212212211212221111121212221221222121121222122211112212122112221111221112222211211212211222111222122121212111221122222121122111221211112121122121211111112112212122121222222222121121212122211222122112122112112112211111121221211121112212212111212211212112111121112211221121221111212121212212111122222221212212121211221112211111122121212112122112121112221112222112222212112121122112112112111121211221122111121112211212121111212112222211222211212212211212222211111112111222112121122221111112221212121121212112212221111121111112112122211222211222212211212211221122112111111121112222122221112212212212221122121111122111212211211112122221111222212121112212121112112221111111222121112111111111112221221211111121121221221222211211122122221211212122212111122122212122221122111212111212111111112121222222212111211111111221212121222212211221112121211221122222211112111221112122111222122111121122112222121222121221112112112222111221221211221112121112212212212122212211222212111112121221122222112222112111222111122112221211122112122111212111112112122112121212121221111212121221112222121212121121212112122211221222222221222212111222221122111122222212122221122212122211121121221111222222121211212222221111221122221222122211211212111122212221222212122222212111211212112212121212112112112212211111121121211221111212222122221112111112212121221122222222122111111111121211122222121221222221211122221212212111112121221121111221121211211211112221112112122222212222212112121122212221122121121122111111121121211212222122121111212222112112211222221122222222111112212221211221111211122112221212122222221221221221221121212122112112111111211212121221112111121122211121221122112221122112222121211221111212221111112112212112122221112122222112221111111121221121112221112111121221211122121122121212211111121222212122111122111122211212112221112122121212212212222221121121212222111111112111121221112112121211222222112222222121122121122211212111111121122111111211121222212222211121111221121211212111211221121211121121211221121112222112221222111211112112122211211212122222222211122112122211212112221212212121122111222212211112122112122111211221121112111212221122221222222221111222111221211212112211221221222112111112121111111121211121122211111212221111111221112222222122111222122222212211221112111112222111111121222122112121222212121122221221121221121112221211212222212111121211122121212221121221222221111211211121121221112111112112111112211122221212211122121212121111122121121112222122211221111111121211222122112121121221222212121222122111211121121121121222211112221121122221212211121111122111211211111212111111211221221211211211211222122112121212122222221111112122211111122211221222212111221212212111121122111122212212211122221111121222222122222111111212121112221122111222112212122211211122211222222221211222122221222122222112121211121121111222212221211121111121121112111211222112111122212211212122121211222211112122222111122121222212212121211121111212222211112112112122121121112221211221221221111212222122211121222111111212211221112122221222122221121211122211121221211112222221111112121222221212112112121121212121211221221122122211121211212122222221211111112112222121211121211222211222212211222111222212212211111112122112211111211211212211111221112111212121112112121212212112222212112121122122111211221121212211221122222222211111121122211111221212221121212112211211222111221122211122222111221122122121212122212122122111212122121211221211111112122212221212111122112112122211121212211211122212121112112212211222221222121211112122221112121122121211212112221121112111221111122121111112111211221221222111222222222212222221112121121221122212121211112122112221122112122111212111221112112222111221222122222222221121121212122212112122112221212111212212112122212222222222112112111222121212112112121222212211211221222221121122212121111121212111122121211112221211211222122211111212221121221111212221112112221222111222112121121122212112222212112211222122112111121222122212122211111122112112222222221221112221112212221122112122211212111212211112122221211212221121211122111121121212112221122122121122122212122222221221121221112112211112112122121121121211211221112121112211211122112211112221211212121221111212112212112222122222211111121211121222222221212211122211211222212222222212122112221121112112212112222121221111221111111122122111212111221112221112111222112112122212212111122221222111112111222111121121111121222111222121222212111222121222222221222121222122121111221122221111121112222222112121222222112111122122222112221221121111121212211212212121121121221211221212111212222212111121112221212121212122211111111211122222121112212222221112222122212212112221221221212212212211121121112221221111221222221211121121111212112112121211221111222222111221111121111122122112212112211112212212112121121121221211111111222211222212211112222112121112111112112111211222112222221112222122221211121121212212122221112221222222211222212212121122211211212211112221221121212121212221121112211112122212122122211122212211221212212212112212111122221221222222122211112221222222111221222121112121211112111212111111222221112211121112121212112121222222212111222222122122211121222121211211122111112212112112222211112122212211221111122121211221111222221112221122112221111212211222212221211221212212221122212111122121112112121112212211121221211222221211121221211222121122212222111111112112221122112121111121122222122122112211122222122211121111122112111112112212112121121211121221121121121222111111221221212211222221121212122122212111221111212221222221211222222221111112111122212111121222212111212211211221221122222122121222111211122222111211211222112212121211211221222221212121111111212211111122221122212212112221121111222121221211112211221221211112111212222112221221121121112222221221111222111211122112221122221221122122222211122212122222121122122121212121211211212211222212112221111222211112111112122221221121121212221111211211222212112122221122212111122221122111211211221111121121111122111112111211112111121211112222111112221121121211211212221111121122112112111211122222221111112122122222212122212121212111112111121112211221111111212122112121212111112222222111121122121111212112221221222121111111221112122111121212222111221212111212222222212112111121121211121221211121211212122221121222112212222121222122222111111121211122221222121122221121211121111112112111122222112111211122221112121221122121111122112211221112222111212121222112221212212222112222121222111121111221222211121122121122111111222111122221221121222222111212212121212211112212121122122121122211221122112212122121122112222211122221221111212121112111121121221221212111222111112122212121212221112221122212212111122221212211221222122211222112221221121122122112212121121121112122112112222112211222221121112212221221122112111212112112221121212222112121111121222121121112112221212221122111111221222222211121222212111222122222212121112221221212222212112111112121211122121112211211221211221211212221221212121122121221222111122112122222112121112222222222222121211111211212112122122122112222112122221221211222112121111221122111212112222212211121211111112121211121121111212222221122111211122111222212112121112112221221222122211222212222111112211221121211121121222122222222221212221122112211122221122211221211211122221212222111222122111221112212111212222122111122211211112121212121212121112111212212212221121212212212122111222222112211221112121212121221112121222211212112112222121121122222212121222222212221112211122211221221212111212121112221111111221222112222221121112121222221211111112122111211222211222221111221112112212211211111211222212112122222112221112111121211211122221112222211212222211112111211211122111122121211122221112111212221111121222212112211211212221212211212121121111121211212221112211211122122111221122112112111211221112211212111221112221121222212222112211212112111122122112112122122211222112122211211121211112221222122112222221112211212121111211212111211112122222121221221212221111221221221211212212221211211122211121121122112111121222211222111221222222112112212112112121222211221122222112122121121112222222211212121221212122212111112212221222112121122212122212212211121211112122122121222211121121222221122212212221222121121112121112211112121211212211221221121122122112121221112122112212221111212221111121122122222212212122212121211122212222212112222221211121212221111112121222122212112121222121222112121211111112211111212121222121122112212121111211112121112222211122211211121222222211222121122121222211212211112212121121212111122211222111222222111112211112122221111211212222122111221111121221221122121211122122111112212212112221112112112211112111222112222122212121222111112121221112121122122211112212111221112122211121211111121222122111121221121121121121212121121211211111121222111122112111112121121112211211222121111111121111212111112121111111112211222111112111221221221222121222111221111211221222221222111111122211122122211211221222111112211222121112221112211211112221222222112121121121211221122222111112121221122121211121221211122121222111221212122211221221122112211222122212112221212222112222211221211112211122112211121221222121121221112221121221211221211222222122211222122211121111111222221121221221212221222111212121221211212222121122211222122221112212212122212122121122111122112121111222111112112122212212112121122222222122111121212112111212222221122211112111221122222122112212221211111211212211112222112212221121211221211121112121112211211121222211211112122112211121112211211121112121111112111221121211221121212122111221122121222212121212112111221121122122111211111222211112211212112222111221121221122221112212211212222211122222112222222212122212121212111122122112122221111111211221221221121222112222221211221112221222212111112111122212221221122122122211111222122111121221121112221122211221211112211111121222222121122212111222222111111221111211211112111111211112112122211221111111212211111222221222112111111112221222221122122121112221111212211111121111121121121112122211212121122212211221211211221212121112211212222121221222122222111221121122222211112211112111121222221211221222121221111212212111121112211221211211111222112221111211212112121122122212221112122112212121211222212211122122211211212221112112221211111121112122222221122122121221111212111112222221121112111211212222222222222212221222121212122222122122121221111112221112212212122211221212122212222111222111121122122111221121211121222112121121211121212111111112122222211221221121221111221212111212221122212221211222212112111112211221121112212122222211111111112221212222122122111221121222112121111112122122212112212111112111221222221212121212212212122222122122222211111112111122221222121212122221111111211112221212211212122112111121211221222222122122111221122222221222211211111121122221212111212212212211222222121122112112222222122122112121221121121211121111212112222121111221121212121121212111212121111222221222212121122121211211211221121221211211112211112121222121212122222212222212212112112121121112111111122112112211211122122211212222121221122121122212121112112221222112122121222222111122221211212211212112212221211121212221211212112111221111212211112112212111222222122221122211222122221121122212122122221211212211121122212222112112111112211212212222222222112221121222222221222122112211212111121222221222222221211111221221111222212221111111211111121221111222211222111112211211122112221111122122221221111212212222112112211222121212122121122211212212111211221212112211212211112212122112112221222221221222211222222111211122112122211121112111111211222122211111221211222211111121122222211212222211222111111211121111121121211121221221211112222112112222122212222112212212121122211112211112111221122122221212121211212111122111211122122122212212112212222211112122221122121112212111221121212121221122121212212122122212221111112212121121122221221112121222112212112111112222212121211122112111111121211112121211111221111212221111211222221222111222211111122211211212121111121122211222221212112211222121122121112221222211111212121121211211211112122211211221212122212112121112111221122111111121122212121112121211111112222121212212222122222122121121121112122221112222121112221221222111122121222222222221112121112221112122112121112212121121212221221122111122111122112222211111212111121212121121111111121211222222222112112212221112122221221221212121222122111221121212112111221212212212211112112221222221112121211121112122122122222222222221212112121212121121212221211222221122212111111212221221222212211212111211121211222211222111111222212212222112222211222221111211111121221121212211122211221121111112121221121222122222112221212121121212122121212212121211122111221211222121121121212122222112212212211211112111221221112121221121211222222221222212121112212212112221112121221111222111112222111211222212112212122212211212222121112211111112122211212211111221112121121121222222121122112212111111111122122222212221212221121112111112122221212211121112121122212112212212112122111221222211221211112111122212212221221212111211212112111111121112211121122122121112122122121222111221222122111121212112212211222112121111112222122212121212222122121212221221121112222112211212112121222112221221211111111222211121221122121212112122121211221121222222212121121122222112211221111112122111111111111212221222111211211211211121122222211112221122121111122222121122121212122212111211221112222222221221222212212211112212112112111111211221221122222121122122121211222222222111122221211112211112122112211122211111112221112211111221212222212211221112222212211211111222212222122121221212122221112211211211121112111112112212112221222111112111112111211211222221122121112121211121111211122111222222111111222212212221122221221111212212221222122211212121122211122222222222211211212111121111222221112122222212221211222222222112221222212112111222122212222221221212211112212121112122122212212212212122222121222212111211111111212221121222122222111112122111112211122212111212121212111212121221122212111111221211121221222122221221111111221111212222211112222112121111212221212211121212112112121122211112211222222222121212221111211221112221111121111112222121222111212122211211222111111222222112221122121211121122111221212112121221222112111111212111211112221122121112212112211212221211122211121222111112121111111112112121121121121211122121222122122112211212222222122222221221221121122212112212111111221222221221211212222121221211222211111111122122211122112222212121121212121112112222222222222122122112222112122221222212211111122112121212111211121212211121211212212112222222122121121112112221221222111222221222212212112122121211221121121212111222111211121121112222211111121111121111212112122121122221212221111212221212221122112221122121122112211212111112221112111212211212122111211121122222212212121111212211211111112111111212112121221112121112212211222121122111221111221221111112122111122212121211122222212222122212222111111211122121212121221112211222212222112212112211222111212112111212211121222211111212212121112212211122222111211122221121211211122121121212121121112211211222121112111122221111211212221121212211211211112222211221122111111222222222122221111122122212122111122211211221112111111211221221211221111111212121122221112222222221211212111121211221211112122121122222112122212221122122222122121221111221221212112211211211222221122212122222112211212212112122222222221222112222222222221122222122122122111212111211121121112112112212122212121221221211221212211111112111111111211222211111122121212122122112122212212111211221211211211112121112112122221212111211222212212212221111122212121212211122111221122221111221212121121211221212211112112222121222212122121222121212122222211222221111121211121121221222211111212212112112212112222211121121122122122222111121212112111121112211112122221112211211121112222212221111212122222221211222111211212221221221111211221221112122222211211222221112212122222222121212111222121221222121211212121212211122112211122221222122111112112212221221211212221122122221211211212221112111211222211222111121221221111221221112111112212222221212211112211112122112212212121122122112121211211111221112121222211212212212112221111212212221112221222211121211121121112121112222122122122212111122212111211221122121211112221122111222111122221212211222211111121111111221221122112122211221112112222221211122121112112112212222212221121212211212111112221111211112111112111121212211222111122112212121112222121122221221111212122221122122212212121121112122112222212212112222112111221222111222222121211222212111212211122121211112122221111221221211122112211211111112212212211221122112112122122121111121222111222212211122211222222121222111212111121212211122122221111221221221211122122122112121211222112211112121112211212222121122212222111212212212212212211121222211122112111112212222211121122122221121121211111121122212121122112122111221211222222211121222111112112111122111221112221222112212222111212121222111122222211121111121222212122211121212211221112112122112211122222111122121121211221212111122222222211211212122221111121122212212122112111121121222211222112222212221121222112121212211221121122222121112222121111212121212112112212221211111221111121222211212121212111221111111221221122212112122121121121111111111112222212122122212211121222222212122121112222122111221121121112212122222112122112212212212112212112111212221112222121121112121111212111112211212211221211222112212222111112222211212222212222211112222121121212221121221221211111111222111212121211212111122212112121112112122212111221222112121121211211121221112222122212122122212212212122122211122211112221212212112112221211112112111121112121211222112111111121222211211121212211211111111212121211212221221122222112122112111211212222112111112222212111222221222222221222122121212111122212112222212221111112112112111112122211112121112211221212221222221221111122112222212111112211121222112211221222221221112112222111221121122121221112111212111111222121222222122222211112121122211221212212121222112121121222222121122221211221121211122211112211122122122221111112122212222221211121112122111112111112121121121112212122222122211112121221122121121212211222111211221122211222222212122111112222222211112122221121222112122112222211222212112221222221122121222222111211121212112211112221111221211122221111121111122222221122221211211222221121212112221112121122111221212212222122111122122211121212221111122211211111221211211122121111111211212211222211112211111211222111122112212211211121111211221122212121112122121122221112112111221112122112111121221112122221221122111111221211121211111222212221211122222212112111122122112211121221211112212122211122222221122212122211222112122122121212211122121111212121212122112112121112222222112122111211121212121211221221121121112212112121222111121112112222221221121122112112112222221212221222112221211112111211121222112122221221211122112111222211121221212221122111122212221222121222121111112112221122212212221211211121221112211122221122222121122221221212222211221211211122121211122112212212211122112122211212222111211121111111211112212112111121112222211122111122212121211112211112111212211212112221212112211111122121222212212211211212122121122212121111211122121121222122222122112221212112112121112122111122212121222111212221121222121122121221211222211112221221122221111121212121122221221212221212211112112222112221221222122211211121211212121222122121222222121222112121212211122112211221121112121121221222222122221122111122122221221121211221222222212222222211222211112221122112111212111122211212112111221112121121122122212221222111122122212122221122212111222211122221122222121112222121122211221212222211212122221211112211112211221112121211112211212122111112121212112111222111121112222221111211222212212212121211221221221111122211221112112122221112221111121211211221121211212121111211222211112111122221112111121111212212212121212211112112212112212212211222121212112221221211222122211122212111221122222121122111121211121111112221122211121121221121211112121111122212222222111211211221211221122222221111111122221212111122221112111112221121221112112222212121122222211111211111222111222121122122111122121112111112122122221222121212121212222122212221212121222221212211122111121212111221112111111121221112111121221122212121212122221112221212212122212111222121122112121122221212212211121111212112111121111221122211122112212222111121221112212121111111112122122211122121211122111212111211122222222122222222111211212121112112212111221222122222111211111212112211222212211112122111111221111122221111221121222121212212122111211222121112111212112212211211222221222222122222211112212121121211211212111212112122122221111112121111221221211112122122221222211122211221111111211122112111221121222211212122222121211222211111221122222212222111211122221111211121221112212221122222211122112112211122221122211222222221212121222121112211122121211121121121212221211211122121122122111222121121122211122211122122221222212222222112122122212211112122122221212111222221121122122222221222211212112211122111211121211211121212212111211112112211121221121121211122122211212221112111222211112122112212221122121122221221212222222111221222121212122122221211122211222222221222222111212211221111222222211111122211111221212221211112111222211111211211121111121121121211221211211111122111121111211111211122121111222122221221221121222211212112112222122112211112211122212121211222222112212112212221121122211212212121111222221222222212212122122212222211221212122221212212121221212122122111211121212112211122211211112222211212122221212222122111111111121111221111122212111111122222212212221221112221122212222222121211222221212111211121212122212112222212121222222122211112112211212221222122111112211121111222111111222121122111122112111211122222111212121121211222121111121221222212211212122121121212112122112112112211211112112112111211211122222111121212211212222211211111121122111122212221221121222122121221121221122211121211121122212222212121111111122121211222212221112211121111222212222121221122211222121121222221112112222222212211121221222111112222212111112121111111121222121121111211222211212221212112122212211121221111212211222122122112122211122212121211212222222111121222212221122211221212222122122222112221222122111212121222212212112122112212212221221221111211211121221111122122112112222222122122212121112212122122221222111121221121212122112212212212112112122112212121112212221121122122111211111112221121122211122112111212212221122221111222211211111122222122221111122221121121111121211222121212112221122212122112222121111211112212222211221211212222112211111211211122221221212221112112121121221221221111121222122222212222111211112121211221221121221222211222212111112221122222221122211122111121121222122122211221211122212212122221221211121222111122211221122222211112222122122112211112211222122122211211222222121112121222122111122211121221111211122211111212222212111122122221121122121111221211122211122222221112222111221122122112121212222122212122221222122221212121122122211212222221222222111221221112122111221221211221211111121111121222122221121221122111122111222121212222121212221121211121211111212221111122121222121221222222221112211122112211222122122111121112111222122212121211212211112212112121122121111222112222122212112121122122112111211212121212112211211222111122222121112112221112111211111212122212121122221111122221112122222222121111112121221112221222222222211211211221122112211222212111221221222122212122221122212122111111112122222212112221211222112221212211122121222112212121111121211121221112211211211122122111122221112212212211111221112122221222122112221211111111112211222122121211121111112122112221221111212111112121211212221112222222221122211211122112212212111112211121111211122221122211221112221222211121212222222221221211212212121211122111221222211111121112121221111211222222111112211122112221222211211222121222121222121112212122211221222111222221122122212212112222122211221212122111221122121221221111122222111122112121211112121211121212121121121111111222212221112121122122221112211222122122212111111111212111221212222221211122121122222211221121112121221111211121112211212222121122121211121112222221111111122222111111212212111222112211111221221121211122212122211221212221221112111121121212112122112122222111221121112211122222221111112121121122222111212111121222222222222212111111112111212111121111212122222222122222121222121121211222112111112121112212122222111112221212212111111112222121112122121222222121111221212121222122212212212111122121211112222111111221211211222111122112221112221211112111212212211121111121221121222222221121122222112221122211221122212211121111122112122112211211211222111121221212111111121112122221111111121211111112112212222212121212112111112222121122112122221222112221121111112212222222222121111211212111122112212211222211121122122122111211222112122212112112122221212222111111221221121222111221111222221221122211111221112112111111211222221221122222211211212112211211221221112111112121121121212222112121222111112122111111112221122221111111211111222212212211211112221122122211112221122212221122212121112221211112112221111222212111212211222112221221112222121222121121222111111222221121212212211112222111111111211211212121221111111111112212212211222211121211122221221212211212221212111121112112211111221221122111121211212221121121121221122221111221222211221221122222212221211111222221212121222121221211122122212122122122211111111211221122221112122122222121222221122212211211222111221211222121112222112212122112212121121112221111122221122222222211122212221222111112122122222212212121222221111222221122222122221122222221222122121121111221211222221122221212221121211121211211212221222121212222111222211121222122212222221211111121221211122221211122122212121122212221111212112111111211222111112122112212112222212221212221112121111221211112122221121211221111122222222111212121212212111112112112222122211112121122211111211121121111122112122122122212211112122121122212222112212122221122112211211121212112221212122121211121211112211222121121122121111121112211122121211111111111211222211222221112222112212212122222121112111112122221121212221111211122212121221122222112112221122221221112212212121121121112221112121212211211221122221221111221212212212221222221221112122121111122111222111222111222122111211121112211221222222122121221222122112212222212211112121222111222121112112121111121211121211111122212221212211212121122211122211222221221112111212122211222212112221121222211222222221112222222122222122212111111212122122222222221222221222212212112112222221222222111121112111222222111122212222111112112112122112121122221211111212121212212211221112112211212221221211122112211121222221211222111221222122221121211112222211122121111211112222221122211221221122112121212211212222111121212112122122212111111122122112212112111112212121121112112122212121121121111221211221122212211211212112111121211211211121121112222211122221122211222222221211122221221111111212112212212112211121212111122222212111121222111221122211221211122121221222112112112121212212221211221121221112212121111221121221222221121212122111211121122121221122121111211112221221121221212221221111111221121122222112221221112111221111111212212111212221112222112111111222112221122111112212121211221211211211121222111112122222112121111111222221212111122211121221112211222111212112122112122111112221211211121111222222212221122111111212112212211212122211111212122221112211112221221212212222111121211211211112122112121122122112122221121221212121212222122121221212121122222111211211111121211221111121221122112121122212111111221221212211112111212121211212222212112211111121111111121212121121221222212212122111122112111122121222212111112221122221122112212112121112211222122112222222221112211121122121122211221112121212212222211111111222221211112211121222212121222121122221112122221221111121111222121112211221122122212221221111111122111222112212211222222122211212112111212211222111222112222112121122111221222122221211111221112222212212221212221211222111111112112221221112112222122221112121121121222122111212112211111121221212112212212222211222112111221222121221212212121211111221122222222122212211122222111212221111112221211221111222222112121212122121111112111211211221221122212112212222111221212222221211211222111221111212212121121122222122111112121221211112112111121222222222111211212111212121112211112221111211222111211111121121212221211211122112211121212121112211111112111122121211111122211111111112111111112121111222112212111122212212212221121112211121112112211222112111222112212221222121211122222221112212121221221121211212222112222222212211111221221222112222222112211211222222112122111221112121221111212222112222122221121111222111112222211121211221212122221212211122111222111212121122112221121121221222121112112121221212111122212112211212222222111122212122221211121111221221112112221221212121221122111212222212221221212112112211221121222111112112211221112211221221121212221212122111222212212211222111221211121111112212122111121111122122221221211111112121111122222221112112112111211211211111221121111212212212222221111112111222222211221211122121121122111222211121221121212212222212222121222211121222222122211122221112122221211121212112121212211122211222111122221122112221112212121111111211121122222212122221221212211122221212112112112212121122112111112221112111122221111121222221212212112222212122211121112221222221211222221122112222112111212122211111211221211121211121112212111122221121221222222221211112111222211212221222211112211112112221111122112112112111111122221112111221211211211112212212111211112112221212122112112221222222121122122121222212222211212221112212222122111211122111112221112212122211122111121121211112211121222211121211122212112111111121212212222221221222212212111111111111222122111221121121221211122112122211122221212212211111221221222222211211211211122221121122122121121221122211121112211121112122121211222122211112211112222211122211212221212121211212221112222212212211211121212212121211221121122122222122112212121121121222222112111221222112121112111212112111121121121211212121111212121221112221112221212222111112211211111122122211112121111221221222221112212112222211211111221121211222222112122112121121111122121112122211121222112211121112211121112111222222212122111111222111122122211121221221121222112222111122112212121211222121111211121211122112122221121112112221112212211212212121221222121221211111111122222212212121111212221212212122212122122212121212112111212212122122112122212221212211112122211211211112111121111121121212221212212211211112222112211212211221211222111121121122112122112111112212211112211111212121211211111211222221212211112121221212211221211212111222111121111111221112212122222112122111112222111211122211122111211221222222212212222111111111112221121221212111111121111112112111112222211112212212122111111122222221211211222212112211121211221121222211211111222112211121212211221212111211212122112221212112112111112222121212111112122112212212111111211121211121121121112122212211222222111212221122212111221122221112122221222212122111111112211121121212221112221211112111211211121112112111212222112121111221121212211212122122222111211112111112121222121212122212211121111221112111212111212222122121111211221211221211122111222222122211211211212212111211122121221211121111122212122222111122222112112211221111221221212112222221112122211221121121121112122221121221211211111121212221221212111212121212122212212221211222212211111222121222212112121111211222112221112212121212121221221211212112211121211221122211211221222221112121111111221212211221221212122121221112111211121111211111212211221122222112211221222222111121212212111112112212122222122212122112211122222121112212112221221112121122222221121111111222122111212222222222221212122112112121222221122222212111122212122121212212211121121112221221221121211221221122211121212122122221221211122212221211122122112211221121222111212112221222212211212111222122122222212221211212221111211212111112121112212222111221221212111121212112221122121212212221222222211222211112212211211211222212112121211222121112111212122211212121211122221112111121212211111112122221112112112221122121221111222122112122112211121222112122211111121221112111221112111112222211112221221222121222222211112221221111212122112122122212111212121221112222111212122111111121212122121121221222122211121121111221211211212121221222221121111212222211221221211122111111112112211212111222121122122121112221121211122112211221111222122111111112211111212121121222112211221121211112122211211122121211212111122121122211112211222111211211122222111111112212211122112221121221221112212122211211122221221121112122212121112121221121121122121111211121121122211111211222211212211211122121221112211211221122221111221111222121211111111111111111212122212211222221212221121112222121122211112222122221211222122111221122222112112212212212111111221112212212211221122121212121121222211122121111121112212212221112112112111121221111122211111112211211121211121221211112111211212212122121211112221112112111122212212112212121212221121221212222121212222121121122112212112212212122221221112212121211111112121211211212221211221222221221112221112112211221121221212211212212112121111111212121212112121222222222112212111111121111221121122111122211122222221112121212221122221121112121212112111212122121112111211222211211212112122211112211212222122211222112221211122212111222221121121222112212211111112122111122111112211221111111111222112221221112121112211221222121221221122122211121112221221212222212212112121111222222122212112111211212111212111221222111122122122222121221221211112122222111222122211211212212211221111222222211222212221121111112121112211222212122211211121121121212122212111121221121211121111212111111122111121112121212112121121222111112212222122211212211211222121112121211211222222122222221111111112121121112212221212122212121121212121122112211112221112212112111112221111212121212212111121221221221212111121212212112211221212111122222211221212111112112212211121212112112112221122211212212122212121221121221122221111221211212211221221112222121121211221112121221221221111111122111222212221222211121211122221111211111212111211112212211221112212121221211112222111122221112122221121112211121112221121112121111112222211211211211112222212121112121112221212211112112122121221212111122112212121111121112112111121111122222211212122222211211121221221221112111211212221212112212111212122111111221111121121211111211212212222221212111112112122112212112121222222121121222112111121111212212221112221111211211121212121112121121221122112222212111112112111112122112111222111211211122212221221211212211222122211211122111111121122111112112212212211112212111212221121121122121112112122112122222222121221222222121212121111211111111211222221111221222222111111121221121221112121122121121211112211211111112121122111221121122222122122122121122112111112222221222111111121211112111112221222221221212121212212212122221221212221121221221212122222221221211112222122122112212212122121122112111211112112111112122211111212211112121122221211111112212121122122111122111211222122122112121222222122121222221211122221121111221121111211121211112122111211221121212122111212221121222221111221121111111222111211212221211222121111222222211222112221121212211121111212121122121221222211211222222211212222221211111212122212111122122122212122112121121211221212212121222122211212121221122111221112211112212221211221122112222222112222121111212221211212122112121221121122111212222121112111212212211222121222112212112112212122121121221121221221121121122222211122111112221222111222211122212121221221212222211211112112111112112111211121122112211211122122112222122221211121211122221212221222221222122112212112112221111122212212222111222121122212221222121211121221211221211221211111112111112121222112122222112112112212212221111211211222121121211211211122221211121222222121212112122121112121212221122121211111112212121111112121211211122212222122222111221112221221121111112112121121111222211111221121122221222111111112212121211112122122212121221222121211122111112111111111222221111211212212111122222212212121111212112111221211122112112221222221211112121221221121112211111122122211111212211111112112112221112212212221221221122112211111212111112121212222212122112112211212211211122212222211112121122221122121212211222212111221122122221211111211221212122221222221221122111111122111121121212122111212112212222222222222212122121111112211121222112222222121111221222111221121111221112111111221221221121221122111222222121121211212122121221121221221122222212221221122212221221111112222222111212111222221122211122221222221111211112111122212121112111122221112111111212121222111211121221112211111122112111112121222211221122222111221112121222121222212211112211121112111222112221122122212221112211221111112121121211111222111122222121122212122222222222212212212221212111121122121222221121221111211121112121121112122222221212111221212121221122211111222221122211221121212111121121212112121111122212122212211222122122221211122212112112122122111221222122221222211111212212121212221212221222211211111221111221121212211111111222221211221112122111121212122122121111212111111112112112111121111221212121221221212112212212212222211121221212112221112121111222221222122111222221212111211111111122112122112211222111221221222211211222221212111222212122221111221222221112122212222222212211121111212121211121211111211221111111211112211121222222221222222212222211221121111212112122122221211121121222112211121122221111222221122222111212122112111112111211222221112222121121121211111111111111212221212121122111211122221212222111212122221212212222121212221111121121211221122212121212212121222111122222112121112122221112221222222111212122221122111221112122222212121122121221222112122222112222212112222111222211111211121221122211211222122211222212112121122111122122112221221221121222221212222111121222221121111221112211112211212121222211111112112222122122111121221212212212222222222111121212112122212222211212212122221121112212121112112222122111221122111211221211222221222222122121112211221211112222111212121221112211122221121222212121221222122221112122112111222212122221221121211121112112111111211212221112112122212212221211212121112112121111112112122112112222212221122221222212122122112221222222112221221212222111121212112112111212112212222111122212211221111111111122111121121212222221122212212112222112211112211122211122112212121221111211111222211122212221122211111112211111112212112221121122122111211221111122221122221122112211222221121221211222212222221212212221211111121221111111121112111111112222121121112212222211221222111112211112212121121212121112121111112211221222221122221212111111121221121222122111122212121122222112221122211221121212221122121212111111122212211112121122212121111112121112112221122211112121211212112211111212221122112212122222211111111112111122221212111222211222112121121122121122222122222222122111122112211111212122212112222112121221211111212121111212112121122121111211211122221112112211211212212221121221111111211211111222112122212212222112121121222212211121111222221112211111111211122221211221222122122122122112121211121222221121121121111121111222111122112112122121221112211222221122222212122112221212221122222222221112111212112121221211111222112121112212111221121221111111211112221211122221212221122221221111212121221211121212211112221211122222221212211221211111222121211122121211112111111111222121221211112221222212112212221122222222221212122212121121122111111211112111221121211221122111211221112212122122221122222121111111111121112211211211121211111212121221121212222222112122212122112111121121121112112222122211212121212122221112212121222211121212111222111122112222121122221111211211222122122111112222112111212221212211122222211122122221221121122121121212121121111112112212111211112122211122211112212121211111111221221121212112212122112111121111211212122122111122221222122212212112211111122111221212112121211212211112112222122111221111221221211211222111222112221221212212111212122112221212122122211222211211112111222111111111221111112222112221222211211221112112211212122211121211221121211222221111122112122122222221122122111211122212122221111221211222121121222212112122122121112122121112221111221221121112121121222121111211222121211211122222122212111111112222211122121221111121222221111211221221221112111221212221121211111112121112112211211212222222122221222211212221211221121111211121211121121222222211211111111121121222221112121211112122121211221121112111121221121212212111211222122211212122212222211212112121221112212211111112121221212211111212211212222112221221111221222222212222211111112112121111212112211121212112212221222221222221122221121112122112221221211111121121111222211112222112122121211222221211212121112112111212221121211222211112122111222112122111211122112222112111222112211122121112121212111221121111122112122222122111211122111122112121212222121111121112111122122221211212112212111212221112122112121222111222121221212221112112112212121122212121111222211111121212211122112212122212122222111122222221221122121222222111212222221211211211212222112112211221111211121212212211112221222212222111122111212222112222222111222121111111121212111222212111111212111221221111122112121212222211121212221221122212221212211122122212121121212121112112222222122221221121121121222112121211122112212222212211222122222222122222112112222212112111221212222111122122112121211221212112221212122121111122211122222221111121121112221212222112112212122121211212122222222121221111222112112212222111121122212111112112122112122222222112211222221222111112221111221211221221112212212122222122221111121121222221121221121121121211122221111122212221222222211211211111221122121122221221111221111111111122121121211122212122121212221111221121112112121122122112121111212112221221212212211221211222122221121212212112222112222212112222221111221111111111211212221121211221212221221122111222111121222111111211122212211112212212211112222112121111211221111211112222111112112221111121222211222111222212121121122121122221211222111222222211112222221122222211212122221122121112211122211111122221121122211211222212111122211212212111121211122221112122212122122211112222211121212221222212122221222221221212211111111212111111221111112211221112222211221121221211222221112222211111221112112112221111221122121211212212112121121221111112111222222211221111112111222122112212212211111122112212212112212212112221221122222221122121212212211121111221111111211221211222221121122122212211112221122122211212122122122221111122121112212221112112222211121211112121222222222111212111212112221212122121222222222112222122212122211221122121121122212111222222111222111111211221111221121221222111121221112221122212212121122122112221212222211121211111121122221122212222221111221221212112121221211211121122221122221222211221211121112212212112211112122222222122112212212212211222112122111111121211212112211211211212212221222122222122221211112211221121122211112111211212221112112212222222221112121111122221212211212222111222212121222222112212212221222222112122212222212222211122222112212211122111211122121121212211121212122121121222121221221111121121221222121221222211212112111221222211222112212122122112221221212212122112111122112222221211222111221222211111222121221222112222211122122121222221111111111122212212222212212222121221111122111221211111221222122112222222121221112212211111112222122121221112221222222111211211122112111121111211221211112111221111112111121222111111112221211212211112221122122121212122121221111112112221212112112222111122111112112221212211222122112121212212211222222222211211221121212221122212221221111221221212111121112111211222122212122222112221112221112122121222221121122121221111121211111221111221121222221112122222122112121121112121121221222121111221111111211112211221122222122221221111221112112121221211121212222112212121212212212112121212122121112212122221121211221211222122221211121121221221112221122111212112212221222111222122211212112122112211212121221222222211122211111212211122121212111211211121122121112122112111121111112111122122112212112211111121121122111222112112112221121211222122112111211111222122221122111212121121112112122121111211121121221211121112111122222122121211211221221121122121212111121212112112122212221212112221221211221212212212221112121111111112221222212221122111112221112221222122221112121212111222111211221111211121212222222121121211122212212121221211211222122112121121221221112221111122111221122222111111221221121221211111221222111121122222212112121122221112222111221212112112222112212221221211122222122222221211212211112221122221212112212222211122222112122121111111212221211222112212211121222112211222122211121221111212222121111112222111221211121112211222111112212122121222212121222111222221211212121111111121211221121221222121222222111112111121221211222222112212112221222111121112112212112122222212111212212222111111112121221222222222111222222111222121211121111112122111212222111222111112211111212221211121212111121211122221212122111221111222122222111221122211221111122122111111212211221222112112221122212112212121222222122211112121222112111121111121121211221212221111121222222112121111111121212122211222121121122211112112211222122111211122221212212222211112212212122221211122121122221121212221212212122221212111221212222211222222222211111211212122211121121211121221122211222212121122212221112221212111212122112222122222112211122112111212212111111111221212222212222112221222112211212221122121222221122211222211111121221122221221212122122122221221211221212121122212122112221221211222212121221212212122111112211111111211211211112121221211112111121122222112112212122221121221212211222211121112212211111111221211112112212211212121121122112112222112112221221211111122121221212221122212221211112121221122111222111122112112221221111212111222212122111112222212212221111111121221211212121211221222121221112111121121212211221111111222212111221212112111111111212221111122112221111121222122111122111211221112221112211222211111112122121122221121222122212112112112221111211222221212122222222122211112112112221122121112211211121121112212221222111112221221222212212221221221122111211121221122211222112221222122212211212121112221211221122222211212211121212211211122222221122212111221121211211121222112211112122122121122121111112112221112221112212212222212121221121211121122221212221221212221121111222212212112112222121221221222121221212112112111212111222122111112212222121222221111111222212221222121211211211212222221212111221121111221211122211111112221211122212212111212211112111121111221222212112121122221211221112211122221112111122122111121211212221211221222222121111111122222111221122222121212112122112122222212122121122212222211112211222221121221121212121212111222121211221222211222222221222212122111222122122111222111111112121121111112222212212121222212122112121122122211212121122222112112121221122111111212222121122111122111112212222211112122121212221111122221222112222212222221121121221121211121112122121221121212211211222211121211112211222112212222221221121121212222112211221121112212122111122122222111121121212212212112222212212211122121212212112212122211222221211222211212112222211211111122211222122112121212112221122112111211111111221221112222221211222111221221211111221212111211122122121122111112112122112212122112222212211112112221211112211111111112121211212221221112221122222211122121122112222111221221221211112122221211111122212121221112212122221222111111122122212111122121122211111112221121222121212112211112112112111221211221112212112121222112121221222211221211222122112222222112211122221221111122221122212112122212211121211121121222121122221222122111121221212111121112122112112111111111122121121111221221122211121121221111211112221111221211222222222121222211221212121222221222121112221212211121221121121221112211122221211211211222211112121112221221212111112211211121112212122111221222222122211111211221121111212212112211112212211112111221221121222221121221212121222221211211222122222222112211122222111122222112212222122221111122222121221221222111121122211112212121221212212112122222112121111211221212211121122221122121212122112212112222221111111111221121212212221122211211112111122221212112221111222222121122221212121112122112211221112111211211211211211222121111221121111221222122112221212111212111121222211121122222122112112212112222121121111212211211211122121221121122121111221111221212122111121111211121112122212222121211211211122112211211221211212112211222122222222122122112112111211212121112122221111212212221111121111111112122221112121221212212121122221212121221121112111212111122221111212121221112111221211122212112122122112211111111211212222121111122122222222112121121221111211112211112112122112122122222212212122122212221221112122221112221222211212222121122121211121111111222111211112112212122112222112121112222122112121221122211111112122211121211211121111211212221221212122222212121222211212221111121111211221222222121221221112211111122122112212221212221112122221111211221212112211111121112211222221221112112211221221212221122211211112121111111211221112122221121122122122121212221221112122222111121222122122112221221121221122221111112111222122212222111112211211111121112222222111211212121222121222222112121221122212212222211122222221222211121111111212222112211221122212112211221122112221221212221211221121211121211112112111222111221111111121221112221212122222212222121121212211112112111211212121211221121221112112221222211212111121111221211222221221212211212111222112222112211212221121112112122211222211211222122122212211121221211112212112211212122111222111111122221222212121122211222121122121211221112122212122121112211212122222212222112111222122111222111211111222222222111111212212221112212111122122121122111111111112211112112222212112121221211222221221111222222211221222221222222212222112211211221222111222212222112122112211211121112221211212212122121222111122112222211111212121122112112112212222222212122122211221122222122122211111112211111121222212212121121122121122211112212221211222212112221112121222111121122221211121222211122121112111112211111112121222212221121121222112222211122122122121211221221221112212221212112212211111211121221222212121112121122222112121222211121122111211121112211121221122111212221221121221211222221122211121212211121122212221211121221112111112211221121222122112221112211112222222212212222121222121122222122222221212222221112222111211111212112112222222112112221221122221211222212211222121111122122212211211221112111221222122222111222112112122222222221221221221211211212221121111121212222121111112212121121211111121111221111122211221121222221212222112221221211111222212221222111222121222112122212221112222112122222112122121112121222212112121222221122112212111122122122122221221122211212121112122122211211111112122121111222121211112122222112121121212221221112111212222211211212222221121211212112222211121212122211111121112222112212211221222121221221111112121111112211112211121111221221122221211111211221111222121121122112222111121122122121111212222212222111122222212121221122211211112211211112112212112222222211212121122222221212112122212112121221212212221112212221221121112122121222121112221222212121221211221112112211122221221212221122222121222212112112112211121211111221121222121121111122221111221121221121121211112221111112122112111112122122222211211121211211112112212111222122122121221222211222121122122111121211122221121112122121122121111222111121121221221221111121221112211212221211122111222211122212111211122221121111111222121211221211122221222111222212222212222111211212222122211112211112211221111211212212111112221122222122212212111222122122122222221212212222122222221111221111122221221211122122122221212112222121111212212211212112122111122121112212212121212211212121222122121111121211112211122212111121221222122112112121112122221121111112112211212221111122211121121112121122122111222112112211212222211112111111122111112111222211221222212112121221121112211112212212221222122222221221111121121112122221222221121211211211112222122121221212122121221111122222211112212111212122122122112111221212222212212221221222211222221111222211222122111121212122222212112121212221121121111111121111222222221111111112211211221111211121211111122221211112112211122121211212112222121211111212212212211111221111111211121112112212211221212221121111121221221221222222221212211111212121222212221212212121111221222122222111212212211211122111212221221111122111121221211221112122112121112112211122221211121112111112211211211212222111211221121111212221212122222211221222221211121112222221211221211122121211211212121121122121211121121112211221222212212122111221212111221212222222222221212122122111112221111111122211112212121122122212122221112211221111222221212111111212221221121122222211222222222211112212112112222221121112121212212212122212111222112221212211121112121221212121222122111212121122221221122222111211222121222111112212121212221111122211212112212222121212221112111211111121111122121121212221221122211211112211212212112122221222221222112112211221122212212221222211112212221222121211221122122211212121211211212121212122212111222222121111121111121112211212112111111211222222211222112221121222111211221122212212221221222111211221221221221221212121122121222111222112212112221112111221211121112221121111112212122112212221211111212111222112122122222121112121121121212212122212121122212222221122222211111122122221122111221222121222212222211121111112212112222112212111112222221121222212122212111112121221221111212122112222112211211211221121212111211211122121222122212211222221222122111212122112122122211121221212211222111222212211112111112111111111211211121221211212111212111221211111122222211121221212111112221221121112211121221212111222222111112211211222211222221212112122211121222112112111121212221111211121112211221112221121222111212112211212212222112111222221221122212122211122221222221212211221211122122112221221212212112122221221121122111122212222221121211212122121121112112122122221221121122121221221222122121121212111111111121211221212111222112112221122112112121122221212212211122211122211221122221222121112112111222122121122122122121222121111211112121122211211222122112221121121111212212111121121221112122211112221112111221121221211211111111221222121111212111121212221211121111122122112221111122222112212122122122112122121212222121121221222212121111221121121112112221211212212221221212112121112212122222212121121111221121111112222121212111121222112122111121212212121221111122111112221221122121111121112121112111221121221222211211212112111212111212211122212221221121221211121112122222211211222212212221122121121211112122211222112112122212111212121211221212111122111112121222221122112121122122212212222111211221211112112121222211122112211122212211212112112112112112112222222221122111221112221111221122112122211211111112121221122221112212122122111222221111222122121222221212222221212122121112122222221211211212121111212211212221121211122111221212212122222212121221211222111122222221121112121211211222222211211122122221211221211222122112111222112221111112111221211221211222122121121221212221121221222122111211222221222121211212122121221121212222221221112122212222212222121222222122121111111221111222212112222111122212212122112111121121112211211221221222211212122212211121111112112122121121121121121122212121112122211122222212222121112212222111121212221121122111211121112222212211222222211212112122121222211121121111212112212122112122222111122212111222121112112221121221222221121111122211121211211211222221121222112111212122221212112122221212122222222221212212112121221222221211212212111221222211121211211121111211222222121122122211221112111222222112211211122111111221122112111212221221112121222112222112221211111212221122122111222221222122212212121211121111112121221111211222221212111222111122112222122222121211211112121112122112121111121122212221121221221122211221221111222112122121212122122111221111211121121122221211122212112221222222212222211222222112121222221112111222121211222221212122111122112121211221122222212121122111112122122112212121221112222221212212112211222111211222221112212222222212121212221222221111122121121221122211112122221221221121222112112111112121122212121111212211121221121111222111222121212122211222111212221112221121122222211211111111121121121221222211112221122222111122211111221221212222112121111222121221111111122122121112211122111211211121122221122211211121212222211112221112122212212212121112112112121221221112212121121122211112121211111221212122212222222211221212211112121222222122112222222222121111111122111121212221112122122111211221121221211222111211121111221112222111222111211212111112121112222211112212211222122222122221121121121111121221112212221211112222112111212111212221212221112221111212221122212212212111111212212112211222222221122212121221122211212211222112121111222112222221222211122122121211212111122222211121122212122212111221121122222211111112211121112111221212211111111122221122111221211111112212121222222111222121121212221111221221111122211211221111221211222112111111221122221212212211122111221221212111111212211112112121212211221222121222111122222122221221221221211112122122212221211122221222211121111212222212211212222221222121121111212112122222122212222211211111121111111222121121211211111112221211112112211121111112112221112122122221121221112112211222121221222121222211121121122112212221222212222212221211112112112122212211122212212111122112111122112212112122122121111111121211111212222111122211112211221221111122211212221212222212112122121122121112121212221121112122121122211111211122211121222122221222212212121222212212122111221121212112211212221122212212211222222222222221222121221221122122221122221212211121111122121111211212121122111222122211122222212221122121211221222121222111111211222121222211212112221121122111212111222122112112212222121212222221211122212111221122222212222122111211112111211121222222211211122111121212222121121112221112211112122111221212221112121211111122122212112222111222222111112112112221212121111221111211222222211212112221212221222112211112211112221222222111221111122122112211212121211221211121221222121211112212122211212112111111121112122222211211111221212121221222222122122212121112222221212211112122212212112211222122111222211112222122222121111112112212112211112121211111121112222121111112122112112221212211221121211112121112111112211111112212111111121111211122111111122222222211122122222222111212212212211111112111112211121121212222212222112121121211122221111222212122122222111121211111211222222221111111122112112122222212112122111212121122121221212212211111122221122222122112111222222222211111212212212122122111112111121111121112212121122222211121112211221111111111211112121221222111222211222122112121221211122212122112112121222112122122112121112121112111221111211212211221112221212212111122122122222221221112221211111212122121112111111222222212211121212221112211212211111111122212111121111112221122211221212111221122211112121212211211222111111221222111211122121212222212211111122221111111212221221212211222112211212221221111112221121122212112122221112122222112121222221212211221222122212122221111222121222121112212122111121221121211211222122111121211121212111211211111112221121112211212212122121112111112122122221211222212112111221221221221111111122122221112122221211121211122212211222211122211211212212121121111212221221111212111121122221122212111221121212212221221221122222122122211111211211211222121121122122121211121221222221211212121111112222111222112121212121111112122221122222121211112122111112212211212222122222222122122212121121122211222111112221211122121221211211111222112212212112112122221212112221121111211221211212221111112111111121121221122112222221211222121221111221211111122221111211212212122111222112222112222111221211211121111121112222222212111212222112221212222112111111221121211111122121212122212212222121122212212112121121122112221111222122222222212122212222111221112121111222121212221212121121111211221111221112222211112211122212111211121122221112111112221211221211111112221111221111121122121111121122122112111212212111221122221111212211121121122212222222212221112111212121211111221111221222122211211121111212212112111122111221121111121112112212112221121211212121122212221221211222122112221112112121211222121221222221222211121211112112221122111122111112211112122111121212112212212122221211111222212211122122212122222112221121121111221112221221112212121211212122112122212211212111121212221122121122221111111122111121111111212221111112222221111221212221211112121112221112222111212121111222221121121112212222211121211112222122211212112111211122122211122211111121121122122211211122112211111221221211222122121122112112221212122221112121112212211122111222122211111121121221122212222211211121222121121212121212211112112212112211211211222112211111122111111211212212112222122222211221211211112221211211222222112112122222212122222212212121211121111122222121112211222112122211211211121121212122112121112221211222212122212122121112221212122121212122212111212222212221222121221112222221111211222222122221111211212222112212221211222212122212211121112222212112212222212212222112212112211221122111112221221212112211111211112121122211212221222222211121122111112212221111111222121122112221222212211212111222122121121221221121111221112112211221211122112221222222112211121122112211222122221211111122111111112112211222212222211121111122111121121111221122112121111211121121211212121221222122121112121222122112112111212211222222122212222221111221111112211111221112112212112112122221221222211121211211211122222111221121112211111212221122121222221222112211122121122111122221221212122121112211111122112112222212111221212212221122222221122121122211121112211122111222212122212211222111221121111122211211222211112111212211221112221112222211211211122122212212112222111222222212212112122211112222222211222122211212212211222221111212221122111122211221221121211112112212221222111222112222112121121122122112221212222121212211111122211212221111222111112211112212222222122221211211112111112221222111211212122211112212121121122122211222121111211121112111222121211222111211121211222222211121111112122121211222122112122111221212221222212222111121211211121212112112111121221122222221111221111221111111211122221111111111222122121122211221211212121121122121212112222111222121112111112211222222112122111122212212221212212111212112222212221222221111221222222212212112222121111112111212112222221112212111221122221211212211212112221111221121222122112112122111121212211112112121212211212122122212121121212211121212221222211221112212221112211211212121121211212121212112111111221211111222211222221112212121212212121121121221122212111221211212221122121212222211111112221122211212221121122122211212112222111112212212222121121111122121211212121221212121212122212221212222211212212122211111112111112122222221112211221211111221212212212222212111211211112222122211121222211121111122221211111212121122222212222121222212211112212211212111222111122111122221122111221112211222111111221121212112112222121212212112221122221121111121212111221221122221222221111211221222111222112122221121122211121221222221111121122112112122121112212121111111112212211112222221211222211222222122122211122221221122222122111121112121212212212111211211121122121122121112221122111122212211112222122221211211112212121222122222212222222121212111111212212122221222222212212212121121221122111122112212221211212121221221221112222121212212212222221221212221221111221221121121222211222212222122212212121211211112121121122121212112211221221122211221121111122112221112111112211111221121112111221212122222222211211111111212122111122211112122212112212221212111121222212112121121221221221221122222111111122121121212111222121121222221112112111222222211121212221211222121122211221221112112112212222122222212122111112211222121222112221121111121211221222212122212112112211211222111221112222212111212121221212222212212121111221121221212221112121121121112121111111221122211212221112212112222222121211111212221211211121112121112221112111111211222122112112212221111111221121122112111222121112221121111122121112222112211111222211112111122212122222211121112122211122221211221222212121222221122122221212221212122211211222221211221222222222212211112122212211111111211211111221111222212211211121211222212212222221212121222221112212111221222222122221121121221121122111222121222122122221111222111222211211222221212221221121122112121112211211222122121212211122222222222121122122211111212112111211112222212222121221111112212211212121111212122121212122121122221112212121122121112111112221121121121211222222122121122211211222122222221211222122212122122111211121112222222222221112222221112111221111122121121222112222212211221122111122222212221222121111211212122211221212112112211212222211222112211221111122122221121222221121121111122211122111121221121112111222121111221222111112112111121221211211112121222211112211221212211121122212212111221111212211221221211121212112121111212122112112112122111112121211222222111222112122222222222212112122121121221122221211111122221122122211221211111122222212221221222221111222222121211221122112222122111221222112122111111121211122121121112121112111112212211122111221222222221212112211121121122112211222122112211112222221112111212221112111122221211211121112112222211211121111112112121211111221111211211212211112112221221212212111122122122122121122112122112211212121222111121121211121212122112111212211122121211122111222221221212112222212212221221111212121112121111212222221112122222111122112221222221221112221211112112212122211111221212111121112222221212122221222221122121111211122221212111212211122121121212221122111111222112211222111211122112221121211111111211111112222222222121122112121212211222212111121221112122222121111111222112222112221112112221212222222221211222221212111211221212212121212122221122212121122122112212112112121112221112112111121221211211212121121211121222222111122221212112122222121122122222211111212212112211111112222112122222222211111111211222122112211211212111211221211221222221111221212122211112111112121222121212112112111222112221211212211211221212112111221112122122222112221222122111112122221122222112222222111222111112122221112122212221112122112111211211212212211112211212112112111221112121112112211111121121121212221211212221121121211221111212111112112112111121111222122122211212121222121221112112121221112222122121122111112212121212211221121122111221211112222211111121212212112121212121212222211121221221112212221211122221222122122111112112222212112212112212221211122211211111211112221222211122112122221212111112111212111111111112211221121211221111111121121121212222211222122121212221121111111212122112112111221212221211221212222121222212211212212111211211212112122121121122121112122112222222222222121122112211212222222221221121222111122211222111121111122112222111121111222221122122112221122122221211112211212221222122111122212111121212222221112112211112122221111111112111112121212112222112111222112212211221221112221111122212212212212222111221222111111212121112212222211111111212121122111121121211222212112111122111111212221112211111112121111112221112222111112211111222222121211121111111112112121211111122212221222212221121112222221211222121211112121211121222122121111122222221211211221112121112111211211121221112121222222211121121121122112212212222121122111112121111211111112222121211112111111211121112212211211111221212212121111121111212121112122221122211211112212211111221212222211111112212212121221221211111222221122122111122221111211211222221212111111222112121222112112121212222222222221121112211122121122221121121211211112212222212212221221112212121221121222212122212111112222221112212122212221121212211112121122112222111211212212221111111112222112221222111221122112111221212212211111111222122121221111211211121222122122122222221121212212212212122222121112221211112121122211211122211112122221122112222211212212222111222222122121122222111122121112121221212122111212121121111112222211121111212111221222222122221211222211121111211112221211221122121112221111211112212222111122222122221221121211222221212212121122112221111221211112212212121122222222222222121122111221112211121121111212222121112211121221222122221122212121122221211112121211211112211222221212212222112211211221212121221221112121222121122212112222122111221212111211122221111121112222111211221222121111121211211122211111111211211211221122112112121121111212121112112111212212212121212121112122111211212222112211212111112112122222222111211211121221222122221222212212111112221211122222211221222121211111121221221121122112221121112122221211221211121122112112111212112111221112111211121222221112111221222221121112112212122221212111122212121211122211121121211111122211212112121122211212221112222222222221122121112112121221222211221211122112222111222212212222112212111121121111222122221212121122111121221111122122121122112112211221122212112221222222122122211211121111222211222212222222222111211222112112211221222112111211122212221211111211212222222222222122211221112221121122221121222111211112122212111212122112211222112222121221222211222221121121212211211221222211122211122222111121122222221222112221212212112222122221111111121111222122211111212212121222112211221122112222121222122121121221211222122222111212121212122121221112111121212211112111211112211121211121122212212112211111121121121112211221221121112211212221112121221211122222122212212121122111112221122111121221111221111211122112211212121211111212122212211122222121121121112121221121112122111221221111211212122121121211122211112211221111111111111121112122111111212121212221222222122212111122221121111121122122212212221122211122221222211122212121212212111121111211122222212112121122212121212111112222121212111221211121221221211122221111111221212222112212122211222221212211222211212221222122121211112121222122222211211222121111111222221212111122121221222212221111212112222211222222111112212122122122222122211111221121222112211112121112211211112212212212222111111121112211221112221122222112121112112111212221212221212111212221211111211212211112122121121122221121121212121212222122222212121222222211222222212121211121221122222111222221112112221122121122211212222211221111222222212112222212221111122122212222112221211122111111222212112221111222221111112212121111121111222112211212121111221111122111111112211121121112221212112121222111221212112212211221221211221121222122112222222211221211111111211212221121221212211121121112212221111221221221212121122221111122111111211222121122121221111222112211221112121111212211112221221222221121112111121112111112112122111122212111122221122211111122122212121221221121121122212212211222221211222222112211222121212122211221121211212122111222212221122211211121112211121211121122122122121211221111111111221111111112122112211111121121221212112121212212222122121212222121212121222212222221111112222111121221222122111221222122122212122121222122111121212211111112222112211111111211221121112122222111211212221112222112121122111212112222212122222112221221112121112111222212221222112212211211221122121121111122112122122111222111212112212112122211221111212222111112111221221121122221221111112221222111111212221112112212212211111221211221111112211222122121222112122121221122122112111221121211222221222211121111111211121122121122122111211221222122122211111221112211212211111122212112122121112112121121112112122211121212221222112112211212212221212121221211121121222121121222211211211221212222111212111121122222112122112122112221122211121211222211222212111111211211212122112211212222211211221121121222112211221122122112221211111122221112122211222112112211222211212221122211221211211122122211221122112111121212122121112121121212121221212111112222121212112222221121211122112222112121222121222222222111122121122222111211121121222212112221122122211221211121122221112212212222112121112111121221111111221222212212211122111112211111111212112111122122111121111211121211212211121121121112221222112122221211222222221212122211111122112111211112111212121121212212111221111212221112212222211222222111121112111211222121111112111111122221212121122121212222121221121111221122221211211121122122121221221221211121121221111121211111121121211122222122121221222212212121122121211211121111222122212222122221111211212212121111221111222211111211112112222222222211121112112212112111212121121111221111212112111221112221121222211221112222222112122221121112221111111212111121122111211121121121122212221121121212212112121222112122221211122211211212221222122211222212122112122222122112112111111122112112121212222221212211122121111121121212221222121212112211212212211222221111112221121211122221112222111221211121222121121221222122122221222211122112122222211121112111111111111112221211121222212111122221221122222121111221222221222211112212122121121212221212212112121121111112212111111122121221112221122122211211112212211122221221221211122221211121122111122212112112121122121212121112122112221212212221112111122122121222211221212221111111212212112211111112221211111111212221111212122122122221221112222112222121111121112121111121211122221211112212211121111121212221112221122111111222211212212211221122121122112222121221222221211221212222221212221111122212122111211221112212112121212121212221121222112212221121111121222112222112211212111211221121121222212211111212221111212222112122112211221111122122122211221121211211122212112222212221122121221111211212121122112111111222222121122111111112112222212222122221222221222212221122212111112111122111212211211112212222211111221112111121212222122212111222122112211111212111211212222112222212211111212112212222122111121222112221111212221211221211221211211222212111121121112211112211111212121121211111212121211121222221121111211212122221122212112222111221211121111112122222222111221122222212221122222221112221221221121122112211222121221112122222121112222212121121211122222221222121211112222112112221111222222112211221221222121122122121122221222221121121111111222211112211222112121211211122111211222211222112211111111121221111121222112221111121212212112221111111211212211211111121121112221121221222121221212122212221122121122221211121111211211122222112121222222211221221221221222111221221221122122121122211212112212121212112122221221222121212112211222221111221122122122112222212122122211221212221112211121221211111121221211212112222111212121211121121121112221221122211211111222222111211211212212122221222122211111122222221221112212121111112212211221112111111221122122221221211211111112121212112112212112112221122122122121122212211212221111222212222211221221211122211121121222212211122211212121122111212121211121112121221112211111212212122111122211121212211112122222212212222112221122111212122122221111221121121121221211121212222112212111121111212122111111122222122111121111222221221112122122122122222111212212211222122212111121212121121111112221212122112222112112112221211222122212121222121121212112111221122211212212211111112221211112112222121111222112112121122112111211121112111122222112222112212112211121221111211111211122122222221122211111112111121222212122112211221121212221211221121111121111121222222122111211112211122221122111221111211212112122112122211112121122111112211122221221111121211112212122222222222212222111111212111121222112222121111121122111111121112211222122222212211121122112121211121211112211112222112121111212112121121111121122221221221212211111221122111211111222212221121111222222112121222211221211211112121122211222111112212212111112111222111211211112212211112212121222112212212211112212221221222122221112211121221122112111111111111112222222121122111121111222211222222222112122122221212122221111211111211221121212121211222211121222222122222222212122212112212121122221222212121121222121222211122222222112211212111112112212221211112212222212222211212221221222222112111211111122121121111221212211212221112212122121212122212111112121121121122112122112222121211221122212121111221122222212121211111121221112121111121121212212211122111112111212222221112111211221121111112221111222212122111111221112222222122122111222212211221222212111121222222211221222221211112222221211212212222111112211212112121122111122212112111222212212111211221122212212121222222121222221212211211212222211222221221122211112211222121221112221221221221121121112121221222111122121111212211212221211211212222211121112212211212122111211111222122211212221111122112111122122221222122122222111212121112121222121212222222211112221221111211122112122111112122121221212121212122222222211221222111211111111222221112112122211221121121122211221212121112211212212222121111211121211122112221221112222121211111111211212112111122211112112122111112122222211111111122222211121111122121222122212121121222111111122212221211222112212122121212122122112212212212221112121211122122121111112211112121112221112111222121221212111112211122211211121122112222121212211222122122112221112121112112222221111122221121212121211122111121212112121122112211212212212222111222121211222222111111221222211221221222111221222211112212211121112222212122122221121211121112111122212211221111111211122211221221111211122121111211121212112211212211222112212111112211122122122211112221122211221221212222211122121211221112212211221212122112111112122111112111111122112212221122111222122211212211122222122221212211211211122221221121112111122112111111122212121212221222212121221222212211112112212122122212112222111111221221212112112211211121122111112221111221222121211121222222111221212221212112121122212122222222221211121221121111111222111222211211121221222122221111112112221111121211122122111211111112221211111212122212221211122211222222112112111122122111222121122221222212122211122111122222112122121212211222111222212121112222212211221121121222221111122211121221111221211222222221122212222111221122122211211111221221221221122121221221222222211111221211212221222112222111212121112111212222222212222112222212122111112221211212112212212212221222122121211222121121222212112121111122121221121212221211121222122121211122121211111112222211221211221111221211221222221112222222111221122111211111212122122121121221221112121111221211111222122211212222212211212111221221221112112112212122211112122121222221111211221212211112111121221221121221111121121212211112222211112122211122122222122221111211221112121121122112221211222221222222211112212212212212121122121211222222112112211121211121221212211222211221222222121111112122212221122122111121211211211122222212211121111122212211111211212111112212112212221121222211122112112211211111121122112212211222211221121122111222211122111112122111122111112222212211222221122121112222212121221211122112112222112211221121211121112112112111222212212221122112121112211111222221212121122112222222112111211212111112122212111112121122222222112221211222211221121122121122221121211111112212212221222212212121212221121221122212121121121121122212211211212111211211121111111122121121212111211221122212221111122211212212111211112221212111112111121122122122122122211221111121112211221121221222122212121112211221221112112121221111121212121221122121211221122112111112112121212111111211122111221212111111112221212122221112112111121221212121121211112212221212212221221112222222111212111122111212221212221112122211222112222222122221111111212121112211221222212111122122112212111212222221121222212111221221212221111211111212111221121212221212112222112121112111111112121222211222222122112211122211121222221122122212222111212121221122211211212222222121211212112121122212121211212122212122222111112212121111221222222221112121122221221211222211221221212222112221211212121121112212111211112222222122222121212221211112112222112111122221222212122212122212112222212212122111212121211122222212122222221121211121122111112222122111221211112122111221121112122121112121111112221111221221221211212221222111212211112111121111122211222222112122111212221211222111221211111111121122222222222112112212211221222111111111221221212112221212122121212211121122121112111112111122111111122122122112112222111121212212121211211212111211211122112122221212221111211112212121122221212211221111121121121212221222122211122122211211111111111211211221112122112212112111122212212121222222111112112122121112222221211112212221112121112122121221112122212122112222222221222211211122222211112222222112222212122112121121212112211212121211222121111121121111121121122221121222211222112111122221122222122122211112211122122121122121211222221111111122211221212122212221221211222222212111111211221222121112122112111122211112122222111121212112222211111221111221121222111211112212222111212221121221212111221222121222122111211112112211121212112221211211221212111122222112122121111121122111122122211112211111221222221111111112122212112211121121121112212112111221221112212112211122212111121212211112212222221121221211221121112122212111222212221221121212211221221212112122122221222122211212221111111212112221122111121112221212121122211111122222212211111222121212122112112112221111212212221121121112221211221212211111222112212122221212111212222122212212121111111111122121111111221122112222221111221212121111212112222222121122112212121221211121221121122122222112212111112112212112211122221222122111111121211222221211121212212222222122221112112111212222112212112111122211221112211222211122122112211111221122211221121111212121222221122211222221211122121122121222212221112122222221212212112121122121212111222112112212222211121112121221112212122211211212212221112212221121212222222121222111211212222212121121112121212221121121221121121121211222222112212121212122211212121221211111111222112212121112212222121221212121211212122112122122121222112111221111221111111222211212112122121222122112121221211121212121221222221121221222121122121121122121222222212122112111122121211211112221111121212222212212221121211212112122112112122212222221211222222222221212211212222221221122222222211121221121211211211121222222122212222122111112211121122221111211212222212111122122212211221112111112111121121211221112221111221112122122222221112212222211211122212112111111121212221121121212211211111121121222212122121111111111112221221212112222212211111221122211222222211222111111121212122121211121111211111111211221221122212222222122111121111112121222111111122121121222122122212221112212112211211112222121122121221221122111211111212112212111222222211122211221121222122121222112112111122111221112121221212211122121222221221222121121212221121222121212111212221211222111211221211112112122112212221211112211112112121222222111211112121112111211222122212222212211122111122211112111211212221212122121121212121212221211221122222222212221222211222112112111111211211212211112212112221222111122112222221211212222112212222112212112122122212111122221122222212221221221122212221122111122222221112111121221221112212212221221112222211212122221122212121111122111121222111212122111212111111122222111212111121222122222222212211111121212121121122222121211111212221121222221211211121222211222222112211221111111121222121212111112221222122221122122122111211221222121211121211221211222221121122122211111222111112212111121112112212212122121112221211121211111212211212212122221221122212211112221212211121122212121212111121111212111211212111212112111211121121121222212222222212111222222222112121121211112121121222222111212211112122222111111221222221111122211112221112222112121122212111222112211221111212121221112221122121121122122211122121211212212211221111222122221122212212122221122112121111221211111212212211121112212111221221221222112211121122211122212121222212111221212121211222212211211122222212111221222122122111111122222221211112221222121121221222122111121212111211212212212221111121111122111122211122112222112121222111222121112112221122222121121112212221222221211221122222212211122212222222112121221112111212122111122212121111212112112121212112221221121222111211112111112112122111122121122121221111122112122221212111221221122121212222121222212221111121112112111121221212112111122212221121112221212212221212212112211122221221111221121212221112222222212222121222112111222122122211221222222111221121222121222211111212112212111111121212111121122221222122211122112121111211112221221121112112221112211121221111112211212112112221222222222112111121122121211111112111222222212122212211122122112212112112111121221121211121222222122221111121221221111121111221212112122221222212112121121212121121222122211111222111212222111211221111221212222212121222221121211111211121211212221122121222111222111111222112212222222221211111122212122122211111112222111121222222112221222112222212112112222112211122222211111212112121111222122211211121222122112212111121112212221121222111222222112212221212211111112111121212211122212112221212222211122222122111121111112211222111121122121212122222112112212122221212111122121221222122212221211222112111122122111121212121111212121111221122112122111122122111212221212222121221112212221221212212112122211212112112122112212211112112211222211221221112122211111211122221122122222221222121112221222112211222112111221121212221212122211212212111112112212221222111121221211212211221122221211222222211122222112112212211121112212112212222221111112221111111112112221112222221121111111212112122121222121222221211222121221121112211221111211111221212112211112212121121211111212212121222222111222211111211111122212222111121212212212121112221221121211212112211122111222222111122222212112211121212112112112122112111212221111112211212111111221212222211221211221111121222112122211112211211221211122112221222122111212121212121122221111112121112121222211221221112211121211211121111111211212121221212111221211111112212112212111212212122212211122112111222112221222222112221211111121121112121222212111112112111212212221112211122212212221121212121122212111112222212112111111111122121121121112211121211122212222211122222211222221121221121111211111211222211221222222111211222112211211221112112211112211212111122111111221112222121111211112211221112212111221222111211111122111122112122111112111221222112212122122122111212211111222121122222122112221211112222122112122121122221122211121221222111112112211222212112222122222222211212111222111221212212221221221121111221212212212222211111211222112112222222211212111121122112112112221212112211121122112211121212112212222111221111111211211112121222222121222121112111221222211221221122221211111112122212111222122222222122122212112111122221112111222221222121221222221121211112121112211222121121121222222122122111112221122122211221211121111222212112121111112211212222111222212121222211221111222222212112222112221211111122211212121122222112222222111122211122221121211122222111111211211222211221212212112121121222111211112121121211121221112111211212212121222212112122112111111121221211122222111112112221121122122222211222222122212111222222221112111122211221121122212112122122211111221212221212111121122212211122112111221211112211211211211221122222112122122122111222122112121111221221111221111121121122212111211212121222121221221211221212122221222112222222111112111222111212121212222221221122222212122122122121222111211212122212112122121221211111212111111222211121222122111122112221222112221111211111211122121212222211112222221111121121221221221121112121211121221211221121222221121121211221122222211121212212111112222222111211211221122111112112121221222222212212222211122112112121111221112221122221212122222211212121112112221121222212112211111222121112121211211221222122111212121121221121212122121212112211211221112122222211212212221122212121122211211212112221111211221111121112222222121221112221112121122121222222111211122221111221111111121222221122211222212112211121111122121212221111122121112122112222221221212212111112212121221211111221212221111211112211212121111121221212122112111122111221211221111221111211112111222221121112122112212222122212221211212212122212221222121212112211212112222222222222122121121112121212211222122222121212111211122122121122111221212211111221121111212122222111212112121121111112211111121211221221111221221111211121111211221221122122212111112112222112111211211222212222221111221222211222211121121211112221212222221111211121221221211222121111222212211222112111121111112212112221121122111122122212121222112112212211122112212121112211121211121211111121121112222122121121221211211222221122122211121221212111121121221111121122211222222121222122112211222221112121121212221221121222121222211212221121221212222212121221122212111121211221121121121211222211122122222112211221111222222212222122222121212221122212221212221112122112112211212211221122211112211121212112212122111221122122222111121221211111112222121111122222112212212111211112221112221211212222211112221212212212211111221112211122112222111121111221211111121112222221122122212111222112212212122111122222122112111222122212211221212212121212221212222122222122212112121222122221111112211112121111212212111112121212122121121121121221122122112121122221122112122211111111112122112111112122111222111212211212212121111211212111112112221211122211122212111122121221121221121211222211121211121211222222122211221122221121211221111222211112122211122122122121212221121222112212111222122112212121112122222111222222121112121221121121222112222122211121112221111112112222212221212221212211221121212121211122121121112222211221212121212222111221122212212122112122211212122222121122222122121211111121112112212111112212112112122122222211111211111122211111212211221212221112121211121112121212112211221222222212212111211221122222211221122211222112111121212122221221211222222212121212111121112222221211121212122122122222111122211122111111121111111211211222111222111211112211122111222121112121112212212212122221221222111111222222221111211211211221212112222212111212221211222211111222221222112121112212111122112111122122111222121211211111212112112122122111121122112111112122211112211112111222211112121221211122212222111222222112112112211122121221211112221112211211111122112122111112121222112221121222111212122111211222111122211111212111121121212112212111122221212111121122211222222221121212222112122122222221211222221212222211121211112222122112211211221111222221121221112111122221212211122211211221121222122221212222122112122211212112212221221212121111222112121211222221211112222122221112112211122112112221112111222121112121112221112212221111221221122221122112221212212121222221122212221112221221212222112112211111111211221122222222221212211222212112112121221112112211122111121212222122211112222111122122122121111221222211121222112211122212122211211111112122112222211122211112211122121112221122211111111222111122221222121212222212222122111111122222222111122221112111112211212211211122111212212121211211211222212212221211121122222222111211222122211222211221122121212212211211221111221211111222211122121122111122112122221111222212111111122222212211112212112122112212111221212211111211221122122111111212111212122212222222222222212221112211121122212212121221121121112221211211111112221211121112221112212212212122122211211112221222221112122121112221122112211112122111222212222212212112211222211112111122211111121112212112212211111111122121121111222211222111122112222111222211121122122222112122211121212212111222111212122121221112211222121112211112112121111212111212112121221112212212121222112121221122221212122211122212222121111122212221112121121122221111112121211211212111121111121211212111212111212212222222212121222122212221112211212211222122211122121212222121211111221211122122221211112112211111122212121212122112222212122122212222121221212211212221211221121121122222222112212112111212222122121211121112211211211212112212222211212121221121212122112112222222122122112212121222212212221122122222121212122112112212222122111122122221221121212121111121212221122222221121111111122212212112221121212222212222212221211222111222112211112122221121122121121221112212221212111122122221222111112121121221121122211211111212112121211221122112222112212211212121211222211121222112112111111222212211212122211111211121111222221122121222222221122212111222121212221222121222122222122122222211221112221222222211121212222211111121212212212221111112121222211221212122212112111221221212212112111212112221212121221221212122222122121112111221121212212221211121121211221212112221112111121122112122122122211122211112112112112222212212121212222212211121212122112122211121211112122222122121112111122222212122211122222211211111111122112222112221111221112212111212211222212211121222222211111222111222122122112221221112212211122222221212122221221212212212211212121211121121211221111112121212112221111221212222122222121112122222222212122221122122112212222211221221121111222221122211212222121111121112112212212221112221112222121222112112111111122211212211222112122121111211211212221121222121121212112112221112221222121221122222212111112122211112222211121122211121121121112112221121221212221112222111212121111212221212211111112222112121111112222212222221211111212111221212111211212222111112212221222221212211211121121121222122112112221222111122221112221121222212222211111222122122121211122212212212111111122222121222111122222122122211211212111222211212222211211112221221121122222121111222222112211222121211212112221212222222221221121211121212221221111122112112222222221111221111122112121211111221221112121111121121121221212211221122222222122211111121212212211222121121122221212121211121211212112111111221211212111211212212222212222212222111121121221122211122222222222222211211211122112222222212222112122222111122212212222211112112222211222121112111122112112211222111121222122121212222121111112221122221122211121121112111222111122211122121121112111121211222121211121121212222112111221212111221211122211112122221112122221111112212122221222212221121122121111211221111221211121222222221111122111111222112221112111122211121121111121112211212221111112111122222222222111111211121121111212222112221221112212122222211121211212221121111112211121211111111211211122222112112221222211111121221222111121212212212212122212122222112122211212112122112121221221121111211112121112211121112122211121112211221122211212122111111122112221122221222112121121112112121112211211221222211221211221112122211212221221212212111222211221211222221112212112221212221111222112121122212121212121121222211122222112222212111111221122221211121212112111221121222221211111111221122122112112212211212112221211121221111111112112121121211221111112212112122121122212211222122122121121122212211222112222222121121121212222111222111211221111121122112122212211112212111221112221122121121211122122111122112122221211122221121222211221111112121111211121212111122122121211111222212211122121111122221111222122212222222122211212212122222121122222221121111122122222222112111211212221111111222212112211221212211111122111222121112222211222111121212221212222221122212111112212221222122211121121222221221212121212122112122221211222221221111212221122211212112221121211111222211212122112222121112212121212122112221221221222222211112121111221211211111221212212222222221121122112222121211112212111212212122211121122222221112221212122112111121211221211121212112121111121122122211112211121121211211221111221121212121122212211121211122221121122121222112211112222212112222112221121212222221122122122121111111211212221112111222221122121212221112222211222112212221212222121121222112111221211122111121212112112122121122121221221211112122222111122122212121212122212222212111212212122211221122112212212111111112122211221211111221211221211122221111122111211222212221221221221112211111121222221122211121211112111211221211122121111122122112221221112222121222211212112222211212212221121212121212221122222221211211121121222221221122212112222221122112112122122112111222222122111221221222111222212111221222122212222222111211212212211112121112212112122222112121212112221211211111211212112221221211112111112221222221212121221122212121221111121222112222121121111221221112111111112212121222222122111111111221122221111121211212212211112122111111121221111211121111122212211222122111222112222211221121211121112112112111222122122112222121121122222112212221222222222122211112222222122122221212212122112221211212222112122112122111221212212122122121122111112221212212121112222121221111111222111212221221222122211112212222112121221212121212121221111121121122212221211222121211122112212112111212121212212122211121221211121122221212122221221212211112122112122111112222221121112122211122121112211221121222122212211121122112221212111222221121222222122121122112112112222211212111112221211122221222122121121222111222212222122111121112121121112122221212222111222111222212122222212212122212112222221222222221221212121112111221111121122122211221121112222122111111121211222112222122111111211121221122222222212212111221221221111222211121121121112222212122122212222211111212122222122121122211111121111121122222111222122112222122212122211221122211112112121121112111211222112112212211112122222121211121221212222221111221222222111212212121221121111122211221221122122121211111121121111112212112221221222211121121122122121111112212111212122121222111111221112121222221121221222121122221211221112221121212221222212221221111211121212122122112211221121222222122112222222211111222212122111121221212221212222122222222222112222112121221211111212221111122121212121212212122121222212221111222222222121211121221122222222212111121121112111122121222122211222222212222222112121212122211211112111112212211211111111211212222121211122121112111222122221212112212121111212222122221111111211121111122121221212112121222222121222222112112121121222111211111112211122222111212211211211222221222211111122221211112112112121111211211212112112121121111122122111211121212222222222112212121211111121111111122112121122111112121121122221221122112211121112221111211212222112121221212211211221122222111222122212221212212122111112112121222212221212112211122111121121112221112122122122221121221222211221212121212111221221112211212221111121212122121111121212112121121212221112122212222221221212212211121111211121121122121212111212122212212221212122212112111222122111222121112221221222211112121211211221121122122122112121222122112112222211212211121222122222221112211222111221212122111211112121121211222211221112112122122112222112221121221222121122212112222112121212112212222122121111222212121212211221221121212122221221211112212222121212122211121122221222222222121212221212221121112221222212211122122112121212222111111112121222122112211122222112221121221111112222121111222221112112212111111222211211112112111122121212211112112121111212212122221222112112211121121121221211112112211211122122211121221122222121212112122211122211112221111112222212122121121122221121111211221221222112121212112122212221121211112121122211221122121222112211121222211221212221112222122212111212112212222121212221112221111222112221222121121121111111111211112211211111122222221111112112222221111211111111211221222122211221112222222222111212212122222212211221211222122122121112211122222212111122121222122121221222121221122222211111121111121121122212112221111112211121212121122122111112111112211122212212212111122212121112221122121222211221122121111222122112211112121212212112221122221221111212122221211122122121211111112212211222112211111112111122221122122212212112212222112221121121212212111211112111112111222122121211222221122212112112212221112211222221222212111121211211122211222221121222112111221211112212211121222221122211111121222221122222222211221221211121121112211121212112212112221221112111211222221111111222112112222111111212122211122221122222121122121112122111212121121222111111111222212222222112121112222122121122222212221121221121122221222111112111221122222211221211222211122221222122221211221112122112211221211122222122121221122212111122222121221221221221211121122222212212221221111112222212211121122122121122111122222111211112211121111111121222121211122221122222212211211222112122111122112211122221111222122111211121122112121211112212112122211122112112112122211122212112112121112221112112211212112222112221222212121121211212121222222222211122111222221211222222111221212211211111221121212221111111222222121212221121221222111212122212222221221111222121212212211222122212121111121112211221212122221112211122211221112221111212111211122211211111212111221211111111112211122121221221112211221222212221111211112211211122111121121222112122112211111122122222212221121122222111121211222222212122212121111112122111221111121111121121112222212121211111221212122121121121222211222112221121121211112121221212112222111112221222212111112111112111222112122211211221221111212212212122211122211121212122111121212122211112211112121122221222221212111222222111221121112221122111111212212111221111222222222122122211112222212222212112121221122212211121222122212222111221122112222222221221221112121111122112221222212122111221121121111121112222111111122121122112211122121121211112122212111121212222112122211221212111212221221222121112212111111211112211112112221221111122112121212111221221222211112211111112222211211211222212211212121112122122122211121122122222111221222221212122212122112222121121111111211112211111112111212121111221111121112112121121111222112122122112222111111122211211112221112221112111211222112111121122111212122122112111122212211211122211122121112212212121222111222222122112211121212221222221112111222122212121222212221111112211111212112122221112221221212222222122121122121112112212122112221212212211212121122122222111122122211112212112212122222112211221222221221111122221212212112212111121121221221122121112122121212121122212112212221212222111122121111111211121112212222112111222221222112112222212221212221221121211222112211221122212112111111112122111121121122112221121222122122122212222211112111212221221211111212111222211111111122112121111112211211222121212211212212111221212112212111222122212111111221122211112121121111222112221212111111121112211121122222221111122111112112221212211121221221122221212111121211111121212121211221222211111212211211111211211112222111112222212111221111111212211121112222222121112121211111112221212121121221212122222212112222212122111111112222212121211121112122221122212221221111222222212221121122211112112221122112112221111122222221211221112121211222111111222122211211111211212221112221212112212111221212212221212112122112211121121112212121222222221212112112211111221222122222121122211121122222122222222122112211212111122112112221112221112121121221222112121112121121112121111122122211121121122222211211121212121212122122121212212212221211122112112112222212121221122221121212221112111121122111112112212211111212222222111222221222111212221211111222112221211112222112221211122112112211121222211211222212111112122212111211111121221212222221211211111112221111112121122112221111111112121222212112121122221212121121222221112111121112111122222211112122111222222211122122221121222212211112221222212111112211112211211122212222112221122111112111122212222222121111222122121222212121212122211212211211122221112121211121111222122212112111221212112211111121121221211212211111222121221222211211211122111212211121212121121122121111121121221121122111112211221122222211111121122221111211211222211121221211221211211222221121212112111122221212211211112111122221222211211122122222121112212121112112222122222221122221111112211211212211121211222221112122111221121222221212222122111112222111122222221212211212221221211112112111212122122121111221222222122221221112121111111111121211212221222211222222121211221222122121221111212112222121121112112222221222122111212221211122222222211212122121121211211111221222112211112121211121112112121221222222222221221112112212222221211111122112111111221112221211221111221221211121222221122212121121221121222112112121112112121111121122122112121212122111112112111111222221211122111222211211112221121111112112211212112222212122121112222222211212121122122212121122211221111211122211112222112111222112111111221112121212112111122221222122222121222222211112111222122211121222121212122111121111121122222112121211221112211121222122121122111221121112121222122212222222221221222121122221121212121212121122211122122121112111212122111222212221111122212121211122212121111121211221112112122112222211111111212222221222112221121121111121122222212112112112122111121211121221211121221211112121122122111211221112211221112222221221222111112122111111122122211121121221222121121212221221122112222211211111111222221111212112212121111122121111112112111111121212122112121121222221212211211121211121222111211211221112222121111111211222222121212122221122212111211221121211111221221221121121122212122121122121122121112121111221221122112122211121212222112221122221112121212211211221222221111121211222212211121221112211222122211112112111111222222111211121211221121112222211221212111211222111222111222112121122212211222112122212222222221212121122222121111121221111112121121122221212212221211112111122212222212211112112222122211222221121111111222212111211211122221212121222221212221221221211222222221221222112122111122121122221122212212121112221222221212122222112212212122112212221112211111221221122111112122112112221121222222221121211111211112221211111111222111212221221211111222211122121122211212111121121122111122212221221222112211222222221122222222212222222222112122211121211111122111221121221112212122111122121212211111122121221211211122222211111121212211121111122212111211112212122211212211212122112121122112112221112211112212212121112222211221112122211212112122212122111211221111122211111111122221121122111122211222121212112211211212211212211122112212111122221222212222221222121211112111112112222122121122212121222221111221112111111121121221112111221212112112222112111111221122211111221222222122211211212221222212222121122222111211222122211121111112212212222221122111111121211122222111211212121111212211222221121211212112222111112212112211112221111111122111212122111222222122111112121112211221222122121121111211121122111211221112122212222121211212112222122112122211112211112122122111222212121212222121222211221211211111111212211121111212122122211111122221211222121221211111122122211121122122211222121111222211112211122112211112221111222211212112122121222221211112212221221112121122222111222211111211121111211111221221212221122221122221211212122111211121221222222121221212212221122112222122112221112121111222222222112112122122112122221122122121212122222121121222222222212122221111111121222111221112121111222122211111111221112211112222222112121111112222121211112121212111211212212122212212211122222111111222211112222222121121112212211211121212221222121112121121111111121211121221121111211111222221222121211211112212111221112221121121111212111112111211211222211211221112122212211111221121211222112212221111112211221221111221121122221221121221112222111221112221211221211122212111121211121122212211121122112112112211121122212212122222211121211122112222212112111212211122121112211121121221212112222111112112121212221122211211221121221212222211122222111111122222221112221122222221121122212121111221221211221211211121222121112221121212112122122222111212222111212222111221221222122211121121212121222221222212111212211211112111111121221111212222112112212121222121222122112111212122211121111212111121121111222121211112221212221222112212221212221222121122121121111212212211222121121122122212122222121121112221212221121212211211122222122211222111111121211221111221111111121112122111112222221121212212222222221212211122221211111121111122122111111111212112121222211212211111121212122222111211122211112122212122222122222111111112121111122112121221111111221122121112121212122122222222212121221112211121221121122221121112122112112112121121212121121222221121222111222222211222122122122112121221211112111112111111222122222112221121211112212111111222221112122212122211112222111211111112221212221121122211122211111212212121121112121211222111111221212222212111112111112212211212212221122222121221112121212212211122112212122212211211212122121111121211221111121221122121222121122221122111122112212111211211212121212122111111122111222221122212221121221112211111211111221122222122122221112111121122111112112212212211111112112121122111221212212211122112111211122222212112122222122121212211212111221211121122221212221222122211122211121111211111121111112222221222112212211222212111121212122222111121111111121112111111222211112112122112122211212222112112122212122222212121211221111212122221211112122212122211221111212212122111212212111111111222221122112211111211111111111122211111212111222122122121212221122222122122221211211121212112221111211121212111221111122221221222212122221112121222212212211122211221112212111111111211211222221222222211221111211212211212222222122112112111212222111111111221112211211221211211211211112221112111121122121222221111221211111222112121112222211221122211221222222111112121222212222112211122212212222222222222111211111221212121221122222221211112212212112222111211221112212121121111222121222222211111211121222222111211122121212211122212112122121122111222122212111121222212121222122221212111112212122122211222211211112111211211111122111221112221222111112211111111221122111121212211122122112212221122212112121122112212221212212211122222212211111121222112221111222121222111121211221121112112222112221221221211121112221112121212221121221221211111222122211221212111212221211211111212112222221112211221122212122111221211112121111211121112122221222122111112212112121211222211212212121122122211222212222212212111221112212111221222221111111112211212222111211112212211211111111112122222112122111211112222212122122122211211211121212212111222221211121111221221211222121122121112212111111122211121212221212221112212211211221222111211111211222121212211211221211122122111222222112212212222221222122122122211121212111212211222121222121221221212212212222212112121111112111212221111122121111211121221122122212222121122211111111221222111121111222112121211121122221222222221112112211212221112112221112222221111222111211111222122111212222222122112211111222212211221111121121122112221112221112121211221221211212211112212221111211122122122111121121112211122111111222121211212221112112121122211221121111212222122111222222112211121212122211122112211222221122211112112222112222111122211112112112221212121222112111222221112211112121122121221111112212122121111222212112212121212222221222222122221212112121221212121121211111111111122211221211121221211122111221221112212111222111212212111212222212211111211211121111122112112212221222221222121211211112111212222211111211221121112122121121221111112112112112222111212212112212111222222222212121112121222222212122212212222211221122211212222122122211221121112121121112222222211221211111212212121121111222222112212211112212212121221121222112111122222111211111122221221211121112122111221221221212111112211112221222122121121122112111112112112112212222221222122222221111211221221112221111211211112121111222121211211121111112211122222211122122211111211111211121111222222121121112112211212221211212111111111212221121121211222221211212212112221111212111122122221121222212112111112122211122221122121221111111212222212212122211211122212212112211211111222111212221212211112222111121212221121221211221222222111212211211122112212212112112111222222111222222122121212122122221221212212122211211111122221212121221221221212112221112211122121122111222222112122221121221121111112221122212212122122221222221121221221211122211121112212211221122212112122211121212112122122122112121121122211122211122222112221121221222211222122112112211212121211111222112112121221212221212122221222212221111122212112211221111111211211111221211212221211111111122112122121122221222122211112222112221112221211212112111111122211121121212111122211221222222111122212111221222121121121212111122211111122221112221112121222211222111212111121222111221122121121112221221111212112211221112212222122211212121121221211122121111112221112221111222212211222112122112211112211211121212122211221121222121112222122212111111111112211112221112122111122211221111121111122222221122122221212111212122211111221112112112121212221122112221112111221211121111112212121112111212212222112212111222112121212212122212221121212112122121221121212221221122221221222112122121122122111121112212111122112222212221112221211212111222112122212122222112112221222211222211112211122112121212211211212222111222122111112222121212111211122112222112121212112122121221221222222212222122121112111112212122221222222211121221122211122122112122212111122121121122222222211121122112212111212112222111111212121122122221122212122221222211111211111222111122121121221211112121211122211122222122122111212211111221121111121111122222221212221122222222112111211211122211112211221122211122222221112122122211111111112122112112222221211121122111222211112221212222222222121121111112122121211222122211212212211221222111221122212122112222222122221222212211121122212121211211221111211212221112211122222112222211211112221222122122111122222212122121221211111222111111112122222212111111212222221122222211211221122221221212111122212211122212221222121122222121212111112222211121211111121222222121211111121111221211221111211121111222211122212111122212121221211111112212112211211111121221112111122111211122112122221111122111111121221122111121222122221121211212111222211122112212112112111111221211121111112222122222222212221121212222112221221111211211112222221121111211122212221121122121221112121211211211111221111121122121221122211212211121212221122222122112221111111112221221111211121212122221122221222211222222212221111111112211112222221121112122211112122211112222121211122222222222111111222121222222112111122222212212212211212211111221122221122121121222211212121212211121221212121212221221221111211112222121212211212122211122221111211211212121222212111212221122112111222111111212222212111221112211112122222212211211211111121122122211222122221211111122222212221222221212121212122221112121211221211221211122222211111121221222221112122122111122212111211221122211111211212111211211221111222112122221112121222121112222122221212121121122222121212212111121212111121121112221111212211111222122211122111212121222211221211112211212112121211211121112221122111111111112122211111212111112222211222122122212222121122221122121111121211212121221211212221222212211112211222212222222212221121122222221112211212111122211211211121121221222112212121211122111211122221121222211122222221122222111111122122111112111211112212112211122212112112112221222112222211211211222221212211112121112221212212122111222221121121121211111111222111122211222211111211211211222212121211111111221212221111221122121111222111212212222121122212121222222112112221112221121112122222221211212222121222122212222211121212122222221221221212111122122211221221112112121212221211122111122111111121121222111211111221112111212221211222212222212112121222121121122211121212221112112221112112121122122221211221111211121112222222112122222211121222211111222121222121111211122112212222211221222122121221221122111221222112112111122121111111221111111111212112121211221222112222221111222111212121112121111222222221122211212121122122211122121122121211121212122111222112211212122211222111212112121111212221121221111122222222212111112212121111122211211121211212112221222221122212211111221212222122211122111212111221221211222121122211122211211121112121121211212121222222121212222112112111221211112221122112112222111221111211212121122111122122122211211111212221122221212212211112222221221212212111121122122222122121122111111122122122222222121211122111112122121211121221211212111221112222111112112222221222221212112211221122111122221122111112212211221222212221112112221221212211221211112211112211111112212112112122212122112112212212222121111212222122212222121211221222121122221222111121112121111221111212111212211221211122222122122111221111122122121111212111121211211112112221122212221221222211122122211111222122211211122111112111212121222112122112112121211112222111212121211221111111211112111222111212211122112211221221222122211221221221112211221222122212212221122111211212222121221211112222122221121212222111112211121222111121222222222212121121111111222121211111121222122211112212122111112121222121222121121122212221221222221122222221121122121111222211122122221222211111111222212122122112122112212221121111222221112112221111211221222211122221212211222221212111112112212111112222111112112121112121121122212212221212121112121211212211211112212211111222211222121222122112111222111112221221111212221221111111211112121122111121212222211121212222121221222122121122111222112222121112221221122212212222112121121111212212221121221112211122112222221222222211112122121122222221111212122212221122222221112112122212112111122122121212222111122212112122211211112122112211121211221121211112112112122111112111112111121211212211122112112111222112221122212211112221112111112212221211212112112122122111221122112112122112212221221221111211211111122122121122121111211121111221121212122122222211211212211222121121222211121222121111211121222122211211221112122221211111121222221211112111211212122121222111212222121112211112221121221222212221221211211221222112121221212212222222211221221121222212122112111211222111221211121212221112211121211212212122112222211111121122221112212211221111211111211211121221121122222221212122122122221212212222121111221212121112221222221111111122212211221211122221121121121121112212111222222122122222111112222111122111112122221221222122121221211221221211221121112111211111222112222121212122122112221111122211121121111111212221212112121222212111212222122111121222221112112222221112122212122122221122221122111111211112122222221211112211122222212221112212222221122211221222122212112222211111122122222221221121121112221111121221221211212211212221212121212211111121122212111121111221122112221122212111212122112221112212221121221221122122212112212121121221122122112221122222212222211212211211112221221112122221222112221212212211222121121121222212122212111112222212222112111221222212112221121111111211121211211121221222212222112212122211122111211211122121212212211211121111221121111121122111211221212221111222112221121211121222221122121211111122221211221212111212121112212121211122121122122221121221112111222111212111211212121212111111221122212112112121121111222122212121121221111221212112112222122121221122222212122211121111221212121222212111121212212212122211222121121211222121211111222111121222211222122111222212112222221122122211221121121222111222121121121222211211122221122121211221221111211221221211111122122121122221211222221221112121212111222112121221221222121121212221121221122211211111211122112222212121112221121111211212221111121211221111211111122222112222112221221112121212121122211112211211112111222222211222112112212121222111222222222122112112212121111211112111112212221212111122222212112111121112112222121221211122221221221222112112122211212121122112112211112222211222212111211112111122211122121122221122121211111122111222212211222221211212112112122112221122121211121112211111211212222111122211111112221222222212122121122111211211122221221212221212122111211212121211222211212212212211211111121121112111112211211122222111211112121112122112212212122221111212212121222112222221221222122121122222222112212212121111111221111112111211112121122211222111122121122122122111111212122112112211111222222111222121211211112111222121222112221121212111211111222222111221111221112122212211112212221112122211112221222121212112111222122221122121121212212122222222222122111222221221222211221122221212122222221222221212222112211221112112122222122212221212122221122121222122121211211111212122221221221112222211222222212212111111121211111212111212222222212112222111122221211122212112222212112211222222222121222112112111121221211222221211212221121121121112221211221212222112111111111222121222112221211221111222122211211111112222222211211212111111211111212111111221222222121211112222122121121111121211111212221222211112212221112111211121212211212121212111121221211222111212112212121212222121122111121222111212221211222122111111211111211121111111212212122221122122112212112121111211122211121222211121212121212212221221121122222221212211211211221112112111122211111111112212112211221221111111212112222221211121121122211112111112121122211212111112221122111112121121221211112211112222211212122111221211121121221122121221122112111122212221212211122211222121121121111121122122221112111222212111212212211121112111121221121222212211212122112211221222211221112111222212222211222121211121112121211211112222222122211122111111221221222121111122212112111122221212122221112121111211112122221211121121112122112111111121112112212122222112112112112112112221221212121221111221112122111221211212122122221121112211122112122112121122111211112111222212111112111222222221211111122121112221211211221222112221111212111221112221112111222111212111221221221111111212112222112221121211122221111212111112211222221211112211122222211211211222111211212111111221222212112221212222112211211121112212122112212222212212112212122122212122221121212121222122221122222211211122221211212111211222112112112121112212212212121111222212221112112112221111222112211222221112112211122212212122212211211221111122221111222212222112211222121222221122221122211111221212221221121122222112122121122112121121112212212121222111111211222112122221112211121212112221112121112211122112122211122222122112212111221222212111212211211111111222121222111211212122111211222121212211112111112221112121211212112211121222222221212222212212121111121111211212211121212222211122121121222212112122112121111222212122211121121221211111111211212221112211212222121121222211222111112112121112211121211212212121121122112211212221121121121121112112221112212221122212222122222211221211111222111121212121211221212122211222221112211121122221211122212221112111111222221212112112221112112222121112112121122212111222111121121221221111111121211122111111111222221221212221222111211211122221111111212121222112222122212112212111212222212221121212211221221222211212212211222122122222221121222222211122211121122111222222222111111111211112122221211221121122221122221211111111221111122222211122112121222212221221122121212121121111212222111122221222212122122212112121211221211111212222211221121122222112212112122212111212112222222111111222121211112211222111211221122111112122212121211112212121222122222211221122121112122211221211211121121222112122211111211222212212221222122121221211122222112221121112212222222222112212121221121112121222121112111122212121122211222211111221112212122122221111212122222111212221222211211111122212121112212122111122112212111121112212211212211112222112111221121122211212121111211112212111121212111222121121111221121221112211212222222221122121122111121122222211211112221122211211121221111111212221121211121222112212212221212212121211122112111212221122121211112111222211221221222212222122122211221112122111211112121212211122222112121111121112212122112112221211221111221222211122221122122112112111222112211122112122111221121122122212121121221211212111211212222112211122222122221222222122121211221111221212222112112111122121111211112221222222221121121111211221211222211122122212121111112121122222221111222112222222111111121111211111221122112112212112211112212221211112222221121222211121212211222221121222211111221121211122112111212121222212212112221111121121111222211111121222211222111221211122111122211212221211222112222111211112212122111211222212212222221212121122221222112212121222122221212212212211222222112221222222221211221212212122212111211112221112121222221222122212221211221222111122112221111211212222122221211211221112211111221221212222221212112111211111222221121111222122111212122112221222122211221111221221121212221211121121111222222122121212212212121221121222122222211111112111212111222122211212111221121221111222211112221221121121221122221212111212211211111122211211222121211122121221112212221112111122122212121222121121121111121211111212212121222122121112122121211111112112212112111121121222112121211222212121221222212221222121211121122211122121211212221122112112122212221112112222222222121221222122221112222121221111112221222211212121211112121221212122121222222111211221222212211212222211112222111122112222211111212221211211121212222111121122222211122221212122122211222211222111212122221222121221221221221122122222111211122211122111121121121211122122121221222112112122112121111211212221222111222211112111111122212112122221221112121111212121221111211222121122222211212122221212222222222121122122211121112212211121122221121212211112121121212221121112111122211122221121211221211212111121121112111222121222222221211222111121121111122122122112121221112121212222222111122111121121111111111221222212212221222221111112211112222211222222222211122112111121122122212112122212112111122111221121122122221222212211211211211211222121222211222211212121211112112111212222122221222111122211211221122212222222112221121222211221222222211121111221222211122111211112211222121211221111122211122212211211211122212121121121112221212112111121112111122212122211221111111121111121222212222122212122211221221122112211212212212211212121122222122122121121112112111112211221122122222121212121221121111211112122121111111112222111221121112211221111112212221122111122212111121111221112111222222112121121221121222211122111222221111111221122222111112212111222112212121121121111121212212212222112221222212111122222112212211111212222122121122112212122221112121212221221221111222211221211211122221212212222212111112212122121121222121212211222121121222122112122122222221121111212212122122121212111212212212212222221221212121111111121212121121112122212222121212122122221222222111212111121221211111222212211121112221221221122112121222212122112221212121221211221221122221121121121111121222112121211111112212122122111121111221112121222212122222211221222112112212212212122122211211111211221211112211111222222111211112211211222111112112121212111111121111212221111121122211112221112221111112221111211222222222112112221122221121112122112121221211112212212111122221212222212221111212112122112222122121122222212112212222122111112212122211212212121221211121222221221221122222111111112222112221222211222122221112211111121112122221121222222222121121111222222211112112221112122221121111121221212111222112122111121111111221221221122212221212221122111121221122212111221122212221222212211121212112121211221122112211111111211212212111222221212112121122122222221111112222121121121121121122221121222111112121112221122221122121121111212112122212111122211122111122121222112212211222221212222112211211212221222222222121222222212212112122211122121112111221111222122121222111221111121121121112212221111112211111112211222222211221221111221121211221212111121211111211112211121122211112121222212112222122221221112211212111111221121211211121222221212121121212211222121222111222211122221111222211212211122211221212121112112211111212221122122212211221222222211111121111212121122111121222221111212221211222221122121221111211221121221222111121212221121112212112221222112121121211112121211221122222122122212121212211211211111212122221112212211212112221121121122121211221211121221211212112111111221122111212211112121212222121112111212212111222222221222112212122221221222111121222121111121112122111111222111221221111111222221121212211122211112211221122111112211121122112112111122212221222222211212221211121222122121121211211221112112111212121221221212212221112211112112222122111212222211211222111222211122111222211122111222211211121212212221212111222212111212211111222221111212211122222121212112122111122212212112122211222122222121112111111221212222211212221122111221111122121222121111211122122112222111111121221222112112121221212221222222112222111212112211221222211121221221121111221122121122212112121211221212221211122221212121122111211121211212121121112122211111211122122112222211111112122121211221222211122222122111122112221111221122121121211221212111112211221121122121211222121211212211112122222121211221121222222122212222111111212112112122212211122222111112121221211212211211121211212211112111112122221211222221221121211222121111111222122121112111112222121122222121111211211212222221211121221221212111222112222112221222122111112111212121221121221112111111212222222222112111222221211121111122122121122111111112222121211122222221112211112221211222121211111221212122111112211121111221222111122211212112112222122222111211222221111122122112221121121222211111211121222212111212112111121112212221121221122121112111121211221212212211222112221112212112211222221211112122122122112112221211221212212212212212112121211111222111112121122121211222121211121122211121112222121222222222121111122111222221211121222112112212222122222111221222212211222212212212222222111221111222211122121112222121212211121121112212111112122121222212122112221212222112222111111111212122112121122112111121121112222212121121212112212121112222212111112212221121122212212221122212121121212221112112212122221211211221112221212212222212212111121221221211221122121212111212121212112222211211221211211121111112222211112112221122211122222112122221211222121212121211212212112221121212212212222122221212121111212211212112121121222122222111111112221112221122121222121122221222212211111121221122112211111212211212112222221212111211121212112222112212211122221221212111212212221211221211211122211211122222111121121211122221222121222111221212122211211122221122212122111112111112122221222122222221121222111212111212121111121112211212211122122221121221222212122122112122211211222112221222122211111111222122122211121212222221212122212121112121222121111221211222211221222111122211222121121212212221211121122121212122122112212212121111221121222221112121221111111212221212221122212212211112211111212121222221122221222121221121121221221221112122111122212211122111111121122111211121212112122112211211121221212122211121221211211222222221111222112111212122112122122121222122222222221112112112211212212212112122212211121222122211122221111122211112111212212121112112121211212221122212221212122112112221122221112212121221221121121212111121112212112211221112222212111121121112111111111121111221111121222121221211221211212111122121222121212222112222211211112222222221121221122212212221222222111212211112111211212212121222122221122111121211211221122212111121211212211111121221211212211212212221111122211121211212121222111121212122221121211212211211211122212111212111122111212212221112121122121121111112121211221222121121221221221121222122211112222122112121121211121222211111221212222212221212212221112122121221111221212122221121122112221121221121211222122222122122212222222222221212111222212112122112212121212222212122222122112112211212222111221111111222121122221222112222212211222112222112222212121221121211221121212121211212221222111122212222221222122121122111222112122111211212211212111212211222122221122122222221221221122112111112121112111112112112221112211221122222111111211112221122111111221121222212122212122111211112112121121211122221211211112112121111121221211212211112121121221211111112111212111112122221122122122111211112122121121121212111111222212112211111212212122221221112122211112112111211121222111222222221211112222122211112112212212211221222121211111112112121222211112121222112112212111122221122211112222121122222121122222121212222111111222221211112112121122121222211122112121211121112211111121121211221121112122121122111112122112222211212211212111121112212111222112122221212222121121222112222112111211122121121121221222222221122112212122222221112112221121212222121212112112121111222112222211122211211111121112211211221211221122211121211112112122221121121111211211221222112112122122112222121121222212122122111122112221121211221212221121122112221111222111121222211222111212212212122121121122121211221212222221212122221212112222121221112212121211122221221121122121222211212211211112112212112121112221111122222122112121211222121111122212212221211121212211111222112122222122211121112222212121122122122122221111112121212121211211212111222222121111212112221111121111112122222221112121121222112212221121112111221211112112122211212211122221221112122222212121212121122221221121112222222122121112211112122112211221212222122211221212212122212221211221221222112112122121222121221121222221121211112222122122211212111121111111111221122211221212211222112212122221212221221222111121112221221112111122211122122211221122211111112222112121121222222221211122222122122112212222212111121222111211121211122212211121222211211121222111122112211211221112111211121211112112112222111222112212121112212212121212122111111112122221211221122211221221221111111121221111111121211121222122221121222211212121221121211212211121122221112112122111221122121222121211211212122121222222211222122122221112112211121222221211222112122211112221111222111212122222111112111112122111211111112222221111211121121111221221221121222222121111221121111121212112111211121222221222112121112212222212221222111221121112112121211211111222212121222122122112222122111222212121121211221111221111211112122212122222122212121122122212122212212221211212222112221121111122211211211111121222212211112111112111222211222121211211111222211111211222221212222122211222122122222222222122121112212122121212211121221122211112211122111112112121211222111121121122111121222211222121222121222121212222121122122222211212211211222221122111222211112221221111221212212221221121221222212121112212222112121122211222212121222112211121112222111222212121222122122111222221122111111212122222111212121121111121222121121212111211122111111111112121212212121122121122112222222222222121112212211212111122122121222221122222212221221121121221122212112211222122121222112222121211112212111122212221121122112121111122111112212111121121112211122212212111112111121212112122111111121111112221212112211112121221221112212222212122122211112111211222221222111212111222211222112122211122111222121112212211222111222122221221122212122112111112221212221121221111111112212221222111212121112112212211222221212112221221112222111222112212211111111221211112121122111122221112111112211112111221221122221211121222222121211111122221211111111121111112121221111111112121222121221212112122221222112212122121211222221211121222212222112221121112122221222221122121211121222122122212121212212212112122122122222122122212112111111121221222211221121121112221111111212212212112211122121212121222222111211112222121112111121122211211112212211221222221112111222222211222122122122212112211211111222121112212121121212222212111111211111221121221222222222111121211211221111211122212211212121222121122121211111212121121212222211112211121211121212222121222112121112222111211221212221122121212211112112211211211212112112212122211111112121222222122221211211222221122221121112212221112111112212121221222112111122211221211211122111122221212112121221221222111221222121112111212112211221221212211222111212212222121221221121221112112112122122122221211221122222212111111122211211211222222112112121112222121222212121112222221112211112111222112122212212112212121112211221121122222122111122121221212112212122211111122222221111111221122121222221222112211222222122112212122221122121221212122112212121121122211121211121222112122211221121221212112111122121111122111112121121212211222122221121221211222211111221212211121211112222122211121212212211121112121112212222111111111212112111222221112211221111222222122221111211212212221121221212121221112122112112222112112221112221222222222221211111212212221222122222111212211222122211121122221111112122212111221222122212211211222111212112212122122122221211111212212222222112212112121222221121122222222122121121111111211111112121112111121121111212221122212121111112222212112212211211112221111222122122112211112122212112122111121112121122121211112121112121121221211221112211112212212221212122211112112211111112122221211111211112112121212211122112122121121122222222122222112221222111211222121122211222221212212212212111122122211222211221111122212121222212211121111221111222122112212211111112211111122211222221222222112222211122221112212221121122112111212111111122212112121212222222222221122212122212212221122121112111112111112121221112222212112222212211211121112111122211222121221122212211222111211111111122121211222222211212122121211211122111211122221211211111112121111122122211212111221221121111221121122221122211112112121122222211111211211122211112111121111222122211121111122112222111121211111112221221212121211111221211112122212122112222212222121111222122221111222122122211122122111121121211211211222112222122121212212211221221222221121111212212121222221211211122111122212222121221112122111211111221121222122211112211112112121122222211111222212212122221212112211222221212121222122111111112112222222111212111212221222212212221212211121112112212121122121111222212211211121221121212222222121112111212222111111212221122211112221111111122122211111121212222111112212211212111121111212121122121212221122121121222222112122122212212211111121211222122221122111221111212211221122122221122121111111112222111112122221121121221122121222221111122212111221111221221211212211111222212121121211121111211112122222222211112212212222121112121112212122122112122111212121122122122222122212222221221222221211112121122111211211221221112121112112212121112222212111222211211211222212121112122221122112122211122212211111222122121121212122222122221222212222121222211111222212121221212221212212212122122112222222212121222122112211111211221211212122222221112212121222112112212211222111121121122111122111222211222111122211111221212112212222221121222221222122121211211211211122221111122121222112212211111111212211112112212122122112222122112211212222112122111112212211222222212221112112111212112111112122122212211222212222121221112221121221212111221212111122211211211121122121121222112122121111221111222222212212122222221111211112112212211211222122111121221111222112222221221211211122112221112222222111221211222211211222222121111211112221121212122221212222122221122211122112111211212111112222121211112211212111222121112211121122122211211211112121222122112122222212211211122121111121122221212121112112221212221112111112211222122121221211111122222112121212212122221212221111111212122211221112112212222111121212111112221212111221222112122122122111221212221122111222121211221222121211222211222211212112222211222212221122221212112111112122121111212211212212121122121212212212222112221122212112122222112112121111212211112121212121122221212211122112122221122212111121222111121222111211211122111111211221112212121211222221112211221221112122222211211111212112221111111212111211112111121211112221222222121212122121222112211111112211121111211112222112112111222122121222112221221122111122121122211221122121211122122221122121222111121211122212122212112221221221212121122211221112212212121112112221111112112122122112212212121211112212221112211211212122111222212111112122121122121111111112212122122112112211122121111221122112112222121112112111121111211222211222212112221112221211122211121112121112121221121121121222212111211121211211211111211211221211122122122211112221221121211222111222211212211222212211111122222122121211111121222111222111211221112111211221222211222122221221211111122222222222211111121222211111222111211222222121121221212222212221121212212221212122211212222111111112221221121212121222222211221112221222221111111121111122221121111222112111111121211221221111221111221112211212212221122111112211211222211121211122112212112211111112222221112112221222112122112122222121222212121222212221211211221221211111212122222222122221221221121221122121121112222222212222112221122212212212111122212122111222212112212112122112121212222112121121111122111121112111121122121222111111112211121111222121121111121112221112122211212112112222111111111221222112111122212112221221122122211121212112212121112212122212121122222111212111122212211212212112112112121211122121222222221112111222212121121211221212112112112122212122122122121121221221212121222221121211111211111212221112122221112122222211112222211221121222121111211112221212121112212112211212222221122211112122121212211111121221111112211121221221211221112111121212211211111222121222112112112111211221221122122111111121122221212112221211221112212211122212222111122222121121212221221222211212211111111212221212212112212111221221221111211221222112222222122122122111111122222211211221211222221222212122212221121211221112121122222212222111111211221112122112211112222222111211112122112121211221212111211221112122221211122112111121222211121122111221122212211221111221221211221121122112122112212211222221222211212121111121112211221111211211211111112111222122211121212212212121112111111222222211212122212222222111221211121222211112111112212111211221122111211221122212212212221221112211212121121212121122222222122112222212221121121111222121121211121211222211211121211122121221221222211212222112122211122112121122112121121221222122112211222211222222111111111221212212221111111122211112112222221111212121112121222121111121112211222212211121212221211211112121222222121121112122222121211211221222222122221222221111121121221212221121221112112212221111121121212211111221121222211121222111112111112122121221221111111122111122121111222122121211212121221111222212111211212212221212112222211211221111221111122212211211111112211112221122222111211112212122221112222212212122122112122111212212222211221211211212111212122211211211221221122111212221222221122212212222122111121112112112221221122121111121221221211112112111222122122112121221212122222111212211121121212112222111221121222212211211222212122122212221211212222122221111121121222222112211221212121211111112121112211112222221111122212212222121112122221222222212211111121121122111211212121112212221222221221211222212211211212211222122111211122212121122211112211222121112111222222221221112212111212222121221222121222112221222221111111112112112222111212112211211211122121221121222221221111112122211122121111222112212211122221222111221121212122122221112211211212211212222112212122111121121122111211212221112121122111122222112221121121212212122112112212211122221211221112122121122211222111212122222211211122211122222121112211122212222121212112121221122222221121222211221112212221112112111111212222212121111121122121211221112122212212221222111122122122212122111122221112111112121212122122122111222222221212112221222222222222121221221221222212122222222112121222121222122121112212222221212122222221222211112222212122212211111211222212212221212212211121112221121212122221221211222221222222122112112111111212112211222221212211111112222111211122222211211121212221122111222122122121222221112211211121212111221211222121122121121222121222212112121121222212212212222212111122122211122122111111222212122122112112121111121222222112212122121212111122122122222122211222121122121112222112222211121122221121221111212222212221111212221221121121112121111122121222221212212211211212212112222112111211222111222221111112111222112111121211222222221121122111221121211212112222111212221121122111211122222221221121222121112121121221222121111111111221112222121222112212221212122211211221211121121112111112222112211222211122221121111221111122222211212221222221212111212122111222212111221121121121111211121122222222222122112212111122212222222211212212212122122222112121112222222222111121212122122111121212122122222221222122212112212221222111121211211112222211121111112111112222221122211112122112111121211121122112121112221222112121112211112221212221122211122211211222122112222222211212112222222212221222212222211122122121121112212121112222122221221212121111112212111111221212122222112112111212111111222121121122121222221222111222211222212211121121212222222122121221222112221221222112111121122112221221122112122122111122121122212112121112221211111122212222111221211122211122221222122121212212221121112211122212121211221112212212211222212211112221122212112121111212212222121121222112122222221121212122211112121122212221212112212221221112121222212122112212221111121212122112111121121211211211212111212221222111221122111222111222211221122221112222222121221111111111112222122222211222111121222112222121221122112211112122212211211211112111112122212121211122221122221212111221211212122221111221111212112121121211221212221122212122122121121221121112122112211221122112111121112211111121212121122221221222112121111211222211221111121121222112121121221112212112222212211121111221111211121121122211111211211111221221212212222122221222211211111112112211221121112121111121222112221121122122211212221211111122212112122212222122111111221122221112112111221122122121122111112121112211112222111211211212121212212121121112211111111111222112112211112222221122111221111211222211121111221222212122121211211111222211221111122122112111221212221212111211221111222112112221211111221221122211111111222222211222121112112221111122212111111222221121212211212221222222222121111211122221111121212211212211112212212111222121122211111112111212212111122112222121112111122112211121221112112211212121212211221222121222122111112122122221211122222112122222222121211111111211122122222122211122112122222111111222111222222121221122212111211221112212222221211222111221122122211212111122121212111121211222212222112111221122121111111112121222122122211112221212122212122111212211222121211222212222222111121221222221121111212122121221111221112211112222221212212111212122122112112211221221212112111222112112112111112111211222112222121121111121212222112221121111112212211222121121121212222122222222112111122212211121221222111211122221211111122222222221212221212121111212212111221211222122122212212221221111211211112222121112221212112212112112112212121221211211111122122211221121112212121222111211121222212222221222211122112111212211121211212212111222112211222111221121121212121122211112121222121211122112222112111212121212111122122222111111222212222211121211122122111221221121212221222221211222221112212121122121212111222212112122111211122212222211222122122111211211212221222212212111221111221222211122221222122212121112212122211221212211221121212221212122211211211122122112121122112121211111221221211112212112111111222212212212211112222212222211221111121112212111112211111121212222212122222122211221212121222211111111211121112212222111211212121111221111222211211222222211211112221122222222212222111222222112111112112222212212111211111111122122112112122111222112121211221111122122121221211122212222221111122111211221222212122122121221211221211211222121111212112111121121221121121121222111121111112222122221211121111221122222222222111121121211122111222221111221122211122222212222222222112122222121211121111222121221122221121211121121112221211221212222122112112112112121121121121212112211121221111121121121122221112112212121222121112212122112111211221211221111121112121121122211121121122222121111112222212211211122212121111222112112212121212211212211121122221111212112122212122221121221122122112121111111211212212211222111212121122121221222221222112111212111211212212111212221221121112122222112112112222212111222121122111111121122112121121111112122122222112222212212111222121122112221221211212111211122112111121122211121121212222111122221112112121222211111222112211222122121112122112112212122112122212222222221221112122111122222112112121121121112112112122211122211112221121112121212211112221112111212212121112221221221111212211121211111121112212221222112122222212221122221222211222221121221122121221212111111121211222212212112212221211211111112211121211121121221111212222121121222122222121211122212211111122212221221111122121111221112122122222221122211211122222222121211211122212121221212222122121211111112211221111212211221122221212111211222211122111112221211111122111121222111222221122221221222121121222122211112111222111111211122121112212122122212212122122111221211122122112121211111221121211222221111212222111212121211211112121221111112112122122111112112212112221112211211212122221122111211222212222211211211221122221212112121222112221222211211122111221222121221121212112122112121121112112222122121211112221212122121122211111112122211121221112222221222112222211122222111221212121111122211121111112111222121221112122111122222111222111122221121121112121221212111121222211121122222121211211211111121211212212212122111212121221111222111122211211212121111222222121121111222221211112122222222211212121211112222121121212121111112212122111122221112211112112221211211122122222121221212222121122121112121211122212111112211111111112211212122112112111221111111122212122121212112112221121211222122221212221112221121121121121221211222122122211111212212212211111121221111211122112221112212212121221212122212221121222222122211211122112112222112112112211111221111121222112121111122221212221121222112212222212122111111122112112222212112122122221112222122112221111121212221112211212111122221212212112222212212122121212222221112221211221112222121212121211112222122212121212211111222111112221112211212211121212222212221111112212222122212121212222221211112221122212111121221122112221212111112122111111122221221111211112212221122111122222112122111111212111222212212111112222112212122222222221222212212211112212122221222121122122112221122212112111212112222222211112111111222122211211221111121212211121211211111222222112221212111112212222222122222122121112221121212121211112122112112112212211121212211212221211211222222211111211111212112112111122112221121211112122121212212121111212122212121222222221212211221121221111112112121111221112221112211222121112221211222222121211212111211111211112222121112112112221111112111212112112211111122112212121111112211211111112221112212121111211211112211122222111122212112221212112222122111121221121211121211112212112222112211111122122111211122211222121212211221112121112211221212221121112221121112111112212221222212112212112222222112222112221211222222122211112112212122122111121121211222211112212111212111211221111212221221211121121122211111112111221222222222111212111122112211121112112211122121212121221211221221212211111121111122121221112212221122112112122222221222222121211121122122221212111112211111211121112122221211112122121221112211122221122222222222112222122221211221122221121222122112122211112111112121211221212212121122221111122112211211211122122222121111222211211122112211212221222111121111211211212221221122122112121222222221221111212211122112211111121121122212122111112112222121211111211221221121212111212211222222121212111122221212112212211111111112121212222222212111112111122212222221211111122221211222111211221211121122111112211221121222121212112112112221211121211221211112222221122222222212111211221122112121122211211221122111211121222121111121211122222212121221211211222212112112112112211222122222222112111112122112112211221112211211121212122111122121121121122111222222221211112212211111221222121222122122122111121212121212111122112222111222111211121211211211211212122122112111211112121211212212221222121121222111221212221122221212122212221211112221212212222211112112222222221212212111112221211221222222222121211122111122122212111121111211221121211221121221121211212222121212212112111111121212112122112222111222222222121121212211122211121122212112221121111121212111121211122221221112112211222121112211111121222112121211222221121222222221112111122211111221211221111211121112212221211121122212221121212221222121112121221122112212222122221121111122212111212111122111211112221221221221211121221221122211122222112221111211121221111211112221211111222211222221122112212111211211211111211222222121212211212211122112221111121211222211222211212112112221111221122111222212111221221122112121122212111211211222111211121112111111221121222222222121221211222222111111212121122111212111122222122111111221111112222222111212222111211221121111222121111211221221122221112112211211221112122122112212211112121122212222212122111221111222112122222111222112111212112212122122112112212112122211122212211122111122222211122212212111122121121211211121112211112211212222122212211221212122112211111221111222111221222221222211221212122211212112121122121211111111211212112122111121221222111222211121222211121221111221121121212222111212111212222121211222112121211122222112221211212112122222112111211112212111211122212221211111112112111211221221221221222111212121211111221222122212121211111211211221122121222121122121211221112222212111111121112111222221122121221211212112121112221112111121121221212211112122122212111122121222111112222112112211211111121122211121112122111111121122111221212121112121222112211222112222121122222211112211112122111221222112222211121121122121111111211112212222212112212212121112212112222112221112222122221111121111212222111111122211221212111121112222211122221212111222221211111121212211112111212211222121111212222112221211112112121211111121222111121211112121222111221222121212112222212121111212122121222122212112221112211212221122111111221112111222112122122112112111222112121212122222112112122121221112221211121211121212111122221211111222222121121221222211211211212112222222111112221222122122111222212122111211121222122122122112112112112212121211222112121112221211222111121122122121221221112121112212211112212212212222212122121111212212112211111111222111212121222122121212122111122222112221112111222212212121111121121211211211111122121111221122221112221121112112212221222112112111212122111112121221212222211112222221222112222222222121212111122222212221112221212212212222222211121122111122222121111221111212121211211122221122222112111221122111212212211122111221221112212221112121211221112121111211112211112111122221111111122121121222221221221212221121121112212111222222111122122222112222111112222112221122111122212112121222111211112121122221222121211121211221212111111111122222111222112222112221221211111121221121122221112121111212222212221211221211112222211221222211122122122122112222122212121121222122212122211212121122112221121211222222211221122212222222111121212112121121212221112121122122121111121121112122211221222222212222212122112211122112121211111111112222111122212111211122211111111111211112221212211122111221111221111211212211211221222111112112111212221112222212221212212122121212211211122112211112211121212111221121211222112121221211212122222211211211221222111122122111212222112121122111222111212122211211212111121121121121122111211221211121112211212112111222211121221112111112221221112122221211112122121112122222112111121121222211211212111211122122212112211221111211112211111212221121112112222211211111222111221222221211112112121112121111222121111121222121211121211212212221112112222112212211121121111121112112221121111122112122122221222222121111212112122221222222221122111222211221212112211222221212111221121211212111121222121112222122211211122212111122111121221122222211211111121122221212212122122221221221222121222211111222122121122211111222122121121222212121122212122221111122221122222211211211222222111121121122112112212111221121112222121121111222111221121112211122212112122211111121121122211112121212121221211112211221221221112122222221121112122121112222211111221221222211111212222212212121211121221112211122221212121212111221112211211112211112212222121121122221221122122121212221221222121211111111122221121122212112122222221121122211221212222221112221212211211121221221221122211112112121112221111222212121221111111212222112211112212211221212111211222111111222111112112221211122222111212211112211222122212212211112122122122121122111221122121221111221212221212222122111221122211121211112122212121112112121111121122221221122122121112122112212122112221112211221211121111221112111112111222212222212122222222122112211221222122212211212122111121212222212211112211222122112212221112121112221111122111122212211112122122112211211222121212121122122221221221221211112112121222122222211121121211112212222121212222122211112111221222121112122112212121221121121222112112211112111111211221221211111111112122221212211211212122212112111212211121112122112121111221121221112112211222222221122212212121121122111112112122112111212121112112112211211211222212111121112221121211211212111222121121221122222222221122111111221211112222122222112112211111122121122112211112111112112221211121122111211222221112212111121112221222212221222221211221121212122211211212222112111222212111122112121221221121222222221212221221112221212111211221112222221111212212221222111212212121112222221211221211122221222221122112221111111221222112111222222211122222111122222111221122111211121221122112122121111211212222112122221122121111221121221221111112121112112212221111111122222222222212122121212111122122121122212211121212221112122122111211112122211121212112111222222111112112121112212222122111222211122121122122212222211211112122121221121112222212221211121221211222111111211121212121111221222221122122212122112112221211212112212211111212212121111211222121221122221112122121112112112222112112112212212112122121112222211212221221221211211121121221112122211111222222121121222122111222212112111121121221222111122211212121112122122112212112122121212212222111111221211221222121222111221112222212122112212121221212222121122211222221222111111211222222111221221112122112122121121112122111211111122111222212111211221221122221122121111112212111211221111121112212122222212221212112111211222222212212222111211122122211112121221122112112121112112211212211122221112121221212112222121221112212111122222221122112221112212122211221221221221121211222222112222112121211222212211112211112211112122221112212211121211222121221121212121111221122111221212112211222222112111111111111122111121111122221222212222211221121211111122121222122221112211121222111112111111112121121222212212221222221222211112212211122222122121121121112111211122112112222112111111122221222212122211121111211122111111222211122221221112222112221112211111212122211112112111112121122212221212221112211221111111122111222122211121122212122122221222211111112111211112122122211211211211212121112212122211212211111111222222222121212211122221121121211111111212211212121122122212212122221212111221222212111222211221121121121112212222112222211122111222211221111222212112221122122122111221221221222122221112212111221112121111222112212212212212111221112212122221211221111221222212111222111211121221222222122211212222212211211211212222221122211112112221221211211122221212212121212222212122121221112121221212222212211112211211112112221111222221111112221211121112111112221122122221111111221111221112122212121122221121111211221121122221222112211111221122222221222222122222111221222221212212121212221212212112121212222212111122121222121211211221212221121222122212211222211212222211211111111212121221221122121212222222121122111221111211121212121111212121112122112222112122122122212222222212111221121111121111112121121122121111222211111221212212212121222112221212211121122211212222222112121111221122221121212112211121211122111121211122111121111211122122212111221211112211121211112121221111211122211112122211222112112122121122211211112122122212211212222222221121121211112212122222211222122111121211211221221121212121122121121111111122221111222211212211222222122212211121111112112211212112112211112222111221121212221121211112222111112121212211221222112212111212111121212222122221222212211212211221111222212222121112212212211211221112121121222111212111112112221111212122211211111212112221222212222212222221112221112122221221112121222122221212111211211121111111221211211122112221222211211111222112221121222121112222111111111112122111111112112121111112221212212222211212112211211111121212212221121212111111221121122212212111112122112211221111212212121212211222222211211122112211221121122121121111121112111221112221221122222211122211211211211221121121112221221111221112122121211122222211121212212222111222221121121122111122211211112222212121111121112211222212221221221122221122122112211212112222211221222122122211122111211121112211222112122221122212212222111122122111111221121211222221222111112221122222222121122211122112112211111112211122112212112222111121112212121221121121121222222112212221212112121122211211211122222121111212221112111111212112122112211211212222112111222121121112111112122112222212222211111111211121211211221221211122121111222211221122111211222111211112122211212121212221211212211121111111211221221111122212121122211222222221122211212221221111222121122212211211212122212122211212211221222211122221212221122211112112121121222122222122222122212112211222112112121111212211111121221112212122121111112122222221221121212112211112222112111221112222121221112211212211121212221211122211121211122222122221121211121121212222211121222122122212222121221112212212212112112212222212112122121212212222222211221121111111221111112221122112112222212211112222211122211122122111221121222112222212222122211122111112122222112221112112212222112212222221221122121222121111121111222221111221211111212111121212111111121112212121121212222122222111212211122121212221111222121212122212221122121211211211221111222111211221121221122221112211122222212222211221211221112111211111122221212211122211222211221111212221221122122221212212122221211121122222211121111122212212222121212121111222222122112112112212212112211111221112211212221122112111222222111121122221111122111211211111212222111122222121122221211122221221121121121211111112222111122221221211211212111222222112121221212122111221112212211121111211121111121221212221112221222112211121112111221121111212212222122121222112222121112211121111122212122222111111211221222121221112222111121221211111112221211221111112111221221111121122211111212212112222111121122211221122121122122221222111112112122212111221211211211122212211212221221122221222121221221211212122211211121112211111111211121212211112221221222122221212221221221212212222212222212212112111112111221222221221222221112212222121222111121222122122121121222221122111211121212121212222222212121221222222112122212111222112112211121221222222211222122212112111212212222222221111111111121111221211212222212211121121121221211222221212111211221112221111211112222221111212111222211111211122121222111112112221212212112122122212222112222222121222111212112221122221222122221112122222222111212211221111221121221221121222211212111121122111121222122112112121211121222222212222111112122112112221112121112222212122112212212222112111111211111221111211222122112212222121211121211111222121111112221121112222221122111112112221122211122112221122212122121211121122221122111111111121112221112111122212111211112211221211122211112121222212212211221211122111221212122112121121212221121122122221112212122212212111222212121222122212212122112211221221222122211211121112121212111122212111112111111112111221121112111111211222222221112212211212111122122111112111122222121222122212222211221112211222121112121121221222221212212112221121221112212212221212222122211112221222212111222211222112121122121211211112121112121222122212212221222212221211212221111222122121211211221212211211112121111211111122211111112222221121122211111221211122212121221212112222211211121121122122212111221121112122121212221122121111212222221121221121111212122122122112121111221222112211211121212212121111121212122211211122211111221221212222222222112222111111112111121112111122222211211112221221222112221222111211122112221212221222221211221112112122211211211111211121212211111221121121111221221212121212111222211212111222212222212222221211221112212212111211222212112112112111222221112121111221111212221111111121211111222112121212211112222122212212111222212121211211211121211112112111222111211211211112222111221222112111211222211222121111221122212112222121122211212222121111221221221212212121112211122121112111122221221221122221221112112211121212221112122111222122112212222221212221111122221221122211221221122211221222112121112121222121111222211111121112122222121122111222111121111221112212122121121212222121121122111111112211222211122212221112121121222212221212111111121121211111212222111122221122112211222212111121112212111112122222122211122212111121212221122221112222111112111112111222212211121221112212122211221121121112222111222211122221121111212221122122222221111121112121112121121211211212211111111212121211122221111222221211222121122121222112121221212121121211112212221111121112111121212211121211222121222122121222122121222222121111221111111212112121222122111212222211111122211111212222221222111111212121112212222121111211212221122122221221112122121221111112111122112112212212221122222222121111211111221222211111122121121211112212211221122211112222212121122222221111111122112222122111212222122112112221111111112111111122212112212121222211211211122211222111221212222111221221211111122222112121222111212122122221211112221212111211222211222121212222121221121121222111112122121121112122211221221221222122111222112121112112211211212212211121112121221211221112222221122121112212211121122111121111222222122221221222212111111212211121212211121111212121122211211211121221121221111111212221121121222121111112122222121211111121122122221122222221112222222221212221112112212121222211112221211212111211112221111122221212221121111222112121111222222212121111111222212211221111211221222222121111111221222122122212122122221122212221111222211211112121122122111222221212112222222221111221211122111212222112121112221221212112112222212122212122222111122112221211121122222222122121122212221212122111112212122111212112121122111122221211211221111211122212111122211111212212111212212112212122122112112222122122221212221112121222111222211221121121221122112221122121212121212111211112211222212221121211122211112211111121111111211111221121221212121212122212122221111212111121211222111212121221222121111222222212212222112212121121221221111111222222122222121211121112211212212221111222221121221112211122212211222122111211111211212211212212122112122212121222112211122211111112212122221221112222121122122221121112111112221122222221121221222222112121112212222221121111212211211221211111211211212211222212211122122121122122121222121122212211122211211211121111121221112111211211122221211121222221222211112121122211222222211222111121122211112211211122221111122121212222121111121221212112221122122211122212122121212112121212221111221122221211222122112112221111111111111111222221222122222222122122221112221112111122212111121212222211121111122222111212211211221211111121112122122212211221222221212211122211121221111112112222121111112212111121112221112222222211211121111221122222112111212122122221112112211221221121221222122221121211221121122221222222222112121211121121121211222211221112122122121222112111111222211122122221211122122212121221111212211122122122122221121212211112222121122222121221222222112121111222211121211112221112122212112121211121222212221121211221122222122212122222112122111222112211211122111212212122122211221212121222222121221112211221211111211122221121221212122122111111222222121112112221121122122111121122121112212121212112211122221111221212211121211222112212221221121121222212221211112111221122121212222121122212122221221111222211211211122221111122122211121122212121111212222122112211211212112122111222221121121222122222122111122122112212122111211221121121212121211221112222211212212221222221122122112212221222222111122111121111122212221211222211221222122221121122222212222121211212111121112111121112212112221111111112221111221112211222122222212212122122122211222212212221111221211211122122112122112122111121221212212112111221211111222112222122221112122221112221112211121122221121122112212222212222221111212112111211211211221212122122211121222121112211222112221121221112222122221212222211122222221111221121111211112121212211212221212112211121121121122112112212111211211122212222222212211121112121122221211211121211111111111212222211121221122222222211121221112111112221212212111121212211211122111111111221121211121212212222211211122121211111121121221122121222121111122122221221111222111121122121212212211212212112211221112122122222111121121221121221222121112222122121222212211121221211212122212211211212211121222122122222111221221122221121212112111212112111221121222211122121121112211121121212211211212121121111221222122221221121122212112221121221221212121121222222122222221111111122121111212222222112122112221212122122112111211112111222112122221111212221211122112112221211111222122112112211112111112222121211111211212111212111122121221222211111211121211112211122221222211221221112122221211112221212112212211211221221122211121122121211221221222121122121212221111211222122211122222221221212212212212121212211112122212222121121112112121111211122111121111212112211211122121212212211221212121221122111212111111111222122212222222111222112112222112212121211222122211221122122212222122212122121211211122111112212122122121112112211212212221122112221211121211111122221221121211212112111212222121221211112211211122111221212112121112111221222222212211211222222212221221121211111212221222211121111211112221221222221121221211122111212211212122222222111212211121122212211221211122222222212122122111212122111122211211112211112221122121121212212111121112211112211212112221122221211121121121112112211111112221121111212211111122211222122111222121222111222212221121222222112212221121211122111221111111222211111212212111212122112111221112111212221111111121211111211122221221211211212211211212221111121212111211112212122212111222222212121212222221111222212222121121222221121111221111111112121111221112222121112211121122211221122112111212111211112122212212222112221211221211121112121112222121112222122212222212212221112212221111121212212212222221122211121122111221221112222111212111211211121111121121221122111222112111222121112112111221211111221221222212222122212211222222221222212212212111112222111112121121221121221112222121121111212212212122222122112221111222212112221122121111112111111112112211211112211222222122222122111212212112112212122112221221122121211112111121122212121211111222122121121122211222121221122212222122121122122112121121112121211121221221122122122212221211121112111211222212212122121211112222221212122222112211212211222121122111211112222222111221221212222212122221112212111211112112112121121222211122211112212212121111121212122111121212122111111122211222222121212111221211112221211111212111121112212122122111112121121111211112121111212111111222221111111211211211111212122121111122112212222111222112112222121122122222121211122111221211121211211111211112212212222212221222222212212111212121221221222221111122112221221211122112212122222222212111122221122222222121222222122112112122221111121212121222212122211211221121122112112121222221111111121211111121222221121111112122122211221222112221111121221122112122112121221122211211112222121221221112121121112122111211122211122211221222222122222122212212222221111112222111222111221222212122212111122111212222212121211212121111122121112211221222211112112211121212111211111112112212211121211112112212122121111212221212222111221211112121222211112112122121211121112222112111111222111221222212211112121122211212211222121112211122121122121222112111112112222121112221221121221121212221221222222221122112221122121222122112211111111221121211222112222111112112121211222211112222221122211222212212222211212112121122222121111121111211112121111221121211222112222222121111111221111111121221211112211121211221122221111121212122222212121111212121121111222121112222212222121221222222221122122121212222221212222222121121111211111122221112122111212222121121222112211122122111222222211111111121121211222112111122122122212212222112111122212211112211112221221211111121121211222121221121111112221111222111212211211121211221122112221222212222121212221212121221111222112211212111211122211112122212122112221122221112221122211221112111121112211121122222222111211121221211112121212111211222121122222121221211121122212112112212122211122211212122221122212211111222121122222122111222121211112112111111121122212111122121111112221112121211211112112112122211211222122111111112221221222122212112111211112222221212111222221221222222211112122111111211111112121211121111122121222222211121121222121122211112212211111222121211111122112121122122121111212222112211112121122222121122122112112111212222112222112112111111122222221111211111211121121222121121112121212111111221221222122111211211221112212121222222112221211111211221212222122112222112112212221222221221121211222122222111212211121112211122121111122222121221221111212112121122112112222122121212122221111212122221122112122222121112112112121121211121122212112121121221221122121122212112121111111221212222122122221212122211111122221211112111222111121222112211212112111221211111221111112111221121222221222222121122212111111122221221121122212221222122121121212222222111211111211221212121222111222112121112112112122222122221212121121111222222121212222212222212112211112212122222111121211221221111221211221112212122211111111121112112111121221111121112121122112122112212211112121112221121211122221121222122121221222222122121222111211211211212121221221122121211222112112121221122222112121222211221212211112112121211221221221122221221121111211221212221111211211121221122112212212222112212121222121212222212112111221122121121111122212112212212221122121222212122212211222122111221122211211221121111211212222221111211122211222222211212211122211122121111121122112112222112212222222111112222112212222221211112121211111211211112222122111112222221121111112121221122222212112122122222122122211122111221112222211111112222222212221221121212221222211112222121112122111212111211221122121122222221211221211111212212122121221221122121222112122121121222121212111111211111212112222211122222222122121222222112121121122212112112121221122122212122122221121112111112222111212221111222111122121112122211111121112112211121111122221121121111111222112212222222122112122121221112212222211221212221122111222222221212211112111211221222111112112221221112111221222122212121121212222222211122122121211211112222211112221122112111222111122212122111212111221112122221111212121122222221221112121211221122222121111122112222221222221121122111111222211221211212212221211122111111121212212222211112111212111221222221112122121111121221111122111212122221222221122211121111221222122222121221211112222112222221212122212222211222121122222211221221222222121222211212112112122112111212121212112221211222212111212112221122111221221222122112222212221211212211112222121211211122212121211121122112112122111112221112221221211112111121221222211121122222212211221121121122111122121221222212122211122212111112121122112112112222122122111222121111221121211221222122211121221111111211211222111222212212111221112221111122221121112121222211122212122112221111112112222122211221112211111111212221211211211121112111111222212221221212122212121122122221212222222221222211211222211112112122212121111211112111121111222212222211221121122121121121222121112221211112122211211221222122222121211121112211121111221212211221121112222112122211122121221111212111212221122112212222111121221112211122221121122122111212221112121122221121111112121221221122221122212212112112221121121111222122112222122112111212222211112121121112111222112112211111111212111211111212111122121121111222122122122221221212112112122122211111112111122221221212122112212112112122121122212111111122111221211122212222121221122212211211122112111112111121112212111221221112122221211122221211221222112111211122111211112211211111121212122112221212121211211212222112222111221211221121122122212112222222121221222211222221121112121111111111222222122121212212212112211112221211221211111121212222122222212112111212212112211221222222112121221222212211222211221111111211122222121222211211121111212222122221212221212212221122111111121121111221211221211112121112112122221212121111122221211112111122211211122221111211212211121112111121212212221211212122112222112221211221211111212111221221121122122212112221211221222111112122112111112111211111221221111212121212122211221121211111212122112211121221212222111111212211222221212112112212122221211222112222111221121211112111221222122111211222212122111121222111211212111222122121121222212221211111122121122121221121111221122221122122121112211221221112122121212212212212112222221121212222211112122222112221221121221111111111112221122122121122221212111211211212221122222112222212211221211222221221212221212122122112122211122121122111122112211121221121122112212112211211222222212221112222222122221222112211221121122111122212211212121121211212221211121211221111111111222212222212222122112221221122122212111121211211222221121212112112112221222112111112221121111222222111221122121121122211211222122111122222122211112121211122222221221122121111121211221111221221112111111122211122212112212222112221122111222121221221112212112122212122122122211111211211222122211112212121112122112211211211111112112122212221121111212211221121112111212122211112122222121121211221121121212111122122211121222211121111222111122211211221221212122121222111212212122222111212111222221221121222211121122212121212221211121221111211212122211111222221222222111211211211211221121212221111212222122112111111211211212212222222222222212112211111121212112222212212221211121211212111211211221122111121221211211122122211112122112122221111221212211111212212112221122222212212111211121112112211211212112221211211221212222111122121221211211212121112111122122212222121122221221121221122111222121122211212221211111122211221222121211211222212222221112211211222222221112222122221111221211122111212211122222221122221121211121122211112112221221112111122212121212122211112122221221221111222221212221222222121222221222111121211212122111122111112222221211211221112212121221111112222121121221212111122211112111121221222211122221211221222212121211221121121112112221221122211111111121221121222222212122111121212112221221211112222212221111111211212121212222222222222221212111221111211221221121122222211121121121222222221122221122122221221211221222211112121222212212111122212221111111221112211112211212121212222211211222111111211212122121122122122112111211122122222122212121112212211111212222122211211122212111111112221111112212222212121212211112212112111222111222222221211112222111112221111222121121211212222222122121112221212111121122212212222212122122122221211211112121111222221222212111221122211121212212111211211111211111111212212211122212122122222211211112112111122121211211221121211221122222111211222111121222121122212222212222112111222222121222122122222221212221222211121111122221222111221122122122212112122221211211111221221222112212222122211211111111221211121111221111122211221211121122122112221212212212122212111111121122122221211211112121222222212111211212211121222211212212221212211111122122212222112111112222221212122222212111111212111222112111222111222211121122211111111111221112222211211111121122221111212222121121112211122222222121221221222121211211112211111121111122121212121222211111212211122122121222112111121122222222122112222122111121212112112221212222122222111222121122211212222222121121222221211122111221111211112122221212112111221111112121112212111122111222111212222111122112211221112212111212222221111121221212111111111121212122211112122112111212112121212212212121121122112121121212212121111111221211222221222121121221221212111212121111112112221112212211221111212111222211111111122211111212121221211122111122212221212122222112211122111212222122221121112211111222122112121122211122122212212221222111122211112212222111112211222111112221122112211112121121211222211211112222112221221111122222112121222211221211122122211222112122212212222222122222222112222211221211111221212221121211211112221112122122222121111122112112222112222111221211111221121122111212112212222121122121121222111111211122222111222211221222222122221211221121222112211111111111211112111121212111212111111111211122121221112122111221121211112222112222122221221122121112112121221222121122122221111112112121211111211122222122211222111222212111112222221112122111212121112221222122122211211111221211122212211212211212222112111211121211122212121111112222112222221211222122221212122122122111222222121112211121212121112122122211211221111121121222211211122111221211212111122211212121212112221121121211211211112121221111122221222122112121111111221122111112121211112212122122222221111122121111211122221111112212222122111112122111222211222222211122211222211122222111211111122112211121221221111212212221122211222111121211111121111212221211122222121112122122212222212111222212111112112121121222222122121221111211221122221112112221112212212221122221112122111211212211222122221222211121122222121112221212112222211112211112112211112112112221212222211112222212111212211121112222211212122111222121112111112112212121222221222122211212211222122221212111211121222221121211212121212221122221111122211221121112222122121112111222222222112211121122211211111111221222212212122122212212212121211221111221121121211122122212212222121212111112112211221111121221222112221211221122112211221121221111211111212112221222111211222221121221212112111121112111112111111122221222122122111121221122212111111112211211112211221211221121212221112222212111122111122212112222112111212221112111112112122112121122122121122111122122221212112212121222112111222121121121121222221221212112121222111111111122212222112211111111211222111221121212212121221122111112212212211212112111112112112122211221211112211221112222112212121122222222112212222112112221211111222212112122221222211221121212122122111221222112211111122121211111122221122121121212111222212222122121211122121112212121122112221112222121221212222112211122111122211111222112121122221122112221121122111121122111211111221221222211121221212111111111222211212122122211122221221122221122211122221222121112111221112221121122221212222111221111122121221122221122212212121221121222222211122112121111212121111212112211222221212111111222111112221122222111121212211221112112121111211212111121112212111112211221121212112211111212122212211222212221112211121121112211212121222122222122112212111112112221112111122222122122121122222121122211121112221221212121111212221121212212212112112212211212111221211212122112212222121222111222122112211221221122222111121112211211112211112221122111121122222221122212211222222111121222122121121122212212221211122121112221222212111121212211111112221112222111222222212211111111222111211212111122111122222222111112211121222221111211212221122112221221122211211112122122222111112221222221112122111121222221222121121221111222121222112221112222221222212212212122121221212221111121122122211221111222212211111121212121211122122221121122122222221112222222222222112222211221122111222211122212221121122111111211111212122112122111111221122121112222122221212111111121211222122211122122221212122212221221111111222212111122212111222111111121121111112221222111221122122222221212112111222121211222222122122222211211221121111112222222221222211121111111212121121222121111212121211121122212122121112211221222122221221121122112212211112211122122222221221222222111222222212211212112111111222211212121122111122122121112111112112122222121121211121121111221212222212122111112222211222222121211121122222222122112212121111121122112211121222212221221221121211211212122111221221222222112112221222211222212122121112122222122221212221111221221222122222221122121221122221112222211111121122211211122222221212112212211222121111122122221112122121121211111111122211112112122111221121212121121221112111222212221111121222112212221211212122122212222221212111112122112122221222222222112221112222111112212111111121222122111221121121122111221212111122122221121221212211211211222111221111221212212222111111222121221222122221212222121212212221111211112111212212212212111112221111111222121122112211121111221112211112212121211111212222111221211122222212112211112211212111222212111111112221221112221121121111222122212121211121122112122211221122121111221222112212222112211221111111221211112221112121221211222111212212222211122121112212122122121122211221221122122212222222112122221221122222212112112212211111211211112111111211221221112221122122111221212221211212121221222111122222112212222122221111212222222211111212111122111111221222212222212221222122211212211111212211122212122111121121212121212222121212111122221211122221122211222122221111212222112121112222211121111111222212121122121211222211112111211212221211122121221111222121221122222121221211112211211111112111211111121111111212111112122112212221122212121222121211112112121222212111112122221112221222221112212221122122221111221122221222111112111211222112122121121221212112111212212221222221212221121121121211121221111112121121121211122122112122212122211111111212121121111211212121211222111212122222222122112111211122212211211211122111122211111111211211221222211111211111112212212112212112211121111122122212211111122112212222221221111211112122221121122112221112112212111121222222112122111112211211111211122122221111222112111112222222222121222111122221221222121221121221111222111221211121121111112112211221212211111212212222211211121222211212212221222121112212211121121121111121121112211122121222212221122112212112121211221121211222121121111112222111212212121221212111121221112212112222121211122122121212222122121212112212221212122112211221121122121222222222222211122111222211212121122222221221212221221222211112221121211211112111122221112222211211221212211212221112121121222111111122112221212112112112121121122221222122222121222111111221112121222221112112111212211112111122122112111112122221211121121122222221122222112121111112221222121221112222221222212212112112222111212221122212121211212222221222121222221122221212122122121111212212212112121211122222122121212212211111221221222112211121122212122222221211122211112212111211212122121212212212222121112121122111221222111121222122122112211211221112221121211212122122112222111211121212212221221111121112122122111211112222212211221221111121111222211121121111121112221211221221212121221112221221211212221212212211122122111212122222121121122111121111111221122211121122112122121122211121112122211111211122211112222121122121122111111112121221221212221111212111212112221222112211111211221112121212112111111221112111222121211112221211222121112112111111221222221222212212212221121122111112212111122211122121112122222211212122122222111222121112122112221112212111121211122112221221222112122121211111121212122111121122212121222211111111221222112111112111111211212221111212111211221122122211111222221221211211222111211212212212221111122212121112112121121221121222111221112122211211122211112212211221222121111211221211112221222121221112112212211221111221112211221111121221122121111112111221111212112111212221111221111211211121112222221111112121221211221122112111111121111121112211221122222212222111221222121111121212121111111222222212221221122122222121212222221111112122121211222121222221122222121222222122221121211111121122121111221221112111211112222211112212121211112112122122211111111211221122222112121112112111112111112212211111112221222221221112212112212212212212222122111221112122112122212121122222222211221111212112212112212121212111211221222212211211112212212122111111122112212112222211111221112121211122121111111122111212211221222121221212111111222112221222222122112211121112121112112112122122111111121212212221211222122111211221221111221221212111221122211222121221112222212121222222111111221211122222122212121111112221112222212111122121222221221222222211122122221122112221221212211211121111222222211121211121221122221121221222112211112122211122211221122121111211212112221222211222222221212222121211111211112121111221122222222111111222211212221221122121212112212122211111221112212222121221211121212112121211121111212212211121222121222111112221122212121112122211121221122222211222111112212121222221112122222122121122222212122121211112112221221121112222212222111211221212222121122122222111211122211212221112121121221221221222222112112121222212121121121111121211211121122222221221122111221221122211111111122221122212212212211111211112212111122211121222111221211121121222211221212121221222112111222122221112122222121121211111221122111111122221212122222211122121212112221221111112111212211112212222211111211211121112211121211111121221221112121221111122222111221211221121221222111222211212222111221121122211222112222211122221212222121111211222212111211212121122122211221211111121212222221211211112111221211222212121111122221112211111221122111212212111122122111212112112122211121221111111121112112222222111212211112212221222111212211121122121111122212221211212212112221121121111222112111222121121212112111212211122211121221211211111212112111112212112111221112211121221121222211212222221212212222211212122212222121221111122111221121211111222121122121212221111111122122111112112121221112122111221122122211212211212211112111121112211112222122121211211212121121221122212121121222212221111211112212111222211112111222112111112122122111212211221211121211122112111212121112222212212212212212212122221212112122112222111222122111112111212221212222222111111121112111221211122222111121112222122122212111111112222222122222111121121121212211122112212111121221111122121122211221221111122111221211112112111212122212222222111211111112211211121212222221211121222112222212221211222221111121211212121211122221112122112112111211222211212212212111212122222122222212212211122221112222212212221112112221111222112221121211111221222212212211221222112211112121221211212121112111122211221211121122122222212221211121221211112111122221211121111221212211122211121222121111112111211121121121212211221211111221211212212212121211211111112221221122112221222111211221222111211221121121121122121222221121211221121211121122221122212212222222221121122212222222211221112111112211121212221221222221112221111122212121212211112221221111222121112212222212111111211122112221111222212222211222212221112222221121222121221221212211211111112221221222122122121111222122112122222211222111122221121222221121122112222222122212111221122111112121122222112221212212122111211111111121112122212122212221212112211212211222122212211222211221112211121221122112122121212111122211111212222112212222112222112121221112122121122122122122122122211121222111112222112211221122111221122121122111211121211212111211211111211111122112112121211111121222121211112111112121221111222111121211211222222122212121112121212112112112212111211211111221221221212211221221212111212211122111122111122221112212211121111212111112221111111211222121212111122121121112222112112222211212211212211121212222211221212121111122211111111221111112111222112221112122212211211122121221112211121221121222211122111212112212122212112221112111222212222221121122112122221121211221122212221122221221222212211212112112212211212122221212112121111221111121221121111212122121122121112122111221211122211111122212212112121212211112111212212221212221121112122221121111121121121121211211211121211212212221222121221211211112121222211222222211221211122112122112222221222122111112112121121212221222121222111112121121211121121122111111222222112121112212211212112122122122112112211222221221122121212121212212122222212211122112212121111221211212111211111222122221111221221111222221211222221111222121111211111221112211112212211222222121222121122212121212222222122212212212111111211212211222121222211221222211211211122122222122111212211111112211122212111121211222212121222222221111222112211212122122221111222221111121221222222221211212112111111122212222221122222112121222122121221122221221222222112221122221222222211112212122111112121121212121112122112212212112211111122122211212222221221112122221121211211222122111112211112222221211211111122221221221222222112212212122221122211211212212112222122121112112222211111211111112212222112111112211111221221222112112112221212111212111112212211221112221111111212122111212112111121211221212122111112112221111211212222122222121122221111111211222112121211111121211211211212112122122112221112112122121121112212211211112112112122121122122212112112111222222211221212112121122111112211121122111221212121211121211112211212112121112121211211221112212111121212222122221111121222212222221121212222122112211222221211122221112112212111212212111211122122222211112221122211222222222212112122222111112212221122122222111122122212121212212211122121212212121211112122121221222112112112122211121122222121212212211112221211212122221112122222212212111212222111111211221111111121212112122212112211111212222212122112121221221221112211212122222121112222221222212211212112112121221111111221222112122212111222221221221211121112112222222212221211122211112222111222211222122222211112212122121122111221211121222112222111222111211211112121122112221112112112122222122121221111121112111112212211212211211121221222212212112122122112222111222212122112222112122221211121222122222222212112212221112122221112111122212222112122222222111121211122221122211211111222212211222222111211211111112221112212111122122221221212211121222221212221121212211112122222222112221222212121211211221221221122112222111212121122211211211121212111222121121222111222122112121221112111122112111222222111122111221122221221211211222121212212212222211111211222122121111121221121112222121211112222222111121111111211122222111111222221112112111121111121221111111212122222112122222221112112221111122212211221222112212122112112212111212112111121211121212222111121222112122111221211221111212112212211222111121112211222112112122221211122211112222111211122222122112112112211112122121222111112112121222122121111211221121111122112121222221211112121121211212121222112112112111121112112222111221212112222111112211111112211212212111111111111212221121112221221221111111122221212222212112212122221212122122121222221222212222122212222111112121221211211111112222121222221221121221111121212122221221211112222212212221122112112212211221111122211212212112212222212122121222222212211211112212221211122222221112111112221212121121221222212112212221212111122111212111112122221212121112112221211122221211121221112221211211212111211121221121212111112212221211112112222221221112122111222112211112211122222112122222221122221121222112122211211111212212122122222221212122211212211111121111222111112112222211121221211122221112111211221112112211212122222122122222112221122221121211111222221221212121222111122211222121122211211121111221221122122111111121122212212221111221211121112122211211122221122121211112221122121221211122112122112111122111222112211112111121111222222121211212122111122121122212112211211112121211121111111112111222111122222112221122211121221221122112212212111211222112212111211221222222121222211111111121222121111222211121212111222121122111112211112111121212221112112121121121122122121121212222211222111222122222221212122211111212222221222112212221111221212211221221222111222212121111222122121212222212112211211111111112211122211221212111221121221112111211111121112111211112212212122222121122221122212212112212111112122122111222221221121222212112221212111212111122111211111112211122111222111112122111111212212212211122212222122222222122222221121222112111222121112112211222221112111221111122112111122221211122111211121121112212221221122111121122221221212212212111122122121111112121222122222222112122121112222222122212222111222112122212212221121211122112212112222221221122111222212111222221112222111112221111211222111211211112111112122211221211221112211122112122111212112121122212121211221221111111121111212212212222111211211222112211121212222211211111222112112111211222111111221112212122222222121111111122222222221111112221111121212221222112121211222122111221111222122122211212211112222121122222111121222211121121221222212221212221221211211212111111121111111111122112111212121211211211111212121122222211112221121121211121211211211111212122221212212221111212222211112222112221112121212112222211111222221112111212112221221112222111111112212112211212111121222221122212221222111111122112212221211122122111212111111212112222111112221112222111211222121212222222121212211221111111211211121112212212112222222212221222211211221212221111212112112211121212211222111221111221122122112211121121122221212121122111111111122121121212212112212111122222211122221122111122112112112221212211222211112222212221121221111212212212221121112211122122221222211222122211112222112111221121221122221122122122222112211211112111212121212111221222111221121111212221112112211221222121211122211211122212122111212112222222111221222212221212111211121121121111122122111222121121122212121221221212212122222112212122212211121222121212122221111111222112122221221112112111211112211221112212222111222122211122222211211111111112211221212111112111211222211221212112112221222112121112121112111121111222222212212121222212111222211222121222122222212212212212121122111121222112111112212121111211112122221121222112221111211212112211222121221121211221121121121222211111212121111211121122121221122121221211212111121121221222112112122221111221111111112122111222212112112111212222221111221112211112122212222222122121221112212212211212222112222112211211121212111211112221221222122222121122112111212221112112112112111222211221111221112121121111222212211112122122222221121112222112122222222221121211212122211221212112112222211111121221222211121122122211112211222211121122222111121121221222112211222222112212121112222122121122212211112112222122212112121112221121121211221212121221112121111212212212121221211221121112111221121211111222222121211112121222222121212212122212221121211211212222122112212222121212112222212211212222122211121112221112121211111111212122121111222112211221122111122212222112111112222221212212212112122222211121122211212122122112122222221222211212222211222121122112112212211212122212212121211122122221222212121122122211111221122212122222212121221122221212111112222222222222122222221122121211211212212222112221212211212112112111111222121122112111112222211222122222222121212112211121122222111112122211122121211222212121112111211121221112121221222111122211211222221121112122112122122221111211221121122112122122211222121211122221211211121221122112111212221222121122121121221221222112111211121211111112122211221222211112122211222121221211122212122122211111112211111211111111221221211212222211222212211222111211212212211222212211122121221111212122121111121111121211122121112111111122111111221112112212222112112121212121121221122112212122211111211221111121112112111112111112211112112222122211112222211212222222112121122111121111122122121121221112111111122211222121111111221211112112211221121121111111211222111211221211122211221121221111111111112121111212121122111221221211222212121121211111211222112222111121122122111221112121122212112212222211212212122111121112122221221221121121222111212222222221212121121212121211111212122122112221211112222212221112111221121121122212222221212112112212222222221112111112111222212111112122112211212211222112212221112121221212222122211212112221121111122112112112111121112212222122122221221112112212121222112212111112121121221222211111211222212121221211222212112111121222212122211111222212222121122121121221111112121121112121222211111122211122212211212112221112211111112221112121112112222222221222111112112122122112111211221211222222111111222221212122111111111111122121122221212121221222112112221221222212222111222212122121121221122122122211222222221211212211121112222212121211211221111112122211122121121212111111111121122222112112121211221212112112122221221211222212221112221122122221121222221112222122212221221111112212211222221221212221111121211122212111211112122112212221222222211211212211221122121211212222211212211211212122122212221221122222122122211212121122112121121121111222121221211212222212222112111221122222121222212112221221212122211211112212112211121221112122122122112211211112222122212222221211222122211222112112122111221122112221211121212221221111122222212122221212121221222221221112211221211211122212112222221222211122212122222222211212211122222222121211221212221121212111211122111211111122111112112222222122222211221121121111122111222212111111121221222212211222212222121122112211121211221222212111111212111221121122222122221112211222122122111121122211221221212121111211211111122111222221212211112111221211211112222121212222222212112212111222211221111211221121212111212121212211222112221121221222211111111111122121122121211112122222212221222111111212212221211211111122211221111212112212221121121111212122211211122211221221112211221122221212121212111112122211111222222112211222111212122111121121211121111112222211212112122112121211121211112221222111221121211221111121222211111121211121211121222212121122122211112222121222112122121121211121122111222212121121121122221211222222121121222111211121222122111221122222122221121111122111122211122121221211221211121221221111121221212121222121122112121112112121121221211211122212111112111122111222111221122222221211121222121121121121221221221221112212121212211111112121222111122122211212112121222121122122121212122112221221121112122212222212212222221221212221222222112211112111111122212121112211121121112222122111221122111221221211221221221111211112222122221122222222212222111211222112122112121221122111112112121122212121111122121112122222121122221222112111121122122221212112122121211222212222111112112212111221112122112222122221112112122211122122212212211222221112112212222211222122212111211121122112211222222112112111111212112222212212222212221212121222212122112111122112212112121212222122112211112121111112122211111212111112121112211212212122121222212212112122112112212122111122122122222112221211111111111112222221221222111222212121121222122121112222111222222212122111221122221221212222111122221122222211222212212112212122211111121121221112212111121121122212122221211211212222221222121222221222122222111122212121121222212212222211122212212222121111112112121112212111121111112211111212111111221121222112211221121122112212122111222122212122221112122111122212211221111222222122212111122122212122111122221112211222122211111212212221121122212122222111221112222222111112222121112112121211111222111211121121211122222111221221212212211111212221212121222212211111121221112121122212112122122112121211221221221121222222221121222111222212211212211222122211211221122121112221122221221211121112121112222221212212111121211111121121121122112211221122112222221121211212121221221121212112211211211212111121222122111211121122212122221112112211221112221111222111111112212111112121111212111211212221121111122222211111122222221212221122221221121211222122121212112211222222212211212112111121222112112121122111111122211212221122212221111121112211221222122121121112121211121121112121221221222212122112111222122111122211221222111111212122121112212122121111121111122221211211121111211221212221111211122222122221211112122221222212212221111111111121222111111212212112222211212222122121211211111111212112211222122121211122112112111121122222122121112211212121212121212211112222222211121122112112211112221211221111212112211121112112112222221121111122222222112121121112221222112112112122211212212212112221122121211111222211222221211122211112111212221211211222221222211111112111211221221211121212222211211211112121211221111111211112221221222211212121112121122112111111212112112221111111112221222222222111112111111111122211111112122211221221212121112122112222122112221221222221122221121111122121211112111111112222211221121221122112121112221212211112222222222122211211221121122112122121122221122211222211112222212112221121211211222121212222221122121122112221112122212112221221211112111112121211211222221112111211111211121121221112121222121122212211111122222212112111222112121211111122211122121121221111122221112221212212111211222211212222112111122111122212111111221122111222222112112121121222222222221221111122222211122112221112211112121121222112211222212222211122221211112211122222212122111211111221121211111212111212112222211222112111221122212222111121211222222112121122212221211221112212121211112112122121222122122211111112211122111222111112211121211221111221222111111111122211121111222212222112212111122112112211222122122211121222222121121111121112122112211211121111122122212212222112212212221121221211211111212222121221122221112112211112212211221122111121222112121122122212122212112221122221212121211111221121221222212221112111221212211122121212111222121122211212221112212122111111212121221222211211112121221221121222221221112121122211212121211121111212112121121212211221222112121112111212221211111222111112222112212211221222222112222222112211221221121221112221112212121112221211111112212221211121112222111121121111211222211211221121122222211221121222122222122122222111221212122111121122122121121121121222121211211221222111121112221122222212221222222212122121212222111212222222122111122212112212222122121122111121221221112112122121111111221121122111112111222111121221111112212112111122221122212222112221222122211121122112112212211112111221121221121122121212222212222122221122121222211212212122121111112122121211122122112211111122112211212211111211121212112111122222212211121121122111222121221211122221222111112222111121112222212121212122112122112112122112221211122222211212111111111111122212212212112222222121212221211212121122221221211222122222222121212112212122212221212112112122111122212211211211222122222222121111221211122222111112112111111111211222112111221212122222111121112211212222122112122111111222112112212122212212211121221222212221111111211121212211112121121212121222122122211222212111221121122122222221122211122112112112211212111221221221112121112122112121112122111111222112222112121212122122211212112111211211111212222212112221221121122221212211121112212111111112212221121122211221221112211221111222211111111211221212212112212212212121222122122211221221212212222222222222122111121221222211112121112212211211212211212122221122221122122222221121211222221112221212121211211212212112112211211212121212122222111111222122212121212212112111222221212122121221111211212211212212111222121111222111112222212111211211211211211122221212222212111211211221112221221221121212212211221221122121221212212122111122121212122211222121111221121111122111221112222212121112222221122112221111112122212211111122111211211211211212212121112112122212222221111211211211212112211211222211221122121221221222211121222122211111222122212112111111121211121112112121121221121212221211122212111122211221211221222211112222222212121221111121121121111121211122212112221222221221112111112112211211222121122212121211111122211222111221212121121111212222122211122121122112221222222111221122222212212212111111111221221111221211121121222222112211122112212111111212221112221212222111111121221111212121221211221221121221111122111122222121121222111212221221111121222112112112212211221212112121111122212212222112221111222112222212121112221211112121211221222212122121111211112122121222122221112221212211112122222221212121211221212122222221221212212212212122222222222122121221122121222112212212112222122211212122212212122211212121222222111222121112112111221121222121112111112122112111121111212222121111212211222111212121122122122121112111122121122222111221222222222112221122112122121221111222121222222112221211111211122221112211222211222122112112122112212121211212221211121212121111211212211121112221111112122211211221222112222211112121222222221112212122122121112211112222121211111122211222222212121111211222112122222221221122221122211112211121121222221211121221212212122122122212222212212212122111112212111122222122112211221112212221211122211221212212111222222111122122112112111211212121222122211111212112221222211121222121112122121211111211211112121112111121212221212121112221122212221212122122112222222112111211212221122122111121221122222121212122111221122121221121112112112222211122121211222221221112222211212222112222221221212111221222212212212121122121211222122211121222121221221112122111212112111222112122211122111221112212122221122112111221222212122212221221112212211211221211111121111212121121122121112111112222112222221122212212122111211122121221212111122212121122222122122221222112221121222111111211222122212222212111122212112112111122122222211121122222211222212112121222211112122212122111112111211111112221222111221221112221212212122211111211112222211222222212211211121111212222222122221222122121111222222112121211212122121211211221221212212221121121111122122121221122111211111222121211112212121121221212112121222212212211221121111121212111211211221212211212112112221221121111221212121221221121121221212211121221212121221122112222122112211111122212222122212211121221112211212222122111222122221121111121221112221212122121222211222222121211111221111111222221222112121121111212111112111222111122112121212222112122222111112222112212211222122211121211111212222211112122121211212111211112112121112111212221221111221211112111122221222222121222212222211212122122221122212111221212212111222222122211221112112112221222221211212212221121212121221222212211222121221121221112222121211121221211211212221122212212212111222112211122221221211121211112112121212121212112211122211111122221211211122112211122221122212111221122222211122212122121112112121112111212221211122121122111212122222122211221122111211222111122212112211211121121212212121221211211111212222222221111211122212112212121211121121122112221211222221221222222222211222212212212121121121121112212111112222121122112121211121212111212211212212122222222122122211211112122222222221212112122212112121111112212121111212221111122121211122222222221111211211122121221122222221212211122212122121122212222221212122112211211111122112221112211212112112122212212112211221111111212221212112111122211121211112112122121222122211122221112221221212122112121111212221122211211211221112221222221211211111221211222112222112111211222212111222111211122211122212111222212212122121111211111212221111222122221222221221212111121121121121121122222112122222112221121222221112222211121112222112111121112221222222222212222111221121122122212121212221212122111121212222221112112121212211221112122112212211221122211222111212222222212112122222211212121222211222111111111211222222122121121212112212111222222221222211112122112221221112221112221121221122122212211111111111222112222221111111211122111211221221122211111211112121112111212221122212212121221112222211121122221221212222112122212222221111112112211111121222122211222121121112111111211222211111122122122111122222212112211222221211122112221112122111122121121111122121121111112121211122221112111221221212212222222221122122222222111212212211211121212112112121112112111211122121122222222112111211111121221112211222211112121122121221121212112122222121121211122122122111211222211222212211221111221211111112221221112111112122211122211211121211211122212112212112221112211112111121122222211122122111122111221112221211222212111121212122222221121121121221221111211211211212221122122111122121221212122112122112121122221211211122111211112112122222111112111221122122122211121121221121212121212221121212111112112112211212111221121211222112222211211212211212222212222211122112221122122221121211222222212111212211211112221122121122212221112112111221111222222112211221122211211122222122221211221122121212111111111212122121211121212222211112122222211121222222222222122111111211121212212122222212222121121121222112121121121222111222122122121212211221212221122212222221122122221212211222222122222221211221211212122121221221222221211212222121112212212211212212111222111212122221121222212112221222121122112111121221222122121221121122122111211222122211211122121111122122112112121222122212211221222121112112121121122111121211212122222112221221211122121121211121222221211212221112222222222112122222211122222222211111212221211121122121211221111222222122222222111111212221221121212211122212122212112212111211121121221221121222121221222121211121222222211211211121211221111111112111221221121111221222222211221221211121212221221222211211121111122122111122122121111122112211112112112211212212121122121111222121111121221211211222122112221211112211111211212211212122121121112222122212222211121211122212222211211212211212112111122122122221122222121122211222111221112211212122221121112212222111212111121221112111211211212212211211121211121212121112111121212221121221122122211122122112112121221122212122121122111221122221122211122211221212112122121221112211212112111121112212211121122212211111222112112122112211121212222111211212221221221122221112122212111121121122111121121212112112121111111122212112222222212211211112111221112112121212112211222212211112221111122121111221121121121111211212122112122121112111112111111221121211112222211222111222212211211111111112122211121222211221112121221222221122222221111212212211111211122122221122121112221112112211221122111212111221221222211111112212111121221212211122121221121211122112222111122122211221121211221111111122211112122222212212211111222221112122111122121122112211122121221121112112221121112222121222122211121211221111222222221111111122121111111111111211121222111121121121112122221221211222111111112222112122122112121112111111111212212211222112222121222212221211122111111222221112112211111111211121121122221212121111212222121212222111212221211222111222212221212222112221212122121112211212111112212221211112121222112112211111111112111222211222222121222112221112121212121221222122122111121112121121122212111111111111112112212211121211121111212122212112212212222222122212222221122121212221222211111211121222212212111121222112212212111211212112212121211211212122121111121222112211221122112221222212212222221221112212112112112222212212122121122211121112221221111111112121211221112211112122111211212212112212211122211111122121121221222111122111112112111212222222121221221111222121221222112221221111112221222112211112111222212122221222111112222112222111222112122222212111111111211122221112122221221212122121221221212111212121111121221211122211112222121211122112122212111212111211112121121121112111211211111121112122121121212212121122112211222111212122211212111122122211221212222112211122221112122111112211121122121111221121222212221211211112221111121111112212111112122111121211212112212111121212222111121211112212122212112212212112121221111221122222112122112212111211112222111121211212112222221221211121121112221112122112221222212121212111212221221222121211222111222212111121122112211221212212222212112212122111221221211111221222111121222112112112221121112111112212111211111121121111221221121121112122121211112211211111121211221211211111111121112122112222122122111122212122121121221211211221211221222122122212121112211121211111111212112112121222221112111222221221212222111222111221222212112212212121211222221222212212212212222221211222111111222111222121122122211122112112121221111221122212212111121112112111222122121211212212122212211211211222211122122121222112112122112121222212211111122211211112221121212221222211212212222221211111111111111211122111121212111221212122211222222122221122122222211111121222111221111222122111112211112112122222112212112221121212211122112111121211121221111212111211212122211212222111111122121212221221211222222222121122122222122122222122211122212212211211112121221122121121222121122121222111111111122111122221221222211121211222221222121212222221111112222222212111221221212111221212122222111112211212211221222211221222221121221112122221112122111212111112111222211122211212121221211112111122212111122112112212121211122112221221122122222212211211221122212121212122211221111221121121111121111222121222112121221122221122222112221122121212112211111212121112211122221111112212212212211221112212222222211111222222212111121222222112111111212111212222211222122111122122222122222222111121221212211212111112121112112211222212222121222112212212221221112112121222212111121211221211211121222112222211211121121212122112121222112121122111112122122121221112112222221212211211121111121222211112212211121212221222121111222121211211221112122121211111111222221121112122121221211122111122222122111222211121122222122211221122222122121212211112121211112211222211211221112111222111112112221111112222112121111211212212222212222211122212212112112222211111112212221211221121212211221211212212222211121112122121121112121212222222122112212212212221222121211121121111122112112111222122121221112211221111222112222211111122122111222112211121211221222211111122121121212112111111122111111221111211122122211111121121122212212221112112212122111121212212221222222221121221111121221121211221121211222112222211111112221111222111212212221122222112121212121212212212222112221121122121111111221211222222112122111122122212122111211222212122211111111221121121211112211112221111212212122222122211122212112121122211112222112221222221121111222121212122212112112112212221212111221111122211211121222111112112211211221112121122122122222222111212211211122212122211111212111122222222221121222222211212122222212221212212211112212211122211212212111121122221211221112111111221212122121111222121221211221111122112211211112212111222112222212222111212121121122121122211122111221122112111111212111111111222211111211112112122222221112221112212111111121112121122221212221122211121222112112222121212221122112212212221121211222121112112222222111122221112222211222122221221112121111222122212112211221211221221121211221122212212222112112122211221221211222111112212221121221222211121112212121211212121212121222111211212212112212112121111212121122211112121121212112122211112211212212122212222112112111222121111121222221212121121112211111222111212222221122121111122111222111221112112222121222221112122112111222112212222211222222112211211222212211112221112221211112222222122212211111222122111221122121122222122212221211211111222212222122221111122121121221121112111221211212221111211111112121112212122221111121222221111212112221222222212222112221112221221122122122111122122212211211212111211212121111221222211112222122211222222221211112112211112111221122211221111121221222222121122222111111212121122211212221212112112221121122121122112211212121211111122212221212221121111221212221122122121122212111221122221212221221122112212122122111211222211212112221222122121211122212212222221112211111211222211212221212212122121112112111112121111212211222221112112112111121112222222212212111122212112112222121211221112222112121212211211121111111212111112122111211221211111212111221122122212221122122111221121121111222111122221121221211211121221221212211121211112122122221112222122212111212112212221211212121211221222221121221211122121111112111112221112121111212112221212122221221212111111212212212222112212121121212222221112211212211211111211211221112121211212121222111122212211111122112212121121222212122112222122111212212111111222111221121121112112211221211122121111112211122212121211211221222211122112212121121212112121112122112121121211121112211112211112221211121221221211121212121221212111222221121112222121121121112112122121122211211111111122221112211212122112222112211212221212122112211121122122212112112122122211211212122121112122111121212221122221121211212221111111212121212112112221222122112222212222211121221112121121212112121111111122211121112122122211111222122121121222221122222121221221111221112112212122212212212212121112122212222111211222222222211212112111222112112122111122211122221211122221121121112221121222112121112121121221111122112111211212211122212212122222211212111112211222112211211211112112222222122211221212212222121122211221121211221112222111211222221211222111122112121211222112111211111212212221122121222121111222212121221212222111221121112212211111121212212112211221121221222112122111222112222211221121212111112111221122212211121121112221111121122212222111111212112112112111111111122111222122211221121211222111111222112221122112222122212212111221111112122221122221212221211121212112122121211122211221121222211212112211222211121121121222221121122212212212221211122111211122211212211112122111212111221121211221121121222222222122221121111211221211112122211211212122121112221211112121121112121222122111112211111122121222222111111222212222221112212221121122121221222112211122112212212112211112222122112122212212112112122122122121112111122212112111211121211122222122211211111121222221222211221122112122222212122221111111121122212212112112111221112112112212212121121222222211122221212122112122221212222211221212121111111111121212122221222212121222222112111122112211121211222222221222111221212122211122212221112112211121112122212121221222212111122212221221221112222122111122222212222221222112121112222112112112121211121211121112112121212211222222221211212111112111122111222222111222112121122112122221111111221122121122112121112122211222212212122212112221211121212222212212212212211222222111122221212212212122122121221111221211121112222121112211212211111121111122122112222222112111222211212221121212212122122212122211212112112122222121221112221122121211122212222122112121121121111121211112222112111121212111222222112112122122212221111212222212221111121111121222211112111122122111212221121111212221211212211211211222221212222121221121212211212111111111212111122211221122121222221211121111111221112221122221211121121212211212221212222211212212121212212122212211221211122211211212111111221212222121112112122112121212112212221212211212121111211111211112111111112211222212222222121122222221122222121121211122212222212211211112211222212121121111221211122112111122221121111122221221121211121211222211111221222221212122121222212212111211122222222112211111111212122222211112112211211111211111111221211221122122112112111111111222122221122112112212111211221222111122111222112122221222221212121112122212112121121221221121221122111121122222211112111111112222212122212211112112212221111221222112121212121221212212222211222211222212122122221221222221121212212121222112121221221121111212121121221222212121221121222221211211111121112222211121111112212122222112122211212111222112222112222212122221111211221222222111112111121222121122112122222111222222211221112121222122122212111121122121211122111212221111122121122122212121222111221111212111212122211111221212112222212221111111111211122221122212221121221112222211112111221211211211222222111222121221212221111212222221111221111111121121122121122121211221112222211221112122211122212122112111122122211211222122112122111121212111211211112121121111222111222122121221212111211121111112212211212211222121121111222211222121121121212221211122222221221212212211111212122212221221212221121221212212221122111222211122112222112212211212112111121211221111212211122222121111221111112121222212121111111121211221212211212111111112221111111111122122211112121112112111111212121221111111221121211211111222212112212211212212222121121121221212221121212112222111111221112112111221121121222111122112212212221211112212112121222112111221212222211211211222222111212111122222212212112111111122122221111212212112222211111221122221111122112222212112222111122222221112122112211222122212121212112112222222212111121112122112211111222122121212221122211211121222122111111221112221122112122122222212111122212122111112111111212111112221121222211111111112222122222121121212112121221212122121121122112222122211222212211122222211121221212222222222122121112211111222112221112212122212211111212112221112221212211212112222111121222112111121212121112211122221221122111112211112121212211112221111111221211122121121122221221121122112221121221222121112222112212121112221112211212122111121221212222111112212221122211121212112211111121111121211121111121211212111121212111212112121212112211222222111212111121221111121212222222112122121211122112212111111122121112211112221111111112221111221112211121212121112212222121121111111122221211112111222212121222221211122222212212121222221212121122112222211112111121211112112121221112222121112211212122222222212121221222122122211212211122122212121211222121121111212212221212222211221112222111111212211222122212121222222112111122111222211122122221121221122111212121221112112222222121121121111111122112211112111122112121111221222211212111122122221121112121122121122111121112111122222212111121121212222211112121122212211122222212222111221121211221111121122111112122221221222212121211222121221112211121122111112112211121212112212221211212111222211221212221111212221111212211221222122121112111122122222222222222221212221221221112111221221222222222111211221122121211121112122212211221211122221222111111212212211221222211211121122111112211222222111112112121122121221122221112112112212121121111121212111121122211211211112222122211221221212111221211221222211222111112222121212222112121222112122212112121121122211211212111112212121211211122222212222121121212222211221122221122121212111111112112112211212221221112112211221111222211121121111212221122211111121122122112122121222221121111111222211212211111111122221112222111111112212111211211122122121121112222121111112121211111121211222221111111222211112222212211121212112221211112112212211111112212111211222222211112211211222222212212222222121212222121111222212122111221112112111122122112221122211111122122212211221111222212221112122212122112122121221121212111211222211221221111221121121211122212111121122212111112211222221212122121211222221122221222121211122212221212221211122122212121111222112221111111122211222212211122212111212222222222211211121222222222112221211211122112211112111211122112221112222221212222221111111122211221221222121111222221121211121221112122222222111211121221111111112212212212111222121112112112112212221121221212212222221222211211221121212211221211111122122121211111211211222121221211121122221222222121121121121222122122122112111222112211211112221122212111121222212121221211112211121122111212112122222222212112222122111222111222122221211212212211211222211222122111221211111211222122221121221212212211222212222211211221222112121112112212212122221121222112222211112122221212122112111212221222221222111121222221221122111211121212222111211112221121122211221121221211212122112222121211112212112221112221111211112122111112122211211121121121122111111221122121122122111221121112112121222121222221122211211221121111122221121221221111111211121121112221212122221121122112212222221112121212211111111212212121211221211211121212111221112211212111121121111222221121121212122111212222112212222111122122121222221222212221222212222111221212112222121121212111212222222221221122121121211121221222121112121112211111211122122211212111212211222212111212221122221212212212221111122112122221112111112221221111111122212211221221222121112222221121121112221121212112112212112111211221222111112211212122122122211112222121112121221112112221112121212221221212121212222222221121122221111111122122211221111122121222111111211221222121121221122222111211121111222211122121122222111111211222221111112222122121112222121111122111112122121112211222212222212212212212112221111212112221122211121122111111112212111212212112221212222212221211122212111221211221222211211112221211111221221122121122111122211121122212122211122211121211222221222122112211212121212122111111111212211121222222112222122212221111111121121221112221121221121111112222221211111212212222121122211211222211112222212111221112222221121111112211111122211121222212221211212211222111212112112221221212211221212112111222221111212122122121121122111222211212122211222111211112221212122212221222212122122111212122212222121222222221212121211111221222221212121112221111111111122112111212212222122121221222122211212111221212222212221222211221221111111112212222221111111122212222221211212212111122112212121211112212121212211212221222112211222212211121122121211212212111211122122212212222122212222112111211122212212112212112121121221121112222112112112121222122122121222222112122112211122222212222212111111222211112121211121111122122111111122212122212111222121212221112211122212121221212221122112122221112111111222221112121112121122112121221122111212122111122122212122121222212121122121211111221122221211111211212112121122212122222121121211222221221212121222112112121121122221222222112222121221111121222111222211112112122121111212112221121211121212122222222112122121121121111122121222112122211121121121112221211121112212212111222122112212221112221212122212122112121111121111222221212221122112111112111212121221111222212121221212221112122222212222112211221112121121212221221121121111122122222111111112211121222222221211211211222221221212111211122111121222121211211121122212212112122221112112222212221121211111111222222122212211211211112222121112212112222121211222121122212112221212212121111121212221121212112212111212111111111212111211112112211111121111221112221111211112121221121221212222212112122221112222111222112211222111212121111211222121121111112212121212112122221121212221212211221122121112221212211111122111111212212211111211111212111212211121211122111212121111222212211222212111112212121211121122111111212121111112111212122122222121122222122212122121222212221122211121211211212121112112212221111122121212211121122121222112111122112221111211122211122212211122111211122221211211122221122121112111212111212221222111221222112222112211211111111122212122112222212221111122222111212112212222212212121221221122211211212212112212211222112122121211111112222121222221221221121221211122212212111111121112221122112121112121211112112221112212222112122122112221221121121111211121221121112121212121111121212222221122111122221211121222212121221111111211121221222112222111111222112211111222211221211221112222121211211121121212112222221112112112122122221121122111111221111121122122222122222111111212121122112211221121212211212121111212112221111221211121122121221111221111211211111112112112212111212111121211221111222222122211111221122222111112111221122121112111222221222221122222111222122221122212211222122121122111122111112212112221211222211221111221122222222221212111122222121112111112211111222111111121111111212122221121211122111222222111121222212111221212221222222121122222221112211211111222211112122211211112112111222112121222212222111212122121121122121112212111212211222211122221221111121122221122121211212121222121211112122112211111121121212211211121122221221112111212221212211221111112222211221121121212122211122111121212221112121111121122221111221222121221221212212222111122111122121111211112112221211111211122211211121111222122212222221221211112112112112122222112211121212121112212211222212212221111212121111221122121211222112211121211112221122212112111211111121122211212211212221122122122121121222211111122112211121122112222111221211212112122121111211112111221121222111111221221222211221212221221221221211121222212212211212111212211212221112111222211222122111122211111122221211211122221121222112211222112212111222112221111222221211111122221112222212111122211222222112112212211112112112112121121212121222211212221111111222222212211121122121211212222122211122211221211112222222112111222121122211112221112212211121121212111111122112111211222221111212222111121122111212211211122121212211212212222221211111121122222221211212121221212121222122112211111112211111212211221121211222222212121111211121222212211211211122112221122222221121211121122121111211122222211111121112112122211122221221212211111121222211122212212121222111112112222212211221122111112222112221111211122122212221222122221211122122221221111122122221212222111122222222221122211111112121121211221111122111111122121121222121112121111211221212121121122211112222121121212211212122221111111222111111222121222121111121112121221112222222121111222212222112122222212111222111222212122221212111221222222221221122111211112111122122222111221211111122212212121211212122112111122212212121211222212122112122112222112122122222111211112112211221221222222222122112121222222211122211222221121111211121212122121221121111221112221121211111111222112122211212111211111111112111121211112221221221121222212212122222112111222121112121211111121222221212221112112111211212221221221111221221212121121122211112212211221111222121212221121211221212221112111222221121112112111221211222211112111212111112221211111221122221121212212122121221121111222211111111122212221122221222112212111211112122122122222121211212112222221222222121122222221221121212211112122211122221122121212211222121121222212221221222111221121122111222222222121221112112222222111212112222111211212112111112111221212121211221111221221211221122111121112122111112112212122212212112212211122212122121222121211111211112112122212221221211212121212212222122122112121112211221112212212121112212221222211112211112211111111122222221122121121121211122222122122221112221221212112112211111111122111212122112111112212211111211121211122211112121112211221211111222221211112121121112211122121111122221111222212122121112212122212211122112212222121222222221111221111212112121111211111112222212111211121112121211121212211212212111122121212211211221121221111121222221122121212222211122112122221121221212222111122221221112221212121122212212211222211221221121211121221122121222211122112222112221222211212221222122122112112212221121121112212211221211122212222112221111211122221221221122221111211111121222111222112111112121211221111211112111221121211121112211122221122112221211111222212112222111121221222222212212222212212211211111112221111111112111111221121122212121122222111121121222211222121211211221211221211212222222221121222122121211111222112221221111221211211111222121111122222212121222122121121212212211122111212122212221111122111121221212111212111111221111212221221112221212212122222112121211211122222121222111211121211112112122122111222222211122212112221121221121112112122212112112221221111111221211221122211221111111111211211111222211121222221121121122211221222122121112121121211221121212222111121222111221112121212221112222112212122112121221211111211111221212212211112211121112122222212111211111112112121212211111212112122211211222112212121211222211111212211211121121222122121122222222112212221211121222112121112121211222112221121221211221221122121211112111222222111111121221111221121212212211211221111222121222211121211121111121121112112221221212112211111211122221211211111221211222211122222212122222112222122212211222112221221222212111211212122122111211122221122221122212222221112222212111221221211122111122121221211111112211211111222222211112222222221111122111111212111211111222112222111122112112111221121211111121122221121121212111211112111221121111111121121211222112221122111122121221122211111221212212211222121121122211211121212211211222111221111212122121222221121221211222211222121112221222122112212121122222221211211112111212122212122221212212211122111112211212121121212212221212122112121212211122222221122112211122221122221122112212122221112222212111222221112211112221212111121121112211112212212122222212211111211122121212121222111211211221211222112211212211122122111121112122112112112121121112222221221211212212222121111122122221212112221212212111222122111212111121211221211211212212121122221212222221222222111212222121222111211221111111211212111222211222222222221212111122222111221121111222212111112122111121221111211221121121222211222111221221222112221121211122221112211122221111111112212112211112122222121212111212121222221111222222212221221121122222122112212211121122111211111222211211222222212122122112221111211212111112121111122212211121122111111112121122222211211222112211121211122211222122112222122111211222221111111222212112121211111221222121212221222122121112211221222122111221222221112122221122111111111111211111121111211121111222222111122212112211212211222111222122212211122211222112111111211221221211111122222111122221122112211211122121212222112211212222221121222211212222222211211111212112112221122212211111121112122222112111212212221121111212222212221211211222212222221111221122212222122211112112111111112121222221121211221111221222222211211122111111211122222121121111222221221222122211211121121112111112211111221111211222221211212222211221211111212212111112112221222211111211222122222212222112122122212122112212221222112222111121222112111222211112211212211121212212211112122121222122121122222122112111112111122111222212212111222211112212222112222112112222211111222211122211222112221212121121212222121212112221222212122122112122212211211122221222221111121212121122111211122122112111121122121212112221211112222211222112122222222221112112121222221221111111122212212111122121121112111212122112111122211112111121211212122222112212112221222221211112221212212122122222112111222111122112221121121211121122122221122122211122222121121121222112221111212211112212122221112121122212112211122221221211111122122122111221121221112211211122112222121222211121211112211222221111122122221221122221112221221222212222122222211212221221111122111121121122221212211222222122211111111121121122111212121111121212111112211211122122111112111212122122121222112112111111111121211222111111112221221221112111121112222211222222112121112112112221211221222111221122122121122112211122211211122212221212121122121222121222212111122111122121122221111121212122111211121222211121122221111211112211112121222112111112222211112122111112122221211122212121122122221212111221211222212122212222212122222121212221221222112122122211221111222111211212122121121112111121121221122122211211212212212112112122111111112222122222112112211122211112111122221221122122111112212121111222112212212221121221221122222111211122221222121112211212112212222222212211122112111211221212222111221211121112212222111211221112221221222212212121212212222221122222111112222122222222112222112211111121211221121121222222221211221221121112211211112111221111121212111112111221212112122112122121122211122111112221212212122212221112212111211221221121222122221112211111222221222221122221121211212221122212122221221211122112212112122211111121222211221212112111121112111211222221112111211212112212121112121111122121112111121112211221122221211121111222221222211221221111212121221221112111212212112121112111112212222212112111221221211222221212222221121212122121222212221211121222112122112122222212112212211222122111121122121221211111222221122222222122111121122122212211122121111222111111212222111111122111212211221221122122211211212221222212121221112211111211111111122111221221112222112121121211112222212221122211122111111112122121212122111112222221212222111221211212221112212111121122212211111212121221211121112212222121211121112211212212211111212122212222112222212122222222221121211122212112121212122112112112221122121111212211112222111212121121122222121222211121221122211211221212111121111121112121122221222212121212111111222111122211111122221112221211212221222222211111222111111111111222211121112222111212112212212211221112211221222211221111112222211122122122211222212112222212222211111111121211111221111211211111112112121122221222222221211222112222211222121122222211221221121121212221211121122211122111111122222222221112111222122222211121122122112122111122121212111122122122211121122111121111112121211112121121122222221112221211211112211112121221112111112122221222111222221111222222212222121222222211121121222121221221121212212121121221211111222222121222122212112221212222222222112112111222121221222122222222212222221112121121122111221111212111121111222221111111111211121122112211111122112221212222211221212211112221111122211122211212222121222211121121112222211122122112111221212122222211222221221121112221212211112221112121222222112121212222211121121121211121221212122122111212212211122222121122212211221112211122112112111121211222121122222111111211221122222211122211212122221121222211221212221112121111121212122222222121212211221122122221111111212221212112222212112121112212111122222112221221121122121212211221121211211111211112222121211212211122121121211121212212221121221121222211222122112222212221111221211221111122111121211112211112221212112212211222112221121112121112212222112221112111211122211221221211221211221222122221222122211121121221222221112121111221222212211221122222111211221122212122122112212111222222212221222122112122122121121111222121222112211221212212111211111221212211122121221121211121112212221111211111221211211211112111112112212221122221121222221112211212112121111222121122112211121222112221211222221212211211211222212112111122121122112122221211221211222111112111122121121222122211211221122221111212112222121221112212222212222221221211122211222122212222211211212112221212122222221111121222112212212122121112211211211122211212112212212112221211222222122112212111111112111211211111211112221211122121212221112212121111211121111121122212121222111121121122212221212111211212111122222121112122211112122221122122121112212212111121222112211211121111121221121121121222222212221221111121121221211111122222121222112211221122111121122112221121122122212212212121211222212112111122112112212112222211121221122112211221211112112112221121211111222121222112111112222222221112111111112222122121111111112121111222221211222221121222121212211111111111222222212212112221222122211221212111211111122122211222221122121211111122221211212112222122122111121112221112212111111111221222111211112112211121211221122122221211112222112212212122221122121122212111221111221221211112221122222221211112111122111222212221222211221212112112122111221212222222222111111222222121222111111211211221112221211121121122112222222112112111222122211211221112122222112211211222122211112122112111221211212221222211112121111211211121122121112112121221222212121122111122211211221121121222122121222121121112212122111222211221121212211221121221222112121111211112222212121112212122211112121121222222221212122222222112211121111122212222112121222112212112111111111111121122221212222212122111112212211221211112121121111122112121111212222121212212111111112121222111212221122111122121212122111121122222112121112211121211122221121121222111121221122121212222222121112111122121111222121221222221222221211112221211212111211122221221121221212222121112111221111121211221211111212112222111212221122122211122212221221112222212112121112121222111111221122122111212111111122222211122212122222112212212111211111221122212221111212111111122121212211211221222122211111111121211112212212222112112111122211211222212121122112111122121212111221111221111112211222221212121112122111122212111112211222221211211222211222112221212212112111211211111222121122222122222222121122121121121222111112211122221121211212121211211211122122221111222222222122211112112122221121222212112212221222112212121221122211221122122212112111212212212211221121111211121222122111212212221211121112121121221221221121111212211111212122121122222112211221212112112222221112111122212112122222221122222212221112212222111212111122212112111112112121212112212211211212222211111122121221122121122121121111121221212222222211221111211222122222222121112212122121111221212222112222221121211222122122221211111222122222112211111122221122212121211221122121121112221122212222111211221211222121212121111211111112211222212122212222212221212122112111222211211222112221121221211211221211111212211112112121111112112112222111111222221121121212211212121221121222212111111222211111211222122112211222122212112112122211112112212112222112211212121112222221121122211212121211221212222212112111221211122121112211122122222121212121111221211221212211122221222122121221222111112121111221112211122112222212212122121121121111212112121122121222111111121121222111222111211122211221212212221111112211111122111212122221122112211221211112112121122222212212112212222212112212111111222121212221111112221112211222111221212112111121112221211221121122112111111221222211112212222111222211112121221121111222112112121212211221112122122221221212111211212212222212222212121222111111211121221221122211112222112222122122212221212121122221222212111121211122121221121211111121112221222121122122221222122112212212212221111112212222121111112122122122222212211111211111212221211111111212112122122112211212222111122112111111211222122221221222222111212222211111212112122222111121222212221221211112212211121222122121122122111212211212111112222211221222112212111212122112112222122122121111211121122211122222111111222121211222122212211111112122212221221212122121211112112211122121112222121212221212222112211221111211111121121211222212211211121211111111211122121222111212111221222111221212222222112212122121111211221122211222211211222122222211212122111111111111111211222112112221122211112222212121222121212122211112211222222122122121212122111222221122221221222121122211111122221122112121211111112121221121212211211211112211222211221221121111211121221222222211222221222121222122222112211122221121121211121112221221222211211212112112221122211222122212222122122111112221211222222212112122221212212222221212122222112122122111111122121111212222221121222122112121222111211211111221212122111111222212212111111122111221112111121122212222112211122211211211212221111122211211111221212111111221121121212212211221111112121211221112211112221221222221221111222212112122212112222122112211112111222222221212121212111121221121112211111222122121112211111122122122221222222122112222112221122111111121112122212111111112111122221121222111222122122222122111111112111121221211121212122212221112121212122211211111111212122112222222212121211211211122222211111111221121212121122221122211221122221211122221212122112212211122222121212121121212212221222212211221221221222122121111211212122211122221222211212111212122212112211212221211222212212121112212222211212111122211112212111122212222212122221211221212112111121121122122112211222121111122222221222122121112222212222222212112222121212212111212221212211122212112222222212221122122111112122212211112221221222222121122111112221122111111122112221112221122211212211122121212212222212122122112122122221222222111112212222112222112212112212111211111111221111121122212112221221112122111122122121121112122222211121222211121121212221121111111212121121112111221112221121222212212212111211222111112222222221121222112112122222211221112122211221222222211222211112122111212221112112122111222112121221122212221122111211222221211112112221111122211221112211222221111222122222112211211222111222211122111121111112222222221112112211112222111221112211211221212212211112222222221122212111122221112122111212221122221121112211112221112221121121111112122222222121222111111111211222111222211222212221221111122221112212122111121212121212112111111122121121122212121222122111121222112122222122211121211221121221221112121222112211112222121211121112122221111112211221121111211122211122222211122221112121222112122121112121221211211211222122121121122111112122111112112122221211222221112212112122112222212221112121212221222111121112221211212221122111112111112221221221121121212212111121211121122121221221112221221122122211122222111112111221112221122112111122222111222221211122122111222122112112111222211112112212212112221211112212111212112221221121222211212212111211111112211111212221112111222111111112211121212122222111222222222211111221212212222111211221212112111112122122212221211222112222112112112112221121212111112122121221212122111211121221221211111212222221121222212122222212212111112122112222121111122111112222111111212121111212122112221121222111222111111122212211211112122221222221212211221222211122112121222122221221121111112111121221122221111121212212111111211212122122222121121221111222112221112122222212111112121222111111212212121122112112122121212221221221222222111222212211111112111111111121122212111111121121212211122222122211212211112221222222121211112122221122212112221211222221221222111112112122112112221122112221221121111212111111112112122222211112212111121112222122221212211212211111222112222211221111121212122211221211222212121112121221112211212121211121121221121211121211222221211211221111211221212212212221121211212212211121121112112122222121111222212112221221111122112122121111221212111221212112212122221111121222112212211211111121221222111121212211122212111221111121221221121212211121212111111222221211212112121112122222212211221221111122122122121221221222221112121211211221111212211221211121111111211121121122122112211212122121212221122111211211112221122221221122112222121122212221122212122111122212121111121211122121112221111211111122212111221122112112221212211121221212221121121211111112222212222111211212212112211212112222112122121221211112221122112221111221111221112221211112111222122221121212122111211121112112112121221121212122222122211112221112111221121222211122211222211212112211121222222221212121222122111121121222212221212211211121122121111121122221211212211122111212221222112222221221121221221112221211112222221112121111211211212112221222221111122122211121211221121211221122211212122121222212211111212122221222112221211112212221122211211112112121122111211212111111122212121222212211222112222211212211122111212111211211112211122112111222122211222222121122212211211111212121212212112212212212212121112212112222122211111221122122112112122121221122121211122222111221121221121121211121211121111222122222212122212222221211122222112111221212212121112211222112221112222222111212212211111211121221212211121212221112222121122211222222212121121111112111211111122221221212122222121112111122112211212122211111222222221222222212211221222221121221111121212221212222221221112211111121112121112212222212111122222212121211222122111212212222212221122221112121122122121112121112122111121222222221121211221221211122212111111212212212112122211222121222211211112211221122121121122121112112221111222212121211221211211221211121121122222111112122221111121211211222111211111111212212212211111121211212111112111222211121112211212222111222211212112212122212221211112222222111222221221121121222112221112121111211122122111211121211111221221221221211212122212221112112222211111122112122212211112222221111122222111222112211212112221211212221122112212112221112221122221112111112212212221222211222112211212211121111211221212221211222111222121121122222112122112111222222122122121111112222222121211212222221122221122211221111221222212121211121122111212212212122112221221121211111111122121211122122112211221112121122122212212212212221111221121111211121212222221211222112211221222211111222112121222221211221112122212112111111212221212112122112112221222211122221111221111221111212212122211222212122111122212221222111222112122111211221211121222122121111222212211122211212222112212221122111122221222111111212111121111212112122122221211121222121211122111122211112122211121111222111222212221222221221212221212221212211212212112212212112121222221121111211221121122221212211112221212111212121221112121222211211111211221121222112111111212212111211112211212122211121112222212122112112122221122112221211112221221222221111112212121211211211211221211211121212122122222221121121211212112222211122112221112111112121111211121222212212212222112212121122222122111111121211221211111212122212111122222211211222221212121111111121222222211122211211111122121111221121222211122121212121222111121112222211212212111211122112121212121222121112222111122221122111121222212111222212111221212222112222221222211111222112222212122121112122122111111221222122122111222112212212222112212211211121122112112212211221111222121211112211221212212122211212122211211212211221222221122121121111121121222212111122112212221121222121111222212121211211112211212222221212212211122111122112111121222122121112221211111121121112212212212221222112212112221122211122121211211122211122212122122212112112211212211111122222221122211112222221222112221221122112121122112111111222122221121211112222122222111211212212122222112212212111221221121212111112221111212121111122112112221111122212112222121112112212222222111222122121122111111212212212212112111211111212111122111122112222221211212121121221212111122112122111121112212112211122211211112212211112122121211211212222112211212112112222112212222222122221221222122222222211121112121212111111121211222121122222122212111212121212221221121211211111221111212212122221112121121222212121221222111221211112112122111121212121211222211212222212111112221122222111222222122222221112121112111221111121211121222121212112211212221221212121121212221211221121112212211111121212212212221121112221112122212111222121112121221211122112222111111122112111112222112212111222111111121121222111121111221112121121221221211221211121221211111222122212122221122122111222121112111221211122212112211212121112111212121211111122221122111122211211112221222221212122222212112211211221221221122221211212111121122122122212121111122222211122112212121121222212121122122211221221112111221111211211212112222212112221221221112222121212212222212121121122121212211221211221211212111212112211121111222121211211221121211212222222221122222211222211112121122121112112111222222122221121121212112211121212221112122211211111211211111222212121222211122221221212111122222212111122122221211211221221222111122222122212221121122222222221121122122121121121212212121122212122112121222221212212122212122112111122212222112112222211112111222222211121222111211111212112121122121222122112121222212121212221221211121221121211121221111212112221222121211122212211111222222122212111211211111121122212122221111121122221221121122222211112111212221211122211111112212212211221222221111221111112111212222121212122222121212221122122222112112211211112212221211121221121212212221221122111211111221221222221112221212221212121221122221112212122222111112212111111221222112121222121212111212222122122212221111121221212222221212212211222121111122121212221121221111112121211111211111221121211222222212121222121112212222221112121111222121211121122221211211111111211121122211111112222111111112212122122111122122122211221222112122211221222212211122221111212212122211222122221121222212212121122112221111112222112121212121221112221222122111212211122111122121121122221221212212111222112212221112212111112222212122111212111211212211112212122112121121221111111222222111121221122112112121122122212221211222212122112221212222111212122112212122221121211211222112221212112122221121222111112211111122121112221221112221111112221121212122221211221111112121221211112221222221111112211112222211112122221222212112222112122211221111122112222221212121121112121222222121221221122111221221212222211122111222111121122222122221111222212212212221122121211122212112112222222122122222121221212211112121112222121211211212122112121222121221221212121112122121221111112222221222211121122121221212221222221221211121111221222122222221122222122221112211112222121211212121122211212112211222221212211122121112122211111211112112111121122211222212111212121221121122211211222222112211212111121221121121111222211211111121121121122221122211222111222122112211122222211222211112211111112111221211122222112121112112212222211212221221112122221122212221221211121221221222212122122212211212121122211112122212222211211222222221221121112122112221112212222221222222221121222211121111222222112221121122111122221121222221211211211112112222112222212222221211222211221222222212211212211121111121221112111212121111211122121122221112112121112111112211122222111221122222221212112111121222211221121111221212211111111212122122212222111212121221222121122221222222111221112211122122221111121112222122212222212112112211122212211212121122211111211112221211122121222222121122122122112111121211122212122112211111221211121221122212112111212112122222112112121122121221111112112112211111222211112111112121211221222112221121122221121211221122212112211121212111122221121111121222122112121222212112221211111112222222211222112211121111121221112112222111221211112112211122212122121121121221122112211222121122121222211111122111121212222111112111121212121112112111112211212111221111121221112112221122221111222121111121111112112221212211211111212211212221221121211212211212221111121222212211211211111121211112121122121222121122121211121212111122122222222112111211212122221121112221212222212221121222211221111212212221122121121112212112121212121221121212211122122111211221211121112121211222222211121112222112122122121111211112222211121112222112212121211221112122111211111111122121122212112111121121122222221121222222112211211212221221122121112211211221211112222121121222122222211212122212222222221221121121112221221112122221212122121221121111122221211121211111211111212122111122211121222121122112222122112122222111122211112211112211112122121221222212122222212222111221211212122111111221111221222212122212212221112211122112211121211121212112122121212222122112222221221221111112212111111212112111112112212221212112221121212112222212122211211211211222222122121121221111121122212121222211121112111122211212211122222111211121121211211112211122211211121212222222122212121112111221211112211111221122221212111121122212211121111112112221221112112121122111111111212122122211221112222111112211112111122121112122222122122122122122112212121221211222212122111212112211122112111112121121221111211222221212211111121221122212211112112212111222221211121222222212212122211122122112122211222112212211112121211112222221122112111121221111222121122121211112212221221211212122221121211222221221121112211221111222121221112121211111112212122221111211212112112211111122111121122212222111122222111122211222222221221211222121221211121122221221222222211111122122211212222221212212222212122211121212211222111222221112221112211112221211111212212111111222122221211212212212221122211211121122112211221121222111111112211212121222122212111122111122121121112221212211121112111212212221112211112121122112211211212112112222111111111112221222111212221212211112122212222122111122112211221111222221121222221121211112222112112211112211122112112111111122122111222111222222211222112111121222222112222212112212121222221122122111212112222122212221212211121122111111122111112112111121112211121111112111122111112221111212212112111111221222212111121112121112211122221121111122211221222212111211122211121121211112221222121211221122121112111211121122221222111211211221222211111122111211211112122112212112122221121122111112122121112122122211212211121222111111212222121212221111211121122211211121222221122221122121222212222221111222111212221212121221121222221212222112212222222212222121122112111222221212122122112211112212112222212112121122121111211211122212221111221111221122222122121121121111221112122212222222121221211211222112111211221112111221221121211222111221121121221112211211221212122121112222121111122222212212121221211211112121222112212211212111112221211221111121211111211111221211122221212111112122211121111121222211222222222112221212211221122221121222122221121211221221222211222121111212211212211112221222121222111222112122222122212211112211122212122112212221122112121122111112222211122121212222122211221212211211121122111121222212111212121222221111122222211122222222221122222211111112122222221121112212211121221122121122112222212221122112122212112222122112222112122111112211122221112222212122222122122222121122221111121222111212121112121221222211222112112212121222121211122112222211111212211211121122122221122212222212121112112222211212111212221121212221211222112112111111112112122122211212122221221222122121221121212221111221212211111221211112211122211121112122122222211121221221211222122222211111222111111222121211212222122112211212122211221121122111112212112222211211222221211212111111212211221121211121112122221121121222211211111221121222212211122212221212112221112121122111222212112222121121211222212112111211222112221121211122122122212221221221222111212221221122112112122211221111121121212211121122112121112112111112221221222221111211111222122222112212212111211122221122222222112121122122112211222212121222121121211211212121111111222222211222211111212222211122222212211212112222212212212111221121121112211112211211111112221111112111111111112211111111122212121121112221112221112222222111111212221222212112122212222111222112111112222112111122211211121111211211222122221221122211222211222111111111222212211111122222121111222112121221111111222112221111211122122111222222112122221121212121122112111111222111221112222212212112211112221211112211211112221222121112112212221112111122121221111112211222121111121211211122121222221221221112212212122111211112211112212211222111221212111122111112222221222221212111211221211212222121221111122211222221122112122122221211212122211122122121112121211112111111112111222211212111212122111111111111112121112221221111122211112111212121221112121111122222221221112112111121112122122221122112211211121112212212121111222211221211122111212111112212112212122111212212212221211111211112212122212122121121111112122111212212112212121122121112212222221111122122122111122112211122122222222212112112111112121122212222111122112212121121122211212222212221122121121121111112122111212211211122221112121211112112122121211211221211212211211211111212212221211122111112222222121211111112122212112222222211111111121111121221111121121212122212222111112112122212122212111112222211211212212112121121211111221211122111121222212122222211121112211112222122111111122221221222121212222122212122211211212211212211211212111111222112122211222212212111221122211222222211221111212122111121112122221212222221111112221121111111112221211122121112222222111112122111112212221221212222221112211111111111212222221211112121222112211222222111111212122112211222112111222211212222111122112111121112221112122222212222212222212111111122111121122122122121212212112122212111122112112222212222221212111221111121121112121121112122211212112121221211222212211121222122212211122212121121112112221111112212211122121222122211211111121222122212212122222111121112211211111212121212111212212222112121222121222221221121212221211212122122121112221112211221111222111112112121211211122212121222111221122222212112222221121211221211111111212221112222112112212121112111221221122122212211211121121212121211212222112222111211212212221122222121121122222112111111211121121122221112121111221212211111212112121212222211212112212211211221211211111121221211121211212222222221111122211122212222111222212211212221122112121222121121111211222222222212221121222211121211221112122221121111122222221212212211211212122112121212112112112121212211112112111112212111112211212212112112111112221212121112222211112221111211221122111121112111112111221112211212122211121122111121211122211212221211112211221122222111121221222111212111222111122121221122212111112222121112212212111121221111222111112211222222222122112111121212211112222111122222212222112212221122122221111121222222112212221212222112111112212121112212222211112122211121222112121111221122112221212112221121112211222211222111211221221112121212121221121221221111222212222112122212121212222211212122221211222221222221211112211111212111112221221211222221111112221121212211211122121211121221121221111121221212212112111112122221121122211211212111212212111111221222121222122111122112222222111112121211121112221212121111211221212222122222112212212211211211121222212222122122212111122121212112212111111222212221222221111221121111122212222112211222222211122112112222212212221221222222122211112222211211221211222212122222222222121111211111122111212211111121212112121121122111111211121121211212112221222212221112122111111121222211211222212211121211221221221222122111222121111211111122122221212222122221121221221222121111112112221221211121222221111122212212221122221211111111121211122211211221112221111212112122122111122121221221121122221112211112211122211121211221221221221212221212212212211212122122112222112122221221112121222211112212122222112212112211212212121111111222122121122122111212211221221221121122212112212122222121211212221121122112211121221212111212221122222121122221122121212111111111121111122122111211212222112222121121122112112111121121112121221121112212122112112122112122211121221221211122121112122222211122222122212222211222111222212122121121212122222212111211121122112222122122221212211212121122211222222211112122122111121211222111211112222222112112211122122222211121211211221211212221111211121122121211211211221112112112112121221221222112121222111211112121222222111212212212111111112211122212221222122112111112212122211122212121211122111111221122121112222121112212212221112112111122211211222122121111212221121112112121121222212122221222212211111222212112222111111121121111222111222211121111112211111212212211112122122211122221212221111111112121122121212221221211112111122211222221211121222221121212212221221222222222111222222221111221111112121121211222211111112112211121121212212221121121222122211221112212111222212221222221212112211222211122111211111121222121122211222221122111112112121121221111111222212122211212212211122221122221111122122111221112112221212221111111122111221212122112221122222121112222111122211121212221212221111121122122121212122222122122211221111112221112211121122212212111112122121121111111211211121211221212222211121111211222121112122212111222211122221222211112121212112221112122121122212221122222112212121221221222221211112221122212111121221121122112222222211211222212221111211121122121111112221121211211111221112111212122212111212222112121121122212121221221111111221211211211222111211111112221122221122112222112122211222222122111121111212111121121222121211211221212222112111122111212121222121111221211121122121121222211112111212221112122221122211122222112211121111112212212221212221112121221211221222211211111212211212212212112112211222221111221221112211111112221111212212212112221221112221112221122221222122121121211121212112212211211211212211211221112222212212121122121222211112122212222212112122211121122122221112221212222112221222111111122121122111221111211212121211122211121221122121212122221222211122211122122221121121221112212112111212112212222111112122121111121111222111222221211121112111122111212121112211111122122112121121211211122111222111212111121211221221222121211211221112221212111111111112112222211212221112111121212212122111121221211221121111222221222212111112111222211222111221111122212221221121211211121222212111222221221212211122111121112211212121211221222221122212112112121221212221212212122212112111221211122122211211221222111122221121222121112121222212122212222211121121121122222211112122122112112212111122222112212122211121222122221112111111212212121211112121112121222211221111122121222212122112111121222121222112221211122222221221211111122222121121121111121212212212211122112212112121121121211212221122122212112222111121212212212222121221222211112121121112222112221221212222111221112122211112212222222121221112112121111211111122211212212211122211121122222211112221222121211111212121112111112221112121222112221121211111211212221212122221221112121211121211112221222221111122112211112212112212222122212211212211211212212211221222212221212122111122111211211111112222222221111122111111112212212111112121112222211112212111111111221121122211222212111122112211111121221221122211112211122221211222212111111121121121222211222121221211112212112112222221212121111212221122211122122112211221111212112121112121111112121121111211212112221212212121121112121211211122222121121211122221121112211112121211122221221111222222121122221112111112122112211211111121211111212211222111222112211112121111211111211122211122212221121221222122212212111212111112121221112122212221121112212122122121221122121112221221111112122122221111121221111222212222211211121221222112112222222222121121121111111111112212111122112221112222211112222212112121121211122222111222222121222211211122121222211122122211212112212211221221211112221212222211222122212222211121111111111211211112221211222211122212122121112112121212221122222211122221111121212122122111212221112221212122112121122212212122122121212111221211212112111111121211112122121222112212222211112111111112222221211221222222221121212212121111212212122122222111212211211212121121222212211111222212212111211111111211122211221211221112112122111211112211111221222121111121111111221122112122221111112112121211111121111211221211211221111212111212212121211122112112112221222222212121212111221212122222111121121211122122212122221121122112121121222111112111122211212211212211111221111122221111112211212211112111112111211121222211211121121221222112222212121111222112211222121111212222212211221112122111121121122212111111222221122112122221221221212221222211121211122211212221221122222211221211211112221122222221111122122112111122211221212111222211211221212111222121122211212112122212221222222211221222212212211111122212212121212211222112211121122222222112121211212112121222221112211222222111121222222121221211111211121221121211111112212122121121221121121222221211211121211121222222121212221122112221112121211211121222111211222222212111121111211112211111112121122122112121222212222111211212112112222221211222221122111212221221222212122211121112211112222211212111221211121111121121222211211212121212221212222122222111111112221211112222222121221212112121211122122222111211211212222111111121212111121221122211212111111222212212112212211212122122122212121111212111122121112111221111121122222112121112121212121212212212121111112211111211111112112212212111211212112211111111111112222112121121211222212112212112121212122111211212121122121222222112222211211111222221212221112121222211212211212211112121111212112212222111221111111222122221121121211111121112211221111121111211211221112121122112211221222211112112221111222111111122112222111121121212222121122222221112211111121111222121221111122222111122212121221222221121211212212111211122211211122112111121112221222211121122222111212112121222112212111221122112221211121222111112212212211121112211212121112222121122212122221122111111111112111212211122221212211122212122221211222221111221112122222122111212121222122211121111212111111222111211211212212121222212212111122222112121212122122121121122112222122211222222211211111122122112112122212211111111212121211222111222112222111111212222121211212112222122221112212112221222121122121221121211121221222211212111112111121212221111112121122112221222111222222211212212112222222222122221222222111121212221212221121212112111221121222112211212212122122112211211211212211112111121122121111212111222222221211211212212211121122211111121121211222212222221212222121121112221122211111221221211221212122111122121111121222222221221121122122111211221222121111211111211222121111211211121221111122121111211212211122122212221211122212222121221111122122122121222221211221211121211122211122221212222212221212221221221222211222212221211112122122211112211122212122111111212212122112121212111121221211222222111112121212221122212112121221212221112122222221122112112211211111221121122211211211111222211222221112112212111212221122221121212121122121221122211122222121211111221111211122221212212122221212211221111211112221211122112121221111111222122212111221121211122111112111122211121222111111212121222112222221221122111222111212111111221111211222211212221221121212212122222121222221111122211221122122211212221212222122221221222121221212121111111121112122111212121112111111122211112112222212221222222122121211112122221122112111221212222221221121111112111212211111212112122211112122211111112112221112122222221111111111111111212211221221222122212111121212112112212222121111121221222111211211211121122111212222212111121211211222111212222212121111111212112212212111221112121111121212211121121111212222121122122112222211122121221211221212212111212111111121111222121111222221212111122111122112112122112112212212211111111221222211221112212122211112111121112121121211111121112211112222122221211122212211111221122122222222221212211112121222112211222111221222221222221122121122212111212112222221211121122212212111212212211122122222121111111121122221112111222111212111212212212111221112121111212221112211112221112112222111112211111122212212122121111211112122212211222112122212112212212111122122211111111212222121221212112212221112212212211211121222121112122121221121221211112112211112111212122211112211212212222222121212121211112212211212222211222121221112212111111121111212212121222122221211222112212111212122212111212221211111111111111211222211112111211111211122211222122212111221121111221221112212112221122112212112121221222222122111121112212211211111211112122112212121121211112121121121212111211221211222122111221211211122121222111222121122111222121212111121121121111211222211112222222111212121112222222111121211111112111111221111121111222111211212212112121112222121112211121221221111111212212122122221112121212122121111112112122121221111221121121212111222221111221221221222111111221221211121212111211211122111211112211122121111222121222112122222211221221112111211121211212122222212111211122222222221212121121222221211112222221211121121221222121121112121221122122111111122111111121222112212111212121222222211211121122121121112111122122111112112222121211112221221121221122111112211111212222222212121221122111112212222211211112212111112222112122211111211222122112121212221122222111112111221111112121112122222221122121112222211221221211121221122221221211121222122211222112122112211211122212121121111112111121211112221112122221222212221112211212222211211121111111121222122121112112121122221111221211211211121111122122222112122211122222121212221212112211211121212221112112111222211212222121221111111211221212121112121121112112111221122222221111211111222121121221212221121221121211222111211121121112221212122211122112121211212222111222212211122112121111212112222212122111121122221221122111111221211222111112111222111221211122211112121122221212212222221122212211211112121222212221111212121112211111211121121222212112222122212122212221111212122211222122111112111211122111111221112121112112211222122122211111221221222111211121222122111222211212222121212121121111221111112112221112121222122122112111212121121112121221121111212112211112121111222211121221112111222111112122211212122121121111222222122222121222222221121222121111221212221111122222122112222211212122122212211221122221121221212222112122111211222211211122211121221121221221111121112111112122211112211222212122221222222121112121212122221122222121222211222212121221222212121111212221221222122222111212221121122121221121121122122211221112122112112121212221221212212121211121121112222222111221221111221221112211122111212122211211211222212122222121222212111221211122211211212111222222122221112212221111121112221221121122122212222112121112221212112122122211222122211222221211121211122211112122222212122221121121221222212221112212221211121221212212212112122211212121211112111211121222222121112222211221122211122212121122211122121121122112222122222212222122121222122122212121121112122212121212121211111221121121211222222122221112221112122222221212211211112121121222212121121222111221122211112211122221212221112122212211222111221222222122211222121122221112112121111121112111221212121212112121112111222121221121211112212111122112221211212121211211211211221122122122122212122121222212111112221112212221212211111111112221222221222221221221112121112212121211111222111221222122222111211122121212112212222221211221121111211222212222111122222121221112211122221212221221122121112121221221111122221122222112221111221211221222112221212122221212122112122221222121111221222211221211212212212121112122122121112222212211122211111211221111212212212221112222212121111122211122212121122221122212112221122121221122221111212221212122121112122221222112222111221221221122212221122211211221211211211111121222112122122221112212112222222222112222222211111221122221112211211111122211122122111221211121221212112121212122222221212221212111122111211222112212211121121112211121212122221112121212111122111222222221212112122222121212221221121222121121212212112211122111222221221112122212111212221112222211222222122221122212221121122221212221211221121112221122222211112121122111212222212222222212212112122121122212112222122212122121222222222222221221121112221122211122212122212111222222111112121122221212122222112122122112221221111212121112211222112121121111112212222212211121111212121111222111221122111211212112221111112111111121222212212112122121112212212212122112112121122212211212121112111221212221222212121212121222122211111221221212122112121112211121222212122221121211121112112111112122221112221121211211111111211111221111112211211212221222111122211122211121212111121212111121222211112212112222111112212212122122212222122222212121122211221112111222221211121111211122221222111212222111121222221111121112212111211221212212221212121221121221111112122221111221222111222122212112121111111222211222221122111111222121212211212121221212121122111212111211222221212111222112222112112121212111222112122211221212112222222112222211212112111222111211212222112212122212112122211122121111221111122222122111212212212221222222222111222222211221211121211222112111222122112121211111221122111222221221122112221222212222111112122221122111121211111122222122211222111112122121221221222122111222222222122211211121112121122221112112112212221111222211211221111221211211121222112122121121212122121221121222211221112122121222212211111211212122212222212221211221112222122212211222121111222111112212222112211122222211111111222121121122122112211221222121212121221211212222122111112111211212221222121122212111122212122212112111221111212111212221111212221221111122122112211212222122112221122112112122212211221222211121212122221212212221222112221211211112111222111221221112222221212222211221222112112122122222112112112212111222122211111221221212221121221111211122221121212211222111212211111211211211121121222222112112112222111221221212212122221221212121121221122111112222221111221211211221122112111112222222122112212222221111111212211222212221221111222212211221211222121211222112112121111212221111211112221122121112121221112212111122211112121222211112111122112122111211212112221112221212111111121121222212211112111112111112122111122211122112221221212211111222121111111221222222112122211121211121112112111221122212222221111221212212212211122111122212122112221211122112221112112212221122212111111212122121121211121112112222122112211111212222112121111221221111111112112221221122121221222112211121211222212112211222112122222111122121121112112112121121212121121112221111111111121222211112122111221122211212211121211212222122111112222111111122122212212221221111121212221112212221121121122221111112112211222211211222212222211122222222121211222222211121212222222121212212122211111212222112121122211111122221211121222211122112111122222221211122111111121122111111211111122212111112112122211121222112221111211221222121222212122221212221221112112112111121222222121121111122211121221122121111212111122111212221221221221122121221222212212111121121122222212211112211122221121122221212111111111212112111111212122122121211121221221111112112212112122121222212112212222111222111221111222112211221222111212212221222211121221221121111222212222221211121121112111221111121211221221122111121111221112111121221121211211111221212111221221111221112221211222112111211111222121111212111111112112111111112111212222122221121111121212221222111112121112212112211222222211112112212212122212221111112222212221112211112112211221122222122111121122221122221211112111212112122222122111221221121222222222211121221122211121121222211221111111111112212112111222122112222222112121111112222111111112212211211121122221112222212212222122122111121221221222111122211222222112211212212211211221212212211112212221222112212121122122221121211221222122211222122212221122112212211222121221111122211212111111222221211122221122121122112111122122221211211211122211212111112212112111122111221212121211122212222211222222212211211121221211122212112112122122222122112211212122212121111111112212111121221121212211211122222221112211112111122221212221212111122112211221121222122111111122212121121212121111122221122211122121221122211212221211211212211122221111212111221122112221222122212112211211111121111112122122222122111221122212222122221111221121121112222212212111212122211121211211221122122212122122211211212222222111211122221222111121121122112222121122122111221121222211121112212221221221212222122111111111211111211122111222122121111212212212121222211221222211212111121122221122111121212222222112212112121222222121121112121211222111221112222221211122121112111121221121211221221211121222111211121121122212111121111121111122221221212112211212121111221211112121112221121121222122111122111112121222122221221212112122211212212111111112222222121221222112221221111121221222121212111122122111112222121221211121221222222112122212121212211221121122221221212111111121111111222212121112222112111222211211221221212111222111221222211121121222211212112221222211222211222112221222111112212122122222121221122221222221121111121112222121222111122111212211222122221211221211111112121211222222111212212112112221211222121211112222122121111221212122221211112122122212112122112212222112221212112212222111121112212212221111112212212112122112122221212221111112212222222111221221221122211122122112121211221111221212222211112112122211112211211122211222112221222211222112112112111121122222211122112221112111111122111111122211121222211221212111122211222111212111111212122221222211221222212112222121212121212212212211112221221122212112221122122121222212112212211221122112221221121222111122122221222122111111111121112122121222112212121221121211211222111112112221122221211222222122212122212212212221212222111212212111121221121222112122212112211121222212221112222212222212211211212111221112212121112122111111221121212112111222112112212112211122211221122121112211121211121122111122111121222121222111122112112121212121121222221222111222211221112111222122211212211111212212211121212122221112222212211111121121112221222212211122222122122122221122121111111121222222221222222112111112222122222122222212111212212222122121211122121212122211111121121221111111112121111122222211122212211212221212222222211122221112122211111121222221221212121211121222112121111122121112122222211212122211211222121121121211222112221111112111221121222111122111221111222111121111221222112221111221122112112122112111212211112222212122111121112212211121212122221122221111222221221211111122111211121112221222122121212211112111211121121121211221122111122122221222111121122121221122121112111221211221211211212212212212111112121121121112222112212212221112211111121221111122112222111112121212122212212121222212212122222122212121122112221222212111121221221221221122222221122112222222122211211212222222222222222212222121221121221111221222122221122221111111122221221111212111212111211121112212111212211112222221112112112112112111112122122212222222111111211111111112122122122221222212221222211212221111222221211121221111111121221221112112222121121112212212111212221122111211121121112111212121221112222112121222122211222211212221121111222222211211121122112211212211211222111222221112112222212212222212112211221222222222111212222222112112111222221111211212112122121211111222111222122212121222111112221212111222112111111111212212121112222221111122222112111121222211211222111112221122222221212212111121112212211111111222222221221211212212122112211221222221221212212122222111121222121111112221221122111221121222212211212212122211121222222112211112212112121122222121211211211111222111122121111222221211112121221122222112222212121122122221122112222122121122222221221211221222121212212211122121111111111122111221121122221222122121211111111121222111122121121121122121111121221221211211211221211212211211122111111112211111111211122111221222211121121111211112211212112122111221111112122212111221112222221212111112221221121212111212121211121211122122121212211112111222221211211111112211122212111222221111211111212212112222222112221212212112212212122211112121111122112222211122112111121221211122121112111211122212222212112112122222222112112112111111122121121111221111222121111112122111221222212211122111121212111222211121112111111221122222221222112221122122121121122111212211212111221112111222111212111111211122122211111212111121222211222112222222121111122121212222221122221221121121212211111212112111111211212122211121212222112121222211221112221112122221112222112212112212222222222212112211222122212221211112112111212211111112112122211121211111222222222121111212122111112121211111122222212211211122221121121122121122121222222221112122122211111111222112212122111112211121122222212112221222222122121112112121111121222222212221222212222222122122111211212212212112222121112122212111121121212222222221211112111112111212121111211222211111122222221211121112111112212211112212211222221121222212211212121112111221222112211211221111112122212121121112222111212221122122212122122212221112121121211222212112112112212212211112211122122121121121211221121121211211221222211222211212222111111121112121121112111121211122222212121221221112212112122212121121111212211211121221212211121112121111112121221112111211112122222111111212222211122222212221122121111112211222221212212111122111111122112111111212211212111222121121111112121111222221211212121221212221112221122121121211111212112221112122112222222121112221111212222221121112122222222122211212222212222212212122222111121122122122111222112121121211222222221212121112112111122121222212121212122222221122212112211121122222111112111221111112112121211212212122122121112222221112112211112221121122122221112211212221122122121212212211222222221121221222111121211122212111211211122122222221222221122122121122222211211121221121121211212121111122112222122122111221111121222222112211211222212211121221122211122212212211122122211111112221111211112112222121112122121112222221111222221221221212211122221111211212111221221111112112221222211222222121222121221222222212221111112111211122122211121122122212211222111211122122111111211112221221121211212121122111211222222221211212111112121122221212111211112212222121212122122221121112122211111212111122222222122211121221222121222222111212121212221122111121112121221212111121111211212221221121221222211121212112111221111121221212211111221122211122211122222111111111121221122212111122211112122122111112111122221212221222121111111111122212212211212122112212112212112122212122222211111221112111121212122211211212111221112222212121111211211221221212121222222211111221112121221122221121212121211221221211111112122211211211111222222111211221122212212111121222222222121122112112221121111211112212222222222122211121221221222212111111222111122211222222112122221222211111211221212112221111222211111122211122212112211212222222111122122222121111121121221222221121222122121112111222112112121122122211212212121222111122222211112222211222121212222212211111222122221111121121122222122222211211111211111211221122121111211212121222212111211221212222121212222212111111111222221221122122222212212212221222111212222122211111111212112211222112112122112122121111222212122122122211121112121112221221112211221211122111121212212222221222112111222211122122211211222212221121212112121112121112112222112221222121221221122112212221121112211221111211112222221222212221112211222122222211222122212212111211221112221211111111111111212111221112112221111212121111122222211111211122222222122222112122221112222221211212121221221122212221222221221112222222122122212212221121211111221222221111121221122212211111222122112212211221222221212112211122112122122211122121111212111212122211211222121212212211121121211211222111112122122121122121211121212221222121111112112121211112211212222222121121121221221211122212211112222122221211121112212112212221121121211211222222122212212212222211112221212121121122221222122112221112111222221111121112222221211121121121122122111222212121122121222122121112111121121211112112212211211221111111122222221212122122212222121112112221121121212111111221112112221222211222121222121112121121221111211112221122122121111122211121212121211111221122112122211211221111222122211112211222122112212212211221111222212112212122121122222212111112211121121112121112112222112222121122211212121212111211212122221122212112212222221111211222212112222221222112122222121112212121221212121112121112211212122112121212112211222211212112221121111122222222222112222212211111212212222211121111121111111212112221222212211112122111212122112212212121111121212212111212122222111112121222122112122111211211112212222121112112112111222212122221212112211222222221111222112112221121121211112222221221222111212222112111211122121122121211221211221212112211212221112112222111122211212211211211121112221122212211211212112212221212122111121112122212222111221112221211211111122111222221112211121212212111221211212112212222112221212122212121112222121212111121121212112121121121122212122221212211221111212221222212111222122211121122112122221111122111222121112112222211211211122121112212211121211222112121221222122211122122221222211111211121111212111122112122222111121212112121112212112122222221212211211212211121221111212221111112212111122121121222211111122112112211212121212212212111211111121211211211221121221121221211121222111122121212122211211112212112121211211221112211112121221222121222111121121121111122211111112122222211221221122122222112122121222221111122121111111212221121212221122221221212111212111212122212121221211121221122121112211112212112111112211111121211121111211211122112111111211222212212211111221221121121112211211122212112122111111121111111112212111222211211122122212222121121212212111222112222122122121121111121122122222112221211211111122222211212112111122212211221111122112121212112222122221211112111212112122111111121222211222211112112122122212212112112221222212221111222121221221222121122211112112121212211122112111121212212121212121111112111221111111121222212222221122112112211122121222111211112122121222222211122221111212121122222212112221211211212122121212121221221111221111212111211112121121211221111111222121122111222122221112211111212221122212122222122111122111122111111111212112222222122221121111221111212122122222112111111212222122211222221221111111112112222111221211122212221122121112221211212111111221121112221222121122121212111212222222221222112121212221221121122112221221111222212212222112212221211212111122122212111111221211122212111212112111212221221222212222211111112112212121122212222212112122221111221111222221211112222122111221122121121211111122112221221112112111112122112121122112112211122121221212211221122112222121222221211222112212121222111112122222111112122222112121212122121121121122222111212121221212112212121212212122111111111111222111222221212111121222112121222222222212212221212122211212222222222112121121112121122211111212121222222112221122111111221111222212211212111222211212122121111212122211122122111221211112111122211121112212122111121221222211122122222212121211222211221221221211222112122111221211211122111211221211222112111112122112112121221221122122221212211212221122112221111121212222112212221121221212211211111221222211211211122212122111211121121112112211111121122222122121211212222212122112221211112112222211111111121121122222212212211111122112221122112221212122121122221112122112122122112221222212111212222212211122211221111111121121212121111121222112222122211221122221212211221122212211211122211122121212122112122222111112111112221211212111221221221211122221221111122122222112122222121112212111122121221211211121212122111122121122112222112222111122112212221221221221212112121121112212212122121111122211222212111211212212112222121121112222222122211121211112222121111112111111112211122112111111222121121122112122112222222221111212211212222222111112212121112222111122222111211111121221212222111221111112211211222212222212111211111222112211222212121222222111111112221122221111112111122121121112212221111122112122121111211122112122211221212121112222121111111212111121211221212222121112121212122221112212111211111211221222221212211111111221211212112211221112222112111112122122211111112121211111112221222112222222122122221121121111111112121112122121122222211111212222121212111122112112112221222122221212111221212111211122112112211111122111222122211212111111111222221111112211221222211212222122122211122111111222211121212211112112121112122222222112222112121121122111122112112222221211221211211212212222121212121112122112211111111112122122212221112211221212222112212111221111211221221222122222222221111111121111222121222122211212122121121122221111222112212222122212212222211111122112111221121121112121112212222122222122112121211112222112221211112222211221111111211112112211221121222111222112122121221121211221112121222222211212211221221122121222211122112212221211222112222211112222121111212222112212222212222221221211111222112111112221212221221122222212111221122221222222122222212221222111122211122221121112221112222122112222221122221222221121111211112111222211211111212122222211112222212112122112111112222212212221111211112221111221111112111121112121111121112222111222112121112112111222112111121121221212121112221211121222122121121222212212222122221211112122112222111112111212211122122121222121221222212222222111112111212211122211222221212222211112122222121122222122121212221122112112112212222122222211211221222112221111121112222121111212122221212121111221222211221212112112211121122221122211211211211211121222121222121111211212211222211222212122222221111221222221221212222121211122112121111221211122222211211112211221221221222111211211112211112211221221122111222222122211111112212221211221111221121111211122122211222122111222112122222122111221222122122112122212221222211121121212222222111221122122122212121211221111211122111211112211212211212122221111222121112122212121222111121222212222211122121122211121111221211212211111111121121222221221122221212122212212222111221122222122222122211212112211121222222211112211221222111111221111111211112212122112222221111111111212211222212222111112122221112221121222112221112211211122211122112211121112211222221221122212211111221212122212111111212212221122212212121212222112111121111121112112111122122221112222111222112221212112221111112212211221122221212112112112221121221222221112212211112211211221122121221212222111222212112222222112212121111112222112112212111112122212122212121111212212112211112111122121222212121121221222122221122112221221221112112211112211112211121222111122112212111111222122212112211121211222221111212122111222212111112212222122222212121212221121211222112211111212112211112111221212211122211121111111221221212212112211122112111111212221121222222221121211221222212221221112112222212111122122211121112211211221122211212211112222122221212222112221221112222221221122122211122221111122111111111111222121222221122122112112211221122121121111222112211212111222121121112222221211112111111212221111221212111212211122111122211212122221221222221112221212122111212221121221221212112212221122121211112111122112111121121122112212121121211221222111222212112212112222222221111112222221112211122112212211212222122111221121221112212211112121222111121112122222212121122212221212222211211122112222112112112122121111221112121112122111222212211212221122111221121211222221112222211222121122211212122122211212222221122211221111122111121221122221112112122122212222112111221221211211211222221221122212222122122221112221221212122121222112112222221121211122111211112111112222221122111122211212111122122221122112111212222212222111222222122222212222221121211212112112221212111222112221222222112121222121211212112112111211221221111222222221121221212121221122221112112121222221211222212112111111112222222222212121211121212111121112122122221121221212212211111221121222212221212112121212212222111112121212121221112211221111221112112122221112222221211221222112212121111222222122122221111111121111222112222211122222211222111112121121211121122121211111211211112221112211112121111111111112112122121111211212111122111111121121212221222111221121221211121212221112212211221222221221221111112221112122211222211212222122212211212221111212112122211222222212221222111111121212222112121112121111221111222222211222121111121112221121111211222212121111212211211122222111222211211221111211122111222221122211221122121211212111221111221121221221211221222211211111222221222121221122122211111212122121211212211112212122221121211111221212212221121221122222112121221122122121111121211221111211111212121122122221122211211211112111212212122111212122112111212211212121112122111221111222121122122221221111222121111211111111121212221112121111122221121211122212112211212212112212112121212221112112221222122111121221112111222221221212222111122121211121112111121122211122111122211112121222222222121111211212122211111212122121111112121211112122211111112212212211221122211221112211121212221121122112212211222212122122221221211111122112112222211221122222221211121122111122121121222211121222222221121221221121121211212111122221121212221122211121112122121121221221211112221221111211212221112111121112112112221121211121211211121212111211111111221221122122122222212121111111211111212221122222122122111121211221221222222221112111222221112112121221112121122211122122122112212121121111222222221221212211212212222211111212121112121121122111221221122211212212122111212121212121212222112112111121112111121122122112212122121112221111211221222112211221112221112122221121222111212222222221111121212111121112212221211221221121111111121111212111121112212222221221112212121111112111212111212111212111222121112111221112121111121221122122212222221211121211222122122221121212211121221222121122212221211111111112111122222122222211111222121222111212212112221212221122212121122222112211212121121212112221122221211212221112111221211121122121212122111122222121221221121211122222122121121121121111222222222122112212122221212122211121212221112221121212121211121111112221112212221111211222221211122111121221221222121121212211211121121222112111111122222212211211121212211122111112221121111221212112112121211212212111222121212212211221122111121221122121112221112221212111111121212121122221122111111122112121222212112211111222111122221211112121111211112222221112112222211211121121211222111121112212212212111122221111111211121121121122221211212121122122211212122222121122112211221122221111122222111111111121122122112112211122211221121212212121111111111211222112112121122221212212121212112222122111122121121221222222112122211122112211122122112121121112121211111121121122211121112112121221112212211221111221111222122111221111111221212111212222221212221122122221111111112111212211122111111211211221211221111122212112121222121211121222221122112221221212121222121222212221121221221111221221121221121211121221112122221121221122112121122121122112222221121221221112222122111211122212121111211222112122111211222111112212212211212211111222121112111121121211121222111122221122222211212112221221111121211111212122121221212211112221222112212112111121121122222221121121121122211221222122222211122112121121222121222211122221121212221112221121112211112111221122122122222122111121211212221122121121111112121221122121221121211221221212121221111212221122212111221122221121121221221122121221111211121121122222222112112212112111122121112121221111111121221211221112121111221122211112121212122221121221221111122212221111112121211112211211122212121122212112222221212222221121112122112122222222112211222112111221221222111221111111221111222221122221221212221212222112212221121122112112221211211221121211122212211212121121222222122122221121122112122122121222212221222122121111122222222121221212122221211221111111221112212121222221122212212112121112111221121122222221211211112212122122112112121121122121211122112121111122121221222122212111211111221112112112211111111121121222222211112211221111112111212112221222212122222211212121221112212121221112221122112111221212122212221111221121211111222122222212112111222211211212212121111111211211122211222111212221212212112121212211211122212212222212212212212212111211111221111111122212121112222122121212111121112222111211121221221122112222212222211111122221121222222221111212121122212212212121211111121222121122111211222212111121211222121222221221222122111121112122221212211111212211221111212111211111122121121222121122111212121211112212222212222211211121111112112122212221122122122111121111122121122222112212112212212212211212112211112122112121221221112121221122121122222121221122211212122111211221121221121212212121122112122221111222222222122121112221121221222221111111112222111121112122212221111112212211122212121222112221112212121221211112221112111211222221222222111112221221112121112111122222221112211122112222222122221212121222111111222221211112111122121221122122122112212121222211112222111112222112222111111221212121211121112122112122112112122112212221212121222122221122212211121211221121212222122111212211211221212212122222122122112112222212211222111122211122111222221121221212222121111222122211211222222221222112112222222221212121212221222211211211211221211212221222212111222112222212112221122211212111221111212222111221211222121121212212221122111111111111212122122112112222211122122222122212122111211111211212212222122122122121212211222112112122222212211121122121221212122222211111112122111222211122122222122122122122111211121211221212121112222212221212212212112222121212121221221111211221221221121221212111221211112222121122121222212222221222221222121112111122221211111121111121111122122111221112121221112212112112211211211222122111222111211111211211121212222121221122212112112212211222111112121212122122222221111122122121221122111211211221212121222222122121121112212112221211212111211122211221122121122112222112122112211122212222112111222122121122212122111111111212112111211112121112122121211212121211211111111121212122122121222212221111122121122112221212111211112111122211212212121122111221122211211222122122212112212222222211222212211212221212212211221221111122221112112112122122122112111222222212212212212211221222121122111222211111121111121212222221222112121112212112221222222222211222112222122121222112112222112121211211212212111211211221112111222212211211221122211212212122122111222122211222122221112212121122121111111222212112221121112112222122121112221111212221212121121222112221211112122222211222121212222112211212211212212112121211121211221211121122211121211121222221121121212111122112122222212112121212212112121121211122121122111112221112211211222122122221111112212212212112211121122211221111112212121212121222112221122212122122122221211212121221112111222221222212222122222221221112122211122211211212212112121111121222111212112112211121212111211212211222221211222112111212211221212211221211222211221112112121211221122222222211122121111221122122221121221221221121121211122211121212222221121122111212111111111112211211122121211111222112121211222122112111221211212211222221222112122211222222112111221222122121221121222121122221112112211211222121121221222222211111121212212221221121221221212212112212212121112122111212121221122112222212222121222122211222212221122221211211121111221112122212121121221211222211212111112211112211112112121121111112122211222221112121211122222111222122212121122222222221111221211211111211222122221221212112212212111222222221212111211112212122212212221222211111211211221122211211122222121222212121122121212221222121212212212212111122211212112212211211112111111222121222212122222122111212212221122121112121221212111122122121111222221212111222221211111221221112221122222121112212211122122222112221122112111111211222211211111122122212222211222222112212121211221221111111112212211221222212222222121111121221111212211112122111111212111221222122122111112212222222212222112212221222111222221221112211121121211211212122121112212111222221121122121211121112112111111112221211212112122221121111221221121221222112111221211121112221211211222211121222221121122122121112212121212122222121111122211111111122212122122212122221221112212122222112212211111122212111222121122111112222112111121122111221111122211121222221121212111111211221212221111222111221112211221221211121211221121221121212122212112221222122211221121122222221211222211222222112212211212122222122211211211121112122122211211111212211222212112121121121221122212122111222222221222122122111211212122212111211221222221222111111212111122212221222211112121211111112212212222122221221122121111112221212111112122222122122211122111222222122122121111121221112121221212222121111111111122112212222122212221122111221122121221211211111211112211121211221112111212111112212222112122112121122121112112112221122211211122212121212121112211111211221112122222222211121211111112122211212121221111222222222112121211222112211221122112222212122212212111122212121221122211211212121212111211111111221221112222211112222211121112222221211111211121112121111212222212122221221121111122121112212212122222112111112221222222221222111222112121121211212111121112222111112121122222122211211121221111212112111212122122122112222111111121111221121112112221211112122122111211111221211122212121212122221122211211211211212222211221211222111111221112112221122211122122211112222211221121122211221222212111211221222112112211122222222212211212112222221212121112111222211122211121222221211121122122111212121122212222222212221122121222222212122211221111122212222112112121221111122122222211222111211221122221212211122222221111112221111121111122222112111111112212122222111221112221212111222211121212211212211222222211121112221122121121122212221212211221221222221122222121121122211211121212111221211212222222222222122112122212222212121211211122212212211212222122122111211221212211121221111222122111221112122122222212222222212211122222222222121121112122211111112122212211222221221212111211211212212221211222212211121122222222111211112221211111222212122222212222121112122221222122112211221222111112221112221212222112111222111222121222221121111112222112121111221222122221222212112111221222222122212122222121212211221211221221212121122121122221221211212111212111122111122212111121111112122222212121211221122122111211222112222111112111112112211112111121112122121222122111112111212222121122221212122112212222112112112122222122112211121222112211211211211111221211211122211112122111221122221222122221221121121122222212211212121122121222121121122111111121221121221211221122212111121221212112211221121122212111222211121112212121211111212112112221121122222211122221212112212221111121121112212111122122122122211221122122122122121222222221122212221212121222211112122212121221112121111221121211111221211122221212111211112111121121212122211111212212221111112211222112112122221212211211211212112112112221222211122122111121222121211112211122121212122222212221122221112211211222111212221112221112111121121222212121112212212121221122212222221111111122112121211111121222122111111112121112222211121111111112222112212112212212111121222211212221222222122222122121111211112121211221212122112122221112112112111111122222221111212112122122122222122121211112121221121122221111111112222121211222212211221221121112222111122222211222212212222121211212211111211121111122211111121212112112222222212212121211221112112221212112211221212221222222111212212222122222221121212122212222211221112111111222122212222212221122221211211122122111211122112122122122111222121122222111112111111212221212122111111221221212212112111211222121121222112222212111212211121221211212222112212112221221212221111212111122221212111121111222121221112111222211111221211122112121221221122212212121212111112221211121121112122112221112212222222222122221121211222122112111121221221122121212222222111112112222122112112221111111212212212221222122112211212112222222211122212112112112111221211112211112222222122111111122221212112111221212221222222212112111122112121112122111211221222122222121111111222212122112122122221111112121121121211212122121111221121211212211112121212221211121221211121211112122222112222122212111222111112122122111221221111222121221222122121221122212111122122112222122221121211111111122111122122111111211212111221211212221221122122112111212111212212212221121212121212211212111211121221112111211122211112122112222212121121212222221211221211222121112222111211111221121212111221111111222212222221221122212222111221111112122221211121121112212212112212221211111221211121222212222211122221122111122221211211112222112122121112122222221112221121222212111222221122112111112221122211122121111111212121221221112112111111121122121222212112221222221211112112222111112111221211121221211221211122211122122222211222122212121212211212112221122211112122112122122122211222211222121122222111121121221121221121121121121212111222221211221112112111221121221112122212211222112111211221111222111111211211121122112121121121121121112112121121112212212221111121121122111112121211222111222121121221111111222121121122221112222212111112112212211122211222211212112222222112211221112222212121212111122121212111122122222221221222212121112111211212211221211122211222112112112112222212212121221221222212212121221112212121122212122222211122212222122211221221122122212211121111121221112221212221211111112111111111121211122121211211212212212212122211111121122212212111221112122211122121212211111222121211222211212111122212212121112111211111121112221211212112212122212111211221212112211211211112122212211221221122211221221121112112122221111111122111111221112121112222211222121222222211212211122221111222212212112122122212112121211222112112222221122221221111221222212211222111221111122221111121221111121121221212112122212112111111212112122111211211212221111211222112121222212222111212122211121111222222122221112221221111122121121212121222111222221112112211222211121221221212111212211122222111111121222111222221121111112211221211121212111222112112222122211212111112122111112112222212222221221212222122211121221121121112221222112211112121222111221111112222112211111111211112112212221111111221211222212111112221112222221222122212221122212121111121211212212111121121221212212111222111121122122112112222212121121221121121122112111121221221122112211122212111112211212112212111221211212121112212122121122112222122211212122212222121222211111112111211211212121221111121122221111121111212111111111211222211122121221211121111221222122211112112111121111112221221122112211211122112112211212112211211122122222111122212111221222211121212121121111122212122212211221221222112111111122112222211222211212122222221222111222112212222212122212112212122222122111212112211121222221121221212121211112112212122212222111112122111211111221122111122212112221221212222222121211112121112221212111211112221222212222222112222111112122222211221222121122222122112122122212221121212221112122221211111221111112122221121122121221122221222222121112211122121112222212111222121212121211121111122122211112221221222222111122121112121211122121112121211212212211122122112211121122112222122122211222212111112112212221212111112121221222121111112221222221122112111112222121121222111111121112212222122112211112221111221112222112212112211121111122111221122112221222112211222111112121121121121211122221221111111222112212112222212121121122221122222112211122121212211221122211112111111221111112121221112111222122221111112112211222112121122112221221111222121111122212111212122221211122121211222112112121222122112122121122122222211111111211112111111122221212221112211222111112212222221222222212222122121212221212111221111112221222222111212211211122121121222111221211122121121121222111211211222122222122112211111111122121221222212122212221112222222211212211121222211122221122221212121121122121112222212111212221111211111112222122111221112211222212222112122221112211212121111112122222122112111111211211222211121222221111111111121111222211112212221221122121221221212111212122122222111111111222212122122122221122221211122111211211122121112121111112122211222222121111121212121122222122221121121222221221221222121122221212211211211121112111122122212122121112222112122122222222112211111221221112212121211112111211111121121221221122222222121222221112211112222112221211212121112122111221122222212111222111221111121211222111112111121211111221111211111222121211112111211211221112212121212211111222121222122122111221122222112112121211121111111122221211111122112211122222221112111111112222211112121111112121111121222111222111211121121112121121112211122222211221212112222111221111212122221211211222222112222222221121122122212212222221112212212112222222111211212112211212222122222221222121111112111111222111112212222211221121221111121121222212121222222122222221111122211121221112112121122221211211222112222111112211111211121111222112212122211211112221122212121112121122121211212212212112111212222111212222122221122112121211222221112112111221222221212122212111121111111111111211122212221222112121111221122111212221121221112221112222112122122212222221112212221121222222111222121111122211211111221211121122212121112121212221221222121111211211221121221111111111222112211221221112122121211112111222111122211121111222221221111212222111222211122221221111111122121122211121211111221222122122222122212112221112121121122122111122211212112112222112221122211222111121111221221221122112111221112212122121212221212122121211221111121122112112221222212112211112221211212111212111211221212121212222221222111222221121221111221212222121122112112112221222212211221211112221221211121111212122122212222121221111111111111221122112111121212111112212221212112211112212111222211122112222122111222112121121121112222112211122221212211112211112211121121222122222112121221212111212211121122222121212122122122122122121211111111112112212212212222212211122112211212221211211121121121222211221122111121221122121211111121212111111222212122222122112221111112222222211221222221122112122211111111212121211112211221222121112212221122122222222222111221221122121211212221111111221222121211121212122211112112121211111111121111211222111221222222122122221121221221221122121122212222221211221112121212112212211122221121212121211212221112221121122112222222212221212221212211111122212211122121221221121122121121112211111221112221211221112112222212212211122121222211222211122122121121211111121222121212121112121212222222111221122221122111221211111212111112112211121111222121221211221222212221111212121221211122211222121121212121111122112212212211212212122111212111222122222122111222222111221211212221111111221212222112111222221211122111122112122211112122212222212221222111112111211222222112222122111221221121112222211121121211212222211121121222222122122221112222122111112221121111122112211221222121121212222221222221221121112222121212112211112222212111121121111111112222221221212211121111121112122211221122112221212122111121211212121211212122112222221122112122222121211122112112112221212222111221211211212221121221122112221221121111211111221212222121112211221112212222222111211121212222122111221112122221221211121222112222112112121121211122112111112222222112112121211112222222222222122211122111212212212211112121122222121221211222222112121211112222212221121221122211211212222221121222121222111222112122121222122211122122121211111212121112211112122122221222122212212121222121111111121122111111112112122222121222121112212111112221211111212112222212121222121222211122222112211212122211122112122211221212222121222212212111211212112122112121222212111221111222122121121212112112212121112221112212221122212111111211111212211221111112222112122121222212121121222112211211222111121212212122212212112222211211121111211111211112112212211221111122111111222111221212221222111211212121112122111111221211222111221222121111221112112222111212222211222221221112122112121112222121212222121221222111121121221211122222111122222212112221211212221122111222221112121211112111121221211121112111112112121112212221212211221211211221121121121112121221211221212211112121111221121222112221111111221222221222222121111211221212122212221112221222121222212111112122211112211111111111122211111111121222211122111111112212211222212212221112221122122111212112121211121122222211112212221221121111112212112212111211221221222222122111111222122122222121212122222211212121211221221221222121212121122122222112111212211212112212222222122221222121112112122221211112111222222212211122122112122221211222221212211211112222211211212122211111212121222222222122111121222211222212211211122212222222222111112211111221211221221212121221222121211122222221112211121122222211212111211111211112112122122211211221111211222111122211111222112112112121111121122222222121211211111121112111221222221211112212121112112111222122212111111222211112221222121212111211112112211111221211121112211212222222212112112222221112221222121211122122122121121222212212222111122112112222112211122221111121111111111222211211212222112111112222111211221122221111222222212122111112221212211111111122212111112211222111212111122212122112212121111221222211111211221112111122222111211111112222111112111221112212222121111112222222221212211121211111122221112121112122222112211222222212222111121211212122111112211222121212111212121112211212122121211122222221122121222121111121211212112121221112112212211222111112112212222111112221112122221221111121221211211121222111121212211121122111221122221111221212122111121122121111221221222221212212122212222111221221121111112211212212222112121221222111111212122222222122121122112211111111121111112212112221121222121112212211112111111222222212112211222211112122221111111121121221121221112211112221112121222221112122211211122111111222211221112121122112211212222111122212212121222221222121212112122221111112112222222122221121221221221122112111221221112222122212122122211222122222212221111221221222112212112211121221111222211122212221222222222112221122222121211212111211111212122111111221221122212211222222112222212222121211221122221222211222121122222222221112212212121121121111111222222122111211222122121122212121212212211122122122212111111111211111212121222211222121121121222121112212112212122121211112211222222112111221112111122122212112221212211222121111211121112122111112212111212111122212221222111122211221221212112212122221212222111112221212121121222212212211121112111222222111121221212211111222221221122121211221112122121111111121121112121222122221221212221211112221212112221112212121212221112111121212222112111122122112122112222122121121111122121112221121211222221221112222221212111112221111222122222122212122212221221122221111221222222222122222122222111212111212221212212121212212111121222222111112122121112111112221211212211222221112112121212112211111111121211121112221211122122111122122111121222112122121121121222211212212211222212111112112212111222222222122211122112112212222212211222211121221222211222212212112211221121122221211221212112212121122122221211211112212111121212221211112221122111111222211111211221211221121112221211112211212122222122211221212121112212221122211222112221112221212211212122112112211111112211222122211122111121212121211212221121122111212221121122111212212111121121211212122111211222111222211222111112211222112122222211222211211111221222212222112211222212222221211222212212212221122112222221221211221211222211111211222221121212121111212111121222221111111122122222212122221111112112122212111122212121212112112112121122111212112121222111212222122111112112221111121222122111222112111112122222121121121121111222211212121122221211121122211222121111111112122221112112121111121212112112211211212111222211212111221112222122221221221221221222222111221111212221222212122222212112122111111221211211112212121122221121121112221222111222221112222122221121112211112212111122221111121221111121111222211111211211112222221122222212112222221121221212222212111111121221121211221112111111121112111121211211212212111212211222222121121211112111222222112212221112121121221211212111121222221121211212221211211211111222221111112112211121211212212112112221121111221111222111211212111222222111222211222111222222221112121122112122222122221212122212112211222212212211121112111121212221212121121122111121211222222211112212212222112211221111222212211122222212121221112222121221111211111112111122221211221212221121122222121121122111211112211112122111221111121212212122221112211222122112111211211222222222121111112212121212211222112211221221211211221122122221112121122221211222111121112211122111222111112121221112111222221222111122211111222121112122212212211211121212212111111112112221221221212212111111112121221112122212211212112211121211122111211121111121121211112222221212111211222111211211211121211212212111211121222221121121112121111111211211121212211222122211112122111112212122212212122112121211221222211211212221211222121222221211112222211222121122221221221111212112222211212121122111211211112121212112212222121221212221121111112122122211122211221221122121112121222112221212211121212121222221122222121212112222212211212212122121111111112221222212121122122121122122212221111111122112221122111222122112121112112222112112112121221211212222112111212212212221222222212112122112121111211112111122211111121111221221221111121221122122221122121222121111111112221111112111122222222121112222111122212221112211221211211111221122212222211121221211221111221211112121122222112111222112121111221121211221212111122212222212222121121121121221112211211122111122222211211211221221111222211222211121122211122212121112112211112112211211112222211121211112211112111122212111222212221222111112212122112222221221121111121122112211211222121222222121221112111212122211211111211122221212222122212211111121212112211211211121112122222122221122211222111122211122111222221121112111112122122211112212112212211112222211221111111121121211222112221211121212212121111222121112111111221211122211112222211222112121221121221121221112211112121121112211112121211122212212111222121111112111221112212122211211212112211111121111112121212122212122221221111212211211222212212212112211122112112112212121221211211211211121211211222222221212112121122112222212122221212121221211112121112212122221111121212212111212111111122221111212212222112122222211221221222211222212122111221222111122122121112121122222121221112221211211111122122122221212222222211122111122122211211221122211111111111122222212221212111222212121112112211112112122121112121122211121112111222212222112121111112121211212121212211112112111221211222121121111221212121121112221122221212112111212222221221112112211221121122111111112121211211221111212212211111121112112211121122222121221112211212121111211222222122111112112221211212112121121221221222121212112211122111122211122121222112221211111221222111221221221211111121122212212222222212212111121121121112211112222111121211221121111212221212122122221211122121221221121212211112222112122112111211211111221111112112211122111221111211111212212211221212211122221212221122122212111211222222221111221212212221211121122121221121112222121111222211122212111212122121111221221212212121111221122212121212222212221122211112122221112112212122121212212121122122111122121222222121122121222122121211212212221122112222211111212221211212122212212112112121222212222222212222121221112121222222222221221211211222112112211221121122221212222222211111221221112111221112222111212212212111112212221221112211112222221122121222212121221212122122112222121111221211212111211212122121212112212212112221211122222221112111111222121212221121122222121111122112111211111111222212222112212121122211112212211212212221222211222112122122112221121111222221121221121212121212121211212222112122222212211111222222112211222221211112112111122111212122122112212212112222112122121122122211121122212112221122222222222112221211111222212222122211211112212112222221211111111212111222221121221122211212222112221221221112111121121212212121122111112112121221211212122111121121221121122221221121111222211222212221112112221121222122221122211222121222212111222222212121221222212221122222221212221122112211121222221211111111221112122111212122112112112211221122112111221122211112122222112112212121211212222122222221112112221122122212121211122111111222111111112222122212211222111222112222212212111122111221221221112221111211122212111212222212211121111212111221112122122121222121222211221111111212221122111211212211212212212222222122121222122111221222111211221221211211111211221112122211112121121221211112221211122222122121212221122111212222112122112212122121121221222221111212112122212222121211112112221212121221221121111122211211212212122212111112211221121222112211111121111222222211221111222212221221221112222111222121212212221122221112211122221122121222122221211222121211211221222112121122222211121111112122222221122212211222211221111222222111112211112221212211121112222122121222112112111122112212212121212121111111121222112112211212112122121121111211122122221222112222212121122122212121112212111221221121121212121121121122221212121212221221121112221121221121221212212212221221112121221221222212121122121211212211211112212221121112211111112111121222111222122111211111222111121121222221111111111221222211121121111221112111112212112121121221121211122111222112122221112211211222112222212221112112121212122112222211112122222212122112212121212122112221222222212112122122222212222221111112211121112211112122111121111122111222211222222122122211121222111211122212121212211211122221212212211112112221111222121211121212112111121221112221222211112221112212122212211221122222121112112111221122121111212111211111221222222222222121222122211212222111111111121111211222222222221211222222121121122111211211221122122111212222212121222121221121111221112221212212122222122121122222121111111212211221222112111122121211222111212211122211211111212221112212211122121222212212112222222122112121121222111221111221211222121222222211122122111221222122112112121121112212112121112212111112121122212121122111212121112211221112112112111222212122222111122121121221211211212121121222211212121111222122221111121122221221122212212111222212212211111121211121221212111222211121212222211121111221122122111111212221221121112211121121222121112211222121222211211112112212222222121111122211222221121122222111222121122212112211221111221212211122111212222212111211121211221121222112112212211211221121222211111221212211221211122112222221211222222211121222121212121112112222122122211211111221221222212212221111221112112111221212112222222122112112122211221112111122122121221122112111111121121112211211121212211222222122122222211222112122221122121221221221122121111222111122112211222111211211222222222111122212222212122211122212221122221111211221221211112212121122222212112122121122111121221212122222122212221212221221121122212212221221221211212121122211111122111222112122222212122121111112122122211211121222222212121221221111112122221212111121212122221111121211221222221112121212122121211111222121122122212212222121221112111222221122221112211212111212122222222112221121212122221111222122112222211111222212212211212111221111111212122111212122212222221212112212111222111111222121111112122111122121221111222222211222212112212211222112112121122212112212121112211211211121211221212112222212121122222222111222122211222212221211122122211212222222122112222122121121111211122122121211122221121212121112211211112212212112112122121221122121112112112211112221221221122111211211122121222212122111221111122221222112222212211212222221112221222221121121222212112121212112211112122221122212211211112222222121122121121111222112211211211121221212221111222211122221212221111211211211222111221211221211221211112112212212211121112212222121221122111221221222111221221221221221222112122111122212121111211212121212222121221212221122211221112122221221221122121121112121222222122221221222121112221112122221211111211122212122221222221122212111222122112211222221122221221221211222122212212121212212121111212121112122112122121121222212112221122112212221221112111121211121222211112111221112121222212122111112121221211221111211122211111212111222111211111222112212212111111111212211222122222112221211221121221212221122222122222222221222111221122111121211212121222222222211111221122222221212211111122211112221211212122122112122121222121122211122212122221211222211222222221111111211222211222212121222211221121121221221112222222121212221212112122111111222112111112112221221111221211111212121111121121221222112121212112222112211222212222221121122221122221112121111221222222212112112122211121112112221112221111112112221112211121211212122212121111111211221112222212111222221211122212111111221111111212211112222212212112121111211121212222211112221211222111212121212211112222121212121212121122121212212222111211111222111221222212211211121221112122112111111222222112121111112121221222112122121121212222122211212112122122122121221212221222112121111211221122122222121212212122112222211121122222111121222122112211111211111221111222222222122111112211122222112112221212211111122221221212122121112211222222212121221122112222111212222222122112221111122212121221222221112222222121122121211221112122211112111112111222221212211212122121111222211212122221121121222211122121122212212111122121121111221122221212112221111222221212212112111221211222121121221121122221221211121121222121121222211121121221122121222122222221111222111111121221211122221121222222221111112112222122111212221221222222211111222212121221111221111122122121211222122111121121121222121211211121112121221211122111112212112221211121221221122111221212112112122212212122111221222122222221211122222122112122211112121212221111211112111112221221222112111211122122222121122122121111112112122211221121112112112111211122211212121221222121212211121211221122122121211112121222122112112122121221222122112112211222222111222212221111212121212111221112112121121121212212212112221212212121122121211211211211211212222121112212212221111221221211122121221121211222111221121121221222122122222121222221112222112112222221111122112222211111122221211112122222122222212221221122221211112112212122121112112222111222222221221112221222211221211121122221111222221211121222111211222111121112221111121211121112122111221212222112122112211111111211212121212121112122221212222222222112221121212222211121112221221212212112121211211112221211122112222221211221211211222222111212121122121212121121111212121122111212112121112212121212212112112111221211112121122121111121211221221122121122221222112212121222112221112111221222222121121112112212112211111111122212211221122222112121122111212221122121222221221111222211112111212212212212112121222111221111112121221111111222111221112222121111211222121221122221212111111222112211122122211211122112122212211121111221222221121111112122112211221111212111121111121111211112221211121212212121111112211222212221122111221222212211212211122211221122211211121122221111121212212221222111121122212212122211222211122221212221211122221112222212122111211212211111122121211222112111121221111222212112111122122211222212121211211221112112221112212222121222221221112122211222112111211122112111212211212121121222211112121112212221221121211212121111221111112121212222211211211221122122211212122122212122112121222222121222121222111112111222121122112121221121111222212222221111112211111211212212211211212222222121122121122111121222112211222221112112122211111112112222111222212221212122122212212211121111111121112121121111122111212221112121111121212212212112122112222122222112221221111212212111122122222111221122211221221211221211221122121122222221222112122211221111212221122212221221121122111122112212111122112122221221212221121121222211112222122212121121211212112211112221222112121222221221121111222122121112121221222211222112112112212121211121221211121112221221221122221211111222211221122221222211212111111112112222122121121111222111221221212221111222211211121221112112111222221211221222222222221212112212211111121122111122221112221112222112212212222111111111221121121211111122211121122112121111221221111221111122112211211121211212122221221222211212212221121122222121212212211222212122212121121111112211222111121211111222221221121121221121112211212111122212221211122212221122112111121212221121221121212112212211211221121212221222121222221112122121121221111222121221221111222122212222112111111122122111211121122221112212111212222221111112112121111122221221222122111222212221112111222221122222122112121122111221111112122211111112112222211121212121212112222111122111111222111222212122212121121212221111122211212112122212111222111122211121121222112221221211121112211112112121212211112112112122221222112221221112222222222112111111112211212222221211111112112112112112111221111221222221212222222121212121122222112112211112212111111111212221121121122111222222122221111222122222221121211211122111212122211112121112211212222111122212222111122221112211211122111121121211221221111122211112212121212211112211122211222122211111121122111121212112121111211221121222211122222111211222121222112111211111111221211221112221121211221221221111122121121121122211212212211212221211211121111112212112211211222122112112121122221111122221212112221222211121111112122222211111222111112111222121111121121222211222112111211211212211112111212112122212221122111121222122121122112121222112121111122111222221111111121222112211211222122112112211211121221212221112121112111122112222121121221121122112121212211212221112111212221122111111221212222122221212121211112211221112212121211222111221212111122212111122122221112121122211111211112222222222221221111122222111111111221122122122221222121211211221122221121211112122212221212111221222121121222111221111111111211212111111122112221222122111222121212222111212211212211211111112222221211212211212112221221121211121111222221221211122212112222112211111212111112221211211221121112211211211121221112121112122221111221221222222112221112112121222221111122111212111211111211222212221221211211221212112212111211222222212221112211121121221122122111222122122122212221112111211211121112111122221112211212221112221121222211111211122212112212222112222212121112122111222111212221222212222122221122221212221221121221212222212111222212112121221121122121221221121122212211121111212221121121211211221221212122211222111111212211111212122121112111222221111121211211121111122222221121221212111221222121221121221221212121122111122112112221111112212111112222112222112122112121221212221121122111222221212211211121211112221112122222121221121122211121222112221122222222121121212111221221222211212112221212222221111222112112211122122212222112221222111121121211222211222221111221221112112222222221221222211212212212111112121111222112221111221112212121211222222212111122112211222211122212112112111221221221122121112122222111212112111112122211121211122222211112222222121222222122112111212221112112122221122222212111122221122212212211111122111121211121111122111111121221211212122111111121122211221121111121222222211221111211221111211212211212122111211212212112222222212122121121121222221122111122112121121222222212221122221221111222211122121222222221212122121122122221212122211212121211121222111122212211112221221222121112122222212121122211111111211222211221222121111122212222111211212211221222112211122211212112212212121221111212222212122121221121112112112222122212111211212221222112112212112211112112122112211112111121221211122111211221122111122212122221211212111221112121222111112121211112112212112222212212211211221112111221212221112221212221111121122212111222221222111121111122122121121222222222222212121212112122112111211122222222211111221121111122122221111121121122111121222211222121111112122222212222211221221121122222222221112112221221121221221121122221222211112122222121111212111221221121111112221212112122121222222221121222211221121221211221221211122121222212121221121121121212122221121121222121222212221121121212221211111122112121111112121112212212212121121121211212122222221211212221111122111112211111212211211121121212111112222122122121211221222122121212121222211222112212111122222212211121221121111111212111121221122221111222211111212222221121212122121221121211222121121122121121211122121112221212222111122222122121212111121221211222112221222122211221122222211122112222222121221122221121112111122222212222112211212222221121111212112221112211222111122221121211112211122211212122212212122111112222222212212222222112222212211212121222211221211122221111212122122212121121112211211211121121222122111221222121111211221212211111221222111212121112221212121221121222212111121221221222212212112112112112222222121212221122212122212211112112111111212111111221121212212222211222211221221222111112211122222122222222111121121211222221212222122212122111111211122211222111111112211122112112112222211111111221111212111121112212222222221111221211221212222221222112212111211221111221212112111122222212111222112111221212122111212222111112121111121121212112121112111212112112121121122121211222122121122212212221122211222221111111212121212212111112211112122222222222212212122222221121212222222121222122212211122121122212122222211211221212112122111211222211121112212121212211121112122122222212222222221121212122112221212221211121222122221221222222122122211211121112222221122212221122222221121222121121211111112122112111212121121221211121222221212112112111112111121221112122121221112222121122221211221221121222212112221212212221221221222222111222122122221222221111211221111222122111221211111111212222221121121111212122111212121122122121121211112222111211211121211222211222221221222112222212122111221211222212111122221112111212211111211122121212222111111211221122111112111122122111111222221211221112212221212112211212121212222222111211121122211221221222122121211222122122221121211221122122111121221122211111211121212221221112121221121112221212222222222212222211111122212222122122121212222122111211222222122211211222121222211112222211111121212111122221222212111111222122122121211121212222122121112211221121111222222122122122121211121222111212211212222122212122212121122122222112112211221121222222122212122222121211212222211112212121122212211111122111211111122212111212211221211221121221211211112222221121221122212122121221112122121111221212211111111121212112221111212121221111122211222121121122111121212222212111211211121221121212122111111222121221212211121212122211111211112212221211122222111122212211112212211212212221212112121111211212222121121211122211212222222211111222221221112111211212111121212121222211221222111112121112112112222211112122122211111221212112221112121211111211112121121222222221222112111122212221211122221212221222212122211111112221221221211112221212122122112122212211222222221111222121221111122112111211221222111122111222111121222121111211222122111222212121211212122112212111122212221221121222112221212112212211211122121111212222211212112222222212112221212122111121221221121112111112221222222222112211222221211111111122112111222221221111212212212122112212111212112112111111212122221212212121221221122122112222221121212111221211121212211222111112122122122122211121221111122112122122211221221121122221121121121221211112222211111222121221122222211222111122222222222121222121122111121222212121122212111221121112112221222211211112112221122222211122121221211212122212121122112121121222212122111211212222221112112122111221122212112211222121211112111222211122221121112222211122221221212221222121112222222221111212222111222222212121211211222121111112111212111212122222111221212212121121211222111122112211111212212121121121112222211112211222111121211121222211111221121121122212121121222122122121112122121122121221212112112121111121221112111221112222122112121121211111112212211222221112112212121111221212122112221212222122212211222211212112222121112111222222222122221111211221122211122221221111121111111211212122121221212112122111211121211112112122112212112212212112111221221222122111121112211221221121212112122111122112111122212121211122222212212112211111111111122212212222222112112221211111121112222221122212221121211121121211121112222122221111112211221221212222221222112221121212112112122222211112221221121122112122211122122211211112111221211122111111222221112112111112122222122211212112112122212222112111111211122212221212221221112212221121212112221212221212221221122111111111112112121121212211111222221221111122111222111211112221121122121122121112122222122111212222112111111121222222122111112112221111222212122221121212211221222112121111211111211222212222111122221211221112212222121121211211122121112222222111121111222222221212122121211222212212212111212112122221212222121212112221121211211122212111222121112121212121121212212112211222122212111111221111121121212122222112121211222221221221111211211121112121211211212121122111112111122121211222211221221211211112122212111222112122212222111222211221221221122222222122211221221112221112211222222221122111222112212122212122211111221122222122211121111112212212111111222222221211111211211112212221221122221121111221222212221212111121212222211122222212111212221221121121122121211122121222222222221122222212222222222221112112112122221111222112112212122212122212112222222222111211212211222211111211212112211211111211211112122212122221211222221121211112122111112221222222211112111211222112222222112212122122111112212111212221112112212122221122122112111121111222121112122222212212222111221121221211221222112212211211212221212111222121121111121121212222221112211121222212111222121112212112222121222221111211212222121121212211222121112122112111222212111111112211112122112211121112122222112121222211221222112121121122222121221221211221221112121221122211122121222111221111212212221211112211211211222121212111221212222112122222122121212222221111212211211221112211111121212122221111212222222111221122112122222122111111121111112212211221221111211221112111122121112221221122122221222212121112212111211122121122222121112112211112121111222122222122222122211211112112111211121212221112221111112211112221122212112122112122112122111221122212121112122111221212222121212221212111211222122222122211222111112111122111212111112122211222112121221211112122111212212112212211121211112111212222121222212212211221122222212212121111211212212211121221121112121122111222211221122221111111111222222112111121121121222211112221221122112211222211212122112122111112111111122212111221121222121211221122211121121121212221211121112111221112111122221111122222212222112212122112212121211222112211221222112111122112111222212222212111212121111221111112112212122112212222122121222212121212122221111121211111211122122222211221122112212222121121221122222221222112122212111212222222222121212221222222111221111111112112221112212111221111121221121121211222111122211212212222211122121121111222121211122211122111122221122121122222111112112121222221212212111212211222212111111111121112122221222121221211121212222211211221212221111122121122212122112121122212112112112121211112221221121212221211112121111211222121222222221211112212122112121112211112111221121122222111121222111111211111121211221222211121111122111121122121222122112111221221211122111122121212212121211212122122111211111112212221211212111222211122212212221112211112222221112111222121211221111221211121112211122221221212222222211112121211121122211112122122212221122222121112122221121121221122212111212211121111222122222222111212112111121222112221212112112212222112121212211112212111212221211222111221212212111112221121211111211212212121221111121121221212211122122211122111121121112112121211222122222221111112111212121212222121112221112212222221222221222121121211222212121221121111111222222211222221111111221211221211222122212121122112221121211211212111111111111122122122221212212112212111211221111121222221222222212221211222222112222112112222121212221222112221212212221212122121212221121111121212121212122221111122221222112221111212122121211122112221121122211121111222222212221212222222221211112111212222222222221122221111111112222111221112111221121211121222112212111121222111211111211112212122222212112221121122111121212222122212222221121211211121112111122222212112222121112211212211221221221112221121122122111212122212111112222211111111221212111121221112212212222212222112111121221111221211111112121222221222111222221221112111221211121211111212111212222222212111211212212121221111121221222221221112121112211221111111221222122212121112221212122222212122111112211212222222112211121111212121121122112111111122221221112221222222211211122112221112111212212211212122121122212211111121222111112112222111211112222112112112222222212122212212121122211221121122122222121112112112111111221111221111222222211122111111221221122222121111121211222222222211212112212111121221122221121221212212222212122221112112122221111121112211212121122222211112111222121212211122121112111222111221222122222211222211212221221121221212111112121111111212211212211211222211222222212221112221221222221222121221121222212111121212211222211112212112212222222222111222122222222121222122121221211212221222222212112221112121121122221111122211221222221222111221121221211222222211212111222112111112222111221121221111222212121212211211222212122122222222212111212112122212211112121211221121122211221112222211222121122211222112121221111121111221111211211112121222121121211211212121111121211222212212212211122221122112111211222212111211121221111222211211121122111222221211111112112212111112222121122211211222211112122111212112111111112122221211112122221111211211212212211112112211212212222111122121222122221212221122221112112221121111111222221121211212211112111212121111222222112211212221212211221111212121111112112111212112122212212222121122212221121121211111111211212122211222111222121112222222222222212122222221122212121122221112111211222121122112121212221222122211222111111222121112222122222121212122222211222222121221111211111211221111121111212121112112111222222112212112121112211222222122221111122121211122212211122122222121121222112212211111222211111112111122212111112121221212211111212122212212121221222111212111212121122112112221121211222121212121212122222221112211122112222212121122122221112112212121221121221211112111221221212111211221112121212222212121211212212112211112211221112112112222122222111221222222222221221211211211221122222122212221211211212212122212111211121122221212212111122211121111112212221222212121121212121122222222121112111122211222222112211121212212121211112221212212212211121222211122211112212121212122211211211212221212222211222212222122212222121111111212122211122211221211221212212212221122111121112222221212222112211222221222122211221222221112212121112212111121211111112221221111122112221221222122111221122112212111222121112221111111122221121221112211222221222211211112121111121221112211212222221121111221211211112111122212221122211122121122112211221212121111112111122212112122222221211112111211211211121111122121122211121211211221221112212112212122222111111222111122221212212222222111221112221221121212222111222122112111111111211111222121121212112222222122222222222111112221122112212211211212121221121111222221222212111121121121122221221121121112121122111211212212112111221111222211221211112222111122221222212112221112121121121211211212221121212112211122111122112111222111122222211121212111221212212222221122111222222221212222111112212121122122222112221211122121212122211221221111122121111111112211211211222212212111112211111121122121212112112211222111112122111221121112112121111112111212122122211111222122222221212221222211211111212121212221122112222112112221211112111121112212111112111122212121122221221211221122121121112211121121111211111112222111222122211211111121222111122121222111221211111111212121122111222122121122212121111221122111122211112212122121122112112112221222111112222111122112121112112121122221222121122221122211121112222211222121112221212111121212111112212111211121221222222111121111121122121122221211222112121121111212112221122122212212211112112211111111211122122211222121121222111121221211212121222111112222221112212222111111222211212121122122121112212122221212212112222122112111111111121212221211121122212111222122111221212222111122222212222111221122211112112122121211112221221212222222112222121221212212112222212121111112111212111121221122212222111121222211221212122211112111121222112122121222112122211111221221212222122121212221211211111111222112121122211211211222221122222211112212111112212212211211122211112221221111222211121122121111112112111221111122112111122212121211111111111121222211111112121212211111112122112122121222212211111222121112211221211112222112111211211211111121121211222112122111111121221122121221221112212222212112212211121121211211212222112112211222122111211122212122112111222111212111122122121211221211112121122112122122121111111122222112211211121122212221122212212121221211222221211212212211111111121122222221111112221122112211211221111122122121222222111121211121122211212221221211122212211212221222112112211222121222122112122211222122112212211222111112111221221111222122221211221212212111121221221112112221211121112111221222122221121212212211221112222211212211222222122222112111212121121122111121122222212212222111121112122122121211112121122211112122212221211122221112222122111222222222212121212211122211121111221212212121111112212212111112221121122222211222111222122121211121211121111121212111212212212212121111111122112221122212222222122211212211122121222211121111112211111211122222221121121211222121111121222111211212211211122121212222112211122212122121111221211121212221222221222121112112212222222212222111212112212222222111222122211122111122221111121212122212212112121221111211111222222122222211212211121222221211211122111221222211222121211111211221212221121122212111212121221111122111211111121112222122211211112211211221211111111111222221111212111211211111122212212112121211221212212112112222212221121121111212221222111111212211221221221212212212221122111121222111222221112111112222121222222222211211212222122212111111111222112222112222212122121121211211212211222212212111112112122222221211121122211222211221211211112211212222212121221212221222221222122222222212211212221121111222122212212112221222211212122222221112221112111112122212211222212212112111222221211221222212221122122122221112211221221121111121122121111111111122111222222211211212111221211122121222211121211112222221122112111122121122212122112212121222221121212221121211122221111221122121211111112221222212221112122111111111112112221211211211111122221221211112211112222211212212121122122222211122211121221211222211211112112211212211121222112112122212221221122121221111111211112211122111222122222222211121112221121221221111222222112222211112122121121221121112122112121222112121121221111212122222111112112111222211121211212121111122211111112212121212122221212211111212211111121221121212221121222122221112221112222112121112112111221222121112222221222121221222111122122111212222121221111222122121122221221211122121221221221222121212221222112211221111111121222221122111212221122122221112211111122221221112112112112222221212212221121221112221221221221111121112221212212221112212121221212221211211111122212111121122221122222221211221121112222122212121211111211222221212221111222212111121212221121222111121122112121121122121221211222121222122212212121211121211221121122121112222112112121122111112112212122221212122112121222211121122211111111212122122222222211222121121112221221222212121212121221212112112122212212211112222111211122221112121212111211211111121222211122212112111111111122122111111212211112212211212122211111221221122122112212112222212212121111121211222222111211122122122121211221112211211212112221111221222122122111111122211121111121121222112222212112211222212122212211112221222211121122121211121111121212221111222212222212121112121112221222121211221121112121122222221222111212111211111212112121222111121111111111211121112121122121121112111111211122112211222221121221211111121222112112122112212122221211122222211212121112221211222122122112111212212111211111211121121111121121222122211121112221222122222121222222122212111122212221111121221111121112122111212221212111122122122122122211122122221212112222122122111122221111211211111212221111111211121121121111221212122221212211111212112111112111222121112121212122112121212112112111211211121111212212121222122112122112111112221121111212111212212111111221111122222112111211121121121212122111212122112212222111122211121121211111112211121212122212111122221121222221221122222111222211221221212121211222121221212122122121111112222112111112221111121212111122112211112121221221211122211221222221112212211122122121222221112111112211221111222111221111221211112112121122112211121222211221222221122122112112111211122111111121221212122122212121111121122112221212112121122121222212222112112111212111121212121222222222222112122122212212222112222222112121212122121122222122122212122222221121122121112121121212112222212122211122211222212211222212112222111221122112112111211112222112221221212211122122222211212222221112221111122221222121112221122112212211221121112211112222221112221211111221211112112212111111212212211211122112211211212222111221211121212121122222121221211212111122112112221222221212211122221112221112121112221122212221212221221211212121112222211212211122222122122112221211211122211222212211121112121221122122112221221122221222121222122122211211221212211222211122222211111122111211111211211221222111121221122122222211111112211122211121212212212212121212222212212212122222122222222211121122222211122111212111221211112221112212211122112112211121121222222122122211111112122122221112212121121122212111111121212122111122211111211112122111112221112212122112121212221121121112121121121112121112212111222222212221121112122112211222112121121121211212121212221211222111122211222122111111122221222222121222211111122122222222211121212221111112122111221122211112211121112212212212222121211222211221122212211222122221222221111221221222211111121222222112211221111211221212111111211111112111222211111222222112112112112222111212212111222111211211221222121222221212222222122121211222111121222111112121112211122121112112211122212112221221112212211222221111212211222212212211112221211111112212121111111212121222122211212211112212221212111112222121212122122112212211211112122111121221121211122121111112121222122122221221211211112221112211122111212122111112122212221122221211111211221112212122121121211112221211221211221121222211112111211221112222122112221121122222112121122121121122222112121212121111122221112112211112111211212222211212111122221112112222221111212212121122111121222212222222121111122112221222121111212212111122212221121112211112111221121222221121112211121111211222112211111211121212122111212121211122211122111121111211122222221112212122111222111222222222111211221121211112212221122221211211221221111211112222111121212211222111111221222122212211112222122122112221112121112112121221122112211211112121121221111112112122112212221111122111222221111111122112222111211211122221212222222122121222211222222222121222222222112211112121222212121222112121111221211112121122222122122111111212211222221211122222112211211221112222121211121212112111212222222211221221121112121121122222222121121121122212212221111211211111221111211121122221221222112112112122121121221222112211111211222212111112211122212112221111121211222111212121221121111112211221112111112222121211222112121121112122222112112122112211112212112121222221112111121112112211212111221112212221212211112211212211112212222121122212111111221221222121222112221222122111221212121211212222121222122212211121112212212221222211112121222111121111212211122222221212212211221221122121111212121121211122112222221221222111112212112221221121121121221212111112121212222111121111211121221121212112211222112211111122112111221112111111121112112122221211112221111112211121211222221212211212112121122111221221222211221221121112222221112221212211222121112111212211112212221122122122122122222121212211212211221122211221121221121112212222112112112212111222222122221122222122211222111222122121211111122211222112222122111122222222212122221211212221111212122221211221212121112111112121212122212221121112212121222211122122222111112112212121212112112121222222121212221212222212121212212212212121111121122211212212122211122211121111121112221121122121211112221221111221122212212222122222121221121122211121211112122222222122122112211122112221121112121111121111211222211221111222211212222111121222122211222212122221121212112221222221221122111122222222212122212122221222122111112122112221122211212112121211212121211111121212111221221221211112221112212222211111212111112111222212122222121222221211111212222111122221222222212122212211121111211112211122112211221111221112221121112121111222111111211222121111112222111112221222222221211122212212111222212112212112121121222111211221222212121122211122211211112221212212122111111111211122222222221212111111121222221221221221111111222122212121212222121112112221122112212111221112222221211221121111212211212221212211211122222121122211221112212212122122112222112112211211211221212222212212121221221212111122122121121112212212111121121221122222111112111112121111211221221212112211111121111121112211122112222222121212211122111121222222221122212111221121111112211112222212222221212111122121221221112221122122222211121121112121122211211212111222122211211122211122112122222221222121122212212221112122222111122112212122211212121122212222212122121212121221222121122111122122222121211111111121122212121121212211211112121212222111222122211222122112222221221222222222222221122211211112222112122211112212221212111211212211211111221121212222122221211121212122221221212121222111211221111112111221222222121122112212211221111221212222121221212221212222222122222222122222112222121222112221221211112121112111112221111212112122111212122211222212212212212121112122221211122211211122211211111222222112111222111212112212222122112121222122121112111121111212121212122222122121121122121121112212212122211111111112222222212212122112111221221111211121122222211212211221211121122122121122121211221111212221112122122121111121122222212221222212122221111111212122121122212211112111211222122111121212112121211222221112221121112212212222221222112211221221212121222111222222112212112221212122211111112211111212112111121221221111222112111212121222111121211222111122111211112121221212111122111222222222111112221222212121111221211222212121221111212211111221221222121112122112122112111111112111211122112211121212112221112221221112221121121212111212111112122112112212112211211122122121122122112221112211222221121221122122221211211211222122222222122212212122211111222222112111211111212221121211222212112122121112222111112211122222222211212121111111112111212212222212111122122121121112211211111221212122112211222221212122221112122221111122121221211212212111122112112121112111121122211122222221112212122211111112121111221212111221222121221211212221112221211221111212212211122221111221121212122121221211212111221212222222212211212121112122221112221211211212211111221212122121212111212222112121221111222121111211112211111222122212112121222122121111212122112121221112112221112112211111212211121222112121112222222121121211221222122122211112122112222121222211221122122221112211222211221211221121222222222211211221222221222122211112121222111221111122111112212221122111221222122111221212222122222112221121221111111211122211111111121221222211222221121111211211222112122221222212212211221112112112221212212221122211221121112212112121121212212122211121212121111112122222121112221122112211221211222212221112122122221212121122111122111111221221112111122122121112221211121122122122212121222222121211111112222212212112222212122221222221222221211222111222212112212121111122212121112111211222122211212111122122111221222111221121111222211212122111121211121122122112111211221222222221222222211121112212221222111112112212222221221112122221211221221122211212211212121212112222222122111211211222221211121211211112122122211221221111222121111222122111112221221222112222212121221212221211111121222221112112222122222112222221211211212121211212211212211121111211222112221122211122111111121221122112211211121221212111222121121111121112211221111122122122111111211212221221122121211121121221222121222111121211212212211111222121122212212122122111211111111122112112212222111111111121121112212212212121211222122121222221121122122211111122221122112112122112222111222112121112212122121212212121211112112222222221121121121112122211111121122111212112111112122111112122221212112112122211211121212111211221211221112112211212211122222112111212111121222212222212121122221122212222122112212212221122121112112221121111121211111212122122221122211211212211121212211121121222112121212222222211121112111122111122212122212222122111222122211221112121221212121122222222121111121121111212112121222122222121121222211111212122112112212121121111212112222222122112211122221212221221121112122211212111111121222122121111111212121111121112222121121212222122122211211121211112212211222111221111221121111122111122221211121122211211211112211111211222212211112222211111121222222112121111222221221121112212222121212122221212121111222211211122221122212111221112222112112221121222122111211111111221111222111212112212112121212122221222112222211212221211122112221212112221211121211211211122112122212212222122111122221111222121221212212112222211212212212221221122211211211212111122111211221111211212111212212121112222112221221222222221211222112122111212121212111212112211111111121212121221122121212121212121212221222212122222221112211122111222111112212221112111112221221222111122122222122121212112122221211112222121121112221111212221111212221112121222221112111112211122222222212112112121211212111212212221122111212212211121222222212122121211111112122121211222221221121112211122121212212221222111221212222121112122111122211121122211122121221212122221122121212211212111211112221221212121111221211212212111212112222122122111111221111211211121222211111211212222221222222212212222112121121121211212222222122122121221222212112112122211121121112111222212222111112122112121112211122122121111122222212111121112111121111222222121211212212221212212222211211212112122122112211121111222221122211212121221111221212122112121122112111211111122211211121222122211221111111122222111111122111222212121211121211222112111122122121212122112221122121211121121212211212211211221222221212122122222212222122111212121111222111112211122211111212221221212112111221212122212121121212221112112212221111121211222122111212112212111121211122221112111112222111211122212212112212221121122112221212211212222222122221122212221221111122112111112121112221212222211111122212121221211112111222222121122111112122211221212122212121222221211122211221222211222111211222222212122122221212211212112221211121112111111121222211121212222111111111122211221211111111112121221121111111211122112211112112212212121221122121121212222211212222211111212122111212112211112211222111121122121222221112111212221211112221212112222122221121221211212221212122122222111122221211222121222122121122121121212121121111122112111111122212121112112121222121122221212221112112112111111111112212121121221122112212111122121211212221112211212212212122212211212221212111221121111212221211112111211212112211112211112221212211111111212221111111222122211112222112212122222111111112111111112122211222212222112221121221121221212122212211212221112222211111212211211211222112212121221212122212221212221112222112221211211211122111212211122211121112112212112121121122222121122122112111221221221121222221121112212222212221212221212111122222222112122211112222222211211112112222212112222221122121111112121212222111221222211111212122111122111222122112111111222222222121112222121122122111221112222212212222112212112122112112212211221112221212112222112122111212211111211122212122211222221222212211122211112112122122211222211111222222122122112222111122122222211212121212112122222122221211111211212111121221222122221221211112111211211211112221212222211211221211121111122111221112122121211211111121211212121212221122211212212221212211111121121211121222121211221222112211222112211221112111221111212111221121111122212121212221121211211112221222122111111221211212112121222121211211221222122122111212121112111121112112211221122212222221221112212211121112222112111212211221222211221222121122121112111111212112212122222112222111211211121121212121111111212221222112221211122212122212111212212111212121222222222112122211211211122222222121121211211121122111112122111111121211121212111211211212212221211221122212212111212112221111222111121221221212112222221111222121112212222211222211121221121121112222122212121111121121111111211211122222222112121112222122112122212122122122211211221111122221222111211211121212221121221122111212121212122111111222212211221212122222222122222111111211112212121222111112212121222121112221212221212121221111122111112121112222121221211111111211212111121222222221111222212122111212121221122221221212112112111121121222122212222112122122221221121122122221122112112221111122111122112111211212222212212211112222111211211222211122112121122212211112221112111122122212122122222211112211111122122222122122111121211112212222211122112111121211212112222111112222212221122112112121122121221111111211221121222122122222122222211122111112111221212211221221122222112222121122112112212111211211211221111211221122112212121111112221211222222222111112211121222221211112212222121221121121121111222222122212221222121221221112121112122121121221122221122222222222212111211122212212212221222112212122122211222212211121221121121222222212112221212212122122221111122122222121222211221122221211121122212122112122121121221212112122212122122212222111222121121111121211222122211111221112122221121122112121121122112112111221122122221122221221211111212121222211211111212212122212221221211121211222212221122122111211112112212121222111211222112122112111221122111121212222112222121111121221221112222222222211112112222222221221121111111212222211221222212211121221112211212222121111121222212112212111211212212222122112211112221122112211221222122111211221222112221122221211212221212212112122222222121211211212122211112221112121122211222211122111121121212122222221122121222212121211222222112111212121222221211112112121211212122222112212121221122211122222112221121222222121222211112212112212121221212111122221212221121221122122111122221222211121121121212121121112111212212222121111121222111121121212111211212221221212121221122221211212212221121222222111211112212112121211211111222222121112221112221222221111221222212212111221221211112122222212122212212212122211211222112121221221221212221211211121122111111111121222122122121222111211111222222112112212112221221121222111221211121121122112222211211112122211222211221122121112112222222211122212121122212121222121112222211121221211111211112221122221112111121211221112211212222221121222111212112222111222112112211121112111222122111211222222112222111122212122221121111111211121221212112221211222222222121221221122211112222211121122211121121222211212222212112222111221111112212221112211221112122211121111121112121121111122122121212221212211111212121222211222212221222121122122222222222211212212221212222121121111112112212222221211211112211112112112221121221121111222121212212211221111112112212121121222111222212221221212122111121111222221111111111211211211221121211212122222212221222112122211122122122221121212222112212121111112211112222212122211111222221211112122121111111212112111212212221211211122222221212222111222211122111222212121212112121222121211222121111121121211211112211212121111121211111112211112111221111222112122112121211122212211112122111122111221222112212122111222221112221222112212212111112122212221121211112212211222221212222212222222211122121121122222111211111211222121222222122212111212221221222212221122122212222211112221212222211122211211222212212212211222121122211111211222222112212121112222222212211221121212122212122212112221211112211222221211222112212122222221222111211122112222222221222222222212111111212212212222111111211212212211211122212211222212222122121122211111222222221211111122122222111121121122111112212122212111212211122122221211221221112122111111111111211111221222111212122121221222122211222111222112222221122212122121221111121211212122212221222212211111221112211211211121111121121112112212121212111211221222121112212111111122222222222211111222221212121221111112122211212112211112122121222211122212112112122211222122211221222221211112112121112122111122121111212122122122222211222211121221112121221122212221211111112122121211122212221122122122211211112222221212112212212111121122112212121121111212122222221122221221112121222212122112111112121211122211222122112111212112222222122112111112212211222211111121211112222211112121111221111111121222212221211222121121111211221112112122122222222212111212121111122122222121212212221121121212112112122122112212221221212211122212112222111221111121221112221112122221111212122212221111212112111111121111121112222212211122222122122211111112221122211222222212111112122121211221212212221111221122122112221212212212212212111111122211211212221121112212122112211112212111222122112112221111111222222221111211212121121221121112212222211112221112212212212112111211121212222222211112111122111111112121112122221121112121112212221211221111122222121111221111121121222212212222222222122221111212121211112212122112112121211111111222212221112211112111111222111222222211221212222211222212111212221222121212111211211222112221211121121212121212111211221211122122212121212222211212121212122211121121111222121112111211221112211111121211112122111112111112111122211112121121122111111122222122111212111121122221111211121212211121211121211221112121221212222112121112122212211121122111211222212221222111122121211211121222111121221221122111222121122211222212112221121211111211121122111221221121121121121212111212112121121122121121111112211121221212112211221212112122122212112112222212111221112221121212222111222121112112111212221221121211222211121221221222212111211211111122211112212111121121212121111211212122111122122112111212121221111111221111221221212222111112211222212221212121221122111112221111112121211212111222121221222121211112111112122122221212121121112212111122221212221221211211122221222121221111222122212212222111121211222122122122212111111121121122112111222211112121111211211211211212211211222222221221212122211222212121211112112111221111121211112211221211122121211221222212111211211122221122222221122211212111122112111121122211121212222112122211112122122212121222112211112121111221121222112221222222112211111112121212111222112221111111121222221111212122212122112111112111221112222121112221112212221121212222212211121122222221111212111211221222212212122211211121212212121111222221211221111222211112112112211111212211222211212122222111222221111122111222211112111211111211222212112112121121212111211112122212212221211221222112221121122221121112122212121212221122121211212112111122111211212112111211112221222112211122221121122211122111222222221111112221112111222212112222121111211122122211111211112212121112212212122112212121121222122211221121121122211211212121222122212222111212121122112211221122121211121112221212112112222111211112112112111121222221121211122112222121111121122221122121222111122222221222112221121212121112111211121122121121212212211212222211211121222121221212212222221111212221121121221111212221221211211121121211221221111221222111112112121221122121122221111222121112121221222121212111121111221122211122221111121121122222222222221221211221211112212221122122121211221222111121222212122111221121222121122221121221112212211222111221222222222221212211221111222112222122222112122122222222112112112112212222112112111221212111211221211111122112112122112222111221221112112121112221121212221121222122212211122122112112212221111211111121221112211212121121111122111121211121221221211211112221112222211111121112112122112211111111212122111122121122121222221222122111221122122111222212212211221112122221211211121221211221221222212211112112122222222212212222222221212111212111211221111121211111222221112221121112112222212121121221121212111222112212121221211211111211111212112221121122122212111211211222222121212211112222211111111111122221111121221122222212122112111211121222221212221112112112221121221122212111112121212222222111222212111222212121221212121122211122121221211122122122112211222222111221112212122211221112121212122222222221221121111111122111211122121121222221122222112222122221122212211221211211111121212222221122111121122222112212212221122112221221211121112121211122111122221111221221122121222221111112122121122122222212221211222121211111122222122121112221212222211111211211211222211112221211112111211212221112211111112112122111111222112121112222121121221211112221221111211222111211222122111112112122122112121111222121122122112211122121111122111221111112221211112221222212211111222221222222222111211212111112122121122111222122112222221112122112112211222121111121111222122212111222111112222112121121222121222121222211111111111211122122212122221121211221121212111222222221122112112112121221212211111222111121111112122112111222221211112121121121111212211211112122121122212122222212111212212211111222212221111111211112121112211222221112211221212221121211221111221122122221222121211111121121111221212212122111121122121122112112222222121122111111222221221211212212221122212122112221221211212122111212211121212111121121212212111121122222222211212211222121111222212212222112122111221221121212112222222111112222121121121121122121111111221212211222122121211112111222122222222122111221211212121111111112122212122212121111111121122222222221221122112112222221111211222122111121211222222121121222222122212221112212221111112111211221121211222211221211112222112122212221221221222111222122221221111112212122112211212222221122112121111222212121122112221121222112121121112212122112222121111212112111121221212121221112121122111222121211112122122212221211122111212211221212122121211211111212211112211211212212221212112212221111111212111221212112211211111222112121211112211111112222222122122222221221111212112122221212112222221211111121121111221212122121211112111211122111212122111112111221112112222121222222121121222122111222121122212122221221211122111212211212212111211112211122221211122121222121212221222112122221111111222211221222221221222111222221122221221211221212211111222112222112212222122212212121112211122111112112221111211121122111221212121122221222111122212122211211112222221121112211211111221112221222121111122212221111221112112111221221211122211212222222222222221111111122211222222212212121112221222221112122112111121122211211211112122222221111211222221211211122221222222222212122211221222212211221121122121121111222111122212121222221211212112211112211112222111122121211122211122221111211121121112111211121122111112222212212211111212121211222222221211222112122221211112222212122212112221112112121222211222121221121121122212222121112222122211112222122121111222122122222211211121111112212112112221112121121221112121211122222122121211211212211221222222111221111121111221111221212212222121211111111122111111221111122222222221111112212221222111122111121112122212211122211211122212211121212122122112122112111212212221222122222221222222112222111122221112222222111122122211112211222112221121121122111222111222112111121221122222111121121122221212211211222212112222111221122212122221221111212212122112222121221222212211222121221212122211111111122211122221221211222121122222212122111212111111211212221111222111211111111122221112111212112222222111222111122221212112111212112121212122211121211121111121222212121222112122122222112121211212221211211212222211112111221222111221121211122211211212212121122112121122211212122221221222121212112121212111112111121111221221121122121121122121111111221121122212222221122221212112121112111122111111211112111211111222221222122212222212121211211121121111122111222122122212222222111222121211212222111112112122212212122212112221112212122111121111112221122211112121121111112212221221211212211222222121212112212221111121122221212212122221122212111122121222212111212121112111211212212222121212122222212222112212222221112121212112121111221111112211111111221122221121112211112121122222121122112211111112211222222111121112112221111211212121221222221111111121211211121122221112211112111111211211221111221211112221222222111121211111222112111222221112122122122112222212211122111211212122112121212211122212122121211112212112122212112211221221122211212221122211211122112212111221111211222122112121121211211211122212121221121221111221122212122211222112221211212121111212121211112121111111222112212111122121222221221221221112111121112121211121221121221121122121221222212111111221221121122112112112122212212222121111111122121121112222222221112212211121121121121212212222111212221221222112112211122111112121212122222222122112122211221111212121121111222112211122112121222221212122112211221211111212221111111211212212222211112212221222122212211122111212222121221112122121211211122111121212211121221211111121212112122211112212112211112112111112121211111112122121122222222111112212212211122112122112121112122221212122112121121221222221221211121212212221111122111122222212121111211122211221221211121211121212211121212211212221121212221221111121211122122111121122112211121112121111122112111221222211221121211211121222211222222112112211122222222112121222111121112221112111111121222122211222222112211111211111212112111211221221222211222111211211111221111221222111222211211212111222222221112222121221111221112222212111221211112111111111222121121212211111221111121111212121122221121221112212111221211122222122212122212212121211112121111112122122212121111212111222121211112222121121222222212122211122222222222112212112111221211112212221212212121221211121211222111211221121212122221221111111121211212221112221111112222222112121111111222121222222221222112222111111112222111122111211211121122112212211212111111112212111122211121211121121211122222111211212222111121122211222122112112222112212111222221221212121212122122211112212111111111212112111211111122122212222211121212222122211222222212221122222211111122111222111112122212122221222111222112121222221122121221221122112211111122222122121122111112121221222212111211221222121222112111211211222121111122111122122112222111112221222111121121211122111111211221211222111222222221111212212122221222112121112111222121112221211211112222122122212112112111212212112112212121121221212122111211211111111112121221222112211212121211211222211112122111212111221211212112121212112122221222111222112111222222112112112122222121212221121122122112212221111122112211222111112111112112211211111221211221121122111212222111112122121212222212211112111122112121112121122112221112122221121222221212122112221221221121222222122221121111112121112111221221111112112111211122122221112222112122112211212112211212211122212122222211122112212211112211212122112122112112222121222221222212211212211112112111122112211111222211111121111221112122211112212212222122222211211222112211221111121211112112121121111222212221221112212212112111212112112212121111212121111222111112212221221221111212122122111112112222112121111122211121112212121121112121112111212122122111221111121111221112221122211221112112121112221221122112112122222122121121112111211222111211111111212112111122121212212121122212122222221212222211222111221112121212121211122112111221221112211111211111221221112111212222221221112112112111221212111212212212122121111221221212122211212221222211221112111221111112221122112211112112122221221221121112222111112211212111122112211222211112212211222122112221212222211211122211112211211211221212111221122112111112212212122111112211112122212121112111122221211111221122111112112212211111222122121221111112221211211111112122212122211211221111222222122111212212112222212112212211122222221211121112222212212221112112121112212111111212211211222121112211211221221111222112112112121122112112111122222221221212221222111121222122212211211221212222112222211211221221112121121121221121121221222212122211212221211222211111111221212111211112121112121221212121211112211221111112222221222111121211212111111112121121221212121122111221221122211122121212212111122121221212221121112121111112211122112122222121222212111211111122221211121112221221221122112222111212111112121111111112112221221211212121222211222222111211221222121222211112111122211212222112221212222221212121112222111211212122212222212211212211122112211111122222211211111121222122112111111112211112121112121211111222221111122212111122221111212222211222212112222221211121221212222221111121211222111112112121222112111112122112112111211212111212222211211221122111211122112122121212222112112221121111111112121221121122121112221212111222121112222111221222212222111221112111112112111111221222211112222222211211211122212121221111211122112211111121222211122112111222211212212121221121221212111222122212222121122211112212122221112121212122221122111112211122212112121221212211112221211122111221211112121221222112222211221221111122112211212211221222121222212221121221211222112221111122112212211121211211222211122122112221212211111221212112111122221112222212112121111122111122122121221111121121221121211122121221111111222212221222222221112122121221111111112111122122212221111111122221121112111111112111122121212111111121212212122121121221222221221111122211121211221121122111222122221112212122221112112112211122122222222121222222221112111122212111122212211212211121222222111111122111212121221211122221222122212111112222121111122221122222222121112121212121221112212212221221221222112222211212212222211212212112212212121222212212211121121111211122212111121111212122221212211211121112221111212221221111111221122122222122212121111212221112112112212111111121221111211212111111212212222122122212222111221222212111112212222221221211222112122111221212111122212121112221112222111222212121112111221211111212111211222211112222222211221212222122122221212211212212212221211121122122121221222222221221221121121112122212212111211221111221222112212212122212111211222211122222222112112121211112112112222111211222112122212222112111112122111111111111122122221211221112222221112122222221111221122222221222211212221111211212222222222212221111221122111121221121112121212211212121112222222212221121111121221211222221112221111122212112212121111211111211222221222221222121121211221111222221121121122112221222121222221112212121212121121111121221122121211112112222211111112112211112222121112211111122112112122121111112112122222222121122221122222122122222212122121222212211222221121122211211121212212112212221221212121212121222111121112211121121121112221121122221111211221112121211121112122212221112112111111121112222112121211112212212212112212222121212211222121211121111212121211122222212122222111211121111222211111222222211221212122222111211111111211121211221221121112122121221111222112112122112111222211221122221111112122222222222122222221222121111211112122122112222112222211122111211111211121112122112112121122212111121211122112112121121112211211111111121121221211111111222111211221212112112122221221112112121122111112212112221111221111122222111121122221112112111212221222111112111212212211211122221121121111121112112222221111221112222211212112111121121121211121122121122111212221211222211211111211221112111211211121222112212122122212212211112122122121121112122112112121112122121211111121212211211121122212112112221211221211211112112212111122122211121121111122111212222112222222112211111122212111211112111221221121111122212112111222222122112222121222121112121221211221111122121221111221112111212211222221121211121212121212212112111111211212211121122111221211221212221212122222122211211112222121212222211212122211112121212211221112122211122222212222111222122121211122221211221221212222111121221221121212212221112122222211212211122121122212121211221121222212122111112111222121111222112111111211221221111112212211221112112211222111121122112221122112211222211211111221111212111121211211212112122111111122121222222221112222222221212122211112211112112122212211112121212122221111212111112121221222222121112121212122121222121212221222212221222112112221211121212211222211121112222111122122212112212112212122112211221111111211111121121212121122211121121211212112122212121212122112122111112211222211221111212122211212212111112212221221111112212111122221111121222111222121111121121212222222211121211111212111111212112111122221111121212212212112211112111222222221122222122121111112222212212212211221222121122221211122112122221212112112122111122222112111211111211211122121211111222111122121122122211211121211212121221112122111212121211112111222121121222211221111211122211121122221221222212221122121112121222222211122211221221212122112222122112111121121121121122121112212221122211211221121121122212212111122222211221111221122112212221121111212211211111222221212221221112112212112222121222111121121112111112211121112111221112112211112121112111212122221111112112121112111221121122212212122211122222222211221122112212111211221121122111222222112212212122221121111222121121211111222221111122211211222112211122221212221112212222111221122121112121211112212112222122112112222121221122111111121112122111211111111111122212211112211111121121221211121212222111111211122211221111212121222121211212111121112212121111211112221212112211121111122221111122122111122112211122112112111111211112221111222121212111111211112221112212211112111111212222222121221121212212122112222212212112212121111112112221112221222121111122222112111222211112111211112221111221212211222222221211122111111211211111112211211112212111111211112211122211212111212212122121121222112112122111121211111121221111221121111122111222211112211211212211121121121112221211222222112121111111221221222221111211112211122111111222221122212112222122211112121211111112211211212122212221221221222211212212222111111221112211212122122122222212222112121212111222121222112122212111112211112222122122112112211111211212112221121212212112112111121222222211221221211212112111112121212222111112111211212112112112222111111121111112121211121211122112111222112122221122112222122211122122211211222111122211121122121122221222211121112211122112122122222211122222212211221111221112112111212211112222111221221122111112211111211221211111111211221211111221112212111222222122221212211121122211121111221222212221121212122212212122111121122111112211221211111211122221122221222121212121212122212222211122221222121211222112211211221222112221221212212112212222111121221222212111111111122121211222111111111211222121212111221221221211122222121111121221222112121221211111121122211211121211111212122122112212221212111121222212121222222211112122122111112221122112112222222122112211221111122211121121111121111121111111211121112121122111221112112111212211211122221212221122211121112111211121122221211211112111122221212221212112211112222122211122221212121211112121212212111112212211111111221212212221222211121211121211112121211212211112222122221111121211211211111121211211212222121111222221212221222111211222211211121121121221222121222222221122221211112122222112211121122121211112222121221212212221112222221211121211121121122212112221122111222222212112221122212222212211221222222211121111122222211211221122212212211122212211121221111211221211112112221122122111111222212112212212112222121221121222121112122122221221122121222112222111211111122112212221211212221211112112121221112211211212221111112222222212112221211122222111111122112122121221111112211211221222121112221222111221111222122111121121212222211112222112211122221211111122212112211112112222121211112221111111222222112112121121122112122222221221221212122212111112111122121221211111122112112222222211111221212111122121122112112122121211221212111111212122112212212211122122222221221222122221212212121111211112111211121222211111122122111111212122222122112121122111221221222111112112222221112212211112122122212221211111111122111122222122122122212222222111122112121211221111111212221111211122122111221122222222121121211211211211121211211121111111112111121112121122112222121212111121112122122221212222212111122121222222222221211111221212221222222121111121221211222222222221121222221112121111121212112122112112112211221122212121222212212211221122211121122221111121121222211211221211121111112211222112211121111211211122111111221221122222121212111112221221211122112222122221122222222222212111111212222122212121222111212212111111222111222122222122211121221221211221111221211212222212122112222112221111212222211112112111212221112122112111211212111212121111112211211122212211212211121122212122222221121222212121111121111222111111121121112112122222111112212112122212211112212212211112212112221222221121112211222111222122222111221222222221221211221111211111222112122122112112212212211112112211212112221111111221222212112112221121121212212221222121121121211111222211121211212112112221221121111111112212111121221111111211221211121122211111121121112221121121121122112112122112211111111121112121122222112122122122221121121212122221221211212121222122212122211222221222121111212112211221222122121221112121221122121222121221112111221211111112111112211222221222122222221211211121121212212212221221211121211221122112112211111221122222121221112121112222212121121111111112222112111212111121211222222211112211121122222112111221122221211221122221111211221212221211222112212222221111211121121221112212211211211211122121212121122122122122121121212212222221221111222122112122121122111221212122121221211111121211121111112112112211211122112222212221222221221112122221121211121112221122112221211212211121121221121121122211112122211222121211222121111221122121121122122122211122121111212112211212121212222112112212222221222121221221211122211221212112111111211221112112112222221122122111111211112221222111122211112111212211111212211211121122211121112111122122121112212122222121211122111221122212222121221112121221121112211211121111122122221211221212211111222212211122211221221222122211211111222112121211221211211212112111122212122212122122211122121112222121221212221221111211112112111221212211221122212111122222122222211211121122122122221112121212111221112221212112122112122212211121222112222112221212221122111211212221212222222112121121211112221221222212221111112111122222122221211212212211211212211222111212222112211211212121212122221222122212222221222122122121222212212212221222221212111122211121112111212222211111122211121221122222112222121111122122111111112121222122212212121112122212211121121122211121122112222221111212112212212221112212221212112112112112222122122121121221212122122111211221212112112112222111221121212211121221122221211121212212221112112121111122121221221211122122111122212122122211122212111121121112112122222121212211212221121211111121122212221221221111221221221221121121121222212211222221222221211222112121112222111222112222221112211121122111121222111112222212122122222211122122222121221222112122222211121222211222122221122121121122222112121122111122112222221112222122222222211222112221122222211122112222221112211211111112112212211222112122222212112122222222212111122212111222222211221111112212222111221111212121222112221211211121121111112122212211221222221221112212221222111112111211221111211212111222222212212112211111111211111221221221212221221111111121121112111111112211121222111122112211111121111212121122222111222222122222112111122221221212221211221122212211111112122122211121122121111121211212211111111211112211112212212211111111212222112221121222211112112211121111222121211212112112112221222112111222212112211111222222121221212121221212211221222222212222222221112122212122122111111222211111121121111211211221112112122211122122222212122212211221221221122121122222122121121121221212221221111122221121222211212211221222122212112211122222212111212222221221211111212112221212221221121212111122112212121221112121222122211111221222112221212111122221212222111112122122221112122211221221212112121121112211121122221111121121111221111212221111211111221122122121112222221212112212221121111121121112122111222122112122121212121122112211222112111221221111111111221121111121211211112111112112112212122122121112112221122212221222121111121122222221211222111122121221111211221112221121121221121222111112212122212222121212121121122122112222121122112221212121121222121122112112112222112222122122211122121122121121121221112121111121212222112212221111222121112212212121221111221221112121212221221221211222111222111222221112221111221212121111122121221122121112122222212212111112111212121212212121211111121221211112211112222112211221121212121221112121222222212222122212112212112222112121121222222221112122111121111212221211211222121221222211122111121221212112221222211211221112111121111222112212221222122111112122122221221121222111212212111121111212121112212122112112122222122221212121211121112122121212222211211221111222222111211111221212111211211111222212111122121212111211211111212112111112211221111121221212121211212121122121212122211212221212121122212211112121211211212221112211122222122112211111121222221222121122221112222112112122121222212112112222122222111122111121222122212211211122122111221111212122111112212111112221122221221212112112121222211211111121212111121211122121121111121211112122121211112111221121222212221222111212121212121221211221222212222212212221222212122211112121111222221112112121111221211222122221122121111112221121122222112121112112222221221121122111212221222211212121112121112211222122122111222111212211211212222222122122211211122221212221121121112211121212121211211211122122221122221111222111221111222121111221122122122111122111221111111222222121122122111112121222211222111211112212221121212211111212121221122222112221221222222222111212121122221211221211111122221211121121121212221222112112212111111212212121111222111221122221212112221111111212112222221212121112212112111221122121121211212121212211212111211221111212221211111221121221122212112211221221122122112112212222212121222122122212112212211221121222121222112121122111111221221212112211121211111212111222121111112112212221111212122222111212111221222111111111212221221212211222211112121121212222122211122212212221222222211212122221121221111221121122121111211212211122121122111212211221212121122221112211112111221212211121122212121121122222211222121221122221112122111212111111122121122221221211122111112221221111121211112211212112211212121212121221111221121111111211212121211112122221122112211121221121121121111111122111112211222112112111121122212122221121221221112112111212212112121112211221211111112222221211212211112121211121121112122222222211121211111121212111212121212121212111212222122122122221212112112122221222211212111112222211221122222221221212222221221222221212121111112221212221212112211221121222212122121122212222212221112222212111212122221222212112121111222111122111212221122222222222212211212211112122121122122222122121121112112121111212221112122122121221112112222221122222212221212112211221111211212111111112212222111222112221212212211112121222122121221111222121212222121221121221111211212212221121221122111212212112122121111222212121221211111212121212122121112111122121222211122221221122111212221122112122111212212212112222211212111212222121112121222121221222222222111112111112221121212211121111121222122112212111121222111122111221211121222221222222112212122212112212112111221121112111121222122211221121112111121112211221122211122111122122221112112112111211222111111212112212112222212121122212212111211211221212211222221122121121211212121111221121121112122222211121221121121121212222112111212221212122112221111222112122112211211121112112212112112122212221222222221211122111212211222221222221211221212221111222112122212111122111222212112212121222111211111122121221221221122222212111211222212221111211112121122211212121211121121121221111112221222122222222212222111211221212111121222111211112122212122121112111212121122121112221222121122121212212221111122222112211112122212222221221121122211121212221212222212121112211122112122111122121212112221221222221122222221121112111121121122111111221121211112222221212111112112211211221221122111112211112111211112211222121122222222221112122222222112121212212221112112212222222112122121212221121212112111211222111112221111112111122212112112122222121211211222111221121222212212122112122222122122221111222222221111111222122121112211211121111111111222212122121212221121111121111221222211112212221112122212121111222111111121111222112221112222222222211122121121111212221111212122221121212211122211212122211221111222111121122211222122122112222221122222111122111212221111211221221211222222212222211111121212121222221111211121222122121211112122121112222122121221212212222212111212221111221222212112222112121212122121111112221122112122122121112122221211111221212121111212212122221121212121221222221221211212221221211211122111112211212211211222222221122222222111221112112212111212212121211212121211111222222112122211212222222222121212221222122112122212212211212112121211122221122221221212122122221212212111222122221212211122111211211221222221121122121222212212212121122112222112111211122221111122122121211122212211212111211112121111121211212121122212222221222212121122211222211122211221211212221212121122121222122211222221221121122111121211112111122211222111112212122112111221212212212212121111211211212211211121221121111222222221211222222222211111111121211122121111122221222211212121212221112222121221112122111222122121112122122221111221122122122111211222112211122221121111221211122112112121111212211211212212111121221121112121122222211121122212112122211212111212122112212211111212112222111122211112121211122112222211112122222222121122221212121112212212122122211112222221122121211121222111111122111121121112112221222122221112121221211211112121121112112221111111212122122111112121221211211212121121112122211212212112221112221211212122121222222211211112222221122112221121211112122212122222211111212221112211111111121121222212122222121111212222121221111222222222221211111221222122122211211221111212112222122221222121211212122121121221222221112112111112211222121212221222122112111111221111112121212112212122221112111121121112211212212212112222212222221212112121111222111211221221121222122211112111121211211111111111122122222222211222121122112111111122212122212212211112112221111211121112211211212122211212111211211112211222121111222122221121121111112221211222212211212111112212111221111212121122122211111221211112112221212111111112122222121121221221112122122111112222121111122122111121112112222122112111121221222211221121211112122211111221222111211211121221111121211222222122112121111212111212222121221211111121222211112112212121221211212111221111221122122221121212112121221111211211212212212121212111121211222121112121112112111122111211212212212212211112111122212222222122211121221112122211122112212212121222221112111111211121121221221111221222211212222111212121212221221111221211212222211212112121211111111111222121222122222222122121112221212222111221211222122111122111221122211121111222112221112211222122111221111122221121212112122222212221211122121112222211212222212222212121212222212112121211212122121222212211212212121111111112121112121221212211111222212211121221212112222212112111121111211211211112222211222222222121212122111221121221221222211211221122112211221111221122212121211221222211112112211111211121221211221212112111111122121112211111222121121222211111221121212122211112212112221112211112211221222212122212121212212111122111121122212121211212221222122112121111122222212122111212111211121211221221111221222211211211121111212222122111111112122112211122212221221212212111212221211121211111122111221212211112212212111221111121222122212222221121111212112122222122122121211221112211121121111112221211221211112111122121222211222221122122222212112121221122112212111111121211221122221121212121111212121221221222121111212121111111222221121211212221121122212121212112111222112121121211111122211212111211221121121212112221111211211221211112212111221111122212212222112111212122221212112122222111221222211111121211222111221112221222111121121111221112211211111222112122221121122112221122112222112122112221222211212212212211212212222221122212221121211222222222122121212211112211212212211222222211112111122211112122221211121111222111221211112122111211111121112121112122221222221111212121221111211212221112222221222112221212222211211112111211222112121121222121211122122112111212212122121112112211121222121112111121222211222221211122121112221111211212212111111112212121222121212211111112211111121211212211221222112221222121221122222112222122221111211121211112222111212211221211122122221211112121211212112112122122211121112221221212112111121111212222222112112111221211122121211212112122222221111121121211222121121212222112121221121221122211112111211222112212122122111122212112221111221122222222211222221112212121111221121112122221122122122221112222122221222212121222122222112222122121211212222111212121111221222112211221111211111122111112212221212221212122222211122222222211121112222212212211121212122222211121122212212112222221121221112112222222111122221212211212112122121122221122122221111121222122112221212221111121212211112121111212111211222122122211221222111211212211121221112122122211222122222211211222121212111212211112122211112121122211111112112112122222212112122212112122222122212121121222111121212121121222112111122122211221212112121112121121211222112211222112221112122211122112121212111221221121212211121221111122121121121122111111121122121112111211112122212212122222122212212222222221112111121111112112222112122221221221212112122112112212222112122221121122111221111222112121112121221212221211112212111211222222112221211212122122121121211111121121122111122211121111112212222221111111221211212111121121211121212211111121222121212122211211211221222212211121122122111122221212211221211211211211221221112112211112212112221211112121111212112111222211112112221112121211111111111211122122111211211211212112221121111212221121111111211121211221211121221211211122122222212211122212212222212121211212111122112121221221212212221121221212212222221212122111111212122111121222222112112212111212221121121122111222111212121212221111111121222111222111121112121212121122121111221111211112111111221211212112212222112111111222121122222112111122211222221221121221221112221112211222211121221221212212121112111122222211121221121111112211111121221212221221211212121122112212121112222211111121111111221221212212222121222221121212222222112211121211121112121121112121111212121122122112122222122212122221122122221211111211211121112211211212222122211121111112212122221212122121212121222212221221212211122211121221111222222112112112222121111222221121222122212212121211112222211222222221212122222111122211222222111211122221222121112221122112211121112222221221211221122212212212121221222122111112121121122212112212121221111121212211221111221122212122222222211121112221212221122121221112122122121112112111211112212112222222212212222221222211121211112122111221211121212122111111221211111112211212221112122122122222121221111221112222112212211222112211111221212122111112211211121211221112222222222112122111121111212212212212212122211222121121222222121121121212112122122222222211221112112212222111211222122222222121222211111122121211122122212212211211212212222122122122212112221111221111222111112122122122222221111111122212121221122121221221112221111211122111221112121212121112211212112111112221111221111222111222122111122222111111212211211221122122212221122222222212121212222111212212112121221112122112111221111221212211111222112112212121111112122221111111122222211211121111122111121222111211111222122221212212122121112211122211121111212212222222111211221211222121221211122112121121221121122111211222222222212221212111212222212122222212122112111212221122112121121222212212211122211222212111112121111122121112222222122222121222221222122111222111222211112121221221111221122211212121222122122212212221222111122212121111112112121212122112211111121122111111122122112122121222212212222112121221111122112111121112111121121221121222111111221211112212112121122112211221222122112112121122122111221221221112212221121212222221122212222121212121222211122111222111222122222111111211122212122112111111211121222111221212111112112111222211121121211222121221211112212221112112112221212112212121121222211112122121222221112221222121121221111112222221212121212222212221111222221112121112122111212122222122112111222212211112211221211121122212212222112122212221111122111212222112221221112222122211122212221211111122212112222121121221212111212121122121211111122212122121122221122112121111121121112121111211112212122222122211111122112122121121222221121211122121111111122121122211122122111211212122111211222221222222211211221211211221222122112121121112212221122112111221112122111122112122111222122122221222212111111222122222121212211112211122211111211112211112211212111221222212121122212112121121211222211112211112222111121121112211122112121221121212121212221211121112221222222121211222211112121111122111222211122221221211121222212221112222112212112211222122212112122111111211212212112212121212212122121211222121212222122221121212112211212112111111222222121221212212221111222121122222212121121211221222221111111222111222122122221112111221221222211212212111212121222122112222221121111222211222222112212111222222121211121112112221212121122122121211212221122122212122212122122211212211122212211121221221221121112212121222122221222222222212112212122222121212212222221211221112121221111212122211222121221122111211221122211111222221122222121222122112221112222212222122111222122222121121121211121222211211122212221111112222222222121221111212212122112221222221221221122112221122211221122112111222121111222111221122212122121212211121211111112222122121211111221112122121222212122122212221222111212111112222211111122222221111211111212221222212221111122122122211222212111222221212122211111121222212112221111112112212121212112122112112111221111221112112212122211221122111221122122211111222111222121222112212111121121122221221212212111221211212212111222222111111211221122222122221222122111222111212121112112222122222221212211222111112111121122211212212222221111121221222221111211211221222112121111221212121211111121111111122121222222222122221122112121111211111222211222221211112112221222112111222111211122111112221121221122121212112122221122112221211111111212212222111221211211222112111211121221121222221121121112112122221121212111121112111112221111211221212222112221222212212212211122121121222122212112112211112111112212121112221112211121212111221121121221121122222112111111222212212211222121222122122111221222112111211212212111211111211222122211221212221121121211211221222211111112222212112111111211222122222222212222211122122212111222111112221112112211221222121222122222211221211122212112122212121222111121112222111112221212211222111221212221112112112211221211221211211122122122112222222221121122222121122112221221212112111121111111112222222122112111112222111121111122212111211121221212222121112222121212121212111221211222211121222211222212222212122112111112111111122122221212221221221211211122111121121222212121112112221211121211212222211122211121221122221121121112212212212211121211121222112112121212221211112111112221122111121122222111211222111211211112212212221221122122112222211121122211221212121122221221121221211212111122111211211211122111112112122122122112111211111111212212122211222222122221121122111221221112221222212111221111221112122211111112212122221112221221212122121211122212212212212222121121211122112211211111221211212112121222221222112221212212122121211211211222122221211221212212121222121222122112111112212212122121112122112221121212111222212221121211221222212222122211222121121212112121111222222221112111111222112222111122112122221221111222211221211121112211111211111222222112111121221112222222121212212222122222111122122222111121222212122112111222122221211221221122112112222221212122211111222221122121111212221111112211121111122212212222112111211221222212121122222122121211211122211111111111112112111121212121222111121112112122211211121222211221221121222212222212221112112222111122222111212121221212122212222122221112122221111211221212121112222121121111221121112211121111221212212222221211221222212221112212112221212111122212212211211221222122222211212211122212121221221212211112221221112211112112121222222111212121221211212212222211121111111221211122212212212122111221111111211221212221111212221221211121122111112122122111121122222221122221212121211221222112112222111112111122222121222212212212112211111121212221221221122222122221222221221111222111112122111211212111112112211112111211122122111222222121222212212121122111111111221122221122222122122212222212211211122121122211111112121112122112211111221111222222211121221212112121212121221212212221222221212112212211221212221222212221212122211112112111111112111211111122211112112122121211121112112221111212111222211211212112121122221122121212212211112221211221121122112212121212212211112222121111111221222121122222222222112212121221122122211211212121221111212112211211121212122121222211122222112111211111211221221221122121112222121112222121221122112122222221122112121222211222112121121122122111212111122121111222212111221221212111121122112121221122121122221211211112221121222211222122112221221212211222211211211122111122212122121211212121221122121211121122112111112221211112211222112221111121121221222212211122121121121211112221121122111222111221111222121212222121221122211221112221222111222222112111211212212221222221212222112211211122212121122112111111222111111221211122122221212122221222211211122211222211211111221112222122211212211112222111122121221111211211121212122111112211222221121222121222112122121212122221121122112122221112221121221112122111222221121111222121221222111122122112211111212121122212222222111112111212221221122222211222112121111211222212211112122211222212121212222112221221122121121112221122122121212212122222122222122122111112221122122221111122111121111122122112121112212111112112221111211221212112221121111112112222112211122211222211121112121121111121222222111221222222221112111221221111212122222222221111121121211112111122122112111112112212111111212212212112212112221122111222111222111112112121222112211121112221211121212121212112221122121211121121111212112211221221112222222111111211211121221222111211121211221122121222221222211221112211211122122112112122221122112212122112122111111211122212121112212222122122122111212221221121212112222122111221212122212222211211211111211111211112112112121212122112111222222211121112112111121221221111122121222212212211221221221111112221112222112211122211212222212111222221112212222221212222212122121221212112122112222212221111222121121112122222221212211111122222221112122211121221112121111111222221211212111221111111112121212121122111121122112111121121111211111112122211212121122111212211211222212112112111122121122122221222211121121222212112122211222211122121112121122211111221112112221112122122111122111111222122212121221121112211221212122122121211222211112122111212122212112212211211221211112221111121111111111222212212111212221211112222212212122221121121212212221222212222121112122121211211122221221121212112122112112122112221112111121111112221222211221122222221112222222212212222212112212121111212212221121211212111111121122212222121222222112211122212211222112222111112221112111222222121222221211221112212121111112212112222122221112221112212122112111122212221221122122212211222121221122121211122221111221112121112211221122122212211222111221122212111212221111211212122211211121122212211122221212111111212222112222121211211221112122122211121211212122112111112111122212212121222122212122211112121212112211121111211112112212121221221122221221211222211122211221111212222222112211212121211211121112211211111222211121221121121111222222122221112221222121211221121222211221111221212222122121112222111222121212212212121111111111122222221222211122222111122221211122221212212121212111221221222211211211122111212112211222211212112222212112121112111111112111111222221112212211121112222112121111122211221111121112222211222211111212111111211211212222222212211111211222222222221122211112122222222122122121212111221212112121122222212222211121122212211221211121111122121112212212212121211122211222112112221212121222221122222222211111121212122112111221122211122211122111111212121111112222212221222222121211122221121111111121112122222222121221211122121121212111212111112111211122121221211111121221211211111221121211112221222222122111112221211222222112222221212122221112221221122121212212112212112221211221122221211122222212212222221111212112122212222121221121111122122221111221212211211122121111221121121111212121212121211111121222211112112111222112221222222222121111222222121111222111221122111221121111121112111121111112111122122222221111222111122112121121121222122122211211222122121222122221122111211222211111122222212212122211222212211211112112222111121211222221112212212121112121121111221111112112121122221111221221121111112212221212122121121211211112112212112112211211221122111111222221121221211112111111212221122222111121112111222112222112212211111121212221122121212111121212222221122211111111222112112112112222211122121112221212122211111211222221112122221212122122212211112211121211211111222122211212211221212211112122112111221222112122122121112221111211122211122222111221112221121121212221212212212222112111111111221121212211221211122222111121121221122212212211221122212121122212212121212121111112212211221211121122111122221211122112111211212211122122112122111122112121112112121112111221222212121211121221111221111111222111222122221222211121122211122121112221212121211221211212122111122111211211221222112111112212212222121111111122221121111211111221122122121111211121211121121122121211121111212122211122221211221222211212121212112211211212121222122222211122121221211221222211211112222111211112121112112112111222211221221211112221211212222121212111211212112212112212222211112212221111222211221212121212112122222111211222122211121111221212112212221121222121122112121212121121121122221211121211221221212111122221221112212221221112122221112112121111222211112112211211221112212212211221221221122112212222121211111122121122112122122212212212222111221122222211121122121222122221112211212212211122112122112222112212212111211222211121212112221211221112212211211221112122121122121122111221112121122122211121211122221121221221121122112112112122121222221111122221112111222221211111121122121212111212221211222122222211211122212112211121112221111211211211221122112111122112221121211212221222211122222121121212221221222211112211221111221121221212112121111211121121111211211222221122222121212222222211111112121222222221122111221211122211112121211111212111112212112212221111212222111122121121111111112121212122222211122122212222212222211211122122121211222112112222222122122222211122212222111121121112121222212111122211211221122212211111122222112122121211222211111221121111122112121212211222222221122111222221221211211111121221222212222121111112221222221221221122121112122212222121111122222112121222112221212221121211122112122212122121122212211112112111222212111221112112121221122122222122111211121111211121221122112111212111211122211111122211112212112222211221121222211111121211221212212222211122211212122111122121221112112211221221221122121112212122222122121122121212121222122122121221122212112212222112111122222221222122111112221222122212222121222212111122121221121121121111221111122222221211121221122112121222222122221221222111121111112122211112111111212111222122111122121222111222112112212111111222111122112221112111222121212111112221211212111212222112121222221122121211112111121211222122111112222112211122211222222121112121122211221111122222121212222211211211111211122212212121212212122221212112112212121212221111212112111112222222211111112222121211212212211211211121222112111112222211121212121212122221111221221222222211122211212211112221222222211212222222211222211211221211221122121111211221212222212121211222112221222111122112212212111111111121211211212211121122212212111112221111211222212122221122122111211211212122221112111121221212112121221121121222221122122121122212221222222121212122121111112122122122121122112121122221222221212121111112112212112221112222211211111122112212111212221211211122111221121112222211221111222121211222112122221121112122222211212122111122121121211111222112111211211212122112121121222211122121222221221122111211211212122111212122221112221222211122221122111111112222112111121212122221211111111222222112211111221111222211122211221211112122111122212221212121121211122212121212212111221111112222211212121121221222121212112111212121211121122112111221211122121112211112121111221112221211212211121222222111111111121211212122121122211112222112121121212121222212211121221112111221111121221111222221211211121112222222221122112121121122211121121221211211222121222222222122211211122212112112222221122122221111122111121112122121212222222112212212221211122221211222122121112112211112111111211112211121212211111212211111222211222112112111112221212211211111121111212212221221122112221121121111112222221112111221121211212111222212211112111211221222121222222112211122111211122221222211121112121211111122111122221211121121122111222212212111121222221212122121112111212121112122211212211111212122211222212121222121112111121222212122122111112221222111112211221222121211121222122112122221122112112122122121221212122112111112121221212212222121222111221121212221222221211121121112122111122222212211121221221222221112211121112212211121212212121122111212222121212222212112121122112111121111212212211111222211122111111222222222222112222221221111121122122211122111222221222221111221212111112222222112111111111122212122221221122212211211111222221111212222222221221122112122112112112212221212222222111222221211221222211122111112211221212122222221112221211212122121122122122212121221221211211212111212112111112221222212212121212222112211212211122221121121122222112211112122111212121122121111122222112111222222121212121112122111111221112212212212212121222122211111211121212211112221111222221112121212211222222221222122111211112122222222111222212211222122221211121212121211122222211111111122112212221211212122211212211122122222112121212111222221122121212212111112221221211222221212112121111122222211112111211221211212122212221212112221111122121211121112211221211211112221212111121222111222122221111121112122121111121222222222222211212122122221221111112221122121112211211212212111122222211111112112211222212221222211222211221112121121111212112212222212221112112222122222212221112121111121121121211221211212121111112221121112211222122211221212112112112212111222111211112112222121221211222122212212122122212112112122221122112112211221211221112122211221222222111112222211221221212111212221222112112122222222222211121212112111222111112222222122111112211121121122122122122221211212111211121121112221211212122221211212112212212212112111121212222112112221212112122222212122112112111121122112111211121212222111112221222121122121122211221221112121112112211121221211221122122222221222211211121112222122122222112121212222112121121221121221222222222122121222122122222121112122121122211211211212221222222122221121121112222211122222221112221121211222121221222122212222212111211122112111111121112222211212222121212122121111121221122222222211211211121111122222221122222111211121221122212111112122112222211121112112221112121222212121112221122212211212222222112111112212111212222111121122111121212111121211222211212122111222121121211222212122212211221222122212122222212122121112111212222211121211112122222121221222222121112122111212221212122121122211211122121212111222122121211221121111222112222112111212122121212221112122121221221211222112211211112122221211222111222221221112212211122222212212111211211122112212211211111222211222121211211122211211112112212112211121211121122111122111111122112112112222221121222121211111121122122221112211112122212122121222212122222211211211121222122221121122122211221222212112222222222111112121121121122211122111121222211212211122112121111121112121221121211211121221212112112212211122122111212112122121221111121211222112222112121212122222122212211122221111221222222121111111212122212221222212222221211211222221212221221211112222222221122111222121112111222222122111112121211112122122212211111112211222112221211212122121212222111221221111221212121122121111222222111222111111211212111122112122111212112222112212212222112121221122212112111122121111112121222111111121211112221122122211122111212121212221221211222222121112121221212112221111212111122222212211211112211111111212111211221122121212211111122211211122122211212121222212111221122211221212212121122112112111112112112222112212111111121211211221222221221211111122211222122211211121121112211121122121112222211122121111221221112221111112111222112122112121111211122211222211222212211111222212121121221121111121111122212122121112221212222112222212212221212222211211221122221112111111122121111222111112221212112212211112211221222122212122212212222222222111212122211112211122211221222222121112212122221221211112112112122122211212212111212111212212122211211211122222121111111122122121212212221212121122221122221121122111111222111211111111212212121111112211122221122122121122121121121212122112221211211211221221122221112212111112211221122112121111111221111122122211211222122212111122112211211112111111112112112211111111211222212122212212212211221212121211211121122111111222122211121222211111112222212111112221212212111211222211222222222112221122121221111122221111111111221121122212122122122122221221221222212111121222112122122222212111211212112112212221121111122122222111212121212122122222221211112111222122122122221212111211222122111212112211121122112221212222112122222212222211122111121212121221112221121112121211121122111112121112221111221112112222211211121112211121212212222111121112221111211211211221221222221222212221122221222222122122122212212122122112122111122112111221112111221111212112122112221211211121221222222121211112112122221222122212111112211221212222122222222211221121112212221122212121222222121122121111122211111221212221222121212221122212121221221222111121221212211222111112121122112111121121212111122121121121121111112211121221112121211111222121221221112221222122222111121221221211111221222121212212122211211221212112211222111222212111212121111111111121212211212221222112112121211222212222122112121111112222222121121122111211122121122112222111211122111211122222222221111112212112212221222211212212212121212111212222112121121221121121122111112222212111222111121211211111112122121212221212221212111122211122112222122212122222221212211122121122211112112222122111212112222121222121121111222211122121111212111211221112211211121111222222112121221121212211212212112112211221222122121212112221112221212222112121221222112221112211211121121211211121212211121212212111211221122121121211221222212211221211222111212112211222112211112121122122122121122111121221122112111221112211222222221112122212222122221122122221222122222121212122212111221221121212122212112121122122221122212222112122122222211211112221211111121122211212212121112221121121111212212211221212111211221221221111211112111122122112212112222122111221111112221121212111112112221211112112211212222222111222222112111212221121222211111222212222221221222111122111111211222211212212221212111221111221122211121221122222211111112121212122221212212211222221212222121222111112122211221121222122222212222112112121221122121212212122112121212222122211221121221221112112222121211111212121112212112212112111111122122121122212122212222121222212122112211122122212111222122211122121122211112121112221121211211212111111211122112121212111211121211221121111212112211211121122111221221212122211121221211112121221122211112221112221212111111211112122111222222122221122221122111122111221112211211121222121212222122221221122212121122211211211111222222212212112111221111212212121222122111222211222222111221112211122121111112211221212121222121121111122112221212222221221122222211222122111211121221121211212111122111112222121111212111211221211222121212212122111222112221222212221221112222122221212122112111212111112111112112222211122211112122222211112222111222221111121221122112212212112112111122122211222211211211121112221221121221221122222112122221222222122121112221211112111121122211221211121222212112112211121222212221222221122112222212112221111211121112222121211121221121211122122221121112221221221211122212222121121221222121111212211112212211212121222121211221221122211121121121212112222122112111221221221221221211211211111122222221211112221122121122222122221211112222122221121221111211121212212121211221112211111112222112111121212221212112121122122222221212212111111211212121222121121211111212111111111122222222212111212212122112122221222212222121111122121221121111121211222222121121222211222211111212211121121121121112121111211121121212111121111122212122212111222122111122221221121211212121212222211211211221211221111122212112211112121122221212121121112111221211212212221121122221212112121221112211121222222122211212222122211112211211122122112111122222211121111211211121111211122222211222112111122222121222122211211121112112211111212121112212112222222122121211222122122221122212111111121212221122112111221111112211211111122111211221122211211121112112122211221122111111111221221122222121121112212112222221222222122212211212222112222121221212212212221221212122111112211122222211111121121121111221111222112211122211221222212212222212211111112111211112212111111222122112212122112112222211212222111112221112112111222112221221122112112212211121121121211221222222222221212212121122122221121111212212222112111222211212211212212112221211212221111212111122211122221212121222122212121222222121222122122221221222221112122211221212121111121222222112221112222221212122212122112222221222222122111112121111221222121222221121111111111112121221121111212211121121212111211212122111121222111221112121111112122212121111222222112111112111222111221112112211211111222212221122122122221221121121121211122122122122112112121211222122212211111211212112111212222212222222112122121122211111111222211122211222121221221222121221222122212111222221212212122222211111122212211221111221122212212211122121112121211111112112122111222122212112222122112222211112121122222212221222122121112221112221111221111211111222211112221212121211212112112121121212221222212221211211212211111222211222222222111111212111222211212111112111121221112122221212221112112112111122111112211112111122221122221221112222112122112212212111212221122221212211112122221222111212212211212222111211211111222221121121112111112222211122211122211222122211121221122121112111111212122121121122121121122112121112122222111211112122111112221121222221112212122112212112111112111222212111211111112212122111111112112221222122122121211111111111112212211121222221211112212222122121112212212112112211112112221121112211221111221111122121112111222211121212222211122121212121221212212121121121212112212211112112222221221121121221212212121112122221121122111211121111211122221112221222122221111221222211122121112211211122111211112122222111121221122111111222112111212212121122122212112222221211221122222121211122122122122211112121212121122221211211211212122112112212222121112112211212111221122222212111222122211122111222122111222212211211222122211122122111221112122112222122111212211122112212211111211122112221121222211111111222222111121211122112122222222212122221222211122112112111111112221222211111112121221221211112222211121121211111211121122112111122222211122222111221222112111211211121221112222122121112122211212122221212112212111122212121221212212221222122122122112112212222121111121222212112121212111221111112111212121121222111122211221112222111112212221222211112211111122112111111211121211212221111111122122122211111122211122222221221222121112222111122112122212222211112122212122112112112211222122122212211111111222122121112122122221222211212112211222222212222121121122222111221112112222112122121221111212122122111122212211112112211222222121212121112221211112111111122112122122122211112112112212122212221212211111212111111121111222112111112211121121211122211221211211221212112122112221121212212221211112211121122122222222212222112211211212221222221221111122212121212111211112222112212211212111112221221121211212112222121122221111211121212222222121211221112222122122222122212222121122121211111112122211212112121211222122121111211212111122222122222112121112211221221122121121211211222121221122211121111122211121221222121111122211121122211211122111111112121112211121121222211222121222221222121121212211121212112122212211122221212111221212221122212222221211112222111222212222112111111212212111211211111211212221111112212112122221211121111212211222112112222211121112111122222111221211211211112221221111221122122211112111122121122222212121221112222121112121122112121221112222221112121111222222121112112211122222221121211112112211222222112221222121211121222212222211211211111122122211221122122112121211212111221221121121122221212212121122111121222112121212212211211211122121122221211212112221111211112121112121111111122122122211211222212222122111222221221212212212112212211112212222212221211112222221122122111122211211122121112221122121211121111221212111121222222212221121212121212212221222212111222221122212212121211111221112212222212211121221111212212111222121212121212121111121211111212122211212211212222112212221122112112211221211121221212211221121221211111221221222222112212112221111112122222212122112212112111112122111111121112222211211111211212112121112111112221121222122121121222111122222111122222122212212221211222221221212212121111111211221121211122221221112111221122212121211121112211121222222122122111121112121212112121211112222212211221211211221222221111122211212121112111111112211122211222222212212111211122221212111221122222111212112222212121222222222121211212112112121112112212212212122122122212111111121121121112221222111122121122212221111222121222211112222112111211122111222221122122211211122221111222112122112112212112221112221212122112121221122111111222112221122111122111211211112221122211111121222222211111221121121222122212212121111212122221112222122212212222212221121112212211221121222222112222222211212121211121221122212212211122211121121211112121121221211121221211111111122111221221111212112222221222121222221121221222122221221121222212222211211221211111112111112111111212111222212222121221212222211211221212122111121211112122221121112222122212221121112112112222112111211212111122122121112212212112222121221211212112211211122221112122222121121111112121121221111212211121121211111112122211121212221211121121221122112212222122112112122121221112221221112111221112122211211222111222111221211211121211211222112222121211122111212211122121122112211121112211112111111111221221112211112122112112212121121211212121121111221221112211221222121212212211221112121212121221221112211112221221221111211221121221211222111121221112121111212211221112212112122211212212111122121212211211111111111112211121221212112112111221111211122122221111212222122212212222122112122111121212222222221221222221122112221221111211221122111221221211121221121112221112111221122111121111121212111221121122211221122112222221112211121112212112212112222211222212211111221211112222122222111211112121211222222211221221212211111122122111112222121111211121212111111111112222221121122222122222221222222211122112212222222222121112111212121122112211222212122222212221111112211212112221221122112121112221211222121222212121111111121121112111222122211112211212212111112111212221211221112111121121112112221211211122222212122112111211221112211112111122121121112222211112112212112212111211212211221221122112111122122111222221111122211221211212221222111122111122222122211221211222111111122212112212212112212112111122211221212222211221211122121221111111221121111212121121122212112122221212212212211122112111221212112111112121122211211221211112211211112111221222122212222221221122222122112112222212212111212121121122122122222221222221111212222122212112221221222122112121121121111222221112211211121222211222111222222222212221222221222222122222121112211122121222122122211222212212121122121221222221212112112122221222222212121112221121122112121122121211211111122111112212112111222212221111122122221122211112222122122221121112211212121121222222111111122121212212112212112112212222122121121221121112222212122211112122221122212211111212222221112211121212211212222222211122112111211111111121221111211222221122222112121212112212111122122112112222222221211121211212112221221212111222211212112111211122121222121211121212121112121212111112221221122222111112212111222211112212112222212212121122122221221121211112212122212211121222121121212212111111221221211212111112112222211121212122121112221212212122122222121111122222221222211221221122112212222212222122122111222121122122122122121121211122222211122112121222212221212121121122112222111112111122222211121121121222212122212212211221222112122221122221121211212221212211122222222221122211112121222211211112221121211122121112221111111222222121221221221122112122112112211221112112211212122121111111221112222221121111211221222222222121111212222211212222221111112112211221112222112111212212111212111111221121111121122212222112111122221211212122211112211111212112112111212221112121111111222212221112112211221111222121121222112122212111211112121112121111112211212221222221122211111221211221222112221121212122212121112211112222112122212111212222221111112112112212111221111212212112111211222222222211211222122211212222111212221122122212121111121121122121121212122211112111111112222221122221212211122122212111221122121111211111121221222221111211111221112112111221221222111122111111222122112212121222211222122121221112211221112222112121111212111211111121211212112221212211211211111111112112122112111122222221222111212111212122111121121222212111212211112211111121212212121221112121122222211111121112122121111121212211112211221121121212211212211212222221122222212112111122111221222122222212211112222111121221211122222121111221212211212111222122112121112221221112222112212121222122212222211211212222212122122121212121221211222122121222211211211112212122111121221121222211221222112121221212112221222121111122221112212221221222212122211122211222122211111221112211212121211212111121222111112212121121211121222112222212122122212112222211221112212111212122112111222221212211222211212221212121112221121122211221221122121121222111221212112222211211212111111121221112222122221112121221111122212112112112112212121211112111222122221121221122111111221211112112211222221221122122221111111222221212222222112111211212212222221121112211122112221211222221122121221121221121111121212212122121121211211122112122111212111122122212112212121121211112212111221112222211222111121122222212211111122222212212222111212111111112111211211122112111212121111222212222212121221211121122221221122122112112112212121121211122211221121112122222211221222112211111121111211121212121211222222112112121222212211212122122112221122212112221121222112121112211112221222212211221111221222122112211121111211211111221222222221122221111111111212112212211211222211212122222112122122221112211111222212221122212112122222212121122121221122112121111111122212222121112111221112112121121122222121121121122111112121221121222122121221211112112222211222112111112222111122112111122211221212222112212122212121111121122212122112221222212221211211121221212122221111222112121121111121211112111221211111212111212212121211221211212221212212222111112111122121222121211212222121121212222111111221111222222112212212112222121122122112222122222112112211112222121212221222212112121121212212112122122112211122221121111212211211121222122112122221122212211111211112211121111222221222121222111211212222212222212121211221221112221111122111221222212111121212222121122221211221111211222121211222111122212212112122212222211221122122221111111211122222222212222111221112212211112211112122221211112212212222221121211222222221112122211211222111221222212211112212221122112212121221122122211211211121112212121212112212221212122211121122212121112222221111221122222112112222211211211111211212112211122222212122211212211122222222122121212221112221222112222211111121211121222111221121212222112212122212111111112212122112222111222111212222211122111211222222221111112111211122112112221111212111121122122112212222211111222122121222111112122112221121121122112121212111112112122222212122112222211221221112112111122211112122111121122121112211122122221121221121122111212111222222212221112211211221222111222121212211121111122121221122122112121112122212122222211222112222212112111112211121122112112112111112211122222212212211112112112212212222121212122121122222112121222122112122122121221121211221122121222211121121122121221111221112211221111122111212222122222221211211112112122211112222212111121121211212112212122121221212221212222211221112221212122122112222212122221221121112122111212122211221212211111221222222221121111222212212121222222221122121221221121111212222121222222121212221112121122211211121211122211112111222221111211222211221111111122111111111111111212222122221211221212221222212212212111211121211211111211221111212212112211122112221221112212122222112222111222221211111121121121122212121112222212211222211122111111211121112112122212211121222121121212212111221211112212221122111211221211211111221212122221212221111211211222111121121122212222211221121121121212222112112212122112222222111112111111212111121111121221122112212112112112211121122122121212212112111112112212111121122112111121212211122111221111222112211121122221111122221221122122112222122221222212211221112212211211211222112212222212111221221111212112222222121212112221211222212212122122221112212112212212122222212122121212112212221121122222211211211211222211121121112121122111111222112122111222211111112111212112111221122212211221122121121112121212221212111221111112222122212211211221211212221111112122212121122112112221212211222212122211212112211111221122122211221112112211212211212111122212222222122211221221111222211122122222211221121212221212121121212111211222112112211121112111112212212211211221222221122211122122222221111221122111222212122112221111121112222221211212111211212121221211222212221222212221122222222122112221212111212121221121112122111212121212212111121121121112221222111221111212211112211211111221211221111221222221111211221121211221111222221221112212121122222111121212222211112111111221112111122212122122211211211111221112122111112221221222222121112211121111212121222111221222122221221211121221111211112221211221111221222222111211122211221121211221212212211121122121211212212221211121122122111222122212121111221221122112121112111222211122212221121122121211112112221121122121121221211111121212222222222112122121121222212121211112112212111211111221222212121211121211111122122211112122112122221211122222222211212121122222112211222222221212122111221112222211112211222121122121122121211212122222212211212111211111121211211221211221112221122212111111212211112211222111212221112211121221211222222122211212121121222212121211221112112111212121122222112211111112121221122212221222122222112112121122112221212122222111221111222121212112211222111122211121122211222221212211212111221222111122221121222111221222122122122221221121112211121112211122121211221221122122122122212222122122211121121211112121112122122112212222112222111212211122221221112222221121111212222221121112112212212221211121211121211112111222122122211222221112122121211111111111111112221211212122212111211222122112112111112112122121212111111211122212121212122121112221212222112121221122222122112122212122122121121212122121112111112112122112222212212112111111112111222212221122221121212211212111122211112222221122212122222112121211221222212122112121122211122221112211222112122212221221122122122222221111112112121122111112111121221111221211211222112212122111111222222222121222211121121221212211111122222222212221111222111112112211121212212111112221112222221112211121121122221211222111122122221111111111212221211122221222111221112112211211112121112211121121122122211211211122211122111211112211221111111111122112221221211122111221111221121212221121221111111121121121111212122211112212121221212122111112211221111212111222111222111221221122112112111222222121212111211212112212122221222221222211212112222221222211121212211221212212122222111211111112112112212221221121221211212121121221211111111122212121221221221212222112212122221212111212222222112211211111222212122212221222121221121211212121212121112212212121122221122212122222112121211222122221111222212222111222122222121122222111111111212121211221211112112121111221212121112111211212112112112121112121222222221121112211111212212111112122112211112122211122221221211111212111121122121222122212211112212121222112212111122122222122122112221211211111121211211121222112112212112221221222122112222212121212112222211112221122211212211221121222211111111122112121111221222211112212221111111121111121122211121211222222212212222121121212212211222211222222111211112222121222211212221122122211221221211111221111112211212221121121122221122121112222121211212222121121211122122122221211221122211121221122121221121221212212212112111111222121221121221111122122112121121212111212122221112221111121122222112122122122211211211212221121122112212212111112112121122111121112112212121212222222121222222212111121222222122222221212221122222121121121212222111222112222221221211212211211122212121222222121211112221211212221121122111121212221121122121212122212112212212121111121112222221122122121211221112222111221121211211121121112111221121211122122111221211212221212111112111121122112222221212111121121221111122212212111211221122112121212212211121221122212112211212222122212212212112211212111112111111211122112122111111121212222122121111221211211222221122222122112111212111121212221221222221112122221222122212122222121112112211222212111211112122221221111212112112122111222212112111211221222122212212221122122211121122121222222111222212111222212212221121211111222111221212211111121121111212121122111222221121112121111112222211121112111212112111221222222211221122112111212221121112112211112222211212111222212111121211122122122111111221112121211212111222211121212121121111221211112111222212221221211121212111211222212212121221112222211222211111112112121212122111111111122222211111222112222222112222211122122221211221212212211122112122222212111221212221112222122211111111111212121122122221211211211121122212112211221112121221212212221111111221121111111212212211112211111122212122111222112221122111122122111222111112111122111122212222221112211221112112221111111222221121112111221121211112212112111211221112111111121212112211111212121121122222211221221121222121212212111222112212111111122221111221212212212111212111222121122212221221111122211212121221211122121121212122212221121111122211112122211111112111122111211112221211112211111211122121112212112221222122121122221111221221222111211212122112121121212222211122212222122211221211212222122121121211221122222111221121121112221211222222112112122222112221122112121121221121111222212122222212222222112222112212122212122211212111221122122121112211221122222121121122221122222111212122112121121212112112221212121212121122211122112112211122122122111221211221112111121112221111212112111221122111121212122221212211111121212221221222112222112222212212221222111111111121222121121112222222222221211121122121111112212121212112212111211122121111221212211212212221122212222122211112121111212212221221222122121112211221222111112211211111122212212122221112112121122211211121211112212212122222111212111222122121212222112221221111112221111121222122212121211222111122111112112122121211221111212212121122221121112112212112212211212222121221122212121122112122211121212212112121222212211122212222222222122111211222122111112111122111112112122211222212122111111222212122122121112122122211122212211112122212212111221222212111111221112112112222111111122122111111211122211211222121221221222122121211212221112222122112121112212212222111212122222221211211112111211121121112212212221222211121111111212222211112212122111112112112121212212112112122211222221122112122121222211111111211122111121121211222111221222111211111121121212121222111212122112121121212211211222221111212222212112112221122112211222212111222222222122221121112112212222111112212211111222112222122222211221212222221111111111222211111212112111212111212211122111221211121112122121212212212122111211221221111221212222121222211221221111222121112111122122221112111112121122122111122222121112112221122212212221221111111121222112112122112112212222121111122112221111221122122121111212122221211221222221112212122211121121221122121211111121122221111211212221121222221221112221122112121221122121111211222212212122212211112122212112111122211122221221212121121112112222122212221121211111112122112111211212211222222212122211221221121112212122121221122211221121112222211112112211112221112221221122122222111111111211111212212122221211222122221212222222222111122221111211212211211212112111111112122221221222112212212221111212112122111122212121212222211121112112212212222122112222212111211122111221212211122212222212222211122121212211222222221212221122112111211122212112121211222222221112122112111211211222121221212211222222221222211212222122222111221211122122211221222122122122122222121211221212212221122212121112121221121222222112212211212122112121212222212112122122211211122121211111112222212211112122112111122112112122112221221111122112112112121221222112111112211212212221121121222111121212111111122122212222111211121122212111222122211211111211111221212221111122211112122112111212122221122121122222121221111122211121111222221222122221221212211121112111122221211111121211211112122222112211111121222212221121111222212112212212211122122212221111211122122222211122212111112122122222221111222221222122222112221222122122222212121211221112212121222121112212221221121122212222222121111211121211121222211121212111111211111221122122122211122122222211111121111112211212111212111111222112111212222122121122221212212122121121112212221211112111221111111111222212211221112111222222122211212222111112212211222122212111212222121222122221112211122111211111111221211121212121122112121121112121221121122111121112211221212222122122121211122111122221112211111111212111111221222212121112121122121211111221221212112111212111121212221111112221121112121121222211221122121122111121221122211121222112222221121121211122221122111112112121211122112222212112121111222111222221111211211221121212112221122111211122212222221212111121222112122212222112111122111211112122212111211212122121221211222112212111222212122212221112212212111121212122112221212111111222111212121121211112211211111121222122211111121122222212122121211112212212211111111121211111221212121122122112121212122221221122112221211211221121222222122112211212221121221222212211212112112222121221222122111212121112212122211112211111211122112221222112111211112212221112121112121111112121212111211211111121212221111122122112112211211212212122211122121122122212121122222211122211122221221121221111121121211121112112112212121122222211212221122222111222122211111211111122112112122121212111122122111112122222222211211211111211112112211121112111222221221211221211112122212121112211112211221111122121211212111121121212212111212112222121122212122111211222221212111221112122211121222211112121211222121212121121221122222112121121112212111212112121111222112222111112111212112221221212211121211221221212121112121221221211211222211212112111111212222212111211212221221121221121122112112211112211222212212211211122122112211211122121221112212111111222212111222222222112221122211112212211212221221121112112111122122212112211211121221211122121122212111112222122122112122122111112212222211212121121121222222211112111222111212222221221211212212112212122122121122112211122122221111211222211212221121112211111221111112221112122111221222222211122221121221222122221112122122122221211212222111112212212121212222221122111222121211111121222122211121111222111222122221212112212112222222122222122222211221111222212211122111221222122122212121112212212222212112112221211222122221211112221212112221112221112121112121212121211221121222221111211212111112212111212122112112222221111211112112112211111122222211111121221122221122122211111121221211221121122121211222212111221221122121221122112221221221112111111221121111211221122111122122112122212211212111122221221121221112121111111211112121121221222211112122212112221212222121112111211211221222111121222122122211112121222122112122212111212221221212222222122211111122121112122122121112112111122122212121222122112112211111211211221122121121222122121222222112122111211121222111112121121221221111221212111211222112212112112222112112111222122111211221221122222211211222211121212111111111122222122122222222121221212121211112121112211222121121121112111112112222222111112111222122122112221122221112112212112111222222211111212122211112222212111221222121112121211222212111221121212111222111212121112122122121111121112122111212112222112221212221121211111222111112111211222121112111111211221122221211211222122122111211112222212211122212211222111112121112212122121221111221212121222221112212112221221112111121222122222121111221212212122211212222221111211212212112211222112222222222112211122122222222111211222222212111221222211121222212111111212222112212211112211222222121111211221111111111221221112111121111211121212211121221221212111121121122121111211222112112212122122112211121222112111212221211121122121121111122212111111111222121112121222212221222211211221122222212111222112112112211211121121111112212112122211122111211111221221112221221112211111222211222211222112112211112221111221212211112112122121212212211212111221122122211221212221221111212212111212212111221112112112111122211211121111222211211121111212111112112111121111111212121112121221112112111221121122212112111211222212211112222121121121221111111112222221222112222211111222111221111112122111211122121122121111121211211121221111111112221221222122211221122122221112222221212112121222221222221222122111112212221212212221212112112122121112222122221211211121122222122221212122211222222112212222121122211112222211122212112212112222122112221212221112221122111122121211221211111221211221122112121121222122121121221212211111112211212122221222212211121121121221121212112222211212121121121122111212212122122122221211221122121112221211122222211212211111222111121221121222122112122112211212221211212212121112111221121121211211211121121121121121221222221221121221111222112112211222111211212112211112121121212221122212111112211121112112112111221112211111212121111221222112212111211212111122111212221122122122112212122122221112211212121111222121211121222111221111221112121221211122211222111121112211121111211112212212212122111121111111222221121212121211121222221122222212122222112112222212122111212211221222212112121112211222211121212211111122212221222211112122221211111221211212111211222222222212122111222112112212221211212221212111221212222221112122112121211111211222211222121212211221222112121211111121121222111221112212221212121121122111112221112111222111221211111211211111112212221111112222122121122121112111221121211222111111211222121222122122222221122221112112221112122121221111122112211212212111111112112112112122112222221112221122221111211121112121111221111111111112211112122212211112121112121122111211222121122122212222121221221111211222212112221121111122122212111212121121212222121221122222222211111121112222221211211221222222211122111121212222122121111222122221222222121221211112122212112222111121212211122111121112111221121111221112111212222222211221211211122221111211221122121221111211111112111221212212211112211211211212122212222221222112212222121211121221112112222121211211121211121112211112122222222221121112211221121222112221221121112212122121111122212222112211222212221122212111121111111122211122222222212121212111112111222121112212122112121222122122221221112211222122112212212121121121111212212212221212111111211212111212222212222112111211212111122212221211112121221211221111111221122222212121222211212212221221122121222212122112121122222111212211121221222212222211121122121112211122211222221212221212112211211222122211211111112112111212221112211212111111211112211211121121221112222211122112211211222222122211221112221221121121122112212122222211222212212121211121221211222221211112111122112221211122121211221222222212121212211221222111112212112121211112122121212212221212212122122221211111112121221211222212222212211111122111122222122211111122212221222112221221212211221211122222122222121221111222121221222121121212212112122111122212221211111211111221221112211222221221121112222111111222122221112112221122212212212112122221112122222121221222121212122211111211122222211122221112121121212211221221212212121121122211221221111112121121122222221222222211212121222221122121211112221222121111122212122112111221212121211122111212121122221221222211221112121212222121221222211212212222211111121212221111111122111221211122122121222212221211111211111121121122121121221211122211212112111222211221221111112121121212121111122222222221212122221211222221211112112121212221112121111112221211212111222122221212211122111111122122112111122211122121211222122122222212122112212121111221221122221121121221122221121121221212121112122112221111221121122122111212112212122122111122211111222212212122111212221221122121222111112112221121121212112221121212221212112112111112211222212211211222111121122212222211121122111111121122222121222222212211212221111212222121222221211112212111122112122111122111221222212121121111211122222212221212212222212222212212221111112211111121211212111111112221111121222212222221222121211121112121121212111212122111211112212121211122112212121211221211222222212211222111112112121122111221222222221221121222222222122111221212212211121222111221212221121111112112112112212121222221221211221221121122111222211211212212211122221211222212221112112112211111112121112121221211111121211211122111112111211212212222222112121121212121122221211111212221221111212211111221112221111121211221222121122121111121222121122111121122122222212211212221122222112221221112121111211121222121111122212212212221222222112221222221111211211211111122221222212211122121221221222222211122212111121221112221222212221111221122122121221212112221212122112222112111111221112221121222122112112221121212222222122122122221121112212121211222222222112121122112112111111221221112122221112212211212222122221121211211212212212112211212211221221122221222122211122111221121211112111112121211221211222111112122222212211212122121121122222212212121122121222112122121122122222212222221111211122111221112221222122221121112122121122211111222111111121211111111211112222222122211211112121121111122211212111121211121121212122222122112222211112222122112212111112212111122211112122211121122212221112111111111112111121221112111112122211112212212111221111211112222112122122112222222122121112221121122112222111221111111222111222122221211121211111112111112212211222221222111221211122222212111122212221111111111111212211122222211221121222222121212221121222211121212112122121221121222221222111122121221212211121112122211111121112221212111221211212211111222111212221221111112222112121212211111221212112111221111211122211112122211122221212111212212121122121221211122122222111221122122221211212121121122111111221212111212122222122122212221211211122221112112122211211212112221211221122112122221211122121111222122222112222111221211222122122111211111112221221222111121211212222212221111211122212212111211222112222112121221222122211111211112221211211221112121221122212211211211211222122222121212212212112112212221122211212121121212121112112211121222221121211211211222222221222111222111122211121222212122122122122221221212121221222211221121122212122112112121221212121122212122121212122222222212221112212111121112121221111121122221122112122211122121222121211111221221211221122121221221121121121121212211211212222121122121211221121212122222111212212122222222221121122212211222112111112121212111222112221122212111221222211112122122112211122222121221211111122221122222211211212212221111111222211111112121121221222221122122222211221212122122211221111122122111221212111111112111211112222212211221112222221212111112211212112121111122211121211121212222222112222211112211111221221111112222121122111121211122122222211122122112121112211222221111121122122111121111121112112111111112222122111212111212121211212211121122112111111111112221111212112122112121221121211211222111122122211112221221222122222222221112112122112121221221211211112112212122122111222212112222121221112111222212111222111121122112112121121111112222212111112111212111112212121221212212121211111222221121211211111121222111111122122111212122122122211221112121121111211222112221111122222111222222221112112222222211111211111211111211211122211211112212211211212112211211111111121221212222112112111121211112121122221221221121212121222111121222211212111122221121111121112221212122112221212211212212122212112222211122212112212122222211211122111212112121221221111212111211212122121122112111221122122221111121211222212222222111122212111111111211111122211111111121211111222112112111221212211111211221111222111222121222212122122222122121211212122211212221222111121122222222122211212212112122211212211212211112122221211212222112211211111222212221222211212221121121212221111112112211111121221212211111111212211111112112211222121221121221111212111122122221112121111212221122222121122211221212221121222112221221211112122121211221112112112221121112121221212222122212112111112211112222111112111112212212211122111112122222112211222111221122211121212211112222221222212222212221112212211112112121211112221212212111111221212212111112221222221121211111121211112122221222222212111121122221121222122212111112121221212222222122222112212122222112111222121111122121211122222111222222121211221112211111222111211122212112122211122111112212211212112122111112122122122211122211211111221112222122211222122121111211112121211121211211112111221122212111222111121122211122122111212112212222111212111112221112111222112222222221222211222112211121121211121112221122212222111212112122112111111111121222221112212222111122121121212122111221222211212212112122122221122121112212121212112112221212221222221121222121211121122221221221212122222111112111212221222212112122111111221221221111111211221121212112211121111112112112221122112211122222111121221222212211222222112111211121221121221221221222212122121222112222212212121112212212112212221211122122122212221111121211222221212211211121211121112221222211121112222211122211211211111112212112211221221222212121212112221111212121121222122122211211211122122212211222212111112222212121121212221222111111222122211221222221211221212122211212221222211211112221122122212112222211221121221222221112221112122111121211212121221221111122121121122122212221212112111121122122211112212212111221212121122222112112122111212211211212212111222122222221121111211211221211122121112112211222212222122122211121222222111211221112121122222221211211121211111222212122121111211222121221212122111211111211221122221222211121211212122211221122121111211212221112221211111212121222112222212221121222221221111112112112121122122121211121111211121111212211121121112111122211121221111222211122211121211111212221211221122112111221111121211221121211121212221211111112211111221112121222111211212121212122222111222111212212212211221122111112122221111221222211221112222121112121121222211211212122112211211212212111111212111211212212211221211221122111211112111111121222121222211121222211212211111121111121122222122221212112211222111211211122212211211121112122121221221122212212212221112211112111222212222111222211221112112111111121121111121122111221211111121111111212211222212221221222111221121112212222221121212212222121222211212121221221112222122212121122111122221112222122211111121222211222221122111212221121211122222111212222212212121121212212112212211222111221222121212122121121111221221222222111111222121112122221121121112211121111221112121121111122212221222111221111221111211112121212222121211212222222111211111111121211112222111211112222211111211212112222222211221111121111111111112112111122221121222112112211211111112222112112211122211121112122222122212222221111212222222222211122122112221221222122221212221222221211221111121111212211112111211221111121211121112121222112212112211212112111112221122221111212222211111212122112121121221121122222212211221122221221121121212222221122112222221111121222222122222211222211112122122121211221212112212221111222211221122112111221122222221111112211122222222212212121212122112121222122112211222221112211112211221122122221222122222211211221222212112221111111221222212121122111212112221212111222122122222222112221112111221211222111121222212111121211211221122122221212211212121121112112112222221122112211212211111211212121212121111211222112211212122221122121212112221211111111221122222111121122122222111112212112212222112121122112222111211112111222122222222221222221121211212211211112212121122222221212122112112211122221122212222221222112121112211212222112112121121111212121122211221221121212111222221122121222112212212221112222221222121112112121121221121111112112121211221111112112121212122122222222111121111112222122112211222221112222211222211111212111112211211221222112211122212221222212221111221221221121121121112221111221221212112122222122211212222121222112122112222222111221221111221121111221221122122212212222112222211112211221122222122211221211222111212211111221121211212221222112222111212211222222212212111211221111122121111112221212122211121112121121212111121211112211212121222112122122121221111222122211121121122112212111122112222211212211112222112112221112221221112121221111111212221212212122221112122221122111221122221211221212212112222222221121121221222221221211221111212222112111222212211111112111211211221112221212121112122211112222121121222222211211212221112112111211211112122111111122122212122122112221122112122212212121211211121122121122221112112122122212221121112221212211222212222211121122111122221112121212122221211111211221221221212212111111112122221211111122221111121111221112221211121221121222111211212122122112221112111121112212121221121221112121122212122221111221212122112222122212222211112222212111112212222111212122211221122221211221111212221212122212112222212122111221121111221122112222112111211121221221212122222212112121221112121121221212112111122112111221112112221122122212112111112121121122221212111211121122221211111211221211211211112111222112211112221221121211221122221121122122212211221121221212112222122121111221121112221211122112122122122112112111121221112122111221222212112222221211121111211122112122222222121221111121211221112222211112211221211122111121222222212111211122112222211121222121222222111121111112121111112112112221212122212211112111121212211222212111211211221112211121221221111212222211122121121221222221222211212222121121222111222212211112111211221222221111122122221111221112121111111111122111221112221221121211222221111121211122212111211222211212122222122212211212211111211211212212111111221211211211111222112222112212122221122212122111211121222221111121111221211122222221222111122122222222221211111212221111112121121222122211222211211211111221122211121121212212112212121221122221121212211111222111122112211112112111112211111111111211221221122212112221112222122222121221221222111122111212111222212111122211121112112211211221221122122222222122122112112212112112112212111121112121112111112222121211212212222112222221212122212122221211121221111122122122222221212122111222221112121122212212122221211121222221122222122122211111222121211211221112121212221112122111112222211221212111122212222121212112111122121211212121121211112211212111221222112222121211222212222222211212112122221111112121221121212212211122222122121112121222112121222122111222211222121112212222221211112111121111221121221111222222211222221211212212211221211221211212221211121221111212221211122212221111212111212122221211111121211211121122222222222122111111112212111221111111211122122222122222112211112212111222122122122121111221122111222211122112121121221111112112211111211121112111211111122211211221112212221212121121211211222222212211222212111112111111112221122221112121212121211121112212221111112112111212221112222212221212212222222221222111211222112112211222112222211112112211222121222111111121212212112221212212222221121112121121122221222211222111222212122221112122221111111211221211221121222222112122111112122111121211112222122111222212122122121222221212121211112211111112211211122221211111121222122222121111212112121222211212221212212221122222121121112221121112222222122111112122121212121221211211121111212121211111112122112122222122221211211212222221111111212211111222111112121111222222112121212221212221121122121212111121212222121122211121112222211122122111111211122222222211111221121221112222121221212222122211121211111112111121222121222212221111222212212221221121221112121121222112111122222112121111222211212112111112111122111211221121221112122122211222211112111111222222221122221222212212222222111221222121221122222112212212221121212211211111112122112122122112212222222111121121222221212212121211221212221122121222222221211211111111121211112211121122222221122211222112222111112122122212121122121211121222112121212212212122221112121121111221212222111122222211222112222211112221112222112112222111221211221121111122122222111121111122121111111221112122121211221211122221211211112212111112122121211112112111211222121122222212212212121122212121122122211211122121122121112122222121222222221112122121121122222211111211222221112222111221222211211111222122222221111222221122222121112211121222212222122212211212222122111212122111221222222111122222221112111122221111222221121111221222112111122121122122111111122111121121112211212222211121111211112212211122112222112112222112122121111112222221121122211221222211112222212222122221112121211122222112121111111221221111222222212211121112221221112211112121122111212122222112221212212112212111212112111122112121222122112121212212211122122111111122121122112112112212212111111121221222211211221211122222211221211212221212222121122222212112211222221122111212222221121112221212121222112122121211122221112222122111122122212121122222121211212221121112221122122221221122212111222221112121221221222121122112221221112122211122211222221222121122121212222222212222121222221222212222221221111122222112222112212121121122122212222122212212221211121211121222221221122221121121122122222111112221222122111121111211111221112122111222212211222222221111112212122222212112212211221121112211221212211211211121222122221122112112212221222222222111112121122122111112121111212121221222211212212212212222222122111112122221112212222121212111111211212121112121222222221211212221112222212111221111221222211121121212222122222211211221121211212122121211112211211121221122212122111112122222211211121211112121111221121221111122111112212211111221122122221211211121122221122122222122111212212112222221121122222222122221221221212212122121122122212121221121221222111221122122222222111121111222222222212111121222212111222211212211111211221121211112122111112211211211212211212212211121211212112221221211221222222212122222122122112111211211221212222112222212112122122212222111111121212212121222221121221221111221212112112111111112112222121212111222121212122121211122211112112112122122111222121122122211112212111222211221111212222121121111221212211212122112111221221121222122111121122121222111122211111222222212212222221222122212211212221221121222212112222122222122222111211221111221211221122111122211121222212212112211221221112122212221122221121212111221221212121212221111221122211211221221111111212111121221211222121111211222122122211121111212121212111212121221212221212121222122111122111112212212111111121222122122122212212212122212221112221122222221121211212111111211112122112212212222111122222121121112212212111111222121211121221111112211221112112111211221111111112211112222221121221221111111112112211221121121112111221111122111112121222212122121111211212112221221222222222222212121122212122121212122212122112211121112221122222121122222211122222111111121212212222112222121212112111221212221122121112212211112211222212122212212121122222111221121121222222121112111121221212112121211122111221222211111212122112222122111221112111112222212111222122221222222222221221121111211111122221112212212112112122212121211221112221221111212222221121122211112111212221221112111112211212222112112122122122211222212111211221212121111221211122121122122221222212212222212121112121121121212212121122111211122121112212221212212212121222112111122222122111222122211222112121212112122122212111212121211121111211212112222121121221122112121222211111212212122212112221122211122211121112112211221111212211212212211221122122222222221212221211122222111212222112112111222211121212222211221111112112121211122211222212121121121122122212222121221112212212112122111121122221121211121111121212121222212212222122222112212112111211122121122211211121112212212211211211212221112212112122121222111122222111121211111122111211111221121112212221121222221121112111122212112112112221122211111212122111122211121112122212111111112221221112122112221121111212211121112221121222212221122112212222122121121121112121112112122212211121121122121112222212111221111222112112221122122111212122121121212112121112111112121121111212121111112211121211222211112221211121212111121222221112211121121212121122121121112211111121111212112112112121221111111221222112112112211111222221122222221122211211111222211211212222211121221111112122211111121111211221212222111112121122121112221221211211122111111212121122221221212221221211122211122122122122111211222212122112211122212121222221222121122211212212122212122212122122112112111112121221112221112221112121222121112121222221212121122122122212111212211121222211222121211211112222122222211112212122111111221121121221212212121211121112121112122211221211222111212221212112212211211112212112122221222121211121122212121222111212122222111111122112121212111212112221112221221122221121112111221222122221222121222222222122222221221111111112112122211222221212121222111211212121212212222221212211222111221122111221222111221222112122122222121111212221112211122211222111112111112121112121222111122121121221122222222221211111121111222212121212212112111121111122111222121112211221112112212112121121122111222111121111211212211212212212222121222111212122222121111211212221112211212222211111111111121211222222211211111121111221221221212211112121111121112111112211121211112111121112211222212222222112221121111122122212121221222112212111122112222212222112221122211221121121211222221221212212212121211122221112211121222221121121112221221221211111211212111212112121111222111111122121122122121122211112111222111112111122221111111211111112221111212122212221111122122121121121222121122211122122121111222122111211122222212112211211112212212221112222221212212211211112112121211222221211222211211111112221221211112211222111211112121221112122121121112121112211211122112211211222211221211212121111212111221212221222221112121121211211212112212222222121212122122121211111212111122222211121121212212111121112212112121212112122122212221212212212211221212222111211212221221122222122212221111211222112211222211221111212211211112221111222121121221122211121121122211122111122111222222222211112212111122111121121221211111221122121222112111211121111122222212221121211122121111112222212122122211212211122221212111112112211121221222212211221111222221121212222112111112112222211211212122122211111221111112212112112111212112122211221121211211121122221221122222121212112121122211121121211212112211221221121221222211212121111121212222122211121221211111111212122112221121221112211111211221122212112221122111121112211211121212122122111221122111211221121112212122222211122212221221221121222211111212211122121212121222222211222221221211212111221212222112211212212111121212122211212122211221222122112122222222112212212211122121211122221122121122221111122221222221122222212112221211212211121111212212111221122211212221211221112211221222211211111112122212121111111211121111221112112212112212121211122221211112222112211222212122211211121112212221211221222112122221122212122211111111222122222211122122121221211112121211121121222212211211112222212122211122111121111112212112122221212212211111112212222211122221222222121112111212111221121211121212221111221211111221122111122212222211121222121222121212121111212221111122211121222112122212122122121212121212211112212221221221221122221122122212212211212222211211222112121211112221121122112212122221211221211122112222222122212212211211121221221122221111211221212212112121122122121121121212211122122111112221221212122121112211212212122121112212211221121121212121122121222111222121121212222212212121212221111122222122112211211222222112121112221212222112122112211221122112221212211122121222111211112121212122121121211222211112221121212211222121122212211212212121111122111122111112211222221121122121122111212222122112122112111111212122112211222221221122122111111221212112221221211121121222112222111111111112211211221212212211222111212221111112112112221211221121212122111222121211211222221221222212122122221111121121211112111222112211222122122122111221122211122221121211111211112122111222112212122111222112122122111112222221212121122211222211212111212222121222122222222212221222211212211121121212111122222111112212212222221111111222211212121122222122212211112121221221121222112112212222221222222211221112112122221222112221221122221112121121211122211121212111112211211221111212122122212112122111211221111111212221221111221122211112221212112122212121211121112121221112212212122121112211111212111122212112211222112111122222211222121222212111222221121211212112212122121112222122111222211112211121221122111122222222211112211221211211212111211212212112112221211222112121221222221211221122112211211111122212122211111111112221221212121222211211122112111121121122212221112221122212211221221211112221221222122211222112221221112212122111122122121122221211111122121121221212111221111112111122121221122221111221222222222112122121221212221111222111121122222111221112221121112111222211211112112211112212122122121112211222222122221211121212211121111122121112112122221111112111212111112121112112222111212111222221121211212211211211212122221111212122121212222112112221212211111111221111221122221211121221121112122221221221212221121112112222221121121221212221212111121111122121212212112122121212112111222112212212122122211212122121121122121122211121121211222222121121122111111211211112122212121212221221122212222221112122122221122211112111112222111211122121121221222111111211112121221211221222221211122212121221122121112212211122212211112211112121211111121112122122211222122111211212221111111111222221122122121112211112212111121211112122122222221121121122212121221221122112222112111211221222122212221121211122221121111121222222221221111222211212222222122122122222122112211212121111112221122221211222112212212221111212122111221212212122212222222111212221122112221122222112222211122212112222111221212121112121221222111111121121122211212122212221212122212221112212122122121111121121212221111212221122112221122211111222111221211121211222122122211112222212222112211111221111112212222212212211212222122112222222121222122122111211211221221211222221121111221111111122111112112122112122222111212212212112221111211112221212221122222112221111112222121212111212112212212112111212211111212221212222222122111122122121211122111111112221222121121121111212121222222222221112111122111122111122112111122112112122111122122221121122211212221111211221112122121112222112212212112222121221222222121222211112121121222111122121112222122212211212212212222221212121112221221222212221221122222212211212222112211211222222122211111221112122122212122211222111212212221112122121221111222211211112221221212111212112121111211112112221112221111222121211111212122112221111121212121112222121212222211121121111121211221112111122222112111211111122111211212212222211111222111212222121211122112112222122222121121211222112111112221211111211121122122112122222221211222111211221211112122111212122211121112111121111211212121222121211212122112111111112112112222211211221211211211222222111112221222111221112221112221212121212222222122122122211212122122222221221222122221122121222122222222212112222112121221122112212112212222212211111111122122212212122211121212122222121221222222212221222221221212111112221212211211221212221112122122221112111212211111122121222121222122222122121112111211211111111222211221112222211212122211212121122111121211122211221221212121112121111221111121221222222221222122211222111212111222121211121221122222122121122121211212221211121111221212112222122111121212111121212222212212112111121121222112121221121121121211112122111211112122111211112222122112221122222212211122122222222121121121112221111221222211121121221112221112121121121211112221222212221122221211211111112112122121211121221222221222211122121221212122111221112211212212222211111111211211111112212211122212211222122212222112211221211112112212222211212211121212121211212121121112121212221222122221222121221222212222221121112221221221222121121111212212111222112121212212211222221212122212121121221221122212211111112122111221112221121112111212111121211222222121221222122121112212212211221112211112122211212211122111212121222112122221122122111121122122221221211222121222211211111222221112112121121221121222212112221112221122121212221112211221211212112222222111122211211111122212222122122211122121112222211121211111121111121212211121212222122211212222212122221111222122122121221111112221121112212222211222112112112212222112112122212111112121212121211122212121212111112221211122111211122111211211112211121221211212211221122221121212221222211112122122212111122122112111122222222112112112121211222221211221111222122121122222111112211112111212122111112212212212211221212111122211211211121221211122112212211111211212222121222211211212111221121111112212221122222211112122121211111211122212122111222121211112211112221211111221221111222112111122121111112111122112211122212121121212122112111111222121122111112222111212112111222121212122111122221111222222122211121121222211112211212222111221122112222221211222121122212211221222122111222122221121121112222212122112112112222211111212211212112212211122111111211211121122222221122211221222211211112211211222112222112212122212222222211111112122111111112121212222112211222212111121222111121122222221221222221111212121222112221111222211111211221122112221111112122122122211221221122222221221121122122112222222121211122112211112121211121212111122111122122222121111121222221212121122221122111121221112212222121121112221211121112121211111211222221112121121111111112122112112212112221112121221221221121121112122211122121221211212122111221111111121122221112222211211111222222221222222212122122211212222221112222212222121111112122222121112222111122111111122221211112221112111111121222121222112221121121111111212121111221112121222122111111211221121111112212111121111211212211112121211211212211112221221211122211222121212222212111111112121111211222121111121112111112212222112121122121112212221122222222211112112112111221212122212112121211112211221211211221122212222122121122212121221122221211121122211221212221121212112221121221222211221122111122121111121112111121111212121122221221211211212212211212111221122112121221122111121211222121111211112111111211212121221121222121111121211212122211122211122112121211122222112111222212221221121111121221212122122211122111221212122211112211221112222222212122222111222111112222221121221111221222221122111122122111211212112121111211112221122212122112211212222121121221111121221121222212212222212122122112211122221222221111111211122211211111212211221112211221112221121122222112222221111222221221111111211112122211221111222111121121221121212122211111222221211211211221211122221111121122221222221222212122122112222211122122111222112212111112222221211122211221222112111212211212112121212211121221121222111111221112112112211122111222221122222211121212111122122122221122112111112221212212111221111121111111212211221221212121221222111212112211112222221221112212121112121221122222112222122112222211122122222121112111222122122211112222111122222121212211111212221111112121112112211212121121121211111222222112122112112121211222212221112222211121212211211122111121111212211121122212221112221221211222111121221111112122211211121122121221121111221122212222212112122122212212222121211111121122121122112121221111112121112112112222212222221122121122112212112111211122111121121221212221112212111211212222212221111112222112112212222221122222112212222221212221111122221212211211212221112112111112111211221112212212212222221111112121122221212112122111112122121221121212111212111222111121122122112222122112212122212122211222112221222112221112121122222111222121121212212111121122111122121221221121122212211221212112121212122212111221221111112211221112111212212112122222211222121212121212121221211222221111222221222122112212222112112222112211122121112112121222221221111111221211222121122121212121221211212222211112221221112212222222211111211221211121212122221111112122211121112122122121221122211221222211221212222122211121122111212212112212221222111222221121111122221212221222222122111221121222222122111222121222121222212222211211122122122121222111211211122222211111212212211122222211111212112122222111121111121111112211221212221122211121112122222222211111111211211111111121221221212121222211221111221221121221111211122121221221121112222212212121211112112112111112121121211221212111211111112221122122211212111211212112221122222222112122121211112111112221221211121111122212121211111112221121122222211212211112221121111222221122111112122222222112112121121212221221111121122112211211111222212221221222212121221111222121221121222211221121122212121121112112112211112211221222112211111212221112111111111221222112211222122121112122112121211122122212211221121111122122111222112211221211122221212112211112112122212221222112111212122211222222211222112221212111211122222121212111211212121211222121112212112221112111222221111221212121112121111121211222211221212222222211112221221212111222222111222211222212222211212221111112112211211112221122122212122222212121112212222211222221122111121112112212212221221222221211221222121111112122112112112111121121212222211211221211221112211112112222211222211121211221222121111222222111121112121222121212121211122111122112121212111122122121121222212111121122221212212212111212211221111111211111111221221121222222222121211211122212112211112112221212221111111121222212221212122222112112222211122222112112222122211222121111121122212121222121122111121121122221212121112122111112222122212221222121111211111222121221111112212122211211221122211122222121112222111221212211212222122222211111121112111121121222221111212211121222211212222121212222122221221122121121121121221212221222112121212212112122212221122222212122221121122222112221222122122122221122221112122111222111121111212211212211122211112112111211112222221111112211212212221111211222122111122122122112222112222111221122211112222122121212212111122222121222212211222121212111211111211212122212221121111112212211112111221112121111111112112112121122211111121221112212111221211212122221112112121212111112221221211211121111121112112111211211112122122112112112121222222211111221212111122212212211221222122122211121112121112212111222221121221112212112211212212221122212121222112122121111212222112112111221211212111212121122122112122112212122112122112212211222221121212222221121111211211211122221211121221221121111111222121121122222112222211112122211221121212211122222221222111112111211211212112121111112211112212221212211111221111112112222221221211121111221111111212221122122212122111211112121122122221212112222212222212221112112212112222221221122212212122112211121122121212211222221222112111212222121111121121121221211212112122222212211222111212121211122122112111222112222221222211111211112211221212222211111221221121222112212121122122112111211112211212221122122112112222111121212122122211121222121112211122221211212121122121112221211222112222112221211212221211122122221211221122111222212112121111112121211121121212111122122112211221111221111211211121211222111222122221211221222222111122122112111111221111122211221211112111111212222212212121211111211111111111122221122221222221122221222212121211211222212221111121211112222222221112221221122212222211112112111222122212211212121212122111221121212211112211222122122111112111212112212111121112121221112122212212122222211112212221212211121221211111122112222221222122221121211121211212221111222212211122121212122222111212211122211222212112112112222211112211222212112122212122221211212122122111211222212122221211212122222212212121221211121212211111222122111212212121221122112222111222122211122111221112222111222122111112112211112221122211212112122211121222212121122221112221111121111212111222112111122122122121112122112212221221211111222122211211112212212121212112222212121121122211222212112212222122222122112122221212111122221121121122211222112222211111212222111221122211122121112111212221212111221122222221222122111222211212221111211222112211122121221111112122111221222212111211122212212222121212111122221211222122221222211122212222111222121122122222121111212211121121221222211111212111112212112222111122111221121211221121212112121221111121212222221121111211122212122111212111222222211112212112111111221211212221221221122211121221212112112121221211211112111221112112221212112221211112121122211121122112111212121211122222221121112212222112221221211222112222121112112211222122111122222222122211212112111122212112212211221111211211211122212222122122122111212212122212221121121211221221212121221212121112221122112112221111212111121211121121122211112222211112121112111122212111211221212121221211221222111222221121222112122122111211212121212222121211221111121212112221112211222222122111122111111221211212121212212112211111121212222121122122221121222222122212222211121122212121212112212221111211211121222222221121121121222212221222112121112212121121221111212222122222211112121211121122112122212122121221121122221212122211221221122112121111122212212122111112121211212211212211222222212111121112112212112112122122111111121222122112121211212221212211121122211112212221112221222121221111112112221112222122121211221111211111121212122112211211221221211121112222111111121211121212122111111222211211211221121121222212221222211221112211221121221221111121122122211222121122121122222122122222212112111121212122211121111112122111222212111122122221212212112221112111212221121222212112121121222111212212122222221122121121121222121121121221122221112212222212122122222221212122122112221112212222221212222211211112121122212221211221211112111121211111222212221121111212121111111121122112111222211111122122212121111222211121111221222111112222112222212111111121221122111121111121222211211122122222122112122211111111211122111212211122222212212212122211121122112121122211122211211122222122122122112222211122121112121212111221122222211212222122211222121222222112122211122122212221221111212122111122211121222111111211221221212222211122111112122111111212221222121222211211112121222221222121211121221221221222112222211211222212221122221211221211121212211112111122112112221112221211111221121122221121212122121111211112121111222221212211211222122122212211122222222121212121212121122122112122121211222222112121212221121111221111221121222122212112211222121122122212111121212211112211211221111112222212112121222121112111221122222222122122222121111121122212112221211212222212121111122211122212122112122211122212112221221122211211221212122121222122212111121212111121121221212121121221112112121111121222221211221222211222121211111212122111211222222212222112112121222122121122211121111121222212221211122122211212212122212221111111211211111121122121211221122222211121222112212211211221121122122212222211211222212222212211222121221221212121221221211222212122212222211212212212111211221122222112111122222221121212221121221222212212212122112221221121111112222212111211121222221212222112121212211221222211121212212122221111122111222112211112112221222212211121121112122122121212212211222211122122222121222122122211222111222111211221111221121211121122111221122112211211211111211121122221112211211212222112112121221212121112211112221111122212221111112222221212211211122211122122112221221111111212211221121112221222112212212212121122111212221212222212112221221211121212211121211112221121112222122222211121212122111211222221212221211111222111121222112212121111211121111221221222111212221211122211111222122112121222112112112212221122212212121212222121112121211122211211122212222111121111221112112221211122121121221212221211221221122111111111122212221211112211112221222212111122112122121112111121121112211121221221212222222111221211221111211112121111111212121121111212222121121121122111211221112121111121122121221121211212222212222121122121221222222122222212121122112222122212211112212112221111211221222212222111112222211221111221211122121212221112211122122221111212222122211222212112122212112211122121112212211222112222121212122111112212212112212111221211211222222111212222222221112112212111212222122111211121111212112221111211221221222112211221121222121222122112221111121211222211212111211212122222111211211222222221222122111211222211122121122112221221111212122121222212222211111221111122121112222121221112221221121221221111121211111112212222212122111121221112121121122222221211222222211222112121111212121222211111111122212222122112122221112122121222121122212122122221211111112122211211222222222211121121222112111122122212211122112222222222121122112212121211122112112211211211221112121112122122122111121111111121111221222221111111221121221121212121221121112121112221121112212222122212121111222122121211222222111112111111112121121121222222222222111221121211112121112222212222222121111222112121122111222222111111221112112122221112112121112121111212211221112212212211222221122111121212112112111212112112122111111121121221211112222121211212211112111122112112211112111221111212121111211222112222112222222221111111122112221211121212222112122221222121221111122222212212211121112221222111122111211121222212212112122122121112211122211112212221121211122122122122211212122111111122122222122112212122212122222122111211121212122121111112222212112121221121211222122221221222211121211221122221222121111212122122211222111121111122212111211221121112122121121111212212122222221212222122211111222112212221212222122212211212121221111222222222112212212211211211111211212211222122221111221212122121112112122222121212221121122122212121112221122222121212112122112212121221222122211121211122222122212111212111211212112121121221112112221222212211111121212121111121221222212221121221111112121122211122111112211222212212222122111221112212222212111112112222122121112222212211121112222211211211211121221222112122112122212122111121112221211221221121111111121112212111112212122121112121212212121212122122212211111121211222212122211112122222122111122221212122112121211112111121211212112221221221112221222111112222121212221112212211111211211211111111111222112211122211111222212222211221221222122221212212111221222222111122121212221122222211111222222111112221221221221212212212222212121212122111211212222222221111111212111111122121222111112122122122122212212111121221121222211212122221122222222211111112111212121222122211112111212112112122211121111112111121122111111211211122121221121211112122221121212211111222211212222212222121121121112111112211212111212211211111121222111221222212122211212122221211122112121221111211111221212221222122111212211121112221111212112122121121222212212221112221111112222121212221221121221221122122212111212122111112211122221121211221111121212122121222122111221122122112112121211221112222122212112212111121211222122211221222112122111221212111112211211112111121112121112221122211222122111121112122112212222112222122221112211122111212222122111112121122121121212112222212121112121211212221122121211112222111122222122221212222221121122121121212111112111112211111222121211121122111111112222121112112222211211111122222212222122211112222112211212121122121211112112222212111121111222222112221122222111111112221211221222221122222221221122212222112122212212222111222222122221221112112122111122221212122211111121211222222212212222121111112222222122122111112111222212111111121111112212212112111112221122121221121121122112112121221121221122112212121112212122121121222211122122212112121111121122112122121112222212121122111111121211111111212222212122222212112122112122221212212111212221121122111212111212112121121222222111221212212212111111222221122112212212221121111112211211112221111121221222121111221111222112111121211111222211212121221111121212121122222121122111112222122121221111112211122211112121111221122221121221121212121122122111212222212222212112221112211112122111111211121211212122221222221211112121221211211122112221222111212111122112111221211122211121122111111122111111112112212211222111221112222122212212211122122211211122222222111111112211122211212111111211212211221121211121111222111112221211121122112222121122222212212112122111121122211211122212222121211212121221112222211111212121211112111122212222111112121112121112211121112221212121222121112122211211111221111111111122112222211111212121211122112211122121121222211111211211112122222221122222222221211111121122222112121112222211212211221212122211221121211222122212222121212221122221112122121122211121221211112212121211222122112122211211222212222111111221111122121211222122111212211111211212211111122222222221112222122121122221222112211121121112222221222122211122121222211112211122122112112121222112212122121211221221121212211211112212221121212122212212112122121122212212222212111121222221122222111212212221212111222121122212221222221121112111112221212211211122221121221111111222122221112212212111111111122222111121122112121121121112121221211211121121122112222221212122211211121112211221221122211221211212111121111221222221211222221221122212211111111121112122121112212211122112211111211221121212112221221211122222222212111121212222112112122122111211111222212112212222122222122121221221222122222221122222212211121111112222222112212112122221122221122112212212222112222212112121222111211112222121221222221122112222212122111121221122122122122222211122212221111111121212211212211122222211121211211222221212112111222221122111112111111122211212112212122121112221222112211221122222121112222222121222112222121112122112111211222121121212122122122112222112111211212221221122112122222122221112222111111221211222111221111211111111112112121111111221111211122122122222122222111212222112121112121111121221221111221221221122221222112222122211122122111212111211211111122121222212121112122122111112122111211221222122111222211111211222112121221121121221112222211111122122121222122122211212211112111221111212221222111212221121222211122111121221121212112221212222121212212222221222211121111111111112122221212212221122222121112211212122221222121212121221222121111212121122211221111122211212211122221221121112121222221212212122121122222112222212222211221121222212222212111111211212112112111212111112122211222112211221112221111211211121112222111122122212212122212211111112221121121221212212112221112221121122222211211222122212222212221122211212222121122121222222121122121222112111111211121211112112121221221222211211222111122112111221222212122112211122222121112221211221121211212212121111122121112212221212112222121121111122212221112112212222112212121211222111221122212212122212212212222222221121221121121122222122212222221111112111221221222112221222211222122212211212212112112211112221112222221111111212112121211112111221122211111111112211112221121212112221212222121222221111222211222122122122222111122222221212212222112111212122111212112111122222112211122121111211212111121111221112221211121222211121222122112122221121212121122212221122222111122122212112111222111112211222121122111112212222212212222212111112112112122112211212222221212211221121221112122122122221112211111112111122222222111121211111112211112122221212121122222211211122112222111221212112121212122222221111222221121211121221211211111111212212211121212212121211211121121111121112212121212122212121111121222122121212111212211211122121211121121121221222212221222112122212111111122222121222111121111111122112211212221222222222211212111112111212221121221122212112222112212112212111222221112122112112222221222221222112122122112222222111112211122221121112122111222111221122111211222212112221111222222212122222111112111112112122221212112111111111211121212212112121222112211122211221222112212221121112111112121221212122212112221212121112122222211211221212112221221221212121112211122121212222111111122121121212122222212222211212111112112122122122211111222121221111122222212212211111221122111211221112222121111111121111212122222221222122211221221212111111111121222112221121222212111221211222112222112111111221221111122221122221112211112222222222121222221111222221112222121121122212221111221211122112121211122111222121212121121111212211212112112212121211112211111222221112212221111122121211112211121111212121121211121122121222112212212121111122121211111112211211111211211121112122222111221112222111111221221211211221212212121221221212111121111122111122121111122211121122212122121222111112211121111111112122111111222121122121111212211221221112122212222212112221122121212211212221222221111222212112222111121222122121221212221122222121112112212222212222112211121211222111112222111222111121222112122221211112222211222222222212222222212122121122212122221122212222111122112121221121212221121122212111111222211121112122222222111121211212222121221112111212211112122221221222112211122111222121211211112222211211121212211111111222212221121121112112211222121111122111211122112222121222211122222122221122212222111212211212222121111222221112112211111121122111112121212122121221222222211221211221211222211112111221112111212112211121221112221212121211222221212212221212211212122211211111112112211222111112221112121211121212122111212221221212122121112121112222211111211211122212112212111122121212112222122122112111112212222111112111122221212212211122111122211111111212211121222122211221112212112121111211211122121221211122221111121111212122111222122212222122122212211121122111122222112212212121112212212111212122111211121222222211222221222211112222111111221121121211211122111212211112222212221112212212212111112211212122222212122121211122221121211112222121112122211112212212122112222212111122212112112121122121212121111211211211111111121121122212211211122222122112122112212222121222111122111111122212122211111111122111222222221121222121221221222222221221122121211212212122221111122112121112222122211111221221221121222111222211121212222111122121211211222212122212221211112222112211121212111111111112111121222211112211111121122112222122121122112221121221122121212222222121122121121121211222121122221212112122211222212222221121222212112111122221122222122221112112221122212221121112222121122112222212221222222111112121111111221221221212111211111111222221212121122111211111211121112211122212112122221221111221111111221212222211112212221211122211111112111221222212221222112122211122121221121221221122222212121122221212112121112112222122111212221122122222112122221222211222112112111111122212111121221111221111122122222211222222112212111212111121211111222211212212221211122112122221121122111121212111122222122221212211121111212122112211111212112211112121212222111112112212211111121222111211121222121212112211221112211222122111221122122211111112122222111112212221111112222212121121222211112211221211212222212221112222212122221121222211222111222212221112211121112222112222212212211111112212221121111221221212122122112121211212222211221121212222121211212112112121122211122111121122212212121111121112122212221211122111112121111212121121221111121112221211111222222221222111111212222221222212111121121112212211221222112212212221112112121122212112111111222212212111211222221111221212221221221112121211221221112222211211121111121222222211122121122221221112121221221212212121222111211221122112122121211212111111121111212211212122211211121212211111121221212222211121212121212212211121212211112121121212122221222122221112212112212112111222121221222211112221222111221121111211112221112112112112222112112111222212222111121111221111111112111112112121121221112111212112222212222122221212221112211221122211112112212222222221112211221111111122221222212112111221222222112222111222212122212211111222212212122111211112212221212222221112122122112122221111211222211112122121122212212221111212112112112221212212222111122221122221112211112121222222112122111121211111221121121121221211121221122212111112222221112111221211221121211111211221212122121212222221121212112111211121221212221121212111122121122212111211212212222121222221212222212222122221221211112112111222111222111122212122222112212112221111222211121212112121212221111112122112222212221122211212122221122122121212222121112121111222111112211112121121121212211121221111111212212112222222221122112221122221221211212211221121212211221111111112212112222222222122211221122121222221222212222111122112122212212222211121121222111212212111122211212122211222112211211212211121112121211112121111122111121211211111121211121122211121212121111121211111112121111211211222211121222112111221121122121111121222221122221222112212222121212212121212211121111121122212211121211211111121222122222112222221211112112221112122121221111112221221221211212212111112212121121222112122212222222221122121111111221222222211222121121122122212211111121212121111211121221121121222112122112221212222212212221212222211111222222211221212212112121112111212112222122121211211221222211221212212122111222221121111212122121111111211111112111122221211122111122211221112112121122121221221121112212221112221122212112221121212122222211221211212111211112122121111212121121122222211221112121121111212112111111221111111122212212121111222112221222211212222212212111222121212111211211211112122111211121211221222221111221211121222122212122212122211122122121111121122221211122112122121222222222212212112211212221221111111111111221111112211212212211222122121112221112112221122212212211212111211212111222211121121111211221111212111111122212211112212221211121222222212122211211121122111111112112111212121211221222122221222221221112221222121121222211121111222111111122122212211221211112112112121111112121111212112111122122212111212112112111211212211221221222212111222211222122221122222111222212122211111222222212212122112222212122212122111211121122111211212221111211222211211222121211221121211121122122212221221122122122222112122221211221122222211212212122121222222221121122111221111212221222222112121221221212211212221221211112121221222222222112111211222112121212222112111222111121212221212221212211122111111122121122221221222222111221212112222212122122122211111122111212212111212111111222211121222122122211111112122121211121122112212111121122221112112221221111212212211121221121222211212121221121211122111112212121221211122211122222121121122112121222122111211212122111122121112111221121112111112211212112222221122221211222211211212221112121112221222211111222111222222221212221121122111221222211122112112121121222121121212121221222111111211212111212222221222121212121212122211122221222211222221121121121221211211222212222121222122112212222221212121121211211222212121111112222121122121221222121111111221211121111121221112112221222221111222111121111111212111211112221221121212221112111112222211212122121122112121221121111211121211211211222122212222221112222222212121212211111122221221211212222212112112212111211121211111122111122212211122122122212121211121211121212121122212212211221221121112121212111212112211121121222121212221112112222121211122212112211212121122112121222221222111121211212222111211221211211211221111122221211222111112221112111121122111222111211221112112112122121111221212211122112112212112222112112222121212121221222211221211122122112211111111222221121112111222212222222211211212222211212111122111222211122221221121211112211112122211211111111111112211212111121111122222222112222122111211122112112211222211212221222112212112212221111121222222221221222122112111122212122111122212122222111211212121112221121222122122222121111212211222222221121212222221121212122221122112211211222112111121112111222122122122212121112121121221211222122111221111122221212212111121211221222111121221212212211212212112221211221212122121121212112122212212221212212112211211221122122221121222222221222111111221121221212111122212122211121122212122211111212222222122221212111211221221211211222121222112111121211211222212222211212111211122112111211122121112211112211121222112121112111121111112111112222112211112122111122111122111111221122122112112212222212222111211112122222211211112112122111122111222212212112122122212111221211111122221211212222211212121222222211121121222212211222222111221122222122121122111122122212221122222112111122211111121122222121212211122112222112112211112122212221111121221112222221112112122112122122211111121111121221222212212221221221122112212212221222222221211121221122112111211111111112122112211122221212211211222121211222122211221211222211112222111111111112222222222112121111111221221111212212211121222211122212112121121121121212222222211121211221222222121211221121112111211121222211211212211112211212211122211212122222221221121111212112211111111211211111112212211221222222121222112222112122122111121111122111221112111122221122121121122221222211222212122112211211211122222111211112212222221212221221221111222122111221211111221112112122222211211222111121112111122121222222121211111111121212121112212221212211111212212221122221112211211121212122212112111112222121112111221211122221212121221221122112121222211122122212212111112121221212111112211111121112121221222121112221111112212212121222121112122112211222222212121121122122212111211211211211122222122111211122211122112111112221211122222112112122211221112211121211212111121112212121222212121221122222212122112121211221212212211221212221222221121121222222211222122112222111211122211211211121121112111121222212211122122211122122122222112111222212211121122111121222222212212211212212211111222211122111222112212221121211111111221121211211122112222122222222212211111121111211111122211121112122112221121122221212112111222122112112122212112222122221121212111111111121111221212112112212112121112111212112111222122211221211212122121222211212211122112222111111111121212221212221121222111212212111211121222122121121122122121211112211212212212222212112221211221121222221222221212211112212121121222222112112122212211121112211222222222122121221122222122221122122112211121111111221211112212112222221122211112122212212211211222111122122222222212221121221221211121212112112211121222121211111212122221111111222111122222112121211122221112121112212121211111121221222222221122111122122212211121111212122111211121221211212121222112112112212111211211121111112111122121212112112122122211122212122122212211222212211122121112121211211221222222211211112122211111221212111111111122211121112121211221122221222121122111222211212121112212122211122221212112212212221222112111121121211121111222112211221112221121122211211221221211111222112121112211121222222112221121112212211212121211111221112221211221222211112212211212122112121212111212211211211111221221111211122122121222221221212211122221121121221211121222112212221212221221111212211211221222211221222121122121211121222211221111222122212212122212121222222111111121112121111112212221121122212111121121212222222111221222211111112122221211221122122122121222221122212122111121111211212222221212112221121122212112112221112222111221121222121122222222122111112121212121111211121222211122111221122212112211212222112212111221211121112211221211122122211222121211112122222111122222222222111112112111112111122222112211111121221221222222222211112112222121212221111111122122221122122211222211222212221211212121111212222211212221112222111121121211122222221111122211222222222212222221121211212121112212211112121121122121122112222222121221112211212222211211111111221222212112212221222221111112112111121221122222111221111212222212121112211211111221121111221212211211112112122222221112222122212122212121122221222221211222222121211122121112211112121112122112222212222221112111211212222112111211121212221122122211211121211221212222222212221222211122211112211222112211122111222111212211222111111221112221122122122222221222111121222112112112222112121222111122121112121121121122112211212211112112111111121221121122212211121122221121112222122221222122222221121221111211221221111112222222112211221222212212221112112222121222211211221111111111222112221112111222121221221122121221112212222222222222222211122212112222121211121122112222212222222111212211221222211221122212112121111222112211222112221212212222211211221121212222112222211211211122121212112122211211211122111112112211112221111111211122212221112111211122112121221122222222111221212211111222112211121122122212221122211222211221221212112121112112212121112121111211111122122112121112212211222212121111112111111222222111211211112122212112121211121212221211122112212112111122122112212211212121111222112221111112212212121211112212122122222111121121222112122221111122221211122222211121121212122221111121122111121221122112212212211122112212211112221221221212122221122211222221211121121212222122222112121121121222122222121121111112221122112211221111222121222222122111212122222211222212221122112221222122111212111212212221122222221122111122112112122221111112111212211112111121122212221122222112212122222121222122122122121121221221222212121121111211211221121112111121211221121112121111212221212112122221121212112222111122212221121221122222212222212121222121222221121121221112112112111121221112221212222122211212111212221112212221222111121121212111122212121122221222111212222121211222211111122222221221112221111211222212122221212222222221222111122111121122111222212222111112112111112211112221112112222222121111221221211211212211111121211111222221122222122122221221211221122122212211122221111221222211221112222121222222211122122222122212222221222122222122211111112221112211121211221122112212222111221112111211122112212212211112212112111221122111222112222221111222121112111121122111122111221112211112221212122122221211222112112221122221212211221221112111111112122212122112111122222212222221222222212111222221112221112112221111212221212112222221121121121122111212221211221221122211221221212212121212221121121221121122212211112212112221221221112122222212221222122211112221121212122122211211121211222111222211211211222222111111211212221122222221222112222211122112111122122221121122222122221211222211211122222222121211112121122221111222221212222212121112222111111121121111122122121121112211221222121212212122112222222122122122122211121221211112121222212122222212122112222211122211222122211222222222122212222221212121211211121212211222211211112121112222121122212212222122121222121122221222112121222121121211212212111112112221122211111212122122112212111122221221211211112212111222212222212121212121122222121121222122121111212122211211212211211222111221211112122122222112111212221122222221121112121112112222211122121221112222211212122221112112221222112121112122112222221112111211212121211112212122121212111222222211122211122211122121112222121111112211122122112211221222222121121211121212221112212121211112121112122112122122221221111211112221121122112221211222222211111122211221222111111111111221221221221221112111222122111222112212221222122212221212222112121121111122222121112121212211121121121211222121112112111111221221211222122212221122211221122122211212121121211121111221221211112112221221212121212112212211122122211112111122212112122121122211112112211212121112221121212122122222222122111112111211222222111121212212221212112222111221122112111212111111211221111212112121221111111111222111222211211212112211111212121221112222122112212211111221211222111222112212111221221122222122121121112112222112112221211121221221122112112121112211112212111121222112211211122221222221122112112211121222212222122222112211211122222221111211111221212221111111112112121121121112112112221122212122121211212111122122111222112222211111122112221122111222221111222212122122221211122221121222111121212221211112221212112122221212121212211211222212111212121212111212121211111122111212222112221221122121122221211211111112122111111222112111112112221211222211111221121111221112221122111111112122121221112111212112222211212212112122111212211112121211221212222221122222222121222121211121222211222211221112212111212212211221211212211221111122111112221122221211212122211122122222212111122121222211211111111122112221212211222211211222112212122112211221112112121221122121112212221212221111222121112112222122112222221121111121111121212112212212121222122112211221111111111211111212112122211111121111122122112122222112122211222121112122121212111112211221222112122212112221121122212112212121212112221121222122122122222112121112212221211221112221211121122222122122222112212211111112221222211112222211111111211122212221121121211121112211221111222211221121122221211111222212112221112211112212222212221222221121221212111211111221122212211211222211212122121212112212121122211222112222112212111121122221121122122122212212212122112122222222112121122221221112121111212122222111211111122222122122111221111121112211221112121112111222112221121212222211211121212112121122111212112121111221122111112112111211221211212112221122212121112221122122221121121211212111122111221122221121222222111212211122122111221222122212221222222221212111122121222211211111222211221111212211211122111221112221121111121111111212212221211111121212221111122122212221112211122111212111121112211212222111212121111121121212212122112222122211222122112111212112212212122112121221222111212122212112212212211112112111122112222121221221212112111122121121111222122211211122121111221221112122121222221122111221222112212222221221211121212111211121212221122211112212122221221222222111111222221122222211211222121112221221211221122222121112111222111222111112111212222212121111112212222111121112122222111212222221221122112121222222122111222122222111221121121121211221222122122211221212121111211211122122112121221222222212221221121111122211112122212111121112112212222112211112221121211222121122222211122122211221221212122111122111222212121121222112122221222111122211122112122222221211112221121111111222122121111112211112111211111211122121222221121212111112212122121222221111222121222212112221122212122221221122111212212121221111221112121211222212121122211122121212212222222221121121212222112112221212112121121111212122221112111121222212222212112221211112222212212121211212121111122122122111112121211221211111212222121112121111122121112112222211211222122222112222221212122212122211112112112212212112112221111121212111212112122122112212211121122112221211221211122222222112121221111222222222121111121222212112211111211111122112211222121221211211212212211211222211211112211112122211221222112121112211222121122112121211221221212111211222112122111112112112221121122211112122121212222121222222121212121122111121121221211111221212121112211122221212111122221212121122111111112221111122211112111112222121211111211212112222211112222122211212112122211211121112212121221212121112122111121222122221111122122122211121211221111222122211212111211211111111111212222121111211211111211121212211212211212122111122122121112222112111211121211222221222211222221221221221122222112211212221221121212111212111121221111211121111221111212121111212121211111122212112112112111222112212212121212111122111111211121122121222212222222111221222111112112112212211112222222212121122222211121221222222121122111121121111222222122122122211122122211112112112112112221121112122112221121121211121211121211111211121211122212212221212112112121222212212112211222121221111211211211121221112111112222212222122122221112121111111211121122122111221112112222121112222221221112121211112112211222111111112121211211121212122121111122211112111211112111222221212222212211122222112112222111222121111121122221112122221211222111211212212212222121212211222222112111211212122212111122212121211222122122121211111121122222212212212111112122211222111121112222111122211121112122221112212222122112112211111111212121111212221121122211121221112212212111212212211121221221211121221212211221122121122222111121112211122212121122121111211222112112212211221222111212112212222111112111211111221222122212111212211221121211112211111122221121121212111211211111222212122211212221222212112112111212111221112112112111212212212111221222121221122112221122122221112221111211111112222221211122221221211211221221222212111212111212211221111121121121121222121112211221112121112222121221211221211111212221122211221112222222222212212221111222221112122222211111122121212122112211211211122112112121212212212111211222212211111212221221112122112112112221121212211221122112211121111122111212212221211222221222212122211112122212211122221211122112212211122121121112122112112221221112212121221222222222111212211112121121212211212221211111121112112122111121211121112212212112222111111121212222121211211212212112222221222222222221212112111211121112112221112112111211222111222221221221121222222122111111112122112211111221111211221121212112221112221122221222112111112112222221112221221121121112111122222112221222212221121111112111222222211211221112212221121112222221111211112122111212212211221221222121221122122121122112121111221122221121211112211122212221221212121111121121221121112122212111121211121221211111111222212212111121211112112222122112112112211122212122121211122211222211222221212211121212221222211112111121121111122221121211112111211221121112211211212121112111211121111212221212222122111122222111221221222121221122122221112212212221121212121222112212222211221122222122121221112112121122221212121211121221221212212222112121121121212111211122112211112212111122122221222212111212111221121211121111121112122222221122122121222212222212221111112222221122212111111211222111122112211112111222111212112212211112212221211111122221221221212211222122211112122112121221211221121211221222111121112112221212111112212122122111111221121212112121211222222121221211221212212112112212122221112211221212121121122112122222121221112212111112112112112121222111121221121112221121212222121212121211121112111122221211222111211211121221211211211111222221221122121111212111111112211212211212211122212212112112121111111222111121122211112212222221221211112221121111111222121222112111112211112112112211211221121112211221122221122211112222112122211211212222221111221122111211211111211211211212112222111211212221221112212221121212111111112122211122122112111212122221122222212211212211222112112122211222112111221111222222111221121222211111211122211112111212222222211212121212121212122122212212212221112122112212112212122112221212212221111211122112212221222122112212121121112121212121212211221112211212221111222222211212212211212222121111211212111211112212211211212111122121222112111111212122221212121222221212111212212222222211122112211212222121111212122221122121211222111111112112111212222111121222222122221111212221221212211112222212111212221111121221112112221111111212121121122221221112222111112112121221221122221212211211121211221221222121121212212111222211121112122221111222121112121211112212112222121222111211221211212112112111122112211111212212221212211222211121111211111121212211122122112111121221112221122121211112121111112111212122121221111211111111211211112121222121212221222111111111122222222121122122122222212122122221212122211111111222122212211111211221112221112111112122111212222222111121122112222122212111221121121112111212121221111212211122112211111111111121222111112211212111121111222212112121122221112221221111212222222121221211211121211121112121111112212121222212212111222221211221211111111212121121122221212121212121112222221112212111222221222221112212221222211222112112222221211122211111121112222212122221212121121221212221221212212221211121221222211222111221111221221111211112122112222221112111222212212212221121212221122112211111212121122222111222221211221211111111112112121211211112122122222112111111121122121221212121222121211211222212112221121112122211222211222222222221121211211112212122222111211212111221122222221212121222112222122222212222121112121222122121211221222212212122121111211211222212111121221221112111221111121211112112222211121122111111212211111212212222221121121121212112212111211211221121212211222111122222111122121221111121211212222211111221222222221111221212212221211122122121211211222212122111212222112112121212221212112222211222222111122222221122112121221111121221112121111222111112111212121211222122222122121222122122222211222221121221111121211221222222112111121212211221112212212212212122212122212211111212221211212122121221121111122121111221211111211211122121212121221222221222211211211112111211211122212212212212112221111221212212221111221122212212111221121211111112112222221211212222111121222121121222211121212111211111221121222212121212121112211221111221112121121112121221222121212212121121122121111122112221222112222221112212112112112222122111122111212121212122212122222122121122121112121211112211221112212111112122112121122122111211121111111111221221122212111122112122222122222121121211222222212221122112212112222121122221212111111122122111121221122121221111212112211111222221222212121121212221221112212122122121222112122122211111222112121212111121221122121222122222121221121211122112212122222221222112122212221222211121222221111121211112111222111122112212121121212211111221111222112122222221222122221112222211221111112212111221111211221212122122112111111221212111122211211221221221221222211121212122212111112212122221121111211111221221222112212221212112222222212121222121121212221122211212111221112211211212122221112122221211122111211221212112121212112111121121211222221112222111122211222122212121212121112212222122212111211121111111122111212111111212121122211112122221221111211211122122112221211212112211121212112211211222111212112222221221112112112221212121111111121212211112122121212221212121121111211122111112212111211112221112221122212112211122222222221111212221221121111111112221121122112111222211111221221111212112212122112212112211112112112221212111222111112222112122122121111222122221211211112122211221112211111112122211221212121112222222222221222121122112111222111122121111111112121221111112211111111222222111112212222211122211111122212112111211212112221122111222111111212111121221121211221121122111122221112121221111111222221112122121211121211212121222122122211211121112112112221111121211221222221121122121212211222211212122121121222122122112112222121121212222212122111222122212112212222112212111121112222212111221112212221221122122112122211212121211212211211111122221122212211122211221222212122222111112222211211222122211112221221222112111121211222212212212121112222112211122221122222112211122221222211211212212111121212112221222121121222122111211222111212122111121212111222211112111121111222111211122111121122212211222111122121112122112221222212221112111111112211112111221221122221122112211212122222222112122111222111121221122111221111221222111212112212222112121211211112211121222122211222222122111122122222222122112121111221211111112211222122222111211222111121221211112121111112121121122121212221222222111221111221222111211222222222212111221212211121212222121222122222111222222212121121111112222122221222122122222212221122111212122111122212112112222211211122122121212112122211121111211211112222121222111211111121122111121112111111211221222221122222211211222211222221222222222211121211111212221221112112222112121212212111221112122121121212121212111111111121221112222122122122221211121222221212122211222211122221112211221121221111121222122211212111111211121212212221211211221212211212111111112111222222221212212112222111112212211122112121112221211222212212221222122212121222222112221111122112222212222211122121212211212221222222112112222221212221222221211121221212111211222222121122221221222211111122111112121222111222121211221122122212212221112221112222122221111112211222221221212112112121112122111122212111122222221211222121221221122222222111111121121121112221222112211222212111121112111221211112212222211122212221112222212121121211121121122122221222211121221211121221122221121111212111211221111112221121111221121211121121112222222121212121211212212221222111112222122111121122211112212212121112212222221122211112121221112122222112121111121222211212112112222122212212222211111221221222121111222112211111211121211222121121211111211121211112112121221112121222212222111122121121111122212211122121211122212211221112222121121222222222221122211111122222211121121121122212122212221212212121112111122122211121211122121122211212211112222112221221121111212111112112221111122112212122122211122112212222222211222111221122112121222221112122222111211211122121222212122211221211112222211122221111111211221112112222211111112212222112211111211212222122221111211222121112211211221122112221111112222121212212122212111211112122221212111222211212212211221112222111111221212121211111121211221211221122211222121222221112211221112122122222211221212212222221221122211221211222211112212212211211121112112111121212111111122122222221121121112112221122212222211222122122111221112122122122221222112112222221212122211222122212222121211222112212111212122211121221112211111222121121221211111122221222212211121122121121111112222221111222212221122221112112112122222121111221221122222221122121211211221211122222121221221221222112111111111111112112111121221222112111112211222222121121211212211112222111121122122212122212111112222222212121212111212211221222221111122121121212112111121122121211211121122121111121112221121121121122112221111121121121222122112221211121222212211122121121212222222221211211222112121112211212111212222212121122121212212211212121211211111121211221122221211121211221111122122111212211212112122112121222222122211221121122222111112112121212222121221112112121121221122122222111121222121112211122121112212211212122211222122112112212222112221221222111122122112211111122112111121221112221222121222111222121212222121111112212111211112211211222212212111111221222211122111221212111211221211122212121212112211212112211121122121212211111222111112111121122112112211122112222112221222221122211211221221111111121221122112121112121221122111222212212211122212122122121212222122221222211122112121112112112112121221121222212221121121221211111111111111121121122112122121211212222112211122211111211122111122211212121121221212221221221111122112121122111122112222112212221221221121121112222111221212212121211112211221222222221121221212222212222212112221222122211221112212221112212221222122222121111112211211111112211121221111212111212212221221221111122221112221122221212121112122222212222221221122211122221111221112112212221212112112211122221121221221211121211212211121221112111221222211221122222111121111211221111122212221122222111121212222121221112222112211221112221122222122112211222212122222221211122211212112111122221211111212121222212112112121122122112212121222212121221111112212121212122122211112112211111112121221121112112122111212112212212112211212221221111121111212222211211221112212122111211211111221112221221212121111112222121112221212211222121121212112112221211211111111111122112211211222112112222222121212222211211112121221212221222121211121122111121212122221212122121121212122212111211121211212111112222212111221112222212212221212111221221111222222122122211112112221122221122121221112122212222222212121111211112121211211121112121221121222212112122121122122122212112122112212211111112112121211211111122122121121212111121112222212211221122122121212112122222111121112122221121121221221211122121121221222221211121221121121221222121212122112221211111112211221222212211221211111112211222121221221121211221212121112121111222112222112221121211221111111211112111211222112212112122121221211121222111211122121111122222211222221212121212122222211222222212112111112221112111122212212111211222122112211221121222212212121212212111211222212121122111222222221211211121112111122212121111222112221222121221211211222112211212121222221121212122212211222112222211122121112112222222121211121121111211212221121221111122212112112122121211221111222221211212112112121212112122122222121221212112111111121221221111221222211221112211211222221121112221211111122222121221222111221122222111221111221222212222222211111211212222221211221121212122121122121211121212121221212211121111221122221111111122121221222121112211122211222221121212212221212211222112211121112211111222211222221112111122111121112121221111112112111121121211122211112122212212221122222221222121212222221122112121221221221121221121222212211111122121222111112221111121112112121111121222221121212112211111221111121121221111122221121122112111221121221212112221121112111111212122221122121121211121221111112221221121212212111122222211122211221212222122212211122212122222111112211121222212211121111121112222111121122122121112221112212122121222111112212221122221221221212211212222112221122122221211111211112112212112122112222222122122211211211122222122211121111212212121222121112121222121212212221212221112111111121222222212121221211112122111111112121122122222122111222121111211212121221212212121111112121112211111122221122212221111112122221212111122111122221121212211112122221111212211121212221211111121121222211121221122221221112222111111112111122112112212222111121122222122211222112222112211221112212122112111221121212221212112222111222112222112122222221112122111121111121122112121112212122112112122122211111122221212122212211211222211112112222222221211211212111121111122112122212121122221211112111212112121211221121221211121112112222221111221122122112121211211211112221221112112222121111211222212212111211212222121211111121111212112212221122222121211212221121111222121121212212211121122122212112221211122222122211111121212212122222212212122221121211211122122212111112222122122222121211112221221221112112112212211212212122212211212121211122122221111212221211112121111112211212212112121212111112222122212121211112212222211112111221122221121212112221211122221221221112212111222221211121222111112212112222221222212221122211221112122122222112221121122112221221122112111112121122111121212221221122211122112222122122122122112221212112212112212111212112222222121111222112221211212222121221222211221221222112222121112112212221121222222211112111211112211111111112121211121211112111211212222212121212212112211111122121121212212121222212212121222212112121122112121212121221211122212211122122222121222212112222221221221122211112111122221112121212122111112122122222212112111111211111111111112121122112121212212122211121111111121111212112221221221211211112112212212112122212112112121222112122112121212211111121211111222112211211121211112221221111122211211211112112112121121112122111222222222212222221222222111112222221212111112112222211212111211111221122112212112221122222222121111122221211111221222111211122122221211221122211112122222112122222222222122212111222122112112211212212112111111212122222122211111112122211211112111211212212222121221222222212122111122122111212111211111221122221221112122221122122122112122211122112222121211122122111122222211212122121222121221122221121111121112211122211111211122111212121112112112112111212212111112212121112112122212221221122111121211222122212221212221222112222112211122212221222111222122222112122211221221221121121111222212212111222222221211212122122112212221112121111122111112211222222211212121221211122121111121212111121221111122122122212221112211212122211121111122211212211211121121221112221111211121211111112222211221212221111121221111211222112122212122111222221211222212212222122221121222212112212222212221212221212111221112222111122121122122211122121111111111211212211211112212111211221121221122122122121121222212111111121122222212121112211112112221112212111212222112211221111212111121112221221122112111211112112112112111222211211211112212112121112122121121111211112121121122211222111212212122111111112221212111212221211121112212212122212112211222111212211121211121221212121112112221221221121222211121112221221122122211222112212112121111212221212212221212222121121221212222222211221221212111222211221121121111222122212111221121212122111122112121121111121211221112122112111121121112212121111212112122122122111222111122211221222222122211222211212122122112121221112111211222221211212111222112211122222111221122121121211222222211212111112211221121122122121212112221112211112221111212111112221112121222211121121221121221211122121111212111111122222111212112222211122122111221112221112211221121221222121112222122211111222221222122212112122222222211221221212222222222112121222222112111212212121112212212122122112221112111111122111112112212211122212212111212222221112212212221212212111222211222122222211111111122212121211211221211112212221212221121221111221212221211121212121222122211222221211121122221122222121122122222211111112212112221111221211121211222122121121111222221221122122221122221112212211111211211121222222111111112122121111222211212222112122212222222112212222211212112222122222211221111212121112211211112121121111211112121111112111221111111212111111221212211121221211211222122221222121121211111112221112212121121211211221212211222221122212122211212122122212211121111212121112111122111121112121212121212122112112111121222112222122222222111221121122221111212221121221111112122122111222211121121222112112122112121121221211112111112111111212121122221111211122222212212111122121221221211222112211122211222121122211122221222212121221222212222212222212222221211212222221221112211111221111212222121112111221221112211222211212112122122212221212121121111111112212112221222211112122111211211221211212121211222221222211122221122212211211122222211212121111222121111212112221212121222122112222122212221211111222221122121222221222222121111112222112111221211221111212221211221112112212112211211122222212122111112112122221112122211112221212221111112121222122212122121112212112212221111212221111111211222112122211121122112112211222111122211212111222222111112112121212221222121112222111112122112122111221211121112222111222211212221222222211211121122221211212112211121222111121222112111222121211112222212111121212221212222211211111221211211212121112121222212211122211211222211211121112221121112121211112212212122122221122222121212122111212212221211111121211211122211121112121121112111121111112112221212222122121221222221211211121212211111212211111121122121221211112121222221122222121222122112122212222212121212121121222121121111122112222212122222121112111112121212222211121122221222211212111121211111211211122221122212111112111111211212222122122121122121121222112112111111111222211121222222222221111212221222211122222212212212211212122222212121211112121222211221212112121111212122112121221112112221222222211112122111211111122212122221211211211121211222111121121221212222221111112222222212122121222221121212221222112122221112211222121122111122221211111222211221221212222211212221221212212211111221121111221121111211112112111121211212121111122222121211212222221112122112121111122122112111112212222212212122121212122212221221212211212221112211211112221212211211222122112222221112211111111122121221221112122112122211122122211111212222112222112122221122211221112121221222121112122221121112221121222212112221122121222111112222211121222112222111211122212111121221221211221122221112211122221222222212122122221211121222111122122211212121211121221122122121112122112112122212212121212122122112211121122212122221222112211111222212121221111222111121121121222112112121111222112121211221112111222112122211111121111212121112211111122122212121211222221112222222111211121222211222212222221112122221121111211221122122121111222212221122221111112122111221122111121111221122112221211221211222212222222221211221121222212122222221221121221112212212221121112221122112222112122212121211221211212222112122211211211222121221221221221222122122122121121122212212121221122221222111212212211222222211112221212112212222222222212211212222211112112122221221211222222211122112112111111121221112222221222111122121221112212211212111212211211111122221112212221122222222111211222121221121211121212111222222222211111222111121212122222111221222212122122111221112221221111111121221111112211211122112212122211122222222111221212112222121211111111222111111121121211122121122112112122112212111212222122121222112212222221112112222112222212221112112221222122222122112212211121211222122211212122111112121111122122221122211111211112121222222221121212221111212111211211111221111211221122222111222222211212222212121212221222212222112222112212121212211211212211121222211111211122212121121111212221212122122221122221211212112121111121122221111221112222211112112122122122211122111122111222122112122121221111222221222222221222122112121122221222111122122212222211212122121121121212212121121111122212121122221112121112222221211112211122112112211112112112211112111111222211122122221221222121222221221121211122212212221112112211122122121122221212211211211112212112211222111122112122121211121122122212212112111121111212112111222112122121111121112122212212222121111211111212221111212211121112111221121111222122111222212112222222211122222121222221122122221221212122112221222112222221212121212221222221112121112221121212111122222212211122122122121221212121211221221111122211212112211122121121211112121111221111221211111221111111211122122212112112122212111211211112211221222121222211212111211212122111122211221212112211112122221221121112211211211121222122211122121112121212221212212122111121211121221211222211221211121221212222221111211122211212221212211222122121211211221212121221222111121212122211111112112212121212122211212111221221221221112111211211221112111122121122211222121122212221111121221222222221111111122121121122122212121122221211111111212111211122111222112222112222222121122221112111111122211112122121221122121122222111211212212121122112122211122122111212112221212122111222121112112212112221211111111211221222112222111212121112212222222122112111111212212121212111221122222112221112112112212122111112121222121121221122211112221212212211122111111212121221211222221221121111211121121222222222211221111211222122121111122111221112211212222122111112122122112111112211212122111112121111122211121211122222122121121221112222211212121211121122112122121111212212211212221122222221221121121121122212211222221221121112121211212111222122111221121211211122122212221211221111111222212121221121211212221222221221211112111112211222211212112212221221221121122111122112222122112111211121212211121111121122121112222112221112121211222121211222221211211212111222212221122122121122122122121111211122221211112122211111221221222112221212111221212212211111122122221221111112111121121212122112211122221221212211211211222222222222121211221112212211222122121222112222111111211112112122112121221112221122122121211122111221211221212121222111211211111121122222111112112121112112111221212122221221121212121122211222212111112112122222122222211211112122211121222122121112212111122112122212121222121111121111212211112122222112211221121221121121121212112121211221212122222111112121112212121222221112212111111112111222211212111221122222111221121122211211221121112121222121122122212111211112221221212221111221212112221222211122212222222111121222122122221121211212121112212111222212121211121221121211121221121212211122111212221111122112221212112112211122212111111111122111121221121222212212121122111221122211212211111222112222112111111112211212212111122111221121122212111121211111121111122211111121112222122122112122222212112121222222122211122111111211121111122121111111122221121221112112221221122121122221212122121111111211212212122222221111212121122211121221222222212112222111112122111121212111222222222112221211211112121212221121111111112112111211222121122211211211222121112212222211211221212111111221111212112222221121221112222122222211122122212211221111221121222122111122221112212221221222222211212122121221221221112212111222111222111122111222122222122111121211122222111222112222222222212221111111221221111111121121112212212222212221111222112211221212121212212121112111212221211122112111211211121222122212111121222122122221211111222221111111211212112122121111121111212212121122122112112221212211122211212122222121212222122112122121112212121212122211111222211121122121222111222221111112112222111221121222222211112221111121221122212111222221222121222112212112111222222212112121122111211212121221122211221222112222122111211122212121111212111111112212211211212222222122121112221122222121121112211111121122122211211111121121211121222222121111121121221121212222211212211211222211211221112121222222121111222121112112112221212221111122211111112111212111212222222212112112212211221122121212212222221121212211112222122211122222121122121221221112221112111112121222111222211211211112222111222121111222211112111222212222121111222122221112111111111112212122111112222222121121122112211111111111112112211112212112111222222112111212112112111112111121122121211122111111221122122221111212112221222222111221121222212111122111112222212122121222211211122222122212122122211112222212112212122221212111211112222122122111122222212222112222212212211111212122211222122212222211122211221122211221211121212121221211212112221222112222122111121221112222111121211122212222222211212112111211111111221111221222111221221111221222111122121221111211222221222112112222112212212112112122222121212122221111211212111221111111111112122111122221222121111121212222211112112122121221222222212212222211211111222222222122222221221221222122211212111221122112211122122112112221221121212122212221221122222212121111112112121222222222211121221122112121111221121211121112222211211122111121112111112221112111211211212122211111211112222112222211122111111111211222122111221112121121112121222211111111112211222121112122122121122221121212112122211211221212211122212222111211121212122212211211122121112221211122112211221112211111112222221211121111112111122212122121121121112222121111212112112221112212112122111222122121222221221121121221212112122121222222212111221222222121212111221111212221221211111112222222122222221112122111111112122112112212122111212121211111222211221211122212211211222212122122122111212211212112222221211111121111112111112221122212221122221112112111111122122121221112222211122212212221122111211121222212222221111122211121211221112112112122222222211112121211121122112112221112221112211212221112121111122211121221212121122112112212212211112211121121212212221222221221222111121122212122112112211222121122111111121122212211211211111222221121111222211222111121122112111111111111212211221122221111221112111211122111211211122211122222211121222112211112121222112121112222212112121112121221212212212221221122122111112222222111212222222111111212222112212112121211111211212212222122122211122122211222222112211111222212112212112122221222221222121211222121121212212221122121122111112221122121221221122212222221212211211222211221212122122221112211212122211211112121221211122122212111212112121222121111111122211121121212121212111221222221211221222112221221112221112221111121222211112112212212122211221121121121121111112111112222112211211222221122122112222111111122212112111112222121222122222111122121111122121122112111221221222221222211122221111211221122222211212211212212211111111222222122122112121111211222121112122211221112211121222211122222122222222222111112121222122111122121122222221122211112112112122222112121122221121222122221222212112121122121212121212221112222111221121212221121121112222111221111122122122112212212112121122112222122112112122112222112211211122211211211212221211111222121211111211212212122222212221122211111121112221122122211111122211211212111222121112122212122211212221121112111111222122211222221121212111211221122122222211222222211212121221112121211212212121211222221112211212111222111221111122111222211222221121111112122211221121111111222121112212111221122121111112212222112112211111121221111211212222111221211112212122121212111221211112121122212211221212122212211212212222212221221111122211222221111212122121111221222111222212211212111212122212211212121122212222222221122211211111222122212221112221212111212111112112211212222122112121121122111121112211212211111222212112222121212211211222121212112111111122211112222112212222222121221122112222112121222121112111211121111121122212121212111121211212112222222222222111112222112222212222221211221221212111112212222212122222111222212221111121221112211112211111211121121121122221221222112121111211221112121222211221221122221112122121121122221112212222222112221122111111221121111212211122221221122122111122212212221111111121112121111222112212111212121122212121222212112121212122111211211122121211111112112111211111121221212221222221122112111111112112212212211222122211212111121111221212221122212112121221211211121211222111111222222111211122112211222122121122122211211212222121212112212212211122122212121212212111111111221121211221212112122111211121121211122122212112111222122122221111122221121212211112221221212121122221111121111121211222222222112221112222211211111211112211221221121222112212222211222121112222121212211222122222111212122112121111112122122112222221221122212122111212122112111112122112211212222121212212221121111122112221122211221211222121211112212112111222112211211221112221221212121112222121211122121111212122112111112212221222211121221222221112111212211122121122111222221212211121111121211112112222122212221112221111121212122112211211122222212212122212212122222211221211111221212211222111211222211122222121221121112222112122112112111122121211211111121211111212221212222211222122211122211121222111121221211121111221211221112122221212122111212111212222122211221212112112111211222211121221111122221221221122222121111122222121211212122122121211222111111111222121222211112212121222221112111111121222221112212112112222111212122121222111221212221111212112111222222121221221211212211212212121112222221112112121211111121221211221122221111221122111121211222211212122111222122111211211112211221112121212111212221222212211222111121211211222221221111212212112112111222222112222122111212212211111221122211211221212211211111111222212212111212121112122111212211121121111222221211121221211212122121221111112111221211111211212112122121212121121112122122221112112211221121221211221122221221122121112111221112221111212211122112121112212212221111122121212112121212222222112122212222122211122112121221112211112122212112122111221111122212212121221112111222212122112222222221211211122221212121112112222112212111221121212121211121111112111122122222121111111222111111122121111212221111221121112222211112212121211121111221112121212222122212112222212221221212222212112112122122121121112111112111212111212211122122112121222211212222222112121111112111112221121111121212111211112212222121111112221221111121221121122211122212211212122212112112122122121111222222112111111121111111111212121222121112122122121112222111112212212111112111111122222112122111221221111112212122211111221222112222122211121122212221212222121121221121111111122221211111112221121122211121221211111121211221212221212211112122212222212222112212222221112222112121221211121111112211221122212221122221121111222121122222211221221111211211111121112122111222122111121112211111212121221222111212121112122112111211121112111112212211112122222112112221222211221212211121111211121112212111221122221222211212122121211121112222211222121222112221212212122122221212212221111211222212122222212211222212121111221121121112111222111122221112111111122112222121121112221222112111112211212212122221112222211221211111111222222121221122221122211221221112211222211121212221211222222212121211222212211122221111112212212211122122222122221111222121222112111212122221111121211121111122112211211121211112221212211212112221211122112212112221112122211111221121112221221221121111111212112211221121222212122122212211122211222122211222212111121122121211212222222111212111112211222212222121222222212111122222221112212111222212212222221112112212121212221212112112121112211212221212221222221121211212112111222212121222211211221212212212211222222121121212112222222112112111112222212211111121211211222211212222211121122121221112112212221121222212121211222212111112221211212221222111122111122121211212211222212222112112221222221211221121212121222111222221212211221222212211111212121222211222222112111111121112122121111211211222221112121121221211212122212112222111122112212211122211112221112221222222212111111121222121222121121122211211211122122111212122222112211222211122212121122222222111211122112222211111212212211221122111122121221111211212211212221111111211121212211211112121122111111112211221111122122211211221221122221112111222221212122121111221112221121121212211221211122211122121212111112122222112111212222122122122122212221212122112212212212111122222121222122121111121211121112121212222111122121122121221122122121211212222112112111222122212121111112112221122211212211211121111211221122212221221212111111212211211122222111222112112121222221211121212112111111111112112122211211112122111122211121221112222222111122221221221211122212211212122211112212122222211222222212122222222112112221211212222112211121112212212221112112211222122112212221111221111111112112111121212222122112211212211111121211221211211121222222111221212121211211121111112122221222211211122212121121111211111111111221211111212221121112122222122122112212122221211222111122222111122222221111121221221112211222212221111221111112111111212112111221221222122121122221111122121212221221221112111211211212112222121211212121112112211222212221211211212212112112211221121221212121122112222122111212122112211211122222212121222122111222111111111222212212111121121212121122212211221122121121121112212112211122112122122211121112222111121121122222111222222222122212212121122211221222121221111211211222112221211221222111121222221211221121121212221211211222211222111121121122122121211122221211111222112122211211222111212211122121111111121211111222122112122122222112212212121122222212221122111111212222121211122221221222121122211121222212212222121112222111121121221211122122222122222112222212221112222121211111112122112221221121222212121222112111212121221212122212121121221111221221211122122221121221111222222211212212221221221221111122211112222212222222112122122112211122112122111212111121211111222211212221112121221222111112122212221221222222112222121221212121222111121122111221222211111211121212111111122111111112212211222211221221212222111112211111121221221121211211221111122211122221221121122121121111222121112122111222112122122111222122212212222211211212111211121221211221222211121112111211222222111221122111221111121122121222122221221212211222211111112121212211221211211222211122211212122111211212111212121222221121211122222111111112212112112211212212212221111211211112221221111111211111222121211212111112212211121112122211121211112212121221122211212122111122112212122122111222121121111212121212221111211211221111121211111122221212122112222221122111221112111212222111111112111112122111122211121111221122221121112111211211221212222122112122122211122122121111211212211111112211222222211111122221121221212222112111111112222222221111112221221122221111221121212111222122221122212211121212121221222222121221121212211222211222112211111212212212211222222211111211121112122121222211121212212211111221112221112112111222111111122222122222211111111221111121112121212212211122111121222211112221111121121111212212122212122121121212221112211122221122121211221112222112112112112121221221221211222212211221211112121222222221121121211112111222112121122122121121122122111121121121211122212212121212111111222122121221121221222122121121211111121121122221212121112222221112112112212211221111111212211112222221122122112212211121221212221112211122112111211122121111121112111221111221122212221212221211112221211222111222121212222211222122111221212122122212212112222212211112111211211111221211211112121222112112122111212122222112212111212221211212122212212222212121121121111222112221121221122121111211211122121112111212222121122112221112111111211222121112212211211111221222122222211221111122122212122212212212221222111112212211122212122122121212212112121112221212211112122222111221112221121111122221122221212112222221221212112112221222121222221121112111111212221112221211222122122212212121222211212112211211111111112222122111122122222122122211222211122121112222222112122212112212122121122121222222211212112222122111221212112112212222211122121111122211122112211111211111111211222211221121111111121212222122111221121221211212121111221122121111121111122112222212211111122112121211222121221112122122122212121211111112222212121111112122121112221221122111222122211111211212211122222222121112112121121222211222121121111112111122221212222122222121121111112111212121222211221122221122121112121222211212211121211112121221121222212121211111221212222221222111121212112122211222111221222222222111122112211212222122221111111211212112211221211122121212222121121211222111112122221121111111122211111221211222122222221122211112211211221121211121112121222122221221221111122211221211211111212222221111212221121121112121112111221221222112122112122222211211212122112212222211112111122112212221122221211212212112221222212222222112221122122222122121112212211212212222121221222112112112111121211211122111222221222111222221112111121222122221222122212112122212221222122221212211212222211222122122222221222122222221112222121211122211121212221111111212112211121111212221212111221221211211212111212212222112122112222211111222212122111222212111112122211211222222122122112212122122112222111111122222222111112222112221221212121211212221222122121222122121212212221211122222112121222221122221111112122122112121211121111121212112112122111111212111111222111112212122221212111121121112121211221121212222221121111121112111211112122121221111121122221211111122122122112211221211212221221112212111121121211212111122111122212112121112212222221221211222111112211121122121222222212221211212212222212122111121111112111212121122222212221122121212121222211121112221111111111221121122122122122111121222122112111111222112211222112111222221212222212121222122111221211212122221112111211222111221212212222112112211122211121211121211212111121211211111212112212121211111212121222121121222222121222122212112121222121122211112112212221212211112122122122112112122211211112112112211122212112111212222112222212222111111111122112111122121212111122211122111211221212112222112111122112121122212211212212212222121211221112122211221222112111111122112122121122211211111121212122211121222112111122211221122121212121112112112122112122122221122212211222111122212121121212222222111222211222211121222212221222211212212121111122111121221211111212211122122111212112111112212222111112221121111222121112221121112212211222221111222111221121122121111111212211111221112222111221221122111121221122222221122121222222112121121212121121212111112212122111121221221221122211222112111122221221122112222211221122111222121221221221211112222112122111221111222122111221121212221122211221221211122112121222121211211121211121222221221122221211121211112112112112211221122111112122112122212112212222221211211211121212111222212211212221122212121221121121111212112221211111112111121222111111212111212222211121112212221111211111211112221221211112212211221121212112221121112222112122221111221212122112112111111122211111121111121221221121121122111111111211112222111222222221211121122222122121222112121122111111222121212121212122121111221112122212112221221121111211222121111221221222222121222121212111212121222122212212112222112222211111121112112122112122212211222122121212221111121122211111221121221221212122221222121112121121222211111221122222122122221112121112121221122212122222122222111122212121211121112212122122112112122122212122122112122112111122121111222222112111221111211121221111111122112212222111111211121222112112211111111111222112221122212212122212212221212121211122112112121221122111212121111122211122112121111211211221121122111212221221121111121222112212111221111122112212111212112121122212222212212211221212212111122111221222121121212221121221211211112111211122212111212111211121212121212211121222211122111222112212112111212122121222122111112121112211212121222121212122111112212112211221122212122122211212111222121211121222221212211212122121222211221221112111222211122112122221212112122221122222121211121212222111111212122221211221122112211112221212211121122121212221222121112221112121121121111111112121212111112122222211211221122222222212112212111122112111112111122221212211221211112111112212212122121122211211222121112122211212112221212112222222221111211121221112112121221212221211211112222122222121212211111211222122212122211212121111121122222211111211222221211212121211121112112121221211112121222111121112112122122121112211122112111112112111211212112121212122212222211121211211111212122112112111112121121211221121112121112212222211222111122211112121222111221111222112122212111122221111222221121112212111122111212121112222221112221211212122212111211221222222212222122112221211222211221112221122221221121112121212121212221122121211222121111222211122122222122112122222211212112222111121222111111121221111112121111221122222211121122222211222211211221121221222111221211211221221111221212221211122211211122211222212221211121222111222112212221211221122112112211212221121121211221212121112111111112121221221222121211221212121121122121111222121121211212112212221221211212212222112122112221222111112121121121121122212121222112122121221122222121121211122212112221112122212222221222122222122222112211211221112221111222112112212222111112111222112212222211222112111211212212111211111221112212222121111222222121122222121112212212122112222221122112222211111121221122221121212111221211212222212121211122212212211111112221222121222221212112122112122112221112121122221211121121122112122221221111122221121212212121222111211121212211211111112211221111121122212122222212121121112221112121211221222121121121221211122221112111121221112111122111211111221222122211222212222111121221122121121112221212211111212221211121112222121221111112221212121212211122122111222121111122122121222211111222221122212222212111111222122121212211211111122121212112211221222212111211112211221121211121122122211111111111211212212222112221211211222121121211122122121212122222121222122221121121211122112221122211122211122212112221121111222222121221211112112222122121111122111112111211211122211221111121121221122121122221122211112221122212111221111211211112122221112212122211111221112211212122222112111122211211122111221121211222112122222111111222122221112112112222221112121122211221121121112111122221212212122121221212211211212112112221221211221111222112111221221211112211112211222222212121221112212221111121221112222221111121222122121222121121211221211111212212111121222211212222111222122111212112212122212221212211211111112212121122111221221122221222211222211211221111121111222122122121111112221222212212221112212222112222111222222212111112122111111222211112112212122121121212122222111121211221221112112221111211121111122111221122211122112212111211211221221221111112121111121211111212222121212211222221121212221222212121112111111122112112211121121212112122111212211122222112111221212112111122211211212222222221222111222222222221122111112221111221212221212221222122221212122121222112121122122122122212221212212122112221121221111112211111111222222222112211122211221222121211122222121211221222212111211111221222111111221222221211112122222222121212122122212212122222222111122121222122222121222221121211121122212111212121222221222122122222121122111122222222212121222212212121222121122122111122112111122212121222222221222221211111221111212221212221222212211222112122211222121222221121111121112122222111212112111112211121112121122111212221212121222211122222221211112222112222221122111122111122212112112221112221221212211222222222211112212121212121112112121121121212212121211221211222211222211122222211111212212221111122212222112222222112212112212112211212122112211122121212122221222222112212111211211121122112221112221211122222222122222111111212221212212121221122112111212112112121121222112121211121122212221121222212121112122111121121211212112222122221111211211121111221122211121222111221212121222111122122212222222122121121122222211121221211222222121121222122112221122211221221222212121211122211111211212221111212112211111111211212112212212122112221211212212211221112112212112112212122212112122111211111121212112211121112222112112212211222221212222212212222122112211222211212211121112222112111221212111121221112111121212221122211211122211111211122122112211111111121211211211222212112211122122222121111121221221111222112222222121212111111222112111222112212111212121112121211212111122222112122122212211212212221212122112122212121221222212222211112111112212221111112221221111221111222112222122211222211112122112112121111211221212112212111112221221222212212111121211211211212111222221211212121111111121121122222111211112121112121222221111111111122112121212211211221222221222221112121121112221121112212211222112121121121112122122211121122221121211112112221121112112221221221122221122122111112221121111111212211211222112221212121121222122211121212211111112122111212222111121122122122122111222121221222211111121221121222221222212221111212122112222222121212221211212222222121122212112122221121221211121221221211112221121112211122111221121221112111112221212111222211112111212211221111111212112221221222211111122112222121121221222211121211111111221221112121222111112112222211212222212111121211112211211222121222212221222212111122112222222112212122221212212111222111122121212212212112221122121221112212112222121211212112121112222122112212122221112222112111112212121211221222121111121211212121211112112112111222222121221121211221111222112112221212111222121111112112221111112222122211111112122121111212112211111211222222121222121222222121221121212222221222111211211121211211221112221222122221111112212122122212221122112211221111111122222112111211121212221222211211121111211212212211221222121121211211112222222222111121121212211212121121122212122121111221222222122122211221111112221212112211221111211212221111212212211121222112212121121211122121211221211111122122221222212212222122222111121111221122121121112222221211211122212112211112222121122212222211222212211221112221121212222212111112111111121112212211111111211221221112212212222122222222112221211212112221211112122121112211121122222111211111121221122211112111212122121211111111221212222121112111111212211112112122221111121221122121121222211212121211221221222112212222122111221222112221111212221221212221121222122222211111112212211221112121222221111211221212122121111222211221111212112212212211212221121212121212122122221212111112121221112212121112212211122221121121111222222122122111111122211211221122222222122122112211212222122122112121112212121112112222121211111222112112221212222212211122112222212211111112122112211111111112221211122221221211112221111112112121212122212212211112211212111112112121111222221122122222211112122122111221212112112111112212222221222121111121122122122111211222122211122221221121221122121211111111112211221222211211222112112211112212222212221211112111222111112222111111211211112111122122211122121212212111212221121222211112222211112122221222112221211212212121112221111112221222211112222111112222221112222222112222212111211111221111222211111222121122121122212111122221222212212112221111221212222111122112112122112112112221211121122121122122122212121112222122122212121212212222221221111111221211212211211112211211121122112221111212121211212221211112222212212212212122222222211222211111112111212112121212111121111212212111211112111222211121211221112111211211212122221122221122222122211122122121221112212211212112212212222212121121112121111121121122222212112112121221221221221122121221211211121222212211122221122212122112122222211122122211212112222121121121221121212121112212211121222222212221222221112112111122122122122122222222122122221112221112122112112222111211222121211212121221211212121122212112121221212122212112111121222112122112222222221121111222211112222122222212221221211211121121221222212121121221112211211111222222222222121222122212112121121221221221111112121222211112111111111222121212112211211122222221111221121222211221122222211222222121212121122112211221211222112122212211112122111221122211122122221122121222211112212222111121211212211122211121122122211212212222122221212221222122211111122112122122111221221111222221121221221212111211121212112122112122221121222121221112221221122222212122111212112111121212111222111122211211212121122222212221222212221212221222112222222212222122222122112112221111112211212111222122222111122122121221212222221122112111222122122221211221122122111221112222211221121211221111122221111122121121121122111221212122221112211221222222211221122221112112212112222222212221221111112122111222222211212221222211112221121211122212211211111211221212212211111122222121122121221122212222222122212211212121121221221222222111221221221112221212222111121121112121221222112121211122111211111212111121122122122222112121221111121211211212111221121122121121111211112212121211111121222121211221111212122112112112121212212211211111121222112212221112121111112222222121222121221211121211221111221111221111211221121122221211221211222121122122212212222111222222121222112121212121211212222111122222112222111112122121221111221112211211112211211222221112212121121222121211211121121221222212121121211221211121122211221212112221112111212212212221112111212221122221211121122211222122121112121111211222212121111122211122121211121222111222121212221221112121221112112222121222111122111222212112111212221212112112121221221121121121212212212121122112211222212122221122222121222111221112222211122111122212212112222222121221121121212112122212212212112112211122221221121121221221221122122122211112122211212111122111121221112221121111212122122111111212212112211112122111122212122221221122111121112112222122211221112211112112222111121222121222211122122121122211222221122121111111221221212221112111121211112212211222212212221111121212221212222122211121211211121111121122111122222111212111221211211122111222212122221212212111222122222222212112121112121112111122221121221121121222122121222212111222222112212221121211221222221211211222222111222112222122112222221122221221221221211222212111211112121121121222121122111112211212211112221212111121222112112122122212221222121112111121222112121111111212222212211221112122222212121112211111112211111111112221221121211121211121212211121212121211222111212111122121212221222122221121221111121112212211112222121222121122121112122111111221212221222221221121122212111222212211121212122112121222122212111112221212211112122222212121122211122221112221112122112221212121112221122122112222122112121222111122121221221112121221212111112112222212122211222122122112222122211221111121221111112112222112122222222222122222111211211121211211111122211122222121111121112211121112112122121121212211221221212121112212121111112212122221211211221221122122222221122121222111222122222121222221222211221212112211212222212212111221221122222111221121111222221121121111221221212111122211211222222112111111111111211121212212112222221222121212212122212121221222111221221121111111121122211221122122221221212111121111111212211111111212112111122122212121122112111122222212221222221121212122122212111121211112212222222211222112111222121221211222222111222221222122221222121121121212111212221111212222211121222211112212212211212121111121111112121222222222221121221122112221212211122221212212212222112221212121111122221111112221221111221121212112112211211111222221221111221221111211221211211211221211111222222212212222122221211222121212121111112121122121111211211112111121112111212222222211122121111111112121111222221211211112222212122111221221222122111211221212111121211111212112111112221211121112221111121221222211122111221212212112222112221121121111112221121221122212221211122111211112212211221221211222212122122122221111221111211221212111121222221111121221112221222122212121211122122222222111121211211212221122121211221121222221212211222121121111222212112211112221222121112222222221112212121211221122221111212122221112121212221222111111212112221112121212211211212121211112221112211211221212222212111121222221112121211212212212122221122211221222122112212211121111212121121112222211112211221221222222111112122221222111221112111222222211121211212121222112211121122222212112121212121121111112122211221221222112212221112112212122111122222211122122122122121122122122221111211122121111212121121121222212112111212222212212122121112121221112122221111212111221122211122221121122221111111112222212111122211122122221222111221111121212111212221122112111221222122121121221212121111212211121111211112222111121122111222222222122112112112122121222221212211121211112212121112222212221211112222222221212212121112212121112221122222211221122112221212112211112221112221121112122112222122122212222111122111121121112112112211222212221111111211212121111121121211112211122211112221112112121222111222221212211111121221122211111112221122112222121121111222211211121111112211221122222212222221212122111212221112111222212112211121222121122222122211111121211111221221121112121221221121111222111221112211122211222222111211222111122211121222111222212212121122212222212211112211112122212212121122211112221111111211211212112222112122211112222212112112112122222122111211221112121211112222221122212212222122112211121121222122222212111122112122112111122222122112211122122111122221222121221212211211121122122111122221222221122211111211122121222211211122112222222122121122212112111111111211222222222111122121121222221122211112111111121121111222111222121222111112222222212121122221212211111122221222221121211222111212212122112112222211211211112212212111211212122112121212112211222122212111121211111112221121112112121112122211112221222111111211111212122222112211112122121112122122122211222112112212121211221221112212112211221121121112212112112121121221111121111222121121121122121111111111121112221111222212211221221221221112112122121112111212122122222221212212222222212111122121122112121212111122212112111212122221121221121121112112222221122221112222211112121221211122212221221122111112122112112221121211221222112112211211111211122211122111221121212111222121121222121112122212222211111221111122211112212212111211211111211211122121211212221212221121222212112221112222112121222212112212222211111212211222122112211121212211121111112121211112111221221111212222122111221221211221112112222112222212221122111111111122121112212122121212121111121111212121121222111121112112211211222112222212122222121112221111122111112221222221121211222112112122112111212221112122212222111211221111121122211122111221112112111212121211122222211222222112112221111222111112122212111122211112212221222112212111122112111112222211212221121212222211222112221111112211211212121112112122121211221222111221122112221111222211222212212222112211112112212222111221112212121221112122112212212221122212122122212122111221122211212111121112121221222211122112221122222221111211212111212122122212221212221112211221122221221212121222122111212112112111211122121222111222112221112222112121222222211122221212221112112111111222222112122111122121121212222221221222111121212111222221121111112112121222221212121211212111221212221211111212222221212111121211121122221212112212221112112222121121212112112211211212122122212221112211221222221112212212121111211112121211211212111222121221111122211211122221111212211121111221122121221111111121121122112121222121221122222222121212221222112111212221212211222212221212121211221211112221121112212221211112222212222112112112112122212112121221211122211112122222221111121111122122221121211122112112211111221121212222122211221222212111211211211121211211212122221112222221111111212211112112111112111222111212211112211112222221221222121221112222212111111211121121212212121122122221111122111211221112112211121222122212121121212111211212111211221122121112112112222112212112212212111222211222122212222111122212212221121122111122212212212221221221221222121121112222212122221221211121212112211222221121121221111221111121211212222222112122222222121211222111122122212211211121221222112222212212122111122122221211211211121222212112112122121121211212112211222222111111211121121121221211111121212222111112221112211222111122212222111222212212221112221222121121221122211221122222122222111122112122111211221211121111221222122212112111111222122222112122211112122112112121211212112121222121221111211221222122122121121112122122112112212212222122111211211122211221111212211212212221221121221112122122121221211221122112121121211211112111121221111212211221112111222211121212122211211222222111121222211211221222221112212212211122221112112221112121221211121212212211222111111221222212211211121112211112112112122121211221122122121212212121111222121121111111222121111221121122112122212111112121221221221122121121121122112221211112212222222212221211122122122112121211221222222121112221221221121121221211112112112222111222121222211221112111222122121211122212221121212111112212111221121121212211221222111211122212111111212212221211122212111221211112222212121121112212221212121211112212122211211122211211211111111111221111211221212221222121121122122111111122121221111221212122111212222222112221122221221211112212211112112222221211211112112212211111122211121211112222121121222222222111122222212112211121221121222111222221212221112121211121211221122112221211222211121111211122112121112112212211112212212112122221121112112212122111112221221211112112211212111111122211222122222212221112111111212222112211121121112212122112122221212221111212211121121122212121221122121112211121111221221121121211122112221122112111121211222111221111111212122211111121122222221222211222111111222122122112111112111222211211222122121221212221212112221121211111121111212212111222121221111211112111212221222212212121222112221211121221122122111121222121222211112221222121111221222111122211121111212222122211111111222122222112221221111111112121212221212112222122122122222111212221212222121221211221222122121212112222222122122121222122122122111211111221222111212221112112112112221122222121122111121212112222222121211212222222122222112111212211211221221121221111222212121121112221111211112212221121211121112122222121111221211222211211121112111112222122222212111221111112222112211212112112212212211122222211222222121111211222121221221221111121211112211122122122211212122222212121112121221221112111222111111211122222221111111111111112211221122112112112222111121122111211212121212121221112111212122111122112111122221122222211121211211212211111112211111212222211211112111211212111212221221122122212222211122112221121122222112121111111222222222212111111122111211212122112221221221221111121221212221212121221221111212222111212211112121222221112211111122222212212222111112211221122222111221211212112211111122222221211111222111221121121112221112111112122222111222211211122122222112212111122211112212221221111222122112222121121111122122111122121121122121221122122111122221122112221121211212121222112112121222222221212121112112221221211212222212112222222222211112211111222122221111112221212112222211112111111221111112121111112112121111121211121212121222122112221122122211212211111111112211221211112222121122211111211222222112111111222111121212222212221122121212211111112121112212121211112212122111122112211121222121121121111222221211112221212212222122122222121212121211222112222112121122211122211211211221221212112221211222222221122122211121221121121211122211221112122222211112211221222211222221212122211111111111121222212121212121221112222221221211221221112211121221112112121221222211112212222221122211212121211112121212121121121122212222122211211111112221121211121221222212221212112121212222212121111221221212121121212121121211212121122111222222111112221212221122122211222212121111222122222222211112121121111222121212111212221112221112112212211221121212212211222222212211121122221221121211112211212121121121112122111211211212221111111111122211222211121111122211222211112122112211212211212212111222222221212212211112211111112111222122221211111221222211112112221211211121221121121121221121211122112212212212222122211211122122122222111221221222112111221212122222211122111211122121221222121211122111212122221111222112222222111212121212222122211222111221112221211222212212221111121122211211111111111112122221121111222122122221111111212112111112121222211122221221121122111211221111111211111111112222112222222212211222122212111212221112212122221221121122221121221112111211212121112222111221121222122112121121121122122211122111122212221121212112122212112222111112111122212112222221112222211122121211222111212112212122212221221222221121121121111112122211121112211221111112111121212112222212111111122121112211222221121211111212221111212222122112212212211221212112212122111221212212121211222222112221121112111222221121212111211122222212222211212211211211112111221211122111121212222122111121111111221212211111111111211212212112112112212212112212121122212121111222121111222122212222111121221212111211222211111111111122111221111112222212112221121222111211122122121212211122122112212111122212211212111212222222222111111121211111212112222221222211211121212212212222222111111122112221111221221122122222211211222112112112121212121112211111212112112111212211221112122121222212111211222121221221112212212122112121111212212221222122112212222111112112211211111122211122112121122112111212211111121221222112122122111222111211112121112111212211212112122212121111122221221211222211122211212212112212212211122122222212221221221212212212121122221111221212221122122222221111112211221222222122211111112222212221112112111222222221222212222121122211211212111212221122211221211111122222212112211211121212112121122122112112121111111121111221221121222221111112212211121111211212111112122212221111111212121111111212211121222211222211122211222112112122222221222121122222121121222121112211222121211212211111122221122121112111212111111221222122212112121112221121121111121221212122111221112222212121121112222211221112211221122222222122222111221122111111112211122222122112222121121121112212122112112212212221112222212112112112211212111211122222111121221111112212211221112222112121121221121211211122112211212221221111211122222212211212222222211122111222111111212212222222111121121221112122221122222122212222112222121221111122121112122212121211221221212111121122121221221221122212221122112122221112221121211221221221112221221121221111121122222211222221111122221221121122111222211222211211221222112111222111111111222111211112112211112111121222211121122111111122221221111221122122222221112121112211222212211212122112112211212111212211221211222222121111122112221211121211121121212212211221122112221121211121221121121221112212212122121212221111212222111222212112222212121222112212211212112122121221112221112211222212122211211112221211221212221222121122222221211212212111212112121112222122112222222222212111222112122222112222111222212211121111211211211222121122122111212121222121211121111111211121221222221221122111211122112211211212122121111122221222121211112211222111212122212122222122122121212211112122211221211222222222112112112212222211222221122212121222111222121122211112221122112212221222121221112112222221122111111221121111211212111112212221211121122111222212112211122222112121112111221121221212211111122212112122122121121122211221122122211222212221221222211211212212111211212212212211212221121211121112221122222111122212122221211222112112212221221221121211222112212212121121112211222111112111212121222121211111122112121211222211221121112111222212212112122112221112112222112221221121112112122211111222222222222112122111112222111212122212111212122112222112212221211222121221212121211121112121222211121111212111122212211112111112121221222122112121112122221121122122211122221112221212221111112212212222112211111111221121121122221222111111211122121122121111122211222211221111111112221211121211211112112112211211112121211121212211111211122221121111211122122111112212211121211211211121111122111121122211121122111111211112111121211222112212221221212222221121121222121212111121221122211111122221121111112212211112121121121211112211222212121212212121211122222122122111122212221112222112211112111222221221121112111222112212121111121221112212122212112111221111212212222121111221121122122221212121222122221121112112212212122121212121211111121221222211212221121211111212112111112122222122211212221112112112121121222211211222121222122212211212122211212221122211111221112112222221121111111222111211211222211211212111122121121212211211221122222212112211112111211212121111121111222212122222112111212122211111222112222212222211111121111112211121111121222221222122212122222111221122121211121212122222211212121121122112222212221111221122122112112111121121122221222111212122211221211112211212211221112222221111221212111111211221111212222112122222221212121212212122221221211212121221211221122211112111111121112212121112222111122221222122122121221122212111122211221222222112222111212221122222211112222212211112121112111122112221121211211111112211211121122221112122211122122211112212122221111222211211221212122222211121221112121122111211211221112222111221111221212222211111121211112222211222121112111221121112122112221121211221212211122212111111112211111111112112112222112121112222121212111111121111212121111212122221211112112122222121122221212211221211221121222112121122121121211211221222122111211222121111221212222112111211222211112221111122112112212211211211112221122121212121112112111111221122121121122111212212221121221122221112222122112121221111112211112122121212211221221122112212222111212112222112211211221212122122121212111212121112111211221211221212122112111111212121222111121211211121111212211111211121111212212222221211211121111111221111122212221112211221111222212212211212112122221211211221221221111122112222212112212112122211121111222212222212212112112222111212212222111122112221121221121121211222112111211122211112112221121112122121121121211112112211111121111222112112212212122112221122121121211221121221112221212111122121121111112212122221212111122211222222211112211112221212122111112211121211222122221121112222222211112211211121111121222221121112111211121121211211122212112111211112222121211212121211112111221212221111111211211221121122212111122112221112212221212211121221122222211122222111221211222122211111211112221211211111111212112122121221111111122222112111112121111222211112111212212222221121212212122112111221112121222211112222221122112111211122211111121212122211121212112211121211112122111221122111121221212112111112212122211121112211111212212221212112122111221111112222122122122211122111121212122221211112221212221121111122121212122222112221211211211212121211211211111212221222122122212211211122122121212221212221211221122112211121222211111211221221122221211211222111111211122111122122211111212222112212221222122112121122222211212111221112212121111122212222212112121222111122211212212212111112221122111122211111111111211221211221121211112212111112121212121211122121211121122121222221122112122122212211211111211221211111222111221111212221111212212122122122212111221211112112121121212111211221111111221121111211212222111111111211211121212212121222112111111222211112211111221112122221222211122212112111121211122221222221221222212112121111221211121222112121221221222122121221122222212211121211211111112222112221111221122222211122222212212121121122211112211221111112122112221121122122221221122212221111112121112112121221122121222222111211212211222221111222212122121122221222211111222212112212122221111221111122112222122111121221212211121122121211122221221121212121222111111122211121212122112221222111122211221121212221112121221122222122122212122112121112222121121221111111211222221121111112122111121221221122122111122111222112122221111112111111112122111121122211221122111221222122121212112221112212221221222221212112111111111222211211112112112211221121221211121111211122212121211222222212212221111121211222112212221211111221211221112122122112122112121212212112222222222111212112111211122222222221112221122211121122121111112211112111212211212111121211122211212211112212212122122222112112121122211212221112121112221122121222122111111112111112221111112111212211211211211121122221112222111222111211111122211221112222111221121121211111111212121222122212221221211122221111112211221121112121212211221211212121111222211122111122121122211222112212111221211222121111222112221111212112211222211111222211211211221111121112222221211112221222212221222121221222121122221111112122221221221222121222212112212121111112112211211122111111222122222211222122121112121221121222111122111121211211211111122222112221122222221121111121121212212221212121111222211211121112121212122212211122212122112212112111211112211212121122222211212122211222111121221112222121111122121111112122112112121122112222111121211122211112212222121111111121221112212221111212121122122112212221212212211122212121112111221212222122121121112211221122212211121121122221222112222122211111212221111121211112112221111212222122111122222121122111112212121112121111212121222122111221121212221112211211122121212222112211211111221121122112212122222112112122112211212221121222121221211121211221212112221112211221122221112121221121221112111121222211112121212211211222211112122222112111111121212111211112222212221211222121112211221122111222221212222111221111112211222111122121212212212112211121111212111111121212211121222122222112121221222211111111221122221211121111112211221221111222212121122221221212122221121112121222121211121222111122221121111212121112221211222212222112111211221212112121122121221121121222212212111222122112221222212222111221222121222212112211222212221221222221222112121122212122221112111221111111212112211222221111121121211221121222212212212112222221222222112221211212122111111211211221221222121222211222111111211212211211211122111211122111222122222222222122121111211221221121122211212221221111111112222221211121221212122111121221212222111111222212112222212211222111112212111211222112121212111212121121211212121111121221212211221111212212211211122211222221112221122212112122212222212112211212112122112221121212221222122222221121221211211211221112122211111121121122122121111211111111212211211122211222112121222221221121211121112122122222211111212111221212222112211222112222212222121211211221211221221211222111211221212212222112212222121111211212221112221211212121211112112221211222221222122112222121211212212121211212112212121221212221221211112212222221221222111121122112111211111121112211212112211211221111222111212111221112111121222222212121112222122111111112211112111212112121112122112112122111221221111111221122121211222112121222121212212122121121222112122221211122121111221122212112221122212212212122121121122221112112122111112212211111221111211121222222221212121111112121121112222111211121222122122222121111212122121122121121212222122112111212222122121111121121212121221221211112211222212122211122122222122211212112122212112221121121222222212212212112122121111211211121221111111212111122222221212111222112222211212222112111121112121221112111212112212111211212121221212211112111221111211121111221211222222122111221122221112222111121121212222122222121222212112211112112122121121122122212211221111212211222211121122121222211111222111121221121112111221111211222121111211212222221211212111112222111111221222221112121111221112111222222111121212122111222111222212211112121222122122111222121112211211121221212211111211221122211212211211121121122112221222212212111121112111212112221222222211121122222212111112122112111222212111111121121221121212211111221212222221212222211212212122222112112212122111211212222222221211122111111222111111121222211211122222111111211122111211121221111122121121211111121111122212111111112221222111122112212111212222112112222211122111111211112221212112212111111112112211111111221121221121122111112222212112211111121212212121111221111122121112211122121112112112221121221222211211221222212122121221112122112112121121121121212121112221212121111112112222212212221122111111121221221221211112212111121211212222111221111121211111211121222212122221222121121111111112111111212212211122211222121212122222212221212111112122212211211211111211112222221211112212222212212211111212111111212122121111111112122112111122111222222111111112221111112111221212221212211122122112122122212222211221212221211121122221212222122121111111122112222111221112221211221212212222211222221212222221111122221211112112212122121112221222111212221222212212211111121221122122211122212121111212111111212111211211211222122222111121212121212121222121212212211212222112122111122122121111211221212212222212122211122221221211222111212121212221221121212211122121222122122212121212111122221122122211211211211211221211111121221212221111222122211121112112121211111222222221122112122211122121212122121221222122121211122211221111121111122211222112122121222211212212212111112212111211111121222222212222221122122112212122122221122221212111212122221212221112222212111112221122221222212112121122121122112212122122211211221111111222221112122121122221111221221112211111211222212221111211121211212112222221111122112211112122212222212221222121222111221121121221122212112222112212212212211221222211221111221211212211121121122221111221212122221122122222221212222211122211112212121111112211122111122222121121111121222211111122112212111212221212222122111121221122112122211122222212222111121221212111221221111211211222212221221122212222112122211111122221222222112112211212112222121121211121111222121112121121122112112111211111212112121211211112121121211211111121221111121221122222122121212211211222212112122222211222112112212122211121121121122222211122221112122212222111221121111221211111221122222211122222222112212122122121121212111211222221122111112222111122111222112121221121221122112212111112222121211112111121112112221111222221222111211212212122122122121221211122211211221222121222211112212121212222122112211112112111221121121222221122222212221212212211122211221222221221211111211121212221122112122111111221122221122122112211221111211112222212221121112211121222111222122211212121111121211122112122211221121122222211111222111212121111221122111121212111222121112212222122212112212212111112222221111121111112212122221211211111221211122211211121211222222112122222112112111212211112121111212121212212112111121112112222111212112211221212111221112222122111221111111222112112122221211212221212212221211222222222112211122121222211221211221122111211122121222122121112121122122111122122111121112111211111112211211121121222212222221212111222211212121221222222212122212122212121121122112111212112122112212221112111122122111112122212212122112222111212211222122222211122121221222111121112111122121122112211121121111212111221122122222112122221121222112222211211122212221112221221121222121221112111222122211212111212121222121222212222222211111121222112221112111121221122121221121212211222221221212222111211211121121111211211211221211221212121111211212121112111111221221121121222212122111111212222212112211212121112221211212222212222112212212121212121221212122111122111222112212222212222111212111221211222111121112111122121221122112121222212221212212222121221222111222212111122222111212222111122112212111221211222111222222211222121111221111221111122211212112111122121122221212111221112212122121112121211121212211112222112122111122211222222111121122122221112121222112122212122122112221112212111111111221212122212121122211111112212221111122121221221121111121221122112112211121222222221212121211111111222222211211122212212111221122221212212121111112111222221211111221221122122212212122121211111211121212112221221212112112122221122121112112111212222121221122121212122112121121121221122222111121212111212211211212222212111212121112211111122211211111211221121221122222222121122211212212122221211221122121221111221221221222121121222112121112221112122212111121221221111112221222222122211122122112111111111211122212122122221222121112212121222122221211222211121121111112122222111221222121121222121112222211211222122211212112121211211212112122122121212222221112211121112221111111222111222112112221222121121121222111221122211222121112222212212112212112111221122122211221112111121211111221122111112121211122211122211122221122112222211122111122211221122212212222222221221111112122122211212112111211112211112211111212112122212221121111211221112111212121111122211222121112211212111112211121121111121221211122212221211121111111211122121112221222121222121122212121122211112212221212122111111121121121121221222211122112212121222212212222112121111222221121222111212222222211112112222212222122112221122212221122122222111221222212111122122211212112112221211111211111112112222121211221212222211111122222222221221211122222111121121212111211112112211122221112121111211221121121121122212222111212221122211221211222112211221111211212122211122212212122111122111122222121212121222121111212121121122122121111212222211111122212122122211221221121122122112122121212112222112112211111122111111222121121221111222111112112111212221212122122121121222122112212222121121221221222222122212112211111221222222221122122121212211122211111112222211211221112211222211222121122122121211222111221212222111111211112112122211112212222122222211221212211122222211122122212121121112222111111222212121211211112111222212212221211122122112211111112111212221111222122222211111111122112211111221221221222222111111122221212121211212211211111211111212121121122122122221212222211212121112121212221212122212211211211211111122221222211112122212211111212211111222111112112112221122222112212111211211211112212222211121221211212221211221221212212221122221211121112112122211111121112122211122222222211121221111221221212222122221221112222222112222111111121112212122122112122211222211212111222112222221111122211121111222211122111221111121122121121222121111211211212112111121211222111111212111221221121112111222111221221111222211122112211122112211211212211111211112122221121221221122121212221111221221221222221211221122112221212211111112121112112122212221121121222211221221121212122222111221211222222122112111211211211221222221122112221212111222222211212222212122122212221121221121112112221222122222122212121221122111212122121212121112111212222112212112222211212121112212212222221122221112222122122122222112122221111222221212222221212122112112222222111211111121111121221211212211222112121111221222122121211212121222212122112112111221221212122212121122121211211112222122221122122222212211222112121221111121222222121111112221122222112222122121212211212212211221222122121112211222112111222211221122221111211122122222112221121221112111122222212212121221222122212112112212222111212112121212112111222211211222121121221212111112112111212111121222212112122111211122222212112112111122111212112221122212211111221111222212122122122112121122122221111222112112112121211112212211112121221122111111212122212212112112122212122222111111221122212111111121111221121211222121222112212121222222112211221121222111211111122221212112122122222212211212222222111221111122221211212212112221221121111121122112222221222222221112122121111122121211122121112121222212121122222211111111121222212121122222121122221222111222222212111111112221211211112222122211212211212222212222212211122211221211121221122112221112222221221221112122112212122211122211222222221121222222111122122211211111211111121222122222211121122111122222212222111122121122122221121111222111112111212111111221111221211211212221121222222211111121221221212111112211211222212111211111112222212112222211111121122112211222221111121112111121122121221221221212222212122112221212121122222212222111222111122221112212221112112121112222112211111112212121122122212211222111221212121221221111221222121122221211211121212111211122221222121112222211112222221212222121112211221211212211122221122121112212211111212121212221122121211212111222122211211112122122112111112112221211112212122221111111111112211222211212111121122221222112211212222112221111122112222111112211122121121121112121211122112211112212111122121221212221211221221111111211211122212121121212221111122212211212221121112222211111211212211221121222211211122122211122112222211111112212122122211212212122211212121211112212122112111212222222222212112112211221222221212112211221222222121111121111121222122221112122122221111112112221211112212122122122111111222211121122111211111212211122122121122222212122212121221111221122111221221221212222222112121221122122211112122212221112222111221221212112221222112212111121121111222112111112122122222222121112212222121222121122221122221221212111222222111112112211122221222212222222222221221111122121211122222121212112221111112111111212122111222112121122212111112121221211211122121212112221211111212122221122121211222212212212122121112221212112222221212221212211211112112122211211221122221121111112211112112122122211112112122111221122221111222222211211222112122121211121111112122212111221111212221112221121212221122122112221222121121112121211222212222211212122211112211122111212221221122212211222221121111111211112122221112222211222111222222211221221222112111212122112111122212111212212111111211121221212212221222222222121121111222212212122222112222221221222122221121111111212222112211112222112122222112111211122121211122211111212222222121211211211111221122112111112111111221222211212121221111211211112111221122111112112222222111121221111212211211222221221112211212111222122111121212122122112221112121222221222221121122211212221221221122122221222112112221112122221222122222112121222121112221121221212212112122211111121221122221211122112211112121212222221222222122111221211221212121121221222122112222212111212122112212112222222121111122121111112122211222212122222121222122111111211111122111211122112221122111212112111122111212112111221221222122212212121111111122222221212112211211211121111112121221111222212222222112222112122122112222112111221221211211212212212121122121111221112111121121221121112121211121212112212222222212211121222222212121111111121121122121222111111212222221221122121212111111222122211112121122111211211222122112212122121112121212112121211112212111211121211122222112222221212222122121122112221222121121121112222121211112112211122221121222212222121221122112122221111122112122221122121222112121212111121112111212221122211212122222222212211221212122122222112122121122122211221212121221211221212121211211221212111221212111222212221211111212211221222112212122121121121112122222212211211121222111111221112121222121111111111221111111111211121121222122112121212122222112122221211222111112221212221221222211211121122212111122111112222211222211211211221122212112221112222211122222112221212222122221222211121221222111121121212122221112222122111211212111111122122122112212212222111112211221212212221111112221212121221112111212211221112111111222112122111222211121122122122112211212211221222111121221211211221122122212221112122211112222112121121221111221212212121111212212121122112211221211211121122112111211212111211212112212222122111112222112122222112222122112122121111122222211111112121211222222122111212111221122111211111221221211222122121111211212111112211221111212222211122222212112211111121121212112211122111112112112222121212222211222211211221121211121221211212112211221121121212111222222122221221211112121222112121112122222211112112111122112121221122221211111221211112221112211221222221221121212211111122212111212212212221112211111211111211122121121111112112112221211211112211222221211211121111212221222212121122222212122121211212112112122111112212221212111111211121211212211121112121122111112211112112212221221221211221221221222222212221212112111212211122211221222221111122121211121122112112112211112221121121212121112112212112111212221221211211111222121112222221121212112221212221212222222112112211121122121221112111211221212211212212111221122112222121121211111111221112212212121121122212221211221221211211221212212212212221221211211221211222112111112111221211121221111111122112121222111211221221122212222111221122221212221111112222111211112121121122212112122121211211112121111211222211121211212222221122222111212211211222222222211212211221221211112211111121221211122111122122121122212122212122122212111111122111221221212111111111121211111122222222211122222221212212121122121111211122212112212111122211212121221211221111112222121211221121112211111121121121211122212112222212121221112212122112211221112212211112121121221112121122222211121112221211111111211221121211112112122221121221211211221212211111122112111221212211121212121212111221122221221122111222112111222211122112222211122211122221211122212211222121111221222112122121222221121212121221121212111221221212111211111121122122221211211112222111222112122111221111112212111212211212112222112122222211211222211212122211221221211122122212222222212122112211112221212222221112212221112222121122121121121111212211122222212112111222212222221122222222221121211222211121221122211112212221112121221112121221221111112121112212211212121222122121112212122112121111211211111222111212211122111121221122112112211111122112211112111112212122212221221122211221211211122111112221222111112111222122121211122121122122222221122211221122121111222122121112122222221221111121212122222222112211212212111122212211111121221222111121221112122221221122211212112211112212121122121221121121121211221211211112212222211222211222122222222121122122211122211111211222111111112221121111221222211211212211112121211111112211121222112212211212221211121112112111212212112212221111211112121211221121221221122112212221221211212222222221221222112222122111111122121112121211112112111212212111122211212212121211112111111222112111112211112112222112212111221112121122212222212212121122121211122111212212112112111211111211122121112121212211222112212112221121112111221122212111212211111221211212112211122211111221212211121211122112111221112112221121122111222111122221121221212222112122112221222122122122211121121121122211112212121121212122121112211112112221222112211112211222212111111112122111211122122211112112222212211112121122211222221111121121111222121222121122222111112121122111112112212122121122211211212212122122121212211221112121111122121122222111121221212211221112221222111122221122122221211112122111211111112111221121121122112222222212121112221212221211111212111212122111211121122121221211221211122112211111121122211122221111112121211112111111212212222121211111121212122112221212211212121121211112221111221221211222112221122122222221221121112121112122122122112121121222212121112221221211221222122122112211212212121121111122211122211111221122112112112221211212211121221111122211211112112122212122212222122221121122211222112112211222111121122221211122112211111221211221112221212221222211122211122122212212112221222211211221112111212122212212222211211112121212212122222121112121121122222112221112212221212122122221221111122222212221121221112221121122221211222221221111222221121212211122212212111111111212222122111121212211212112122221212221222111221111111121221122112212222122121121212121211212111221222222221122121222211211111221112112112112212212121111222112221221122222111211112121112112211221222122222222122112122111212112212122112121121121222112111111211121221121111121221221211221112111112121112122221211121211211112111211221221222222211121222212122211121222221211222212222211212221211122222122211122222121212122211212112111211221122211121111122222212121222122121222212112121212212212221122122111121122212121212112221112122211221111121112211221122221211212222212112112111111122211111111121211212212121211112112211211212212212122212211112211111211111112211112111112121211112112212222211112212111121212222211211121122122221221121211221222212112221122221212121211121121122121211221221222111221212121122112112122222112121222122221211122211122222221122112122212122221121211111212211112212211111212222211212112212212211112121212112222221221121212211212211221121211221221222222222212122221111122222122122121121122221212212111211221122111111121212112212222122122122112212221221122211112212211212222112212221212112112212121222111122211212211221221122121121221222211211122211222111112212221111221221121112212221212112122222222121121112111222122122222222112112221222111111111212121221212122212121122222122122211212112211211212112122111222122211211121212222122121211212122221221122212212212222221211221222112122212212211221212121112121112222221211111221112222111222222112222212221121111212121212121122121111212222222211112211212122221121112111112212212122122121221121221122212211122221112211111212111121211122211111121221111121221111111111121112212222121211122222222221212211221112121212221211112222222122222221111212111122111122112111112212212212212221212111111212122122212222221211211112221221221211221211212212212211111221121111221221222122111212111121111222121111222112111221122222221122111112221222111122221111222112111111112112111211122222212122221211221211221112111122121112221111221111112111112211222111111222112222111112122112211221112121121212121112211212212121211211111122222221222221222122212221222211212121211111221121121221121211222121111221211212211111211112211112211221122112212222111111111212212222122222112121121122111222122211221211221221222122221222122112222221122122122212112221122211121221222122212221221122122222121111221221122112112112112122221122122111111121222111212212222222211111211211111222222121122212212221121212212111112121221111211212122112122112121122121222112221221212111111222221121211111221112112221122212112121222212122222122211222212111221222211122111211121211211112112122221221111222121112212112212122112222121212221211112211122112112212121221121112122222122121221221221121112121112122121222122121212211111111112211211212121222122222211212211121112111221222122211121211221222221111121211122112112112122211211122221121212212111222112212222212212121212212222222211212222112211221112222211221121121222121222112122221212122111211222121111111222222112111221212122212122222111212121211221222111121211222121122121122111212222211112121112212111212221112122211121222121212212121111222111112111222122211121211212122122212222221211122121212111212121222221211222121111211122221211122122221211222122122221112221222122211112111211122211221112222222121221221212121222121221212111212122221112112112212212121112221211112111112122121211221111211121121122122121212222212211122211221111122111221112121221122212122112112111112212212122122122222222222122122222222211221111122112112211112112211211212121221212121112222122122211122212111121111112222111212111121111111111212221222111221112112221211221121211221112221111121121112121211222212221121211222212111212212221221211222121112111121212111111121212121112211212112221222122212222211111212121121122121121211122212221112111211121122211121111111111111121122212112111122121121222111221111111121112112111122111122122122121222211122122222111122221212121122212112122212112222222111122112111122121121211222222211211212211112222121212221122112212121111112211122122111222121211121121112112211221212212212222221211211122122112121211211112121112212121112121121121211112221211112111222212211212111211111212111211121121212212221212212121112222212121212111222221122211122221112222122112112111221212221221121211221122212112211122122122112221212112112211212122121221221112211122111221212112121111212112211222211121122222112221112121211111222211222111221221112122212212111211221212111221212211121222122111112111112222221122211222211221222212112122222212221112111122211111122122211121221212111222112221222212221121121111112212212212122222121212122222221221222212121211211111111211112112111222212121112122121212211112212222221112222211211222212222111111112211122111212222122211211111122121211112212221222222212121112122111221211112212211212111222211111112121222221222122211122211222222211121222111122121212121112112111222211221121212122212112212221221221112111111122111111212122112121122111122212121121221212122112222212122212111121221212211121212212222211212122111221122211211111222222121222122221222122221221122212122121111122211111121212111112212111211211211211112222122211121112222111112212122122111221121112222222211221222112122122112211112221121211122222121222221111112221121122111221121212212111221111112211112112221211222221221112212121111121122112111212111112222111222211111222121122222121222111121121211221121112212121111212221111222211112112212121212121211112212222221112222122111121122221121212221211221112112222211122211221111211221221111212122212111112112121221121121212122221112111122112221121222211222111211222121212222221121122221121211111212212212122121211112221112212122222112211222211111221112112111221222212121221112212122211111112111122212222211111122121121111121122111211122221122121111112211222121121111112212211122221211112221112212112211212112221122211121111112212212222221121222112112222212111212211221111112122112222211222212212111112211112122122122112211212122122122212111211121211221111212111211112121211211221222121221111221122222122212211222122212222111222121222222121222221121222121212222121122111121121122211121121122222221212112112111221212221121111111121222222121112121122222222112221221111121121221122122222112111222221211122212111122122212221212211212222121211212111212211221112112221122111111111111211112222111211122211222111111111111111122121111222121111212122211121212122211112211221211212222212122212222221222121112121212111121212211122111221221111212111222122222121112112111211122121222212221222121221221112121121111221221212122112211112121211111212211211212111211121112111111221111122211121122211122122222211211112211211111222121121212221212222221112222111211112212212211121112121211221122222122112212221222222112222212121112122222112122122111222221222121212212212222112111211221112121121122221122212211221122112121211122222112212212122122112122111111112212121121121122212121121121121112122112222221122212221111122121122121112212112112212212112221212211111121211112111222221212222122221211221221212122211112211122121222121212222222111111221122212112122211221222211222222111212222122122112221121211112121121222221212221221111221122211222222112222111221112112111122222112211211112222222212211221111222122222212111122112111122111212111211222121121122122122222222221112112112122121211212212122111212111112221122212122112222211222221222222222212211211222211222212111122121121111121122212121222211212212111122211112212211121122122121112112112121112222212222211121212121221212221122122112122222211112112121122221211221221212111122112122121211122221121211211121221222111222221122112212212221112221211212222122112111112122212111222121111121211122212211122121221221212222122222112112212212111211122111221212112122122212121221212122221121122121112121221222122222122222111111211122221112122211211212212112222222122111111221221212111111222221121212212122212212111211111211111221122111221122112211211211222221122221111122212112222112122122112211221122211112112211221112222211211112112122111211211112112211222111212212122112122122122212111121211222122112122212222222112222122121112111212122212111111121221212112122212111221212121212221112111121122112111212221121212211121221221222222122111122121111211111212222212122211212221112121211121111212212211211121212122111212122122121111111111121222122112211211221121212221111121221222111221121121212122211121212122222121212122122221221111222221121211121212112212112222111211121111122111222122122111211221122112111211111112121221221122221221222221212222221212221112212222212111212112221212122112121211111211122222212212121121211211112212222111112112211221212211211222211112112111122221122212222111221221112212112221211212112112121122111222111112122211222221112222221221211222221112221112111211112111222212222121121112112112121112112222211112122111111112221112111122221211211121121122222122112122112121211221122212122221121212121111121221122222212122221121111111122111211111211212211111212111211221221221122121211112212121121211222111221121211122221212221212122112221222222112122221122122212111212111112111122122122212221111112212212221121112122112122112222212121221222111222222111111112112121121121122111111111112111111111112111212112212221211221212111211221211221112112122112121212211221212111212211212212212212212222122112211111212222221222111212112111121121221122111121121121221111122221221221122112122211212121221111222112212212121221111221222121122112221112222112221121221221211121121121112221211212211111211222221211121121111121212112222221211222221222111122112112121212222222121221122221221122122111212121211221212222111222211121221211211212222121121222222211211122111121221121212111211211112211121222112111122211121111211211212211112222121121211222121111121112221211112211221121121122221122221211211112111111111212211222222222212211121121122222111111122121112212122212222111212222112211122112221211122121112212112111211222221112212212211211211122211122212122222211212221122121111222222221212111211211112222222121121211211212222222221222122111222112111121121222121222221211221121221222112121222112212121122222222121221122111211222121221222212112111112121111122222212112111222122221211121122121121112211211121211221222122121112112111222122211112212212121211211121222211122111112212222211121122111211112222212222122222212221111122211122121112121222122111122221111121212111121211111111122212211111111121211212211211221112211221112212211222222222212222121212221221122221221211122221222111122221121221222112121111221112222111212122112111211221212222122212222121221122122222122211122222222111121212112211112112111212221222121112112121211211122222121211111222111211221212222111112212111222221122122121212212112211111121112122111222211211112112121121212111122111212121211221122112121212121222111211112112211212122112121111122211122112121122121222112112122211122121122211212122112212111211122222221121221211222212221211111222121111122222222121212121111222211221222212211122121221222212222112121212211111211221111212122112121121111222222112211122112121121111222121211122211111221111221112111222211121211211211121111111121112111112212122222221222111221112111212221111212222112111211112122221211212122222121122122211121121212221222222122211212121212221211112122222222212112121221111121211211112221122112221111211212121212112212211211212222222111212212121212222121211122111212221212111111212222221211122111121222122212211211111211111221112111112112211121221122211222212222122212112121222221211121122121212122122112222222112211112222122121222221212112211222112211211112222121122111212111221112111111111121221211212222122122211122222112122212111212121121112212111121211222121122122121221111221211212222122121222121121121111211211122122212222122222121121221112222111112122222112211111112111212212211212121211112111112122111211211111122111111221211121221221211111112212222121222122111222122122211212212211111111211112121112121221112122111121122122121112121112221222111222222121121121222212222112222222112212221212212222212211211111111222212121112112111122222112211112222121222112211111222222222222122112112211112221121121221111221112112211112221222222222111222221222211111112222111212122212122222212111221211211211212112111212111212212122212211111212221222121211111121222112111122212121111122111222211121212221111112211121212122212122111111211222222122111222112221222112122112121122111112222111211112112111212112212212211211221212112221221212222121121212222111122122111122121122121112211112121211112221221111211222212221112222122122221111221221211221221111211112221221111122211212221211221112212221221211111212222212211111111112111212112122222112212211211111211222112111112122211122121122222222111211112122211121122221222112121222221212111222121111122211211212221121111121212221122221112211122221221212122121212112122122222111111122121211211121212122221221121212121122122112112212222211121211211211112212212222112121122211222222211121121221212112221122221211212211111111111222121211211112221222211221211111221112212212212121112112211111221122211211121211121221222212222212122121122122222222222222221222211121211212121122221221222212121121222221211122212111212221221121121111121112121212222211222122112111111211122111221112121111111111121221222212222212212121121111212121211211122211122222111121122222211112122111121112112212211222221221212211122212221112112211222212121211121121211111112222221212212222222212122211122212112122122112111111121221211221111122211211111222221221121112211121122112121211121211111212112211221121211211221122111221212121212211211122221222211211211112111111111112121111122122211122121111221212222121212211222122221112222211121112122111211211212222112112121122222222112212112222221121121111221222222121211122121121212122122222222212212122121222212111112121121122212112212111111121222212212112111211121122122222211111122111112222121121221121112221222122212212212112112112212121111112112122221122122211212112212212122122211121112222122221112222122122112122112122221222222212121211111111212222121212111212112222211112112121222121212112212221112122221111111112222221212121211211111121111221222112111112211221212122122121211211122112112211221222121221211121212221111112112221222111222112111121212112212112122222112222111221111122122221222112112121222211111112112221212212122212211121121221122222221111221111121121122212111221222112211212212222121211122111211222111222112111112222112222221212222211212111212112222112112121221222111212211222112111111211112222221121111212111111222212222222122111212122222121121212211222212111222121211112122212122212222212121112111111211111121112111112222122122212212211221122221111121112211211222121111122121211212121122112121212111112112221212211211222222121222222112222112221211221111212122121221222222112221211222112211112212212111112121121212221111211222222222222212121212121211222121111111221121121222122111112222122122212211122121112212212122212211112122212122111222111222121121111112211122111122212111211212111111211211211211221111121212121111121222112112112212211122212212122211121212112211122221221111221212211122211121112112211222111222222211212221111121221111221121121122211112121112121221121122221212221222212221121222221111221221212122222112111112122211112122112121111212221121221222112211211221212212112212221122112122112222111111121122211111211221112211212221121112121212111111111111111211111212122111221222212221212122222221222222221222222122221122121222221121222211121222222212221111211122121121122212122112222111221121112222222111122212221121211111111222122122212222122122222211221121221111112212111111121221122121121212222212112121122211212121211212122211111221112212212122122111212221112222111111122212111122212222221111222222111212221111122111221121122221212211122112121122221111212112212211121222221211112211122122222111111121222211122122222122211122221112111221122121221112112221221211121212122212221111221221112221122211221111222212222212222222111211212211221221212212122121112222211112121111211221112111122121212222211211221212222221121112212111212211122122112212111112212121212211222122221121212221121122222112221221212221112221122122221221221112122211221221122121212221212112211212222221211211221112211111112211212212111212221122121111222211222221112222222111212112121222122221111122221122111121112111222121222222121211122112112112222221221121212222221111211112211211212112111212221211112222122211221222121111111111112221111221121212222122211221222122222211112121221212121122122122111121212222122111211211222122211121122121222212222121121112211211121111212112222222221212212111112121211121212111121222211112222112212112121221121112221211212212211211122222121121212111212111122212222222122111212122221221112212111222211221212212221221121122121122112221221222211121211212211212212122212121211212121112121122112221221212221211112121212212112121212112221112122111212122112221221221121211211122121211112221121112121111212111212222111122221122212211112212212222111111211122222212212122212121222221111121121222222221111112212211112222212211222112222121211212112111221111211211212212221212112122212212111111122211212211221111112112222222222122111211212221122112221212221111221211212121222222111112211122122112211112121211122221211212222221221122211122112112221222212111112221112111212122212122222112111221211212122112222122112112121211121121222211121212112222122221222121211121212221122221122221221112122122122221221211121211211122111121122221212112211111122211111221212211211222122112221111121122122222111211212222121221121122211212212221221112111211112211222122211212121212222211221212211211222212211122211111221221111221221111211111222111122211122221111111211221112212111122121211221111211222211222221122211112211112111112122122122212212221222212121211212211122122212221112121112221211121112211121221212122111221211211212111222211112211111111222112111221212211212211122212221211211111222112122122212111211221112222212221212121211212111222112211111121112222111212111111121121212111111221222122222211122112211112221211221112212112211111222211121111222222212111121111121112221221111211221111121212222112211111211212212212122212211121112221212112122122212112221212112222122222211112122212122112221212112122111112122112121212122111121211122111121122212111112211221122122212221211221122222122122112211111122211121221111221211121111221121221212222121112111121112222122121112221222111222212112221211121222111222221222221121211121222122221112112121122211211122112222112122111111112222112222112211121122122221122111111121112122121122222211212221221111121222111212211212111221212211121212221112112221222122211211121122122212122221111221121122221211112122121222121221112221111222111211222112221222211221211221211121121111111211121212221211112222212111211122121211221221222112221121212121211211112221122121221211211121121211211222222112222112112111122211121221222121211212221111211212221211212122122121121221221112122121211112122122222221122122222212222121222112122211221121111122212122111222112111112112111111111222121121112212121222112121121121122111221112221222221221121221211221111111112111212221122221122122111112221211122122121122211221221122111212212221212121121222211221111212211111112221212211221212221221122122211112211222111221222122221212211122122221222122112212221222212122222212121222111222122112211221211122122111112121112121212222122112222211112111112122122121221122111122122222112211111122111122222222212211211221112121121121111212221112121121211221212111222221111211112222221121211211121211221221112121222122112122112212112121212222122121122211121212222222211121122211112212211221112112222112221111222222212222112212212212222111121121111121211212222222111122211211122112111221221222212111222111111112122121122212122121221222121211221121111212212211222112112122212211222221222212222222222122211111111221121111112222111122211211122121121222111112211111212111212121111211121122211111212211222122111122112222221221221211212211112212111121211221212112122212221211222112221122212122221221122111121112111211221121122122111221121122112212221112212222211122212121221122222222122221111111222221222212211222122221112121121221211121122221221222212212112121121121122111121122121221122112121221112211221112122222211221211212221122112122212222111122111222221121211211212121221121222211221212112112211121112212221112211212222111111211212122112212122221222221211211212222112221211122121212212212221121122212122212121112212222112121112111212211222121111121221212212122121221221121121112211112211112121221222111221211121211222112211122121121121111112221211111211222221122121112211122211211112121222112121222111112212222112121222122211112222121212112211112121222222122211222121111211211112211111112111221222122121221112122221222222211221222222212121111122121211122111211221211211212222122112112112121222212221211211121121111211112112222222221112211122121221122121222221222222111212122112112212122112111111111111122221212112222221212121222221221222211121111111221211111111122121222112221112212221211111122121121111212222111211221212221121122212112222122111122121122212122112221121121112211122122121222211112212221222212212111222212222221122221222211222212212122112122122122112211222122221212121121111211121111112211212111211112212111211221211222222212112111212222111211111212122221221121122122111121211112111221211222122111112112121221221222121121111212211112122111221122211222221221121221121112122221221112112211222121122121121112111121111111111111211111222122121221112122112212211122121211221112212211121221222222111111121111221112221212122212221211222121121122221222121121221212211122112211122121112121122212221121221221112211221111112212111211221222211221121221121121121122112222212222221211121222111221221211112111211111112122112221122111122222222221111222212221112112112211221121122211121121211211211111112121221212222212221221121211211222221121111211121111111112222112111122222222222121112121212112111122222221112111211221212111212211121112112112221112212211221221121122221212111122111212222112211222112112112111121222212111122112122121112112121211211222222122221222222112112121221122122211212121112222221212121121111221122211121122212121121221222221112221112122122212211221212211111112122221112212111212221212212222221212112111221111111211211122211221221211221121112121111222112121111212111212121111222221121112112211111212212211122122211222122212222111111112222221222222122121212211221112121122212221222112211222111111122111111122222212222122212112212122122211111222112121212122221221122112211221222122112211211211121211122112221222221221121211212211222112211221212222212221221211222112121121111222211112111222211222221121211211212211221222222122122212122121211211121221221112222211122222121122212121211212211212222112122122122222212222111211211221121122221211121122112121222221211112212221212111221221111221122221212111222221122121211111222212121111222112221111222212111111121212221222221212112211111211211221221212211221222122121121211122121222211111112121112221121221121121121122212211112211212211221221212122212212112222112211221111121212211212112122112121222211112211111121122211111211111112121122221212221121211221111122121122212211212112221212212222221111112111121221121121211222212221111222112212122212112221121221122211212112122211121211112111222122211211122122221211121121122212222221211112221112121111121112121112221122211221211211112121112222121211212122211212222222221211222212221121221212111221221111111212222211121211122111112121111121121221221211212111212212212221112121212222222111122212221212212121211121121122211211121122212121111112222211212111112121111211121221212111222222122112111221121122221212122121221111211121112212111112121211211111222222122112121111122121112212212212112121222211122222121211122121212211221112212121222112222112212222111212212212122222211111112112121211111121212211221222121112121222211112112111121112211111122111212112111111222112211112121121112111222111122111122222222221211121221122121111112221222111221121121112121211211111222112222222221112112121121212111222221112222121112121122121211211121111211222211122122111221212121221221212221111212211121112221111222222111111111221122211221212122211121222211221212112212122121211222122122122122222121212222222122212212211211221111211221122212222121121112121122211221111111111121111121111212221121211121121122222112112222122212111112212212211222122111111122112211111111111122112211112111212112112211211112221112221121122122112212222212211111211212111121121211111222121112211211211121112121221212111112211211112121212112222212222222111121212121112222111111221111212112212221111222222121111211212221211112221112121211222222112112122211221112211211111212211222222212221212122211212112112112222211212111212112211112112222211221222222122212221111222222112211122122121122222221112122211222222221212212222221111211221211212111122211211212222222221222221122112112221221121122122221222212211221222221122212122212211111121122121122112221122122212211121211222211211112122121212112221122111211211121221212211221111221111221122111122211221111222221221212111112111111112212222121111112111121111212122211212211222212111211121111221112112222121211112211112112212111112212211121121221111221211121111212121211221222211112212222121221222212222122111222122221212111221222122112122222111221112211112222222111121221112121121221121112112212111222212122211111112122221111222212221111212212111221211211111122121222111112121222211221211112211221221222222112121221211112212121222121222122221211221121111212111111112222111111222122121112112111222222222212222111211111111221112221112222122122111211122111111211122111212122111222211211211221221112121112212222112222211221111112222121212122221212221222112211121212211212221222122121211122112122221221121212222222222121122222211121211121121111212221112211221112212112121212211122112222122211211121211112121212221222221212112221121212112211121111222112112111212212112211222121221112122111122112211112222211212211211121212211122122121211112111111222122111221211121111111121211221122111211221112122212222212112122121221221111212212212112111122121122112112222111211221112211111222222122122212121211111212121212121222121112121111211222122212211222112221211112111112222121222221122112121112212211111221221112111122112221111212211212112212121121112222112211111221111221221212121211212112222121112222212122212211111212121212112222122111222121122212111212122222112112212222221212122121111212222121121112111212211221112111122121122211222112122112211222111221122122122221221122212112211221111112122211211222221212222212122122121112222211222111212122211111122111211212221221222111221121112121111112222122111122121221112211212112112212112121212112112212222222112221222121222221121121111111221221212221211221111212221121212212211212112212111212212112211122211212221111221221122221221222221122111221121122221211121111111222121112112211212122121122222121111212222211221121122221222122111121122222112121212111122222111111211122221221112222122121212112122221112222122112212121221122112212221211211212122212122211112121122211221112122222211211211111111122222121212112122112222212211112121121212222111112212212222111122221121121121221121212112122111122211222221222221121121211221121111212222122211122222212211211221221112222121111111112211221122111222221212111111222122222112211111121211112111212221222222222212212121221222121221212122112111111111221222211111121211222221221212212221121122211212222221122121212212112221221112221212122121112112122212222221121122222211121122222121122212212121122122212111222221221212121222211212221112212221221122221111211211221222222121121212222111112211212112121111112211221112111122222212212112122211112111221122222121122222112112112121211221221122122212221111211112221121221222122212221222112222211121222222112122111221211111122211212121221222112112211222221122111221221222222212111212212122221211222211222112221211122222212222221212222112211112212221122222211122112111121122222222222112111211222121221212222212222121122221221212222112122112211111122211221222122221122111222121221222211121222222211121211111222122122122112112121212112211211222112212122221122212112212111112222111221122111122221121122122111122122112222111221112222112112222221111112121221222212222221112122121221222122112221122222222212211112112212121211111212221211112122221122111221112222121222221211222222111211212121221111122221221221212121122222111221221222121211121121111112121222111212122211212111122211222111111221211112111122122222211222112212211222122121212211122212222121111212121122111112121221121211121112221121122212121222112121112121211122122221122112112222112211112112221221221211111222222211221211221111112111112122212211122112121121221212122211122121222222211112222221111121112121221222211221222222111112222211222222221211121221121211122122121122222112221111222112211222212121121211212221121211122222211222211111211111121112212221222122221222112111211212212222111221122221111111111112211122222111212122221111212221212122211121221111121112212122222111212111211211221122112222121112212211121212211112111122122221222111121221112222122212121112122211121112222112222111111221122211211212222111112222112112211112111221211211211222221121111121211222122211121122112112121112121222122221221121212122112212112112122121121122221221221122121211112111212122121222222211122122111211211212221121222221221112111121221222212121221111111121211211122111211122122112112111221121121122222122221122222221222212221212122211111122221121112221122112122222112112212122221222222212221111222222122121122212211222211121212211121212122111211221121111211211112111222211111121122211112211222112122222111212112222112112111112222211121211122112212211111121122112112221212212121112212211112211111212212112122111121211211221212221212222111221212122121111112212122212111222122212111211221111111122121222111221211211112221121122211121121122211221212222212222112112121111122122212221222212211122122121121222111212221111121212111111221222121112121222221212211222212122221122211122121111221122121221111112111211111221212112121222212111111111111221221112111111122112211121121211121221211111222122122112111112121111222111212222112212212112212212212221222212121112121222111111222222221121112221222112222211212212111211111111212211212112112222211222222211112221221212221111211211222222112122112222221111211212211211112121212112121222211111122221121121222221221121121212121212112121111221211111212222212222121121222211212222221211211122111112111112121121121111221112221121111211212222111211112221221121122222211212222122122112112121112212111221212212112222222211111121212121212121221121121212221122211222222211121221221211222211211212212122111112212122222121122121211111121121222211112121111221122221112121112111112122122222222222221121121112121122221122111212121221111111121121222112111111112112211112111111222122111112222112122212212111122222221221111211121212111211212211212221122111222212122221122122122221222122212112222121211221222222111221222222222221211111212121111212222122111212121222111211112122212211212111212212221122211111221122221121122112122222211222211222211112221111222212222221121221112222221122222212111221111211111222112121221221112212111211111221112111211112211121212122121221121121111111122111111221122112111222112112111221121221222212212121212111222112111222212122212122221121211111111212221211211211212221221122221211121111211212122212221221111122112221222221211122221212112121111111121211222212211222111122211122221222221121112211211111122221222121122221122112222121221112111122221212222121212211221211221111221121121222211212212212222222222121121222122111121111212221222111212122221112112112111122121211122122122212211111121122212212121122122122122221222121121212111221212122111112211111222211121112111111211221222212111112211222111222222221212212122112211212221212111122112212212112121221121111222222212111221212211212121212121122221211122121211211211122212212211112222112211221111111212121112122121212212121212122221121222122112222212112211121222212222111222211111122111211212122222212212211222111221112111211122211221221121121211112111112212222211222221222112111212111121222122112121222212212211122112211121211211121111111112211111212211121222212122221211122222212111222111121122212221222122222122112121211111222112212221121111212222111121121221212112112121111221222221211121112212121111122122121122111211221121121212222212211111121121211111112111112112122121122211121111111112222112122111121222222112121111111111121121211122111112221222111211121222212221212221112211212221212211122212211212111111112112121121221122221122211112212111211122121121211122212111221222212111122212211222111121121211111111111121121121111212122222222211122121222212222222122122112122111212121221112211211121111212121222112112121211121122121211222212211212111112111212221112122121112222112121112212222211112122212221212211112112211222211211122111222221112222111121211122122111122121222112212111121111222222211221121111122122211221212112211121122221111222221112211211221111112121221222222111221122212212122111111112222112222211121221111111222221222112121121211221121121112122211111212212112122211111211212121112112211111212121222211211222112221121112212212112112112222111111222111121212112121211112211212122112112222122211121112222111112112221112111222122112212221211221122112221221121222122122111221111212222222122122222121121211221121121111111221211221212211122211112211222121121122122112122122212212222212122211112112211212211221121122221121111211221221121111122121212111221222211121211112111221222211212121212111211211111211212121112221112111122111221121122222112221222111122121221222121111111211122222121111212111122211212122121221122222122211221121222111211221221222122122211122221111121111122211122112222211221222112111122221122122221112122111111212211121121221221221212222122212212122212111211222222122211222221212222222121221211222211122111122211111121222211221111112212211112111211112111112121111121221121222112211122121212121212211211122212122212122122222112112222111211111122222111122221122121222212211222212221211212211211111112112121211211111222211211221122111111211122212211221222222112221122212211121222111121121111221122211111221121121221212112221111222212211111121222211112221221222222112111122212211122121112222221211121121122222111121212122111122122122112112222211222122212222222111221122121122121221211222211212111122111211122122211111112112121111221211121112111221222212222221221121212111122112111111211222121211221211211122112211221111222212111211111122212221221211221211221111112111211111221122112111211112211112111211211122111111212221112112111111222121122222111122211122112111121221112221211112212211222222212221222222211221122212122222211121122112211221122212211212221212111121212122121121221122111112121222111112122212111221111112221212112111222112221112222212211121221111122122122222111121212212222112112121212112222121221122112221111222121222121221222112121212112111222221222212222121112122211221211212122122122111122111211222121212122121222211112222212112121111122212221122122222121122222221211112111111111221121222221211221212111112221221211211212112122112112212212222121112111122211112122212221112211221221211221221111121111122211222211221111222211121112222222211222212221211222122112211121111221212222111211211212211222211222221121221112121112112111111212122222111122221211221121112212212212222212212212211112222111121112222122112211122212212111221211212122121122121121112212211111222221112212122212222221122111212121212212122122221222121222112112221121111221211112222222212221111222121211122121211221112222121212221222112111211211222222111122121122211211212211111211122111221122121111121222122122221121211112112212222212112212121122221121112212112221221111121222111121212111111212222122211111222121222222121122111112212222112221121122122112222211121222112212211221111211221111121211212221212211122212222222112212221222222122122121212112122211121112222122212211121122112121211212221211112111112122212211222121221122112212221222211112212121112112121221221212121211111111221112221122211221221222122221121111121121111222121121212221121211221112121121122112112221212211222112211111212221212111112122122212111222221121112222222121212111122212122121222111211122212121112121212112121222211111222111222222222122121112212211111221121222221111112221121222122212211122221212212122122221222112212121111222211222111221112211212111121221222121112122212121111111221121121122111211222222111122222122122122122122122212121221111222222112122111111221111121112111211211211122211222112222221222211121212112121112221122122111221112212222111212211221111222121211222122212111222112222111111121111222212221111122122212212221221222112212212121122122111121112122221211211121211112221122221122112211222122122122212111111111221212222211111222121112222221121111121211112112112122211111112111211212121211222111212112112212221111121122212212221222222221121211222112211222122212122112121221221222112122221122222221121211221211211212111111111212111111122121212221221221221122111222111221112121221122221222122221122112121121112221121222111111212212121212212211111122211111211222112121211211122222121122211212212221112212121122121222212111221122212112121111221111211212111222112112111222222212121111222122111121111121121122222212221212112121221222211211211121211212112211122221112111211211121111222222221211212112221122212122212112222111121212111212122112121211212212121111111212122211121211122111122121211222211112222122221111212211112121111211122122112211111212121221112221222121211211122122212212122112121222212222212112121212212211121221112211122112122122121121111112211111222121221211221112111122211211212122122221112111221122122112221222111122222212212111112122212211122212222221211221122222221112212211212211121222121122111112122211112222211221212122111112121111212111122211211221212222121211212111122112211222212121111221121212121222212212112111122211221122212221211122112111211222121222112121221121222222211221112111221211222111122112112221122221111212222211211121112122211221211222221111212222212222222121122121221221111221112121221222122211211111111221221222212121112212112112221211111112111222222111212211122121221212221222121112122121222111222121212212112112122121121211121112211222221112112212222211121221222222112111111111221211122212122122122112221112122111211122211122222222211212122211122221221212211111221122112121121212112112111221112112111121111212121111121212211211222221121221111112122121212212112212122212111211222122111111212212112112221211121121222121211221121111111111212121121211121211111212221221112121112212221211212211121122211122112221212211111111111121222111212121222221222122121121222111112212112122122222112121111112121221211121211211222111222222111111221221111212121112221111222112222211122112112111221112121212221221112222212112112212112222112122221222221122122221111211121122111221112221222121112221212121212222121221111121212112111222222221222121122222212122211211212111221111121222221211111211221122111112212211222121122221111121211122122222121121221122221221211212111222211211221211122222111112122112111121221122111111222211212122112212221221122222211111122112222122121222121121121211111221112211112221222112211221221122222211221211121121112112212212122222222211121121212111122112122212112122211112111112122221212112122122221122121222122222222111121122111122111211112111122122111112221122222122222111211221121112111211211121111121121121221221121122222211112221211212111112112111221212212122212111122121222221212121212222222222221221112212212212111211212212112212121221221112122221111211211111211122112212112212112212222111122211112212212221222222122112121212211222221112212122121211112222222112212222122122222112221221211211121221112111122222122111212112112221221222111122221122222111112111122211112222122121111111122221212111212122212212111211211121122221222211222111221211212221121111111222111111212121212212222221121111111121222112222212211211222211222121212212222212122112211221111111121121222222211212112111212221121211112212221121111222211211221212112221222122121211111221122212122221122122212221111222121222122112122121212121112122111112211211222111212212212221112111222121212111121112112222121222111111212111122112121222112212111121212111211211122121112121212122222221221211212112121221121211211222222122122111112111221222112222112222122211111121122112222212122222111121112122211122221212212211121212212222111212112111111221221222111122222212111212222121212111212222111112122221211212212221122121121121222122212212221122112111222212111121121112211221221122112221222112111122111221221212222121221212222221112212211221122121221212211221211112211112221121212111122121122122222121121121111211211212112112221222112221111121221222221212222222112112122222111212212221121212111122221221111111221222212112212121221121122222112212122111112121221112121111111221112121121212121211222121112111222122111222111122111122111212121212221212212212212111212111221222212122111211111121112122212121222112122122122222221221211212212221111221111212221112212221212211212122212112211211121121221121212211111111211212222211111211212111212221222112122222221221222221121111222111112212212212111222112121111122212211122112121122111212111122111122212222222221122122122112212211112222222111221111122211111222112122122122122111212222112222121211211121111222221111111121112122221112121111122212212111211221112211212111221112211212111111122212121211221212222112211211222222122212222211212111222212221112122112211111221211222211212121211121121221121212122211211121111111222222112112112121122221221112122211111211112221212221112221111111212211222121111221221121122211222212121121221112221122112222222121112212111211212121121211212121111112222211122211222122122122222112122212121122222111111121111111122221111212111212121212222211211112112112111121212222222111122222211122122222121111121222211112122212111111221121121222122121222221112112111122122221221222221112122212212112221221112221222122122212211222221211212221211211211111211212122221122211211112221111122221222222212212111211211212111222212112122111112222111221221211222122211121121121211122112111222221211112122112111212212221111221212111122221212122111211112111121112221222122122221221111221211122222221222212222111111212111112112121212212121211221212211111212211221111211211222212121112111212211211111212212111212122212122222121211212212221222121222222122111121111212121122121112222111221212121111111211121121211122211211121212222111122112221111111111212222221211222112122221221112122122212112121212112222222111112112121222221221212221211211222122221211111111221212122122211111121122112221222112121121111121122221221222121211222211221111212222222222212122221211111121121111121121112212112121111111221211211221112111122121212122121121212112122122211211212221211211121122112121112111222211122222212122222211212212221211211111111111112111221121121122121212212212111222222212211122222111212111111111221221222122122212212122121222222122112111122221212111221121212222222112122111112121211122211221222211121111112222111111112112212111121111122221211212221221122112212212122221121111222212222112212222212211121222112121222122111212211111212122221222112212211111212122121112212111112221222111212211122222211111212112212111221122112222122222112212212122212121212122111112122112221221112222222222122212112111212112121222112111211122221122211122221111111111211221211212212222221122111211221211112221111121211112111211111111211122222122111122111211121111112221111221122111212212111111121111221211221122211212121211222221211221211221121222122222112111221211211112222222212221211212222211112112121221111122121112111121221211111212122122121212121112111222221222111212212221121111111221112221211222121112222221112112122111222122212222112221222121112221222221211122221112211112122111121122121212111112122221122121111111122211121212111112122212111211221111212112211122122211112221222112222212212211122111121122211221221211211212111121211212212111212121121111112111122121211212211211222212211121112221111211122222211122111221122212112222222121112222111122112222121122111221222121121122112122122222221122122212211122111112112221122212112212112122111122121111122212212111121121211211222221212121212121221221112211222221122111121221121111212111212222121121222222112111211111112122111221112111122121222222122121211121212211121122111121211221222221212121211211112121121211112112122212111121212121221211221122222222122112222121122111212111212221111221121122121112211122121111121122211111111112122111222122212221111222121222121112221111212221222212121211112121121222111221212111122211222112222111121111221222112112122122122121122122122212211221122122121222122111211221112111212122121211112122122111212211122121222122212212121222222212221211112122221111222121212211222121212221212122112212222221112112112222111212211112222221121122121121222122212111221212221212111121111211122122112211112112121222221222221122221212121221121212112111211121111221121222112221211112212112211211111222111121211212221221111221211212111112221122121121112121221211122111212211211112121121211111212222112222212212112121121212122212222111111222212212222211111212121211111212211221112112221121221122212122112111211121211121212111221212122112121121122112221211222221211121221211212212221221221111122111121121221111122222222112111221211212211121211212212122222222112112221111112122211221122221122111221221222211112111211222211211111112221222112122222112121112212211221112122121222112221121212211211121212222212111112212211212221111221121111111222212111212211212212212121211221212111221122122211211121112111121222212111122211112121211221111212211211212211112222221221222121222221121122221211112121112122122112221112211112122221111122221221212221212112112111212111122122121222112111221112221211212111112222221122111222222211211221122221121121122221112112112122221111222112121222221221221221211221111122121112221212112112111122122112222112211222112211212212222211111222222211212112221112212221212112211122221122211112112221212121211112121111221211121222112222121121221211212212121222121111122122221222122221121211111111222211212122212211221222122111122212121122212221112122111121211211221212122111112111111221121111112222111111122222221211111211122122121211111221111122112212112212122111212211111112211112122122121122211211122222221211122211121111212221122121121121211222222112122111111122121221122221112221111212222112212211212112222221222121111112212111111221111212121211121121122212221111122112221112112112112221111211222212211122212221111222211122211122212112221211221121221112112122111221122211111222222111121122222222112221112212211222221111212221122212122211212112212111221112112111212211211222211211112111122222122221211221111122221122212122221222122121222212111111211112111122212211122221112222111212111121222121112221122222221122112122121221212221222212212222121121122112121222121121211212122121111111122221122211211121222221121222122212212222221221121111121112221212122122121121211112222111111111122212211211111122111122211221122111222221211122112111221211122112211222211212112212212122222111112111111112112222111122112122122212212222121221121222211122221211212222112111111111122211221122111111221111122121121211222212211211121222222211112122211112111122122211222221222112121211222211211212111212121222212222222112121112122222221211212222212112121221112111222211221222122121212122111221221211211212222212112112111221211211112112222222212211122122121212211122211212211111122212121121111121221112212111111221122222212112121121222212211111111211221221222212221222112211211222212112112112211211121221121222111222112112211121212222111212111221111112212112211112122122121111211111211211221222111222112112212122221221211112222111221122212111211122111211122211211111112211121211211112211111221111112122112122121211112121112122111111222222221222122112111222112112211222221112211222121121122212122121212211121122122111212222121122211222112212222212122112122211121121111111212122112212111222211222122222122121111212112122111112111212222222111121121221121112122112221122111112112222121122112212112221112121222222121111122221122211121121212111111211222112221122222212112111221121212112111121112222222221121122222122121212212112222121211122112121121121222112222221212121221212212121122111122112122121121111222222121111112121212111221112212121121112122111122222112221211221112222221221121122111111122211112222221212122112112111212121121122122121112212121221121111121121122211112221121221112112221211112111221222221222222212222222212122112222111212121112221112111211221212212211211211221211221212112221211121121122212122111221111222121222212121211221221121121221221111221212121111221122222111112111121121122112221221122121112221122221222211111221212121211211211122221112212212121112212212121112111211121211211211121112222112121111121211211221121111212222212211122212222221221222212122121221211221111212112111111121111122121211111212122111112221111112212111112112122122221122221221211212222112222112222121211221221222212112112122121221121112222212222221111112112212212212121222122221111111221121121112122212111211121212221121211222112121111212122212112122112221122122121221112112212122112111222212221211122111222222112221212221111111121112221121112211212222222221122121212211211121221222212222122122112211212111111111221212221121221222122212122211121211212212122221122111122121222221222222221221221121211111111212121211221211212221112222122222122221212211111111122222212222221211121112212111222211221211212122221122222111121112222111212111122211222112211122121212121121212212112222221212122121222121211111112212122111121121121112122211121211212212221121111212112212222121112212222212222211211222211221121122111112221222212122122211111111211222112211211212212211121121212211111222121112111121222112222212211221221122212222122122222212112222222211212122211222221211111111121222122112221122221221221112222211122122112121111121212212112211222112112122211111222111211121121122111212212121121122111212211222211112221222211222111211222122222221111112111221222211121112122111222222121122211122112211221121222212121221121211211222121111211122222212222212222112211221121121212221222222222221211121222112222121212122212211212211111112122122212121211212222121121222221221112122112112111112221122121222212111121121121111212112211111112122212222112122211212222211212221221221211221111212222112122211121111212121121112111122211112111211121111112121221212112221112222111221222211211221221222122121122111221222112222211222221121222122212222212121111212112112121211212212221212221222112222112111112112121222122221212221221112111211122112222222121212111122112211111111222212222221122212122221112211122121222112121112122211112121221121112222211121122122112112211221111122111211222221111212222221221111112212221122111111122122111211122111212121222122122121111112122121211122112112112222222111222112122122212122121212212212221122212122221221212111211212112222122122212112222112112211122112112212112212121222121212121122222222112212122221121121122212121222211211122222121122121222222222222111111222221111121121111111111222122122212222122221222221112121122121122212122121112111212122221112111221221221111222122122212122112111111111222212221221211111211121111221111211212112111211211111112111122212111122211112221221221212112221122121111222112111211112221121112111212111111111221121112222111212221212121211111122221121111221212211111121111112111222122122112121212112222121121211121211121222122222222122112112212211121121121112222121211222221111121211221222211122112111112112222212111221122211111111121122212111122121222221221221112221212211122222222122122121211222111121222212122221211221221212111221222121212111112121222112122221221221111112121111122221211111211221221221212121112111121221212121111221211111112211122221122121122211112111121221121222211111211121121212121121112112221112122112211112122212222121111111121112212212122121211122211221121121221222121122122111221221221222111221122211122222121111221112112211221122112212211222212111122122211122221211122122221111121222212112212211111212221111222222112211221122122211211222221221222221121211122222111212212212112121122111111222221121111221221211122121222212211212122222222121221111221221111221222221222112212121211221112211212222122212122222112112112111221211211212122221121221111111112121221221122221111111222121122121212121122121221212211111221222111122121112122211222122121121211112222111111221122211211121122112112122212222122122122111121221221111212211121122121111212212222122212122211212122222122122212221221121211111221211222122121222122111221211221111121112222121212111111112211122121112221222121111112211111112222111222221112221222112111212211211212111212122121111221211222212112211111211112221212121111122221121111112111122221211121221121122212121221122211111222212221211211111112221121112122122222212222221222112112212122121111212112212112122221122211112122121121111111111111112212121222112121212111212221111112111222112221221111221222121222111121121222212121211121221112121221111111122212211211221122112222111121221121221221112111212112212112111121112221121121212122221212212221111112222221222121221221221122121121221112212211212211212121122112122222122112212212211121121212222112222121121111211212222212212112221121121121211121112222221222212211211222212212211111222221112111112121112111112111212111122212121121121112112222111112121211212112111121211212122212222122111222212111121222112222111111222121121112222221212221112112111211112122112212122212111122222222221121112212212211122211222221111122222121121122212212212211222212222121222121122111111222212221211221112212121112121222222122121211112212112122121121111111112222122221112212211212222112122121121111222122211212211221212221212211112211121211111121121112121211211221211212122122112222112222122222211211121222222122221111212212111121212211122222122212121211222122111221121211121212111122211222211122111222222222221111212112222211122111122212222221112222112221211112221111222221211212211212222121211221222112221212222212121211222112212221121112122222221122111212211211221211112212122222222121121211222122221221111112211121122212222212211121112212211212111222122112112212122111112211211211122112212122111221221111122222212222122112212222121112211212121121222122221111221212221211211212121221122122221122211111211221122121112121211211111211111211221212112221221112112111111222221222222111111121211121111122221211112212222111211112122212111111221122211121111222121222212111222211121122112121212112212121222212112121221111221121122111111112211111122111222111122121212222222221212111222121122212212221221121121112121111222122221111121112121221112122112212121122122112111112122121121112121211221222221111122221212211121211121121222111211112122121111222121221221221211212211121122222221112111211211112112112112111112212111211212212221111121222211211121122211122221121221211222122122211221122111211111221222122222122112211212111212111222221111211112112222112221221112222211122222211112222211122112221221221111222211112221112222211121222211111212212112111221211121221222121111211212212212212211212111222111221211111221111222121122222221121122122211221111112122121222111222111211222121212112222222221212211112111121212211222211121221112121122121121111222222111121222122111221121111221221121121111212211121122212221222121122212212122212112112111121112222211212111111121221111121121121122221111111221122111212121221111211122212222112222111122221211121111122212222111211111111111111122212222221121111121212211121122112222121122221111121122111221112112122112212211221212122211111221212122211111222212122221122122221111221212211212211111221122222121221222111222212122121212222112212222211222122211221212221121111122222122211121221121122122112112221112221212211122221122211112211122112222221212111111211212122122121122211121212222222112111111211111211212212221212121122211222221222121111112121221111111211211111112212211112212222212222121211212222221122122112211211221121122121122212222112122221211122121121211122222212221211112212122211121122121122112212111122221122121121221112112212121221112122222221222121121221112212221222121111122121222221222111211222221211221122221111221121112212221122221112112222221212122221221212212122112211212121221221211221122122222211222212121122122112211122212212222122121111221222221112121211222112222112121212221112212122112121222112221122221112221122121122122222122121211121221121211112112212212211111122121211212111212222211212112221212211222212122112221112122111122222111212211212111211212222112211122121221221112122121112211122111112211111222212221111112122121111112112212121211111121212122112221222122122211111121221221122111111121121212212121121111211212111221121212122212212111212221212121211121212112112111121111122111122221212121112221122212211111122212221111122221112121111122212111221211111221212222211121211221211211222211111111222221122221222212211221221212111122211111122112221222112222122122212222121221111121212111121212212211222221211211212222122122122222111221112212212111111222221121111112222122221222212111212112211122222112122221121212122211211111212112212222211212121212222222112112112112221221211221221111222121211111122212122222112122211212122112221122111121112122211211111222222121211221222121122221211211222212121222111121121212111121222121122122122211211212112222222112221112112211212221221222212222112111221221111221212221112221111112111211211112221111221112122112221211221112122121212211222122121221111222122122221111112221112112212122221121111121222222121222222222221211221121121221221121112211221222112121111222122221112112212111121222112121122122122122222121222111211221121111212211211122222211112222121212222211121212121112221122121221121222222122111122112121121122221211211211221122211221112111212121122112212112122122211222222222112122121221111222122112211122212121212122111111211122221221211222121211212211121122121222221211221122212121221121211112211122122112221121112112112212222122121121211121222121211221222122221111112222121212221122121111221111221222212112212111222111122211221222221122221121221212111111222221121221122212212221221111121111112112212212111222111112212212222222122112221221122212212212112222221121221112221112222112211122111222111211212112111222221221212121121222212112212112111111212212112112112222212121121221212122222211121222121122121112221121212122211222221212222221221122121111112222112211221112112221212111222121122121122112122211112122212221222211221222111222212221122121121111122212212221112212112221221121211221221222211122211222222121111112121222222221212212121221211222111211121111212112221222122122112211221121212122212221111211112121122211211111221121221222122111212122111221222221221212121121222112212211221122222121111111121121121112121122222111211121111121221121121112222222212222111222122111211111112211121112121122211121121121112111112112221221222211212111211111222221211222212121211221111212122121221211221112122122222122211111112221211222122211222122122122121212121122212221121212222112222211122121221212211111111221221212221212112111122121112121121122222211112221221221121221121111111211221211111212211112221211211222212211211112221222212112121221222221222122222112112112122222112112112221111212122121121121121122222221212111221211212222122121211211221121211111222212122112121112211112112222221212122122121212212222212212212211212112221222122212111211112211212211221222122121222211112221212112122111111112112111122111121212222211222111112221221122111222121122121212111111112211122121112122211111212212222222222111222122111121111111122121222221122121211212221111212212211122211211112111121221211212112112121112112112212121211111112121221122221121212212121122221211212122112121121111212221112121111211111212211112222121112112212112121222112122221222221112211211212111222112212212122112222111222122221211222211212111122211211222111222211122111211222212112112121112122112111212211222212122212222111211211221212122211122221112211112111121222212212122222221112122212221212212222212212212111112112122222211121221122222212111211212111122222221222211212222111222211121122211211111111211122221111121121111221222221222121121212221111222122211212211212211121112122222121212112112221111221221121211211212212121111121221122122222221222222122111212122122121112111221221121111221211111211211221211122222111211222211212222211221212212112111112211221121211222211122111121111121211222221222222112112121122121111221221112222121221221221122122221222122221221121211121221222121222212121112212122212221121222212221222211111121121122122211222212211122212211112221111111121212221222112121112221211221222221221211222222122121222222222111222222111222222212121211222111121221121112111221122221121221121211211121122211222221221222121221121212111111112222112122112121121121111121212212112121111222122212121122222112212222211222221112111122111111112122222211121111211112122211211111112212222222222222212121211111211222211122122122121212111122112111221222211122222211222121222211122211212212212222112211112211111222211211112211112211121112222121121121211221111122111111121112111112221121222221122212121211211222222212122222111222211111121112111222122211221211122111122221221211211222111221222122211222121222212121121221212222211212111212222121212212111122221111112122221121221212121221121112212121111211222222111211211112221122111221111111221111212211121211112222211222122222111212122221211122112211112211221221222112212111212222122121111111112221121222121222222122222212111122122111211112122212211111112121121221111211122122112222121221111222112222112212212112122212111111111211212111211212222211222121212222112211212212112222122211122111111221121111121222111121221111122121222211221122221122111111211112122111221211222211121122212122122221211122122212221211211221211112221121111212211122222122121211112222111121222212112211211222212222111112111111112211121222221222111221112112222112111111212222111111212111121122221221221112222212221222211111221111111211212221122121111222221122112112212121222122112122211212211121111212112212211221221211121111121221222122221112212111212122112212212112111212211121111112122211112222222122221222221212212111122111121112222111222211112212111112122221112222112221211121211112121121111112221211222222221221112112212121221112112221121211222112221112222221111121222121122112122122211211222121221121111121211222221111112221221122211212211122112222112222211211211112122122211112211211211221212211211212111211122112111112212211221211111212222112222212122221111112121112211211121112112111212112222211212121121212212121111112122122112212212121222121212121111222222121122211222222112112211121212111212111122221212211211222221211211221122121221212221122112222212121122122122112111221221222112212122112212211121111221112211122211212122222221212111112111111121122211222212121221212111211221112111222212111122222211221222111112222221121222121121111221122212111122212222111221112112112121111221211122211122222212212121112212112112111211111111121112122111221111222112211111211111221111122111211221211211221111221221221111211111122121212121222221122121211211122211121212211112112212122211212111212221121212212112222122112121122222122221212121212122211121222121222211112212212211212111211222212222212221121111211211221221122221221112221111221222221111211111211222122222122121112211221122122121121111222121111222222211121211212212121121111212122212212112122221111211221222211221122112121111212121122122222111222222221121222222211222211211212222211222212121212121222111212112221121211212221211121222111211111211111221111121211211111221122212111211111211211111222121111111222122221121221122221212121221221111121212111112122211211212221112212111121121121111221112111112121212212211222211112221121221211221212221211122222111211112222121121221121221221111121112112122111222222111112211221122212112111222221122112211112211112122212111121212221112221111222121112222121211221221221221222111111121221212112112221112212221211212211112122122212212112121211211122122221122121211111222122221122212221111112111211211111112122121122111212211111222212111222211222221111112121112112121221121221221222221122122121111121222212211111211122211211222221222112122212222211212212222212122121222221121122121121121121111121111222222211111121212112211111122221122222212212212212212122122221122111122212112211211221122211121212111212211211222122211212222122221212221222211212222222221222222221122121122122111222211212121211221121112222122221211111222122212211121112221221111122111221122122112221211212212211122122112221211222222111111112121111221112211122111112222112212222211212212112122211212122112112111111222212222221122222112221222111211122111211212111112122221121122122212122121112222212111111212111211112212121222212222212121112112212211111211212212111221122111212221112122222111212211211222122211122112111211212221112111122112221221122211122211211122122222111221212212222222211121111111112112122211122121111122212221211212222112222221221111221222112222111111121212211211121212212212121211122211221221221121121122212112121221211111222212221112212121112112112122112211122221112221211122212211112212112121222122121222122122111212121221221212121121212121212221122221112222121221112121111211212122212222212121222111221211221211121121112221112221112221221211112111212212111221112122212122121221111221222212221221112222212122221211112212211222122222212121221111212212221111211111221122111221221221211112212112221112122211212211112221111212222121111211112112111122122222222211222222112122211211111111221111111222211121121211212121211221112122122111211222121121211112222222112221212112112112121122222121212121222211212222212222112121222212211222112221212221111221112212122112221211121111111212222122212221111112212211121212212211221122222221222211221122122121122221221221121222212122121211111222222112122112221121121112212212211122222121212122221112122121212111121122221222122211122122122111222111112221222112122111211221112112221221221111112122122112222112122122111211121121121222112222212121222112112112111121121221212221221122122112121122122112212212221221121222121212121212112212221122221211211221121212121221211111121212212112112222212121222221212222212222111212112222122121212222211121121212121112222212111121112122212212111121122221222112212111211122112212222112111111122212221121212211221222111211221121212122121111122121122112121211112222221112222212222111112121121211212211112221122122122212122122111222122121112122122212112112212222111221221112122111121212222212122122212212121222211221111222211221122122221122212222221221122111212222122222212222222211111222212112112211221222111121121112221112221222222111212222112122212221211112111221221111222211212212111121211221222222212222122211121212112222221222122222211121212211122222221221122221211221212112212211211112111112121122211121112121211121221221121121122221112222121221212122121122121111221212122211122221212211121211112112122111111212221121212121212121122112212221111111121122222222112112222122111112112211211212121211111112111222211211221121211212211212211211122222122121211212112112221211212212211221211221211211212122212112222111221122111222122122111211112121122121222111212222122222211122211222122221221222211212212212112221112112121211212211122212121112111211121121222212122222111112211111121121212121122111221122112221222211121111222211211112122221122212221222122221111112112122111222221222121112112121222221211212112121112112212221222112222112211221122112111222222111122211211212121111121222121222121211112222211222221211111122222111112112222111122111122211211211212211121112122122111122212112122112112221111122211212122212222222112112111111212222221111122122212221111122222212222221111121211212112211222122221112122211112122212222211221121112212222212221221211222222112221222222121112212121111112222221111111221111111111112112111112121122121122122221222212221121212211222121112112222111121222112212112111222211121221221221121211122121222221212212112221112211111221222121222211221111111112221221222122211111122212112111121112122112121122121222122121222222111121112212122212222111112122221122211222222222211121121111221122122222112111112112111212122112112112212122122211122112212111112221212221122212212212121112121211121221122122122222111211222211111111122222112112221122121122121112122212111211111222212111112211221111112222222212222222212111212222112211112122122212122112121111222121121222212121222111212112112211122221221111212112111111212222111111112222212112221222212122112211122121122221212111222121212122221121111122122212212212112221112212121122222121222221212212222122222212222222111112122112111112222211221122211111112121112111122212211122221222212111121211122211212222121222121122112222111121121112221221222212222111121111122211111122211121112121111121221222122112222212211122222112111112222121222122211112111121112111112111111222221211212111112112121122212122112211222122211111221221122222121211211112211211122121212112121122122221211111222122121221212212212222211221112221122212222222121211122222121111112111111111111212222122221212212121211122112222121211112212221221111112122111222221121211111121211111222121121121211212221211122222112121122111111122221212211112211222222121212221122211221222121122212221111212112121222212222112111212212111211121111221122221121112122111112212111111212212121221212221111222122212111112111122112112222211112211211222221111111121212121212212112211221121221121121121222121221221222121222121112212221121112121112212222211211112121111122112221112122212111222122211121212111121221121112221212122122221211111222211112121212122221111122211221211212122221111122122111112111122111212221122212112221221211122122211121221111221221222222211112211121222111121222112222211212222122122111211111121122111111121212221111211212111112221222111221211221121221222222122122221121122121121122112122221121111112211122212112112121212222121111121121212222111111112221121111121121221112211221212222221222122212122221121112221211222112112221222111112111221121211222111121111212212211221111111111212212122221222212111111221122222121212221122212221221222211211222221211212212212111221222122222221122221122111222121222121211111212111122111122211122112121111211111211121212211222121212111222222221211112221112211121221121222112122222211222121211212112121121221121122122121122111221211212122211221112222112112221121212112222112121121211121211112221212222221122222112212222221222221111121112111121222222122211212212222111212212122121111211111122112212112111111221212112222211122121212222211221122111111121221111222122111112211111221122122222212212122111112122221122111111112122222222212222112112212122221122121122222112211121212122211211221121211212211122112211122211222122212221212121111212221121222122211212222212222211221212112221211122212221222111221121111111112222222211112112212122111121221212112112222211112221222121112111212222221212111211211122212212211112121121222222112211212222122212221122111121211212221112112212221222221122112121221122221221111121121221121121221221221212212121122122221121121111221121121221222122122221111111112121121121121122221111112211222111111112212212122212212211222112121121221121112112112112112212111212211112121221111222221121121222121121222212212111221222112111211221122211121221221211211122221221211222221122221111112112222111122221111111112112111211211212111121211111111212121121211222222211212122112212211222122122112222211112121212112121122222222222122122212212112211222222112211112111111112111221221212112121112221111112121212121111221212222112121111121222212221122122122112112222222211122222122111212122222212111122211121222211122121121122121122112112122112222111221221212221211121221221222211112221211122211112221212221121112111121112121112121211211211122211121112211221111211122221121211221211111212121222122121112122222221212212111112212211222112212211211222222112121122221221211211211121122212212121111122222221122112122212111222122211111122121211212221122221122222111111222112211122221222212112211112122112112112121221211211112121221111121112121212122221122211112122122222122222211111222222112222211121211122222112212212221221222212121211211221121112211121211111212122221222111111121211121122112222222121211212221211111112112222222221211122111221112221212211122122211112112221121111221112111212121112111121112212212122212221212222121111221211111222121111122111221121212122221112222211222122112211222122121221222222211122112121111121121111222211122112222121121221211111212211212222121121121112222122211112222112112122121112221122221121122111122212111212111112221221222212121112111222211211221121122111222112222112112211121111112211212222211211211211112212112112211111121112221122211212211221122212111212112222112121112121122111222211222212111222122121112221112221221121212122222112212212222222212111221221211122221122111221121121122112212121122111222212212222122212121211122212122121221212211221111111212112121222111222112112211122212212221121212111222221122122121222222222221221212221211111112211122222212212222112212222212121111212222222112222221212111122111121221122121212221111212211222211212121212112122121112212122122212211111221111211212122222122112111122211211212221222212212222111121212222212221212222121122221111221221112222221112212122221212122221222212222221221221122121222112111222211211112222211112211112222211122221111112112211111222222121212222212212121111222111211121211121111221112112211211211212121112222211112211211112111111111222222222121121211222212222222112222212212212212111222112221221222211122222211212212221112222122221221222212212111211212112111211222122211122122111122111211121212221121212122222122211211212221221211221122122212122112121211111122121111122112221212122112112212212111211211122112122222122121121222112111222221111112111121212212211122212221212111121221212111122112222122221211212221111112122122211112212212221221221212211121111121221121211112211122222122211111211122112221122222111221111122212212122211112112122122212122122221121112112211111222112222221121121221222211112122122211212111111211121111212122121112121212222121122222121212112221121211212121122122122112221122212122121111121121121212122121121211221212112221222112212112222222121122222212211111211211222212121221122222212211111211211112111111111112211221222111111112211212112221211121111122221111112121112211222212221122111211222211211211211211221222121222112212212211221222221222112211112121221212112112222112221112112121222221112111112121211111112212212121212222121121221111211221121112212112212212221111212121211211222121122121112222111212212122121222211112111122222112221122122212111222122111122121222212212112212121212212112212122221111212222222122222222221222211221211221211211212121111212111211222212112122222122122112112121111111122222222222111111112112222121211121221212111122212212111211212112111111212212121221211111121112121212211222112112211221211221111222222211121122112121112222222222222212122121222122211211112121122122211221121221211111121122121222211111111212122112112221222112111211212111111222111212112222111112212121222211212111111111212212212111111211221111111221212121121222112122222221222212112111211222221112211111121212121221221112112111111211122221212222121111222111122221121211212111211211121211121112211112211122212221212221121221222122111212121211111222111221222212222222221122222212122112211211211122211122212211221111212121121221122212122111222112221121222222121212112212121122222111122112221121221122221211212112112211122211121221221122112111222122221112122112221222212212112111122222112111112221221221121211221221112111212222212222111222112122112121121222111222122122111212212212221111121211211111111212122212212221211112112111122212212221212112111111211122112222212212212111111121111222212221122212211122211221112221212212212212121111212122111122212221212112111111122212221111222122221111111222122211212112211222221211211112211122111211222222212222122211211211222112112122122222112222121222121212211122122212212111222222122212222122111221212121112111122112111212112222211111212212112112211221112212222121122112111222112212221221121222121111222221111121112112211211222121122212122211122111211112221122212122122122112111212212211111112112221121122122112121121111222122122222121212121111222121112112211121111221121211222122212212212112222221212212211211221111121111211121121121221222222221221111222221111221122212211221112212222112122211212112121221212212112122121211112122122221221211211211222222111112121211111122121121212112211112111122112212111222121112221222112111121111112122111212211122122112211111122111211111112121111211221211221222211121121111122121222122112221122111112211122211111221211221212111121212121221222221112111122211221112211122111121122222211122111112112222221112121121122112222211221111111111111121222121111222221211222121121222211221212121221111111112122212121122112112121121121212211221122222212211111222121111122211222122211121211122122122211122212111221222222121112112212121221221121111112122212111211111222222212222221211111212212111222122112221111221112121111211121211222221112222122122111221222122112211121121211221212221222222222222221221222212122211222121221211222112121111212112112112212221111212121121121222222222122112221221122221111121121221112112212211121221111121121212222112221212221212221211211212211121212222221222122221112222121122211111111211111122111221111211222122112222122111211211122121221112112122122121211121212212211111111212212221122112222121212221211111121111222122222112122121222121222121121222211112211121121212222111111121211212221122221112121112212211112221222221112111122211112212221112121222212221212211211222122221211111222121122221122122112111122221122212112111112211112221222212221212221222212122112122212121212112221221211221122112211222222222221112122112111222112222112212222122212212121121121122112212112211222222211221221111112212222221212121112222112121111212222222111122122112212221222112122112111112121222212112122221121221112221221212212121121222212112112221122111122121221122112221212211212122112222122222222112222211221111211121211111212221211121221121211222212221211222212221122221121121111122111111122221221111121111122211121111222211112221111122221221212221221121222111112112122221222212212112212222111112121211221111111221221122212111112122222111222211112121221112211112222112111111221111121121121211222221112111211222121121122211222112122122111222121212221212222112211112122211212221122112112111221221212211222121222111212222222221222112121122221212112221221121122112111221211111121121212221121212212112122121111212211222122222122221111112211121111212221121111122221211221112121221212111222112212222111121122221212222211122211212121122122221212122221211112121112122222212122112112212121122212222221121221221221221122122221122211122111111221212111121212221111122212122122221111211112211112112211221222222222221221221221222111112212211222211212112111112121121112112122111221221112122122112221111221221211211122212112222121212222221222121221211221111111122211221222222221121222121112212111122211221212122221122111222222121221111211212222221212112111212212112112121221121222212221121111222122121222122111111221222121121112222211212112222211121111111211212212222221112212112211211222112221121221111221111122122121221121122211111122121112222212122211112221122221212211222222222112122122221212111222212122212212211112212111222212121212222122222222211112211122121122221212221222211211111221111112121121122221221212122222122221112212211221121212122111111111111211121222211112122122211221221212111222122112121121122112212212121111221122222111112122212212122211222112221111122221112212111122112211222121212211122222212221121121211111111122222122111211211211111122121122121112121221212212111221122211112211222111212221222121121111221222121122212111122111112211111222222221211121122222212221111111122112111112121112111222122122112222112212221211122122212122112111122222222111111221212221221222221121122111122211221122121221122112222222111212211221212211112121112222121111111212112212212222112221211211212221112121222112212222221221122212111222112111112221121111111222121121212222122112211212111211211211221111222122121212111212122221221211211222111112212221221212121112221212112222121111122111112121221221112111111211111221111122121221212221121222221112121221222211122222122112122121222111112222221222122111121111211122122112222212112121222122122221111122121221221121211221121121111211221121222122211111111122222211122111112212122221121111121112122211222212221222212122121122221122222222111121211121121111211112221112211211122211222122212112212212121222111112221211121221221122212112212212122221112221212221222221212212211121221121111121111222222222112121222112111211211221212211211221221121221112212112122111122122111112121111212112212211211122221111222112211122212212112221112221212211211221111212112222122122212122221122221112111121222111121111122112122212222122122121112222222122211222112112221211121121221212121211221221221121211221211211112121222111212212122122111212122121122111222212212212211221222112122211122211211122122221111212112221211211212122121122111121211121211212211222221111212111221122211112112111112122211112212121121112222121211211222222122221111222212111221222112112122222221221111121111112211111212121221221222121211112122212212221211111112222212112221121121211122222122122122212221112121221112112111211121122122211122112221221122122222111122111111122212211211122111211111211222212221111121211112212211121111111222211212212222112111111121222121221222121222111112212221112121111112222221221222221212112212221122211211222221212212211121121212111212211221211222211112222121121211121121112222222112112211111211121111111121111221221112221112221211222112212121112121211111212121121222122221121211212122122211221121111211212112111222211221212221211111211121211212122121212122122122212121111212221211121212121121211211222111211111221212112212121211222121222112212211111111212222121211221211112122212111212221222111211122222112121221222122111222111211122111122212111121221121212121221112221212211222212211222121111122211221211221211221211212212122221112222111222221121211212222112122212122111221121112212122122221121111212122222112221112122111122211121222212111112221222121112111212222212111112111112122212112112221211112111222212222222221111122221121222212111111222222221122221122222111122212111211212112112222222111121221221221221112111111122222212112221111221112221221112211121211222212121112112221212112112221121221221121211112121221121112111121222112112112121212211211212121121122211122121221212222221222111111211211222212222112211121211112211122112121222111121222212122211121112112121221222112221111122112222211221221112222212111122211122222222212211212222121212211111221221111121111112121121122211112121112211112111122211111212221121111211122112212111121211221111212222121112112121112221221222222112211111122112121212222121122211222221221211121222221212212211212112111212111111211212221212122121211111211121122111112122222212212122111222211112122211222111122212122211121212212121221112212222221112222122211222111122212222212211122221111122222222121112121111222111211121222111212122111122122222112122111121221112222212121222111122112121222112221111211122111112221211221211222121111212112111212121112221111212111122221211222222222212121221222111221122121112121122222112122211111122112221111112111212222221221112112121221112111121111221212112122111111222121212111212211212211122222212111212122112112121211121221121122122111221211221222221122212122212221121211212122212212212122111222212111122112112111112111212121122111211121212212121222112222121122211122222212212212121112121221222212111122121122222121111212111111222221122211222221121122222111221121221221221122221212222222221122222211112211222222122211122211112221222112222212111111222121212221121112211221211211112221221222222221121211112121212222212122222111221122111212122112212122112111222112121222121212112112112112212111111112111221112121222222211122122212212121212122112221112212122221222211221221122222212121112122122121122212222212222211121121111222121112222211212212211112122122222122121112221211111222112122121222221122221222211121222211221112112121221111111112111111112212121212212111111212111112122122121112122121111122221221111221122111221111122211111211121121122121211221221221111112111222111122121122222121221212122221121221222212212212211111212222122222121211111211121211111112121212222112222221111111221221221122112211222212122122222212112122111211122221221121222221222112222211222112122221222222111112122112112112221121111122212221221112221112211121122222112122121221122222111111122221111211212212221111112211121111222121111112222122211221222112222212121222112211221112111122211111211211211211212212211112111222111111212121121222112111112221211122222212112121112222121211212122212211121122221121222112121211122212212121212221222121112222221211111122222222111122122111222112211121221121111112112221112121122112121121212222212222122211112111111212212121121112211221212122122212122111122111212222121112121211211211121211112222222111222221212112212211222212212212211121122221112221121221122121121221121211221221221121121221221111222112121212122111221112221211112212212211121121121221112122121212121121212221211212122212111212211122122112221211122122211211212122111212112121111121121121121222111212211111122211122221211211111112221211122122222221122222222122211211122111111112212122111122211121122211112112211111121121111221121111211222122121221121222221211212121122221121111111221122221212221122221212111111212221112122211221222121122212222221121212122211211112212221122111111222211212112122211111112111122111221112112112212122211211121122221111112111212121211212221112212112112111121211221222112221121121122122212121211111122112121211111212121212222121221222112221111122122111112221211121212222222112112212212121122212112122211111212112111221121211222112121222221111221122211122212112211212111122222212221221122122211112121221222122121222221111112122212222111121222211122121111221111122212111221112222222111122122211222122222211112121121222121211212111211111112211221222211122221122211111112122111122112211111212211222211122122112222211211222221221222212112211111211121112212111212221221221111222112211122221122122122111211121112212222112211111122121112111212112222222121221222122111121222111121112222212121122221112221122211121121122222222222111111112221222212122221112122221211121112111212222122122221121111121111111122221111121112212112122122112211112211211112112112122122212112212211112122121221122122212211212122121221211112122111122221222122122222221111212211211121211112221111122112112112121112122212121112121122121211122212221212211121211221211222221122222222122122211212211212122111222112122212111222222112122211221211212121211112111222221222222111222111221121222122112221222122212222121211122112111212112111222222211112221211122211222212221122211211212112211122222122211212212121112111112121211122112111222211212112112222212211112211222222121211222222211211222222112212211112122112211112211222222121122211122111111222211221122211121111221121122222221122221221211211121211111212122121122112212212222122111111221212121221121112112221122212121111111212122221211222112222111211221212221211121211211212121222212212211122122212111222121121121111121211112211221222211122112211212121121212211212112211222212211221212122121211212211212211212121122222121222212122221111112212211221221122222121121111121111112111111121121111222121112221112211121221112222121212122221121222211111212111211212211121111111112122221211122112121211221222212121111111121212221211122122211111122222222222122122212121211111222212211111121122212222211121211212221121222221122212221211112212212112221211111222212122112212222222221112212112121121111122222212122211111212121221221122211212121122112211122121221112121211211122211222121222121111122212121112222221222112212212122222112122121211122122111221121111221121211211222222121221111212211222111222112121221221211122111112121121111122112222212221212211221111211122122111222111122222212211111221122212112111122112122122112111221111111112221211112211112112212111112121221221111121122222211212212211122121222122221211112222222121222112212222212222122111222121121111112122121111222111121121111211121222112211122221222222212212111121222221212112222112122221122111222222221222212211111221112111212222112122122221211222122111121221122111211111222122212121112122122211212112222221111121221222212112211121122221212112112121111212221121211211121222111121121211111111112212122222221221121111121211212122211122211222211222211121111111211121221121122122221121122122221111112211211211222111211221211222221111121212222111222121211112112211121121222112121111211212212222221212211211222112111122112121111122211122221121212112211222211212222122212112111111111222122221221112211222211112211211122112122212212121221221122211222111112221221212221111221211211112221121111111221112122211221221111122122212112221112111212111211212212121111111211222122222112111211212221211112221121122111111212212211111211221222222111222212122222211212222122112211222122212212122111122222122111112212111222112212122111121212221211222111111222221221122212212121121221211222111112221112211222111112122222122112221121212222212211112122212111221212221122212122212111122211121111221222121112121221222212211211212222221212211112212212112121121211222121211111212112112122122222122222212211212122222111221221112211111221121112112212222122111211112212222112121211121121121221122121121112221122122211121212111111121121112211221211222112221122111211112112121211112221222112122112222221222112121112221122212112121222211222211211212122111121111212122212111121212111221212222222221112212212112221122122111211212112122122122221112222122112112122121111221122112111112111122121111212111221122221112221122111122211121221221211212122222222222111111212112122221111222111121112121111112122222211112122211221121111221112112211211111121211112112211111122211212121222221122112211122122221211121211221121222112122212121111121112222122222212222112221111221112212122212111211112212111121122112121222221111122122112211112211112122221111121111222222221222111222211111121111211211211212212111112212122121121121212211222222222112122211212112121122222221222211121111212121221121122121121222212222221121111212111112211211122111121122111211111212111222111121222121111222121121111212122211111121212221121221211211221211112212222122212211121221212221222221212221211121221112122222122122111121112211121112111122122221211111111121122221211221112122211222111211112221221111211121121111112212222222111212222221122222212112221112211122121111121212221122221121112211111212122221212112121111222211122122222112122211121121112211212221111222122211112111211121222221112121221121221112122222221112112212122212212211212211222211211112221121211111221212212212211112222121122111211122212212211212121212122211111212121221111221111111222211222222211212221121221221221212212121121121221112122111222112222121211122222212221221111211211212111212212121121212222222221211121221221212112111122112222212112121211121212222122212222112111211221111111211111122111221122221211221212221211111122122222222121111212121221122112211112211221222121221111221211111111221212212122211121221211121112211121122222111112222221211121121211112112221112111221112211122211112121221222111122222211122212112122121122121221122221112222112121122221112221111111122212112111221212222112112112111211222111212121122212222222212211122221122212222212221121221221221111211122121121221121111122211212222122121111112212221222222221211111112221221121222212212222121112122222221212222212221112112212211221222221211122111211212111121111221122112222112112211211121222122121221122222112222112212221221222121212112222211121221111121121112222222211212211212211212211222121112211212122121221212122211121111211212221112111112222112111221112112222112222222221211222212222122122222221111222222221122222121122211111112211112212121122221112212121121212211122221111122121221121121211221121111111122112211121222121211121121211221121112211111222222121111122212212121221222111212221111222111122221111221212211211122121122111121221122211212211112122222122122221211211122122211111212122122111121122121112222222111221212222122111211211112221111121221221222121121122222212211211211222122222121212122222122222122122222222112122212111122212111112222222122122121122222121111221111212211111221222111121212121212111222212221111121212211221211212111112221211221111112212211111122212222222211121211222111121222122121221112221122221222212222111112121222112112212112122111122122121112211212112212121221122212221112211221111121221112212211112112122122122222121121112112122121121122112112221121121121212222212222121111122121222111122122121222122111222211111121111121121222122112212222211221212121211221222112112211122221221212121212112222221122121112111211221112122221212211211221111122211121222112111222222111112212121112111221222212212112122212122221122112212122211212121122122222222221211111211221211212211111221212112211121122221111111121212222212122211111112221121121111222121222212211122122122112211221221111122121121222222111121112222121121111212222211211112121211211221111212212121221112222121211222212121222121211211212212212221211112212222211122221222222122211212111222212112111111112221211111122221222121221221221211122211122211211221111222122211222222211111212211121211111221212212111221111111212221211221122212112111211112212122211221122222112121211221221212121221121112211111211111121221211122121111211111212112121211211212211221122211221112212221121122122121221121121112212112211211111222211122211112112122211212111212211112112211222222212222221122121112221212212222222222222112211212221122212122211222122112111121121121111122211111221122221111211121122222111222221121122121111222122212211112222221222222221221121121212221122121121221111121121212122221221122121211111112212111212112211222212222121112121211111121121112221222212221211221212211221211221221112122122112111212212221121121112211222211222111221222222112222122111121212222212212222222211111222111121112222221122111111111112222211211112111122111212122121112221212111122211111111212111222212221211212111111122211212112211111112122121112111212111111121121112121122121112211222122112222221211112221111112122211122212121221222211122212222211122111121112121122212222111221121221112112222112221122111221222222221221212212121222222212222221121211121121112112112211212111112221122221211212222221211121212221211211221212221221112211111111211222112112222111212222211221212221211111111221222111122222121122122212222212212211112112212122111211212111121112221122221221211121111112112111112221111221211112212111122121111111221122111121222211212211221221111222121222222112222221211112212211212211122221111222112212121222121122221112221111211221122111221121212121221222112222112121211212121211222212122222122212112112211221222112212111121121212121122112122111211111211222112212211122111222121122212211221222211221112212111222212212221122221212222112221122112122211111221222222222111221111211122111211222222121212111221121111222212111211111122212221111111211121111121112212211212222112122222212121211111221112111121111111212221122112122221221112112221111112122222212221122122212121122112121211111222121222111212212111221121222221122221111211212212112112221122212122122212212211122212122121122211122121111112221222222111211221222112122222222111221221221122211112222122211221121221112112122222222212212111211222112221211112121121121212112111121112222212112212212121212112211121221221121222212212121212121122211122121111222112212112212212111211122111212211211112221222212222122222212121212221111111122212221111222112112221111221111211121222211221111211212212111111211111211211212222211222121112121221122211121112222212212122211111221212212122122121222112212122212211221221122122122122112221121211121212222222211112112221122121212211111221211221212121212221122112211111212221122121111221211221211111212211121112212111212112221122112122212121121122212221122222211212222121212212222111211221212121111122111112121222111221122212121122221111112211211112112221222122121122221122212122222222122121121212222122122111121121112111111112221112211211221221112222121211221221221211121222122212121221122212221112121121211121122111111211122211121221112222221111111222222111221222121112121122211111122122222112211212112221211211222122211122112222122221221211122221221121111122122222121112211221212211122111122211111211221112122212212121221212212212222211112122212221111122111221211112212111112222212222212221121222111221112112212222211122211212121111211121112212121112212221121121122111121211211111221121121111121111222221212112111211111211212222112221111121111222221211111211111122121111221211212221121212121211111121111211112112122221211222221111112221111111112111122112212221211111111112212212222211121121122111221212221222121122121211112221122112122222212222111111122112222222112122221222221222122111111121222211111212111111112122122222122121221212111221222112212211122212221221111221122211121222211122112211222122211212212221122222111121122211212222222121112211121221111111221212212221121121121211121222211112222212222212222112122111111212222112111112121111112112221212111112122222211121122211122112122111122121222212211121211112112212112121112222211211212122212212112122212111211112212222112122221122212122222121121121111121112111122222122112122222112211212211111211221221122222212221112121222121211211211221222212221121111122222112111221122211221211221112112211121112121212212222112221111121122112122222112211111221112121222111221121211221122111112221122112211112122112211221122221222211222211222112221222212211222212111212122221221221121121121212112211112211212121112221211122221212212111211121221112211221221112121111211122221212121221111221212122221221111112111111112211111112122222121221111222111212222221111122212121222222111112122111222221111122212221221111212212122122211211121222211221222222221212121211111111122212121221121211211212222212121212212221121211221221222111212122121111212121111211122112112121122211222112221211111112122212111222122122121111121212122211211222111222211122111211212112221112212222112211211112212121221221122212112222121112222211111222221122121111111221121222221122222222122211221122212221122211121212111212212222212112122121221222112222111222222212121122121111122121212121111222222121111111111122121122212211112211222211221212212211122122212222221112222112212222111121211122112121212111211221112112111122122112222121222222122112221122222212221222212112211111221112122121222121111121221222211221212112221111121222221222222121222222211212221211221211122121212222111211211111111211112212111112111222122211212112212112111121222211111121121122121221211121111222112122121212212221121121212222112212111221122221212222211112112211212112222212112211222211221222111111211122112221222111212212121112111121111212222112121111122212122122112112222111112112211121211112112221122122122122222112112112222111122222222122212111111212112212222122212111111122221112112112122221111121212112222212112121211211222112121221222221221121111211122211212221121212112221112212122122121111121211222112122212111211122121212112222112121222222111122112212122112222111122211112121212112122121121121122111221112222221221212112112121212222122221121111112212121121111221211211111211212112111221122212222111221212222211121222211122212121111211222221222221222221222121112211112212211212122221111222122121112111222212111111122121122222112121112121121112112211121112112212121211221212221211112122122112212212212121212112211112221211111221121122112112111121221111211212212221221122111222111221221112112211222222212211111212211122211221221122212221112121222121212212222221222112121122222121221212222122122222211222212111122121111211211222211122122111211221222211111111112211222112112221222212121122212211212212222211211222212111121122221122211121221211212221121212121222212221122122121221222222121121221212222212112222222222211212221212211221211212222121222122111211221212112222121212111222121221212111121112121112212221112122121221112211212211122222122112222212211212211221222221211211212121122121221121222122121111121111221111111222122211221222222211221111111212221221221121121112112211211212121222122112122121221122121122121212112221212211112222222222122211111211112112112111212221111211221122112111111122211211111112222211222112212111221111221122122122211111211112222212211211221222111221211222221121222111211222122112122212111122212122212222111121221222211211121221122112121212222112221122221122122112221112122222212112122112221111221211212111112221112112212121211111222212111221111212222111112221111111122212211222111112221111112121222121221121222222112111121112122222211121112211221211222211221122212222211212122122121212111112221112111112121122212212221111212211122112122111221122222211211222222211122221111221221121211211111221112122221211112121121222221221211122122222122111222222221222122211122112211222212211211121111112212121221211111211222111221222222122221121221211112121121112111122122111221221112112112112211112111221122112212211211111222211112222222121211221211222111212211112112111211111222111112221221122221211211122121222211121122221222112121122111221221112212112221221111222211112212221122122222221211211221212111222211212221111111122121222212212111221112221222221211122121111212122211222112212121112122212122111222212122212121111111111111212222211112121212111222221222221111211112121111222222111222121122111222112121221121112122121222122212121211221122121122122122111111221121221111122212121122111112111211212222122122111211212211212221221211221211112212212212212122222122221212111221122211122122221112121122112212122121222221212211111111112222121121221221211121112111111211111222121121121211211211122222221122222222221111122121121111121111112111111211122221212221222122212212112111212122111111112222212222222111212122122211112211212212111222221112122111121221221122122212212122121221111221112221222121121212221212221211122122212211212221112121122222122112112222121221211222212122111221111222211222222222122222212121212111222211112122111121112121121112211211111212221221122122112211112112121211121121211111211122112111122212111211221111122222121112121211212122111111211212111221122122112212211221221222211211212222221211112221122121111212221211212112112221121221212222112121221122122222121112122211121122222221111112221212211221121222112221212111222111122221111222121112212212212121211111221211121112211222211222112212111111122111122222212222112212212112121111212221211222112212212111111111222121112112112122221112212222112211211212111111112112222211121222222212122112222111121111212222211222121121212121222221221222211121112221222111212111112112122212122211221221111212222111222221121212122112121121212111221221221122211222111221122221121122222111111112222121122122212111122222121112221211122111221121111111212111121212121212212222221212211122222221221221111222121121111121212112211111221211112112122211121111121121112212112111221221111211212111121121222122211111112121211221122212211221122212121122112122111211122222222121121112212212112212122121221212111112121221212121221121122112221121111222121212112122111222212121222122211111221122112212112111121111212122221122111221211221121122211212221222121112212122212122211212122111212221222222121112122122121211221211222211221211222211211221111112122211112212222221122212212112222212222212221211112122212211112222212212222221212122222121222122211221222121121121112212121121122211121221222122112122122221121111212222121222212212121111221212121222211212111212112121221211122212121112212121112211122111212111112212122212111111111211222222211222122221111212221221221222122112212222111122121222222222111221221111212222222111222222212121121122112222212212212221122211112112211121121111222121212211222211221112121211112222221212221211212121122211121112211121211112211222222221222122122112212111222122212212112211112211111112111111221111112211211122222122112122111221112221221122211122211222211112122211111212122212122112212212221221222121221212212122122121211112121122111212112211212111121212221212211121211222111221112222212211211112212222122111212211112211221222122122111111122121111211122222221211122211212222112212211211222212111122222221111111122121112212221111222211111122122121121222222121211122211122122112121111212122221222212111211122111122222212122122211111111211112221122122222222222211212111122211111122212211211212111121212212222212212122212121221122121212221211121121212212222222121222222122122112122121222112211211211112111222122212211112112112112211222221121221211111211112211122222222112121212222221122212222222212111212211212111212112211112112112212112222212121112222212212121121222112222222111111112111221212122112121112121112111211221212121222211212112212211211112212112222122212221112212122121121121111221112211122121111122121111122212212212212112212221122121211112111121121122121212212222221212121122222222221112211212122221221122222112221222211122212211122122211112221222122112212221211221222212222221212111211112112212211212211212212112211122111221111222221112211111122221222111112222211111122222121211121211222212121222221221112221111212212212221211121122212212111212112212211112212111122221211211211221122111212211112212211122122111111212221222121111212222121121211122212221112211211212122111122222111221122211211211222212221211111122112222121121121122112112112122221221222112222112211222212112122111121122211222222122112212212221211222122121112211212222121112112121222121112221121222111122211212121122111212112121111211112221221111221212212111121121112122211112211221211122122222111121122122112122222211121121121222221221122122112112212122221112121122112111222121221211111211211222112122122222111112122221221221222221211212222112211122122221122211121112211111212211221121212211222112121112212212111122221122111222211212222212122222212121222121221212222221212121212112222112211211111221221122212121221222222222122122211111112112211222221222212122211222211211111122211111211122222112211212112122121122221211112121112222222112221112221112222212111222111221221112212121212222221221112221211222211222212112211122221212221212112221121221222112111112221122211222222112122221211221211111111112112121121121221122121221121221112211212222222122121211111111212221121122111221222222211211222211212111111111122111212111111122222112122222122112222121112212212121212211222222122211121121222121221121122122222211121121111211211222221222112112212222211222112112222221122222112221111111122112121121121122112212111121111111221121222112112122112122211111211222212112221122221122212222222121211121212222122111221212212221212211112212121221122211112111121121121121122121122121111222212112122221112221212211122111221121112122112122211212112212112221111112221121211111221121122122221121211222222222112112121111211212211211221222211111111121222112212222122221212122211211222112221111121121211221222212112111111122112211111111211221212222222121112112222111112222212222112111211222111121111111222112121221211121211222212222122112111112111211211212112221212222121211112212111121221221121112121222121221111211112222112122221211222222112111112112111122212111112121212111112112221221112112122112222122121122221122122221111211222122112111121222111221112212212112122112112212222221112222222112112122221112221222111222111111222121221221121212111222221212222212112212211221122221121111212121212212222121112122221221221121111121222211112122112112112222121212112112211211112221212122212121121222221112212211212121221212211211111111221112212112221221221221221211122112112112212212211222221111212221222211212221111112212222222211122221112211112222121121222222121122112112221111111211222211111121221111212222112121111212222111211111222111211222211111222222211121221111121221112212112222111221221221111122122211222211211211112121222222122212112111221121111221212112121222222211112112122121222212211222212221112221211111121211222121112121122212122122121111221122121111122212121212121222122211211222112221111222211212221211121122222211122122122112211211112112112121211122212111121122122211212122111222222112222111122211111121122222121111211222212221122221121221212222212111221112221222221111112221121121111111111211211112212121112212121122121211111211212121111121212222212212221111111122221122121122122112112221112222211222112121121122111221211212211122111222111121221121221222121221221212222112121222211122222212222121212212222111112222211212222111121212121112122111211111121122122122121121221212211211122211112121111222212222222122221222212112121211212221221212221121212211122211121222221211222111211111212111222211221221111121122122122112112222121221112212121222121222222122222122211212111211122112221211211211111111211121122111221122221222221111222122221112221112111112211111121112121221222112122121122212211112211112221122221111111211112221222221221212122222221221211122221211211221222212221121122211221212122121222211212122222221211222122211211212111112211211122222122211222111112221112211122221212122212221122212122212212212221112111221122212111221211112111221221221222111122212221122112221222111121122221121222221112112211121121212212221222222112211221211211122122221211221112112211121221112222212211111112112111111212111122122122121211121111222211212111122122112211212122121222112212222222122121211112222112112122112111211112111222212212111122211111112222112222111212122212122112221111222111111121212122221122122211122222112212112211221222212222221121222211222111222211221111112121122121222111112221222211211111211121111222111222111122121211211212212211112222111112222211222121222212122212111122111222212112221122222112212121221211122121121121212111112111212221121112122211221122121222222121111222122222212121221221221121221212212122221122221111112211211111122121112212222111121122121111111211121211212212112212211222222221111212112212222111221212221111112221122221212221212211122211112122111211121111112122222111211211111221212122221112111221111222211221222111112121211212121211222121112221121122221121121122122212221222121111112121211221112121222122212112121211112221221211221112222111221122121211212221211111222212112121221122122212212221122212111112111212112122222121111121122212121212212112112112211122212211212122111122121122222212212122212221121211122121111112112222111112211112222212222121112212122122221221112212112212121212111111222122212112211122111222122212111212121222212112222222121211112121111121112122222122222222121211221111111212122112211111221222222111112211212122112221211221121211222211212121122212122222121211211112111222212111112111112122211112211112112121221121111222121121111111221121122221122211122212122112221221122122111111212112221222211222122211212211211212222212112212222122122111212222121111221221122211111221222221221222111211112212111111122211122212211211211212112221111221211111112212211212211121121112111222212111212221211112112221211222122212221211211211112212112221221112122112212211221222111222112121221121212121221112211221122121112222111121112222121112111122211122212111122211222111211222211121221212122121222121112212111222222221222211111121112212221221111222211111121122222121212211212222112122222112212121211122222111212211111212122212222211212212221121221211121211122221121121121222112111112212111221112221112122121122222112212221222221111112122122112122222212212121122221111212122221121211112122211211222212121222112112222221212222121211221112111111222211112111111222112221221211221211211211121222212222122112111111222111222211211212212212112221212211211221221211122221222212211221212112222121222211112112121121211222212111121111221121221212221122222212211122122222111111221212121111111222222222112121211121111112221221211221112121221111121211121221122221212212112221111112111222222211212221211211211122211112121221121222211111212111111111121111121211222222221212221222122122111221122212222121111121111111121222212222121112222122111212212222211111122121111212211222212222212212121121121222221212212221121221121222112221121221222221212111111211222112211212212221222211111212221221221111211211222221111122121212211221111222122121122121211121221221222212122222122222122112121112111211112111211211121221221212211122122111211122112221112212222211221212212112111221211222212112212112111122221111122121212212122112211221122212122221212212221112121112111211122221221222121211221222221221122121122222122121111112212112112211211212222221222112222111211211211122122112112112211122221112212122112122222221212111212112211121121211111112211111212222211222211121222221211111121222211121221212122122121221211212111112122211212211212121212122222212121121111121112112221112122212121122121111222211122112221122222221112221222221111112222221211222212212122222122212221112212111111121212121122122211222222122122221211122211211112221221211211111222221111122121221211112222111221121212111212211212112122212212222112211112121112221112221221112111212222221211111111111122221212122111221222222112222222222112212211111212212112211122112112111121122111212111222211211212222221212211122121211211122211111221122121112111212221112111211211221111212121122112112212122212111212222122222111122111112222212222111222112222212121122211222121212122221211222111111122111122222212122212212211112221212211212211121221222212122111222211121222112112212121112121122122121111221111122221211222112111221222212212112121222222122112222221222222121221222112212111112121122212212212211122111212212112111112111222222121122122211212221121121211112122212122121111211112111111222222111111211111222121212212212211122121222211222221121112212211121121121111121222112122212122212111122221111112211222122112212121211112211112221122212121112111221122221121211111111121111221121122212211212112222212111111211212222212221121221112111222212122221121121212221222222221112211211222122211222212211221111112112211112121221221212221122212222111212222211221211212122122111212211211112122222221212112112221111112112111212112122122221112111112212222112212121112122111111221121222122212211222122111212121211112211212121121212121111121121222222221112212121222211212112212222122122221211211211211112222111222212211122212112122121112211222222211111122222121111211121111122112212211211122222211221222122122212212221211122221112112212112211212121222212121211222121221121221112212121111111122222212112112211221221112121121111211112111222222122222222221211121122122211121212211212122222122112221121221112111121222111222111111222111222111122121122121212222122122221221122121222122211222111222212121221111222112111222221211212112122222121122212212121121211111221221122221121111122121221111121122111111122211212222212112221111121122212111111112222222212212121111111212121221211122222212211221122111221121121211221211211121122222212211212112121121122122122222221222211212111211221121212121211211122221211111111111122112111111211111112221221112221211221121111212122112122121212122222112122211212211121111221211112211111222222121212121122211211212221212221112121121222121212112122221221112222112221122112111122212111112221121122221221222112221222111111122222221212221121112212111221121211111222121211112112121222211211222221121111121212221221222222112122112122122212122111122111221111211111221211111121221122211111122212112121222121111211112212122111211121212111222222122111112222211221222121211211221212212111121122112112111112221112221222112111112221222122111221122221222112212121121211112222212121211111122122111222211221211221222112212212112221221222222211121222122111212112211121222222122212121122111211111111222111122222212212221121221212111111221122121121121121111121112121122111211222212121211111112222211222211222221112211112221112212221221122221112212112121111212212211111212121212122212121221111122212211211112112121211121112121112221212211122222111222221221112111122122112122122121212221212112211122221212122222111121111221111211212222212211221121211222211122212221112222111222121221222212112121122212111211121121121122111111121211122122112111111222112221121121222222211212112122121222122211112221222221222221212221211221121112112112211222222111121222212122112122121211222222221122122221221221221212222212222222212112112121112222212121112222111111112211212112111112212111211111222211221122111222212222121112211212221212222122211121222211112212222222222121112221112212221211211222212211111122212211222212121211112212212112212111221221122221222212211122111111112112122122122111122221222122112222222121111222211211222221212212221122211222212222111212222211121222211221112121122211211121222121221222112112212121121122122221122221221121122211222211222222211211211221122122221111212211112211112212122122211211112111222122211121112221212111121121212221112111221221221112121112212222122121112111221221121221212121112112111121111112222221221122111121121211222221112222211111211211211211121222212111111222212212221122111122222111121212212221212221222122221112121122121121221222111112211211121122122211112112111111122211221122211122112122122122112212221221211122112222212211121212111121211212111212121122212221222222211212222121121112222211222121212212212221222221211121221121211112221111222112111112222111112221212111121211111112112212211122111221111212111112112212211111212221122212111212221221211211121111111221122211111121121211221212111222111212112222221222111211221212111111221221211111212121221111222121221222111121221211211122211121221112122112112122222212111121211122111211112212221112121111221221111211121212222222211222222111212222211121122112212212121222212211222221121222221212122212112122212111222121222221122122112211211222112122121112121112122211122211222221211222121111221212211111212221112222112211222111212111222211221121212112211212111222222121112111221211122221112121212221111221221121211122212212111121122111111211212121222221221121112222211211122222111221211221112211212121121222222222212112121111112122221112121212122211122122111111112121122111121122212212211221112121122221112112122211221221112122221221212222222221121211212212121222212122122222122112112221111112221121221111122222221212122121222112211221212211212211212222121221121122212222222221212112222222211211221122221121111222112122222221121121222211111112121222211122122122222112121211211112111121111112122111122111211211122222112122221112211211112212222221222222221112111212111212212112222221111122211122222111212112112211221111211122112212211222121212221211121212122211121112112111222212221212211122121221121112111212112112222222212221221222121122111211122112222111212212122211111212211122121112212221121111121112121212111212212112211121122212111211112122121211221111112212122122111111122121222122111111122112221222121122211221212112211222121211111211122111121221112222211211111221212121111222221222211222222221212111112112212221122222112211221122211221211212212222121121221221112112222121212112111222122121221122111221221212111111111122211112111211211112211111121222222211212121211212111122221211112221221111212212221222221211212211221222111222221121112211112221112221221121112122212211221222221111221112211222212221212121122221222122211111211212121222121112221221112121121211211111211121111222222121211112112222122111121111221211222122212121222122222212121112121211121222111122122211221212211122212211111122222222112112122211222221121122112121121111111121212222212111222111112222222221121122212212122121112112121222212112111111211122111121221212122222111122221121212111221111111112221211212112212122121221222112211111111211111211222221111211112111122222111112122211212122221121212111222111111222222222111222212222211111121212111111212221211212112121221122222211212122121112111112111122112212212122221222111121122212111211111122211221221212122211122221122222221111211221122111211122111111211222121221211122222221222112112222122212112212211212211221121212221221222212122221122212221112112121121111221122212212222121221211211121112122222111211111122112222121222121112112122212122122222211121222221112121112222111211222111111111122111122212221121222212121122112121121212222221111122111111212212121121221222222122211211112112111111221121112112211211222111121212212122212212221121121212211222111111121121221212111222222212121211221211212212211111212221121222122121211221221221222122212112121121121122112211111112221122212221211212112211221222211212212221122111212121221121111222112212212222112212212212121122121111221211122222121222211122212121111122211122221122211211121112221222111122211112221111211212221222211112112222112122121211212221122212121112221212222122121211122221112222211212111212222211211121211222111111212221212222212112112112212211112222122112221221212121221212122212111211112221111122221221211221122111111222112221211222122111112222211111221221222112112222211121221221221111121112112222121111111211122212212222212221121111222211121111121112121211122222121222111111211211121111221121212222212221212221221211222122212212111122111112121212122122112122212212122221121111122121111212121121221222222122212222211121112211122212222122122222122211112222221112121212122121212211221221212211211221222121212211121121211222112221222112121212111212111111222222211211211212221221211112122112121222112221222211112111212212221112121211112122122111121222111221122121121121121212112122221111112221112211111221121122212121221122122212211112122112212212111122212222212221211121211122111121121111112122222212211122111111212222112111221121211212122212112212112122211221121122212111122111112222112111111211122222221212112212121222221211222212121112121221111211212212221221112122221111122112111112221111211221112211121122122212122212221122211121211111112112112221111112121221221222112111212222221111122222112222122122222212211121221222112121112221222121221122212112211121122112122111211122222221211121111211221122222222222121222211222212211211222221222212212111222221121222212122111222222221111221211211112112221122212221211211112111221122222122211221122222112222222122122122212122212111122222122121212121121222121111222222221112121212122211211222221222212112112211121111221221121111122121221212222222112122111122122112111111112112122111111112222221221112221212211222212121212111111112222212112122121112122222111122111111122222121112211122211112121121111122222222122211221121111112221111212112211121111222121211211212112122122212221121222112222212111111122112121121111111122211122121121111112212211221221222112112112111221112111211221111111121111112111122121122222212121211211121222111212111112211221212111221122111112211121222221212221222212221122112111112111221222121111112211211222121121222212212222221211121122211211121121221221112212112212222121111221121112212122221111212112112211121112122211221211212212122221122222122111211222221112122221112121122211122222211111211211212212221212222212121222111111111211112121222122221212112122212122212111122121121122112122211212121112112121211222121211211122211211211122121221112112111221211211211111112211211211211211121121221221222212221122121122211211221111121122222221112221211111211111222122221122111211221122121221121211221121211211112212211121211211122111122222212221222221212212111212212121121121112122221122111222221211211122111222221222212121211221111112122112221221212211211122221111211211222111222112112221121111121222212121111211112221222221122122211221222221211222111112111111222222112121121121212212211111211121111122112211211121111112121221112122212212211222122121121112211121112112212122212112121211211111212212111221122112221211121111121211122112211111122122212211122212222211111112211111222121222112111111211112122112121221121212111122121211211211211212222212221221112121211112122211211222212121121212112212211111112111221121222122212211111212122211121212121111211211112111112222121122112222222121122122112111122222222222212112122111111112221121211222221121222212112121212121112121121212111221122112222122112211222111111211212111222121122122122112121122222212122222211211122222122211112112221111211222211121112111212212112222122212222121121222222221122112111122122112221211222212122221111212122222111112111112122111212121212212222222112212212212221111222222122212121112121112111112111122121212212211111121121121112122111112222111122222221222111211222112112112222122122221222121222122212212121212221222122221221222121222121112222112122112211112111222121121211212222222111211222222112222211112112211112222211221222112111212211212121222122122121212222222211211221211112211212112222122122121111121121111222122111111111121112111121222121221212121121121111212121122111112111222112121222211111111212212222111221121221121211112222111221212122211111222212112212222112121212222221111211122212111221112112212211211221111111212221212122221111112212222112212121112222211211212111122221122211121112212111212211112122112121111122222221221121122212111221122222211111122211212212211122222121212212211212211112122121222122121212211111211121222221222221221111222121212121211221212112211212122211112111121112112112222112222122222121211122121212211211221122121212121211212122221221221212212222211211112222112212121111122222122121211111121112122121211112112221211112222122122211222112112211221122212211222112111222121222122121211122211122122222212212122212112222122212212112112122222221222222111211111111111221222212121211222211122212221121212212112112212211211212112211221111122222112212211122221122222112122111111111111121212121211112221122122222111112121212121212222111112121112112222122212122211122212111221111111211111112212121222112222222212221112121211122211211222111112121222121211122122122112211222211212121211211221211112112212211221221221212212122122212212212222211212212121111121122221111222122121222112121111221112212222222211122112122221222112112112112111212212112112121121112211111212112222221212222111122212212212221112221111121222122221112221221212112122212212211112112111112221112112122221111121211221122111122211122222112122122112212112122221222211122112112112221112121211111121122112122212121211111112222112111212211221211222211121112111112121211112221222211112121122121112211221211112212111121121211122212121122122112121222211112211221222211121212221211111121211122221121111122121211211111122122211122122122211111111111222121121221221212112211222112212122111121121112211111211211121111222221222212121121222211212121211212221122122211221211111112211221111211111122222121221212112211211121211211112212122221211212221111212211111221212111121122221222122212111121111122222112221122222222211112112111211221121121112211121212111111222122111222221212122222212222111111121112111211112111112112212122121222122211211122221211121112111111112111212111222222221212111112111122111212121221112221121112222222111122111211222122212212121212222212212222111221212122122221121212211121212121122122211112211112211221122221221212212121122121212122112212211112112211112211212111222112212111121112112211221222122211212121212211212212222211221111122211221221221111212212221212222221211212112112121221111122122112122212112112212222112111112122221221211221222221222211222112121111121112122222222122112121221112211112212211212211222212111211211212212122122111222111221211222112111212111222112111211121122122112221212121122121212222111221122212212122221121122221221212222211122122122212212111221222122212112111121121221211212212222212111211222221111211222122212122221211111221122112111122122211221212122212221122221111212121212221212111121111221212212222211222222221122112221122121222211122212122111121121112122112121121222211121221211112121211212222221121211112212111222211212121221122211111121222112221211222111111111212212121121122212212122221221111111121111112121222211122112112121221121112112122111121122112221221221211222221112211212221221122121222121211121212212122111221222121211211112222222122112221211221111212221211221211211212222112222121222112122121221222121211212112212122212221121121111211112121111211122121212221211211211211211211222212121222121121122221121212212211212121211121122112111221222212222121212221121212112211222222212221122222121121222121112111212112111112211211112222221112211122212121221222111222111121122212122212212211212222211211221121111221222121122121122221121122211222112212121212221221222221212221212122122121112211221122211212212112112112112121222221221212112111111222111222112212111112212121121221112211112222111121221212211212211112111221211111112222112222222222111212112121221212211211212212112211121212122222212122112212212111212121121111222222112211221212111112222212221221212222112212222122211112221122212112121211212211211211221212122122211122222111212111121221211112121221212112111221121122112121212111211221121222112122111212111121221221221212122121222122121212112212121111221221112211112222122112211112122111211211221212221121221222221211222121121111222122221122121221121112111212222111222111121221222122222211122222122221112121121211211111212121112211212222121122121222112222221221212112222112221121212111121112122222222112111222122121111222222122122221212222222212211211221112121121121112112111212112112211222121221211111212121212211221112212211221112221222121222122221212222212121211122221112212211211121212121111121122122112111112121222222121112221112221111212122122121112212221121122121211212121112111122112212111221122221212122122212121112122212122221111222212121122211121121111212221122111222111211112122121222122111211212221112221221112111121111211121122211122122112112121211212121112211111122121122221222222222121111121122211222121212221122221111121111221221222122111121212221222112121221222211121222211212212121211211111112111112211221211222222112122212222112211111111221111121212212112122211122222112222121121111212222111111122121222112211211212212122121121111122111121211211221112122112222121222122211111212212122221212112222222111222212212112221211221112111212122221122212211112222121211121112212111211112122122211222222111211112221111111221221122111112211212122221212212121212112211221221112121111221221121122112111112121121221212222222212111121211111211122222221111122212212121212222111222222212211111222111212221221122221111111221212212121211221211122122222212121212111122221221112211111121122222222121121111221221122211111221212112121111212211211211121211121211212222121121121111122112212221221112212211122212112121112111121212121222212222211222221211212112122222221122212111222121121212212112221211211122121211222112212112211212211122121112121121121211112211221222112122222121111222112121111112111211121222211212111112211211122212221121111122121211112221122211111112111222222222111211221121122222222121222211122111112122121121222121222122122121112221212212121121222221212222212122121112111121121222111121221112111121111122212112121211212221222122221122212212221111122212112211212212212122111212111222121221122121122111122222212212112222122222112222121111112112221111121211122221212222111121212221111221121222212112212211222222121222121121221221111111222122222222212122111212222212221211221121221221221221111222211222221222111211222122112222221121211122111122211211212122121111112121211112112122112122211112111212122211212121121221122112212121211222122121112221221112211121121121211121112222121122111112221212111111212221112211122222111122121121211211111211122112222221211211121122112112112111122212121112122111122121211121111122222111111222211221122221112212122111211122122212122212112212222222212211122122221122112212111212222122112121122211122121122111111112121221111122122211112121122112212111222111212211112112222212112221121221211222121222121221222112221122211211222111121211222222121122212221221211112112112122111221122211222222121212111212111112111221112121112112212112122212122211121112111111222212121222121221111111111121221122222211211122112212112122111222212121212122212122211221212222211221112211111111111222121111121221112111222122212211211111222111112112111211112211221211121222221221121121212122122112112112222112111221112211112122121212211111211212211122211122211121112111122212111112121222112122111211121221122122121211112121111111112121112112222221211222221122212112111122211222111121221211121111221111212222111121122222111111121222222121221221222112222221221212121122122111211111112122112112112121121121112222121221112212211121222222211221122222112112222222212122212222121221111122212121222211222121212222222212222222112121212211112212221122121111122111211212122222211111112211212211121221112111222111222222122221211222112122112221212112121212121121211111122222121221212111212111212222122222122212111111121212112222212211112121111212212122122112121211222221221122121122222211111121112121211111211212111112122221122111211212122221121111212121221121112121212122112212222212112211112111222212221112121212111112221112112121111211211112222211112122212212222121112221222211121222212212111212222222112222122121221121121111111122112121121211212121211221212112212221121212112212211211112221111211112122112222212112111212111112112222112122122122122122112212121221122211212212211212221111122121222112111222212121112212121212222212212122112212221111112221112222111122122221221112211121112212222121212211121211211111111212121122111121111121222112212121212221122212211112221111211111112112122122111122121221122112212122111111111121111112221211222122212111122212111222222121121112222111222121121111121222212122121111121121212122222221121212211221121212221112111221222212212221221221122221112112111221111122222221222211122112211111122122111212222122221121112221122222121221112112211222212122111112222112112222212112112221112211222121211221212211121222121112111122221212111111221211111212121111221212211222122212221221212221121222222112211121211211122212212212222111222112112221121212122111121211122121112112112222122211211221222111211112222122212222222212211222111121222222211111112112122112111111112122122221222121121211121122221211211121121121211122222121222222211211212121212212211111112221212122122221112211221122222221222221112211112211222122221221122222111122211221212122122221112112222121222111212221222111221112111112222122121212222111112222122212212122121122111121121221112122211122211221211222222122222221121112211211111122212122222211121122222212212222112221121122222112122221221121212222211222121121112222211221121212121221122212222211211211111121221112222222221221211112122122121212211222211112111112111111212121121111221211211211112222211211212211121111212221222122112222212121111121211212111211112212122212212121112211121121222111122121212212222121111112112211211121222122121112122211112111211211112122122122111112111222122221212112111212212121221112222211112221121122211221211212211122211221222111221211111122221121212122112122212221122222121111222111112221111222222221122212122112222122122221111111122111212112111111221112121221222222222221121111211212122211112121112221212221211111122222222221121221212211122122111222221122111111111121211122112111222111111211221111112222221222221121212121112122212112211111111211122121211212122212121112122211221121111211121111122111212111211212111112121212221212122212111111111111211212222121111212212121112211212121222111212211121111211122111211111211111112212222112212122211221111221122221121212122122122122122111112212121222222212112212112122222222122212221122111222121112122121111111122211121121211221222121122222222211211111222211221121211211221121212112221121111111122212211121212111121111112112111221111221122112122112222122121222211121122122212121112221121212122211122111221111211111121121122212211222112111212121212121122221112211121111212211111212111221222111112112221112221112211211221222111222122121222112121121112112212122212221122212122112111221111222211222111111222221112121211222221111122121222211212122222111211112221212222222121121121121112111111211122211112211222221112221212112122111222121111222211121112111111111122111211211221111211222121111121112221221122112112121122212222212212222112211222222121122222222121221111222122112121222211221212111122222221221111222211122111121211112221222221212211212111121111211212211122212112211221211122122111212111111111111121212211211212212122212121122112212222122221222111122121121112212121111121222112222122211211211222121212122112222212111221212121212121221112112121211112122111222211212111112211212122121212112211211111212211211112122211121221212222221212221121121122211212212122222212122112211112112121121221121122112221111111122121211221121212111121211211111221112212211111212121122122111122221211111122221111212122222112212212111122121221222122211212221222122112122211112222211121112111212221111211211121112212221112111212121112221112122222211211212221112112122221112111111212111121111122221112121211121111211222112121122212212121112111111122121221211211122121112212111121111111222122122112111121112221221222111121212111121212121122211111221212211122121112122122212221122222122112221222222122112112222121222122212112111222111111122122122111212212222222111221111111222222111112121122121211111122111111122221211111211222122122111121122212122211112112121222222111212122212221222122222212221111221122112112221221212111121212122112212221112112221221111122122222221221112212112121122122221112221221112211121112112112211122112122212111212112221212221221222221212222212111212111122112112122222212221222211222221222212221212122112221212222112121222211111221112122122212212222122211111221112221111212111212221111121111112122211122211111122221121121122122211221111112112111221211112111111212122121211221211211111212211112112222212112111212112112221221211111221111212112121112212222121112112121212122211222212111212122121122222121121222121111222122212221121122221122122221111212112221222121211222122212222222122221222212112112122212122121122121211121112112211121211221212221222121212111211112221121212221222211221122111212111212221112212111221122112111221111122112222122111212111112122111112121121222212211112112221222122212211122222111122221112221211122111211211112212122222211121121211221212222211222222121121222112111112112122211221112121212212112122211112122122212212222212211212211111121212222211121221112122211211122121211212112122122121111111121121111212122221121212221121121211111112121111221111221111211221122112211212211221222221212112122212211212221112212111212222111122112212111222212112211211111122111122121121221112211112221221221211111112221121122122121122211211121122122211122122121112222211222121112221122222122122112122221211111112222122121211222222112111121211222221222212221112221221121121222211121121211122121112221212211222211211211122112111211222121122111122211121112121122212222222222212212112112121211211112221211211112121211221121111122212221212121212111221211221212222211122111212121111212121222111112212122122111112121222111222222122222212121112221112112121211112221211212221221112121121221121112111121111221222212221211221122212111221212111111222221212222111111111121222122122122112221111121222122221122121212121122121222221222122221212211112212211111222222121211111221212212212221212221111122112112221111111221121122112212111111222222122211221112121122212211121222212122211211111112221112212121212121212111211222122121112222122112111212121111211111211211221122211222122221112212212222211221221212222212212111211211122221212111211111121112222221111212121212121212222221222111122212221221111212212111122122221221111222121222111122212211122212111122111211121222112122221121221112212111122121121212222111212221222122211211121212121121222221211222222122112222111211211211221211222121221222222111211212212111222121112122112211112212221111221221111212111111112212122112112221211212122111122112112211222121121211111122222112211122222112111112211112221222222221111122112222122122212211112221222111112122212221211122112122211212122221122211122222211112112222212212212112122122212221111121122212222121122211111111122112112112221221222112121112221122211121211122112111211222211221112111122111111122222222211122212122111221212221221121111212222221221211122121122212122111112121122211222221211112121222221122212221222222111211222212111122122112112211221112221122122122222121112121222221121211122111111121212112212222122112222121112112112122212122122212222122222112222221212211221111121211222222222111122111111121111121122212112221221221222221121121112122221122221111112221112122122111112222122121122112121112112221211222211111121221212122212121122112212212122222212121222112112122212212221222111212121121111222112111112222112212221212121211212212121212211212121212222121121112222122212211121211112111212112122221222222222112112222122211112221222211211112122112121221111121222122211211222212222112221221111221121121122111212212111111121121211122121221212111222112121221112121212212112221122121121121111212122112111121112212222112222211211211212211221111222221212121111111211212122122212112221111221122221222211121211122212122222222112212212111112211111211211212212111122112111212121121212121221122122122111222111111122121122112122211221111122221211211222112121221111121121121221221121121122122212111111222211221111221221121112111112111211122212221122212211111122212121112222221111222221222122221121221112122121112212112221212111121211222112212211221111112121222222111221212222212221222222121222121222222211212212221121212221211221122222112221211221122122221122111122111222112212111112221112122112121121212221222221122121121212112111112212121212212222121112212222222112111211212112212221211122121222111221122122222222222222221221211211122112112122122221112211112121221212122112222122112222221111212221111221112212211121222222121121122121112121111111112121121212212111122111111212111222112112222111221122122112222112122121121121222211222121211212212122111112222221112112222112112222221212112222121221111212111221221221212221221112112222211121212211122122122212112222121211221222122122121212112222112112121111212121112212221222222211112111122122111212122221111211212121212221212122211111111212211112222212121111211111122221122111212111121222111221122211221222221111212222121112221222122122121121112111111221221211112212211212222222222221212122222112212111222222111221221121111111221211121222211221212222221211112221221212111221221211121221212121122112222122221112112222222211211111112112121211222221121112122111222112112212121112212222111122122211211112111122212221122221222212212222221122112112212212211212222212122122121122112112222211111221122121211121122212211111222221112111222111211112212121111222111221111211222212112112111211112122111212122222112221112112112222211211111212112111121122111211111212122111111121112112212221212211121112221112211111112212211221121222112122112121112111211111212121112212212221211112111122121211121112221122221222121122212122221112122222221121211222112112111111122211122222221122212222221212111221122222211222121212111212121121212211221111212221122121121222211221122222211112222112122122122221211211221111222112122212221122212122221112111112121221122212111111221222212121122111112211222221221221211221122121121221221212111212211121212221121111112121211111111222222222212122122112212112112112221112111221212122212212211121112222212122221111121121211122122212211221111221211111222111122122121221222211222111111221121211222211222211222111221212121111211111221122121221111211221212122211112121122221222112112111122121121222221222122222111112212121122221222212112111121211212122112222111211212212112212222221112121221121212221221212221222121111111211211222212112222111212111222112221212122211122122121221121112211122112212211121122112112112212221221121112222221212111121221222122112222111211221121111121112122111112221222121222221112122111121121122221111122212112112222212211112222111222112211112122111121111122112212121221122212122122211221122221122222211211121211221122221121112222111121221221112111212222211222222111211122112221112121211221222112222111211121222121212111211122211121212111211212221111221222121222211112222212222221122212221212112122211211211221222111212121121211122112221211222122212212212122212122111211121112212211221112121222212221221122111222111222221211222111121121222122221121212111222121211221222121111122212122111211121122222111111221211221212112111121112211122211122212112221221211111221222211222112122211121111112221111221112121121221122112212222111112221121111112221221112222222112212222112212112122221221121121121212121122112212212211222121122222222222222211112212111211211211221212112222121112111221122122121111222111111222112122211111121122211112112121212111111212112121122112212211122111222211112212111121221122111111222212122121221122112112221211121121112222112211122121112112211111212212222212111112222211221112212111122212122212122211122221212111122121122222121112122221112122222212121111121121222211121221222211212121111111121212212212212221122122121212221111221121212222122112121111221112212221122211211212111221211122122122111212222112212211111222121122211122211111211212112111222221212121121111121112112212121222211121111212121112121211221222111212121122112112111112212112122212212122121222221121121122122112221211122122212122222111211112211212222211112221212221111111122212121122221111112222212111121111121221211122221221122211222111111221221222121222211122211112121221212211211222211111111221112111211121122121212222222222111212112111122212221122212112112222121122111112212211111121122121122122211212111211122222212121121221122212122211221121122111121112112222222111221112222211212112212121121221212111121112111111111221121111221122221212121122112121222121122222212221122111121212111222121112211111221112221212211122111121222221111211112221122111122221221121112212121112111122211112212221112211111212121112211222222111221121122121221221111212111122112212112222221111212122112121221111121111222221112211221122111212221121212211122122212122211112122111212221221221211122222112112212122121111221111212122112112221222112121111212121222212221111221222122121122111121121121111111212222221212111122121112212222212211111222221222221211222212221211211121212221211121121122222211222211121112212211122122111211211121112221111112221111211121111122212111111121121212122211112111122222212221211221222111212111112121121111211122222121122222222221211111111122221112211212112211211121211122121121212112122222122121121211112212211221211111112221122122221211112111211112121221212122211122212212111121221221111212122212212112221122121122121212111112112121222122222112111211121111211111211222121122222211111222222121222211121121222122212121212122221212112122112212221122221112212121122122111222221212222211211111122111222221221212212222222122222222121112211221111121111212212121111111111221121221111211212212221222111111211121111211221122212222112221221221121212221112112222211211222221111112221212221112222211212112121121112111122212111111221221111111122222111122122121111221111212221121212222112111211122122111111222122212121221221211122112212111221212211122111212212211122112212121222111122222121211111221211121222122121222221111212212221112211112121111211212211112212112111111111122111121121212221212222211122111111111221212112121212111211212211111121111212212222221112222111221211222122122111212111122222222212222111121222121212211222222112211222222222211222212121211221122112211111211221211222211222211222111222112121211221121212222121121211112221212122211112211212221212112222211211122221122212221112121112121122112212222111211221122212211211122111112221222121221222211211122121222221121222111222121221211121211112221111111221112111111112222211121111112121121221212211121111122121212112221212222222212211222121112112212122111211112122222211112211212122222121121211121111211112122221112212112222121221221221221112221121212212112221222112212111122111221221122121111122222221222112221211121121112211111221122212211112211222221121122121122112221112211221121111122221222112121121111121221122212112112111221211212111121111222211111121221111112122211111111212212112111111112211112221112222222212112122111221122112222121111222222211111212121121211121221111112211122222222122211111222222221111212222121212211112112222212211221212222122211122221222121122112122211112211122221212222212221211211221122121212111221111221122212122211122112222121112212122222212122222111111121221221212211112122222122211112111111221122112221211221221111121221122212212121211111212121212112212122122211112222122212222211222122211222212221122212222121222212212211212122111222222211121221212222111212122122111111122211112221212211122122112222222121111112112222222212211122222112121111111112121222211221221112111122122122111211112111122112111122122122121121112112122221112112221221211122122112211212211212122111122122222212122112222221111122212221121212111211121111222122212121212121122222112122121212212222121211112221111122122111212111212211212222112112122122212212212221121211121111211222111212122122122211122212211221112211211122121212112212122112211111221222111122212112212121221211211122212211211221121122111122121211211212212122211121211112122222112122111221211212221222221111121121121221121121121121221112211121212212212121111122122122221212221211121212212212211221221112112221211221212222211222111111211221112121112121211211121112112222221122211212122211121212112212211122122121211211221221212112212112212112221212112121111111122121121111112222221211221222212222121111221122211112211111112221121211121121111221111222211211211212212212222111221222112111111121121112111122121212211121122212112212221222212111122212222111112111121222221212112212121111112212121111121212122211111221121211212122222122212122122121212112121111112111222122111121211211112221122222112222111112112112212222121221222112212222212211221121111121122211122212111221112121111212221211212121121212121212211221112121222212222211222121111122111112221122121122122121121222112121222121122111122121212122211221211122221221122111122211221111121122211112111221211112221121111211121211122222221121212112112222122211221211222211221211112212112211211111111112111111121122121211121222121111122221221222222121212122222112121112112221122211121121212112212221112221112222122211211112112111212211211211121111112122212122221212212222211212211122111222112212211121122222212221112212211112112212111112111221122211122112122112121212211112112212212112211212111122112212121212111211121111212121112221122111112121222211222222212121212111211112122112112212212221222211111211112221212221211221122222122122111111111121122111111211121222222211211122222121111122111212121122222112112221221122211221121222211121221211222111212221212221212112111222221111122121221112221111212221211121111212211222211222111211211122211222212121121112122222222122211211212221222212122112211221222121221122111112121111121212212221122211121212122111212211122122121212122121221211221122222122111211222221221112121112222211212112112112111212111121211122211111212221212222112112111121121122222111122121212211122122221121221222121212222111122112212211121212212222111122111222112221222211122211111212122221222211221122111112122111111221122121221112212111212122222121212112222122221122112222111122212222121222111122122211122221221222221222212212111112121122122211221222111111111211221111211221112122222222221121211111211121211222211112112122212222111212221222121112121212222212112222221121211212121222211211111221122222121222121111222221112112212211122121112222212122212222211221221112222222222112112122111121222121122222122121122111221112122121122122222121112111212121221211222211112222221122111122112111122211222121111122121212112222221111222122112122221221212212221222211121111212121222111212211111122111121111112211111121212111212222221112221121211111222122212111211112121222221221112121221111211121211211212211221122211221112121211212212112211221222111122221112222221211122121221121212222112222221122212212222222111122112122121112221212121212212212211121122221212212212112122121212211112112211112221112111122211112111121112212122112222211121212111221222121111121211211211112111212111122122221122222121122121121112212222111122111221111221122112122221122211121222121111212121211111112111211121122112111111211222122222112122221212221121221112212112222122112111222222121221211111122112212122111222221212221211112212121111221122112222122211112221121221211112111122121111212222222222111212221121212221111122121122221222211211222222211222221112112221111222212211121212212222111211111121121211111112122121222222112122112121111111121222122121211222111212212221212112212221121111112111121111121122122121111121112111121221221122112211222211212221222122211221112112112122122211121221221112121212112222222222222111212122211122122122221222222112212212112121122122111111222122112121212111212212211121111212212221221112112221222112212221111222222222211121122112112212212221211121221121111121121221222121212221221112111112112212221222111211111112112212121121212112211222111111122211121222222221112111211121111212121212111212221222122221221121111222121121212111212111112222111122121111112221122121221221111122222112212212121112211122121121111112112222221111221121122121112211122111122212112122121111221122212111122121111121222122222122111222112122121212121112222222122111212221221122222212121212221211221222122212112111122211212221111122112111122211121112112122112122211122121122222222212221122112122212222111211211222122112112112221112221121221211111212122221111221211222211121221112212221111122112212111112212121122111122221122211122211122122112211122122112212212111212111112122122122221221221121112211211111221122121112221222211112121221222122121211121222112122221121121112111111221121222221212222121212111121111211211122111212221111211212121111222212122122222112111221121212221222221221111222211122212222221112122222222122212112221111121112212121222211221121122112221121122221211222121111211112211222222111122212222111121112211121221111211111221111112122111211112111221211212121221122111111211212111221222112221211211212222222212222211121221112222121212122212211211211121121121111211221121121111112121212122122212212122211222122122221222121111221221121212111111122111211121122112121212221221111121122111122112111221221211111112212222221211222112222211111212222222121122211222121111122111221121221212222121212121121112111111112121211221212122121112212112211112212211221121111122111112121111112211212212222211212111222112211122211222212121112222222222111121112111212121122111112111122221212221222112212112111111211212221211122122112212222222121111112121212112112111211112211211112111211211122111222112112222222222222121212212112122121112211111112122222112212122122112212111121121111212212122112121212212222222111112111121111122221212221111122112221121112112211121122211112111111211111121112111122222212211121222112121211122212111212222211212212121212122222122212111221121211121222111221111121112222112122122222212221222112111211122111121221222221111122221211221122122211111212222112221211221111112221112121122212121112122121221221222221122221111222112121111212211222121211212221121221211212111112112122112122122222121112111222212112211122122212211122121122122222111211221121121222112212112211111222221212122221212121121212222121211221122121122211122221111212222222111122221212222221221121112221222111111122121221121112121111121212121112111212212221222122212112222212121221212222212121212212211221221212122122122222122111121221121221222221222122112212211112212111212211212111122211122122212112111121211211112222122112211121122222122211111211221112121221222122122222121111112122112212211112221112221212212112211211112221221222222122222222112112221221121212221112222112111212121112221112211221121121111111111221111221121112111121211222121121121121111212212222212222211112222112112211111211222112111122121121221112221111212112211111222221211112112221111221222221122222121221121112112121121112222221122121211122111211111111211222112122222212121111221122122121211212222212121121222111221122111212212112111122212211111212221112221112212211112111221212221211121111121222212112121211222221221212221121112221122112121121211112121212122111111222112222111222222212121212112112221111221221112122112212212212222221221211211212112111121212222112222122221211211111212211221222222212211122122122122221212121211122111112111121211221222122111212121112211211121111121221111221211212212212112221212122111121212222222211222221211211212221121122221211211222221212212222221211121211212222211221212111222211112222222121122111222111222222212111112221221121122121221211111211112212211111112122211221211212112112112121211222222111111111222112121112211122121211212121212212222111111112211121222221211112222122222212222121111122212112212222112122121212111122122111221222112112112111112122122221112112112111211111111122121221122211121211121211211111212112222221212212222221111112222111121222111212122112111122111112111112212122122112221121121111122222121222212112212121122222112122121121111222111112112211221211212221122112222212212121112111221212121212112212121122212122212211221112122111221221222212211221222121121211112121122111222112221221212112221111222211221211111122221111222212111112112121212211211221211121112111222121121212121121221221222121111121111112221122221111222212121111211112211211221122212121112211112122222212121222212111112121121211111212122121212211121121121222112121112222122122121222212211121211111121111222211122121221121121122211211112222121112212211211212122122121211111111211111221212222211112222122211121222111222212121221211122222222222112222211212111212222112112221212211122122211222211211211112212222211112211211212122211211111121222212112222112122211111221212111212121212121111111221221212111222212121121111222122212221111121221211112121222122212111122222212211221212112222221121112121221112211112112212212111111122121212211221121221122222122221222222211112221111221121211212122112112211111121211211212222222112121211222111212212212111222211221222211212222122122121211112111122211211212112221222111212111222211221211111121112222221222212212222222211122222121122121221222222121122111211111121211222111221222112122112112122222211111111221222111221122222222212111122221212222212122221122222122111221112222221111112112121121121111212121212111111222222212121212122211122222121222111111221212111211111222111112222122221111111211212122112112121111221222121121121122222121222122222211221111222121222212122212212111221122211111122112122112121122122222212221222222221212121112222222121112211222211122221222221222112222121111112121221112122211212122111111212112111221221111112111211111112221222221211121222121122121121121112112222111122112111112122221222221212121222112122221221221222111222121212222111222121222112112222211122222121121122121222222221121121222121222112222111212121121211222221212121111112111122222112212221222121221221212111111112212111222222112122211212212212211112212221221111122221111121121211111111122122121112221222112111221112212221212122222212112112111221211121212211212122111212111112111211122122212221122221212221121222111111112111121222221212122211212122211122221211112111122221121111211222122121211211122121222222121211112222111122212121212111211212221122112111222111121112221111122211112112112122111221212221112211122122112212212122111222222121211111222112121212212211211212211111122221211111212111111111112111112122222222112221212122212221112121121121212112112222221121121121221212222112221121222221211122121121212111112211221112222212221122212222211112121122111121212212121121111112222121111221121122121221222121221211112122112122111222212211121121221111222212212122212111112121111222222222121221212221121221212222112222121112221121122222211221212111121211122122221111222222221211221222112211211111221112112222211212212212122222112212121222221212222222222212111221122121221221112222121122121212121111222211211221121111112112212111112222212111221121211212222211212211221221212121111111212112111122111112221222211221112122222222212111212212112121211122121211212212112222111211111212211212212211221112211221122122222211112221222121212212221121212112112211112112212122222222121221212112222121112122221221212121122221212121212121122221212111112111211121211212212121112111211222112211111221121112112212211121122222122211112122211221212112211212212111222111121211212221221121121121121222111112222222211111212112221221221122121222221212222212211212211121121211211121211112111211112112211121212122211121221211211111111212111121122211222222211212211211222211121122112111122212211121211211122111211222111222212111211211221121111122112221121221212222112211221112112112212112121122212222122211212212121211122122122222222211221122121121122111121211212111111111122111221121122221112111112221221221212121121211222222121222212122111122121222212121211221211112222211222221221112111221122222112122221121222211211221212212112211122122112211212212121221112221222111211121111122112212121212212221212222212212122212112122222222222111221121221111111122122211221211121211122212111122211111122212212121121221211111221211211222121212221221212122212122221212211212111212222111111211222121211122121121121212211121112122111112112112112212112122211121111121121211222122122211121221212212212112222221222221221222222122212221212111221222211221221121221111112111221121122111112222111212212211121122122112221212211221212211121121111121221211211112112122212211222122122221211112121122211212211121121222221222212211121122222221121111211221112112111211222112121212211222112221122221222222111221211221212221121221111122112211212112222112212122211122111111212221211221122112122212212212212111211212221111111222121121121111122211222221221111212112212212121111122211112121212221221122212221222111111212212121122111211111121112211122121212212221211111111222212221222211211222222111221111212121122122221121221211112221221111221121111212222122112121122112122211121221212212111111122122111212121211111111122222222121112112211121112111122122221221121222211121111122212222222122112111112112112211111121222212222121221111212121222222212112122222112211112221221221211222121212111222122121121112221112112221121112212212111211211222212111122211111112121212211222112221212212212111211121212121121212222211112222121212111121221222222122122112112111112211122212211111221221121222112112112111212211122211121222111121212212211111112121111221112222122111121112122211112222111222222122121212212112111111121212121112121212121221212222212122121212221121112112222222112122112221121122212212122121121222122212221111211222221222212122121121222221122121221211221221111111221122222122221122111211122221112111111221221111121211212121121112122221212222212221122222121211122222121122112221111212121222222121111112221222112121122222111122112111222112211212112222211212221221211112212222121121221122122122121112211221212122121121111222212211221211221122222222221112221222112121112111211122221221122212111221222112221122222122212121121111111211212222221212211211211112212211111212121212211122222111212122112121222221122112121121122112211122122112221222212211122211112222121112212111221111112221221211121222222222221121121111211221111212221212121122212111122212222112122221122212211121212112211122222112221122121112222121221222211112221111222111111212121212211212221122112221221222112122121211122111112212221112111122212222121212112122111211212121122112121222122212112122112121211122221211222221122221222221112211211122222212212221211111121122212211221222221111122212121212112211212212112121112211212222112112211122222221221212112121211222212111212211121122122211112112121112212222112212111122112221212221221212212222212112112122121211112221212221211122211211112122221111221222121122112112121211212111111121222211111222221212111111212111122111221122211112111211112211122111222112111212112112222221112112121212121121121222121122211212221111212222112121111112122221112212121221221111211212211112211221212111111112111221121111112211111211212111212112222211121212121221121222121112221212112211211111112112121212221111221122222121212111122111222222222112221222121122121122222212121221212111212212212112112121211211112222121221221212122221111222111112112121211112112122221112211112121121111111112212112121221112222212211212122121112212221212211112111221212221212221222222121222212111121112212211112121222222111221212122111121222111122112112211221211212112221221221221112221211122121221212112121222212112122122111121221121112121121121211212111121112111111222111222122222111222111121111111221112112211221121111221222222122121212211211122221111211121222111212121122211212121111111112211211221222121122112211222122211221112111111222122121221112122111122111222112221122111222212111211111112221111221121121112111222212221212222111121212211121222121222211211112111111211212211111212212122222221211122111211222121122122111111221221212121212211111112211222122211121222222112122111121122122111212222222111211211222221112212212112122111212212222122222122122211221221222111212222211111112122121212121122221221212211121121122121112111211122112121212111221111112122212211212221221211112221222221121111211111211111121212122121211121211212212221212212121221111221221111122221221122122122112122111221212111222212212122122111211112111112222212111111211221122112112212111122121212212222212121121111121121211111211112121211221121111122111221211112211211221222211111221121122112222121222212111221221122122211221221222222211211112212221222211122121222112122111122111122112221122211222111212211112121212221111112121112122212122211221222121111211222221211212211221111211111122121212221211112121211121121111122112112212211222221211221111121112211212211111122122211212112211222221111111211211111222111211121111122112122111211112112111222221222111112112122112212222222111211122212122211222221122112111222221211211111211111211112222112221112122122122121221211222121222121121121221121111221112211211211212121222221122211112111212212121211212211221111222121112222212112121122211211221112221221221121121222212211122212112121212112222212212122212211222111121122121212122222122211112221121212211111211211212212212122222122222222112111121222121122211122111112221111211122122212212211212211122222212121222111121222112121112221121222221111112221111121222121111211111112111212222122111122121222112222122211111221122212121221111121112212122212122122222222211111211212111222212121211121121112221122212112212111111222222221221112112111121122112211211121222212111122111221221112211122122211122112221221112222211221211222212121112112112212111121112111111222121121212222121112111112111212112211121212111221211121221222221212222111221221112212121111212112221212221212211212112212111111211212212221222221122211211122112212122122122211112112121121121112221122222121221112222122121112222221211212221122211222221211212222212212122112211122222111221221212212211112222222122112221212111122111222212121211111111221221211212111121221221221222121212221211211211221211122121121221211112111112121221212221212122222211112111122112122221122221111121221221112222212221111222122222121212212122112111121222112111122111222112221112212212122221121111111122222112112221112211111121221221222222121212122112211112222222221121111222211121121211112222221111212121222221212112212111121211222112211112211121111121221221211112222212112111112112222122112112112212121222121221212221211221212112211111122212211111222221122211222211221212111112112112112122122211112212211122221112212111222221222111111212211121211122212112222112212111211111212211111221212222111121121111221222211211221122212122112212222112221211221211211122221112121121212211211122211222112112111211121212121121122122221221122221111112122112221112112111221112122221212222121222121211112222221112211122111222122222211222211212222112112222222111222211121111212112121112121121221221121112222111212221211111111212121212221112211222121112121122222121121122112121121121221211221121222121222212112111221112121221221111121112221111221121111122121212211211211112222222122222211212211211221211121112212112111121211221121211222222222122122121211122112112111121211222222221221212112121111211111111212211222222111222122111122112111121121122111212112212222211212212121122112112211121122222221211112112221211111111221222112222221121111112121111222122111112112211211122111211121212212112221121211211221212122112221112211212212211112122221111211222221211121111111112211222212211211121122222211112211121221222222121221122121211121221122112111222221122122211112121112112112112211211221222221112112211122112222112122222212122112221212122122221122122111121212212112211211121211112222122212112211212111112212212112221121211222211221122122221112211222112122121222121112222121111111212222211112212222111222121112222111212212121121211212112222221212111211122121212112222211212222222112111212122122221221222221122222111121121122222112112122121222212112122112122211211221222112121112211111212111212221221121222222122121211212222111122212111121121112221211222212211112222112112111121211221112222111112112212112121221121211112122221221111212122221212121111212121222122222212111222111111121121212112121222112211211211111222211112122212211111221111121221221221112212121111121112212221211211111222112211222211122211211211211112222122112221211111221122222221112121221111211111211212122221212111122122211122112211112121121112122122222222112122121112121211122111122121212111112111221221112222122221211221121121111222212121211111111112112111111221222212211122222112211122222121121212121221222221211112212211122122222221211122112222121222222212222221221112211121122121221211212121122221112221222221222212222121121222221111212112212122222111111222122222111121221112112112111122111122112221121221222111122112122221221122121221121221221222111112122122211111211221122111211121121222122122212111121122112112121112111112121221121122122222121111121112112121222122211111112221122122212111121222221211121122221111112212121221112111122222212212221111121222112112121111222122222221111221222222121222112211222111121122122122122211211212211221212222121122112122221211212212121211111222112122111111122221112112221222222222111212111121111112212111111221111221222112222211221122211211111222112122122121121221122122212211211211222111111212212122212212222112222222221112121212122121222122122112221221112212212211122221212221221111221212111112221212221122221211121121221112212112222111112122212211122112211222122211111111222222121222111111212211211211112222122222122121211212112212211221211222112121222121212221111112212111122121121222211211121111121212112112121112111222111112221221111112211121221122122211211112111122211121221121121122112122121211112212122211221121211112222222122212112221111122221112222111112121122121221111112212211122222112211122222212112212122211112221112111222222211121211212212222112211212222221212211211122111221212212121212122221122111121112211122222211211222222221222121121211111222222221122221111212112212111211121212122221112222111122121111211111222111212121212111121212212121112121122121221212121212122111212122212211221212121211121122111212122222212221211122222122211122121111112112122221222221112111122212221212212111212222121212222211122222221111111211122111122111121121211111122221222211112121121212211112212211211112122112111212122211221122222221121221211111121221211222221111121221222211221112112212221211222221212211111222112121121112211122121121112111221211112212122122122112211111122212111222121121121212211221221122221122211122121211212111221222121111122112212122111112211121221122122112111112112212212122222221111212222221221121222212221112211112112121211112111122221121111211122121222211112111221211111121111211122222222121222121121111212212222221222112212121122111121212111212221121222121212212221112122211122221111122211112122111112112212222121112211211212111222221222111212112121211211121112111212111211222211221122211121121111221211222121121122221122111221211222222122222211122211122221121221122111211111112212222112122121112111121112222221121221112112222111211111222111122112111211112222221121212121112211121122111212212221112211222221122211122121212222111112122211222221111211121211222111221222121112111122221112122222222211222121112122222121121122221212212212122222222121221112211221111222122111112222122221221122212111212221221122212222221212222212112222122111222212121212222212122212212212221122212112112111121112211121122222211121122111221221211122222212112222221122121112212121121221211222111221212121211121211211111212122211111212121122122211222112112222112221211112221122212122211211212222111121222211222122212211222111122211211212211121221111222211111112211212121112222121212112122112112111211222111222112211211221122111121111121111211121221221221121112121111122221222212212221112222221212211222122112211211122212221112222121121212121121112112112111112221211212221222222212212122122112222212211111112112212211211122112212122211221122122221211212121111112111212112212111221122211211121211122112122122121122112221211221122112111211112122211112222112122222112112211112122111222121111222212122121122211221122211211112222121121222221211111121122212211222211112222111211111222111121112111111222221111121121222122212222222122121111211111212121212222221221222221111212121112212222221211121111211212112111121122221111112112111121122121112211222211212212111221211222211121222222222222112111122222111112221121112111211122122122111211111212112221212212112121121222222212212221122211111221222212211122212122122212121221111121222121211211212221121212222222212212111222112121221111111222112112221222221111211211122122112122212222121211121112221211211211112221221122121122212222111222122212221221121211122121212122122121221121212212121221112111211221122211211112221221221221111212121222122222222212121211111122211211222222222211111222111212222221221122122211121121121122121112112221222212212212122122122121121111222212222122122122221112112121222121211121211222211112211112212112212111221222212222212212222211122211221222212121122222222211212122121211121212221222222121221212121122211111121211221211121222122211222122222211111112212212111122122111121112111221211212122212211122211121221111121211211121111121211221122211211111212212212111212222122211122222211212121111122112212212112111211221221111121222112212111221111121211111122212222211111112211212221212111212111221221122121121212212112122211122212222211112221121221221211222112212221121222221221221122121221111211212221111212111212121111221121111212122211112212221221111221111112212222111111122211211211211111221222221112121222121121212212121211112121121122212122222112222121222222122122212211212211211211211112111222111221112212221121211222111122221112121211221112211212211112122211211111211122122222121222222221121111221212222122111212212111122112112122211121122221211222112221212211221212222222122212211212212121121211221122121112111222222222222111122122211221111122121211211212221212212222212212122212222112112221211221121121222212121211221221212111212122111111122111111222221211112111121221112221112121212112222111221211122222112222122212211111111212111112122212112122121112211212211111222212221122121121221221111222211212122111121112112122122212121121112121112211111111222221212111122211122221121111211111122222122222221221121112221212112222112221121212121112111221211212112111221122212122112211222221122212112121211111221121121121222112211211211112111221112221211111111121111211212112121112212211112111111221221211221112112212111122121221212212222122222111112112122122212122212121121122221112121112222221122121122121212111221222221222112221222212121112121121112122121211222112111211121221211112221111222121112211211211212211212122221211221111112112222122112121212222212121121212122122122221222112111111211212221222121112212212121221222111111122111122121221222122122222222222212122221212222112112111111221212221111121121121221111222112211211111121121112111122221111111212222121111211212121122122212112221122112122211211111112111122112111212211122221122212211211121221221111112112122221112221222121221112121121122112222221222212112121211112221121121212112111122111212222222121211222221122222121212212211112121112111122121222122122222222111121112121112211211121111221111212121112112111121211221111221112122212112222112111211221121212212212221122221122122211212222112111121212122221211112122212111222211212112121122111111221112121111122111221212121111112121222221112211122211211222121122121122211122122221112221222212212112112221122121221212211112121222122112122211112212212121121122211211222212212122211111112212121212212222211111212221122122111121212112221112112211111112121212212211122121122222212211222122111112112221121211111222221222221111122112112122121212111222221122222111121221211122211121222221221212211221211122221122112112211212222121121122121212222121111111212121211211111222222122111121111121211211112222121212222122221221222112112121222122211211212211122111112122222122121111122221111122221121221121121111211211121212111212211121122122112121122112122112112122222111211122222121222221212222221212212211122211111121212221212222222121122111111111112222111222221111111222121212212122211121211111112212221112222111121222112111221112212221221211212211112122122211211211222111221221122122211111112222122222221222221121221221112221211222222111212211212122112112122121212111221221122111111111111121212222221222211121121111112112211111111222211212112212211212222212211212122112222112112121222221221121112211222111121221212211212122222112122111211222211221111111121211111121222212212212211221211211221121122122111221222111121122112121211121211111111111112211222112221121222122211122112121222212211221211211111111211122121111122211212122221121122121221221112121211121212211211121112212111211221122212222121221221211122122222121112122121211222212121122111222112221212112221122111111122212122211221222221221221112222222122222211111221112122111221211211112212211122121222111212222221221211111111112221111211222222211122222121212221112122121221112222221212112221212121221221221212111212122122212222122111112112222222121122111221111122211211212222212222121122122222112112121122121111112111121121211111221221212211121111122122112222112211111212222212212112222121111122222122221222221212222122221221222122221121211121112112111112221211211212222122122222212111111112222211221222111112211222212111221221222212121221112222212212122211222211211222122212222122222112112212112111211122222211222121212111211211212212111211121212222111121122212121211122211121112221221112212211212221121122211122122121111221221212211112112122211121111222122211221121221211222222221121112222112212222222211211221221112121122121111111111122221121122121122112221212212111112112122222212111111111221122212212122121222221121111112222211111121112121121112122212222111221222211221221111212211111112222221221122221222222211211111121212121121111122221121112111212112122212212212121222222112111122212121122211122221221111212122111121222112211121121222221212111222221111122112121121111111211121121211222122111111111122211211121222221212112212121111121111121121222122122212122121122121111211121121212121222121121211122212222222122222121212211121212111221212211122212121212211112111111212112222221212111212111222112122211212111111211111222111111122212122222211222122112111212111221222121112111111221222222122221122212121122211121122222121122211221212222112121112112112211111222122121121222122122211122212221221111211212222121211212112111112122122122111222121112111211221221212212111211121221222221221121222212222112121122222221121211222211112111221221111222211112222222112211212112211111212111221222111122112212211221222112212121111212211212222111211112211222121121221211122111221211222121112122212111212222121122121211211112121211221212221122122122122221221222122112121122212212122112221111111212212222212121212211221222111122211121122212122112221121222112211112211212221112121211222221211112212111222222112122212112121112121211111221121112121122112122121221122111212211211121112111211212222121212121121111111111122122222212211211122222112111121111111222221212221221212221221222211121212112221221111212112212222211222112121121122222221112112212111212212211222222211121111111211221111112121212121211111111121122211111122121212111121211222112121122212212211211122221212122222212121121221111121111122122222121221221211121111221122111112211221122211211112112221112221211122121221122122211122211222212121122111122122221221121122212222211222222211211122211122222221212122211221212212211222222112111211122111112111211221211211221211122122111111212121112121122212222122211211121111221222121121212212211222211211122112121221121212221122121212221112111221222122111221212112112222111222221212112222111112211122121122112111111111112221121112112121222211211212221122121111211111121222221112112121212112111222211221122112222121111211212112211211112211111121122111122211121121122111112221122122112211121222211211212212121221112212112212112211211111122222112212111112112111211122122121222211112122111212112211222112212111211111212221221112211111222221121111121121211121221111122221122111111111211221111211121112222222212111121222112111111222112221122221222111212212111221211222212122222222211112211211221222211112112222212112112112122121112111112121122111211111212112122122121111222122211221212111221211112211111121222111211212211122222211212112222221112121222222221112221121211122112211111212112111122221211211122122211112122212211221112211211121211111212122111211212222212121222211112211111121222112122112221122212122111221111221121111212221121222122122112111212222111211122221212212221212111122222121121111111121222122222122121112111222211211112222221122121222221222211121121222212221122112221222121222221112121111222212111121121212112221122121122211111212121122111122222111221221112122112222111211222111221221122222111112212212112111222121121221211121222111122222112211221112121122221211221121211222112111122111111121112121121221112122211212122221221222121111212121112222222112121212212121122111121111211222111222112111121111221212222221122112211121122111121221122122212212211221122221221121121212212122212121111122122122122212111111221222212211112121112111121122222112211212112212122111222221111211211212222212221222121221112122211221112221121222112212111211221122111111212122111222212121222222122122121121122112211222212211211111211211212112121111111122111221221211212221211112122122211221121122111112112211212111122221212121222112122222122112112221111211122211212122111112111221122112122111112221121212121222122122122212221122222121222112122222122211212221112111221211121221122121111111222222222211122222221122111112112122111111211222211211122211212112121112222222112221212222221121111221221212222121221221211222121222112111122112222212212211111112222211221121111222111212121121212122211211121112222111122212221111112212212111122222211211212212112121222212212112222122121211221222222212212211111221221111222212122212222111212121212121122212121111212222121121112222211121111211112121111111222111211121211112111211111121122122212121122212212212211221222221111112221121222122222211111112112111111222122111111221211121211222221211212121222222112111112212122112122112211211222212112221121222121221212111111121111112212222221121211122222212122211222212112212112221211221112212211112212122111212121211222211112121111212212212111111211211221221212122222211211221211111111121121111122112222121121221212122212111221121121112121222111222212222111212212121221122121122112221112121121121121211111121212122122211121211221212112111122122121222212121222122112112111112122121111212222121122112111221122221111112221211112211222111222112112112122211221222111122111211222212112112122112211112121222222111111112111122221212222221111111211111122221221121211121121122111222111112221211221121121121112112211121222112121221222112212122122121211211111121211221222222122212222122111222111112112112222111222221221212122111111211111122221211211122122221221122122122122212111111122222222222121121112122221221222211222221222212122211222121122211122122111111221212122122112111111211112111212212221112112122111222121222121111112112212221221211222212211111121221211121212222221212221111112111112121111121111112211122122122112111221212222211112221212221112212212111111212212211211211221222221212222212222112121112111121121212221221111121212111212221122121211122121112211212112121122212221211211121121222111222222121121112122221222122122121222112212122212112122121212122111211121211212221221211212112111221222212122221211222122112112111221121112222112112211211111222211212121221122211221121121121221111221122112212222121121122121122111121211212122222121211212122221212211121111221212112222211121121222121212222222111221121111211121111211222211212122212222222112212111111211221121122222112211121221221211111222121112211212121112111112111211111222111112121112221212121211122121212212222222111212111111122221121211212222111211212212222111221122111112222122121211211212122122222221222111212121122112212112111211122221221221111122222112211212212211222221212122122222221121111222222111111122112111222212211122111111222211111121121221112121122121212221222212211212111211121121211111211111222121222121111112212122122212122112222222121112122212111122221222211111122221222212112222121121222221221221122111121121221121221111212211221112211212222212122222212221111112221212121112121222221222122211111221112112222111111122111112211112221212211221122112221221121112221111212221212112121121112112211212211211112212112121121122121222221211112112211112222111122112212211121121121212222211122112211221212121221121112211121212112212112222121111122111211112121112111112211112121121211212222112111112212111221111111122121211122111121111212121122122211112221222122111222112212211112121222211122221211111121221111111221221221222212111121211121112222122212222112211211222222211211112111121111211112112222121111121221221112222222122212221122222211211211221122212222211111211121212221222212212212211122122111111121221112221222212212221222111112121211111121222211211111112212111212221122111211221121112221221122222111222222122122121121111121221212112122222111112111212122212212121222222222111212222221112112112112112112221221211211212221211121221211222112211221121111122112222112122121111112112221121212122221212211222111211121221222122112222112211122221112111211121112122221222111222122221212211122122111222122212112121111122112112122222112212222222222121121221112211221111221121221112211221112212211121212212221222111212112222211221111121121212221122111112122111221221221121112221122221212122221212121121121122112212212121212222111212211111222211121122222112121112121122121221121111221221112221222211221222221221121222222221112111121221121221111212111121122111112212112111212121111212212122212112212121112122112221222111121211111111222211122121111222211211111211211121121112221122111221122122122111212121212212221121112111112111121211112212111112222212211121222222211212112122111222221111222112112121221221111122111122112122211122111221222222111212222122112211222221212121121211112211112222222222112211121121222222212212211221122122111222212211122212121122221122122212122221212212111221121221222122222111121111122112112222122221111221121121221122221211212212122221112222122112211211121222211121212221211122111211222121112211121212112212212121212122122211221212111221111121111111222122121122222212221221112111222222212111112221222121221212212211122212122221212212111221121221211121221221222221221212222112121211121211211222122221112222221111112211212121112212121112211121212111222222121112121121122221122211121222122222121222212211212112111112212221211111222121221221112212221221212211222111111112111111211221222111211222211122222111211222121222222221111211122212221211222112111112112111112122221111122121222111112222111111111221121221121222121112121121221112222221211111111221122112121222121121111111211122211121221121112121212212111122112212222112111221121112111122112221112112112121222121112221221122111111221122112222111212222212222212212122212222222112222222111222221111112111121221222211111211211222121121122122221111221112112112112222112121112221212112212121122212211122222112221121111221122112111212212121122222212111111222212122121212222212212121121211122211111122121212122121221111112122121222222121222111222212211122222111122111122122221221222112122112112122121122111222221221122112111112112111111211111112111221112211211122212212121122212221221212112212121211122122212121211211212222222121212221222121121121121111222111112111222111221112221212221212111212211222211121121121121211112111221212111111221221222112112111111211211212112222111112112222122222212121121112111112122111111212221222122222221112111122122211211111112211222112212112112122211122111211122111222111212112211222212222122211121111121211112111111111221122111112212221111112112211211122111221122222221222121212222222211222221212121222222212111222111112222212112212112212122122222122221212122221212222122111111212212222211221122112222121221211112222112212122222221222212222211212121221121112112122122122112122111111121222211121112121121111212112111212221112211121111112212221122211112222121122111122222112111112121212221221211211211212121111112211121212212122222212221221222212122211121212111112212112121111222212122222112222222212222221112211221211212122111211121211222121122222212122222212212122211121111112122211211211222211211111111212221121111211111112221121211121122111221222212112222111221122212112222222121112211221212112112221122122221221221222212222111122121212111211122211111122121212212111112222122111122112221111212122222111121212222112212212111222222112212212212221112121111212222111112111222122222211221212222222121111222111212121111122212122122222122222121212222212122121111222122221111221211222111112212212212121112221111212111222112212112221122111221121121121222121111121211221212122111121122112212112112111121221221222111221221222111211122212111121222211121211222121122212212222122222112221112211222112121121121122221212211211221221122121112211122111221222112122121111122112212122212111121122122211121211211212221211122112211111211121111212221212211212122212212222211111121211212222212211222222212221212211221112211121121212122112112122222211122111211221111111111212111121222121212212211222122112221112222222122222211222121221112121212222222221121221121221221112211212221211212212122122221121122212121222222122221212111211112121122222221122222222212221122111121221111221111122121212111221211211221122121112111121221111121211121212112212121111211122212211211221112212112112111211122111112122212211221222211221111121222111112212122122112221111212122211212121122122221222111221121221212211122111212222212221222121121112212211112211221222111212112122111211121122121221121222122211111121111221122112112122212222212121122212222111212112122212221211221212222211122111211212111222122212122122222121211121112111222112112112212221121221112222122111111122222111111211121112211122122111122222111212222222121111212111121211112222111221122221122212121221121111112221121222211121222121212112112121121221121121111112111212111112212222121221221222221221111221212122211212212211111121111111121221121211122211211211112121211112112122211222121121221211211112222222212221121122112212211221112212112211112222222222121222222121111112221122221121221112122112121112111221211121221112121112221222122112221221211112222112211121222121111122221122212221211121222121111221112121222222222212122222212121111211212211211122112211112222121212212121221111212212221112111112111221121221122111112122121121221222222111212211222112221222212211211112121122121212212122212222121222122221221212112222222221111121112212222121122212222121221222212211211121211121121212121111212212222212222211221121211211212121212221222212222121121222122121111111112222222221121112211112122112122111221111122112122121221112221222121122111222212121112222221211121111222211111221112112122221222221111222112211211221121121111212221112112221112112221121112122122121111121212111112112112221121122122121212211222221212122221112112112211121111122222121122222111111111121211212122211112121212112111112211222221211121112221112212222222222221122212112212221121121221212221222212121222112221211222121112122221122212122122111112222222221122211122122222112121112111222221112112211112222111212221111221112221112111122222122221121121222121112211222111212222222222111111212221211122222212121121122222211121121122212211121112122211112121211212122111122121222122112121122112121221212211111211112121111212121112122112121212211122222122222112121212221212122121122222121221112122122221212111112222212121222222111111211111112222111111212211112111111122221212212222221112121112212221111211211221122212121211111111122121212221121222221212121212221121121111211221221221121221122221222112111122121112112112112221121121111212211221212111122111212121211212111121222111222112122121122111121212222112211121221212221221111111111212111112211111221122211121121112111112112122121211212122121122112211211212111221111222111121112222212122122222111221212221211221221112122221211112111211211122211221221212211121222122122112221221112222222111212221221122212222112121212122212212122211122222111122121222112211221122111212112121211222212121121212122211222212221122121121221222112121121121112111111211122221222122121111222222122112222222111222111212211111112122111112121122112121112112221111122221212122122212121122212222111221211221222111121112211112112221222121212121121221112212111212212222222121222112221122112122212122211221122212212112122122112212211212121111221111221111211111212212122122211221122212211211212212211212211221111211122221211121212121121222211122211122121121211112111122112211121111122121122212111122212112112122211111222212111112111211121112122211112111112221212111121222222221212212211211212212111222121122222211121122122112111221112222111111112221121222112121222121211212111222212121222222222112112122112211112112221212211122111122122122211221222111212112122212112112212212122122111212122112211121111222222222222121222222112112212212122111221122222112112212121222222212111122112212211222111122121122111222122211211222121221111122222221111221211121212122122221121122222221222112122111221211212122121211111121122212221112111122111112121212121112221121212112111211222112122111121221211211112222222221122221221222121221212121121211221111212111112221222222111221111222221111221122222211111212111122212112121121111122211112111111211112111122212111122111112221222112212121222212111211221212112211222211211222221122222111212211121121121212122122221212122212121211122111122211121121221122111122222112211212112212122221211212211112122112212121222211221212111221121122222111222122122112211122121122112112121222211221212121112211112221221211221111211111212211212212211211211222211222212122111122221112212111122211212212112121211221121221222122122222222221122112211222211122112122211111122111212221211111112212111221212121221122222122211112121112222112212112122121112222122221222211111212111222112212211122121112222121222112212221211221112112122212212122221122211222121121212112212212212221221212112221221111221112121121212122222111211211112121211111112211221222122112112112112121112111211222122222121122122222122211221121211211222122221221112122222111112111222111122111112121111111111122221112122212122111221111211221212121112212221121212222122111112121121121212111121122211122212212112222111122122112211222122221111121211111121111112111112121111121221111111112112111212211211211122112112221221122121212221211122112112112112222222121111221211111112211121112221212221122212111112121222212121222121211111222122112111111111112121111121222222112121212222212112222221112212222222212212112221111111112222112121212211221121212222222111121112122121111222111112121211111121222212121112211221121121221212121112211222122222222212211111222211122212112211211111122211222112211112121211212222212221211222212211112212121111211111111122121112212211112111211112221122212111122122211211111211121211212211121222222221212221221112112222212211112112211222211121222111112221222112212211112111222211211222211212211211221111121111212221222112111221211211112222122222221111211222211212121212212211211121112211221122122221111112121221122112121222211122112211211121111122122112111111211221211221121112111121212222221211121212121121211221121111111122211122211221112222221221211211112212122121211111212122212212221112121222212211122211222212111211122211222221211121211122112212222222211222111121221221122121111212111122221211121111212221221211111112112212211222121212121111122112222122212112222112222111121112222221222122112212221122211111222211211211111122221221211212121112112111112212212122212112121222112112121112111122211212212112211121222122222121121122211212122122121212121122111222111122211111211221112112111112211222122122211222112121211221111111112122111121121111221121122211121211112111222122111211122222212111221212112212112111212111122112121222112122112222121111222211122221122211222122121111122211111211212212221211112122112121121111122222112112112112122222211221222221221211122111212221221222222121212121122211121211221111211122222111122221111221121212212222222212212222111121211122112212211222111211122212211122211122221112121211111222222121112211121211111221211222122211211212111122211112121122121112221222111111221212111111221211221222211212221111122111112212211212112211122211122212211221111121222211212121221112212122211121112222211112122111212222111222221112211111112122112122212111122221212122122112211122222221122121222212122211212121121212212111121111122112211122112112212112121222111211211222122121122122212221111122112212121222112222221112212222112122121212222121111111211221211122211112112121211222212121211222211121221212221111112122221111111122222121221111122121211221222222112211221222112211222121211122122111211112121221221221221122111221222121211222111221112112112212121211212112112222111222211221112122111221112222122222212112122121211112221121212122121222212112122111122121112121221111122121112221212111212121121112112211121111111222111222211221212221212111222221112122211222222212111222212211121222122221212221221121222211221111112222111121122222212122121121112222121112222111122122211122111221111121211211212111122112111211122212211221212111122111121111212111112222122121221222112111221221212112211121221111112221111212111221221221212221111111211112112112211121112111111221222121212211212121221111221111112211212221111111212212212111212122122112111111212221211211111111111221112121122221111122221222122121122222221111112112111122222121122211121122222112222212212121112121112112212222111221222121222212222222121212122112222121222211221121222211111121212211111111211111221211221121212222212111112122211111211211221222122212112221221112211111222222121222221211211112222112121122122221212122111112112212122111122122212121221122122112212111222121212121221211121111122211122112112111121122121212211211221222121222111211112121111212222111222122122122112211222122122111122211221222221121121212211121122221112221112122221122122122211212121222211222212222222222221211222111122212111112212221121212111121111122112111121211112122221212111111121112112122222112211221112221211122222122221211121222221221212111112111111121112222122112122221111121112122211121112112221121221112212112111122111212211221222122121212111212212211112212222212222211121111222121222212212111212222211121121111211212221222211211222211122122122211211121221111111111122212222221212211211222111122212112111222212211122222112121111111222211111121122212221222221221122112111121112212111121211221212211212121111221211211122211222211211111112122221122112222122221221211112222212212112122112112122211111212112222122221222212122212221112211211212221212212122111212111112212212121121221121221111111212122122211111121111121111211221111121112111121211121212222211121111221222111121111111211111221111211122112211212221112222112211211211212211111112121111111121212212211212111122211221211221122222211121222112222122112111121122121221111212221211211212121221211212121112111211222212111112121212122211222112211221212211121112211221122211122121121221111122111211212212112212221121121112111112222222111222211211122222211112211212211111212221122122111222121121212122212121221122222111211222221112121112222122121221222221121212221211121112212211121211111121222221221221112211122211112121212122112112121122111111112211111221112112212211211122221112221122121111211212212222121212121212111121211221111222222121122122211122212221122111211221122112111212122111222211222112222222112221222222111122111112122121112112111112211221122111221222222221211212211121121122112121112122211221222212221221222112121111221121112121112122222121211112111222211121111212112122222221221211112222112112211111121212211122122112111222112211122121212211111122212222111112221221222221221211112122222221121211212122221211111112112212122222112111212112222212222221211221121222212211121212112221122211122212121121212211121121112211221222211211122111121112111221221121212211211122212111111111211112221221222211221111222212121122121112121121121222121212122212211212211121112122221211211222112212112221212212211111112121111112222111122222112111112121222212221212221212111111121112122211211111111221221221211122111121222212221121212221221122212222111111111221111112211121221112221111222112121212111111212211122111122111212212222211122122212212222122221122121112222212112222211221122212111111121222111212121121122122112122112111122111122212121111221211222222211122112122111222111111212111222222221221221212221111222221222122222121221221121121222212221112212111121222212122112221221112121121121221211222212211221121122212212112222122221221112122111222222221122121222112122121221112212111122211122222221122212211222112122112122211211111212211112122221121221112212221212212111122112222212222222211221111211122111121212211122212111221221222212211122112221121211112212122212222122222212212121122122221111121121222112211222212122212112111211112121121222122212122212112221211122212211222111112222112222211112211121211222112122112222221112122212222212111221112122121221222222211111112122111211122112122221111121211122222122111122221222211212221222121121111211221111121111121221212222222112121122121222222112111112111221211221111112112112111111111122212211121222212211211122222222222212111121121211121121112121121221112112122122221112112222111221112121211211112111121112221221112222122111221112222211222122222222211112122222122212112112122111221221221122122111222212121111111121212122122222211122211122112112111212211122122121221212221121211221112221112112211212112211122122211112212222121211212212211221211212222211111121222211222212112121212122211221111221211212211121122222122112121211212211212111221121222211211112112221211112112221211121122222221112121211122212111111121111122112122111221111212221222211112111222221122212111212221221211121112111112211222122112121111212111122222111221221221112222222212112121122211111112122221122211121122121222222122122211222122212212212121222111212122212211121211112121121212121111212112121211211121122122121112221212212112111211122222211112111111212221211211211222111222122122122122221212222121212111211111212221121121111122221111112121112112111222122122121222212122221222112212121211112112112122221211222111211111212222112112111112221122112122122112111111111221122211111111122212211211121212212112122121111212111211112112211221212211112222221122211222112212212211112111221222222112121221212222122111122111112122222121122211121121112221122111112212221212112112122122212212222212111121211122221211121111222221211112221212112112222212112112112222222121121111212121121122211221211122112212212121111222222112112111111211212212111212121121221222112121112212211212122211111112221111221121222122222221121111212122221112122222111212111122212122211222211121111212112121211222111111111211111212111222211212121212222222121212121112211112112111212211221221212212122111211211111211112222211121111212112122121121211111221121121221222222121112221112221212122222122121222212211222222111211111211212112111112111211212212112122222111121111221212212121112222222222212122112111212122222111221121111112121122212221221212221212111211211121122121211112122112211212212221211112112112111112112221222211122122221112222222122222212211112211121121222121221122111111121111222121222221112111212212111221212122222212112211121122212222122121211111212121121111122211212222112112122222222111212211222112121222112222111211211211112221111111111222121111211121211112112111122221112121112122122211112111111221122211212121211111122211122122112212112112212221211221222122111111222112121222222211111222222121111122222112221122222122212111212121212211122111122211212222222112222222221122111212212122222122121121112212112111112112212112221121221111221112212222212222212122222212222211212112211121112212222111211122221122111121121211121221111121222222112212121222121222121212212211112122222121112111211112112121112112112211212112221211212111211212212111211212221222121212111211222222221122211111211111111211121121211211121211112212222112122211112211222111111112221122121112212221211222212121221112111212112122211122111111211212111212222222211111221121111121111212211121211112121122111121122112112221121212211111122211222122212121211112111122222121121221112211112111111121122221112121212111121112122111222111112112211111121122121111111211212121121112111222122222212121211211212122212112111122212121222211111122121222212221122121222122211212221212121121121111212111221121122212111221222221122211112111121221111221222222111221122122121221111211122111221121111121121212112221211212222122122222211211221121111212211212212111122211212121112111112112221122211222221222222112211111222222121221212221121221111121112112111221122121112122111111121121212221122111211222211221212221122121122222112111122212122121222212212122212111212112212212111111121222111211121222212121121122111112122221112211212122122121112121111221112112112111222221121112222211211112221112221221122212221122122222111211122122112121122112121221211111222221222111122111221111121221211211221212211222221212122111221221222122212222221121112111111211112121221122211111212222111111122121221222112212122222112112211121122111122222212222221222112121122111211121222221112121121222222222222112211221212112112112121212112112121221111121111222121222121212222112121112211222112222211211212111222212121221121221221212121112121122112211222121222212121212111121122221222222222111221212121122121121222111112212111112112222121111212222221111112122112122212211122211112122111112211111111211221121212222112222211122211122112222212221111122112121122121221121222112222221112121212111122112212222211122111221122111211221112221222111121122111111122112122111221221222111211112212121222221221111211211122222111121122122112121211212222121222222112221111212222111211221111111212121222111221222112111111221112211211122221221111122122212121122122211121212212111111222211212122111122211112112111122211121111221112212211111211112221111111122222222222212111112222211122212222122222221221221112212121212211221211122121221222212211221221222112121122122212211111211122211112221222111212112111112221121212112121221221211111112122211221111111122111111212122122221122221121221222212111122122121112111212212111112211112212222111222212222111121111122212222221222221122212221211121221122222122121211112122221121111121211221212222112211221121112111222122221121221221222111211121111212111212122221122211211111221121112221211212221212111122121122221112121221211122121112112222222111221222221212222111212112112212111222222222112122122121211122121111212211212221111111111112212211111222112121112211211222111112222121212221112221121221112121121221221121121121121122112211221211211111122222121221211112212222112122211112221222222221121221111122122122112121212111211212111111211122221222112121121111121211222111112122222111112212122211112112221212221111122122122111121212112111122112212221111221111222112112222121211112221212222221112211111121111212122111211221221111211211211211111222211212211211222222112122121222221112111212211221211212112222211111122122221122221222122212111121221211212111111111121122211221221121122212212221221222222221221211111112111221121211111211222221221111221112212212222112122121112122221221122211111111212111122212212222121222211122212122122221111121111111111212122211222122212221221122121211221111121221222221112111221212222221212112222121112121222221221211112122221222211222121221121211212111222111121212221221211122222211221211122111221121111221111212111211221222222112212121221222211221221212111222111112122121211121221121122222112111222122222111212112221221221111112122122122221222112111122121111212121111111121221222211222211122112112122122111112112222122112222112121111111221221211111122122222211121222211121121221221112112221211211112222221122221212212122121121111121211112112212212221121122211222212121212112112222221111211221212112122121211211221221121121211211111111221111222111111222121211112211121221121112212212122122211112111222221122121111112211122111222122121221211221112121121221222212122122112112111212121221121221212221221211121111212121211222221121221121221121111221212121112222211121211112111111222112121221221222212121212211111211212221111111211211112212212222111212221222111221122111122221111221121212211112222112211112122222121112121112121112111111122212122121111221121212211212122112112122212111211221221121212222112212221121121111222212211211121112122221221121122221221221121111121222221111212122222111122221222111212122222111221111122111222212112121121112112221211211212112222222221121112221121112211222212121122112221111121221211112122212121211222222111221112222221222112222112112221222112112111111212222212111221122222122222122211222211112122221211221111211121222122211211122222211212212211112121121111122212121222211112222121221221122112111212111112112111221212211212122122122112212122211111111111112121221111122211211122222212212122122121221112111111122212112222112212221121211121212221111221221212111212112222111122122122112211122111222211121212211221112112111121111212212111112112112111111122121121212212212221122222112212122211212212121221211121122112121211112111111221121112212122111222111121121121122221111222212221211212222212212112112121122122211122121112111122222221221121221122211111211212221222111211221112121222221112121221212112221111112112111122222111122122122212121121122221112211112122122112111221211112212221122121211221122222211112221211121211122222112112122112221221112221122122222221122221112111111211112121222121221222111111212221222121222212112121222221222111112112221111211122212211212122221122112221121122211112121222212211222221222221112112212212112211221221221222111222121122221122112222111211221222222112112221122211112121212111211122221122221122221222212111111212111221211111112212222222211122222222222111121111112221212211111111222212111122122112222221122212112111122112112122122212211122112211222212122212121122212112122221111111211121212112122111122111111211221121212212111122222211211212122112222221222212222122122122212211122112111212111212211221222212112221221112211121112112212122122122112211121211222121212211222221121112212211111222222221211212211211112222222112122122212211211111121122222111212121211122112222112121211112121211111221122122112222122221212121112111211112211221221211221111212112212211222212222121211221111122221212221211112212212111112212212112211122111222221121222222211121121121221222212121211221212212222211111121111112212122221112111211212112121222221121121212121122222212222112221211121221112212121221212221212221122212222222211112222222221122121122112212221111121221112222211212211222111121111211222221211121212112111211222112122212112211222222112222122111221121111212121212121222212212211211211211112112112221122222211122222112112112212112111112222211222212212111112112211122222121222111122121222122222211111211112221221211112212221122122221111122211212221211122222121122222221121121211221111122122211121111212122211212112121222221122122111221222212211121121222222121121112111121121212212221112212121122121121222122221122212111222111121212112221111222221112221212121122222122211221122212121122112211221112112122122211221221122122221122221122112121122111222122221211211222112211111122211212111122212111222222221121122111121111112112211222112222121122222222122211221112112221111121221212212112212212212122221222122222121212222112121222112112212222221222221111112112121122222122112222222111222221212111211211222112222211221121121122222211212222112212211222221221121112211112222112122112112222112211212111111112222222222221222122211111122112111212111112212111212211122211111122212212121121221222221122211212122112111221111211122212221111222222112121222112212111221121211122121222121121211212221212121111211121111212111111121121112222121111121221211112221112211221111111222111222111222212211221222211121212212111112221221221222222122111111212111221211212111122221112211211222121222112111111222212111112221222112111211112121212222211222211112221221112212211121211222211211122121221212122222121211122111111112221211211222111222111122121222122211211221112221212121112212112222122211111121112212121222121221222212111211122212211222111211122112111211121121112212112222211112111222111122111121221222222121122111221222122112222212211112222222211111111111111112122211121221222112212111221211111211222112122111222111121221111111111122121112211212221212121111111122111111211222221222211211111211111121112112211221222111221122211212111221212211211122122221122222122111111222122211121111112222211122212211211221122111121211212112212112221121111211121211211122211111122122111221211221122222121222222212212112111211112122221221222111221111212212112222121122111112222122211112221222111212111221222221112211222111221221212212221212111121122112111211121121121212112221112211222112211212112222122121211121112221211222121211221222221221212122122111121212111112112121211122112122111121111111122212121121221222111122122212212112111122121122222222221111112212222212121121112211211212121122111121122121212222211111111211112222121121221212211222121121211212211121212112111221112212111211211112221212222212121111221211121122111211212122111122111212221111121121111112222222211121111111221221221211222122212122222221122121122122212121122112211221112111112222111121122111221122222211122212111112112111122211111211121211121222111121222222211122211111212222111111222111121122212111221221111211121212222222211122221211122211211112111121221221111211112212112221122122222221111121212112222121112221121211111121211122121112212122111211221222121111211222212121212121112221111211111122211222112221221221112211122111112112122212222212121211221212121222112122222111212121112111211111222122221122121222122212212121211112111222112222111221121112112211122211222212221111221122211111112122221122122222211212111221111212111221121121112122121111122211222111221222111222221112112111212221222221211112211222212222111112111111212222111112222211111121112111211121222212121221221212122112122212121222222222122112211121121121221211212121211212211112121222121221212112222222122111211122222222211121211211111122212221211222211111222222122221221212111111222121111112221111222121111111212212222211212112221111211222212222122222121221222111212122221112111221122222221111111221212111111212221211112212112111122211122211221211221122122122222222122222212112111122111221212121112221221121212211212122112111111222122121112122211211222222111121221111222211121111222111221212111112121122221221211121111121212221222111222221121121211111211112121121221211112121121121111111121212121112212212121111211111112111222121211111221122111122111112122112221112221222222212211222121221112212212211121212111211211112222122121122121122111112122122112122222222211211121111212112121122222222121111221221111111111222122221221121222222212211112121111111211222111122121121111111211122121212212112212112212111111212221211221221121122222111111121121112111211112222121121111121112121212122212222121222122212212222112221122212211212221221122112121221111211212122112221221121111221211212221212122221212222112121121111121112221112122212112211221121211111211121112122122121112221111121121112211121221121211112221111121211111122122111211112212222112111111212121111222221122221112221122122122212211121122221211222222212221122221211212211222211222121111221222212212112122212211221111211112211221211112211211222112211212121111111112121121211221211211112112111121121112211121221212112112212212221111221112112112121211111112222211211111222122111211211222211121112121211122122111211112211121211111212112212211121112212211221222112122111111112212121222111122122212111211121212121112112222212222211122112211212122111212121222111112122111112122211221122121221111221121211222111211212221212221212112122222122211112221222211112222222211211222222121221111121122222221222211221211212111221222112122111112221221211111221112121122111112122222212112212222212221222112111211221221121212212111121122212112121221212121122111112211212112111111212212111212122212121122222121211222111121222221112112121112111112111221222121112211121212211212111112212121122221112221221111122211211222111111112222111211122111121121112111221221111122211222122222212111112112222211112111121112121112111222221121122211211211211221121122111222112111112222211222111221111112221221121222212212111212212212122121221111122221112221112212211211121212112222111111121212121212112122211221221211212221212222121221121112212221222111221212221112221121121221222112212222112222122121122122122221112121211111111212122122111212221122222222221221212121211121222222221122122221112122111122222112111222111111211112211222222222212112111122112221221121122212212211211211212212222112222211111121121222222222212211122122221221122112221122211112121211121111212221121222222122212212221211222121122212221222212112111121112122122112212121211211121221121112122111222111211222221111112221122111111211112121112112112212211122111211111221212211222111212112211112211112212112212121212212221122221222122121112112222112222121121222211112221122112122122212121121111111222221222211112221121121122122121211221222222212222111211122112122212122111212211221211112211221212112211111121211111212111112211211122111111222122121112221212121122211111222221212222121121222112211121121122211211121111211222212111122211112222122212221112111221122112112121212221212222111112111122211111221212122112121111221121221112122121212112122112222122212211122222211122221121222111112122211121122112222212112211111122111222212121221222122121121221122212111112111112212221222121122211121121121222122111111121221212111212211121112221111222221211121122212211121212122122222212221221211211211122112221121212222221212211122222211121122121112211111122211122112112121222211212111111122221211121121212211212111112221121112121211211121111222211212122121111111222112212221121122212222111222121122121221212111122212212111111221211112212212211122111211212221122112221212212221222221212112211121121112211221211121211211112122121211122111211121111211111222212222121122212111121111112211212111222112121122212111211221211221122111111211212212212111111211222121111212222112112121221111111112122121122221222212122222111222112222221212111112112112122111211111111212221122221122211122211211112112121111121121111222221221221121112211112211122122111212212122121212221222212222112112121112221112122212211221212211121111112221122121212112111122211221221211112122211122221221212222121112112111211121122121122121122112211212112222111112222211211121212222121112212222121121111221112112111221122122111221122212212211212122222221221121112212212112122122212221112121212211122211121211121222122221112221222111111121222212221222122122212221111121121211121212112212112221221211121221222121221112211121112222212221222122221221211111112212211112211112112212111222212212112122212212122211212211211211111121211212112121221121121222221211212211121212222122122112121121112122222122222121112122211111212221221111122121121112112111121111122222121112221122222221222121222212111221121222221221222112212121221212122221212112211122221111211212122122222112212111222222222111222211211222221211121211122112212111111112121222212112212121112111212112111222222222111212111212112222112212121222211221121212212111221221212122221221211222221221212212121121222221122212212222112121222212222111121112212122122211111222111112111212112112222121121121121122121121212212122212212222112111122221121222111211122122121122222112122221122112222122111111211112221112222222221212212221111222121221221112121212222112212221222211111111122222122211112111212112222212122221111221211211222212221221121222222111122221222221112212111111211212112211121212222111121221122222121111212221111121212121221122212212211122121211122221222212222211221112112112211121121211112212122211222111121222221211221222111222222212112122212122122212212121121222222211112111212112111212221122111112221221122112212221212211221212122222221121211112122112112211112112122222222212121222211111111112121111121112122121112111112111222211111222122221121112121222112211112121122211121211212222121121122222221121121121212112211112121211121212221222112111211121211111122211111221112212112112221221211222112122221221211222221212212122122111112221221221112122212111121122122212221111122221122222212121122211112221222121121122221222121122122222112121222111221221211112222112112221211211222122221221112122121221211122211121211211111212122111112111111222121212222112221221211112122212122112212112121222111221211212121111212222122111211111212221112212112121112112211121111122221211212122122121221222121211121221212212211211122122112221111111221221212212111111121222212112221122221221121212222221212211221221111211222212211222221121111222111122112222212211122121122112221221221221221122112112211212112121222221222122122111121222222111221221212211121112122212211221111111111112211112222122221112111221112111221121112112222222112122212221111221121212122121112122211221122211122111121121121222212121211222211211211122111221222122211221112121212212222122122121112112211111221222112111211211121122122112121122111111122111211112212122122222221211122111111111222221221211112211211212212121222221121122211212111211212211111122121111211222211211121111112211222221222122111122211222112112222121112222122211122121222222112122121122221212121112111121211221211122221112111111221122222121211211121211211221222222211222122112112221212221122222121122112221222212122222122221212122222111121122122112212212121122112211121212121222211111122221211211111222122221212212112211222122121121221221121121111222221222221221212221222211212112121111212121221212112122212222222122111121222211221111211211212211122211221212221221222212212112111122122212221121221122211222212121212121212211211221121221211122212111222122111122112221121111212121111112222112111112122121112212112212112121121221122222211121121221122212111221212121212122212221111121112112212121112211222212222222121121211221121122112212221112211222222212112212122211221212212212212111222122221122111221111121212121212222221212111121111212111211212212112212222112121221121122121111111221112212211212211122221212212212122212212212111222111111122111211221211211221111112211221121111222211122121121221122222112211121111222122121122221211121112111111221121211222112212212121211112111111122221112211221221122111221212121221212112111212211112212212221222222222222112221111122212212121211221121122111122121221212121221221122112121121112212112221122222122211222222221112222212111122221221121212122212221121211121211112111222111111122212211112112121222121122112112222211222111112221112212121121112111111221221111211222222211211222212221222111112222111112111212111121122121212212221221221111212212211212212212221122212111212112222221111121221222122222211212122221112211221111111111111111121212122122111122122111111111122112112111211121121122111122122111222211111222222221221222112121221122211221211122221211111211212122222222122112221122221212221112111122111121121112121222111211122111122121211111122121112211112122212211111111112112221121221221211221211212222121222222221112111211222212121111222211121122112121222211221221122112111111221111122221212122211212211122122122211112112121212111222212112221222222111211211122122212122111112121122111211112111222122122211121221112111122212211211221211111112212221221122221122211112112112122212222212112221111211211121122221121111111222121212111112122212221111122221122221112221122112221211112112122221221211121121212122212222221222122222122221212121212121212212222122222211111112222112222212111111212222112111112211212112222112211222121122212221121212112112212212222212122221212211111121211121111111111222111122221111221221122222112121222112112212221122122222212221221111111212111221112121121111122212122121122111121112211122221221222111122122221112212212211111211212222121212222111121111121121211222121222122212212222221122122221211112222121122221121211122121112122212111111221222122212121112112122121221111121212222121111121112121111212122122122221121112212212112211111112112112221211211221111212211111222121222221111211211112211122212122212212211211212212111111122211122122221121111111121122222121112221122121111212222212222122211121112111212212222111112122122121222121222112111121122122222221121112122222221112221111211212112121122112211122221222112121211111122211111112212111122111111121211212221211221112111122212211222212111122212212121111222122221222222212121222112211111221121112112212221111111212112212221221212212221221222221221212211121212212121222212111211212212121221221112211122111122222222111222211122222121121122112111221111121121121122221212211121221111121122221222212111212211222212122211112121212211111211121112122212112222212122221221122222121222122211212211212211222222122121122111122221112121221222221211111211111121211211212222111111211111221111221122121112121211212121111221221121111211121112211112111121211221222122222211112122212122122211222221222112221211112221122221111211112211112211122222221222112211221121121121111121222122111211121222221212121121112111222121221212222212222222111111222222222222211212122222222112112112222212212211121111112111122122122121122211212112221212122222112111222211211211212121112222122211221222221221222212212111212112121222221212111122211222221211212122122222211222212121112211122111121221112212121122111221221211122212212212111221212111111122222211221212211212221111121121111212211212212212211111221111221122222111222211211121222111111221122211121222121212212222122212222121211212122212111211112211111212122122211111212121211222221221221122111112211121121122122211222221212112122222122112111121122222122111221122222111221122121111211112122122112212111122211121112212112212212222222111221211111111121121221111221211112222212121121211212212211122121112212221112112121121122111212211122121212112222111121111222121221112221121221111211212111221211211222111212112212122122112122211222222122111221111121222211222121222221112121111212121212222211212222122221212111212222222211211221221111221112211111121112222211111111121112212212222121112122111211111211121122121112121122221212212211122212122112221121211211212122212121111211212222111221122122111112122222222222221122222121111111121112212112122212221121222121222122111111112122211221122121211111222222122212111111221122211112122111222121212212212212211221111211221112211122122112111122212211112211211121111121112211222222211211221212221112121221212211222222122221111221222212112122122212122122112111221222121221211222221112212211221121122121121122212111222112122221111111212121111111111212112221121212121121221112222222122211111221221211111212221222221122122222112221211211112122111122121211212112212212122111121222112212211212112211222222111112211111222212111121112211121212121122121221111121121222121112212222111221112122112121212112122221122112112212212221122212121122121211121112122121121221121222111221122211212212122121112121112122212212111122122211221121221112121211221112112222112221211211221121121221122111221122211212111211212211211212112112221211111122111121221221112122222212121121212212122122112121221122212112111111211221212221112122222211222221111221211112212212211111212212121121212122121122221221112212221112221122121211221212222222211212222122222222121122221211211211122112111111222112112122121212111221111212212121212112121121211211122221222111112121112222221222212222121221211212221221121121122222122111211121212112121212212121221212211212112121122222122211212212222212222112111221111111121222122122221212111221211211112221122212211111111212211111212221121221212112121122111122212222222112212121211211222121211221122121221212122222111111112212211111211121121121222212122211122222111221112122111212121122121221122112111121211222121222111122212212222212111111222121122112122211211122211121211222121211122221222211211111121211112122112222111222222221112222211112111122121222121211211111211122222112111212221211222222211211211111221222111212211112211112122221122121212121122222122222221112221112111122211212221222121121122211122111211222212111121112121122222112111121111212212112221121112221222111111221212121122221211212221222221222122221112221122211122221112221222222212212211122112112211121221122121111211122212121211221211122221122112221122211111222121121112222112221221222212212211222212211112221222122111111211211222221111211121212211112221111221111121122212112221111122222112212121222121222111111221211111221112211122122212111222121111211111111212121112121221222111211121212222211121121111122221112221121112222112222122222122222222122122111112121122112221122211122111112212111121112222121221222112112111222222122121111221211112122212111221111121222222111122112111221212121111112112211111221221122221111212211221221211221121111212212212211221212222111112222212212112222121111211122112221222121222221112112112211112121222122121221222111112111121222121112212221222211221221111111121222222122122212121212222211111212212122221212111212212112211212112121121222111121122211221122121122221112112111221222122212211212212221211212211221222112221211211212222221122212212222111121221221122212211212121111111221122212111111222112221211112121111222221211121212112121122122122222212211222211112111111221111212222111122112121221111122222111212112212122111222121111121222212221112212221121221212122112122222212212112111222122222212122222111111221212211212212221121112121211112222121211111221221121122211122111221122122122221211211221212212211112112212111121211222111212212222112111211222221112111222222211212122121111222112212221121212112111221221121212212122121222112112211122211222122221112112212221212111211112222212221121122111211111211112111222112221122112121111112212122221111211121111212121211211112222112222212211121122121212221112221111221121112121211212222122222211111122212112111222122122121211221122121111122121111111221121112111221222211212211212112112112221111222221212222111211112212112212212122212111222111222122212111122121222212222112222212111112212222221212221211222221122211212122111121112121222222212212111211221111221121212212111121121111221211111212121212122111211121122121111111222211121211111222211121122112122211212111221211122212212212211122221112111111122112121112122222112221222211212211112211211111111122112212121121212212212211122211221212121221122211221111112222221112212212111212111122211111222121122211111222212221122211121121212212122222121222121212221211222221222221121211212111221211121221212221111211111211222222211122221112211221222211212121111112212122112112122111221212212122211122222211221121122211111212222211122222212122211122111212222121211111111211221122222212122212122221121221212111112111121112212211211122212221211222122121221121122121222121111212221112211112112222211212222222211121222211112112212221121221112211121122222211221122211221222222211112111221211112121222221121112221211212111122122122212122221212212121212122222212212212212121212121212122122211121211222222122222112122211111111122222122211211111111121122121111212121121211111112111122121222122221221222121221221122112212221221121211121112112211212212212111122121122212121222122112112212122221212221111222111212211212221222111211121221221212112221122111221221122111122122212112221112212112222112122121221212212112221211112112221122221211212121212122121112122222212212111111211222222211211222222212211222122211122122121211121111211111222211221212221212212122222212212112122221121121112121221111122111221112211212221221211121222211122212221122221212111221221212122212211221221212211121212222122221112122212221112112221211121212111121122221122121221121221121111212112112222222121211221211211112122211221122222222211221122222122112121111121211212222221212111211121121221221121112221211121122121121211222111112112122112111111212111222222222121211221222111111211222212211221222122121121221222212121212212112212121122222211212121222112122121121111211122212221122112222121222212212121112221121122111112111212221211221111221211122111212121211112222212112122211121111121121222221122222112121221211212222222121211211112221111221111121222212221222111221111121222212221112121112222121112221122121221212211212111211222211221221222121122221111111212121221221122121122222222122122112121122111112222222121212211222221221112121221112112111121212211122212122211121222222112112121112222112221121121121122212222122122122222221221212221211211111112111211221112122122212221111212222121221121121221112121222122211111122222112222221222122211212111112122212211212122211222112212222112212122112121122222212111222221121222112111111121122111211222122122222121111121221112111211222111212211112211221221112212121211121111211111121221122222211221122121221211111221121112121222111222111111121221222221121211211122211212212222111121222221112221122211112112211122221112222212112121212222112211222212212222111122211222222212222221112221112211111221121212111111222112212122122221121122211211112121222121211221212121211211121211121212211112221112122212112122111112112112121212211222222112221221111112121222211222122112112112211211211222121212221112211212221211221211211211122111112111112112222111211121112221122112212112222111111112112111111122222122212121112111121111122112121122221111111211211221221122112212121222212122212121122122221121112111221111122121221222121211111212121221212211221212112211211111211221222121122111121222211121112211111211111211212112112122122221111111111122211112111221111222122112221221112122212222121112212111222221211111121221221121222221221212111212111111211211212222212112111212121111112212111122121121212112211221212112121111211221111121122211211121111222112212222111112122111222121121221122211121122211111112122121211221122122111121112111112222212221122221121211222122222221122122221121111222111111212111111211212212221111122221212111211211222121121122221221211222212111122121221221111121111122222112212112122111121221221211221111222122112212122212111221212121211222221122121212111221221121221221112112221212121122211112222111122221122211112212112122111111111111121221111122211212212112222121212221221212221112122211221211221221221112211221122111112122122212211121222222111221112122122212212222122112122111221112111211221221222122211112122122221112122122121121222211111211211212221112121112111212112211112112211221222212122111111121112121111111122222112111112112122212112212221222112222211222221222221112212211221211112221212222122122121212211122212221211121111122211121122221221211211211221211222121211121112121222221211222121211222122222211111211222121211212111222111222111212121222211112212221111222121111112122222112211221211222221222111221111121221112211122212122112111221122211211111221211121222112121122122111111112221121222122121111212211121121211111122221221121112122121112222212211221221222121221121111221111211112221212222211122212112121211221222211121212211111222222221212212112221211121222211212112111121212221122222121122112122222211222211121211111211221111222212211211122122212111222122111222122121121121111111122122212112112212211222112122111222211222121212212112222111121221221211221122111122211121212121221112212212211111111212211221121111121221112221111222112211111212111222121221222121221212221121112221211121122222212122122212122122111122212221121212122222112222222212111212111212112222111211111211122112111121112221121112211111112111112221221112221111212122221211221221211112112112121221112122112122121222112111211122221121212121221212221112121211121221112111221212212112222111121122121122212222211111221212212221112211221111112222111122221122221211112222111211122211111221221121111212112222121212221222111122122222211221211211222211112212212222221211221222121221221112222122112122111121211212111211221112212222121111121221222111211211211211122221121111221212221112222122221211222112112211111111112111212222221212121222122112111112122211122212221122111122211222111222121222222222221222112212222122122111222112222112112211212122221121112122211121212221222122112211111211222112221212211122122212111222121121221122212122122212122211111112122212211122121111221112112222121221121221221211122111221212221111211212211111212211122212111211212112112111222222122211112211122212212211221122112212211112111121211111221111121212211221212122221211121122111212211212222212121211112111112222112212122122111211112121112111122121222111211211212122121212112112111221221211212221222212112212112211112221211211121221111211222121111212212212211121122112121111112212112112211211121221211212111122111122222212112111211122211121121212222112112212121112212111122121222112212111212211121211211221111121111222222212221211222111111212121221111121111222211212122121122111112211212121211111111212112111111211222121212112211221212122112121122122211222121121222121122222112122222121121112121122111111212212121211211212121111121212212222122111222122121211121122221212222222222111112112212112221211111211211122112221112121221221121221112221121121211122111121211221111111221121112221221121112212222212212221121221121112111112221221221211211122121222221111211212111212211122111221222122112111211222121212211121111121222211211212111112122212212111112111121211111111222121222221122211121222121121121221121121112112121211211111211111121111121121222211222111121211222211111221112222111122222121211111121211111122121121111212212211121212212221212212111221222221121111112121121222111222122121211121211212212222212111222111222212221111111211221112222211221212212111221212122112221222112111221121212121112221211221111211222121112111111212222121111222121122211222211212122112111212212211221112212212221121211221212212221222122112111121122221121121221111221122211111212122211222121112112212212211221121122222121122111112221121112111111111221121122111212212122111112212112212121121212222211211121111211122221211111211112112211222222122122121111221222222222112211211112112122212212111111211211111222111111121212222111112221212122221212112222212122221112112211111122111222121211112111221212211122121121211221121222221112111111211121211222222211112211222122121112121222221112121122211112211212122112111122211212211222222121121212112121111221121121212221111122222211112211222111112222122211222222111112222111221111221122222112212121112122212122221211112221122122222111121121121121112121121111211211211122221211121122212212222111211212121221221221222112112212212121221111221222111222121112221111211212211121112121111112122211122212212221121111111122121112112212121112121111222121122222122111221111211221211121222111222121222111112121112111212111211112112112111122211122112212212211122222212221111222212221122122122221122112121211122221111112221221212212111221221221212111211112112121112212121221211221212121212222111122211211112222212121211122212211122221211112111212111121211111211111222211121122221112211121212112222111112112111211221122122221211211212111211112112211122112122112221112211111221112121221112111222112122211112221221111222112111111211122122111222112112122122222112121212221222112211222212121221211212221211221111111222121111212212122122121111222211121212111112212222112111121211121122122222222121121212122221212212211121221212221122222111111222222112222211221221221121121221121122212111212111121222122212121111121221212212212112222211221121121112121112222112221111211222121121211211222211211211111112211112212222222111221121221122221112122112111212212112112221221111111111122111221211121212211111121111221111111221221112221221221212122121221221112221111111111121112122111222221111222212222122221222211211212211212111121221122111222211212211211111222212112222122212222121212112121122122112221111111112222122121212221221222212121211222122222122212111211122112111121222112221211212221211121212222112112221222221222112222222222212111121122211211222221121112122111112121212122122111222121121211111112121111122111212211221221211211111112221211111121221112222122121121222121111212222221211222221112111221221112112211211221211221221112211112211222222221112211212211122122222111212211212111212212211121121112111212212222121212111221222111121212112112221112111121111212121221221121211121221122111121112122112221222221212211122121112212112212212212122122212212221211111211222112212221122111122221112112221121211122211211121222222212212211212111112222222212212211122211112122111111111211221122221222111122112122222212111111221111121122211121221212111222111122122121212212122212222222112111122221222111221122121212121212112211221122212112222221112222211111212121222122222221121112222222212212112221121221111222211211212111211212211211112112212212112122121221122112112111212122222121211112122211112111221121211212121111211222121222122121111211111112212121121211122222111212122121122112221221212111211222221221122122221212111221121221111121122211111122221212122112221111122212211212211221111112212122111122222121221222121122211211222221212122111221122221111122221221221112112122112111222112221122212222112122221211221112112121121111122221111111211212221111212222111122212122222121112222112212211122122212211212222221211111211212221122221111111222121121212112111121222222122211211221221211121112211212221122222111212121121111222121111121122222221122112211222122212121111222211112112212211112122122112211121121221111211211112221222121112111211112222211211212212111211111112121112222212121212211122221122122111221122111122212122121111122121221211112212112111222221212111211211222222111222121222222212212121121211211212121111122212121221121112221112112121211212222122111212211221112122111212112211222212122222221111121212111211212221221121121211112122222111211211212221121212112222221212122221122112222111111222211211212111112221222111221212221212111211211112122222211112221221212222122121221211112122111211112212112221211222212111212112221122122122222211112222122212222122121112121222211212211221222211212221121112112221122221122112111222121222222222122211212111112112222222122111112111212111222211122121122122121221111111221122212212222112111222121221211222211221211222222111212211122112221122212122122111212221122111222111221111221221122111111221122122111221111211221211211212211111221221221122221211121111211222111221122222111222111111121112221221212222212111111111121211211111122221211222221211111121121121112212122112122121121112221111111111111212111221112212111212222221112111221121111222222111211121212221211211221221212122122112111122221222212112122211121212111212221222111112211222112221122211222111112121122212211222111221112112112121222212212112221221221211111121112122212222122221112121121112122211122211111112222212121112212121211122112211222111221211122211212221221221121221121212212122111112121211112121222112212222212211221211222211211212112222222221211122211112222111211212112212221112211122122211122111121212111111121221121112212111222111211212112122212111221122111222121211121112112222112112121111121121211211222111122212112121111211212212111212221112112211121212112112222222211222112212211122211212212112221112121211222222211121221222111212212122111122122222211222221221111112212111211111211111212212111112222222111121221111212211212112212121222211112122212111112122112111111222221222221111211122212211112121211222112212112212122121111221212122111212212121112211222122112122111121221212112212221221112111112112222221122112212221111221222121112122112122221211121211111111222222212121221121121222221212122112121111122111221121211211112221221121112221211221111122212221211211211212221211121122112121111221211222212211122122111112212121212221211212211112111222212121222111122111112111211121221122221121122112212221222112211111111121112221121211221111111212211211122211122112122212221122221121112122111111211121122222121222211111222211122111111221212122111112212121122221221122212211121212122121212222212111121212112212221111222211111122222211212122212121221211221112111222111122222222112212222212112212211211222111212121122112222122112112121112122212221211222111112212111112111221211222212121121112111211222222212122112212212121122121111211211221122112111211112222221211222112211212221222121222222212121121111212111212112121111221212212111212212211211122212121212121111121111222122212211122211121212111222211111221122222212112112211222122121221221222112111211122222211111121211211221112111111122112222111211122112122121211122121211222122222121112212121122121222211212112112122112111112212111112212122122212221211211212212212211111221121211112211122111122221121222222211212212222222112111222111222221221212112221121211121221112112212122221111111212221211111112212212122222212121222121212221111212121211211212212211122121111212122121221111211121211112112212121121121121222212122112121112221111221111222221211112222121122222121122111211121111121112122221112122122122112121211111111112121222222222122121121222212211112122222112212111112222111122221221122112122122212122221222111122221211121121212112222222111121121212121122221112122211121211111221211121212112122122112122121111211212111122211112211111221211112121121211111221222222111112221122212212211222222212212122212112211112122222222112211212112122212112111112222221222211121212222121211221222212111211121222222122222121121212221221221222112212221212221111112222211122112112111221212121221121121122112212221112111122121211212211222211121121211221211122222211212122221221211111211122211212222222222221221122212112112212112212121212122111212111212112222112112211212122212212122211211111112212222211112112112111121221211111221121111222122122211211212121222222212112212122111211111222211111221212221212122221121211111212112111111111211121222221222211211122122111111211112221111112221212222111212211211121221121221212112212211121111211121121212222222211221121122121211121222122121111222211112111211122221112212122222112112211212221121221122112122111212112221122111212121122111112222222221211112111211222212211121122122221122121121122222221222112212122111222221112222211212122212221211222212111122122112221121211222122221121121122211222121211122212222222121111112222121111212212121111122122211112111221212212112121222222222211121222112211222211122112221222121221222112121212221121222111211112112121221112111121111222221211111212222112222122122222211111112122221121122121221212222222121221221122221212122111222111211211212111111112112221222121122122221121221221212122221221211111212211222121111122212212112221121111222211222112211112112112221122111222122111212222111111222212211122221221121221211122222121111222211122212212121111112211211221112212122212122221211221122212111111112121121211122211211221211112221111111112122112212122121222121222122221212121222111122121121112121122221112211111112222211111121222112111111111221111222211112222222221112122221222111211212212112222122221111121121111221222111221212211222112121211221221121111212211221211221121222112121212211112221112211111121121111222122111122222211112121212112111122111121222121212111212111211221212222122212112111221122121121211211221122121222221111221122111111121122222222112121221211111211221222112111222212112212121122211211121211112111212111111122221122112222221122211212111112222211121112111121122111212122221121122221221211211212222111122122112111221122212211122212222221112121111221221121112222121212112222211122221121112211211212121121222221112111122212122121122212122222222222222111121211112122122112121122212222211122111221222221122211212112212111211211212111121222112221211222212122222112222111122112221211121122222122121112112221212121221212221212121211222122221121111212111121212222112221121212212112222122212111222221212112111212121121122121122211222112111111222111221111122212211212221211122212222112221122221122122111222112111222112121122122221112221222221221122212121122111212212211222112111121222112121221112222222121211121111112221121221221121111221112212121221211211211122222121111112221111122122211111222211222211112222222211212121212111121121111222121112122222122112121221121111112211222112122111112212112212121121221121211112221212211212112221112111211221111211112112112122212112221121111121211221121221212112212222111211222121211111212121122112121211222111221122111122112222221111222221121121221112221222222121121211122221222112221221211121212111212211222121212112222211121221222221122221122221221212212121211122222111211211111212221122111211221112222221122211221211122221211111112212111122111222222221222121222122212221111222221121211122222221111211211221221112112112112211122221112112122211111111211222112211122122221112111112221211122122111222221211222221121222221211121222221122222112222121121222111122122221111221222212112221111112222121112121111121122212212122212211212221211112211222221111212212122122112211211122221222212121222122111122122111212111122111212221112111212121222122121222111112112221121212222212211212111222222111122212211222111212111111121222211212111212222122222222221222111111211221122221222112212222212212122122112221122112222212111211121111112221222211222122212222122222212111121211111211222111211111212122112221221112212211112222212111211211112211221122122211121112121211121221122221221211212212122121221221222122112221112121111122221211212221111112111122211211222211112222112122212212112211112112221212121111111212121122121111211211222111211112221211221222212222112211221111112212121211212211112221221111221111212122211221112121121211112111211222211212212121212212221111221222122212211121211212111221122111112221221111211211111122121211122121212211112212222221222121121121212121221222122121112121212122221112212112212211111111112222112122222221121122121222112121122111111212112121212122211222222122122222222122212211111222112112122221112211222122211222112111222211121122122211122112111112122222121222121112112211121112221212111212121222122111121211121121212211211122221221111122211221222222121122222112212221121122211112211122122211111122212122211122211112121212221222121122122222122112122222112111221211111112212111221212111111122121121111212121122111112111121121121211212211111112111111121222221221211221112212211111112212111122121121211212221122211211212112111112212221122211211122211222212112221112221122221221111111222111221222212211112222211212221212221122211211122121112211212221112212122221222122212211221111122211122211212112211212111221211112212112112112111221112111121112212112212121222121122112211121212212112112212112211122122111212222212121211112221212121222222211121121211121112211121112122112211121111212121222221212122211212222212221121112211111222212222121112112112111211122112212222211112212121211111212121222121111112222121221222112122222122222121121221122112212111111222222221112221112212211211211212221211111121211221122221122111222212112222111111121111121112221222222111122211211221112121121211212112212111212212111211222222112112211221211112111212112121112121211222222222211111222222121211211221211122111112211222122221121122112112112111112112222222112111122122112121112212222222211222112122221221212212222111112121212222112212221222111112112212122112221122211211112212222221212211121122112221212211121121221122122212221212211222221222112112221221222211121222111212212211122222221221211211111121211122111212211221212122212121121112121211221121212112212111211112222222121222222111111212121212222211212222112121122122111122112221111112122122112122122111222121111212111222112212111212122221211211112211212212212222221222122121111122111211111121222111121122121221222112121122221121112112112121112222212221212121212222221112111222221122212112112222212122122112211122222212221122122222222111111211112121221211211211222111112122111222112112221222122111222111122221122121121212111111112111212121211212211122111221211212112111222212212121222112112122122122212211211122112222212111122212222121121121122211112111222221222121111122121211222222212112112112122121112112222121221221222111211111222111212122122112121121112121121111211112211221121211122211122112122222121112212121221122221112211222221111112111221111211121212211112121211211121212212211222221221212221211111121211122211121212221221211112221122122121211122111221221212222112111222222112222121222112221112121212222222112122222111212211221212121212211111112211121112222111211211111222112111221212222112211222121122112121121122122222111121122122221212122112121222112121121222221121222121221112211111112222121122212211121212122212122211121221112211122221212222111121212122122211121221112222222211112222121121211212121222222112122111221122122121222111121121212222212111211212212221211211111121122221111212122212211122122212221212222211222221111111221122122111121211121212222121222111121111121111121111111112212112111111221112121221221212211122121222221122121111211111222221211221221122211122122221211111221122121111211222121121121212222222212222112221211221212211222112121122112112212212112212121111212211111212222111111112121121211222111111222111212111211122212121122121111221112112111121122221121222122111111221111111211121121121112212121122221122221112112121111221211222112122111222212122122222122222112222122221112112112112111111111211112211222221111111121112211112211221122221212112221111222112122211121112122112122221121111212112111222121212112221221222211222212122122211121211122121121212122212221111212122112122222212212222121211122112211111222112112212111221122222211111121112112222211112222222111122122111122222121221212212122211212222112212112111212211222112212111212212211221221112221122212222221112121221221121212111112222122121212122211112122221121122222221222112121121212112111221112111122212221222112221121212211112221112221111221112122221122122211212221221112211112221121222212221122111112111111212211211112112221211111112211112211122222211121222222112122121111121112211112122112121222122221221221111111122212121111122112112211212222122211211222121212221211221121211122122211211111222212122111212112111121112211222222121222212211222212111221221221121121121111222211112112122112122122112111222121112111222211122112212212122221121122121222111121212211222222112111221112122111222122221221121111121112211222111222222111111121211212222212211111222112122122112211221221212122121212122211122111222112221122111111111111121222122211222222122112122121221111111122111212222121121222211211112222221211222122122222112112222222211111111112211221212221121112211111122121122112211122121221212211111121111222222122221121111111121122211222122111112111221111211221212221222222112222112222222122112112122112212221122121112212112112111122111211121111112111221122221121221122122211112222122212122211121221221212112122112221112222211112221121221211221212222111112211112111112111121212121221212121222121211221222112211122122221212112221112121121212121221211121221222122212222121121121221111211212111111111212111222212122111222222211112221111211222211221111122122111111121122122122222212222111221212211111121112112112122211212112112221112122112121112222221111222111111112112121222111211221122111211221122112222112112222221222211211221121122111211212121122221122212221211122222111212221212122111222112222111212221111121121122111111211122212111112221222222111122222221211211111221122212111122222222211211221222211121212111221121211112121212111121221222211112111112122112211211211212121221212112211111121112111221121121112221212222212212211112221121121112222211112211122121211221221222211122112121111122212122221112211122212212222111111211121121122222211121111221121211211211111112222211112211221222222121211212212121112111212122122222121111211121212122111212221212221221112111122111121112111221122221111112121221111221221222111221112211112222112122221211121212111112222222111122122221122122112122121122112111222122221221221211112211112211211221222211111211221211212211222112222111221222211222122112122111221221212221222212122222122221112222212212111212111121121111211211122121122121112121121111212211121221122212222211222212111112122111222221122211222112112122211222211121222222212121222212121112222121221122212212212221111122221111111121222121212221122112112111222111221211221112212111112122111121212211222111221121112111221121122222122212122122112212121111112212122212111122221112222222121212111121121121222111211121121221111121222221222111111211211222222221222122211222121122221222112112211221111122222222211111222111222212211222122122111122222112121211121212121111211122212211221221111122121221222211221222212112111221222122112222222212221212122122221212111122112222111122221121211122212112111112111121122111212122122121221122122221211211121112212211111122122112221222121211112222122121221111212212121212122111121112222122212122112112222212211221222212121212112111121221211222221111111212211112221211211211221121122122221111112212221212111221122211212211111122121221211211211222122222122212121211222112121211111121122221112122122121222121121122122111111221111122111212112111122221122111122222211112111121212212122112221221112212122122221112221112222212111111211111222222221112221222111122212122121121112222222122121122121221122222111111112221222221221112122212221211111221121222211111122221121222211111122111222222122211222221222111212111112121222112212111221212121111112221211211222222122221211221211221111212111221122112112122222212211212121122111122112112111221212112111222111121121211111211221222111212212211212222211212221112122121211211111212221212221212221111121111111111221121111211222121111111111211122122112122211211112121221221221221121211111112111212112122121222122112211122222122221122222111112112122122212112211111121211112222112122221111122212221111112121211211222122221212122112222222121121221221222212221112121212222112122222122112211121221211111121122211111211211212222222211112221111211221221211122221111122211112121212222222211212112112111112222122222221212222221221111112112111221221121221222222222112122221211212212122222111212111121221121212112111211112221221112112212221221212212211212211121222212221222111121111111212112221212112211121112112111221121112122221122222122211212222122221211212111221222211211112112211112212211112111121112222221112222221121211111212112222121111111221222212212112222221111211121222112211221122212121212221211122222111222122221122222211111211221221222122121112221112211111111121222122122221212222122222122112111112111222212121212111112111112212211211211221122111211212221211211122211212221212222112221222212212112111121111221122112122111212111121112211221111112222112211122111112112212222222122212111221121121122222211121121112121121122121212211111212111112221121212121121221211212212122222112222212112211121212222122221221211211212212122221111121111211211112221211221212122121212212211111221212212122121122122221111212211221212211122212211222121221211111122221112211122222212222112211112122221222112112121222122221221212221221111212111122212222121212111222221112212221122111211111112122122211222211111121222221112122111212212212212211222211112122122222222111222211112122212112112111221222222211121112212211112222121221211122121112222221121211121212112112221121122122112222112212121122222111222211112122122121212212221222112112111222111111121122212122122122121222222112222112222222222112112212122121212211122122212221212211221122221221121121221212221121111221111222122212112122222112221222122211122222112211222122122111121222112222122112211211222221121121111111111121211112111221212221112211122121222211122111212211211221111212111212111221221222211122111211221122111221121212111122112112222221122212112112212112212212112122111222212211122112112112122212222212212222122222121211111212222222122111122212122222212221112122121122221112112212221121222221212222122211212122221112212211121222112112222122112122221112122121112221221212221122121121221221211111111211122212122122111112222111211212211121211121222222222221222112212122121212212212222121122221121121111222221221122212212121221211111222211222221222211221122222112121122222212211212111212222121122111121121112122221121222211122112122112211121211221212111222212211121211212211112111222121212111121121222122122112122121122122112212111111121112211221122122221112121211112122121212212221122221121221112211111122221212211112222221221111212112121111211221222212211211111111112111211111222221122122222121222111212221122122122122222122122112211221112222111121212122222221222112111222112221212112122211122112222112211211211111122122121122212122212221212111122211221221122111211221222212122121211121221222221122212221121122221212122212212211121111121111221111222222111212122221222221122212211222121112222122222122212122211222211111112221211222122222212121211221121112121212222212211211122212122112212111112112211122221111121211122211122112122112211221112122112211222112121112122212221122121211112111111121111222212112121121112222222111122112121112222221222111112111222221212211212222222212111111222121211122121222121222211221111122222222121121122212122221222111122122112112212221111121221222122222122222121121112111222211122221112211121121112212121111111112211221221221211222212121122222222111112211121121211211212211211212211222122111221212212222222222221211112221222222121122112221221112211211221211221111111212211111212222222211112121221111221211111211111222222221221122211111122122212121111211211111112122221221221122112122122222212122212221111222211111112112112212211112112121112212122111212221112122111212111212122212111222221221111121112112111122222112112221112222121211112222121111122121111221121111221222122122112211111211111212112122222222112112122212212221122211222121212121121221111121212221121221122121221112112111121221211112212112111222212112212121121211211222112221121122111122112121212222211222222121111222112221112211212222212121121112112212121221111122212111212222111112222211222221222122222111121122111112222222112222222212122122122122221222212221221221112122111121212112212222212221121112112122212221111122212212212222212221122221121112222122112212121111212112122112111111121111211221222211122211121212111121222222121121111222111211222222112212121212211212121212112221122212112212211112212211111212221221212211211222222211222221221112111121112111212211221212212122222122111212222111111221121212122121122222211121221111121122112211112212222212222122122221112122121211212111122221111211112222121221122212121212122122211112122212211112211212211222221222122122122112221211212112221221211222211111121222212212121221121221222111111112211212112211221112122121222211112222211112221122112222211211222211122222221211122222222212121122212122222211221112111112122112212122121211112212111222212212111212122221212212211121111221121211121121222211222121211212122122221121112222121112222211111222211112111111112212112211122122112111122221121111211111221112112122112211212212221112212111122111212222111222212211112121212211112221211111222111221112112222122212221221121221111222211111211111221122121111212212211121122212221112212211121122111122222121211221212221222211121212221111211112112121121221212122111121112211212111221212121122221222121121221212112221211112112222122222211211211111122211212122212112121111112221112211121122111111221212211211121111121122122121221121111211222212221222121122222222211221221121111212112211111122112122212212222111222222112121112112121222122222221122212111112122111122221121112122222122212212122111111222222222111111122212112122121211222112222121112111122121112111212121112122122211211121221222122212212221121122112122121212221211121121122112121111212212121122211212111111121111111112111112211221222221221122212111122122221221211111212121211212121212222122112222111111212222112121121221221112212112221121222212112212221211112122121221122112212211122122222211221221222112122222122222111121122211111122112122112111122222211111211122122221112112111212122112122221211122211222111122111211121111112121221112212111121221122221211111221211212212122221121222222221211211211122111211111112212112112212122222121221221122222112121212222121211122212122221222212221222221111121121211221121112222212122121222211111111221222111212122122222211112112112212222121111111122212121112211111111122211111222111122211212122112222211122222122212121112111112112122211111222121121121211111122212211112212211121212222121222121221222211211211111221111111112222222221112112122222111212211221111211122221212221111222112222121221212221221111112212121121222122112121211211122221212121211122222212121211122221212211222222212111112122221221212112211122212112122112211222121221122211111111121211112212112221222221221222112222122211222122111221111222211121111112112211111111211122211212111222221112112122211112122221211111121121212122212212221222221111221212112222222221121222212212222112212212221221211121221222121222211121221121222221222212221112121222111212212111212121121212112112122221112122221211211122122211211221112112222111211121212212111122111221222212122112112221221122122112121111121221122122122221221222211221112121212221121212111122121122121112111211211212111121222122121111221122121211212111212122111222111111112211212212222121221212121212222222211212111222221121112221221112212211211222221211122111221211111212111122211222221121111112111121212221111222122111111212222111111122212122222112221222122111111111111122222122222121221222211222121222111211112211211222122112222112121211112212212121222211121112221211221212212122222222112221222221211112221112212212221111212121212221222212212211221211121122222212212222212121221121121112211122112212211222121112211111212112222111122211112221222211112112212221212221122221122212221222121122221112122111122221112112211111211122111212212111212121221212221221122212222121121111122222212112122221212121111122111111121121222211122211112112221121121212121111212121122212222112222212211211121221212112111211212111222112212211222211122121111111112122221112211112211222122112221212221221211122111212212112122221212112211222121112221122212121112222121212121221121121211112112221222122212222212212121221222121112111211122222121221222211112222121121122211122222222222111111221112211222212112211111121211112112112212212212212121221212221211221122121121112212222111112211211211212221222211112221121122221121121112221221211211212121112111212112122221122121212221211112221222121112211121121122222121222222111211212122211122121112111111222112121121121111112221222211222121111212212212211111212122212221212212211211111212121211221212112212221121222222121111122121112212112221112112121112212112122112121222211211121122121121112121122122212212112122212121222221222212221212221221122112211212122221122112121122121111111212122211221212211122221222112122112212221112221122212212212211222211111112222221211221122112111212122212111212121211112112112222211111121112222122212222222111222222111221112211211222221221121222221112112122112112222121212122121222121112122112211121222222211222121112221121212212221222211222221222122111221121121212122211212212111212222121221211112122111211122212212112222121121112211222112122111111222222111111212211222221122211212121112112112122111212111222222111222112221221222221121121211111111122111221212121212221111112221111122121111122221212111121211111211221112112122112111112112121112212222111212121211212111112121122221212122111111111122222221222112222122222121221222222111122221222221221211221221211111112112211122212112222211112121122221222221211211121212212211121222222121121111221121112111122222221212112221222111111122122212211111121111121222121112221122122211121121122212111212111111111211122221211222212122111221121222111212111212122221222212121112211121211121211122212112111221211111221211221122112111222112211111212121221122121121121112122121122222222211122212111222221212211221121121121221111212211111211212111111222111211122112121122222122221222112111122222112222222212211221111121112212212211211112212222222222112122112121221122212221222222112121222121222221111111212122222111111121221121121211121211221221111121222111212111111221122221211122122222221221222212122212212221212211121221212121211212111212222121112222111112121221122222211212211122122222212121111112211222222221122121121212222222221221121212122212111111211112211112212122222112211121121112221212221121112222212222222212221212121222112112121222212212221122112122121111122112222211121222211121221222122111212211211122222211112222111222121211212211121121111121111122121221122112121211211211121222222221121221121212111222112211221222211221111122222211112112211122112112122211122211112222122121112211122111221111112121221122111221222222111211122221121112221112121122211221112121121112112112111122221121212112222221221222121221121112211212222112112221211122221212211222111112212222212212112222222111222221212222121112122111221122211121222122121112212122121211211111211212222112122112111121121221212221221122211122122122221111121221112222211221112212121111122122212221122122221121122122121211122211221112122121121122221122212121112222111222122121112121221222122221212212211121121211212121121221222112112221222221211221112121221221212222111111111112112211111121211211211112211212112212222222121211111112212112211211121112222212211121121211112122111122212121121122212221221121122221121222212121211122122211111121221112221122221212122111222212211121212212211122222212112211211112122211122121111112122121222112212211112221222111222212112122211221121221222211222221222222122222121222112122112121121212221211121122121222222121122122212111122211221122111221222211221111122111112212111212222122121122111112211212211111221221121212111222112222121222221221111221122112222122221211112211221112221112122122222112212211121211222112222211112211221221122121121121212111111212222121122221122212112111222122122222222221112122122122221112111121121112221122222221212211221121221111122221221211122111221122122122212222122111121122222112121212221111111112111222211221212222121122112212212211222121111121122212221122111221121221112212212222212122111112111211212111111122112221222221222221121221122112112211121121222211121122211221112112221112222121111222112222211122112211121222222122221211112212212122222221112111212112122112211211212112122121221112211211221222212111222212221221211211111111121111221112121121122112222111222211222222121121212221221211111112112111222211221122221212222112212112112212112211211221222212112212111111121212112212222211121112212122121211112112221221112111112112212112122122211211211111212112112122122222212111212222112221121211111121122121111212221222121221112222111222111222122122211221211121221211222121222221221221122221211212211222222211212222222211212222122122111222222121212221112211121122211222211111121221112111222212111112212121212111122121211222221112121222121212111212211111221222221211122222111211211121111212211111221212111221121121112122212212121222212212112121212122111121112111121111212111122222111211111121211211211121121111211112122122222111121112211112222212121212221112112211111222111121211222112212211221111221222212211111211222222122212211111211222221212212211111211121112221122121112222212221211111222221221222121112122112121212122222211212121112222221112112222121112121221122122111222211122211211212212212121122211111122211111112111212122111221112222112111121111222211211221121212211122222121212211112111111112122122212222221111221222221111111122212122211212122112121122121111222221112111111211211211212121222122212212122212211221212121222212111121211211221212122111111211222212111112112212222212112212121211111222211222212221122221221112112222111222212212222112122211122111111221122121121122122222211212112222212222121111222111121212211211122112121211112222112222112212222212121221212221121122212111211211112122121111111122221212121122212212221111222212121121112212211111122111212222212112212111211212211121122121111211211112122112112112211221121112212122111122121222221111112221221211212211122211122222111211121122112222221112221122211221112111122122121221122112122122211111122212122112111222112122211221211112121111122211121111212221211122121222212212112212112212111211211122222212112211112221112212221121121111222112211121121122212112111121212121121121211112111121221222122122112112211222211122222211211211211122111222121112211122211211211222121111211212211111121212111221122221222112121121222121121111211221211221211212122221211211211221112111221112112222211212122211111112222122112221122222212112222212121222222121112122221112121111222221121221211122222211211121121212222222111121222111222111111121122121211212221122121211221112122222112222212221122121112122121121111121221222111121222222112211111211221212112112111212121112221111112212121212212122221222112112111112112112122211121121111222222121112112122122122112212112221221112222222111212212121211121121222121112221111211121211122121212112221211121121121112122212121121221122222222222212212212122221222211111111121222211121112222222211211212112211112122212121112112112121212112222221112112212121211222111122212211221222222111112112121212111222111111212211112222221212112111222221211112121212222121121121122211112211112111111221211221211112111212211122212221111212122111211121211211111211222121211121111111212222222111212121221111112122122222222111221211222222221212111211121121221111122221112222112112212111111121122121221121222221222221121121121221122222121112212122111221211112121211122211212211111121122221222111112212122222112112212212111221222222221211111111111212111111122212112112112212112211111121111111121122211111112111221112112221222212222211121121222211112111112121121212212211221121222212122222122211221212121222111221222221222212111111122212122121211111121122111212211122121112212222122122111122112111222112121212222211111121122122112211212122121222222122211211111211122112121111222212122212121122112112212111221121111222212111111111221121212122211121221122221212212211221122122221121112112112212221112221212112111112111211212111222221212221121112211212112111222212111211212112212222111112222121122121121122222112212212111212211211221122222222112111221222111222121121122211221111122111211112211122211122211112221112112112121211211211221222112221221211122221112211121121112221211222121212111211212111212111111221111122222221211121112122212112211121122121222211221112211121111121222121222222211212112112122121221211221121212221221112212221212222121221122211221112122211122111212112112121112121221121121212121212122221212112212121221121222111211121212211222211211222122221212112111122221211211212121122222221211222212111122111221222222121222121122122121221121212212221111112111111122211111111122222122112122112121112112121112212122111222111111111111111222111211222211111221212212211212211222212221122211122111211111211221111211221211221221121221111211121111221212211211112112212212221121111211221222111222211111222211112111211121121122122211122112211122111121221212221111212211221222111211122212122221112222112121221222212121111222221112222211121212222222112221222111121222221222212111222221211111122222222221111122212212121222221112112211121122122111122222211121222212121112222221112222122221221112121212111221111121122212222112122211121111111211122112211121122111222212112221112221111212222211112111222221211212122122211222122122212122222122111212112121112212111111122111121221221112112222211111222122112111112212122112222222122111112111122122112121121212222121222222112221221222112221222212222122111221212212211111221111121121221221112112211211221112211122211212212112211222112211222111221212222112122212211122211211122111112211121212222121211122211122222212212211121221111112211122211222211222211121222122122212111112221211121111112112111212211222111221212111111212121221222211122112122221211121112111111222112221122112212211222211121111211212212112121112222212121211122211121211112221111221211221122211222211221222212212211111222221122112222221211221221121112211111112122212221212221221221221121122121112112221212211122222121212212211221212112222121112112121221121122221122112211212212221211112112211121111112111212222211221221112112112121122212221111121222221212211122112212122221211122211111211121122122122222222112111122221222122121212221122221121222221212112212221212221222222222112122212121222122112212122212221211121222211112211221212222122122111212122122222111211211111211221212221222221211212222111112221221212122221212122221212112122221111211112211122221122212211121121121122122121121111212112122211211211211222221122211221122221222111211111112112111222221212112221121111121121222221111112122222111212121111121122211122122111121211221221112222121111221112122122212112212222111222112111212211221212212122112111111221212122112222121111212121212221212112122122211111121221212222122121221221211222122122211111112112112122121212221111211112111111121212221211212121121222122211122222111122111111212222221211122122111111121221112121221222222111212121211121122122212121211122122111111111122121221212112111211221112222222212121221211121212222122122111212222211211122212211211222122222211212211122122122111221121211221221212122222111121212211111212122122121222122112211211112121211111222221122212112221211111212111211111112221211112222222211211122211222121121122212222122221112121121121112121222122211221122222221212112122222222212211122222121211211111112112211212221222112221122122112112211111212222121212122122122211111222212211111122211122112222212212222212112112122222212221221112121212122122121121112112212211121221111212222221112222122111122222121112222222222211221112212211121121221122112111222111211221122211222212222121121221211212112221121121222112111112112121221212211122221121122122122122221121121111212111112121222221212121122211211112121211212211122221112222111111122112212222222111122122211221121122221121221222111111112121122212212111212221121211121221221111122121112211121211121221111222121122212111211112121122212221121212112212221221212222211212112111121121222111112111221121112211111222222112122111121212212212221111111222122212121112222211121222112111221112211111211222112112222212211112111112122111221111211121211222211111111221222111112121112211211111112211211112222211111111111121222211121221122222121112212122112212211112211212112212211222112122222122121221211221212222122122222112112112121211112111111111221222212212212112221211212121121212122211112121222121121211211112121122121222222112222112122211221112111211212121211212112121111112221211212212221122212222122112211112221122112121112122122121111222222211221211111121221112111211211111121112222212111122212221222222122111111222212222111111222121212112121212211121122121222121122112211111222211212121222212112222122221121121122222222112211112222121212221122112221121112211212211111122211221112121111122121211222212122111122212122211122211121222211211222211121111112211112221121111212221111121222122112222212222121221111112112122221112122212121121222212121121122111122212122122222222221121222221212111222222111221221212121221111112121211212122211212122211122121122212121222211112211212211111122111212122121112111211111111112111211222221112212221121222122111222112222122111121122222212121112212112122222122121122221212111212211122111112112222211212211212111111212212111221221121212111212222112211221111212222211211221111111122221111212111222111222212122222221122121111221221112122112211212122121122122211112112122121112212112222212221122212212122121111211212112212112122221212212121211211211222121221111222111112211211122222221212111112122212221211121121221211221111112211122212221111221221111121222121221211121122211111111222112221211121211111122111221222212221112221121121222222121212212211111222221221121122122212121111221221121212211122111122112112211211112212221111212121121122222122112112122221221122122221112111212211212211212212112222221111121111211121211222212221211122122112111122121112122112212211112221111122121112122121112121222121212121211122122121122121111111221112211122121121222222211212111221212111111111112211122111122111112112221111111211122212112222221211212222212211111222211221222212221211212111221112122121111211121212121111122212121122221222221111111111112112121221221111212121211121211122221211221112221221112221121221222121212211112112222222211112221111222211122212122212122222221222212211221212221122111121121111121212211111221122221211112121122122112112222121121111111111221112111221211122122121121121111112111211221221212222211122221211222212111122211222121222212221211112111121222212222121121122122211112221112222122122222121212211112111222221121222112122122222221222221222121111212212212211111121121121112122221122212222111111121111111111121221211121122112211111121211211211212112211121111111112211111121212111112212112122222222222211122221212122121222112112112212211212212122112212122112111122212212211121112121221221122211221212121221122111221222211222211211211221221121111122222212112222212121122111221121121222111122122211221211222212112111211221221212112212222112221212221211222222211222112122122212212112212222111212111221212211222221222111112122222112111222122112121112111222112111111212122122221222222111122112211222211212121122221122111122211112121211121221112221111121212212121221211211212122122111221112212121111222111222211212211122111212122212122121211121212122111122121112221221222122121112121221121221111122211111212122121211211212122211121221121121222211122122121222112112211121112211222111121111212122122211222211212122222122122211112122212111122112111112111112112112122221221112111121222222222222212121122221112121122222211212111222121221111121122212112112221122122211121121222211112111112221112212222211121211112212122111211222211122212121211112112211112122211111111211112212112111122221122121211221211211111121121122121222112112222112111112222111111112121221121111221212222222221221222212122212222211211112221222211122111212112222222222112221221221222221121211112121112222111111121212112112222112221211112211122121222122221111211212211212211112221122211212122121222222211121111122211221112121211111221112222222112112212112211211211122221211211212222211111221212112121121211112211222212112121121212222121221211212221121211122122211222221122121112121221122122212221111222111211111122221221111122111121121212122222121211121212112112122221222221221111212211211112222212221222222111211211211111111212221211222112111111111112212212122222112122212211121222112221212112111222221221221221221111222212122221211112112111212212121211121112121212212222112222112122112121122121121112111222222112222212111221222221221122111111222222221211111112212222111111111211112112122211111222222121121122122112212121221112221212221122121111111111212111122221122112112121221222221212122211222221112121121122111111222222112111222121112211211122111112112221121112112211112212111111221211212121222222122121122122111111122221112112211111122122121122112121111211221221112112221222122212211211112222211121112211121121211122221211221221122111122122112221222121222211122211121122222211112221222122212211211222122221211211112111121221222111222121211111212122212221121222212111121212221122211221211221112112222212112222221212121112222212121212122112222222121121112211111111211121112221212122212122112222212111121111212111111121112211121222112121122222121121222112121221222122122122121221222122112121222221121122122222222121122212212221221211221221121112221221212111122122111121211221212122121222122212211122112121212122221112211122121112111112111212112222122122112211111112221211211111222111211122121212122121222222111121222221121222122212112122211121121221212121111121122212212112222121212211121111121211121121211212111112121222211221111111111111211122111122221111121111121121212121212112221212122111212112212222122112121112112211122122122112212211221122221112211111112121221111111221222211111222221211212222222211211122112211121212211221121112221212222211122121221112112211112111222222111112111221121222211222221121222222211122211211121112211221222211122112122121221222112221212112122121221211122121212111211122121212222122122212111221211112112121112222212122212211121212211121122222121211122121221122121221122211121211122222122112122112121111122211221121121222122111221212111211121111111212121211221121111121112112221112122222122221122212222221111212211112211211211222111121212212111122122122211222221212222111112211211211122221221222111112221212222221111221122222112221112122222222112211111122211122111221122121121212111221222112212211211211222122122112122211212112111212122122112111212111222222111212221211112122111212122112222221222122111121121111221111111212222222112111121221212221211222111112121111211121212211221112121212212221212112121121212121112122121111122112111221112222122222221121121112221111222212211211121212222212111221212111222222121111112211121212111111212122122222211211112112112112221211222121211211222112211122121121112111221212112222111111212221111221221122121121211211221111122222211111112222121111222211111222212112222212122111121221121111121112212121121122121121112211121222222111221222221112112122111222112222211121112122212222212222122212121212222121111212111221111221211212222112112211212111111122111111211121122212222211111111212121212212112112221112112211112221212211122121112221211222222211121211211221122221122212111122111122121211111211121121111121212222121211221212122222121212111211121221222122121111112221212111222121112211121222221221112212221212221112211211222111222122112111212112221121111121121221212211111222212112212121221111111221122221211211221211121112221121111112222112112212211211111121212211221122121112111212121122111112112212212112211212121211212212111212112211211122221112221111121222211112111211212211222122122222111112121222211111112211122212111222122212112122121112121222121221111122121222111121111121212222211121121222221112112222121221121222122211112212211211121211122111212112121111121212212212111212111111112121121221121211121212112221112111212212122212222112121121111221222221222121121221112211222221112121121111111121111211211112222121111222211211111112112212122112212212111212221112112121212222212121122222221221211111112221222122212111222211122211112212212121121212211212111212111122122212122222211112211122111211112121221111122211112221221122212212121221222211222211121212221111212222212112222211122112122222211122212112221122111211211122122222121222112222112212221112111211111212111221221222211112212121221122111212221221121111112221121222122111122222212121111222122111221122122121122222212212212112111211122211222122212222112221211121212211122211212122211221112112211122211122111222211121121121221111122112221111221112211212222212112222212112111122212222121112221111111111221222122222211222112112222112122222221222221121212111221122222222122212211221112112121221222211122112112222212221212111121222211112122222212221212212211122212122121221221121221212122121121222122221111111121211221122112111212111111121221111112221212112121122222112121212111112112112112211122211122111112121112211112211212122221211221212222221111211221121122122221111111212121211212121112212212112222211121221122112111212121212121222221212221212111122222211221122121222212111221212211222212221112222222112212121211212121121221112121111222221122212222112212112111212222112222211221212212122121221222211112122112212111112112211112222222121222122221121112222211211112222212111212222121121212221111121111211222221112222111211211112111221121122222122122112112222111222221221211222122122122122212112122212211121111212122121122112122111112212112222211112111112212222122221121122111221122122112112212212221122121122121112112122211221212122111112112111211121221121121221222221211121222222222112221212222212212222211221122122121121112112211121211222122121122212221112211111111211112222121212211111222212211222122111121222122122112112111122121122111221121111121112121122112112112112221121111122122122112221222221121122222221112211122222121111211111112221112222221211211121211121121122212122122122222111211221222211221221122212222122212222222111222222221122212112122212111212112211111221212222122222121212121212121121122211111222222211122122121121222221211221212121112221212122212112222222221211112212111112222111211112112222222121222112221111111211222112212111111222111121121211221221212121222121211121221211211111121222222112121212211221111112122111221112111221122122222122112222111121211212212122112212222221222222121211222112221112111112111122112112212221122211211121111211122212212221211121121111222211222121212121222122122222121222211121111121211112221121112111122212111211221122222221122221211112221122212221121221122222112121122111212121221112112122221112222112122211121222122222112112211122122111222111122112222221221221212221222121111212121212121121122112112222122222111211221122222122211121121111212121212222122212211222222121111111122221221211112112221211221111212222212112211111211222111121112222122212221211111211212121112122112121211122212222111221211222111221211212122121122221111211121221111221122122122112222212212121212121122111121111122212222112212222212211222111212212211111211221212211212211211222111121112212222211221222121221121122222212122211212121211222211211122211112121221222221112211121221212111212211211212221111211222122112122112222121221111211211211221212221112111211121112212221111121221112222222212111221221122112211121222222111122121211122122221111222112212111122122212221121211112111121122122222111112122221222221112221112222121112211211121122212222221211122212211121222112112122221211112212221111111211121211111212222122221122212122111112112112111211111211122122212211121122221221112211212121121121221121111212121121121222211222121112211112121221211121222122121222211211112212212122211121112221122221211221222211212122122211121211122221122111211212222122122111111222111221122222221211121212112221221212212221212112121121121112212122112121222212221221121222222221222111211222222112112111112121122112212122222121221122122112112112211212211122111122211121122211221222212112222212122111212111212121222221222121122111111122222222222212211211111221212121222112112211122112212112222111112111112221211111221212212112211211111112122112212221221122221112111121121222112112211222111212112221211221211111122212122222111112112122212111211221222212211122221112211222111112221112221211121222121111122112221211222211121221122122122112121112121222121212211121221221211221221221212221121222122221212211122222121111121122111111222211221112122211112112222111121221222111222112212212212222212111222221212121212222111212222111122221122111111122221122112222112222111112111121221111121111211122212111212212211112211111222212122112112212211211112222212211211211122122212112122121122122212211111111211222111112212122111212222212121121111212222112221112211112112211111222221122112221222221121121211112211222221112111112122112121122121221211211121112121221221111121112222221111221122212122221122122112121122211221212221112212112122222212212122211212212211121222122112121222211121212122111112111112121111221211121211112221112112221122221222221122121221121122121222122212112112221212112211212111111212212122111111122221211222212112221212122221111221222111122112112121211221122221121111222122212212112111222121222122111122121212211211111221211221122121222211221222121122211122111121111121122112211122111211211122121222212112212211122111112211121112111121111121121111122221122211222112112222222112121112111112211111222122111112121212112211122222211112121112121112111121212122222211221112222122111111112122122221111212221121122212121122112121121222121122212211122111211111222121112112212221121111112222211121222122211112222211222121121122221111122112112221121122222212111111211211121222112122122111111211211212112111221121112211221122222211111222122111111211221112211112212121111222221122221212212221212211121222222112111112111112212211212121221222222112222211112221122112211222121221222211221112111221222111122112212212111122112222121212211121211212211112221112112221211222122121112212222221211211121221121122222122121122112221111222212222222221122112122211112211221211211212221112121222122121222212221222221211111111212221111211222122212111111221222111121121121222121222122122221222212221122222122212122211211221211221121112212211121222222212222222111122112212122121221121212122112121121111111211121111211111211221222212111111222221222111111111111211222222221112112222212221211211122122222121121212221121221111212211212121112111121122112122121121221121122222222122111212211212111121112221122221211122122221222111121221212112211111222112122211211211112121211111212111122211112121211122111112122212112221112222211222221111122211121212222222222212211212221211112121221112121211212221121121211122211121211112122222112112121121112222222122222111122222211212122221121112122112121221121212222122111211112222122211112121222222121112112112121111211222112122121111122212121212212211222211221212111212212221122111221221122121222111222121122212122112121122122111212212221111222222211212211121112212122212221212121222121112222121211211111222221112212222111221111111111122212211222221111212222221211111121211111111112111211211111121222221112211111122211221222211212121211121111112211212212221212212112122211211212212122112111222122212211122111222111212221122222221122121111112211122221121122112222221221221221221211112121111112111212212222212121122211111211211221222121211212222221221221121112212121212121221121111121211111112222122112122121211211222122112212221111212212112212112122122211211122222122212211222222111212211211111122211121221111212122222122122222211222211122212221121111212112221111111212211112122111221212212211112111212212221222211122122112122211111212222222222111111112122212221211122111212122211211221212112122211121111222221122122212212121122211111111221221121112221121212222111122111222112222221121112221222222122112212121221112121212212112222212221121121212221122111111221121121221121112221211122112121111112222222212112111122221121111221211211211112212112221212121211222212112111121221221111112122121122222121112222211112222212212211222221121212211111211111112121112111121121112221211222112212211112212111111121222212211221122122111111122221112122122122112112212112122222212221112221212222111111112211121121121211121211212112222222211211212212122221122212211212212211222221212211112222122211222211121112122221211211111122222121221211211222122122211122222211212211211122122221211122121221121112212212112212221112112121111211121122211111112111122112221222211112212212121122121122112111221112111212121212222222212222122122111212122111122121122221111111112112222222111211221121222221222121222222222211112222121122112222121221121222211222121221222221221112112222111211222111111211221222111211212121111111112122122221112221212121121212122112211221222211122222222112211111212111122112112111111222121211112222111211211221222121222211121222222212111112112222222112112122212211222111111111121112121222121222222112121222211222122112121211212221111111211121122111221212221122122221111112121211111222222111121111111211122112121222121222221212121121212222112211221221121122222212121221121111212221121221112121212222122221121122211122221112212221222112221112111111222211211221212121221122122111112122211212212122211211221121212121111121122211212221212111212221222212211121122222112212112111212211222211122122211121112212222112111212122121221111221121121222112121111211121112222221211212122221111111112111221212221222112211111121112212112121121112222121112211112122222112111122221112122111211222211111212211222122122112112211122211112211221221112111112211121112212222212222111111221212222222112221121211122212121212111121222122122122112112122122222212212212112211122121222111111211221111211211112112221111122112111112211211121212112111112221112222211122212211121111112122211222222121221211222111111121212221122122211212211212212212111122222222121111222121122121111212222112121221122111221212221121121221211221121221212122211222211221111212211212112111211121122112122111112222112211211112122212122222221222221111212122111211112121212212211222111222211122121121211111121122222212112111122122122211212112112111111212222212111221121121211111121221121121222121222111121221211211222221121112222122121112222222221111121112121212221111211212112222121222211111212222111121212212112212121212122111212211111112112211122122111222121221212222112221221111111112212122211112112121221222121221112121221212121122212211212221212212122211222122121112112122221122212222211221111211121212111121121121222121212221211121112222211121122222121122222211122111121112111212121111221112111222221212111212112111221121112211222222212121121221221121122121211212111221211121111212221222212212222121112221211211121111222221111221212111121121121221121221212121122112212121112211121211111222212111121221111121211112221221122212112112212222222211212121222122212221222221121122112212212111111222112221212112211111211111122121111212111221122112221111111211212122112212112122222222111222221112212122112121122111211211222211112211212122221111122122111212122121221122212212212122122112121222111211211111222212212211111122112211211111111121212111121222212211212111122221122222221222122221212121122122211121211221212212221222122211122222212122111221221212121221122211211111221221121112211122212121111121221112111111211211121212112111121212112221111221222221111212212221212221111121211212212112112221122121221111221211221112122112111112212111122111221211222122211212112211212222212212111111211112222222211122211211121111112222222111112222221222112122221211222112111211122121222111122211211212122221112221122221121111121211211112121112111112211222222221212221221121111212122222122221212212121212121211212222221221212212211122221112111111121111121211112122222122222212222121212212112122111111222211212222221121111111122121221121121122111222212221122121222111221112211212122222111222222221111212221222122122122221212112111221212221111121212221112221211212211211222212222221222121211122222121121122111211211221222212111111122222212111121221121221121221122121221122122112222221212121212111121121222221111212212121221212221212221212221212211121222222122111112221112212122211112222121221111211121222112111121211112212221122122222211211112111122212121212222212121112122221221112211122122121112112121212122122211122122222122121222221112112221112212111111111211211222122221221222212222122212222221212222221211222211212112222211121222212111221212111212211121221111212212221221211212122222212111121112121111221122212121111222211221121111221111222212111221121222221222212111221211221211222211111211111221221122112111212121111222111111121222122121211121212222221122122221111121212211121221221121221111122221222121221121211211211211221121122212222222122122222111121111221211211112112212211112112221112112221122222122221122212212221121122221222212221121112111211121112211212121122122212222112211221111222211211122121211212122111111121111211222112212222221121222112122122222112121121111122122122111222111222211212112222111211111112112112211211122112111122221221212111122112112122122211212221211212221211111111122121111212212222212221222112111121121121121122111111221212212212211211111121112221211222112211211111111122122122211221121122112222211222111212121221111211121221221122211112221121122111222222222121211112111111211211212212211212221222211122121121212122111221221211211212111222121221112121111111122121211122121121122212111122211121211211222221222111222111121212222122111112222211112111222212222122121222222122221122111222122111221212112122112122121111222111211222121221121222211211211121211211121212121222212112121122122112211221122212221111112222122211211211111122122122222221221222111122121122212112221111211122112121121221112211122222222222111221111221211212122211112222121122221222121121122111121111211212121121211222211111111222211211122212121111112122212221122212221221112221221111112122111112211111212221112121122111221111221112211111211112121222212222112121112121111112112122111211111212211111112122111121111212212122111121222112122121122221111112221112112211122221212111212221122121212121212211111121111212222112221121212122212221211112222122221112122212212111121222122122222122211121122122221222221121221212211121122111212111221122221112122212212111211111221211112221121121222122122122211221211111111222122212122122111121211122122212112122112112121212221121212122221121112211112222122111122211112122112222221212211222221112212111111122122212111212212121212211221112121121222111221211121112111221221222111121211222212221222222111221122122111111221222222111111221222211211122222122121112122221221111221211221111211212111112112111111222112222121122212221221111221222211111122221111111211221112112212121211212211221211211121211211211211211212222212221211222111212111211222211121121122122122211112111221221111222222122221212211121211212212122222222221212111211112121212122122112212222221111121211221122121111122211112112122222211221122221111211221222212222112121122111111211121111121211221221111122122112222222122112112111212121212221221222122111211222212221221212211122121221122121121121112121122221211211112221112112211221111221112221111121111121212222121211112222211221122212212221112222222221211122222111111112122212121212121212212211112212111222221122111221212222111222211212112212122122212111111222221221122211222111212121211111211111121222121122122222111121221222122222111211111121111212222222111211222112212211211112112221222122212222222211121221222122222112212111111212122121222121211121122121212222111211122111221211221121211211121121221212112121221121112221211211122212221212222121122222211111221121121112121221222111212211111211111212121222112122122111222211121121122122212212122121221121222112122111212121211222111122211121112111121121112222121122111222111112122221111212112212122122211111211221212222221121212211221221112121121111212121121222221122122212122122122222211121122122211221122211211222112211122112212112122222222222121212111112122111112111121211221212212222122221221211112221122122222122121122212112212122121111221212221211211121211212122111211112212212221122211112222211112112122112121221111221222221212221111212122112112212211112222112121222121221121111222221222222112112111222112222122111121221112111122122222212212122212122221211112212221122222121212121211122212221211222121212211111212112111122212112122121222222111222222221121221112111222121222222122112212211221212122112111121222221222121121211221222111111121111222212212121121112112212112121112221212111212222122122222222222112122122121112211111121121221212112221211112222212111121222111122211221221222122211222211121212112121112121221221221122212222121122221112211111112211212122212211212222121221121211221111122111221212122112212212112111222222221112112121111221222112222222111221211122211212111222212211211211211121111122211222112122222112221222221112221212122212212212222222111212121122222122211211112211111112212121121221121221212121111122221122122121221122122222111211122111122122112112122111212121112121211121122212211112222112221222222212212212122112211222112112121111122111221222112111212212122211121111222222121122122212221111112122211222212112121211221221221221112222122122111111122121121221222212122211221211121121212212211211111211111221211121111121222112122122212111121222222211221211122221212222121111121222222111112211112211122211112121211211111112112211111211212112212221212211121221112122122221122221222111221112221211221122221122122221112221221222211111212211111211212112111211111121211122222212122122222112222122122122221221121222122121112222211212222222211211111222222221212212211112112211122212211222212111121111112112122211212212222211122221222211212121212122111112222211211222221122111111211122211211221222222122222222112221111122212212212112212211111221212111222221211112211222122121212122222111222111222112112112211222212221211112112122112111112211211122211212121122212222112211112212222111111112121111211122121112122122221112222112122121121212121112211121121211111221212111221112122222212111221211121121111121222122212112111211222121222112222122121222222222121221122221121221111212212122212111221222211122221112121122112111211211122212121112112221122211211122211221111122222212121211112122111111212222221211111111212121111222121212212211222111122212121122211211122121122222212112211121222121212121111111222211121112111122212221111211111121221122112211111211121222222222122211221111212112211211122111222122111212111121222221122111111111111121121121222111122211222122212222222221211222121222112112212121122111121221212211112111211211121221112212112121222121212211221221121211212221221122212221112121221212111221221212212122121111111221212212211221122111121111212221211211122222212121212122211211112221121211221122221121221211121111112211221222221121222122212221111221111121121211112222112212121112112221112222111221121211222121211212212111121112122112222122122221212211122111111222212122111122212122221122211212221121211212211211111111111212222222211212111211111111211112122211111222112221211211212112212122212121122211222222221111212112121111212111112112121211121111222111122221121111221112211211122222211212221212122222121112111122111112221221222221122221211112112212121111221211211121222111211111121121111211221121111112221122122221112111121112121111121111221221221111121212222211212222221211221122222221122111212111122122111221111222221222222211222122121112212221111222122121122221221211222112222222121122221121121112121112111111212212121221112221221122121222122121212212212111222112212221211121211212112221212211222111211111211222211122112221112111221212121122111112111112112222211221122212212222122122212212221121211122212221112221211112211221122122121122112211122112211221111211112221211121112121112212211122112122112122222212211111221211111212221122112111222222121112222112211222222112222122122212111111121122111111222211222211212112122212212122211212212111212111121222111112112111222222122211222112122212211212122211111112211221122122211122212222221211212121111111122221122122112222122111121112221111222212111222111111211212211111112221221112111221122212212212211122221112111212122211212221211221212211222112111222221212211111122111112111221212112211222122212121211112122122221222112121221122111221111222112121111212121222222221221111211211122122212222211112122121222111112122221122211112212212111112212222121122112122222211211211111221221121122112111112222121221212212222222211222121212112221122122112211122212111111212212222222122112122112221221122121211112221222122211221211222111212111111211211221211112112222121112212211222222221122122121122111121221212221122212222122112222222212122112212222121221221211122121121112222221212212222121211212222122212111122222122211211222221211212221122211112112122122111121212212211222212211211121112221112212112221122222222122121112122112221222121112111222212221111222221212211112212222211111111122221212121222222111221121122112122111112121222122212111121112221221222121222112122212211122112211112211222122222211111112112222221221111212222122222122222122221212212112112222121122112112211111222221111111122211121121222222222211122221222111221221112122112111121111112222112122221121122112121212112111221121112121121121122221112212221111111222121211111122222212121221111112112222211121112211212112112121122121221211122212121221112111211111211111122221111211112222222222212211121112212112121222112212112212111112211211222212121111211111112221121221222212122122122221212111221212122221121222211212122122111112122112122112112122211222122222222212222112222221212112122212122212211211111221212222221222212122212211111222222111111122221212212222111112121111111211121121222211112221221211212111122212222221221111122121121121222221121121222121212122211212212111111122111112111112211112111121121121221112112122122221221221212121212121121211112122222112211221221111221221212221121121111222121211222222112222222222112111221122122111222211222111212212111112221121122111221112122221222121122121122122112111211112122211222111221212112111111111122111212222122222122222112221112111221222222211211112122221112121212121121121121121222211212111121212221112121111221112222212111121121211222122221221122211221121221222222111121221121121211111222122221221112121221221112222111121212211212212111111112212221121222121222212211221111121111212211111112121212122221212221211112122121212221221222212111121122211212222122112111211122211222222121211212221212122221221121212212111211122112221222212221121222122221221121221111221222221221112111221212122111211111222112212211212212221222112121121211111121211122221121111111211222112211122222221211211222111212122111121111212212122121222121122222211122111212111221211112111222122112212111122222212111121111122122122212112122212112221221211121212212111121212122111112212211112221221122211221222121111221111121221122122122112212222222122222221212222212121122111221211122211212121221111122222211112111212222122111222221111212121212212221112221222221222122222222122112121211212211221221121222221122111122121221111111112212111221111222211221122112221111111212111121122221122212212122121211121221221212212212222121121222211221111111112112122111111121222221122211212112211212221121212222211122121212222221211111122121212122212112111212211121111121112112122221212222121121212221221121111212221222122221112111212111122221212212121112122222111122211122111122222212111112212212221222222122112222212111122211221121122212122211111221112121122211222122212111121121221121121211121221221211122221121121222212221212222121211211121221111121122212212111212112212122121112122222221122122221211112121122222111222212122112211222221122211212221121112211222211212211112221211212212111221212111211122122212212221221122212211121111111211222112112221121121121121121222111212212112112122221211222212211221121211122222122121121122212222211121122212111212112122111222221211111222111122111211121122121121212212111112111211121112222111222111112221221121222112221112222111122112211122211121112111122121212222211221222211211211212222222111112221122112221122112212112121121122222211111122211121122111212122221221211122122211222211221121212221222121121112111211121222111212112122112212222122212212121122121111212121221212122121221122222112112222111222112121212212122211222212222212212222212221211212121212212212212111121121212221211222211112212122222222111222122212112212122211222211111222122211112222111121211111111112212122112211221111212111212121222212222112121111211221211222222122111222112211121211111211222122221211222111122122111212222222212111121112222222121122112211111222221222221221122212211112122121212111111121212212212222211122111211211211122212111112222211122212211221111211221122211211111121212112122221121221222122211211211111121122211211222222112111121122122211111121222111112122111221221222211112212222121222211111121121122211121111112211222112211121222121211221112122121111111121212112212211211221112212221112221112212112121122222212221122121211112211121212112211211121121112111112222111111111212112121211222122212112112212222112221222122212122211211212111112222112211211221212112121122222211122212111211222112211221222222221121222111222122121111112221212121212111221222212122111212111212221212121122121222211211112112222112121112221221112121111122222111122121122221212111211221122222122222111221222121222122112111211111121222111222211222222121121111111221212122121122222111111211121121211122221111112112221112122211222222121111121222221112122212222212212222121211221111111112221221222221111112222222211111122221211122221221211122111221111122212122222221122212221121121112111111111221211212222122212111121122112212111121221111111122212121121112211222221111112112221221122212122122222221111111222121121112111122112122111211112221222122112221222221211212112221212222211212222121111222221111121111221121222221221121211121122112112122111222212211221221222111112211211212211121211222122121122211211111212112211112121212122112111121121122111122112112221211221212112122111122121121122121221222112222121121212111211222212222121222111221222122122121111222122212221212112212222211221221211222122211121112222211221122222212222111122121222221122212222211112121112222111221112112211112222222221122122212222111112122112222121211222112122222111112212211212112121211122111212221211122121222221111222221112212211221211221222111122221112211111222211221221122211211221112211221121212221122112222122111211222211211221112212112121122221122211211112212222212111112111111122211211211222212222111221211111221111222122212211222222121211222112122222121222111221111221211112112212111112112111111212212221111212211212212211221112212121121222212221112112121221111222222112222212112122121221122211111111112211222222222121111221211222222221121121122221211222222112222221222222121212111112211211112122122122212222121122212221121112222122112221111121211122111222121122212222221112211112211221112112222121211212212221211121122121221212221212211122211112222111221211111222212222211111221221211121111112222212221121122222112121212221111212211121112211111122122211112211121212222122112111112121211122121111211221222111111122211221121122111211222122121212212211212122212222221211211112122222221112111222222111112222211111221211221222212211221121111112112112111112221211111222211222211121121212112122121112122121212122122111222122222122121212112222122221211122212122111122112112122221121212222111212121212222221112221212211222111112112122111221122111121122221121121222222121221211122222121121221221112221212221211212212112221211221121121221112122222211222121222112211221221212121212211221222211121222212222221121222112122121121221222122111121122212122211111121222111122122122222211112211111111122121222221121211121212211222222112211212212212111111221222222121211221112211212122121222221112212211222122221111212122211222212212122221122212111221211122221112212121211211221112111212212212111221122121122111221222121121112222211122222221222211211211222111211121111222221222212222222222221211211111221121221121211211211112222122122211222212121221212121122212222222212112121122111221112122212122211211221212122121222111121122122211121221211222212222221121111122221222222111211122212111112112111111221211112222121121122221112111122222111121222112111211212112212111221111212212221222121211121211111112221222221112212111112122212221111112211112111211211121212122212221221212112222222121121121212222211221121121222112122111211111221221121111112221222222221211122122211121212122122212212121112222122121221111211222222111222112122212222211211121222111121122221111221211221121211212212221122122222111212212122221111122122222211111121121222212212111221121212221121111122212121212222212211122221222221122212122112222121221222121112121221221112122122112222112121222212211112111121211221111212212211221212111122211211211221222121211221122212221121122222222211112122122122211112112121222222212111211221221221121211122111222212112212212112122112222212221221121112222212112222211121111121111122112211121212212222221211221112212222211121111221121211111221122111121221121221121121111211211221112221111221212211111222111121121122112212212211222211212221221122211112211221211122112221111121221122111211212111212121222121122112112211122121221211212222111221122212121122221122211121221112111122222211111121121112222112222112121212221122222211221122111212211212122121212221111221122222112211112121212121222121221112221212112221112211121221221112221111211122212212222121212121111121122211221121112212222222122121122222112112222221111121112222222211212121112111211222111121112222221122112112111111121111111211222212122222121121111111121222221221212221222111211111212122112221111111221222112122111112111112111112111122121122122222111212212211222122121112121212222122221222122212212212211211111212121112121222121211121211221122222112222121112121212211121212222222112212222111211111211221211121212112211212121121222222222222212112221112221112222211212122111221211212211221222121112112111111121212112111211111112221212122121121221222112121221222221111111212221112111121112122122111121221111112222121211221122212211222121112211112122112211112211122112112212111111221121121122112121122221111112211212122122111112111111221122111121221121222111211111211121121112221111211211122212222212221211211122122221221121112122121122221122122112222112222112222111222112222211212212222212112122222121212222212111111212212111212221112112111122122211122111121221111122212121112221212222111122221212221122111212222212222222212222122212121122111211211111111221122221221112212212121112111222121211111212212221111112111212222212222222111221211211221112212211122221121222221221121211222211222221121122221111121122121221222212112222211112122111112222211121122112122222121222211221222211121112121122222111212211112112221221211122111112122221221122112221112121122112122122112221121121122211211112211112121111212112212212121121111221111222111112222111211222121212211122211112211111212112221122211221222222121111112121111221221222121211112212122211112222122111121111121112212221222121221112222212121121111121121221121222121212222112122111221122221111221111211111122121211221112221122212121221212121122122221222222221222222121112122211122121122111122122222222221221211222112112112212112121222222212121122222221212111112211121222122222122212111221122221122111212211221111221221121111121222111212222121121111121212211111211122211211111222121111121111221111212122212111211211112212222212112212221222112112111221221111212122222112121122121221211211121212211211111111112112111112122122222221112221212122121211221121221122212212112211121222221111121221211212122112222222122111112221112212221111221222221222211221112222211221212212121222212112112121122221222112112211221221221121222121112122211122111121221211112111212111222111212111222112121121121121212111111221222222221112122121122221211212112111221221211111112121121112221121112211121112121221221112112212221222221222211112122222121211122211222121112221222212122111222122112212222222112211112211212212111211222112212212221221121122122122212111221122122222111121121112111122112111221221221211221121222211111122122111112122212222121221121111211212211121121211122222211222221211222111212221122121111212121112112111222121212122121122121212121211122121112211211211112121222121112121122221121212121212112121211222121122112211112211121111122122212112222121211222112122212111212112212122221112121221222221122221111221221222121222211121121121211111121212221221212112112121222222221112211221222112122212222112212112211111212121212211111112112222122122222211112221111122211122222222111222212122212122111111221121221211111121112222211112122221221121112211222221111121122211122111222211221212211121122221222112112111122112111121222222111221221112222211212112121112211121112111221211221222211212222122222121121211222221211112212111121221212111112212212221111121121121212222122121212221221221222222211112212111122122212111112111211121122211222111122222211211111221112112222212221221122212112221121211212211111122212221121121222212222111212222112212212122211221221122112211211122112222122122122221121111111112121122212212211122122111212211112222211221222111112221212222222222122211221221112212112122212121111112212212222111221112111212212222212221111211222122211211122211211221122122221212212121111121221122112121112121221111222112122112121121111212222211122121221112222111221211212111222122221221122122122212221212112112211121122121111111111121221111112211122212222212212122211211211221111221111222211221212122221121221211222122222112212211111212211212122121121111112222111122211211212121122112122122122211111111122121111122121222111212212122221212112121122211111211212211112222221211111111121221211212222221222122121222122211112222221212112212211222222111222221222222121212121121121122211211222112121212111212112122212122212121211222221211222212221211111122222112211221112211111112121212211111112212122121122211111222112111222112112211122222121111122222221122212212111221211211221222222211122221121211211221211212212221111222212121212221111211121122222212221122212212212111112122212111121122111122121122121122111121111221121111211111111122221121221121221121221111221222212212211112211221121122212211221121222222122211112121211121121212212121221212211212222111222122122222122211211121222212111122111122211111122212212222221112122211122112111112211212212212222212212221111211212122112221221122222222122212221222112122211112121112121121221212111112221111122111211111221222221112112222212121112212212121211111221121222112221111211212111122122222121112121111221122221112222212221222222222222111111212122121122121112221211112121121222121122222222121221111122222121112221212111212211212121212212212111121212221111111212111222112122222222122112122121212112121122222211221111221121222112211222212121112222121222112122222112121212212112212221212122121212221121121112211112122212222111212212211111121111222121212122112121222121122212122221212222212211221111221212212222212212221222212112211212121212121121212211211112112121121221222111222212221111221221112222212211122122112112211212121122112122122222222122111222122221212112221122121112122111222111111211121121221212211212222122211212111111211212121122112122221122221211111122122121121221112221122212112112111212111211211222111222122221221112112221121111112121112121211212122222212222221111111121212112112212211222221121121121221122111111212121111122112222212112212122121212112211211221121121222211222222112211221211121211111211111122212222111211121121212221211211221211122122222111222221122221112122122212111212211211212222221121111222111112121222111222112112211212222121222111212122221121212122111221122112122112122121222112112112222221111222121211112222111212212112212221212121212222121122212111121211121111211222211222112211121221122211121121111112122121111121112122212222121212211112111121121221222212122111212221211222121212212211112211211112121222111122221221111122121112212211211222111111121121221111111111122122111111221112112221211112111211211121121112122211221122212212222121212221221211121221122122211111222222112112122111122122222122211221211111212212212212111122122111112112211212212111211212111121212212111112211211212121211221222222222222111211211112222121111211212121111222122222222211222221122221221111112111211221222212221221221212222111221222111212121212222222111122211212122221112111221221111112121121122221122112111121211211121221122122211122111121111221111212222212221222211221211222111211221122121221212211212122212112212212221221222112222111222212112121222121222121112221112212122222112221211211211122212111112211112211111222112221221211212122221211211111221221211112211111212121212122221111122111122112112222112222221212222122121121211112121112212121222221121111222122122122111221221211111222221212111221122112121121111121111121111111221222121222222112111211211211212212221112221121121121111212111111221221112221221111112121111112121211121212221211111221221221111112211122221121211222221112222211212112112211122121122111121222212122112122112221121212221222121212112112111112221112211111212112121221212212212221221222111121212112211121211121222112112122222111222121121212112112121222211122122111112211212222212222122221221212222211211122122221122112221112121212122212112221111121122221112211111121121222112222122111212112211212112121122122221111122211122221221212211121211212111211211211222221112122212222121212121221121221111112221221222222212122211221212111122121121111222222121122212211122211222112221212221112222111121122221212122212222112221122221111221121122122211221212221211112222112221222121112212111121211212222222121111212211211211111212111111112112211112211212112221211122111111111221121222121211122121222112112211211111121211221111112211111211112211212112222112111212212211121211121221112121222221122222221211212221221112122112211222122222122221222211112222111222121121221221211222121212221221222221122112112222121211222121112112212121212212211212111112222111111211112222222121122222122111111211111221221212212121112111211212211222121221122121222212221122222122121121122222222211212222122222222111211211211212112122112121222122211222112112112112112112211121112212211222121221211122212212121121111221121211221212121222212112211222111222221122121221222111111112211212212121212112122111121222121121221121221111111221111211221121212122121222112121222221122111211112112212122111212112221221222222111112121112121111112121122111212212111211211211122212212212221111122211111112121112212222212222112112122111221112112122121212212121121121212121212222121222121211212212112222112122222111112121122111212112111121221222122122212112211222112122111222221211211122112222212112122111212211221221121221111121212212221221222121211221221221111212112212112121111122212111222112122121122221211221222221222121112121222122222222111121211212222221121112121112122111121122121111122211122111112212112211211221112222111212221122111211121211122222211121221212122122112111122122122211121111212122211112122211221211112122122212212212222222111222122222212111111212222121221121221121211111222122122121122111211121122212112122121122212212112122112122121121112221111111121121221112112222211111222122211222212211121112111122111121122211112221122111111221122211111211112221121112121122222112122211122212122122121222221222212121212112211112122222121112221122121112111212111211121221222222221222112222121122112121211112211221212122212121222221222121211222222212221111121121122212111122121121122122222121111112121121111211122112112122112221121211111212122212212111211121122222222121121221221221111122122222211222212121212221211121112211112212211112212121211122222112121121122221212121211122212112122211121221112122122112121121111111112212122111122112221111212221121112111222211221222122221211221121212121211212222212121121112211121212221112211122221121112212121112112211222122222121221221221121222122212112112112212111122112222212112211221212121212212121121221212121112122122121212212122211212221212122112222122212211221121121122122111122221212112212122222122122111212112122121212111221222112122111122211221122222112121221111221221112112111211221222212211112122221112122121111112221212112121112211122211212211111121222121112221111221211211221121111212122121221221112211112122222222212221221211222112212222112111121222222221221111222221122221121112111122212222112121121111212122212121122222211222222211112211112222121112121222221122121111222212122112112222111121212112222121111121212222211112112122112111221112122121121122211121212111222211121212121211212212112112121121221211222112122112111122211221222112211212222221111112112222212111221212121121121221111211222212221222221121221111222222121111111211122121122121121221212221222122222221211112221222111211211222111221121212212212222112121121212221111122112122211111211212112222121122122222222112121121122121222112222111212212212111212111222121222212211222212121222122211112112212112212221111112222221212221222121112112112122122212111111122122122222211122212122222222112222112111121211221222222112122221222222121112221112222222221111121121222122212122122222111121122222212111121221221112212221112121122221211222212211112111211221212111121122222111211222112222212222222121112122211211112111212111122222222222222112112222122121222212111121221111111222112121111211112112111111222222212112222122212211121212111211121112221112122122122211221211121221122112211222222122122122121222121222121222112212212211111221122121122121221122112222111222121121222111122122221111111111112112121211112211212121121112222111222222111121112111112111222111211111211222112221122111211121112211222212111111222111212122211221212211122211221121221212212221121222211221211221122212211122221211221112211221221221122211111122211221111121212211122111112211221211112211222211122121121211222111122112121122211121121211221112122212212122221121122221111211122221122222222211222212111111212111221111112211212111212122111111111211121112212111122211122111222222221111221111211121122112122221122112111122211222221122112121111222222112121221111112222211222122121112221211121121121221122212112122122211112211221221111111121122121221221222212121121211211211112212111221222121121212121111122221122212122111212121122222122112121211111122221211122211212222221122122111211112112122122222211112211211121122221221121111112211111112112112221122112221111122221212212222212121112121122111211121111211112112222112211121212221222212221112121121212112222122212121222122222111111122212221121211111111221111121122221112121211112222222221111212222111121122111211222212112122212111122122211112122212112222112211212121212122212222112111211212222211121221111212112122222122222122212121222111112212212121222212222111222211222212212121111221112111211111122112212122112111121212221212122122112111112222121122112112111221121122211211112212222112121221212211212121211222111121222221111112112211112222112211112112212212221211112121121222211112112112221211222122222211211212121222111112222111212111221112211122112122212211111112122212122111122222211111212222111121211122121211221212112122222121122212122122221221111221111121122121111222111212221112222211122122112111112122212221212111211222121111212121211212112212221222211121222112111221112212211222122212122111222222211121112212122212212111222111221121221111221111121121212112122212112212222211112221211222211211212122122211121221111212222121122121112222222211221221221212211112221112222221222221211211221221111121212122111212211211222212112122112222121122121212221122212121212212221121112122211222222121121111222122112121112121112212222212211121212122212112212112212211121212222211111112222121211112121212112121211121112121121221222221121222222211221211112112122222122221121111221121211221112211221221111221211221221211221212112111221211121111122212111112122122212212121111222211221211111221112122122121211122212112211211212222211112211221121221221111122111122122211222111112221221212122222211112211211122111221112122221121211122211222111222212222111122121222211112111222222111121121211122122211111121212111211211122112121212122111212121211121111212122221122221112111122212212122121122122212221211222222112122122121211222212221221211111122222212122121221121211122121222211122112122221222222121221222122211212121122122212122222221212112122112111122221112121111121112221121122221212211211221112222112122111111222211222222221121221212111211212122121112112121212122122212221211222222211211221212122211222111211212121221211111112121221212111221121222111111111212121212221111212121212111211222212112112112111121222111111222222222111221111221122122222122121211111111122211222211112222221211111111221212221122121121112122111122122112212221222222211121112121212121111122122112211122111212111111122211121221122212121222121212122111211222121122111122212211212221112122211112211211221121112222211222111111111121222211221121121221211122121111222211122111222222222122221212112212121221211221212112121121112111221212122111222222122222212221111221121212222222211121212122212121211121122211122111221221211121122212112121212121121212111111122211121121121111112221211111212212221212111221211112121111111112211212211122112111212112111122121122121112111122212222112211122112212121221121122111112212211212112121212111121221211211112212222221222122222222211222212222112122211111122122111222122222212111122112122122212221221111211212212111112211112122122221221222211122212122121221212221212221112211222121111222221122112211122221122221111111211122221222221121121112121121222112122112111211121222222212221111121112121112222121222112112212211121222121222122212122112121222121121112211211212122222112212112122121122211221111111112121122122111221122211212211221122111212211212221222222222221121121221121122122121122122122212121122221211122221222212121111121221121211111222111112121222121112121211122112212111121221122111111112111122221212222212211122212211111112222222121211121221222112111121211111111111122212121112221112221212212121212111111222121112122121211122211121121111221121111122122112111112112121112222222121112212121112111121122222121122112211112121211221222222212111111111121212121212121122221211212222221112212222212222122111121222212211111112212221111221112222112111222122222122212111112121211212112122221111122111212121121211221121122212122122211221122111121112121211112211112212111122222221122221222121111221222122221111212121222211212121122111212222211122121111212222221111122211211122122121222222122121211111211122211121121222121122112212111111122111121212111122121112111122211122122211122211121212221221211221112121221112221212112221112222112121222211112122221221211212111112122221221221121212211222122221222212221221211222212122111111112121112111122222121222122122122221111211211212221221212221211121211222122111222121211122221111122212221112121221111222222221211221211121212111211122122112122212211121111121122222212212121221222221222212222222121211121122122112212211121121122222122111112221112222212112212121221112212212222111211111112212122221221121221122122222221111211211222212221112221112222221211221122112211211121112222122212212221112111211111121222122112211111221212121122221111212122111121212111111211111121211222221122122211212112121111112221122112121122212112112221121111211211211221221212112212122122211221211112122121121121112211121222212222221221111111211121212122212212122211111111112112122112222221211121221112122211122121211221121221212112221122112112112211121222112211111211121222122221122112122112112111222222222212122112122221122112122212121212221121212122111222222112111222111211112211111222111121211121221222121222112222112211222122222112221112222122211111222222222221111122221211212222122211112211222221121221112111222121111122122222222211111111211111111211221122121222211211121111122122122222212121221112212122121212112212212112111121112121122111111111212221112222121111222211211211112112211121221222222221221211222121111222122112121121222112121211211212111221221112112111212211112222112111121221221112222212212221221211212211122221121112122211121221111221122122212122211211121121212222221221211122112122111111112222121121122111112112112211111121211111121222112222121222111111112111112122122112112112222222121121122112122122221121212222111221211222222221221122221222122121112212121211112212121222221112111221222211222211221111221122111212222121211111121111111211222211111211122122112121212121122221111221221122121212121112221222121121112122222221122112222212112121111222212121222122122211111212121111212121111211222122222111122121122122111211221222122112122121121111121211111112121122111222212212122211222222111221222212212122121212221122121122221122212111111211122221221212111212211111222212211221222211112122221211111221211112211221111211212121212111122121212122211122221211122212221111122222211111212211122112221222121112222111111111111212211221222112211121211122211222211221121212211122211221211222212112111222121121111211222222222111121212122112222222221112211121112212121112221112112211121211222212222111211111211111112111122221221111122112122212121112112121122121121212221212212222212112111122111211211122221211221111222112121212221211121221122212221211122221221121122222211221211111221111111121212122111212222111222211111212112112111211111211222122211222212211122212212212211211211222211122121221221121121121122211221222121222111122122122122211222111122212212112222121212221121122112212112211122112111121111212212212122212121112121221121211111221121122212221211221221222212221212221211221121111122121222212122122221212211121121111121121212122211211222112121222211112112112221221222111122212212111122212122121222221121222122212122122122221111112221121122212111222211112122211222111222111221111111122222211121221122122122111112122222121122122222112222212212112112212222112121122111211111112121122212121222221112111221222221112222122222112222122121112121122122111222122112121222111122121111212212111122121211112212121112111121212222121121122222112121221212212111121122211221212222211212111222211121112122122121211112222212112222212122222122122112211221212221211121122222121121212121212212122112122112221121122121221122121221222212211222112222211221112212122111211121122122211112112222121212222211212221112122122122122211112212221121111112211222211121222221222112122221212111112212221212212212121221122211112212112221222112112122211112212211112211212121211121212211211211122111111212221112122222122222222221222121211121212121112122222221211221211112111211112122121221211111111222111222212221111221121211112121222212121221121122212112111211222121221121221211122211222111111122121222122221212111221211221122111222222211221222212122111122212122211222211222222121112221111122211211222211222211121122212211112212212222222112121112211222211121122122211212121221221222111111222211211211222112212112212121122122212121112211112111222111121111212221222221121112221112212111111112111212221222121212221121111111122211221212222112221122122221212121212212111122212222222221112211222222212121222111222212221212211111212111211221212211222212222221212212222222211121211211122121221212212111121122111121121121222222211211211112211221221221112212222221111221211111111122222122122212112121211122221222212212112121211211212112212121121211222221121221112221211121111122221112212212211122121111111222122112222221212212122212112211121222211211122212121122211121121212112121222121212212212221222211121211122112112221211221121112111212121212112211121221221111112212212111211221112112222122111222211111111112121211112112111212122212211221221222111121212211122122211121112212121121212222211122222111212221111221211222212121221212121222212212111122222222212111112122221212122111212122221222112221122121111221221211222111211221112211211222112212111111111111121111122212222212222121221112212222212222212121112222112221121111121122222121121121111122221211211212111222221211211212122222222112221222111121112112112121222212112222111111212222121122121221111212121121211112212112212222221212211211112112212121212212122211221122221211112122111211211122111112212122221122111222211122112121222121221212112222111111111221122112211221211112221222211111122122221222221221221211221112222222222121122122122122111222112121221211122112112111122212212211121122122111122111111122222121121121212221211222122111112221122221122211222212122111221112111211212221122212122212112122211212111212121111122221112212221221222111211111222111111112221212111222122212211222111112122111222222121122121122221122121112212111122212112211221222212121111221111121122211112222111222111222112111221112212212122112111211112111222222122122122112211122111122212211212221111211121122121222112122121111221221122212111111122221221221211121121221211122111122222122222221111122111222212121121222212221121122221122211122111221211211222212212212221221211122211222212112112121112222122121111221122211212222112221222112111211122122112212221222121212222111222121122212122111211122221112211121211212111111121121222111211221222221211211111211221221222212211122121212122112212122221212122112221121212112112212122221222122212222211111111121222112111122111221122211122222221211111111212111221112121222111121111222212222122121111212212111211122212111112222222221222111222121122221112122112122222111211112211112111221221212222121121221222212211121111112221212122211212121221222112221221121211212221112122221111222212221221111121111212111121211222211112121221112221211212221222212212112221122111222122221111112212122212122122122122221221111111211122212222211222222211111111222122212122111121222121112112222211122121112212112111111222212221112121121211122112111212121212121112122121121112211121121222211121122112112212111111121222111222211211122111122112212122211222222112111111112211111111222211121121112112211221111111222212221222211122212112211122121222211221221111212222211221111111111111121111111212221221111111212221111211122122121112122221222222221111121121122112212112122222222112112221222111122211112222121211211122222222122221212211212121112122112111112111212122111121111212211122222112221212212122212222122112122111212212221211221111111122112112222121122112212222122222222222112121111112212112211122121221122121122111212112122221122222211212222211222122122122121121122212111121221121221122121212212222221122222122212111212222111122111111121212112112212112221122212122122212112112211111112111221122121211112212112212112212221111112222112211221221122122112221112212121112121221111212222122121211221122122112211112211222222221211211212111112212121212221221121211222121211111212112221121111121221111211212211112212212212221222222212122211222121212212212122212121212221221222211112121212221111111111222212212222212122211221211222121221222121222222222111121122112122212222221111212122122222122212221111121122212121221221111122112222122112111111222122222122222112121212121221221121222111112212121212122111111222222121112221111111121111222122122122121111211111111122112222121221111212121212122211111211221222121211221121211222111212121121211121211212121222212111211121111122211211211211111121222111121222212112121222211212122221121121211222221212122112212222211122211111121121122112122112111122122112221221211112212112212222212121122111121112112122121212111211212111112121212121122111211111122111111212121121111121212211111121221122212122122211121122221121111212212122212112221122121111122122122111221212222221111221121122221111122212112222111211121222212212212221121121211221111212222122121212111211211222222112122212121222112121212122212122122112111211222211212111111121122212211221121111222122111221122111221211212122221211112211112212211122121211111111221222111122122112221121221121121111111221121122212111112212122221121212212221212212112211112122122221211112122211111211122121212121122112122212222211112211112221112211111221221222212222112112121111111112122222122122221211212212221222111212212211211112112122122212221121121222112122221112212112112221112112121122212221111121121111121212111122122122122121121211112212121221222111212211122122111222121212222112121222121121222212221111112111121122121221212221111121122112121111212112121112211222122121222221221211212211222121212212222122121112111111121112222211112112221222122121111211221211121121211221122121121121211212121111211121111211122221121211222222212121221121122221212121122212221212221111212111211121112212121112122122112211112112121221222122111211121222122122121212211221122111121211222111222112121112212221121111211122122112211121211121221212112111221111112212121211111211121222121111222211112112121222221221112212122121111221221111121221121212212121122212122221112221111221121121221222112122211121222212112211211221211222222222122221122221111112121111211121111212121112212111211112122221222111122212211111222122222222121111121222222222121212121221111112222212211222211222222112121212111111211111211221121121221222222212111212211212212211121222121212112112222211122112112211222112211212111111111212222122112121212211111121112121221211212111212211111122121222112112112111212221122122112111211222111121111121211212122212112122212121122222222221211112122112221122121221211121221212221121112112222221112211212122211221212122212211221112222122111111221112222211121112221121222211221211212122222111212221221112122212221112121121211111212122122111121121122112212211122111212112111211122222222222221112211222221222212211121112221211211111112121121122221212222211222222112212211222122211121121221111221122122221122211221222212112221221121222122112122222211222112121211112112222212212212111211222121212122212222111112222111212221112212121211111112122122221211111222112121221212211122111221111122211211211222122222121212212112112121121111222121111222221112112122122221122112221211222112211221122222122112221221211211121122121222211121112121111222122121211111122212222111112221112112212112222112111212122111121212121122122112111221122212222122222211121211112112221111122121211222121112222111211221221222122121121111111221121222122212112112212212121221222112211221122212221111112221211121121111112212212212211222222112222111121221221212122211112122221112122122211122121221112112221212111122122122222221111222111221122112122212112211222212122122211211111222121212211111211111212111211212222121221212212121221221122121212112122111121111221221222212211122212122212111211212122121212221112112222222211111221122112111121211111212122121121221211111111121121222111112112111122221221222221122211212122212111221221112211122121111121111122112112211212221211221122122122112221121221211112112111211221212212122222121111212111122211121211212111122211221121212222122122221222111211221212122211112221121211211221211222122111211211221212211222111111111122122222221122211122111211112221212221221221211212222121122222121111111111112112212222221212211221121222222111212122111221212212221212221222112111112222111111222222112122211211211122122211211211211122222111121111211222221211221112221112212212122111121121122221122121121211122112221122122121112221221122112121112112122122222121221111221112122212112222211122212211212121212211221222212121211111121122211111221221111112212212222221222212111111222212112211211122121111112221112122221122221112222222111122122222112212111122111212212121111221211112112122112221211221121122212122211212212121112122121222122121122221221122112122122122122222211112112221122112111121212211122221111112111112221211211221221211212112212212111222212121222111222121221221222211122222211212222211222212221112121222222122121211122211111121122111221222122212111122212221222121121222221222212222121212222111212211211111112112221221211121121121212112111111222221221112112221221111211212112211212212212122211221212122111222121212212121111211121222211222112222211111121111121121121211121221111122111111121111111222211212121211212111121222221112211212122221121221221212112212221122121111112212112221121122212221121221111121212221222121122221112121211222212111221121211121222122121222121222112111211111111221221221211221122212222212111112222212122212211122212211212122212111112222122121122121212221222121222211221221211221211111121222212122122211111221112121212221222112221211212212121111222121222112211221122211222121112122221111222211122122212222112221222122112212121211212111111212212212112112111211221221122221122222211211221121121111211111121111112122112211111111222221211122211122211221212121121122112211222222111121111122111122222211121121222212222221111112112212121211121221111221221111122122212111222212122121211212211222221121121222212121221121221121121211222211211112211211222121111122112121211122121112212121112211212112222112212212121211121211112222122122211122111122212112122111112112212111122222222111211122122111121211212122212121211121112111111121221121221121212211222122222212221112221212211211222112121111111211112111212212212112222222212222212221122211122212112111112212222221112122112221121122122222112211212121111222221221212121221211111212212112112112122121211112212112221111212122222111112211212211121211212121112211122222221121211212112222122212222121112221112222112212112212111211212111112212121121212211121221122212221111122121221212112111221212211122111112222122211211112111112211211112211122221112212121212222121122211221222222122111222212122211122112111122111211212222121121221211121211212121212122112211122211111121211221212121112112111212121222212122111222112112212112111112121222221122212212212112122111222122112121112221111221112221111222211221121212222111122111112122212222212211221222122222121121111212212122221222121211121111122122211111122111211112111122111121221221121111212222111212121111112122221222122122122212112211211211212122212221221212221221121122121222111111122211111112212222222211212212212221111112212112222122221212122211111111212212221121211211111212122222122122212211112211222111122211112221211221212221122121221121122221111122212212222112112112221211111221211211122122122222221121221222211111221111211112111211212221112221112222221112122221121122111121222211221222222221211122211122111211111112112222112122212222111212112111122111211122212221121211212221222122112112212112111211212212112222112222222222221221112111212222111111112221111221212211112121211211122222122222212212211111221211211111221111122221221222221111111111122222111111121112211211222121112112212112212112221212121221222122222121222212212211121212222221211212221122211122111122221111112112111212112212222221212221121121122111112212211112122212122211122212112112222111212222111111211211111122221122112222211211111121211211122111112121111111111111112212121211111211221212221111211212222122111112121111221111111121111221211121212222222122212111211211122212122112221222222122221122121222222222112122112122121111111111212222211222122211122111211211111211111111111122211212222122121111122212221211212121212121111222112212212212212112221211111221122122211211212211222122212221121122222122121111221121121221222122111111211221222112211212222121211112111212222221122211212222211122212122111122112211112112212111112211111111112222222111221222112211211121212212122122112221111221121112212111212111121122122112111121212211221221211111221121121222221211211122211111221212121121122122212222222122111121112112221222121112222121112122111112111222121121112221122221121111121121212112211112212122212121221211122222122211121222121221221211112222112212111122122122122111211212221111112212122221122221212121211221211221211111211122221221111111211222122112112211112111212112122222112222212212211212122221112112112121111222111111211112121112122222212211111211121112121212221211212211222212211111222121112212112121212221122222211111111111121212212222122122222222111222112211221221121211211112212122112212212211221122212121112121222222122111211212111222211222122112112111221222121211211221211221211211221111221112212211121222221111112121112221211212122112222111122211121122122222212221222112221111122122211111212221112112112221122112111111111111211112111122112122212212122212122122112221121122122222212212121212221221112211111112122122111121211221111121212122122112211111121111111212222122121212111212221221111221122212212122121121212111121222222221222122121121212222221222211122221111211112121222111111221221112211211222222212111121212221122121221122211221212222212122211212121222111221212222222122211222211222221212211222122211221112221212121111112212222111221111112121211121112112112211211212111111121122222122111111121222221222221212212112211121221121122112122121211212112212121222221121212121221222221221111121122222222111212212211221111222122121222112112121212221111122112121212121222222111122122112221122222212122211221111111222121111222222111222221122121121121221221112122222221121212121121112212212122222112221212111212211112221111211222221212112221222122212112122222211121212121221211112222222211222121111221122112112111122222222122222222222212121122122222211221211122121212212111212222212122222122212222121111122121222221222222211212211122211222122112112222222222221122121111121221122112222222212122221211112111121212121112211222222112122222112121112222221211111221121222221111112221212211211122222122111211122222221111221211111112111222121112211122222122222112122122221112211111222222121122222222211121121122221112111221121222122111212111121221112211121122211212222211212112211111212121121212211121211122111221111221212222112212222122112222122221211222112212122121121122121111111122122222112112111221222221221111212111211221111122221211121222212221122121112211221221112212221111222112212212121122122211111112111222111211112122221211122111222112122112111211211112222221112221121222211111112221112122121112222221111222222222211112221221112221221222122222221121112221122122221111112111211122221221122222222211112112221211211212222121122222222112212121212121112221222221221222221112222212121122111112211222222212212122212112122112122222221122211111121121111122221222221121112222211212122121111222211211212212212221122222212222121122122222111212221122112122111211111122112222112221111211212111221212111122211221222211122221111112221112121212222121122212121121112111121212122111111222111121211112111112222221121222122122121112112111121222212121211212221211212121212121211122222212211211212112122211112111222221221222212221121122212212112121122122221221121212221111211121221121112211211122121121122211221121111111221211122222112122222112221221212222222121211212222221222221122211112221221112112111221211222122112111111121211121221122211222211222121122211111222221122111121121221212112221221212121221211222121212111112221222211122212222211122211111112122211112122211122222121122112112122212122111122222211122121111111111111111222221112212222122211112222122212122121211212221222212221212122111222112111221221112222211212111121112211111122212122212221121221221212222212221212212112222221221111212211222122112221112112112111211112112211212111221221121111112111221211121211122112212221122112122221122222122121122112112221221111122122211121211122211211221212221122122122112211122211121211111222112112212122221121212222111211212221121112111112121211212111121111211111222122111211122121121211111222221221212221212122112222221211212121211112222222211112221222112111121122221111222211112221111122212122121211221211221221112122212112122222221221221222111122221212121122112112212112122221121112122121111222222211211221221121211211211111121121221222221211111212221111121222122112111122112111212121121211111111121222212211211222111211212212211222212212122212112212121112112121111111212121111121122122112222111112112111122111111221112112221112222121122221221211222122212211211221122222111112121111121211221212212221221211111111222211221111211211211121212122212112221121111211212221112122222212222121222112212212112122222112211121121221212111221111212221212122121211112112211211121222221221211211111122121222222112211212122222221222212212121211222211212122211121212112222211211122222122211112111222212222121212111211212212222222111111222222211222212112212221121122222111112212222221121211121122112212221212121211212122222121212211111212112212122111222221122111112112112222122112222121222222212112221121221212222211112111112212112221221211212222211222221112212211111212112221112222222111211211122122212122121211222221121221121211211221122112111112112221111111212221211122112112221211221211212111211222221222212222121222121221122211211221221211111212212211211112212221221221121221121122222111121112222212122222112122121122121111212112111111122212111112221122122122212211221112111221222111212111112221222212211221112212212121212212211212211222111121211221111122121221112121111121111211112212121122221221111211212212122112222111212111222221221112111211111212121211221111221211121121112112121211221111221111112212121111122211112212121122112121212111121122112222221222212112112211122112122222112222222122212122221122111222111211111212212111211222222211112212122211211121221111211122212121121222112121122221111222222221211112221122122211112211121112212122221121122121122222212221211222222121221212222211111121222212221122221112121111222212121111121211122121222112211111112211212122222211222211221112222111212122122121121222122221212221212121122222121121111211111112211221211111112211122122211211121221111211211112221211121122221122211211211121211212221222122222122122111211122121112211112212211212111222111121211121122221111111212221111111211221221121212111111111211111121112212112111111111222121212121122111121111222222222112122111222111112212111221221121211222121121111122122122121212111122121222122111112221122112122122111121221222122212122211211122211212112212212222212122221212212222212222111121221212211111111112111112112212112111121121111211211112211112212122122112212212221111221121121122211112211121122111121222212212212222121121122221111211222111122121211111111121111112112211222122122121112221111222211212121221212211211212222121221111111112112111212112122121112121222212211212122111211221222211111121112121112222212222221111211121121112212222212112222112211111221121212212212121212222121122222122112122211121111222222112222122111122122211111222211112221112122122211122221221222111112211112221112222212212111222112121222222121122212212211221121212211221211221222211112121212211211212211222222111212122211221221222221221212211121122222112212221212111212222221221212121111121111112212222112212112221111211212221112211122122112222111112111212111121112112111112121222212112222111221112121212121211211121121221111221211211212112211211221112122222211222222212111211211112112211112212222122121121222122112221122112222221112212221111121211122212121112122121222221211222122111121111222222112122111212212211221111112211112122211222211212112222212211122121222211121111211222111211221212212211112221211121221122211212211211222222112211212221222111222111222111121111221121222112211222222211221111212212121122122112212122221111211112112121221111211122112212211211122122222111211122222212112111122121221221212211212211122222211112122211222221112212212212121121222222212212221211122212122121111212211211221121222221221111121221111122211212222221222211122112112211111121111211111111111211212122111221222211112222122122222112212212121122212111211212211112221222212222112112122211221212211212121111221111212122221112112211122122111112212222222211121222111211221211221221212121222211112111221112121112222112122121111221221221111222112112221122222122121222121121221122221211112112211122212111222112111211211211111212111111221222121122121112122121121121121221211212211212222112111121221212121111211211221111122122222211211221122221212122121221121211211122121222111221121121211122221221122221211112222221211212212111222111111112222122221111122211221221111121112121111221221212122121221112111211222112121111222212222212211211122121121111222122111111112121121111112111222122112112121221121222221122211112111212221211211121122212211222211111222222221112121222222112222212112221212112221211222111121121222222121222122212122111221212122111121111211222122121111112221221122112122222112222111122212112112111212212221211212121122121121222121211112211122222212112221222121211211122122211122112221212122122221112221122212112221121112212122112221212112212112211111211222212211211222221121122121222222212221112121112122212211221122222111222211121211111212211222111222211222122221122112121211121111212212222111212212121121111112222121212121212121221221211122111221222112222111121211222122211222212122222121111111211122211212121221212222212112122111122211211112211221212122112121121212211211111122112122112222211111222221121221112121122212212212222222221112111121122222111221221222222222112122221121111111212211222121221112111221221121211211221122222122122121121112112122212211122222111111111111221221222122121112112212121122222122211221122111121121222211121121211112211221121212222121221111121212222111121221121111221212122222121221112211111112211112121212121222222221212222112222111112222121111112112112212111212222211212122221222112112112211122111211111221121121221122122121121111212112111112111222121111222222121112111121211111212221222112122112221121122122212221211212112222111122112212221211111111211222222122211222111112212111221211221212122121222121112212121121121111211222211222122211212112211111111112121111112221112221221111212212211222121222212112121222222121111211222111222211111112221112222211122112111122212221121122112211211222112121111222122212121211211212111221222222121111111221122222212222211122212221121121221222211112121122121111112112221111112211112211211111122221212212122112121221121122222222212122222211112112112111222211221112121111112211112222112222121211121212121112221221211222211222221221121112121121112212222221221221121211122112112112111111222221122122111121212111221211111121212222121221221121111112121112122221221122111221211112111112222111121112211112121212211112222211222121222122121121112122222111212222112212212222212111211211121121221222122211111121222211111221212221111111211212121122121221121222221121222221111222122212111121122112211222121211222222222112211221211122211112221112121211121121211221211121211122211211111211222121112222211211221222211122212121212122112112222121112221111221212121112222111121221212112212121211212212111211111112121211112222212112112121211111121111222211112121112112112221221221211112212212121121211122211212112212212222221111222111112121121211221121221212111122112121122121222212211221122212121111222122211211212211122211222212221221221212211122222121221122121211111211212222112212211112111221212222121112111221222222112111112121112211111222112121112122121112221221111112122221111111112111221222212122121111222111221221121222221221112221122122112221122211111212222212111121122121222122211111112122211222122222222111122212121111111211222222121121121212121121222112212122221211211111212222111112112112122122121222212211221211212221212111211112121222122121112121221111122221212221112212111222221122212122122112122222222121111112121122212221122212112122212221222121222221112112111122211122121122112222121121121212121112121122122122111211222221211222121121221112122221222221121112121111112111121212212221221212112122121111211212122212112211122111221212212211212122111222221112212112121212111122112122222111121222122121221112112211112112111221212122221122221122111222212111221112212212222212122112121122111211211211112121222222211211211222111222121211122122121112111121211121112221221221212111221112221112112112211212112221212112222211222111212122222211111211222211221221122121111122212221121212121211111222222111222121222222211222221211111211122222121111112112222211221111221112211112122122112222221112212111122222221222112112122122112221122222211111111111212222111121211222122211112211222211211212222211221221122211112122222121122211212112212221222221221111111112111122122122112222211222112111111111111121212122121111221121112112112122212211211222222211112222122212222211211222111112221211212211112222112122212211221111211222111222121221111111221111212222121111121121222121121222211212222212222111121211122122122121211211221121211221111122121211111221212222122111112212222121212222222121222112212222212121122111221121211112221221222112112111212212211112112121222211121222211121111121211121111121211211122111211122221211212222112211222112121111122221221111111222211211111222211122212122122212112221122212221111111222221211112222212211211212111111111121221222211212211122211212212112212111122111111212212122122221121121222221212122111121222222111211222212211221122111121111211121121211211112111122211121212222111211221211211121222221222121221121222121111112222122111211122222221121212222111211111221212222222112111222212122121212221121121112212112111211122111222222122222121212212111111222222112212222112221122212121221121221121222222111121112221222221221122121121212121211221211221221212212122221222111122112211121112211222222122121221211221121222212112112122212111222222211122121211122121222221112221111211122111212222121221111122121111212221112222111221122221222221111121111211121222221222212112222122222221112211111122211111212112221112121222212222121121122212212111122112222221121111122111111121111112212122212221211222121221212111222221211121111121111111212212112112122212112211212222221221222121222112221221112121112211121122111221221121212111211112122122222121111112222122212111222122211112212111122212211211111211212212121112212122122212221212212212111211211122212112122212211122222212211211212121212112212211212122112122212211112112121212121111121122111121211222112112122221222211222222112112221222222211211122121121111121222221212212212212211211112211122122121111221222211222212211121211112122221212221122211112121211112112222122221222122121221212222112211211121112111121222111221121112111122211212121212112222221112111211121222112211211221221121222111111222111221221121221211112121222222112221221222222111222111122221211121211222111222222221111211222221122212221212211121212122121222211211122221211212211211111112111212111221212212211221121121212122222211211122222111112212211222212111222111212222121212122111221212121221222111121221211112121122122221221212111211211222221112111211212221212112212221111112111211212212211211121121122211122211121212212221121222222211222111212222111112211122122211211121211122111221222222212212112111112222122212122112112111221221121211111211222212222212111112112222112211121112121221221122212122112221122111121222222212112111212222221112122112121121211222121222212111211211212211121112122112112112222121122111121121211211211112121112222121211221121211112211111212111212112112111212222212121212212212112211122221112122121221111112212221221211211122121112122121221212122221221122122121212211222221212211122212211122122211112121222222111211211222221122112112211222121112122222111121121221212111211112222121112122222221212222212111222222222122122122112122221112221212221211221112111211211212221111221221111111122121211221212122221122111112212111122112222212211122111212122212122211111221112222211122122221112122122211121111212121212222212112221221121212222222122211111121121121212112112211221111111212112111121121122221211211122122222111221112222211111111112222221111112222222112121222121112112121121111221111121212221111212122211211211112221222112122221211122111222122222112112222222211111111222122211221212211111212221121211112222221121211111122122111121211211221121222122122221212111221111211121211121221221221112122112121211211111211222122121211112122112221122122222211121221112112221111111221222111221221212121122111121112111111222221121221121121121222211222111111211222211222222121222212222211221222111121222111222121121221222211221221211121122122221211112211111121212212221211221211122212112221222112111211111212221111211122121222222112222212112112212122122121121211122222211211121121211222211221112122222121121111212111121221212121122111222121121122112222222212212222121222122121122212212122112222211111222112221222111221122212112211122121212221111111222212212222211221222211222122112222212222221211122121121221121111211121111212122122212112121121211121211222221211222121121112111212112121112121212212221112112121122121112211222111111112212221222121222112211121111122211211121212111222121212221112121121211121211121122122212211122221221122221121211211122121222221121111212222222212211122122122222112211222121122111211221111122212122122122211222221112211112212111111112211122211212222221111122221212112211112122222111121121211212211122221111212222211222211111222212121211122122122111212221222122221111112211112122222212121211111221221222122121222221211122111212211122221112221112212211122211121122111111121222221121222212122111211121212122121112121121211112211211221221111212112212211211212122111222122112112122221112222211211112111112121212111122111112111121111112111112121111112221211212112112212211222112111221112112111122211222122121222111121112121221211111211221111222221121112212121111222221112121221222212112211122212211121222221221121111122122111212211222111121121111112122122111111112221212112111121122221111112222121111212221111111211111122211121122212222121122111122112122121221212222222211111222212212121211111211112121122112211221221222111121111212211111121222112112111212111112112111122112111122222222121211112221112121222122221122212122112112221211122211221211212112211111111121211212122212212121112222122212121221121211112221121121111221111122121212121212111112112221212122121221221221222111222111121121211111212111222121221222112222211211212222222122122212111112211111221122212112211112121121111222121122211222222222221221212212112221122221222222221221221222212222111221222212212212111221121221212112212222222222221122122211111112112222112222121212122121222221221222212211111212122212221122212121122221121122212121222212112111122222122211112221121221222212121222211121212112121112222212221111111221211111111122122212112212212222122121211122121121221212111122122112112121122212111122211122222222221211221222121121212121111211221112222122122112212111121212212112211222111212212121211222221222212112222122121112112211121221211221212122121211221221121111222211122112112211112121111212222222122221122112211111212122222212111211222212112112212212112221221211211122121121121122122112222222221112122221122111211212122212221212111111111112112112122222121212222221112112122221111121222111111112111122221212122122211222212212221112212212221222212222112222212212121212111212121221222221211212222111121112121222222121112121222211211121112112122121112222121211112122121211211221122212112221222122121122112111122111222212112222111122212111112222222111222121211211111122112111122212122121122122121111222211121112222212122222121121122211222212112221121111221222122212111221121121122221121121112121111222211111122122211121112121221222111112211111111212122211211122212122112111111111112121211211112211112112111122112121212112111111111111222112212122111111122122212221121221212221121211222111112222222222222111221222211212222212211222222222121212111122221112111221122221211111211121111222221112211211212221222212121121211121222222212221122112222212212111211111222211122221222122221211211121111212111211122121111112112221121221221121121222111111121111221222112211111222122211221212122212111212111121211211211111212211221221112121112222211122121121221111222212211221211121112112212111221221222111112112112211212221211212112211112112222122112212211121212111122221122211211111212212212112121112111122212122212122211212222211121221111122112221121112211212111222212212212111212121122122212111122221121211222221111122222211111112221112221222212211212221221121221122222122221121111211212122211212221222212111121121211211222122212222112212212222122221212222121112221211112212222122112122121112122121121221211111112122121111112111212121112212111111221222212211121111211212222112211212111122211112121212222111122221121222111212212111212112111211221211221212122222111211111122122111121111222211122122121222221221112121221112222121121211111211111212121121222211212121211112221212111112121122221212112111122121122121111221112212122221111121221121122121112222221222121121121111122122121211222111111221222111221222122111221211221111211122111111221111222211222222121111121121221122121111211211221112112221222222211111122212112212222111212212211221221122121222212211221112222121121121212121112222111212122212222111222111211122222122111221121211222211121221112221211222212211222122111112112222221122111111121112121211221222211221111211121211121122122112211122112222121112111121222221111121221111112111212122122222112211122222121112221222221111211221122212122121222112122221222121112111122111221211111111221221111111112121122222111212122222211221211121211122122112111111111212222122121112211111111211122212212122222211112122121211222122221111222112112221212121212111111111211211121222112111111212221111222212112211121112221112122221221221212121111111121221122221112212111221121212121221222121222111222111111211121211221122121211212221211222221121211222121212212221222111122112211111111212111222112212122221221122112212222122221122211222211212121121221212111211112122221111112221122222112222212211222122121211122111222221121222111121211212211112211212222211111212221111211112222221212221212111111121122212111212122212112222112112221121212112121222211112122122111121222122122212112212111122121122122111222122212122211222222111112112122221111221121221222112211211222121212212122211112112221111212122112122122212112222211111122211221221111212121112122121212211121211211111121111212112211112222222121221211212222211122111111122222221212222211212212112111221222212122121111212121111212112121111112222111111112221212212122122111112121112122212221111121222111211211212221122221111112222112222121121222121211121111211211221221122122221112121122122111121212222111212222222212222212121211122211111222212121111121212122121121212121212111121211122121222121122212211211212112211221212212112112122112211222212221112122111221211121211111111212211212211122112122112212222221212221112122121122122211211221211122111222121221121211122121111122212122222121211121212211112121222122211212211121122112122122211112211222222211112111121112222222221211122122122112112211121111122222211211121111212122111122221221222212211112122211112122222222122211212222221122222122221212112111221212111211111211222112112122211111112221222121122112111112211122212122121211112222112121122112222221222111121112221221221121212121221211221111112211222221211221122111211111111122221122121221211221122112121212221111211211211222222211121212221112211121121122211121221111121222211212112112112211121221212211112212112121112222121212111111112221211122211222222212212121122211211122121121121121221122112111112122122121211122111112212211212222111112111222111122122121221211221211121211211221121112121111121221112211111211111121122112222111112221111222221212121122221111122212212212222112222212211122121121122221112221111121221122211222222211112212111221212121111211111222112212222212211211222112122121121212122112112222112112222211121111111121212211221112212221112112212122111211122112121221221212221211121111111122222212211111211211221222211122121112221111112222112111211121112121221112121121221211221111122211111211111212211121122221221212221211121222221212221212112212111222222221112222212211211221221211211122212211121212111221221222221211111212112222211121111221221121112221221212112211112121221112111222211212221122112122121111222111212121112211211221121111221212211122222212112121111122222212221121112122222221112112222122112222212222212122112221122221212222211222212221212212212222122211112221112111212122122122222112111122111211122221122212222121222212222122122121121112112121111122211211211112121211122112112121221222212111122122212122122111212111221122212221211221222112211211221211111121122111221111221212222122111121112122212221222222112211111211112211121212221121222111112111212121121122222112112112112221212212221112112222111212111121222221211222211121221222221222221222112121111112111222212111121121221211121122212121212112211222221122222221121112112122112222221211111211212122111212222222222222121211122211122211122122221211112222222122222112112222222112122221121111122221121122221211221222112121221221122122211222212112121212211121111121221221222212222212112121121212122212111111221122112222211121111222122222221112211111111211122122112122111112221221111122222111122112121222222111211221221222211111121122221222212212121122212111112121122112121211112212221222112112112121221222121221112122211112112122222122212122111221211112122121221111212212112122221111111112211121222112221111122112121122222212222211112222122122112122122221121212211221211212221222212121211212121211211111111211121111221121122212112211121221211112121111222111111222212121122112122211121121212111112222222111111121212122211211211112221112211111221121112112221122112212212222112111121212212121111222121212221221221212222222111122122122111121211122111212122122212122122112212222222222122112211122221211221221122212222111122122112121221122212211112212211211121212212121112121122221212212121111221122121222121112121121112122211222111122212122112112211211222222212221122212112111221222212111121212112211122112211122112211112121211111222122212222221222221211121212211222112111212121221221122212121221122222221121221112222112212211222121222221211211222221221222122122112211211221212212212121211211122221221121221111112122212112222112122112121212221121121221222211211221221121111222111112121112112111222221111112221211121222112212211121212211212121111222112222111121211122212112221221211212121122211121222122212111121111121221121222211221112121122221122122221211122121221221212111112111221221121111111221211112111111211211121222222122111221111221211211222121221121121112111121122122211111122121112121122211222111122122222121122212121222221122222221222211221212222112121122122111112112122111212122121112111121211122221211211112122121212122111211211121222222211222122212112221122222122212221221112121221221111121222222121212122212211121112122211121221122122222111222211112111121222111111122222211222122121121122121112122221212122221222121221111112121211222111212122211112212111122222122121211212112221221211122221222121122112212122122221221112122122212212211111111212121111222122121212222112112121111222121211212122221121122222121112112122222111112221221211212221212122111211122212211211122111111122222212122121212111111112121212221212211112112212121221122112211111122221212212212222121111211211212221212122122122111212122111211122211212122112211221211122221221212111111212112121222111122121222121221222122212221211212112121121222211221112211221222221112121211221221222121121221212121211111121211112122221222121112121222212122112221211122121222111212211112122111212121212111211221211222111122121212112122122112212222112221111212211121112111221111222111222212112112112121222211222211211221211122111221121211221212222211211122212112211222112212111221121221212111112222222111111121112222112112221112221121112211122212112221221121221111211121211211111211122111222221112111222212212211112111122221221111212222222111121112212211112121121222221222122211121221121121121122122112112211212112111112221122211121212122121222222111112111211111211211211122111221221222222211212111122222111122212122121211221121111221212112221211211122221222112211211212122211111212222221212222222111112222122222222212111211112122212212112211122222211122221122111121111222211211122221221212122121122222122111211212222121221222212212211212111221211221211221212211111122211221211221222222221221212111121111121112121212122112211122221222112212211112112111112112222212211112211221222211211121222112111222111212111221222212121221121222212221222111111121122222212112222122212122211111212122212112212212111121211211212112222211121211212221122111221121211212221212112121211122211222111122222111221212212212221221112222221112212211211222112122221222122122112111111212221112121111112212212111221221112111221111211122212212121112211122222111221111221211111112111212112112111212111212122221221111122122222212111211211221112221121221111221212222121112212122211111121121122222212121211212211212221121212212122121121111211211221122222211121222122111111221121222122121122112112221211112212221212111111122211212221222211211112121111211212212121121211121111212112211212111112112211211221122122122211121122112111221211122112121221112121111221122112112212112222122212222211222111121212122212222122222112121222121121111211222112221221211121212221121212212221211212221122211211112122121211221212112222122111221121212112121222111222222221221121111122222221211211212121211222221221221122112222112111111122112212121222112221222121221122221112121112122212221121222212222121222121211211121122121221112112211121221112111112221112222222222122212121222122222111212111221221222212211122121212122122112122211122112112211221111222211112111212222122121221111221121121111212122211121222211112121211112121122221211212111222221221222122121211111211121212121222212211222221121222212121212111121221221212222111221221111221222211112112221221212211112212222212211222222212221122222112111112112222112121111112221212211111122212211221222112112222111211222121212212222121221122122222112112122111211121211121222111121211112221212121112221121122121222212222111121122112222212212211112211221121222222222221211211211111212222221122121211221111111211112221211211122222111112121112122111222211112112211212112221222122122111211111122121221221211212211211112211211111121211222222112121211121112211211221212111111211211122111122121111112221112111221222222112222221121211122112212211121222112211211112212112122212121212212112122221212222222121122221222222121111111212121212221221222212222211112221221221122122111222111121111222121212221211212121221211222122112211221221211121112212222111111121121121212222211211112212122121221111212212222221121121221112222121111111111221212212121221221221122211212111122222212112122112121222122212212211212121121111221122221112212212221211221122222221112222222122111211212111211211212221211222122222221211222211212112212212112212222112211211112111121111111221112211211212122121121111212221121112211122112221221111122211112112222221121212222121222211221221122221222122221122122211222212111211222121121222121111112212121112211222222211112112122122212121211112112121221211111121221122211211211122112221221121211121222112212211221112221111222221211212212112121121122211222221112122222122212121222111111221212112222121122221121122122212111111222211122121212222211112122222212221122111222122222121121121221222111112222222221221222221212111212121112212111111222221222112122211222121221122212221121121222111212122122112212212211121222112211221121122211222221221111121211111122121121221112121121122122111212121111222112212212212121121122121111111112122111122121222122211222122121212222221222112211111121111211111211222112212111112121222121121212112221122112211211121221221222121122122222112122222222222221111112211121112222121221111121222122112111212211122222212122222222111112211211111212112211111122211111222111111112121222212122212112112122211122212122121111121111112211111111112211212112222221121122221222122222111221122222121112211111112222211212221111221212121122212221112221221121111121211211112111111122222222112222111222222222212112211212122222112112221122122222112121112121222211221221212212212211211121111121212112222112121212222211221211221221212112121111121222211112121221211112221112122222122222122211121111121211122122111222112121212211212111121111111221111112221122122121211112211111222222112221221111222112212112212121212112122111121111111111212121122111211122111112122111111212222111111212121211122122222212212112222121122221121212222222212112121222112221212211212121111111221111121112221222221111222122222221112111221112222211221212121121212221212221222211121112221212111221211221122222122211211211222222212211122112111111121121112211211112122111211112221212112222121111221112121112212221212112221211222211121121121122222211211222112221212122222112122112212121211122112111121221222222111211111211121212122211211221212111112121222112211212112211212111121222211112112222122211111212211222111112222222111112212111222212112121221222211111211221122111122212111221111111221222221211122112121211111222121122212121211122121112121111111211112111121111111122212121222211212122111221122212222222111211121222211121212221222111222122111211222122121212121122112112212212111221122112221111122222111211212212221122111212122221112121212221221221121121122211221121111112121212121221111111221112221122211222121112112212121112111122121221212211221122212222121111212111121221221221221212122111122212112122122122121112112212211212222112212222212211211221121222221212222121222111111212222121211212212122111221122211212211112122221111111222221212212212112222212111211121121111212222111122211122222212222122111121212121212111211121121122212211112122121121111112211111121121211211222221112121211212111111221122222111112221111221212222221222121221222121222122212111122112222121121222111122122112122212212221121121122121211221112112112112112222211222112221221221212111112112122112111221222122221222111112222222111121122112112112122122122121121221221221112221222122211121221122112222122121112221222112121121222221121212212121222121112222122112111111211111111212211121221112211222111112111111221212222122121221211221221111222212121121222111111211212212211112111221212222221221221111211212212111212111221111221211212212212211222112121222211211212112112222221212222111111111112212212112122112112221212112111121122212222111112221121211121122211221111212122222112112122212212222121212112121211212212221122121212211211211222111121122221222112221121211211222111222212112112111212221122111111212122111111222222221111221221121221221211111211111111122121212212221111212212212212211111121212121111122121111211122111221221222212221211121121121221222112122222112222212211211112212222212111122121111112211212222121112222211221222122211212112122112211222222222221111222222122212112121111121122211221212221221211121211111111211122121212121211211211122121112211122121112211211222112112121221212122222121121212221112221212212221121211211212221222212111112121222222211222121212212212121221121221211221122112111221121111211122211121122122211221211212211121221211222221122212212222121211121121111211221222212222222211112222221112221112222221112112121122112211221212221122222212122112112112222221121111211111221222121212112121212222121122221211122122211211112122221111122221112121222222122222112122221121111112121112122221111121212121122221222212221121211122121221121222222222211122121212112121222222212121222112221111112211122222111211122222222111221221211212111221121222121111111112222222112111112122212112211221212122222222221211221121212221122111112121111211122122121121221112121221221211122222111212112111112121112111221122211112212212212211111212121212212122112222111121122221211111212221121121222111122112212112222122212221111111211112222222211121221121112112211121221221121112211222112222221111121112211112221211112222211212212122212112211122212122222111211121121212212211222222111211221111111122121111112212111111221211212112122211212211112222221121121211212221111212111212121222221212111222121212221122222212222221122112212122221211222222121111112222121112222111211222122111112212211122211121122122221212221111211111211222222121111221112212221121111112211122221111111111222111221111111111222222221111112121111122222122221212222222222122221211222222212112221121221211221112121221111122221112122121122212222111212111211212211222121111112221212121121112212112112112112212112212222211221211111222112222121112112112212211212121121111112111112111221111222222122212121121112111121122121212111121121111122112111211112222122122112212112111211111212211211212121211212121121222221212222212212122122111122222121212211111111111211212221122211221111121121222222111222221221211222112121212222212122111222122111222121121121221112121122222121222212212212122111122111212112122212122211121211211122221112121112221212222121111222111222212212121222212222111221212212122112122112122221122112122211122212221221121221211222211122211222212122122221222211121112221121212121212122222211122212211122122212111122222211111122221222221222111121222212221122112221211112221211222122221111212211122222222121121211111112122112212111222222212122211212121112121112212121112221222221211122211211212222221212221212121212111221121121212211121121111211121122212211222111211211211212221211122121212122222211121212122221211121221222211221111212111121111212222121222112111221111122221222221222122222212211222122212112222212121112222121212122111122122211211121212221212121221222112211212112212212212111211111221122111222112211111121211221221211121121122112221211222121221122212121212122121112121111122121122211121111211211221112221221111122221222122221122211121221121111212211122121211211221211212111122112122211121212222112222112211212122112222211222212121211222222112112222212212121112221222112222211111222211221222121222212222121222112121212211211111221111222112211212111111112221212211211211111211222112212222121221111121222111111222211112212121222111121122221112222112121211112112221122211112121122121212111121222212211122111222222222222212112212221112222122121212121211111121122111122122221121221222222212112111222121222122122112112111212222221122121111122112212121211212112211222112121211212212122111212121212212112211112121221121122112222112121211121212111212211121211122122111111122121122111222111112122211111222211122211111212112112111221211112222211221122122111211212212111221212212212211121211211112112211122211212122222212122122222222122212211221111112122122222112221112222212122111111212221222222122212122121122122212212111112112211121122111122221211112212121211121211211112211121112111111211211111211222211121122121111222122222111221221112112122211112121221121221212211112112121122122112222121111211222211212121221221211122112121212221121121112121121112111211121111221122121122111122122211222221122121221122222122212111112211112212112222221222111212112122212121221222211112122211211211121111111212211112111211122211122121111122212222111211222222222222122112121122122122111111222212212122121112121221111111221122211122122111111211212221122111111121122212211121122111121111211121112212122222212222222111212222212212221222112221122222122211112221121222212222112111111211221222221122212222121211122111221121212212112222222212221122112222122211121221221121212122112211221222121221112222111222112221111222122122122212212121211211222221211212112121111221212111211212122121121211121121221111221111212111122122211122122212111121211122111112212111211112122211212222121111211112121211221111212222112221221222212211112111221122211111212211222111111211212212121212112222111211212211222122211221112122222122222111121112211211221122111212121112112122211221222222221111222122122211221222122122211211221111121111211221212222122212211211111112222222211222112212211122221121122111121212111211221211122211112122212222122212222212112122121111122221112112221122222122112221111222121211121111212211222121212222112221221221112222112211122212221112111112122112212211221121221211112211222121122221122211111111121221212222121221222121222122221221211221221112221212111221121222122221211122112222121122222211121221112212212212112222221121111112221112121211212111122221112122211121211122111122111212111222112111211222122111112212121221211121211121112111111112212112111222111121121122212222122222222121221111221111212112222111111122222212211121121111222112212212212121111111211211222121121121211221211122211112122111111222221122121112211121221112111221111222221222121222222112222221122212111222121112221211122111122112212122211211111122121221112121221211112121122111111212121121221222111211212122122121222122212121111222212211112211222211111212111221211111212221211121122121212121211222221122111112122112122222211222211121212112122111112121211111122221222112212222211122211112112121211221212222111211112212112121221221111222111222211222122111222212212122212121212112111222222211111121212111111121122222112221221211122121122222222122212211121222121112111121222211221212111221111122111122221112211221112221112221121222112112112112112221222122121212112212212222221212221121212111121221211222211221122211222121121222222221122122121122122211211222121221121211111211121112211212121211222112112221111112221121112111221212222221212111222221212211212121121221122111111121122211121121222112111211111222121211122112221212222222212112122111212121111222222211121121212222111121122221212111111121211121121111112111211121121221212111211121111121121222121221211211122111122212112211212112211211221222122121122112221111211111121122121222222222111211212222112122112211121212111111221112212211111112221222211212111211212212111111112221121212211211222212111222212111211212112111111122112111122212222122221112211121222121122121221111212222221221122112121122212212121112222212111111221222112212121121222221121122112112111222212111221122122212121221221221121222211111112111211221112222111222211222121222212221211221112121111111211122111221212122122222211111222212221222212212112122111211222112121122221221111212122111112221222221212211121212212121221222212122121112211111111112121111211222211221211122212111221121221112211222211122111222221211121121221122222122122221222222222111122112111121111111111212122112122222212121121122211121121222212111111221222221122221222111222121211111222112122112222121121111221221212121212221121221222222211122222221112221222221111211112111121212212211212221211222112212112121112122212122211111122222111121211112122221221112221222211212221121111222121112111212112221112122112122122221221121112211211122222111222212121211222122211122111221121111222112112221211212111112121121121212212121122222122211212111212222111112221212211222112212211222112212211212212211211121222222112111221121111111122222222111211211222112222211211222122211112112122221221122111112112112212212121121121212112121121221111122121221111111111222212121121111111221122212212212211211121122121221122221221211122212111112121221212222222221221111211112222111211222111221121111112111211212211112122212111222211121122211122122222111112121121211112121212112122221121222221121222221111221212121122121121112111121212221211122112111222112121112222221211212112222221111222122111221221211112212212221222111211111222222212121222212121212111211222212211212221111121122222111222222111212111111212211111112221121111222121111111222222122211221112222111212121121222211121212121121112212122111221122222121221211122122211222212111121121212212112221121221211221222122212112211121122212211212222112211211212111122112121122212121222221111111111111211212112221121211222221211112212111211211212211112121121121221112111211211111211122121112121121221121211221112222222122212211212122222212222112122222122111112121121221222111121111112112112211211222211112111211111221211111212122211211222211211121212122222222122221212121212222221211112211222121122211121112112222222122221111112122122212111212122212111121112111212221221111111112121111112222122122222221122212122221212212211211222222221111222121222111111212112221212111112222111112112222112121211111111112212122221112221221111221222211121112212221112212111121111211221221211122221221211221222112221122111221221122222122112121112122222111221122112121211111211112111212211222121211222222221121211112221221112111121122211211211122111212221111211111222111221222112212222222122111221121211121122212112112111222121121112211111222112212221212211121211212212211221122221222122111222212222211221112111112111212121112112211212211212121212222122112122211222121212111211111222212221112212111221122122121222112211222212112122221112112221211111111111122121111122222212222221222122122121122122112221212221222112212222112211112122212121222221121122211112122111122221121222221211222122112112112211222111211221122121221221122121122112222212112122222222222211111121211111121222211211111121112112122221222112211112211212212222121112222121121211222221221121212222212122211121121221221221221121122222221221121221212212112211221222112211121121112221111211221121111221211121212121222221121112212211121221112112122212211222112111112222222212112221111212112111211111122122122111222111221212112221222122111221121121111111212222211121222121212211122112222111122222121111212112221112122211111112222111122221111111112212112222121112221111212221112111211121212211221112121121112211211211122121112212111112122121211221111111111112212212121211112211221211112111121122112211212121111211111222121111212111222222222121221111111122212121211112111212112212222122111212122121212112112112221111212121222211121112212211111212122221222211112112112211111211122111221112211112211211112112221222121212111122112221212222121212211121111122121221222121121111111212121111112221212211211111212211222121122221211112221122211112122222211222112211121111121111121122112222212121122121121212221111111121111222111112122111122122121121121212221112111121121212211222112211222221211112211111222212222211121121211222211112222222122221121211211212221211121212222111111212212112222122222111212112221212111111222211221221222121212121122121112112121211211212121121112221212112221212122221121111212122222211221122211121221212212221221111122112221211211211122222111112112221222112212122112112211111122122221221221122211222122222212111212211222211222222111122212122122222111122121221212111212212221111212221221221221211221112112121122212112112111122212122121221222122221211212122222122112122212211222222111222121121211211122112111111212221221222121221111211221111112112122112121212212221111211222111112211112222221121211212121222121211121212121212111212111221121212111221111211221221212121111121221121121121122112112121221222121212121211112121111112211222122111122122112221121122212111211122212112211112211211112222221222111111121121112221212112221212222222122211222112212211222222212112211122212121222221212122122112111111212212221211211121112212222221112122211112212121222221121122222212211221221221212122122122212121221212121211222121112122111211222221112212111121221121111212221112212121211112122212222112212121112222221211121111211221121111122121122111111111211122211121221122112122211221212211111111122112112121211221212121121111111122222112122222111122211222111121212221221122211122211121112121221222112212212211211222222211111221122112121121111221121121121221222211122112222221111221122222211112122222122111221111121121212122112222212121221222121112221121122222212122222121212221212112221111222221121122122211112112222222121211111122211121111222221221212122111211212122211221222211121111121121221111111122122212121221112122112211121212222111211121122221122211122112212221221111221112112212112222121212121212112122221121122111221122111211121122221122222121122111112222222122112211121112222221112112221221211212212211122221211122121111222112121212222112112111122222221121211222112212112121211212112221111111221221212221211222212221111121112112212111111222112212112122211122112212121112122211222111111122121111211211222122211211111111211121122122122122222212111222211212211122222111111121221212121211211211212221222122222212212212112111112221112211112222112112222212211111122212112212212212222112221112111111112122112212212211212121111212111222112111212221212221112221122121221122212122221211212111222122111122121122122212122111222121112121212121212211222222122221211121111121222211211212121112122212121221221222121121112122111111111111211211221221112121111111122111112122222112122111212122222222221211211121112211121112212122211112211212121112221112212112211211122212121222122221111122211222221221122212112111111212212122121121212121222211121221122211221111112122212111111121112122121111211221212122221221221111221221221121222222111221112222121222112212212211122221222111112221211222122211122212212122122121122221212111211221221121111111212221111212122221211111212112221111121211122122112121222122221212121211212112211121221212121121122122212211111211211211221111221221111122112112211122211211121111211111112221211112211212121222211112111211121222111222211121112212212212222211111221211122221112212222122111111112121221222222111122112222221122212221221112222121122121122211121211111221121111122112111112211111212211222122212212122221222122122212212112212111111212221212212211121111212222221112121112212112211221111222211211112121221122221222112112221112121112211112112111212121221222222212222111121121111121112211112212221212221222211221112121222122211212221111112211122111111212111122211211211222212112212221112122111221211222211222222112112112211212111222121212211222222121221222212221111212122121211211222222111112121121112122122121212212222121121211111211211121122122222211212212221221211222111112111211222212122222222121221111212121122222222112111112222122211121221121112122122112122222222212121121121221121111122212211121121221111122222212112211212111211211211212112112122122211221212122122211222111222111212121212121122221111221211111121221111221111111122111111212211112222222111212212111111122211221121122122211111212211221111112111222121212221121221212122222112221121112122212222122221111211112211112122221111221222122211211111122212122111111111122211121212121112222111211122112221212112221112221212211211222222212121121111211112221211121111112211121221111111122111122121221211121212212121122211222112221121122221122112111212121212211111221112111211221211212222121112112112122122222122212121211121121221111121111121211122222221221121222222211122212122112122212122212222122121212122111112122221211222111222122221112212211122221211111122112111122112221122122122112212122112112211122122222122222121222111221221122121111112121212222122111211122222121212221212212111112112211112221112221122122112122222222212122221212121112112222221112111111222221221222221121222221222122122121222112111211122121222111112112111121112221112111221112121211222222221111222111112222111221111211221222222121211112211212222112111122112212222222221121212221122111111111122112121222211112221221121212111121211221212221112122122122221112211211211122222112112211222122222121112121112212121122111112211221221221212121121111112222111112212222211111122222112121222222212112121211121222221122111222212221221112112212112222212222212121222121211121211221112122211122112112111212122211112212122112122111222221212111111112212111112121222211122122111122111122122122111111112121221211122222221112222221111211112112221122212112222111212122121121111112221121112111212112122211211222111122212111221212121212211222122212122221221211212211122222221121112111221121212212212111211221111112122121111212122221122222111112111211222222112222221211121121222121222212122221111122212222122222211112111121121211112122121212211222112112111211221122111122122222212112221111112221212222212112222221112221212121212222222212212221221221211122111111122221121221212211112111111112121122222112211112211112111122222111121212212221221121112212122211112221221121111211212211212112112211222122221111222112111111112221121222111112111122112111111222212211211121121222121121111121111222121212221111112121211212111111221212221222222222111111121211221221111112112211122122111122211122121212211222222212211221111112221221112212121111212221212222221121222111211221222212111122221211221122212221111112221212111212111122111222222221121212212111212212222121122122112122111212212111112211121221112122112221111112222212212121212222212122222221212111122212122111122122121112112222221222111222221112121111212112122122221111112121222222121222122122221122211212211212112211211122111122121211122122212222222122221221221222122212111111112212121122222221112121221211211112221221122112112222211111112112222211112222212211222212112222222212111111112122222211121122212211222222111221221221221222211111122122222111212122122121111211221212211222111121211112222221211222221121122121211211121111211222221122211211211122121211212111122212222212112221122112211121212112112112212221111122222121221121211221121111121111222222211211221221111222122212122112212211111222222112111221121122221211122111222222211121112211122211111211221222122222211221222221212112122121222111212221221221111222121112121212111111222121112222221111221211111112212212212122222221111222121222111111222212112112121221112222221222221112122222211121212221112111222112222221111212212222122222111221211112121112112122122222211212221121211112221111222111121222211221111122211211121212211222122221112122221211121112112222211211112111222122211212222112121222121211111112111121122211121221112112221122122111222122122211222112112122122111211221221222211121212211111221121222121212222122212122212221112221121111212212111212211221122121121221221221121212121221111112111112222222222111212212112222121212121111111122121211112121211112212222112121212221212212211121212222121111221211121112221222121211211112211212112221211121212221222112111222112111112112111212222211122122112211211122212122212111111112212112112122212121221121222211122222111211112221211122122122211121221122112121112221212212121212212221122221221212211212122112111111221111222121111122211121221112121211211112211222111222112121122211111211222211211222111122222212122212211122111221222212211221221111121212211111212211112122211111211112111222211222111211221211212211212211121122221122222222222121212122111222211212212121221122222121111111111221212112112211222221121221222221111121122112221212122112221112122211222222222211122122121212111221211122221112112122212111222121211122111222121221212222222122112221211121122211111222221221121112121121112212122121111111122222211221221111122212112212122222212112211121211221112221112111212212211222211112212221112122222221111122122112212222212111212211211121122122121221121121212111222211121111111111122112112111122121222221222122212111212121121121222211112222222212212212112111222222112112121221211211222211112211212222221221221221111111221112111221211221111221211212121121222221121112212212211222222121222221221222122121122211211121112211112222212112112112111211112122111112212122212121221111222212222122121122222122111111211121211222212212221111121111222121111222221221211111212112111221222222222212122122121212222111211222122112212221121121221212122211122122222122122221212221222121122111221211222121211111121121112221222211221222211122222122222121211211211121222111221221121112111212111212212221121111211211222121111122111222221212122212122211221111211222122212211211122222121122222212212121122112122212211222122221222121211121222112121212221111111211222122222212211222112222212211121222111112121122112112122122212212122221221222211122121121122112112122121211222111211122112211112111121222211111121221112212122221122111112221122121221211211111122212121111212221211211211221211211222221121212112222211222212211111221221222112111111122112111211112222122112212212111122122121121112211222222211111211221222111211221122221212211122211211211211111122222122211112221222112221221122121121111212212121122111121212121112221111222222111122111211221112121112222211121222112122122122111112222112121212221111111221121121122222211221221222211111221122221122211211121211221112121111121112111221211222111122211121112211112212112112221121121211112211122222121211122121122212112111111121221111122221212222111122111121111211122221111121212221122122221211111112111221211111222112122221222122211211211111112211121112121122221112211221122212222212111211122111221121122222211112111112212121222111222122121211222112121122222222121222222122121112111211221111211112111112221122212222221211222122112122111212212122222222222222121212221121121112212222222111222112221211222122121122111111112111122121212212211111111221111111212221222121121121121121121122222121122121122122221212112211121212112211112221122111222212221222212111111211221111121122222121122111222222122221211211222122221212111121122211121111122212111111112221212111112121222121212211122211211221122122211122112211221111212212212121212121211212221211211211111212221122122121112211222212112212111122222221222121222122122111111222121222222222222221112212111221212212112212122221112212112211212122211222122211212211122221122212121212122111222221221112221222111211111122222211122122222222211112121112211221112221212121122111211221222221122221212221222111112222221112121112212212112222111111211122122222221111122112122121221211222122112112212121112122112122221112222112111122112212222122211221112222222112221211212221221221112111221112211121112121212211121121112112211111121211211212112211212222112121221212222211112121112121221222211221211212111211211121112121111211121221221121111221122121222212211221222221122122211222222122111121122122221121211122212222122122212122211122211221222112122121221112212121122111221112121121221222122121111222212221211212212121122221112222211221221222122111112122221111212222121121221211212121122111121221221212221222121212222112121111221222221122222221222222221111112121121212121222212221221212212111212121122212122121221221222211222222221111121112222221222211121121121221212112112121211121112112212211112211121212211121112111212221121221212222212111122211212111222221122211221212122212222222222122221211211211112112212121222212212222222221212221121112122222211121222211221122221211221222112121222111112211212111212111222221211212112221112122221122122212211122222121122211121111211222211222121111121121221211121122221122112121112211112212211211222211111211222212221211121212222111111221212121221112222222111221221221111121122221222122222112122121122221221111121212111111112212222222211122212221122222112111122211112122211211111121121121212121222211221121111122221222112122112111212122121211112221222111111212112122112221122222112221111121111122211211122222211122221221121122121122211221111112112122221211121112111121111211212121112211211212222122211221112211112222212222212111111222222212221212212111212112222212221212121212221211111122122222212221122121111111211211222221111111212112121212222212112221212221211111222111222221222112121111111222212112221222211221112222112211212122211222111211121121122212221212212212221211221112112111211112221122212211122122221221121122121112112212212122222112121121212221112121212111111212122122112112112222222121111112122211112111212121211212122212212222111122122221221212211221121221221211111211112212222111212212112212222221221222111112112111222222121111121222211221111111122112212221112211212121211121122221212211222222212212121122112121122111221121221212212111111221122222111122111212211222112111111121212211122211222222222212222122122222221112222221221111211111121212222122222121121212222121221222211221111111212111222212112122112222221122212222211212212211211112112112122211212212122121122211121211121212112212221111221211222221111212222112222111211222122121211212222222122111111122212122221222121212111212212122221111111121221122111112121121211212211221121122111112222112122112112211112121111222112111222211212221221122112121222221211212221212211112221211122111212112212212211122121212112111212212121112222121222211221112211111211111212222122212212222211222122111112121121222121222211222122211222222122221211121122221122212221111112222112112222211111121212221112122211112111211211122212222122122222212112221211122121121122211222212112111112222121221121222211222122211111212212221122221222221211121211111212111122222222211111122122221221112211222212121111111212211212211221221112112211112212121111122211111122221112122212121221122212112212121221111211122222121222111222122222112221122212112122211121211212211111221221212112221222112211122212122211222122122221111212212112112122122211212221122222211221212111112221221211121222121121211111221222111122211122122122112112222222212222222221211121221111221222112121221222222221111211111222112212121212122212222212111221111121121222222211121112221211121221122221212111122221212221222111212212212122112212111111212222122111221221112222121212222212111212111121112121111122221221121112212112122122112111221222122121111211222111121112221211122221221221112212112221121211111121112212111212112111211122122112121221211221121211111121222212121122121221111222221212122111212122122121212222221212212212212212221222222112121222122221111112212112121221122122112212121211221111211112212122212121211221212212222111222121212212122212121212121122112212111122121221112122112122211221222211122112122222212111111211221121212211222212122212221221211112222122222111222112212222222122112112222211112211222221111212212222222211212212112121121211122122111212212121211211111222112212112212111111112222121211221122121121122212211111111211211221121121121211222122221222121211212211221222111211221212211121121121221212212212222222121121212211122112112121211222122122122221122212122221212122212211121221112112122112122111211121222121212112111222122122212121121121112111212122121212122112121212222221111111221112221211221221121112212122111221111122221122221211211221122222111222122211212112121122111111211212112112222221122112122111112122211112111121122211221211221221212212122211211221221221211112212221221221211121222212212122221112111221222212111221122211212222111221211112122112121211121211112121212122211121121211212221222211122112212112121211111221112111211121211122112221221122121222222122221222221111122211212122121222221211112112121211211211111111122112222111112211221212121221111121112222121122122122212122222221122122221111111121111222111121122112121122221221211211121212111222221211212211112212121221222111221221111122221221112112121212121211212112111211212122111112222122211121212222121112121112222221212211221211121222121222211112212222122121212122112112222211122112211211111211222112121211121212111112221122111211221221112122221122222221111221112221222212222211121221122212211222221111121221112211212211112121111121111122222122111122211211221222121112121221222122211121221222222112122112111211222221222212212221111121212222112212212221112112211221211122221221111221221121112222122121222121221211122112111122222112211111112221221111111222122112212111122221212122112111222111122211111222211212221211212112121121112121212212122121112112221211111111221221111112211112211221122111111221211121111121112111222111112112221111221122121211211212111212221122212211212221211221111122222111111222211122221221222211211221111111211122121211211122121112221212111122221122112112121111211222211222112212212122121111121222221212222122122211121112221221212212111111122121111121222221222221121112122221121222221212211221111211111212211111212211112122212211221112222111112222112112111111212211111111112221211211221222212212112212222112122212121211122111122122111221121221212221221212112111212211221122211221111211212211112222222112121221212122121112112111111222121121222111122221112221111112212121211121112122112112221221122212121112211222121112111222122212111221112111221221122212222122222121222111211111221111211121211112111222112222212122121112111121121112111121111221121112121122121211122221221212221111211222122112212121221212122112221221221112111211122112221212221221222122212122111111122112221121211111121212221121112221112222121221222211221122212221212121112222222211112111211121112122221121121222222222122222121121212122111211221121221121111222212112112221212211112222212221222122121221211112211122121111121122211211121111122212121212222121221111211112222211212122211221122111211211221211212221121222212221122112122121211112112112121212211211112112212212222122221111212221221122222222211121111222121212221111222112212112212111112221222111122211211212212112122121212112122212212112122111211221111212211122121221122211221212222121122212111122121111212212212212121111112212111111211212221111211221121211122211221112211221122211222212121222122222112112212211221122122222211121112121222222122121212222111112112212222111111221112121222211211121212222111121111121211121222211112122221111111222222211221212122122222121221121212212121121121211111212122222211121111222112211112121112111121211211212222121212121222121112222121222111121222112221121121112122212221221111121221212221111121122121221212112112222212122122122211221122122121122112112222112112122112121222212212211111121221222112122121212221222111212222222222221111212122121222221221121122222212221212121222122212111211212112122111112212211221222221222112121221221122121211112221121112211122212222221212211111122121222221212212111212211111122122111221111221221222211212112222211111222222112122212122122212222212112121112222122211211121122121111212221112121211211112221121121221222112211112112121111121211122112122212221211211211111221122111221111221111122221111211212121211211221212111211111111212121221212112122121222111212121222221122212112222121211212212122121122112112212112111212111221211112112121122212121211111211122211122111122121221222111211222222122122112121222212221112121211111112222111211121221221122222221121221121112112121111212221122212221222122111211211212222112211222211112212212211122112211212222212211121122222212122222122111212212222222211111221222111221122122211111121212221122111111121121111211111211121221112112221222222222112222222212121121121121111211222211112112222111112111122211222121212212122112112211222121121112212222221221221111122221212112212121111112211222121111121221111121212212212211111122111121221111222121221211221212122221222221212211212111221222222222122211111111211121211122212122122112221221121122211221212122112121222212112121122121222211222111122112122221212221222211212112211211211111111111221111211222211121211222211121212221211112122121122122221211221222222121222221221212222122221212211222211122211221112222222121221222112222211222121212212212211121121122211121111222111121111112121211211211122211121112221212221211111122222211212222111112112121121222122211221222121212222211112212222111222222111211222222221122221111121122222221122222111211222221112221222121122121221122221122112211211111211222221111121122112222222212112212212122121211212111212122111112122212112212121122221211121222212221221221111121122211111222222211122122122122211122111122211122221212122221111221112122112222221111112221111112221212211211122212122122212222111122122222111111111122222122112112221222211122112221212222212211121212122111122121222121211211221112122221122222221112122112211122221122111112212112211212222222112111212112111212211221112112212112212122122211111112112222222222222121121121222121111222211112122121112212111211221111121221222122111221112212111212121222121112222111112222111122112112112221212112222222111112212121211122211222221111111121111222221211121222111122112111221212122122112122221122211121211211121111211112222112222122121122212121111122122212121221212121211212112212212121212122111112112121211122222212212122122211212212221112211222212221122111211221222112211212211121122222211122121212121111212222212111222121211211112122112121111111121111222121212122212111111222122112112112222221211122212122222122221121111212112222222122122221112111111221121112221222222122112211112122211222122211212211121221122221111111221211222222211112211112112212211211122212111121122212222222221111221211112112121111222121112112211122221111222212122122222221222122121221211221222222212211121112122211211122221212112121222121122212222212212112221112112121111211221121212211111212221212211121211121122212122121112222212111112212212112111211112111121122122211222211221121121211121212212121111221121121111111122211121122211112111122221112121222111111122222221212122111112222111221121211222222212221111111121121121111122221222111211211211112221111121221212222212212221122121112211111121221122221211111122211211122111122111112112121222112211222112222211122112121221121111221122121222221121222111221111122212122111211221222221121112111112111121221111222122122212122211121221122111111221221211121222211111121122221212211221211211112112212222212221111121222211211222111211211122112221221111211112111221211211112221212121111212222221111112212212221121211212222211222111121111222112212122222222222222211111112121222222122211212211222112121222221221122222211212111112221221121211222211112211221121222212111222221111121211212212212212222122121112211112222112222212121211221212211221121222221211222112211111211122211122121221111111121221122211221211121212112121212221212122221112121211111121211212111112221121111111121212211112222212111122212121111221222122221121221212222121112112212222222112112221221121121221212211211211212111222212222211212221222211221122112211222221222222222121211212111212122112111212211111211222122122122121222211112121211211111121121121111111111211121121112122221212221122121121221121121122212221211222212122212222122122121122121212211122121112122222211221211122112122122122221111221111121211222121121121112122111212122122212212122112112122211112111112221222122112211222112211212112221212112212111221222111221212222122112112222122121112111122212222221122212222212122112111211212112122212221211212221111121211222122222111222121122222221212211121222111122212121122121112121112121122212221212221222211212121211222212221112111111211221211221212112222221221222111222121211222211212222111121121211212111111121211121212222122112112211121122211221121121221221222122211221221222111221121122112212221221211222121222111122111122212211211112222212121121211221222121221121121122112122222121222222212222211111211222211111222221111211112111222121221211111222222122112221212212211112211112111121121112212212112211121221122112212111121111222121121221111221121111121121121111122222222212211112111211121122122111112221112121212111121122121212221111122211212221111112112112121111222222111211221212221222122122122111122211122112222121221211112212122221211221221111212211211112222122211212112221212222221111221121222112221221111111112121221112122111211211211222122221212122221111111211111222211111211222112112212211221212111211121111121112122221221121122221112221121211121122221111211111112112212122121222122211111221212222111122121121122112122111111221111222222111112211222222211222111222121222212112212112222212112211111211222221211212121221121122112112112222112222221211121112121121222121212221121121121211122221111112111111122221211112121122111121211211121221121221112121122112111212111122221211211221212212222212211111111222111112221212121112222111111222112221211112211121111222212211111112212221221222222222112221122122212212111122121121111112111121211111211122211111121122121112222221122122221211211221222112121112211221112222212122112222211211121112121121112211221122212221211221122111211211212121122222221211122221211211121112111111222112112111121211222222111111221212121221211121111212111212111112111222221212111221111212112222111122111212211112221112111111221221222111222122121211221112121122112211222222221122212222212122122111222122121122112121112111221211121112121121222222212222111121221122111121112121121122222221221211211112112111211222221212121222111111112211112122221222221222111112112221212112221221211121211212121122122122211221221121211121212222121222111222212222122121112221211222121122121121111111212111211212111221111121112212212211221222221211222222111121111222121212221121211212211212112121222112221222211122221112211212221221221211111222211112111212211112222221112121212121221111111211221212121121122222212221112212212211121112222122211112221222212112222122121221222221221221211222221111211212222212211221112122112112211221212121122221211111221212122221212211212211221111212112111212221212212212212121212121211222122212111122212211221112222221122221112112221211112211111212121122212111222221112211121211122112211212122122122221111121221212122212112111221111211111121121212221221121121121111112211121121112212221112211211222212112121212111121111122221122111112222221212121221122121221112121111221221221121122211111222221112221122122222212122222111122121111121212122111121121112221121111211222221112212121221122212221211212111212122111122112212211112212211212222212111111122111121111112121222211122211222122121211222122111112122112222221222222212111222211122121222211111211211122111111221211112222121211121111122122111122121221211121121221122111221112121222222212212111122122212222112222121222112222112122212212211222121212111212212121212121121111111222222211222221221122222211211221111222122222121212211122111211211121212122211112111221121221122212221122111121111212221212112212122121211122211222221212212121121222122212211222222212222212111111111212111122222212112222211121222211111121212111111122222121222221122111212112111211221222221221112111211212221221121221122122222122221121221222221111212212121112222211121122111121221122221211221222111122212212112122122222121111222112122221221122122121211112221211221221222212221212121112222222112112122221111212221121212222122112121112112211122122222111222122212121211211221111112122212212222111222112121222121222211222111112121221112221222211211221212222222222212112121222122211212212212122221212212111212212212212121212221111121111222222212122212121112221211221112111211211122221211111222122112121222221211222112122211211211111222122212111212121121112212212221222121211211212212212112222211212121221222121221222122112112111122111211211121211112222212112122221121121122211112212111122221112112212121122122122221221221212221221121221222211212211112122121122112222112222222122211212111122212111222111121121112211212121121222122121122222112221212112111112111212122221212222222221222222211121121222222222222222221222111221122111111211112222111121211211221121111212112122222221212212121112222211112221222111212122222112212122211212111112122222221121222222121112212212221212111112112222212112222221122121211211211121221221211212121121111122211222222211112212211121211212212122222121211211211122211122122222112211112211211221211211121221122121211212122221122221122112121112221121111221111121112112121112122211112211112111122121222112121122122112222122211211122212111211221211221122222211111222221122212212122211121112122211211112221221211111221111111212122111112121111122112221111112222121211221221211211121111122122211212222211222212112121121222121212212121111212212211222121221122121121121112111111211221112121212221122211222211211211221111121222212121122112222212112221112122111212121111212221111122111211121121122222121121111212122112221111211112211211211111211212111112222121212122122122121211112221212212222212112212211112122121122112111122122221111111222111111111212121221112211212222212122112212212211221212121121221122121211221222112112112122211122112211112211112112221121122211212222111122111211121122221122212112121122221121222112211211222121122211222212222212112111121221122221121111211111121111111122122221222122221112111121221221122221121121222122221222211122122211211212111211222221212211111122221221221221121112221111121122122221211121211111112112212112112212112112111221212212111222122212111121222221121222212221221221112211121221121111111121211111121222212112111212111111122222211112121122122211111112221211112212212211211222122221121211122221111212122111222221112222111212211221221111121121112112221211112112121222221121122212221211221122111212212122221121212112121212212211121222111211212222222111122221211111111221111122222211222211112222122211122212212221111212122122211121211121211111112111112121122211112112122121122221221112212111121222211212112121111222221221211212212121121112221212122121221222111112112112121111112112122122121121121211211222121221111122111212222121211222121222121112122222111111211211112212211211111221122212212122112112211121122122121222112221211122221211121222212121122222212111212122122111122122212222212212211122111122112211212211211121112211112111221111222111111122222211121222111221122211112212222112211122111121222212211122112121112212211221212111212221211112211222122122121122222112221212121211212112222122112122212222222222222122122222211121121212112212112112111221221122112212121222211122211121122221211222222221222221221211212222112211121212122221122211211121221122121221221121211212122121121122221212221221121211221211221211112212121211211121211112111111121122111222111212222111212222122211222221211222111212111211222121112121111222122211212221212111221122121212122111112221211212222212222112221212221221111111112221111211222211212222122221211111121112221121112212112212121111211221121121111111112221212211121122211212122122111112112221221121212121212111122212121111112111212211122111112211212221212122211222122221212112221211121212122122211222111212222122112112112221222122211211112121122222222111211121212222112211221111221212222112221121122211112121112212221211221212121221112222112211211112121122211211211212111212211122221212111111222122212221222121212222122122221111121121112122212121111121222222112221121121212222212111212111111211221121112212212211211212222212121111111112121211212121121122121121112112121122112222222211212121112211112221211221222211221221122111212122111222112112122222122221222121111212222212222121211221121112211112222221121112212122221122212212112111221122112121211221222221221112111122221211222212222121121112122221122122211112221222211221211122112112111211121121211211111112222212221212121122122121222222221112221112111212111211222221221111221212121222212121112221222122211211222222212212111112211221112122212212211122112111122221222121121111212122211212112222122111111122121221222112111112112111112121121212212221221212221112222122111221122121222121211221112211111112112221122222122222211112122111111121212121221212212122212112121221122112112222111111222121112221121121122122222111121112122221211121121111211111111112211122121211212112212211221111121112121212211122222122221121121211212111221122222221111212121212221121112222212221211212221221122111111221212212211122222211222121121212211121111112221122221112222112121222211111211122221121112112212122111121212221222112211122221221121111112122222222122212211211111112122212221221111111211212211222211221112212222222221222121111221221212112121121222211111112111111222122211222212112111112121121212222212212122211112221111222122222221221212111112211211121222222222222121211122121111221211221221211222112112222222221122211121211222212212122222111111221212211211221211111111212111121121221122211212121212211122112211112112222121112221121112122121111111122212221221222222221222112121222211221112212112122212221211121222212121211121112121212222212122221111122111221212111221222112222212122211122111112112111222121211112121222111211121121212212111222211112221212222111111121212111111222122212222112212222112122121212112212112112122122221222222121111211122221211221222112122222121112111121212212111121221222222122111122212122121111221222212212212221212212111212221112212211221212111111111122112211121112211221222212112221122121221212121212111112121221112121211112122112122121221211221222212222112212122211122121121211222122122121111222221122122111111221112112111121121121122111121221222222112112212221212221122112222211221222221111122212122211112221211222212221111211112111222121121121112121222222222221112111211211112221111222211222121112212212111222211121222122111111112211122122121121221212112222122122111221121122122112112211121222111221111221121211221212222211122111211221221212211111222222222212222122121111211212221221222221212212212221222212112121212212212112221112212121111111112112221111121221211222221221122211122122122112221221211221121111211211211221222212122122221122211211211211212112212111212111211211111211121112112111221221111112211222222112121221112111121121212121122121111122221221122122221221212112211111221211112122122121211212111122211211212111221111111221111121222111122112221211222112211222112221122221211222111121112221211211212211111112122111112121111122111211221211112222212211211112122122221222112222212212121121111222212111121212212221212112122211112121122222211111222212112222121122211222212122222121221111121111212221212221221221121122112112211221222222222121211211222212212112111122222122112122111212122121112212212121211112221211112212111222221211112212121211111222212211212121111221112211112211112211222211112111211111121212111222211111212121212121222122212221212122222121122122121211211112111121121212112122112212121122222112222112121121112112212121221122211122122211121112211211212222121111222111112121121221211112122112212121211121222222221212222221211121122222111221111122122211121122121111121112112112121121112122111112221112211121121221221222111222212121211112222221212121112221211122122111221212212122212222221121212121112222212112211221211211222221112222112212111212122122112222212121211121122121221111212221221121111222212122222112212211122212222222211122111211211221211122211222222211111211112211221211212122122221212222211211211221111112111222112211222221212212221112221221111111122112121111121212222122111111122112112211212211122121211212221222122112112122221121221212111211121122122212111221212122112212111222222111111222121121122212122122221212112112121121111221222111222221211122111121211121212121111122122111212222212121222221121121111211212221212111122122211211111121211212212122221121222211112211112111221222112212211121221222111211221222222121122222121222112112122122112222111212112211222121221212212222221121111122112212221111221222122211121122111211121212122222121212211222211121112122222221112111222112112212111121221222212222121221122112221121122112112212211222122211111222222111122212121122121222122122111121111222122122111121221122211222212221221221111121112222122212122221121212111211221122112211212211112222112112111112122122212221122122221112111221121211212211211121222121112111122211121222111222121221212222212212221221222211122122122122212122221112222221111212212212222212221121111122121121112112211112221221121111211122112122212221112211121221211111212222111222211122222221222122211121122221221111221221221212222121221212112112212112112211112111221111111222221212212212211211111121112121212111211211222122222221222222112112212222221111112211211212122112221212122122111222112111111112111221121221121121112212222121212122112111212221211122111111211121212211222121221121112122121112112111222211121121112121221122212112211221111211222111211111212211121112222221212112212111212222112112222212111212222112212111121121212221222111221112111121112112121112112112211112211222122221122112111121122221111211211212212221112211211112211121211221222221121121211211122222122111121221212122221222221211222111111111212222211112121111121222212112121111211112211121111121112221222212221211111211222212111112211211221212121111222111212222112111212222121212112212222212111222112212221111111211112111111121122111222121212212111212221121111111222211212221111122212111122122112122211112121122221212111211212222121122111122121211111222222121211221212212111212221121122221211212212221122122122112212121212122212211211111212212122221222112111122121221121211122221212222211211122212111221121112211211221221112122112111211212112111122212111122221211222221212211122211212211111222111221111122112121222112222211221211212221121111122112221222122121121221222121212212221111222212211111111211212122112121221212111211121222122212121122212112211222221122212122221221121111222121212211112212111221211221221212121122222222222212122222211112222211211122111212222121121112122212121212112112112211122112212212111221221222221122212221211222112111111212211111212122112222222111111212212222122121221111112221111111121211221221112122222221222112222112122211122212221112212111112112212111212122222122211211212122111222222221112121222112112111122112212111211211122212222211121112122222211111121111122211221121122112121112211212221111212211212111222221122221111111212212211222211122211112211112111111121111121111111112222112111112121122111112121212212211221112222112222222222212222121212212111212222211111222212222112112121212221112122111211112122212122122211121212112222211211121222122221211112211121122221212211222221221122122221211221211222222211221211121112112211112222212221111221111221221221212221212112122122121112122112121111112211111222112112212122212222111211122212221221211221121112222211122122112221111122222112222122121121221112121222112211111111111111221122121222111111112122221222122111221122121112212121221222212122222211221222212211121122221112222121212212121211212121112111121212211221122221122212212112222222111112222221212211112211212121211112211211211111121212122111212211121121211111221221222211221221111122122121122222221112111121112121222122121112221212212122111222221112111221221112121212112112121122211222122111112122121121211212222212221121211121222112212112222211122112122112211212112112221111222112122212111221211122111112122221111221121111122111222112111212121222111112111111112111122221121212121211211221212122212112221222121212211122221211211111121112122111121221212111211221221112111121111221221111211211222121121112211211121212212222222122211112221212222212122222112212121221222211121211112112111211122122212112212222212122222222211211221212121122111221112121121111111222222222111212222112121111222121121111112222222211222112122221222112222111111221211111121121121222111121212211112122121222221112112121112121121221222222122222111122212212112212212211211112222211221112221122222222121112221122122112212112221211122221222212112122111121122221212122221222122111212112111221111212221112221122211222221112221121212212122221212212122112212211111221122122112212122121121122121212112111112112122221212212112112121212111211122211222112122211221221212222211221212112121222121221122112222122221122211221222221211122121211121222121112112221112112211121122122221122211221111121111112121111112211121121111122121222212121112122222221211221122222122211222212222111122112221112222112211121212221221212221222211121122222121222122211122211221211221121222222222111111211211222212212221122122111222211121112212212222221222221222212221222112112112211112222122212121222211112211211211121222212212122122111211121121212211112222211221212211112122121111222211212221212122111121221121121211122221112121112121211221111212212121212221112222111122112121122212212122222111212212122121121121121211121222211111222121112212212111222221221211122221121222221121212212121222221111211211122111212211111112111111212212212111211122212122112211221221112122111121222111211222221211121211111111222111222121122212121112221112222221221121221121211112112111221211122122111212122221111112121112122211111221222212112212211112221122222221111122222212111111211222221222111222212111212211122222121222122212111222221122222212111111121111212221211211212121222112111222122221112121212211222212211112212122222122111221222111212212211222221112212111222121222211111221111222211111111211211121221112211122121211221211221212121211211221111112221221212221121211112122121221122221122112221221222112211222221222121122222222222111112211211122111221221212211111121111121222122212121212112111212112111112122222121111212111121221112221221112122111212211122111221211211211212122112212211122211121111211121211212222222212111112111112222222121122111221111122211122121112222221221212122211212221222111222112222211112211212212111122111212121212122211122122112122111212212212221112222222222121111221122221211122221111122222112211211121121111212222222211221212122222221122211212111111221212111121112122211111111211222122121111112121111121112111222222121112221122222221112211112212122121212222111111112111211221111212122121122212122222111112111212122222122121112211111221222212222211111212221222122112222122111111111222112211211211112111212212222211122222211111212112221122222122122122122221121211111112212212221211112211221222212222221112111111212122112121221121121222211112221121221122121111121211122212211122212121112112112212222122212122112222121112222221111112122111112212222122122212212121122112211112221212122121112112121122211122121212122222211112121221212221212111111112121122221112112222121211121222121222211211212122121121122121122221112221121221211111212221121211111111111111211211122221122221222111111121211121222221122222221212122122112122221212112211221222211111211112122111222211222222121112211222111212222111221112211221112211212111112212111111221211122222222221112111112111221211222221221122222211222212211121112112211111222111212122212111212221121212211222211212212221222111222211112212211221211122121112211112211211221211222111212121121211212221121211112211112122111122122212112211112112122221111221112212222221212212111222111221212122222111212211121212221112221212122112111221112221122211111121111221222222222122221112111111122211211122121121211112222122212122211212112122112122211112121121121111222222121121211112122122212221112222122211112122111222112211211112211212221122211222212111211212212112221222111222211112212211111122221121122122121111122112221122111212112112121122221122211121122212121121222222111111112112212212222121211111221111212212111221122112212122211122211112222211112122222212121221111122222212111222212212211221121121112122221221111221112122112222121112121122111121222211221211121112112212122111212221211222212122222212122111121121221112221112111121111221212111122211211112212112212112221112111111212212112112121111112212112212121111221221112121211111211221121111111122111111111212221212222111111121121122122112121122211121111212211211111112111121211222121221221112112121122112111212111222221221222222122222212212111212212121221121222121221121221222222222121221211111221112211221111221121122112211221211221112212111221112111211121121112122112121211222121211211122221222221111112122121121222222122112122121212112212211211112211211112212112222112112121112221122212112212121121221122221111122112112112221121112221121221121211111222222122222122221112211211222112122221222222112222222211222212122121122122221212211211212112112211212121112112121122121122112212121121212111212111122112211221222112121211111222122111112112111122112112221221111211221112112112112222221111222212121222221111112222222121221222122222221211111222111211122121121121121212122111121111111121212221222211111212221212221211111222121112221111222111212121122111211111221122122222111211211122212211211211111212122222122111112222122211121121122111222111122111222111222112122221122212121211211212221111221212122212212222111222111112121221221221221111221222221112211212221111122112221121112222212122212112212122121122122121122111112222212122212122221112212221121111122211212111222211222122122222222121212122122112221222221121122211122211122121211222111111121112212222221212121211211122122212211112221121221222211221212211121212212121211112112212221211222121121121222122121222121121221122222221222111212212111111111122211121112122112211112121211122121211112111222211111121112212121122122221112221122112121211211121121211212221222222121221212222121212211221211112122111111112122211221211212211221122221222211121221211112112111221122212212221221121211122122222221122211111121121122211122122222112211222211222212122222222121222211211112212112111122222111221222111211122211211121222112221211212212111222112121221122112222222211112111212221122112122121212211112212112122112221222111222111221211111221122211221211112221221222211122222212221212121111122212211212111221111122121212111111212121221111122212211212211222121112221222211221211112211211212112211222221112222212222111212122221112221212112111122221221221121211221222221222122111211122211121122222212112222222211112112212211211221212112212121121211211111111112212211212121121112111222212122111121221212121112112212112221121222222121121121111111112112221222211221221221212112211111212221112122212121212221221111121221121121212111221122221212211122121222221122211222111122112122122112122212111212221211121111112112111211121222211121111122121112112111211112221111111222111121122121221111211111112111122111121212211212221122111212112211221111121212112221111112122121212212212112212212111212122222212211111112121112222221122221121112211221112211111111221222221222221111222112111211211212121222111121112111211211222112222222221221112121221111122112222212212111121121211111212212112122221111212111212122112212222121222121122122211221112112111112111122111111212122222111112211121211222122111111122211222122112111112122112212111211111222112211111121222211121221222212211211121221212121121112222112122221121212221211212121211221212122212121121111222112121222212212222121112212111222111122111121222112122222222122221121111111222111221122121121121111212122112221112121112222111111121222122122211222222112112222121121111212121121222222211211222121112111212212221211221222221222122212222112122212212121211112111122122111211122121221111111111111121121222212112222221221212111211222122222112111112122222212221111221122112111211121121221221112111111122121221211121112112111221212211221212221222122112121122212222112222212212221121112222211212212211112112122212112221121212211111111121221222212121222111122111212111221121221122212111221122111121111112111122112122121121121122112221221122122211221111112111122211222111222212112212221222221111222221221111112212221221212212221211111111111211212122212222212112211212221121121221212121222112221221211221212122121121211121211212112221221221121121211122211212111212222112112112222111122211111111112121221221112221112112122111212222212112122121211112121121121111112222211122221221111222211212222121112211212112222111121222221212122122122222111121122212121112122112221212122221112212111112212211211112111211112222111222212112121122122221222122221111211212222222112211122121211222122112212211121222112111112212221212112111121221121222121121112111122222212112221112211222222121111122122121222222111111112222111212111121212121221212212121222121222222112211112122112221211222121211212121111212212211211121121121111122212121121221121212121211212111122222112221221121112211212112212222121222212122212112211121122122111222212211221221222212112121121112111212222211211121212221111121121122211221212111211122122122122122112112211221222112122221112211211222112211222121221111112222111111212211221112112212111221211111222112111212122121211121121222221222221222122212122222211221121122212121121122112112221211112221211112212212221222222221121122122212221112221222111211221112221211212111211221212222222121112111221111111122222121122111211222211112111222212121122111111211212221211212122212221111222112221222111211221112112222111221212122212212211112121111211121111111212112111221222221121122221222111212112122212212211121122111121221122112122122212221121212111121211211211222222121222111222212222122212222112211112212111222112112112112112121112111212222111211121221221111212222222122212212211221221221112111121122121111112212112112121221111221122221122221112111121111212222212121212111112222212111122122211111222212111222112111111222112211122212222112112221121111221212122211222111111212122121122112111112222121112222111122122221122122122212112111211221212222111111111121112122222212111122122112221121112121212112221112122121121112222121211111122222112121121111122212212121121112122222211222122112222212211222122221212111112111221122212112121122211222222112122221122121111211211122111221211222221122222122211121221122122211222122122111222212122121211112211121212212122212221112221222122212211122112221112112112122211111111211111122112211221122121222211222211111211121121211122221111112221122111211221211211121221211221211221222112222122112222212121212111211211222121222222111221112211121212221112222222112212121121212112112122221222212221221112222221121211211212111222221211221212211121112112211222222112112111212212111112122222222222221211211111112112121121212221111111112221222221222211211112222211122121112212221221122212211112212121111221211212112221121112111112111112211211121211211112111221121222221211211112112212222122122122222222121122111211221212112222221111211212112221211112112222111111121122122122211211211122122211122112111122122212212221222121121221211122121222211121212122211121111122211222221212221111211212122122122121121122111211111111221122222111111212211112112221122122111122212222221122212112211111111221212112212121212111112221221211222221111221222121221121122212212112211221112122112212212212221222211211211122111112211112112122121122221212112121211222211121122111121112122121211221112122121221211212212222112112222121122122122121222122222222122121121121111211122212111221122222122222121122112221222221111122221222122211212112111222221211111222122222121112212212121121122212212221211212221122222122211121121212112212211111111212221211122122211111111121111212211222222121212121111212211221212121221112211121122111211111222111212111111122121121221121121122112111222211122222221122121212221222111222222122122222221222121222211121212122212222121112211112122121221211122111111112211211222222121111121121211221112112211122121212122211212111211212211121112122221212122212122221221121112222211211112212111111112211122121121111111111211122112121112211212122221122121211222221111212212222112221121221112211222122221212112111212112221222121112221222121112112222211112211111122112211112111221121212121122222221212112222111211111212121121211221222122122211222121121221222111211121222221112222212121221222121212111211222122221121112211222221222212111122212212121222122111111122112211122221211121212212221122111211222222222221111122212122112221121212121111112111212222211221121211212211122212222212112222212211121122122121112121122211221211122122222222121222121221211121112122222122221222112221122211212112111122211112112212211211121211211121112212222212221111122111122111222211111112122111121222222211221221121122212121221212221121122221221211211212212122211122122112211112121211212221112221122122122221212222222222121111221212111111212222121111111221221112112212212221212221221112122211111212111221122122212112221121122222121112111211121212212122121121121121222121122122211212211212221222121111212211211222111111121222122222212212111111112122112121112211222111112221121221212222222122111221211122111212122121212222122121122222212212111211122221211122212121212111111112122212111111211221222121211212222122122121212221211222222121222111211121211212211222221212211211121222112111221222222221221212221212122221121112111111111111221212122212121122121222111222221121111211122112222122211222222211222122111221211222221111211211221121212222121121112211222211111121221222212121212121121212122122211221211222122112212121112112112221111111212112212221221112112112211121222121221212112121222121112222112112222111122121112111222211112221222212112111212112121121112222212222122222212112212212111112211121212211211112222212111221212211112221122122211212111211221111121212122122111111222222112221222211111211212222112211111112121222221212121122211121222111111221112112211112221221212211121121211212211211122221121112112121112212122112211212111122212212112122212222121111221212121211112212221121112121212211221221122111212221122121222221212212211112112121111211222212222222121222222121121221221122212112221211212121121121221122112211222221121121111121111211111111121212212221212222122221211222122122112221222122122221111211121112121212212111222221111112211112111212211211121211111122112111122222111112212221212221222211111111112221121122212122111212212211221121112122111112222211122212222212112111122111112221212222121122222111111212212212222111122221212112212122212122221111121122112212222112112122211112111221121121112212122212111112212221111111112211211111212222222112122112221111212211122221212212111221121112121112112212212122112211211112122111112122221112212221212112211212111121211112221211112112221112221111121121221222222112121221222111122221212122112212111212111222111222222122111221111221221111112112112122211212121211112212221122122221222121121212111221212212211221112212111111221122111212122111222112211122122121212222211112111211121222112212212122222112221121111121121222112121221221122221222221222111121122211221211211122222121212222111122112222122222111212221222221222112211222211122112121222212221211212121121211111211211122211212112211121122122122111111111221222112122221211121122122221121122122111122221112212111222211221221111111221122111111222221222111111212222121111222221121111211212122122212212112122112212111122112211121221221212121121212122221212222211111211222221222212211121122221222111211222211112122112211222211221112111111122212221211222121111122212212112222222111222111111221121122112122212221121122121121122112212212112221122121212221221222112122222111212122221112211222112111222222211211121112222112211122212112111212211222112222111221121112222112112121212222121221211111111111112111121212111112222112112212211221221221211112221222211222211221211111211111122112221222211121112212122211112222122221111111121112112111211212222222122121111121222112221122211211122212222212212221111222222112212211111112111221221222211222221222121111222111112221121112222112221122212122222212222222112211121212122221121111112221111211122211122221111112122222121211222122211122211221211111111222122212212222211222221121111211121221112112121111212112121122211212222111212222121111212122212111111222222111222221211122112121212121212212212221211112111121112221122111111221112211212221111221121111122222211112222112112211211122112211112122222222121221221122211211211121122122221111122222221221221122211211221121222221212222211111122212211111122211211121111221121121211112221221211122122222121112121212222222211211121211112211121112211121211122222211112122112212112222221111111121122122112121221222121211122111121212111112222221221211221211212111111221121212122111121212221222211112222112222211111111112212212121212122122222121222121211122121122222211122121121221122211221111211122212112122222211221222212111112111112111221221122111212112111222122112121221222121111122112211121121211121212111122121221222212111222212222212211112211111121122222222221221112122112122112212122111222222112111122112121112121222211111112112122112112212212221122112222211121211211212122212121212212121222112222211122221122211212221222221221221111212211221111222121212111112222112111212222211111221111122222111211222121122112121121212211112211221221211211122122121221221121221211112221212111211212222221112211221122111211111112221121212222122112222122121121122122121212212221212121212121222112222222122222222222122121221112211122221222212221121122211121211212112221211111222222111121122212211122112212122221111122111111122111212111222222111111122121222112111121222221221222212212121122212121221121211122112211211122121212221222222211222121211112221112212122211212122121211112221222221111221222112112122121211122111111221212122221211222222221222121221121212222121211111222122212211212211111122211222111112121121112212112211212212221221112122221112121222122221222121221221111212212112122121111222211212111122111221212111212112211222112221122121112121112111212211222112111211221112111221221111111112121122211111212111221221121222212111222211221222212222221212221112211222222222211122121211122211122122221222121111111222122221121121221112111221111212112112222111121111211221221211122222211221112112112212212111112112222122111121121112112221112221121112122211222221111222112111211221211122122212122211122121112211212122112122221212221212221122212222121211122112212211112111112122221222212222212111221111121222121221212112212111112211221122121221122122211122122212222111112112222112121122212121212122122112121222211112112122211111211111222212221212121111212212121221122112211122221212112211212122121111221122122112211121122112121222221221212111221111212111121121212122112122221221112122112221222222111112212111222121221222121121122221222122211211212121212221221222221111121212221211112112121121122112221212112111112112212121112111222122121111211122222212222211122112222121122212212112211221122112111121212111212211112112111222112222122122222122222111122111211221121211121121121111212122221112112121112212222221111221211121111211112222212121212221222111222212221122212211111211122222211212211112121221112211122221112121211111112222111122211222221221111221112122121112221122222112111122212222222211211222211111121122222122122221211112121122221111211121112222112221212222212212212222112122212121111112221222222122222111222212221112221211211221211222122211222122122211212112221122111221222222122121111212121211111122112212222122112212211121111122122121121221122111222222221111112112211221121211111112222212122211222121221112122121122221121221122222112212122122222212122121121112211221122221121222112212211221111222212211221212122221121122222212221122222221222121121121221221111211111122221221211221212111221222211212121212211221112222221221122211111122121222211121111222211111122222112112211221122212111222222121221122212211111221211212112212212111221212222111122212212222112121122212211111111112122211211221112222121212121221121221111122121221222211211221212212121211212212211122211211112111121212212222121221111122222122211212122212221222122221121221221212111222121221222211222111112121112212211112211222222121211221221212111222222221211111212112111222121121222221112122211212211111111221212122112222112111222211122122122221212221112211122221112212211121212111211122111221111211221221122221111112121122122112122122211221111121112122212212112212111221121111112122111122111211212112212212122122221121212111122222122122121211211221112121121212221112221111122212222111122222221121112122212211112222211211111111211211112221112112122112211122122112121222111112121112122221122211121221211112112121222122112212211211122221221111211112111211212121111122111222112121122112121121111212211212211222111222211111112221211121111221222222211221122211211222221121212211122221221112211211211222122221122112111112111111121122212221111212111111222121112222211121211212111212122211212222121111122112211111221121212222112212112112122211112121222122211121122221122222221212112221121221122212121111222121212222221121221222112211211222112221111121211212211111211212121122122222121222121111112222221211211112122221212112112111211112212111122211222212221111111121222111211111221111221221112111212111222212121111111111221122211122121211111121121222212222212112121212211121212122122221212211222212211121111221121122122211121111111121111121222121122122211211122222121121112112211121112222122121211121221211122222212121212111122111212121211112111221222222122212122211122121211221221212222221121212221111111121221222111112111221212122211111222112211122121112112221222212222222121111221222122111211221211112211222112211121122121111222212222121112121121221221121122112212211211121121212112212222212122111221211122121122121122222221212212112212211121222122221221122211112211212222222222211122121221121122121121222111121112212222221222221122121122211111221111211121122111122222221222112221112112222122222121212222221112111222211211122221122112211121211122221221221222112121211212211121111112121221222211211121221221222122121221222111211222211211112122222222122212121121211112122122121221122211112111211112122212122221121222211121212222222121222211211211222211212121222221111221121112111111122211121121211222112111212222222211121222221212112112221222222122211222222122222111122211212112122112222211111212221122121211111121112122211121221111221211112112211211121112121112221121121111111211211111211211211212122212221221122212122222122221212112121121111211221211212112121211222211121222112111211221122121112122111122222221112221222222221121221221122211222121111112221122122221222222112111122222112111221212221111222211221221122222221121211111111222222222112222111111211111212112121111111112111112211212121211222122121221221121122222222212222212212211212221121121221112112121111112122221212111122111221111221211211211222221121222211212212121112212212222212212121221221121211221221122222221121121122121111212222122121112211111111222221221212112222122121221212111122122112221121212212122211212212112111211121121221121212211212112121111112211111122111122211222221111222211112111211212212222112121211122221212221122221211122212121212211211211122222222211222122211122221112111212222222121122121222211221221222122222222211122222212221212211211122221222221112112211221212222121112221122111121222122212221121222112221122222222121211221112212211121211111212212121222122222122221121122121211211222111112221122222212222222111121211112221211221121212221211121221212212211122221211211122212121211221211211211221221211221221212222211121221222222221212221112211221212111222211121112222212212111222221221122221221121222112111111122111121112212111122212221222111211111121211122211121222221211111211212211211112211211122211121121112222211212121212221211122111222212121221111211121111112121222121221111212211222121221221221212121122222221221222212211212221112211211121221122121121112122111122222211112111111122111221122222112221221222221112121111112112221222121221212221221212211122211211221121112121112112211222122212211222212112122112211122221112212121121211112111112211111222122112112211211122212222211221211211221222222212121111111211222111112111112221221111121211222222211112121221122112212112222121221122222111211111122122211221222121112112122122212121112212121122212211212111222112222122121121212211111112222211122221112212212221221211122121122122122121121211212222211212211111122121121111212221112111121111121122222112222212222211212112111122222211221222122122112211222221122122121111212221212221121212112221222112112222212222211122212211212211121121212212122211122211222222221222121222112212212121221122122221121121121211221112212222122212221121111211111122222211212212112221222112112112112221112222221222212211212221111122212122221211121122122122122211211211211121212112122221112222111122121122121111121121221212122112222122221111222221222212111221222221221211211211121212222121222221222121121122111121112121111111221221121122111121212121222112211211122122122121122111122211122112222211211221122221211121121221121211222222111122111122111112111212122221211211111211112222211211212121212211212112221221122111111112221111221222211222111121222112221121221111111212121112121111221122222222112221212112221111211112212211212111112211112112112211111112122222212111221121221112222211121111221122212211221212112211122122111112212222112122211212221121222122221122222211121212211212212221221112111111111122122211211221112111112122111222121122212222112221122121111112122222111212121111112111212111112122111221111112112222121221222222121122211121221212222122112221212121211211212122111212221112122221222211122121212112112121122211212211222121222221111222221222111122212222212222211221121121222212222221212112221121211211121122211221121212221112211211122222221112222122121221221111221112221111112121121221221121121212111211212221121111221211211211122121122122211212111222121122211212111212111222111211111111212122212221122121111212222121121221221222111112121111112121111212222112221221111211122112221122121222221122122212221222112211211221211212111211112121222111222211111212121221211222222221212111221221111121212222122222211222121212211121112122121121221112121111222111112212112211221221122221112111212222111212122211121121122112212112111212222211211111111121211222221112122122122211121121211122121122121112112222222111211222222111212222212121212222222222222111221211212221122112121112122211221212121112111212211121112122221121112112222121211222122121112211121221222221222221222112212121211221222211221111112222221211112112122121222122122221112211122122112112122122122112112112221111212212221222221111111221222111212222121122222222121111122222122111121212222222121211122121112121222121212221121212111212212122221222111211222122222111122211122221221122112111121211121211111211122111112221212121221122122122112122212211211222111221111121121211112111221212211121121112212112212112111222112211122111121212112121221112122121222222222122111112222221121121211122211121112221111121222211211222121212112212222212212122211122112211212122111221112121112111112222121211111221211222111111121211121121121122222212111221112122122222112111212222211112211121212221121211121212112122211211122222222122222121211221211222112221122121221212122111111111221122222122122222112211212112222122221112221112211122212121211112222122212112222111112212111112211121211211121121221112121122122112221122221112221222222112111222112221211222212222121111111221111121122222212122211112212212222212221212112212211211121222111111211212222222111222221121221111211112221211112211211221222111122111222221121211121121121211121222112222212212221212122122221112212222111211122112212211111221121121111221111222122121212211221221122221221112112121112111111212212111212222222111121222111122122122212222221212112212111112221121112121222112121222122212212121211111222222221112221221111112122121212211212211222111212221121221111111222112222222122211221112122212122112112122212111112112221121212111211211112221222212122111222212221121121121211222111221112111111212111222212211212221222222222211221211122121121222212212212222111121211121122222221212112211112112221111112211211121111111122221122112121121121112111111111212212121121221211221122111122122222212111121111121121221222121111121112122122222222212122121112122211121211212112212221221112221221121122121212222211211221121112112221111222212111211212212221211212222212221121212211222222111121221112111111211112221111112111221122222121222122222112221112221111212222112122122121121221222111221221211122122212212111221221122121122221212111122222111111222221122122111122121222121122221211212211222112211111221222221221222112121122211111122211221211221122221222222212121111111222221211211112111221111122211211112211211212212111111211112121122112112111121222211112212212222222211222222211112212111221112221111211121112112122222222222212121221122121121211112121112212212121221122112222221121212122212121212122222212121122212212121112212221221121121122211212111212121112122221122212222211122212212222222112111222222122211121112112212121112111222111212121121122122121221112111212112212222212211212121122121112121112111222212211222221221221111211112111111122111111211212222122222112121222221222122112111222111211212221222222122221222122112112122221121111121112222221211111111112222212111112121211212111122121121212122121111122122211111211221112112222222212221212212212111111111212221121122111121221121221221122211111112221211121221112221121222222211112212111121212122212221212111122212111212211212221111222212112121112122111222222221112211222112212211222221222121121112221111222112121221222212211111122222112221122112111112112121122111121121222221212121121211222222222222222211212121212221121211112111211211211222112222122212212122111212222111212221122112212211212112122211221222212212121122211121121112211212211121212121222121221222121212212111221221222111221212211221212121221122212221111212121222112211121122212222112221112122111112211112221222121221122112112221121222111111221222122122121212221221111211112212221222122122221211121211212222221111212111221122221111221112121111222222122112121112111212212211212111222222112222111211111212222121122211122112122112112122222112221111221212112221112221121111121212122211222122212122211211222112112222122122111111211212211221212112211212121122122212222212122211122111112112122211112211222222112222121221111121211122222211111222122122112121221121121211222222112211212222212112121221122122111122112122122211112221111221222112112222111211212112212111111222112212221112222111111122111211221221111112221211111212221221212111122212122222112211112222211112212122122222111122112211211212111221212221121221112111212212111122211211222112121221222121222111111221222111112111111221112112222221112121122111121211112221122222121111221111222211221222221112221222221222212212121111122221221111221112122122112121221221112211122121222111222111221111212222222212221121111111121222212121111112222221112121122111221212212112112222111212121212212221121121222221112211112212212222212111221122111221112211112212221222112121221212122111112121212211111121112122222121112222222112112211211222121212222111212211112221212121212112221212111222221211211212122222121222112222212112112122111121222212122222121112121121112211121112122121211222122121112211212121222211211111221122212222112112112222221211122111121222212121112112211111111122122111212211211222222121121212222121222211121111212111212122222111112122212112222222221221222222122222222111212222122121121121211112121222122222112111121122112112121212211222221121212222212121122212112112211212221212112122221221212122111222221122221212111222121222122122212211212221121111112212212221211122111222122111121122122211212122212222221222122112112211212222111211122122221112121112112211222211112112212212211212211211221211111111122222211111212221122121222212121112121212211112222112221212121211111122111222111122121222122212122222212222112212122111211221111222111111212121122221112212212122222212212112122212211121211211112222212211211212212212122221221122222222211122221221121221221221211211212112222121212122221212221222222111221212121221222112112112221221112122212122112122211122122212121121212222112112222111212212121221122211121122122111221122222122122111111212211211212221221121112212122122211212212122222212211221222112212111211122112122122111112112121112111221112212121111211211111222111121122121112111122122212121111221211122222211121121121221111221212211112222211222122112222222221212212111221122122112221112111211121221121222111122222121222222221211221222111222222111212222212121212122221211221121122122211211111222222112212222212211211122222211211221222222211221221112122212222212222111221211211112221122122121111212222211212111211112112121112221221112121121222112211221122111121211121122221112212121222221121111122211122112112221112221221112221211121211112122111212222212211222222221221222211112222111112222111222212222122121212222212111111121211112221121121121222221111211122121121221121222211211121112122212122122111222112221222211122121222221121212122222122121122122122122111122221121222111112112221111122121212221221122211112212121111111121121111111111121221122211111222212221111122212112111121112122121111122122211111121222222212112122211221211121111211222221211122212112112211112122122211222122122211111121212211212211122211222111112122111112221111212221122111221122121122121222222222112222212212211112122122212121122212122122122221121211212221222122221222112222221222221121222111111122221121222112222212122112211111221211112211111122122112122111121222112211211212121221221211122111112222222121222221122222212112211111212221211122112112211212221212121221122111221122112212212121112111222112122221211122111222211222112211112112122122111111122112111222222111121211222211212222111122111111112212222122211121111112221212212111122221222212121111222221122222122211221121111121111211212211222122122122111211112211111221221112122211122212212221211122121211121211221222121122122112221111111111121112212222212122121221211122121121221212211112222222212211211122222221222111211122212122112211212211221122212212211122122212211222121122122212212222222122122112222211111221211212111121111112121112211221222111121221122122112222211112212122211221211212112121122121122111221112212112221111211221212211222221222121212112122122112212211111111121222221121222112122222212112111112212211211112122122112121222222122121112211212211221122212112222212111221111222222211112222121211111111211111112121212112212111222111212112222112122121111212221222212112222222222112122222111112111222122211211111221212211211121211121222122211121211222222111111111222121221121112111221111111112211122112211222221111112222221111222211121111221212112112112122111222122111122212111212211222112211221112211222222121211121211211221212121222112121122122221121211211112112121221122111112212112211211221121212122112112122111222212222222222212121111221122112112211112222121212121112221211112212121121111222211221211112122111211121222211212121122112121221122221221212121212112112112212221212212222121112122112121222112221112121211122122211211222211112122112122211212112222212221221222121221111111112211222221111111211221211111222212112121111121212222111221221121222211211121121122211121122221122212211111111222121212221112121212111111112111211222112112112111121212211121212111222111121212112112212112122221122121112111211121112212121112211121221122122221122212211121221111121211221211122111222211211111221212122212222221211112222111212222121212122221212221112112111121122221211122111222111111121111112121212212211221111222111221111121122222121211221221212122212121112221211112121212122111212121212121111221221112111122122111212111212112111112211111111221121211211121211222222221221212121222211212112221222122111212212122112211222111122112221121111221122211122222221122211122212211212211222222211111111222221122111121222112111112112211212122222212112221111211122212112111112112122121222112212121121212212111112221112221112112112221211122121112212111111122212112211122211121211211122221112222221211111111222111112111111212111212112111121122121122122221211211212122111122111212111122112212221111222111122111111211212211112121112211212112122211122222122211122112211212121122121111212121211221112222211112212211112122111222111222212122112212211122112121112221122111222122112222122222112122222221221121112211111111112112212112221111212222221211211222221211121222111112222121222211111121112112212111222111221212121222121222212221222112122212111122222122211211112221112221212111222212211122121122212122122122122122222212122122111121112211222112221211112112111211122221112121211122121212211212111111211112121121222221121211111111121211111212112211111221111112211212211112122111112112211211112122111212211121122221111222221121211211222122122122121121121211211121211222222111121121111112122122211112121111212211222212122111122122221112122112222121121221121221222221222221212122122221211222111112211111112221111121211111112211112222212221221211211212221211212111111111221222221221222212111221221221222122112221122121212221222112111122111121111122121221211221111211222122212221121121221222121211212112212222211112121211211212112111222122121112112222221121111212122122212111222212111121112211112212222111211112212122222221112222212111222212121112212122212112122212222112122112212122211221222111111112111212111121121221211221212212221122122211111221111222211111111212112212212111212112211221122222111212221111122222122112112112112221222112212211221122212221121212121211112211122111211211212211211111222112112112121211221211211221112122222111111211222222211211112111211121212221121111211212221222122222122212212222212212122221212221221212121111212111221112111122122112121222222212211211211112212221121221121222111122121212211121211112212121221111122122212222222212212122112212211221222212221112211122212112122222212212222111111222112212112212111121122212111112122222222111211222112122122121111121122121222211221211211112122121211212212121111111111121112221212121211112122121121212222111221211212121222121222112212112112112211121211222121222221221221221122122211112112121121211112112122212221222121112221211212211211122211211121121212122212212222121122212122211122122212122111221211111121221112122121222122211122121112211121112121212212111112222211222211122211112121221212211212111211212212212111121121112222222121222211122121221212121121111212211211121122222222211121222221122111221121212112121111212211111122211221112121112121221221111221222211212112211112221121122121122112122121111111111211212222112212222112222111221212211121221112221212121121112221122212122211112121121221221211212121122211211121122222222111211221211112212222212211211211221112122211221211122221211112222211122111221112212221122112112112111122222122212222121212212221212112121211222111111221111121112222211212211122122121211121121222221111222222212222121122111221121222112222111121112222122111212211221112122121122122222211121111121111212221122122212212121122121211112122211211111212212122121112221112222122121212212122122121221222122212112211122111122122122221111121211221222111111212122122211222222211212211222211221212222122111221121111222212112121211112121221212211211211222212121112121212222122111222112212112222111221111111222121112111221221211112221212111112212112211121121222121211112212122121121221112222222222211211212222211121111222111212211222121122122122121121212222221122111211222221221111112111221212221111211122211211211121211212111211221121222122122111221212221112222211221112122111122111122121221212111122112221222221221211122211111221212111121112212122222221121211112211212222212222112122111112222222222111112112211211112122212121111121122111111212122221221111211111212111211111211212122121112222112112122111111111222111221122122121222111212222222112222211212212211221122211212212221212221112212212111221211111112212112222211112111112121121222122212221121121221222222121212211222112111212221122212111111121112122222111221122212122222211111221211211112221112212111121222111121222212211122111212211221211111212121212212221121221222221111212121121212112221211211121221112121222222111111112121121112212212211112211212212112221221111212112122211112112122112221222221121122222222112221222221122112211212122122221212222121122112122121111212112121112111121111212211212221121211221122121111111212122212122111222212212211222212222222111111212122111212121112211221212121221122111222222111121211111112112121122112211222111221121122121221221211211112121111122112221221212111212211212212221212212211112212222122211221121122222112112212221222121222211111212112212112122222212111212211111121212111111121112212112111221122211122112121222112221122122111221221221122122211111122212212122111212122221122221111221222112211222221211122211222211111121112221211222212222211112112222211112212222211212121212122212212221212212222211122111221112222221111212121222122122211212212112111121111121222222212222212222112221122212212111221111222121212111111112121112211112122212111112112221122122211112221111111111212211121112212121221211212221122211212212112211122211212222112221212212122121112211222122212222222112221222122112211111222122112222112211221111221122211121121211211112222122122122211221111112212212221221111121121221222222221112121222212211112122221111111111221222112111222222212211221211122111212122122112121122122211221222221222112122212112222122111112221111221211211121122222112112121211212111211122122222221221122111211211122212221212221112121122111121212111221122122121111221222122122112122111211222222222112221111212122221112212221111122111211212221212211121211121212221121222211211222112211212211112222222222111211221211112211121211121122121221111122222121112211121212211221122211221212121121222121121221212212211122222222121212212112221111111112212221221221112111212211112112211111122122122212221122222221121112112121212122111221211221121221121222112122212111111222111112211111221222122121121221211222211212222222111211211222221112221111221212111211212221121222121212212122112212222212122212211112111112221211121112212222121221212221211211222222221222211212121121221211112121222211221121212211112121222122111121121212111222221122221121212211112112222111122122122122111212111221112111122211212211221211112211112221212221111222112121212111222111221112211222222112211212122211211112121122122122212221221212121211122122212111221222112111211111221222211121222221122221111212221212111121112112212121211211111211212211211111122121211212212112212111211222211211111221211111211222122111212222222212111211112122212212111122221111111122212211112121122121221121112111211221122222112222111112222211112112222122211112122112121122111121222111212211211122122112221121222122212112111212111212111122222112112222221122121222121211212111212112121121221222212222211211121112122222222122222111222222222112122111222112112221221112112122121111221111111121112211222112111212221221112122221112222222222112221221122122121212112221122221122221122221212111111112112122212121111121212211122112221112111221111222112221211222112121111212111111211111211212212222121211112222222112122121111122112211112212112122221211121112112221111221111211121121122111112222121221112121122222222212121211121221122212121122112221121121211211221222211112221222111112112121111221221211212211212222112211221111222212211221212121221112122212211211211122211211111211121221122112211211112221212221111121222122212121112221122222212222112222122222222112112122211112122211212211121112122212211122122122122211111211122121121211112212111112122112221211112222121222122222211122122211112111221122222112121222112211211122212211222111221221212211121112222222111211121111112111221122221112221122121212112111222111212221211212121221222112122112221111221222112111122112221221222212222122112112222112112222222121212122212122222212221122122111111121212112121111112221221111112222112122222122121122112221221211112222212112222121212211222112212122221122121222211211121221122111122112222221121222221112121111221112211122221211122211122221221222122222122111221111111222221211221111121222121111211221211211221222221222222212111112112211122122111212222221222122121212211112121111111112111112121221212212221121111122111211222121212211212221212111111111221211222122221111112221122111221112121212121122121221121212122121121112121221211212122211221212121121111122121212222222112111221212112212121111222211111122112211211121122211121222112122111111112122121211212221112121121222121112111111222222212222111111222211121111111212111222112112221222212111212112111111211211111221112221111111211211211221221221212221122211112112211111122112122222222111122211212111221111212111122112122212221112112111222122122121221121222121221222121121222211112212112222211122221122222121222121112121111211221222212222112122212122111221222222221122222221211111121212221212221121112212122221222122211222221221222212222112221121221212111212121211222122112112122112211212112121212212211111122212211222222212222221212212121122211111112122112112212111122211221222121211221222222212212211211121212222212121121222111212221222121212221212211212222112212221111112211111121221122122121111212111112222211112221212121222211121112221122112211211222211121111121211111121212211221221212121222221221222222222111212111121112221212211211111111211122111112122121222112112212122221112112122122112221122122122112111221122121221221111212211222111111212122211221112111222212112221121222221221122121222111121112212121212222221221212121221212112221212221112122211211222111121221211222222121221212112111211112122121221212122112112111112122111121122221221222122212111222122222211112112211112121222222211211221121121212211212121221112111112212222111221221221112112212222111122122121122221211221111221211122222111111112212111211121221112111121122112211222221112211222121221211112112221222212222222212121112112112122212221211111122112122121211211122212212121212112222211122121212212221121112211221112211122222121211211222221221112122112111112112212121121122112222211211212121112122121212112122212212222121211122212121211122111211222111121212111112211221121112121122221211221212112121221121111212222112221112212112121111222111211112112221121121121221112211212121211212112211122112222211112121112121212121112211122111222112222221221112121112111222121111212221122112121211211212222121112212122212222211112212112111122122111121122221222212112221122221121111122211221122122121112212222122112221111112111212122222122111211212122221121211222221122221222121112212112212121112222212112222211212212222222111111121122121122221111122122221122222211212212222212212212112221111121221222221111111211221221112212121111121222222121122111211221211121111212212122112111112212221222221221211122222111112222112112221111122112121221111221221222121222112112212221121111112122212122222111221122211221121212111121111222221211112122221112121221211121111211121211212211122211221112212111211212122112112221111211222211221211121121211112111212221122112212212221112112122111121222212112222211212111112111122222111221222111121211212111211212121112212221212212211121111211112221221211211221212221121212111121211222211112211111112111112122211121122222122112221212222112211211222111121211212122111121221112221221212212112212221212111122111221221121221211212222211111221111121111211212211222121122222122121121121112121221122211211211111111121121212121121222211222121112111122222121111222112112221111111122212121221122212222222121112222122212122222212221111112221221111211121111111221211222221111111112111221221222221122121212111221212211221112111122122121222212212112121122121212222111212212121122212222111221222221112212122121122211122111111222211111121112122211122211122212112222121111222122221122122211122112221121111212122112121112121221211121121121121122121111212111221111111112122111122222121222111211111212212212221221212222121112211111222222112221121122122222112222222122212211212211111221121221222222222222212212222212122121211222122211211212111122222212211111211211121111122221222112121211211211221111222221222212211222212212112221222122211112122211222111212111212222112112222121112111111211112221221122221121122121222211221112212221221121222211221222121121112112211121111111121222212211111112121122212221121212222111222112211122121212121221112112221122122121211212122121211221121211121221122121221221122122221211122111211211221222212222122121211111221221111222222121212212211112222211211122112211121211222112111212112112212212211111121212212112211211211122212212211211122121121222111211212122111122112122211121112221211111211121122222112222112222222212221122211211122222222111112222212111221221112121212222211212111211121111112111111222111212112221122211221222221211221221112122122211121122112121221122221222211121111111222211222222212212111122222111121211121112122211221121212111212212221111212111221112212212112212222211222111211121122212112211112122121111112121112211212122222121121212111211111222121112221121211111121112122211221121112222211222111122122221122211122222111221221212212221122121221221211212222221222212212122112122221112222212221112111111112112211221111112112212111112122112221112121212222111112211112211211221222222111211122221121221121112122211212212112221211222211212222212121211211112121111211221112122122111121212112111121121212122211112112212221221112222122212121121111112112222112112222212221212122121222111121111112211112211212111221222112122221222111221211212221112121112121121121212111112212112212211222222212221222112111212112122221122112111211111112111111121111221121121222121111121111112212111221212211112221122211221211122221212212211212112122222111211111121122111112121121222221121121211211221122221121221211221222212212211212121122111221122111221111121112212212211222111212111122212212112222112222111221112111111121111212111121121121122111222121212212221211222111221212221222212221222222112211221112212111112222122121211121211121222121111222112212121222221121112122122111122122111222211221221112222211221122222122222212121221211211121121121211121122222221111112111222111212122211221211212222211211212112222121221112221212112112222111221222211111211221112212222111111221212211221122111222222222222111222121221212121212222211211212111222122121122211121111111121222212222211222222221222122122112221222212222221222112111212112121112111122221212212222121121212222111111122221221221121221111221112112112112221222112212121221211121222111121212122112222222121212111122222221212211212121121122221212122122122221111222222221111221212221222112122121221122122221121112121122121111111111221122222221112211222211122212122211212221122111122222122221111121112211112211221112212122212212111112212122212122121222121222212222221212111211211222222121221112111112211212222211212222112112222221111112221112221111211121211111221111211111211121212121211122212111122212222221122112112121222211121221112121111122112221111221111211121221221121122112122121211121211212111111211111221221122122121122111222111212222222111211221212121112211211112111211122121111211212122212212122121112121112212222122112112121212212211221211221121122111122222221221211222112222112121221121221122121211211111221122111222122212212221122121212122211212211121121212221122221221221222222112121222122222122111211122112111111112122222122111212211222222211111111211221211121111111212122112111111112221112122121221221112112212111111211222122112212211222112211221221111122112222212112122221212211122212112121112121121211221211111111211212111122212221112121111222122211111212112212211212221222112222212222121122222222122211212222111112122221222212112221122222222212111122212221112122112211122112111212212212122221111221212211121122122121222222221212212121212111121111112211122212111122111212112212211111121212122221122221211122122111222212111111221221222111111112221122222211221121221121111111211112121122111211221211121211112212122122222111211111111122122221212211211111122112111122211221112221222121222112122222112221221212221111111222211212111121212221122221222122222212221122222111111221221211222212211221111211212121222212122221211112111211212212121111212211112211211212221111221121221111122112111222222211221212112122112121112112211111222212221121222111221211212222211212212121222121111221222122121212122221212222112212121222212111212211211112111222222222121211122212111221121122222111121221121212112212122111212112221112111121222212212122222222212221212121211212111122222211222112221122121111222121112121112112122222222121222112122121221222121221211121222111221122211211122112112112112211222122121122211112221122211221222212111222111221221222111212212121221221112212211112111122221211122211221222221122222121222111111112222211111222211122212212221121121122111222111221222211112221121112122221121221122211211111211221112122122111112122222111122122122222221111111222222121112222121222212212222222212221222221112122122211112222111121111221112112221121221221221121211121121122122212112111111111211222111212211222121122221122112211121121122222112221221221212221211121122221121121222112122211112112111111222222122122112222221112212111222221211111212212211212212222221212211212211122111222111121211112222122112211222212212122211122211222221222222221111111221111221221221211212121211212221122121212222211211122111111111112112122111221211222222111211121121111222121212211111111211211221112111122112211121121211211122122111211221112121112111122122121212112112111112122211121222212221211121212121212121222211211222122122221111222212211222222222112221212212122122122212212122221121122211121221212111212112211112121112212121222211122212222111222111211221111122211122121221112212111122122211111112212111121211122112222112111221212212212111222221112221222112211222221222122221121112122121122111121212222212111211222112221211122111212221111211122212212122121121122212122221212211112121111212111112122122222212211112121212211112222222121111121121112121122212122221112222222112121111222212111121221121222221122122211212111212221222221122212221122221111111112211222222211222122221221222221212121111121221112222121222111111211222211221222112122112122112111111221121221221222211111222211211121121222111111222211112111212121112111112121121112221121212112222122212212222211122121221112221121112111222121212112222211112121121111112121112212122122112212221121121222211211122211122111122211122112111222112211211212212122221222211122222221111112121212212211111221211122211222212221212112212211221112211222121222111121222121221211112221111212112122121111111222211111111211212112212111122121122211122111111111122222112222112112122111112121122122211222122122112111122221221111122111112112111121222212221112222112211121211222122222211212112121122122212212121121222122212122212112211112221122111111211221212111121221112122222222112122111111112122122111212122111121221211221211111222121212122112111112112111222221112111211122112121222111222222222221212111111111212211122212212211222222112212112122122212211211221112122121121112222111112121122111212212112111211212121211211211221122122112112222221221212212122112211222212221112112121221211121111222111212121111122221121212111212222211112212212211111211221121221212111112121112221222211212212122212211211111211122122122122122111122111211212121221212212121222222121122121222121211121212122221211111112221121211221112222211122111111112211222111221222111221221222112221112121112221111212122122212112112121111221121121111212122112122122122121212112212221221221122112222112212211112211222111222112221212111112212121212212212222222211221121211221221211211121221121221222112212212111112221121221111221211211212211111112221122111212221211211221222121111221121111221222122112212111221222111212111222211221212111112121121212111211121222121211212212222212121212121111112221211211212212112211221122111221111211222212221211222122212122211122221221111111112111221112111212222111111111121212121112222111112121212121212111111121112121122112121112122122222222121221122122112122112111121221121111122212222222221112221212121122221211221122112122121122211211112211221111122122221122211221222112111112111211112211211111221112112111212221112111221122212121121121111222212212211212211221211212122212221211211211122122221111111112221221121111212221221212222222112211221111122222221122211211121221122111221122121221121112122121221121211221112121122122222222122111212121111212111221111221211222221111222112112211211121221111112222211122222112221211121111122111121222222221211112111122112221222122222112212221112212112221222122212211212122212211221112121111212222122212112221111111122111221222221222111211122121112121212111112222112122112221121212122221111212221221212122112211111221222111222111212121122112112112111212212121211221221212222122122212112212111121111211221122111222122212211112212121122221212222212122211112221211221111121122121222111122222211112221212211112212122122211221112122112112211221212122112211211122121222121121112112121112121212221222221112211221221121111221211121222212222121111121221221211221222111121211111211122111222112211122221121222221221112221222211122221221211122121211121121221112112211211122222211121122221221122111222112121212212112221122221122122122212122111212221112222211121122222122112212121121212112111112211211211221212121111212221221212111111112111221122111112222211221221211112222111212211122212122112222111212221112112211221221212111221212111221212212122211122211212222221111221221112221121122121121221122212121121111122212211121222112221121222111221212112121211211122222221112111212112221111111122211211212122121222211111112111112112211212212212121222121221222221122221121222111222212221222121212222221121111122212122212121221212111222112212221122121222212211222211212122121121112222112221211112111211111121121112211122211111121122111221111121112222221112111222212212211121111122121222122122122212121222211221122112222212211222122221122112122111222222121211212211111212121121111222121112222222222222221212222112222222211211211111221221221122122222112211111221121221221212221221212112121222111121211112122122222211122112212222221121111221212222111111221111111222211122222121211222122121211212211122111112112111221212122122121112222222121212122211112112111221122111221211211211212212211111122122112221212211122212111111121111222111222122221221221221222212112212111212211111222122121211111212111221112221221122221122122211212111211112122112212221112122221222211222122122222211121211112121222222211222111111222121221222212211211122211112122111212122212222112221212112222121221221211221112111111111221222122121211211211211211222121112122112221222111222121211122112221211211112222121212221121212121222122122212122212111121211211212111112221221111212122222221111211212112221121122211221221111211211122222112212212112211112112121212112212121221112111111211122212222112212222121211112112221122211212221112111211111222221222222221122212111112211111222122221222122221212211121121111111111222111112122121222121221112211221112211212211112112111222112112112111112122221122122222222211222222221122112121122211122221211111122111111211211121112221121122222211121122111221112211221122222211211211121222221221221122122212112211121112222211122122212222112211212121212212111111222112222212121112222121121221222212211222212211122121212121222221212211121222111211212211112112122112212222211121211211122111221211112121211222212221122212212121211222211112211121112211122211122212211221221211112212121211211122221211221112111211122122112111112221111212111122211111212222221111221121221221222221121222112112222221212211222111212222122212112122212211222111122212112112112122111211221221122111222211222221111222221211112121122111122221111212222211112121111221112111222111211211121211221221211221121212121221222212212111111222222221111122212212222211211212211221211211211121122121121111212221222211112212112111111111112122111111212122111112222211121211211122211112221221221212122122212222112212211211221111221122112112222212222111211112222122212222221112121222122211211212122112221221222121221221211112221212221221121222212112221122112121122112112221222111222211122112111121221122212122222212122122212111222222121211122121222222122122211112112111212122121212111121111212121111111221112112122222112221121111122212211121111211212212212221121211221221112211112121221222212221122222112112122212121222221221111222122222111211112112221112121111221122112112112211221121111211221221111112211211122221222121121122222122212222111222212212222111122211211222122122122122222211211122122222211212211221212212121212211211211112211212222111122211122211221211212221222122122222111121211221121211112212122221111211121212112222222222221111122122121122112111111112111221111121112122112211222212112121211122112212222211112221122212211112222112121222112121221222212112111111211221122222222211211211221112121112122111111221222222122122212112121122111111212112122111112111122111222121211121222211211211221212121221121222111222112212121121112112212121112222211121221112221222222121222222211212211111222211212112211211111221122221222112221111121221112112221112121222111211122222211112112212222222212211212122122221122222211222211111212212111211221122112212112222221211211211112212112112211221221112222221221212212112211121222221222121122121211112212121211121122122222121221121222112112212111122211222212212221211122112222212222212111211212112112222112221112222111112211111111122122121211221212121222111121122212221211112121111221212212122221121122111221211121111112111212221122222222212111212211221122111121221211211211221211122111122111111121111211122111111222112211221211111111122222222112121211121121221212212122122111112112212212221111121211221112212211221221111112111121221112121211122212121211122211212222111212111112222211211221211221222221112122222121121222121221222222122112211111112112222212222211212122211111212222111111121211111212221211111212211112211211211121122211122111112112222212222121222211111111112112211112111121222211221212122222212111122121221112121112212121221211112121122112212112211212222122211222212212122122211222222211212121112221112122122222221212112221221112112121221212122111211112211112122112212212122212112222221112221212121112121121212222122121222112221121112222222112112122211122222121122111121111221112221221112122221122122212221221221211121121222212122111121211211112122122221112221212111122121111212112111112112212111221112212121221221212211122112212212211121211221121222112121111212121212221212211221122122111112121221211222211112212112112212121211122122211121221222221212211112221221112122221221122121112211121222122121212221211211212212121222212121211212122221122122222212111212111221122211122212121222122211212211222122211211212122111121222221121211122212222122211112112211112111212222212222212112122212111222212211122122212212112211212122112121112121122222111212112112112121122122122111221221222112111112122222121221211221122212122212111221112212122222222121121212112122121221222212121122111121211121121212112112222211121212211111212122221222122121122122122112211222221111122222121111112121222221122211222122212212111211121222121212222121111111121221222111111212212221211121212222122112222222222211211112222211122222212122212112112211112122222211112222211222212122221112212221111221222111112222211122111111111221211212222111111122121221211212111121212111111221221121212211121111122112111122122221222221121121212122211122212121112111121112121122211121221212121221211112112221121121221121211122222121121111112211112122221111222222222221112122122222111211211121111212122121111112112112221111211122212222111121221121122221121111221212211221112111222212211111222112221222212122211112212221212222111111122212111212211211122212212112211111221222222212121212212121211222222222222122221211222111121122212111221222212111112111211122122211221212121111222112221112222211211112221111221222122121221212121122221112222112211212222121121221121111122111211222222112212221221122121211211121121121222122211212121112221211212212111122222211112211212222122122111111222112112221221111112121112222122211121212122122221222211122112121211212212211111122211121211112211122221112212212222121211122221111121112111222222112212121222112211112222111121121122112122211221211221111122122122211121222122212122112222122122121111112121122222222222211212121222121211212211222112122221222221222111121221112211222121211111112221211211112212112112222112222112122112121221211212211221212112221112222111112122122221112221212111221111222222112221222112222221112222112121221221222211221212121121112221222122112212121121222111111221112111221212111121221111221111211111122112111222221222211221111221221112111221221122122122111121211121121211212221112111211122122222112112211212122111112221222122111221211121112222122112222122121222112222122222221221221112122222212111122122211212222221212122111122211112121121121212112221121221221112221221112111112211221122222222221222121212122221221221112121121222122222122212211122121112222221121112112121122112212121111212222222112221122122221212211212212112211112111221122211121222222221112221211112112112122112121212222212211212121121211121112212122212221111212221112212121221112221112122222112121111122222212211222221112221222112111212212211211122221111222212121121121211222221212121222221111122121111212222222212222122112221111122111221112212212122111112122121221221121211212121111122121221221222212221111122222212222211221112112111122222112211212221121221112222221221121112221221111112222121212212211122211212122222112122222111222211211112121121121121212212111121212111112111211212112111221211111122111222222122121112111111221112121212212211121121122211112221111211111122111211211212112112112222112211111212212211112212122122212211222211122221121222112121222212112112111122121211122121222122121211222221122111212222222212221212222211222112121111111122211221221111122211211122222222211212211221112122111112221121112212122222212221212212221122212211122222112112121222112212112222111212112112222122122121221222122112211121122111121221112212211221222212211211111212222222222121121222212211121121121221211212212122111111212212121222112122211111122122212211121212212211121122122122221112212121221112221121111211221121222222112122211222211222222211111221212222222112211212122111212111112122221111112111111211121222122111121122212112222112212222122121211221222112222212212122112212121212121111111222121222211221111212111221121112122211112211211221222121112212111222212221221212221211112221112221121221221122221211112122122111212111221211122222112222122121212112111212222121121221112212122212111212121122112111211212221122112212221221212111121221111222121111221111122221112122122211121122212222122221212211121121112121212111222122121121112212112111121211211212122211222212212221121112111211112112112112211222222111121111212222212222122211221221221122211211111212111222221111211211212222122211122112211111121211221122211111222221221212211121211111211112212212212211111222211222112122221221111111221111111122111211212211121121122121121122122211222211121121211111211221111221122212111111122112121212121122112111122112111122112212122111122111112122112122221112221112121121112121222112112212211122211122111222212112121211111222122122221221112121211222112111121212222222212211111221211211122211222111111111222212211121111211211211112222112222121111211212121212122121122222112222122111212122122122111221211112211122211222111121122222211221121221222211112111211222121211112212221221121111221111222211211211211111222111211122221222122211221222111221121111221112111222212112112222122221122122121121122122211221121122122221111112211211112221111111222212222222112122222111122212221221212212122222221121122212111221112121122221111212112111112212112212111112212212211122111211221221112222211111111111212222121222212112122222222222122212222212221222111222121111112121222212212211211222122221222111122111212112221121212122221111112122221122212121211122122212112112122112221221112122221122221122212122111212221212211221222112122111122111221222121111211221121111222212112121111211121211111212112212112111222211211221111212212212121111222111121221121212221112121122121222221111112121112111121212211211212212211121212212222211221211112222222221122122212122222111222111121212122212211222121212222212222211212111212222111211222121211221221211122221212121212111211111212121221122211211111121121121212222111221222212222221211221122112222121212212222111112212222121221112122111122121221221122221112121111111111212221111222211122122222121111122222211111111211111211211111122122211112221212121122112212222122211212121121211111222211212221221122112122212122111111211221111212222111212211112111211221111212122212111111211222111211111111222221222122112222212111222122222121222111211121222212221112122122221221121211212212221112112122221111122221111211211211112222121122222212212212122121111221122211212222211211122122121112111211212212222121121122221122211222211111111112211222211221222122122212121112112111222211122222222212111112122112212212211221221211222111111221112221122112112121222111121221121222112211121222222222211112111122221221222212121211111112122211121221212122212121111212121212212212122121212111121112122221121121111121122221112211222121212121211122212221121122222122121121111221112121122212222222211121112211121121221222222112112122111121121112122122111112212122221211221212111212212221122111121121111222112122121222121122121211211221112211121121222121221111221121212222211121222212222212122222211111221111212121222222122222122111222121121211211211211121112111212111121221121222112121221211112122211121212212111111211222112221122112211211211122222112212221112212212122211112121112112221111211221111112222122222221221221212222221212121122212211221111212111222222122221221111112222111221221111121222221221221112211221212122111222222112221122111112111212112111211111112222211121122211211121112121122112222122112112121111111111222111211121122222222221111221111222211211121211112221112121212112121111122111222222221121112221111122211221222212211212222122212122121121212111212122211122121112121121112122122112221122122121212121111111212111221222211212111211221111112211211221121211121212212112212222121212211211122121121122212222211212112211211222112211121211212121212212212212222222211112122121111211222111211122221211212112122222111211112112211212111112212222221121212222222111221122211212221221111121122222112121121111211211222111121121122222211111122212112221211211222221111112212212122222121211211122111212121122112222122222121222211112121111111122122212121112112221122111222122122221222121212112121212222211221112111221211112112211122122122112221222122211112112111122211212222112212211221212112221122222221221121111221122111221112222111121122111211211211222212112112222222112211122211111221212211221121121121111212211221221111212221222211121211122222111222221222222222222122111111211211111112112222212111212112221112212221221122221111122121111221112222222211212112111111112111211112221122121121211112222221121211222222122122122121222111212111212122112112221221221111121112121212111221112112212211111211111211111112221121211222221212212211211221111212221212222212122222211121112122122122221211221111111112212222212112122122111221121112212121111212121222211212111112111122222211111221112212222221111111111121121111122221111121221221221221212112222121122111222212212112112212211112212211211222121112112122122121222221112111212221222221122212122212211112221211212222122111212112111111212212122222212112221222212222122111211221221111122211111121222212211212222212221222122212111222222212121212221122112111121122222221122121211212212211212221122112221211111121221221222221111222222112211111211122112111212111211212221211222111221211112222221222121122211222121221121122121121121121111122222211122111121122221222121111111122112212111112111212211121112222122211211122112211111221222122121122121221122211212211222221221111122221111212221211221222122121121221122222222222212212111121112111212222122211122212222121111122122112222112121121122112121221222211111212121112222221221212222221221111112222111122212212221121122112112221112211122212112212121111212211111121222222211122222122212122111211111121111222212112111111221122122222212122121111112211122211122121111122211222121112221112121112122122121121112212122111222122211221121222222212211212211221121211221221122221222111112112211112211212221211111221211121122212121211222212222111212122221221212121221111222112112121222221211211121121222121222122212212122111112221121211111112111221122111212212121211222221112111221221222221122122212121222221221112212222211211111122111111211211112222221122111211222121221122221212112121212121111112222221122111221211222122222121221211222211222212211221111222112211221211221122211111221221221121121122122112211222211212212121112211222111122222222112221221211121121121122211112222221221222112212122121112221212121212211112121111212122122122221211121212122222122221211211222211111211111221112211111222211112121211112111212222122122221112221212111121222112222112121111212222221111111212121221212121121211212121122122112121211212111112111111111122222121211222222211112121111222112211112122221122121211112111121112112111121112111211221122121211222121121221112111222122221111221121222122122111212122111122211212211212211221121111122212212111221211221212222121221112112221122112112111222111221111221211211111112112121211221212111122112111212112211212111222122221222112112222211122112111211121212122221112111221111212111122111212111121122122211222212212121111212111121112111222221121111221212121122112211121212112111122211222212212112211212121221221111121212122112221212212121121122222112222211122212211121112112112122111211211111212222111212121121112222222121112122212222211222111221111112212111222121112111211112112211212121122121212122222112112222222121111211121112121111212222211211212112112212112211122211111212212211112111121121222221112122211222121221122211211211221221212121121222121222111122112121212222211212111222211121212112112222212111221121212212122122112112112121112222112212112122121111111122211112222222211122121112222222121112121122221122122221221121112122121122211211222221212111122122122211122212212122122112121211222212112121122111221112121212112221111122121211121221111212112222211112121121112221112112222222212111212111212111221211112122222112112222221112121111122121221211112112121211112212212221122111112111222122112211112222221112222221222121112112112211112221112221212112221112111112121112211122221222111121122112212111211211122222221222121212122112221211111122221222211212121221212221122221212221221221211221122112222112211222121122212222212111112111122122112211221112211122212112111122212211111111112121112111212121212211211121112212111111211121221121121111221121111112211222122211111211111221211211212112122221221222222211212122221112122221121222222211221111122221122211111121222121221122122112122221222122121221222211212211111211112112222222122122121111211221212112122111212122211122212122112121211212112211111121111222112211222211221122111122222111111121222222112112122122121212111121222122221221211211211212212211222222221212112122122212112221212122211211111221111212121112121111112211222211111212212112222212211111212122121222112111222222222121111212221221211212212212122221111112212122221221112211221112222112111121121222222112222122121221211122211122121211211212222212222212122112112222222122111221111221211122112121112112211211111221221222212212111221221221112211212211112211212112121112222112211111121212221121211111111111222211221121112121111211121221212212121221222122211112112111211121122212111222222112221122122221221111211212211121222222112211211112121222212122212121121111121121222222121211121221212121222211222121111122112122212221212212112222221112112212121211221111211111221122221112212211112112121212212211212211112122111121211112121222111222221112212212221121121212111222111111111221222221111221211212111111112121221211221222122122221211112111122222111111111111122221112121222222121222211221122212121211221221222222211221211222222112111222211211211112211222211222112212212222221122121122211122221112211112121112212221212212211121122211112221112111111211122121211212222222111111111222121221211111111111112222111121111111222112122221111222121222222112122212112222212222221222112122121221222122212112212112221211222212121221222221111122111222212121112211112212112112121221121222121122121111212212121122112221121111111221222212121222122212121221111212221122221221221112111111122221112122111111111121221211122122222212221211122112212212211221222112112212212212221221111111222222211222122222122112211211121221212121121211122122222221122212112221212121221111122111211111222112122112222121221121121122112222211212212221122221211112211212222211112221221221112122122121112221211122121221111211121111122222212121121121221212212111121121211112111222112122222212222112222121112111222111221112212212222221211222122122112222122222112121112111121112212222222211211221121121122222112121121121211221122111211122212221221121212211121222111111221122112221221122211212221212212221221222212222221122222211221211112122112121121212222212211112111122222222112221111122211221221212222212212212212121112112122122211112111121122112111212212221221111112121221211122221111221221221122222111122212121222111211121121122221211221112112111111221212211112122222122121121111211111221211121122112222122222212211221121212221221222222121112111122122222121121112112121212212122212211122222111111212211212112212122222211121111112222122121112211121121211122121222121221222121212112222122222221111112221111211121222211222122222222221221211212222211112111121121211122211222221212211112222222111122121212121212122211112212111221112222121212122122212221211221121211221121221212121122211121212111212111122121211212211212122211122112211121211211111112121211111122111211211121221112112122212121221122121212212121111122111112112111112121121221122112112221221122211222211211211222122211121111221122221222112211211212111112112111112222112112111111112212111121112121122112112112221111111212221221122211111122212221111221112211111212211211221222112112121112212121111112212121122121112112222222121112112121111221112221221111212122221221112211221222111212212212112222121222212212121112222221122222121221212121211112211121121112221222211112221211121121212222112121121212122122222121222222221111221112122111211221122121122111112111111212212222122111211122122122121112112112222111211211222122121121222111221221222211111221222211212212112111111122221121111121122111212121222211112121221211111122222121121112112212112112221112111211112211212121122221211212112212211222221112211212222211112221211112211122211212121111211121212122122112222121212121222212212122112121221111211111211211221111111112111122112112111111121211122211122121122222121111122222112221211212212222112211211112121111222221221211221111112221211222111111122222112212122211222212221221112111221121212121212221211121121212112212112221122222212212211211122121121212122121222121211111111121122211222122211211111112111221222111121212112121111221212211212111222212111221112221212221221111122121111112112221121212221222212112212122122112122122212122111212111112212212112111122212121121111121212222211212111122111122122222111211121111111112222221111212211211222122122221111111222212121212121112211211122221122222112221211211211212221111112212211221211121222211222112122121112112211222111221222211111212111221121212211112221221212222121212122222221112111212222211211222222121122122221122221121211212112112221212122221221221211112221212221111222112211212211212212211212222222111111111212111212221121121122121221211221112222211122122112111221222221222122112211221222221111122122121211122122221222222212121222121112111211112222221212221211122212122122111212221221111122212211222111221212112222122211122211221211212112122121212121211122212222211212112122222212121121221211212112212122211112212112222121211222211122122121212212212121112121221222111122112211221112221211212112221112211111112122222211121212221121121121212122111121112122121212211111122122211122121111212221212121212212121122111222222211112121212111221112121222112211212221211212111122221211122122121212121112121111122222111122112121211111212221122211221211122121122211122121212111121211221112211111122211121111212221121112212221111111122221122111122122212122212121212222111122121122111212121112212121211112222122222121112111121112122121122112122111121111212221212211221121221121222111122122221221221121211111111212122222211221222122211212112211111211221221222121111212121211222112112111221222111222122221122122221212112122211221211112112221111211211121122122111222122222221122112112211112222111211112221222221221221111212121212222212121112211212111211222221121122122121212222122221221122122211112212121122221221111112211111121112211221122212211221112111122111222221121221122111112122121112112221211112221122221212221211221122121122221121211211111121211211112221122121211122112221211121122211112111112212222221222112211211112211212121212212221222221221122121212122121211212221122112221112111211212212212221122112121211221121112111112212111121112111121211112222211112212112211122221221222221221112111122111121111222112121211221122212112121212122222112221212112212121112111211211221212211121211112121121221211222222222222222212211111212121221112222222122112121221121122221222112112221221222222211221122211121121121211222122222211112121211221222121222211222112222121211222121222112122122121222212222122211222111111221221222111122211222211221221211221121121212212112111211212121122222211222121222122112211121222121111211111221111221111212211212112222222211211121122122211111111112112121221111222221211211222111111121221221111211112112211212221121211221121211122212122212212222221221112222121112121221122122111222122121122121221112112222222221211122222122111112122112111121211211222211121121211111112222112122122212111111221111212222212112211122121221222211112122211111212111222111221221211122221121211212112111222112122111112222112211222211122122211221111112212212121111211122222211222211221122121112221112212122221212211221121112121112111221111111111211112212121121211221211222121122122122221122122121222212211212212221211122121111212211122221121222211111111212211112122112112121222122112121112222222111121112111212211212212122222211112122122212212111212211222122111212222222112122221222221211121111122222212111112111112221111121122111211111221122211211112112222122111212212212211211222212221122122111221112121112122212121121121112212112112211211111222121211211122212212121122112122212222112112121221222222221122212221221122111221212122122221121121222121111221121222211121122111122212221212122121111211211111122121111221222222111121212122122122212111222222212122112211211112121222212122221122211211111212122211212112122211112112111221111221222121211112122112122212112112121111122212222121221211211221111121212222212121112211222122212211121211112122211122212121211212122212221121121212222212121111222111211212122122122111121122122112111211122121222112211112221221121111112122121212221112122211221211121212212211222122121122121122222222122112112212211212221122121212121121121212122122111122122122111212121212111111222212112121221221112211121212211221212212122222222212212111222211211221222211122221121122112212112122212112111211112211222212121221112112211221111112211111112112122121222112121211221212211111121122122111122221211122211221121221212112211121112212111222221122212112221222212211212211212211121211122121211221111211111211222222211212221222211112112222221222121221112211222221221122122222212122122212122111211212222112211112211211111121211111222122112111211212121122121122222121222211221222221212112211211222212211122112121121112112112221112122221112111211121221112112211122112221122211212221222111122122221212122212121121111111112211112111221221112222222112122111221112221121221221111121222122121212111122121222112222111211222122222122121121222222221111212212211211222211212112212211211111212212211111222121121211111121121121111222221122222111112122111211211212211112211122112221121222112222211211221122211221222212222111212222222111221222111221212221222222111111122211222211121212122121222212211212112222111211211212122121111222112222121212121222212212122121122211222121112212121111221211121221121222211211221222112121112221111222222112111211122221212212212122211112122121112222222122221121121221212122122122221222211211111221222222211112112211211211122111211111211121222121122112221221211122111112212112111221121211112212122211122111222121112211122122111112211112211112221212112122112221121121111211212111121121122211112211112221111112121222122111211112211121212222112211211122112122222211112212121222211111111112111122121122212121112211112212122112121212111122112211122212111212121212112111112121221112222111112221212221221211222112221222211222111112121221222112221112111221222122211122122112222211222112212121212212211122221111212111211122221222122112111112211112122212222121111111221112112221211121121122112211222122122221111122122121112221122222212111121121222122212112122122212212222222112212121212112222122221111111212122221212111222111112212111222221212222121122211222112111222222211121111222111212222222111222121221221111112111111111121111211212122211212211121111112221112221121211212211112221112221211222111222212221221211222212112222222112221222221111221212111121121211121111121221212122211121112121222211112121211121121122122222112221211112111112222111222122211111122212212121222211221212221121211122222112212111112212121222112111111212212121222111121222222121221221221121122221212212121112222211222121222122111212222121121221221211221221111221211221211122121212222212222121121212112211111211121222221121121111122111111221212221111222221111222121121122211121122121112212122111112122121111222111212122112211212222121212111111112122221111212212212212111121112122211121222212221222112111222221111222222221121212121121121111121212112121221112121212111111212211212222221211111122111211112221212221112111121211212122121221112112212111121122122112111221122121121122122221212212111212112212222222121121221111211212111112112222221112121211212121112121111222112112212112221122122222112221112112111122111221121122212112212212221221212111121222121111122211221221111212111221112122122211122122112221111222111221221211221121212122212122221221212212222112222212222211121111222222221121121122222112212212211112222221112211122211221112121111211222211121222211221221212222222121222222112212122212211222121111221222211121221221112122111221222112111222122122111121211222112111112112211112212211221112211111211222212112211222122212211221121112111122121121111122122212221111221221122112122211212221121211112122122122212221112111112122111211222111221122112212211211112112112212121112122212121211221121121121112222111211222211211122212222111112112121221121111112122212121221122121112111222222121221222211212111112122111211122221222112221121121212122122222212121211212121112122212122211111212221122111111221111111221122212122121211122221212121112221112212112222211221211222122112221112212212222111112212221111221121222122211222111121111212222112221111111112211121212112212121121121211122222221222111122222221211222221121212122211221122222212112122121112222122212211211121211222122121122221221212121211121221112111211111122221111222122121111112212121121112222121122222212112211111212221121121212221121122112112111122221211122212211212121111212221221212222222212221121211221211221212112222212121122121222212122111222111122212121122122112122111112111211111222122221121221211212221112121211121212212121222111111211222121211121222112212222111111221111222212122111112211211211212222122122111111122122121211211222121221211221121121221121222111212221112121212212112112211121122211112221222112112121111212221121222212122212122111222212121221121222211122111221121212111121212222221122111112111111222122121121212121211221222222111122112112212211112122111112112121112121212122212221211212221221212221111222112111112212121121221211112212112122212111211211221122112221121112122111111122121111222221212221211221212212121221121121122121212221211122211122211221111211121122211121112111211122112212212111221212122212121112121112211221221222221211212221112222111111111212111122121212121121212112112111211221212222112112221121111221222222211121211212111212221122222121121222111111121212121122212122111112121211121221221221122122112211111122112222211222121121111112222211221112122222212221211111111222212211122221112221122121221221211121221122222112222112112212112211122121211222122121211222111221222121112121121112121121222112111211121111221212112222112211121221112122221211121212221221112221222211211121122121211211222112211211212111111111212121222222112212122222221111122121212222221122121111112111122112112121111221212111111212121211212122112212122211121222222211221212112111211121222221121211112222212222222222111112122122122211221221112111222121212112122221111112112222121222111221121121211212111212211122112121121222222212111222111222121112111221211112222212211221112221211221222111121111111111221122122112222122111211122211221111112221212222121112122222122211122121112112211212121222122112212211112122212122222212122222211212111121222221222122121212211211122122111212222211112112122211121121222112222222121212122112212112111112222111121211212122112121222121121212121212221121221212111222222112211112222212121222121122212121221222212111211112111122222121112221211222111222111221121222122222221121221212112122112122221212112212121122121221122211222212112112121121112221112222222211212122112122111112211221222221212211121112212221212121221112112121112212222221221211112112221121122111212221122211222112112222222112211121111222122221121121111121222212222122122222121221221121122112122211211111121221222121111111221221211111212221211222212222121222221222111212212111122112221212221121121222112111212122212212122121111121111221111121212122211212112221122212111122222221211122122112211111121121111121211211111121112111222222122122211222111212222111221222111222222121112221222122112121221222121121122112121211111221221112221112122222211222211222211111211122222212221112221221211121221121221111212112221122222222122111111111111222222122222222122112112121122122111122221111221212211111221122121221121112221211111121221212112212212111121211112112221212111122212222121222212111111111121112121121221112212112112122211211221211122121221121222222121211221122212122222122122122221112122222221221112222222222221221221112222112121211221111221211122211212121222122121221212121211211211221111222221111212111111112211221112221122111211121212221212112212122211211212112111211222222221222212122111211121121221221211112111221222211211212112122212122122112221111221212112122112211122112221121222222211211112211121221222111222111211212122222211122212122112212111112111221212221222212111212211122212122211111222112211221121122121112112211112111212212121211221122221211221122121212211222221221211111112222122221212222221122121122111222222211222112112212211222211211122112121221111112121211112122211212122111221111212222121212121112121221212122211211112221222112112122212222212121112212122212212112221221222112111111122212112221121222211111211122111212211121222211211212222112121111122121121211222222211221221111212222222222212222222211212121221212211122111112221211211212211121212211222221111222211211221111122122212122111221112122111221222212112112221211211222122121111212111111211222112212121211222122221212122221212211121211211112111212122121112111221222122122112211222111121112221122222111112112212211111221221222212111222211211122121212122211112221111211211211121111121212222212212212211211222121111111121222111211222221121111212211122122112111221121212111112112112221221121211211122211212212121112111121111112212212112122112121222212211122222222112212221111122112221122222121211112212212121121211212212111221122221211111111221121112111222221122112121222121111122222111112121221212222111112212212121221112121121121121221222212212112222111212122111122211212112211121221122112112212212121211121122222122121112112212122211211211221211112211222111121211111212221111221211211212112221211222222112212111212121211121221211221222122112211212122211222122221212221221121221122122112121111111112221112211211212212112111222212222221111121212221111222212222111222121222112212221221211111121211111221112122112221112212211212122211221121122221211222212122221111122121111121111212221212122212222111221111221121222222222212221211211122221122111221112212222221112221111112222111222122212221121212112111211222121222222211222111122212211222222111221122212121212111222211221222212121222111112211112121222122122111221212121222112112212211111222121221121222112212122212112111221111112212212222222121222221121112111112111212121211222221211112221122122221112212211222121221111222122121111111222221121112121112121121111111111122122112211112111122121111212121121212121111122112111112112212122122221121122112211211221212112211121112212111222122222212211112222222212221221221111222222112222122212221212112112222111111122211212121121122212212221211122112222221221221211122222222112211112212121122121111111211221121122112112212111211122112212212212212221112111111212121121212111221221221111222221211112222212222112212222221212222212112112222122112111122221212222222112121222111222212212112212122211222212112122222212112211121221211211112122121111122222122222121221111221122122211121111122221112212221122212112121212222111211212212221111221121121211121222111221112212212112122222211221111121221121212121222221212221211211212212111222111111222222112222122222121112211212121121111122212112112212111112112121122111221212112121121221122122111111122111211221111222222122112122212112212211122111112122122212212121222111122121111122122221212222222121112221221122112222221121112112121221122112112111112121121221121121121222122211112111122221121122221222121112222222122111212112121111112222212221121112221121222121222221122211212222212221222111121212222212212211212212112122211121112122222111221111212221222212221122212211112212111212222212211122222211211211222122122211112122122212221221112121121121221122122212221212122211122211122221122112112221211111112111112111212211122111121111111122211211121111222212212121112122122221112221212111211122211222222111222122211112222211221112211212111121221111212222112122211221111222221221112121121211212211211221211212121112212121211212122122122211122222221212212121212211212212112211121111221122222121112222121222111211222112111212121111112211121222112211211211211111112122221122211122221222112111121212212112111211222122212121112122121112221122111121112221222112222222112121111221111211111121212111222121121111222221121112111211112211212122111212211221221222121112111222211221212122212211212111112121211121111211211221121122122122112222111212221111122112112122122111121111112221121112112121221221212221112121111221222122211211112222221111121212112112212111122112211222212221211111212221121111211121212212112111211122222222222112221111212211111122211221222222111112222122121221211221221112111122112211112111121221222111122121122122212122121112122211221222111112222121211111112111121122222222111221122211211212121122221211212122121221111111111111211122211211211211211221112121111221111111211111122222122212211112112221211112111122112221211112211211111222221222221212121211111222221222111112122112221221111222121212122112211222211212111121221121212222212212121221212112112221122222122221111211111112121222212221221222222111212122211122222111211221212122222211121112121112122111111211222222221111221222222211122121221122112212222111212112111212112222222212112222121121212112111122211221222222111211111112221111121111212111122222212111112112121121211211111222212112121112111222121221211112121222121211211122112121111212121211111212121121112122211222211121222122121212121122111211212211221122212112212222121211111122121221121211111211112112221111222111212221122112121112222122111111221111111121222111122121111222121111111222221112121121221221122211121222122221222122212221221111122122112221111221222121221211111212112112211121111111222221212211222212221221121122222111121122112211122211112121211222222122212212211221212212212111221212221111221112122111121112211111222111212122222111221112111111212112122111221111212121121121111212222222212111212222112121222222222212221211211112221111122212112122211121121121212221111112122122222221222222122211122121122121211211121111111112222221122121212211111211112122212112221222111222221121211212211121112121221212211222112121122222112221121111121212222221222222112221122221211221121211222212221112212221112121111111122112211222121121112122211221122121122121121111222222122111121222111122212212222221211121121121122222222221111221212121122122222122212222222212112111121112211211222222122211121122222111211212121112211211112212212222122111212212211111211121222221121121122221222222112111111221212121212212121111212222212112122112221221212212221212212221111111222112212211121212211212211122222222221222121221112122212211121212122211222211111212122222211222112112221221112212212221122122122122211222221212121211121222121221121112212111112112222212111211121211211111112112112121122222222111221112122111121121221111221211122121111121122212222121121111121222112122211221222112212212112212111111221121121221222121221112112121222211111121222122221122112112122121212122222122222211221211221112222222222122211122121122112112112121112122211221212212221212111212111112111221212222112112111221221121212122211221221212112222112112112112212212222121211122222221211212122212112112111211221221121221221211221122222112122112111121121111211112222212122112111211121122122211111111221212222111212122121221112222121222121211122221212222211222212212121121121112121212221122222211112221211111121112212211221222212112112212121122222221212221121212222212121112112112212211222221212122212212122221121121212121212212212221111122211221112212112221212111121212211112222212121121112112221211121122212212111212212111221112212112212111221221222122222112211121222211112111211221121112211221122212112221111112222212221211122112221111211221122121222111121211211212221122121222221112211212122221112111122111121111112112122221122221211122211111111122111122211112221121111112121222122212222212111112112122211222122221121212112211222121122211122211112122222212211112212212212121211211112122212111222212211121111111121121121221222212211112112221112211212122211211211112121122111111212121222121111112221122121122112111211121221112221122121212121221112112212111111111121211122122221212122211112212111122122121111212221112222212122121111112211222222122122221112122111111122122112212221121212112112122122111112112122221121221221221121112221112212221122121121121111222121121211221111211212211111111212111211111212112111221222111122111111122122112121111122122111111221211121111121222122212212112221112211222111112222212121112111111212212121212121122121121222211122112212111122111112212111221211212221221211111211212111112122211112212112112121112221122221221212222122222221211212212112212122211211112212221222121212222122112112221121112222221111121122212112211121121222212112112122211222112211222221111111111122212221121211122122122111122221111121222212122111221212211112211211211121121212221111112122111212111121211222221212221121222221211122222221222221221121111211211211121112222222221121221212212221111121222221111122222211221111212211112221211112212211222221122222112222222111121111221222122122111111221211221122212111221111211122221121212222221212112212111221112111112211112122222221111212211121221211222221121112111211221121122222212111222111111112112111112122222221221121211112221121221212111122122222121121121211122222111212211211222112111111121121111222121122112112121122112212112212112112112112121122112212211212121111212112221212211121222112212211212212111122121221111122222222211111211122212221122112211222222222112122122211121122222111211122111121121211211221211111121111221221111222221211121222111221121211111122221112111221211121221221112111111122121112221121211222111121212111112121121211212221222221211111121121222112121212111111112211222122222212221212211112222221121111212221122222112211212122111121211222222212111111111121122221221112122121211212112111122122111211122111112221111211121122111222122222112211212222111112212121122121121211221111211221111221212122122222112122221122121221221222222111112222221222222221212122212121211212111121211112212122121212112112211211122211212111111111222212222122211211111121222111112121212122221112212211211122122222211211111111111222212222112211212121111222221121221222121211112121122221221121122212221222211221112212221122111122111222121112112211112222121111221122111221111111121222111122112121122221122111111111212212121112221112121221221122122111211221211211222112221121211111222112122222221211211121121122211222222111221211122212212111111122212122222112222221221112111112121121211222122221111222112222212112212211112221112111112112122121112211112112221212222122211122221121221112122112221222221221121122221122111112112221121111111122121111212221212112222221122221212212222222112121122121122221221212211221111211122122112111221122212221112121121122222112221211122122212121212212211121112112112211112111112221221212212222222222122211112211211122211211222111211212111221211111121122221112122112212211212211222212112212221221212111212212111211221222222111222111111212222211211121211211212212111221122111222112121221221212221111112112111221222111212222211211211121212122221112222122222212121121121111222221212122122211112112212111211222111112222222111221121111221111211212222212221121222212211112211112111212212111122212111211212121112222222111222211112211121121222222121121112121221121112212221212121212222111212121222122211112221221111122111122112212112222211212211112211111212112122121221111221122122111112221212121121122222111112112122211221111122212221121111121121222222211121222222121121112121222111121121112122122222112112112221111112212211211222112212212112112222121221221122221111211111211221222122222122221111211211121121222222221211121221212212121112221122221212221221112121121121222111222112212222221221221111111222111111212112112112112121222112121112211211221122111211212112221112111121222221211111221211221212111222121121122222122211222121121212121112212221211222112112122122112122221122211212111222121222112121222122111121121121221121121112111122212122212122212112222112211122111212111112211112121112221211222221122121211121221222111212211211122111222222221111122121121222212121121222122211211212122122111212112112211221121222221211122122121222122111121222211222221111122122121112212112111122211221111212211112221111111111112221111211111221211211112111112111122211211111221221121221111122111121211111111212221212111211121111111211122111222211221222111212222211112222211121122212221212111111212112121212222111122122111111221221122211121121112212211222111212212211121212121111211121121122121212222111222211112122111121211112221212211211121222122121121222111221212221212121211122112222221222112112222221211111121222212221221111112112212221122212211112112112121222111221111111221122121112221221222221122111121221112211211121221212112122221212111222212112122212222222111212111112211211211222122122112121112211211211212212221112222211211212222222212212122222112121221222111112211222212222222212111111122112122121211111122112121121112212122211211211212121122211121121122221212212111112121222111212221121111221121122121221122112212211211112112112211212212222211111112211211122222112122121221221221112112122211221211222121221222121122221112211112222222122122211221222122121212122121111111222221122122212111222112112222111221111212211221111212211212212112211122121212111221122211122121212112211222221211111121121221221222212222222122122222121212222222122121122221121122121112211212222211121121121212212222222221112121212222112212121211111112121222112222121211212122221221121112221111122211112211111112212121212221212111212222222222212221121111111122212211212212121121211121211212212211222221211112221122122211222111122221112222211212212222111222122112221212121221221121211112121111112122122211221111221222211122211212111121121122212222221212212211212222211212212121112122122121111221122111212212222222222122111122121111111221111122211111212212222211111212112222122121221222121222221121222222112212111211211221212212221211222211222221222212212112212222112222111122211222121221122222222111221222212212112112211112121221112122222211212221212111212112111111221112221222221211222222112121222112111112221211222212211211122221121211212121121121111122212212112112112112221111111221111222212222212112111122121122211211112112111221121222112112111222221122212111221212222222111121222122212211222122221122212122122111112121211121221112211221211211122222111112121111112122122122212221112122122111121111121112211121122211111121122112112221111122222222221212212221111112111212122212112221111122121221112222211111121221111211121221122121212211111222211212112222212111112122222211222222112121111222122222212112111112212222111112121121222211112121122222212112112212111121211122111222121111222111221111112111121221212122222111111111221212112221112112121212112121122121211121222212122211211121212112212112111212211121221122112212222211122222222222121121121111211122111211221212222122122222112221212112211221122122121221211222222122111221212111121112211111221222211212111121111212121222212111211212121121221111221122121211112111212111111121121211222112211211121212221221212111122122221112122211221111112221211222111111212112122212111211112212212211212211221221221221122222112222112212112212112112211221212121112221111222111221121211121122112111112111121121222112122212222212211121112121112111122121221222112221211112212112111221212222212112211112222211122222111112212222112222112212122112111112121122111111222111212212221211112122122112211212221122111111222121221222122211211211111211221211212221121121112222121211211221211121122212212122221122212111212221111121221221221211122111212121122221111221212212121112111211212121212112121222112222121121111122111212221211212221222221111212122211111211111112121222111221221211112122112212212111121122211122222211122222222211221122222211222111222121222211211221222121211122112122122212122221222212121111121111211212122121212222112221222121221122112222122221211111111111211221111112122212222222111111212222221111121212212112222221112112121222111112111221121121222212212121221111221111211112222121211211221212211211222112111112121212122112221221112122211222122122211121112221121221222122121212212221212222112121221112211111222112111212222222221212112122222121222212211122122211121111212211211212211211212212222212122122212212122121121221221221111122211222212112111111121111111122121121122112211122211221212221111111221112221122111222211121121221122111221222122122221221212212212111121211121122212212111212211112211121111211122222122111222112221112211121212221222212221222121112111121211121121122222112111212122221221221112222121122121221121112211222212222111211121122111212211221112221211212111121212121112121212211121121221222111221121122122212222112211111211111221211112222222121111121222122121212111221221111122111122111112121222221212121112122212121111221111111211211221111122212211111211121122222122211222222222211121112112122121222222222221221122212122121221211111121212221121111112122221111121112221111121211121222111221111211221121212121211211122121122222221211111112212112212122211112111222111211111111121122112122212121111122122121111111221111222122222121111221221221122221112112122111222211221211221222221112212211221122111221212112122121221221211122122212222111122212121212122221121112121112111112221221121211221111211112121121112112121221111112222222212212121121221112111112112111221212221111111222122112211122221211121222111121112222122212212212211121212121122122111112121112221222211121212122112112111111122122122212112112112112222212211222211212122212212122221222212121211111212121212211111221111211121212221112121221111212111111222222222121112222221212122222112222112121112222212222112111221122121112112121122112211211111212221222222222111112122111112112111222121122122112211212112121121221221121221212112121121121211221212112111121111221211222122212211121112121122121111212112111121212221111212111122221211212221211221221122121221222211111122221221122211112121222221222112121122112122121212111211212211121111211211121121112111212111122112222222112112122111211211212112112211112221211112212222222211211222121212221122212121212121121122122211222222122221111212221111211112211121112111222221222112212211222221221121111122212221221221111112122222111122221122112212222212121221222112112222212212211221222212212122222221111212112211222121211211212112211212111121121112112111111111121121212111212122121112211122222222121121122211112112122122121221122112221222111122221121211122212221122212112212112122111112112111222121112121112211121111222112111221121111121221121111122222222112222212122222112112121221222222111121112111112122211212221212212212221211122222212222121222222122121211212111221111221221222112221112111221222111112121222122111112221211221121112111211111211122112212212111121221111122211222121112212112111112121221111211222122212121212111121112122211212221122122212211211111211211122212211222112111111112122211211211112111212221222122212212121222212122121122211122222211111112122211211121122122221112121112211222221211111211122111121122112222211121222122121211122112211221212221222221222212122122222211122211121122111121222222222212121212121212112212121221212122222212212112221111221221111221211222111211112212221212211111221211122121212222111122121121121112112221222212222111122222222111111111121112121222121112212211222111221122222112122122121111211121211221121221121212212211211112111222112211121222221121221212121122121211212112112112122121122112211112122211211112222221122221112122212212212212221112211221111211111222211111112212122212112212221222111211221111212111221212212111111122222122121212221212212222221211111212211121111112121222112121122212121212221212221212211211111222211212222212212111112121221212221212211112222112111112222112121112122112221212111122121222221111212222212221221121112111212222121112212121221112112222112122121112211212112121121222111211111111211222111221222211121121122221122122112122221122211122112111111112221221121212222122211122211112222121121122212122222211221211221121122221222212112211122122221222121211211211111222111212122211211122111211111222221122221221222122122112211121122121211222111121111212212222122212221211111121121112121111211221121211111212211211222121211222111111121222221221112111222121222111121212222122121212111222121112121122211221121122122112212111221211221111221112111212221211122221212212221111112211121121221212112112122221221212212212212221111221112222211221122222111121112121111111222121111221221121112111112211222111211211221121122211121112222112222221222122222211112212122121112211211111122221122222211112121221122222112112111112211221211222122211222212222121222212222221111112121121221121122211221122122211222221211111221211111122111112212112211211111212122121112112221222112121221121212212121121212112112122211111222122211112221112122121112212111111112221122121222221122121221212221221111121212112222121221121111112212221121221212212112212112222112221222211121222122211112122221221221111122122122121212121122221112222112122222212221222122211122112211121111111221111122111212221212221211122121122222111221122122111222211121221221122112221122212222211222212121111112211222121111212221121111222212112211221112112212212212112111212222112212121211122212211111211111222112121112212221122111221221112212222211112121212122121112211221112112121112111111121222121122121111211121121111112111121211112212222221212112221221111111122211121112111212111111112212111122122222121111121211111222221111221122111122122112122121222221222112221212221111121211112212121112211212212211111222222122211121121222211121121211121111111222211212221221221111111212211211221111122112122121112211211221121211221112112222222112112222211121222212112122211211212221221122212111121111221122221211211121222122222121222221211222111111212212212221122222112112121121212221112211121121211211222111221212222222121221221122211211222211221112212212122211212211111121121121122212121212212112122212112111112211112121111122111221121221111122212122112121211112212121121211112112221221112111111212211111211112122211221211121222211222112121211121121211112211222121222212212222221211122211111122112211222112111111221112211121112222211212211222121221111221122221121221222121212212121222121212212221211112122222211121111112112122221111221221211212212211121212112222211122122222222112222122111122212121222111121111211112221222112221122212122211122221212112112222111211222121221221111122222211112211222222112221212122212122212211122221222112122212122222111121121211121111211221222212211121222212121121112112222112221222122211211212111211221212212112121112112121222212222111121222212211122221212222212122222121112221211211111111112111121211212222112122122112111222211122211121222122111121112212211112222222111121121222111122211122222212221121111121121121122111121212121212122122111212212112211122222222221121211121122112222112112121122221221121112222222122211112121121212112221211122211111221221221222222112221221112122211212122111112112112122221111121221221112221121111111212222121222121122221122211112121221112211112122112122112112121111221111212222121221211111122222221121211221112222212211111121121221121122211221211212222122222211222122122122112121122212221122112121222111112121212121212221121121111122221211112212212212211221222111111121212212212122122221211121221112112112221211212121122212221221211211211212222222122212122212121212221112211122112212221221111122111122222222121121212111112111221212221222122122112222112111122222212121222121211121221212222211221112111222112212121211111211111221221211212211122122221212222112122111122122111221222122112122221121112221222122222122122112112122111112111112221221211121121222222221212121221211211212112121221211222222112222221221211112122211112222121222222221122212122122121111121122112221121211122211111211221221111122122211122222121221221222121122111111122121222121122212121112221121211211221211112212112211111122112221211111121221222222121212211222121221122122222122212221112212222222212212221212122121211121112212211121222211112122221212122222121222112211122111211121111222222221122111212112222121212221112221122212121222111212212121221122121111221221111111111212212111221111122121111112221112111212222211122111112222212222112221121122211112212212122222111221121111111121221121212122221212111221212222221221112221221211221122212112112111212212121222122211111111111221121111121121221212212222112211122211212212211111212121112221212122212212221121122222112121112121111111122222121122112211111121122122222221221212121122212211111111212122112221112212111111111122222112211212121112212212122212212111212112112122121122212112212122212211121211211211222111111212111222112221111212222121212211222211111222212112121212222112221212222121212211121122212121122121122122221222221112212122112221221221221221222112122112221222112212122112221112222211211121222122211211111111222211212212222121212211212222212221222112121121112221112211112212112222211111212111211112112221222112111211212122122221222221112121112222122122211211221212212122111122212121222121221222221222112211121211221211212121212122121221211121212111222211112222121222112112112222121121211211212211222121112221212221121111122112121111221122111121221212212122112211122111122222211211211112122111222121111112111121122111211221212111221121211222112112121112121122121211222222222122212121211222111212221121221211211111212111221222222221112122212212121211211121211221121111111221112211221222112221212212212122111122212111222222222211122221122121221211121211112222122221111211111112121222112211111212121122111112211122112122212222111222121221112122211121121222212112112112112221222122122211121121222111121211211222222211221221222211111121211121221212212121111122121222222211221121211111111111222221121112121112211112221212122221211212122212212122212211221212221221122112122222112211222112121122111212111221121121212121122222122112112112111211211221112121222121211221211222211121111112211111112122221112221122211222121221111121212221122121112121222221211211222111122111211111111111121122212121211122121112112221112212212221121222212122212222212121221212212212121221211111212121111122211121221221222121112112212211221121121212212111221122112112211222121221211211222112121121121222122211221221111121222211211211112212112211121112222121221122212221122112212112222111222212121221221212112212121122122221212112111222212111122221122221121222111221211111112222111211122212222121221112222121212121122121211221211112221111212112111211222122111121212112122212221112122222221212212222121111222111122121222122222212211221122112221212212212111112222222221211211121112111221122121212211111122121222212122122212111212222122122222122112112122211112211221111122122112121212222112212122211121222211122112122212111222222211212212211222121211111211121121221121112221121112222122212111121221222212111122222211222212212122221112121212111122111112211122221122212121121221121212221221212222221121112211222121212112222211221111221211222111221122112111212212221222211112212222222112122212111222211212122122222112222211211222111111121111111222121112121121112121121211122112222112111111211111211211221221221122121211112121121222122112111111221112221111221212212221111222121111221221112212211222211111121212112212122112212111221112111212111211122122221111212112211122122111122212211112212112111222221211111111111122212122121122111222112212111111121122211112221111122222221222211211122122111121221211112211211212121212122211222121121112111212221112111121121122212122211211121122212212211222212212111122111211121221212211122222211211121121212112211211212111112111121221121212212122211121221111211122212221222121122122212221212212212222122122211222112121111111121212222222121211211222112212211212111221112221212212222121112111222111122222212222121122222221111221222111122111111222111211111111122222112221112212222122111222221121212111222111222122121211222211111121121211112121211111112122222111121221112212122121112211121122222211211212221212222121122221111212211122222222221222222211122212221211122212111111221121212111112222221212111211221122211222111112122121122222212211211112212222122121222112111121122111122122121221212112212222222122222112112222122212212121122121212122122112222222211221111112222212211111222112112211212211211221221222211212212111111211121111222121121222212121211112221121211222212211221211122222212122111222111211212222112222221211121111121121222222112212211111122111211112211122222212122121221121221111112111211222112121222121121212121221211211222222121112222211222121122212111212112211211121112211122222221111122222121211121221222112111121121121212221212112121221211222221221221121121222211211122122111211222222122221111211212221111221112111112122212221112222122221222111121221111122111212212212211112212111221111112222111112211212211212111211122112111211211112212212112212212122121121212211221121121222112121121112121112112122212122211221121221211222221222112122211222222211112112111212221221212221111121222122122112111221112111222112122122122221222111121122112112121222122221122211111222221122212221122222111112112122111212221221212222221112122122211111212121112111212121112212111112111211212212211222222222121211111111212121211222111221212212122121112222211112221221222111222221111222112121222121221211122112221121122221111221222222212111222212112221221221221121111122121112221111112112121112112121221111222111122112221211221212121121122111212122112111222211222221111111122222221121212221211111112122221221122221211121211121212212121212112121121222212112112122121122221211221112112212111211111121222112121111111221212111112212111112112221122112122121122121211212122122222222221122212221121111212122222212112121221222221121122111121222112111221211211121211221111111211112212112121221122222112211212122222212212211111221211121211111222111121212122222222212112122122122211212211222112111122221111221222211212222222112121112112221121211112211221221111111212211112221221111222112222221212211112222112212222222221222211121122222111122121111221221221122212222211222221211122211122112212222221212211111122111211122121221122211121211112211111221212212112222111111112122111112121221222112221211222212111121121122122212121112212211111112212122121222222211122112222211112112211122222222121122122211112112112221212222122112112212212212211212122112111112121212122222211221211121222211111111112111221121221211122111112111212222221222112222221221222212121111221112121122221121212211112221222111221221221211212212211211221122111211122211222212111222211112111211122211222122111212212212121222221212211121211112222122111221222222122112122221122122211122211112112112121111221111121111112222112112222112122211221221221121222211111221111122211121211211221211222122211211111212122121212222222212111122221111212211222112221111221221211211121111122122121112112211221212112121122122211112112111221211112212112221122212212112121111112122112221111211122111111212121121211212221121221211111112122112211222221121212122112121222212112121121112221211121211122212211122221122211121211212212221221121212112122221122121121221221222121212212111212222121122222222211111222222211121211111112121222212111221122222111112211112212111121211122211111221111211221111212212122122221111211121121222221122211112112122211111111112112111212221212211212222212122221212212111122122212222111211121122122212222112212212111222112112112221222122111122111112211212111222111222212111212122111112111211121222221112222112211212111111111121111222212212122111222212121222112121121212211211222112112121222121222122122212122212212221122211221221111211222222212112122121222112211211222212212211211112212211112212212122121221121221111111121221111221111122121122112222111221122221121121221112122122122121121211222122122111211211211211121122222222221221221112221121222122221222112111222112222212112222121222111212112122221222211221221211222112211221222211222222221212112221112222222221221222211221212122122121121211111112211212122212211211211122111221122111222212221112111212212122121121222222212211211112212112221122122212222122112221112212211221221122212112222122211112121221111122121222211111221211211221222211222211222222121211222221221111212212211211122121111112111211211121212221112211111211121111112221222122121211121121122212211212112111121222121212212211121212122111221122221212122121222112211122121112221111212122122222212121221221211122112112111121221211222121222121222221212121111211222212111111212211122112121121221212112211112222121122222212211221211222111121111221112121212212122111212111211111212222122212111211212111112111122221212122222222111121121212221212122212221121112122211211211211222111111211122112122212111121112112112111222212121112212222121122111212111112111122222112212122211212211122111111111212212121212221222212112211211121111221222221211222221211212122122211111122221112112221112121212212212121121222121211211112121221211121211111112122212222221121112122112221111122121211122212121111111212111212222121111222112121122221212212122221212222221112112212112222222112121211112111121111122211111221112222112111112121111222211221212211211122122221112212122122111222212112111211121222211222212112111221212221121221122111221221121222121111121121111121221111221221121221111221212211211111211211212222112212212111111111112121122211111111111212212211121112222122222121112221221121222121112122211222122122111212122112212211111121212222111222112221221122111122122111221211122111212122221221112212222112222111112211122222112112211122112112222222122212121211222111111222121211222112112211212122211212211121222211122111222121211121212211212111211121211212212221211211211222221211111112112122111211221221221222111221112111111222112221212122112112112121212122222122212211211122212222212221211211221212221212121221111221111221111211111122122221212112221121122222111122212111222221221112212221111221112212122221122221211112222112212212122122112112112111111222221212122222212112121112111122121122222211121222211121111222222122112111212211222112221112212212221111122211212112121122221221112221222111222122112211221211212212122222222112221112211212122122111122111111211222212221222121211122122222111122122222211221122211212221211222221121122112112222112221221211221112122112211221121211112211221121212222211212222112112212222121122122211222211212211122221121112111112121221122212111122212112221222222212111221111122211212121221122121112211222221111211112221212121211122111121112112211222221211112222211121122122112221211222111112122122121122212222121122222111222222222212122222121121112111212112111111122121122211122112121121122121111222112122222211211121212222111111111212211221221112211112221111222212222222221122112111212111212112121121212212122111222222221221211112221222211222211111121212222121122111122111212112212212112121112221122211121122111211112212221121112212122121122212111112212221212112112112221121212121112121112121111122111222211212122112122122121111211212222212121222112111122212121112122222221212221222221112222221212121221112221112111211112122122111121221121212111211222221122221211122112111121212211221211221212212122121212122221212211111112221221112121112212211111222121111122111221122122211122221112222221111212211122111212111111212122112212212122222211211111122121112222122222212121212211212121121121112221221112121111221111121221221121112212211111111122222112111112211221121222222211221212121222221122111121121212121212211122122121221112111221122222111122221122211211122122222212222211121112112122112111112221111121222222122212221122121122112211211211111111211222222111211221121211111222121212122221122221122221211121211222121121111211211211212112212222122122222111222111221212122222222222121211111111211111121211111212112211111212112111112122221211212122211211222121221111221211111112222122222221222222221212211122122212221222211211221112122211111211211211111211212221222222112222211121111222222221222211112221221222121221111122121212122112111121212221212121111212211112222121121221121112111212121111111211122221111211121221212212221211112212212122121111221211221112212112111221121112122121221211121211112112211121112112222212112121212112112112212212211221221222222121112112211111222111111212121111112121222122221121221121221212211222111221222211111121121112111212212221212221121111122112212121221212112121122121112211211212121121222221112112112111211222211221211212212222112212211122112222212211222111221112112211121112221211212211121122122211121121121211122212121121222221212121211111221121122111222222122211111122112122121211111121122212222212222222212211111121112112221122211211222212222211222211121121222111112112112122112112222221222112212222221111221221112111122111121122221121222112221122112221222111212122222212121112212211121121211111211221122212212221111211112111212121212212221121112221111122222111222221111122111112121211211122222122111211221112212112222211222112121211222111122122112221222121112211221122212211211121222122221111122222111222212221111112211121121121221121212212122222112211122122122121222211222212121222212222111222121121222212222122111222121122222122122111211221121112112221111122111112122221211221112212112122222111111222122211111211112111121121211211121212121121112222111112111112212221112212122121111211222221211212222222111122212112222122222121222211122221111221121212111221112211122112221111211221112121112112211111221111211122212111221211221112211112111112121121212212212112211112222221212112121222221212121122212211222121111221112121211221212112212121111222222222112212122212112222221121122111111212212121122211111121221122211122121211111211212212222122122121211222112122111212121221211121112111122122212122112112112121212222221221112122111121221121121121221111111222112111211222111112221112212112112122112221122112112211212221221221112111112111212211222111112222221121111211211212221212211112211111221221112212121111211211211212221221112221121211221222112212221222222212122212212211222212222212221121212222212122122211221121222112212111121111222122221222111122122111212221122211111221211211211211112211221121112212122122112111122122111122212221112121212212222121112122212212112111222221211111121112121111221121221122211211212221211221111112112222211221222121222221211122212212112111222212211122111121212222121121212121211211222221211222111121112212111211122212111122121122111212112222111121112212211112121121212121111122112122221222111112221211122211122112112122211121222122112221112222211111221112112111212121122212122212112112122121211212111212222222221111221111221112111221111222212122121112121111221221221212112211122211112112212122122212222111121122121112222112211121112122222222112222112111121212212122112211122212221121221122121122221122112112211112211221222211112221111221111222122221221212211212221211121121111212122222222121221221212111212111122122112112121212111111112111122212221211112111122112112122121222111221121121111212112112212121211122212212121121111112112221112221111122111112112111222211111212112111121221221112121221211122122111121221211112122221111112221122111211121221222112112212121211212211112222212112222112222212112122211211221212221221111111211211211121211222122221221211221221211112221211122211121122221121121111122112111212121121212222112122221111212122112211111221212221221221121212121222211212122212112121212211112221122212221112222112221121211122211112212221221112112122121112121221222111211222211121122211122222211111212112121211222212211211221212212211212212112222212212111111111122111221112111122121112111111121122211212222121221111211111121112111111121121112222112222212222211111221212122111222222212112111111212111112121221212121211121121212111112221221111111211212221211122212212122122112112122112121112111211221211111112121112221211112222122122121121112111222121221211222221121111121122122212122122112122212211112111111212112121211111222121221221112112122122211112111122112111222111212122211211112222122212221212212221121121121211111222112112112112222111112122121221121122121112211121221212222221111211112222112222122111121112212121111212121211122212112112112212122121122222111212122122211221211112211112111212222221121211222211122221122221122121211222212111211212111222212112211221112212122211111212211222111111121121221221122122221222112122221221212121122222222111222221112122111221122122221211121111112121222111112112212121121122221111111211212222112212212122122211111211122211122222212222122221122222221212112212121111212212122112122112221122222121121112222121221212121221221121112222111122112112222222111211122122221221111111111211211112122222111112112112221121122122222121122121212111112112212112121122122111122221221211121112122121212112221221122212121121122222212212112112112212211111222212112212122121212222211122122222211212111222211121211111212112121212112121211211212112222112112112121222121212212112211212222122222221221111122111221121121111212122222111121212222221221121121222121122122222112122212212121111212222112112211211111222122121111211122121222112122211221112211111222211211211111112211211122211222112121212211221122212212122112111122211111222211122212211211112121121222211121122111212121211112112112212112212222212212222221211221221111122221211122221111122122121222212222211211222111122111121112221212212121222111122221222211122222122221111111121122121221122211121222222212122121212221222112222112122121212111221211221222122111111111112121211111112112112122211111111222222121122112212121211222221111112212122122121222222211221122122122222111221111212111221212122221211112211212111222121222111212112121211222111112211121212212121111222222212112212111221121111122111212121121222221211112122112221211122122222112111112222121112111111212212111112112211111211112211212122211211222122211122111121222221122212112112112111212111212221212112121212211212122211111212122111221122112121222121221111222211212111212112212112112111122121112121212122222122211211111221222121111111222122221111121112221121112211212212221121211121211122112211211111121212121122222222221121212211211122112122111121112212221112212212221122121211112122212222112112112221121121111111121112121211212221112212121112211112112221122211212211122122112212222111121221211222121111211121222121212211222122121212222122122211212122222211222212112112122212222121221111222112122121122221221121221221122212211121121121212121222212122211211221112122112122211111212212221121122211121122122112121112222211121212121122121112221122111122222122112111212222211121221222122211212112222112122211211212112222122211112111222211211211112211222222122121212111112211212122222121221111222222121211121212111122221111222121222221212112121222222121121221221111111212211222211211211112221122212122212111111122121112122212122211211111111121122112222122121121222222122212111221221221211122111211122212121121121111222122111212221212111111221112121111121112221122121121112222212211211121212212212221222222121111211211121221121221212121222111111221121221222121211211221221222221221222222221122212212222222211222222121211112222112122221222122212222221211121221211112222122112122121122212111221111112111221122121211222112122111212222212212112221111112112211222221111121211221122221112221221122111111111111111112122212111221211121121212111221121221112122212122111111112211222122211221122122121121222222211221212222212112221221212111121111211221121122212121121222212212212112111211122212111112112111111221112221122211211111111221111121122211112212221212112212221222112212121221211211111212112211112221111221222112122111222111112221211221211222111211121222122212221212121111121121211121221222112112122122221122221111112111112211111112211112211221211222221212211121222122122121212122112212222212212222111111122212222112221121111121112111222212211221211222111121221121122222122122121122212122222212112211211112221221121212211212212212222122222111222212111212211221221121121122212222211112112122211111222122221211221111112122122121212121112212222211112111221221122111122211212111211221112222211211222221121112122222221211111121111122121121111211111222221222221211221121212112111111212211212122122222212221211121221111112112212122212112121222112122111221111221121112212112121222112111222122211111221112121221222211222222212222222211122211111111221222121222212221121211212122222111112221212211221212122121221221222221221112221112212111111122211212122121222111111211221121211112221212122111121211211221222111121121211221112122121211121221122221212211211222222222111112222122121222121111212221221122222221221222211221211211112112222221122211111121122112212121121222221211222212212221111212111112211211112222222222222112221112121221121122122212221112111222222212221221222122111112212112111111222122221122111111211111112222211121112212112121212222211121221222112221122222112112112122211221221111221121112122121111112122211111222122122211121112112112212212222111111211211122111121111122211222211212121111222121212222211121212222111121111111211221221211111112212212221122221221122121211221211111122121122121211122122122122122221121122122222121211211222112222211111121212111221122212212222122221211111212112111111111112112121212211121212212222221122111211221121111221121122212111112112121212121212222221211111212122222121112221112211222111211122121112122122122121222212222221112221122221211222121121122122111221122112212112112221222111122111212121212212111221211122211221111212222222122111111211122111112211122111121211121112112121111221122211221112111111211211212111111212112221121222212111211121221112122211111211122122111211112221222111221121112122112121222221222121122211121121221222211111121222211121221212121222122211112212121211112211111121211111122222112221112211221222211111212111212222211222212112111111212122221221221121122221211211121111112211121122221111221222121122121121111122122222122221121112211111211112222112121211122121211122112222222112222111112112111211111212221121221122122112211212212221212222111122211222212222122212122122211112221212121121111112211221112112222221211221122211121222221211112111222221121221112121121221211112221221122112112112221221122112112222122122222112222221212111111112212212211112212111222221112211112211121221121221122211222122112221122111122122211112221122112122112222122212122121221211122122212111222121221121112221111211211122112122222222111111121111122122212122121112222211112122212121122122122212121122111122221222222222212122112221222121112211121122212211112111111211222121121222121112212112112121122212122222211211222222112121222222122212212221212121112111211111112112222221212211222212211111111212111211111211121121211221112211112121121211111112221211112111122211221122211122212222212112111222211222212121121121221111112122221211212211112211112122222111222221122122122211212122122221211221111212222112122212121122212212121112212221112111221112221221121121211212111212211212221122121122122112212122221122111212122221222221211122121121112221111112222222222211221212122221121211121111111221211211212221121211122211211222111221221112211111211222222112122112122121121112221122111111112122222212212221212212111112211212212211221222122121121221122212211211212111112211121211111222122111222222122122121112112211121221212222111122111112112211111112122122212121212212122112111121222122111212221222221222221121121211211222112222221221221221121111221211122112221111211211111222122121222212122122211221111211212111111112122212211121111211111212111221211211222222111212122211112212121122221212111121121222122211211111211112211211221111211121221112211112212111211212121121122111111212212112121112212211212221212212222211121222121121212212122112212112122112221221222111121122211112221222221112122111222221112122211111211122111222222121111222222112212212211111122112112211122122122211221122111121122222222211211122211111111111222112122121111212211112222221212222122111122222212212121211221222112211111212222211111112111212112111111112221211221112211222211222122211121211221121221222111122212121221121221111111222221122221122221122111211221121222111121222211211112212212211212112211212122212212212121221211112222211112211221111111221212211122221212122111222112122211221122111122121111121111222122122221122222121111121122111222122112111211222212111221111112212111221111221221212121112211221222221122111222121111222122212111121222212122111212221221122222212111212212211111122222122112111222112112111211121112121222121212212111112221222111212111222212222112222222221222221121221221121212111121211221121112111221222212211222122121212112222222122211111112221121212122122121211112112112212222122112222211111221211222121221222122212122212122211211112222212221221211111212222122121211221211122122221122111212122221211111221222111111121221212121112221221221221212221112211121222221221221112221112121112211111221221222222112211111221221121212122122221222211111211121112111221211121212221212211212122122221121121211111121222122122212211221112111221121211211122222212112212211211211111111212211222121122122211211212221211122122211112112121221212121121222122121122112111212111112212211222211121221221221121211112122121112212121222111212212211112212122112121111221122211222111222121222222121211212212121222221111122222121111112121121122111112222121111112122221111121121121122221111221122121111222212212122111112121112121112221121212222111221122212111221121112111221212111212221122121212221122212112122212222222112211211121222222211211222111121121122121112222122212111111111111111111121112121112221222121121122212211221222221222122111122122211212221221112212121221112221111221211221122112222122121122111112111111121122212122211122212212122212212122111122222121212121211112221221211112112212221121212211122121111222211221222122211111222221112121221221122111222122112222111212111112112211211211122122221122121121122211121221122112112122112111112121212222221111211222212221122222121122221212122111112122222222211222122211112212221121212122222211212122211221111122121222121221211112221221122211222122111122222121122211112111222111211112222221212111122122221112221211212112222112121211221112122122122122111211211221111121111122121211112222211121212111121222211121212122112111211121121121121112121111121211111212212122221211211122111112222211212221112212212122122222222112222122221221122211222212212122111221112121211121222212112112112121121111112121211121122111222122111212111222211212212222222212221211111211221121212211211221221122111211221121121221211121221122122221112211222212121222121122121112221111212221122121111112122111111211111211121212121221221121122212222112112112121211212221211122221111212112112122111111212212212112211112121212112122111221111121122221122212121211212112112111121121212111211222222122212112121121121212122222111112212112121121211121211211121222221212112112221211212211112212222222211121221122111222112112212222212121112122122222111121111111222212112121122112111112122112122222122121121112212222221221121111122122111222212112222212112222122121111122112211111222122211121112121122111221212211211122212222122222121121212122221211121222112221121222112121221221111121112111121111211122122212222122221112222222121212121212211121111221121111112112221222112122211221211111221122211211221222111211211221222222112121111122111112211211122112222112222221221221121111212121111112121221111111122222212122221121212122211212121121221112212211211122211221112211211222222212111211122112112112122222122121121111122112122122222111211122221221221222211111111221112121212222111122111111111221112212111122111222121121222121212211121211111212212122221211121212112221111211212111112212221111121112211112222221221211212211112111222211122212121222211122221222111122111112222221221221222111111122122121122112211221211221212112121221112121212212212122211221112212222121121211212212122221111112222222112112222211211211221111121122221211221212211121211122211211111121111121121211111112122122212122212121122122212212222211121112121111121112112221221122211121121211221122221222111111211211111211221211212211221121212211122212112212111222211211111222221211122121221121212222111221211211122211112122112212111211211122221122122121122211211222121222121122222212112211112222111212122212111222112111221222221111221221221121211222121222122111222121221121122211112111111222121121212112221112111212111112212121111211111211122222212122212212212122122222222212111222121212122212222111221221122122211121121221221112221112112121111212212122121111111121111112121122222112221212212122122111222121122122221221222221111212112121222222211111121221111112212122122112212112121222121211212121211122111211122111221222121112121121121111112122111111111112212112111112121211212121211112122111221121112212221122221121112221222222222211222221222121111121212212112221112212221112111211212122111211221122121211212211221121222222112111211222222222221122222221221212111112111222122112221222111121122212212222222211121111122111222121221112121122212212221122222221211122111222111222112112121112212111112111212111121221211112111222122211221221221112122112111112112121222121212212222221222221221212111221212212121111222122211111221122222122112222222122212112222221121111122121122112211212221112121111111111222211121211121212111221122211121221121111211112122211222212222221122221122111112222212211121221121122122212211222222122222221121212112122121211212212122212222111111112122222121221221121212221212121221211111122112221122112111222121111212112121111112222222221121222211111221122122211111112122111121122222112221212222211121111212212212111112211212212212122222111112211112212211222112211111212211112112211212122122111212111121111112221121212211211222111121222121211121121221221122111121222121222121211111121212122121222221122221122211222211122111121121122221122222222212121122112112221121122112211112212122212211222121212122121212121122222121111221121221121111121112211212211211211222221221212222222122211122222122122222211221211221221112222112212222111111111121122222122112222111222222121211121221112212212112121111111121211222211112111221221222122121111111221122222212111121222211211122112211221221222112222121111112221111211121112112112112211212112121121112112221112212212221112112211222122111221222122121111112112222212111221121111111112211221122212211211211212121121122121222121212122111112211211222222122111211112112212222212221122121121211112222121222221221212112112122122222122122111211111222111221122221211211122222111221121121222122112122112212221211112111112112111111122111122122112121211221211111122111222211212111121222112212222212221122121222112112121212121222111112222211111112122122211122212211112112221111222211211222222122222111211112121121222121121221211122111211212221112222211222121211211212222221222212121112212222221212211212221111222221222212122211212112222111212122222222112121221211222111212122212111221221112212221121112211121122221122112112211221122111222212221212211221221212212111111211221121112121212111111122121221212221212222211112112111111221112211112122212222222112121222221122221122222112122212111111221212121212122211122221121222111112112121212111112212122112212221121211111111211212212112222222212111121222121221122111111122122211221111121222122221212221212222112112121121211111221222122221112222212111221121112121222212121122112211211122112222112212211221222222221112222122111211112121221211112121121212121221121211221222212121222212112222221122111111112221222211221211212112222111112121111222212212121221221212212112212212212111111112212221211222111211211212222112121112212112111122211122122221122112121221211221211212212111221211111212122112221211121211122212112121111112122112222111212111111212222111121211111222211121211221122212212112212121111212112122112111211221211111111221221112121212212211212211122221221112121121211121211111212222122122122112211121212112222222111211211211221212112122212221222212121211122112122111212212221212212121221212122211112212122221112222111111222112222211112221121112121211122122222121221222212122112112211211221112112222212111212221222122212112212222211122111112212212112211221222111221211222221212122222222111221212112211122212121122221221211112111221222121221212122111122112111112121221221121121121111212111111221222112212121121121112121112222112122222111211112222121211222121111212121112221222221121112122112212221121211112111212211211121211121121211212211111221221122212221111212222112222112122121222211112212211111212221111211121211112221211221212211111121111121122121211211221122212121211222122212222212111122122111222121112221122221221211111212212212212122222111112111121222111111121212222221112212221112121121212112212211121221122212211211121111122212222112221221221212221222122222122122122112122212111111212222111211111111122111212122122221221211222111122121221111122212221121222222111112221221122122221121122121212211212212212211221212221221112222121211122112112111112211121211212221122222111112112222222121221122112212121111211122221122211122121222212222222212122121221212211122112122222221211111211222122211112121222221111211111111121221112212211221122212211211222122212122111122222222121121212222222221121122122222112122121112211221121212211221121122122121112112222221211112122112212112121212212221221122222111112212222121111222112112211212222121112112222122212211121211212212112112111121121121211211222212221121122122221221122122121221221112211121222112211121221111122221112111222221121212211212221222112122211212211112121221222121122212111221122121121111111111121222111111112112111222121112222221221221112211121211121212211221111121221122221212222211221221121111221122112221221222122221111122221111222212111222221211121211122111212212122121221221121222212122111221211221211221212212111212121221122212212121212121222112211121111112111211222211211211111121122121212211121111112221121222122111211112221122111211122211112111112111122112221212222111111221112222111221112221122222222222212212112122112212212122111212112121111112112121221121121122111112112122122212121122122121212222221212222111211212122112112112221221221122121111122211211111212122222122111221111222121111211222212111112212211111211211111111221122211111122221122122222112112211111122121111122112111122122222111222122121222111111221211121112221112112221122222212112221221212111221221212211222212122221122122221211212221121111112111222222122222112112211111122222221122211112111221211222221112122122221211111111221111111212211222212212222111222122222211112112111122121121212222122121222121122112212212211112121222121122222221221211222212122121121221221221221211221212122111222212221212112222221111212221221111122212122222222111222111111112112211211111112212122212112121122211121211212212221222111221211212211211122211222221112221212122121111212111212121212222211122211221222122211221122121221112211122121212111112111111221111111222222112222212222111211212112221222211112222112112122122122222112221221122121211122122111112111211111212122222212211222121211111212221122211122122121212221111112211111212221122111122222212111212122212211112212121122112112222122221212112121112222111221221212221111222212122122211211122221121111221121111212111222122111212122222121111111112221121211121212222112112111222111112222221111222111222122221111111222211211221112121212211111222212112211212221221112221222111122221221112122212121221122222121211111112112112222221111112221112122222222111222111122111121222111112221221221212112221112211112212122111222211211122211212121122211122211112111222211211112121212221212211221212221211221121211112112222122222122122221221221111121111211122111222221212212221112222111221212112211221211112111112121211221221122212222221212221212221122221121122211212111212221211221222122112211212222212112222211111112112221222112211112222211122121222111222112222111121111112111122122111122221211212122121111211121121212222221121111211222222222212122212112112221212112121212212121221222221212112111212212211221122211211111211221211111222112222221112212112222222121121211211221111221212212221112221121121111211122211212221122122222122112111121221111121222121212211112211212121212111212122222112212222121222111221211222121111222112111112212112211121221222122111112121221112222111222122112121122221122111211222111112221222221222222112211121121121221112111122211222121222211111221221111122121122222111222122122211222112221112222121122212112122112112211221212211111211122222212121221111222112221112222212211112222211112221122121212112111121212222111211112112221111121212211121111212121122112222111221212112122121112212221222121212111111112121122211121211121222222121112211221222212111221121221222111112222221222221111221222221111122212221111212221111112112121212222222122111122111122221111112121222111222121212211112212222122212121111112122111111222221121122122222121222111221221222122211111121212111211221112112112212122112112122122112221122222211211111221112212222222121211111221111212121212121111122211122121222211221121212122212121221221221112112122211221212111211212121221221112112221212212212122122111122121122121212121222211221122121122221111222121212121122111122221212121211211112112121111221122112211211221221222222122211221122122112111222212121112212122112122121122112211112222211121222111122122221212222121212222111222122112222212122122221211222111212222112221111211222111111111221212222122112211211111111112112121111211221211122112222122111212111111212121221211121111212122112222211221112222112111211212121221112221111111111112112212212121211222221221112212222121121111121212112121222122212111211222121221111121211211212112122121111122222212112121211112111112211221111212121111112212211211121121221121111222112211211221211112221221222111221222211111111222121121121112112122221221221111121112111211211122222111122122211212112211112222212122221112222122121112122212121211211112121221112212211211212222212212222121212121111112112221112212121112212211212212212222222221121212211111111111111222112121121212222121121112121222122222111221212222221211212211212212111122121222222211212122211122121221212211111121222222212212112121111122112222222111221212121121211212221112112221112221221111121221212211122221122111122221111221112222121111111111211211121212212121222122111212111122112121222111212121212121211221221221222221121212212212211211111122121112122122211212122122112111121121221221121121121111121212111212111122222221212221211122121222112211211211111121212221121222212121121121122112222222122111222112222121211212212221111111221111122221221222211121212222122112222111121211221221112212121211212121212112211222111111211122112122212222222211111121122222211221111111112121211221121121121111212211222221111122222212112122111212211112111121211222212122222212221121112122122122111111212212212121212121112212121221212111121111221112121212112212211121221122111222221111122212221121122222112221212112121121222222212221211221112211121222222211221112112211111122211222221212111212211112221221222112122212222122111211212222112111121211111221211212111111122112212112121112122111212112111122112222112222121122111111112121112122122212221221121112122122212221212222221212222221212221112112222112211221111212222222212111121211122122122112122211222112222212112121121221122221222212211221111211122211222121121121221121222221222222121121212222222121211122122112111222112111112211212121122222221121111112212212222212222112221212211212221111221111112111111212122211221121221211222212111211111212212221211122222222111121112221122221222222212111211222212222221112112121121121221212222222222121212112112212211111122112212221212111221212122211112112221221121121212112211221211211111111222121211111122222122112222112112111222121222211112111212121121212111122122111212221112122212211222112221222211112212111221111121121122112212112122221112211222211121111121212111112112111122122122121111222211222212112111222211111211122211212122222211211211122121112221222221211211122222221112122112112222121111121212212121211211121112122212221121112211121212221112212112211221122111212122212122221122211111212212112121222222212211111121221112212222112111221112211221111111212112221121221221111122111222112211112212211211212211222222211212122212212222221221112112221222211212221221122222111111122221212121211221211221121121111212221121112222112211211121112111112222212221122221112221122122211122112112112111111211121121122212211122122112211121122122122221112121112211212112212222221212212212222222221122221111122222212112111111122121221121112112221112111222122212112211211111111122212211112121221122212122111112111121222112121121221111222121112111221221121212222211222212211112212211112122222122122212112222121212211211121221121122212121111221212121111211112222211212211212111112121222112212122221121212112211212212112212221222122222222211212222221221222111112122121121222111222211221211221221121121222222112112121112222221122212211221221221221222212111222112121112111222121111112121122211122221211212211121222211222221111222111211112212111212111222222222112212121121122222112121212122212222111211211111212111121211121112212222112211111211112222122112111111212121221122212111111211112121121122222112111111222211112211222122212121112222211222211222222122111212111121122211122112212211122222122222121221211111212122111111221111221211111112211212111211121222222111112122111221212122121212122121221212112121121122221112221112111211211122221222222111221121222122112221222221112112221211211212222121221221112211122122221221221212112221211122221212121112121221212211211212111121211121212121122222121212221221211112222211222121122212111211112221111212222211212112221111112212122111221212221212221112112212212112211222212221222221212111211211121211112112222111122212222222221111112122122122222112211222111211111121112212212222222111221211212212211222112112122212121211212111122121221221212111122111211112111112122121122222122122221111121121212221121122211121222222112222221122222122212211221212211221212212221222112111111122211222211212221221121111222112112111211121111112121121211221221221112211211222221222121222121111122121212112122212121221211111211222112221121222212222222112221221121121112112112121212212212212211211212121121122221111112211121221111221122212112221122121112112211221211221221211112222221211111121212122111112111122212211111221212122212122122221122222121211121221212112211121112221122221221212221111211212122222112221221221222222211212121111222112221212222212221211112122122211122222212121122111221121221121111112221212121212212222121122111222111122121121111211122212211222111111121222122111211121211222122121211222211212222211222122222121122122221222222221121212211212121211111211112212222111122211121121121112222121221221122112221211112121111122111211222121122121211121112121111122121121221211121112221222211121221222221221221212221211122111121112111112222212221222212112222212222122122112222122212111212212222121211211221111112122221111222121112221112221112112121112122111221221221111221212221112221222112111222111211211121211222222222111211121212212211112212112212212221112112212111112212112111122111111111212112222112221112212212122121111121211211222212222221222211221122212122122222221112122121221211221212212111122221112212221222221222122121112122121221121121221111121222211122212122121221222112122122221211111112111212221111212112111111122212211221111222121111111112211112112221222212112121112111112111121121221121121212111211221121111111211222122222111222122221111111112212212211211212211222212222221221212221121121122212222212121121211111122112121222211211211211122121121221122221121122221121211222211212222221112122112111222112121211122222121112111211111112122211211222212111221222111121112122121111122211222212112112121221212122211122222222111211111221221211222122212121211112112221212122121122221221211222112211211212211111111221212112212222121212121121221121222212222111221122221111212111122222222222121221121112111111112222211222112221112121122111222111112211121212111122111212222111112211111211221121221211222112211212221211121212122211222112112121121112211221111121111112211111122111211222221212122121222122211222221122121211111222121222211222111111211121221112122222222121121111212222112211112221221221222122112211111121211121112222122222222112121212112221211122111212212221211211222111221212121212111112111222222222111122112111221211221221111121121121111212211222111222122121122211212121221121111121222212111212211121111121111212222212212121221212112222211121221211121121112212212222221222111211212121122221111211221121122112211222112211112212221111122211122212211221121121212211111211112211222221222211211221122112212221112222111212211211211221121111212211212211112122221121212212112221211212112121221211122112211121112121112111212121112121222121212222121222211112111112222111111121211212111111221111122211112121111212122122122111112122211121211222121222212112212111221122111221111212212211222121211121122112122121222212112122122121211121111112211111121211211212121222112111121122112221122122111111111212111212121211212221221212112111121211111121111112212122111112211211111121221221211221111121211222111121121111212222222112222111111111122221221222221112111122221122112112121221111122111221211111112122121122112121112212121111221212121212112212122111222111212121221112222122221112212111211112212111122121121122211211221121211122222212211111222212211112112211112122111212112212112112112112111212111122212221121222111111111111211122212122121111111121212222121222222121121212212222221211212221221112121222222111111212221212121112122211211222212222212121122211122221221212212111212112112112211121121211221222222111221111222121121112222111212222112222112212111211212212221112212111222122122122212121111112122122122122221221122111221121111122221221211112222122121212111222112222112211211112222222111122112222221112212212211212122122212122211112122112111121111212122112122121112122222111122112221111112121212222112122221211212212112121112221112212212212111122121212122211221211122212112121211121122221112112122211111111212222121212111112222112112122221212112112112211112212121211222122122212211121121211122112212122122211211222221212222211122211222211212112222122211211221212222222211212112112221121122212222112112111212211122212122112222222221212221211121222112211122211212122111121212111112211222111122122121122212122122221212112112112212221112211211222211221212111212211212121122112122222221211221112222122121122122121121112122212122221112121122221222111212121221111121212122121212222111121121212122111112211121111212122212121222121221211221112212111222121222211221122222122112121121122122221111212212112121122121221111211122111212122111211121222211221222112212212221122212212222112212122112212221112111221112121221121121221211221222121211212121122121112211121212221111212122111221221122122122121122211212122212111211111122112122121112111112211112111211211222221212112111122211122121112212211122212111112212222111122122121111221112212212221221112122221121112121221112122212111212112221221121212112122211121222221221222212122121112222222112211211212222211211222111211112111111112111221112111211222222222221222112112111122122222112221122222112221212212222222211112222222221121121112121222121212211222112222121122211212122112212222221211212111122212112221222122212112111221222121111112221211211222212122111112111211112221212112221112211222121211221111122112222112221122111222122121212211211121212212222212112111212112111112211112121111122212222211211221122222111211111122221211111112211222122111112212111212122122112211112121221122111121211112112221212112111222212121112211212122212222222211122112111122212121211222221112111211221121221221221212212212222212211222111211211222122211121212222212111112111112222112221211212211122212112212212111122121211122221211112112221121212222111111122111122212121121112121121221121121211112212212211222111212122221121111222221111222122212221121111122222121221111212121111121122222111111221121111221221221211112211111222221221221121122212111112112112212122212121112112111122211221121112211121122121211111112121212211112212212222221221212112112121111111211211121111122121122222122221121121221221221221121221122121122212122122221221211211111112222222212211111211122222212121111111222121221111211212111211111112212211122121212122121221122112212111111112222112222112111221211221222222111111112211122212212112111121212222211221122211111111122212121221111122212111221111122211122212212112211211221212221122212112121121111212122122212212211121221112122121212121211211222112221112211111111212211222212111122221111222122122111121121221211112112211212222211221121211111112121211211121212122111221111212111222122111122121122212121212221111212211111221112222222211121112112112122211212212122111111111212212121222222212112211112122112221111122221121122111121122122111122122111222121121222112122212112112212221111121222222111111212211121111212111211111212212221112111221122221121212111222111222111212111121112112122212121212122212122112111222122121122121121212112122121112221221221212221222122222112222121111111121212112122122112122211221221222222111212111221211122111121122111121112122221111111111121112221112121211221221111221221221112221222121211211112212221122111211112221221111211111121221112221112221222112111121111212111121221212212221212221212221111121112221222122211121211211121212221212221222122211122111211211212211122112222122222111111221221111211122212121212222222212222111212222211222112121121112222222111211212222112211122122111222122112111212221122221111111122212212211222211111211211122121211111211111222122212211122212222222221121221112212222121211211222112111111222211212211212112222222212122222222222221122122121111111222122112121111221112111121121112121221222212111111112112112121121112212212222222122112221221212211111212121222212222222221221221222221121111112121111111111211211212211222111211222122211222212211211111121112222111222222221112111212111121212121212112112121222222112112212212111221112222122221222211121112212111212222122111121212111112222122212211121211222211221222112111221112122121221222121221111222211221212212222121212211221122211112221211112112122212111111122112211221121211122111122212122211221122212111221121122221222211121221222222222211122122111121111112111112211111212111122111122112212211112111121122111122111211111211122212111221211211222221111211221121221211111211112221222211122211121111122212222111122121121122212212212111212112121111221121221112112112122112122222221112112211211211122221121111112122212122222121212212112122112211122212222212221211121212112221111222121111211222212222112121212111122222221221112111211221121212122222212222122211212121221111211222112121112221112221212111112122111111121221222211121222221121212112122211211222112112111112212112212122221112121212122122211221112221121122122211121211121121221221112122221212122212111122222221211222222221122121222211222222212112212221112122122221121121211212122112111221121112112121212121122111211122221111222212222212111112222211211112122221121212212122212222112121211111122222211111212211212121222212222112211111111122211122211211211222122211222121112122211221121212121222211212122221211212121211211212111212211121122212112222211211112111222212111112212112221212211112111112221122112212122212121112111212211212211111122121112222112222212222111211222121211212111222111212211121222111222121222211222222221112211122221211111111121122221112122121111222122222111122211122122121112221222111121112221122211112111222212221111222111121112222221211222111222211222111221111121112112122112122121111222122221222121221122211212122121221111112111111221221212112212211111222121212212122112221121122221221222112222221222122121112122122222211122111222222221221212122211111122212222111122212122121122122211122122122222221112122112121111222121221112221221222122211222112212121122211122121222121211212112221221222121111212211211212112212112211111122222122112212111222111211112222221212221112222122122122212212221121111122122112221121212121211211221221112212211122212221121122121112112221221221122221122222212211211212221121112222211212112222122211122221112122212111222211211112211221221122222122212112122221221111111222212212211211211222221221212122121212222212221112221122122212111122111112211211222222212122222122222221221111211211112122222222111111122112112112221111122112222122111122211222122111221121111221221211222222221222222122221212212212212122211111112112112122221221212211212121122212122112211222222122211221212121111211211221212212211222111221112222221212121222221222222221111222221221112221112111112121122212112222212121212122121121121122211121221212211112212112121111222222122222222111212212121211122111221112221211212121112121221222122212112222111121222121122122111121221121122112212212221112212111121122111112212111122111122222112121221121221122212122212122212222212211221221121112112112112211122222122211122221211211211211211211111112112112122211221122211221112122221111111212111222221111212222212222112121121111111211222111211211121211111221122222112222121111221221121122212211121222221122212212212221122121212121111221121111211111212121222121212112222122222221121212211111122222111212221212112211212112211111121111211211121112121122211211112122212112221112111221122122221112222122111212211112222112221222211221111222221121222221122222221111212211221122221221111121211221222111122112122122211122211122112211211211121121111222122221121121212112111121221222212121121211111222122211112122111212111121211121212211112221211221221111122121112112122211211211212221211221221122211122112222111121122111112211222122211211222222211222122121112112221122211222112112121221222222121122212111212211111111221122112111121112211221122111112212121222112111212122221111221122121221111122121121111211222121221121212121111212112211211221221122111222122111112211122111111221222211112212121111121112122221112121211212221121221221112211122122122212111111111221112121212111222222112122112212222211211222112221221222221221111222221122222112221222111212122112212121212211222111111111212122121211212121111222111122221222212121122221121222121111212122111112121122221112112121112111221211122221212212212112221211222121111112121121122212211111211122122122211221112112222212212122121111112211222211122211112112112211221121121121112212212221112221212212222211212212111121212221222211211122211222222121222212111212211222122222222112111211112212221212222222212121111112112111122222211112122211112112111212212222111221122212221122111221211112112122111111221212122221212121121121212211111222122221221222121211211222121211221212112222122212221211121121211221211221212111211211212111122212221221122122112122112212212112221112212122211212222212121121221121121221221121111111212221222121211212121111121121112112111121221221111221222222211122112111211212111221211111121122212221212112221212212111221211221121211221211212122122121221211121221121211212121122212121111112112222222211121112221112111121212222221221212122222222122221122122122222211122221111121121112112111211221122122222211122112112221112221211221122211211211122121222222121122122122212211222221221221111121211211222111122112211212211212222212111211122122112122221221211121112212111221212221221111211122211211122212122111221222111112121111211212111112121122211122222111222112121112221212112112211122112221122122111221121122221112122121222121221112121221111121212122121221112112221212211221211122121221211222211222111122212212221221122111221222212211122212211111212112121122222222121212112122221211121122111222212211112122211211112122112221212212211112122222222221111221112212222122112221222122222222111211111111221122121122111121112211121111211122111121112211112121211221112212221222111221222221222112112222111221122222122211121121222222222112122212121122212112212211212221112222122112121221121211111121112222112211221111221122122222212121111211112112111112122221121211111222122222212122111222221122212111221122211111111111112212122212112212112122221111222111122221121112122211212221212112211212111212221122221112122212121112221112122212221211121221121222122112212221111111121111111212111112121122112112111112212221112111112122122222212122212122222111112221211121221121222221212211221122212112222211211112212121121222211222121221221122122111111221212212122212122121112212211211121112112112112111221111211222112122122221111221121111221121111122112222212211222222222222222111112212122112222221211121121111112222121222212212222222121212212222111212122221122221112211121122122212112222121112222222121212121211121212221221221211212212211122211222111122212222211212122122221222112211221211122122212111222221121221122211112221222222222121221122122121221211121222112212212122121211111122211221212222212111222221222212211121221121222221112211221211221111111221112121112112111111222121221111211221211211122212122121212121112221221112121112111221111221222122221112222211222211112111112221122212212221212111222221212212222212112211212111221211122122211122212121211122221211212121211121212111121211112121222221122221212121221221122112212211212122112122111222122212121122121221112212112211222211212122121212212122212112211112112112212222121121122212121221112112111212211121222111221212222221121211112112221221221221211111121122121222212122112212111111212112122221111211221211121121111221122121112222222122111211121121222121111211111211112222121212122221112112211122121212111212112211212121212222112112111122212221111111122211111211111122212121222121211121112211112121122222222112211212212122111122221222122221121111111111112222222122212111112111121222111111121111222212221111222211211111122211211211211212222112211212211222221211112111111212112221212212211112112212111211111121212112211221121222111121212112112222112221211111212121211221112122112122221122211222211112112211212211112222112212221112211221221211122212211212221222211122211211112211121121112221212222212111122221111221221222211212211122222122122121121122211212122112112112122121211212112222221221221211122222221111122121112212221222222211221112112212222211121112112122211121112122222112212121212111221222121222122122221112221221222212212211211122111111211212122111122211121121222112212122122121112221221111111111112122211121212211121222221211212122112211222221121121222112112221221121221111112112222222211111121221121112112111212111121112212211121112122211222222111221111212221121112212221121111211211121112111122121212111112112222221111111212222122121122212112111221212122222222221221212111111212111212212121111122111112211121122122121121212112221112222212211111221112222112112221121222211112122212222222122211112211221212211221222211212222111112111222111111222121212221121212121211222122211111111112221221212211222221222121122122111222122122211112112211111221112121212211211222122211211221222112212121121121122121112211211211222211121222121221112112212222121222111112112112112111211122212111122222211112211222222212121211211211112221122222222122121121222212211121112121221112221122221112121111121212212212121121111112212221211122212112121111121121222112211212211222212221222122221212121121222221211112211112211121212112212112121211121211221111112111111212112212221222222121112121221112211121111122211112221221212222222122221222221121211222121211112112111211121112222121212222212122211222121111222111222212112222121111121211121112122222222222121211221222212121211211212221122222111211112122111111211222112122212111222221121212212222221212211212121212221212122111112221212122122122112222122112112111111211211222112112211212112111221221222222221112121111122112221112121111221221122211111212222211211112121221212112211221212111221221212222112221221211212121221212221111211121211122121112212212211212211212112122221112212122111112112121222122112221121111121221212112112221121222221112121222211221222112212111112112111122221122222211211111211121111111212212222221212122112121112111212111122212211122112221222222222112112111211222121221211122222212112221211222222111122122211222222221221121222121211222121222121121111122121211222212112211122221221111211222212112211221212221122111121112222111111111112212122222111211211121122222212212212112121221221222111212221211111112221112222121212121212111222222221221121212222121111222212112221222112211212212112122212221222112212221221122222221221212211121121212212121111121212221121221221121212221221111221111121112122222222221111121122111111111222122112122122122122222212221122222222222122211112222222112211222121121112111121121212222221112122211122211122212221212221121212212112212221121222221111111221212122121221211121122212111222121211221221221212211221122212221221212122122112222111122212112122212122212111111211112111211112222212121121111111212112111221211211111211221112122221222211121212111212222112212211221212212111111111211221121112222122222121121112221212121212212221221221121121112122121122121111221221121211112112211221212211222211221221221212211222121221222211111212112122222222111221222221112121111211211122222122111112212121121211122112221211122221221211121122111111122112221111112212112111211212121212121112221211122222222121122111221221122211121212122211221121222221221211122122212221122211111212112221121122212221111111211121112112221111122212112222212221111221222221212221111212212121111121211112121222212121222111222222122122112121221212211121211221122222121121122222112111121211221112212121111212122111221222211221222222222112211221122222122121211221211221111122111122212222222221211221212122111221112121221111221211212122211121112222112121122221111111112221112111121212111212121111122222221122212111112222211112212122221211122112112111122111211212221112122122211121111211212221211111121221211212221111221112221212221222122222221122222212122111111211112111122222112211121212112222221111121212122112211211111211111122212111211221111122111111122122112222222221221212111112222112112221211211221212212222212112111222211211211211212211221222111112111111111112112211211121111122222211222222222111111121121111222111122222112221211111112111222212122212211112111211121212121111211212212121221211211212112112222111122122121212111212121221111212111222121221221212212111122121122122112212221121211122122222121122112221221221121111111111211221111222212211122122222222122111122222122221111211112121211122212121212121212221111211211112221111222221122211122121222122121221211212111112222122211122211111212211212121222121112212112211121121111212122211222211222111121222211222212112211122111121222222211112212212112112211212221112222112122211222211211112111221221112222112122111222222222221212122121122112212121222111212212121211112221121121111121112222111221221111222121222212222222212111222122211212222212221111221111212112221112212121221212222122112111111221111111122111122211222221112222121112122221122121111112112221122211221121122111122221211122112212121211222211122121221211212211112222221212211222221222212221112121111211111121122221222211221211112111121221212222112111222222212111222121222221122222111121211112112111211121222222112221221122112122211222222211111111222211222211212222111122122111211211122222222122122221121222112111211211112111122222222121112212222222222212111122112122211122111112111112222111121211122212121122221222222111112111121112212221222112111211112121211122112122111122121221212222121121121112221212121221121221222212211121221112111221221211121222222112222212112221111121211222112212211111212221222211122211111112212121111122111112221121111211112112221211212112221112221121212222122221121112111121211222211112212111212211122212122211122211221111211212122211221222221111212122221212111221211221122212122111111222111221112122122212212121221122122121211212211221221222222211211211222221222221221212212222112212211112212111221122212111112212211112112121112111121121212211212112211111212212111222122212112211121211111211222212211212212122122112212222122111122211112112221112112122211222212111222212122221211212212211122112111112112122211211121122211121112222212122222212111112221221112122111122121111111221122122222212112122121112112121221112111221121122121121212111222122122112112122222212221111122211122122122222112111112111222221222212211111112122212212221111211211212122221111111112112122222221222121211111212111122221112121122222112111222112211211222221121111211111122222112221121112111111111121122212222112212212221211122121112112122112222221212122112121211211222122111121222122211121222211112111122221212122121222211112122111211121212222112121112122211121222211112121211222111212111121221121121111212221221211121211111112222211121111211112212121121221222122222111122221111121112221111222112221122112221122211111211122121221222121112122221221212121121211211222211112212211122211111212221222222212122221211222122222212121221211222211212211121112221212121222112212122122222121122122122122122111122211212111122121211222212221121222211221212112121122221122221121212222122221111221222211212121121111122222221222111222121111211211222222212122112121221112122212122211222211221122121122121211221221222122121111221122221221222122111121211112122122212212112122221211221111221211122122122111212112221122221221211212112222222222221212111212121212112112112121111111122112211112212122221221121221211112222212222122221112212222221122211222211222111211111122222112222121121111221221212222211222212222211122112211111111111112221122211111122222221221212222111212221222221121111222121112211112112122111112222222112122211112122122112112111221221111221112212111121112212122121111122112221122112122122111211122222122122212112211121211111111111222111121112212121111112121212222121221121111121222122121221121212111212122222211122112221211221221122221212212222122211111211212212112112121111112222122111222111111111122222211111212111211121221112222111222211112222112121121121121112122111122211121211212121121121222111121221222121212222222112121212211212222221111221212211122122122212121212121221122112212121221211111221222112222121122122121122122212222211212122222212112221122211121221112121212221212221221112221212211111121122112211112222221121211112212112111222112212122221211212112211211221221112122112222221222111212112221112122222212112121222122121111221111112122211111222112111122221112221121121222222122221112121222112211122121221211211111112221212121222111212222111211112212122211222221121122111112111212211112121112221222211122221211112122221121222211112111111212121222211212121112212212111122111121222212111212211222111222211221221212212222221221212112121112212211211112221122212121222211111121222121122112221211111212111212112111211222221221121111222221111221221112222212212122211122222211211211212111111121222222211221221111111121212111222111112212221221112121112211121111221211111112212222121221112112212211112222221111112121112112212111221221211121111221121121212111211211112211212221112121121111111221212222112221222211212222122112222122112122111112121222212212112122211222221112222221121121212121122212121211122222211221111111121211212111122211112222211212212112222122211112211212221211112122222212111212112222111221212121212222221111222211111112121121211221222221112222222111221222211221121222112211111112111212221122111222122121211111121112212212111212212112222211222211221221122122212122111221111112112112112212221112211222121222122112112121221121212221212121112112111121122222212121111211212122112211112111211121212211211222221122212122211221111222221121222111111221221211121211112112121212212112211111221112121212221212211211122121222111121122111112212212122212112121222121121122121111122111221111212221121122211111121111121112111121111212221121121212121111112112111221222121111222122111121121122122222211112211112121112111111212122122221122212121111121122122112122212122112222111122112122121222211222112112121122122122111122211211111112121121111121221211112221122211211111111222112211112221221121121111222112111221222112111212121111211221111122121112112112122111112212211211221212222111212221122122121212112222112121212112211112212222112112122121112221122222122121121112121211222222212111122212122211211221122122212222221221121112221121122222212221111111221222212211122222222221121121212221111221212212222121111211211122211221221222212122122111211112222111212221122111121112122211212111111121212222212111121211222122222121111211122222111212111221221112221222212121121112211122222212212212221211122111222211222222122122121212122212111212211222122122222221121121221121121222112212111211211122111112111122122121221112112112122121221121112111121122221121212212211122221221112121222222121122121221121111122212221121221211111211121211111111122211221211211221221112222222122221211211112122121222211111222221211222112121211212222112122221212222122112211121111121221122112122111222212111211111121211112112122112122121121122222121112112222122112211211221112221212112112221222221222222121112212112111211121221112221122111221212112212221221111121121211222222111212211121212222222122222112111221122112122212222211221222212111221111112122221121112111111121122122122111122221122222222122222221111111122112122112212122121121221122212221111211112121211122112211121111122212212211121222121221112212221111212111122212122122122221121122211111122111211221121222122111121222121111111112222112221221111222212122121212221212211111111112121112221211111122121212221211121212211212212122122122221222111121122222221111221122112111122212121211112111211211212122221222211112211122222121111112111121112211211211212212222222222121121121111212121222121211111221121121221221221121122212111222112111112211112111221111111122211221212222211112222112221222211111111221111222111122111221221211211111221111211222212122221222112222222222211211122211121121122221111112122112221221112122222121121111211122111121111221212112212121212222121222221221222212222121222112211211222211112111121122121212112122122122221222212112221121212212221111112222111222122111222222121112221221212121222211122121121121121122212122211221212122111222121122222112211112222121111221222112122212111212111212221122122212112122211112211222211111112122212111121212222222112212121222121212121122122222212212212122111212111122211112121121121121221222122111222121112222111212212112211212111111111121211112111112211211212221221111122112222112121221122122121222121212122122211121211221221221122221121121221221122212112211221212221122112212112221121121112111111211212111211122112111212111112211222211111122221212212221211122111112122112122112222222221222211111211121222121222212112121221212221221122211121111121112122121112121211111122111212212211222221122111112122112222121222112221221121222212112212112111112222112122111122111222222122211212121111222122112211111222212112211111121122211222222122111212111211122222121112211112221111212111221221211122212221211221112212122222221211211221112212122221122121211111211211222111222111121222121221222212112112222212121212212211112122212122112112122122112221222111111211221122212221121211211121111222212112211212111211112111111222111212121112212112122112121122211222212112121121222111122222222121122111211122112222121211122112122211222211112211222111122122222112122212212221112212122211222211222211122222121111222122121221112212121112212122112122211112211212121111112222212112112211212212212111111211122212121111112122221212112121112221212221122221211121221212212121121121222112221121212121212212121212212111112221121112221221112122211122221112221212221211111212111122211122121211122122212111112222211121221111112221211112122112212111112211221221122222121212122112222222112122212221222222212211112212122211122112111221111212221112112212222111111122211212111222211112121221121211211111211112121211111122212222212112212121212212222111222212222122222122112221212111112111111222221211111222211211111111122112222212212211122111212211222111222221112112221112222221122122121121211121221112112221212222211211112211211211212122112222222121121221212211122221212221211211112211221221111212221211212211122221221122111112111211222211221212122111121211112212222121122221121112111111222221221212222211222121221111212212121221211122122112222212111221212211111111122122121112121212122221111112222111121221212111112222221211212122211122211222212122112222222222222222222111111121112222121212212211222111222121121212211112111222111111211221122112121222111222221121212111111212121111112211112122122211212222122222112112122212221222221222211122212122211212211121211122122121111122221121212222212221221121111221111111122121212122222112221121121112121111211112211122212122121222112222221212122212111211212211221212211122222111122221211122211121221221112122111212122221112111222222211122122221211122221111222121212122121122121221222122222111112111212112222211111111111222122221212111122221222111121221222111122122212122122121221121122221112222121222212121212121111222122112112221112121211112111222222222212121122221112212121112111121222222222112211222211211112112211121121111222121121112211112212121122212211112111121122112222122221111222212112212122111122221122222221211111221222222212111122221212211121121122222122211121221221222212111221222111211221211211121111122111212112122221112112222221111111111112211222221212111122211221222111121122221211122211121122111222112221112212121121211212222122211111221121222221122222112222221222112222121222221121112222222122211212121112211112211212211111222122212112222122222211222122111112111222212221112212121111112212212212211211222112211211121212221221212221222211221122111112222121221221211112111222112112111112122211112211121211221112111122211211122111122222221121111111112112122111121112121121121121111211222121222121212221221221112112221211211111211211111212112111211212222122111222112222122222212122121112121112211221211222212221221122222122111112212121112221222212212122211121211222111221122211212112221121111211121121221121221222222112121221121122212221121212111112121212211111122212121222211121121112211211211222221212212112112211122112111221211222211221222211112111121212212221112122212221212222121221212211112222212111221112122122221121212121111122122111121222122212211211112121211112221221112121121121122221221122112212222222112221112222212111112111211122212222222212221221212112211111112121112221112221212111212211112221212212122122121121211221122221222222122111222222212121122211212221212221221112221121112122111222212111212211111212122121212212112211222221222122212122211122221211111221211222121121122121111122122211212221122121122121212111122112112222212221112211221211211222221111222111212111222111212111211212122222221121111111111122111112111221211221222112122222211211111212121221121221111111221222221111112122211122221121222121221211111211222122111211121111111122121212211112111122122212111222111111212111122111221212112211121221112121221112111122122221212111222222221121221122211112112111122222222112121211212221212222211222121111121121222212221111211111221212222212212122122121121212121211212222222122221111222111111211211112111211212222212211122211122121212212221112222221111211222112122211112111211111112221221222211222111111212111212221221222212212122221212212111211112111212221112221112222221212111121222112121121111222121212121112212122111111212212212222221121211121112212122222112122212112221112112211212221121121222212122112212112121111211112111111211212121221121112121111221222212221121212222121222211222122111221112211121112212112211112121111212111111222211222121212122212221111121111122222121221212121112111211221111211212112221222222122121211111222121122111222121111122221122221121212121222121211122112122211221112121121111221121121212121211212111122121111222122222222121111121122222121211121121111211212211222121112211221211222112221121221222212122111211222111211111211211212221211111121221122211212212212222122221222111221211112211221122112211221221212221212122111111222221221122222112111111122222211111112221111211121211111212211211112221121221122112212212211221211112221222122212122222112212121221221121221211111212221211111111222211212222212222112122222122112222111112211121112211211121122211221121221212121222111211111212112122211112112221111222222121212212222111122212122211112122112211121211221212112122221112121122221222222211222222211212121112212222221211112221221211111122122212112121121122121111122211111222222122122112111211211222121121221121112121212212212111121222212222112211121211111112112121212111122222221212211221212211112121222221122222222222222211222212211212112211112222222212112111211222111111212222221221222112212211211221121221121221221222222121121122221212111211111222211111211212121122222122212211222112111211112222211121211221121112212212221212222121211122111112221112121122112121121122121211211212211122221212111212112221212211121111212221112211112222122222222111112112212222221121221212111111122112222122111211112221111112112112222221112112212122211211121121111212122212111221121121111221121212222211112111112222111121212122111121212121121112212121212111221222222112122112112121211222222112122221222211111121112222112112211122111111211212111222222221112112211212221222222122211212211221221222212112112222121222112221221122221122211222211121122111221121212222212211122212221122111111212221121221122112221211221221222111212212212212222212211112221212111221221221211222221111212211112121212222121112221222122112211212112122221122111112221121121212211211122112112222211212111122222121211222212121221222221111122211121121222121122222112212111111211221221212121122211212122112221222211212221121212221122212222212112111111122212212221112212121111211112211122211221221211112111111112112211111122222121221122211211211211222122211122111221222121122212222122211212212121122222212212121212221221112222122111221211111221112212212221111222111221112111122112121111121122122212122222222112122222112221221212211212222212112212122111112112222211121111112122121211111122221121111211111222122212121111222112112211222222122211112121222211221111122112211111122112121112221212121122112211221212211222112111222222112112122112122112222112221211221122221222122121112111221122222212122211121111211222221112122212121121221111212212222212111221221212122212112121111111112121111121111111212111112122211212122122112111222221221122221121111211211111222221112211212221121122112112122222121112111222211121212122211221111122221222112111112221211112122111111121221221212211112111112112222212212111211221211121221211111111111211212211222122111121121122212111121212212112121122221212221112111211211112121222121221112211212122222212122212121122121111121121212212122222122122221211112212111121211122122122212121222111211221211221222222111212122112212221221112122222122211221122212112111212221121211122122121211212122222122222122211111221112222212111212121111221211212112121112111221121212211222221222222112121111112211121222122122112121212121121211112212111111111211222211221222222112122221212112222122211122121111121112112111212222121121222111122122211212112222112121211122212122111121111121222112212211122121221112222222222112211221112122212222211111222121222111121221211122111222111222122212111211222121112112122122112212221121112211222122112112211111211111212212212222112122111111121111112222211121221122122221222222112121122112121121221122111212222122122122221212112121221122222121212111111212121222122111221122222122221222111122212221122122221121211221121121122121121111221121221112122221122222211212211211221121212122121221211111111122122122222111112211121221122121121122212111211111221111111122122111212111221122122121122211121222121212111112122112211122212211122221122112212221121121122222122211222212121211222222122222222221122112121221121112211122221222112122112111211221112211211112121122122111221112221211121112121112121211222222222212221222221121212212112122221211121111121112221122112221212111211211122212222212211212112121121222222222222122211222111221122112221211111111112111221211212112111221112121211122112221222211111111111122222121112212212122122111121221122122122121221212112222211112221221122111111112121122122111122221121122121211112122122122221112221121211211212112211112221121211122112221122211122122111121221111221112111121221211222112211212221122221211111212221111211212121221222121221211222211221212112211212212121111111221112121211112221121211122121222212111121212211112221121212221221112122112121122112212221122212212212112222111221211121122221112222122111121222211112121111211221111221112112122222112211222111111221122212221112112211212121122122211211211112112121122211122222222111221121112112122121222111221222122211112221221122112221221221121221112111211122211112122112112122221121221212222221112222122111212212122112111121111121212111121222121221212222212112112221111121211121211212221222211112222221122121112211121211222221222221212221121111122211221112122221122121112111221221222112222121111121121111112211121112122112211122111221221221111211112221212122121121122222112111122221121112221212222222222121222122111222122221121121212112121122212221212121121212111221121212222211221211212122122212111222122221121121111112221221111111222122212221112222121221122212222221222212211222222211211212111212121122122121211111112122111221222221111212222122212122121212121111112212221121111111211212222211222111212111211211111221111211212112112121111121211212111122212121222221221112122222212221111211221122111212211112111121221122221121112112221122212221112222121212112112111112112221122211211121111222222222212121111211212221111221211122221221122112122221211112212112211211222112121221112121211221121121221212121121111212212121221222122122212211122211121112112122212221111212212211221221122122121221211112111111112122221222111122121111212121211111112112221121121222121111221122112111111121122211222122111112111212122211122212122211222212222111222212211212111221121122211212122112211121111212221112121222221212121222121211212212112122112211111122211121211112112221122221212222222111212122221121221221111121221211121112222121112221121121222221212212211122122222212122222222212212121221111222221222111122212221221111211122211222111112121212222121212221212121211122122122221212211221121212122211112111121121212211212211222112111222112112222121111222221222212112111121212212222122222111211121222212222112111121122222112121222222111222112211221121121212112112122121212111122211121221221222221221111121221112111212222221112222111221221221112211121121212222221211122121112122111211111221212211221212212212121112122211212121121121122111122111211122211121111212122111212121221111222122121211112111221211222122112222221222112122121221221112212222222212112122222211111212221222111222112112221212221212222211111211121211221212112111212121222222121222121211222111222121222111221112221211121222222112222212222222122222212111121211212211121121122211212112111121212212121111121221121112122112212211221121122122222212221122211212221212222212212122212212222211222111212221221112211121222112122112121221211212111122112112122121221111222222112212122121121112121212212222111221222221221122221221212112122111212211212121112122112211112211221212121212121122121111222211121112221221121112111112221212122212212122122212212112222221121222122112111112122222211122112222212221111211211111121121111111222112221122111222111221212121221122211122222212122221111122222212221111221211112122212112212221221211212111121211222112121111211212111222112221111221212121222211212121222111112121222211222112122211212221121222122111121122112122121111112112122211222121211112222211212212121112221111112211211211211211221122122112111221211112121211222122222221112121211112212112112121122121221111121211112212222222121121122111121112111112211211221221221112221211221222111211121212112112212122121211111212212211122111212121121222112111222211111212212221122211212212121211112222212212222212112222211122222222122212212211112112111112222222221111121212121112212211122222222122221211212221212212112212111211122121122112212211221222222212221222212211211211112221222122221211221122122221122222121112212221211112222111222222221111112212212212121212121212122111221212122121121111111212212211121222112111222212111221222112122112112211221221211212221221122111112222212211121122122221221222111211112211212211111111211122111112221212111122221212221222122112121112112211112111122221222222221211111111222212211212121222221222112112212212111221222111122111211212211122111211121121121222111121222111221111122211221222212221121222221222222211112121221211111211111122121111122111111111212221221222122121212121111221122121112121221221212221122112221222122221221122221112112212111211221212112121221112121112211111112222111121111111221121211221121112122211221212211221111121222212222112122112121121222121222222121212221111122212212221212221121121221221112122121112211112211222112122221111111121121112212212111222112121211121222111222221212121111112211211111122221212212211222212111212221221211211121211122222222222212222112212121222121121211222121111222121211112122112112211111212112211222112222121212222112122222222111211222212112211121221211122212221221222212211211121221122112112222211111212212212122222121122122112221211212222122222222211111221222122112111112121211222112111221111121221222112111122211112221221112221112112112222212111122122222221212212222122212111221112221121121212112222222112222211122222111112222111212111212112222111122211211111121222221112221112212211221222121222222122112122112111112222221222212121121221222211212111211112222222121212212111122121111112212211111112211212112221212212121212211121222222221211122222212211211112212121112121122222111122211212222122112122221112211121122111122222211212221222122121121221111221111122111122122122122122112222222121212221212121222122211111112212211221121112111112111211212222121111221121121122122111121222212121221111212111122211122211222211222221212211122221122222211212212221111211222111121111111212222222121211121112211212122222212111121212122122211111122221222111122211222212122121222221222222211122122212222221112112212211221121221111212121112222222112212111112211211221222121221221121212221112222121221112212121112221121221122222112122112111222222212212121122221221122112211222221222222222222221211221122122121122121112121121221111221212112111112212112121211122222111211222211222111112112222112111111221212121211221122111112121211111222112221122121122111211221221122121212221221122211221121121121222122121122212212212212121121121222222221211112122111112211222121121122122112121222121121122211121211212222212222112112222212111221122211122111221122212221221112112122122221112222121211211222221212112121222222221111221122112221111212112112111121122211211121112122221211122112121211212121211112122211212112212212111212121211211122111122221122111111121121212122112111111211212121122211211111121211222111211122211221121221122121212122211211211112121112222121112122112211211122211111221211212112222211122112211112221221112112111121111122212222122221211112221112211112221111212111112212222111122222211211112111222122222211222221211222212112221212212112212212122222112121121212221211211221122221211221122112221221221221221222121111212222221212121112121111222122111221212121121111212112222221121112122222222211121212121222112211112122222222211121121222212121111122111212111121111111211111221122221211112111112212211122122111122112212211222211111222211111111221122122112121211121222112112222111121121222221221122212121122211211222212112212221121212112212111211221221121221122111221111221211222211112111121122222112121221121121222122221222111221221221112111112212222221112211211221221212222122111211212121112111212112211121211121212111222121111222111121112221111112222121211212111111212121122221112122112122222221112111122121111221122222121121221211111221112211122122212222212221222111211222121112221221211221122121211221111221211211112111211122112121111121111221222222111212111111221221212212111112211111121211222212122212111122211111212212212111112111121111221111122221211121221121122222121221212211111212112121122122112221112112122222111111222221221122212112112122211121212111111111111211221222212221121112122121122221122111121111122222112111222222212211121112111211222222112222112121121111221112121111221212122211111221122112212111222112211121221221211112211112222121222122212221212111112221221212221222222211211211121111121112121221222222221222111211111211112221221112121211222112121212121112222111111222221221122111212212122221111211212112122211121212111222112121211122221222211121122212122222122221212111222112211122112221121111222221221212221122112221222121222122122222121212122111121122212112212222122111111222221121222111211121112122221112121221122111121221112121122111111222221122221212211111112112111111112112211111211221111211221221111222112112212212211211222112212112121212222212122111221221111112221121211222112111112122111221121112222222112111212211211222111121121211121112212211112211221122211212121112212122111122221221222221111221112111222122211222222222222222111211211222222121112111112112222121111111222122221121111222122222222121222112112111112221222211222222211111211211221121121111211222212212212211211121211121122222211221222122112212121212111222222112121222121121121221222222221122211112111111222122211222121212111122121212221121112122111111221121222211211212222121212121112112221211121211122122121112122212122212111111111122212211112121121221122222122112112122121122221121122111121211122121211222121222111222222212211221221211211211122122211122122112122222111221121211112112211221122122111222212122222222211122122122111212112222111212221112211222112221211211222121211211121121221112111211122211121212212211211211211111222221121121212221122121222122121212222221222211111221112112121211221212111111221211112111221121212212211221221122211121211111122211122121112211121212121212222121121111112111222212121112222112221222112112212122222112221121122112122221112111112212112112121121222121221211211121221121122122122112112121222122211121211221112111221112112121221121112212112221111111121212112221111212212121211212221112122122211221111111212211112221111222212212222122222222212122111122111111112212111112112112211222112221212222111221121111222222222122212221122111222211211211221121112122222112221112222212121111211122221212212112211122212111221221112212222122111111211111211122122112121121112111122111112212112212112221121211121121212122122121211111221121111122221211111221111112212212221221121111121112222111212121212221122121222112211112112221211112211222112112112212121112211121212122222222111212122221121221211222221122211222221112121122111111112122122211211212111212122221112212221111112222121221121112221222122121111221221212222221112221211121122112211221121111221111221222112222122211122211112112222211211221222221112222111112222121221112212222211221111222122111212221121212221121122111221212222122122222122122122222112221211121111211221222111112221222121112122222122212111112211112121211212222222111222112212111222112212222212121121121111121112212222212121221211222122212112122222121122121211212211221211122211212211112222122112121112222211112211121221221112111121121221111211212212121222111122212221222111221122211211111111222212112111121222212221221221222222112221111122111112122212211112121221221222221121211121221211221212212222221111221211221122212112222121212221121222212121212222222221112121122112221211121212222122221121221122222211112221221211121212122111111112122112222112121122211221221221212122221111222122122211111222211212211222222221222221211212222222121111222122212221211121212221122112222121112221222211122211111221222212211112111221112121111212222122211122122221211112111221221122122122211122222111121221121222222112121211122222122211211211121111121221121222122121121212122122111222212121211122112222111221222112111111111112222111211112222121122122211212211211212122222112222212122211222212111221112212112111211112122112121121221222121111221111221112212221121111221222212212211122122122111212112121111111221112221221222212221111221121121212222222112112222111222121122122122112111122121122122111212221221112212211112121221211122112211112222221212112121111221121111112222221222121221221221122222112122222221111122211121111222211212111112112221122211122211122112121211222122212222122212212122222212112212211221212222212122211211121222212221221112221121212122221221122121221221112111122212221121122211212222222122111212222121121122221211112111122111122122112111122111111122221222111111211212122111221121112221122112111111122112112211111212222212122121211112111211112212222121212211222112221221212212112112121211211221212211211211122212221112111111121212111121211111221112212212112211122221222222121211122112121212122122121212211221122212222122112212222212211111121212111221111122112221122212221121211221212212121121111112112221121212212221121212221221212221221221222122122112121221211122122212122122121111211112122211212111222211222221221122122112111221122222111222111112121121121211111121221111212222221111111122221121211121122111221222112222211212112121121112211111111121212211211111121212222221222212221122211222222121221112112212121222222212212122122122211112222111222211111222112211221111222211221211221112111211211212221221121211111112222121111221121111111112222111121222221112221112112222121112121211221112122122222121122121121222112212222222212221221221122121221211122111222222112122111112212221122221111111211221221112121111211121222122112111212221211122121211112221121112112222112212112111111122111111112121122121122221212211121121211111212211212211212121212111122222211222221221212222111211121121112222222221222121221211212212112212221122222121222122221222121221222122122121121122121121212121121121111222212222121221212222112211222211212122211221122212112222221121112212121212121212112122211122111211212111211212111222212112111212221212111111211221211122111221121122211122111122111221111112121111211212121221211112212212211221111222122211221211221212121121122222121211221222122112212212212211222112211112121121122222222122112112221222222122111111221222222221121222111112211121122211112112112222121212122211112221112221111112121121221122121222121112211212122222212211112112122111111112212221121112222221121212222222222222222222121211121112111111221222112221112122121111111121111221222221212212121221111212212111222221222221111211211221211222222221112111222122212111121222212111111211212122112122221112122211121111222112112121111212221212122222111221211211221211122222122211122122122112121121221222212111221221111221111122221111211211211111111121112122212211221112221111221222222111111221212211122222222122212112112222221122221111222222121222121111212222121122222121111221221112112121212222112211212221121121122211212211212222212211122211212111211211212211112121111111121222111212211111211212222112122112111221212212211222212221221221222212112122121222221221211222221121122211211222212121122211122212222212212112122221122222222111112212211221212221212111121112221112222112112122111112122122211221111212122111221112122112222222211222112111211221122111221111121121222222211211211211221112122221211112221211221112121221221121121222112112122112121111122222112121221222111121112222122121122222121121122122122121111122112112112112211121111121121211111222112111112221211112121121211122211111212122122212112222222221222212212211111222122121221112211221112112212211211222112112222222112112122222221211222122212122212222221122122222122211212221222212121121211121221221221121122222211122121211122212221221211211222121211222221222212112111222211121121112112211112221222111212121112121112111221112211112211221212222111211122122111212112121222111211112222221121112122211211211211111221121222211211211122211111212211211112212122211222211112221112212122211212211212211121212212212122222112212221112222211221112111121121211222112212211221211112111111221111112221222222121222222111112211121121222112211112211121121121121112221122122221112111212212122122221211122211121111111121222122221111122212122111112122111221212211112111122121111211221222121122222121121111121111121221211122212111112212122221211221122111111211221111111222112221121112222112211112212212211212211121222112212221211122221211212221122211222122112211222211212221211212222111121111222121211112111111111112211222211211211221221122112221112122121122211112122121112221221222221121122112122222111221112111112222111212111111221211111121122121121112222221221221112221221111112112121112211211111112112212222222122111222122121112211111211222221211111112221221111222212122121211211111211122121211121111122122221111121222121211222222211111122122121122122112121111222222221111222111122221121212221122212212222222121221112221112121222112112221212222211111121122212222111221112212212111221111212112222222111111211211122211222122121112211121221111221222212222222111221121211211111121221211112112221122112111221111212111121111222122122221121222211121112222111212221221221121222112121111222121122221122221222212121212212212211212121111212222121212121122211222212222121211222222112221122212112111111212122121222212111212222121221122212222121212111221212111212221222221112222211112112122112121121222111222211122121122122122121221121121112122211222122221222221111121211112211212222112222111112122112222211111211221211221211211222221222222212112212122211112221221112112122222221122222121212112122112111111222222111122111111122222221211112212121111111111122211211222212221222111211112121112111111121212121222111212221221212121122122211112122221111121212212222111122221211121211212121211222111212212111221211221221222211212111121222212221111212122122112211112211221211221111222112111212212222211121221112222211111212211121211211111122122111122111111212212112211211111212111122222212221121111211121211212222222121211121122222221222221111111111211212211122122212111212111122221211111121212111112122112211122222112221111112222222222212122112121112221122121211121122112121211111122112111121112111212122222112222121221111212211212111221222212221112211222211111122222112222211212111111211121122122222222111212212222112221222221122211121122121212111221121221121211211221122212112112222221111122222121122221222111221222221112111222122212211112211122211122221121222221121121212122122221212211222111112122211221222211121121112211121111221212122221221121221112121121121122121111211111121111111211212121111121121211211121112121212121211111111112112222112121122211112111121222121112221122121211111212111221111212222222222222121111122111221222221212211112121222211121121122212111122211212111122122221111211121222111222221111221122212121211212221112221212121221222211221222111212111212111211112121111122222122212211111111121122212111211111121122211221221222122212111211221111111212112211122222121121221121211122122112112211121222221221221122111121221212112221222122221221112121121222221122222212212221111222112121212212112221221121222212111212211111222121211212122211221211211211212222112222112221222122111212222221111211111111212222112211221212222212212211112122222212122211111221112221112221211121222221211112111222212211122212112222122221221211121122122122111211222121212211222122212212221122211122221121121122222211111212111212121221111222222221211121122121121211221122122212221121211222222122222111221112121122122222222212212222211111222121111211121122121222211222212212211211212122111221122121221222122212211111121121211212111122211111211221111222211221211121221111112111121112122122111222121212212112112211111221122222122221121221212222221221111122211111122112222111221112211212112121222111212221222122112121122212222112112222121212221221221121121122112121111111111122121112111222222121121221211121111211212112211112212122122221122111111112112121222112111211211211212111211111212212211222221212112211111211211112212222222212212221221222212121121112212212121221111111211222121221111111112222121212212121112221122121221222111211111212122212111112111211121121211212112121121112112221121222211111111211111211112211112221111121112112212221221111212122121111122121211211111112121222112222212121111222111112111222212112222112122221211122221221122221112221111122121111211221222111121221121221122212211212122121112211222122112112122111221212211111111112221222112121221112221121121211112211111121121221222211111221221221212211212111221121112122122122221122222112112222222121222221122212111212221222212211121111211121111122112112112211111121121111221221111122212121112221221122111221122211221212211111211112122121211111122221111212221211221122112111122111121122121121211122211112222222111112221221221222212111111121211211121112121212211122111112121222121121121222121111111111121222121222211211121112111122121222221222222211112221112121112222121111222112111222112211221121122112122211221112212211221112112112222111212221211221121221221122112212211122122122111212212222211212212212221111112212112212212211221111121112212112111221211221222211122111212122221112111121122121212211221221222112212221221221121212221111211222211122112122221122112121111121121221222111221222222112121122212211212122221112212222222111112212221121211212112121112222212221111121221111111112112212221121222112112121221112221121212212211122122112212112212212211121222221221121222222111112222122121222121212121222121111122122121122122211121212221111211222122222121211112222111221122222211111222211122111221122122212211221111221121111221122111221211122112222212211122212221121222212222112111221212212111222211112222211122222122211222111212221222212112222222111122111211121212222122211111211111222111222211122211222221212112211112122212122212211211211112121221221122122122111221111222112211222111212211111121211111211212122211222112211221222221112122111221221221121222121121211112111111221111211121221222222222112112112112222122212122211212121222211222121122121212212211221121122212122221121221121122122212222112122112221122121212111222112112212211212112112222221111212121221121121212112222221122122112122222222211212212122211122221221122211111222222122121121121222121122212211112121111122211221111212122212221112121111222211211122111121222111221112221212212221221112112121222221222212221212112211221211121212212121212111121112111222122212212212122112111221122221212221122122121221121121221211212122211211222121211212211111212122122221111212112221221111212112211212112221112122211112122222111112211222122122211222212122212122222122212122211111212112221121111122112212221111211211121122112121111112122212122122221112112221111222112221222121111111221212111212121112122221221222121121222211121112212122222212122222212211122122211221112212221222122221111112122211121221112122122111112121112122222111112222111212212222111222212221122121111212222211222121211111222221222121211122221111221211222212122122122112122122222221111212112221211212221212221112222221221212112122211212112222221122112211121222212122121122222122121112121121222212222111122222212121121121222211121121121121121212212111112121212211121112121221212121121211112222112212122122121112211112222222111121121221121111122112112122122111111222112112112112221112211122221112221121211112222121211111221221221222122121122121221112121122112212211122221111211111121111121222222221112222211222212222111112211221222112212221121221121121121111221111212112222112111211121211121112111221112112211111222212221222122211121121121222212121212212122211111112111212212121121112211111212221121212212212211112221121121211211212111212222111112222111112111112111222211122221122211211211122122221111122111121111222111211112122112112212122111212121222111111211112111122222111121221211211212212121222122121221212221121122222211112211111221112112222222212222121211112222212211212221221211222122221211211112221212122222122112221121221111121121211121211112211121211211221221221222121121121121122121122112121211122112221122221121111212211221211221211121222221111111112222211112111121112221211112121221111112111111121122211211221112112222221221112112211122212112211222211222121121122211221122221221121121121212122122222121212211221122111212112212212121111212222222212221221121221222211112211112122222111221222121121222222222112222112121221121112121122122222121111111222112222222211121212222111211122221212211211212211112222211121211211222212211221121111222212121122121212222111211222122222111221112212111121121122122212211222122121222222212221221211112221111111221122111121112212212111212211122122122211222111211122111112121112222212212122112222211121122211121122221221212222111211121221222222222111222211121211122212211112212111121121112212111222112111221121222212222221211212122111121122222211112222222212121221121122121112112111212221121212121112211112221212111112112211122122121221211122212111111112112222222211122122221211222112211112212112222122121111122222211212222112122211121121211122122211221212111112112122121122122112211112212211222212111222221122221222111122211111212112221122222121221112112111112111221222211112222122112112111222112222212112212122111212121122111121111111121221222122122121211112122222111121111121221212221111121112111111111111112112121112221222212121222221211212211222212212112121111111121221212212112222122222221211121111211121111122122121221221121222111112121112222211122121111121111111222221222211221111122211212112222222111221211112211211122211221222221112212211121221112112211111212212222211212121111212111212211221221211121221111212221221112222211121121221111112211222112111221211112112211122222222121222211111121121211221121122121222211112211211211111222221221211222212111221112221111122122122211122211111111222212212122121121212222121111221221222222121221112211112121122121212112221122111222112221221221221211222122111122121212212121112212212212212212221121222121211222121211122111211111111221222222112222221221111211111222112122222222112122111122212222212112212221222212112111211111222112211112121121222211221221112121122221221211111121222121122121222111122111212112121121211221111122111122111121222222222121112112121121212122121112221211212212221221122221111121222222221222112111111211121222222112212112122111211111122212212212121212211212111211211112111111122221222221111112211111112222111221122122121121211121121121222211121221211211122222121221112221112112222211111111212112121121122211122221222222211221212122111112211212221222122221222222121211121221211122112222212222111212212221221111222122211222211221221211221112122212222111212122121211121121112211122122112222111112112212212211111112221122121212111112212112212112211222222112122222211211222122121121122221122111212122112211211112111112211121222122221121111121222111111222122211111222111121211211212222111122212121112212211111222112122221111121222111221111212211211212221212122222222212211122221221112122122221212212121121112111112112212112122221112121122211121121221222221211222212122221112111121221122212222121211121222112112122212111211221221122222112121222221121111122222212112211222111211121221121121212222112222121122112122211122211122112122221211121222121112111211212212111112211221222112222211222122112112111211111211111221112222111211222112211211122122221121112221112112212121221222111122211122211211112111112221121221211221122111221211221211212111112211111211212121211222211112111112122211121221212212222211221211122112221212221122222221212122222122111221112221211212122211111111112222112211111122211222221222121211212212121211221111121212121111111221122211121121212111221112221122212112122211111112221212211121121112121112122122211222212111112121211221112212111212211122121111112211211112222112121112112112211212112211221222112222111211211221122222112222121112212112111212111221111112111221111122121112121222112111122111121112122111111111212211221122122121122211121121211121121121111211212222111212222112122122212211121111212222222121212111212211211122111211121222221221212122221121221222112211212221211112212211212122211112212211111112211211212112121121221122111212122112212211111211212121121111211112222211112221222211212121221211112122112211121111221112122112222112222212112222122121211111222221122211221212211122211112211111121211222112221211122122112222212221211211122121222122122121121111211221212112121221111121222111211122112211122211221112112122121122122122112212211222211222121212122211221121121211221221122122211212211212112212111212222121122112111111122222221222112222121212222222111221112121122212221211211222222221122121121111211112221121112121111221112211111122221122122122222121211121121121212222222122221211212212212221221221122212121212221111221211112112121222221121211211221121111211211222211211211122212211112121121211221212121111121111121122122221111212112222112221211112112121212222112212211221112111222122221112221122222112112221221111212112111211122122121211221121111112222122111221112122222211121112111222122211222112122212221121221222111111212222221211211111211222211122222112111222212221111212211111212111122121122222112211212221212221221211211212121121122212111121112121121212211111222111121112222122222121121212212112221112212122211221222122212111221222222212112221212221211112211122211121122212222121111112111121111221122221111122211122121111212111212221112122121111121212121212111221112222212222121111112211111111121122111122121121211111111112112121112221212112111111112112221121122212221212212122221221111212112211222122121111221211121112211222222122112221122212121212112211122221111121221112111211111222122211212221111112112111112222122222111122222111122212222121121122211212211221211122212122112121112221211221111122121211221222212212121112221122121122111212111221112112122111212211111221122122121222221121211121222211212121222211222222211222221222212211221222212221211121112221222211122221222111222112121122112221211111111211122122121222222222112112121111122112222211111121211121111121111222111121211211211221212121122122221112212221211112212111111212211121211212112122111111122221222121121221211111222211112212112221212221221211122122121221212122121211111121112212212112112121121112122121121212211221121221212112112221121211222212122221212211111221211122222211211222112121222221221222211112222221121122112211212121121212211111122222222122212211121211211122121112111212212122112111112121111211121211121122121222212112122212112122222121222122122221122221222121211212211211112212221111221212211122221111212122211222122122111221122212221212211222211222212212212121122222211221122121212122112121112222221221112122212212111111122112211122221122211222111211121222211112221221211211111222111121111121122122211211122221112211211212121111112212211121221222221121112212222112121222212211112121122221111222211112121122212112211211111211121121211212221212121222121212121211222211221111112122212212212122212121111111212221211111212112212112112212111211112212212111222212211122222211121121111211212121111121221112221212121121211111221121122121212222122221121212121222222122121121211122212111222111221211121121122112221112121122221121122112122112222122221122211221111221212121112121112121211222121111222221222112121212211122212112212121212212111212221121121122212111111212222111212222221212221211212212111222112212222112112112221221122122112111111212211211112211221212211121112111222221221222121121211212111122122222222222112112222111222222121121212112112212222212211111222212122121211212111122221122212122121122121211221212121221212111111111112121122111111111212211112122211112122122222111221122122112211122211222122121122111211112121212221222212222211111122222122212221111211221122122121212212211112211122122212221212121212111122112111122121221121111222211121121121222222212121222121221122221222121111212221122122122221111211221121121112211222222112221222211222221212222212112111111122222122111122121211221111222112211212111112122212122212121121221111121211121221122111111211112211211112212111122221212122121211211221212211221121112221121111111112112212111222111122212211121111222122211112122221221211121222212111211111121122211122111122221211111212111111221222122211221211211122212112221112111222222122212112112122211112112122122221121111112222112222212111222121212111212222211221112212111222121111122121121112112212212211111111112212122111121212212221212121111222222122111222212222222122211122121122221112222222211211121222221212211222221212222122112212212211111111112122221121221111122121211221122111112211222211211122222212112121212221222122122121221211121122221111121122112212212111221111121211221212121211121221211122211112121121111211111121221221222112221212122111121121111222122112112221212222221112122212221212221211111222122222121212112121211122211212211111222221111111211112121212221112221221211211222122221211122221212111212111111222221112212112112121111221121111112121122211222211122221122122112111221112221221221112222221112112222211122222221111121212122212111122222212211212211111112112122221221122112111211222122111211212211221221111121111122222121221222212212222111111221211122221211111221111112211112212122222211211121122211212221222121222122121222111121121212121111211112112111212112222121112221222222111122122121211122222111211211121212112121112112122122122111122112111112222121211212122121211212121122211111122212112212212121112211111122212222121221222122121212211121211221112212211122222211112221121112112122212221111212121121212221222112122111122212112212221221212221122222222111212222111221122112212211121221211222111212122112212112122211212111112122121121122111112212212212122121222221121122211112211211122112122122211111211212111222221221112111211221212212221111122122112221222212211112122111212121111212212211112111121111222221111211221212221211221212122112222212221221121111122122222211122212221222121211221122212112122222212221111221222222212221221111111111111222121111122112222111211212221111222212112122122212122112112221212221221212121211121122222212221212211211112221112211221211122111211222221212112111111211121212221221111222121121121111211121112122122111122212121122211222112222112221112122121122111122211121212222122111111212221111211111211221122212211222211112211111211111222112122122111212212121212211222212221211122222212111221122122221221212221121221221111121211222112211221112111112222221211222211221211111222121111221221122212122211222122121222211211221121212111112112211111212221212111112211212112222221211212211122212222111221222122211211112111121221211222122212111221122111212211221122112211212122221111221111111111222112222111121112211211222211212222222122122122111222222121222212122211122211221122122211122112112112121212122222221212122112211222111122112122221111222112121111121111222211221122212221121212211211122212121212111111221221211122212221211121211212112121122221211122221112122222212122211112212221112211222222221211211111211221111222222112112121111112112211222122122111212121222112221111111122212221222212211122221222122111112121122222211211221121211212121111122221221111122221212222212122121121211212111221222121111121211222111212222121211111112111222111122112212112211122111111212122121221212111111121111221122112221112212122112211221122111111211121121112222211212221121222222221112112211111122221221212122222112212122112122211222212222212112111111122121112211122212212121111111212211122121111211122112121112211221122211211111121212222121122221212212122111112122221122221222111121121211222222211222222222121212222212122122222122111121222222111111122111111111112222121221112111211111211112121121221222121221111221211221211222222121122121111111221222221211112221222212212111212122122121122122222121211212122121221211112212111211121121112211112111212111211121121111121221121212111112121212221112212122111221222122112211112211211221212212111111221212222222122121112212212121221122212211221121211212212121122111111211221211211222211122221111121112222211122211211212111111222222221112112222121211212112121111111211112122212212222122222111222212122222112211121122221222112111212122221112211221221221121222212112211221221111121222111212212111212222111222211211211122111221111222211122221121212211112112212222112112222211112212221221112112221211122121122111221121211112211221222112211122121211222111121121111221122212211111122211212222221111212222212222212112122112112121212222111222211111111211221112222221221112122222211222211221112222122212111222122122221112111111221221211112122221121221111211122122122122211222122121112211111121122121222221112211221121222221111122122112211222122221222212121221211111221222122121122211112222121222212121221222212222221122212211212112122112121111121222211121112211112122112122211222222211221222212121121222112111212111211221211111121111121211122212111212121112122222221122112222122222221222121111212212211221221121221121111212112112211121221222212111212112211212221111222222121122212121121211111121221221211122122222212111221221121111112212121211212122222111122122112211221121111112222222121121111211211212221211221212112212111112112221222222112211112111121211211122112122211112121212122211221121212211111212122112222111221122111221211211111222211221112221122121112111122222212121111112122111111121211222121212221112111122111111112222222222222212211212211112112222222112211212211111212112112122112222111121112211212122222221221121222211111221122211222112112222112222121222122122221212112121122222212221111222211222211121112211122122112221222111212121112111221121112222222211212112212221111111222111222211122121212222112222212222221211212212222211221211222211212111112112122212121212121111222222112221111211112112221112122112222222111221112122122111111121121212112221222112222221112211211122111112212221121122111112221212211221221222222112111212111111222211111121212122222211122211111212121122122121222221211111111111111212221222111221121112211112212222222212112221221221112222222121122111112212112211221112121121111221221122121111121112121211211211111212122212112211121221212122221111111211121111211111212211111222121211112211211111111211111121212212122221112111111122122221121112211121121212212111112121222112111222122221121221111122121212112211121121221121212111212211121211221121111211112111222211212121111221111212221211111121112212121112122122112121212111111211212111222121121221211211112212111222122222112222111111221112222212122112111121122122212112211121122122112112221111111112221112212121221111121211221221212222212121221211212222221221122212121221111121222121111222211121111121111122222211222112221212211121212212112221122111112221212211121122121112222112222221211211211221112212221121211122121222212222221211221212211121211121111111111222211211121112122211111122222221211222111112212211111112122221122211121121221121111212121111121212111121111112212212211111222221121212222212112121122122221212112112221212112221212212212112121111221222122212222212112111111212112112121222211211112212212122122222112211211222211221111111212111111222221221122211211221211111122212211212112212111112211122212112211221111111121211222222122222111212211222111212121222112112122211111221121122111112222121112121121211212122212121122121212221112121112122211221212222112112212111221121222122212212111221222221112211111122112112111121222121112121211112111222222121211222212222212221122211222122212222221121111121111111212221122212121111111222111121122121112112122222112212122222121222221112111112222111211122222222121121222212121211221211111122122112211111211221112112212122122221122212212211221122112221112221112211212122111111221211212211222121111222111222121112122212122122122112211111112212221112211121122212111111222112211212112111211222121121212122211121221211222212221221211112221121221212221122111112112122222212221212222221111121211211221122222112212212121121212212121211212122122221112212111111111112122222222211112121222221122121112221122212221122211222122111212112211211211212122222211211112112111112112111221112221122121122221211212212221111122121111111122221111212122222111122112112121122112222111212222221211211212111121221212111211122111122111222222211212112111111111212121121222112121121112112211222122122121112121111112111112212111212111222122111121222221112212221212222221222211221121222121121112211221222121212121122211212122121111221122212121212111121211221212122221221111112121211221211212222222121222121221222221221212112221221112221222111112112121121211212212221112112212221112112122212211111122221111111112221122112222212112212221222111222111111111111112222212112112122112122111212122221222111121222111211222121211211222122122121111221221111112212222111212122112211111221111121212222112121222221222221211211211212122112111122221111221212111221222222111221221112121221222222221111211121111222122112112121122221221212212221122222122221121222222121122221122111111211221121211122212212222222112211111111112121211112211112112222112121122221221212121111122212122121121212211212221211121221221121211111211112211111112112221121221121212121112112222212111112122111221112221112211222112122221112211112221121111222212212212121211222121212221121122222211111122212211121121111221122221212111211122122211222211212112112212121122222221122112111112121212221121222221222222122212122222211211112121112111122121222122112211212112112221122212222121121121211122221212122122121121112112221121121122121211112121212211212221222121122122121222221122111122121121222121222121221211121112111121221122222222212211111211112222111221221212112111112222111211222212211121212112212111222221112222122221122111122222121221221212111111121212221112121111221212222212212222221212221222121122221222211212122212111212211111222212112222221111122122112221111212222111221212222122212121222211211111121111211212112112121212222211111221211211211221211212112112212222212222121122221222122211211221122111211122211111221112222221112212121121112121111121221221212211111111122121221211121121112221121221122111212212212221212222121121111221211121221121211121111121112112222122111121112211121212221111221212111222111221211121212121122212122222221122122122212221112121121111212212221221112112111111111121222111111211221222222121111211222212122212111211211222112112211112122222211211212221211122121112222211211122121212112222112222212222211211222111221112122112121122112121121221212222122112111121212211212121112212212112112111212222121221211121111111222122211221211222221212121122211221221222222221221112122112112211211122112221111112112212222111222121122212111212121121122222121212212121112111111121121221111121212121121111221122222211222121212211211211112211211122121121111122221211221212111121221221221121211122221211211222212122112112112222222211111112122111111121221121111211211222222221111212112111111221112221111111121221122112111221122112222121112112221111121122221212222222122221111222211121212211222212112211212212112111222221112221211121121122212211212211221122211121121122112122222122112111122211221221211121212222111212121122112211221111122112212112121111112212111222112121221121221222112122211122222211121112211212221222122222221211112211221121212112211221212122212222212221111212122112121212222221122211222112122222212112121222211212111121121121111211211111211122221122222111121122211121221221111212112111211222122112211212221221212111221221111122222122222221222121122121111121121122211221211222121112112111122111212222122221112122221112211112211112112222122112112121121222211221211121222212222122222212222112211211111222121222122221111221122111222221222222122211111112111111221121211211111122122112221122121112122212211121122211212111221212222111112222111221212222212111121122122111111122111111212121112121222111121111122111121211121212121112111212111122121212111111112112122212111222211112221212211221222212111111112221222212221112112112222111221112211112112122112111211112112112111212121111222222122122122111111212212121212211212122221111122212111121112211222122112211111111212112211221221221212211212111211112112212212222222122112211211222121211221122122122122221111222212211211212122112211111211112212212122111222222212111121112212222221112112122121211111121211221212121111122222122112221111121211122211221211111221222122111112221112122211211222112122221112111122222221211212122212111222221111212122112121221112122121112212111121111122121222122122212211222212212122111122222211122111122212222122222112222112211121122212221222222212221121211121222212222211222111212221212212112111111111222111112221112121122221112212221112221112121121212112111211222121211221222112211211121221212211221111212211221112111211121221211222122121221121111111222212112111112112212212112122111111221112212111121222212112111212121212121111211121221211221112122221212122112122122222121221211112212122212221222221112211111222211122122121121222211111222121222121112111212122212222112212121122221212222212212122112211222121222222212221122121222212212111111122111212221222112122112212112121222121212221121122212221212222112122212121111121221212122121121112121212112211211222222211212121111111122121222122221221111212111112121121111221111222121221121221121122212112112111121221212111211212221121122212222112221211112111122121212111111121111111112221211111112211211222121121211211112122111211221111212211111111222221111211112112222221111211212211222111122111111112112211221222111112121212221111112111111122121111121221121221112112212221211212222112221121211212222121212222121122211222222111211222221122221112222212112222221222221122122121211111122121122121211112122112212121111121221121112122122121122221222112211212111212111112222111211222112121122112221211111112121212211221122222211221111111121112122112121112121212211111212221121222111111211222222112212112222122121212222222112211212122112221222112111111112111212122212112221222211222211111112121121121211222122221212222221122222121212122121121122122121212221212222211222122222222121121111122122221112222222212121121112222121112222122222112122212222112121212212111122211112112221222212212222222211111221122121111212121211121212212222221121112222122111221211112212211111222211111121112121222122222111121111212222122121112221222211222112211111122112221211211221112111212112112122112112122212122111111112222111211112121112111121222111222211211111122211211212122212221211221222111122121112111112111111111221222112221222121121111222122122122112221222111222112221121222221222122222122112112212211222212222112211111111121122121221121121222121222122111221122112221122122121121111121112212212121111111221111111122211222211212211212111111212122121221112212122212211111211121112122222112221212211111111222111111212112111121111111212221222211122112222111122112122122211111122222222122121212122212111211222121122212221112122211122222121211112222212111121122212221111112122211212122211122111121211112221111121222112121221112211222222212112222111121122111211122121122211121111111221211112112122221111111211121122212221112121221111121211121111121121222111212212212212221121112111222121211111112211121221121221211122221222121212212111212111121122212222212212122221222111211211211212222121221221121221212122211112112212111221111212222222211121221111112112211222121122212121221212212111112211221222121221222112222121212212112212112121212222122122121111121222221121221211222122222112112122212121222122112211111222222222112122122122122222121112221111122122212112212112122221112211122212222222111112121112121221112221122112221211221222121112222211212122111222212222212121111212221122221112211111222212212111222222222222121111111122222112111222222221121112121122212221221212221221121122111121221111122221111221212111111222122122111122212212121211122111222211112121212121212222122212212122221121211211112112222122211111121211222221221111111221222211212222222221221112111112222212121211111111212121112121111212222211121211212211211222222111212221212221111212222222112211212212121221111122212112122121112221221111221122111212211222111121111122221121111222121211211111111111112122111212112112112212221222212112212122112222222112111122211112212111212121221122122211211121122221212221121112122111122121112211111211112111122121212211111211112112221121121111211121111111222221212112111121212221222112211122212122112121121121212121221111122111111111221111111111112211122212222122211221211212221222221122121121222111121222221112211212221121212212121111122211122111112122112221121222121112221111121121212212222211111222211122221121221111112221111112111212211221112211111212211111222112222111211121211221112121211112221211111122112112122212212221211111222212111221122212221121221121211222112121112122111212121112122222212122112112111222222211212121211212111122221112222112122212221212221221121121122112221221212111211211212222211122222212122111222121211122111221122111121111222122111111111212212222111111121122211211122212212111221211122112221212112222222112211112221111222212122112111122212222121212222122112112121221111111111212111122221121121112221122121221122122111212121212221212222112121212121222111211112212122212121121111111222222222212111121222212211221112222121111212112111111222222111212221222222111121122212112111212222221121122221121121121121121112221111212222222111122112121212212121211212112221222221211221222111121122112212212211121211212111122112112121111122212212111112111111122221211222112212212112122221112112122121212222211111221212111111111122112221221122111112112222211111121112211221122112212222221211111112122111211122121122211112212212122221122111212221212222122112221122112112112112211211211111111211222222222111122122112222222111121111111112212211121211112112121112112111112121221111221122211222221121122121121211121222222121222222212121112222222112112221122212111221211212211121221111221111112121112122112222121222211212111112221121211211122112122112111211121111121211211121211112222222122122221212122212112221112122222121122112221221112222212222222212111121122211122111121111212122122211222112112211121111121122211212112221111112122222111111112112212221121111211121112121212121121211222221112211121121122221211111121122112211122212212121121122222121121121211122211221221212221212221222122121111222111122222121122112121112221121212112222221212121221111111121211121111111112121221222121122121212122122112121121121111121221122221121212111121112112212122221122222112111112111221222111211122121112121222122112222122221112111222111212121211112221211211121121121121212121221112211221121122212121111111111211221112221121112122121221211221221122221212221122112121111211112112212111221211111122121221212221111122121211111112212112121122221111122211112222112121222122211212122111222212122121211122112221212222121122121111222211122211122211122122211112111222221221122112122112122112222112122121122212212122121212211121211121121121121122121122211122122111221212122222212121211121121212211121122211211211222121222112121222222221211222111112212221122221122112211112222222211222121111112221111111111212222112221221212221112212112121211121221212122122122122121222112222111122122111111122112211121211212111222221112221112112122222112121111212122211212111121221211211221121221211121221221222112111212221222222112211122211222222212112212112222221111111222221211121111112111121122222221212211122122212112212212212122222222222112222111212122122222112212121221211211211112121112221222222222111211212222212212222211221112212122121212211211222121111211112211121221122111121121211212121122111122121121212121212121112222211122221221112121111211221112122222112111122211112122211222122111211212211111212212222121211112121212212111211112121221212112212222221122121122122122222112121121112112221221211122112222121221211222111112211222121111121211122122211121122211121111211211112111212112121121121221121121112212221221121222121111221222211212121222222222221212212211212221111212121222121222222211211111122222112122221212211212211211212221111122211211211112221211212221111221221221211122111122211222121111122212121221122111221222112111212112122122112211211222121222222211211212211122121121221221221222222122221211122111211111211212221121212122121221222121222211222222221222222221122112121121122211112121112112222212211221212211221122222211112212111122212111222212212122111221112211221212121122222112122112222221111122121121112111111122111211212112222112112222112121221222211122121121222211221122121121121221112121111222122221121221122122112122212222122212211111222221112111221222212121111121112221121211112212122222212112211222211121111222111222212112211212122221111221111112212222121221212112212222211111211112122211221112221222212112112111221222222121211111222222222111211211211222211112122111212211221112111122111212211221211221111221211111121122221122111212211121122121221121122121212212221211221122121212221121212121111211222111221221212111222121222112211121211222112221112211111212122212122222211222122122222122212122111221221211122111212211211111221122211121111212222122221212212111112211212121222222112121221211212122111112111221222212221111111121211222221212212111212221212111222122211212121112212222111221112222222122221211222122221211221112221122111111122122111122112111212121222111121222222122121221121111122222121221111121121122121212222221111221112122222211222212221122211222211122222111112122111121121112222111112212112222122212211211122122222121111221112112112121221222222221112221222211212211121211121122112112222211121111221211111111112121212111212221212222212112112222211112211211121112211112221222222221122212122122112211222221212221122212211111212211211222122222121221211122222112121111122121221112211122121211212211222212211112121112212211222221221211122111121222212212222111212122112112222221211111121111112111221121122121112211112221112212211122112121122122221222222222222221222211211111121121221222111221112222221111122122222221222112121112112121211121111212221121211212211221211111221112111212122221121122212211211212121211222121222211122122222221222222221121111121121221122211212212222221221112121121122212122122122212212121112122121211111221111112211212211211212112222212122121111222121221112221211212221212112111112221111222211221211211122221112212121121121211212111212221221211122112211122222122222221111111122121222221121222221111111121211112122111211122222211212212122211112121111222111121112222121111212211111111122211111121111122121111222221121122221112221111122111122111121222211212222211111221222222211122222122121111112212121221122222211112121122121221211112122211221221122122111211112111221121221111122112111122121111121121221211222222211211121121121221121111112121211212122211111112211112121111122222122112122121222121112112221112112222222211112122211112112122121212221211112222221111112111122222221212122222111221211121111111122221122222112112111212221212122122222221122221221221222212111121211221112222221211121221221221211211222221212122111111112111222122111212222222121211212221121121111111122211112122122122222222111121212212111221212111211121122221111122112212122221111121221112212211112121221122112221222112212221212122121111212212112121212121222121121212121222211112111211221212121222111222212221122211222122221122122111111211111112112112221222221111221212111121112222211121212122221121122112212121111112211112112211222212222221221221122111211222111221211112112211222222112222222121121222111222122121111121121221122122212211211121212112122111122112122222221212112221111222212112222121121111111111211211111111212121221222222122122122111112121122212211221112122112121222121221211221122121222112222222221222212122111222111112122221111222222211112221221112121112222211212121121111211122212222221221211222221111221222111222212221212121122112222222122221121122221112111222221211212222212121121121222121121112212221111112222121122121221222211211222122212111222221111211112111122212211212112111212222121111121212122212111212221112211122111122111221222221112122112112121121211212111112112122222222221111222112212111122221212112121222121122222112121212212122122221222221212111111222111121212222122222221222122221111212212121111211112222221121222111111212112121111121221122122211221221122211122112121211111121111211211221111211221221221221222221122111121221112111111211221112121121111122222222122212122211221222122112112121122221222221111121222222121111122212222111111121111121221212111222111221112212111112122111221112212221122221221112111122222121112211211122222122212222222222221122222221121222222222221211222211212112111112122221112122211211222121122221111121211112221122122221221222221211221121222222222221121112112121222211111211222212212122121112221222121111121121211222112222111121112211122111212121222221221121121121112112211122111111212112121122222111212222212212111221222221121211121211221122121112112112121112111112122211222111122121222211122121222211122221121212112221112212122212122211111221221211122211212221111222212221121222122211212111212222112222122121221112211221221111212121222121122212122221112111221112222221121222212212121122112211111121121212212121112121121121111112111112212221121221222121122222122211121112112111121212222222212112112122112211222112111222112212122222212112122221112221222222222211122222121211122121111112112121121221211111221221212121122212221112121222112222221121122222212112221211221211112222111112221121211112111212111221111212222211111221121122212112122122122222112211111221211221112211122211112112221111121112112122112212221222222111121111112122112212111122111221111211221222221121122221112221112121122211121211112222211121121212212212212111122222212112212222222212212222212121212112121222222112211211222122121222121211211212122222212212211211211212211212121221111122111211211212112122211112112221222112212112222212111112122222122221212121121222212112211211122112122222122211222212121122222122221112122112111112222121212212211221121221222211211212211211121112121112221121111222212212122212112221111112111121111122212112121121122211222222221222122211212222222212222212211121122222221112211111122111211212211112221212222121112112221211122121221112211121111122122212122212222111211111211222212212121222111212211212122222121111111122122221112211111211212122112212222111212111222111211222221122211112211112111121222121222121221111122221211212221122221112212222212122121212212211212111222211221211121212111211212112222111122211221212112111122112222121211121212122222122222211211112222122212221111122212211112111211211122111122212112211112221111212221121111211221212121212211121111112111211222122211211112222212111121212222121221222121222221222211222121212112212122121211222222221212211212212221111222111211222221212121121122111221122222212211211121221122211212111122222211211212122222111112111221222122212221221111211222112211221222221111112112112221121211111111221121211121122212111212222121112121222222222212122211122121122112212121222122112121112221112221222111211221221211122222122112221222122221222112222111221111211111112211122211112112212112221122211111212211211121121222122212211212222111222122111211111111122212121211221212211221122211122221121121212122222112121222121111121121222122121221122212121211122112222122221121211111222121222121122111121222121212112111221212122121112121112221222222211122121211121222211212212212112111211212122111221121212211111222122121221111122222122212222211122122121112122122121211222212212112112112112121222122111222211121122211121122121211212112122122221211121111122211212211211112212221211112222212121221221211111212221222221122222111121112112221222122211122111222211211212112122121112212211222122122212222222111221222212112111212111212222122212212212111122121222121211221212112211211112212212221221222122211122212111111111221211211121121111221122211222111121221111112121222211211222221122222112222221112211212222221111222121121121212121212222222111221222122111122221221112212211111222121121121122122212212222112122222221122221221212211121221122212221221112121212222122122112121211122121211121212122122221111222221212121122212211121122212212122122222122121112222211112112222212112222211112212121211211211112122112211112211212112122221221212112112222212221112111122122212122212212222212111211212221111111221222122222111212111112121221212211112222222222121211222111122212211211121221221222111222122122122122212211221221212221121111111122221212112112112221122122122222222121221211112211122121211111112211121121212221121211111221211212212122121121121122121111212221121212122121211222211212121211122222112222222222212112212111121111122212211112221211121112221212211222221212111211222221211212211211112111212212121121122111111221222121212221122121211111122122122112212221111112122122121212212121221221111212222112212122222121212222111121111112222212121211212211222221112121222122221221211121222211122212122221111212212122222222121122221212212111111121111112111112112212111121222221121111221121121112122121221111211222111112111122222122221222112212122111112112112122222122121211111222121112212221222212211222122212222222222222122221121121211212112222112211211112212121122112212222111121121122112111111211212122121211112111212111122212112121212121211111112121112122121121212221221122211222221121122222112222112221211121112122222111212211212122221121122221112221121212112211122222121122212121121221212212222221111121122121211222212212122121121112122111112212222111121112112212221121121221222222222222122222111222222111122221121221211111111221121112122221112111211121112221112112121211121122122112221121111112221221122112111122121221212212221112211121211211222212222111212111222121122111211112112112121112122112111112221112211122211121212211222211111112221111211112121111221122121111112122211222221121221211111111112111221221112211122211121122122211222122121212122211211122212211112122222112212112122211222212221122121112111121211111112112111222111212122112112221121122211112111221112121222221111122112222211221221222212112111111222122211222211221212221221222121122121112111122221212221212111212112211112222111222221211111111111211222212221222211121221121122112121211222122112211122112112212112221121222212112211111211221111112212212212122112222111121221211211222112122221121121122222122111222122122111222121222211122211221221111221112122212112222222122212112212222221112211112211221122212112112212222111222121111222112112212112212111122222221111222112222222121111212111212111112221111111111122221111212211221212112222222221121112111211212221211111121122122222112122211122211212122212222112211212221121212222211211222112211122222211112211122211112221211121221212111122121111212112122221111112122212222121222221212112212111111112111121122122222111112212121121222211111122211122211111222121121112211221111111112121211111121122222222211221112111111112221111211222211221112221211121222121121112121122111122212211111212121222111112121121111121221221211121212111121222121222211211111221111122112121211211211121111222212111111121212221121212121222121112112211121111112212211212121212221122221121121222211212112112212221212221111122121122121122122122212211111222121121121122121221112221221111122211221211122222211111212121211211112211111212212212211111221222112212222212112111112222122122111211121221122112112111112211222111122211121212221212121221212222222212112121211212121111221222121121122221122111111221121221222211111122112121211211112221221112112211212121111221112221212211212121221222222121211111111111212212121111221111111221121222212122122121121212121121221111122212211212112122212212122122222112221222211111111112211122111221222122211122221122212122211111121221222211211112122211222121111112121221222122222121221111111111222111221211222121112122212211211212221122212211222211212121222111111111222222121212212221211112222222111221112122211112112111222212122221222221211212121112121122211122222121122221121112122122212211112121111111221111111212112222112221111122111112222222122121211112121121212122222122222111121221122112212222221222111211121221211222121122212212111112212111122211211111221111111212121121121212122122211112222221212222121222112111221212221211122122111121121221112121111212111212111112122222112211111122211121212212222112111112121111211222211112122212222211121121121222211112222222122212122112212122212111112112212212212211112122221221221212222112111221211211222211121111212111221112111111121221211122111111111211212111211222212222112121122111222222112121121122222211221221111221222122122112211212111222222111222211211212122112212122222121111121212121211122111121212122112211211212222222112112211121211122211111222211211222222111121111221211222111212212111221222211111212211221212112212222222111211222212212212212111112212112222121121212212121112122222221111122221121221111112221122221112121121222121112112122111221122112222221112222121111122121212121222211112112222121222211221211221112221111212122122212121112122211121212112212121112211122212122212212211121121122221221111122212212212222121211212221222222111111212112222111221211122221112121121122212121211212112122112212212212122221112112212222112112122212221211111112221222122212112211222112212212122221222122211211111112211212221211212221121111112122212111121212211221221121122221121211222122112211221222222122112122222121111222122211122112221122222111222111112222211212111122221212221211212112121121122121212122121122222112111211122121112122221221222121122121222122221122111221211211112112122122221212111221121212111222211111221212121111222112211112112121112121212111211211112111222222221112121121222212122211211212222221221221121111111221222121122211211121112121221211122222121112211221111122111212111121122122221221121121122222211112221122122221222121111221221222222212212212111212222211211111221221122121221122121122122112111121211212222122122222212221111212222211122122221211222222111221212111122212221222121121211222221222222111111211212122222212212222211221211221212122222122211111111211122112111222212122221122111221121121222222112221112221122212222121211111121212221111211212121111112112121122221121112122222212112112221211212211112212212112121122112121112212221222122112221221112121112211212111122212121122111221122121122221112211122111221222211222222121222221212122222212221122211211222222122211211111121112112212112111121112222222111212112111111212221122212112211121112221122221211221222222212221222121111211211211121221221222212122121111222122122211111222122111212222212221221111112111122121211211121221111222121221211112112112212222211112121121112212221112122112221121212122122122222212221222112121122111121212212222211221112221212212121212111111111112212121222121121111122111122222222112212222121211121211111221111111222211222121221111221122122112212221112211211111112122121121111221212222111211111211211121121212121212122221221212111121222212211112212221212211111122222211121221121211212211121112112222211221122221211212111121212112211222222122121112112112122211221211221122122121122111221122122211211121212212112222212222221122122211122111221111112112212221112222121122212211121112222212112121212112121122122121211222211121111112221121221121112111111212122222212211111111222222112121211212221112121121212112221221221212122122111112222111222211222122221211112221222221122212222121222222211211111121222121222211121222221112121222212112212221111221112221211112212211121221221122122222212222221212121212221112212121211121212211122121222122211111111221111111222222112211122222112212112112112222212221222221122221122211112111212211222111222211221212211122112212211211211222122222111122111222212112212122221122111121112121211121221221211111111112211121112221221122111122221111121212112212112211121122212222121221121212121112112111211222111221121112111121222212222112121222222121212212122121112222211112111222121122211121111221212112111121111112222222122221211211221112221122111221122221122122222122121111222222121211121121222112122212222211222212211112112211112112121222221112222111211121211122221221112211111122212122211211112222222122112221111222222222121212212221112212122111111121211121122221222221212222111212122121111211221211212122121212122221121121111221222111112221211121112122111111111122112212111121222211222211222221111222111212212121212212212122121111121211221212122212221222222122221211122112222121112121212221222212122212222122122121212221221212222121222221122122112121121122221121111121222211221121111211221211211122211222221212111111222121111121211121111222112112112122111222111222111121121111212222212221111122211111112121111211222122122222122122122221112222212212111121111222222211121212121222112221211222221122211111111112221122111122222122222111211212222121112111211222222211211122111112122111121111112111222222221222221212212221111111222112212212222112112111221212122211111121111222112112112221211221121222222121111122221112121211112222121221212211122212112221212121111211111221122122111122222111212121112222222121122111122221112221212222121222211211212212211122212122112122221221122122221221111222211221111211211221112221222212221122112111121121122112221121222122111121212212112122212212111111112221221212221122112122122122111221221112112112221112111222111111212222222211111121222211111221211211211112212122212212111212111121111121122221122111111212222221212212111112111122222212212222112112111222112112122212221112112122222221122122112212121222121111121112112222221111111222121121221221212112212222111211212221211222111221112122211111221221112211212121211112221211121221222221111111222112212211211111112121111212112221112212221112211112112121121211211222121222222122221121111222121121112212212222111221122122111121222212121111121221111222112121111121112212221212212211111112111112111121111122122112121121222212111121211222112121122111122211122111222122222221222212121211122121122121121212111211212221112221121111121212111221221121122121221221211221121212112121211121221111212121211112121122121121221212211221122111111111212221122122211221211112211121111111111121212212112122111221222122122221122111111121112121121111221222221121221221111121221111222212121222221221121212221211211212221222112122122111111111221221121121211111112211111212121212121221122111212121122121112111112121112212211121211212211122211222112222112112212222221111222212112121212112221111221122121221121222212121111121222211212111121221111112121212212221122112112121112211121121111112122121111111212212121121212111211211111221222122221122221222222211221111211112221121222112222122122111222121122211211221221212112212111221211211112122112221111222111112122111121122121121121121121121121212212122212211212211221121121121222221222121211212121112211221122111121211221121121211112211211212111222121221121212112211122221112122111111122121222221212211111111222122212211111112122122112111211212221121222221212211112222121121221112111121212122111211221122222122121121212121212121121221121222112221121111212121212112122221111222122121112211111111111112111222112211112121212111111121121112112211112221111112122122122221221221112122211222122212211221121212111122222111212211122122212121121111211222222212222111122112122211121122121112122122221222122212121121221122111112112211121212212111122111121222111122122122111222112112122122221111222222211221221121211111212221221111222111222222222211122221112212211111211222111222212212221121112111222221221111221212122111211111221222211222221112112112212111222111111111221121111111212212111221111122211112222212121111211211222221221221112222121222221122211211122111212221112122222112121221122121222112111221221222221122111212221211222121122211122221222222112211212212112121122222221121122221221222221222221122112122122122111222222211221121221211212121212222112221111222222211121222111212211221221122211221111222121222221222121221122221122121221112111221111122211122222221222112221212112111112212112222222212212122212211221221212222222121122221222211111212111111221212121222222111122122222221112211111122121212122121111211222111221212111221222122112222112211111212112221222221122212211122222122222221111122212112212122112211121221112211211112122112111111122211112212112212111122122111222221112112222211221112212122122112222222122212112222121211222222112222122212211212111211221121221222111111212211212111111212221111212212111121111212111112211211221211111121121111212111111121111122221111121212111222212111222212211121222212112112212211212121212221121112221112122222111121211121121222212111111222111221222122212111122121112211122211222211122111212221222122221221221222121112112221121221121211122122211121222212211111111112212111121212112122121121122111121122111211122122211211222212122121212122111222222121121212211221221121212122121221222121211211121112111222121222212122212122211122121112222112211211111121212212111211211222212212212221222111211121111111221111122211222222111212222211222112212212211122212112211121211222121121222212221122222111112222211111211122122222211211122121122111112211211111111221112121212212122212112221212112122212222122111222212221121212122221121221212111222111121111122222111122222221111121112112121211111111122111212212212212111122112211111112121112222221221222112211111221122222121121222222221111211122221221111222122111222212111221212211222211211111111121221221222222122122212221122221112211122121222211211112221121221212111222212211111111111211212111122211212212111121221122222221111111222122111112112122221112211112122211111212211112222211211111121221212122111221122212122221211112221112122122122121111212112211122222222221121221211122122112111212211122121112122112111121112121122112122121121112122121122221112111122221122112122111111111211112211221122111222111122112111112212122121212111211211112112222111221112121212112111122122112221112122222222121221222121111221221112212212111212112122121212221121212112111121111121122112211112121111211212111111221222221122222122111112122121222222121121212221112122212111122222111121122222112221121221212121112211221211111122121112122122122111121211112122112111221212211222221211122122222112111121221222112111122222211112222111211122211121121112111121111221112122111122221122212112112212121211211112112211111222111221212212211211211121221122221212212112111212112112112212221221112111221221211122221121122222112121121212122222211222121221111221222211222111211112212222121121112112111222112222221111222221222221111212111121212111221221212121121121122111111222222222212211211112211221211212121111122111221121122121122212221221111221222212222112111212221221221211122212122111122222212112222221121112121212112111212222122211212111222111222112121122222111221111111111211222112211212211121222112211111112111211222212221211111221211112122122212122111211221211222121112212212121222122112211221112122112212221221122122222122121221212212222212111111111211221122111121211221122121222211111121221211111221121212112212112212211211121212122111111111122122112222111222111211112121121222121122111112212211222121222211122222112121221222222211212111211211211122221221112121111112111111122112222122111211111121121212112221222212222221122112121121212221211122222211222221221121111211122121111121111121112212222211211212222221221121122121212222211212222211221111121122122121221122212211121121221212221111111212112221221222111212221122122111122222222111221221222122112221211121121222221222211211211122222121211112221222122121112111111212122121112112112112211112121212211221112212212222211122221221222211222111222112111212211121212111122211112121221121122112211212111122221111111121222221112222222211112211122111222211111112121122111121221122212121121122222221221112212222112112121112211122211212121222122112222221121222211112222221212122122122222212111221211212121122222211121122221222121121222212221111121221222122122121222222112111122112121212112112121122222211221221221111112111221221222121211122122121111221211121212221111221112222212212112121112211111111221122221211212121221121221122212211221211212222222111222121211121222112222212211221122222111212211112222121111112121122221111222212211211111121222212112211221112111211211122111221122121221112122112211112121212221121122222222211122112121221111211122111111222122221212112222212112112212121211211121112122111122212121112212112112122121111111121222121112122111111112111222112211222222211121211221111121222122211222121212122112122211111122122222112122222222222212221122122211121221222122212211121122112221221122222222112212212221211211222222211222211221222111221211221211111212112112211211112221112222121121112221121111221122121212222211111111221111211111212212122221111222112111211212221111221121122121211121111122222212221222112112212222212121221111221111221111222111122212121121221112221122121111222211222112111212111121112122111112212221111121222212122211222112221111111122112111122121222112211211222122222212212212212222212112112221221122212212211122111111122111122112111122111111122121222111121221221211211122122221111212212211221121212221222111111211211212211211112222121121211212112122112212212222222111221211211111121212111121221112111222112122212122222222111122211111212212212111111211222121112112222122211111212121222212222211122211122211212112221212211222112222211212222212212111212222221111221221211211122111212211122122121221121221221211112112212111122221122122212122221111211221221122222121122221112112121211211111112211121212221212122111221211112122211211221211222111221221222121211122211221211222111111222122222212112212121221212212211121111211112112222212212221221221121112211212222211221112112112221121211111212222222211211111211111222121211111112112121111211121211212211122122211111212221112221122222121121222111212222112111122212221122222121221121211221222212221221212111122222211212211211222221121122212121222222121122222112121222112212122221121112112221221221222111111212122111121111121222211212221212211222121222212122111212221111221122211121122221211112211221112221111212121112122122211211212122221122111111211112111221212221122112211111222211212122211121121212111212211212122112221111112211211211121222211112212112221212211122111121212122211122112211111221211221111111222212112122211121212111221211111211111222221111212221122221221112222121121222112111112121122222112211122222211222212212211112212221212112221222121122212212121122222212221211221212112212222212121121212222212122221221121212121121212222221122121212221212222222221221111222112122211221111222122211121212122122221112211111222112111112111121222112222121211221121221212221112121111212112221122121111212212122111112111122211111212221121112211122121211112212221111122121111111112111121121112122212112222212112122122111112221211211212222222212122222112122222122221111212212121112122212112112122112112211121121121121111121221111111112221111112122122111122122212221121121211111112222221111122212221222211122121122212121211112111211212221212112222112111212221222112211211111222121211211121112222212212222211221211221211121111222122122111122111112122121212212121111122122112121122212111112122211221111121112112222111222121122221221212222111212221212112121121212111221122121122211211122121122212122121211212122112122222221221221211112111212211122211112221221121121122211211211211122211211111221222122222111121222211222121221111222211122112211212112122222212221212112222112211122111221122111122211221121111112222112122111211211112112211212121112212221211121122112222121211121121222122212211122211122121122222111122122112222111121221212221111121121112211221221221211221112221221112222121212221221221212122121212222111111112222121211221122212211111111211211121212122122212212222221212212112221211111121212222112221112211212211212222122111122211121221211222212112121122212121211112212221212221111122212112121121222212122212222111211112211221122122112122122222212222122122212112112211122211121221121211211222112121122112222122121212111211111121122121211121121122112212211222212212122111121111112222211112111122212211212121111211221122112111121211121122211112111221212211211212212212122221121121222111222111122121112221111111122121222221221222212212211122111111122122222121111221211221121212221112111122211212212111212122112221122222212111122112111111111221222112222221111122212221121122212122221111121112112221212112111212221112111211221111111112212111221111121222212121112211222222121122111212122111211212112121211122121111222112212211211112222122122122111121221112111222212111211221121111221211122112212122212111112221212111112122212111222222112122212221111211111221222212122112211111222111111122222221221121221112212211222112212121222111111111112211112211111111111122111122122121121222211112122211222212122111212122211112112111112121212211211112211221122111222221212211212221221112221222222222212222221222221211112222122112222121221122221212222111122121211121111122111122221211121112222212121212111212122211212122122211212121221111221122222212221211212122111121112111212111111221111112122211121211111212221221112222111221211211212121221112111111221122212122111211211221222121212212211111111111212122122222211212222221221111212121222112111112222211221121122222122121211111111211122122222211221222122112121212221121221121211222122112112221122111212211222221112211112211212221111221221122221212211221222112212221111112212112122212222121212122121211222122112221211221122222122222121211121112122122221111112122111212212221121212112212122212112121122221112111212111111221111211212112121212112211212222222111221222112222211221121221112221222222111112222121211211212112212222121111212112111212112121121212212211211121121212221121222112221211121211111211212111212221111211111212211212122121111112211211222112121111211221122112221211221112212122212211111222221112211121121212111111212222211212211222222122221111111112111111211211121221221222111222111211222222211112121222221211222122222211222221221112212221122112221212221212222112222222112122221222111121111122212111122212112121222111111112212111112122121111122112111211211111122212211221222121222111111112211222222121122211211122112122212111212211222111211121211112212121121212212122221212122112212222122122212111221212122112112122221112221112122111121211221211222122212211121211221122211122221111111211211112111121122221222121112211212121221122212212121121222122212222221211222112111212122221211211111121211221222211112121211111222222212121222111121212121211211121122221222211221221121122212211112221221211222112211112222212222122221121211212121222222212221121211122111222111111121111111212221212122121222112222221221212222212111222222222121122222221122112122122121122121122111121122122121221212212212111221222212122112112122221211111212122212122111111211121212122122212111221111222112112212111122122222222212221221212121111121121112112222222121122122112212222212111112121121212122222121212222111211112222221211212222221222122121211111222122112121211111211222121112212221212112122211221122112121112211112221211211111112221112112222111221122112111112112111111222212211112222121222222121112111221221222112111222112211211211222222121112121221122221122111212211112222111122122222111212221111111222121211122122111221111121121212212212112221212211221112112212122212112112222212222121122122211121212112222122211122122211111122211211211111212121112221111121121121122121112112211211212112122121111122111222222122121222222211211112121221222211222211211122211212111112222112121221221111221222111211222221222222111121122211211211222221122112222221111111112212222122112211111212212112221121121221112122221211211111212212221122222122222121112111122211122212222212211222211122211222222221122212111111121212121121221212211122122222122222112112212111112111212112212222221121122222222112111122221222112122211211221111212221212112121112211112121112122122212222112222112211222221121121222212121221211122121111222111211221211222211112122122111121222222112212221222121122211221121221121211212121112222212221222122222111212121221221121211222111211112222222212121212121121121222122111221121211112211211122212111222121212112211112111112122111111222211111121221112221121121211112222222122112221212112112112211211222112112221112222221111111222212111122211112111211221212212212211111111211112122121211112121221112121121211121112112122121222221212122121222211121212121212211221222212211222212121211212222211112212111112122121211222221222121221122121221222122211121211222122212212121212112211212222121111121111222222122112221211112211221112112121111221121122212221222212121112222221121111221212222111112111122121222121222111211122122111112222122121122112121121122221112111122111112212222121212212111122212222122111122221222222211111112122111122122222211122112112112222112212111122221112211121111222222222222222221122221221111121111112111221221112122122222222221221111122221112212222122122221221121111111212212111211221211121211111222212111212111111121221112221111221211112211221111121111122111122122111122122222222222222112122122211122221212221211112121121111212122111112221222111211222212212222121211222112221221222112212211212112222122211212121212222211212112222212121222221222212211211222121112121212111221222222122112112121121221212122211212121122212112212211112112212112111212121221212112112221212222211111211211212212222121122212111111121111212211121111111212222212221222222211212121111112111222121212212121212111121212111211121111211112112121221121112221121222221211212121111122222112221122112212111211211122211222221111112211121211221211121211121222211212112111122111112112112112122121111222111112211112122112212222111122211111212121211211111212212111211222212111222112112221222121211121212112122222211222122111122212211211122121122121122211111212221212121211222212122222211122112111211212111211122112221211212212212122111212221122221122221122222211111211212112211222221221112122212112121112111111221121121111111121221122211212222122211222211221122122111111122111121112111122122222212112111222122122222121111212111121222122222212121211111111112121211122221211111122222112211122121221221211211121222122112212221111211221111212111211212112122211212211111122212221222211111121222221211221222221221212221211221121221111222111111122111222212121211121211112222211121122122122212222222111112122221112112112122112222112212122221122121121111222212111212111212211111111111121112122111121111112212222112221211221221222221112112121122211121122221122212221111122221111212212121112222211122212122112211112111212212221212221211111221211222111122122111112111112121222121222121121121221121212111212112221211112121121121121222122121222221111222221121111221111122221221121221211221112211222121221221221121111112112212111211111212121211112211221212221221211212122222211111122211222121222122212222122122111211211212211122111121221111111121122112221112112222212221112111112122211121222111122221122112111122222222211222121221121112111121211111212222211112212222212122221111221221122112121122221212112121211111212112111211221122121212222121212211121122221121122122121212111122212111122211111212212222122111222221111111111221112221221222122112111111122222212122122122222211212221121111211221221122122121112111222212221121111122212211121211122111221112111222121221122212112221211111211111222121211111221121121111222122211122212111222211121212121221122212211222211122122221121111112211112211111121112211121112112112222222222122121221122222121211212222222111212112211121221211221212212122111111112111222112112121222121211221112212221222221212122112222112111111111212121122212212122111211111121212211112111221211112112122221211112211211222211111211122121122212121212122212222222111122221221211111121222121121211121121121212211212211212112211121211211111112211221211112212111122221121221212112222112212211121222112121122122122212222211121221221222111112112111112112221222212122122121212211112221221221112121122212122211212112112222221211112121121222212112121212222111122211211212222211212112222111212112221222122121212222121111222211111212222211212121212121222222112212222112212212121121221222211221222122121212211122122122222221121122111121222212121221211121122121212221121122211211211211211221212121212212121211221112212221111222112112222212111121121211112212122221121122121212112211222211121212122221111222222222112111212221212212111221121122122212222111221111111221222212212112222212121212211221221122211122111211112111211221211221221211222211122112212122221112211111222211211221212111211121211122212112221122211111221112112221112222121112212122111212212212111222111222211111112222211212121121122212211222111111212111222212211112112122112221212212112212112122112121221111212122211212222112221111111222122211212111112122112212212211121221122222121211222111121211211121212122111221221211222112221111212211222111122212121221212211211212122211212111211222211122121221221122221112211111122212212122212111222221121222111222222222211122222112212121122121111122222121121111122111211112112212212112222212221112112121211111122221211112112111121212122111212122212111121222211222212121222122222122222212112111221222222111121112211112111221112222122211211112111122122122122111212122211212122111112122111122221222121211222112122111112122211211122121121222122111222121122122211111212212122112211211211122211122122121211112221212111122121122211211121221222212211121222112211211212111221122211122211111211221111122112122111112112111122212211121211212221221212121221121121121122122112222121212221121122122111121111112221121111222222112221122111111112221122222121222221122121222222222221222212222221212111112122111221212212122121212212112121222122121112111222212221211211112121221211212111112122121212221212222111121222221221211121222221211121221211112222122111112222112211112222211222111112122122121221221221221122222211112112212122212112221211212212121222121112212121212222111111211112121222212211111211122221122212111212122111222212211111211221211112122212221121122212222211111221221121112222222221122112221212122211122121121222221211121211212221212212222221121122222212221211212222121222212121212122112122112111211112221212121211111211112211121212122221112122111221111122111122222212122112111211112112112111111222222212111222222111212222221111122211122112211221121111111212122221122122112211122112121121212111112212222222111222121112122212221222122122211222111221111222112122121122111222122121112222221211221112221211221212221221221212112122211122211212212121122122221122222121211211211222222211112112211212222121122221122212122211221112121212211112112111212121221121222112122212211221122121111212221212121121121221122122212211121222111122121211211211211222122111212121212122212122212212211211122121112111212222222212222112112221222121121122121211122111112121121222221121121121221122111122211222212212221122111211111221221111212111222111221222221212122121111121121211222212112112122122221221112111212122212112222222211112212212212211111211212111211111121111211221121222211212121212112222212122121122222122121112212222121211211121212121221122211122221111122112211111112222221222222212212212111222111211222222122121222111211121112212212111211121111121221221212111222111111112212212111221122122221112212212111122212121121221111121211212211122122212111222222111112221112222212122211212212222211221222222111121112212221211212221121122111211111212112212122221222121212112112222222121121111112122222121212122121222221222221111212211212111122211122212212121111212221212212211122122121212121221111121111111222122212221222111221111111211211122121212111221122221222121221122211121222111221111211122111221212122212112111121221122122122221211211112121221222121212112122122222221211211212221122111112122112221111212122222122221221221122211112211122222212112121222121122211222212122211112111121211111221211122121221111211222221222211112111221111121122112212122212122211221122122122211122121121211221111211121221122112122221212112112111112212112212211111211112221222112221222122122121111222221111211222221121112212121211112122111221221222121212212211212122122212122222112111222211222112112221122121221222211122211111122221111112212221222111212122221111221211221222221122222212111122122121222221211121212112221212111221222221212212122111222112212212222112111211121122222111221111111212211212212121122212111111112212222212212212111212212122221221221112111122222212111121222222222121222211211212211212212121112212222221212222211212212212212111212212222212111111121222221121112212112222122222121222222112122222212111222122122111212212112221222212221221121221121211112211222212211221221122211221211111122112112221121112111222221211212212112121112221211221221221111211212122111221122222121111112221212212122211121212122122211211221212121121122112222121222121111221211112121211111212211112111222111121112122211222122121222111222212122212112121221211221212112222122111122212121122221222122211112122212121122111121221212121212121121211222221212111221122212122112222222112212221221211222212222112211122222221212122121121111212212122122121221222221121111212211221212111112211221222222112121111111112212221221221221111122221121211121222112212222212222111112122122122222112211122222212122222121212122112112221122212211221122222112221112222111112211212111121222212122212112112121222211212222111222111211121221222111111112121212111222212222212111111221112112212212212221222212221211222112122211211122212222121222221121122122222221122122222121221211221111211112222221112222112211121222212212211122222221221112212212222122222121212221122221222122222222211211221221222211121112222122112111121121111222211111112121222211122222211111122222222122221222122122211212112122112111111222221122222222221211122211211211212222121211121111121222221212121211212122111121112211222212211121212222121211112221222122112222122212112122112121212112212122122121221111212112122111112212111211211212211222122211111212111111112122211211211112212122112122111221211112111222221121221111111221221112221221112211222222211111221122111112112212121112111212212111112112211221211222112112222212211212222212221221222212112222112211221111211111121221221211121111111112122221211222212111211112212121111221121121211122122221222222121111121211211211122222122211212111222112221222212212121222211221111212212221112111121111211211212112221211111112122221222121211121221112212212112111221222112112211212212212222111111211122211211211112221222221211212222221222112222211112111121121121111121121212122112211121112122121221121122221122121112111212112212222222121212222221111212211112222111211211222211211211212221112112122121121111222122112221111121111222112111222112122121111221221221122212221221111212212122121121121221122122222112221121111212222121211211211122222111211111112111222122212212222212222111212222122111211211112222111112112111212221221121112222111211122212112221211221211122212211121221111111211212111111122121221212221221221221111212211111212112222221222121121222222222112112222221222121211122122212221222222222111212222122221122121122211222122111121212221221112222221122111112112122112122211112221111122122122212111211122211221222121121111221122122221212222221212221112221122121121222121212111111122111112112211212111121222122212112112112121221111211212111112111222211222211221212122122121222211112222121112121221221212211212212222222221222122122111222111222221122222212112211112112211211221222122211111111112211222211212222112122211122211212222212222112211221222111111112222212221121122211112122112221221222211221221112211221211222221222211221222221212111112122221211122211122121211122212221221211211222211211122212112212121112121211121212121221212221222112212111212121211112122221222122221221112122222121121122221222221222122121211212122122211211111122111122221111221212222122212221121121212111121122122211212112121221112111211122212112222222112222221111221222111122122112222112211221112112211221211122211212112212212212222221112111111211221222212211112122122122211222222211121111211221221112111111212111222222211122222111122212222221221222112122112211221211122221111112111222111221122112121112112222122222222221211121122212211121112111211121112111122112121121221111222212112212111211221122221111121121122221211212121222122212121111111112112111212222111211121112221211211222121122122122112122122221222112112121122221121221221222122221121211122111221211111121221212111222112121211222122121111222121111211212212111111212122222221122112222222121211212221112221211121221111112221112221112112111211122121121121112222222222112212222122122111222212111122122212121111222221211221211211122212111111211122121121122222221122212211111211121111211222122212221221222121221112222111112221121122222121122121212221121212122111111211112221212122121222112221221122111112121122211211222112121121112112211211111211211211211222211211112121221211222121212221221211122222122212222212121112212112221111221121222221222111212112111211221112112122112121111122211211122122222111121222112122112221222222221111222222122211222222211121211221222112221221211211121211211121221221212222121122111211121222112112111221221211112122211211111111221222222221121122111221111221212121122211222122222122111122111212111122222221112121112212112122112212111111212212222222222222122212211111122122212221121222122121222111112112221221112122211211221122221112111111122211111222212211122111222111121222122221112121122212122121111111112222221222112211212212121122222122111212121222121112112112112221212121212111212222222122222112212221221121222222112111122222121122111211112212222221222221122112222221111122121211222112112122211222221211111221222221112222211212122212212221212212112121122221121121122221222221212111112122122112122212122212121212112111122112111222112222222212211112211121111122212121221222111212211121221212122212211111212112212122122222212211111122122221211111112122122122222112111222111221121112121112212211222111111112211122222221212122121222112122221112211112221121222222121121212221122221122211111221221212121211111222112211211221112112211222221211121121112111211221211212221212212121221121221122222222111111211112112112121222112222212121212212112112211111122122211112212212222222222221221222121211221121222211212112211221211111221222122111122112211121122222112222211212221222121121112121112221112112221112122222111112212211212212211122111222212222212221211122221121211212212112121111212122111222212122121122111222211222221121221212221112121221121112121221222221121112212112111121111122212121212121121221111221122122211111221122121222212111112111221212222212122121211112222221122111111122111111222111111211112112122222222221222111122212211121122121221212121212121111121112112221121121212222112221122221222122121212122112222212122111111212121221222212121212211112222221122222122221221122111121222122112211212211122122121221211121222212222221211211222221111112112212222121221212122212112122221212222221112212222111211221121111112212221122112221212211212211112211221111222122212221211211122222111221211121112222212212222221122222221211121222211122211222122221121222222112111211221222112122122121111121121121111211222221221112122112112212222211111112111211211121212221112122122112212111111221211112212112122211222121121212112212222122112222211111222111222112221112212222111222221111212112121121122211221112211222121212212122221221112111221221112111222211222222112221211121121122111212112211111111112212221221111121111121212122221212121112212121212122221221112122112222122211122111121221111211121111212112122212221121221111121121111222222111212212211121121221122221222221212112222221211222111122112212121211222212122121211212121212111121211221222111211221212211211212122121212212122122212122112112111211222111112121221122221122121112212121211122112111111212111222121222212122211221211212211212121121112221121212112211112112111112221222212211222122121121222121112222111122211112222212112211112122112212121111111111211221221211222122222112222122121111112212112112111221122212221121221121121222211111122111222211112212211212212212111122211122221111111111222222222111121211221111222111222221222211121212122121122122212211121211121212122221121121212222222112121211111112212111111222111112222121111211121111221221221222121111112122211222111222122212211112222112111112111212222112211122212111111212221112222111221212212211122212211112222221121212221212112112211221121211112212221212111121121222221121111122222121222122211211222222112112111112212111121112121212111222121222212222221211112121111222222112121221221122122121222222121221122111221212122122121121221211222112121121222121121221111112221111221111211222111122111212222222112122112111222112122222122221222121122121222212212211111212212121211111112111221212112222212121222221221212112221112221122222122112112121212121112111121121122211112111222211211122122222221111121222211221122111122121122112112222111212122122211121221211222222221221121112121121112111222122112122212111221212221111122211221211212121112211211211222111122112122121212111212211111121111212221122122111122221121112211112111111221121211112111211211212212112212122211121111221111121221122122111111122212111121121222221111111211211221122112221112212112111122211121211111221211111111221221221212122221212111111222112221212221211111112111211111121112122121221111211111111212111221222211121122112221112211212122221212222212211112222212211122112122121212121122111211222211222121112122112212121212122222122121212122112121212211122212112121121211211222212122122112111212222121122221112122222211121212222112211211111212112221221121111211112121111121111212221111222112211111122112221222121121112221121222222211111222222211112122122112122112211111112112222122222211112122221111211222121211212112222112221121221122122211221221212112221221112211122121221112221221121121221122222212122112122112222222222211121112222122222121122112111111122221212221222122222121212222212111112112212221222122111121112121212121212122112121121122212222122121111112111112212111112112121222111221111111121221122122211212212221212222221221112122121121221212121111121211211221212212212122111221222221111221112122112112221211112222122222212212121122112211222122121222222122211122211111212221221122222111211212121112121211112111222212211222212222111211221122222122211212222112111211121212112111211212211111111211121111212221221111212121111111222122221221122221111222222221122212121121111221222122221212121122122212221221112211212221122111212111111122221211121211211121111222221212121112221122221112112111122111121222122212221121121111121222221211122121121122121122221211222112112221112221221222122111222122222212112212122121222212211111221112112221221111112211221212121211222122122212212211111222121122111121111211212221212121221212212211112112221212221112212211122221212112121111221222112111212121122222221122221212112212221212111111211122112111211221221221222222111112212221221222222122111212221122112211121221112111222111212112222222222211222212111121121212211222112122211221122121211121211221221122122111111222212212111122121212121111212121221211222221112111221221222122112111212212221122111222222211211221122212122221112111111111122222221122111222221121221212212221222212221221112122112112122221112222211211211222112122221111122121222212111112112212221111122122111111122112221211222212111121112122211111122111111221111211212112121222111222211211222212221221111121111211222121212122121212111122222122111211212211122122221221221122121222121121221121112111111122111222222212111112122121122121111211121121222122221211211111111121221211111122122222211112111122121222111121211222111111111221121122222122121112212122112112122222221111121211222221111112212111222121221112111121221112112212111122221112221222121122121212121211222222111122122222212122211221221122111212212112122222121112222222122122211122112121211122122221111111211221121222121112211222211222212211221111212122222122122122122112222121222212122211122212122121121121121222122111211111121222211111222122111112212112211121212121122121111111212212211211121111212121212222121211212112211111122111112111112111212122112112121112111121122121211212222112121211222122221121122112222222211122222121222111222222211122121211212111211212211122111121221222222121211212121212211122212212111111222222211112222121112211212222111211221112112211121222111211221112112111211121122211111212121111212222222212112121112122211111121111121112221121111122222121221222122112211211212121112212112221222212121122222112121212121222222111221222121222112122121221122112112112112112222111122121211222222112222222212112221222122222221211212211112221212222122122221112221221221222212211121111122221112122211222222112212111112212221222121211122111221121211112221121211112122112221121222121211221111111112112211221121112122122212122211112222222121222221111121112221122111122222112222112212212211112111222111211221121121221221111122211121121121212112211211122221122121122222222221211211121212122112121122222111121222112111121221221212121121112122212221121222121122121112222111221211111122121122221211211222112221121221112222122111121211111221222121122111221221111112221122112112212211222212222221222111211221111222112212212212112122221121221122222211212122112111122222122111222212121112211112211212111222121222222212221221221211221221221111211212212122112222121212212212211221122111221222121211112122112212121111212121212211111211111222211212111121112222221111212222111112121212222221111222212111221111221122222221121112212121211121122122121112112222212111121221121211221122112221221112221212212111221221121212221211212122112122212212212122121111212122212111111122211112112222121122121112111212121222222122112211212221211112122221121111121122222212211122211221121121111121121122111212212111121221121222111121122221222122121221122111212121211212122222111121212121121212121222212222221222122111112111211122112121122121211121212211212112221121222222112122112122112221112121211211212111221112122212211222122222111112111221222222222222222111112121221221122222212221111211121121121221122112221121211122111122221222212122112121211112222212221211221222122122112112222221121221211211122122221222211212111112222111122122111222222121221222112221122212211111221212222221221111121122121111122111211111122121222222112112212112212121211121212112111222111121222221211222121122112221122111222112122221222111221211222112212122211112111121212211121122112211211121222221121122222122111212112112211222121112111122212211222212122112111112112222221122211212212121112212112212122111212111111212222221121221221112222122112111121112112211221121212211221111111111122121221111211121221112221111122122112122122221112212112221121222212211122112122221211122211212111221122111222111212121221122221222112221222212112121111112122221112222111122111111121222112222221212221122121121221221212122121211212212222121212212121112212121221221212111222211122121211212122221211111111211221121112221121121122221211221221111111121122212122222111222122222222111211222121111212121111221222212221212221212112221111221122121111211222211211221222211112111121221211122112112211211112121122121122112111122212212111111211112112212222112212221122112122121122221221112111111121222211121211122222212221212122111222112212222111222121111112112212111121112211112211211221121121122211112121121221221221221122121212221112211221222112112122211112112122121222212221122212121112211111111122122121221211221122221121111111212221211112211122112111122112111222112121221112121111222122111112211221112121221112122121112211111222221121222112111212111222212112222121211221121111222211212122222112222112221112212221211121222212121211122121122221111212112222122222221111212222122221221211111222212221212212122212122211121121122121212121121212221212221212222122112222212122112121112221112221211212221111112222112112111211211211121221211221122212122122121212212121122112122122112122111211112222211221122212212121221211112112211211122111222222111112112112112221222122122221111222211111211221112121221211222112212122221222121122121222121221222121212112221111121211112222111211222112111111211211212111222221122112112122122111222222221222122212112111122221212221121112221221121122122222121212211222222121111112211222212212221222122212111111222121222221111121122121221212211212222212121222222222121222221221222111121212221221112212211122211111111222111122211212112121121221212112112211221221212211212122122212211221121111211211212221222221121211222112121212212111212121111211112111211121222212222112221212222211212112211111222211121121112221221122112121111211111211112121112211122222112212222211222212211121122112221112122222121122111111112212222112112121211111222222122221212222111111222122222122222122221112212112112111122212112212222221121112121222122122212222212211121221211121122211221122222222222111121221112121122121111222222221112222212222112222222222222211221122222211212212112122112112122111122221112212211112211122122222111121111111111122112112211221122212121121121221112122222112211112122121221112112121222221121222111211121121212211111111222111221211122122112112111111112211222222121122221211212122122222112112121221221112211111112222211211222212121212122212111111221121112211121111112112121211121121111112221211111121111122121122122111212121111112121122211111221121111121211212211111212212112222211211211221122111212221112211221211122121122122122121122222122112212211122222112121111222111212212211111112222121221211221212111211122221112121222212211111212211211222211211222221122111212222112122222122112211121122221212121212122212211122121121122212122121121222222211111222211222122222111221112121112112122112222211211222211112111112221221121221122222221111212222112212112121121221212222121111122121222122222121121221111122222221222212122222212121111111112222121112122111222122221112221111122111211211222212221112112212222122111212222211211222221121212212111211112122112222112112211112121221221121212221211111122121222211112211122212211212112221112122111121111122222211212111111221111122221211121111212111221211122111122211212221111212211221111222221212212221122222112122122212111121211112122221222212122111211111122221112222211221212112211221121122122212112221121121111211221211212111122211221212212211122211221212221122221212112121122211212222112121211121212121122212122122222212211122212212122111111112121121122212112121211212211222221111121112111122111112211212212221212111211211211111111222212221122121211112211222211221212222221121112121212112222112212112111112121121121122111211121222122112112222222121122121211221222121211112211222222112212211122212121222211121212222211221211112211221121221212211122112211221121112222121122222221221111222212212212222111222112221121221121122221221111112112221111112121122112222221211121221111212221111221111111111112212121221112122212112211112111111121112211212111122112222112222222121212121112121211212112211222212222111221212211112112221212121222212122121112222121212121111211121212221221111222112111122221112111111211122111211122122111111221212211112212211212112112121212121111211222212212122211111112222222122112111221122122111211121122121121222211221221222221122212222122222211111212211212111221221222211221221122121212112222121121111222222112212221122212212122111121221121122111222121122212111112212111221221121211121121211121112122112122212121211221111212112222122112221111212122111122112211221112212121211121212122111211211121122221111122112112211111211221121221222121112221212121212112122221221222221111121212121212122222121222122121222111222221111111121211112112221222112111122112222221121122121212222212112111222111211112111121122121111111222121222111122221121122222212222222111211221211212222221211212121221121211212221112121212222121122111122222121121122111111111221222221112111221111112211222212112121121211122112212121222121121212221121121112121211211212221112112112221212111211112112222122112122222122212112122121122111212212212112212212221111212111121221221122211121222122212211221121112222212222211221112212122111122221211121212211112211121221122221121111122122212212221221221112221122122222122112221221211221122221111222211122111122111111121222222221211121222112112111112222212211211222122221112221211121111221111121211112212122121121122212121122122121122212221221122112112222222112112222222222121212212221221211221121222122211221112212212121121112111222212221211121112221221212112111122112111211121212112122222122212111221212222112212121221112222122222122111212221222211211121212122112121111112121222121112211212222121221212221221122111222121111121221221222221111112121122121121122212211211221221121212211122221121222221221211212212121212122112122111122121121111112111111221121222111121112221211122121112212111221211221221111121112111222211112212211112111112212121111212222112121122122121111221122222122121112212221212221212211112111221222111221211112122111112112122112211111212111222111222112212112122211122212111222222222111211122222111211112221111221112111121112112122122112222221212222122122222122211222122211112221112121221111221122212221222212221122122212211121221221222222211221221221221112111222111111122122121111111122112112121221222112211121111221211122212121121112111222211211222221112122111212111221222221121211212122112111222212222222121221212211122212112221222222112121212122122122121221121222212121122222211222212212212122121221121121211211122221222111112212121121112222222212122221212122211212212211222122211221122122112212111212112112111112221222121121212222211212121212211112212222212222211111212111111212222111111121222111122122112221112212212112112212211221221112212221112112112111112211111222211121121122122121222222221112122221122122212122221211112221122112122122122221222122121211121222211122122121212222112122212121111222121112222111111121111211111112211122211221222111122122111112111222121121221221122122211112221221111222111211211121222111221122222112212221111111211111122111212212221212212122221212121121111121222221111211111221111222222222211112211212111111212212222222211212221122212112211111111222112122121222122112212111121121122111111121221221222212112221222121222122112222112121212121212212121121112112222222111212121121111212122122111211121211211121121121221212121212222211122221111121211211121122112221221111211221122212212121112111211222212112212222122122221112222222222112211111112211112121122211122212222121121111211112212222112111212221211212112121212112221111211211212111122111121211121121111121212222211111112111212111222211222221222221121122222212212112222122122222211212221121122211212212222111211121221222121121121222212112112212211212212221212121211121212111111221121112222211112122222111121111112211222122111221212221112222122212211112211221112112122222211121112222211121112222122212122211112112122211122211211111222122112121122112221212112121122211112112221211122221222211112221112211221212221111121121212221122222111212122112111112212121222221212112122122212212222211111211221122112211212121212122222212121212211222211122111111221121121212221111222222122122211112211222122212121122222121221222122212212222212111222122112112211121121221112112121122222121221112212221111111221222212121122212112121111212221212212211212111221212222121122112211121121122111222222211221211222111211212221221221121222221212111122212111211122221222211112121112222222222111122222111111221211112112211222111121121121211211112122121211122111212112211121121121112122122211112222112212221211111121111111112122111112211221111222112212112212122211122212112122221221121212211222111112222222212211221211212211111121211222221111212111212221212211221112212111211211211211112122212122122122221111222212222212211222122222122112221111212211121222111112122112122211211212121211221111221211212121112121212121222122222221222121111122111222222112222211112211212112121122121111121112211111121122122111222121221112122112212112122211122211112112121122121211112221211212112222112221111222122121112212122222112211112222121221212122211212212212111121112111222111122112122111211211211211112222221212221212222212121222121221212111112121121221122112212112121222111122112212211122122222111122222111212222211222121122212112111112221221221111221221121121112122111222122221122211221211211222122212221111222211121211112112221112211212111212112121211211212222212112122211121112222212222212111222221221122222121121221112212122111111221121121222222112212221121212221112211121121212112212212111121112121212221112222122121122121112221211121111212211111221122212212111212211211122121211121111221212121111212222211122222221112221222112122111121222222222121212212111221122121111211122222111211212221221122112222121111121221111211121112222121221211222111111222121122221211121222222121122121211221112112111112212121121221111211122121122211222211112111222111211222212222121112122122212212122212212112122211211212122111212122212221111222122121212121212211121222112211212112112222111112222222222222221221112121221222222111122222122211112212122112122112211122112222212222121211211122222211211212111111221111111222122111212222121121112221111221112211222221122122221212211112111212212122121121112111122111111111212122221112121121222111122212122212221221111222111122221211212112211121122112122122222222112122212121212211122121112111211212221112122111121121121212121211222122112221212112221112211212112211112112112121212122112122112221221122211211121222122122211121222212222112221122111221121121222212122122211212122122111121211121211121211112111122221121211221211121211212122211121222121121112121121222221112211222211111222122222221112212211112221122221221222121222121212212212222122111212112212121121112211112221212221222222122112222121222211222211212222122211121112121121112112111211221212212121112222212212111211221222212221122112211111211112212121221122122111111212221112112121111112112111121111212211221112112122212222121111112121221122211112121212222221111111211121222222122112122112111212121211222221212212211222122222222122121121211121112221122212112122122121122122122221112111221122221122111111221222112222111212221121121222221221211211112211211211111222111112122121222111211222112212221221222112211111212211212111121112211122221211112211111112212122222112212222212112222122122112211221212221212211111121211121122211222211212221122121112211211122221121121211112211212111122212111111122121212222221221211121111122112112212122111211222211211122211222121212122212111222211222121121222211212111221111121122221111212122112211222111211211212111122222211112122112221211121212112222211111121122212121221121111121211121122122122222122212212112212111212211211211122112221211221211212112222212111212122222112222212211111222211212212212212222211212212211121121222121211221221222212222212111111222112122122211112112221212111121212111221222212111121112121222211111122122111112211221122121221212112211221121122111112222121222121211111221112111211111222122222112211122122111222222212222112111211122212212222221111211221112111222222222121112112222222211122112212211112221211212212222111211121112112211121211222112112111212111212222111112112222212212211212121221111212122222121121212212122211121221222121122122112121212222221112122121112221122221222121112212112111211112212222112111221222121221211112111222212111212212112221221112122122221112212212122221112122112112112112111112122112221111112122112222211221212111111211112221121212111212212111111112112122112222122212222122112112221121122212122112111221122211112122112112121222221122222211111112122122221112221121212212211221111211211221112111211121222211122111121122211112122112221222111211112122122121211112221212121222112221222112211111211221121212112122111212212111221111211211112122112111212112212121121111111111112212122211211112122112212121221122121121121222112211122222211112122111112211121121122221221221222212121221211121222222111121221111121221212212112211122112222112112222111111112212212112212221222122121122112222212221122212121212111121122211111111212211211121122111221111211221211222112122222212211211211111222211112221222221221221112121211212112221211212211112221222111221211212212222212212112222112121211121122221212222121112221221211112212112222112222112211112112111121112112121222211112211211222211222122112122221122211111122112121121222111122212112222212221112112112122122222221221111222112211211222212122222212221121111222112122122111211121211221221221111122121211112111211222111211212221121121222111222122112211212111112212111222111222211222211112211211122222222122211211222211221221112111212212222121111122121211111211122121211111211111212122221222121112112112211111122211112222212122222111121212111121221111221212211221222221212111221112222222121221211211122112221112221222222221211211122211111122222212221212111211122212222211211111211122122211112121111211111122212122121121121221222112122121112221121212112122212112121122222211221111211111111121111122211211122122111222222222221122112211112222121112212122221222121221122212222121112222112111111112112121222222221221222112121122222211221111211111122111122122221121111111112211211121211112122122121121122111222112122112121211121111112111222112122222111111121121211221211111121122112212222121222112221111112122111222212222121122112212111121122112122211211121112121221221122121211112212211211221121122122221222112211111122111212111121121211112112121221211121221122122212122222211221212212111212122111211111112111222212222211211121112211121222121222221221211112221222112212222212122221222212112221211122211222212122211221121221122211222112112222122221221211121221122112221211111221212221122212122122111112212112112212122112121112112122121121122121222211121121212211211112212212211111121222212111111112222212212111212212212212121121221122121111122111121111121111121122121121221221121212212122122122221122111221121111122122111222222111112222111222211112122221111212211221121122111211111212211211122122122212112121111112111211222221212122222112222122112122221222222222222121212212111221122222111112222212112121211121121221221112221122112221111211221112221211221112212222221111211211121112122121211222121212212111121221222112121112112111222222111111122212122111211121211112121222222111112211122112111222212121122212221221122221121112221122221112222112212122112111221111212212121212121221221122111212222221212211122111211122212211222211122222112212121122111121211221222211111211222111121211112221111122222212112111112112121212122121222211111112112212122211212121212112111221112111212211212122212212221111112121112112211121211222111212222121212222212222112111212111212122222111212212222212111121212222211111112121122221121211112111122122212111211211212122122211112112122112221122112111111221111221122121222222211212221111211211111212122111212222121211221212212121222111221211111122221122212221222111121111121212122122222221111211111112122211211111111211221212211112222221221122221112221212221211212122221111221221122222112111121212122122222122212122221212121222212111111212121121122122122221121111211121221212212211221112112111212111212221221211222112121212212122111121122111111121111111122122212221211121221122122112211111122112122222211222222111221112211122211212211111212112122121221222211212211122111221211221112111122121222112211112122122212111222211221212221111122111122222222221211122222111212222212221111111221121122111111112112222122111222211212122212122122212211211112222221111111212212212212122121122222211121212111222122111211122121111111212221112211112111122212121112211212211122211222122122212121221112121111211121221212121211211211111221111212221211112121222122112221111122222221221221212222111212111112121112121212222221122222212222121121222121111112111222212112211111222112221122112111111122122222212122112111221211211121111122221221211122121112111111211211122222212121121112211111121222111222112222212112121111221121121222121122112112121122211221111221212122122222221122222122122212212211121221111211112121111112222221212112121112112122122111222121211212222112211211112211212222221222212122212122111212221222111211221122211112112221121121112222222221121112211221111211112112122221221111112121111121122212111121112221122121222212212122222112112121122222221112121111122222111112121111211211222121222112211222111121111212221112222221112122111111211222111221121112121221111211122221122222121211222222111112212111222211112112112221122212212112122212112111111121221212221212122221221222112222212211221112111112211211122112122122212121111111121222111211122221212112221112211111222111222122112122112111111112222221111211122221121111111111122112111212221221112212112122221221211211212212122112221111221122112121121121121221212112222111111111112212222221222121211121121221211112122222211112212112111111222121122212121222212221212211211211122222112221221212111121112111211122222111112111212112221222221122122111121121212221221211112121221112121122121222112221212122222121211212222122222222121221111222221221112111211222121222112122111221212211112221111122111211211221222221212112222221121222211212121121111122121122211111112112212212112122112211122112112222221221112221221121122221121212111222111122112122112112121111222112122222222211212111112121211111221111111222212111111212121112211122112212111211121122111122112211111211212122121211122122122222121111121121222212112121122111111121211122112212122221121212121212222111122212221111112211211112121122112112111111211222112212121111222211111121122211221211222212221212112221212122211112121211122112211212221211122121212221221121111121221212122222121211221122222211222112111212212121211111111212222122221212221112211111111212211211211112112211222221212222221112212111222221221121221112111221112111111121221122112221222222121112121212121121121112121112211111111121221111112221121111222122212222221111211222211122222222212211122221222112112111222112221211221211211222212122211211211122122222122122221121211121221111212221222212221122121111221221122222111122221222121222222222211221111222111122112122112212211221112121221221221111112211221211122111111212222111212221121121111211111222112211212211221221221211211112211111211121221221121212212121122112211221111212111212121122121212112221111212122121122211111121111112221121112212112211111222222222212111121112121222212211122121212222221221111222111121112211212112112121211222212221121112221121112122211122122222111211111111221121121121212121222211212112212211111221121111121212122112111212111221121212222222221111222221122121121221122122122221211211122112122121122212211222112221111121222121222211211221221112121212122211111222112222222221212111212122212122211121122221212212212212121121121221122122211121212221222211112212111222222121221121122211222111112222222221112111121112111212112111121122111121122222112112122212222212111122122221221211121211222222121112211121112111121221211122222211122111222112222112212211121122121111222112222221122221112211122222222222221111121211222122121211222122121121222221112112211111122122111112111111221121221222121121122121122222121211211211212122121212121112111211222222122121222121121121121221212222222112122211212222222111122221121212222212122121121212222211221211111211222122222221121112211211122121211211222221222221212212122122222212221121212222112122112122221222112112122122212121122212222211221111111221121221111211111122212111212112121212121222122112111222211222212222121111222211112112121111221122111111112211121121122222212121212122112111211222111221222111122221121211222122122111122112221221211211111222221211211222211211212112121211112112221112221122222212122111112221212112211212111121212222121122221222121111111211222121222112211211211212222122121211212121211221121112221122222112211222221121121121121112122212212221211222211211112222122222121222121221112111122211221122222121121211212222112112122111211121121122122111121122121212211221121121212211121211112222221121122221121112121122221222121222111212111221122222122121221222121122121221122111221221222121111121222221121121122211222211221111221221112212122222122111221222111121211112121211121212212212122211122221221112222111112111221212111221222122222212211122221211122211221221111211221211212212121111221122122111122111121111112222121111211122122122222212111221122122222111211222221211211121212222111222121112121221121222211222122111211211122222211211121222122122122112212112221112122112122122222221111112211111112212122221122122211111111211122212211112221111212212122111122211111211212222122222212221212111111221121111112111221111112121212222221121221211112121121111212111211112111212221221121221111212121121112122212111211112211112122121211121122112221211122112122221112211111112121122121112112212121121122212211221122122121121122121221112121211121222111122221211111122121222111211111222121122212121221121212122112221222211222212122212212221222121112111222112122212212221221122111221221122212222111221222211222222112121111221211211122122122212222222211211211112211211112221211212212112122121121112221112212112112222111212222111111211212222211121221122121121212112111112221221221222111212212111111121121222112121111222212112121112221221121222212111111212222211212122111222212112222211112222211111212211222121222121121222121122212212222112121112212211111222122212222211111211121222121212222122111111211212112111121221212121222121111212212211221122222111111221112121221112121121122222212111122222221112111221211122211212222112121221121112112112221121222221121211112211212111112212122221211111121112212222112212122122121222121221121222212112121212112212121111221112212112212221221121121112122112121222211112122222111121211211221221121112111112222122111122222121222222211112211111211122111111222122122221122211221222222212221112222121212222112121222122212121212122211221221212121222212121122222222222222122221211211222221221112212211121211121111212211221111121112111111112111122221221211111112122121212221122211222212212112221121121212111112222122222222111222212221111212112112111211212212121221212212222111112211212112222212121222221112112122212112121122211122111221212212111111222221222121111211112121221112112122112211221212121221211111211112222222121222121221122121211221121112112122111122122112122112211121122212112222121122212112122121222212212221221211112221122122122212222211122121111112121112211121122212122211122111211122112211212122221121112221112212122211122211112211222122121112222121112121112121212222222112212211211112111122221221222121221221121122111112211111211221221112212212212122112111121121221211111222211222211211222211212222121111111112211121212112111121121112221221221111212112122212222111222112211211122121221211121221222222111111121222121221122122222211122212212211122211122122112221221221212112121211121111212221122111211212122121111211111122211222222122212222122122212112222222222111222212121112112112222212221122212112211112211212122211211111112122111111221222122111222121111221222212222122211112212211211212121211211211222221222121212211121111111112212211222112122212121122222221212221121122211122222111121121112121121112112221211211212222111221111221211211212222222212211212222222122222111121112121222112111112221122211211222221122122222122222112111222121221212121211112121212211121111121121211211122222121212221221211121222111122212111122212221122122112122221111121222112111112112211211222211212121221221122112121222212222112211211122122221222112212211222211112211222211122221122212211212221222212122121121111112211212122211222122122222222222221122121112122221222211212212112111221212111112221111122112211212112221222212112212221212112121221122122212212111222211212222121111222121111122112122212121121112221222212212112222212122111222121222221221221111112121122111221111211112211121221222212112222122122221122211122221221221111121222122121122211212211112121221221221111221211112111221211121221221112221111111222121122121212122122212211212222121222111121121211121122121221212111221121121122111222212111111111212111112121211112111112112112221111221121121111111112121112121211122121212121222122221211121111221121122121111212222212121222121111221222212222121212222121112222112122221121212121121122121211122112112222111212121211221111121111211221122212222112222122212112222212121112122111211112221111211222121121221211211121221121222112211212211111221122212211211221211122112112122121122211121212212122112211121221222121221121222211111221122121121121111212221121121212222221222222111221222122212211121211212121112222212211222111122222121111222211111222121111112121112112211221212212121212121121111121211112121121222121222111222122111122111212111212122222211122122111112112122112122212222111121221212221221212211222112122222111222222112111122112121112221112221112212222111121111112111111121121211121112122122222122221112112212222212212121122212221112212122122211112211221222211111112222221212222221211111121211121111222112222211111221111112112211221121211111221212221121222221112221211211221222212222121121121121121221211212121111221221112212112222211122211221112222211222111112222112111212111111212222111212112122212112121211122212121211211122112221221212111211222222221121122112112211211112222222222222122222111221112112212221211212212211211211121112121121212121222222221121122112212211221112121212122121221122111111212111221121211221122212212111122112112121212111212121122112211112122111211122121121122121122122112211111121211211221111212211222212211111222211122211222122211111111211212111211111212122212111122221221222111212122112212122221221211112111122122121221112211121122112222112221122212221111111122212122212112112122222211212221211122212221222122221121121121212122112112121221211222221222212111221222212121122211111122121212212111221111212221222221122211112122211211222122112111122212121111121121221211222222211221211121221222212122122211122221122211122221222121222112212211221222112111212222222121111222112111121122211221121111212222222121211122121112211111211111212111121122221111121221112212111212121222121111222112111112112112122111212122221211122112222111111222222212112221121211121111211111122122122112121122122111112211221111122211122111112221112111221212122221121221222121121112211111211211221222121112222112122111212221122122211211221212121121111212212111111222211211211122221112122212211211112222212211111121212222211212212121121211112122121212211112112112222211112211112222221222221222221111222112122222212221122112121212221221111211122212212112222211122222112122112122122121212121222121122211122222111212222221212112212122221121221211112211221111221122222211212121112112212111111221112212111221111222122221222222111121222212222221111122121221122122112122122121221211222121211211222221112222211222222112221221112222111212121121212222122121221212221111122211112222111222222222111122212121122222122221121222212221211211122121122211111222122212222111111122211112122112221121221121111211111121211121122222221212221112221211211111112111121111211221112111222111122111122122222212222111122121111111222121111221221222111211122122221122121212112221221212212211221122212111111221122212211121221222121212121122221211112221121211122111122111222211222111221112112122111211211121222121112122222111212121111121211222122221122221212111222121221212222222121221221121221112122122122112221221221212211122221211122211212121222222122122212111212121212212211221111112211221211221121111211122221221221222211212211122221121121112221212111222222211211122121221212212222122212211211121121122121111211121212211211112122221211121122212122211122121222212211112112211122121222221211122212222121222211111121122221212111212122221212221122121112222211211222222122122122221222122112112111222111112211111111112121211211222221211121121212221122222212211122222221221112122212121211112121111221222221212112122112121222112121221111121221222212121122212211111111211121212111112111111221111122111211221211212221212121222122121212221212221111121112122211222211211211112222222222211221221221222122212211111221122122212121112212222121122212222121212122121221221211112211112211112212122121222112111112222121212212112211211222112211211121221112121221221221212212221111122221212211112112222112222211121112112221112212222211221112211212212111121221111121112112112212222212211121122121121111212121122222122111212221221222121112111221222221111121111222221221121222121222122122111112111122212222111111221122212112222121211212112221111222212122211222212222221222221222212221111112122222211111221111221122122121222111212121221212212221121122212111212221222121112122222112211211211212111221112211222121112122211121121222121122122221111222122111212212212121212111121211211121122122221211111221212111121211222212112111211211122112112212111211111111211111211212221222211111212122112212111111112221122222211211212122111121112212122222122212222122222212122112111122212211121221221222221212211212212111222212111122212212222111221122222111221121121211111122112111222221222222112212112212222211121221212112212222122222111112212211221211221111212221221222111212111222111121111121112121121111221112122111212221212221212121212211221122222121221122111122122121212212111222221211222121221222212112212221112111122212221121212122111112222121221112112121112111111222212111221111221211211211121112221212212222112122112121121222221212222212211222111222212211211111221221122211222122222211111212111122211221222122122121221121212112122222112111122112112121122211122221222111222211111112112221222121221211221211211122221112211121111222121122222111212221222212111122211221111221111221112222212222112121122111222122111111122112121222121111212211121112121221222211112211211212212221121212212112122112211211222121112122221111212222222112221111111212111112221212212112222221221222222211121111111122212221112122121221111222211112212212211121112212111111222212222211121112222111121122212222111212111222112121121212111121212212222112112221121212111222112211111111122121121121111111211211121212211222212121222211111112121122121221211111121212121122221221221121121222112221121222221121212121121111111122111222222112111222221212211222212212121122121111121111221222112222221122221112122212112112122111212212211112211212121221221221121212212121211221111212112222221222212122111112212221211222112121122222222122222111211122221212121112212121222211121122221121221212112221121211122222221212112211112221121122222122222212212122221112112112211221212222112122222212111121112222211222212121222212211112212221212121221122222211222121212111212111122222221112212122121121222112222111211221111221122211222211222222211222221221122222222111212211221222111221121121211121111221211221111121211211112221111221122112221221221122121221122222222121122121221112221122112212121221212121122221121112222121112121212211222211121221111112122121112121221122112211111122122111221112121222222121121112111121121211212222221121212121122212212121121222111212111212112211112122111121221221111212212111112221222112112222221212122212111221212222121121111121222111122111211212222122211111221112111212112111212111212112212212121212122211121121221121212211222122222111211112112222111111211111111111122122222121212212121111212112121112111112222121122121211111112112112222121112211122121112221221221221211221122211221121212122122121221212122111112111112221112211121212122121112112211112222111222211121222212222211121221111221211212122122111112121221111111222222221121212121111112221111212222222112211212112122112221222211212111221222211212112111211122211122211212112222211122112222111222212222222111111112112221212111222112222121121212222122221222122222122112221212111211211121122112222122121121111212221111122211212211221222212112111221122222221222112212111222121221121212112212212212221112112222121112122211221221222112221211121112211122121211222122121122211121221211121222122221211121211221221222221222212211222222221121221111112212211121222221121211211221212221221211221121212212121212222221112111222212212112221222212221222212121221122221221112211222212122211212221221112222111121112221211121211212112112222211221122111211121122111222212222221112111121211221211121122221122212212122121111122121122112212221221111121212212121111212112211121122111112112111222222212212212112121122211111221222212122222211211222121221221211122222111212112211121221211211122122212221112211222121122121221211112221122111111211212222112212122222121221211221211221222122111211212212222211221212112211111111211222121112121121122122212221111221122111212112221221212112222111121221212111211221221112111212222111221222122222111222211121112112122222111121211121222111221222112212221222212112222111212122122221212111121211121122122221211221222212222221121122112221211212112121211222122112222221112111121211122211212212111121221112211212111221122112121221111211211122111112221212212212211121122121212121211112122211121122221212211212211221122211122112122122122112212111121222222222121121222122221112112111212112122111122122222111111212122222222112221111221111222212222221222111112221121211221122211111222212212111122212211112121111112222112222112122121211211121112212222221222212211111222221111221212221122211212112121111122111222211212122112221221121211212122211221111222211222221121222111112221221212221222121111122221222121122112222121211112112212222122211211211121221121221122121121111221122221221111121222122122212112122211121112212122112111121222222221112221211122112122211112221122221212111121211112112212111221121212212111221222121222222121222211112211211221211122111212112122111221121221221121121122222221212211212212211221221222112122121222212122222122222121122111112121211211212212221211122121122111211212212121211212212211111122222122121121221211121221111212112111221112221211111221212122121222121212111121222122222212111112212221112111221211222112222111221121212111122111221211222211221222111212111222122121221112221221212212121121121222111122112111112122111222212222212111121111221212212221112111111111222112222221112111121122121112222212111111112212111212121212212212212211212122222222211112211221121222212111121211121121122111111122212211111211121122112212221211112122212122212111221122112212222212112222212112122212111221211111222212221121122112211111111112112222122122221122221112222222111212222111111111222212121221221211221212212212122122212212112222122221111212121211222222212121121221212111221112112222212112221211211222122111111212121111111211212112222121122112112112212121111221212111221112221121222212111112222122121111211121212111121122112122222121121212211212211112221111221111112112112121211222122121111121212222121112112121212111112121211211111221222212211222122222112122122122221222111121222112221111222222111221111112221122112121211222111121222112221212111211211121112111111221122112222122221121121221111211111212212112221121121222212221211111111222121111212212122111121222111212212222112222221121221221221121112212222112211112211112222122212121122221122111222111212111212222111112222122121211211211111112212112212111111222222122112211222122111211112112211212211112212221212212221121211211111122111112212211122121212121221111212111211211211222221122121112122221121121111122112122122222222212121122211222112111111221112112221212211221111111211222211111121112221211121111111211112111221121112222112121222211121112112111121122221121211122121112111221212112111221111221122221121111112112212221111212112112122121112212111112111222221122122112121112211112212221111112112122122221211221211221112122122112121221211111212211121111122212121122221211122221212111222121122112122122211212111211221112211222212212222212112112222212212111221121112212221212222111121112121212111121112122211121111212121211111121112112121121212122211212221121222221122221222112211212222112121112222122221222112111221211212221221112211112211121122211222112112112112221222221211221121222221111111111122222111211212111221111211221121111212211211211122212222222122212211221221112122211111111212112211212122112212122211222112121211121112222212212211212211122211111122111222111211222121121211112222121112212222222221221211111121112112122212121111112221211112212221212211212121121112211212221212221111112211112211112122112112112111212121121211221121221111112111211112222222211222212111111222111212112121221112122112221121211211212112111212222222122121122212111222121121112221221212111221212222122122211222221121221111221221212121122112122211121222211212121112122112112222111211222212222122212211221211222222121122121122112112122111112112222211111222222121211211211121122211211122121221121121111221112111111122211222112222212212111111112111122121122112121112221221111211221212222122222221121222221221211111112122121222221122122211121211121221212221121121211111122122111211222211112211121222222221211112212212122122121222121122122111111112212211212212221122112111111222121221112121121211112212121111111121122112121122121221112212211121221121211121211222121121122221112111222122121221112221211222211111211212112211122212112222211112112112221112112112112211121222122122111122121211222112112111122122212111221221111122212122211121112222212111111111221121221212121112122212121121111221212121211222222121112111111222222221221122112111211222111222212222121112212122211121222222121111212221112222111211111212122221121211221121111122211121111121121221121222212112112121212212221222122111111121222121222221122121221121212222112111222111112212222221111222112211211222121112222222112212221221111212211111211122111211112212121212221111111221121111112222221222122222112111111222211111211122111212221212111212222111221211111112221121111122211112212221211212222111112121122112112121111212112212121112121121222122222122212221221112111212221212211122111212112212112121121121112211111121121222212112221221212222112121111221221122211121211122211121122122212121222211211212222212122121211212212122212212211111212122211221112112211111121221111221122112121221121112221121221221211121122212212211212221112222111121111221122121122112212222111122221122221112121112121222111121222111221112212212122111221222222111121121122211211112121122111122122111222122112222111121211222212212122111221211112211212122111112211221222122212221211121221211121221221212111211212112222222121122222121211211122122121222211221212122122221212222122221121222121122122212122211112212111212111121212221211122112121222122211222211112112111211112122111112112211222121212212112121121221122122112221111211122121122221221121122121211112212122221121122212121222221221211211121212211111211122212221221222112221121221222211112221222221112211121121222121212122122222212121111221122211221112122121111111122111211121112222122122222121221211221221212122222212111221222112122121122122211212111111121221122211211212212122111121112212211221122212122221222222112122222222112222221121122121211212221212211121211121211222111211222211222121112212122122222111211212111211221221222212111121112211221212222211222112212211121121222212111221122222122111221111211112111211222221111221122221122222121221121222211212111122221211211121121212212112111221212211221222111212212212111112222112121222121121111221211211122111112222222212222111111112111211112122121121211211111212122222111212222212121221111121121221212121111111121122221121212221222112122211221111211211222112122212122211111122122212221121212121122121112111112122212212122112222112221222112121211222121122212111122221112121122212122212122112211222222112211211211121112222121222211212121221122212212111212112112222122211112212112211112112121212112221122222112222122221212112112121122112112121112112121122111121211211212212212111212121122221112111212111211121212111222211122121112121112212121121222121112121122111211121112221112121221211222211121212112111212112221122112111211111222111121111211211121212121122122212111111112111112112111222121211122221111222111111221121221211122222121211111112112122221121221121111222112112122221111221221212122212222211211212211211222111112112221112121222112222211222211122112212222122221121211122211111111222221112121211111212111122222221122222112212111112211112212121212222221112211122112112222222211122222212222211122122221111211222212121221211112122122121122111112211121212111212112122212122122112111212211122112121222111222112111121111112221112211221212222121222111212212111222211221222112222121212122211121211212212211222121121221221212111122122222212122111121222222212121211221112122121121211112221221121211212112122121111222222112112222222222212222122211221212222122222221222121211112121112222212222211112112221222122221212211212221222222211221212211212221112211121211111221211222221121111211112222222221211112222111122222222112112121111212211112111112121112222112121122211212222111222112212211221211122122111211212222122121122122221221221211221211112122121112212111121211111111221211222122212121222121112112111122112212221212222222121222121222222212212211212212111211212112222111111112211121112122121221221221111112221222112221121112111211211211211111222222212221212111212221122211221112112221222121121212222111112112212221122211211211112122121212111122122121111112122112221212121221112211111211222122222222122121212122122222212212111112221111222221111212112111212111111122221222211111212121221212212121121121122122211211122111121212221121212222222222211221222222122111221222222121122211111122212121122112121212121212212112121122211211121122221121121212111211112222121112121211221112122211121112221222222211222121122221112111212221212122112112212121121112211111221211122121211222212121121122222122111112222212121211211111111222212222112121222221222121222112212222112212121212122121112122212222112221212212221222211112122221221211222121112222121111212112222112121222221221111222122111112211121112112212122212221111222222212111112221122222221221211121211111111212212221211112112211212211112112122221211221121122112111212111111122112222212211111112112121222121111112122221122112121122211111112222121121211221112212121121122122221222111222221112212122221112222212211122221121122111121221112112222121212122111111212122222122222111112122111212121112222221121122221212112222121122122111222111222222121122121122122121211122112211211221222211221111212212121122222121212122111112211221212211122111221111222121112222211212222111221112121122112222111222121211112111122221211222121112121121112111212121111212222211121221212122112222112221111222222211212221122121111121221211111211112122111222112122122221111121112122112222222212111212112222122221121222212121121112211122112212212111222221222212221211221211221122112221221222212221222121221212211112211112222212121221221221211221222212122112122121211122221112222221211112122222122221212222122211222221112122122211111121212211122111112111222112122222112222222112212111221212212211122221112211211211111112221222211121212111111112211121211112122211222222211222112222212211112112222221122122221211221222111122212212121122121211222221212221222111122112212111121112212222111121211221121222112122122111112112211221221222211211211112112222212111212222111222122112111221221112122221111112212121211212221122211211211211212111122121212221112221222211111111122122122121221222211221121121212222121212121222122121122121211212221211221221221222111111222211121121222112112111211111222111221122222211112211221111212221121112112211111212121111121211212211122211122211112211121212222211212122121111122121212211111112212212212111212212121112211112112212111211121222122121221212121121222211212222211112211211122112222212121221111112111212212212122122221112122112222221211122222112212112211112211222212221122111221122222211212211211211211222121112122222221222212112122221221121121211221122111221212211121111122222122112221111111211111112111222122121222212222221112111212211221112221221121122122222211211122212222112111212122222212211111122211111212222121111211121112122211112122121222222221211111221112121222222212121221111212121121121112122221112211121212112122111221122212111111112112111122211122212221112121112211111221212222121221221111111111222212112122122221111222121121212211211221211221121222211222111211111211122211111122122122212111112221112211211221111212222211122121112121122111111112212211212111212121122221221111211121112211211121221221111112121111212111211121222121211112221121122222212212111122111121222122121221112111121122122112121222112221221112121121122221112112222222112211122112121211221121112111221122111122212211122112122122111111211212222211212222121112211121211212112111111212222112122221212211222222222211222112121212222111212121121112111122112111122221121221211111212122212211212111112212211121211111222121111121221112212121121221111121121222222122111221222211111112222112121211111222111211122112221212211112211121111121212221122221112121112211222211111212111111211111221221221211222112211222222121121222111211211222121211212212111212221121221111121111111211112122212211221211122112111212211111111211111221221211221121122212222222222121111221112222212121222122122212222111111222121211111221111212122111121112111122122122222212222121222112222111112111221222122111222111111121212112111112112222222112212222222122122121112111211212222121121222222111212121211111221222121121221212112122121212112221112212112111122211121221111121221112211211222111121121122221121221121222221122121122212222121111222221122122221111222122122222112211112212221212121111212211111122121112212211111212111111121212212221211211212212112221211121211221112122121221221211222222122221212112112211121111111111112112212221222211212212211212212122122122222211111112222222222222212121221211111212221111112222111221211222111122221221221221222222121211112222212212221122212212112121112221122111111222122121221122112121111211211221221111211111122221112112211222122222222211112122112121122211121211221121122121121122122112122112121212112122111211121221112221221111121221211222211222221222212221111221111122211112221221112211122212122222122211111122211211111212112111122122111111112211222221212222212111122211212212112112111221222221122121111211122221112222211112221112112122212122121212222122222122112212112221121222111112211122211211121122122211111212222122212211211111211211111221211211111222121111112122112221111211112212211112221112121122111122122121222111222111112222112111221221122111122111212111221121211221112111212112121212222221122211122111212121222112212212111212121211111112221121112221121211111122112211111222121221112221211211122122211222222212121222112111112121211112222121222112121122121222221221212122121112121112112222211222222211212211211121122122112121212212122112112122122121111112111222122112122211122122222211212112211212221211121122212222221211122222121221112112121221112112222112111111111212211122121212112211212212121212212111222122221111222211121211212222121222211222212111121111212121111222111111122112121212211221122212112222122121121222221221211211122212221122211211112121111212221221222111112111111111221121211211121111221212111212212121121122212122211221221211211222222211112122211121121121222222122112221121211211221111221121122122212222112211222222112212122122221211211112211122222221111112111211122122222121221212112121112112221122211221112111221212122211212122121222111221211121112221111112212121121221121112221112211111121211211121211121121112212221222121211111111122211122222212221111121121212211211112111212121221111212211111112122221111221221112121122212111221212221222212212112221221211212111122111212112222121122222121222212222222222221222211112122111122211222222211212111221111121211222221212222112111122211111221122212111122112212222121212112121221121112212112111211221221221212121212212212221212112121211121221122212122112211122122212112211112121212211121111121122211122211122222121212221112111112211111122121111221122112211212112111122112111211122211121212121221221212221222122121121222221212111112122122211122112112122211111111122111122122222121112212122112112221111211221211112122222121212211211211211112121221121121222221211112211222121121121221211111112211211111112111111111121212211222112211211122221112122212221211212121222221121111121222122211121121212121221212111121112211121212211222212222222212221112212111112122111112222111211221111122121222121121121121212122222112121111222112222211122222111122211211111122222111112111111112112222122211221121111111121112112122122212121221122111111211222112221212212121112111112111121111221212122211211121112111211212112221112212111121211222222112111211122111122112111112212112112112112211121222211112121222112211121122112122221121212212211112122211211221122222211121112212121121211121211121112122212211122221212112112122212111212112211212121212122212122211111222212112211222221122121211211222211221222211221112222121121221221221222112211221221112121212121112121212212221212212111222112222122111221111222211211122111112211121122221212222222121211222121222111121212112221212222222121112111122211222121121211221222222211121221212121222221222222121111212211212221112221212221112112211111212111211211122121221221111111112222211222221222211222112121211221211212221212212112221122112211221112222212121221222221211211221122121111212212112212121222222212221221221121212121111111122212221111211111112211212222222221221222122112121222212112221222121121221221222122222212221122111212212111221222111122111211212211211211211212211211221121221112222211122222112121112112211222212211121222222212222221122122222221221122222222111212111221222111112122122112222121211211212122211221121112222222112222121121112121111211121121122221221122111121221122122212111111111122212111111121221121121222111111211212212222122211221221112221212212122122121112121121112122221221111112122112121211112212122212212112121211212211221222212121122111121211112221211212212222112112221111112122211222212121121212212211222122212122211112211211122221211112221221212211212121111121211212222112221212112111111211222121212111112122222211122121121112121111221121112211111122222111112222111211112111221121112111111212221222211222111212211111112221222122222121222211122222112221221112121222112211212112111122221211121112121111222121111221212112111211121122211111112222221122222111121121111222121221111111222221211111121111211212111221222112122112212112122112122112121122112221121221112122111112112221111112121221212121121211222112212211122121212112211121112222121122212221222222221121211112122121111212111111111211111122212221212122221212211121221212112221111122122221222121212121222211211222212111211212111112211121222112122111212121111212222112222121222112221222222111111112111121112211212121111211121221211111221222211111212222112221121111121121221111222211121112222122212211122222222111211221211111112122222122221221212122221112112111212212112121211122112212122221212212111122122221112122121211221121112211212122121121121211222111211212211112111221112121211121211122212221121112112122212111121111122222211212212122212122122222112222112112122212121112111211221111122112121211121211121111112122122222212122212221122222122121212221211121122221121211121112122222212121122212121121221112221222222121112212112211221121212221111221212221212121122121222221221121212122221111111121211221122111122222222221211121221122122221121222212112122221221121211112211112121112211121112221222121111111221211221221121121211112212112222211211121112121222222111121212212211112112211211121222211222122121212211212222121121211111212122212121112211112122122111121222212112121111121221111221212121221121121121222122221122112121222222222221212121211121122221211121111122222112211212112111122212121112112221122122111121111112221121222111111122122211212121221222212121212111111222112221221211122212211212121111122222111211122111222121111222111111212111211111112211211112221122112222221212212122111122121211112211111221122221111111211222211212222222221112222222221122112221112211111212222212212121111121211112112211111122211122122112221112221112121221222222221121212212211111221112112211221121121121112122212121222221212112221212222211222122221122121221111122112222211211212221212221211222121121212122112212222221221122221122112211111222221112222111221212112112221221211111111112121112121121122212212122122221112112211212122221222122211111222112122112121211222111221221222222112222112122212221221111122111112122221211121111211122111111121111211122122222211221111112212122122221111112211122121221112222211112111121112211211211221221122121211112221112121112122112112111212122211212212222122111212121111222211122122121212221121111221112212122122111111111211122221122211112112121221122122121112122121221112111211212222211212112221212111211221122122111111112212221112121211122121212212111111222111122212221222122221122111221122111211122111111121221212222122111122211212112122111222111212211112111121111212211212211212111212212221121221211222121221122221121222112212222122221211221121221211221122121212121221112222211112112211121121122211211222221211212221121122222122211212212221121121222221121121112121221121212121221221111111121221211112122211112121221212122112112121222121121122221111222212121211222122111121211222211212112111221112221222221121222112211222121121222211112111112221211122111112212212122211112222121212122121122112112212121211212121221222211222212112112122122222112122112221211111122122222211121112122212111122122222211221211111222121221121111122112121211222212212112121112121211211222212121222112122211222112211121121111112112121111112121121221212121122222211112121112121222222212211122111221211122211211111221222112221111222122111211122111121222111122211211122212111211211212121111212222211111211222112222211121211212222112221122221111111112111222222212212211212222212121111112222212111222222212221221222221122112212222211221111222211121122122222222112122122121111221222222212121122222121222111222221221221212111111112211212112212212222221122212122122222121121212211121121222112222221122111111112111221221222212222222112121212112111122211222211212212121121122121222121111222212111221112212211221221222211211122211222122112221222111121112111221212211221211211111212222121211111211121211221122221121121111122212211112222222121222212222222222221122112122211211212111212212121112221222212222212121211221112222211122212112112222222211221211112112211121221212122111121212211222212222221221111222121112211122122111212112221212211111111212221211222212111112112222222122222221112222112111112121112212221121222121212221122111212112221111111121122122111211222111122211122121122222121222222122122212211121212211211221111211212221122111112211122222211222111212122211222122221112121121112221122222111222121212121221211222121112111121112222112112111222211222212112112221112211222221111122121211111121222211221212212121121212122222211111112221222122212121112222211211122222112221122122121211121112221121111112212122222211212221112212211221121221112221112122222111222221112112121111212221122111212211111221112111222121212212112221222222211121222121121211222221111121112111221222112112122212121212121221121112112211112121122112222212212212221121211111111211122121222211111122221111211122121112211121221222121222222221212122221112122211221122212212111121112221121122111211212222121121212212222211212121212211221112121221112212212211112221111212122122122222122111122111121111121122122221221212221221221112122112221121222221222121112122122121222122211221122221122222112212121111121212221212212211211221112212221212111112121122221211221211122221222222112222112211211111112122222222111112211211121212212212122221221122211222121121222212121221221121111121221221122211221212222122112221222221111111212122222122211222122221121211221111112121112222211222211112222111211111211122112221221111211222112222211211221212212121211112212112111111212212122112211111222221212121122212211212211212211212122112211112222111122222211122122212221212222112222112122222212221221212111212112212222121122212122221212222121212211212111112212212111211211222121211112222121221221212122122121221211221221221222122211111112112212221211112122221111211122122222221221222111112221221112112111211122222121212222112221211122121221211112121221122221122222221112212111112222212121212211212122212122112122112121121211222121112211221222221222112211112211221121211212211211121211112121222112221111121222112111121222221111121112222111211122112122212212222112111221111111222122121212112111111222212121121112111122122121222121211221121112212212212221222212211111121212112121121111121222222211211221212112222221121122112221122212212211121121221211221121212211212222111211122211121122112122221122211211112111112221212211212122211121112222212111221112122111121122121222211212121212221211121121121221121222221221121211212211111122212212122122111122222221121211222222221221111211211111112111212112222111122222122221121222122121222122111222211212121211212222212221111211111212222222122222211221122111211222111212212121122112221221211122122221211222212221112211222122212111221121222122211212222122211122112211121222122222221121111211221221111222122121111111121122112122122212111121221211112211121222121221122211111122212222121112211211221211122221211111222222222222111221212112121122111221122222122122112221212211211221112112211111221121212222112112112221211222121111111111212121121222122122112211221221222212222112112211111212122112122122112211112221112212111212222212122112122122221111112121121111111212121212121122222122122222221221211211222222222221211122122111122211211121112112221122221211121111122211112212111122221111211222111221211121111221221121112121111112222212222222122111211222212122212111221122112222221121112212211222111112221222221222221112221111221121221211112112121122111212122122111212211212212212212111212112222211111112122212211221211111121212212111112212121112211222211112122211111212221122122222212211121122122211112111111122112112212112122211121111222112111211112121212111212112122112121222212112122122211222221221222121222121111221222112222112211222212112122112112122211222122212111111122222222122221221121222222111122212122211122121111211111122121211122112122212121222111221112221211121111222211211121212222111122221212221122121221121212122122111211121222122122221212122211212221112111111221211111122221222211212112122121122221212111212222221221121211121221112112222121221121112122121211221222111111122221212121122112212111212212211212212222122222221112212122211112111211112221221221212222222111121111112122211222112121212212112121212211111122111221222222122222122212122112221211212212221212111222121111112111112212221112221212122122122222122111212212111112111211121211112122222221221112212221222122111121122212122112222221112121222222111211112221212221212212211221221111222211212111121212112212211111111121112222122211112111122122221211121112121212221222122221112211221222122221111112112122111221222122212222122212211122112212122122121112122221122112212211212221222221112222212212212112112111222111122122221222222212122111112111112122221121221211122212122211121111211121211121121222221211212222222122112211221221212212221211121211212211212112221112221221222122111111222221122122122112222122211122222212221122121112112112122222121112121222122112111212121112112211111211121122122112111112221121111111222212212222211212211222221222112222211121222221121221111222222211112221122222212121121111212121111111222112221122122221212222122122222221121221121121122122221122222212212112221222111121211212212211212212222111121211122222111111222112122212211211122211211122111121222111222212121221211112121222122111221121221211222122111111121111211112222122212211212112212111211111112211212221211112212221221221222212111122221111221122122122221111222212221212122211212212211212222221221112111222222222222221121121222121212112121122221221212211111121212211121221122211121221122221222121211111112221221121221221122121122211111222112212221121112212112122111222222211121221112121111111221221122212222112111112122221112121222112211121212122212211211221111122112222122122121121121212212211212211111111112121112222222111122222212221221222221212222111222212222211212112122212222112112212221212211122212111222211121111212122211221211111211122121222122122211121122112122122112221222121212211112111112212222121112222122111211121221122211221211122122112122111112111121121121211112221221122221111212122212112212112121121111112121211211122221112121221222121122222111221222121211111212122122211121212211111111221112212111122221122222122111211222111221222111111222212222212122212212211211112112111222111212212222221212222211222111112121221222211111121222112111212212112111121222221121212221112221122221112212122212212211221222212121212112121112111221122222212112221121112111111222111122112121211112112222112211111121212122121221212222212222222211112121121222112122121211212222122121121222212222122112212212212111122212221112112211212112212222122222211111111211121112221212222112221211122222121111122211211221122111211211221222221112111211122212121221111212211111212221212111121112112222112221211221122211221121112222112112221222112122122211222112211111222112111122112121122111121111111222112211221221122111121211211111111122112121111211222211111222121221222112122212121111112221211111122222111122122122112122122122222222211112111112222121121111212222222211112211222222222212211211221212212112112111112221222122111112212111211211121211112221211222222212221121211111211122222121211212122211221221222221122122121122121211211112121222122222222121222211221122211122211221112111222122112121121221221122222212112211112222222211222112221212211111222111211121122222112121221222111112121222111112111211122112212112122121222211121221221212111122212221112212221212122211222221112121122212212212221211221222211112211121212211212211211211121211112211212122111112121111111212221111112112222121122221211122212112221121112211122111211121111221111212212211112212122112212122122112211111122221121221121122122111221212221222222222221121221111222221111221111112122122121112212122112121222111122112222222222112211212221221221122122111212122112121211211211212221122111122111122122211112111212121212122222112221111222121212122121212221212122222221212122212212122121212211121121111121112222112122122111111122212222112222211212212212221222222112212221112212222111212222121221212212121211211222221211221122222212212112211122111121221121222212221221211112222122121122212222222112211111122222222211212121222221122121121221111212222122121222111121112112221122112212211221222111121122111121222111221222212121222122222111112122112222111122122112221112222112212122111121121222222212221121121111111212212121211121212222111221212122212111222212222211112112122121222212222112221211122121111121222111112122121121221211212212212111122121212112121112111122212222111221211112112222112121112122222221221211222111222222112212221111211111212122211122222222111221112122111112221221121111221211111111121211111121121222222211211222211221211112221221222122122211121222121221222212111221211122111121122221212221122222211221212222111221122112222111221112111122212122121221212112122112122122222212111121112222122122211112121221221111221112212211211211212222222112121122212111121212222111111221112211111121221212121212112212222122212122221121121222221112222211211222111111121112111111211221211211221211112222221222221212222221212111222212222221112112221112111122121121211121211211111112222121212111212221122111212222212212221112222211212112121212112121112122212122211222212121121222112111212121122122211212122212211112121222212121221121221112112111221112121111222111122212211212111212221122211221212121112112222221111121122211211211221222211212211111112222121222112211122111121222221121121212222111121222111222121211221122121222111221122222111111122112212121112212122111111112121112112222222221221221222212212222112211211222112121222111121221122112221222121221122121111122122122222112122212222112212122212221211112211222221112221212122122212211122112121112221212112222212221221221121112121121211112222111121222112112121111212112122211111221122121222211222212211121112222122121212111221111112212122222221211212221121112112211211112211122211212122222111221112111121111111111122221122112222211221211221211112121212221111222112112122212121221212111212111122111221111212211212121121222222211121221111112222211222122212212212212111112122122111121111211222121212122122212112212212222211211211112111122111122211211212111112112211111222222111122212222221221111111212211121121112111212122121112122222111211222211212211222222121222212121222212121221222211121121112212222122112111112121111112212122111121211221221122122122111212121121121212111222121212121221212221112112212121222211212211122111122222212121112222121212112121111222122211122212112211211222222121211212222111122222221212221221111221211121221221211121212111222211212222121122221212221111112122211112211221211212211121211211211222221122112112221212212211121112222111121121212122112221222122221221111112211222211221221221222212112211111221121121121121222121221112211121221121221211112212122212121122222112122221112221221121221112211211222222212112122212212221121121112122212111222112222112211112111222111111122212212212211221121212112111111222212221122221222212122212122222111212221121112222121222221111211121121122112111111212112212111122112212222122221112121122122222221211111122112222122222122211222111212112122212211211212212111122221122122211211112222112211121121212122222122122121211212111222212221222222221211122222111221221211111121112221111111221122122211222111211121122222111112221112111111212122212212121221212112211221211111111211211211211112222112111212212211211221211222211122121122221212112112222112222212122112211122111221222122221121112211221121112112222121122111221121111111111122221222211121222222121211221222212222212221111121122221222112212212112122121111222211121212121221111121121122112121221221211211111222122122221112112212221112211112221112212212221111121121211222111211212111122212212222111211122122121221212211111212211122111122111211212121111112111221112122221222212221212122221121212111122222222111122222122212111111212211111112222222121121221122121222212211221221121222121211211122112221212111122112222121122222212112212222112111112221122122222221112122122121212122121222122211211121221111121122222122211222221221222211112121111121212112121211222111112111212111222122221221112212222112212122112212222112122211112111212111211122111111111222121211221111222211121222212212222212211122121121211121211212212221221221112111211222222211212221121212111111212122121211112211211222212221221121212212121121222112111212111111112212222211212122122222211211121121122121111211222112112111222221112122211112111111121211221122122222212112222222122112122121211212122121222122221212111121221121212121221211212211122122212212211221112112211212121211211221121221211121221211112212122121121222112121222212112222222122212212212222212122211121221111111112111111222222111111121211112111112212212221222221111122111111211222111121211221222222121111212221211122221121121121111221222211211221122111111211222221222212111222222222122222222222221121211111121111211221121122111221212121122212122211112211112211112112111121112222122122212211112222211112222211111112222221221211212112121221112121111112112112211222212212112211212111212122121212211122122121111221112112111212222211211212222222122122112112221211121121211122112212122212222222222122111211212211112221122111211211221122221122112112111222111111211121211221212222221222112121212111211112211222221222122111211111211222111122112222122122212212221121112212122121112222121121222212121221212211212221121121111112211222121112122211211212122211122122112112211212211122111221211211111111121112111211222112221121112222221112222121222112112212212112122121212111122211221121221221121111212211211222222222212121111112122211122121112221112121111112222221211221212222112211121222211222112212222211211211222222111221112212211211212221222112212121212212212121222111221121121121111212112121122211222111222212211222121122122221222111211122221221122211222122122111122211212121212221111221221222212112222212122111112122122111221212222112121212212222222122211212122122221122222222211221121122121121122222212111122221122211122121122212222121122212111121212111221212112222121211222121211112112111221222211211221121211122222111221212211111122211122111122121112112111122221211211211211212212122111122121121122121221221222212111121121111122112222211221211211111122222112212112212122212111221222122112112121211111211111212122111211211112221121221211221112222111121221111212121111212212111212221221221222111121212212221112212122211122111112112222121221211222222112211212121211121211121222111222212222221121222221111221221112222122211112221121111211221222121222122112112221121222211111122211111222222211122112212111122221122222112112212222221221122222211112212211111111222112112221212222222212221111122212211112112112212222122112112112112221122122121212221212221221122222111211111122112212211111211121221222111212212222221112111212221111212211212122211221212121122121122111112121112122111212122222122111111222111111112212222211221111122111122112111122122211212122221112122112221121221211212221221212211222221122221211122221211222121212222111221211211121121111112222222212211212121222111221211212211111211211212111112211221221112222122221121211112112111121121111121211121121212212222112111211212222212112211212211121221221112212112211112112222212111121122122111222122211121221122212212121211122211121112112111111211221211111122122222221221222222222121222112122222222212121112112212111122122111212222121222211121112122112122122122112211111112222122211112222211112122121122212211221112112111212121111121112121221121112212211121221112211222112121112212112111121221112222221211122212212221121122112111122121112222121221222112222221111111222222122112112112221222111111221111212222221122111121221121111111122212211211211121112121212211122212221212221121111122112112221122122212212222212222222211212121112111211111212112222122111212212211221221222212211222111111122222222212211221111221211122221122222222112111111222221122122221112121222122212111111211121221112122112221111112112111211111121211122112121212212121111122111211211212111121121121122211212212211222121211212212211122212212121112111112112112212221111212122121222112122222222111212211211111221121112122111112121211122112221211222111121122212221212222121211212221112122211112221112122111221222221122211222122212222122121122211111211211121122211122112212211112121222221112121121112221121221111112211221222122221222121112221112112111221222211111212112122221122121211121222211111112111222211212121121111212222112211111212221211111112212211212222111212122122111221221221212122211221122222112211121122121212111222211111122112112221212211122222212122121212212221221111121121111211211211212122111221211222221211211122221121121221121111122111212221221121211212211122211122121212221111221211122211122122111112112121222212121122121122221222222221111122221211122221211111222221122222222221212121122222122211211212121121211221211211112112122111211122121111212211111222122211112222121221111122112211122112122122212222222222111122222221121121221211212222111222211211112222221121122122212221212212212212121222221122221121212122112222211111111212212221122211211112111121112211211222222112112121122222211122121222211122221221222222112121121122221121121121111122122211212222111111121112112211111222212122221221212221111221211112111112222222111121211221221222222212121211112111112212121222122112111121112212122222122211212221221122122221211122212122121122121212122111121111111212211121212212212212111221222111112122122112111221122222212112121111112112211222112212121221211121112111221112222222211121211121122212212111211121212111211222212122121112221122212212122221211112211121112222112112111222222112111211211122211121212222112211222212112211111221212112121211121121221112211221211112211211111222122222222211122222212211122122221221122211212112212111212121221122212212112212222111221121122112111222221221211212211112222221222211121112212222221212212211221122211111111212111121221121211212212121211111221122211222121212211112122121121222122211122111111112122221111211211222222112222211112212211222211211111221111111211222111221112121122121222212222221221112111122121112221211111121211121111222211211111222111221221221112111111222221122222111221212212212122212222212211112222221221111122112112222122212212221221211121221211121122221221211121111111221122211212212221212121222222112122221122111222122111221121221121222212221121112221111221121222212222222121211222112221122212112221221112222222212211211111212211222221121212211112112222111222121212122221112221211221121212221111211111211121211112111221211121211111111111112112222111121211122222221222222122112122211222211222121211112222211212211112212122111122111221111111221121221112112111211121211111122221121211221111222211221111111112111211121212122112111211112212221212211122121221221111222111221111212221221112212121221111122121221222112211111112221111121122122221121122112221221112122121212221112211122212121122112121112121121112122221211212212211221112211112222211122111122121112211212111122212211121121222121212212122212221211112122211111111111122222221111222222121212212212211211122211212222221211222211111222211212221211111222122222211212111111112122111212121211112111221112222212122212211221211221212211121211121221222221112111211211112222111212211222111211111211221112222111112222121221121211221112211222222122111121122111111122122222211212221121122112221222111211212112111122212221221122112222111211121112222211122212112211222212112122212112112122211212211122222111222222111111121111112212221221221211212211112221221122121121112221111222122212111122111112221121112211222212112221212221122221211211112211112122222111121112222221212112111211211212211212111221122221121122112221211112122212222112221122222122122112122222212222212121111112122122221212111112122222111221211121112121121212221211212211112222122222211222221211221122111211111121221211221221221122111212221211212211212112212112122212122122212111112111221111222112112121111111211221221122212111111112212112212121111111221121222222122111112222122221212212112122121222122212222112221122221112222221212111122212212211211222221221111212222112112121221112121122211111222222222112222121111121122222111211221111122221112211221111112121111212212111221211221212212121112112211222121121111111122121111121121222221211212122222112111112111211222111221112122111222122211212221111221122212212222112112211121111111111211212121121212122222112221112212122221111122211211111112111111222222211212221111111221222221112222111212112122221112111211221112211211112222222111212122221221221211211221122222211211121222221122211221221222222122112212121122111211211222221122211211111211122121222121221122222121111211121212222122212222112122122112111211222121211122221112112222211221221122212221122112122111212122121112222121221222211212211112111221121222211221112211112211121112121122111211121122121212111111211111121122221122221221121211111122111221211211212122112122122122212111222121222111111211111221121222211111122212222222212212211211121112212112211112212121122222221112222111122122211221222222112212121222121212212222222211221122112112111112222222221222112112122222222111112211122121111211222222221221211111212222122112111111211211112222211221112112112112222222122122122212122111121121121222121111221122112122211121122221112222122221121121211221212111111111111211122221112121112221111221121212211111221112122222121222222122212111121121122112121111212111221221221212121121212211121211211211121211221221111211222222112112111122122112122121121121111112222121221111212212121212112211111112122111112211122212112112221221112221112122111222211121221222111222212111121221222212222122121221221222222111111211121221112222121111111211222122122222211111112111211112221121112122212211121211222211222111211211111112122111222212211111221212122122211221221221221121212122221111222111211111221122122112221112121212122221222111111111222211211211212222112222121121221112222211112111122212112221122122111111222212121222121222122221222111111221211211221121222212112221122121211222221111221112211121221121211212122222211211112112122121121121111212121122111112212111112211222211221211122112212121122111221122221222122122121211122122221211111111112212111111222122222221211221111211112111212211221122222112112211222211121112122212222112111112211211212121221221211112111121211212211111211121212121112221221111121112222121222222122122211122221222121222221122112222112121121112221221211121211211211111211212222212121111112121111222212222122122221221211112222121111112212212111122122111212222212221121122211112122222222112221221111121221211221222112122211111211112121221222212111122211221211122222222122122221212111112212121112222212212111221222112112222112122211111122211111111121212112222212122211212112222112112212122211122121121112121221221211222211222211222211211122111221221112121121112112212121121121212212122211221211211212121112222122112212212222211212112212121111222121211111122121112111221211211122111221121121121221211211221121112111121112112211212111222212211221122121112221111221111222221121111112222221112111121122211212121111211121212122221122122112212122112221221121222112212212112221212112112122212212122121112122211211212122211211121121211212121121212122222211221222112221212112212121122121211222111111221122112221121112221121222221121211111222221112121122111212122212222122211212111122221222222211121112222111211111111212112122222122121112121122212221122121111121122212112122111222212211212122211122221211222122122222221212111111212212212221122212212122121121221211221222121112111122211221122211212121121121222112221221111211221121221211211222222212121211121122211111112221222122122122111222111122122111121222221212211112221112111112211112112112112221212111211121222211111221212112121211211111122221222112222111212121111111221221121211111111112222211112211221222112111221211221212221122121112212212111121112111112112222212212111121112212221112221121212212222121211112212212122121112112211222222121221111122222111111211121211222221122222211122211121122121222112212212121211112221121221221222211212222221222112112211121121221222212211212111222221221111121222211221121112222112112121222222221121211111111211122111122212111121221112111221112112212112111211122112122112222112112121121221222222112221222211112221211222112222112222111112111122112122222222221211212112221211112112121212222212211122121112121122112112122122121112122111212112122112121212112212211121121122112111211212221212211222211211212221211212121211121112211212112122111112122211211111222221121211211121222221211212122212111111122112222112211212211222121111112122212212211111211111221112112211112211111122112122222111121122122122222222211211221222222122112222111221212122212211221122221121121212221122121121122112122111222222121222111112222212222222122111221221112112112121121222112112112221222111121121221121122221212111111112122212221111122122121221112112121221211212112111222221111212121221212112121111112211111222111222211211112112111112122211121222111212122122121112122211121122211121221212221211112122222122121221211212211112221212212121222111112221221122222122222111121121111121122211122111212122211221211112221221112112221122121121211122212121221211112221222112122222221111121121121112122212212112221212121112121222222112221112112212111111221112211211212122211121222122121112112221122221112221122212212212212122212221221211221111212111221121212211112122211111221112121211221211121211111121222222222121121211221222222212122212121211112111212122222121211212122122111111221212211221122221121222121222212111222111111211221211111221222212221121112112222121211222111122212112111212221222122121222111112122121222111222122121122111211112121111112121212212121111122122211211112211221111121121122121221211212221111221221111122112122211212211222212212222122222112222211212112122122222222222212111221221112112212222122222222212222121122121222111211111122211221222212221111221122221111211121222112111212111221211222212212211212211221112222111222121111122222111111122112122222221122212122121221122122211122211212111222212211222122121221212222121122222212211221211121211122212212111111112212212211111221212212122121221122121122212221112112222211221222121112122221222212212111212211212212212221212221212112121222212222111121122122211221222121222121122112212112112111121121112221112221122112221221122211212122211211211221222112211212112212221212112212212211111111112121121111222221211212111212112121221112211122221212122212222211112212111112212222112211122122112122221112112122112221121111112112211222122121111122212121112212122221211222212121212212112121221211222111221212111122121211221111221221221222212221122221211121112122121111121122222122122222222122222221212211112212212121211121111121122112122122221121112121112112212212211122111222122212121222112122112112222221222111211111211221211111111122222122111222111122122212222112122212111211111111111222121111122121222112122121221112221211111221222121111111112121221212212112222112221221212111112221221211122121211212122111121111111111221212122111112122222212122122122121211111112112222122212112111121122112221222222121212222112211222121222111122112112122221112221112221211221121112221212122112212222121121112121211212212211122122212112212221121112212122221222121222111121111112221111211221211122222112212211211121222112212122111221211221212121211122222111212212122111211212122211221112111222112111221111211122121222221112221121221221111112221111121111221112212122211122212121222221212212112212112112222122222122122212122211122111212121211211222111121112222121122112221122222212122122221111211122121111222221211121112212222111112111112211212111221122111211122222222112121221121122212111211112222122111112112121111121112112121222112122212212211112122111222222112112212112222222122212121112122222212222212111221112111111112212211212221222121122122112121211111212111111222121111221112211211111222211121211221211221211112112211221121222222112212212122111222222221121111122121212112222212111111121211211122111122121222122111212212221121122212212112211212121122121221211221112212121212112121222221111211212211121211211121221112111121112111221112222112111111122121112222121221211121121121111112111121221221121212122111122212211122122212121111122221122222211112111111112221122222121211121211222212121211212121122112111222121212122121211211211112211112111112112112212122112121121122212121122121122222122111222121122212212112112121212222211111211111212121212221222221112211222122211122112212222122212121122212211112111212111221111122212122112122122221112211211122221221112122222122222212221121111111211121121211111222112211111212221211122112222121212212121111212111111122111222222212111212211211221122221211211222121112222121211221122121111122211122212122222122112121212221211121111112111222112112111121212212122122111221221112122112111221211211221122222121111111221212212212222121122221221111211212111222211221112121111122111112122122222121121122212112121211211112222222212212111221111211211221112121212211221122211122221212122221221221112121221121222112221221111122212111111222112222211222221121122211221211222122112221111221211111221111122122222122111222222122222222122211212112112222211221212122121211112122112112111211122211111222221112221221121112212111112222122122221112122112212111221211112211111112221111122222221211211221111112211211112121121121221221121222222122221121211212122122221121221211121112221121121222222221211212222111122121211111222112112222111112211112122121111221121221211221221222122211121212121222212212222122222211212122112121221222111212121121111111211211211112221222222122122212122221211222211122211122111121222111212221222221121222212211212112121221121221112112211211122121112221121212222111221122221222122111122212221221121122212211111222211121121112122221212212211122212121222121222111212212122221111212211122122112211122112111112222111111212122111212112122221121112122111222112111222222121222222222221112122222221211221222111211121121112212122121111221211211211121122111122221122212112211112122112122221222211121122212222111222111212222212112121121211222211222221212112122221212212122111112111211221122112221121221121211212212122112212222221122112211122211121211211221112112221222112121112221211222122121211112112212211122122212112212211112221112112211222222111221121211222112121222121222222222211221112221122111221122112121211121122112111122112221222222121122111222111222121221122121122212112212122212122222121211112122121121112121212211221211221211111122211221222112211121111211222112111212111211112211112221122221121111112222221122211112112121212121211122212212222221121222212212221122212111122122111122221222121111211222111122222112211221212111122222212221212222212211122212112111122121211222222211222211122212121222111112211122222212211221121122221122111222112212122121222112112221122221122221221211221212221121211222111122221122121221112211112112122121221121221121122211111122222122112221111212122122221222222111122121211121211111212121112221121222122122212212121111111211121212212122122121221222211211121222111122211211222122222112111122122121212211111122121111112222122112112112212111122221111112122221112111112111121122212222221121112222111121122221221211222221222212221212222212211221122212211211111121111122211222221212211121121211222121222211122112211211211221221112211122121122121222112211122122212122122122111121222221111121212122121111211121222111112212212112122121111222111212122211221112112122122222222211211211111111211221112212221221211221122112222221212212112111221212212111212211112112212111121212212212212222222111221221121221211221112221121221222111122121111122111212222111221212112221212221211122212211212111111111112111222122211121112122221211211222112121111121212112221112212112111222112212221222212112222221122112211121121111221221111221121111221112111212111222212212221212112111121111121221212221112111121121222212212221111122212221121122122111112211122112221122212212111212112112112112212112221211211222121121121221121211211112222121122122221111111222222212221111211111112122121122212121222211221121212122221112112111121211122221222222211122212212121211122122111112212221211122112212122112212211221112111211211122121211122121222111122112112121112212212222211122211122222221112221121111222111111122221212211111121211212111111212221211221121122221121212221212221111111122221111122121211112221222212221212122211212222112111122122121211222211212221112221212111112111221112122122221112222121212211222222222222122112121212111212111111122211112111221121121211122211111121121121111111221222221112111221221112221122111221111121112212112122221211221111212111221221111222212211221222212122212211211122112122112112222121222122221221112122111221212221111211211211112221211111112111111121222122122112211212222211112122112112111221111222121112222221122212112212212111111111122112112112112111122121222122121111112112121122121121121111221122122121222211121122222122211121221112111221222122212212122222222121112221211212122112111121211112221111211111122221121221121121212112121221221211222111112222121222122212122112121121121122122212212121222211221112122121221111122221212112211112112112112221221211121112212211222212212122121122211212221111122212112121221112111121221111211122121212211121212222111212112121111222111221221221222222212222222212111121121121112112211121122121121222112222211212112222111221122122111122212211211112211121212122212121121211111222211212112121221111122112222222112111211222211121121211221112212222221212212122121221111222221222112211221212111212111122121222211121111111211211112112222222222112112122111212222211112211121212212212212122112221111112121212121112212112111121121221221212112111211111111112212212122222221222212122222222211111111222211212212122111112222121222121121222211221121221222211221222221221111121212121222222211221221212111222112221221221221111221221222122222222122111212212122221221122222222112111212222122112211211112122211212222211222112112221212112111221221122211222211122212121221222221221111212121122111212112122112221111112111111111212112211121221222222212211221222211211122112212122111111212111222121222112221111112211112112112121111211122122121121122211111111112222112211211221211212112222222211112221112122122222111222221222221222111121212122122122211211221211112112221112111212211221222212112121111122212122112122112222122112222221112122211212121222122212222221121211121221212222122221111122122211111121221211221212122121121122111122211112211121212111112112221211112221222211212122212112221212221111222112112222212211211122111121121221111221122222222112212212221211111212112121122122121212122111212211112212211122112111122111221211221111221211211112212211211111221111222111221122111212121121122211111221221211121221211111112112222121111111221122221121211221222112221212221211222222222122122221221211221222211112221222211212111112221221112122112112211221212211112122211121111222211222222211112212111121211211122122221222121121122222221121112221111211122112112121212212211111221111212121221121122222111121221121222111111121122121122111122212212211122121211111122121121211221211112111221221122211212111111212212212111112112112122221222212221222121122111121211122212211122122112222221122112211122212222212121211111121121121221121112121121222111112221121121121222221212222112221122111221211211112221221221211212212212221111111111122211121112122112111122122121211221121212211212122212121111112212122111211221212122221221212222121221221112112122111121211211211211112121121112212212212212211221111211111112212212121211211122121122212111111111121221121112122211222212211222112211211111111121122211122121211211121111111222112112221121111122211221222111121122212121121212221112111211211212212112122121111122111112222221221111111212221122121221121212111122121121221212211112221112112221112221211211122211211212212121112212221212212111222221212121121212121112122212212121122221122121121111212221211112111122111111122111221211212212121211112222221112122222221221111221122222222212211211212211211112222211222211222211212212221221122111221121212112211111222112221211112222121112111221122212212122122122111122112221211211221222211122112221211211212212112121211211221211222122212221121122121111111122111221222212112212122221111211111212212122221212111212222221221122221112121212222121112121122221222222122121222122211122221212212212211211212122212122211122211111221221112222121212221211221122121121122112112121212122212222111111221221212212212112211111212221221122212111112122121112211121122211211222222122222122121112212212121121112221122211112221121222111111222122222212212221111221122112121122111111121111111111212112211121112121122112222122112211122111211221212211221111112111211211222122111121211121212211221211222122212111211111222212111112111221211211211212221111211221211212112211211212121122222122112122212221111112112221221122222122121212111112212121111121212122122121112222222121112121122112222211222221121122121122212222111121121121112121111222122111221122221222122122222111112211222222111221122211122221121111222121222122212121111221111212212121211112222212112112121122222221122112121122112212122121112122212222212121122121221211222112111211211122122121112211121121111111122112221112221221212212222211222212111222212112112222211112212221112122212222211121221122222122211122222121111222212212211112111111121121122112122221112112211122221121211211222211111122221222111212112122112122111121122122212121212222112121221221222122221121221211111221221121222111121212212112112221122122211112122112122222211211212221121122122122121212111122111121122121112211211122111211112112111122221111112211122222122121211112112212211111111222121221212212222212211111222222121211111111112111112122112211121122111112211222221212212121112121212121221122222112122221211212211222111122221111112121111121222221112221222221111211111111111222122221111122111211211112111112111222222111211211121221221222122222212212111111121121222121111211121122122221222222112122212221221122112221112222211122121121212211111121112212221111122212111112122222121212122211221112111112111111211211222221111112111111112222212111221212222221112122221222221212212111222121212222122221211221121222112121212211112222121212222112211212211121222122111122211221221222111221111211222121112212221121121211212222121112121121111121212122122122122111211222212221122122211221111111221222212121122121212212121222122111222111112221112112221211111212121222211211121222222221211211212112221222121112122221121112211211122211222211121212212121112212111222121112222222221122221111111122122212111111222122122222212212111122121222121121221121222211122221111121211122211122212222112122222211112112111221211212212112212212112221122121211221222211212122122112212212222111112212111221222111111122211112111221211122211111212222122112211211121212121112222122111122222211121111222111122111111112122211112121221122122112221111211111122222112111121212221222121122212211111212111121121121222211121112222121121212121111212212121222211111111222222211221112121122222211121112121112122212111111222212212121211221221121221111112211222211222222212222221211211222122121111112222211111111122211212221111111212112211211121111211122112211222211111221112121211211212121212111211211122212211222111211121222222112221221212121121122222211121211212211212211222112121111121121211122211111222222211111121122221212121212211122111121112111122122211121212211122112222211111112212221221221122112121122222112221112112121212121221121122211212212212121212122222121111112221211122121222122122211211111222112121112212122221122221211122212122221211111112212121122112221112211211111212121121121112212212121211222111121221221221121112112221212122221121122112212222112121111121222212112221212112111122111112222112212112121111221111212222222212122122112111221121211111211221221121221112211121212212111212112111211212122122121211121212121211221112211121211221221111121212221121112112121122211111221222221221122222122211222221222221121111222121211122221121111221112112122111212221112212222111211112111122122121221222212212211212122221221121222122121111121212211122121111122222221211212122211211111111122222121211111221112121121121122122121221121221122221112112222121112112111222111122221112112121121222122111212122121112221122211221121111122121121121222122112221122112112121112212212111111221222211212112122212112122111211121212212212122122122221222111122121211122221111222221122122121221212211212122221112222211221211212112212111221112221111111221111221111211211112221112222112222212122121111112111121221212222122211222211122111211111212122112112121222111121122221122212221111111111221111121112211112212211111121112222122122121111211122211221111222122211221122111222212111121112221121122211121222121212111111121121112112121211122211222121211222112221222112122111112212222221122222212111122121111111211112111122211112122121221222212121121121111212111211221111211222122211122222112212211122212212122121212121222122212112111221112121221112112121121122111121111221121211212211221111121121111122121211221221121222221212112121112121112211122121112112112222112212211222122212222112111212222121211221221212112221211111212112111221121121121121211111112212211112222111221112211221221222212111211112222121121212221111111121211112112121111121222111121222222222212212211112122211211221112222221221212112112112221211122112121111221212121221121211122221111121111221122122122221121222212222212121222212112112111122222112111111121222112111221211111222222121212111222122212111112112212212122112122222221122111222222222211222211112211122111122122112112212111211212112121222122121121121112111211222121211211112111121112222112222111222122222111222211221112122222221222122211112122221222211121111121221212222122112111212111211222121221211122112122212111121122212122112222122222111212221212121221212121212112121112121111211221211222221211221111221221221121211222212122111112122112212221221111112122111212221111111221221222221121122122112112122222112222122111121211122212222121112221111221111222121112112211121222222112112112121111112112121122222211222112211121212121122212111111211211211121221121121112112211122111121221222111212122111111211211112212222222112122121221212122211122212121211112212211121221122221122212122111211111211122222211221222211221111221211221222222111221112212111211212111122212222111122211222122222212111112121121211221111221222111121222222121121212221122222121121212211112111112122221211111112122211221121222212122222222121212122212111222112222212112212222221111111221211211221122121122211121111122211111112121121111211112111111222221112222111121112122222111111221222121122122221111211112121112212222212222112111122122211222111211211211222212121212211211212222121122111222111222121121211111122212121112222222222222121222111122211212112212212211221112211112122111221221212121112212112211111111121112121212121111211121212112122112212121112221221111112112112221211121212121221121221221222222122112212222111112121221111212122221221112112112111212222121122112212221121212112211212122122122122211221211112212212212211222112121211211121211122221212212112122111221222212111211221211211111112211212222122221122112122111112211121111112121112222122221221211121222211221212112122121122121121212211122112221121112211222112211122112121112111212211222112121222121111212121121211212121222122212111122221112112211211211122112122222112222111211212111211212212211222222221211211111121221111112211221212222111121212212211222221121112221121112121212112121112122221221121222121212221221222221222112221122122111112221211112211212112122222211122221111221221211122121222222221222121111211122221121121222121111212212212221121212121222221121112122222111212221111212111212112121211111212211222221111222221212121121112212211111122221221122222221111211212121121222122112111212212122211212112111211211222111222121222221212212211211221221211221222111221222121221212121212212212122212122111112211112212122222212112122111221222122221112121212221211112222112112111112212212112122211221221112121111221221121111212212111221111121211111112211221121121222112112212222211111111122212221121212212112122122222112211211221212112122122122122211222111222121121222212122212222211212222221122122122112221122121212211222212111212112111211122221221221111212111121211122111222222221112211111211122212112211212222121111222122121112222111211111222211222212212111221122222212112121222212212222121222121122111111122121112121122122112121122222211112222222211212221221211121221211112122212211121211211222212122112112212211122122211212112221211122122122111211211121211122112111221121122111222112222121122221112212212122112121121112122221111112212222222211212121222221222122222211122221221121112111222111112212212121211212112111122221212212112212222212111222211112122122121121122122212121112222111221111222212112211211111221121122212121111112112122221111222111212122121221111212222112112211211222212112222211121121212212122111211111211121221121122111112111222222112222111111211121111111122121222222211111112111112211222121212221222122212122121121222121211112121222111211221111222122112111211221112222122212222221222222121111221112212222111221121121221221221111121211121212112111222121111222122212121112211212112112211121222121222221211211211212122121221212122212212111112122122212122121112112212211211221112222112222122222221112221111212122221211211221222222222211211222112222211221222121122122112211112111122221211221111111122122222222122222111121221221122222121122212121221112112111212221211222211222111122211222211212211111122122211222212222111212111222121121212111111111111212111111122211112211222212111111211111122121222222111121221222211211121112122122211211111221112121211121222121121211212212121121212112222111222121222211222222222112111222121211111111211212111222221111222221121122212111112212211222112112222222211222121211122122212222221112122222122121121122222121121211211222211221211111112222211112111122111122112222112112222221212111211222221212121221121211122212121222112111121112211111112212221112222211112212121211122112221212122121221111112111112212211212112211222112122111112122112112111111121212211222111111211121222221221121112111211112221122121212221112212121222121122222212112121221212122122212222112112121221221221122112211122212121122121111222221122221121211212111221211212221221222222211121111222212212111222111111222222121212122122212221121222121121212112121121111122111122222211212222211111121121112212111212111222122121112222221121211211222222212211212122122222211212111222222121222222221212222222222212111112212111222211222211211212122112122122122112211212212122222111121121222122111221212121122112221111111212211212222222222112122221122221112222221211111122122211122222221122222111222121112111221221122221121122211121222211122122211112121112121212211221111222122221221111221212221222211121111122211112121221122111111111121211211222112121112221121221211222211121222112122221221112221121121221111112112212221112121122221122222211111211211121122211111112121212121211111212221111122121212112121222112211211221211212112222212222122211221112211222211211122111211122211111211212121111111112221222221121111112112112112222121222121111122121211222222211221122111212112212221111112222112121222222112212112211122221212111122121112111211121212112111222221111111211212111112221222211111111221112211222111222112212211111122121121112122112122122212121112211122111212222212111221112222212122221121211121221122112111212212112211211212121121222212111212211211122112211111212211222222211112212212211221122211111121122222212222111121211222122121221221121122122221222112222222121111112121111222111121111122222111112211212222122121112212221211121212211212112211211122221221111222212212122212122222111221122112111211222222112112112111212112121112221121122222221111221221221212222122112212121112221121212221111122211212211212111222111221211112211122121112111121211212111212222121122212212211222111122212222111211111222222112112122212112111211122212121212211121222212112122121211212112112221112122121112112121112221112212222212212222222222222212122112221111122111121111112212211112211221222122121111221221222111221122111112222112222112121212111111122112222112112212122212212111222122211221122221212212122211221112211111222212212212221222221221121111212221221111211122112121222221211221111112211211221222211121222211112122111212221211111221211222112111121111212112122222112211221121121111221112221122122211222212221222122211211122212112211112211121111122212211211221221211112122122222112122222122121211211122121222212221222122222112221121121211221222121222212212121212112222111211212211122221122222121112211121121112212222121211111112112112112221112211121221212221222112112222211212211112221221221212112122121112122121212221212122212221222122121112112211211122112112221112221212212121122211121122111121212212222112222111122122112222112112122121212221121122211121122121121121212211121112111111222112121212221111122112112221211211211222212112122212222222212112112212112112212121212122222122211222121212112222112111122112121211121121111211222211212211112122122122122222211112221122122221111212211212222121221122212112122111212122222222221211111211221112212212111212211121212221222122221212211111222121112211112111211222121111212221212112221211221122112221121222212212221212212111221112111112122221212211111111112221112111211221212222121211111211122221212221221222112212221112111121111212211212211222211121122122212222112121111211112211212221221122221121121221111211111222121121111122121211111211122121111121221122121121222111212212211211122122212221221121121211212121222221121211121122221211222222121122211222111212122212222111221122211111112112221111212122221221112121122222212222212122211112112111222222212111122212122211211222212111122121111122212211221122121112122212112222211221212111121112122222112222222211122212111212212222111211211112222222212122112211212112111221211112212222221222111121112111222121111111112221112212212221221211121221222111221112112121122121121221211121211111112221221222112212112111121111212111221121211212212212122111211112221111112222121212211222111221221211122111121111211112111122212211221211222121122121112122212222112222111112222122122221222221222222221222121111222112111111121221122111222112121212111222211212121211112112121111222222211212122221122111111112111221112212221121212222212121222212211111222112121112211112222122121221222211212221111221112121121111122112212212112121222222212211221221222111112221222212111121121222222212112221212112212112212222221121211121122222222221121112112221122221121121121221122222112112211221121121111112112121111111121212112111211112112222121112122221211211222221122221221222222211212121121111121212221122222121221112221222112221221122222121112222122212211221112211221221212111111112211211111122212112211212221121111212111121212112111211121212211111112211122121121112211121221212212212211121222121211212221211222121111122211221111222212211121211211211212122112212222121122121111122211121112212122112122111211221122212221112111121112121111212222121122121221121212121221211121111121221211221122212111222122212212221111211222112221211211112121122211112122222121211211111211221112221111211221211221222122121111212111222212221211112211222112212122211111211111122121222121122112112221222221112221222122122211221112122211222112222212222121122211211112111211221112111112211221112212221222222221221112122222211211121221222212112112111121222111221122212121212222212121121122221122121212122122112212111221222122222121112222212212212121122211112122121211121112111212222212211211122121122112122122111122212112121211221121212211212221211222212211221122211122121111211222222221212221112122211122222221112111112211121212111222222121212111111122222112221222221122112221222221211121222212111111121112211111222122211121121111212121211212121222112212212112222121111112212211212111112221112211211212221122211222112222212221212111211212112122212211121211212121212121222212111112212212211112111212222212111122211211112111122211211122222122211111222121221212121222222111211122221221112122122121111211211111211221112112111121211122222122122212111122221211212221221212111122121212221212111122222112211222111122212212221211122122212221222111212111212222121212122111111221112112222112122122122212212222121112112212111211112112121121211222121211111222121211121221221112112111121221221121212121111221222111112211121211212112122121222221222112212222122221211121112111212111111122111122212222112212221221212221221211212211112112122212211111111121122222111121222111122121222112111221112122111112112121221211111121112122111221121211112221121121122211222121111121212212111122211212121221112212212212211221211121122222121121211111211112211121121111221212122221212211111122122212112221221112221222122222121222122211121222122121212111122211121112112122211222221112212211212212212121122122212111112221222222212222212121112212111121111122211112222122122111112121111222122121112122221222122212122121112111121212112222122221221221122122111222121111122221111222222221122122122111211211122121112122122111122222221121221122111122222122112112221211222111112222111222222121222222211221211212222222121121211112111112122212212112221122212122111221111121222212222111111222222112121111212111122122111112111221121121212212212212222122121221221112122221112211212221211211121212121112222212212222222221111211211221122221112222221112122211111221221221221121212212111111221212222111222211222212222221211212112122121121212222112111222112222211112222121211121211112112212221122221222121212211222211221111212221212121211111221112122111222221212211121212121111122222121212112121121122221211111122111212222221212121212221222222112222111122112221222211221112112112111211222211222211121221212222111212212111222111222222111222112111121121122222111121112211212121221212112212212122211211221211122212121112221221222111212122121121222212112111112212222111211222222211122121212111222121121211212212211122121212121212222221121112221122112221212212222121222112121111121112121111222111211221212221221221111112111121111212222112221122121212112211211122121122212121112122112212122121211221211111222121221121211222211112221122222111111112121211211222112211222211122112212221221112211122112212111122111212211121122222212111211212212122122211222122112122211121221221111221212121211211122222212212122211212111121121122122122112221122222211122222222212121212111222211112121121222111222211211212212221221211221221211111121112111111112122112212111112121222211112121221111211111222121121221222122112121122221221112111221121212222112111111112122211121221112121111211221211122122112221122121112212111112121121222212212112212222122222112112221112111222112112112112112111222112222121111112221211211211112111222111212121222122212221112122112122221111221122222122211111221122212221211112212122111212111221111211222222122212122122121122122121222221211211121211112121221212112221212122212111112212211222212212212212212222211112122211211212222221212112222112122211122111111112122121121122111112212121211222111212221221121211122121112222221122121212121211122122112212212212211211111212122222211211211111112121112121111211112211121122122212122121122112122112221211121211212211112211121222211121221221121111122211121122111112112122121121212122121222211121112211121111122111222111122211111122212211212112112221212212222112222212112212221221212221212221211211112111211221122212122211122112112112222211122121112222121111212112222121212222111122122111222112112111111122112212121112121221122111212121121212112111222221222212111112111112222211222211121211121112212122222221222112222122121221122121112222221122221222111111211112221212222111112212112122111211121221112122212112222211211211211121111211112111121122212212122122111222121221112222211111122112121121222221211112221112211221222122212121111222112111111211211121111221122112212222112211221221222221121121122222212222222212212221211222221122221221221221222112212221211111212221212222211112122111222121111112211121221121111122121112221222121222211112112211221111111211111211122111211121212221211121121112221121212112221211212112222221221222212112221221221222111111212211211122112222122221112121112112221221111221111112122112222112112211222222211112221212121121211221221111221211212122212122221221122221111122222221111212111122222121111122211121112111111122212222221111222111212122112111111111112111112111211121222112211211221222212222111111112111121112222122122211112122212212222222111212221121211211212122121121121211211121222112122111122221112211221212212211212111211222122121222222112111121222121211111112212212112122122222212111122211211121222122111211121122222122211122222111221212222121121112222221122111111112212121112221211211212212122212111122122112122221222221121212221212112211222222221111111222211222112111221211121121222122221212212121212211121212121112212121122221112122221122122121111211121112222222122121111211222111222221112111122111221121211112211221212111221112222212212111221112211112122212111222111212121112121221121222111122211221121222222221122212221222212122122212221122111111112111112221121121111211112121111111122221111221211111211221111212111111221211211122111222111122212112211221212111221212112212111111111222122111222222212111222221122211112222112222221211221221222121222122221211112221112212222221212221222212111222221211112221221221212222122221112112222121122221112112122212121122111121121221112122121222222221212111121221121122212222122222222112222111221122211221111121222112212122111212112111212222111222222212222211111121121221212221222222122221111222222221212222122111111121221122221212122211222111111221221122222211111111122212122222122122221221121121212221121221212222221211122211222212222211111121212222111122121111122122211221122121221122212212221222121222121221212212222222212122222111212222111212112112212111222221112221211211122211122212211111112112111211121221212212212122211111121212122112211211121112111122111111111122121222112121212122111211211212112221211122212212221211211212111221221111122112212222222122122211112211212222122121112212222221211211121222122221211212112211122221122221211111222211121112111111211121221222221212121111121212112221111121122222222221122111111211212221121212122112221122212212221222121211222111122121221222211212112211212122122222111121112122121222211212121111211221122212112121121221211121212222221111121212112112211212222112221222222221221112222111112221112112111121211112111222211122111121122122112121121112222222121112111221212111212122122221222112221211122122121222122112122221212222122222112111212211121222121222121121121221221111221112222122211222212111212221122221211222211111122211212212212111222212121222211211222212212122222121221112122212212212122212122211111211211111121222222211212222121222211111111221121121212221211111122212221122112112222221211121111111222222121212211222122211211221122112212112211111111211121221212222221121212211211221112121111212221221111111111121121211211222212111212212211111121111222112121211222112222122122121221211211222122111112212112221122212111121212111112122221211221112111122112121222122212122221112111222121221121212111222111212211212121212211212121211122111111221212211111222122112211111122111121211112111121121212221111221112111112111121222121222111111112111112212221122122211222122221212121221121221222122122111121122121211211222211222112111222121111121112111222121222121212121111212111111111121221111122212212211121221111121111222211111111122122121222211221121111121222211122111221121221112212112122112221111112211212211221112122221222111121111121222212222212122221122212222211221211222222112221212111211121222111222112222111121212122121211211212112121222222211222112112111111122112222211111112121112211212111112112211211112111211221211222112211122211212112212112122111121212222112222111111221212111221211121212221121121122212211112111111121112122121121221111212112122112112221211212122111222221122211111212112222222111111122221121211112122222211112111211122111121111122221112122121211122212122111212212212221211122211121121112122212112212221122112112111112112111211211121112212211112211212112211121212212212222222221211211221222221111211222222122121212112112221222121122121121121212111211111121212212112221212112122121112222221211111222122112111122112212211212111121122122221121111222111111221112221121221121111211111211112211111221221212121212112211121211222212222111221112221121211212211111111112112221221222122211122221221212112112222112222211221121222111221122122222112121221212112221111122122111211111211211121212111112112121211212222121111111112211111122212111222112122221211111112222222211221211222111221221211122121221222122112121112122211221222122112122112111112121112111222222211122221211111222211212211122221221222122122111111112122121221121121222122121122212122221121211112122221211221111211121222211221112121121112222121212222112121221111211121222111112112212121222112211212122212112221212121222112222212222212212222212211211121121211211111122121212221222112121122121122222111211221112111212211212222211211122222211111212111122211122211122111221122211212112211121122212122221112111122221221221211111122121121112111121112111221111211112112121212211122112212222211112112112112212112112222112222221112211122111112221121222222221211212211222221221112212211221221122222221112221121212212122121211122121222221221122212221211121121222212221112112221221222211221211121221222212122222221122212212222211212122111111122122112212122122112212112212222212121121211121212112222222121222112211211121112221222212212212211112121212212111221121122211121111211222211121212122211221122222122211211222212222112121112221121121112222212112212221122112212111111222211121211111122221122112222122221222121221111112121212212112221221122222212221121111112121212222211111112122222112112121121111121122221111211221211211121221111111222222211122221121212212222121212212211211221212211112221121121111222121222121111212212212211111211211212112221122112221112212212112221222221222121121122222122111212222111222112222121112222122122112221111221221211121121121221121211212221212111122122121111121111112121211212112112222211212222221222221222122212121212222211112211211122122221111121212121121222121112212111221111222212212122212212121111122212121211112112222211112211112121211121111212222221112221122122122111121122112122212112211211122121221121222121222211222121122222211111221121222122212211112112111212221122121112212211112122222111212112121111122212112221221122211112112221112221121122211212121112211122122112111221212122111122221111122122211122212112112211122112122112211121221212222221122221221111121212212111121221112121121222111121211222221211212222221222122221121212222111211112121112212122221211222211221112222111221211122222212212221112221112121121111221111121112121121112122211221121221112221112122212121121221211221221112121212222222221112112221112112212222111221121121212111222222212221112112121121212112121121122121112212222122221112112122222111221221111221211212221122122221122122111221111111112211122222211121112221221222112121121222111221221222122112112121212111211111222221211112211212221222222221111122212221222112211111221222221222112221112111122212112121222122211122122222121212112121112222221221121222221212212222122211212211221212212111211221111111122212212212211111222212211222111211121212122212211212111221212221211221212211112212211212121111212211112112122221211121211112121222121211222122221211212222211222221222221212212121212121222212121121221121112221212221122211211112122122112222222112212121122211222122211211122122222212122122221221121212222222212212111111121121221211111112211222111122112221112111111221222111112212211122221122111221111221111121121111222121112221222122211111221122222121121221222112212122212112211211121112111221211222212212122121121111111111122212212211212112221112112121221222121112211221111122212211212212211211221221121222121221112211222212221212111121221222211111122121222112122112121221222111212211121212112112121112222221121211212122112112111221222212121121212221122211122211111222211111122111122211222222211212121221211122122112111212111211221211111122112112112212112211121211211212211122121222222222212111122222111121111112222111211212122121211121112111111222211121212222112212211121112112211122112122122212211221121111111111221211112221122211212122211222111222112112121112112111121211112121121222222221212121221221112221122112111222222121122122111222222221112111221211111221222121121222121222122221221121112222211111122211122112211112112111211112112211222221121111211212122121221122121211121122211221121122121222222111221211112222212221211222111212111122212212112112111221122222111221111122122212112212211211112111111211211221221212121122111212122221221221122121222222212121221211112211211121111111212121121121111222112221211222221121111222111121121212222211122111211121111122112112211222221221112112122222122222211212222122122212122112122122111112212212211111111221122111111111121222122121222222122212112221111122222122222212221121212112121111111222111212111211211221112111122221111211121222221212111212221122212211122112222112111212222221121211212222112221221211212121222112222212211211112211221212212122221122212111112212212221222211121212111122122122122122112221122121211212212221121121111211121112121122212111112212222211222221212121222222221121222222222221121221112211212211122221221212221122212122122211212112211222222211122222112222222222211122222122121211112122221211121112122111112122122111211211221112121122212112112211121221211121211212121111122112122122221112111222222122222222121212222122112211112121111222212111211212122111111222111222222121222211221222112122212121212212111222121122211211112112111111222212212121221121111211211211121122111212111211222112211121122111122211111221122112222111112221221212122221221111112112221211222121112211122112121222111211112221122122222121222121111212211221211212122111221111111122112222212122211221112122222112122211121221122212211221211111221211212122121222121111112212121112121111121121212111222211121211121112121111111121222112121212221122112211112112211111212121222211121111121211122212212221222121121112121222221222111111221111212121111221112211121122112221122112211122112111111222222211121111121221122122122121121122221121111212211212122112122212221212212122221212122221211112221221211222222222221222122112122222122122112212111112112121122112222221112122221222121221111121212211121112212211221122122222112221111121212122222212112122111222221211221111112222211222111112121121222111212111111211112222111111221121212212211211121212222122211221111112121122122221111221122212122121211211122111212211211111212121221222112111211122122212122111111221112222111121122222221111212211212122122212221122121222212112122222222221221122221221222222122221122121111211222212122121221222211211222112122221222211111221121122111221121221112121222211212211222121121122221212112111221221121112112221111112121212111222221212112221211111121121221211112222122122111222122111211221111211211222122122221121212211121212221112122222111122222222222122121112122121121112222211112122121112222212121212212221211222221111221211122221221211211112211221121112122221221222212112112222211122211122212111212121221121122211122212112222122221112211111121212211211222222112222112211221212112211122222111122121112111121211121211112112122212222212222222111111212112122222111212221221211221111211111221122121221211221112221211211211221112122112122121212121111122221211211122122122112221221221222122212222222211222112221211112221112212122121122111221221222222222111112111211221211121112211121121111121111111122111111111212112211222121111211211122222121211221112112121212122122111222222121212111211111122111121212121221211122111221111112121112221222222222222122221121211222121222212122122112121121221221112121222121222211111212121111122221221112111211121121212212212221112222111211212111111122121221112222121212221221211111121112121212121211112211222112222111212221221221211111121121222222211121221221112112112212222212111211111112221121212122121212211111222221111122212212222122112121112112212112111121112211111122122222111221222211121211212222222222211212111212111122222111111112221221112212211122221211221222221111221112122111222222121112221122121112211221222211222212111121211211112221211222122212221121121221112111112222212122212212212122222212222222111121212222121222112211212112122122221221211111221122212212221112212112222222122122222122222122221121211111211221112211121212112111212221211112211112221121221211121211121111212211112122211122221222121122211112222212121221112222212221212112222112222111122112111221121111122121222212111122211212111211212121121121212121111211222111122122111121222222122221122211212221211111122212121112221221112221211111112222212122212221221221121121121221222212222111211111212121121221112221111122221121111111212211111222221111222122111221212211212222222221212121112221111211212212211221221122121122122221121121122111121221112212211212111211212121111222211121122221221212221221122221211221222211112112122212221112211212112111211111222121211221211111211212111111111121212211222111221221121222121111121212222112112221122111212211211112212112121211211221211121112112211222121212221121221122222112211112211112111221111111112121221111111221122111121211122122222121221111212222211221211111112211212112121112122211111111211222221121212211212222211222222222122221222211121122122221112221212211122111221222212221122111221212112122222222221121122222121111222111112122121212212222222122212222111122122122222212111222221112222211112212221221122211212212122121222111211212111211122212121221112222111121212122112222221211121212111112221222111111211111112222211122121112212111222211221221122112112222122122112122111112121112112212121211221211122121211211222122112122122212111221221222222211111112222211212211112211122221111212122121111111112111122212221221212211112122112122222212212122212112121122111122121122112122122122221221211221121221221211211222212122112212212122122121121212122211111121212222211122121211122121212212222122122212122122121112111122212221211112111122121112222221111222112221112222121222212221222221212111212121111112221111221211222121112121111212222212112221112122112112211111112211121222222211211111112112112212111121221221222212211112211221221121212121212122121221111122122112222221111222211112111111211112111221112212111121222122112111112122221211212121222112111222221211122111112122122121212112211212121222221111121122112122121222112112111122122222211122221221222221222221212212121222212222221112121221121211112122122221121122112121112212112212122112212221121122112212112121212222112122222212211221111221111221121122222112212212112222121121211212122112212222122112222111211121121122211221222221111222121212121212122221111222221111111111222212122112212222111222211221112212211211222111212112222111222222111221212212122222111212122221211211122222221211211111111112112111221121221212222112111222211211111222222121121212221212111222112121112111211212211112222211211211121111221112111211212212211211122211221122212221222212211121111111112111222221222222122212111122221112121211111121221121222212111111212122212121122122221222122211222122212212212221222121122212212212211222221111111212221222122122122221121222112122112111112111211112211122112221221221111111222111121221121121222122121112112112122121222121111221122211212212212122221221222211111111122221111122212222112112121112111122122212221122212211212122111111121222111112111211121122212122111221121111212112221221111121112221212121112211111112211111221121122222212112112111212121121111221212222222111111221112221211221222121111111212212122122112122212121212212222122221212222211122211222212121212212121212112222212212111211212121212211121121211111112211112212221111221112211122212122222221211211111222222122222222112122122112212222122112121122212112111111121222122111122122211111122211112121221122121212212121221111112211211111221221121111222212122122221222111211121112212211122221212211221122112222121111222112212122112212222111221111111212211211111121212222222121212112122221222121222111211222221211121121211111221212111221221221212121212211212121111122211221211212211112111212112212112211222122111112112112111221111212112121121121211112212112212211122221222121122212212111221112221122122111222221112121122211112221212222122222211111112211111111212111221111222111122112221222122111112112212121112211112221211211212111122112222121212111222222221111122112112221112122111122122221211121222222222111222112112122211112211122122111221112212222221211211211122211211222111111211111222221111122111222212111212121111212112122222112222211221222211112112211111222212211212221112221111121211112111122222221222212212212211211212111212112121211212112122121212212221111221211212222212211211212221112121112221112212122221222221211121111222111212211221222212212212222112122212122221221211122111221222121212222121112121122121221221112112222221222222222111211222121111211212122122111122222211211121211111122212122121221211212122222122112122211112122222111121112111211222121222212221211121121121112221111222222221111122111212122111121121212111122222121121121121211222221121221221112222122212122112211122111112111122112222222212212122212112222211111211111211221212211211112211221112222112121212222112121212221111111122211122211111111212112112221121222122121121121222111112221111211222112122221222211112222212111212211211112111122121222212212222222121111122212122212122122111111211121121211211112111121221112221222211112122121221122121222112112222212122222221122122112122111121212211112222121221222122221121111111112221122122212212221122212221221212211221222221121211112122222111211121112111111122112122221211112211221211112211211222221111112212222222211122222212121122121212112122211111222212112211221211112212212221222212222122212111212212222211121112211222212111222112112211112212112221212112211222211122112212121112212111112121221221211222112221212221122112122212122122211221111221121121122211222111121111221111212212121112212112211122122122112221222222111122212221121111221122112111222221112121221122211122211112121112212222112212222111112222112122112122221211212121222221212222111211122122121222221121222111212222112121212121122122222112212121212211112211122121222211221211122221211112212212112121112121122221221111211121122122211112222222221211211211221221112112121221221111122122212121121112212122221212222212111111121112222222212211122122211212111111112222212212211211112112112222121222212222121222211221222122212212221211122111121211221112222211121111212221122212112212111111221222121112111122121211122211222211221212221112121212222111222222111122112111112212121111211211221112111211112122111122212221221221211211121222212221221221111121122112212222221222222121121211222212111121211112112111112212212222211122221122211212121111112111222211112222121122122121221111212112222212221122112122111122221222122221112221121211222112222111122121111121111212111212122211222111122111212222122211221221211111211122212111222212121212122121122212222221122122221221122211111122221211221121112112222211222211211112122111111211122122121121121212222221122222112111212112212221222112112111222211222111221221211222221122111122212222122122122222121122111222222211111211122221111221111212222112111112112221211112221112111212121212122212221222111211121112111212112211222121212221122122212222111111121211212111211112221111111221211221122211212212111121222222112122221212111122211212112121121111211122212111212212111211222112111212111221222211212221122111212222121122221121222211212111112212121211111221212122222112211111222212111112221222121112212211111121122212212122112121111222221221111111222112212111222121211212111121121212112122112111122121111111122212221111121221222122222221121211112122212111221121122121112121122212111111212121211212222211122212222221121211112112211221121112211211211122212111222212222121221122222212122222212211112121111211212112111111122221112111221222211221212111212212221221111122112121122222121222222211221212122222122122221211221121211222111221121222221111121112211211112221112122112222121222212111111221122222121121122221112121122221121122112222211221212112121221122111122111121111222221111111112221122222111212121112121112222111212121222221222111222111122122122212221122211221211211222222211211211221211222222111212112211212111211112111221112211121221211221211122111112112211221112121222121222121122111121222112111122221121211211122221222211221221221121111111211112222221212212211222111222212211111211212222121122121121212122221211212211111111221222121122122121111121111112121122212111112112121221212122222221222111211121212221111211112222222211222122212221112111112212122211211122112121221111221121111211221121111121211121222212121122211122222112211212211211111222212222111112121121221111112112111122222211221112211212221221121211222211221121122111211221111222221121111211111221111222212222111121211211221222111112122122222222122122212111222212112221212221212112222122122121122212212222112111211112222211111222211121212112122121111211121211211122122212122111211121221122211122212212121222211222222211221122212122122222112221212221221111112112122222221212221122121222211221212211221121122212112222222111111122122122122121211212122121112222222212222111212121221222121222221121122211212121112211221111211112211221122111211122211122211211211221222112212121122112111111221122211222111112112211212121122212122121122112211221111122221212111212211122212112112121112211122111222121222212122111121222112111211111122121122222111222222112122211211121122211212122112112221222112221112221222121121122122122221222112122122211111112212222122111221122222112212111112222211212222212121122122121211212111122122211122112222121211221221112212221111222221112111212111121211111222211111211212122222211221211111222222212111212212111211121212112211221221121221121111121222121222111212121112122212221111212122112112111211121111222122221221222222221111222111111122222111211121112122121121211212212221221112221121121212221222212222111111211221222121121212112222222221112121121222112122222111121121112222122111122212212122222122122222221211122112222212212112112211211212211211212221221122221211122212111112112122112222121111121111212121212221211111212222112221221221221112121212112222111121211221122122121121121211212122212221112212212211111212122122122111121112111211212221121211212211111111222111111211121122211212111112121221112122221212222212211222111211211111112221211112111122221211111211211121221111111122121121122122211222112222121111221221121122212112112112112121122111122211122111211211111211222212212211122111221122211112111112222211122212212221211111211121122121122121221111122211111221112212211122121222211212111211222122211122121121222121212121221222111211112112111111212112122121211121221221211221111212111212122212111211212212122111111111221221222221222212222221121111222222212122222122221121211112122211212222221211122212212222111211222222121121121221111111221112212211111121121122112222221121221112212212222112112122222221122121221212122112212221221112111112122111212122111212212221112122221211122111222212221212212111121222222121122122121211211221112112211222211212222112222211112222122211111212212112122122212112221221121211122211212121122212221112122111212111112212111122211111111212221222112111221212122222121211111212121222211212111121211111211112121122122222212212211211221222122212221222212111221211121222211112121212212111112221221221111212211212112112212111221122211122111221212111122221222122121222211222221111212122211212121112221111221211121121221121111212211222121112111211112211221112111121221122121211122122211222121221212112122111111211111121121112122111212211112112121121121121211222222211212112121112211112221121111211111212222212222222112212221111211122121112112122111211212122112212112211212222221212111212212121211111212111211121112111222221211121112111111121111111121221121211111212111111111112222222111122122212121112112122221222111212222121221111212112121221111112221222111122211121111112122211212222122221111211211222121112212212222111211122222111112212121212222221222121122112122212212121111121221211211112221122222212222221212111212111211212222122112211221112111212221212121111112211122212111221122212211222122111211121111221112221221212221122121111112212122212222122111212121121121212111221121211121221211221112112212121222111121111111211221122111122121122111121211121112212121112211221112221222211111211212112122211212112111122221111112211112112221112112121121122112211111121122222212222211121222221221121111121212121221221111112221111222221111112112121222211122212212221222112121122222221112212111121121222121121111221121121112122222111122211121111212122222221211212112222222221222212211222221212112212122221112221112212121112212111222112211121121222211112111122122122121211221212211212212121212112212212212121212121211211112121222222112211112112121111222221112112111121222112222112111122221222221211222211122222222122111112112122112111112122112111122221221111212112122122222212112211222222211121112112221212212212212222121222211122221112212212121211122222222222121111212122212222222211111122212211112221112112212121221212122211121211121121222111111111121211212121222211212211121221121211211122221212211221221112122212112111112212222221221222212211121111112111222111221222222211212112112222111112222222211112111122122122212111221111211212221211212121212212222112221211121122222222122221221111221122222212212212121212111112122121122212212211122121122121121221211111111122211211211111122111211112121212221222121112222121111221211211112211221211222222121111111212212211121212222121211111221212212211221211112221221122112212121222111221121211212112122112111222122112112121211121111221122111221212211212122221122212212221211222121212122211111211112222112221121111112121221112111222212212211112111212211122211121112112211222211121211121111121212111212122221122112111121211221121211122121221222222211211122212121121121121112122112221111221222222122212112212221221212121212122212122222222111121122112222212112122112111112111212211121222222212122211112122122212111122112122111122222222222222212221212211212112211221112222222111112121212212112121121122112111121122221221122121222222111222211111222121211111221211222121122122111212222212111111122222211211112212212222122221212111222121221121121121112221112121122122212212122121222222212111121211212212222111122111111211212221111111222211222211122221121211121111212221112121222221122121122211121111122211122122121211121121211212211122122222222121122122121222212212111212111112211211221221112221221222111212212212212111111121111121121121111212212111111111122122112122221221222211121121112211121222211111112112111212222111222121221212212222211122211222211211122212112122222122211122122111111221211211122121221222212122212211112121211112112121211122212222121121112111211121222212212221221221122211212122112112222222221112222121112122122221112121111212222112222111211212211121211112222122122112121222112111221122212121212222111122212222112222121221122212112112112121122222111211111111121121122221122221222222111121112122211112211112111122221112112121121111222111221122112222122122112211112222112211111222211111221221221221112211211122212211122222121212122112111121112222121221121112211211111221112111212221112121112112111111111121212211122212121121121212222221212122211122222212111121112221112111122222212112112122112222221112211211122121122212121122122111211122222121111112211121122111222112111211121112122121112112112221211212122221122221222211212121112112221222221212211221122222222222111222222121112222121211112221111211212212212211112212221212111211111221122121221121111112211112211112111122112221112221112122112212112111112211221112122121222112122212122211111211112221221211112111122122212121222211111112211221212211122122222221112121211211222122211111122121122222212222112112221111212122121121111211121212112112221211212212211111111211112112121221122122211122112212111211112112112111221112222211121212221212212122112221121121112212121111122222111211112211222112112112111121122221212211121221211221221111222112222212122211211122121222122112111221111212111211111212122221212111122221211121111112221111221222211111121211112122212122222211212222212221111111121222222221122221222122212212222111221122212121212212211121211211222212121211221222211222212112122212121112221211111222112211122112211121221112122122111212212222122212212212221222122121112112222111112122211212121111111222111211122212212222212211211111122221121122212122121122112121212121222222122112111211112211112112222222222121122122112112212211212221112122121222112121212112222221222212212211212212211121121221221221211122212112121112112121222121212122112111222122112122222222211112221211211121211112112122222112111121121211221111121112121222222211212211211112122222122122211121212122112122211212112212111122121122211221112221222112221211221122112212111221121121112222211121112221221112122222121212122222122122221111122112221211122112111122121122222222221222221112211112221111222211121111112121122121222121112212121112221222221212222112211212221211111212211121221112112221212111112112122111211112111212222121111122212212111222212222121221222211212221212111111221112111212121112121121212112212112122212222212211221111121212121222122222221211211211121111121211122111221112221211221112121222122111122211121212211211121211121112111122121222211112122211211111121121112111212221212111121221212112112211222121221121111121211112222222121212222221121212211212221112111211211212111112121222112111222222122222211111111211122212221122121122222111222221122211122212222111221211221212122122211111122111112111111222211111121211111212211212121121122211111112211111121121121121111212111222221112212122222221121212121211212212112121221111122121221111221121122221121111211111222111122212121121212121112122111222222121221221121222222112222121112222121212221211211122222111221211112221221122121222212212212212122221211222212112111121212211112122221221121212221121211121112112121221222121212122212222212211111122122211211211122111221121212121122111111222122122122122221112122212222221112212111111222211211111222121212121112111212121222221111212222121222212122122221112122121222221211222122222211211212111121111212221211212112211112221212212222211221221211122111211211212211211221122212222212111221211222222211112112221211212211121112112222112122211112222122121211221211222121112122211212122211112121111121222112122212211221121221121221122111222121122111111122111212222221122211212121212211212221112221122112212211112122111221111122222221222212211121121221211222111212121112221122211121121222111222121222211112212121221121222211121221222222222221222111112112221111111111121211121122211121111111122121121212211121122211112112111121222112121121111121211122111221112222122122221112211211221211122211221112111221122121122212111122122222212222211222122211222221122111112211111121221221121112111222222122111211221122111221212221111121212212112111221211112122111112211221222222212222211111121222111122111221212122112222112112111222111121111222221111211212122222222221112121212211222211212212222122111122212121111221121212112212112212111122222221121212221211112111122211211211221211221211112222121121221121212111212222221211221211221122212211211212222111221212112212112112212211221121211122222211112221211212221111111121211221122121122212112122211211111121112121112212121211122222221222121111212122211212212221122111212121212122222111222221112221212111121222111211212222121112222112212111121221222211112111122211211122211111221221112221112221222221221122121121211111221221112222222121112112221121111112121111112221211121121212221211211211221121111211212212122221211112121212221122111221222112222112122122112122222112112122121212112122212221111212112122121122122221212222221211211211221222221222112111212112212221121112211212211121211112211111111211221221112221212111222212221111212122222221112221111211221212211112211221221212121221221222211211221112221111122111111222212211121221112221122111221211211222122212221111111121211221212222112112222112122221111112112112121222222112111121211121121221111122211221122212122111121222111211211212221122212222122111122111221212112112122211122112122121222121121121112211212222111211211122122222112111122221111121112122221211221212111211211211111222221121121122121121221211121211121122221121212212111222121121111211222212212222122122122221112112211122122211221212112112121221122212212211211121112121121221212111122122211122222121212111221211221121111222212211111122221112211112111121112212212112211112122222221122122221121112121112111212222122221121121221122111122112122121112222212121121111111212112221112222222111222222121221111111222221122221121121222121112121121112122111212212112221221221122221211221221212122121121221112122211122112112211112222111121122212111121221211121122212111121221112112111222121211221222121211111121212221221122212122122122111222222212211112111222112221112111222111222212212111112212222122112111111222221221212222212111112121112221221122222111121222222212122221122221111212222112121212221212211211112211212121111212222111221212211221111222121122212122221211222211112121212111211112111121122221121222211212112111212122222221111112111122122122121211222112212212211221221222111121222121112122222221211121122222111222122122212122212111211221111222211221222212221221212122222112221222111122211221222111212111221211122222221122212211222111122221211121222222122122121121121122221222121212111111222112221111221221121221121222222112211112122212222111122121222112211222211111121221111112222121112211211221111112211112111222212211211222121211222221222211211211221222122111212112122121112122121222222111112221121222222122212112211112112111221121222212112222112221211112112221211212122212122222222112221212111212211211122212221111112211211211111112212111111221221111211111111112111122212211212111221212121121212111112121211122221111212222122122211122222122221212222211221222221221121222112122122121211221222112122121221112211111121112111212212122222111112221212211112221121221222212222211212122122211212222112212222121122222122111211121211211122111122121212211221111121211222122122212222211212122122211111221111221121112211121212111111111121122122211222111111121221221121121212121222221222112122112211111211222221112112112122122122121121212221222222122222122111211211112222211112111222211222121121211211211222211222222112121121211212121222221112122222212112112212122111121221222222112122222122222211122111211112122122111222112122121122211211212222211121211221211222121211122221221212112212121221122121112122212111122212121122121111212222211211111112211121211211122221212211121211211121112222212221221212111222221222122211211211221122212211111212112222122122112121121121111121111111111121212211222211112222212122121121222112112122211121221112122111221112212222211122212111212112221111111112222221112211121111112222112222221211122121211121122112112222211211212111212112221211212222211222122122212112212221122222111221122122211121221211111212122121221212111121111211121211222122111212111111111112111121212212212222112121222221122122221222211212211211111221122222112221211211211122221211122221211222222122212221222122222211122211121221221122111122121112221111112211211212112221122122122211222111121221211221211112222122211212221121221211111111221222111111221112221121112112212221221111222111212222212121221121121111112211122211121112122221112111112111212212122111212212212122211211221121211212212111222111122222112211121112111122212122122112121122112112122212211111212111111211112112221111121221112111112122221111222121212211122221111222222112111222111111211212211212221121121221112221221112222211212121212122222221121212222112222211112111121221212211221121212221212121112121212111111121112112212122212112121121211211211111222221122211121211122122121111121221212211212122122221112121121221211222211122211122112121212211121221111112111222121111222222212111111111112222221111221221221211211212111211122111111111111122212212221121211211221222122212221221212212112112122211222222211111211111111112222212112221112221112121112222212211211111111122221121211111221111221112222111222221111111222212112112122112212221112122211121111222221112221222122122212122121221222221221211222112111122112111211222111122211222112112221121112221122212121221122122111212111122222212211211222121212121222112221222121112221221211212121121212112222112121211221221212111121221221121111111112222111112222211211121122212222111212121221221122222222212111111211221121221212111121222221211121121122121121221112112222222111212111211211122222221112211111222212112221221222211121221222222221111122221211111112222111111121212122221121112111222211111111112112211211212212112112122112111112121111211222212122111211212212112221111221112122112221212211212111112222112221111221212211221121111122121212211211111111111212112111222221222122212222221122121112222121112212211112122122222112221211211121212211212122122212122121222211222112222121112121111221211212122112121222211221221112212211211111112112121121212212211121112212222122121221111221211111211221111112111212222221121122121121111222122121122212222122111121121221222121112121222221111221112122212112111111122111121211222222221212221121212111212121122112112112221211211111211112211212122222212111221122221211121121222122121122121112122121221221121222121222121222212112211211211122111122221112122212222121121222221221221121122211112211112222222111111212111212222221221111112211111221212211212222211122122211121112212111122221122212211221222121122221221211212111122122111221212211222211222122221121112212212222122222222221222112212212221112111212222222111212221121112121121221212111111221112112111222121122121121212121222221212111112212212111212222111112212221221122111121221112212122222121212122221121222111211211211121221121111122112121221122212121121222211222221112122212212112212122222211212112111121112222222111112111211121221221121211221212121222212221221121211222211222211112212221211112122221121122121122221212121211221111212112122121222122222121211222121122222221121111211122211112111122112222112121212111111211211112111122222122111212121112121111222222212211111121122122222121222212212121222212122211212111121211221111222222212211112212222212122122112111122111121122112211111222212112212212112122222221112122211221222112221221212112212122221121111122221222221222221112222121222212222211122212221121221212221222221121112122211212112221212211111111212221121122221111221111122212212212121121111121211222222122111122112112211212222112122121221121121111212122222122111222122221221121122221112122222222222111211212222221212122211212222222212212212221111211121212121221112212122121112222122222111221121212221112212222121111111211111212211212121222222121122122112212221211112211222221111111112112221112111222111112212111122121122212211222212221211122111221121222111222211222112211122222211211111112211211122121222121111121221212222122121221121121222121111122112121112221222221211221211112221112211211121111222222222222111221111112212122122212121122112221112221112121122112111111111122111111122111211112212222221112121121122121212221111121121111222121122121121211111111222211122221212121211122212112221112112111222121212122121121211122121112122222111111212122222211111222221122211111122212122121121122212212212122112121222122112112221112111211222212112222122211122122221221111212121211122111112111211121221112111122122121222222121112212121222121111212222121122211112211112211211222211211221112122111111121121111212212221222221112212221112122111212221112212222222122222221212112222212212221221222122221112212121112212221112222122121221221222221111211122122212221121111221212112212221221121121111121212121121121221112212211222112222212222111221121212222221212221221111222222111221111112212222121111121212211111212211222211111222211221111211122122112112221121221211121211221211222122112212221122212122211121211112222112212212122211112222121211212111212122212121122112111111121221112222222122112221211112121122222122112222122121112211211222111221122122222211221211211111212111222221222122122121221211112122221211121212222122111122221122212121112222121111212122212211121211111222122221112122111221222211212212121121122221121222212122122122212111121212221211211212222112212211212211211212221121122211111111211122211221211112221111222212122112112122112112221212111122122121222211211221212221222221221222212111221121111212211212211221211121112212112121221212211122112111112112121111122212111221211211112111212222212222211111221112211222221111112112212122122211112122221212222122121211111111212121211222221212112211121111222212212221211112212211121222221222221112211112212111211112222211121112212222212211211212222212221122111212112111122211212122212121121221212111211112212121212122112222221121111121121112221212122221221221121211211222121212221122211222112122211112111212111221211112222221211211212222122121121112211111222211222221111121122212122112111122112221111121212222212122122121121112222111222221222222122221212112211211122212111122112211221122222111112222112121212122221112212121112122212112211112222212121111122221111121122222212122112221212112112112121212121212212221111211211112222111211112122212111112222111111211212211221211211212122111121111112112112112222111112222111211211121211211121212121211112122222212111212221221111222211121111221122112221212212222112212212111112221222121221112122122122122211121121221222211212111121111121221121121122221112211211122121111212212211222121222121111122222211112112222221122211112221121211111121222112122212222121221122112122221111222221121112221222111112212121112112121211111211211122221122211211111222222122121221121211121212221212112112211112112111121122111111111211212111221122211122212111222112221111212211111121122211122221222111222121222211211212222212211211112122111221122122122212222112112211212211221122222211221212211112112212211111122111211112122212222111111121121211221111112211122121221212211122221222221111111222212221121112222211121111211211222221111222212121111121211222122121111111122122122122112212221111211221121112122221122212121112112222222112212211122211112222111221111212212211111122112211112222222121112222222112222212122221211112222121221121221222222222122121122121121122111122222211112212221111121212111221211112121222121212112222212211211112122221122121212221212211121122122221121221121212112121222121112222221111211211112222222221211221111122221122212111222122111222221212222212112212112212221222112222122211122221211221212111112211221112222211111211111221111112121111122212122211222211112111212212221122122222211121122222212121212212212122111222111112122111222212122112212222121212112212221212122112112211122222111211121112111222211212122212221122222212212222112212112121112222221212221211222221211211111212112121122212111111122122112211211121221111221211212121121222121112121111221112122112221121111222112121221221111221122221122122211111211112211111121111111212212111111112122222211212121212111121221221222112111222121212222222121221212111212221222212221122121112111111212111221222222212111211211222111112121112122222112122222111122212122121111222222122222221112122212221221122211122221221122121221221111222112221211112112222222212212221112212111121121212222222211121122112211121222122222121222221112121112122112112211112212122121222222122212212122212112111222221212221122221112222121222112211112121221122221121222112212111112211122122121212122112111121112111121112111212222112122222222111111122211111221122211221211122122112212111222121111211112222112212112222121121212222211111122122121111122122122221111221112221122222222222111122122122211112212112211211222211121122122112111111211112111112111121121221212211211121121121121111212112211221222121212222111111222222211122122222112121112112121122112212121111222221112121111121111121212122122222222221222112212211211121222121111211122221121112222222111211112122221211221111111122122122112121211211212112121221222122222112111221212222121122121112122222211212121221111112211122212122212111212222222111222221212111121221112111122222212121111111211222222222211211112222211112112112121211222112112121212122211112211222212222212211112122111222112121111212121221111121121111212122221122221211111121212222111212222221211212211112111211211121221111112121222221212222112112111112221222111122112222222222111211121121212212222212222211211111121121111222222221112211212222211122121121122212222111112121122222122211111211211221222211212111211112221222122111211121222112111121112211221112111221112212212122222111212211212221211111212211212221122112222112111111212122111121122211112111221111212112212211212222212211121222121122111221222212121112222211112122211221212211112121112221121112112121111212122121112111112112121211111222111222121111122221212122212222212211222111121221112211221112122111111121212211122221221122211221222112212222221121222211121211121212121121221211111122212121121211122111122121222221121221221211212211221211111211212211112222212211122221122222221121121221121111221111221111212122212211121112112111111111121111122222122211221111211122121222111211221222221111211121112221222112122121121122221111222222122111122112222222212121222121111211212222111122221112221121122221212221211211212111122111122121222222221111211222122221211222222121112111222211112122112211112221111122211221221221121212212222222211211221121122122221122222212111212112121212222211111211112122121222112222112212222112222112122121122121111221211122112111121122111222222221121112122212211221121221111121211211111122212211212211112122211212111121121222121122122221121112122222122121122221121121112121211112212122122121211222121221111111222112221222222111222222121221121222221211212122211221112222212222211222121222121222222211221222111121121122212122211212122221211122222212212222211211221112121211222121122112121121221121221111211111121221222111211122112122111112122212122121221222211112112212211212111212221221112222111122112212221121122122212111222222122211122121211122112221121111212221112211222122222221212211111221122222121112222111212121211111221122211122121211222111111211112122211111122212211221221122121111212211212222212222222112221112112121122222221112212112111121211211111122111122211212122112222211122211211111222122111222121211121221211222222211211122112122211211121222122221121212222221111122122112112222112211122222222111112112112121111111121122221211121122222221111222111111112121221221112112221122111122222222122121112122221122111122111111122222212122222221122221111222111211112212221122221112221211211111211121221121222211112112121221112112222212222112211211122221221221121122212221221121222222121111222211211221121221121112121221121222122211211112111221211211112122222122111111221121212211212221222212111222112111212112211111122222121212211112221121111121211211212112212112122111112221112221111222221211112211212122221221122122222211222222221222222222121111222121211111122222221212212122222221221112122221121112212212222111121222222112212221111211121111112212112112212212211121122121122122112222211221122112112112122112122111221122222121222111112212122222122221122112221122212122112121212221121222212211121221222222222222211221222112221121212122221112121111122121111222112211222222112121111221221122221121121211121112211211211221111121121121121212211212221211221112222211222221122111111221221121221221111121122222121221221211212121111112122221112212121121112211222112212111111122212111111112121121212121122121221222112221122112222111222111112111221222112121111211122211122212221121211221112221122112222221221112221121121212222121121222212222111112111222221221121212222112122212222121221222222122121221122221222112121111211222121121121121122212221221111111221111121211122122121111122111212221121122112222112111122121122222121111111221222122212111112121212211222212212121211112222121121112222121221211212121122211212211122212212222122211111122211212221111212111212212111222121122222121212221122122112212111111211111112111112222111122221221212122122111111221212222211222111112212122111221121111222212221122111112212221211222211222122221122121122222212112212211111111222121222212211212122211112112121111122222112121112222212221122111222212222122222221122111221211122112121121111111122111112222222211121221221121212212112212212211211221122122122222112122211121112111212221221111121112212112112212111112122121122222122221211121121121112221112212111122221111212112222222221122112112212112112212222221112211112111212122112212122122221111121221111121121212122121122212112121211111211211111122121121122221112112121222122212112122121211111221121222212112111112222211121111112221212122112122211121122122111212222121222122122121221222211221122121111222222121211111112222211212122221221222222111121222122121221112121212212111212222122212211121111212111121221121111222121122111212111221112121111212112211121211112122222111111221222121212122212222112212112112112122211112211212111121112211122221211212112111212122212122221121212122212221122212222122222111212221212211121221212111222111111122221211211212111121221222222111122122112121211112211111122212222222212122121112112111211122211221121122112221122212212111122212122121222111112121212111112122222121221111212122111121221111221222111122112112221121221222222121222122111221222222211112212212212121221211222112222211222111121212112212121121222122122122112111222111211221211121122211212112212121222222111111121211212211212222112111111122211111112122212121221222211111121222111121121211221211112221221211212221221212212212212112111221221111111121221111112122222111211211212111221211121112111122212111222111121122122121211111221122121211122121111222222221122111211221121122121122221222211221122222222212112212111121112122121211212221211112221222221122211111112221111222212211221222122122121221221122122122112112111212212122211122122122111121222111212121122222111112111211112121222212211211221222112221212221121121122122112122121212122221211222211221211111221221221222221212211122111211112222122121211222212221211211121121111222212221111222111112121111111222222212221111122212121111222222212111212221122222221212211121112122111111212121212211111121112112111122222121221111221111212211111122112211122112211111211222222112111111112122212111112111121222221222122122121212212211121222112112112221112211212211221122211221222221112222212121121122211122112111222121222222112122222222212111121211111221112222122121221212221112221122221121121111221112111212112111111122111112122211122112111221212121112222212122221122121121221111121221111212111212211122212122112211112112221211121111122221112121211221122211112111121221211112112221211212122221221112112222112121111221222211222211212211112121111121222112222212112111122121212122111222221221111122121112122122221122212211222211121222121221221211221211121211121111112121122121212212211111111222211112222222122122212122211121112221112112222222221212222221121112222221121211221222211111222122221112112221212121222121112222211121121212221221211211221122211111221221211212112212111121211112211112212111211122211221211211112112112121111221112221221121221211121211112212222122212112111212212221112212121212211221211111211122221112121112222112211111121122112221212112212221221211121212222222122111122221221211222212121112211212222122212112121122111122211121121211111121221121211122212212121112122221112121222112112211222122221122111212111122221122221221221211122121111112212221121221211121112211111111112211212222121121221221111222111111111221221222212221112121121211222212112112112122121222211221121122212111211211112222221121111121222112121121211121112121121111222112111122211212212122221111112211222122211212222221121121122112112122112111212121222122112121122121111221112111122112122222121111212211111121112112221222211122122111222122122112112122122121221212211211112122212222211221111212222211112212111211221121122222221212112222122221112212111111212222221121221221121121221111121122111122111121111212212222121212222211222212121112122111222111222111121221121221222211112212112211211111212222221222121211222121121212111122121222212112222122121121121212221211122212122112111112212222221211211212212222122111221212222111221121212211212122212211111121211112211222211111221212111121221222212122222221111221111211112112211111122212111222112221111212121221112221122211122122211112112112112121121211222212212212111211112112111112112122212111121112121121111222121121112111122212112122222111122211111212121212222112121111111112221112112112121221222121221112111122221221221121222222211121122221112212122212122221221122212121222112122121121122221222112111121111211222112211111122212222121221221212211221212112111221221122211111212221112222122112221112111221112211211211121221122212211212121212122212211112221221112111222121112122222121111122222111122222211211112212122211111122112222122122211221112222111121222222221211111212212122121221121222211111122112111111121212211112222221121122211112121212121222221211111222211111112112222111122221122221221111121121112222221211222221122112221121221221221222211121121212121222112211221121212222121112122111121112212212221221111111211112221212211122121222111212122211221111122121112121111112112122212221222111121112221222122112112222212221121112122222221111111111212211221122212121211111222121121122221112122112121111212112211211112122111211211212211112221222221122211122112221211112122112112112211121211211121111112222222112122222122122222121222221111121121211211111111122212122211121121121112122122112111211122112121121111121211112212211212121221221221112212122221222211211211121211211112221221221211112222212121111122111112211211111112111112212221121222211221221112222111121221212122121121211111112211122111212221211212112222221221121222112211212211121212121221212211122112211212111122211212111211112211121211121211211122121111122212211122221111112112221111111212112112111212122121222222122122111111222111212112211122211222221212221112212112111112222222112221122112111211211121122121221122112112112212222111212111122212121212221222212222112112111221221121112212122222211111222111212111111122112212211211212111211121122111112112112211121111112211222111112111222122122121111222111121122212221221222212211121121212221211121221122211211222111211122122212122111121211211111222121212222111112122212211112221122211121112211112111222221221122211222222222111121112112212111122212122222221111212122121121212211121112121112222221222112112121111111112111121111122222211211211121222122212111122112122221211112211212112112211111122121121111212122122111122221111221221222222221222222221222222211222122222121222212221122212222112211111212211121121112122122121121211112212222112121121221222222212211211221112112221121122222112222112122121212112121121222212111212212212211122211111111221221222212121211222222112222122211112221221111212212111121111111111121222221222112212121112112121221211212111111212222212211111212122221211122122112212121112222111222212222221112212112222211112111222112112212112222122121222121122222222112212222222112122222121111112212112111212121222212121221111221221121122112112112222122122112211121222122121122212111221121111212111122111111211122112111121212121211221221221212222111212111212222221121121221122121211121112212121212122212122211222121212121222111211212211122211122211121121212122211222222212212222122212111222212212112221222121121112212112122111222121121121211112211122111212211211211212222222221121121111212222212111222112112222221121112111221111222112111212121211221121221221122121111212222211212122211112221222212121112111211222121212221122221112221212221222121121211222121121112111211111212212222211211122122211122211212121222222211111122211122111122221222211111211222212212211211212112211112111211122112111222112111112221122221211111111211221212212211222222212211221111211222112212112212211221122221221221122221112121122122212222112112222222221212122212121212112222211111221122221122221112111212112222122211121122221211122121111211222222111221222221222221212222211122222122212212111111222212222122211222112112122222112121221211221111121221211112111122222122111112222212222212211122111222211122211211111111121221211221112221222122121221222221211122222111121212112121211111222211122221221122112222111211122212222112221221122111211112121111211221112222212121111211111212211221111122122211221112111221212121221122211122222211121212211111121121212122221211121222222111212111122111111112111211222222112122121111121112111221222122212211122111111111121222211212111221211211211122222221121121112211121222122112111112222222121212211221222122212222222111212212112112222122212211222112221111122222222112222122222222111222211111222221112111211112222111212222221112211121221122221121212212112211111221221121111122122211212121221122122221112222112211212211121112211221211111111122221122211112121122222222122221121221211112221221222121111221212221122212222221112211111212112211112111111211211222111112211112211211121112122111112222222112212221121222222122211211121221221112112121212121211222112222222221211111111221222211221212121112111211211111111112221121222212112112122122111122222211112212212121212221111122212121121211112212111222222121111221122222112112212212112122111212112211221211111211211121112221112221122112222222122222122122111122221222112111211121222211122211222221122221121221211121222222111111212122111111212211122221211212212111211222212112122212121122212211121111222111112221122212211211111121111211121112111121122211111221112122221111222212121122222221112112222121111121221211212212121111121122122112122222211122112111112121112111111112111121121212211221111121121212111111122121122112112222111121211111211221121221111211212211222221211121222122222121212211112221121112221122212211112111212121122111112222112121112222112121112111122111112122212111211122121112112112211111121211211222221212112112121112211211222211111221111122111111212122111222222122222211221122111111222221222211111212122111212122211111111211221221222221212112121212112212112222211111222211112122111211112122122112221122111211122122112212112212122221111122211112122112211121122212121121111111111112222212122112112122212222121221222121111222121111121211122122212112222211211221122212221211111122122112222112122221221121122112211212222111121111112121212112121112111112221222112122112112221112211211111112211212221121111222211221122112211222222211222122212111222221221122111121111211122211111212122221222222111122111122211211222212112121221212221221122121111211221212112222121221211112111212211122112111211212212221221111111112112121211112122212112212221111221121211222211221221111111112122122221212211212212121112221122211212112111212221111211211111122122211221112122221122222212221211211222221221221121211211111121111211111221222222211122111122112221122121211222111112212211211111212222111111112212222212222221211111222111221221211222222221221211222211211211221211221211122111121222122122212111122121121122112222112122221122212212222222121222112111112212211222222111121111222122221222122112222212121121111111111122221222112122111112121122211122121211121212122122122222121122211212122121222212121112121212212112222212111211221122122221111121112222111122121222112221121121111111111121121211121212222212212122111211122122111122222111121211122212212111121222221121122211121122212121121222122212222211111112221121222221211222211122112221212211222122111111121112111112121222122211121121212222212111221211111221222122112221222222121211211221222112212112111122111222112121212122221111122121212222121222112111221122221212122121221122112222211222121111212121122221122221221121111111112122221211112111212211112222121111111221212212211112221112111222122112221221212121121121111221121212222221222222212111112122112112212121111222122222121211112121212222221212111222122222112222212221211122212121122211222221111122122212212121122121221112221122221121211112222222112212111221222211211121122221221122122211222112212121121222122121112112111221122121121111211111112111121221122112112211121222111112121212111211122122211111211222212112222222111111221222121111111211221221222222122112212212222211221212112222111111112121112221212122112112211111112111112221112112211121121121221221112122211122211211111122121212212212112222121212121212222122222112121112222211212222211222211122222111211212212211222212121112111221222221212122112111112222211122221112212112111212121222111211212221111111212222121122112121212212112111121212112121122121222212222221221212112212221121221211112122112122222211121111222212221222212221111212221212112211211221111211212121221222122222212211211112122212221222111222212112212112121211221222112212222121222112212221121212111221121211222122221211211121222121121111111211222211122111222221211111221221221211121222122222221221121121211221122111111121121212212222111211211211122212111212111221222121222212222121221222112212112222111222111221121112122211122111111212221112222222211221111121222112111112111221212111222222212111221112111212211211122211222221211112121222111122121121121221122111211212112211112121111121121111221111212211122121221122111122222211112112111122222112111211122122222112211212211122221122122111222121212212122211211212121212221212121211212121211221121121221112111221121111212212112212221212122111221222211121112122112112212212211212212212121212121121121112112112222122111222222121221112221122121111121212111111222122121212211122211111122122121112122122121121121122111212112121211212222112212212112121111122122112112122221211121122121112221211121121112212111112221222212212222222222111111122222111121111112211211222221122111222111212211222121211211212212211212222112121221121221212222112212211211211222221122112112211121122122112111211112211222222212121221211221111122122111121212121122211211221111121111121221122111222222212122221111121121212121222222111222212122122222121122222211221111221112221121221222221121212212122221222112221212111111121222122222112121121122221121212122111122111122111211112111112112122212222122112112122221211111211211122211112222221121211112122121211222222212122222212222121212211121221121122211122212121211122111111112111121212111211212111112221122112111221122121221211222212112112112211212212222112222211122112221211111111211112212212221122122112211112211121122212111112111222111211122212212112221121121121221122221212121122111111111122111121212211221212222221211122212121212111122211221111212122121221111221122221112111112221222122121222122112111122111221122221111222222222122121112211122112221111121211222121221121111122211212212112121122212222112221222112211222121122111211212212112211222112112122221122222122112211112211211211212211111211211222212221112112112222221111121111212211112122222111111221112112111111121212111222212211121111111211211111211111221211222122122122121211111211112122212211121211221212111222111211221112122212212221111212211212211121222212121221211222121211121211222122222211121122212122212212212221121222221121222122221222112211221212211222211211122111212122221221122111112211221222112222221111211212112122111212211221111212112111111211211222122222221112122222121222212222112122111212112121111121212112112222121221112121111121111211222221112122212212122222122221112121121122222112112112121212211221122121122112112122222221221221112112212122211221212212122212211112121222212112212222112221122111122121211111222212122222111221222222111112111122222222111122211112111121211212112121121111221121211222111222221212111122222211222222112211211212122111212221111222121221222222112111111211111112222221112211211121221111121112122212222222222111121221121121212111212221122122121122211122112122221211112212112222212212221222222221222121112212211122222211111221111211112212111222122111221222222221122112111121121122211211111221121112111112221122111122112111211211122221112221121222222211121121121212112112211112122111122122222112112122211112211212122222212222112112121112221121121111221221111111122112211222121121122112221122222221212212211222212121222111221121221212211122212212111222221211221211221121212222112111211211112112111222222121122222211112121211222212122222122112111221111222121122112221121222221122211211211222122122112222221211121211111122222221112122221122212211112212222212222222111222111121211112121121212121222111111211122222221122121121222112112211211211112222112221111221212121122112212121122121211122212121212121121212112222222222222222121222211221222112211121212121212212122112112212121211212222222121211221221122212122222211112221211221111121112222211211122122221221111211121112222222221222212211222212211121212112121221121121211111212212221222222122212122111122122112111212211211222211222212222122112222212111222211222121222211112121122112111212212122221221221112111212222211222212211222111112112222211112212111221121211211121111212211122221222121111212211121121222112122222112122122222221212122121211122212212111112121212222122112211121111221221212222122212111122121121221222121221221121122222112111121222221212211111112122111121122121212111111212112221212222222212212211121211222111122112121222221122112122121112212221121121112111111212122222222221111111122211121121122112121222111122221221122112122212121212111121222111122212112212212121122221112122111111122112211122121111112122212122211212121212112211222211122222212121221111211112212212111212112122111222222112122112121212212122211122112212221111212122112111221111121222111122121221122111122212121122111112122111221122121122212112122112121211121222112211112112211212222112112222122111121121221222222121212221121211212122211222221112212211222222111212211211121121221112212111111221221221212111121122221212221121121122211221211221122112111221221222221212111222211112212112121112112222111112121212111121222122121211222221212111212111221211212111112122111222112121211212122121221212221121111112212122211112122111222222112111122121122212222111112111112222112222111212121111211211112111112121211121121211121121212121211112122222111211112212221122122112221112221121211222211112222222122122121121212211121222112211222111111211222212112211112112222211112112211222221111212112122222211111122222212121111121112211212221221112122211222112211221122121222222121112212122112222211212111211211111222111122222222212111211122122111212211121211222222112122221112221221122222222211222122211212112212221211222111212221122122122112112212211111112121121222211121212221121212222111112221111211222221122111222121111222212112211121121221212122212122111111222112211121112121212121111211112222211112112211222222121222222122212121112121121121121112211112121122112122111121222111211211122121212121222222222122222212221221221221112221212222111211112122221122212111212112121222212222221212112212121221211211112222212211112211121121122212111211112211222211211112111221121121211122211122111211121122112221211121111111111121122212122222211212211222211212111212211111122121111112221122122112222211212122122212221112112112211221222121111112121121122112121222222222122122122221211211222121211112112211121222111221222111122211111111212121211122122121121211212212122121111121211112112211122211111122222222111222121112111212221111121111222222122221112111222112122222121221122212212211112212211212122222222211222112212112121222111222111112211112222212221211221121112122221112212211111212211212122212121121212122112122112221221212212112111211211121122212211111111211211121111121211211111112122221222121122211221212211211221222221212111222112221211221212222112212112112212221111221212212121221111122211121222211112221112212121111211112211112222222221111112221122212211122121111121122111121211221112212111222122111211121122122122222121212221122211121222121122111121122111212222112222112112221211112221112221122112222222112112111221112122222111222212121121111122111111112211212221222111112121211122211211212121112112221122221122212222111221221222221111211212111212122111222112112211112212221211211122221211122111112121121122121212111221212121121221222212212222221122122222211212221211121222112111212212211112122121222121222212121112221122211211111112221211111122212211222221121122122221212112111111122211112212121121221122112222212111221122112221111222112121112112112212211121221122212122221122221122211221212121122112121221112211211112111221121111122222111121111111211212222121111221221112221222212122121221111111212112211211111212122121122211211212122112211222112122211222222121211112211212121221121122111112121211222112221111111122112112112121122121221122111211122222121111112122112222212111111121221221221112221111222112222111212221112111212221212222222121211222112222121111111111221212112111112111121111211221112212112112222211221111121222112212211122212112111211121222211111221222112211111222211112121121111111222212221112121212121121112222212212211112112112212212221111221122212211122121112121122122221122212121221211221221122211122121211222211222222211222221222121211211222212211212222212222112111112111112222121221122221221221121222212211211221111222121222221211221122211222121221212121212111212111111221111211111212211111211122112212222121211212112121221212122211122112112112112121211212222211111121122112211211212221211222211211121211122121222211222221111122212221112211222112122111222111212121112111112122212111221212211221211221111212111111221222122221221111221121122221121212212121211212121122222212211111122211222222112122212121212122222121211222122122121112111121222221222221112122222212121221122222111211222111212112122212221112212222111212111221211211221122221112212222211211122211221211111121111222222121212111112112122121212111222222111121112212112121112111121111221212212121122221121212211222212112112222221221121112211112111212111111121222112222122211111112212212121221211221211222221111211112221122121221211212211221112222111112211222122221211211211221221221211222221221211122211112112221111122121212221112212122211221112221221221211121121222121221211111222121211212122221121121122222212211112221112221111222122122221121221212111111212211112222121211212111211112121212121222212111221112221222121221222222121211222212212211211121212122122221121212121221221111211222111121111122222212211221211122221122121222112221211221112211211112221111221121222211111212122111212212221122222112211111122111122121122112221122211222122122122221211122122121112111121112222122221222112222111111222111212221222112221112222222211211112222122212111222211211112111212111221112222122121222122211121121211222211222122222221222221221222112111211111222112212112112222122122122211212112212211112221221111212112211111222211211222222211121122111222122211122222221212121121112112222221121221111221211212222222212111112212112111112111221121112112121211122121221122221121222212222221121221212112122221211122222112121211111212122221112122221222112222122111111221121222111222121221112111112122111111221211221121122221121211211211212222211122112112112212121111212211211222111122212212221212222211112111221211112112221111212122211221112212212222222211222221112222221212122211212122211122111221111221212121122122211122121212122212212111111122221111112211212122212122121122111221111112211212211121211221211222121112112121112222222211111121122222122221121111121221222112211122221111221222112212222112121212121221111122111112212111222122122221121112222111222221221122212221222112112221211121212121211112222222111222221121221211211212121112211122212211222211222212221112112222211112122212222111212121222121112222121112211121211222112122222112222221122211212212212221121221211221121122221122221221122212111111222211112212212121221221221111121112112112212211111221112211212122221112211112122111211121211211221221212211112222212112122112111121111122211111122212111221122211222122221211112122122111211111222122111111111111222111221212122222112111121111221112221112122111111221222222222211221121121112222121212211221121211122211111212121122121122222112122121212112112121222112122112111121111122221111212222212221111221112111212112112221212112211122122212121111211121222212221222111222212111211221221112221211212221222221211222222121221212221111221112211121212222112122222112122211222212222211111212121222211112122212211122221121112111221111222222212112112112212212211122212122222111111212211212212211111221211122212122121122211122122221121211221111122112111221121221211122111111112112122122112122211111121221122121122212222211212122121122122222212212111211222122111212221212111121112111221111212212112111212222122211221211212212222112122111222212121212122112222121121212122121221121221211112221221221212121222221212211222211112222221211221222212112111212221111111112221111221121112222111222222122122222111211112222112211221121211122212121112212112211222121221221211221221121212122212221122212111111221112111221221111111221211111211221112111212212212212111121212222212121222122211111121222121221122211211211221122212112222112211122221111221221111112111211112121222221211211211212112121122121122221111121122222212122211222112211121122121222212211221212212111112222112111212212222221222221112112111111211121111222111211222221211111211122122212122221212111221221111221222121222121222212211122111221222221111121212121112122122211121122222112212122121111111111122222211212221111221212111122112111112111112111221112222221112222212212212212112211112111121221111122121212212211211122121212221212212121221121111121221121112212112112211222112211211112111222221211112122112221112121222122212122112222212122112222222111212212212111222122122111222212221121221112111112122121221211221211112212121111112222211221111221211122211122222221121111222111112112122122111111122111112212112221112121221212222121112122112221122112121211211221111112112112222222211222222111212221121122212221222221121222221122222211222211122212222211222211211111112111211111211211211211221222121211122112111221121211221222212112211121212222122222121221212211122122121221112212221111221211221221111222111212211212112222111221222222222122121221212112212222212112111222112122122122111211211112211222111211111222222122222222222122212221212221112212212221212122122211121221211122221211111211211122211211222121112121111222212211111112122211112211111111122111122211221122222111221111211111121212212121121222121121121211222211212222221122112111112121211112221222111221211111112122221221221212222211211111221111222221111121212121211222121122111112222211221122122111112112222222222112211221121112112121221222122222211211221112122121221222111122211121112112221222221112112221212111212121222221222212222221211222111221122222112222211122111111212112212111222122122212112221222111211122121212112212112121122212222121121222122122121112222212222211112222212222221212211111122221121121221211211122211111211111122112221222222121111222111111112122121112222212212211122211122122122121122111112211121221122221122111121221112221111212211111222211122211122112222112221212112111122121121221211211112121121212211211121122211122221111211112111222121221222111112222222121221211221221211121211221122121222112211211111121122122121221211211211212211212112212122221221212112211211121111112212122211211221212122122112122222222121211121222121112222111121112212122122122211221112222222122212221222112122112222121122211122211111122121222211112112222121111222111122212121121222211112111221212122111212122222111121112211212111122112212212222122122221112222221222222122122221211222222212112212222122121211211112222222211112211222112222221111211221121221212212222211222211111111221121121211111211211112222122212122212122221121111122222122121111221121121121111221112111211122112121211211121111222122221121112121111122121111121111221121211121221112122111122121222221111111122121111122112221212221212121111122111122221211211221111111222122122112111112111111222221122122121212212211111221222212222221222111212212112222121111122112121121122121221221212221212221211212222212221121111212111212112212112111221111111122222112122212112122111222121221212211111121112212122112121211121122212212222121222112212122222122221121121112212221111111212222112112122222221212221211221222121112111211112221121111222221212211211112212211211211121122221121222212212111112122122121211122221211121222211212111221221212112112211222212111122211221222111212122211111212212222121212111221122112122222221212112112211122211222222212111212221111222121212111122122211211221121212121112111121221212111112122112122212112222122112211122212121122211212212221212221121211222112212122121121211212111121121111112211121111121111122121211212221111222222112211112212221222212221212121112122212221121212112111121211211212221121122222122112221112211111221211122222222111212221121112211212222122111121121121112211121112112221122122121111122221111122122122212122121121211121211112212221222221221212111112222221211222122221122222221212111122122212211122122211112112221121121212222112112121111222121111111222112212222212222121211212112211212121111221211221111121112211122212222121122212221111221211221221111211221221121212212222121111211112122111122221112221122222222112221121112222222112211121122221111112121121212222121212222222111221112122212121211121222111211111211222221221211111121211122122211122111221111122222121221212211122112111211211112221112112122121211221212111211122212221122111111121212212112211211112211112122111122221222222122111222121121121221111212211222112221122111221111122222212121212222111211121222121211112121111112121111122212212222222221121112111211122211122111212222111112212122212212222211211112211111222211112111121121221212121111222111211111222212112211221121111121212211122111221212122122121211212222222212211211112212121111122112221211211121112222111212111121211121221112121211211112211112111112111211212211122211212111211212221221211221121212122212121212211211121222122221111111221222122111112121122111111221221221221112121211112221211111122211122122212112212221112211211222211112121111122121111221211112211221211121121111211221121112222221222121212212222212222121111112111112121111112122211111112122112112121211211111221122211121212212221112111222222122111222212221112212222211122122112221122111211112111122222211122121122211121121112212121212221121122222221121112122212211111121211122212222211122222121211212111122211122112221121222122212121121212212212212212121212222112212222212211221111121121121112222112111122112121222112211212112122122222111222222121111211211222122211121222121222222222211221122212222222212121221122121211212111121121112212122111121122211222222221112111212222112222112212212221111112121111121121112122122221122112111221122122221112121112122111211212222122111121111121211121222112211112222111221121212121211112221222212121212122221112211212222222122121112212211211212221112221222211221212211111122121211221211121122221111212212222222122221212122121211221111112112222122121121111112221212211122122112221111212121112222121211211122211212212112221121122211121212112222211112112221211221122221122222122111121222121212112222122211111121121121212211212122112121122211112211122122221112212121211112112122222211121112221221222212222222121122211121211211212112221121121211212121222212222221122211222121221111221111222221121221112111122111211222121121122121112222122111112111221212211111122121121222211121222122222212221121122222211221111211121212112221121221211211212122222122111121211121222211212211111222122111212211221212212221111121212222211221222222121212222111221121222222221111122121122221112112222112211212122121121222121112112111112112112211121111212111122211222222211212212211112122112221221111211112121111112211211211221222111111121121111121221121111121121212121111221222221212112122212211121112111111212221111121121221211212211212112221111121211211121122121221212222222222221211111122121122211211211212121122121211122212121112121221121111111121211212222122112121221121211212122121111121221111211122121211221222111212211112112122111121122212212121211112122221111221222111122122111121211122121211121122111211222212212212122211112211211121112111212222122122122111211221211222121222111121211211212222211112222211211212221122122211121121112211212122222122211222212222211221222211212122121211221111211222211122211111121221112111211211112111221112121121212222221211122121122222212111112212222222112222222222212212212221212112112212111221221211112121212222112222212212222211112222112211121212111111112122111112221222221212212212122112111122211121121222221112211121111122212221212222111121111212211111222121122222122112212222222112111222111122111222111212121212111222222222211122212221211212212211212121221112111121212221121111211121222122121121222112121211222122112222111111111211221211121212211122211111212122222112112221211111211221121121112211121212121122212111112212112112221211212222121222221211112122121121222212211112121222112112112112212111211211212212122222122222222121121112112122122222112211112122222121111112222212121211122221111122221212111221111222222222212111111111212221222121212122222221221111111212211122122121212212121111111122211211211221122211111222112121212112121121111211212122211212212221121211212122222221211222222121111212112121221212112122112122111221211221112222211111212121111111212121221111111122122211211212221221222222222111122111122122112111122222222121122212212112212212212111111221122111122122121212122122112122111212121211111112122122211221222112221121111112111221111211211222111222212122121221221222112111112212212221122221111221211121222221112121111221212112122112211111112211121121211121122212221221221112121212222212112212122221121221112111222112211121222122221211221111211121122221122121122112111112122212211222111111221122211121211212211211211111211221122212122212211222211212111111111121211222222221211122111221112121221212111111212212211122112212221221211222122222121122221221212122211111212122112112212211212212221211111211112222221112112222112221222222211212121221112111212221121111122122211112211222211122222112211221222121112211221112221221121112122221121122221212212122221222221222222111111212211112211211112211212211212222112221212121122212122212122221112111112211111121122122121121211121111121221121212122121211221121222111221111122121111221122112212112222222221111122121122112112122212121221121221111212211121121212221111122222111221212122222222222211211221221122221111111121211221112121111222221212211122112211212221212112221211212221122212122121112112212111121222111121121121211222222221211222211211112111211112121111221211222211111211121112121212112122212121211111122212211111211212122111221212111212222222212121222222221222122221111112212111212111222211211222121112222112212112111212211111112221212211221122222121211121122111121221212121121212122122112112221121222121112121222222112122222221222121222122121211212221122122121221212212222111122221122121211221212222211112111221121112212111112211121222212211222212111211112111211212121222222112222212211221221221221222222221121122111222112211212121111111221111221122212222211111211221111122111121221211111221121212222122222111222221122222211222121112112122222212121121212211212211211212222211221212211212111221212212121111111221111211111211221212222221221112212112221211221211211211121111222122221121122221112212222121211222122111222221121112211112122221111122211112112112222221121221111211221112122212121121212111211212222212212221111222212212111111122121122212121121211112221212121122122221211222212111122211222211111212211121222122121221121222212112212222112112111221122221121212222121211122211222121122112212211212121111222112121222112212122122222222122112112112222221222122221112121212121122111211112222222111212122121112222211112112121111112222112111111112121122212211112222221112222222122122211111112112122122221211122212221222212121221111112222222112111121222222112121211122122121121222211111222222122212212122222211121222221112121221111222111122122212122211112222122212112211222211211121211121221122222121122122211112211222211212211122211211122221212122212111221111212112112111112111212222112211121211111112222122212222211212112111222122121111221112112121112112112222121122221122211112112122121211112212211122212111212221121111221211111212211112122112212211121212122211122211122221221222211222222122221111122112112222221111122212212212212212211212212112211212112122121211221211122111111222121111121122111112211121211221221222111211121111122121111111122121221111111212112222111121122211212211111221112121212122121112121122221112212212221211222222212122222121211222212121112212211222112222211111122122222211211221211122111211122211121122222121212112222222121111122111211111121111212111122112122221121212211111222211111212112222211121222211212222222222221122221122112211121212221221122122222221212221111111111222221212222121221222111211222122121122222222112221221212221222221122221211112221121121112212122112222112221211122121211221111211121211111121212112122122221221222222122122211222112111212111121122221122211122221211222111121212211111222212112111122212212122121121212122212121212221111122111122121112111222222112112111112222212212211211221221121221111221112221122212121222122212211112111112222111121211121112121212121212221222212112122122121222112121222211112121221121112212212121222111222112112221121122212112122221222122111212211221121211222212111112221211121121211121122222221222212222222111122121211121211211211221211211221221111211212122222211221222211212121211221211111112222211211121121112111212121222112111221112212221111221211121111212211222211112121222112221221211111221122212121111212111122122121112122122112221122122221112121121222122211122222122211122112111212112222121211122111121122112111211212222211112212222222111122222221112111122122222211111111211211121121211112211222212122211111111221122111221112222121212121212212211111211112221222112122211222222221212222122222111112222111222211211222112111221221221211112222211211112222211121112221112121222111221212212211211121112222122211212221111111111112122121221212222221222122222211122121211212211211211222111111122121122222122212212221222111222112222121121122212211212112111212222112111122122222122212122121112112111221112211211122111122122221221222211121212111111121212121112222122111112222112211212111112112212112111121121212212222222221122211221121221122122212222122121122211112221112211212221112121211222221212121121112221122112121222222122212222211111222111212112122222221221222221222111221221112221211112121121121221222222122112211112111221222121221221111212212211221212211121211111222212112122122222111121212222112121211221212211221211112221221212121222112222211212112222222222121212212112122211112222122211111222211111112212222221212112121222121111122112122221122222111212111211211122112112122212221122112121222221111211211121111211111212112122112111121112221122221111121121111122221122222221222122122122111121222122211122211111221222212212121111211121121122222121121222212221121111222121212212221212221111121221221211122221122111222111221111211222112212112122212222121111212122121211211112122222212121221221122112222121222211111111121211121122122212112111221211111211122112222122121212221222121122121121111111122211211222122221222221221111212122112111112222112212112112221122112122121121222222221212212222222222221122211111211211111211112112212121122122211112211221122122111122221111111121121122212212221122212212122122212121211112122211222122221211111121112222111222212111111211111122221121112211122222121221211122222212122112222221222122221122212221212211122112222111222222112121221122221211121222112112122221121122212222112111112221212121222222221221212111111121121211222121112222122122121221212211112212222211112111122112122112222121122112222112211112211211121222212112212211121211121221111222211212122111221211221122122111111221121122112222221121221222222122221112121112112222222121121112212211121211211112212211122122222211221222121211112111222221111112212221112122112222111112212211122212112212212122111111111222221222111121222111111222222121221122121112112121111111111222111222212211222222122111222122221221121211121111222111121121212212111112121221212222222221212111122211211222122211122222121222121211122221122221211122212221111211221222121222112221211112112222221221221111212222112212222211122212211212221222212121212212111111121211122111211222112111122121111211211211111221212222211121122121122122212211221112112212222222222122121221112121122211222221111212122212222222222222121212211211112211122212122222221212212111122221212121211221111221112222121212211222212112112122222222211122212211121121112122222211222112221122211121222212222111212211111212221222222121111211111122212221211111112111212121212211112111211111121211121111212221221112122222121122111122121212222211122122122211211221112211212212222112111122111121212112211221222222211222121222211112121121211122112122121112222222111111222122122221222221212122121211212122112111222222122111112122211111222112121221121111121212212121112111122221222221112222112122122122211221222112122112212211112212111221222211212112212122212211111211111121111111122221222221121112221121111111111111111121122222211222222121212122121211112122111221122212112122211211111211211221211111222111111222222212211122221222211211211122121122122211112212112112222212221222121221112111122121212111112211111211222122121112111221212211112112212112122211212112221212222222222121221122221121222212212222212121212222122111211111122122211122121111111121112111221121122111122221222121112122211212222121212222222211122121122112122211212211221211211122211221122222122212222211111121222221122122221122112122212112211112221221122211121112122122111121212111222221112122122121222112122121221112121211222212122222112211122122111112212211221222112112122212111112222221111222221221211222211111112121111221122221122221221222111212222121221111221112222222112122211111112122112222211111212111221122112222221221111211212221221122112222112122111222221222121121221222222222121122221222112222221112121122112122122121212211211122122211221221111212221112111121122111122221112112212112212212122122112112211222222222211111222121211121121222122212212122212122122211122112121112222112221212122221211111122222111111211212222211122121212111211212222212222211111112211111112222122212211212121222122221211212212221121112121222221122111111221222221121222211122212221212122111122211211222122212112221222222122122112122211212122212222121112122112221122122122122112221222221211112211211221121112111121112122122121122212212222111111211211221211211122112222122112222112212221121222212222111121222221221211221122111111122211212122221211211222212122121222122111222121212122211112111111112221122121112221111121212122221121212222122122121221122222122112121111121111222211211221212212222121221121211111221111211211121211112221121222111111222212121222221211121111121221111211122212222211212221212122112222221122212212111211121221212222112222121212112212111112221122121221222212212221111222211111211211221212211111122122222222121222222212212212111222121122212112121112221222112122212111121121221122222212122122221112112112211221121211211212112112212222212111121211221211211211222222221212122122212111112122221211212212212111122122222112222121221112222222222112121221221111211221211222112121211222112122121211121122212122122121221221221212212222112112112121222121222211111122111222211122211122212221111121222222222211112212211112222122211222222121211112211222222212111221222221211121112211112112122211111121221221111111122122212122121212211111221222121221111222221212122222212122121211122112221111212112122122221222222112222112121122122222212122112221111221121112221111112212211222222122211111222211111221221122121222122122222222112222122222111212111212211111211121211122221121222221121112212112121211111121222122212111212222121121222211111221211122222212222212121111222111112212212211111212121122111112121212212111111212211121221211222122221221221221121221112122122211222222112111111211111122212212122122212211221222121121221112211121121111112212121221122111111122221121121212212121221112112212122122212222111111221112112111222122211222121122112221212121212111111222121212221122112122221121122212111221211211211222121112211122222121211121121222222222222222122222221211122211121221122212122212222211211121222221121212222112121211111122222122211221111212112211112221211221122121221212221122212211222111121121112221121211212221221112222112222111111211211222122121222122121112121121122121121222222111111212211111222121121212122111112211221111211112111221221122121211212122221221212111121112212212212122211212212212222111112211112112221112211212111222111222222222121122111121111212212212112111112112111111111212211111211121211111112222221112222221112112222211222212212221111221211121221112212211112111211112111121211222122111222222222122212212111112122221221222212111122221121111211112111121212211222111222211121211211221221212221212121211112221211121122211211221122212222222122211221112111121111211221112111112221112222211211211122221221122112122111111222222111121221112122122122212111112112212111122222121222112211122212111212222122211212222112112122112212122122112212222212211222111211121112121122122121112111122122221211122112221112111211212121221211222111111211222121211212211212121211212212211111121212121121122212112111121121121112212212211111122222121121212222112211221122121122222112111222221112222221222221111212221221212212121111212212112211221122112221112111221122112211212112122212111222222112222211112212211121212112111112222111211122212212122211122111211212212212212211221112222221222211211211212121211121221211211211112121111112111212111122121212112222111121211212211112212221121222112222112221222122122212112212111112121121121121111222122222222221222112221112112112121222121211221211211221222221122222211212112221111222121121112222222212211221111122222121122121212211121122222222121221211221211211112221111222121112221212222111221122211212112222212211121112111222222212111212212122212222222112122212112222111121211121111111121222121111112222211122111222122222112222212111122222122212212111212212221212222222222221121121111111222112211222222211111112121122212222222212211121112122212221111222222222221221121121112211122212212112111111121122211121222221211222122211121111222112211221211222211111121221211212122112121211121222121122221122221211211111221122211112111121221222112212111211122111222111111212121112221222211221121221112211122221222121121112222121221112111221112211121112221211111221222112122111222112221121221221222222111221121221122111121112222222111111221111111222121122121122212121122222222121111211211111121211212111121222221112112222112112212221222222121112112211121221221112111221211111222211221222212121211112111212212221211212121222212212111212121211111211212212211212211122221121121121111122211111212112222212211211211111221112212211122212212122111221121221212212212121222122111122111122221122221112221211212222111111121211212222211211111121112122211121221222221222222121122112211221222212212112111112112122111112211112112212221112211121112212111212212111222121112121222221212121212121111211221121112122211122221111112221112112222112212122111122212121112211112122212112111111111212112112112221212222222221221212111222212221211212212221111121112222122211212221112222122222112111121112121112222112112121111211121211222112122221111111212111121122211121111211121112222221211211111211121112212122211212221122112222211221222112121112212221111122211222112121212121211211122122222111211211111221222212121221111212221121112122122111221112122111121221111111221112211122121121212211211212111212122211212211212121112222112122121111221212121221121122122222112121212111122121122211112122121122111221122211212112212121111122212122211211121112112111212121112111211122112121112222112121122121221211121112111211212211121222122122212122222211212222112121222122121212111212211212111222211221122212211112121111112121222222122212222211221112112122212212212211111111112222112222121221111111212121212111211112121122121222122211222221112112211112212121122112121121212122121111211222222112112111211222212212112112211111111122111212212122112212211222111121222122212112112221121211122121111221212121222221111121112211121112211222122111111112212111111112212221112221212211222122211222121212221222221122212211221221112221112122221121221211122111121112211211212121121222111121122111212111121121121222112122211112112222112122111221222222121222112121121212121212222222222211211122222121112212112121122211222111212112222212212122121212121212112112112221122112212211212211222111121212122222112222121211212211212121222122111211111221121211212111122111121212221121121222121212112111212222122221111121211111221222121122112222221112211222112221221212121111112211111111121212212221112111222211211212121122111122121211112211122212112221122222221211221221211221112222212211221121111222211112212112222122111112111112112122122122121211222112112222112121222112212211122212221221212221121112121112122122122211222222121122112121111212122121212221112112221112222211221122122221221122212121112112121212212112122112212211221221221121212112121212221111112222111121211122211221222222122121222221112121222212112121111122122222121211212222212122112112122211212111212222111221221111121221211222122222112211112211111211211122212211122211211222221122221222212221122111221221122122212211121112112221211221122212111121211111222212222122112111221221122211212222222211222112111122122112211121222111221221111121112121221222222121121122121112112112111111212212211121211221112221221222111211212221212211221111212212111222122221111211111111121221111112112111222111121121111221122221211122211111121122112212211111122111221111121112222212112222121212221212122111212222222121221121111212211121111121221212121111222122122111121222121111212212122111221112211221222212122221121121221122121222212211212121122221121122122221222222211222112211122111212112121211222112122212112222221111112121122122222221212221111221121121111211211221222222221122111121112222111111121112111212222121212111112112122112222221112222111112121222222121211221122222221212121111121222122121111211212121212111211111111221122121211122111122121211122122222212112121112221112122222112222112112211122111212211222122221211112112121112121222222112111212111222112212211221111221112212221212221112121221221221211112211121212111222121111121122111122212112222221122212111211112111111211212121121222221221212111212222121211121122211111211212121122222121111221212121121112121121221221121111222111221121211221112121222111111121122121221122112112112211222222121122221112211112212122122122221122112121122212212211111111222221122222112112112121221211112211111121121111211121212111212222112212112212221221122222211221212222221212211212222222121112222121211112112111212221221122221112111222222121122122121122212121112212111111221222221212111111221121221222221212221121212112121211111211221112221211211121112221222222222111221212211221112121121111212122121121121111212212112122112121212211222111222111222221211211211121111211112211211122121222222221121112112122121211221111211121121121121212211122222112212122211211222212212221112121222121222212221212121221211222212221121111121211112112211122122222221212112211111111112222211121111112112221222222122112121121222221121211212221221222211211122112111111111221112111221122111112211212121211112122221222221122212211111121222221221122211211111211111121121122211111121212112212112111211212221212111111211211212221111121121112221211111211212221212221112121112111211112112211111211111221122222222121112122211222212212211221121212222221112222211111121221221211121112221212111121112211122222221211122211121221111121121122112121222211111121212112122222211121212121111121112221121122211222111122122111221121221111121222212111122211222121211121221222122111222221221211122212111212221111212111121222121211222112122111212211121211112221112112221121112211121112221122211111111121211122112211121211212111121121222111221211221222211122112121112112212221221221121221221211121222211221122111211221221122211111212111212212122121212112221211122121222212112211122121222112121121111222222121212212112211111211121222121121122121122122222122221121211122111211211221121222112221211122121212111121111112222111212111211122222212111112122111222121111121222111222111222211111122211112212111121122212212121212121112212212122221212111121211211121211211221122212122112112221211122122221222222211212122222112211112112221211211222222221222111121212121122221121212122121122211122111121122111122122121111111222212112211222122122121111111212212121122222121221122122121222121212112122211221112221221212221122211222121111111211111121121221211212122121112122221212221111112122121112121221122221222222121222122111221221222222211212121121211211112211211221212122211121221121121112221212212111212221222112221221211121212221111111211212221121212222122212222211221111211221212112122122212222121122211111222112112112222222221221122211121222222111222111221221121222112122222121211212222122222121111122111121121222211112121111211121121221212211122221121112111111211122212211212111212111112121112121221122121122222221111212111211111112112112211122111222222122222211112121112221112211212221212121112222211111211121221221211121221122122222121221221112211222221221222221221122212222111122212122122211111211222212112221212112122222111211122212211112212121121122212122121211122121221212121122222212122211122122121122112111221112212222112112211121211211222221221112121122122111212112122222211212222112112211212122122211211112222222122211112111122211111121111111122111112212121111222121112221122111112221222222222212121222112212222111111211212112221122211222121212112112212112122111211222212222211111122122211111211112111121212222211122111212121212111211122112121222121111111122112112221121211212111122221112212212111222222122111212122211212222212211211122122112121221212222122111221121212112212212221122122212212121211122221122221111112112112212222212211221221221122121111221122112222122112121212211112121112121112121222111211112222121121212122221112211111111112122112221221211122111122222111121111212122211111222122211212121111111212122122111111221211121111222211122211221221122122112121222212221212111111222121212221112111211221121111111212111111211112121222221212221221112121212111112211111111122111211222122122211222112211212212211212112112121221112112222122212211222211222221212122111221111211212112222212111111121112221222221222111111222112222122122111122221112211121121121211221211112112112112122111221121121212111122212121112222211122221111121122211111111111221211121211221212222111122111212122122212221111222212212122121112112122112112112211111221212111121222221122111212122212211222211212212122121212221121112221112212221221211121221211122211122111121111211212121111212212221112121222111111211122221112222212121121112222112211222212212111211122111121221222221212221112121121111122212122222221112122112122212222222122111211221121212212112222221111122122121222112222222222111122222121111211211221112212222221221212111121112121222211212222221121111221222221222222122212212221122212222121222221112211222212112121121221112122212121121122111121212121211121112221212212221122212212212112221212222221111121111111212112121121111211121122221222111112112112211211121221111111112212122211221221221211221112111111222112111222122122121122111222122222212111111221221111221111221121221111222211112111211212121111221221222211111212211221111121221211112221212122122111211112112212211211111122111221221111222211112212112212211222211221122211212122211212221211112122221221211111221211222111222211122121212222212222211222122112122212111121211121222212121121211111111222222111212111212212211111211111222222221112121122122112121112221112212121222211122111112222122121212121112212121111222121211112122122221211111221121111221121222121122222122222111122212212212211221121112122211211211211221222211212122221221222112112221122221121122212211222112212221211222111111211222121211212121222212111211222212121211122211211221212111222212122121121122221112112221211111211221212211211121221212111111122222111112221221122211222222212222211212212121121211111212221211111211122212212221121211121121211122212121112222112122122212122111212112212211111211122212111222222112222112221112122211111122122221121112122212221121122112222112111222121112211111112222212112221121221211121121122111212112211111221112221211221122212222211121112222211222111211211222222121212211211211111221222221111112122121211121112211212211112211212121221121212211122221111212211111121121222211211222211121121122222111111111221211221221121222112112112121122212122211222212111222221121222121221111212122112221121212221222121212221121221221122212212111121122122121212121121111121221121121111111222112121211111121111122111111212221112111122221112112112212222212221112211111111122212121222212211112212111212112121112121222212121122122111111121111222221212111122111222221122222212111222212211211211211122211121111212111111122111211121211211121221112221221211222121221212122222222211211112112222221212111111122211112122212111221221121121122222222122221112111121112112112222221121222211121222112122112121212112221111122221112111212111221221212212121221122211221222211221221112121212221221221221112112111212212211122222122112211121211121111122222112122112112211212122111222211212112212122112112212111222121212112221112122212221211121222112211121122221212121112221121122212222112121211111121121111112121111221112222212222222211122111221111222222121122122111112212222221211112112111211221222122211222122122122121221212222112211112222112111121211222112111122222122212122112221221112112221121221221112222121112122211122221211112212112121112111211112121211122112121221222222122112111222121222111221112112122212111122122221212221211122212112112122112222221211111112212222121211111111111121112222111211121212121211221221221122212111222211122211221222222121112111122211121122212222112121222212121222121112212211122212212211112111121211112122211112222221122211212212122121211122222222211222212212221111121211112122111221212111211212121121222221221112122121122221122222111212212222211221121112122121122212121221122112111221221222122212111212211212221221112222122111211111221221222222212221111222121112211111212122122221112112112212121211221222112222211221121112211211111211122212211121112111112212211212122222211121222122211211111122111222222222111211212121112221112121111111122121122121121222212221111121212222221111112111221112211111222211111221222122221111111212111112121111212112112111221112122211121121121212221211121222111122212122212112211212212221122111122112121212122222221211122111111122122222111122122121122112111221122212221222111122222221111212212212111221122111212211111111112211222112122121211121111112122122111222221112122212121112211112121111212212222212122111111211212221212222111111112222212121221122211112211121111222121112122111121221111221222112211212112211222112221112111111222211212212222112121222112111222111112221211212211211111211221211222222111222222222222121222121122121221221121211222222111212222112221212121121212111211222112221122211121212122122122211211112221111112111121122121111211222111212122211222121111222122112121211212111111121212121121112121121112112112211222111121112212211211221111222121212221121121211122222112221212211112221222211212122121212112112222212212112121121111221222121211212222212112112211212212221122112111121111221121211111222121112111122122222112222212221211122221211221122221221111122112222222111211122221211211121222221211221221121121212122122112121122122121121112212112212221212212222222211111112222122212111222121222222212221121111211122112212111211221221221121211222221122112212212112221211111121122122112111111111211222212211112111112111221222211212122121112212212222221212112222222112222211211122122212222121112122122111122121112221112121212112212211222211122222111111122111112221221122211212121111111212222222112122221111221221112222111122221112221122112122111122211222212212211121112211112212112211211212212222122212112121211212111112122122111111211111122211211111121222222122211221222211121112111212122212112121121122122111112111121222122222111122122111211222111222121222121211121121211122222222111122112212121222122112221121221222121121222112111212111122112222111112211221111212221122212122222112211222121112222111111211122212211111221112112112212111211211121112212111221212111212211212222212222121212222111221112212112211222121211121221121221122122221222121211212212212112112111121221212222122212121222112111212221111212111221111221121212121211211121222211112211222121122122122122122222212121211212122221222111221121122121212211122212112111122211111122212122211112222211121112212212222221211211111222121122121122211121112111122122111212221222222112111221121122111222222211122122222211212111221122112111112112222121212111211112211121222121111221111112222112211121121211112121121222212211122122112211222212122212112221122122122122121111212221212111122211121212221211221111221211222211221122222121222121221212111121211211221122111112222122111222212112111111212221221212211222222211221122122121111121221112221211222221211111222112221211212122122121111212221212122222122111212221221212112222212122112112112222222221122122222122212111211211121111212222111112222221122212112122112122212222211111211221211221222122211221121111212121121221212222222112122111122111112211121122222212112112221212122222212211212221222121122221211112112111212221112122112111112111212212212221211221221122222112222111122222212222121212221222212112122211122122112211212221111111111221122221221121211112212112221222211211222112221122222221222221122211122212221222211221211221111111111112111222112112111212112121221111212122112212111111212211121212112212111112111212211121221222212121121211112222221222211222112122211221212112212211211211122222221212212112122111222112121112122121122211211221222222122121222221211212111112221112211122221122122111211222222211222221122112122211222222121222211112112221212111212211121121221221212111222211211111121111211112111121222111111111211122211221211122112212221121111112212222212122212112221111111122121212111212212222121211212111211122212121211122211221212222221122221112111222221121111222212122212111121212122222212111221121222111221121122211122222122111122111221112111211222112212212212212112122112222122222121211112212222221212221221121122212222111122111121221212112212222222112112121111221111221121122112222121222211122121211121222122221111211112221212121121111212211221222111121222221121121122221221211111121221211211221221111222111221121221111111112211122111122212122121122221222221112122221221211122111221122121211121212221211112212111221211112111112211212221121122112222112121211121211222122112122112111111212221112111222222111111212212221212111112211221112221122112111212111112221121112222111211222221211112221121112122222112122221122112121112212112111121111211221112112122111122222122212211121221112221122221121222121111211122111121221211211212121111111111222221221121122221121112122221121122112111221111221212112111222112222112212222112211211212121212211122111111211121211121221122122211212221221211222211211221111221211121112122212122221211122122121112211222121112121212221212111221222222121121111122112112122122211222212222222221211221212211222121212111111222121211121111121211221212111121212212221122122122222112211121212111221221222222112211112211112121211212122212211111222221112222211222112111212122211221222222211211112121222112122212112121111222122221122122221122121111222212222211111221122112112121211112112111222121122211222112211212211121221212212222122212111211211212211111212121111212122112121211221121121221112111122211222111122212111121122112211121221122222221111112112121221111112222111221121221212112222212211111122221121122222221222212222221222122211121212212211222221221121222222112112212222212212212111222211222122222221112121111122222221112111212221112112111211211111222212121111112211122122211112122121221122222112222112121221222111122112111122212221122212122111112221222121122121121212122121112111111222111212222122122211211121212212221221222111221212121111111122122122122111212112212212212111222122122122212211122221212212112212111121122221121221112121112121121222112222222122211212212221112111211121112111122222211221122111122222221121112122221221121212111221111121111122112121221111212121112212111211212222212211212211122211111221212222211212211211212112122222221212221221121211112222222212122212221212211211221112221221212222112121112112222212211122211211211221211221211212112212211121221111111122112211112221122112221222122122121121111221112222212122221222221122112121111211222211122222222121212111122212221221122111121211221111211111122222221111111222211211211122211222121212212121222212111211221122112212111221222222212222112121221121122112212121212112111112121112222121112221222112121211121211112121122112212111122112212121221222221112211212222121212212211221222112121212122112221222112112222221222211222221212222211222221122111212121221222112122221112212112221212222212212221112112221222122222211121111121212211122122112122121212212211212112112211111112212211212221121222111111122221212212211111222111212222121212212222122121212212212212112212121121222211211121112211222222211221212212122221221111211221222122222221212212111222222211222212212112112221112111122112211222211221222221121211111211122111111212112211111112121121112121111112221121211222221222121212122112212122211111122222122222112211111111221112221211212111221111111211221122212212122112111112212222212212122121211211112122221121112121221122222122121111221221221122112212212221222221121221121221222122112211111111112222112221122111211122211212212122112211122221222112211112221122111122121212111222222211111212122112121111112122121221211211122112122221122222112212211222221121122221221112111212211122212111212122111221122122112211212221121112221212212212221122221122211112121112112112121221221212122111212122211212122112212121111222222212222122111122212222121222211212111222111212211221211112212121111112111211221112211221112222221122121111121212121121211222122221212222221212122222112112222221212121122122222121111112112112211122221222221112111211111211211121121211121211121212111211221211122221211122111222111122121112221221212111221112122121111121222212122221212222211112111112212221221122211122122211111112121121111121121112222221221221111221222121221122122221212212111121212222122111122111122112111211121122121122212211121221221222121111111221122212121122222112112221121112222212121212121121111222221222122222212112111111211212112111112122211222211112222212222211221121211212221221112111211121112112122112111212221122111222222121212221221211111121111212111111221212111121212122122122222211111122212122211212212112221122221112211211121121222222211211212122211111211121221121121212222111211221212111211121211111121112112112111121122221121221121222222221211121212112221111211121212111211111212211121221112221111222212221121221111112222111211212112121122222121121211122111121212211212221222212122112121111222112221122212111122111121221111211222211221122212121212121121122122211221212111121222111222212211221112221121211121212222211221122121211121211221212122112111122222112121121222112222212222221211112211222121122222121211211212122111221112122211211211112211111211222111212211122112111111112121112111222121221211122111121111111221121212121121112122112112121221122111211211112122112112222121122122221121112211212221222122221222211221122222121112212212221122122112111111121111212211221122121112221212121111211221112212122121212112211211112111122222211221222222122211111221211121222221221212121111222221222121221121112122112122121212112211212221122222122121121221112211211121212222211112221221111222121211221211122211112112122122111122111212221121211211212121111112211212221211112111121121212111212121221221112112221122111122121211121221211112121211221112111122111122122221122221222211222111122212122112222222211121111111122211221122111221212121111222211112212211122222222111221111111221221212111122122212112122112212112111222122121212211121211111111222121121121112211211221221121222211112212221111222121121212211222212222111111121112112211211111121121221112111112221221211221112212212112221111121221212221221222222222221211121212122122112211222122122221111212222111121122122122222222211111221211211212121221121112111211211212112122121221211121111121122211111221212112122211112222111121212121112221122212111112121111122211222111112121221111212211121112211111212121222111121122221222221222221111111121212222112112121212122111111212211212112221111122222122211211221111111222221212212221122221212211122222112111122211222212212212212121111122222121212211112211121121121111111221222111221122122111122122121221212221212221222211222121211212211121122121212112121211111121111222211122121222111212212111212112121211222111222111222212111212112121111221112112212111211221122111222122112222211212121121122121121111111221112122112122121211211122122111121222121121221221212122221211121222222222121112112221222212221112212122221111122222221222112121122212222222111122211211221212211112121111121121211122112122111211221211111122111222211212112222211222221111122212221112221111211112122121122212112122221211212122122212111211221221122212122111222112221212111212221111211212111121212122111211222121212112211211122111212212211212121211222212211222111122221112221211221222211211212221221121211121222121221112222211112211112111211121212111211121211211122122222121111211212222212212222211222122221121222222112112121111121112211121122212111222112222121221112222211112222122212122221121122121221221212221122211221111211111112121222121221122222121122222112212112122111211212221121122212111111111122121122221221112122212112212111112222221122212222222121111212211211122211222221111221212122211211221121221112211211121112121212112221121221122112112211121221212222111111212212112212222111122212121112111222121122211222212221111112222111111122111111121212221212122222212222211211212112111211212222111212112221212212111121122222112121212111111222121122111122221211212222121111122121122222111122111211121222212111112122211111121121212211111121122121112221221221222222111121211222212211222211212221222211121121211211111111211121122211221111121111111211212121111122211112212211111122221112222112121121112121112212122111121112212221122221221221221211222111211221111212222122112112112212212121212121121222211221111211122122211122222222222221222122221222121212111211111211111211121122222222212122122112121111111222222122212211221111121121211111212122212112222221111222212122122122112212211211112111212112212121222222122221122211122221112222221222112222221121211211111211121222122121111111211221221211122122121112212121221211121222211221121112121222121112212212111122111121221122222111111212112112212121111111222121122122221112122212221121211222211221112211222121122221222212112211222222212211222221122211222111121111111212112111221221211211121211211211212221111221111112112122122112112112212111121211122222121111122111212212112212111221211211221222111111112222222121221211222111212112222221112221122221211112112212221112212122121222122211212121111212122112221121212222222111222212221112221212212222121211112121121222121121222221222222122221111122122222121111121211222111122222121212212111221112112221222121121112212212122211211122212121111222222222211122222121212211122211112212121112222222111212212111122112121112112111112112122122212212112121121121221212112222112211221211211212211121111121211122212212222122122122112221211122112122122111122211112221112212222212222222212212112122121111121211122221112121121222211211212222121121222212222212211212221212111122221122211121112121112212212211122122211122112122122222121212221112221111211121211121112121122212221122121221122211211222212221211112221121121222211111211111222222122211212211211111211112112112111212122221222222222212121111121221122121211111111121212112122111211221121122111221121221112211111111221112122212211211122122221212212222212121111211122111212221111111121121111122212211222112111211121222121112111122222121111112111111111121212221222111221122221111211112122111112222212111122211212121221221221211122121111112212121111211122221212112122221112112212122111212222111211221122111111121222121121222111122211212122112112122221221222121212121222221221222121212212211222221221112221222221112222122112212121122122211221111221222122112211121121122121112122111122211222111222121211221122221211211112121222221221121222122221121221121221112112121212211111121211112222212122121212111221111222221222211211111221122211211121221122111212222112111121121112222122121211212212121111121222222111211121211212121111212222122221111121212212211221211121222221111212111111211111111212211111212222121212222121122221122211211121221211112122211211121211121221221111211112111111212121111211212111221212211212122221221221211211121211211112121211111121212221122121122121211222222212222111221122122211112221212122221121122212222121221222121121112222211211212222212222111122111211111121221122212111221121211222221122222212122211222122212221222212111211111221111121211211221112112222121212122222122111122111122111221121221212222122212222222221111212211122121122121212212112121112211121221111112221122111122211212221221211221112212112111221121111121112121212122221122211211222211211122121221111212121211112222212221111121121112121121222111112111112222112211222111222122211211121111222211211122112121112122221221212222211212121111112121212212122121111121222222112222212112211122222112211111111112211112121211212121122121222222211212122222112121211111221121221112111222121122222221121211112122222121221222211111221212222121212122112111221211122122221122211221222211111122121111212222111222211212121111212121211221222122122121112112112222121211211211211221222121211122122121112112221121111221222222112112212111222221212221111221211121221121111121222221111222122221222211111122122122212112222221121121111111111221222212121211112122111221222111221221212212121222212122122112121122222121211221111122211112111212112212212212112122112112111222111122112222212222122111221122112122122222121212212111221122122221111111222212112112112222122111221111112112221212221112121122221222112122222221221212112212211222122212111211211221121112221111211212122121111122211212212212222221111122221211212121122212211111112121122112212121112221222111222212121112211212212111121212121122211211112222222112221211221212212211121221222122222221121211212221222221212212122122111111122211221211112121111122112111212212112211221122211222121111122111111111122221111212212211122121112121222112211221211122121212212121121211222222221111121111221112121122221211221112211211211122121112211121222111112111212111221122111212122222112212211221211121112212111222121112212212122121111122121121121211112112122112212212211222112212111111221121111122212121111212222122112112122222112222122122112221221221211121121121222112112211222122112212212121122212212221121222112221122221212221122111111222222221222211221211112212212121211222221122121111212122112221122221212122222212222111221221221212112222221212212111112121212122222112122212211112211121112121111122121112211212111211222212111221122122211221122211222221121112122111122112222121112122111211111212111212111211121221111222122121121222212122211221211112111221212221221111222222212212122121112122212212112221212122111211122221211222112121112122122121212212122111221112111112222212212112122211222111111112222211221112211222212221222211121221221211212212111221221112112121221222121111112211122121212222222221222221112212111221112212111222222121122221212212121222212221221121111121212221112121212212121211222211212112122221122112211121121211121211111222112122111122112121211212121122121222121212122111212122122112111121122121121112221221222222111221222222211111121212212111112121111122111111122222121111222211122121111212212212111111122211211222211111222121211221211221121221122122121212212222111122222211222211221111111112211212221122111112211111221111211112212222222212122121222221212222222222212112212122121111111112111211212221122212121112221111122112122211111221112211112121221111121122221212112122121112112211111212211121122111212122121122111211121121121222212222222222212211111222212122211112211212121211222222222221112221221112112221221112112212212122122121212221212111212222121121212122221221211211112111112121111211112211212211212111212122112222211122111111122212211111122111122122212211112122111121221211121112111122111221122122122212212121211112212111222212121122111221212222211112211222222111222121221212122111211112121112212122111121122122221122112221121221222111212121221212121121221122111111111222212221111112212122111211211121211222122122211122121212122221221112221221112221221122122121222112111112122112121122121111211212122112122212122212222212112211112122121122221122211221111211112112112111221111211221111112212212121122121111222121121122212121122222212221221222122212121211222221112121211212212121212121211211211122222222211222211111122112122212121121212112122211212112112121122112211212212121122121212112221211212122122221222111211222221121121211121112111222221212111211111111211221112122221221112222212222211111122211122112122212211112211111121122211111222212221121221222222111111122112111211121121121111112111212111122222211112111222112212121111211111211121121212121111221122112111212212121212122212211111121121121111112112122122122121122122112212211211112121112122111121122121212112112221222211222212121211222112111112221121111222121111122121121122112222111212112121212222221221221111212122112211112111121122221211211221122211211212212221211221222111121112112222111111211212122112111122112211112222221112222221211122222212122211211122212222221121121112222211221211121221221212212211112121121112121221211222122211221121211112211111111112221221121122111221111222211221211221222111111222211211211212212222122211212221222112111221221121221221112122111112211211111211121211211122211211212211112222112112122122112211221222111122211122211222221111222121211222221211221111112211112221121121121221212211111112221121112111222211112212212222111211211222122121121122111221212221121211111122122122112112222121121221121222212222222211221121222222212221121211222111111112121112111121221121222111121111212211211111222121211221111222112122122122222112221112121212212122222211112221111122112212112221111212111212111221112222122222111221212112221221121111211121121212212121211111121222221222211112221211122112112112111121212111212212222221222212211111111111121112111121111111212111111111221122121112211211221222222212112221122221122112211221212222211221111211221121212112111112221221222222212121112221221222112122221122212112212121111211111222111222121212211222122111121221211121211111112112211212212112221121212122121211211111111221121112111121212122112111122221222112222111121222211212122122111221221111221121212122212222211221122222211121211221122211221211122122121212121111222212211222212211211112212122122112222222122211211212221111121121211121111122222221112211112221122212112122211222111221122111222212112212211121112221211111212111211111211211121121222112221212122221211222211111112111212211112211222121221222122221111222222121211111221211111221212112111121122211112111111111112212222211112112221121121222211111122111211121122211121111211121112211221222121212221222121111122112112221112121211111222122221222221121112121212112121221211112222221112222212122221121112212112211211122121221222212122211212111122112221212121122222211211211121221122121222122222212222111121212121221222122122211112112121112222221122112112221211211121222111221222211221211111112112212221112211212121111111112122111212221211222221212112211211122221122221221212212121112212112211221121222222112222212211122221212111121122222122112122212111222122211212122111122211112121211112122111212221222122112121122122122222221112121122121112222112221121211222211211111112122121211222222121122212112112121111211112121222112221111121211211221121122122122221111122222222222212121212222111221211112122222122112111222112112112221121111122221111222222112222221221212121212122121121222112112221121121221221221211222222221211212122121111222122221221121111222112211121112221121112222121222121121112112222212111221111222221112222121221122121112212211121121222112122122111221212122111221222221212121122121211211121211122122121222122122121212221121111111211212121122212211211121121221211212222122221211212212212212221212212112221212112211122122211222212221221211111112122121112211122211111121111111211222211111221122221221212111222121122211222111222112112111122212111211112122221112121211122222221221222121211121122221222221221122111121111112122212111121122211111121111221121121211121212211222221222212222111212122221212222222121112122111212211222112221121221212211111121122121111122212111121121111112121121121111121222222222221111211111221211111121212112111121122211222212112121112211222121222121211122122122121122222222211222112212222222221112121222221121111221211222211122211211121122121121222222122122121212211121221111111112221221221121222221111111222211221222111121122122222221212221121222221111212221212212122222221111221211121222121111122122112112212221112211111121122112111221112112222121112122121121122121221111222121111221111111121121112211221212221111221112212121122112222112211122221222212222211212112211121122111122122111221222112221221221222222211211121122112222221121111111221222211222122122122112211112122111211122222212122121121122221212212122112211211122112222212212121112212211121212112111211211112221222211221112212212111121211221212111212212122122222221112111112121121211212212222111221222221112112221212122111222121111221111221211111221211212122212121222121111121222111222112111121111222121221221122111111211222211112122111221212222121212212222211112221121212111122212121111212121121222122121221212222121221122122222211211112111111112211212111112122111122221222222121211112212121222212122121111111222122112221222121212112212222111222121221212122222111211221112122222112222112122212112221121111111212122111211211122221222122111222212111112221211112121212122222112121122221121212212122121122211211122222212122211112211212212221121111112222212212111221121222111221112212221222121222112221111211222222111222111121112211122121212111211211111121221221211222121212122111122111111112221221221221121211211122122222212122222212111222211111222122121211221221221212222122122122111112211222211221112111122112222221122211122111221211212222111121211121222222122112221212221221111121212112221111211121211121222221222222121112111111112211122121221212211121211121112222122221112212122211122212111222122211122212221212211111211121212212112122121222121222112222122112211212112111221212221212221112212221212222222122212121121112222221111122121121211121211212222121212211122122212212211111121121222212121222121221111122211212222111212122221122221211112121221111221221111122212122212211211112112111111211112221222212221211121112211222121221211222212211212222221111112111111111212121221112111112112211122122111111121221122122222222221222222211222222121222111222121112222222221212211121212212221211122121222212212121111122212112122112221221221211122222121111221122212221112112212122122112221222121122122222112121211221222122221122222222112121211211121112112111112112212222211222122212122222221222121211221211122211221111122211211221222111111121111112211211221112121212111212222111212112122212111212221221221111212111121212221121111121111121211111111212221112111111112212211211112212211222111112222112221222212121122221212122221221121121111111121122221111121122212212112222121212211222112112112221221122111212221122211121212122222211221111112211112212221212221221212211211222121221112122221221111212122222212112211222221221111212212121112211122211212122221121211111222121212122122121212221122222122221212211122221112212211211212222111121111211221211122112112111211212112211111112111211211111111121211111222111211111212121121121221222222221221112212221111212121211212221121122112211211212211122122122211111112122212122121111211222121222121111122221221222121221121222112122221121111211112221111211121111122222211221221121211121221221122222111212222111122222222121211211112121111222121211211112122112111112221111122111112222111211212121112221211122111122212212121121112122211221222111221121122112121222112122122112221121212112211121222111122222211112211112211222112111112122212212112222111221221111122122121222112212112121212221112111112212212122122222112122211212212221111112211122122212121212222122222122121211121112121212121212111112211121211122221221112211112222122121122121121112112221121221121211221111221221121112112212212121121112111112122111222212122212122112211211221212112121211211111211222212112122111121212122111222111121112222222212111122212212122121221122221122122122121222111211221112112111212212121222221122121211222222111111212122111212222212122211121212112212222112222222222111211211121121211211211212211222121212211221122122221112112221211222121112112111211211222221111121222221112112221212112122121122122111212122222121111111111222121211222121221212121222111222121211212112121111221112221211111211212212111212211221121221211112121121211212211112211222212121212212221121212122111122111122212222211111221211112121212121221121111222112221222211122221112222122211121122211122112111222211221211211112211221111221121121212111121212222222222211222112222122122111112221222212112122212111221211212112221222122122212122121222112222112111111211212211212212222121122122112111222211122211111212112212221121222221121121122212111111111222121221222212221222112121211111211212112221112212111212212111121111222121212111211221122112121211112122122211122222122122122112112111122221222122212112212112112211211111112112122121211211121212122121122221211122212112211112221211221222211122111211121221121121212111211121112211221111112221121211221112222221112212112111121212221212112122112212221122111212222211211112122211121122121211211121122112122212121222112221112211122121111221212211112122112211121221112122122222122122211221112112121122112112221111221121111111122112111112211121222222222122222112121122222211121212222212112212211122122121221111111211212222121122221221221121221112121112212221211112212121111211111221221221222111211222221121111221212121211111112111212222122212212121221222112121212212222111121122122111222121222221112212221211222112112212121211121111211122112222112212122212111111222212222222222111111122211112121122211222111212221212221112121122112122112211121112122221212221221212122222221111121221112122112221111221222221222212211222221122222222122112211112111111111112221122222221211221212221222222222122121221112211121111112221112112211222222111112121121112122112221121112112212211111221111222121221122122112212122121121222122211111211211221121122121211111121111122122121212122121121112222212211221221211122122222122212112212211121212112112121122112221122212121121122111122121211211121222111221221111121112221121221112211221211211112121212122111221212121112122221211111212121211222221122111122212211112111221111212121222221222121122112111222121122221222222121122212121221221111211121122211221112111111221111121221112112221121111222212221211121221121121211111221112222111221221122111222221222222112121212221112121111121221121211212212211221121211111212222222222212112111122212121222111112212212222111122222122121111221111111111211211221211211212121222211221221112111211111121211121212121222212222111222211211211212211122222111122221121122111221211112111122211111221111122221111112222222112212121221211212121211222212211121222211222122221222222222222221112211222111212122222112222222211211111111121121121221212122222222122221112122111212112222212122212212112121111122111211121122111222211122111211112122112112211111111211112212212112211112222122222212122212211212211221212222121221221112212221111212221222221121221111111111222111211112212212222111121122221122222122121121221112111222111121212121212111121111122122112122211122121111211221111112112112212122221112222111212222211221222212211222212111111211111212112212212221122111122121211122121112221122212112222221122112221111222111112112221221111211121212212112212112212212121222221221111212211121211121212211211221112112212211211211111112111212121112122221122121212121111211212221222121221111211221222121221122212122121212111211211121212222212212212122122211222212211122222112121211112212221122221211121112122121222221122112122211121122221122222221211212122222221121122112222112111111121212121122111222112221121212222121111221112122221122222222121112211222122221211212112212211212121221112222212121221221221122112112122221121121222122112212222111112111221112121211112121112121221211112122111122121111221122222121111122211122112211121111221222221122111111122221221122221211122111222112122221122111221122121121111112111212212111211222111211112212222111221221221221221121212222112111221122221222222212112122221212221221221222122222122122122211122111112121122212221111111221221212112221212112212222122212212212121212121112211221222121111121211122211122122111112212222221121211212212121222111111211112112211121221121212112212212222121221212122111122221121111211222221222122212212112111111112111221221112122211211121111112112212211221112112121112122222121121211112122212221122112222222122112112222221122212221222221221112212211122112122211222212121212122111211221211221212122121212112111221211121221222111212212211221111122221112221121122222111121122121212211212222212112211222122112212212111211211112111122212112121211222121221112211212222211122111112221211212121111211111112211211212111122221112222121112212112111121112111212221121212112221112221111211211221211111212111111212122112121222211111212112122211212112211122222212112112122211221121212211222121112221121111222221111111222121112222211112122111122112212122112221221222211211211222122111122111222121212121212122222122212222222211221121112211122122211121122112111221211122221112111112122111212112112112211112122111221222211112222221222221222212211122221221211112211112111211221122212112212122112212111212221222221212211112121221111121121121111222221111121212211111121222221112112111211121212212111122112212121122222222221212121221112121122222222212112122221122112212221112121222121121121211121221112121211121112111112211211212121222121111211121221221221121222122111212211121111122221112212111112112121121121212211112122211212122222121212212212121221121211211222221111221212221222211112211112121121121212222221121112222121211212211221112112221122212212122212222211212211111222121111222112221211122111112211121112122111212111221221111211211212112222211211121221121111122222212212111221212112111122121212222111222212212211222111211222222122121111112211122221122122212111111121221212111212221111112211121121112221221221221111212211211222212112222211212122212112121122112121221222122212111222221221112122122111121212211121112211111211112212112112222112112212112222222221121212212212221112212211112112112121222221111211221212121211222211112122111212121121111221111121211121211121212121222112222212211212122221212211111122212111122221121111222121121221112211222122111212111121211211222111212112111212212111111112121112111121121121221221121111222211222221212212111212222222212222211122111121111221221222111121222212212112122221222121212122221221221211122212221122212121212211122122111212221122211212211222112222121111221221221112112111211212111212112212111121221121221222222122121121122122112212122121111211221211221222122221121112121221111211111112211112221121111211221112212222221121222112121221222112112111222222111111211212211121211222112121112221221112222221221212112121222211112212121221111111112222212212122121212211212221121211112121121122122222221122122212111221122211121112211122112221122111121122111221221111212112111121121112122112212222122111221112122111222111221212211121111122112221212212221122112221211112122121122121221222121111122111121221122222121111222212112212211221211122211212212222221121122212111221221121222222221222211111221111212221221221222212122211111212211212112122111121111122221111211221221222121122122112121111212221212122211111212111211112112221221111121112111221211212121112211121212212221221211212222221121211221122222211221212211212121212122221211221111221221211221121212122112221211221221111212221211112122121222221112121221122112112121212121112211121211112111122221112221122221211122112221122111111111211212222221111212211122211212112222122111211112112121212112122112112122112222222112122121121122221212112212121221221212212122222121122121112111222211121111122212212212221121212112111222122111111121222212122122211221121111111212112212111122211221212111122212212211112121121112111222221211212121221222211111211122111212212112121211212212112211122111222212122112211111221221112122222212122121221112122111221111111111211122121112212111221222111221122212222122111121222222221111111222112122212122221121212212211121211221121121212112121121222121221211212121211212221221122211112121221211122221222122112112112112212122112121112221121112212122121212122212121111122221222212122211121221111222211221222221222122122211211211112221112112122111222112221212121221121222121121111212122112221112111212221222212212112212222211212112111111112211212122221112112111211221222212212212221112122212112211112122212212211211121221212111111222121222221122122121212122212212122221221221122212222122212212211212221121111122112211111222221221111212221222111122111122212211222212121221122111221112222222212122211211212222112221222111112111112221111211211111112112212221121211121122111111221222122222221122121112212222211211111221121112121111211222122221111211111112122111122222111222121112112211212212212122121212111212221212122112122212222211221211112212121212112222212222121222121112112111111221221221222121221211111211222222212112212121221211122222212211222111111211111221122111111111122112122211211221212111211122122111121112222121121111211212222211111122121211112112212222212211122121222211222212111212222211222111122212212222222122211112111212122111112221112121221212212121211121121111122111221221122121211211221121222121212221212222221221111212122112212121122221212112221122212111111121211211222121212211121111112222221222121111222121222222211212111111221122112111112222211122221122111221122221112122112212122112222222211122122221111212221111221222221211211122122222211222121112221122222121212122221211212221212211212212112121112211121111221212221121122222222211221121212222122111222212121221211221121221212211212121211212112121221112111111221111112122211222122212222211112212212111211222211211121121121221111222221121221122111221122212112121121122112211112221221111121222222211222122112221211112112111112121122212221212112211112212212122121222112121222211111122121221212222111212112221111222211221222221222211222211122111112111111122211221121222211211212111121211121212111121112211222221211211221222121222121222112212122111212121111212221112122111212112221121121222111121121122222121221111112122111121111211121222112111211222211211111211222111211222211221112212111112212221222121222211111112211212112121211212111122121212121112112221222221122221111122112222211221111111121112211222121111212212222211211112121121212111211121111222121221111122112112212222122121221211121112211222212122212112212111211221221222122112212211211221212211222212212221121111122211112112222111211222222221121121112122211122121222211112122211212212212122211122211212111222112222121122111211121122112212221212112111122112211212121212111211212211122121112211121212122212112111212221221122211221221222221111221121121122211112222222211221211212122211221222122112221111121121211121211111221112111121221211121122112121211211112212221112221212222112222222211111222121121122211212221211121212221211222111222121211222222212211111121122111111211112121112211222112222112112211212222122111122222212222221222211122212122111111211122221222212212111112221221222211221211211121222212212211222221222222211112212112122221112211112112122212211112111222121221212112121211122221112112211221221222211222212111222211112211122211221111211221221222212122212221112112221121221112111212121212111212122122211221121221112212222112121121122222222111122111122221121121112122211222211111211211222112221112122221222112222111122122211212222122211211121211121122121122211121222221211221222122122221112222122111212111221211212221112221212111122122211211222211211212111211112121122122111122221111111122211211121122211111221112212221111222122221211111221122122211212212212221122221111112221121121211111112122211121211212121222212222121121112221111212212212111122222211221212211121121212212222112221112222112111222211212222212211212111122112112122111122111212112212111112111112112121111211121222212221211121221122122222121122111221112212222211111112211112121111212122211112121212122222211112121121112212212221112112112111212211111122211121121222222222112221122212121222212212111221222222111212221222112122211121121121221122121222211212122122221211221222212212211121122212111221111122111222122221221111221212212112211111112122211212112121211112222111122111221112112121221211221212222212221111221112121221221122222121121211212122222212221121121211122121212221212211122112122111222211222112122112112221212122221122122112121211111222121222212122122212122111122122212212111211221221221211212222112122212211122221211222212121112212121112122112121212121121122211221112211122211211222211222211122111211112112121212212121212112211212212212221111222112112121211111212112222122222122222112222111121121111111222122112121112221122222121222221222121121221211222211212111122221121212111212121111221122221212221211111222121111122121222221221211222211222121112222122121211222221121121121211112222222222122212211211111122211121111122212211112122112212212112111221211111121122212212212122211112211211121122221112222111111222221121112212121112222211222111211211211222221212211121122212112212221222112221212221111111211112222122111211211222211212222211212122211211211112211112112111121222222121121221222211122122211121111122122221212211111221111221121112122221222112122112112111212212212221112112111221222121112121121121221111111211212122221122112212222121111211122112222111121212212121211221121222222212211212222212111221221122211112122211222122112112122121112112221212221221121111211212121222111112211212221212211112112122112221222122121112221222112222121112222122221112212212212121121121211111111121121121121212111222122122112222111222211122121122221222111112212111112121221212221111121122122112212112211221212111212221211221112222121112111121111211222121121122122222111122122221121222211222222222111121121111122112211112222122122111112221111122112111221111212211122211111112112111222212122221222122121121111121122122121111222121212211121111111212212112211211222111211122221222112212111211111211121211112112222121122222221211222222121111221111112212121211111111222221212111121121212211221211211111211122212212122221111121122222122211212121221222221222121222212211111221122211212111211111212221222112222121111111221111221221211221221221212111221122112212111211111222221211211211121121122122111122211212221121121221121111122222112222111112222121111211211212112212121221211212222111111112221222122221112122221122121112212212112211121111121122212122221112122121221222121111122221122221122122121212122222122112221222212211122112212122221222222112121121211111111112222112222112222111221212222121112212121112111212222212121122121221122211212122222211122221221112122112211112211212121221221221212122121121212112222112121112121111211122111211122212211222221221211112112212112121122121211122221112212221212211111211222121211121122122222211222122121212222212221212212112111221121121111111122221221221122221222111121121121222212122111122122122211122122211212121221221211222211111212111111111221121122112122121212111122111111111211111121222122212122122121212212222111221222211222111122122211222211112111221111211211122212222122211112111222111111222121121112211221122122121221211211112222211221121221122211111112121112121211111111211212122211222112221221222222212112221122222111122112112211121222212221211222111112112212222222111121222222222221221211222112212121112111222222112211111111112112212112222221111122121122122221122111122111121211222222211211111212222111121221221111111112211112121111211222222212121222122222222222121121222112121121111221222221212111221211222211112212121222111211222122122111211221112221212111221211112112122211111112122121112112122211111121121112211122121222211111111122111122221121112121111112211211121112112122121221122121221211222121122121212121211222222112221222212211112211122222112111221111221212122211112222211212112212222221121112221221121121111121211221122211122212212222212111222212122122122112112111111112211121122211211121121212222212112221111111111112222212121221222221222112212212122221212211211112111111211112211112112211221112122211111121221111111212122121212121211212221221212122122222212111112211212112211212121122221211221112211211122122222212112212112112111122212212122111221221112122211122212222222222221221112111221112222222221122121111212122111222122222121122221112122111121111222212112221212222112122211222122211112112111221122121122111111112212122211121121222122211221112221112112221112211221212221211112122221122112111122221112112121122221112211212211111221111121121111112222212121111211212112111211221122221111221222221221121112222221112112221211111121122121111122112121121221211211122122221212111112221121221111112122111111122122222211221211121111221122211211221112222111212222122222112212112221112221111222212211112111111221112111221122221211222211221111212211212112111111111212222112122121121121221222121122222122121221111211212111111212212121112121222222212222222221112111222111112122221211222221111111212212121112221111212221122211211211221211222112222122112122211211122111221212122122121211212212112121111121112122111221221212212222211121212211111122111112221211222111222111211221211222212222122122112221112212111212111212222211221211122221111221222112211121121112122221112122222222222112112111122222222112112112212111121212112212221212112212221211212121122222212221121212211221121221221221211221221112122111211211121121221121112212111121222211121122121222122121211221222222222121121211221111222121221211121111111112122211121222211212122211111221112122111221111121211211112122112111212121121222121211222211222212111212121122121122112122112221122112111122122122112212221111112122122222212122212122121121111121112211111221221111221222222212211121122112111211112222121112122222212111211211122112211122221111211221221222122111112222211112122221211222221212122211221221112121222211111112221112212111222212221121122211221122222212121221112112211111211221221122112111111211222122111121211211112212212112222122111122112222211121212222222211221112211122122122111221111221111112122211222122211111122122222221122221221112222112112212121111112222222121122212112121211112122112211222121121122222122121211221211121211222212221221111122212112212222112221111212212112121212211111212222112221212222111222212122121121111122222111221222222111212212211122112122111212221212112112121212212112212112211221221222221212121212122221111212111221222212221121221111211111121222222111122211111222222111211212212121111121222222121121122211211221212221221111211111122111112112211122121212112222112211122112111112221121221111122212112221211221121211212112211221121111122212122121211212221112111212122211122112121112212121122222212112212222212222221222121211121112221221122112122112211121122122221121111122111211222221211122211111111211121221212121222211121112121221222221111212121211211121221121112112221121211112112212212112211111211111111111211212122221112222212112221221222122122212221112221121212112221211212211122122121122121211222221112121211111222211212222221112221222121121212222221111112111221212112212211112212222212121221221222122211221112211222112121221112221111112222111121112111212112122212212212222112222221221121211221122112111221111212121121112222222112212122111122112121212221222112111112111222121211122222222211121221111122121211211212111112122222122221212111212111221121121111211111221222211212111112111122212221111112112222122212211121212112111212221222121122211222111111212212221122122122221211112122122211122222222111121212121221212222221211121222121121112212121111112122211111212211111222112211121222221111121222111211222222121211111111111122111221122122112122222112112121221222212111121111221222212112122112212222111121212111121122211121222221111112121211122211221211121212211211211222121112212121221111212212211221211222211211222122111121211212111112122111121221121212112122222112121221221221122221122211121121222111221121211222112111211221212112112221121211122111111111112111212121112221221212221221221111211221221112111212112112211222111222221112212112221112222211112122222212212212121221222121221221222211222122111112221212222222121121112112211121111112211212111112221212211121212112111112222121222122121211111111122222112111112122111211222111111212122222121211221111221111111111122121122121211111121121221122222222212221211121112121121222121111211222122212222111122222121112122121212121111211211212221222221211211112122221221111112112211222111112211211121221111222111211111221112122112112111121221212222121122211211212112221122222221111211122222222222121211212112211211122212121112122222111212211221111221212112121121221221112212112122211111211222122221221122212211221111122222121122222222221122112211112211112121211222111222211222221212111222222212211121221212222211222211212112121112122121122112222122122121122221221222121122212211222112211112211111211121212211111221211211122211121211222221211122222121212122222221122121221222222122212121121212112121212211212221122211111212121212112121211212121112221221122111221221221211221112212211111122222121121121222212111211112212111122221212111122211111221112211222212111112121111111122111112212112121222221121121212121211111121221221221122122212221111121112111121211222222121121122222211122121211122211212211212211211122111111112112122111121121121211111222111222211211121122121111211112222211122111222111122211212111121212212122211122221111221211221221112222211111212122112211111121121112221122121111221221111112212222221122221211212112211221122112112112221221112212222121111212111221212111211122121122211211122112212222122212111112112211111121112122221122111212221211212112222112111111121212212121111112212112122112221121221221221222111121111222112212111121121211221212212112112221211221211222121112211221121121122222221121211221212112212111221211211212221111222211122121221221112211222212222111111222112221211222212221112111221121111222221121122112111211122121121221221121121222111121111221112122122122121121111112121221121221122222122111112111121112221111211221211121121212211111212212121111222112121221111122121121222221212221221221112111212221211211222121122221222111212222121121122121111221211211222121212121212121112211121221211112221112211222122112212211112111122222122212112121112221121222222111112211122211111221221121211212121222122121112212111222111121211112111221122112112122122222122211111111111122212211122121221222221112111221211122211221121112221112122221111122121221221222112211222112211221121111111111221122212211112222221112112222221212112221222221112211122121122211222222122222122221122112211212211121221111212212222211112122222221122121212121222212122222111211122222121211222212212221211122222122122212221111112211221211211121121222212212121221211222111221122222121111221221111211111211222211212112111222122211121212111122122112222122112212122112221211222222212211112212121211122221121121111112112121221211221122111222221121122122211122221211222121211111221112111111221222111122121121211111211121221212211212111122212121211211112111212221112122212111112211211112212222111212112221222222112121211111212121122212112212122212222222221112221121122212112111121212122222112121112221121222212221122112222121212111212112112221122211121212111212112212211111112221222112211121222222112112221222221112111222211111112222211221212222112211222212221121222122111222122121112122121222212211122121121222212112112222122112211122111211111112112222212211221121111222122221121111112211122222222222212222112212211111121121121222122211221122212112221221121211112121211211121121211121212111122211111212222111221121211212211111211122221212122112111111211211211212212112122112212222121122122121112211122121222111112212111212212112222222211111221112222222211122111121221112112121222222221111111211122122122112222111122121222212112221122211211111211212212121112122121212222111222221121111111111221212221221221222212112111212111112211122122211112212122111221121212122222112121121122112121212112221122222222121222212122112112112111212221212121111222111212122122112222122111222112211121222121211112222112111111111121121211222122121221212221222211212212112121112221212111111222221211122211111211221211112122112112221222221111222121122221221122212121112222222112211222212112122221212212121221221111212221122111212112222211211221122111121222222221121221112121212122112111222122122111121112111122221112211111222111211211111122121222212122112221211122221112222221221112211112222222112221221211222212122111212122211121122111121222111221111111111122212212221212212222111111211111222112122221222111121212212212221121121112112211212212221112112111111211222212122112122222222121122112221111221111111121211112222111221222112222122221222121121111112212222212121221111222211222212122212221221112121212221212122122111211112212111121222212211122112221222211211221122211122121222212221112111122212211211212221212222222121121121221222222122121111212122111211121222111122211112122211221211211212121111211212112121212211111211112211222122212112121111221212211211121111112111212221211212212121222122212212122212122221212222221121211111121111212112221112222221222211111222212222211112121212221121111111211221212211221212212121211212112222222221211112212211112212222121122121221112122121211211122111122112211122111212111222212122112211222222112112212121212112121121112222111112121221111212121222112212112122222221111121222112121112122122222211211121211112222221211212221111211212221212122222212122222221112221211211221212122121112121211111122122111112212221122122221121211222112222112121221121212221221121222212111212122112211212121221112122212221222122112122222221211111221111122211212121121111212222122122122211112211212122222211112211211112122212222221221111122112122211121212221222122122221112211122122211212122222111211112211212111112112112112211211222112211112112112212121211222111111111111121111212121121212121111121111221121221212211121121121122221121111111112122121112111122211111112111122212222212111221211112112112212111222122221121211212212122111121222122121221121121221111221122211112121222122211112222122122111111221222112122212222112111211212211221221221112122112121112122212122211222221121122212111122122122222111122212112222221221111211112221112212221222112212212111221211112122122121121212222111122221111121111211122212211211222121112211221111112111112222222121212211112112221112212221212222212212121221122212111111222121222211211111212122211221111212222222121222222211112111122122121122121122121222221212112212212111211111122122211221112122111212211222221222122212121211221221211111222112122121122111122212211111121111112222222112222111121211122221221221221221211112122212121222121121112122122121112221122122111211211121212222121222212221121211112212122112121221221212212121111212121211112112211121112122112121122111111122112121211222212222211222221221112111212121121111112111112121111221121122211112122122112111212211211222122112211212221212122111112212112222121212222221122111121112121121111222122221211211111121222221121211121212111221122212222212211122122112121112222221112211212222112122122112212111122212121222121121122211112222222221212121211112222222122122122121222211121122122122111222222121221222112211121212222212112112212221112211212122122121111212112211121212222122122111222112121112212211112211122121122211222111111222121111221222222222221122222122211221121112211121112112221211111212111212121211111112221212111212221122212112112222221222121222121211121211222112112121122211111222221121111111211222112111111112211111211112222111121222212221222112122122211121222111221222211122212212112121211211111112122122122221221222122222122212222221212122212221212111121211221212212222121112121222111112111121121122122222112121112211111111121222121221112112121222211211211211211222212112212121122122112112212121121221221212222111122212111211211122221221211211122122222121212121122122122211221121111211211112121111111221211211212111111212221112212221221221212122221221222111121121222221222111212222122112112121121121112212222212111122111221121112222211221122121221222112122211111211112111112121212112112112111112212121211211221221212121211222122111121221122212111211122111122122121122222221211122221222112212111222221121122211111222212212112222112212212221211112211111112211211121221222112121111222112212121122211112212222212121212112111112212221121212111221222222111211122212222111212212221112221211222121222211121221211222211122112121121212111122111211211112112211222211121211111222111211122111211121112122112121221212111211222111222221211221111211121221211122221122122112212111121211221222222212212211221122111122112121211111112222212222222222122111211111211222122221122121212221112112112121121122211211211222221211112111112122211211211221211211211112221112112111112111222111211112222212222111221212112112222122211121222122221121121122212112221221122121122121222112121111211221111222212112112112212211122212121112212211111122122111221111111112211211212221212112111121121122122111221221121121212211221211122222111112121112222212222222121221111111121122221122111212211221122211222221111112121211122121212112111212211211112212211222222221211112112211122212122122112112121122122221212112122112211111211212122212222121211121111112111212222221222221111211221112222111221211122212222211121111121121121222121212112121211112222222121122212222212221211211111211222112112211211122121112122222212221212111121122122211112221111211112122211221112211112112122122121221112121121221112111111221112222111221121112122212112212221222212111111211221212221222121122221121212222121122121221122222121212211122222122211222121112211111212211212111122122121222122112211121212122122122212212112211222221122111122221211121222221221122111111212222112121121122112222121221122221211121112111122221221122112111111221211222221222112111112222112211212211211122121121211112212212112111222221112221112122212112221112112212122111222112111122121222121121211111221212122222221111212112121211122221122222211212111211121121211111222122112222221122111222222211221221122222212121121122221111212212121212121211122211222112111112122212122211122112121112221221112222122122112221211222122111221121122222212222122222211112211211122111222112221111111121211222211211121222222112111112212111211212121122221111211212221221121222211121121212212121121111221122222112222111111112112222211212112221111221221121111221121121122222212112111111122111122122221122122112212211221122211122112222122121212121212221112111211111112121112111121121121122212122112222221212121211211222111212222122121212222222211111222112121121122221222212222212211211122212221222212211211222222111222121121211111111222111211212111111112112112211222221221111221111222221121211221212211211111211212122212211211122211211222112111221211122112212122221211212211212222222211211121222211122222112112121212111111222112121111211222211112122112212112111122112211221121212122212112211221112122112211112121212212112221222211212212111221212221222211112222122121112122222222121122211122121211121222221221111111112222221112111212121211121221211111111212211211222222211212121212222111121111222211212111121122121112222112121121112112112221212121221111222111122112221222221111211111211111221112221221112121211112121111222122211212221122111112112221111221211112211122122111221211211211222112111112222121122212211111121221211111221221112111112111111212112212212222212212121221221122122212122212122222212212212212111121121112111222122122212211111112111222122211111211212122121222211212222112211111112122222222121212221112221122111122111112111222222121221211122221211222121121221122111122111122222221121111221212121211212112212221122211221211122122212122122222211221121121122122221212111112121222112112221212121222222222221112121222111211111121121122212111222221112222211221222222111112111212222122212121212121122222111222122112122212121212212122121222211212122112222212121112122211212111222221111212111211212111111221211111112222211122221112211212221211221112112112112222222221111212211211222111122112111112111121111111221122121112212212112211222121222212122111222221222112121222221212221211221211122211222222211212111212121211122121212122212111212111122121221211122111112221211221221211121111112211222111122121112121112222211112112111211212111211222222122112222211112222222121211122221121222122112121122122111122121222222112121112212121212122211111211221211112121121112111222221211222221221211221121112211111122212111121212221121212211111221211222121121211121211121122221221222112222211121221222212122121221211112212222212222111212221122222222111121111221122212122122211111112111212122111121212221111121212122221112221112222121122211221212212211221122121212111211112211111111211222222112121212112122212121122122111112111222112112212121211122221112112221222121211221122112211211211222211222112111122222221112212222211221121212122212222121211221121221121112111121221221221222121222122221112211222222211112112111221221212111222112121221111122121122122111111211222221121111122112122122121112212122112222111211121211112121211111211222211112221111122111121212211222112121221221111112211122112221211121211121121122111211121121112112112222211122111121122112121122122221122211121122111211222222211211121122111121222121111121112222221111122221221111222211222122121211121111221222112221122212222211221222111212112212212221222211121112112112122111121221212221222121211111212121122121121222111121122221221222112221221112122121112121222112111212111211212222112112112121112111222121121212212121211211111111121221211211212211211212222221112122222222111221222122112111121221122112212212211212211211111122111221112211222211112112122222222112221121211112222212121222211111212111111221222221121122221121221122112211222222222111221211211122111121111111211111211122212122111122111221112212112211221212112112222222122211222122212112211112121211121212122212111121222111211122212211211212112111211211212211222222112112221122121121221121212211121121212221121212112121122221121211111222112112212212221121211111211221112121111112211211212221122122211211222222221111221221222122122212221112112212211212112211221122112212222221122112211222222211211112122211122112111122211122212122221212112112212121222122212212212212111211222221211122222112122111211122122212111112121121111212122221221112211122221221121111221211211222222211221122222222212111221122122222122221121222122122111212111212221221221211212222222111222222221111122111211211121221121211211222112112221121111111111211221122112111212221221112121211211212111221112122221222212121212211121212121121111211221112221222222212222122221121221212111222221111222112122211121212111122112111122222112212111111211212212222121111121211222212212212211111122211121122122122122222111222111122212222112121211111222211221212112112111212212221222122222221112112221121121112212211211112111211211222212222212221211121221111111121212122111111222121222111121212122212121112122121121211122212112211121121121222122221222211222212112112121112221211221122111212222121111212121212212221122121121212222211122122121112211121121122111212212112112121211121112221121111112121111221212222212112212111111112112111112211211212111212122222221112111122212211122211211222222121222122122122121221111112211122222111212211212222122121122111211122212211221121211212222122112221121112211122222111212111212222112222211122221112211221122112211222222211211211211111111211211211222222122112112121221211211211211212122122221111222122221211222121221212211122111222122222221211221221122121122222121212212112211211211122222112121222112222121111111211212211112222211111111221211111221122222221211222221222122112211211211221112121112211211121121211211121122211212221221222222212112211221222112221112222212121121111222112212122112121221222222121122221221212112222121122222112221111222111222221221122111111121122212121212221111122112212211112112112111111211221221121221122222121222121121211122121222121222211112121112111112111121121112121222111111122111122212121212111112111212112111112212122111121111222112122211122121111122212121221211121112112121212111122121112221111222211211122221211111111111111212212121212222221212111111211122212222221122222111212211122122221212112212221222211211212112222212211222112112121112211121222111212212221112121222122122112211222111112112212221112121122111121111121222122221112112111122211221212122111121222211111111112222222222121112122221111112211211211121222212212222112121222212112122221111111221211121122222122111222111111112221112111222211111122222221211211121222222121212121221111122212221121112212121112121222212211211212222122121112122121212212222122121122112121121122222122221221121211121222221111212121112222222222211122122221212222122122112212112111111221111111112121112112211211121121121121222221212121212222112211111212212211212122221121121122121112112221112212112111111121221112221222112122121122111212112122212121121221212111112111122121222221222112211112211112212222112112221222211121222112212211122112122211112211111222222221112111112211222121112121221221112111211121122122112122221211212212212221112211211222211222111211221112112212221111111121222122111121211122121122112221222122121111121122212121211221111212222112222212122222112211121222221122211211212222212111212222122212122212122222121121111211222222221121112121112121212121112222221221212221221121222121222221111222112211221111111112122212212122212212112211221212121212112121212112221121212112111111211212211221211221211112112211112122221221221211221121111211221211111221112122121221122121111122221222122211222211221122122122122122212211222212212212211122111122122211122122111121112121212211121211211112222121221122211112211121111221122111112211212212111211211111111212112112222212112212122211222212122121111212222111212211211212122112112211111121222212112212212122212111222222121121222121222111212221121121122212211111212112122122112221211212111112222112121212222121121212221221121111212222111222211121121122221111121211211112121211211221222121121121221121211122211111221112212211221211222121221211221222221211122212222222112122212122211122122222212212222221211111222121111222111212112122222122121212221221111112211221121221111212212212111212212221221112222221222212222111122221111221111211222111212222211211221122211112122111221122122122121221221211211112122221122221122222121121222212221122122121222222211222212122222221121211121111222121212112212222212221211112111122221212221122221122212212222211212212122212112121211222222121111212111112112111211122221112211222222222111121112112122112222122111121221122111112222222122212212212212221221111121222111211121222221211122121112212221211122211211221112112211211222111111212112111211222211222112121211111221222221122121112122112211211122222111221111112111212121122122222221122112122122122211122222221212122111212111222112112122221211111211212221121222121221211221212212111111112222122122112121112112112211112111112212111112122122122222222111212212221211211212111211212111121221111112112122111122221112111211122122111122222222111212211221222211111122112111112211221212211222112222112222221111112121112221211212222121212222111111122112122111112111212122112112121222121112212112211111222112112222112221221222121221211211212121222111212112211111211211222112211222222222222122212111121112221212222121221221221112121112221212222111212111211111212211121122222212122122211222222212221121222122211211222112212221212122211222112112111211211111222122111221212122121111122121112211112111121112121212111122211212122122112121121122222122211111211112221221111112111221211222122121121222221111212221211222222121211122222221211121211121122212221111122211122212122112112112211122221211212211121121221212222211222212122212211212122222222221122211112221211211121221111221222121111121221122112121221122212112121211211111111221211222122121121221221221211122122212111212111111222111122111222122222212111211222122222121212211222111211112211212221111222212122111222122111212112212221222211121121121112112112212122222111221212111211211211121111211112111221221121112212222112122211221111121221121122111122222111112122212122122122121211221212122212221111221121211122212222221211211111111221221111212121212111112111121122112122211112112212111111222121211222222222212222212212121222111212111121211122221122222212221121121122211211211221122121211211122112122111222112121221221122221222221112121122122221111112111111122111211111222211111221221221121211111122211212121222221112212122211221222111121212212222121221111122211111111221212212222212112212112212222212222222221112111221111221221222211122211121121221111111211221211211122112212221212112122211211212212112221121122212221211221122122222222222222211221211111111212221212211211112112221221111121212121212221122121221212112122121212221122122212112111112121122111211112121112122112212111211221111121111211111112112122212122211112112112111122211112221112121112111121112112111211222122112112121122112222222111122221121211212112221221221112212111211211211112111211111121121122111221122212112221211112121111122112222221112111112112211121221112122211112221212112112112212221111222222212211211111112121121112212212112222121122211122221121121112222221212222112112112112121212222221111121221212121221121212212112112212121211212112221122121111122212212122112212211121222212111121222122112121222221211111121121222211221122112112111212122212222112121111121212222121111211221121111211112221121212111112121222221121122211212222222212111121222222121221122222212111112111211222112211122121111112221112222211211111211122112222221112111121222121212212211112211222222211122222112221112122212121221111111211111221111212211222121221212221122221211212211121211212111112121212212121211121111211211222212221122122121221221111112112212211222121111121121112111212121121222111212212122211211211122212221212111111121122222222221222211211122221112212211221212211211211222222112221111112221122112121122112211221222212112121212111112212211121222122122112212222121111122111122122221121111122211122112112222221122222221221112122222221222211221111222221122212122211111122211121211122121112221122222212121121222122121221221112212222212221212222211111111111212221122221211221221122222112112121111222121112211112112121222122122211112222221112111111212112222221221211122111112222112221222212122112211221111211221112212121212222221121212222112221212122112212211111122112212212112211221121121212121111211122121112212122222212212222111122211222222222122112221112122222122122111221112122221222122121122211221222212112211121121222221112122222112211222221111122112112121212111211222122121121111221222121211221121221121122221112212111222212121121222221211211211122222211211221111111221111122111221222112221212121212211112122222212222112122221112112121211112112111222121221111222212221212111122122121111211122211222211111111221212121112222211221112112121211221221122122122212211222221212122111222122121222221211221112222211211112121212211212222122222111212211222212111112112211111222111121212221111211221211222212211122221112222221121221221112122211121222122212112211121222211112122112222121121212222211122221111222222111112111222212112111122111122121221221212211122212111111121212211222211221221222211222221222122221121111222221122221212222222112122112212221121112112111212221222121121222212122221211222211122221121112122222121222211122222212212222122221222211121222211122122112121212221121121111112221111212211211221121221121221112222211121122121112221221112121222112112121212111221112222211221212211122112111212121212221212121222112221111221121121111221111222221222221212111112111212211222221211212112122212111112121111112221111211211211222222212211221222122212121122122221212112111221211221222222222122221222221112112112212121222222211212111122112121211212112122111211112122212122112211221111211112122122221111121121122112212211221121121111212112122212121221121121112122122122112122212212211211122122122112122212211221122211211222122212111122111122122211122111122221112221211221112111222221221222211121212122111212212111111121122111112222121211111111212121222111122122111121121121121212122212222112121121212111211222121112221211221111121122122112211121112121221121221111222111211121122121121122121212111122222111112212211212211221212122112221222112221222121222121212211121122122121121112112211212112211112222111211112222112122222111211222112122121111212122112111222221212122212121212112221112122121211221212121112211211212212122122112111221112212111222121112121122122221112211222212221111112211211112211112122212112122122122122222111212112211112121212211222121111212211121111221221211112211122111211221122212221222212111121211221111122211112212211121212112212221122121212211112122212211111221221212222222222112112211222211112122112122212111221211122211112212222121111211211111122211222222221221222211112122121212212211221111212222122212122221211222121211221111212112112211211211121212112212122112211112222121121122212111222121112112121122222121122111221221111212211122221222221221212211222122211111121212112212211111122122211222222211111221221122222112211112212222111121112112112211112221121121212111211122122112112222122221111112111122212112111221221112212221111222222122121211212111221221112211111212212221222112222222112121112121221122121111121211112221121212221112121111122122111211221122211221112212212222212212221112221212212222212121211221121112222221111111112222121212121221112211211212221212212112121122111221222112222112211221212112122122212112211111211122121222221222212211212122121222221112222211222212112122122112122121121121211111111122111111211211211222111212121111212122112221222212121111212122211111121211211222111121121111221221221111221222121222221221112122121121121212212121111111221212121122212212222222111222112112122212221211222221222211221221222121122221122222111221121112212212111221212121121222211112112121122112212112121212221122212221211112121122222122222222221112112121222121211212211112211111121211111211211212121212122121121111212212112121222121221211222222111112111212112221121212121222211211222112111112211221111122112122212211112122211111111112121122212112211112222112212121211121222222112221222221222112121121112211112222122121122112121122111112212221221121222111111112111212111112211211122121112211112121221211221112222122221122112122212222222221122222212122222211221111211121222222122211122112122211121122122111211121222122221221122212122212112221222112222222122221221122111122221121212222121222112111212122221122111111121111121112222211221212112222211121222211112211212221111112111112112221211121221212112121212211221112211121122221222122121212212222211111221121111112122121122121112212221121111111211112222222122211222111111122112221122112111221221221212122221111122211222112121112111212111111112111111211211222212212211212222221212122112122111221111111211112212221122221212122212212112211112121122221212222212112212212221112221222221112112222211211111122112211221221111221112222222212222121212112221122222122121212112222212112111112122112121111222212212122221211212221121112111211212112222122221221112221221122212221112222112112111121222212211211221211112121122222212211221211111122222121212221212221211211122111221121122212211122122122121211122121112212112111122211121211221111222211222111112221221211221211122112121211111112121121221222112122121221212222112222111211222211121221112211222211221211111211221212112211212112122111222212121111121121212212121111222112212112111221112211121211112111111222212221112211122122211222122112122112221222222221122211212222121121112112122111211121222212212212211211121212212122221221211121212112222122122211212221121112221222122221111112122211212221112211211112221211221111121211121111112121121111121121211212122212121111212211111121212211211112112212211111111222212222222112211111212121221122122121121211121221211221112212222122112111212121112212211212212111111212221121222112122221122211121121222111121221212112222111212212121211211212212222211222211112221121122111221222111122222211122221111221212221212122222212211121112221121112211111121122221121122212112112211222112222211112112112221221221211222111221221211222122121212121212212112212111211211122212221122211121212211111211212221121222212221112212122121211221121212112222121112212222211211112222221222212221212212211121212122111121122222122221212221221211212122111112222221112122111211221221122121212121221211111112112221212112222111112211122112211112121221211222221122121211222112122111212121121222111221112111212121122221121121122222211222221111122121212212222212111211121222112221122211211222221211212222222111111111121122211221221211222221111121211112221222111211112211112112222111222211112212121121122112221212112112111222122112111112211112211122211211221112221221222222222111211111111112222122111212222221212222112121222112212112221121212111112111212211122212211112111121211222111122221121121111112212221122211121211212111122112112212222222211121112222121221222112121221222112112111112112121212212212122222121121112112121211111122112122212121222112122221111111212122111112112211211122212112121222211122111221211121212112111211111122122212222112212121222112211221112112222112122212112212122212211222111111112212212111111111222122221121112222112111211122122222121112111211121112222122111122121211221111222221221112111221122112111212111121121122121221212211121112121211121221111111112212221111111121121112111221122121222112121111121222222121222211111211112121211122121112111111221111222211211111111111222111111122221222222212121211221221212212211111112211121122122212112121212211111122221121222212212122222112121221112111112112221212211112112121222121222211212112211212212222112121111211122122112121112221111211211212121121111111212112222221112212211212121111111112112222121112121121111111111111212211112221112111111122111111222221111211221121122112121111122221211121122111212211122122122222112212212211112222121122112212111212212212221212212211211221212211221222121122111121122212222111121221221211121111121112121122112222222112121122221122221112221112211112211122211212212111222122221212121221211222221111222121121122121112111221211112211112212212121121121112211211121222222221122222111212112222121111222222212212212122211121211121111211211122211112212111211212211212121111222122212112221121121221111212122221222111212111222111112221212211112112212222122221112212212112212111121211212112121112121222112111221111122221122111112121222211121112121121111122122222121212112111222111112111221121222122121122222211211212222112112111222212121221112222221221121122222211212222222121122112212212112212222212222212222211121221112121122211221122122112122122112111221112121121212122121211111112212111222221112111122222121212112111222111111111221222111211111121121112112122111221122221212211111122212122212112111112221221121212212221112111121211222111122122122111121111111222212121121212211111112122111211212221112211211111212211121111211211121221211222111122221112211112112221111122121121122211111111121122221112122221222112221121121212111111121111111212212221111121221121122112212222212221111222122112112221221111111121211222222212112112111111221211112222212111111121222211111212121211212222212211121122111211121112112221112112122122111222221221121212211122112112112222212111222221221221111221212212121211221112111222221222122111222222112211211212112211122212212121111112112121121211211122121221121211212112222111211211122111222122122122111122122121222211122212221211212211121111211121221111122122112111222222111211122211122222112112222222121221222111211221112112112221222212222122111122122111222212122122122211111112222221121121111122221212112122121122211221221221112121211122122111111221222121111122121221222212222111111121221211111212111112212121222122122111212221112222221211112211121111122122222211122211211112221222221211112211122221122122221111121111112121111112111212211212211222112222121211222112211122121121122121212121121111112112121222111212112212121212212221111111212221221221221221212211222112221212222222122121221212221122121112111211122221211121211122211121122211221111111122111222222122211112221121112111222122111212122122122221112121212121212122211111111122221211212112221122212222121221222211212112121211212112122212112122212121112111211221221221221111121221211221121122111121212222221122221211221222111112111112221111121212111111121212122111212211111221222121122121212221211121211211221221122122112211221121222222122221111112112111212122111211111111112222111112122222221212222212211112221121222111121121221112122212111211212112221112211122212122122121112121122222221112121212212122212122211112212212112222222121112111121112222111111211111122122122111111121121121111122112221122221211111122221112221122212212111222212121121211221121211111222112112212211221221122211211121212211221121111222211212111121212112112211111111222112111212112121222121221112222111222211221211212122222122221212112221222112221122211222122122211112221111212122222111222111221111112212112121212221122211121222112122222222222221111122121111121222212111122111212212122112212221221221211222121221111222112222211211121222122122111122121211221222211121112222112122122221122111222212211112212221211112111121122121212122212211211211212221121211211212211222122111221212212211221211211122212212211122121121111112222222221121121121222121212212211122112121111221111122212221222111121112112222111121212222111221122212211112211212212111122111121122212111212211211211122121211121221122211111112212222121111211211211111221111111212122111111122122211111111112221221122122121112112221112122121212121111221221112222111212111211212222122211112111222211121222211121211111122221122212111221211112112211111112221222121222111221112122221221112112112222211112222211211122122212211212121212121121222112221121212211111111212221221112221112111122212121112122112111121122122212111121212111112121121211111221211211211221112111212221121122211212211111122212221211221222222212112112122121111222212222212121221111212111221121212222212222212122221211121221112112112221211112221111122221221221121111111212221111121111122212221221212111121122212112112222121212211221211111212121212221212212111121211222212121111112112222221221222122222212111111212122212112222211112211211222221221111212211222111211112122211121122111112221121211121112212222221122221112122211111211211111121211212111222121221112212212212121212211112122211222222112221122122222121111121221212212211122211122222112222111211121212211221122122121121112121212222111212112111111111222221222222121222222222221212211111211211112222111111122112211111222121221122122212111222221121221222222222111222122112221121112222221222112112112222212221212121112122211212221111122211111212211122111111221112122222221212112222121112112211111112221111221111121111122221212221221211122211221112221121221221121221222122221211121111122122112211212122211212211221111212112212222121112222221111211121112111211212211121111212112121212111212111121121211112111212221112222221111122111122112221212122111111221212212221111222211211111212122111222122222212221111221212221221222111222122112221121111121221122221112112111112221221212221211121221122212121221222221112221221222122222112112112121212221121111221122212111121112111111122111122111211122122112111222211212112121111122112111112112211221221212222112111122222221212222222221111221122122221212212222111112212221111121111121121121222212211212222221212121121211212121111221121221212221111112212221212112212121112111222122221212212222221111211122222222212112122212222222211122121122122212221221112222122111112221211112122221122111122122212221121212111122212112211221211111211122122122111222222221211221121112111222211211112121221112112211122221111121222221222111111221111121122221111112122112212111121111121121222112111221221112121111221211212121212222222212112112122122121211112221211112122121211222212211111211112112221221121112212212212221211221112111212112122111121211222122222212121221212222111212212112212121212212121212221111122221222211211111222111221211121221221212222121121111121121211212122122121211212211222121222112111222221211211121211121221221221112222221121222121212222111112112122112221122121122221111221221211111112122121211221122121211112211121121211222121212122111122111111222111211222122121122212112112112112121111122112211221211211222121221112111211211111122212212112212112221121221211111112222212122121121221112112212212121212221212121211222222212121122211111212122112212121222211112111211111112211221212122222221112222121112112212111122222221222211121112122121122211211122121222222122212211122221122121212222222112211112211121221121221222222212112211212212122122122111121221121112111221211212222211212112111112111111222112111211112121111212111222122122221122212222222112112121221211221112212111212121121221221211222221111222122211112211221112112221122221222121111111111121122221212111221122112122111112122121121111222122221221212122122222112112121121111221111221122122111112222221112211222122112111121121211121111212121112222222122221111211122121212221111121112122222112221221121221212111122122111112211221122121212111221211212111122122111221121212112212111121211122122211112222121111121122212212222121112211111122112112221121121121221121121212122222111111211211222112222122212121222111222211122222122222211112212122121221112111222221111211112122112121111211222221111122121222121211111122211111211212212222112222221222112112211122221212112121112122122211112212122221111121221221212122222112112121121221222122121121121112222111121212221211111212121212112111212211221221212121212221122211211221212121121222111111112121221121112211221222222111211111111121122112211211122121222222222111121121111122121222212122212212221111121211112221211111222121212212221222122121211222221121222211122212122221211211121211212222222221122111211221221221122122211212211122211211122221211121111112211221222121112221122211121211111221112122221212121222121122222121121222221111122221111112112212122211222122221221212112222111112221221111122211121212211222111222221212212222212112121222112111212112211111212212112211112122122122122112211222121122211221121222122111112211121112221111122212211222112211212112222122122122111111112212122222111221211211211111121222211121122121222111222211112221121221221111122112211211112221122222212221222122112111121212222122111212111122212212112112222121222212212122111121211212122221212112211222122222122111112112212111112212112122111212211212111111122222111222111112222211221212112212222112111122122211121122212221222122221112121112212221221112222122111212111121222221121121211222122222122111122221221111212222211111121111222221122222122211212112111111112221122221211211112121222221121122211112222122112211212221222112121121212121211212112121112112211121221121122112211211112212212111122211121122211121122221221221221211222122212211221111212212222121212212211222112212112111211121111121121212111112122112112222122122111111211222112122112122112111222212111122121122211222222111112121111111221222121222221121221212212221211211222111211111122212211222122222211122122112222222121122122112122112112111211111211122212212212121112111221112222121122122111111212212222122222221211122221121211221212112112122212111122112111211221212112212122222122222212121122112222222122222111212111212122122112211112122221212111122112112221111221222222221122111212111221121212222112211222122121222211112212121122212112121111112122112112222111211121221222121221212211221212221112212111212122222121122221112222121111122121221221112122221211121111221221112122222221111211222221122211221121121222122222121212221122211112121211221122121121111211111221211122211122121212211112212212121222222112212121112212212222112111122121212212212121221112212211122211122222121121111111211211121221221111212112211211121121121222112222222221112222111212121221111211212222111222122112122111211212122221122122111112221122222222221121121212211212211122111111221211212122221211222212211211211222222121112221211222122121221112221121112212212222122211112111211112122111111122211112121111222121121211122121122112211122121121222122221122221212122112111221112221111122221122111222111222212121122122121211221121221221111122122111222112122212121122122212212121221211211211111212212111212122222111121121121222121122111221211212212221222122112111222222211222111211111112221212221122122212212111212112211112221222212221112112221221112221121112212212222122121211112112222111212222122212122212222112121111111222122222211221221212211122121212212112222112222112212121222112121222111211111112121222212111221221222122211211111212112221221121122111111111112211222111111221211122211211122212121211121121211121211111222111112211112221121112122122222111222111121221111221212111122121222122112221112221221221212121111222122212111222112121222111211122111212221121112122221121222221212212221122211111112111211122212221112222122222221211111122121222122222222221222111211222221221112121112221212222111211212111222222122112111121112111122222212112111211211122111212112111211111121212211222121211122112122221111211122122111222221221212112212111212112112112221212221111211111112222112211122112211112122121212221221212111222122211222112122112121212212211122222121212111212112221121112212122112122222211122221121222122112112222112222112212222112221111221222211211221121111211211221222212122121222211221111122212221211111122121121111222122222122211112221211221212111112122221212222112222111221112222121112111212211121212111211221212122112221122221212221112112111212212222212111122211112122211121112122222212122222112122221111121212222211112212211111122122122112111212112212222122112212212211122111112122121122111122222112112222121221212222111212121221212122222221121212112211222121222221112112111211112111222222221112111211212212221221211211211222212112122112111111212121221122122221222111112112212111211121212112121222212112212121111111121111111222122222112221111121121121121122111222211122222212112121112221122121222112111112112222222211222221222112211221121222121122221112221122221211211212112211121212122211112211212221111212211122121221221111212122112111222211212122122212121112211222122112122112121122121121122211112221211212221222122212112122112212212121121212112121122111122112212121221122122111222211212222222212111211111212212221121122211221122222121122111222121112212212211111212112221112122211122122212111222211222112212122122221122212122212211121211222221112121122122121122121112212122222221222212222212222222212211221221212222111221121221111212212222112221122221211222222212112122112212211222212221212122122112111112111112121112222122112212122112212122121111122211221121121112221221111221211122212211112121122221111112222112222221112122212212111221111121112112221111211122111122121222122221212211212111212222222121212212222121211211122221112212112122211221121121111212211111122112121111112112222221221211221221121122211121121212211212211211112111121212112211111222121112221221211212122212111122222222211112222211221112211212222121221122221111122211211122211121212122212221211122211211211122222121212112211112211111221211122121122122112211121212222112121122212212121211222111221111112221121121112111111122221122111212121212222212221211212121111211222122211212221221221212122211112212212221222121222222111111222222212211121211222122111122222211221221212222211222221212212222211222111221222122221112112211111211111111221222221212221212212121211112122111221222122122111121121211112212221212221222121121111122221211212121122221112112111221122212122211112121211112121122122222111222122211111222122122112212212212211121122211121111121112112111111122121222122212122112221221122222122112221222112112122212221221221212111211112112222221222221122121122121111222211112121112111211122221112221221112122212211122122112211112211221212122111122212221211111212122211221121111211111111111221212211211111111121122112222221221121122112122121221221112212111112222211111222212121222221211211222112211212212222121122221211212112111122222112121111122222211212222211121122212111112122222111111121211221112122212212211122112111112111221211112111222211211122221211221112212112112221122122112121122221211221222211212212211212111122222222121111222111121111121122111222222121211111121112111112222122112122222122112111211121222121111221211221221212221221111221111112221121212122112111122121222122122222222111111221112122111111212121121221121112222122122221112112121111211221221221211121122121112221222112112221212121122122121211211112121121212211221122212111222111121222112211221212212212212212121222121221121212111111112222121121112121112222221222212122121222211112121112222112122122222222121222222221111212121122111121212221211221111122121121121212111221211121211121211212111122111211112111211122211122212222221221122222122111212121121212122222121121211122211122111112112122221222122221111222121111111121121212121112221122111121122212212212122122111212111211221111111212211111112111122112111221222222221221122111111112121112211211122212122111112211112222212222221112111121121111111221112222222121222112212111122121111222112121111211212122112122122111122122111122122111212111122212122211222122221222111111111122111221112122221212111112122212221112222211112112121121122111221221121111211122211112122222112121222212222122212112122221221112112211111222221122112122211212111112121211122111112212222122111212111221121222211222122112122221121211112111212121122121211111111211122112221211212212122112111222212112221111121222212111111212211212121112211111221211222211111121111221211122212212222122222121112222111212112212111211221122112121222221221111122212122211222212222211112121121121122211111112222112121221122121111222122112112212111212222222112121221111112211212222121111211222122112211222122222122212221222212122212222212211121121112211212222112121221112212112221112212221121111212222112112121111211221112222211222222121221211222112122222211212222111212121122112221122112212111212212111112111111222111111121221221211221212122121221112212222222211211111112112121222121212122212111111221212211112222212212112122112111221212212212211122121211122221211211122212121121221111112221112121222122211121112222122111211211122112222222121121112221111221122212221121122211211222222122212112111121112221121221111112212122122222211112211121221221221121122112111212222112222221122221222121122212222211122222222111212212122222222211112212121121221212221122121222122111222211121222221121222221121121112222222221122211121122112222222121222122112212222222212111211222112221212121122222222112121112221121122112121121122122222111211221121222121121212221222121211112121211222111221121111222221121112121112112121112221222211221111211222111122112212112111111122221211121221111211121221122112111222112222211212112121111112112112211111222112122122211112211221212122111111122111122121222122222212121212112221112222121112111111211212212121111221212121121122222222212212221211211121211211221111222111112221122221211121212111111212112222112112122112111111112212122221211221222222122221112211121212122122122111222112122111222112111112222121122111111111111121212121112112221222221221222222112212111121112211211222112222221111122221212111112111112222222211121121112121221221221211122212222221112221121211222122211212221121212111222212221121212112121111112111212111122112221212221211121212121111122212111111211212211221211212121221121221222221222222122221222222111122212222211222121112112112122221122112121121111222111211222212222211211112221222222211221222211111112112121212112121211111122222212112111222122112221111211121122211222112211121111122211212211112221121212112222121111222212221221111212112111112111121122212221112222222111222111222112121221121212111121121212121111222222211211122212222222212222122211111112112111221111121222222211222221111112122212212112111112221212222221222222121122211122221211211222111111111111212221112122122222122122122121122211111212212211112212212222122221221211211212211221211122112122222111211211221111121121212222122221222122211121221112211122222112212222221111112221121112121111111211111122221112121111111212211121221111112222112212111221121211121112121112122111121212112211121111222122121112221111211112122211211211111212122221122122221212211211111221122222221111211122112211111221112112211221121222212212122112121221111112212122212212222121212222212122211112121121211211122222122221211121221112211211212212112221222222211221212111211212211112111112222221122212211221121122212112222112122221121112222112212211212121221112122122221221122222221211221222211222211221222121111112211211122221212112222112221121121121212112221211211222212222211222122211222122121121111212211122111111111121222121212212112211222122222212111211121222121112212111212112122222222122221121121121212122221222211212112221122221211212212211121111121221221211222212112221122211112122111211222221121111122112211221222211221121121222222112211112111222222221121221121222212211221122222212212211222122212222222221112212221211112112221221122221222211222211111221112111122222222222222121121212212122111212122212221121121221212211112122221122121112222211121221221212212112112212111121212121121111121111122222221221222122212221121121212112111111221222122211222111111111121212111112211222221112122211112122122211212221211222122211211222211122222111222112212221222112121221122211211111111211122121221221122111222222211222212211221121212212122221121112221221222112121121212222221221112222112212111212112211221112212221121222122112111222222121121122212221222212222222212122111222211122212121112221221111212222211112211112122212121221121211212122122221111121222122122211122122212211221121121112111211121211111222212122122212112211212211221122111221122121222212211221112221112222222121112121111121222211222112221212112111222112221111211122222112211112121222121112221212112121121221221212222111211122211122221112111121222121122222221112221122212212221221222121211222121221212112122211222121221211212121221212121111212111222211211111222222211221122111121112111112212221121111211122122212212121212111211222221122212111221212221112212122211121122122222211211212222212222212211221221211122111211222122221221121211112121122211122221212211222222211211112111122222212112122211212121211121111221122212212221221121112121122112111121111122212121221211221221121221121211222121211222222212222112122211221211212122222211222122121112121211122111121112111112121122121211111222122211111221121121121111112122221221122211121122212211211211121121221211121121112222222212221211221111221112121121222112112212112121212112211212212222121112212122111211111212122121211212212212222111121222122222121211111112211221112212221222211122122111212111211111211221211221112122212121212122122121222221111111222121221112212112122212212111112121221121211111222111111121222112112221212211122212111211222211121222122222122111111121212111222222122112222111212211211212111111221112121121122211111121112211221221112112121122221122112222122212212112222122211122221221111122122111122122222211112211222122111211122222111111211221212112212122212111212222121222212222221122111221222111211221121222111211222112222121121111121122221112222212222112221111212212222112212122122121222111212122212112122222212121121211222211222211111221222211211221211221111212221122122211111221211221222122221222112222221122212121112112121222121212111212221122111122221111221222111112112112112221122112222221112222222111121222211211111112111222122221221212221121211121111221211211121121121122122212212121112112221221212212121121221212112212121221111112122111211122211222211122122212122222112111112222111221211211122121122121122211111112222122111111112111221122222221122222112121121222211212221112112121111111122121221122211122222121221111122111211121222212221121112211122212211121212212211121122112211122222212222211222222122111112222112111221222122111112112111112122221221221111122211112212122111222121221222111211121211111111211221112211221222111112111111212122212122122122222122212111111211222212222212211221212212111122121111212121112212212221212122111111122112121221121211222121111222221122211211212111212222112122221112221121112221111111211122111122122122111211221121221222221122222111112211221111121221122211122122111222121221111111122211112112221111122211222122111221111112111212122112221121122112111112211212211121112111121221112211121121111122211122121121221111212211122211112212211121121111122211221112112111221212122212121221121112222211111111221121111221121122112222121211122222211121212122212211211121211112122121221122122222122122222121112221211121222112112221211211122212222122121122211211122112112211221212121212122112211221111211111221112221121111121111112222122212212211221112111221112121211211222222111112111111112121221111111112112212222222222221212122111221122212212222221112212121212112111122112112212122111111112212112121221121221121112221212211212212212112222221211211222222222122221211222222212122112112122122112212211121122212222211121222211112222212211212122222211112212222122112121211212212222111111111221212112211112211212211211121112211111211221222112112111222212222221221221212111222111222222221111211122122212222112212222211121222111212212111221112121221112122222222212122122222111111221112111212212122222122212111212222222121222121222212112122112222221212112221111221211121122211212121111122211112212211212212112212112122122122111211112221211212221122222112122212111222211212112122222211111112111211211111221222111121222221212212122111222211122221122212221221121121121211211121211212111111121222222221122111222121121121112111111121122121212122221222111211122112112211112122122121222122222212121121212122112112121121222111211121112111212121122221111211221211112121211222121111221212211221211222122221222112112121112112222212121112121212212221122211211112221222121122211112121122212111211212112212212222211111121112111121121122211111221212111121212211122112111122221121211122112112211212212122212222122121222212121121112222212211211121221222221121111111221211211211121111212221222211211221211122112122111111122212122221221122221111111212222122211122212212122111222222211112222112122212212222121212112222221211111111112122111112112122222122222222211121112221221212112122122221221122221111112122211121211111121112212212222211112121222222212221122111212112212112212222112122112221221112122221211112221221221111222221212222112212211212112111212112111212221111221122221122111122111211211212121212112122121222221221122111212112122211121112112122211211111222221222222212221121112211111211211112112222121122111222221211221222211112121211211111111121121121121111121211222121211221222222112221111111122211212212122211211122221221121111211221221122112221222211111112221222211121111122121121211111111121111111111112121212222211121122211212122112212211122111122121222222122121211211111112222221221112212212122122222111122222222112111111222222112121211111211221211112112221222122221211222111221211122121211122221112111211222121122111122111112221211121111212221211121212111221111121121112121122221111221112221112221111211122112121112111111111222212111111122111122112212212121211211111222222211212212121222122112121112211221222122121221212212222111211222122222212212122212222211122212211122111221212112221212222112211122211222211111222221211121121212121121121121121212212111112112121111211211112112111221111111112111122212221211222111111121121112111121121111121121122221112112122111211111122112111112212211111222222121211121112111112211221211121222111212111221121211221221111112221121212121112211212211222111112121211112122112112121122122111122112211212121121221112222212212221122111122211211221122212112112221211122221212111121211112222222222121112212121221221222111112121112122211212222122212121121211121121112212222222221121211222211212122221111121112222211122222111121222111111212212111122221121121111111111112222111221211221222222211122111212122112111211122212222221111112222121111121221112122222221121212211222121222212211112212111211221121221111122122211121222222122212122122212112112211221211221111212211211221212121111221222222122222221222122111121222111221111112122212122212112121121211222212211212222121222212211211121211122222221121121211121112121121111212111221112111211112122221121211211122112212112112222212212222221212212222112212222222121221121112121112222112121112111122112221111111221112211111111221211121111221222112111121122122211111122222211122221121212222222211222121211221111121211211211222111121112111211212112221121212122112211222222111221221222211122122222112122112212111212122111222222212222111112112221122121211211111211121111211112211211222212121221122111122112112211222221111112122121111221121212111221221212222112111212122222221212212112212211121212112112112111211112221111122111222122211121111222112212111221211121212121211112111122111222222211222112122221222122122212121122122121212212221221221112111211222111221211222112211112221122221222112211211211221221212122211112211222121212112221222122121121122112221122111221222221121121111112212212112111211211112211122122112212222112121221221122222212222111122111112111221121212111211112212221122221211112212122221122222222221212112121111222121221221112222211212211221211122121111111211221211121222121222211112112221221111111211121112121111112221111221122222122221222111211212211211212121222111212111212222121222211122212111111111122221222221121122122121222222222112211212122211212222112211121211122221121111211112222122111111221211112111222121212212222211222111111221122121212222121222221112221112111212211112121112112211212122222221111222222122211221222112121211211111222122211221222221212222122212211212122121111121112221112212111122212211111121211122121112122121222111211212111212121221212212121121112122222212221122121111112122121221222122222121211211112112211211112222221221111222112111211222121212212212121212121121112111112122221111122222122211122222121211112112122211122121222221112111212122112222112122122212211221122211222112211212122211212221112122112211212111221212221222212212112112112211121111122222122112211122122122121212222212121211212111121211121112112111211221221122221122212112221222122211222112121211212221221121212111112222121112212211221211112111212112112121221211111221212111121122111221121121111221221111211111111212122211212212222212111121221222111122211121222121222121111111112111211112111221212212221121211211221222222212221212121212121112121211212212121112211222111221121222211112221222112121121122122112122111111221221211121122121112221211211122112121222211212212221222112112212111211211121222111111112222122221112211212212111122211211221121112222112221111121112111211112222212121211111222222121121222122121121211211211122222122122122122111111111212112222212212211112121212211221222112211112112112221111111122122112121112222111121122222112111121222122222121221121122222122221222111111221111122222121221221221111122212122211111212122112222121122222122111212111112112222112211221221121121122112112212221112111222112122122221112122111211211212212111211122122122222222121122121211211111211121112112112121121212211211221221212122211211211122112111112222112212211212112122221112111112211122111221122212122212122211122112111221121221222212211212122111221221222221111221211122121212112112222122112211112121122122121211221121121121221121222122212222211221212122111111212111112112221222111121111112212221212211212212111112221121222112211122111112221212111221111222122112111111121111211221221212222222122222212122222212121221122211121112121122122112222222212211212222221212111112111212222121212111112221211211211211211211122211211122221112221112121221211111221211111221221221111222222222222222111212212111222212121121211122121211111212222211112111121212112212222121212121222222212111121211112212122221112111121121121111221222211221122221121112222112211111122212222222222221211111211112222112122112212211212122111211222222211221211112111122211212211212221112212121211212111121222212112121212221111211112122122111222111122222112122211121111212112221122222222221211211112222212121211122121122211221121222222211212211212221212122121121112212212211212222212111122221221122222211222112211212222221111121211121222221111221122122221112112221212112221222222112112221121121112112222122212121222222121111212122121211112112221221211222211111211111112111222211112212211121222212121121221121222111211111221112221212111111121122121212112111211121211211121122121221121121112221221221122221221221212122121211121211221122122222222222212212212212212122112211122221111222222221112112221121112111211122112212212112111211222222121222211212222211212212122222211122211211222212222121221111222221221112121112112212122111211112222211222222111211111212221122222222211221222121222122211211112212122212121122222121222222222122122211121212222112222111222221212112122112122111212122121221211122222212112122211222221222121111221222211111111211211221122121221221221121221211111222221212221211221211122211212111122222112121221122211221211211221121211111121221212121222221221121111121122222211122221221222111212121222122211221122112122111212121122122121212212211122212211121211121222112221222122221121122112111112112111121211212121211111122222111221112111112111121222111212222112122111121112111211212111112122221111121121221212122122211211221212221222222222212222212212112121222211121121211112222111211212121112122212222222112212212121222111212121122222211121112121221121212222222212121121112222111111121122211112211212212221112211112222111212111121112211122111221111122112212221222212122112212212122112211212111211221211222221221212211122212112222221122212121222112112222111121122212222222111112122121211212121212122111212212212212211112221122112221111212212112112121211211122112211211122122112212121212222111212211122111121112221111221121112222211221212222221211112122111211111111111212221212122122221222111212121221121111212112122112222122111122121121211222121222112122222121112112121212122121212221111221112221221212122222112122122122121112211122212221112112111221121211111222112121111221111212121222121121222111111212212121111122212212121212111211122122122111211211221221112111212112211122222122122211211221222121211211222211211122222212211111112121221121222121121121112121212222222121211112212111112112122221221122112212212211122221121221211121122222211111121121221222212121212221211222111111221122121122212211112221211122212222112212112222112121212122121221211211111211122121112212111112212222222221212121122121222221111211121121221122122121111122122221211121221212211212212121212211221212211222222211212112121122121111211121112221111212111111121221211212222121121222122211121122222212122111222122211211212221221212222222211111112212112211121112112112222122221121211112122221221111111112112121111211122111221221211122111122112212222221211122221112121122221121111121122212221222122222122211222221121112122122221121212112211221121221112211212112112222211212112212222111122122112221211112121222122121121121212121212111111212221111122111121112122222212111111122221212211121111221111211111212121121111211112212122122221221122221211221122122211112122112222211112221211121211221112111121212121212121212211222221221211122222122112122111122221222111121121222212221111221111211112111111211222112121121221121221211211112121221212221211222222222112112221112221111211211211121112122122222221221222212122112112211122112221112221111221222222212211122221112221212122122112121122221122111222211221212221121121222111211222211111121122112122222212211211112222122111121222221112121222112122111221112122212122212222221212121122112112122222112121211122211221111212122222221221222122222121122222112121212122222122112121121112121211122221112222112211112112121122212121112212112122112211111112222221221112221122111211222112212211221222121112112211222112222211222122121211112222211121211212212211122112121121221211221121111212211222221112111211211222222211112221121122112111122112212112121111212211222222221111112121122122121111112122221121112222211211111112112222111111222111211221211121222112221212222112222222122111122111212211111122111121121121111121212112211121121222111121222222211222212212212122211212222212222221222122211121222112211121221212121122111222122122122222122222121222121112122212211222221121112211212122221212111221222212221121212122122112211121212221111222111222212111121221112121122222221112221222211112112111211122211121211211222112112111111211221112221221221112121211212122122211122221212221211221121112221211122221221111211122221221222212121222222112212111221221122212212121121121112211212122122222112212122221122121212211121122121122222111222121222122111211222122112212222212111212111212111112111121212222122211111221111211111112112121121222121112212122121112211122221112112111212112211211122222121112222112121111211221111211221211211122122122222212122222122222111211111122112221212211221221112111112121211111111121122221221221121112111211222121212222111112121211211121111121221221221122212222121211212121221211212221221111222221111122122222121221112111221122222112121112222121212212221122212222121212222112211122211222221121121222112222121111211221122222222121112221121121121112222112111112212122222121211111112112111111121112222212211122222121221212121222121111222211121212112112121111222122222122112121111222212112222212222222212211121121212222221111221121221111122121122212111121222222212221222212211222211222122121221222122222112212121212212111212221111111111121222111211121221211212122122221212221211212122111111211112211122121211112112222112112221122211111211121211122112212221122122222222122112221121211122212221221221122221122122111111212222221121121221122221111212121122111111112111112122221212211212122121121111111121211222221211212211122121122211221211111121212221112212112212211111222211122122122111211112212212221222212222222121112211112211222121221221212222211111112221211212212211121212221212122122112211122222211112221121112112222221122221221121221122222212212221212221222121112222211121221121222211222111221211212211221122111121222121221212221221222121211112211122211211211121222111112121121211222211211211222111121212111221211112122111122221212111212122221112212211121122111222211111111111222121111222111122112121211212122122221222221212121222121222212211211111112211121112222211122222221211121111221122112112112222121212222222221112212221122122211211222121111121221121111112122121122112111222122122122122221211121121121112212222112111222211122111221212112112222222112211121222112221111112211211221122222122112221111211121111212112112121211122111112122111112111222221112112112112121221112112221222212122211222222111211211121112111221112112121122111212121122221222221221112221111112111121211211112122121222211211211222122222211122121221111212211222221111212112222211221122221222122221212221211111221121112221122122112111221111112222121222221112212211121121121212221122211211112222222212121112122122122111112122212122212212221122221211221122222122111112222221222111222221112221211111211111222112121221112112111111111121222221122222222122221211211212211221211221122212222222222122122222122111211112121212222211211122221221221222121121121112222111221211221212121112221111122111111121211221122222121112222111122122122121212222221122112112222221111112122121122222222222222122111121121222212121111122212122211212212221212122222122112221111222212122111222122121121221221211112222212221112222221212112211112221211222112111212111111211221222112221121111112211122112111121111211222222212221122212122222221222211122112111211121112122122122222212211111122111212122212122121111222211111212222222212211121212222111221221221122111112111212122211122221122211221112222222222221112112222112212212211221111222122221122111122121222112121121121212211112212122222222121221112212121112211121121121211122222222112122121211212211222221222212121112211111221122121211121111121211111221111211221222112211111221222111121112212221221111111121212222221211122121121112112211221211222211122122222111221221211211111121112121111122122112212211221211112112211222211112112211211212122112211112111122112112212122212211112222122121211112111222112212111121221121112211221112221212212221122222121211121111211222122211122122111211211212222222121222222112111221111122211211121122221111111222212212121221112121122122212212111112221112112111122212122222212221122221221212112122122121211122212121212122212221121112122212221112112111221222112121111111222222121111222112121221112211211212122221112112222111221222221212111112112222222221221212212121122111121212121221122122212111112212122112221222221221212121221221111121112111122121222221122122212121221112222221111111222212211122222112112122122121212112121222211212121121122122111122111222221112212222112211111221121212221111111222111111222122211211212211121122222221122222121111111122221222221112211112121112121121112112112212111221222221111111222212111111211212121212111211221222212211121211222212111122212121222222222111222211111221111212112211212112212212212121112111112111222221222211211111221211121212112221211221221112222112111221211122221212121212222111212121121212212211121112112121121211111221222111222222111122111121222221221211121112212122121221222221221212222112222122122112111112222112211121212112212221121211122221112222221222122112111121122211221211112212121112111212221212112111112212221222221221112122221121221221111211111111212121211122111122122111212211122222121211212121212121122111112222221221212112211211111222112121112122121211212121112211212122112222211122212211121111121121121222112112121221122111222222122111211112111122222211112121122111222211121122211122221222212111112211222212111212122212112122112112221122221112211222121221221112211211112121211222122112122112111222222111222122221121122212211121111121111122212211111222211121211212221111222221222112121211121121122212222211121221122111111111121211221112221222122112221222112112121111211121212121111211111212121111121112111111211122212122121212212122112222111112211221121122212121122221111212112211121112212222211211112221211121212122212212211122211112212221111222221221212122112212111222222121212122121111222121121221211122121111112111212122122211112121212112212111111212212121211111222212121212112221212112222212222122211112112222121212221211212112222122111121221111111212112221222211222112222212212122211112111122221222121121212122111221212112121212222212211212221112212112221121222221122112221211122121111112112212122212121222111212222221211221221111221122112111111211121121122221122111211121122212221212112122121212212111122221211122212212211212222122221122222221112111122222122112222212122211112111212111111222112122122121122111212112121222221211122211222222122212211111112121112211222121122111121211212221121221221122112222222111222112121222121211212121221121121211111112211222111111212111112221111212212112111111111212112222112122222211222222111122121111211212111222121211111122222221221212121212121211212112122221111111222111221211211212112222222212121121222111211112211222121121122221121212222121222122121212211122111121221222212112121212122212122211222212111222212221121112111212212222112212111212211221211211112211122122222211121121221211222112121121211122222212221211211121111221212212122222211111221112211211221221211111222111112222222212122221212112222121112222122122122212221222111112212121122122112211112112111111111221212211121122112121112222212222121211122212212122222221121211222121112112221212222212112221112221111221221121112221111212112111122212211211122111121222122221111222212211221111122212222221211212221121221222122111212212221122121222121211122121121111212221212122221221111212122112211122122211122111121222121212211121212222111112222121211112121211222121222112212122112111211212112122112122211221211221222122112221212111121222222222221121111221211221222112212122122112111221111221111221212212112112211121212111212111122111111121211222122221121122111212222222221211121212212212211122111111222212112121122112121221221222221111112112221211221222122121111222221122211222112121222221221212212111121221212122211122111221121221211222222221222122212112222222212211212211212122111121211212111211211121112212122111212211122211122122211112221122121211222221121211222221112111122112111222211211211112122222222121122211212112222121111121222212112212111212222111221212122212122222111212221121111221222111111111121121111112212222112111122121212211112211122211221112212221122112221211222121222222211221111112121112221111211211122222111121211212121121211212111122112112112112122221121211222212212112122211222112121112122122112211121121222112221221111222122221122122221111111111111111212211122111112211111212211221121112112111212111111221112121212211111212111211221111211111111111221221222121211122222122212211112111121122222222211111121112211212122222111211122221212112222112212111222121121122211111222111112112112121112222111222222211212111212111121222221111212211121221211122122121112212122111222112111122222221121221112211122221212221121111212222211112221121122122122222221121121221212221211222111221222212212122112122211112212211222212121111122221121122111111222112222221212212222212111112211112122112112221221111221111221211122221222222112111112221221221221212221111122221212112121122111122112221121112212112222121121122222222212122111211111121221222211221221111211211121221122211212122121111122112121121122211211112122221122222222111122122211221212211112112122112211121211112112211222211122222111122121212211121112112211222212212211121222112111212121122112222212112211222112222121222211222112212111211121111121111212111222212111122212211122111212221121121212111212211122121122122111122221221112222122211211222211211222212121121212121122221122111111211212212211212112121111221222221212111122122222221112112111111221221212111212111112111121112112211211211222112211121221211212112211111111122111221222122221122122122112111122212212112222111112111122212112122221211121121211112222122222111122122112211112211212221211222222221121111222212121111211211111111212211212121211221111111221222211212112122112221211212212221111111122222111121211212122212212111222122222122212112112221222122121111111211122122212121121211212211212212111122222121212221222122212111222112121111221121211221112121122112221212222121121122122122111222121112211222222122122121221112212111121112121211122212111222212122122121111221222122122112221121221222212211211122221222122112112111111111211221122122111212112122221221222111222112222121111222121111121122222112111221112211212211211111222222111111221121221222222212212112212212221212222122212122121212221121211122122211221221221212121222221221222122111121121221211111122212111211221111211212222211211211121112212211211122212121221112221212222212111212222211222212211222112212122121121222212221112122221111112211211112222121121211111122121211221212121221212211121122211112121111221111111221211211212111221122211211221211221112122122111122221112222121112211121221111222221111121212221212221122121111212221122211221122122212112122222121212112212221112112122212212122211222112212111212122122112212212122121121122211212211122111212211211212222222121222221212122222111112211211212111212111112111112211212112221111222221122112212121211211122122212222211211211211122111221221112222112222222221221121211211111121121122121112211221211111221122111121121121212211112112121111211212112122221121121211111212112211211222222222112211111112222121222221121122221112211211211111111221222211222122121111222112211221112211211212121111122221212221122212111122112112221212211211211121211221212111112122211111111212111112212212122122222121112122222112222122212221212112111122211222221111112121122222211111121221222112211222112122222112211111212121211221221222111122211222122122211121122121212121222222221121122222111122122211212121122221211222212122221121211221212121211222221211212111111222121221212211212111221122222112121111222112221112212211122211211221121211121122122122222111212112211222211121112112111122211222122222122112122122111122112212212212112122222112212122222222111212112121211211111121221112212222211121122111122222212121222111211121121222121211211121212211111212221212122122112212111111221211122221112222212111222212222111111111111112211222122211221121121111121112121211112121112122211211121222211112221211211211111221211212221121211211211112121112112212122212212222212121222211222222111121212211221121121111222211222212212122122221122212112121111122211111111122212121221112212112122111211222121212112111112212122221211111121222121222212221122112211211111212212112212222211122121111212221112111122121212212221221211111122121212222211221222122212221112122112111121111122112112122122211212112222112121221222121121111112111211122222111122222112221111211111121112221221121212222211122121221221121111111112122212222121122122212111122212122221121112211111112212211112211222221111112222111121212211122122112221122221112122121121211221221212221212111121122121221121211121212122112122112112212112112122111221122122122212111221221212211212122222112211222111111212221222111112211111122221122222212222122222111221122122222111211121122222111212121121112222221211222122121121111211112112221121111222111222222211212122211212112212212222121121111121211122222221121222111112212111222211222121112112111212111222122111121111212222211112221122221122221122111112212111112212121112111212121221111111112221221222212211211211121112121222111122112211112112121122122221222121122111112121111221122121122122111211212221221222211112212121222112212221211211112121111221122122221111122111111112221222111222211222221112122221222212121222122221222211112222111112122211221112111122111112221122221112222211122222122221221121222112122121121212111111211222111221111222222221212121211212122121221122122112222212222222211111211112222111221111211221212222222221222221211112221112122111121122111121211221222122111121121222211112121211122222211112112212111222212221111212121221112121121112121112112221211212111222221121212222111221222212122111211121122212212112211121222112121121222212221221211121122222221212211121122211122222121111221211112211122112221212112212212112222221111221211221112221222212212121222211211122122221111122212212211111112122112212211222122211111111211211122112112212121112121122212122212211221121211221221212222112122221222122122211111222112222222222211211212121112121212211221221121222222211222111111112111111112212111222111212212122221121212111211112212111122121222211112211222221211112221121212121212212121112221122212222112221121212112112122212222122121122112121111112112221121212211222122221111111112111112121121121222211222211221221222121211211112122222222122222121121221211121221111222211221221222222211212211222222211222112211222211122211212122121121211222212121111221122211122222112111211212122121111121222211212121122122211122211122112122221122212111111122122121111212221212122121221221122112222221122112211211222221121112222211112121111122121111121221122212211212121212211222122221122212211212112121121221111112211112112112121211122112121212122212211222221111112111211221222222211211112212211121112121222121211122112212111212221221121122211211212111222122111111221222222121111122221211211221122211221211212211121111121211122121121111221111111212221121122212212111212222111212221111222222111121112122221212211111211122111112121111221211211222211111221122211221122212211212121111221222221122121122111112222211121122212221122121221122222222112122112221111112221111112122111221111111222122111112112212212112112222212121211221111121121121211222221111121211212111111111212211212122222121121112221112212211221111112221121122222111212221111221222212221122122211221121111122211222111212212221221112122121112222212122222211121112212221222121111211212222111222112122121111122122211121212211212221221222112222211211122111121121221212222121211211212122122111212222212221212121121112111212211211222212111111121222112222222212122121222222122221212121222112222111211112122111211121212111222121121211112211111211122121111122222211121111111222211112121221222122121111212122221122222122121212211212212212122212221122221222222122112212112122212122112121111211122222121222121122222122222121121111122221212121111111122212122221122221111212111122121222112111212221222111121122222221111212122212212222121211222211221212222221211212211121121121111122112111121112112111222221122112221121121212122212122222111122122111221112222111212222112221111122212221211221211212122122112212221212122112221221211222121221221211222111211211111121221121112121211222211121221122111111112112211112222122221121111221211111212221211212212122121211122121212121111122211222212122212112211122112212221211112222121122211112222212121122122121122222211222212121221222212222221122112221121221211121212222221111212122122222111121122112121122221121122222112222212112122221222122121121111121222121212111121211112222112112121122121121212211121122211212121212221221212121122122112112222112111121112211122112212111121121112211112211111212221111111121122222122111211221112212211211121221212222221222221222121211112221212111111222211122212112211222112212111122121212212111112121112122221212112222222121122122122111212222121222121122221122121211221112211212111122122211122111222212221121222111122122222221211211211122211221122111222221222122122111221211121121122122211121121212112112111111111111122222221212122211121111112222121211222111212112112222112222121121211221121221211221221212121111122221212122221112112112222111212222112211121112211211122122112122222212121122222222112111111112111111111111121221211212212212111222122221212122112222122211111211112211221121222111112121221121212121121212221211111121212111212221221211111221221212111212222212112212112211221121222121112112221211112121222122121212221122111121222211222122221121121122222121222212221121221111111212211222212222121122112212222111121222111122212212111121211221222112122222211222212221211211212122111212212112111122222222111112111122112112211112122122122222121212212111212211212111122212121121122121222122121111222112222222212212222211221222121211212212211212222211111121222221122111121111112121112111221111211122111112221221111212121222222111111221222222112121212221112111112222221221212212111211222211111211121222221221212121122121111211211112122222212111112111212222122121212111122222112112222212112121112222122221111112211212222221211111111212122222221221222121221122221211112221222112221122111212211122121112111212222112122122111211122112212112121121121212112111212112221221112212122212211211211122211122122111122112221121122111122121122122112121212122222211212112112121221222112221111122112112221211211121212112212122221222222211221221212122212212122112122111122121221112112112212112111222121211211222122122122212112212222121112211222211111111112211221122111221121211222112222222222212121222121222111212122221212122211122222122222111111111111111212222111122122221212212211112111212211122111212211112121112222122112111111212222112222111122221121221222111222121112121212111211111211112211221112122211111222222122121122111212111121211221112121222212112121212121222212112112221221112111111111222122211112122112122111221111222122222211212111221221121122121111121112112111211212112122111121111221222212212111212112121122221221211112212212112211212121121221112122111112121111121211212122112211111122211222221211112212211111221122211121211122122122212112212221212122111222211221222111222111211122121222121111222211111212222222211221212221121222221221122221211211112221212221122111121211111111221221222111221121122221211121122121121222211212212222121211221111122221122212222111222222211211221212211221212212122111211112111222111222211122111212121211121212221222211221122121111122112121121111221211122221111122212221212112112112121221222112122122122211122222222221112211212222111212111122122211111112121212221221111112121221211221112112211222221211111212221121212122212221221222121221122222111122111121111122221122222222121222122221121222221222222111211211122122221111122221221111111212111111121121112221122221121112122122211222111122112111222121121112212211212211211221222122211212122211111221222222222211222112221221211221111122222121211211122122222111212111121211111222212122211121211121112111121122221112112121211211211221222122111121211221211221111122121222121212112222221211111221211222211122112111122111221112112111112221112111112121221211112211122112112121222211111122211112111222222212212112222221211222212211222212112111222211221211111111121221212112111212111111111221111112222111222212221221122211111111122121221111212122122121212121222212212212112221111212212111222212111222112211111122212111212112211212112221222222122122121122212122212211222221112212122112122122211121212111211121122212122112121221112221112112121111111111112221112211212212211211212211122122222211211121121112221212112212121222222222211111222211211112221221222122222122222112111121122222221112111112212221222221212111111211112221211111211122112221221112121212221212112112211212221212112121122121222222222122221211122211221112212212222222222211112211121222112221121222221112121111122221211222111112211222121212212221212222212122222222121221112222222122211211122112211221112121212221112121211211222111111121122122211211112122112211221112112112221121121122222122222112122111211121122122222221212112112121212212221212212112112221211221211122112111211121112212112222112222211221222221211212111211222112112112121112121111112121212222112121111111212221211111112211222221112111121221211121121222122222111112122122112111112121112121122112221122122222111122211212111211111212222211211111222212222111211122212121112112221122212121112122122221112211221111212212221222121212121211222121222212122212122212121222111221122111122112211222212111122212212112211221112212212122121121221122121112212211222212222121221111221112112111221211112112222212211211111112111222212122122221111112221112212112222211111122111121221121222211212222212221222212211122211121112122222111122122221211112111122111221221212212222121211122221111212111122222212211122222222211211112212122112222111111121112212222222211111111122212222121211221111212111211212222212112212112112222211222122121222121211111221111212211122221211212111222212112211222211211112111221111212122122122121222221112121212222121122212122122221112211121121112111211112222211212111121221211211222122121111122211222221122111222222212121121222111112221122111221212112222111221221211111211121111221222122122222111122212211211222112122211221111111121221111122111112112222212122212211221222222222112212221211111212222122112211222112212211112222211222212122111221112122111121221111211212211111212221221111122212121122121212122222112211212212221211122222122211222121122222222211222212212112112121121221111121211112121121222121121112212222221111111121212111212112222111212112221212221222222121122221212221212221122122111111212112211211112121211222211221112122222121211212211211122122121121221212122112111121211211222222211221112211222222122112112222121121111211212212112222122121212112222212211211112211222211111211222122122122122222121221212122112122221112211222221111121111222111122121111211112111221212112221111112221122112221111221212212111212221111222121222221111212122112111221212122211212212111212222122222121112211111221222211222221221122221222122211212221121222112212221111122212211212111212111221111211222211211212121121212212122222111222111212211211121222122122111212121121122122112111212211112112112121222121211222221221222122122222121211111122121122112211122212121121111122222211111111221211122211122212121222221211122211221222121121221111212212111221221112112111211212221112211211221212121122222212221221211112122111211111222111211212211112212221222121221112211212122212211122212112112212211112211221112122221222111111112112121111222111212112212211222212212222112212222112222121111122111211121222221112222212122212121121111121121121221212222111122112112212111212212112222122111122122211111222212221212112111221122112122121222212111112121111121221121211111222121222211122222122112222111112121211122122212111222221212122211221221222222222211121212212222121221122112112112221111212222121211222222111211121221221112121211121222111211122212212112111111121212112122122222111111221112211212112221212111121211212121211111111211221112221212222121112111211222211122222111112122222211221222111112211121221121111222211112212122211121111121111212111121221122121221121221222111111212122121221211212222112122121222121121221112111122112111212222221211211121222122112121121111222122221121121212221212212212222112222111221122212222222221221111112112221212112111211111222112122211212121121121112122111121221122221211121112221211222112211211221122222121111122121121222222111112122222212122112222122121111211112112122211211112212212211221112221212212221121222122122121112212112212222212212122211211111211221112121212212222212121212212212112212211222222112121222222222221112111221221111211112112212221111211121121221112122122111212211212122222111111221111222111111221111221112122212122111112121212122222111222221121121122211111111211122111221112221111222222222221222121122222122222222221222111211121121221222221112121112112122212212112222211212122122122221211111212122222211221222121121211122122211212111121122211211122222212221111222122112111222222111212221121212211122222121111221112221111222111212212121211211212222221222122121111221222111122211222122112111221222121121212222212112111121121211122111121222221221221212211112112112121121222111211211211212112121112122112221222222112221221211222112212222111222112212222122121112211222122211121111112221111112222221211222121122121222211221211112121121111111212221122121222121222122122212111111121222212221121121111111121112212111111222112221211121222221211221121111221222121221121212111222221121221122122112212121112222222222111221212121212121222121122222212221222211122211212212222221112122221221212212212212111112112222212112221212222221212212212221211211121221121112212112211121211211111111221122121222211221121111212122222221212121121121222111221112112122111211221221221212222221222122111222122211121221112211212212111211111121111212211221221122112122212122222112111221112221112112212212212212112111121121212122222221211122222211211221122122211111122112112112211122111211221222221212121221122222212121121221221221211112221121222212212212211212222111112221212122122221111121211212221121212111211111212112112211112212211112122222212112121212112221211111211212211212221221222221112112221221222121222111221112121121211221211212112222212112121221222222122212121222112111221111112112121221211112222222111222211211211122111222121221111211211222221112211222221121112221111211212212212222211112222212122122222121122212121212121121111212211222221111111211122221121111111111211222121221211222211221222221211221222221122221211121222111212212112122112211111211112211211122112122222211211222212212112211112121211122111211211112211112112112121122111212121112222111122222212112222121122121211121221112122111122221112211222112221111112211121111122111112121111122222222121212211111221122221222221112221211111112221221121212122111212122221212221212111112212212112212212212221222121122122221121211121112212121222112211121212112111221222211222111211112112121111221221112212211222111121221211222222112211221211122211122112221212122111212211211121221121222212121222111222112111222121212221111122212212112122222212221222111211112111212221212222221111112112221221111121211222212222221122121222122212211111112221111112111111121221221121221111212121112111222222221221211211212222112212222222221211211111122211122221111112122212222112212112222221212211221221212211112111221111122122122212212112222122111111121221121121122211212111221221111222121112222121211211212222121211221221222122211122222212211211211121222222112111112212122121112122122111212222121222221122221112211121222212212211112111122122222112121111222112222212221122221111121122211121211112212222111111121121122221211212122122222211221211212121212112211212111221212222211212221221211122112121122122222222112221221212121122112122211121212121221111111221221221112221222222112122122221112211121211221121211111222121121211121111212111122112111212122212121121122222211122121111112222111111112212211112221221112122212222212122222122121221121212112121122211212221212121122212122111211222211112112121222211211221222112122112112122111122122121112221222111112222112211221111212211122121221212121112211222112112222212122111212221211211112112111111121221221122222211111212111122122222111122211121122121112111111212221121111221122122211112112222221211211122122211221121122221122211222222221211212111112112111121111121221112211121211112222121211112121121221222122122211211221122112111222222221222122121221221122122212211221122211221121212221112122112212122221112121212211212222211221222121122221111112211112122221222122212112121221111112221111112111211211112212112212211111221112211111112121122112221111111121221222221122122121121111111112122221222211122222112212122112112111222121212122212122111122211112122222112211222111121111122121212222211222122112112211122221212122211122211121221111122122112112122211112221212122122212121212211112111221111121111122112122222221211111112121212212211222122212121122211221112112211221212122221111221122212112221122221221212211221221221222211211212121112222121211221211112112211112121222111222211121212211112111212121121211212112112212211111211121121121112111111221112112111222122121221222222221221122222121111112112122222112111211112121211221211122212122122121112212211221211222122111111122212121212111222222111122111211121222122211121111121221111122122121211222112222111222211111121212111122212211211221221111112211112121211212221112222122122112111122221212111221222121212222211112211112121221222221212112212222112221211112221111112112222122111111112221121111211212211222121211112122212211222121112111211112122222211122122122211111121222121122112222211112211211211112121211122211122212211212122111221122111211222111221212211122121121111212111221111212222212212112121112111211211212221221211222211121121122112121122112221121221121212112112111112212222222121212111211112112211122112211112111122212111111121122211122112211122212121111221122221112112221212112121221112222122121212212221222221212211221122221111221212222212222112211122221121222111211221212222122111111222122112211222121221122221221121211111122122122211111211121221121212112112221121121122211121112112221211221212221121121212222121122211222121121122111122211112211212222222212222211111122212222212112211212112111221212111112212122112121111121222122121211111211121221111221122121211112222221122111122211122111121221122222111121122221222122122222212212122112221121222111222212111111212222212212111122122221222112121112222222122121222212212221122222121221112222112121222222112221222221211222111212211212212211121212211222212112121112222122122121212122121212121211211122211111121121211211222112122211222222222221211121122112111112211211122211222111112212112212211111211211212122111222122212211121112112122122122122111121222212222221121122122112112211221222121222122222111222222111211222112112221111211122111212121112122111212211112222222112212121211121211112212211222212212112212221122211112211121222111121212121111211122212221112212111222211212212111122112121211222211222212222121121222122111121121111212112211221111211221211111121211212121221122121211212212112212121121211222121111122221221112112222121122222122211221112211112121111111211122112222222121221212212211222211121111211122121122121111212121121221111221211211122122221211122212212112121121121212112122222211121222222112221211222121211211111122121221121212221212222222222212222222111122212111121222212221222112212121121221212211121222111212122121122122211111122222111221121112211111222221221222222222211121212212222212221212221221121222211122121221112121121212222121111222112111121122111212112121222222212122221112121212111112212122221111111121212211122111221221122111122221212221221222112222211111112122221212221121121121211212211222221121211122121211112222221112111112211211112211111112112111111121112222221211212121111112211211111212122112121212112112221211122112211211122122122121121111212121122212222222212122121221222122122111111122221211222222122211212112121211122121212211222222112222211122122212112212222111211112122221112111122211111122121222112212211121111212111211121112211111212221212112112222221212112222112221122211111221121222121122111122211122222111221211221121221221111212111212121212122112222211222221222222112121221121222212121221211121121211221211221211112212221212121222111111221222122111211221122111221112221112112211121111211222122221122221112212211121111112211121211122212211111221211222112112211221121222121222112212222212221122212121211222122122211222221112111111111112112112212221211222111111211112222112221222212121221111221211211212211112222111122122111212212111122211221112222111212211111211212221111212112121111122222122122111211121222222122211222222222211211111111121121121111221212121112122212222221112122121211121212221212122211222212121221121211122211121212211121211112221221122121112222221111111121212212222112212112121121221221222112112112212211121221111211122121111111222122212122222212212221121112222121222222121221211111222221122112121212111112111221222112111212221112112122112211121211122222121112222222222212212221222212221222222222212221222211111111212121222211221112122112222112122211211212112221122112221212121122112221212111122212111112111221222211212211111112222112112121122222222221221121212112122221222121222112122111112111122221122212111222222121212221121221121222212222211221221212222122111111122221221211221211112122212222112212212221222122222221121212111121111212222222121221211112122122212212211112122211121121222122122111111112211221122112121122212112221111222111111111222112111222122211111212212222122222212121221222221222212121121112111221111112111222212112111121111211122221211211222111122121211212111122122111112122221121222122221212211212112221221222222122212222111212122112111212122111221222212221212112211211121111111121111211212111122111212121112112222212111212122211111211212211212211121221221112222221211211111112121121112112122221112221222111221221211122112221212122212211112121122122112112111211221111222221122121111222211221121222221111221112122221211111121122112122122112212121122112221111112112222212112211112222111222211121221221222111111222211212121111211212212221211112221211212212212121122221112121112122122212222221221221121212211111122212122112212122111212222221211211221111221211211121121221212211111221212112221222121121211222111221112121211221111222221121221221221211221212222111211111221112222121111111122212222221211121122222222111111222111221222111222121112122122222212222122212112211221221221112212221111221121112121222112121221111212221221221221122111211222111222221212211122111121211212122221221212221112212211211121112122121112112222211222221221121121222221111221112222121122112122222122221212211112222212111122212221222112211222122221222211121112222222121221122112211122121121111112111222221222121221121122221111221121222122111111121121121111211222222112112221222112221112112222221111112221211222221222112221111221212221211121122112212111121222112221222112221211112121221211211211212212222221122222212121112111211221212221121112111112122222222212111111112111111111111222112211222211221122222212111212111211222221122221222122111112112212121222121212211122221211212121221111112222212111112121112112212111222111212221112111122112121222112121212112121112211122221212212121212221211222122222111212211111112122222221122122112122122112211122111211212122222111112122112122122111122111212112222111122222121122221222112122211111212221111122111212221112111112212212222211222212212122211121121111222121122212211222111222111121121212111222111221222211121221221121111211122111121122111212222122212121211112121222211222111212121222122112211121122121122111112222122122211121222212212212222121221112122111112122211121222221121211112221122112122212121111121221212221222212221111112121212121111211121112221221211122212122112211211121211112222211211212211221221221212121111122212112121122221111121112211211121122112111121222221221122111112211211211112122221221221121222122212111212211211122121211112222112211121212111122211121211111211112111211212121111122122212212122122121122211211221212122211222122221212211121212111111121112222222121221221212212112222211211111222212111211111111111122121221112222212221211221211211112211122121222121222112221221212221211211212222222211212111221212211212112222122112211211112222211111212121211211211211112112212211121211211111121211111222121221111112212222221212122111122222222222122111112111222121121221121122211212121122212121211111122211211221211212212221111122211111111221121121121122211221121212121111121221121121211221122111122112211121112212212212212212212122222221121112211221221212221121112122221221111211211221222111121122212211121211222112121121112121211212222221121222112122112121122221112222111122211211121112121221212121211212221221212122222221112111211221121222122112212121222121222222221122112221122112221122222211122211211222122211112221111122111112222121111111221211122122222211111222111221221121211221211112111111222112111222121112212222121111222212111222122222121222121112122111122211221221221221121111222222121111111122122112122122121112112112121122222221222111221122122122111111121111112121112211121221121211111111121211212111211121211212121212122121212212112111122112211112122121212211222122122112222112122122212111121111122121111121212221211111122122222111222221212121212121212112221212121111122112211121121112111222222212222112122212112112122122221111212222121212112222111212111122112211212122222122121212211211111221222212222212222211222112222221122222112112111112211122121111112211111122121122211121111112121212112212112222121222121212212211211111212211111112211122211221222211111211112122221222211222222222111222112212222122121111222121211111211121212122212221111112122121212211212122122122222111122211212211122212121112212122221212211212221121122212112212122112212222112212211222221222112122222212111112221212221211112122112122212212211221212111122212211221221111222222211111222122221212112222222112121112222212222122221122211211111111212121221122122112222212221222111121112122111122222222111122112221212212212112221121211121111212222112212112212122112121121222122211122122122121112211222122221212211112221121221212122221112222221222121111222121211211212122212212121112212111211212111112212112122112122111121211211111222221111212222122211121212122212121121222112211122221222221112221111212111211221122211111122211212211221221222111122121211221112212221111112122112111122121121121111112122111122112211222122112111221121122122121221111211121122221122211111121221122222221212222121212121222222211221222112112121222121221211121121111221221121112112122112121222222122221122121211221221122221211122122121112222122121111121211211222112212121111211222221112212121211222211112111212121111111121121121121212112121211212111212222221222221122212212221221111222112112221122211122211112221221112112121122121212112111211212212211112222121121222122211222111112111111122121221112122212121112111122111211122112211111111211111222212221122122211121121212222112222211222212212111121112222222122212212211212121122222221121121212121112211111211212112211211212221111211211112122121122111112112222122212222211211222221222212211211222211122122211211122221212222111121212112221121112122221222112121212121221121112212122212111222222211111121221121111122211122222211222121112111222121212221112222222111121122222112222121112122121212111212211112122121111111222122211211111221221122212212112122212121121111221212122111221221112122122121111112211111111122121111121221221211221122221122221212112222222121111112122112121122221121122121222112222121222211212122222112211112212222112121121111222112121111211111121211112121221221221222222221222121112221121121211122212212122222121122222111222122112221221121111222122212211212121211221221122221221112211212212211122212222221122221111121112211221121212112122111122212222121111122222122221212111122221212211221212212122221122121212222122212221221221221222112111111121112111221111121122222212112112121122221122112112221122222211122222212222111121121212111122122111212122211212211122122222121122122221221211221121212211221112221212122121122121121211122111211111122221222222212111222111121211121112212222212112112222221122221111211222112221111211212211211222211212121111122122112121112121112112221221122122111221121221222111221122122112112212122221212212121121212211212211211221222111112122222111222212122221112122211121222221222111212121221121222112221212222221212112221121222212212222111122112212122112122221111112112211221212122112111112122111122211222211122111112112212211221121211122121221122212111111222212122222122211222112122211221212211111211211222211122112111122122211212211122221211212222112222211111121111212222112212211212212222221211221121122121112112121212121211222112112111211221112111111112121111122121212122122221211221211121212221211212211222121112212111221221222112122122211222221211122222211222221221211222222221111121212211111221212221122121212111212122211221212211112221111122212112121121111222212112121111122111112111122122212112122112111111111211222121111121112122112111122222221112212111221111122221111112211111121211222222111111222122121221122122122121112112222111111211222122112212221222121112121122121121121212221121222112222211221211212221112212221111221122222122112212121122221121221121112121111122112122112211222111111112122222111122211112221221222211111221211122211212111112121112222112111122121112122112112222111221212121212111122211221222112212211121211121111221211121211222122121211221211111122212111211122222211111122212211222212212221222222211122222212111112121222222211122222112112222111211221221112211111222212211111212112211111121112211221222112222221112122111121222221211122111121111212222112112121212122112212212122222111111212221112111112221212112212122112212121121122221212222111112121112122212211211211222111122121112222222221121111111111111112221112112121111122221111111212211122111111211112222211112122122122222212212221121112222221221122121211221211122122221212122122221222111122222222111221211121222121222221111111212122212112121221121222121122121112211212111221211122212122221212212121221112122211212122111212122111221211122211122122121121212121221222112222111112222121212222221122221221111222222122111111222212122211211221121221211112122212111212121121221121221212122211121212122121121222211121112121121211212212111221122111212122111122222112212212211112211121122111111121112112111222111221211211111121211222122221222221121222111211122112221211222111211121222221122221121222112211222121222221121122212111222122222212211211221212121221111121112122222111212112212222222222221111112111121112221211222212122221212212122212112122222212112122122122222122211222111122212212211222221222221221211221121122212221122122212222121222212122122121212211221211122121112222222212212112112211112212111222112111111121211122122121111212212122212121122111111121122211111112211122111112211212112222222221222121221211121212222121221112111111112211122112222121111222221222212211121122221121122212211112122122122111112111211121211221122221112122121122112111221122122221222211211221221121122121122122111112122112221111121122121211111122112221112112221211211221211211221211211122212122221111111121122211221122111221222212221111221112112122222121221122121212212222111212121212222122212121121211112111122212221111221211221211122212122222122222221112111221221121211222222111221212122221211211211211112112112212121111112111121112211111222211212112112222221112212122212111212221112221112112112222112122121211212211112121212212111222212212212121111111121112222222221122221221121112221122212212211211221122222221212211111122221121222212122111121121211212211111111221222121111121111212112221211212111122122212221221121221112212122221211221221222211212112121212111121121222122222212221112212221212212222122121122211211121211111221222211112122212111221111212121122112221112212111122222212111121112211212121122121122222211111212121211121112121212111111211121121121121122222221221221212221121221122221221121121222211222121122112122221212112211112121211212221211212212221121222222111222121122112122222212212122112212111111122212212121111211222112211122221112212212111122111121211111121111112122222211122111222211111122112212211222222121112111121121212112211121212222222212221221211221112222111121222111212221121221211212222112121221111211122211222221211111212111112111111112222212221221211111212121112122112212112212212211112212112222121211112112121122222222212122222211221222112121122111122111112211122212111121122121222112122212221122221211211221121221212211121111222122122121222212221211221222121111222111111211112212111221122122121122221111122112122122221221212222112212222112222222121212221111222222112121212112211121112211212221112212222222122222111111211112212222121112222122111112222111121112222212121111212221122222221212122221221112121121222121112122121212122212222111222122222211121111221221121222111122211212121122212111212212212112212122121112212212111221111222121211121111212211221121222111112121121211211121212221211222221112211121221212121122221121111221121211222111222221221222112112121211122122211112212221111221212112212212121111121121211122121121221212122211111112111112122222121222112212221112211211212112222212221221122121221111212211221122211221112111222211122121221121212211122122222211221221211111122111211211122221122112212222212222211121222112221222222212122112211121122121212122211121221121212211221121221211122122211111121122112221221212211111112212221121222121111112122122211122122112211122212221112122121121212111122112211111111222111111212212112222222111121122212222111111111112121221222122211211212111111222212111122122112121221222122111211122221122121212211111221121222212211221112212211112121111212112112222212121111112222211211221222212222212121122111212121111211121222211222211112222122112212112212112122211112112222122122112122112121211121111111222221112111111112122212112212211112122122112112121121211112112222122112222122122112122122211212211122222111112121112212222111221211122212211211222111212221222221221222222121111122211122212122222112121221111121221212221212222221111212212111112112211112212212211221122222111111121222212222111211122211112111211111221221212212112121122212112222112221211112211212211111221111112211222211121212121221111121222211212112111211212211121222111122212212112111121211212111211122211222222122222111212111121121122211111122111111212121221221111122212212121222112122212211222121112212111121121112122122111222121222211111111122111211211122211211212222222122211221212111112212122111222122222212112222212221212221212221212222222111112221211212112212121222222111211221122211111222121111221221212112112212111222112121212121212211122222212222222212111221221112111222121121122221121122221221222112121112122122211122212121222211122122121212212121112122211211211121222121121112111211112122212221212212112222222221212122112111212112212122221111211212211222212221222122212121121112212111211222122112112111222122221121211111111111211221221221212121112222121121112121221122211222121211111222121121221112222222221211222211222112221121121212121111212121221121222221111211112121111111221122111121211111111222211221112111121221112212221122212122121111112111111112112111121222121212112211212111121222211211211111122212221112222211122111111122121112222122211122222112222212111111212121121122112222112111122211111111221211212211112122211222221121211111111221211221112222222222221211222122111122222212112222222122122121221122222111121111222222211121212122222112212212211212111212112212112121211121112112121112211121211122121112221121221111212122212111212121122121211211212222122112211111122111222222222121122112122211211221112111212121122221222112211221122212122212122211121112212122222122122212211112222222221211111211212221221111122112122221112122112112122222211212221122222212211222222212111211121212122222122111111121212122212221211111212112222111212211222222112111211211112211122211122212222212212111112121111211122211122212222111211221212122222221122212211121212112212121112212222121212112212212222121222211212122111222211212222212222221222221122112222221222221121211212121111222212222212112221121222111222112111122111112122112122222221111212121121122222212222221111122111122211111121222121212122212111112111122121112211212211212212112121111121222221222222212221122222111221221121211221221211111221212212221111211212112221112212222222122111122122222112212122111112222122122112222122111122111211211111211211112212221211121111122122111221222121211222211121211222121121222221211212111121211112211211111112112212212221112212111122211211121211221221111212222111211221211121112111211122221221211212212122222111112222111111111222121222212121111121212222112211122122221222221212121211221211121122222212112212112222212121121121121122212122112122112111112112212221211212221122211111111111122221212111212111111111221221211121222122222112212111122111221221212112122122111121111112211211111122211111111222212111211221121121121222212222121111111121222112221111111122211221121112112211122121212122112221221122121221212121122211122122212212221221122212122111121111111222111222122112112222212211222221211112112122221111122221222112212122221112221122122221122121121112221222212221122121212122122111111122211112212121222221121212122222212121222222122212212221112121221212221222112122112221211212211121221122112211211121211111212112222111112222212222111221222111211112121222121222121221111211212111121222221221121121221112211121111121211112111122121211222211221211112121212122211212112121122122112212122221211211121111111112111121121121211221211222122121222111222112122111112111121112111122222111112211111211111221212212221121122122212221121112212112211211111212112111121212222111121121221112222121212221211212222211122112112121212122212221211112212212111222221122212221111122121211211222211221221122112212111212221121111212112212222221221212211212112112112212111221221111111121222122112121121122122111122112112112222221122221122211121222222122111211221122221222221222121112211212212221211111212212122112121121212122112212222122111211221222212121121111212122112221112121111121222222221111111122121222221122121222112221222212211121212212212111221111122121111121111121221121212112212122111111112121212112121212212221222121122221122122222121221111111212212121222121112212122212211112221112211122112222221121121111122111111111222111211122212211111212112211212211211221211121112212222111121221221211222222121121111121212211121211122111112212211222112122122122121222112212122211212122112222122221111212222121121112112211211112211221122222111222121122222221121221112122222222121212121211121121111111121212122221122121111222111111121111212112221111211121221111122111222121122211111211111112122221112111211212111112122211121222121121112112111112111111112222222112121212112111212222222111111222121112111222122122122221212121212122112121212212122211111122112111222112121121212211211112212112221212111121211212221111121111121222211111222211212121212122222222222121122212221221222211222221122111122211112112111212212111111222211221221222112112212222121122222122112222112211212212212221221221221211221121112221121111121112221222212211112112111111121111222111121121221121221222112212111121212122111211212122121121121111222112112212211212221111222111212122221121222111212121121112122112222221222222221121221121112221122111121221112111121221211212112221121121222121122122122221121221212121212112121211112211122211111121211211212121111121112221121122212222221121222121212112121122112222221212111211111222221212211111222122221212122122221222221121221111212222222121121212111212211111221122121122111122212112211221211222121212111111121222111222111122112112211222112221211221122112111122121222222211122122121222112222212111211221122221212121221221111112111121122221212112221222121112221112221122212111111212211222112122211211211211222122222221222112221111112221211211222221111122122122112122222111211221121211221121212112122222121212122111122212111221122221212222212211211112112111112222221111111121112111121211121122111212211221212221121122221211121222112221122222222122121221221112222111112212221111222111212121121122211122212111121222122121212222212221221121122122211221111111121211112211112212212112121211121212122111211122122121121111222121121122211122121211112212221221211211211111111122111121221121121121222112222222122111221111121222212222222112212211212111222221111112121222222212122221121221111222112211122111212111112122221111122211122211122212221212111112112121222221212221211212112221222211122112112221222122221211212112221111122211121122211121121211212211211221222111122221211122211222112222221212211112212211211121212222122112121122112221222221211111111222122111222212221112211112111121211112111111222221122112211111121122222122221221222112211222121222221221212121222122111212122222121112222221212122212121221111122222122221112222212121221112112221221121112122221221112212211211221111112211221121112212111221221111222111121112121111121112221122222112121221212112212221121121122121211111222222222212122112122111222122222122121121122122122121212211111221221212122211111222111211221122212121222111111111111222112122221112212222121111111121222112222112212212112221212122221222212212221111111121211222122122121111212222122122221121121121111122212121121122122221111212111121121212122222221221111222221222212211221121211212221112112112112122121121121221212222211111111212222221211211112121122112121221112221121222211121112211211121221112112112121122212111111121122221111121111211211122112121222122212212122121111122222112121222112121222221211112221221211222122221222211121211211222222112112221122122211222221221111122211212211112222221121122121212112111212112111122121121121111112112111211112222211122112111111122221112221211121211122221122221111121112212111111211111212112111121122211211111221112121112221122111221121222212212221212211211111122222122211212221222212122112222222212222222211112112222121221112211121222212212122211212112221211121121112221211222221222221221212122221222222211211212121212222212121221212121211121221211122111212222211112122122111111111121221122211111112121221122211112211211122212211121112112221222211111222111221221222111221121111121211212221212121121212222211112211221121112121211211122122212222112111122211221112121222222212211222112221121112121111221211112121221211122111121221222222212112112112221211212121122111122121121122221221112121211112112211121112212112112122112112222222221111222211222111111111211111222121111212222112122112112122112121112211112212121121111111222211112111221111122221222121112212112122212121222222222111122122212122122112221121222222121121222212221222121111222222122121111121211121111122221211212221122122111212221212211111122222122212111112221221221122222212211111112221122212211212111122121121121212121112122222221111111212122211212111111122221111211122221122112211222111121212222111221112111221112122112222212122112211212111111222221122211222121111121112121112222111221111111211111221222211112212211122112121111111211212222222111121122212222212222221111121211121222111221211112121121222212121211212112111111121122121111221112222221221112112212222211221121221121111211222212221211212222212212211111122121221121221122121222212222211222111111212122121221122112112121121112111112211111112122121112111111211112121211112211222122211222221111222121221121121211112221221211121121122122211211222211212211112111211121121221221211121211122111112122111111122211121122222221212111112212221112211211111112112222121122121121212211122222222122212212122111111221122121111221121122211211112212212212121112221112121122112111211211212212212121111222112122221112121222122122112122221112211112121211222121111112222112211112212121112212222121122112122121221222121221121222212212222112212221121221121112212121112121112112121222112112121121111211112222111211111112212121211222112122112122212122122122122221122211212122112121212112211221211121211222211121122121222122121121221222211111111122112212122212111111211212212222221112222112111121122221121112111222121112211111211211121122211211121121121212112122212111122211222212222111222211122121112112112121112222222221112222211121212112212212211212211122111222212111111121121122221111112211222121222112121112222111122112121111212121211222222121112221221122221222211122221222122111221122112111121212211122121112222111121112112211211122211212221212111121211212122122211111111222221112121212121122212221121121121111212122221212221122122212222211221211121222112221222112222112211111211221212211212221222211121121122222221122121112121222112121121122222221121121211121212122222121211221121112221112121122122111212212222122222122212121111112211112221112221122111121121112212111121111211211211112111222112121221121211221122122112122111222222221212111111121221212222112112211121212111112111221212221121112212212112112122122211212212122112211122221212122111112111211212212212222212221211222221122122211212111122221111212121111112121211112221112121212121121211121121121111112212211222222111122212122121221221212212112221221212221112222221122212111221112222112112112211111221211221112121111121111222112111122121221111222121121221111121121221121212111121212121211112211221121211211222111221111112111222122111112222222222221111121212212221111112222211221111221111112112211211111122222212212221122222222222222121112111121122122212212111112122221222211121211112221122211211112122122121111111212211122212121222221111121211122221212212221121121122222222121212121222122212222112221121112221222212121211222211222112211112121111122211122111121221212122222122122221212112221212121122111211211222122212121121121122122221122122112122112111111212211111221121221221111112122212112122121112122121112122112121122221122122222212211111111112212221222121122212211221221222222222121211222211212122112222212121122111221111222121121211112211212121111122121211122122122112122121222212221111121121122112222212222111122122121222211112112112212211211122121112222111111222122221111221121121211122112112211112212221111211122222122222112121221122112222121212112121112121112122212221212112111121111112212121211122222221221221121221221122222212112212122222222221122221211121221111111222112111111211121111221222111221121211121111221222222111122121222122122121212221221212211121211112211222111112121111222111222211222212212122212222111211121122122111112212111121122111211212122122121211212212122121221222121221111221211112111121112222122221222121122212112121212211221222111212211221221122122111121121212122121212122121121221212221212112212211112121212112111222111121121112122212211112111212111111211221122111212111111121122112211212212112122222121111221111212112211112221112121212122222222111212212211111211212112212222212112122211221212222121111222222111221122212111212122211121111211111211112122112122211112111111122122221122211112111212111121122211221222211211121122212111222211212211111222221221222112112211221221211221122121222212121221122112221221121211122111222121112121222211122222112122222211111221111222222121111211122122121112222222211221221221121211112211212122112112222222122222222112221221222111222122212211122111222112112112111121112112122112211112111221222122112212211122111212212112122211212212121221122112211121212212112222112212211122222221222121222222212212221122121111111212211211122222122111222112211122122112122222111111122211121111122222121111222212211121122222121222211121221121122212221122221222111112112112112121212112112111221122122111121222211112221221122112122121122212122211222212111222122121212122222112211112211211112112112221121222111212121221122221111122221122211122221111221122111111221112122111211111221222212212222211111221211111212122122121111211212221122112122112212121111121111111112211111111211222121121212222122121212222221221221112121211111122222221111222121121111221112222211211222221121222211212211121222212122121212211221211121111222222212221112121121211221211121122211222122222222112122111111211121212221211212212122211211221212121222121111211121211121222112112212121112221112222122222211121221121122222222121221212121212121212112221212112121111211112211112211221221121112121222121122222111222111122122222112221212122112112121221111211112122121211212121221221111222211121111221121222121221121212122112112221221111222121112222211211122211212112111121212221211212222111112122221121212211211122212111212121212222111122212111111121222212112212121111211112111211212212212212121221111211212211121111221121222221222121112111221222112122122212221222121121121222112111221112222112222212111112112122112212112111212211212111111221212121212221121111122222212112121221111222221211122222121112121221112222121212122111112221212112122122121122121111221112221222211111122121111122122111222212111111112212212211112122121211122212112112212121122222212112112121122222121112122112112122212112111211111121111221211211121111112121112112221112121221122211112222221222222121122122111221122212211111211222122121121122222212222221212121211211111112222121211122121222121212111122112221122111211222212111121212212122111121212122122222212211112211112122222221212122122222212211212121211221112212211111221221222211122122221222212112112212112112112112211221112212212111122112111111212122211112111111221222222121222121121212122111122121122121122212122122212122212212222112211221211121222212212122121121221121222211112121122221121221112212221122122122121211121211112212211111122121212221111121121222212211122112122222112211121212122122212121221222112212222222122222222211221222222112121111211122221122112211221122212212112221221122212211111222211222222112211112221212221211121221222122121212121221221111121121111212111122221211222122121222112211122221122122211122211212111211222112211222121212122211211211122211122122222211122222211221122122112222112122111112112212211122211111222121222221112212212112221211211222112211222121122122211122112122221221111112112112222211112111222222221221111122122221212212221222121112112122111121121212221221221221112121122221211112121222211121222212211221122211121211212212111221212112111212111122211222122221221211222111121221211221111222211112212112121211111121221112111111222121222222222111222112121212212111121121122222111122221222121222211121212212121221111221221221121121112122111121211121212112112211122112111211221122121211212111121222122111111111212111122111122111211111222112212212121122221112211211211111212122222121122111212222222111122212221221211221112111222121121222221122112222212211211121122211212111221211111221222122211112111112222221112122212122212111122112221121222221111222122211222211112222122122121222112122112222122122111211221122221211212122212121122112211222212222222112122121212212212122111212121212121212222222222222212222212211212211122211112212221111212212112212212112121222212122122111122111122221111212112212221221212222212221112111221111212112212111121111221112221121212121122122212121121111111112121211121122121212122112122221222112121112122211112121212222121222211112121121112111112122121221122112112111222122112112212112212221211122121221112112121211112211122112121221221221211111212211122222211222121122121122121211111112121221121112112222212111221121121122222222112221221122122122111211212211221211111212222122111122221112212111122211211221222221212212221221211111222221221212122122211121212222121122212122221122112122111111221121121221112222111221211211211122122221122111111121221111222221112211122122122122222221211121121212122111111222222122221222212111111111221112211112112121122211112122221121211122212222222212211122212212211222212221222112221212112121112221112121111111121121221111221122221211212212112211122222122112111111222212211121121211212121111221111212221222122112211211121122212211221111111122222112111121211212222121111121222122222121111212221112111222222211112112122121211121211122222112111221122112221112222221122112111212121212112121211212122122122212221121211212212211222122221121212212121112111221212212221122211121121112121111211112212112122212111212122222122121122122111121212121122112111121121221212112211112211121222222211212112212221112111111122111222112121211121121121221121211222122212221211222212212112122122112211112112211122121211121211211122211221121121122211122121122222121211122212112121211211122112212212121121212121121211221221221221212221221211221211212212111221221121221121121121212112121211221122112111121221122111122112111212121222121211221121212121211212221211121112212121122121222211111121112222121221121222212121111122211222112122112121112212122121222221222111211222212111212122222122221221122211111121111221112212121111211112121221222212222211121221212222221221121112121121122112121211212111221211221122211222212212221221121221212211112122221112122121212121221212121221122222122112112212221222111122212111212111121211121221222212112222111122122211112221211211211121122121222122211111222221112221112122222121222111121112212122211222211222112112222212111121112211211212122221212212112111211222112211211221121211121222222221112111122212121121121222112112112122112111111121112111112122121122222121221121112212222121121211121221122222122211222212111212221122122211211121211211211121111111211111112221221212212111111222211121111221221211122122211221111121221221211222212211222212112212222111112221212211222112222112121111122122211121212211222121212122211222212221211222211121122111212112121211112221212221112112112212211112222112112122221122222221221122212221112211122112112121212222212212221212222112211121212221122212112222211121211122222111212122221111122221212112121221221211221122121221111112112122112211221212111222111111222211122221212111111211111212212122222122111112211112121222211112211112211121122121121211111121121122211122112222212122112221122221212222212122121112111121112121112221222111112211211222212222112221112221222211221111212121211212211221111122121111212212212111121112222122121211222211222111221112221212211212221221212112112121122121211212122221121121122111122122222111121111111112121121222111212222211111221212111211212122112211122212211221122212222222222212121211222112221221221211211112211221112121121122221121111121221121122112222121212221121221221221221121221221221121212221112112122221111122221222211212212221111221222122121212111122122121212111221121222221222222111122222221122112211211222221221122111221122211212121111212221112121121212211122211121111211212122222211111212212111221121211111122222122221121221121211121211222122122212221222212212121222112222112212222221222221221222121212121111212121221221112222221222221121212222121221222121222211211111122221212211212211211211211112221111211121111221221111222121122221112211222221112112222212111212111211112122212212222211222112121111211122111221112122121221121121112222122221111122212212222221111121121112111121211222112222122212111112122221212112222211111112121211212111222211112221212212112221211222122212111222111222111211212211122212221111112211222212221221112212121211222112122221112221212212212112211111111221111221211222211121212121121112222122122122212121212121112121122112111121222222122212221222112212222111222112121112222122222111211121121111112221122112122211121121212222211122112122221122122121112212111112111222121221221221222212111221222221212122221221222221222221111111211222222211211112211212121121221222212221211111221121211221122112211122222112121222222211111211111112112121222111222222222212211122122222111121121211121221212112222121211221112122212122112111211211111121112212221212221112111211112211112112122121211122121111212111212211221222221211212111221212112111211211111121222111111211212111112112211122211111222112111222221111121121121222221121112111211112212122211112111121122211112222221111112211111112212121112121221111112121221211122122222211221122111212111122212211121222112112211212111121211211112122111212212122111212111112121212112111121122112222212112111212221222111212222121112112112111121211212221111121121112112221121212212122222211121112222212211122222211122111212211111212211122212212211122121212112111122211222211122211112222211122211121122221212122112222111211111212222211222111222122112221222122211111122111222122112212111211111222112111121211111221222112212211112121112211221222112222212111222112221112111122121222111222211221212112211112121212112211222211111222121111122221122122212221222212122211221112121111211121122122121122211211121112122222111122111211221212221212222112222212222211221122111211212112122221222212212211211111122212211222122212222122222222111121112222112121221111112111211221111222211112221222222111121111112112122112111122121111111121212211112112211222212111111211122221121121121221221121121111121212222222121122122111121111222121121212221121211122221221222222122122222122222211121222222221221221212212221211122221211121212211211212121212111212211121221211112111211221111111211222221121222212222121222122111112212212122222112111122112122212111222121212112222222122222221221211112112121222121111212111121212222211211222222211111112122211221112122212112111211221111111211212211222221111211211211111221212112222122211121212212111221111122122212221112121112222222211112112121212122121111112221122121211212112212221111221112121221111121212212122122112212212112121211121122121221111221121121211111112112221221212211222122222222111122112112221211112211111122221112212212221121111222221111112111212222122211211122122121111212222112212121212222222222212112222221212221221112121112221211211211221212121212122112121211212222112222121122222121111222222222212112211122211222112221122212121211111112212222221222122121212211112211121222222111222211122212121222112222112112221222122211121211111111122121111222111221112211221212121211121222212211121212121122121112111111111222121221122111212211111111211112122222212122212212222211122122122221222122212221112122211211121212121122221212112111122111112112121112212212211221111212222211211121121112212211112222121112121121211221222111211121211222212112121212121121221212111211122112121122121211122111121112222111112111211221221111221111111122221121122212121212222122121121211221222121112111222121221222211212222211222222212212221122211122211112122211212121211111221121222221212221222222111112111122121212112122121221222121121112211111211122121112121121112112212221222122222212121111122121122122121111121211122211112212211212211111112111122121111122212122211111221121221212122212122211211212121122212112212221222212112211211121221221221211111221111122111211221111222112112212121121211222112211221112221212112221112212211211122112222221211211211112222222221211212221222221112212112122221221111212112122111211211121211221221212112211211112122211121112221111211211222112111121212221112211212111122112111122221211221211122122211111221112212111211222211212112211211122112211122211222112121222222121222122222122122111221122122222212122112222222112211221121122111221211221111121221221221121212222212111221121212121121112111122212112112111221211122121112122111112221111121211221121112112121222211211212222221121122222211121112121112211222122122222122212111222212121121112222221121211211212112121111211121112221212111222111122222222122112111122221221222211122212112122222211112111112111111222111122212222121111111222121111222211211222211112221121212221212111121111111221122111111121111211122222122212221111221112222211222122221212121111111121111122221112211121211111112211111212121211111222121212222112112121222121112112211111222212211111221112122212221121111211122121121222221211211111121112112121212211212222212112111222221111111112211212122212121121212112212111122112112112122111122112212121222122222122222212211221122221112122212212111111212122222222211221122112121221211121111111222221112112121221121211122212211111221221211211121221111122111112221221212221211111112211221221112122221122121222211221211222221112221121212211212122122121122112121122221121122111212211112121112111121112122121112121122211222112122222222122212222121121221212212212221221211121121121221121221211222112222212221211212212111221112111212222222212111211212222111222222211112212212112212221122122111222112111111122222112122221111122211221222121112221111112121111111212221221211222212212122111121211112221122212112121122112121112222221211212221222211211122121121211222212222211111112212111222212111211122211221122212212121212212112122221212211222222221121212211122121221222111221222211212222211122112211211121211222222222122222122211111112122222111112221111111112221212121212122122222122112212211221212221121122122112122121222221221211222121111211112112211222222211221122222122111111222212111211221221222122121111222211121212222212122111121112122222211121122111122111122221221121112211221212121222221121112121211221112112212212222212122111211212122121212212221211222122121112221221122122221221211212222121121112212212122121111222212121111222112121212112221221222212111212212212221122112222112221111111111122212221122212112112211222221211112122121222111122221121122121221211111221212112212111121222221112121112211222222121211222221221212221112112221121112211221212211222211121211221222121111211212211121122211212211211122122111121122212122112212221112221121121112212212121112121122212221211211111111222211222221112222222112121211121112221222211112111111211121212222222112122221211122112111212222122212112121112111212111211222122221121212211222221212222112212122111221111121122221222112122212212211111211111121111121212112122222222122112222122112121122221221121111122212112122111112111211111121221121122111112211122222221221112122122111212212121122122122222121111222112121112122221212122121212122212211212121122122121222122111222111212212111111222112122112212212111222111222211111122221222121122222121211221122122122211222122122121221121121121121221221112112112222122212211121221111221121222111211211112212211212112111122121122111111121221121122212221121222221211211212211221111222121112221211112111121221112212221121121121122122211122221122221111212221221111212211111112222222122111112222221212211211212111222112121211121221121222111212212111122111122122222221212122121121122112221112211221212111221212222222121122222211212222122212111222112122221111212222211211211211112222121212222111221211121121212221222211222112222211111221122221222111222111121222211122111111121212112221221122111111211111211111122122122221122211121221121222211211212221211211121122212112221121112222221221211222122221221211111221111211212212211212111222222211211222122222212221111121222222211221222122211122211221211121111111121221112122222222121212222121121211221221212112121221121121212112121222211112211222111211221112221221122121222111122122212222112112112222112112212222111222212221222212121111221221111121111112222211212122222212211212111211211122221121222212222212112112212212221122121221221112212222222122211122112211211211121222212211212111112111212121121122111122111222121212221221122211122221211222122212121211212222121222212122122112122111111122212111121121111221212221212121112211211211221112121122222111122211111111121211112212121212121222111121111122222211122221122121121112222122211212211222121222212122121121112221111112111211211112211121121121121121212212122222122121121121211111212211222111221211212121122121122221212212111211122212122212221211222122212121221111222221221221121212122212221111111121221221121121121111212121212122112111112112211211121222121211112222212222112111212222211111221222111211111211211211212222222222122112212111122212211222222111212111211121212122212221112121111212112222122221212112122122121212111122121111222121211211111122121212222211112211221212221111222222221212211211211121212111212111211122112212121222112111122221212211111112121211212121122222121211212212221112212211222112121122122222112122222222212212112122221121221122121221112221122212212211221222221221222221221121112222112111222212221111121121121121221222221221111112222111212122221221222121121121211122222122121211211121122222222121121221212121112111111222212211211111222221221111122222111112121212221221212222221222111211221211121111222121212111211121121111221222111222121221122111111121112112221112221212222122222222122221122221122122111112121112221212222112121222121112222221122221112121211212212122112122212222111122122221221121222121112212211212211121221122122222222112112222122212111211211212222221111121212112212121212121122212222222121211222122111211222221222222122111212221221222222212111112212122221222121221212221222121122221222111211121221212112211211221212122122121111122112221212112211211211222122122221221221212212221211212122112121121221212222211221112211221122221221112211221112112221121222112221212212222222221122222121211212111121221111222111221211211112111221211121112211112211111211112222112121112111111122111122222221122112121121221112212122112221111222112211112112121122222112111211221112112212222112121211111212222112211221112212122121122222122211221222212111212121212211121112122122112122111122221212121121111111112122112211122222222222111212122112111112122222122222221211211221112212121221211211122212112222112222121112221122111222222112111211111221221222211222222212212211212111211112222212211211212211222122111221222122222111222112111211122121121112111121122111222222111111111121221212221211112221121211211111221211212121222221111122222221222222212121122212112211211212111222111121111211112121122222221112212121221221222222222221112212122122111222222122112112221211111211221111122121221121212212112212121111211111112211211111111211121122112211122121222212221211211221212212122212211221112112222222211211221122122212211212222112212122221121111122222212221111222121211121121212122221211212211121121221211111112112121211121112111121121221222121211111112221221222112112122111121122222222111122211211222121111122212211222221112111122221112122211211212111221121112211221221122212221112121121111112112122122122222112221121111111122112122111212121221121211212112112121112111122222122121221211121111211212112121111212212221222211212211112212212222122211211112221122221222111212121222222212221222212222222112212212221212122121111112111211122111122212122122222221221122221112221212212211211211221112112212122222222221211121121211222111222122211122222112121212112121222112112121112212222111111112211222112122121121121112112121121112121212111222121111222122111212211211121222111222222112222111221122221211111122222211222111222122211111111212221121221212222212222212122211211222111212221122222212221222212211221112221112221211111122221222212122222212111221122112222222122222212222212112112112221221111212221212112221122111122112111122212221112111121112221111221122122221121112122111121212112221222122212221211212121121112221111222112122112112222211111211211212121121121121221112211111212122121221221212222221111221121222221222111121211212122122221121122211222122121122121221122112112121211221122212211221111211122111112112211111222222122112112222222111211112111111122122212212212121112121121222211121221212212222111221121222111112121121121122122112112221212112112122112221111121211121121211211222122112211211211112211221212111121122212222212211221122111212221122221121122222222112111222222111211122212111121212212221121122111212222221121111221222222112122121211111112211221211122212212222112121221221221122111221111112211212111111112121211112121211221222111211222221111222222211111122221122212211212211211221221121222122221221122112111122122212221221121212221212111111122111212122221222222222122121221221122121122112111211121121112111122211112211221221212211212111222221211112212212112211211211121112122112112111121111222121221122221222121112112222111221212212112222121211212212122221112122222212111212212221212222121122212211221122111222111112221121122112122212112122122211211222111111122222211222222221212212122221212222212222221222122112222222111212122111222212111122112221221111112111122121212222112212111212122221122212121211122122222212122112211212111211112221212121111212112222212121121121222121122222122212212212111112112212221111211111122111212112222122121121121211212111221221112122121112221222222121121112212222221122211211211221212211111112212121122122121222121221212221121212211121112212212121212112221121211112112111212122112121122211111221112222222121222112212122122221212111212122221112222221211122211211121122221112212112212211111211221111111111111111111212122211221212111221222112112111211122122212112121111212211112111211112121212221221111221121111211121221122212221212211121222211221212112112222121211212222122122121122111221212111111222122112222122111121122212212112222122212221211111221211121211222122212112112112212122222121122221212111221212211211221211111221111212111121122112121222221121122212112112121211221121111122111211121111222111221112212122212112121211222121221211211122212212222111222222222211112211112222121212121121212221121112222122211121122222122221111111212221112122112111221121112211122221211122122111222211111112122122122121121212212112212111221212112121121221211221121211122221222221222222111111112122221112221121112211222112122122221122112122222122121221211221121122221111121212111221111221112222122121111111222112122221211112221222211211211222221112221111111121122221221111211221111221111111211211111122121211121211211222121122121222221211211221221221212122212121121221222111221112222212221212221121121221111111222212112111122122212212112112211221221211121221222212111122221221212212221121222212221221222112112112112122111111122112212112211221222111222121212111112122112112121122111221211111211111211122121122211112112122122222112221122221221211111221222112222221221121221111221222112112222112121212112112111112122222122121211211112222112222212111112122222111112222211212221221122112122221121122222122211222222111112112111222221112221121212112112222111121211222211121221111121222112111111121122122112222111222221221112122212121212121211212122211111122112121221112111112222122212112211121122222222212121111122111221211212221211212112121111212212111121221112222221221122122212221111212121111222211121212212122121111121211122221112221121112221112111221222112121211121222121121212121211111111221121222112221221121222222212221122112221212211211111111112221112122121121221121121112211222121212221212222212121121122122111112212111222211121211122121212211111221122112222121122211222111211221221212112121121212212211121122112221222221112121122221212112211122122122211122222112122111222221212222221211212221221211222122112221122212222211221211122222222111111222222212122212222211121212112212122222221112121111221111121211112221121122121122211222112111211221211221221211211212121111112121121211211122112222122112222212212221112212112111211112221121122212112222122111211222221122222112222112122211111121111122222212112212121212111211211111211212112121111111211222211221212111121121122221112222222212122122112221211122121212221211221221122212112122112112111122122112122122211211111211221211221211112221221212212122121122121211121212112221121121121112122221211111112111121222222121212112222122121211212211111122122211222222212221221222212212112222122122111112221222212222122121211222221121222222212111112111111121111212111222111112222111122112112122221122121122121121112111211111211122122112122122112222221221111122112112111221122122112212122212112111221122211121111121211212221211112222222111112122121212222112121112111111222121221121112221121111211211212121212222121111112122222212121111122211111211122112121221121111211121122221222111221122212112211221222112221212222112212111222211112212122212121212122122212121211222111112211121211121111222121111121221121122222122222221111222211221122112212221212122122211221121122211222222221212112212122221212121221112222212221111121112122222122221122212122211221112111112211211111211111112111121122221112212122122121211122211221222222211122212121112112122122122212111111111112111222121122211211122221121112211212221221222121122112211122211212122212222212122221211221121222122221121221122222212211122122212212122222222221111211111222222121212121122111211121112221222122122121222121112222221121112122211221211222112112121121222222222112112111112211212221121121121221212222212212121211221212111111122112212112212222122211212122222111212111212212221121121111121221211122221112112111111112222211222222211112112221221111212121122111212111112121122222122121211212122221112121122221222211122121211222111111111212112221211222222111122221111121111211222212221111111222111221212122121221112211121122111112122111221122221122121112222212212122111211121111111111222121112211112112112112212221122221222222211121111222112112222222121222122112211122121121212212121122221211122111121221121221221111112222211222122112211121122122112121212112121212122212111222112122212121212112211111112112112222122122121222122212221211112221222211211111112212111112112222221122221121122211221122122122111121212212121222121122221211222212212111112222112122221111112111122211121211212111211121221221222121212222121212122121222221122121112121112211121121111122112111111221221222111222111221122211122121212211211211212212222222211122121211111111222121221211212122212121212121111222122221111222121122222122112112121111112221212121221211222112221111112212112212111222212221112211121112211211121111122212121211211212211221212112122221222222212121111122211211122121122221112121112121212122111221122212221211121122221221122222212212122112112211211221111122111221222212211221211212221122211122222211121122112222222222222122212222212112112221121222112112112112221222221112222122122122121121212212212221222211221222222122222222111222211122121112112211221221111121112211211211111211221221112211222111212211112121221212211122211221211222222122122112222121112211112221121111211112221211121212222121221211111121222111112212211122111111212112222211222222211222212212211222211112111122212222211112112111112122222211211222112221221211221222221222111222212121122122212121122121112222222111221111221221121111111211111121121122212222211111122211121122111222121112211212222121212222112112122222211111222121222211111222212122222121112112121112222122212112211211122222122121122112211222122212222111211221221112121121111221211112222221211221221212111112222111221122221222121211212112122221211112221222211211211212122112221221211122121121211122112122211112221111222211222112211121122112211222221122112122222111222111122112112111111122121121222112122111222212222211111121212222211212212111111121222211221222121221121111111211212211212122121112112112112112122212212122121121221221121122121222212212122222212222221222112211122122221112122121212121111112121121112222221121212211221121222112222111221221121211112211222221211222112121211122121111112112121122221211122121112112112212222211112122212222211221221112211212211121211222211211221221212211222122112121121211122112121111221221111222121211212211212122111221122112211122211121121221111122212122211212211221111112212122112212212122212211121211111122212211221112221112121122222211212211211212112112211221222212222112111212212221111222222212212211211111111122122112211122212111121211222112111121121122111221121221212221221121121111121112122111212212122212112121121112122222121121212212111212211121122121211222221212122222211221221122111121221112122122211121122121222122112221122211112121222111121211122221212211211122111222211221111111121221111212221112212212122221121222122111212221212222221222222112121222212211211122122211221212212122212221211112122221121211212222122212111211212111222222212111122222211211112122122212121212212212122112212111122222122211112221111212222122212122121111212121211222121112122122121122112212122112111222222212211222111111221222122211221222112121221121212221212222122212221112122211122211122111222121122122221122222221222122121112111111211211112111112212121221112222212211112121122121221211121111222111211222212112211222212222211222211221211211122212122111211212212122112121112112212221122122121111121211222221111211122221121122212211121112112111111222122121122212222221221221221111111122222112111112122112211122212211112111211122121221221221112222121211211121221212122222222111211121212111211211112222112111222122122212122211211122222121112212211222212111121221212211122122221211122221111111222211222212111111121212222211121112212111222122111211121222222112212111222222222112122111122121211122212211121121211222111211211112111122222222122121122112211212121212212122222212212111212212212222222112121122211211222222121212111112211112211121221212222212121222212111112222111222211121111212121112111221111221111211112121211111112111221212211221222111211222112221111212211212222212221211121222221211222121221221112222112212221111212222211212221212112122121112111212211122222112212121212221222112112111122221212221211212222211112112212112221122111111211221221212121221221221121221112222211222111111111221222211222121111111212111112121121212222112222111111211111122111121121122111211121121212122112111121122111111221221211221212121222221112222112122212221121122212112111121221112111222211112121212112222212122211111111122211112222112111212121211212112221211212211112111212121222112211122112111221121221112121222211121221111221112122221212121222211211112221112112212121221211221212111111212122112212111112211212212112111221112212221122222112222211121122211222122122112222211121222222111111222212122221222121121211112112221212212212112211212112112111111222221212122122122112121122122222222122212212112221211111212212122122222222211122212112111212221222222221122212122121221222121122221212122111122112222222122222222121122221222112112122122112222212221212121111121211221111121112111111112212121222222111121211122121122211211122112122222112122111211212212111112212221122221111111111212222221122122221122211212221121121121122111121121112112121222112221122111111122111122221212112212111222211222212121212222211112111212221112111112221221111222212112222112212112212221122111212211111222112221121121121111111221121121122211122221111222222212221222111112122212211212221112211221122212222212112212121121222111212112212222111212122111212112112121112211211211222111121222121221212222211222111212221111111212211122221111122221111211221121222212122211221222112212221111212122211111212122121112121211111211222122211112211122221121111212211221112112211112221121221111112111221121122212212111211211122212222212222112112211222112221212112111212122112111222112222222211222112121211121122221211121112222212122211111211221111121222221122111222111122222112221212121221221121221112122122222212111122111111112122212122112212221212121122111212222212122221222222121212112122122111122122212121122211112212112221211111112121222122211211122111121212212221112111211211221121122221111121222211112112111112221112211121112111221212122211221221112222112222222121222222222121112111221211121121222122111112121111212112211222211211211221121121112222122211111211212122112111212111112112122221112221111121122212122222122111212222211221111111211211222221211122122222212121121212122111111121112211212121111221211212121122112121112211122111121111121211212221112122111221112212211122112221222112212111122112211222112122122112112112211221122221122212112121122122212212222122211212221122121211111221112221112111121221121212211222121212111221221111212111222221212111112122212122212112121211121112212212212221121122221222111211212121121121221211212211222122111221112121222112121122222111111221111222122211112121222212211211222212122212121211211221221122212211222212212221121112222122122211111211212121122211112111212222111121212112121111221121111122112122111122111212222121122122111121222112111212211212221221121222212112111221112221222121212122222222222121122112222211221221221212212211111122212211111111111222122211211212211122122222222212212222222222212121222121111122221111112111121111122212112222221122221211112222211112222122222221211212221222222211222211122111111121211222112212222222112111212121112122211111111111112211122222111111111121212122222221112112122222221122121212121112122122222222121222222221122112111222112121211111111221122121211122221211222121112112111121221211222111212221121112212222122211211211222111112121121112111111211222212221112121212122111212212111112221222222111121211212222112222112122111111211122112112122222111112211111221111121211222111112112112222112121111121122122212221112222221212211211222212111121112211221112112211212112212222111222211122122211111111212222112212211212212121111111211211112222122212222121211121221121221222122211212211221121122121222211222212222212111112112111222112112112222221211111222111222221122111212221111121122121112112122111211122121111121211122111221122211222112211111121211111112112211111112121122122112112112122211211121212222222211121122221221222221211221221122222122211211122211121112221112111211222212112121221122211111211122222112222221122112221122121122211212111211222122211221221121211121222211112222212121112112222221121221211122222221212211112111122111112121121111222112112112122212221122111112122211111212221221112121222212222221212221121222112121211211111122222212221211121122212121221222222111122112211211222211121212112121112111122121121212221111212121121122211121122111112112221111212211211222222121121112111212212212211222222212221122212121211212222111122221222122221111211211221122111112222121222122111221111121222221122212222121211212121122212211212122111212121112212122222112211112121121122122222221121122211221111122221211212222111222111121212112221121121112112122112111221212222221211111122222212222122211122122212221112212222222122221212111211221212111112121112211222112112222112212122211211112222212212211122222222111212221212211221212121221212112222211222112221221211121222111221111121221211211212111222221212112111121221111222111222212212211121121112111212221122222111111121212222222221122222112122111111122121212212121221122212111211221212222122211121212222221222211211212221212212222122121111111112222112122221212212122222121211211221122222212121211211121221222212222122121221122112111212211221121222221222122211221222122211211222112121122221222211112112221112111222122112112211222122111112111121121111122111111111121212221121121121211221221112221221122222211221222122211122112121111121122221122121212121212112121111122211212212221222221211112112111112121122112222222211122112222222212212221112212222112122221111121221211122212112221222222112111211111111221222122222222111112211121112112211111112212112112211211122212111112212221111122112111222111211212211211212121112222112222211221211122222112222121221122222121221211212121222122111212221121221121222211112211122211112212221211121111111221211212122122211211112112122111111221111121122222122112122122112222221121111212111112112111221122112122212122121112222111122122211222122122222222112222211111222212122222211211111221221211112112121122221211212111221122212211121221122212121222121212111121211122121121112121122212121212221211121221222122121111221212111211122222111222112121111222122211121221221211222212221212222121211211122111222121111121112222121212112222111111211112121222222112111121221222122122122121121112111222211111122121121212222122122122122121121121212221211211221112211121122222121222222121211221211112212212112122222121121111112111121111112222122122222212122111221221212111111112112111212122221222221111112211112222111221212122211122112222221221121222211211211112121122112122122222212111122211121221122211211122111121222112222112111122211211121112122111212221121222121112221212211122222221122212112211111112111112122121111212221212112221221112112112111121122121112212111211212122111211211211112211222111122211112211112112222212111222222221211112222112122111212221211112211211211212112121122121121222211212122111211221112212112122211112122222112111212211221222221112212121211221212222211121122122122221122221222211122222222111222221211122222121212211112211221211121111212111122211121212212221112112212112111212222111112221121121222112121212212212121211121112122122221121212211111211211122222222221121212112222112122222212211111222212222111121122212211121122221221112222211222211211211121221212112122121111111122112112212221221221211121211211221211212121121121221212222222212222211111122211112121122111112222222222121112221212212121111212122211111122222212211212122111221211212221112122221112221211212212222212211111111122212221222112212212121121122212111222112122211211121222112212211211112122221221221222111221211212121211112221212112212112112212222121121211111222221212112122222111121122212122211221212221222112121211221221111221221121221112121122112112121221122111112111211211222121211212111221212122121221222122121122121221222122122121121122122222122122211212122112111212221222211121121222111212212222121111212111211121121121111222121211221111122122222112221222121212122111211112111222111212121112221111221221111222122121122112221122121121212222121121221122211221211212221211222111212121112212211211122121112112112111222111211112111122211112111211212211221112222112121222222111112221121222112121222112112222111212112222222212221222111211212122221222222212221212221111111222111112112211211211222121222212221211122112121221211111211112211222111111211211221211221111211211221211111122212222221111121221111112212112212111212121112122112211222212212221222212211121212112121121111112212211211211212122122112212211211221222111111222221121221122112211212121111111222212112121222122211212221221221221211121222222212221211222122122122111121121112111121112122112222111121122212211111212212211122111122121212112222222212212111211212211211111212222121211111122111212212121122221211121212122211112112221211122111211111211121112111212112212122122221211222212222212111222211122212112211211212211112211112112121111212122222111221112212212111111212122111212222121222121212121222221121112212121212222222221212222212221112111122221221111112111111112122122221112122112122121121212212222211212122222112112212112222212121122222112121121222222122221111112221121121222212211222121111222212121122221112221122212211111112212112211222222222211112211122221122221221111222211221221112221122222222212121222111222111221212112222221121111212112121222121222212111212122211221221221211121221221221212111112221211222212212211211212212121221212212112111212111221112112211122221122122121121111212221221211111212112121222221222121221221212112121121211112221212111122111211211111211122111221211221111111111211121211222112112212122111122121212222212121211211112211211111221112112111111121212121222121221221221112121111212111122211112211121111212121212212122121111221212111221122211111222112221222212122221112122121112122112112122121122212121212222211211121111112211112212221211111112222122121211211122211221222121111122111211222112121211221121112222211121221221211211211112112212212121112222212221211112122221211122221121121221111212211111122112212221111112222121212222112221111221222121122112122122112111212111222111221212112121222221112121111111222112112212211112121112122221122222122212212111222222111211122212222211111211221111221212111122112212221121122112112121111221112211121212121211111211111212112222221112222122212111122222211122111211221111222222211211111121221221112211221122111112111212112122121212221222212221221112212221112121211121222212111112212112222221222222121112222111111112211112212211121222112221122112112111222112111222211122221122122121112122212121112122221121121112212121122212221122221222112111111222122211211212111221121122222111222222122212121211221121222221211211121221211221221212111121121211211221221111221122122121222112211122212121222222221222222111212212222221211211112111221212122221222121111211112122222222211222121121111111121222112111111221221222122111221221221221211112112122122211212122212222112121121111111221221112211212211211211111222221222212121211111211222211122111112221211211212211221121222212112222212122221221112211212111112121221222212211112221222221122112121212121121112122111121221121222122111221122111222122111122211211211211112212221121121211111222122222221111122212221121221121221111111122112112111222111222112212112222221221121122222121222221222212222111112112222122212121221212112222212111212112111211221221211122222221122211111212111211111122221112112112111211121222121121212221212211221121111111212221111212121211211212122222112122211121222212121211112212222112121112111111122212212212221221222112221221112122121122121212221122212221112121221111121122121112211112111222112222121121221222222211212121122121121112211121221112211122111111212112122121221121122212222221121112222221222121211111212121221121122122211221111112111211212111221122212222222222221121222122221121112222122222212122212112111122121122211111222112112122211211221111111112111112121112212221121211221121212111111122122122221111211212121112111121211111221221111221121211122112221121222111212121112211222212122212122111112221211121221211111112222221211112221121221112112121112121212212112121211221212112111111212111222122122211121212221112112221222211211122211111222122212122221112112211111112121212212222112112212211112122112111111111111111221221111121222222211211222212111212211121111212121222222111121121121211212112121111221122111121221221211221212122122111221122222212221221212111112111211112122211212212112121221122121221221121212112112111111222222121112112112221221211212122111112122222222221221112122122121211112222112211212122112221121221122222121121122211122111211221121221112111221221212122222111111112222212222111121211222111221112211111221221122112122122111211121111222222212112212221222112221121111222212111211111221212121211212122212122112221122211212211211211122221211211112111121212112212121111122111221211211212212112112111121222122122212121121112121212222222122121121111222122121122222221212212212222211111222222211212211212111111221212111111121111212211212111211211222221211121221121112122222122122111122221212111221222221211122112221221112111111222122121121222122111111222122212221221212222112222111222111212212212222221111221222212121211111112112211121121222122222212112212111121221221122121212122211121222211222221111121112112222211221122112112211221122211212212121211211211121122121121222122111111122212122121121122211211111112111122111112221221211111122122121121222121112212122211211111211222222111211122212222221222112222222222212211212221211221112212111122111111111111211112111122122212111211221122221111112112111221121121121222211222212111221121212121222121112121221222222222111221212111112222221122112211221112122111222212222212112112122212221111221111122111122222221122112112211112121111222112221121212211221211111221111122112211111211212211121212112122212221212212121211122122222111111222212112212121111111112111221112112111222221121111221222221112122212211122111212212221121211112111222221122112111211111112212221111212222112112112212221121111221211112221221221112211211221121222121121111122222121222111111212212211121221112111112211111112121212111121121221112111122222112122112222211212222222122212121121112122222221222121212212212112211111211112121212211212111111211222112212112222111111211221121211122212222112211211122211222121212122221112222121212212212211122212111212221122221221211222121212211122112122112121221221221222211112222222121211122222221111122111211222111111212111112111112222122111222211122121222211221111212122211111211122111111212222111122221111112111222222222222122122211211221211122122111221211111222111111211212222222222112222212212112111122221222221111112212122112112112122112212111222212112112222112212222111111222122122122122122111122112111212122222112112122111122221212211112122121211112211212111221222212111121222121211122211221211222121112212212111111212111211222221121122221112121222121112122121111121212122211221112211111222212212212121121211122112121222122221221122112212122211111122222221212112212222222121221211212211121212111222211212211112122221222122212111211121221211212121111211211121122121111221212211221221222111212122212111112211111221212212122221122122222122122111122111221222111122121122221221212212122222211221221112121222121122221122221111212221222121221211222212212221121122222212222122212121212121222111111112211221111222212221111221121211111211121121121112212212212211121121121211121122122111121112111222221122121111121221222222121121221211212212221112221212212212112221112121111212222111211221112212121121211221112211212221212222112221111112212121211212112122112211112122111112222221111222221211211211122212211211111111212122221221221111122122221211212211222112122221222122121112212111121122122212112221112211112111221112111221221221112221212221211221112122212212111211222111112122122222221122212111211221212122112221111121111112212122211121111111122112212221212121211112212222222211122112221211121222122212212221222122222212122121221222112211211122111121212112121222112122212122112111122212122121122211112122122112222222211122211111122221212221212121122211211112111211111112222122121121122112211222122121122221221122211221111122211112112211111121122121121122222121112111112111221212121121212211112122112111222121221211222111112121211211112111222111122211122121211112122221112112211121111222221222122111221111221112212221221212211112222121121221212222122111112212112112121212112221211211122111222211212121222121122212222221211211221212122111221112121122222112221212112111212222212112112121211112211111112121111211111212122112222222111111122222221111211221122122222122221122212111212112211222212221111122112221112211221122111122111221112211111221112111121211222112111212112111221212122111211112112121222122222222122121111221212222212222111221212211211212122121211211121112112211111211112212122111111222212211212221111111122112122122221211111211211122212211212221122122111121121111212122221221212222122122121122222211221211221222122111121211122121212122121112112211222121211112112212221111122112111222111122112222221122211211111222212221111212111212122121111212121222211111112112112221222221222221112212112112212222111121211122221112222121222212112121222112221122212122121121222112122222111222211211221222122111112122112221112111211112122122212121221212112112211112121121112212212112222121121221122112111112221222111111111222122111121121222112212121221112122221121111212121121121122111221212122212112222212111122221221111122211122112211222121122222211212111112222211111121111121122121222222112111111121121111221111222111221211112211112122111212111222122222112211111222111222212121122112111122211211122222111111221212111222121112112212211111111112121211211222222212111221111122121121122111221112121111122211112221122212221222122122121112112211122211112112212211221222111122121222111121212221111212211111112211222211222211111112211121211111111112111111122112222121212211121211121121221111121112211122111212111221222111222212211112121211121112111112212112221221211122111221212211111221211221211211112211112221211222222122212222112122122112221112221221111221121111122121121211221111222121111212212212211211211222222112111222111121121222211121111212221222112221121122121112212212122211222221221122122222122221221221222121221122222121111222212111221221221222121211111211122122112212122111121121222212221221111211222212221212121221111112211111221212221111222112221112122121111112111111111121222121112222211112112222121211121121211211221222222112122221221211122211121111121121121112211112211121212222111111212112122222112211112122211121122222221112122212122111111122122221112111112122211121222112122211122121222112222221212211121111121122122111111122211112121111212122122121222211111121121222112122221221112221222221212111111212212122211222222211222211111211122221211222212122122112122112221221121121111221121111111112212212121122211122111222111122111122111222221122212211211212122112221212122211212111222212221121211222211212122211121221221121212221112222121111222121222122121211211212122111221222211121111211121111221122112222121121112212122212111212122212211111122121121121221121212121112222211121112211111212122122111221221212221211222211222122111122211121121122111112121212211121222112222212121122121111221122121222121221211112121211211211122211222121221122112122121211212122212121222111111122222222111122121112111221221222222111121211122121111221222211112222122221222111211212122122222221222121211121221112112221221222121212212112222111222212221212121212121121222221221121111212111112212112212212121111121212222222121222212112122112111121122221212221212222212121122111111212221111212212111112212222121111222222212112112121111121221212122222111121122121212212211222111221212112222122112112221121222112121211222211221212111211121221211212122221211112211111111122122212112112111221212212112122212122112121111111212212211212212111121212112122222222221221121212112112112211121211111221211221111221112112122211112221112122212112122121211111111111122212222211222112211112212111112222112122122211212122211122211212222111112121112211211121211211122122222111111111211112122111222211212121211112211112212112212122222112221222221212211122121122111122112122121211211122112121221221212222211111122122221212221112122222212112111122121122122122121212212211221121112111212111222122112111111112212222111212121211111221211212111121121211222112221222211221212211122212212221121221111112112211222222222211222112212122212211222212112222221211111212112111212211112221222221212212122121122222211222111111121222212112211212212122122121121112122222212122122222212112211212112221122112122111121211222211211212221111221112121112121211112221212121211111222222112112112221222212112122212112212211211222221122221111211112122121211111222111211111212222122112222111212111211222211111211221221212212222222222122122211211221212122122212111112112211112211221221212211121122111211211122211212122122112121211211221121212212122212122122211221221211211111221122121121111222121222121122112111112212212111221112112112122212122122222121221121122211212212112212222221112122221121221122222221121221222211111211121121211222211221112121122212112122122121211222221122121212222112212122111211211121211212222221221212221212222212221221112112111211212222211112122222211111222211211211111212222222211211122212112221212222121112112212121122222211221211121112111112211222121212222211121211221211121221112121112121212122122222221112221121211111111222112221122211121222111121211122221212212112121212222221221212211112212111111121112111222222222111212111111211221211222211112221211122112211211112112221222221221212212121221222211111122111112212111222112111111221221112121122211211212112111222212112211212212111121112221212121112112121211122212211211121211122211112222221222212212122211211111122211121121122122212222121211222112222121221121111222111212211111212121121222122212122211122122221121121211122221121212212212222212212212112211121112111211221212211222222221121122121121212222222112212121221121112211122111221121112212212211222121112222222122212112121221122122221221111111221121121112211221211122121221121222211122212212212122121121211222111221112112112211121122121212112121212222121212112121112122222211221112121122122111112122112222112211122122121212111212111222212221221212222221212112112212111112121111212112121221121112112122211121221221122211111112121222121222211111121211211211112121212112111122221222211111122211111112221222221112121112122122211112121222212122112211111212112111121212221122221221221221121121212111111121211111122222121112122212212221121111212121121222221211222222221221112221222122212211111121221121112211112112221221221221112211112212211121222212221221222112222212111211111212111111121112112211121211221211212211222112211121212122222221112211121221211221111222122212112212222211221111212111211222111211112222111122222111122111121122222211212222121112222221112111222211212221212122221112122221222112212111221111112221212122211111212211121122112211221212212111221211211111211111212221221211122111112111111222122211221222122112122222112211112211122212121122111122112122212112122121122221221221211111122211111212112112212222121221122222221121222212121221222212121111112112221212111221212211122212212211222212121211212221221211221212212222221112122222112121112112211212122112212112212121211212222121221222212121122211222212212121121112112222211122222122211122112211222121111221221111111222221212222111111221222212111121112221121211111212112221111212121121222221222222222212112112121222221112121221221112111122221112221111121211122112111122111211212212111211121222221122222212112212221222121222222122211222212221121121211121122122211112212211212121221121212212122112221121121212121111211212122122211222212122221112212122211222222222221121121212212111112221221222211212122211112121212211222112111221211221222111211122222222221221111122111212112121112212221111121211222112211211222222111221221222222112211211212212112111212221221221122121212112212211121121222212212222121221121211212221112112111221122221221222222112122122221121121112111221122112211112222111112211111221222222121211121212122211222222212222112112122221111221221212121111121222122211112221111211221111221111111122121222212111222222222212122122122221121121122222222211221212122221221221111211212221111112122211121221122211212122121122121222112222222121221121112112111221221122122111211112121122112221112122221211222222212121222212111212111212211212121222222212211112221221211221111212221221221211121221221211122212212211111212121211212111122121112122122111222211112212112211121111111112122122221121221212221112222221122111121111122122221212221212112111212222122111211212222221221122212112211111221111222122211221112212211122122112112121121222222112122122212121112222111212211121221222111111122212112112122212211122112212122122111212111221211111212122112111111212122121211212122122121222122122111112122211111222212112222222212222222222121211211112212221111212211221211111222112212111121121112111112122111111221221122121211211212212221122121121222222212212211112121212112121211121221212222222111212222222212221122212211211221211112121222221111111211212222212111111212122222122221112121221211122121212122211222111221112121221221112222222111212222211222111122112122112212211121112221122122211212211212112212122111221222221111112222212212212112212112111211111211121111222222212221212221121221121111121122222221222211121211221121121122212111212111212111121112121211211212112221212221112122222222222222221211121221211122122112222121122122122122111212121121122121222112111121112212222121111122222222222212222211221221111122221122112212221121221211111211221221222211211112121112112121222122112121212111122212111212121111221211121212111121121112122111221121111212211211222211112111112111221212121122112121221221112211222212112212111211221212112121112111112111112221222121121212121112111122112111222212111211211221211221112112122212121122122111221112212112211211121112221112222221221221211212112212122221111212212122122111212111111121111212211222221212221212112212212121121222122222111111211122211121212221112221211212212122111112211122211112222211112112221121122222122211111222222122111112122111111212122112212221111112111112122221212112212122211222221112222112111212222111111222112221122112211221211221121111211222211121112211121211222122211212222221222112121212121112111121111221122121212212112222212221222121211111211211212121221122222212111222111212111112221121222221222211112122111222211212122112112221112212221112221211222122111121222122222121122222112221122111211111222221122122122211222212121212212212211221222111211222212112122212221111121221111111222212112211121121112211111211112122121122211122122122222112221111122121212212211212122211121212122111222112112211111122121221212122212211111122222122121211112112211111112212211212122111121121211211221111211221111121122211221211212221121112211112222121222222212211221121211211222121221111212212122111122122212211212121112211221121111221221121111112222121212222111111111221222222122211221211221111222211122111111111222111121122222122121122122111111221112221211221212222121112111112221111121211222111222112111112222112221122211122112211122111122221121222112222112122221222222222121111221111111221222111222212111212212121121212111112122222111111121112122212222211121111122211121211221222212122221121221222222212111121111112221111222112221121112112222212211112221122112112211111122211221222212111222222221221211222212122112111211112212211112222122211222211212211121121122222222121221122112112222211212221112112221122112222112112221122221222112112221212111221212121221121121121222111112122211221211212121112121111111222221111222112111211222222111212222112211221112111122112211211112112121122221111211121122211211122222122211211111212211121222112122112211212221221222212212112121221121221211122212211111221211212122111212212221122212111221121121121111121111222122112112121211222221211122122112112111112222112221121212211121212111211121122211211212211221211211222122121222222121121121211112221112121212221212112122112112112212122222212211211111221121112222112121222222111112111221121222211222211211122211122221222111212211221222121221112111221112121221222212122122221212122112222211121112211122121122221111222122211122111122211222212111111212121112111221122122111221221212112122222122222221111112111222122211212221221121221111121221222121222222121112212112111221121222211212121221211222122122212111211112122222112211212222121111222221212221122122111111212122211111122222122221122222222212111112212111121222222222222221221212222222221112112111111221212112112222222222211121212211111112222111212212111211122211212122111221111112222221211221111122111212111222221221122222121112112112111112121211212212212222122211122221121222212221112222222122121211211112122221211221212221211212111221112112121212112121121112122222221111121222122121122112222111112122212222221121211121112222212122111121221222122212122212211211122221221221222222222112222221111111211121211222222121222122122221222122222211211111112122122212122111222222122221121122111121221212122122122221222211122212221221112122222121221122122212111211121212122211222212121112221212211211221122111121122222211222222122221112211221122122121221122121112111122221111111222221111221112221222221121221122221121212221221212222121222111212121111221122211112212212212222222211111112212221111212212112111212121121212211122222111222112211112211212111212111112221221121121222111212212211112222221211122222111111121212121122112212222121112121121111222212211122222112112121111211122212212221121212212211211222222112211121221211111112221212221121112211211222121121111221122112121222112212211211112222222121111121112122111111122112212122211111121122122221112112211212212111211122211112122111111211212211211111221221111122111211121112221111112111112211111111122211122111111112222122121221122112212112211121112121222121212112111222221211212211221111222221212111121121221211211221212122121121222112211222122222222121122111211121122212212121111222221222221222212211111111112212111122112222222212121121222211212212121111221212212112112212211221212121111111212221122112212222221221211211121222112121221221212122211121121211122112221112221212222122222221211222122222122222221212122212112212221222211122122221112211121111122122221211122121121211211212221121222122121222122111211112222212222221221122222112112211211222221222122112211211122112111111222212121111122212112121212122211121221222111122111122122111221112221111221222211121221122122121112122122122212211112222221212121211122222222112211112121222122112212122111212111121211122222211122112111221221121211212222211122221221211122222121211221222221222211212121221111222222122122222212222211111221122122121222221111121122122121122222112121112121211211122222111211221222121122122112211111112221222221111111112111111221122111121212211211221222111212212112211111212212212122222221221211111221211212122112121222111112112122122111122221222111122221222112211112212211121212122121211222211111112112222121122212111111211112212221111212222121112121212211212111112221112112122212221122211112111222222122112212222111211221112112211222212221112121122212222111221122121212112212221211121122121221221222111111111121212211211121221111221222122212221212211111211222122121211122221211122121211122122221221222222121212222111112112111212222122211212122121221112212112121212221112111222112122111122112211112212212211121221122111112212211122121221221221221222121211112111111211112212222212222121212221112111212212111121111112121111122221112212121122222212121222222222221211121212121121212122121122212122211121111121112221122121111112112211122121221122221211121121212222112211112211121122111112212221222222112122122111111222111121111111112111212221221212211222112111221112121122222212121121112222211221122121222122111222212112121222112121121212111211121211211221221221212212212121121121122112121211212121112221221221212212221121121112211122112111122121221222112112112122122211121222121221212111212121121221112212122212212222122122222222112222221221212122122122122222111111221211111111111221122122212122121212122112122221211121122112111221121111222222111122222111211112111112112221111211222211211221221212222112122122111211222222221212121211211121222121212121211111121111112111222112112212111112222122112121122112112212111121122221122112112111222121112222122212111121221111211111111212122121212211211221211212111221221222221112112222211222122112122222211211222221112221122212112111222121221221121222121212222221221212222122121222222111111222121112212111121222122112112212221211212112121112111222122222112122121121112121122221211222212211222112122212112212212112112222211211212111211212211122221221122121221212221212212211211221112122121211111121211211212111112122112122221212211211122122122212222121221112222221122222221121122121212112112222112121221212221112122112122121122212222221222212212222121222112211121122211212111222222112212221122121112112122212222111111212221221211122112111211221121212221222211212122212121212112111122212212111222121122122112222222121212222221111221122111111212211221211111222121121122211111211221222212112221221122112122122122222211211212112112112212212111111121122211222111122221122221221212221122212111122111222112221211111222111122212222121212211112122212112212211211222222212212222212211212211221111111222122121222121222111221122111112211122211122211221222222222211121122122211221222212222222221121212221121111222221212211112122112212122121122112211222111211222122112121111122112112111221211121121211221212122211122211211112111211112121111211112222111211212121112221121212111221222111111122112221112112121111212222211222212112222211212121221112222212221111211222221122111121122112122211222111222221122222212222222111111212121222222221221122111221122122222211111212221122112121121122212212222112212221222211112121112222122121121222111212112121212212121211212122221221121222112221121112112112111111221121122122112112211111211211221111121121112111121222211212222211212112112111121222112211122112221121211222222121121212221212211221111222111211111111221221111111221212111112111112222211121212122211121222222111122222121211212212212111112211112122112111222112211121122222221111212112112212112111222112121221222121211222211221222112111212222112111112122112111121121221222222121122221112221211112111112122212211211121111111111212122111111111111222221122112221221212121211122212121121212121221112112121211222221122211122212111122121212211112122221122211111212112112112112222121121111111211212222222121221211221221212222121211122221122112222211211211111222212122111122212112221212222212122111121212111122221111212122211222121211211112211221212112212221221212111221111111221222111211111212112212211212121111112112122212211212221222122211221112122112221111112211212112122112111112221121222111212212222122112122221122222112211221111122211222211221211221212112211121111122121121122112222111111222221222221221212112122112121212121122111122211121112112212121211112222221112222221121222212121111221122112212212122211112112122212111212111221122111121221212211212121222111211212222112212122121122211112111111222212211111112112112111112111211121112112222112211122221212111222211222212111121212121222222211221122111221211121221111221221121122211122212211212211211212212111211112122222211211111121111112111121122221221121211111121211111121111221212222122211211111112222111211212111221222212222111122221212122122211112212112222222222221122211212221112122221212111122122121222221111212222111212211221212111121111212121122112121221112121112121221121222221122212121112111121212111112122222121112112121212211211112112222121211211111122221111121222112221222222111221121112212122122111112221211212222222221111212221222122112211112121111212222122212122212122121211122111211112221212111212221212211212112121222212112121211222122211111111112121212212122211222211122222211212122121222212111112221211211112112211111112221112222222222212121222221222112211221211112112222111212221222221122121111211222212221222111212111222111222122112112122112212112222211121111122112121121112122212112222211221212222111112121212222212121211211221121122221111222112111221112122112112112121121112121111221112221221111122112122221221211111221111121211122212212111212111111111222112211121121111111112112212211211122212112121222121221112122222221112121221222111211222121111211121222111212121121212212211221121221122111211122221111121121221211112221211222122111111211112212211111111121222222112211211212212111212112211111121112211121222122222211111112211111221111221121212211121212122221111122211221112111121211221122211212211212121222212112211211121211211112211211122222211212112121222111112112111122121221121121112112222221121211111111122122221121212221111122212112221221111221111111211221121222122212111222221211122211112122111221212221211212212221211112221122122211211121111212221121112111122221121222112121211111222111211111122221222122211222221222212211221221112122211121112122121211221221212122122211121212112111122211212212111212212121222222121111221211222221112112112211212211112222111122222111121211121111111122221121221221222212121221222112211111222112121111212222111222121122122212122111212212121211221112112221111122211211112212211221112212222221121221122222121121112111212221212112222112112112121211112112111111121121221112221212122221121212212222111211111221122212121221212212112121212122221222222112121221222122111121221222211112211212211111221122111121122111111221211212212121121222121222121211221112211121211221221111222212111212111111222122112221212111111121112221122212222222111122212112121111112221122211212222111212121111222212212111222211111222111221122111221222211221222212212222112111211221121212121222121112112112211221211212121121221222221122122112111221221212221111211222122211211211122222111222122222211112221121111122121211222111111112122221112211111121222111111212212221121222121211121211112221212221222222222221121212121211121212211211211212212121211111211211121122121122212121112111122112211221121122112211121121111111221212221121211122122111111112111211212112212111121211122211211211212211121121112122222122222222111122122122212121212112122211221121212112121212222121211111222212112112221122121112111112111221111121122112212211121121211212212212222211222221111221121122221122212211211222111221222212122122221222221121212212221111112221212122211211212222222121222121221112222212121222222222221122211111221212111211112211211211221112112122121111121212221121222121112121212211111122122122221221212112112211211122112222212112222122112112121211222221122111221212111122212111122221122111112221222222121111122222211211111212212211212211122212212121122211112112221121221222221122121112112222211222121211212122211222212211111212221121211112122122211122211121112212221111221121212211112212112122121122121122112212212212222222121112112221211212122112211122222222211211211122112222211122222112221222221112111212212112211111122222212222121212221222111121212222112122211122121221221122222211221121122212212222121121212111212211112121111112122212112121122121211211221122111222222121222111212221212211212222222111122221222211211212112222111122112112222121211121121111212211111121122221222212112211121211221112212112112222111122111211122112122111211121122121212212121212112211122121111211211121211122212122112211121211221121222221211112121222121112111112211111212112211221111211222212211212212211121122222121211112122122111122212211222112221111221112222112111211112221111212112122112222121211111212121112122111121221211112222221121222121222222122212211112121211211212221122122122122222211221111111222122111121211122212111122122122112122121111211222211211121212221112122122122122221221221222122221212121122112112112212221221211112222222111211122211111122221112221121222222112221222211122221211111222211222222211122212111112111111122111211121112221112112121121121222112212111111122121112122212212211222112212221222221111222111212122221222212111222221211212121121121212112122111211222221221222121112121121121111221222112112122121111112211211111212221112121121112222122121211112121222122112122212222122221111111211112212111122222112221121211212211222211211212211221221111111222222211122121121221122222211211111211211222212221222121112222221212111222222222121212112212222222221121112112121122122122222212112112112122112112211212121212112211222212122212212222122122221121121122111212221112222122212112211212212212121121112122222121221221211111111112112111121111221222211121121121212222111112222221221222211112211122112221112222221221222222121211222121111222111221221111121111212222111111121212122122212112122222121221111122122122121112122211111111212221212122111122122112222222122122121211222222222221121221221222211121221112121222221211122111212211112221211122122111222111121121211211111221111122211121221221221222122222112121222212112121121211122221211112112111221122211212221222112112211111211111212221122122121122221112122222222111221212211222221111211112122222222121121121122222121212121222122111221122212212121212121222121122221112222222222222212121211111112221112221122111221112111121121112121122112211121222122222121222121112212212112112121211121122212112121112121122121212211122222222112121112212222121112211222221221111222212221222121212122212221211212221211112111122112211222221112122221122222121111221222112122211221222221111221222212111211211212111211221211212221222211221122111212121111112212221211222221121112111221211211112112121212212121211111121111111111222212111212222122122212211121121222112122122212211212122212221222121212212121212222221222112222122221211121221221221221221212222222112121122221121112112222121122222222222112221212122121211122111222111111212111211222212211112122211122221122222121112112222122211112111111112112121222111211122111121112211122222112121221222112222212112221221121122211111112122222121112121112111111111221221111121222221122111221221211221112221211212121112112111212122122121122211212122121221222121111112122122111222121221111211212111121122111122211211221221212221111111122121112121122211222222212121122122222111121121211212222121211211222212222222222121221111122212112211121122212111121222111211222111221112122112222222221222222121222112112112211111121112122222122222211111112111221221121121211222221111212122122212221221122212221111221212121111121122121221222222211212212211222212121211112111111111221122121111111111212112112122211221111111212112211121222112121111111221112112122121221222111111122122222212121222212112221211121221112222111122111122222112111221222211221221211222121221111211111112222212222111111212221222111112122211222122212111211112112112111211122212221112212222111211122112122221112122211212221211222212112122122212221222212211221122222212112121222122111212211222222211112222212122222122121121222212112112221112222221111221222211211211121112111211222211111121122221221111221212212122211222121212221212122212121211122211211221122211222221111212111222111122121221222221112121212112211222222122211212122121111122211221211111222221211221222112111211121211122211122212111121122111212221122111221122122121122112111112111211222112111221211111122212112221212211222112212121221211111211211222122211221112222222212212221211211222111212212222121111111122121111112222112222211212212112212122212111211111122121121222121112112222111221112122111112122211221111211221111121122212122121211121221112122122111111211212212112121222112211122212211122121112122212222212112121121211122221222222222211212211121122211212211221112122212221122222122212111121122212222211211222211121122221222112111121212111211122122211111222212121222211211121211222122222212122211112222221121222222122222222121212211212112112121211211111121222212211211212112222221211111222121112222111221222212112222212212212122122222211211121111122221121211211211212212221111122211211121212122221212112121111122111222112121122112211121221221112221222121222222221111112121112212112112212221122211111112111111121121222212221121121112222212211212221221112211121111222221122221222221112211121111122111112122122221122112222212211221121222111222121112112221221211122221121221111112112121212212212121122122121112112122222221122122111212111211221221222112222111212211112121222121222111121121211111221112221111122112211222221122121121222211221112111121111212212122111112221111221111112212221212112221212221212121222122211211111122221121211221111221122211221122122121221111122221122122222111122121221212221211121122121121112222112111111222221211221122121121111122122211111111122222222112222121111222121211211221211112121121111111121222211111121222221122221222221121112221221121111221222112121121211122111212222222222111211211112221122211222222112111221222111122221211222122111221222212122121211111212122221211211121121112112121121122222211212122121221112112121212212212111222112111122112221112211111222211212111122222121221211122121112221112122122221121121221222122112221112121111212212122111121122222211122212222111221212111212112121212212222122222111122121222112111112212221122112211122211211222112121111111211212111222221112111121221222122112211211221121121111222122122122211212211111121211122222111211111222121121212122121121122121122222121111121222121111122112121111222211112112122121211112211111112211222211121221121212122111122112222211221122121111121122221221222221121122212221122112212221212211112212122222222122122121222212111221122122111211122122222221222211122112221221122122221221221122111111112221212111222122211112222211111122221121111221111122221211112122222211122111122222221212121122112222212122111111111212221211112122122212122211211112111221112122122212121111112122212112111211111222221211222111122112111222222211112111222222112222222212221211122211211122122122122212121122211111221112112211121212112111111121111211212212222211122221112121222221212221211221112221221211211112221212112211221121111221222222112211222211222121222222222121212221122111222121221111222122222121121222211212122221222121111212111122211212112221121122121211122112222222121111212111212222111222121211221221111222112221212121121211121121121121122122212221222112122121122111212221211222121211112112112221221211212211212212122111121211111112212212211221212112212212122221112211221221121112122122212122122221221121222112221122211222121222221222221221121212222122221222111122222112212122112211212122111111121112121211122222111112112111121112221121211222212111121112112112211112212121121121121212112222212112111121212221211222211121222112111111122121121122222121222211121121122111221121221222211212222211221122221112221122112221222112211122211112222222212222121112222222222211111111112221222111121211222212111212121222121112211111122111222211221222112212212122122221211111212222122222122211121121111211222112121222122211112121111211121212122111111222121122212112121222222111122112121111211122122221212112111112122121111212211111122211222112111222111121121111121222121222111211112112111122112111111211122111211121211222122112221211111111211211112211211212212221211122122221112122222122122121111121221222221212122212222222211211212211212121222222111112122222121111112211211111221221212112221111111211222121121211222112112212222111221212212111121122222111222221112112111121112221212111221121121111221111112112221222212211211111212121111121222112212121121122212222122221112111211121121212111121221121211221122121121212212212122211112222222121221121121221222122221112221222122112121221212111221211222111122122211211112112112212111212212222112222212221212221111111121212111211112111111222212221211122222122122122211221222222122112121221112212212121221112212222111211221211112222211121222121222222221111221112221112112121222121111221122211222122122121121212121112112212111112122121112111221221112111211121222121122212112122121122212212121222121121121222222111211222222221112121221121111221222112111121221221112221211122212221112211111121221212212222122221222212222221222211112121212211222212112122122222211212122222222111112121221122221112211122212221222221222121221212122111121112222212112112121122222212111121212222211111212121122211122212212222111222221211222112121211211212222122111111121122122122121111211111122222122122222122222221111112211122222211212122122211222122221121211111121111221112122211212212111222111122221221211222212212121111221111122221211222221221221212222212112111111222211211211122111111112212121121222222212111112212212121211121222112221211122111212121122211112211212121111211211222111121121212111121222121212221221112222212222221221211212112111212211121212212111211111222222212121221122112111222221122211122121222112221221222222212211222221121112221121221122121111211212211111111111211122112122211221212121111211221211221211121211121221111111111111122221121122211122112121122112221221221211112111211111221111111121211112112211112211211121222111221212211212212121112112112122121212122121112222211212211121122221222221222211112212211212212122111112122122222222211112122221221212112121212212122122122111112121211112212222121221222112222112222211111111121221221121211122221112112112222121122211112222121222221121121111111122121221111222121122121112111122221121222212222112112222122121121112212222122221112211211121211111222121112211121222122111221112121111112211121121222122211111112112122211121221221211211211222212112122122111112211122222121122122221121121122122112111111111211222112112211111122212121222111111221222221121122111211111121212122222121112111122121112222111211211122212111211212122222122221222111122221221111111112211221211122222222112221222111122121211222122222221221221221221122122112111121222211211221212112211111111112112112221211212122112212222221211212212121111211212211122212211122122122212222211121221211212122211222112211122221212122221121121111111122211221211121112211121111112221222211222121211112112221222221222221221121112212121211121211222112122112211112212121112221111111212221212121212211222222112122121111212212221211121111221111212222111111122212211221121112212111111122121222212112222112121221221221121212112211222111121112221211212211211212222122211222211211211111121221122212212112111222111111212221212221112121122111112222111121112222121211111111221212222122121211122112211212212122121211221121212121222212222222112111211211211212221212122211122112212211222212221121221112222121121212122111211121122122211222222112222111222222212221121112211121222122221121111222221112122212121122112222222111112211212212122222212112211111122212222211212211122111211112121112121212221122112212122222111221222211221212122221221112112111211221212222111222122111122111111122121121212121121211122122112121211122111211122122111221221212221121211221212222122121121221212112112211212222112121122211121121112112221122111221111221222111111221212122212112112122121111121111212111121122121221211222222221121112122212111112112111122222112122222122211222221112221212212222221112222121221221112221111221212212121211212112212221121212122221211111211211222122221221222211211121212111221121221122221112211222211211122112221122212112122111111221212121212212222112122221121111211212122121121221212122212112211222121222121111122111211222111112222121111111211221111111222111112221221211122221211212211111111121122121111212222212211112211121212221211222121122212122212221222211221121211212112221211121211221211121222212112212221121222222122121111111211212211122221222122221221212121121121222121112111122222211221222121111211221112121212112122121121211122111122121211211222222121221112112211121111112221112112111122221112222211221211121211211222221122122122112122121121212122122222211222221222222211112221121211122121222122122121222211212121222212112122222121221112112221121111112122122221121222211212222222212222111112212111121111121211211112112112111221111112222211112122112221211111222211112222112211211121121222221211221111111211211221111122221211212122122221211112111221111212121212222222112121212211211222221222222211122111212121111221212112212221221211122221112222122212211111212211221212221112211111112221122212212121112122212212121222211121222112111211122221111122212122221211112111222222121221122112221112211112111211222111212112211121111111111222222112222211112221112111222221222221111121121212211221121212222122221111221222222122122212112222122222111222121112122221112121111211222112111212122221122212111112222221221211211221121111112211221122112212112121121221111122112112212212222211222122212212111122112221212212111122112111211212121212212222222111112111122112211111121222221212112222122221111122221211112122212122222211212222122121112111211221122212221221222211212221222222112111212122211212221111221222212112121112221122222112111121211221122111211211211212112211122121212112111121121212211121122221211221112222222211212112112122122112212211122111221221211221221112112212112222212111112211122222111212211212212122112122211111211222222211122112122222212122212212121222112222111211112112212222222111122222222111212221212221112211121211111221222221212112221112221221122221112122221112112111112212111111111111222212212212111111222112222121211121122221212112122112221222111212212122112122222221111221121222122122121212211111212212121122112211221122121121221222112111112222222221222221221221111112122211111121211121211112111222221121212222121112212212211111111121211221121111121121222222121122222112212222211111112211112111212112211222211211122221212112222122212111121111121112122112221212111221121211211121111221111111121112222211121111221112212121221221121221221212221211111211212221222211112222112122122212122122121221222221112221211222211121211111222211112121111121211112211211112211211222121211111212121111222221112221111212211211112111121222112211112111211111111222122222122222221212222111122112122122121222112112121121121221111211111222111211221122121122212212222211111222111112111111212122121111111221211221211122212222211211212211112222211122212121212212121121111222212121111111222122221122221212111122221212222212222211121222222121111122121121112112212212222222122212112112112112222111112121111222212212122112112112111112112221122111212121222211122112112222222221112222112122212222122112121122112111212211121112122112121222121121212122112111211112122121221112211122111122112211211122211122211121221222212122121112121112212222212112212222221212112222112221122211111211121211122221221111121212122211222122111111222112122222112122212112111111222122221221211111212221112222112112121221121211221211111112112121111121212122122211112211112122212121111211122112122222121121212211121122112111221121112221221121122111211122222212121221211112122221221121112122122121211212121122122211222221212221121112112221222212122112222122112112211212211121111221221211221212212212122121121221212221222112121122122111111222122222222211222112211111121121111212122221122121212122112121112122121111212222111212211212212212111222112112221112222112211111212122112222221111212211221121222112121221121121111111222212222211211221221222212121111122212112222112222211212222121121112212212121122211122122112222211211122211211121122112121211111222211122211212122212221111211221222112221221221111122112121111111211221212211212121211222112112211121111211221212222111221121111112212221121221112112111212222111121122122221212222212212111111222122221122222112221221111211122122122212112112121122111221122121111222121211222112222121111212122112111212121212211212221212112122111121112211111212212121112122112211211212112212112121221111112111111122111211211211222122211121121121122221211121221222111121112222212222222111122211111222112122222121111111112112222222111111211212222221122222112112121211211221112121111112212211112221221212212211212212112222122212222222112221112211212122112121112212211211121221221121122121112211221222221212122112112111121122121112111212221111221122221121122221112122212112121121222222121122211212112122222222211212121112211222121121111211111221221211212211122221112121122121212221221111211221222121211112222221211212221211212112211111222211111111112212121212121122122212122121121112211212222221221222211222221222112112121222111211121211111121221121112122222111111122221122122211111111222112111212222211211212221211112211121111212111222221111212211212222121211111121111111121121121121111222111212211222111221112122111111121212121212112212212121211211112112221111111221112111211112112222122221211211112221222211221222121112221121111112211111121112112222221211122211212222212222222212211111222121112121221211111222121112121112221122211112121122112112211111222122212111211211121122122212111122212212221111222221111112212112212222121212221211211212211221222112222212222221112122212122212112211221121111212212212211212221221222111221221222222111111222111211111222112212222211212211222121122211221212221221121111122211122122121221221111111111111112211212121121121211122221122112212121221111211122112211222112222222211112112222112122221211111211111121212222122211212111212212121222111112111121111222122212122112211122122122122221112121111122112211111212111222212122222121211112222212211111122212112111111111212121221222221222212121221222121221222212222112112211211221122121221111122111221222122222111212221221221122211122212112211112212221122111122211211211111122111221112221222212222122111212212112222111211212222111212212212222221222111111221122112111122112122121111211211122111121211212111121222222121122221222121221121122212211112121222211121112122122212221221212212111122122222111122222121121111212121111121221111212211111121211211222112212221111222122122222111121112211112221221112222121211122122122222221111112222112221212221111211222121221112111221212121222212121121122122221111111211112221112222221221221121122122211111222221121112112222221212212221222222222212121122121221122212211222212112222211211111122121222221222222121211121111221111211112112121211112222212122222112122222211112121211211221111222122121211222212212111112221122222112212112122121111221222112112111121222111122122221221121112211221222222112221222122221211122121111221212121121122221111221121211112122121211111111211221222221222211112122211212211122221111212122212222222122221112111121212111222122121122222222112211211112211121222122111212122122121111121222211121211221111222222112222212121212221111112111211122222222212211211112212112111112222222122211111211212212222222221111121212221112111121122121212122221222212221221121122111212211222222112222112211221111121112121211122121122121112111222222111121121112212111112111221211221211222222112212122212121212222112112212212221222111222112121211211212122212111221121221111112221211212112111212122111221211121122122122211112212121112111212121122222222111221211222212121211211112212212222211122222222122212112111212222212221122121211121211122211111212222221112121222121222221111221212211221111222222211111222122111222211221121121112112121222212111211211211221211121211212212111211112121212221212112111112211112211112212221121221221122121221121211221222121112212212212221112222112222211212211212111112222111112212122111212111221122222211212121111212222122121221222111111121212122121112211222221111111122212122221111222211111121121222112111211222122222122112222222112212111122211111212222221121221111221122121112111222222222112111222112111122112121221222221121211222212221121221121121222111112222212212112211212122212212122212211122122111122121221112121122212222121122221121121122212122222111121112121122112212222121212221211121121212212112111121221212122211212221121122121211221111212122211111211111111122111221121122222121222211222111222112211111221122221112111222211221121222222211212212221112122211221211111221112121221112221121122211111122121222212121112221221222111212221121112221212221112111112112122111112111222211111212221121112222121121212211222111112111112221221112122122121111112111212211112211121121212211112211112212112111122211222122221121112121122122112122221221121211221122112121211212111112221211121122221121212122111211112221212211121212121211112211111121221221111222111121121121222121221122211222222111112211212112112212122211121111122222111111111222212112212121122112211112211112112122111222122121211112111111211212221121121111221221211122211122222111221211222121211211212222111111222122211121212222222221221111121221112221211212111122122212112221112111222212112221212122122211221111112222121221121222111112221211222122222112112221221111122121212112221121112221111211111212212222112212112211212112111112121111121111122211221212112221122222222212212211122211121211221111212212211112221111222212122112121111121111212121222211211221121111212111221122222221121112121121122111211222211211221212121122121212211212222222221222222111122221221121111122121122222221211121122111221122121211222112112122112221122212122121122111222222222121121112122112112212221212111212211121112211121122121111121111212221211112112211221121121221111211111212111211122222222211222212211122212211121212111222212212121111112222221212121221221222211121121111111211122111122122111121112112121222211112211111222211111212221211122221111121111112211112222211222211122211222111212211222212112212212212211211111112211112112222222222211211221211211212122221112211222212111222211112221111121221221222111122111122121221211121212122222221111211222221212211121121111111221211121212211122221222112121112111221121122221221212122212111211222121212121122212112212121121221211122111222211212211111211222211111121221221122121111121112212221112122222222211111222112222111212122211211221211122212122221111122212221211111122111111212122111121121212112221221212222112111221121112111111211111211121222122211121221221212111121111112111122221212211212222111221212212122212112221222111112112111221212112122111122122221222122212211112112111122211111121211111121111112211221222222112222212212112121122212122111111111121222122122221121212122212121221212222112212121121111212121222112121111222221221112111112212211212211122222212211122221212212221212111122111111212112111121222122121112112211121122121111212122212221112222111222221112211211121112212121111122222212121212111221111122122222212122221212211212222112121222112211111111112211121122222111111221211221111121121212222112111111221121121112122222121112111111221221221111122121122121211221221211221112212221122112222222112222122121111121122112112121222121221112111111221121222221122121212112222221111121111211221211211121221211222211112212122122222222121221222121222112111112122212122212112121122121121112111212111212122112122211112111111122112222121212121222112221111111212211111122121221212111112211212212221221122122112222112122211111222222222112121221112121122111122211122122112222112122121212222111222211111112112221122112221121212122221212112121211222122222112212111212211122211222122222212112111121221121112221222112122222212212112221111112121211122212112112221221212212112112221212112111111122112221111211112122221211112112122221211112111112112121222112211111222222122112221222122111221121121112221122112211112222111222121211122111122112111212221221121221221112222211121211222122121211212211221111121112122221121221112211121122211221122121221222211111211222122121112122222112212211112222122112212111112212222221221221222212211211221111112112112111222121222221222111212111112122111112121122122212221222122211211211111111222121212211222221112111211211122122222111112212212122221212111111111122221111121122222122222211121222111222122112121122121122212122111222121212122111111111211122111121212222122121211111121211111221222111212221112211211212121111112121211111212111221122212111122112221222221122221111121111111122121122222211212122122222211111212211122121122112111112211212212111221122122212122112212212121112111211222221122121122111222121222221222122122222222211222112112221112112212221111212111211222122222112211221211212222211111122111122211121211121212221212222111112112111122112111112122111221212221222212222222222212122211112222112112211221211111212221212221111112211222111211222221111211112212222211121221121121222221212211122112211122222212112212221221111212212122222211111111122111221112122212121121112222121222112222211222221122221122211112212221222112122222222212222221112112212222212111212212121122111111121122221112112121112112222121221122211112122212122222121122222222222212111122222221211212121121111121121211112222122222112121222212122221122221111222212112222122121221212121222222111211121112112112112121112222112212221112221211212122121222112121112111111112111112221122121222212111121112122112122111122221112121112112221221222112121221221121121222222122111212121122121211211122112111222212212122212221222221112112112211221122221212112221212121222112122211112222121111112221122112211112221212121222211212122221222221121221122112212122122211221211122211211122121111211221211121112222122121212121121211222122221212211112112111212111122222212111111222112222122111211212112222111122212211121112222112111212121111221212212111212112221211212212222212212122222122222112222111212121112212112122222122212111211122212121211222122121121212112121112111111112121211121222121222211112222112112212211112222211212121122112112222211221211221221121221211211121112221222222121222211221111212211111211112211221211121122222121121212112211112212212221212222212221111111122212211222112121111222211122112222121211111112222221212122121221221222121211121121222112222121121211211112222122212211111121112222122212221221211211112111112221221222212111222221212212211221222112112122221111221121111221211121122121212112221112211111211212212211221211222122122221212221221122212111112122212121111122112111122222111222121222121222121122212222221112122122111112222221111221111211221121211222121211112122112122112122122121222221211111211112211112122111212221111122221222111222112112212212112222212211222121121112212221212111222211222112222111221222111122122121111212222222111222112222121212121121122221121222211122222222122121221121112211111121111221211121222122111221112112212111222212222212121112111121212221122112221211122222222222222111122121222212222121221111122211112112111212222112122122112212111112221112122212222211211211121121212212112111121211112111222222111221121221111112111211122222111111222122211211212121111111212211211112112121121121121211211111222221121121111112222111221211222111222121211112121221222212222122212221112221221211121122211122112121111222212222112212212112112212212212112111121211122222122211212121221112212221221222111222122111121211121122111221121122211111221222211122111121111122222212211121221122221111211121121221212111112222121212111211211111221211211222112122221111212112122112121111122112122122121212111112121122122221222211222221121212121122111221122222112222211211222222112211221112121112111212221111121221122122222122121211212211122212212212111111112221221222122112111221112222121111221112221121111112121122222222222221212121211121121111112121221211111222112212222121222111221121121221222212112112221122211111122221121122111111221122111212111121222122222122112211121222121121122212121112112221121112221211122212112211221212121112212112122111121222222211111221112222122212212211212121111122112221221112112211212121111222112122222121112211112212122211111222121111121112221212111121221121122112122111212211121212112222111111121122221121122221122112222212212221121121222112211112211112221212222112211112122121111222221211222212221221211111222211221121211121221111222122111222221112222211221222222111222221112111122111122122121111222111112112211221121122122121112212122111211211222111221111122212111212112111211212122222112221221222211211122111112121221221211212211222221121221121212111121211112221122111111222221211121112112222111212222221212122211122121222111211222222222121111212112222212221222112212112221111222121112212211121112111222212122122112112212121221112221121212121212211211122221222211122111212221122221221221221211111112122122212121111212221111111221211212122212222221222121212211221222221111121222111211112111211212211222221122221222122121222112112222121221212222121122121122121221122222222212121112111221211222212112112211221222122221112122111112221221112121112211122222111122121211221222121111112112112221121121222212122112221112222121112112222122221211212121121111112122111122112121211112122112221212112221221111211222221211112212221221121221121121111121112121111111212112111211121112121221111212111111221121112121121222212212121111121112121121221212112221122111112111111111122111212212121212112222212121111121121111121222211112121222221112221111122222222211112212122112211212112212221122221222122221121211121112212112222111122222221112221111122212112111212121212221222111211112212112222221211212122222222221221121121121221111122122112122212112221211221212112221112212212211121122111211111211121121122212222121122212221112111212212221211111212112221222122121222221111111221222212122221211122211221221121211111221211111121121212111121212211121122221211111121111122212112112122211211211211122211111111121211221221111122221122122121111211221221222111221122111121222222222122222121122222212122221222112211121222211222112112211122112111121121112221121221211211222112211211121211112112112121111121221111121211212111211111122121111122112222221121122221121211222221121112111112212122211211211212221212111212221212111111211212112121111221121212211211112121111221122211221121112222221211221111121222121212212121222122212221212121111211212222121211112211121121111112211211112212122122111122211111112121212111211212212212222111221222211212222122211121212222112212212112212221121111211121221111221212111222211211122112212211221112212221221122121222112112121122121211222122111121221111111111112122111122112211211121211112111211111122211211221211122221111122111222111211121211121121122221212121211222122211211222112112122122222212111212121212111211222112111111122221112222221121111221221122111121111212222111222112222211111112221222121222112122221212112122112112121122221222221212121112211222211221212212112221211111211121121221121211122112221111211212111212221112111112122221212211212212121112221111222222221112111112112121212222111211111221212222111121111112221212222212122122222111211112112222121221122111111211222121121121211112211221212111212112121211211211222122122211121212211221111212112211212211222122121111221112112121112111111222211112221212221121112122212121221222221111211212222111112121111222122121212122112122212221222112111222111112211222122121111212112111122111122111112122111222221112212122222211222112212111221211122111111121112211122122221211222211222121111111121221112212222222221211222111212112221212222111212111121221111122221221111221112222112121122221121222111111222112121211221212122222212112112121121221122112112212111222212121212122221211112221222212121212211222111121221111222111121222212211122112112121212112212111121121121121122122222212222111222212211211211112112211212221121212212111122211112222222221211211222222121122111122222212122211121211121112112222112112122212122121211211111222222112122122121211221212211121122111112112112222221222122212222221122212111211222112111122221121111222211121212112222121122222221112221112122112211211112121122121121222112212211112112211212211212211211212111111111211212222112222112211111112212121121112221122111211222222222221122121211121122122121212212222221121222112111222122121122212221121121122112121221222122222221222222221212221122212222122211111221112121122211112112221212112222112111221212121212112221221111211122122121122212212122221211222222211112211111111221121122221121211112212212212111211222122121212212212211212112222121121121121211121211222221222111212112111111212222221211221212212211122212221112112211222121222111122211121211222112121222121121111222121211222122121111122222121122221122112121111111112111222111212212111122121222212111212111111112212211221222212111222111222221112111111111122112112112222121211212221211111122112111121112122112111122112112221222112211111121222122121221212111111222111221211221221112112222112212111112111112111121112212221122112212212121112221211211112122221121222121112111222221121121122222221221121111221212122212221111222221112221112121112212222122112212111211111211112112221221112211112111121111122221121221121221221122122122212112121112212212222112121121121121111212111112211211222121112121111111211211111112111111111121222221112112222221211212112112221212122222121122111112112111111111112211112122221121112122111212221122211111111111112212111222222111122221222112212221221212222222121111211212112121122212211122112121112221212211221221111221121211111112211221212121212111211112112222221111121112222211221222222212221121122221121222122222221122112121121112211221121112111111121111212111211122111122212112111212121221211212222222212221212211211111211211121221212111211222222211222221222121211222211112222121122222121212222211112212121222211222211212121111111212221211212212211122221122221222112121112122111121222212111111111111111111212212112211222211122222112112121212112211112212212122211111111212221211222121122121111112221111211121221122122122212211211221221222111122222122221212222212122222121122121221221121111111221121111112211111222121122222221212212121111222111221111122112221122121122222212221211212221111222212222212112111211212222121221211211121222122221111111221222222111122111221211112211211221221211121211112112222211112221212112122222112121112112111112111111222122112122212111112222111122222121121121212111212111111111221212111221221212212211112112112221122211211122211211111211112112112212121121112222111211121211112112122121122112122221112221211222112122121111222211121221221212211111122111211221111121212112111122111121122112111211122122212221211221121111221212222121122212221122211212212211122221122112122111122122121212211122221112112122212221212111111211222111112112112222221212122112212112111211211121211212212221112122212222122121112211122212112112222121222212212121112212211212122122122221111211222122122121211222221122111211111111221222222222122212111221112121212121111122211112211221212221211111221112212122211212111212122222212212122222222122111211222121111122221121211121112122122212211221112121111222111221222111211221111122121221221121222222112221121111211222122122111111112212222211211211111112112222121111222211112122121211222112112122122212111112122221121211212221222211122221112221121112211221121221221122222222112222122222111111221211212212112222121121122212221112212111122112121122221112211111211111211221111122211221212211211211212112212122122212111111122111111221221112112221122121211111221211111122111222111221111122112122122111111212212121211121222222221221222112212111121221212222222212212211122222212212211121112212121112111211111122111212121221112121121221111211111122211111221112211121122211111122111122221221212112112211112212221112222212111121111211212121212222112112121111112112111121212122212111121121111122122122222221212211221222221111221122112112222212221121211111212211212111212221112111112222211122211121211221111121212211112112112111112211211211122112211211221121122112121111122121212122121222112222112222221221111211112211222221211111212112212111111112212222211121122211211222121121211121222111111222112212222211121121221122122112211211212112121221122112222222221211111122211221211212222112222211111222222221211121121212112211122222211212211111212112121221121222112112212121111212222222222221122222121112122121221221111221111111222112212222211211212221212221121122121211222121111122212112121112211211121112221211212121111111111121111212211111122121212121211221222111122112121212122111211211122211121221211211212122211111121211112112122122111112111212112222212222112221112122221112112121211212221111111222211121112121111221122122212222221111122112211122222121222111212122112111221121112121111112111121222121211212112212212112221121112212222111121212121122122221112222221111121221222111212112122112111222211212222212111112111212122111211121222222221121112222111121221222222222111211222111122222122122212211122212221212221221222211121112111222221222221112221121122212121211112112222121111221211111121111221222212112222221211112212121221112212121121122222221112222211111212121221112112222121121121121221112222122221122212111121221221212212111122222221222222112122221112221222112212221221222111221212212111222121121211111221122211112121222211112111221212211122221121121122122122122221221122222121221122111222121212122111111122211222122112212112221211121221222211122221112211221222212211122211122212122211121112221221122111221121111222122121122211221112222122212211112222221122121212122211222121212121212122221111111211221121111112121112111212222112222121111111121111211122121222212122212122121112212122221121112222212211222212212211221112222121212211222212221211111211121222222112111111122212211112211211121121211112221112122112122111121222121211221212112222111221222121112222221222111112211121222112211121211111122122222212212221122221121212212111111111112112212211221122111212121212211122122222121212222212212121111221112122212211112212122112111111122222211211222212111212111211211212111212112122111111221111222211122112122222222211111121122211222111222121222112122222111211212122212222222211212112211112222122212121122212112112111221212121111211111122111122111111221221222122221121111222221222222222222221111211211111212112121222112122211211112122121122222211211221122121211121212212112222121211222221222111112112121112112122111122211221112122221222212121221112112222212212212111211111221121121222122111111121112212121221121222112112211112122121221112122212221122121121112122211211221122212111211121111211121222212121122222221122122211222122121121222122121212122121221221112212222212112121121222122121212121112121112112211122121121211212212121122111122121112112111122212222212122122122112112221122222222122211122121121211111211222222112121221211122112221211212222221111121221112121212121112121212112222122112121212112222121121211211211111111121212112222212111222121112212212121221212121211122211222112211112112221112212112222221111221112112121122112221112121211221121222211122121221212112111122211221222121222122212211122212111222112111121121121211212212222221121111221122121112122212112211122122122222112122111122212112111111111112122221122221111212212222121221122112212211222211212211211111122212112212221212222112121211222211121111122121111111212212111112122111211121111222121211222122221111122122212211212112121221222211122111111221222111121111112222111112221121211221221121112221121121121222121112211122111212122221121212112212121122122121111112222111211211122112122222112222122111111212222212221212212122222211212211122111211211222211221222112221122221222222211211121211111112211212212212111222111121222121122221221112121211221121111122211222222111121211111112122121112112211122121222222111111212222212121122122212122112222212212111122212122212222212112212212211122111211121211212222121112211122211211221222122121122212221212112112221211221212111211111121222122211121122121221222212211211121122212212122112221122121222221211122111112122111121222221111222112122222112122111121222222222221212121222222221111221111121122222222222122222112221121212212111221211212121122121221212221222211122112122112222221211121111111121121221211212122222211121122112122122211111221212212122112222212222121122211211211212111111121221221111112121122111222211121121212222221111221211122121112112221112122211212122221222111222221222111111121112112112112111212112221122111211211112111112211222211121112121221222222121122122222212112122222222112121222221112122222211222112121212111112211111121122222221121112111121212222121211212221112222221122121221121212212111211221221121122112222212112212112221121212222112111221111111212122112222111112111112221212222221121112212212212212221112212122221211121222211122211211221121121211211212212212221122221221121121211222211111221122212221112122111121122112122221122111111111221121221121212221121212211221212211122122211222121111221112112111221111212212112121111122212222111221221221212222112212111222112211221221212211222222112222222121222121221112211122212121112111211211121111122221122222211121122221111112221121212222112212112211222111212122222122222112222121211221222211112221211121222212211212122121122222211222121212222122121211121221211121122212212121211122211121122121122222121221112212121222111211111112122111122221212222112122111122222211121212222212212212221221111222222111212111112221221111222212212221111222221121111111212221122121111212111112211221221111121221111221221122121122221222112121211111112111122121122111211122222211211212122212112112222212111221221121121112212222122222112221222221121112121222112222111212222212211111221221221212112122222111221121111211112112122122222112121122212122111212212121212122112111121222111222112122122221211111122111122222222212111121111222221121122211221112211111112222211112211212122211112221121221221222122121121222211221221111121221221211212211212112222221212222112222212211211222211121122112122222121211121221121211111221211112121111212221211112122122111122111111221211121121112122212111112212212121112112122211121221222211221221212111212121111122112112222222121211222212111221111211111122122122122111221121112222221212211112112111121122212111221112221222121122111111112111122112111221211122112212111212111121212212212121222212112212121111111121122121111222221121211211122112212222122112222222222122222212222122112221211121221122122221212222121211221121221221122221212111212122111112221112211222121121121121122221221121212211221221222122221222112112121121111112112121111122212121121221222111211212221211221121111112121111121221211222212111111222121122212112221112222111112221121211221221112111222212211121221222222211211222121222221211221121222111121112122122122212222211212211211222222222211221122211121221221122212211112222211222221221212112221221112122222221112222122211111211211112121112212221111212121122211222211122211121211111121111122221212222212211112211212112221222112212121221221111211221112211222211122112212112211122112211111211221211121121112112221211111112212221111221121121122221111212121122212212212221221222111212112212122221121212112211121121212221122222221222122111112112112122212122212111212221211111112112111121221111122111212212112211111121112111122111222212221111211111212121221221111121122122222122111121112211112112121111111221121212122222222121211222221211222121112122121112121112222221122112112122111112221121221212211121221222111111112112212121112122211221222111121212211222121222221111212222111211222121212122121112222111212222221121212111212122121221112221212212111111122111222122212112122212112211112221112211222222111122211212121111222211112121122212112112211122121222222222111212221211212221222221112112211211121121122112222112111111121211122221111221211112121212211121121111112211121111111211221122212221211111121222222121112221212222211112211212112211122211222111121221121121222212111222222121221221211112212121222122221221121222211112211111221211111221121121112112121122211112222121122111121212212111111112112221212122121212122122222111221222222111121112112211121211221111211111221221122121222112121122211212111221121211221221122121121111221111221122221111121211221222211111221212111222112222221222221222111211121121221121212111211221222222221212111212122122121222212122211121122112221221121212212221212122111121222212222122121211121111221211121112121222111121221112212122221221222211211212212211111111221222222211222222122111122121222221211112221122111112121121111212122111111111112122212221122121112221222122211112222112111111122221122111112121212112211121122111122222112122121121212221121211212212221121111222212112211222111221121122211122211211122221111111221112212211221112111222212111221111111112211111111211222121122122122122222121211222111122121112112211111221112211122112122111121221111212222222112111112121121121211211221121212212122112211111221211122122222212111121221122222212221112211111121222211212211122121211212212121211111121211211211211211122212112212211221212212122221112122122221211222122112122121111111212212222222111121122221212111222221121121112221221212112221221212212121121211222122112121121112212122211121112121111221212111212212222112222221112222212121111221222221222111211211222111211212222122221222111122211112211111211112221112222112211111112112111121112111122122221121211221221121212122111112211222122222222122112111221122222212111212112112112221221111111122212212221222111222211222222212221112211112222221211121222112121122211122122212121122212212111212221112122112221112122112221222221221222212122221121212122212211122211121221111222221211111122121111221111222122212222221112222221222212212121122222212112211211221121222221121121112212212212221122111121221222221112112212211122121221222222112212122222211221112212221121122222212122122112122211122211111122211122122121221212221122121122222122122221211112222121121112112112122221112222221222211112112222221221211111122111221111122121221221111121122221221111212221121122212221212221111221112212121222112222122211212221122111211111212221112211111121122112212211122212221121212111112221112111111212111222121221121212111212111121221211111221121212221111211221212111112112211121211121122211122222212211111211211122112121122122112211121222121121111111112221112222111211222112212212212221112112212211111222212222122121111212212221212112221111121121212111121121122122212111222212122222221222212212212222212222211212121121222121212221111221212211122121111122211221122112122112222112111222121122211122112221122122112111112112122221122221121221111211222111112221121212112111212222212212121212221112211111122211221122121121221212212121222111212221221111112222112222122221112221212211111211112211112112212111122211121112111122221212221221121222112111122111112221122212121111111211121111111111212211212222211211222122122112121211112211221122222111212121112111222121111122122121212122221222222222111222112222222122112212211121221221121221211122112211122112111121222221222122221111222222122112111121112221211122212212122122222211121121211212221212112221122222112122111221111211122122121112111221112222211222121222222112222222222212121111121212111212222222212212111111221211212221222112221111212121122122121122122212221211122111221222122112122221112222111121212121111121221111111221121111111111222212212121112222111111212121112111111112211121221211122121122222121211112121211121121121112222111221111212212112112212211222112211212121112122111212211111121122122112212111221211121221212122221222121121111121122212111121111212112212111212212112222211112211111112222211222212212222211121112221211121221121211212122211212211222122222121111221211111222122111222122212121112222211222222211112111112122212211121221112122211221221221111222212122221212222212112222112121221122112122211222122112221222121221122221111111212221121111122122211211221112212211212212222122121122222212222221221122121212111222112111122121121112122111211212122122222121221111112212112222222211121221112122221211222211122221122121121112112121122221121211121122121121221121221221122212211222212211121221122111221211222211221211112121111211211221111121211111212221121212112111221212212112221121212112222222221211212111112221212221121121111222121212122112121221112212121112211112121122121112211222121122121122111212212122111121211211122211211211122211111211122222121122211112222221222122221121211122211221211122121212122221222212211121112212212112112111122211111222121112221121212212221112122122112211112212211212121121222221212212211111221212222111111111112222221222221211221222111112121112122112221122111211211212121121221122122222211111121211111212122112221112212121111222211112222112121111222211112211211221211122222111122121111221111112122112222221211112211111121222111211112121122122211112122222222122112122221121212111212121122221221212111212121121221121122221121222211121222211112121122211112222122212121211112122112122121211211122121121211121122111212212121121222112221111211111112221121221112122111222112221112222222121221122212222111112222212212222222212222111212211211112122122121121111222121112212122122122222221212222111212221122121221122211212212211212111211221222222122212211211112112211212212212222211111111122211112212222111211211212222112222121122122122122112222211212122222122211222221222112221112222222122121112111212111121212212122221122122112111212212111221111222211221221111211212222222222221221121112212221211222211212121211121111221121122121211111112111111122122221112221121222112211121122211222122121221112221211211211221121212221112111221212222222211222121212212111112221211121222222211122122122221122121222121111122111122212112212112122211121211121211122221112221222121221211211122111212121212222122221211222212222222211222221222222221211112122221111111212111121211212111122112222122221211112112121211121212222111221222111122111122211212211212121122212221222111122212212212121111111211122222221111112122112111221122212121222122122121211121221121212221211122111111111121112222112222121221122222212221221122122111211221212121211221122212222111111211112121122112122222111221221112212121212122111211121111222212222211211122112111112121211122212211121211222122122211122221121121122121211222221122122122221111211122221211121211111121112212121222111111211222221221112221221112122222122221222222212122122222112211122211211121211122222221121222211211112111112112111212112221122112211121222112222221211212222112121211112112212111122222112221121212121121112111122212221212212112212121212212122221112222221121111211222212121221111112211221111121221121122211122112212211221211212221222112211121212121222121212222121111211121112222212121121222112211221112112111221222211212221122111221212112221221221122121121211211212122211112222221112112222111222122121121122111121122112221121112211212112221122122112221221221122121122121221112121212111121121222122222122221111121111122221212221212121222122212122221222122122211122111122212122111112222221121111111111211222221111121222121222121212211221212212112222121222112212122112111122222122211211212211121121121121221222212221221211111112122112222222222222122112222121112222112122211211212221222212121121211222222112211121121222122112211221222121222221111111222211212221112122211111112221212121211221122111111212212121212122222121222212121121111122211211212221221221111222222221221221111112111122221221111212121121212111221212211211212221122212122121122121212111222111112221112211212121222211112211122212112211111211112212111221111221222222212112112211122112222122212121222122121122212212112222221112111122222221222121212211121222221221122111222212211112221222211121212121211222121212221111212212222221212212112121111212112122222212121212211111212122211222112212222221212121111122122121211221211121211211222111111112222221211121121112121211121211211222112211111122211212121222222112212221122111211212112122212122221212222222212221221221211121211111222211112111112122212111221122112221211222111222111121222212122122222211222212212222122222112211212111212122122221212212121212222212121121112121222211212211212222222212212112122121221221211121221122122121112211221222211122112212122112222221121112111221122221211111122111122121111122221211211212111121112221211221222221211112121212112222211222111211112212122222212211122112111122221122222112222211121211122122121111122222222211211211221212112211222112111211111122122212221212222122212121222222121221112212211111212212221122122111122112221212112121222112221111222222211221222112122112222222211122222221212212121112221111121111211211111221212112111222211111111211121121221111212221122121121122112112112222222212211111122122121121212212212222121212211212121221122121122111222211222112222222221122211221112122222211122212121111111121212112112222111211112221122112222112222121111111222221112211122221211212222122121222112212111122112222221111122122211111112111122111121112211122112221112121211212212111121121222121121122222212222112222121112111121122222121111111122111211121211221111112211121221112212212221212222112221112212212212212112121222211221211221222112121212112212222222122121212221222221212111212121222221222112111112212122221111211211111112112212112121212221112112122111211122112111221211211222222211112212121212111121111121122221111212121222121211221222122121121112212112221122122112121211121212211212112111121221211221112212112112112122112212221111111222212212122121111211222222122122112122111111111122222121221221222121222112111121111122211122122112112212122122211122111222212112222122221222221112211222121222121121122221212212222212221112121211221211221112211211122221121122121221111121212221212121121112211122212221221222221112122111212112122122111111211212121121122222222121111221122112211212222111222222121112211122222121211222111122212122122122221111222221212122121211221211121211121212122112211211221122121221112221122112211112222112121221122211112221221122212112221211212121212112122221121111211212212212222112221112222221122121122122111222122122222221222222222122212111221222221122111221112111221222221122212211222221122222211222212111112221211112122212212212121222212222111111221212222222111212221221111221121222122212222222121122221212121222121111111122212221211122122212111111121212221211221122212222221122222211212112122222111221122222221122222221121221111212221212122221111122122121222221221211221211221121122222211111212211111111111222111111222212111211222221211211212122211111222212211221121111121111221222111212112221222212221121221112221222121122221112111221212222212111111112121221221221221121212221211211221111121222222222111222221211222112222211211122211111221221122121111121222222221221221222211211211112112112111212221121212122221212211212211222121212222222111211221222212221121222122122112221122222212122211122221122222112221111211212222211211121221221221212211111212211212121121221212112121111221211222111211222121122111111122212212211122111212122121212222221112121121222212211121222212121212122112212121222122221212122221121111212112112122222221222122121221221212111122122111221122222122122111211211212221212111111222111112222121122111211121122112221122222222121122222211121121221212221111112112221111221222222211122112122111112212121211112121221112221111221211121222221212111121221212211121212221221111211112221122112221221221112211122121222112111211112221212112121211222211212221111111121221122222221211112121112111111121211112112221222222222122221212211111222211121121212222112222121112212122212111111212212212111212211212222112112211211122111212121112222211121211221212211211222112211212122121212211222221221211121121222222112111112112222221212212121221112112121212121221221222221211122222222212221111122121212122112211111122122211112111112211211111121221112212221111112221112212122121221211212121221122221212122111111221221111111112122121211222122212212211122111221221112212211221212211111221211122111212222122122221112211111212111121222122122111122221212212121212121121222211121122121121211111222211212122222122221111222112222122222222122122122112121122111221122111222221211221111112211122121221212222111222222111212122211221122121212122112222111111221122121221211121122212211212222121211112211121212222222112112121212112222212221111121211112122121122222212221222122222211112221122212211212122222221111212121211211212211121111121112211122122112121111212121121221211221111121122211221121112212212222222112122121111112122112111122211212121111111121222211212212211222111222222122222111211211112121211211111212112111121211112122111212212222212122122122111111121112211111111111211121212122211211212112222222222122122211121121121111211121111221212122211111122112111112121111122211111211121211112121222122111222111121221212112121212122111222122211211211121211221111111122221221222222221212112112221121222121111122122122111211222222211221112212121212222221222221112212111112122221112111111112222112111221112112122121111112121111111211122112112111211212221221212211111121221222112122111112111112111121212111111211222112111111212121211222211211212122221221221221211121121211211211211221121211122211211112111121211211122211122211112212111212112211211121222122112111121121211222112111222221221112111121222121111121121212221111121121211112111121222111221111211221121122121211221122122121112221222221212212222211222222112111111221111122122122221121222122211122121212212221112111112112111122112112221222212122111222222221111121221121112111211121221211111222112112211222122111222111212122111122121122112112112111112221121221121122122112222211221112221221122121112211222111111121211121221111211112221211121212211122222112222122222111121221112211112121122212121211211212222211111221122121212211212122221222221111212222121222212112212112212222222122121211122222122112112112221222111211122121111221112121222111112221122111111212112121121221122222121122121112222121122121212222222121211122112121211211222112121211122111211112112212212222121221222122122112122212122211112122221112122112112122122212221222122121121111222122121111111222122211211112221221211112221211122222112212112111122112122121112112122112221211111222211111211112221112121121222211112221111121212222121122111222112221111221112221222122121111111211222111211212122212121222222121112211112221221221112112222212222121112122222212212212212222212121212211211122122111212111221112222112111122211221122111122212122211111221121122221112111222122121221111112211121222211212122122212121121221122121122211221111121211221111121221122212121221111121121112111122112222122222121222222121122111221112122112211122212212221121221221211111221121121211222221212222121221222212211111212121122112122111121222111122121212111222121212122112112221111222112212221212222222221121122111111122112221222121121222122211212211112222212222221112111211111221222211121122211222112212222112211211212121221221211211111221122121221112122111122121112121212221212121212221121122211222212211221122112212221122211211222222121222212221122122212121211111111121122112122221212111112211112112222121121112112121121211121221112222122122121121221111122122121121222211121222212212112121112222212221121111112222121121212111122211212212112212222222121212222212111222112221121111122212211122222222212211212111122122212222111212112111212122222122211122111112221112221121211111222222122222111111212221222221121211112212112221121222221111211221121121212111222212111222211211222222122111122221222222121111222112212121121221211121122112211221121121222221212211211212211222212221121211212121122222211222222121122112112221122112122111122121111222221221221211211211112121211111122221122112212222222211221112222212111112212211222212212122221212211111221222112212221222111211122122111221222222112211122212222221212212111211111222222221122111221212121221111122121222222211211221212212222122112221212222112211122211212221121122112211122111121121211111222222221121212212121112212222211212212211111212112121112121111111211121221222111222111112211122222122211111111111122111212212122112111221211211221212122212121121212122121121121112222222211112211121221212112111121122121221222121221212221212212211212122112111212211121212222121122121212221221212112121121111111111221211111221221122121111211112212111111222121122212111111112121112222211221221211222211222122121122211121112121111122211121122111111222112112111212212211122212221222112121111112222212211221112222111122122222221221221111212211111121211212112122111122112112112211222221212111112211111212211121112111122112222122121212222212122212111112122222121222111121111122222222122221212211212121111122211111222112221121122122212212222122122221122121111221221222122222222212221122121212112121221222222221112122211121212121211222122221121221222211111111112221121221112111112112122222221122212112212122111121211222221111221122211122222111121222222212222222111121222212222221212111222221222221111112112112212221211112122221212212112211112211122112112221111111212121122211221211122221112212212122212122222121111111122121111212121212122122111112212221211122212121221211111121122111112221121221121112211222111111121111221122221222221221222112212121211212222212121222212121111112122122121222121121112112211121121111222111122221212122221211122222222112122221121222112121221122221212111121111121212222221221212112212212122222112211222122212112111122121222221222212212211222111112212111112111112222122211212111122112212222111211112212212111221221221221221222111222122111121111111111111212111122122221222211111211221211111221121222222221211212222112121122122211222121121212112211211122212211221211222112222121221122122111111122212212212222112212112121222121221222211111211221112121121211111111222212222211111222111212111212111222121211221112111122111211111212222211221121122211122211221121121121222122211111221112111122112111111122221221111221212221212112112112111111111111211111111121121221212111111212122111122121211121111112122222111112211111112222121112221221121211122212212121211121122221122212112122212121211211112212122112122111212211121112111222211122122112111112111212212221121222222112122122121211111211211112211121111221212212212112222111112212121212122211121121211211121221212111111112222222211112211211121212112122221122222211112212111212121222211211112112212212212211211122211212111112112111222111212222122122121121112212112212222212122211111121112221121221121211222212212222222111112222221111212221211222122211212112121222112222211121222222222112211221221221221221121111211211212111122212121112212222112211112121211221222111211111122121122122111222211211112221121112112111112122212221221121111221112211221111212221111121211111222221112122122121221212111121212121221112121112211121111212122122211221222121211212121212222122122112112212111211112222121111121111221222222112221121122121212112111222221211122122212111111111122121221112221112112212221121122211222212221221212112221211221221222211121121222211211122221112121121122121221111112212211221212111111112221211111211112121211221221121211122111222112112111111211122112211112222211222222121121121121121111212211111211112111221211211112211221212222112111221222221212222121222212212122211211111212222211121222111212111111112211111122221212222211211112221112112212221122122122122111221112211212221211121112222212212121211222111112211121211121121111112221222112122111212122121222211212222212221211221122221112212212122212221121121221111221122121221221112221212212112121221221211122212112221122222221221111221211122211121222122211122221112212212211211112211121211222212222122222111222111222111122121122211212222121212122221212212211122112221121222112222212221221121221121222111222222112211122111111111111212111211112222212212112212111121212122121122222221122212222221122112221221211212212122221222211212222221221211112211211212111221122112221221212221111122221122222121222211222222122212222112211222211121221212211221212221112112122121211112111212211112122122121221212121211122212121212221211212211211112222222121211222211122112222211121212112211221111222122221222111112211121112211111111211221211112111111122212112111121221212121111121221111121212121221121122122121122121122222111121112221211112111211111112211212121221221221212212222222112211111121121212122221122112112222212222111222221221222222111211122211121212121121211122221222112112111111122111222222211211221122111111112212211121221212212222122222222111221111221212221221211221121221222121121212111122211212221112122212222122211212222111212111212222121112211221122211122222212111121221212121221221112221121121112112222122221122211212211122122111212212222112221112122211122121222121112121111122211112221121211211111112121112111122212222221121122212212121212111222222111111122121112222222212212222112221211122121211212212221212212211122211222212111212121112221122212211222122122221222221122121222121221222121111111211221211111112222221111221221221122222112121222211122221122112111212122121111111111211212211212111121221211222211222112211112112112122122122222212112122121221222211222212122222211111211222211112211211122121122212212221121221222222212212221212222122221112222222121122222121122112121111222111121111221122211211122122121212212112222212211112212121122111111111121211211222222222111211211211222111112222112211222222122212112121222212221121111222221212212112222222212121121121222211121121211212221222222111221211122222111221221211211121112212212211211211111222221221222121211121112121221121122121112122121222211212122122121222111112221221122212211122211111112122222122221212221122112122112221212212112121121222211112211221221121121122221222112222211212211212211211222121212222121221121112112221211121121221212211212211121121221121211212112122112221122121121122221122221211212111222112221212212221211222221121121211121221211112212212222112122222122121112221211212221212222121111212222222222221222112111212221112112121121112111121222221221122212211222111221212122122121122222121222122112222122221211222222212221221211122112122122222222111212111221121212121222111122111121222211211111112111221122221121122112211212111111112222221221111221212221212111222121121221211211221122122111122112112222222222222212111121212121111221211111122221121211122212211212112122222122122221222211111122122111111121122112121111212221121212222222111112112221221122122212212221111222222121211222221211212221122121211121111221121122112121121212221112221111112212222212112122221211211211221111122222211222222111121121112222122211222221112112211222221221222221211211211112222112211222211211221111212112211222212111221121121211212221211121122112112222122122122222222122211121121221121112212111121221221212221221221121112112111221121111112222212211112112112122222111121121211211111111222121112121212121122122112212221112222221221211112211222122211212221221111211211112221112111111111222222211121211211212222221212112111122222112111221222211221121111122221121122112111111122212211111121221221121221211212211212121121221122121222212222111221222112221121121222221212222111121122222121212211221121221221112121122111112221111212211112221112111112121222211112111212221222211112221122211122211112121112111221222222111222222112212211122112211222212121212122212212211212222111122111222111211111221211121222122121111211111121211212112122212121121111112222122122112111112122121112122121112112122221212112122112222212121212222211221211212112221221211112222112211112121211121112212212222211221111122112111212222211111112221122122122112121222112211222121212112111212121112222111121222211111221112211122221212222111212222121221211121221122211222122221221221211122221121111222122111212222212211211221212222122211212111122122221111112211211121212211111112112112112212221121221111121121222212111212121211112212111212112111122211121211122212221212221121222222221121221122111211221211121112111211121121212112212211121212212222112221211221112122211221111122121111222211112111122212212121222222222122211221212211221121122221111122112112112211111111222121121211212112211221212111112112111212111111221122211122211121111111121112211211211221111121122222121121111221121221112112221121121121122122222211112121221221122212112212211212121111222221111121111222211112121122112121112112211121112121222221211121122111211212211112222222212212221222211221222221222121111111211211112121121112111111221122112121221211111112112112212111212221211222122211112222212121211121112222121221222112111212112222211222121121212221111111221212121121121122221211122121112121221222221222111221221211122111222121112222211212212111111112212121222211211212211111122121112211221212222112122111122121121222212111111211111112211121211221222122122222222111121212222121222211211121111111121122111222122222212111111222222212222112112212112222212111222211212221222211221222111121212221111121122122122212221112122122211221122122221122112212111211221212212112122212111112121212211111212212222221222111222212211122111212122221111212221211121221212122121121122221211111222212222212111221212122221221222112121121212112122121212222211221112221212222211111122221212112222112211112212121222222121222212122212122122112221222112112121222211111111222212112121111122222212122121222222211211111112221112111112111112111121211122122121222112111112121221112122222122211112111221222122112212212211121212112111222111222212212112111122212222111221121111222212212112222112112121111211212122211222211111222211112222211122222212122211122122111111211211121122211121112212222121211211112211222122221211112112112222111211112112222112212122111212122212111222112112122221221211221111122212111111212111111211211111221222222212222111211111222122111211112212212112221122212121221111112112222212221222121122122222121212112212221211211221211212112211211211112212122212212211112121211121122112112221211122212111122112221212122121111122112121121121121211111112122222111122222111212112121121222211111212221112112221111112111121122221221121112221212112221122221212111221221122212122122111122112212212121121111112221111121212112221112122122111122122112212221112222212221221111112211122221212121111212222111212212212122122221211222112111112212221212121111112221111211112121112122211112211222122112222121212222221112111121221212221112212112222221121112211222121122111211121122211212122121212112112122211111221211221222222122112212122211212122111111222122121111112221211211212112112211122212211112121212222111112212221111221222112112122112222221111122212212111122221221221122222222112122121112211211221121111221122122212122221211222112212221212112112121221212122112221221222211212112211111211221212221212222221122112212222212111211221121112222221112212212221121211112211111112222121221122111112112112111221211212211212111221121122212122222111212222111222221111222112111112212222211211221122111112112212121111212122112212222221212122222121121111212111212111112222221121222112111122212122122121221212121222121112122122212211222121211111212221222122211111212122112212121221112221221122222211222221111221221222211122212212221212211221111211112121211211112212111122221122111111221112221222122211121211122221222121111122212121122212221122111121211112111111222121221212221122211222212221212111111111221212212111121121121221211111112211112112112111111122111211212222122222221111111211222222222222211122211222122222122222122222122221112121212222121222122221212211121122121222112221221122222122121111221122222222112211122111212211221212211221221111111122121212122212212121122222112111122221211121221221211111122221112111221111221211122211122212212112221221222111122212121212221121112121212111112211221121222121211222221121122122121112122221222222111222121212212121222121222112111112112112122222111122122111112122211212121221122212121211121111221222122121221212221222222222211211221112221212122112111111222122222121211212211212221111112121111112221211212211221221122112122121211121122121221211221212222122121211122112111211211212222112211212122212212211112211222121121211122122212112121111222112112212212111211212112112222121111122221221222112222211222112111121222112221122112122221222122111122122212212112122121122121121212121112211111122111221211111121111221222211221121122212221212221221111121212222122121112122212121222212111111111212211221212222221121121212111212111121121121212122221121222222122111121212111122212221222121122122121112222222112122112122211211212122212222212112121111212112112221211211112211212211212121211212122221121221121121222211122121122211212111111221222211211112222222211111121221122222212122122222211212112111111212212121212111121122211121221222111111221211212111212222112212221211211221211221222121121121112211121111211222111221122121121121211221222221211112122211111212212221221221112211212112222111111212221111222112222222112211222122122212122111112211121222121112221112212111122111222221212221221221122221222112222111212211111212122221211211122111122122212122111121211211121122211222211121112112121212211221222111212111112121111211211222122212121212212112111211121211211121211112111121211121222211111221222122112212212121221121112212221211221112121112211121222212111211122211112222111212212212221222221122211121211222222111112121222212112112121111111211221122211221112112221221122221111221212122221122212122222221122111212222221111122112212121211222222221112211121222211212112112221121112122221111222212111221111121111122111211122211122222112221112222112122211112221222222211111122111212211211121121221211212211122121122222112112212211121221211211221122112211222211212121211121122121212221111121212221221211112122221122122111221211112121122212211211112212211112111221222212221112211112112121222211111212121121221211221111111111121122121121111211112221111211222222212121211221112112121222211212112212222222222111222211111111221112111111212222121212221211121222121111122212122111212211111122121211212121222111212122212211211111112222122221221221222111122121221121111122122112221211211121121111212212121122212222122111212222222222112221211112111221211211211222122112122111222112121222112111222121112212222112222122211122111112222221112121121222112222221112221221122222111211122222122211121121111222122222212221111221112121122111212221122222112112211111222222211112112111122222111211122211222211111121111211121212122122221112121221221121211212111221221222211122222122111121211211221212221112121212221111221212212122111211222112211111222111212121212222122212211221122222211221211122221121122221112221122122211211222212121212212122122222212112112222221221121222111211111222112211211211122122221122211121121121212222112111121112122212212111112121111221211211222121111211122121122122121112122111112122212222211222112112211222112221111221221121111121111221121212222112121212122212222111212211111211122111211211212111212222121212111121111122112112121221111111122211122111222212122221112122111112221112212112122111221222122211121121112211122211121112212112111221121211112222122211122122122111221212211112212212121212121111122112222212222221222211121211212211222121122112122212222112222211112121111222222121111112222211212222222111222122121222121121111211222221211221221222212112221112211122111221221122212222112211211111211122212222112122111211222212221121111121122121121121211122112212211111112211121111222122211211221111111121211121222112122112121112211222121221211221221212221122121111122111112211221121111211121221111211111111111111221211121112112221212112211112222122212212212211121121222121212221111222111121212111111222221222112112222212221112122122222221211222122121211111122112112111212222222212221221222122222122212222212122222121212212111212111212122121122212221121121211212221122211211121221111122112122111222212111221111111211211222212122211121211221212111122122121212221121211122212112122211121111211221222221121121221111122122221222122212111121211211122212211111121112212211121111221122221221122211212211222112211112122111121112222122211221222211111212212122221122221211222112111122222221121222122122111121121121112222121122111222112122222112221222212222122112121222122111222222212221112122112111122122121111112212122221111221212222121222211122121222111111112122121112212112112121212211212111212212222222211122122212222122221122212212211122122222212121221122111112122222111121222121121121112112111211121221221111121112112111212121212221112122212121111111121121122211212112211211122121211112111221221112121111112211222222211221222122211211221211121222222211122212212222222122122122112111222221221122222221222112111211122221112122111211121111212222221211212122112112221112122122212122112111222222221212221212112111122222212211212222221122221111212121112112222121111221111121112211122222111212111211212121212211222112111122211112121211111112221221221222122122211122221212222112212122222112122212112112211222112112221112221212222111211121211221121221111112111212122211221212122211111112111212221121222221222112211211121122221122112212222211112221221122211122212122222121122222221222122122111121122222122222112112122222212112121212122111222121112212222111212121211212221212212211212121121211212222121211111221122222121111221221112222221121221221211221111112112111111121212212211122121222211211112212211112211222121121111221111112112112111211111111221122222212222111111122122222221121111112211112212221122222122222211212122121112222122222121111112121222112111221221221222112211112211221212211122112211121221111212221112112122111222111122212221212122212112111111122122122122121221221221112121222212111222122122112111122211122211122122121221212121222221222112121121121222111221122221121121111211121121112221221222212111121222122222221111112111211212122212211122122122112211112211121122112211211212111112111212221121121111121111212112212122112212211221121112122111221121121122111111112111221122221122112221121112211222121211111112122221121112121222222221221121121222212221112212222111211122221112122111122111212112212111211211122112221111211111122112111122221111122222221122121112112112121111212111111121222121222122122122121222112121221122221212222112222222122111111211211222212221112111112221111111212112211121211221121222121112112122211122212121122222122211221112111121222212222121122211121211111212211221222211211211122122122211112222122111122112221221111212112111122122212212221222222122121112212212211212222212122222112112212121221112222122221122122211222121122122211112121222221212122112221221212221212221221222111221111121112211222111111112222112122211211112221212222222112111212122121211221212221212122222222221221111111212222221112211111221111211112222112221122112212221112111221122212112222212111111222121222121122222211122112221122112222222122221222111221221122112112112211222112222212121211112211121211211221121212212222121112112112222112112212222112122112221122222121222211222111111212112211122122211121111221211122211112111112112211212212112111122221111122221111122121112111121122121221121221112111112211111221212112121221222222122122221112122222222111222122211211111221112212221122221212211211211121121222221212121112122212222121121221222112221111121111211122221122111112221221112211212121111122212122122111121112122221112121122222222112222222212212112222122212122112211211212121212121112221111211221122222112112112221112222111221221121122112212212222122212222222222111222212222111112111211211121222222212121122221221212222221122212112121112122222112111112212221211122211121111111111221211221212121121111211112121212221212111211121222111212212112111212111112121112212122121221222121112211122122111121221121122121221221112122122122121111211111112121121212122121221112222212121212112212112112122112212122112221112112111211221121112211122211221121111121111121211222221222111121212212222211211222211222122221222121111111221212221221122121221222221122121122111121222112221121122212222112221112112212211211111122122221222221222211111121112221111212221111121221111211122121112221211222212122221112112111121222112112212212122111222121221112111222222122211221121121122111122112111221222212111222112112111222121212212121212122121212222222121212211121221122212111222121112122211121111121212121112122122222221222212221212221212211222222121211112111111122111121122221112111211122122112221121112212222211211212222211111212221112111112122122111221111121122221112222211221111212221212222211112211221211122211112211121121111122221121212212122111211221211221111112222212222121112122122212222212121211121112112121221221211112221221121112121212112211212211112122211122122212112221221221112112221211212122211212211122112122221112112122212112212112211221212111121111222122111122112222112111112222221212222112222221111121211222211221222222222221211212111222212211222112111112111212212212111222122221211221112121121111111221221212211212121211211221112121222111122111121111121221112212111222221111212112212222122122112222112211221211222122222221222221221112211211111222112211121222121111222122211121212111112221212111112221212211221111111112121212112211211212221121211111221122112121221211211222221122122111122211121221221111121222111222111122222111221121112221121111112211111121211222122112221211122122121211111111111221212222112112121221111211122212212222121222111222222111211112111222211211111122121211221212111222222111122211211221111111221222121112222212212112112221122221122121122211211111122212221112122222211121212112211112112222121222122111222221221121122221222211112222121222111111221221211222111222111121211112222212122211211112122112111212212121212121221121222121211211222112221111222211111111112122121112111222121112211212212212111112211211222221222112121211222221112122122222121122112121212111211112221221211122221211222122122112111112121212122111122221122212222212121212222211112221211211122111121121121122122122211211111221222111222222111212111112212111112122122111111211112122111211111122222211221111112211111221122221121112111112111211121221221112121122112222112211111112211121122111111112111212211112211212121112112221111121222122221121121122212222222122122221222222122121112122121211222111112222111121212212112212211221212221111212222221112211111121222111221221212212121221211222222111121122121222222221212122122222222211212222212122211121112212121111112212222112212212122112221112212112121212122211122121221122212222212222122112121112112221111212121222111212212211122122211221112121121121212211111122121111212112221121222211112121121222221211121211221212122222121222122221221222121121221222212121211112122121121212111112212221112111121111111121121122222222222222122221222112111211221122222112221112122221122111222112121121221222212122112222222122212122221111211212222212222221122212122121111111112122212211222211121112112222221212211212212122211121211221211111112211221112212211112221212122121211221111211122112122112121221212212111212212222211211222212121111111212212211221212221111112211112212111112122121222122222121212111222222212212122111112122221221111222112221122222121212121221111221221222212112211111112222122211222121211112221121222122211211212111122112122211112222122112222222112111221112221112111111111211211112221221122221212222211111121121221121112212121122122122222121212111121121221121221112221222111122221121122112212211121221212211111112211111221111112122122212222111112112122112122211121221122212111221222112112222212222212212112122121111211211121221121211112212121222222212121122112222222111211111211212222112111222111121111212121222221222111112212211122121211221211122222212222112111112221112111112221112222222212222112121112112121121211112222221111222211112221121122112212211221221222221111211222211111122122222222211222111112111212122212121111111111111222212221122122212222211111122122112122221212122222211112221111112222212212121212222121212122122111111111121222222221121212122212121122222222211112122222212112221111212221212221221122121122212112121121211212121212221122121212211211121122222221121112121111121221211122122112111221211212121211221112221122222212222111211221112122221112211221222222222221222211122111122111122111221121212212212212212221112221112222111112122212112222212222212112121211122112221111121122111122122212221111121211211212221111121222212122221111212222121212121222121111211212121121121221122111111212122121222221221212112111122112212111122111211121111121222112111121111122212222112111121212111221222222212212111122212111221222212212112212112121111221112111222211221211222121121211222211112222221121122122111222121222212121221212112211222212212212121222211211221112112122112212211112111122221111211121222221221112122222221211121211211221122112212212212112122112221111211112212221211222121221212111221222221211211111112121121111111222111121122121212221122212222221111212221222122111222211212212122222221111221121222222121121112211121121112121221112222212112211121122121121212221122112112212222121222222121211111112222111112121222121222211222221222222221111221122111221112111111221112122111111111212112211221122112222111112212221121122121211112222112222212212211221112222121111111212221211111122121121212112122112112111222112222222222111121212122211111122212122111211222221111211212112122112111212121122121111121112122212221221212211212222112222221222221221111111211122111222222221211112221112112122122211111122212211122111122211212112111211211212121122221112212112121212212211212121121221122122211222111211111122221211112122111212121121211121111221211222111212221122211122211111211222221121112222222121221121111221122212112121121212121221111211212212211222211221221212112112112111211212121212212221212212211121211212112121221112121221212112122122122221222121212112222221111221222122122121221212121122222221111212222121111121111211122111111112221221112222111121211121112121222221121221111211121211212221121211221211111122112212212111111121212111222112121111221122212221111111112221122211122222122211121221112212222121122221212111121112122211111221122222121112111122112121111122112211211212111111211222112222112212211121222222222222111211222111212212211212211112121211121111222111121121111111122221121121111121212221122221211222121222222212211122111211222122111211122211122222211211122212111211221122111221112112111112112112212212112122121222112121211111122212211121211121212111122111211212121112121222122212212121212111211212121221211221112212121112221111122222121212212222211211221111211211112222111112111222122111121121121112112212122211121222222112121121121222211112121112211112122222122221121211112211111111221111122111211211122112222221112122112221222212212221212212121212122222111111212212121122212112121222121121221212111111221122222111211121122221121221222211121221112112121222221111221121122112211212112221122112222221122212112111221212121111221112221121211221112111222112121222121122221221211121112121212211222222221211122221112221211121112222121112211122211212111111222212111212211211112122222211222121221121221222121222212221222211121112222112211122112222122111212111212112211212221212222222122211222221222211212211112112122222211121122222211111221212212121111212221222112121221211212111111121222221121221212211111121112122212222222111122112112222112222111122221122221222221211221211121111122112212211112111211211112121212222211221221212121121211111211111111222112212111222112212121222221111111212111122212212212112221111121222211212122222121221111222111121211211212121212221122122212221112212222112211111121211211121221222211121221112221222212112211111121122221222121121211112212211222112112211222221111122111212112122211112122211111221221221111222121222111211112211222112122122121121122211222211221111211212211211221111111111212221121222212222212112112212122121211122121122221211122121221212122222122111211222221221211111122112222222121211212121122222222222221222112221221222221212222212211222111221221222121122212212221211221211111111122121122122122111122211212121121212212211121121111212112122111222112212112121121211212122121122112122122112121112112221112122211212221221122222211122212221111111212222122111122221112111222221121221211121111112221221122211122112212122112122122122222112212221121112222211212212222112221212211121112122111222111112112221111212221122111221112122212221221211121121112212111211121112111222122212111112212111212221111112121211221121112121211211111211121211112112212112221211222212222112111111222122211222121111112122121111211111221112121212211211112121211111121222222112112121222221121211221122212211121221221221112121212121112111212122222212222112111212122111122221212112222122221121121121111221121112122221111122211222221121212121211122222122211221212221112111111122211211121112211112122222121112122121111222121121121111221111112111111211121121212111122111222112122111112212121211111222121221122212111211111112221212122221121122221122112211221112211121211221122212212121211111111212211111121112222211121222221122112121212221112211121112122222221111222212111121222212211211111212111112221211111122111222122222112122212221111111112122111222112221212121221211221211221211221212212122211221211222212222222211211222111121222111121122111221122211121211222111121221111122112121222211122111211221122222111212112211222212221112221121211221221221212222111211111111111222111112112122222112111222122122112221222122122222122222121111222112111221112211112122211221211122122122211121222222112211211112212121112122222111122211212122121212122111112211112221122121221222122112211211221211212211121211212111212111122121122112121211212211121122111112122212112122211212112112111122111212112121221222111211112112221112222222121212112212211212211112111121222221122112112221111112221122211211222222221211222112222221122211211211221222212211211211222222112212211211112212122112221212221121122122122111111122121211221221122112121122221211221211111212211222211121222112222122121122121221211221221121112112211211221111221122121222122111121122121211122121111111122221222112212112212121212211121121211212211111112121211221211111211111122122121222111221211211122111221112212211122111121212212221121122222112211111222112122122122122121221222112222122212222122211122111122222212221121222111112111211121221111111111112221121121211112221122112121121221111211221212212122211111212221221122112112221221121112112222112121222221222211221112122222221221212212111112112122221211212121121212212112221111112112212112111112112112221111212211112122122111112111222111211111221221222222211122211212111222222111212221122211211211121121112221212212111122112222222111111121211122222222112121121112222111211111111221121221211222121121212122112212121212121112111211212122222122122112121121121112121222221122211122222222111221222121122121221111221221222111122121111221111111212111211221122122221121212122111212112122211111112111222221212211112211212111211211122221221122211122221121211121222211211112221221211122221212212122122112121222221121122121122112122112112212121222112221111122122211211112221211212112122211221122222221112221122211221121111111212112112221111121122212211222111111211122222212112111112122212122122111111111212212222212221221111121121211112212111222212211221212121112212211222222112211111212222121122212112111221112112121111111122111112121112212212111111222211222221111111222221111111121211112122221212211212111211222211122121112222112212222122221212222222122122121212221112122222211122122111211111122211111221112121121112221222222112211121222221222211121211222222211111211121122222222221112121211112212222211221112121212121121222112211221211222111121212121112122121122212212222212211112211222122221122212112122222212122121211122222221112222222121122122121221221122121222221111121221222122211212222112112222212122211111121222211212212112212211212111121121121111112112221222121111122112221122211212211121211112212122222222221222122112212111212212222212212212212111222112122121112212221121221121111222221212221111222222221121121111212121112111211121211121121212112112212211121222212222121111212212121122221121111122222222222122111212121121121121122222211211222222121112112211122221212122221211122111111221122222221111211221212112122212111221121221111221121122121111212112212112121221121211111212111122222122222112121222122111222121211211221122121221221212222211111211222121221112111211211221121222111121111112221121112221112112122222111212211121211122211122121121121211221221212221121211112222221112212111122221122111221221122111121211212112222122211122211122222211211121111121222212112121222211221121212111111111222121211212112211212111121122212212222212211121222122211222122111212111222111211121222121122112212211221222211122121212222222112121111121122222121221221222112211112122212111221221221121221121212121211111122211111111112112111221121212122112111221222121211212112121211112212122212212222211221211112112221112221212122112212121211211122212222112122121222222121221221222112222221112121111212112111221111121211222221222222221121121221221212222221111121222122221121122111122221211212112111222111212122122221121112111121111211222112222211121222211211212222222112112212221222212121211221211211221112122112111221122222111122122212111211121112212112222211221121211212112211221111211122122221211112121221111122222121121211221211111122112111222222211121111211212111122221211112212221211122212122122221212211222211221211222112112212222212222112212222221122122112222112221122212122121222121222122212211112122222221121122221212111221222221221221122112221211121222212122121221212211221112122111111121212221222211222112112221212222221112221212222211112121112211212112122111212122122112212222122221112222121112122211212221222212222212121221122222122122211212222112222212222211212112222221122112211212212112211122221212211222112111212112111111122122122111122121221112112221121112121211221121222211122222212222111111122111212122221111211212122211221222122112212112112212121121212221122222122211222122121211211111221112211112211212222111212212221221212222122111222122111111222111222222121122221121111212222112112111121121111121122221211121121221211121221211121211221211122112222112221122211212122221122212111221112221122212112122212111111112211121222212111211212112121112111222111121211122122121112211222212212122121212211112222222222111121211212221122121222211111111221211211222112222111221222112111122222221221211121122211221212111211211212111112222211212112222211211221222222212111111222221112121111112122121112121211111221121211122211211212222211212221221211212221121112122222222122221211112211212121211221212122121211112112111211211211221222211112122111211221211112111112212111111111221222111212122212222211111111221122221222122222211112122121111111112122121111111112121222112121111121212122111122212122212121112212121121221211222122111212212222121112221212122112121212222212221221111111222212212112112222122222112211212221211122122211222122221221211211121222222122112222221211211221122221121221221212212121222112122212221221221221122111112211121211221112111122121121211111121221222112112122222212111112222211112122212222111221121212222222121212222112212111221221111221121211221122112122221221212112111222111211221221221122121111112222121122112112222121111211122122211122111111221121112121212122211122221211221221122121222122122112112221112121222121211212112112221211122112222222121111111221112111122221111222212112211112111111121211211122112121121212211221221221211211221221112222211111122121111222221121111222122121212211221112122111211111112211221112111122211211121112211122112111122111122122211221212221121122222222122111211212121121112112211121122112222112121122112212211111112121121212211121112212212111121121111121221211112221221122212212121221111111112221222112211212122222112111111121111121122112111221211222122222211122212122222112222221111221121112212122211121111222222122121112221112111221212222222122111121222122211221121212112221211211122111121221222211211222112111212122211222211221111221212212221221222221212111121211221111122221211221112222122111111111212111111112112221211122121222121121212212212112121121222222222221211122112221221122121111211211212112111222221121212121111222222222212111121111211122111221121121122211122222211122111211221121212212222212221212111221111122122112111121211211121211112122111121221222211122122212111112212222212112221112212122111221121112211121121122221121112121112122212121222222212121122212122221211211122111221212112112221111122221222212121212221111112121221112212212211122212221122211211222111112122212112212112212212122111222111121221112212122221112222121212211112212222122111222121121211222221221212222122212221111121122212221121221221221222111211212122122121211211112111212212122222121121222122121212211122122111121211212111122121111122122221112222221211221222111221121222111222212121121222121112121122212212212121121211212222212221222222211111122122222121111112112211121211211212221112212222111211212122221122222222212121222221121211122222122111221211211211121222212111121122122222112112121222111122121221212211222121122212121121222122212111111211211221222212221221221112112211111222221222111122212111122211122121212211121222222121112122221222122121121211211122111121122112112211122112211221122112111112121112122112111112211121111121222221211221212211121112112222212121212122222222222122112121212121211212121212211121111212122111122221221221112122122121211112221211112111212222221222122121122112121121222212112121222212211212211112222121212121221211212111121212211222111212212122211212222222212111122111222121211111121112112222121111222111122222211222112221121112121111111211221122121221222222122222121122121122212211122122122121111212211112221212221112112122222212122222122122122212121221122122221122112222122212112111112221112111222122122111112222221111112212111222121121122221222111212211221121212122111221211111112112121212121211221112222211112111212212211121222112221122112212211221122111121211121121111111212122222212111112112121221212122111121122222112111121112112212211121112222221112122221122111111111222211212221211112222122211222111112221111212221112212222111111112111121221222221112222221122112212222112212122121222121212112112221121111121122212122112211122222221121121112111122111121111222121122212212211112221212221211222121212222122121222111121211111212221222211211211112121222221112112112211212211212211211211122111222221221222211212211121111112221222222212211221122212221222111221211122122122221211212212211112212112221111122112122211212221212212211122121111112122112221221211222221121211221122211211122221122121121222212221122111212211122112121112222222122122211222212212112111221121122121221222211221221221221211211222112221222211111222221221112221221222111221111112111121111122122221212222111212112112221211211212211221212122122111211221121111211112112121222212211111112112112111222212121211122222122122121211121112122211122112221222112121212221122212221121221122121221122221111221211121211121111112222122212111122112212111222111222222211121212212211122212221112211221112221112112222121222121112122111111121211122222112212222221121111112211221112121111221212122121211111122222121221112211121211211212222222211121221112122222212111212122222221111212122211111211222112212222222121222121211222111222212121111212112112211111221222212121112121121222122112121212221112121212112121212212112112211222222221222112121211111122212221121221122122121211122112122112211111121221112121111222221111122212121111121112112112222121122221211111122221211112111121221121221212121222212122122111121111211222121212221221222211212112122222212121221122222222121122121121211211221122122221112112112112111112212221112221111222121221221212222212121111122122111212121112111222122212212122211212111222222122121112211212211211111211211121211122122122111222221122112211122222221222221112121221221222111211122112112121111111122211122221122211112211222121212221211112212212111122122122211121112122221211112212121121121111211122122121122211121211221122212121221211211222211121211212222222211221121121121112212112121221122111211212222121221111211121122112122121222121121112221111221221211211122221221122111222121122212222222121112221122221121121222121122212211221121211212212122221112121121222212112112112221121112221121121122221122222212121222112122122222121111221111212222122112222222221222121222112111112112122122221112221121121212211111111122122221222211122111221111122111211221122111212111122122122122121112111112112222212222111111212221221222212122112111111121121222122122221212121121212222222221221221121111122111211111112221111212112122121121111211122111112111112122211112121211221221121112121121222221111211122212222221111211122221112211122121222121111121211211122222122212212112222221121111221212121121111221221212222222211211211212212212221222112211222112211122121121222112212122122111122112211221121222112211211111121222222112112122212112211111221121222111222222211112211122122221112221112221221212111221222122221111222112212112211211111111221211111111221211222222212221222221111212222111221121212222122112212222212211122122111121111112212122221121221121112222111222121222222221112111222211221212122222221222121111111122221121222211222112212121111212211121121121122121212112222111111121212222122212112212122222122212111221221112111222221121212221122111222122111121211221221212122221121121111221221122112221121112221211212211122111121122111211111112222122121112122221122122211122211221122121211212112221222222211111211122221121211111211122222222121211111221211222112212221122122121111212111111121221111121221112222211122121112112211211112211212121111211222122222122221211212212112112221221121211211211212211211221111122121211111212122221222111211111222121112112211211111221121211112112111221112211112221112122212221122122221122221122121212211222211222121222211212111112221222222212111122112211211122221111221212212222121121221212112111222121222121221211122212122121122212111112221211221111221122212121221112221212221122212121112222222111222112221122222222212221212211121121221221122111122111211111122221121221211211122122111112111122122121221111112222111111121211121121211212122211212212211211211212221111112222222222121222122121221211122112222112211211121222211121122122221211222111122121211211222121222221112221111121222111121121221112211221212122222212222211122221221221122111211111212122222121222111222212221211222212222112122121121112121211221121222121121111211112122212211121111122211221121222211221221211111222112221122211222111221111122121211112212122121111122222222122222211112211221112111111112222112221211212221212221212122111222121111221212221121221221122111111112222212111221211121112122121211212222121221221112122221211111121222222121221222212221121112222212211211221121122211111211121111211222211112121211221222122221222212112111121211122122122222122222222222111112212112111222211112211212112111121222211222222211212211111211211112111121222121111121112111211221112222121122121222121222121112111212121121211111222212221122221122122122211221212212121112221111112122222211111112222211122121222121111212221212221122121211211221221111111211211111112122112122222111111122121221221212121222221212211211112111212111212121122111121222121212221121122221221121111111121211112121211122212112112111211212211121212112122221122122122222112122111222112222221111122111212222121112112222221121112212121112122211112111111221111221211222112222212112211211122212222111112221121221222212111121212111122222212222221222221112221211121212212121222222111121122112221221122211111222122211112121221221121111112121212211212121222221121112112112121222211211122111122111112112121122122211111221121211212211121111121111212212212111111122212121211221121222111112122222222212211122111222111111122122211111222112112222112222122221111111222221222121212222112211211122112122222112222112122121212222212211212211122221212222112211111122111122222112221121211222112221211111112221212212222111112111212212122112221221111121222112221112122212112122221211211212122111212121222112122222112122122211222212222221222221112121122221111211121211221221211211111121122122221212211212211112212222122211111111222222122212121211112111121221121122221222221211222211222221111212212212221121221222111221121222222212121121221112121112221111222121212112112212222122212212222222122212221122122221211211211111211111111212211111112212111222112112111122121112212222222111112121111222212222121121212211211222211222112121221121112212222221212111112211212222212211212112211122212211221111221122112221112211211121121111211222112212122122222222211221212212121112212212211211211122221222212212122122212111211121212122112111211211122211112222212121121112122112112222212212211222111221211121121221111212112111112222211121121121121111221222121122222222111222111211112112112111112222221212121112222222122211222121111211121122212111112211212111212211111211221122121121221222112212212112211121112122112221211222121222212112112122122122211212122121221122111111212221122111122121121212112111221112112122211111121122111121212111112211221212111211122221221211221222221112211211111111221122221122211212121122121122112112212111121121211112122222112222121121112222112212121212222112212222112212112111212111221222122111122122112212222211112221112222211111222121111222121121212212122221211222111121112221222221121221211222211112221111121111121211112222222122121122212121112222111222221122211122211221212212211111121112121122122122121211122121211121211211111111112221221121222221112221122222221112112112112121212111111221212121122221122112122221211222111222222122122121121222112221211211122111211111111211122222111212121211121121222212211111211121221221112112112122222212121112222111121112111222112211221222111211211112111122212222222212122221122221211212221221121211122111121111111122212212111211211222221211121221222212112122122221122111222221111112221122111122111111211221111211111112212222111121212221112222111122212122221121111121122211121122112112211121122121121222121222211221222121212211112222222121221112112121212221211211221112122112111112112222121122112212111112121122212112211212211122111122221111211211121121111211112111221111222221121122211121121212111221111122221112211111121212221121212121111222121111111112221112112111222212112221222111121121221111111221212221212121221222221211221122122112221112212111112122222221211112111221122122112122122212111111212121212222122212121112122111211111222112211211212111211121221111112112122212121221211111221221122122211112211222222121222122212221111221122112121211112212122211112211111112122221221121212222111121222121111122122112212122122121212111112212222221211112111212121122121211221112222211111121111212221112112211111221121122122211111122212222121121112221221212111212212211112221112212111121112121121121221112112211112212222122122122111112221211121111122111121111121122111121121212122112212212112222211221212122211122122211121221221122112212222112112212222221121111221112221121211221112212112121112112111121211112222221222111122222121221221112122111212212111111111222221222221221222121122222211111221121211221221111111111121222221111221111121222221121112222112111222121211111111121211111122121222222121122212121222121111121211112112121111112121211222211222222112111122122111111222121111222211112211112221212112211121112111111122212122211122212211222122121211121121211211221111211112211122222111222211212222221222212211211211122121221122111121121211122211122212221222121221212111211121211222121211211112122221212112221221212111222122122111211122221221121221112212221111212211112112111121222221212112211111212111212122111121121111111111121121222212122212121212211221121122222112112212212111121211222211212211222221111111212112222221112211221121121221212221111111121111122222111211121211212122211111121211112122212111122212111122112211212212111211122121111212221212112211222122122111122212212112111212222212222122122121211111212211111112212211221112211222221211222212211221211111221112221211111212121221121221212111121222212121211111211221121211212112222122121222111212212111121212112221212212112112121221222112211221121212221221212122121121121121121122222112122111212122121121221112111211222111112211222211121112111222212221221112112121111212111112212221222211222212121212121212112112222211122112111222112212221211222112111211112111221212222121222211221121122121211212111222211222121222212122212222122122112122121222122221121212122112122212222121122221221221221211112111112122221212212211121211212211122212121111122111221122222221122221111222122222222221222121121212112122211112212222111111112112221221112211111222121121222122121221112221122122222211121221222111222122121122111211221211212211211112112211112112212121211221211212112221212121122222221222222212112212221111121221221121211222122222121121121221111112121112212211111212111221112222121221111111221212222211222222122122221212222112121111112212211111212121111121212112211211122121112222221212222121111111212112211212212222112221111112221211222212111212212221111212211122121212212122212122211111212121122211221111111122121211222222212211221211122111121211122212122221221222222211121111212212112221112222122121222112111112121112121121121121121112222122212211222212111221121112212222112211112121122221221211212121221222111112222212121212111212221211111222122112111212112112122122221211211121211221122122212112122221121222122221121121211122122122122212221211211122111211221222222121121122111111221211111112112221111122211211212121221211112221221222121112221212111121111121111112222212112111222111121122211112122122112112221111112222111111221111222121112211122122121112212111122111221122112212222112212222212222212112111211211211211211121111211212111112221222222222222112111211121221211112122211212121221111212121112211112221122221211212212121121211212121222212122121211212221211211212111111221112222221221122121111111222121121212121121212221212212211211211211222212211112222222112211222112221222221112121222122121222111221122122212121121211211111211211212111212211111222121211221211221111122111222221221212211121121121222222122212212111121111211222111211122122111121111121122212221112212222221212211122212111111222222211211112222112112112212211221112112121122212121222112112122212212212212111112221122222221112112222222221211212112122221221121211222221222122211111212212112212221122211112221122222121212221212211221211222221211211222112121221121212212122111121112211112121112221221122212121211222122212221222212111212221122111222211111212122221111122221122212121122122121122221222121221211111222221222212122221222222221121111111221222222222122221122121222221121112121211211122221112222221121122122221111212122122111212111111221122211222121221221221222111221112121212121212222111111121221212222111111211222221112121121122111211112111112221212121221211212122212212211212221221212122212121211212211221121211121122211111211211212121112222122122112121211112121221222122111112211111211112121122122112122221111222112122212122111211212111221122111112111222212212121212221112211212211111121121122221221122222222222121112211111111222111212212221221212112211221222121122211212221211121122222111112122222121212221211121112211122111222122212111222212211222212212112211111222111222212122122211122111121212112112221111122121111122222212221111122212221211122221121112221221212221211122211121221222222111212112211212221212112122111221122222121111211222221211211222222121112212112121212112221121122211221112112211112212222111111211211221122112211211222212111112122122212112221122221212221222111211212122212211121212212211112122211211211222211111122222222112212211221121121212221212111122211111212122122122212121212212121212221211212212222212211211222121121111221222221122212211211122222222121221211111122212211122111221211222111212111112211211111111222122112112112121221111222122221112112122121221211222211112211121121122111221111111211222211221112111212222112111122111111111212211211212122222222111112221111221212121111211111121211121121221211211221222111122121222222121222112221221122111121121221112111211112211122111112211112221121221221211212112122111211112222112211112221222211112111112212111112211121111111211222111211222222221222111221122212222122211211221211122222221122122111211112211121211112111112222222121221211111112222112111121222222122222211222121122112211211121222112221121211112111222112122212222222222221212221211212121112121212222112121212121121211122122112122111112222221122112121122211212111211221221112112111212122122122122221111221121121111121211122211111211221211211222222112112222112211212222221121222121221211112121111222121121222112112221112121221211121112211112212111222122222221112111222122122221122221212221221212221212121221111112221121111211111212121221211211221112122221122221221222112211112122222212221211121221211122121122122122221212121211221222222222212112122121122112211122121122212211111111112112222112122221211122111112212211111221212112111222111211212222222122121211111211211211111121122221111222211221121111112112121112221112221212221212212111222222112221222122212211121222122111221211221222122111111222222112112222122221221222111122121222122222212122111121121211222211211111211122212212222211111121111212222221111211111122122221211111112112121121111121111112112221222111211222222211111121221221211221212112112221122112212111211111122112112122111112112212121112212212211222222111111111212112112211121121122122221212211121112211212221221212121212111121112121122222121111212111222112212121112111221112112212112222122112111221121211121221211212222211112211211221111112122221112212222222222212212122211221212212221121112222221112222222122211211122222121112122222111122122121212122211121222111212212122221121212122221121212221122121122111111111111122222111121122122212122121212221222121211111222212212212112121211221112122112121221212212222112112211222221111221122121211111111112222112221222221222111112111121221121221111221221222111112211212221222211221112222222211211112211212222211111222212222211121122122212212222221212112211211122211111211222221112122222111212212221121211122122111221222112212221111122212222212221111121211121211122212221222111112111222211111112111111122121122211112121211111121211112211211212212222122221111111122122221212212111111212121111212221222212211111221212122222121211111222212212211111211211121222211222112211111111212221112211221122122212111111121212211212111212222221122122221122221211112222112221121212112212211221111221211222121221111211112222212222221212122222111111121121111221222122112112112121221221112121221212222212221112111112111212121121221122111212112112212222121212121222121121212212111221221222111112221122111221111212122211111211221112111111121122212122111111221111112112111221211121211111122121221212111111222111122122121111111212212221221121122211211121221212222111111122211221112211112212121222221121122121212121211211211112221212222122221211212122122221221122221222112111121112112212211121222111122211211222122222212222222221111222112121212111211212111111112222212111221212111211111212211212211212121211211222211211211211222121222211121211212122121212122211122121122122122212112122121112112222221211112222112221111212212122212221112212121121212112221212121112121111222211111112111111122121221212211212212122122111211222221221221221211212221112112212211122211122122212111211221212111211122111221122122212222122112111112212122211222222211211121121221222122111211111222222222212222111121221112112121211212222122212121221122221112112112122222211221121111221211111122222211212121221111121222211211211212212212122222211112112122221212112111111111121222112112222222211211111111221122212211121121212122111112212211221221222122112122111111112122211121221121211112211211211112111211121222222122111122122122122211221222211222111222112111222212121121121221111122222121211111122122222211112211121111211122222112221222222112221221222121212211112112121212221222211122222121212211211112212121112111222121111112112111221211121212111212222111121112122122211222121112121112122222221121122122111211211211112212222222221211221121111221211121222111221121222111121122122111211221112111112122222112122222212222121111222112122221121122111211111222211111121222122112121212112222211212122112111212111222112121112221221112211211212222212211121121112222112112221122111111212121121221211111221222121222211112212211222212222221212212111222122222211111111121112112111211122112221211121222112111122112121122221122122212121211121211121112212121121122212211112111212222221111221211122111212122111211212111222221122112211221122221221112222221121212111111211112222211222112222211211122212211111112221122111121211221221211122111122222221222112111121221112211121112111112112221122212222121221221112122211212222211112112112122112112112221111112211211212222122211121221112221222111112222211111222222122221122211222111111212212222211121122211211122121222212112122122221121212111111212212212212112121222112221211111121112212221221122221222211221122221122221212221112122222211111111222112112212112122112222212212121122222221212222221111222221112122222112111121222111112111221111221122222112121221121111122121212112111221112112222212122211221121222111111121221121222221212111122212221122212211121221122121221221212221221111122221122211212112212121211121222222212122222112211211222211212212221222121121211221212222222121111111212212211112211112111122221112212212212122212211212221211211122211112212212222212212211212221111111122122222221121121121222212211122211111111211212222112211111112212122211222211112111221122111222112221112212112121212112121121122222111122122112111122211221212121122112112121211111211212211112121112122121122122112221212111212112122212122211212221112111222121212122122121121212221212212221221221221121122121211222111111122112111112121211121122111212222222211112121211112112122112212121121221111222211112112121211111211122111111122211121222121111222111211221121222222112222221121122222211121112121221111221211221111112211221212221211111221121122122111122111212221212122212221122221221222122121212111221212122112111221212122212221111111121211122122222221111121222211111211211222211222221221111122212212211111111121222111211222222121112211221222122222222122211112121211112122112121221112221111111112112112111222122222112122212221222221122212211221212222121211222122121221211221221211112122212122121221221212122212211211121112211212212212112112111221221112121111112211121222122112211111121122112211211111121212222112222121112212112212112122222212112211211221222222211221222121222121122122111221211222222111221122222221211221111111121122211112221221121121211121111122111111122112222111122222212112222221221222111122212112212222211222211212222222221111221221212112222121112112111112111222112212222122222122121121111112221222112122112212122112111121112112122112112211122112221212112121121112112221211222112222211222222111112211112112221112111122212121121211212211121212211221222211211222111211212212122221112121222222112112211212211221222211121212222221211212211211221211121122221221211212122211121121222221222121212122122222212222211122211121111221221221211211122221111222122211121121121112121222211111211111111211122211211121222221221122211212112111121221111121111112221221222212211221221122121221221212222221221112221222211121221122112112122112221121211112222111221121212111121212212222112122212121111121122212211122222111221112211121111111122212121221121111111221112211212122112121222221111221222211111212122112221111212122212222112222222211121211221122221122111122121112121222211212212112122111211111111212221121111112122122112211212122221221212122222221122111221112212112212211222122112122221221121222221222221121112222122222121221112222221122222211122121211111222121221221222221121211222221211121212221221211112122122222111112212121212211111211222222111211221122222211122212221112121221111121212122122112211111112121222221221112221212212211212212111122122122212211122121212212221212121222112112221221211212211122222211221121122211111122221212221222211221122222111122211111222212221122212222121212122121221112212211212112211212111122222112112111222221111222212111112221112221122121111221111111222111121121211222212121221121211222211112211222121111222221112122212212121111112212221212211212212112211212121212121122121121211211112222212111211111111211121221211111112222112212121111122222112221221222111112121111212121121212112211111212112122121112212112211112221111211221212212122121121212211112221221122122111111112122221211211221221212112211211122211121112122212211221211121222212211121212121221111222122121111111212121212211122122121212121112111122221221222211122211112211212122112222212212111211222211212211222122111222111112221212111212122112221121221122212121111111121211122111112112121111211121122112221112111221112122221211221121212111121211121111221112212121211112212212222222222122222112222212222212222111111112111211111212211221111212211121122221212221122221211121211211212212221221212211222121112212221121111112211121111112111221111121122112112222222221211222112121122111112122211121221111211121111112121221111112121211122222122212112121112211221111111112222221211212221212122221111222222211221111111112212111122122212212122121211111222222222122122212222211211121222122112212122212211212112121121221122221221111211212112111111212121112112211222122222112111212221211221221221111221222111212121111111211212222121211111111111122112212121121211121212212212111111112122221122222122111221212212122112221112121112122121122221212222111222121111221112222111121112211121212111112111222112221122221222222212222222222111121121111222112112112222121112211211112112211212212121122122121211212221121222121122111221122112121211122121212221211112222212111111111122221212121121111222111122111112111121211111121121121122222222121111111122112112212222121112122211111222122122211112121221221221122112121221112221221211222221121112122212112111211222212211112211121112212221112211212212221121112121212222222221212122112222211221212211211121121121221211221122221111212112222112112111222122212222121122222221112111211221112221112121122222222111111211221122112112122111222111221112212122211222222222112211222122222112222222211221121112211111221111121112112122212111211121212221122121222111221222112221111222122221221212222212112212112212211121212221111112212112211212111211211212121211212221122212121221121112122121122111211222111122221111212121122111121111222121212112111111121221222112111221112211122212221211222221221222222212212221212121212121221112222222222211211222121122112212112122222122122221122212122222122111221112121111212212121212122112221212212211112221122212121111212222121221212211121221111212111121222212122112122222221111212122112211111222112122222222212222221212111121121111212221122122111212111111222211111221121111122212111221221212221211221111111222211112211212222122222222122121112221121221222212112112222211222122112111212222212112121211112121112212112212122111221222122222121121121221221121212112122112221122111212122211211212212221222221221111122112212112211212221122222122122212121221121221121111221122211222221212212122222211212122111211111112121221121122222111122111112112112121112222221212112212222111112112112221221121111211112212122222212112112212112111211112121221221211211212211212122121221221121111112111212112211222121211122121221122221121222112112221122221121112122221121222121112212222211221212112112211121211212122211222112222222211111111122212212111221212111121222112221122112121221212221212122222121111122212211122121112112122212221122221112122211121111111222111212221222212221122212122121111111122222111122221211212222211221111111221111221222112122211212211221211122111212212112122222222112212222122222121211211222222211111122111222212221221121111122111121121212122222111212212221222111221122112122121121112121122111222112211212111221211112122112212111212111112212112111222222122111212112122212111221112122111122211111221121222122211121112221221111112122122122111112112222112112221121122222111121121221121222212112211211221122112121212122122122122211222112121222122111112211212221222222212221121212222221122222221122212122111111212221112121222122212221111121222121212111221212121121221221122112211112121121121111122212211121212122211222122112122212222112121221212211121112222112112212121211222111221221222211222211111112112121111121121211112211122112221111222121111222121222222122212222111122222211111122212112122121111222121222222111211221222221122112122122212122122111111212111212111122221221222221222222111212112212221121212121121212121112111222122212111111122212211212112121122221111122222211112211112212122111211212222122222211122211111212211222121211121221122121121111122222221121112112222211212111122222111212111122122111121111211121111211121111112222211112212122112122122221111212111122111211212212222111211211211212122212121222111112121121222211222222121112212212212121211111112121122221211221122222211212222122122221121212211122121122122122221111111221121222221121112221111211112121111112112112221221111222112212212111122111111121112221211111122211211222211221212121111211122121121212212112211212222212211122212212222221121111211121211221222212112221112121122221112212221212221122221212112221111121212221211211222221111112122111221221211122112121221221121212222221211212222221122211111121112112222221112122111111121122221221222212112212212222121211211211222212112122211221211221122121111111212111122222122221212111122121222221121121122111222221212111212211221212212222112122111221212212122111222122121221121211121112211221211212112211112112211121221212121212121221211112112212212112222221221122121122221111111112212212111111222121221222211121211111221211112112212122212211222121121211221112222211222222111121112122211112121222211122212212112112111222112211212112112111221212211211211221112212211122221222212111122112222211222111121211211112222111112122222111221221122111111122212212122122221111221221121211121221211112122211112212122221121212212111112211212222122221221211112212212211221122212122121112222112211112212111212112121111111122212121111212111221111121222222211121211112221212221112212222212122122111122222211211222221212111212222221112222212122222121111212121221211122222222221112211221212212222121121211212121111121212221122122112212212212111211122112221221212112122122122111221222221222111112211211122212111211122122212211121211121112222111221111221211222221122112121211212211222111122212112112122212212211111121112122211112121122211111122111212122212222122211221121121121121212211112221211211212111122121211111121212212211221122122212122212121122112212122222211111222211222112112221211121122121222221121212122212122222221212221111212221121211221111212221122122111221121222122112212112112122212112222122212212121112111212212211212222211112111212222111222221222111211122112221122211212112221112111111221212121122122111112211221211111111221111122112111121112122222221221112122222111222111211211222112211222122112121112212112212221112112122122111111212211122111222111121212122111222111112221222121211211211211221221211221121122112122112222121222212211211121212122221211122211122111212122212121212111222222122122222112122122112111222221211121112221212112111121111211212111112122121211212111112211221121121111121212221112111112112121112221222222122211221111221112221221212222122212221111122222222221121221212211122112211211121112112222212122222112121212121211121222222211221211121221111111211121221212111112111122221111121111222222112211122222122221222211111121111121121212221211212112211221221221112222121211111121111121221112211112122112221221121212212122111112112122121212121212211121111211122221111121122221222212111211221112122121112121121111122222121121111212112121222222112211221111111111222122221211211121221112211211111211211122212121111112222212121111211211112212111112222222222212211222121211122212211121212212221112122122211211222212112222122221122221122111122112212211211122222122211221112211211211211121221212122222211122111122111212111122121211122211212211122212211122211221112121222111111111112211121211121212121111211221111221121212122111212221111122121211221212222212112211121111212211212121211212112221211211122112122221222211212122122221122221111221221222121222122112112222222121121211212221121212122222221212212112122111121111221122212212111221111112212121112112112222112122121121211111221211221122121121122112111112212122222112122212221122221211211222121211121212212121112211212221111211122221122211212222112111121212111111111122112122121112112121211112221111111212221211122212122222222111121121212212111111212111222112112122111111112222221222211221212212122211221221222122112111112221222212222122221111122121222122121221111212212212112212222221121111112121121122211212112221212112111221112221122122211221111121111212221111112111111121212221221222112211122212122212222112122122221212111112212222221112211211221111222211222221221211112122211111212121121121211212122112221212122112121222221211221121221122112222211212212211122121221121121211111222221111112112122112222122111212222222222221221222112212112111111212121111212122222122122221222212222112211112121122122222221122111222111112212121111221122111222211221211211222111112211121222122211221221112211122212212222121122112222221111211112211112121112212221212111122122122122112121221221211221111122121211222121212211121122111112222112122222212211211112212122212121211221211212111222122212111211111112212122212221221122221222112121222122112221122112221121212112222111111222212221112122121212111221212111111211211212121111222122212221212222221222111211111221212111211111112212212212212211112221212121212212121212211212112222222212112111112222121111121121121122121111212211211211111212122221222121122212111211212212222211111121221111122222222122212212112211122221111221211211111112112222222112121112122222221122111112211112111222212221212121221121121122221112221122121122122112221221112212212212221212121112221221222122212212221111111122222221112122222111122112212122112121122221212212121212111121212222221211221212221112122111212211111111111122122221121212121212221221111211122112112122211211222121211222112221221121211112222221122122222121122112221112121112122112212212211211221122212221121122121222211221112221111121122121121221211111111121122221221221211221211211212212212222212111111121222221121111111122122222222222122211222111122221212211111212112111211212121112221212121222212211212112121221211222111121211222222111222112212211121212122121221212212222112111111112222212212211112122121121122111211222221112221222221221212221222222121112221112121221212112111111222221121212212122222221111111122221211112221122221212122211112221221112221122112112212111122111211222112112121221111222112111122122122212122111122222112222112211211121211112212211121222112112121121212222121211222221121222112221222112111111111221112112112212211122121111122222121122112221211221221112211212222222122112211111121221222111112111122111112122222222112212212221112111212121122122121122122222122221221222111222121112112122121111221122121112122112222211112211222121221212112211212112222211222211211221212211122222211222111111212111211122111112122222222211221212121111121211122122212212111111122121211222112221122121221222111111221121221211121111221111221212111222212111212112111121211221122221122212112112112212112222112221211112112112112211222211212121121211111121212221122212122211211121211112122112222121211212122122111112222122121111212221211221211112221212121221121222211112212212221221112212112212121211221112211111211111111222211122121112222221122211121212112121121111211112111121111222111222121111112222221221211222121122121211122111212222112112112122112111221212122211221121112211211121212122112122122121212121122212212212211122122122212212211222122212121122222211222121121112211212122221211212122111112121222112111121212111211212222111122222211212112112122111222212212111121211221122211112211221212111221122212222211212121111122222122222122212111211221222122222211212221112112221112212211221122222121222222112221122212112112212221121212111122221221211211211212122121212122221211122211221122112222122111222222222212111121211222121121112212222211211211211221112211211111121221121122221112122212221221211222221111212112212112211221212222212221211111221221211122222211221211122211122122111221121111111122211111121112112111221222222222221212222221212211111211212121222222111111212221212122221121212211212112222211221121112112221211222222221122112222211111111122221212212121111222222122221222211111121221112112212111222121222111211121222221112222221222212221112122122211221222221111112212122122111212211121211121112211111122111212121212222121211122221121121111111121121221112122121212112122111111212212212222121222221211122221112121221122122112111222121112212121111112212211111222221112122222222111121221121212122222212211212122212112111121122122221212211122112211121211112221222221211221112112211212122221111111212111211122122211222112122121221111211211112211222222122112221111212112111122222211112121111221111212211221121212212211212111121111121122211112121111211121121112121211122211211112211222121212221211212111222122121112122112222212111111122212212112121212122112122211212121111112221211221212112112221222211221211121112111222221112222112111221111221221222212122111212222111111212121121212111221111121211221222121211111111122222212112122111212221112111221121222211221221112221112122212112111211222122112121121121211121111211121221222121211222212222112221121212222111121221121221111211112212111222212222222111212121121212121112211211111122221211111211212122122212121212122221112121122111212222221212122221112122122222122222222221221122221112111211122122122122221112112122122121212221122211212122211122212211211111111111222221121122121212211211122112111122121112222212112122221211212121122221112112212211212222211121122222211111212212121222221121112121122112221211122111222222122122212121212121221221211222111121122212212121122211112122211122121112211222112222122212122112212122122211121122122212112211211122111121212111211122212222121211221121121111211111122111112222221212122111222211212112221211121221112111121221222211111222111212121111111211111121211122122222122211221112121111122212122121111221222212221112222122122222112211121111121221121121222121212111221111121221122211222122212121212212112112222112211212221122112212122221122122212112111222222211211211211111111211222222112211212221121221211121211112122211221211111212111221122112211222111111111221222122212211211222121121112211221112212112121121222111222212112111111212212221111221211221111111222112212111112112221122211111112111222111121121111221111212111112211112221222112222111211121112221111222222122212122111121111221221111111122221211212211122122211212211212211111112122111111111121122222211122221121122111211112222212212222112222111211121212112122211222121121221222111112211122112121121111221121212212211121222212222221112121111222111122221121221222111121221221112112122211112222111212111121212111212212222112122222111112121211111212212211122211112211211112221111222112122122112111112121212121122111122121221112122122211211112212221111222221212221121211111221211122122122222111122111221221122112121212111122111122222211111212111112112121121212122111212221122222222221221212221111121112211212111122111112221111211222112122112221222111121221222222111222112112221112112122112111111111112222121121111221221111212112211112221111222222112211222222111212211211122112121221222212211212122112111211121221112112121222221111121221122121112211121122122111222112222211111111212211121121212121111112122111111112221121122212221212121112211212211121122221211222211112121221111212211111221211211122211111211112222222222212111111221112121211122211122111111122212121112111112222212212222122112111212121112211121121211211221212121112211111112212111221221221122121111222221222222222212121111221122222222122211112122212112122211112212121211111121221222222111211111222212212111122221122112222112222111222221111111212212211111111111121222212111211122112112222222112212212111111221112111122112121211112112221212211211122211221111121121112211122221112111222222121212122221222212122221111122122121222222211121121222111122222211222121112121221121122222122211212221212111211212112122121122112211121222222212112121112122221221212211122122222221212112222111112112112211111221121121111212112112212221112112122222121222111222121111222222122212221221221211121222112211222221222221121122112211221222222211211222122222222222211222211211212222211111122222212111222222212122111212112122121121212122211221212221121112121221122221121221111112122112221212111121122212111221211112222111222111222122121221121221222222212122112212212111121122211222121222212212111222121121122111212112122211222212222112122211122122112211211111222222112222111111112221222212212221212111212221212221112221212211222221122122211111112111111111212111212211122222122121212111122212111122221222211122121211211121221222221121112122212222222121122122112111111111122211211222221111212111112122121221211121221112111211111122122222221212112222211222121112211122222111121112211212221222222111122221111212111122212122111212121112122111111121121222211211212121222221211222121121211111221222122211111112122111111112122211222212122212211211211122121212212221122221211122111222222221122122222212221221211212212122112211212121222222122121121221112122222121211212222212212221222121212122222121222212121111221222122122211112211212122221122112222211111222121122221122222222111111112222212222111222221211112112121222121111112211211121211122111121122221112221212122222222122222212121121212122222221212112212212211111112121122111222212222121221111122111212112111122121112212122222222111212222121222122121112212111222222122112221211111221211112111212121121211212222121221121222111121122121112122222112221211122212121211221212111221222222121211112121212212211112121212112211112122111211211211211221122122211111112212111112212222112111122212121122122222212121111222121122122122122121222221222211221112221121112212211122111211212211212222121112111212122122121212112211111221221212121221221112212122121211212222222221211212211211121222121211112212212221121221222212122211122222121112211212111122122221122121211212211212121211122111211222112111211111212221222112221112222111121121121121121222212212111121221212221212211121212211211221212122221211112221212111122222222122222112221221112112112111212112121221111122121111112211121211222212222222111221121222222211221221122112121211222221222221212222212222222222112122211221121222222112211121212112212111212112122212122222111221112222212121222221122222212221112222122212122211121111112211222222211121122222211211212122222112111112121221212121122111212112121221221221212222112221212211212122111212111211112112212122121221121221111221122221111121222212122212222211221211121211212122212222222211222211222222122121211121122212121212122121212111121112121221111111111212211112112222121212221122112112212111221211122111212121221121122112221121112221211212221211122212221122112121212212122212221112221212111121111222222221111222212212122222111121221211122221121222212111111122212211121112221122222211121111121111122111112221221212122222112111112121122211221121112212212111221111121211222112212221122121122222111112112121112111111121122212221212211121222221122212211212112211122121111112112212111211112121221212122121112211122212112122112112222122212222112222221111211112222122121221221221221111222222222122111111221211111211111221211121122211121112211221121112212122121212122222111212211122221112211221122212212212121112122222111212111111211112222222221122212222111221122111122222221121211111212122222221222212211221212212112111121112221211212212111222222111112221122211211122112121112111211221221122122112112122222122122212121112121221111211111222212211211121111212211112111211222212121221112112212112222212111212111112211222111121111211122121112222211211212221222121121121212211211211112212221212111121222111221221111221112112221121212211121221221112122112211211221212121111121221121121111222221112122112121212211111122121212121221221121212212212211121221212221212121222211122111111121211121212122211122111222222211212111111222122122112212212222122122212111122111222121221212222221212211212122112111122112121222121211221222222221121121211211211221121122121122111222222122222112212122111121211112222211121211111211211111211222221112121211211121121121121221111112112222112221121122211122111111112112121222121122111211121221211212121222211121221112111121121221221122121112222111122122221122112222212112111122221121122122112221211211122222212122111122111111211122222112222222221121221111112122112211121111212122212122212222222111212111221111221121112111221121222122221221222222121112211211211212211111111211211212121222122221221211222111121222122222211111111222112122222221222222221111112111221221212221212222212122211212111122211122121122221121221111222111111111121122112212212112221122221122121211112122121111112111211122211111222121122122122121212122121122221222112211121121211222212211121121121212112121111122221122211222211121222111211211121112212221222121112122112111122221122222112111122212112112222111222111112211221112211112122111112122121121221111211121111122121122122111112112222121222212121221211111221211112211111111121111112212111112122211212211222122222111122121211121111222212122212222211212122111111211122211222111122111212222222212122121121221221211122121212221221111111212112221121222222112111222122212221211112122222111212121212221222211121222111112111121122112222212112212222212211211122122112111212212121111121212122112212121221121212222112122222212112111122212121222122112122112122121221112121212112212122121122112111212212211112222111121221221121212212212121111222112221211221221221122221121121222211221212122212112111111111211112122112211111121112121121221121221111111211222211212211122121121112211112212121211221121111221111112221212112112121122222122111112222211211122222212212122121111122122222112121211121111111111212221121121112111121112112222212222112211111222122211121221111111112121221122211121222211211221122112211212211111122121122222222121112212122222122121221111111212222222112211121222211222111112111222112212221112221121221211111222121112111111112111112212212121211111111122122222221121211212211222221221122121121112121111121112111121111221221122112221222111122211222111211112221112111111212111212221221111221111112121211122211121222221211121111212212111121212122122211122221121112222212121112121211222121212112222112121222221221211122121122211222122121121122122121222121222222111111212112111112222212222121222212122122121122112212111221111121112112112221222121222211221121121122121122212212212111121211122211112212121121221122211211222121122112122212222212221112222222111121211221121121121111221121122111121111122222122122222212121221222212121112222222121212111222122122211212121221211111221122221221222211222211112222211111122122111122122121222112222212121222111121122111211222211212112222222112211211112111222211121221112211211112222121122221222121122212212111212222121211221221112111221221111212111121122122112112121122111221221112112111221221222211111112122122212211111211212222121111112121112121122111212111111121111122112112221121211212112222111222212111211122122211212212222111111112121211111212212122221111112122222211211221221122111111111211212112212112221112221121212222221221212221221211221221112111111212122211212122221112221112221121112122222112222211221121222121121111222122211222111122112211111112211212121221212211212111121111221221211121111212221211221211221122111221112111222222222111212212212211212111111121222221122221211222111112112111112111221112121211211121221121221121212222111211222221122212212221121222211221211221121221122222212122121221121122222112212112221111221222122212122122222221222222222222222122211122122212212222211211221121121211111211111222221122221112221222212221112211121221211222112122211221122212122111122221221221221112221112222112221222222112122221222122112112121222222211112211212222111121121222121121112112122211112122112211111222112112112111222112111122122112212122221212112122212122112221221122122121221212121122211112111222211212112221111112222221111211221211111112121221112222121111121112222121212111221212122221112121212122122111212221122121122221111112211122211211121221221111111212221222212111221212122111212211212212111222222221222111112221122222221111112212222122122121112211122211221112221111221222112111122112222212222222112111121121112221112212121122222221222221212122111122112211111222221212212212122111211212222121112122111212222111121121112111112122122212221222121122121111112111111222221221212212221121211122221222222212221121121211212211122122111112112122222212222222211121212221111212111212121112211222121111112212221121111112112112222112222212211111222221212222212211221111111221112112212221211111211112112122212211212112111121222122212211211121122221222222221112211222121122121211112122121111121112122121122111121221222222222121221211221112211222221211222112211212111121121221212211122112122112111121211112112211221211211211111121222222212111121122112212111111122122221112212211121211122122122112222122122211122221211221221121112122222222212111221112111222112221121112122222222211212122222121121121122221221221111222122111121122112212111121211212122122122221111221212112212222211212111221122222112221222112222112211111122121221112122221121212211122121212211212221221122212112212222222212122221212122212222221221112221222222221222111111122221111121121111222112122212222212211111211122111111211212212222222112121221222211212122112122122211121222121122221211221221121111221212111122221122121121221221211211111212221111122222122121212111221111212221112112121221111111212211222212121121121121112222121222211122211211121112222221122112212212121111111121211122212122212222121211222221111111112121211211112212221111111221221212112222121221211122221211211122222212122112112112112122121111212121222211221221212121211112212221212212222111211221212121221221112222111112211121212111212211122221222221212122212222122222221112211222212122221121122121122212121121212121112122222111211212222222111212111222222111121111111211111211222222121221122221122112221111121122112121212221121222121112122212212121211112221212221212221112112212122111122111111112222211212221122212222221222121112221222212121111111112121122122211211121211222112222111112121121111222112212122221112212221221111111221111111221122111222112222121211222221212212211212122121221221211111211121221221111212222121122122221112121121222121121222121222121122122212122211211111121122222211122222111121222112221221221112112121221222121222211122121122121111122222211121122121212211212212112121212212112112112122121121122122211212122122111111211211121221221221121112211222212222122122212122122222112221122112121211221211122222122212222221112121112112122222122221221212222222222111221121112212111111121121111121211121211122112121112211211122111122121121121121222112111211111221212111211211221221212121111121212211222111211221121212122212122212111222222211221211222112212221222211111221211221111222221222121222221212211122122121121122121121112212122222211221211221221212222212111112222211112111121111211122221121212122211212121221212221112212212122211112111121122221221212111222221112222221211122221122121221212112211222221221111221211111122212211112111121221221211221111112121122122111121121212221121222222212111212122112112122212122121112122222122212211122122222211222212222122122211211122221221222112212211212111111221221111221221221221211211122121221212221112212122211212111121221121112221212122222222112111122122221112122211211212112211122121122221222112121122212111221212111121211211212222121112112212112111112122211112111212221212222211221211211111221112121121112211112211212122211121212122221221111211222121212222212211122221112112112112112111122112211212122121212111111121111221222122112221212121111222112122121122212121122222222212121212221121212112122212222221222222222212212122121212122112122212211111122211211212111122111112221122222222111122121211122122212122212221111111222121212111212121212122121112122112222222111221222221111111212212222221112112122121111211122221121221121112221222122112221111221221111111111211211212112212122211211121222221121121122111212221112121112112112111111121111112212222221221221112211111111222112112211211121221111112111211121212211212122212212121221212121221211222211112112112122121212111222211221221111221211222222212212221212122112221121211122121221222122212212112222122111112111221211122111121221121221221221122111221221211112121211222122221212211122212111111112222122121121112121212222222121221211222111222112222211112121121211112112221221221221222112221212211122222222111212212222211221221121221212222212121111122211222221112221111122111222121222112121222112211211222222111212221121112112221211122211221111222121121222222112211122111222122122111211211222221212122211222112111211121211112221111222222121122222222211111112112221212212111121212122112112221111121221211112212212222211212122111221212121212122222122221222112212111122222221112112121122122122211111112212221211221121122112222112221211222122222112211211122112122211221122121121112112112222222112112112111122111212222212212121111221111121122211221211111112212122212222122222112211122121221111212122211121212212222222212211121112112212111221111112121122122221212212222122112222121211111211221211121111111112112222221222111122221211121211221222112212211122221212111211121121122222112221212122112121222211122212211221212111121221121111222222111122211112221112222122122212111122221112212121211112211122212121121111111121111111221122111111212122112111212211112211122222121212222212212121122222122212112212112222122221211211211222111221122212212211212211122111222112121222122112222121111122211121211212211221212121122211221211221221111212122111122121111212122112121222212221221221222112121222112221122112222222221222122122122222222112222222211112212112222121111212122211221222122121122221111212222222211111221212222111121221211221121111122222222111121221212221222212122112121121221222221121111111222121222221111122211211211212112111112222212111222122112211121211111222211111122111211221111221122122221111111221211212222122221111211122111221221111221112212211212211122111221111221221111211211122221112122112122122122222211121212121222222222122212222122222212112221221121112121221112111111212112221222121212221222222122212111212222111212212121221211211222211112212211112222222121121211122111211212111222122121122212222122212111122112111121121121221112221111112211222221221221212212221222112111221121112111112221211221121111122212111111212122212112222121212221211221122121212112212221122211111122221212121222122212222112221121121112112222222112211111121112222111211221111112211222222121112121121221112212222121211112112122112112221111111121221221221211122212111111121222212122222221122122212212212211111112221221212121212221221212112211111212221111221122221121121211121212121222111222221121212211212221121212221221122121212211211212111211221211212122212222212112222221211121111211121212221221121121111121212212212122212211111222211112121211121122122211211221211221121111221221211122111222221122122212211211221121212211221111121121122122211211221111221221111221112111222111222212112112221222212122212222211211122222111221222212122221211121212112121221212212111122222121121122212211222222112122212211111211211221222111221212112121112121111122112211212111121212211122221111112111211112122121222121112122222221212221222112112212222122222222121112221222211122122221122211122222111112121211222122112111111221111222221122222111112121111221211122122112112222222121121211222112212222112221112111122111222112222222211212112211111121221212121222222112221121221212111111112122212211122111121222211111122121112211222122111122212222211212122122212222211121122222122221122212112112211212112112111112222212122211121222222112122122221121122122111122111222212122211212211212111222222222111212211221122221121121211121122221121221221222212212122212122221221221222112211222122222112122111112122122221122222122221211112221222211112111222211121122212112122212222122121121112121121211212221212222112122211221112212221221112121122221221111112221222121122212121221222111112222222222121112212112221212121122211111121122111122112122112112112111211211121112222121122111212222111122121212222212121212222211222222122212122121222122211222221111221111222221212121121112222222121112221221122211112211122212111112111111211122111122211122112112122111222211112122112122122122121122211112112212121122121222221212222212221121112112212122111212222122222221211122211212122111121211122221121122212112121221212111111111122111112122222111221211221122212112112112111122112121111212112121221221211122111122222121222222121121221112112212221222122122211222112112211211112111211221222211222111112122221112122222222212222222122121221221212121112221122112221211211121112212221222112112222112112122212211221221121212221211212221122222211122212212121212212122121221121122121111211121111121222221221111121212112222122112122122221221211212111112222111122221221211222221221111111222111121111111222222211221222212111122122211112211212111121112121211121211211212121222122222211211222221212212111211211211111122111211212222122121111212111211212121112111111122122111222222111222211111122212221221221122222112211112111222111222212212121212212221211212221122121111212112222122211212112111211212221122222212111122221121122222112121222222111222122222211222112121111211121122122211111212112111221221112211112112222211212122211211121211122222121211121122221212112111111212221122112122212112111222122212222122111212222222221112121212121121211111212211221222121111112111211211122112111211121122111211112221112212121221112221122221222112121222121111222222212112111122121122222212221121211111121211221211122212112212121111121121122212212111111212121122211111122222222112121111111211212111212112112222112111221121111121222121222122212222111212211111221122122122112221122112121112221112112212112222212212212122122221112112121112122112212111212221121121211112121121211222121211222212122222112211212222122211121221111121112222211121121211112112121221211222122122221212122111122221221212221211222211122121222221121122121122212221112121121111121112111111212221222222112221222211111211211222122212211212111111221222222222222212122111111111112112212221121112112212221121121211112212112211222211222221112122111122111121121122122121222221122112122221211212121222122221122211211112112122121122122222221222221222221121211222212122222111211122122221222112222112211122111112121111111112111111212222212222112221212222222112222122221221122212212122211222111222121112221222222222112211211121112112121212112112111122222221222111212222111111211212121121221111121122111211112111222212222211122212121211221211222111111221222221122111112212211221121111112211111111121221122121221111112212211121211212121222221112221211111211121222121212222222111112211212211222111121122111122211111121221211211211121121121221111222121211112222111112121111221111111211222212211111111112121121122221212111221111121221121211222222222212122112222221122211122212211122211112111122112212211121111222112111211211222121112121211212111111122222121111222221212222112112111122211111112121122212121221221212122112222222122222111122121221221211212222222212212111211222222121212221112111112112221122112122221121222122211112222211221211112122112121112222111122112121122122222112122222212112112212112111112121112211212222212111112211111222222222111221112122212111212112111111221221221112222211112121212221112222212121112122122222212122112212222122212112112121211121221212221221222221221212222212112212212212211222211212211111122121121112112221122112222211121122122121112121121211112121222112211222221112122122221222121111121212112221111111212122111222112211112121211111211122221122112222222212112211222121211122121222111112221111112212111211222222222121211111222112212222222111221222111111222212111211122112111212222121222211221212222221121112222222222221122112111112112112221122222221111112112221222112221121222122111112222211122122121121111122221211222212211212122121111121222211122112112121222221122111211122221122212211211122111122212112221111211211112222122112212212221122121122122211111211111111222211212121222122122122222111211122112121122112212211121221122111112212122221122212112112122122122221111122211222112211222211112122122211121212211111221121211111122222212122112121211121211111211221212122212111111122112211121222122111222122222111221211112212112112212212122222212222212121222121211112222122121211122122111212111121222112121122112112221212121212112212112212121122212222222212111221122121111111122222111212222112212112121212111221112112211211121121121211212122221221111211111221112122112221211121212111221221121222111221121112121122221211112221221222212111121222212212211111212221122211211112122211211121221211212111121122111111221222122121122121122111221221212111111111121221112121111112111112121112222122221222211212222211222221112211121222212211122112212221121222212222122211121211222211122121111221222122211121211111211121221222112212111111211122221211221221121211211121121111211112111211111211122122122111212222112211121121212222221121221221111211121211212112221121212122211111211222212122221112212121112122212112212212121122122112111111211121221111111122111111211221121221121112222122212221221111121221212222222221221112121112211222111121221121221221112221212212122122122112112112212112222221121112111222112211122111121212122112211211111121212222222112121111122121221121212122212111211111111221212122121122121122112122122221112211211112212111212121111212222122112122111112211222212112122122112211222111122212121121221112221112222122212221221212211121211211112121112211112122221111222222211121222111212112212111222112112112121222221212222212121121212211222112112121211112221112211122221211112111211111221221221211112212212211222112111222122112112111122211121212122122221112222211212222111122221122121221112121112212221111211221211221112112112221121112122121112222222112221211211111221122121122212211121112222212212221111111222221112211212112221111212211121212121122122112221212211212212222112111222122221212222222122212211122221212111121111121221122111211211212112211221221222212211221212222222211121122211222222121121122112112122111211211122221121112222111122121111211122212112222222122221222111122112122121222211111211111112222122121221222111122112121211222212112222121212212212212212122221112122121221111112211221112111211212122111121211221112121212221212211222122212122221212222112212222222222211222122112121221121112221222212222111121112222222211211211211222121212112121121211212122212112112222211221111222212221122112122111221111111121221111222112112222121212121222121222112222121111211221112122121221111221122112211122112212221212211121222211212221221121222112221111122222111112211211112211121221212212112121111211121121121122221212111111211121122212222112221122112212222122122212211112221111111112221111211211222222121221211212121221122211111221221122221212221111211111212111112222112211212212211122122211222122122212211211211122221212211222111112111112122122112222221211112221222211111221121121211112112121121221111211212222222122111212222112211212212111212212222211211212211111122122211122121212222211222111111122212112211221122221212121222211112112121222122222111121121221121111211112122122112111111221212222112112211221212111221121112222212111122122112112111121211111221212221111221122122111221111121222221112111111111122211222212212222121222221121222112211212221212212112121122221111222221211211211211112121221112222112122112211122212111112221211111211112122221111112221221122112111222212121221212112222111222211211221122211212222111122121222111222122112112221111112111222112222221221212121121211212221122112121222222112221111122211121112122221221211211211121111222121122221112222222112121212211211122221122212122221122112112112212111222111211121112111221222112221222122221111211112222221112121121111211212121221122211211211122112212111211111121212111211122111121211122111221112122222112221122212122212122122222211211222112221221222121212112221121212211211112112221122222221121112121222121222211121121221111212121221222222221211121122111111211112221211122211222221222211212121212121112212111211221122111122222222111121121222121111212222212221212222122122222222211121111221122221112211221221111122111121112112111122221212221111111222221112121122211122221122122121222221122222112221211112111212122221222121222112212221211212121212211221212221222221211211221122222211211221112122111121212112221212222111122122122211212122122212112221111112221212111111112212211222211121121212111222221122222121222112212112112122221122112122111222121211212221121222111121121211112222121211211212221121222211221211111121212222212121221221211122112121211122112122121211211122222212221112222112121222211122122211111222221211221111112112111122222211121222212122112111121222122222111221121112112212121111211111221122112212222222221212222211221211112111121211222122222112111112112222112122111122122212111212222211211122111112222121122112212221212112222222211222121122222121122211111221121121112211211211122121211121222211222121211211211222122212122121112221122211211122111122121222112211111111112122121211212112112122221111121112112112122211212111112222121112121221211122211111221112212212211222121111221121211111211111122222222212211211111211121112111122221222111221222121221122111121121222111221211212122111112122221122221121222221212211211121112122221221111222121212222122112112212222121221222111211121212111221211211112111111111121111211121121211222121122221212122222112112212112211121212222121112111211122212212122111112222211122111122222222112211212222121212111111222122112212111122222212122222221211112121111212222221222221221121211211111211122222111212222112222221111122222122222212212212122222121212212121211122211212122221211221112212212112222222111222212112211112221221211212211111122111211222112211112211111211122212112121211122221112121122222212111211222122111122212121211212112122111212122111211211221122121221121122222122122212211222212212121121112122211122122111221122211122212122122222212212111211222221221221111112222221222121211122121121111212212212112111112211122212211111212112112121211221212212122122121211121122222221112122212221211212221121121221122211112211222111122211112212222211211111221222212112121221122112221121222221121212212121112111221211212112112212121211122212111212112122121112221112211211212211211222121212121112221211122112121212222222112121211212121121121112111212221111111111121121111212111221221212111122212111211221221222222212211211121221111111122112121221121111212211211212222212112212212212111211222122112211212112111111211212121222111122211212111221122121111222211211112222121112211121221112112111212211111111211212112121112121122111111222112111211121212112112222221121221212121211222111112111222212222221212111122122211211112211111112222111111221211111221121221222122211122212222211211112222212211112221211221211211211122221212211121212221212222122122221212212211221121122222211221211121221222212212121111111111121212112211222212122222121111121122112111221212211212211112111221122211212121121112122212112222121112121112112111111211222222222211112112121111111222221122111112121121212111211122212121112121221222222221112112122212211211112111121112212112221221211111122122122122112222211212221222221211122121121121121112211111211212211221222122211212221221222211221212111222211121212111122112222122221222221211121121211222221222221121121111221222112211122222122121111121121121112211211122121112221111221221222211121122122212222212111222111212122121212111211111221112121121222121111122121111212121122111121112121211212111212211211222211222222222112121212111222211211211212111112122211212211111112212112211212222212111211212111211111211222222211112221212212211121111221211111212212121121222212122111112222211212112122112121211221121211112112212221221112212121111121212122211211221211111111121112122211111222222211221121211122222222112222212112111211221222121212221112212212122122122211111212211211122211221121211122122112221222121222211222212122212112211122112122112212222112112111111221122121211111121112121112222211112121212112211122122222112111212221222211122121212121222111112122212212221111122211111222222211122212111122121222112121211221221211222122112111111121221211112212112212222221221112221121222112112212112122222121122122212222121112221121212222112211111212222121222212222112221112122121111111212111122122222122122121122221112112111212111221122122121212211222122222122121222111221112121122212221121211111222211111111211112211111211221111211222222222211122122121211121121121222221211222221221121121122121222121122212122121112221122221122211121111111122211221212111121111112212122111212221111212111212211212122121111222211112121211112121221121111121122121121121112121212221112221222221211111122111111211121222222111212211112212222211121111111211212212122211221221122222212122221121111121212121221112211112122211212212122222221111222221222212221212221221112111122222211211221212121212212212222221222122211222222212112111211212221122121221212112222112222112211211111221121212211211112122111121222122212221222222122121212211111211212222221111222212121111211211122111221121211212111211222112112111222121112222121121121221111121112112111122121121221221111211111211211221221221212212211122111211212112211122221222212121211211122111222111122112222111211112122122211212111122122121211112212121112221121122121111212221122212221211222222121112221222112222122122111111212212221111121111212212121211112122212222222222111221211221221111221121112222112112212111211211222122122121222222111112112121121121111211122222221121212212122112121211121122221212221111212111211222112121212112221111111121111111122212122222121112121211122221211122222121221112121121221121221211212111211122112211122211221212122212222212221222112212112121222112212211222222212211111221221211222112121221222112221122111121112122212221221221212112211111111222222221111122122212112221222221212111211111212111221122121111121112222211212122212211211121212112112221121211121112212121212212212222111221221121222111212212212212122122112211212221112112122212221221212221222212121222212111212121122212212111112112212112111111122221111212112121111122222222111221112121111122212111122221122222121212221212112222211212221112111112221122121121112122112212211222111112112121112221121212212121112111111121121212122112122212111111222121211221122111211122121221222122121212122111212112112111121211122211221211112111112212121222221121211121121212222212221122111122211112122221211211222111112112211221111112121122121211221112222122212112221211212122122212121211112112122112212222221211212211222111112212222221211112212221111111212222211211111221222111222111121221221222122112221222222112111112112222122111111211222111112221112122211121111221122121222222112112221212122111111112122222212222222122121212212111221221211221112111111112221221222222122222211221211111122122112112112122122112211221122212221212221211112112221122112211121112122221112122112222111121212111211121111112221221212112111121222222111122211222222111111111221121111222222112221121122211111222211211211112122211211111212121212222112111121111211122121112112212212212112211222221212212112212212121121121221222221212112212222121212211122111212121111221121221221111222222211211222211212111111112222111111212121122112221221112122222111221211122211122221111121222121122112212121122211221122121122212211211112111211112222112111221222211212221112212122122121122212112121112221222222122122212121221212122211112212112111211111121111222222211121212212221221111221111212112211122121221222221121211121211112112221121122111222121211111211212212212112221221211112212111112212122121211222211122112111111111122221112221112211222111211121212212122112111212211111112211221211112212221111122222111122122212122222222221111222211221111112121221211112112111111221211121212121112211121111211211221121111121111111122111212111121211122112211211222212222121111211111111212212222111212222212222122121111112122211211121121221222121212122211111122111122211222122211221221111211212121112112211221221222122121121221212112221212222112112221222121211212112121221111111111112211211222212112221112221111221211221111212112112212112111211111121211211111112112221122121121122111112222111122221121212121212112112212121112222222112112122221112121111222112121122121221111111221111222211212212211112122111111221112121122121121221112121212121111212112121111111122221112112121211122111211222121111122121222212211222122211111221221222211212222212121122112112121222221122111111121121212212211121221212211111222111212111111112122221122222122121221221111222112221221212221221221222112212221221212112211112212221112211112112112111212111112211121221222212121121222212121121121122121121122211211122122212111212111112221121112111212111212122122222221212112121212122121112222122121111222222111111212222112121221122212121122221121122212112111121122211222111221121222222121122112211112112212111122112122112121122222221211211211111211221221222211221222111121212111122121111121212112112111122212112112122212122212212221222212112122212112212111212121112111112111121211211121222111112122211121111222221212221121211111122211112221122222212122222121221122122212211221111212112212221112122121111121111221221211211112112222221111211222121112222221122112111122122222222212221111122211211111211222211122121222221211212212212121121221121211112221112221111121121222122211211122212211212122222212222211221222222112221211112211221122221211111212211211212122222221222222122211112212211112122122112121212122222222212212122112112222122221211212111212211221111211121211121111221111122222112122222222222112112211122222121221221222221212122122221212211121211121111112221121121221121211221112112221211112211122122212122112112112211222212121122211112221111121111211212221211111122112221222122211211222111111122222121121212121211122222212112221222121121221111111111212221212212122212211112222212121222211122112122122212122122122122122122222211222211222212222122121122212212212221122212222112111222122221221122122211222111121212222211112111222212111121122121222211221212122112212221112221111121121111221121211211211121212211122111221111211111112111211212111221111122122221212122112211111221212111221111212211221212222211212221111111122111221222211222222222121111212211112112112122112112112121212111211211121221112122112211211221121122222212112112222122222111122112212212111112222122112121222112212122112222111211112122222121211212112222221121111211111111121122211112222111121222211122222121111111212121112111121112121212112122221222222222221112222212222222111111211121112121222221212222211222122122111212111122122221211112221121112212222111221211111211121221111111112222122221211111121122212111122212122221211221212222112122112121122221222222222111112112121112112121212221212222222212111121212221111122221221111212122212211121221211222211121222112111112222212212122121111222122121122211222111222112111122122122121112121222112112121221221221121111121121211221222122122222122112121221121212112212222112122122112212112111111211221112212111111112221211212111212111222121221211122112211211222121121222222222112222221112211221221122211121121122222111112222112112122212111222221122211111222111112122111211122121222122212212111211211212222211112122211112111222211222122111212222211121212111122211222222111221212212112122121212122112212221212122121222111122121122122221212112221122211122112212222212212211221211211212111212222121112121111212121111122211121121222221222121211112111221111112212212122221121212221111112122111221222112212222122221212211211211111122112221221111112221112111221112122221111121122211212112221211222212222121221211121211211221221222111112121211112221221112212211211112212112121211211211112121222222111112111111212112111121212211122222212122211111122222211212121212221222222211122111121122112211221112122112221122112222211122212122222211122121121211122122111122122122212121222212211222211111222222212111211122221121221211212121111212211112112122112212121212222122122211121221221111212112222111121212121122121211222111211112121112212112112121212211111211221222212221222111122222221211222111121122111112222222111211121212222222121122212111221221121121122222122112121211122211222222122122111221121221222112212222221212121111221212121222221211222122111122112221121122121222111122122222222212221222212222222212211222112221212112112222222122222222222122111121112212221121221212112222211112121121112112222222112212222122222211211212121212221212221111222221122122122122212121111221211111111211221221111122222221112212121221212121222112121222121211111221122122111222212112212211112121122112222122122212112112211221221211122211112222122121112111211122212221212222211212121221221212222222112221212221121111112121211121212112222121121121222222112112221112212212112122221211122121122121122221211212212211222121112112121212212112211212121112221212121221112221211222112221111121112212111112111221111122211212121112122221112121212221221222112211122212221212121122222121121111221121211121222221221111212122111212122112122222122121111221121121122122211211112112122121112122121222122221211212122121222222112111222212221122112211111212222211122112212221211122221122112222121122121211121212111112212211221222122122122111211211211112221212211212221111112111212222211222122122222212121111221122212111122222212111212222212112221122221112212111122212222122212111122221112122211112111212212221222122212212211111121211122111111212121122212221222121222222212211111222122121122122122122112122121212211121111111112121222121212112222222212121222122222212112122112222121121122221212122212211122211112211222121121111112121211111211112122122222122212222121221221122211121111212112111112222122111222111211212122122121222121112112111122222222111212111121122212212222122121211121111111112112222111121121212111212211211211112222111222111121211211111122121121122222111121212112221111111211121121212121221221221122221222121222111122111122212122111211112112211121112222122111112211111212222211221212121111112222111111221122212212222211221221222212222121212212122222121221222112221121212211121121221112121112222221221221211112121221112222121121211121222121222111222211121112221112211211121212111221112111221111212112222221111211211211111221211111221112221211222121111111212112222222121222221121221221211122121212112121211221111212212122212222121222212212212122111112122221121122222212112212112111211212211222211222122222111222111122211221112222212121122212121221122111222222112221221121122111211222222212122222121122222221222112221211211211122112112211212111211222212212222211111221112112212121222221212211111211112212111112222211121212112212122222112122222221112121121112111221221111212112221112111111212222111122221212211122111121211121211121111221122221122111122122222111222112121221122122122121121122112122121112222111211121112122211121112222112111222222222211211222112222111121111121212211122112121222212212222122222112221212112121121221221212222121111111211121112111111121111111212112122212221222221112112111122212212111121121212121221111111222122212221221211121111111112212112211121112211111121112221221222112211121221222222121111112112221222121212122121212121122211112222122121122121211212111222221121212121212222221112222111221221112122111221112112222122111112211121211122211111212212212212121211212121121122121112121121211112122111211222121122112111122222211221111122221121221112221211121121222121121222111221112211111211222221122212211221121212212212211122121211221122221112212221121212212121221122112112111222112111111111122121121121111221222211221112122212221111222211121212221122221221121222121222221112221211122111111111111122212122211122211221222221121222122121112221222121112212221222111212211211212221211112121212111111122211211211222211111212121112212221222211121111221121122212112111222221121121212221121221212111221212212212121222212111211212112112221112212122221211212222112221112212122222111121111212222122211212211122111212221221122212212111111121212111121212121122121222212221112212212112221221111222112212122212222121221221211121222212222112121112221112111222222112211122222211212211221222112212122222221111121112211111211212212212112122211122222121111121211111121111221122111112211111211122121211222111121212122211211211221221212111121122212222212112112211212222211121212112221222121212212112121121112112111221221222222221211212221121221122221111121112221121122212121221112222112111221222221221122212112211122211111121122121212211211112222212111112112221122221111222112211221121221222111221222221221212122222112111211122112221121211221112122112112221111212222122212112221112211112122112211121212211221222121221112211121211111222122222121221122212222121122112121111222121121112212122121122111212111112111121111211112211222121212222122111122222221222122221212112222211221112221212212122221222211212122212211221122211212122211122111221112222122111111222222222111121112122212212222121221221222121112212121112111212122221211121212121221211112212212211222111122221222112122121222112211221121121122211121212212212121111111111221121222222221221111122121211211212112121222112112222211222222121112111212211221212222222112221221221112122121121121222121122121222211121222221211221212111221112222111112122212111111221221222211221121121212222112112121222121211211222122222112221211121122221222222222221121112112212121121112222212212111211122221122211122121212111221211121122121121211222211211122112121122122222121122111122111211112212121122111122222211222121112121212112222122211121211211211212221112122222121112112212211221212211112121212222212221111121112222111122121211122211222122122111211221212211121112212222121222111222121121122112112112212122121122212222122212212211111111122111212212111121111122212222121221122121212211112122112111221212211212211111212222112222212121121222211122212122211122111121222221121211222211111211221212122121121211121121121211222222112122211121212122222221122221222122221111221221221121211211111221212212111111212211211222222221222211112111221111221121221112212221111222112211122221112211122111121111221111121222112212222111221112222112212112122111211112121122112212222121221221222112222111122112122211122211211212211211111211221221211111111211212222212211121221211121121212221122121221112221121211112212211222212222122212122211122211212122121221221122212122112221122221121222111212111222112122122212221111222111212212212211211212211221221122121112222221121121122112121212121211111112212112222211211221221222112212212121122112212111121121212212222112221121111121212221221212221111121212211111222122221211222112121212211222222212112211122112222112112222221211211212111221112122222121122121222111111121222112221122112121112112112221112111221122111212111122222112211112112112111121111111222121211211211211111112211221211221121211122122122211212221221212111111211222222221211111111121222221121112221121111212121222111121222222222221121111212211222111211121122122122212111221122121112111112122112211122122111211111121211222122212211122121121211122122122112121222212112221211122111112222111221222112112211221121222111122121221222122111121122212121122112112112221121212211221112211212122221121122221112121222121121111111112211221211121122122221122111211122121212111222111112121111222111111221122211221111121121121212211111111222111211112111221112221111222121221122121211112222211122212222121121211222211122122212112122221111121212212122212121111121211111222212122112121111111222121221122112211122111212111121221122222212111122212121212211211121121212211211211121212212122121111112221221121122112221222221211222211112122122112211222222121221122222211211221121111111122122211212212212211111112121112122121122111221121111112122122112211222221211122121211111121111112122212221121111121222121212112112222111212122111121221112222212121211222212221212222122112222122112121212122211122121121221211122111111212211222112122222212222211122221222211211121211122111211221212111122211212222211121122122221211121212221211212212121122222211222211221111221121221122221221112112222112112122112112121212122212122122121221222221222211122221221222112112121211211212211111121212121222211111121221212211112111211121121112112121211222111222221111222211112211222122121211212212121112211112221111211212112212211111122111122121211112212212122211112122111212112122212221122112211211111212122111212111121212121112122221212122121221121211111212111122221212221122121112112112121221112221212122112121122212222211221222112121211212122122122212212122121112112211212212211111111211112111121122112212212121212111111112221211112212111112222211221121111111121211221212212121112111221222211121122212121111122211221122112212221121121111212222111221221112221121211122111121121211221211211122121222111222122122211112121121211111211112111211211122111221222122221211212122111122222112212212211112121112211222122111112222122221211212121112112111112221222111112212221122111112121122112212212122112212122222112221122122122221211221211212222121212222222211112112111122112212212111221122111222121121122211221112222111111221122212122212122212121222122121212212212122221222212111221221211111122111111211212212221211211111212211121212222221211112112112122212121221212211111212112111112112122211222121211211121221221222221222212121121212112212222121111222112111112211122221121121111212221222111121122122211211221212212221111111121112111222111111211211111122121112121112221111121221221112112221122122121121112121221121211111211111111211212111112111112221111111121121112111212121211221112221221112112111112222112122212211222111222222112212222211221222111122122121222122112212221212221212221111212121122121221111112211222221121212211221221111121112211221122121211212222121122222121221111222221122222211212112111211122121222122111212211222221112122111121112111112221122211221121111112222221211222222212121122212222211122222122121111221122211212212121221122221211222221121212222122222122122121211212121222222222222112222221212121222122212211211222121222212211122211112111212211211112122222221222212222211112222112112212212112112111211222121112111111112111212221212112222221212221221222212112111122222212112122122112111222112122212222122112212222121112221121221111111221212122222221211211211211122122222111212122112112122221222112122111211122122121121212221111222212212122211212121111122111122112222221112221122121212121211122112121211122221222222112212112112211211212121111121211222222211111122112221222111221111221212212221122221112221221121112111221211121222212222222122111122121112211112211211212122112221122112112122221222111212211212112211222211112112111122122211212222222212222212121222122211212211222212111121211211121222221221221111212112222112122211221222111122212212221211211122222222212211111221221221222221222121212222111211122212212222221111122212122121112121121121112121221111122111112111211221212222112211211112211211221121211122211122221121111112122111122121211111221212211221212222221212122211221121122222121122112112221111221212111211221111111212222121221211121112212222221222222211111221211221221121222211212221222111221122112211221222122222112211121122121111221211121121122212122211122112112211122221111122112111222221122111122211121211121112112121112111112211121121222222222121122211212212112121121211212212211121222122212221221221222212212111212122212111112221122112221122121212211221111211221211212112211221122121221121222112221222112222211122221122221211212122122222121212221222121211222211111122112111211221121121111121111212222222211112211122211111121222121122111122122212121212221122121112111112211122122222112211212221112212221112111111211221122121111122111211222111222122111122222111221211212212221222221122112221222112121122121112221112212222122212211112221111121222211212222122222111112121211211112122222112121221121122222112212112111211112211222222111221211221112121212121122112222121122112211112121111121221111121111112211111222221111222211121121212121112211211111222211112221122122121222121221122212212212211122111221221121122212111212222212222112121111221212111221121211111222222212112121111221121211221211222112122121222112221221121112211221212111121222212222112121211212221112122222222212211222221112221112112121111122122221211111122111221212211221222112212112121211211121121212211112111121122111122121121221121111122222112121221122121121211221221221121111221212221111212122122122212222122212221111212111111122222112212221212211122122111111222222111122212112222222112211221211122221111122211221212221122111222112221112122112111111211221222122212212222122122221221212122222111211122111122222112121222111222222211121222121222111122222222122121112221211212222211112221211221122211122211212211111112121221222111211111121221112222112211221122222112111112122212222221122111212211221222121212111222211212212222111111211222221111212222122211122122212111121111221211121121221211111212111221121121212221112212121111212122122121121221122122222121121211112111212221211122221111112212211122212212212212222212111212211121222122121112221111111211111111111112212212121111121111221221221122122112111111122111221222222222222221111121111222121221122122112121122221112212122112222122122121112111111111211222212221111222212222212111211111221121122121122222121111121112221122212211121121121112111111211121212212122211111221211222122222212222112111112121111221222122111212211222211122121112212112112122112121211221222222121221212112122121111121122212121122122121212112221222122222212122222121121222222221212112122121111221221222121111122111221211222111121221211111121211222211121221211211112122111122122112212212221211122211211211222221212121121222111222212212121221111112111221111112222221121221221121112122111112212211222212211111211211111121111221222221222121212122222111111221211221121212112122112211212121121221112112121212212212121121212112221111122212111211122221222222212211122121211122121211122212112122112122211122112211212212122222121122222211212221222221111111121222211212222222111212222221212122212111221211212222112122121112221122221112221212122212122122211212211121122121221121211212112122222221122221122212211121221221121111112212112212222122122222211221121212121212121212221222121212121112112211212122211111112211121211112122111221112121221122222112121111221212211221121122221222121221211221122221111211122112222122111111111211211122111112211222112211111211222212112121222121211222211211122221221112112112112112212212221211122222111121212111221112221211122221222112222221212111212122212221222111211122222211211212122122211112121111212222112212212122121212222221121212221222122111211222221221121121211111211122211211211212222122212122211111222221212222121222122221121222221212212111211112211121112121111211212222211121221221122212211222212121112122122212112222222221211221221112122211221211111211222121211111222221121111222112222122111222112112221221121211121122122221112122112211211221211112222221122111212212111122212122121212212112212111112122111222222122112112111111122112112111212112121111222211211222211211121122111221112222111211111112222112221112211122111211111111221222112222121211122122112211111211211221211122221122111222112222112122222212221121121111221111211121111111121212121211122122211112122111221212112121112111111221211111111221112212221212121122221221122121121222122112112111112212211221111111221111122112211112212112112212112221222122122111122212221222212122111212121112111121122111122211122211111212122212122111212122221122122211112221211112221222112212212212211222222212121222212211111221122221112122111112112212112122221122222111211111221212122121221222221111122222122121112212112212112222112122111122222211211211112121111122112212122211221221112112111221212221222121121222121121112221221121122211222111222222222111121221211212222222212211122212122111122221212122221212122111122122111122222222211212122222112122112221122121211211112221112211211221111222112211222222211212211211111212211111221212212212121112112211111221121222122111222121121111122211211211122222112222121121212111111211212112212211222211212221122111221212121211111121112111212111222221111121122111222121112111121222122222121221222111121112111112121111222211111222212212121212121212111211121111121122112111212122121221111212111212122111212221222212211122121111212111111112122212112112221111122122211211221111221122112222211222111212121111221221122121121211122111122211111121112111122111122212221122111121212122111222222112112212221221121111221112111222112211211221112211112112222111211122112212221112122121122211111111212111112222112112112221122121211211112112112112121111121212122111222212111111112122121112222221122211212212121112121121211222111221121122221121111122111121222221111122211122122111221112111222221221111121211112112111212211122111111122122221221121122111221121112111222222111221222221222121112221122212221211112212122211212211221122122121122221122112121222111211111112122112121212112212122121222111121211121211121211211212111121111111212221212122221111222212112112121211111222221111121222111122222212122122122211121212112122122221111122111221222121121222111211112121121112212111222222212212112111212111111112221222211122122211212212221211221221211222122111112122122212211112212211212111212111111222111122111122212112211221221112111212221222211221222211212222212111211212122211112211221211221221111122222121122211111121221211221121211121221122222211221121211221111211122212211122122112112212111212222121212121121122211112222212221122122222111122211211212111222111222222222221222211212212112212111121221211111212122112121212211112112211111111222122221122221222212112112122211221222212211112112112222222121121111111122111111121112121112111122222222112222211121122211112211111212212122121122212121122122112121222212111112111221122121221121112211212211112221212212121212221211211212212211122112112212222211112111112222211111122221111111212212111221112112111212222121211212111112211111222111112221222222211221212211121211212111122212221222121112211121222112221112212111112111211112121122212221122211122122212121122221212211221112112212122221211121111122211121221121122111112121122121121122212122112122211212111221112121221221112212122221111222122222221212122212112212221212222211212121221211212222221211212111221112112222221122212212111111111221221211122211111112122212111211211112222212122112112211211111212122111211111111121111222221211122212122211212121221112221221212222111122112211212211212222112122121222112111122111211222221121122222122112122212222122111122211112212122122211112221112221211211122112122222211121211112122121211211222222122112222211211222221222222112222221121121122211121222212221112121222221121221122111111121211222211212211222121211222121222221212221112121112112221112122122112122112221111211221112221212221111121111122222212112121212212222121121222221121211122122211212211122112222111222211122222212112122211211222221122111112111112221122121212211221111122111112211112212112121222112222122222212112121221112221121222112121212212222212222112211122211122111211122222212222222221122211212222112212111212221122111211211211112222122122212111221122211222211212211212212211112221111112122112122211211221221122221121122222211221211211211222111221122121222112111112212211222111121221211112112112122221221111212122121112212122221111121222221222112221122121121112111121222111122121111122112212121112112121221222121111112112222222112211121221112112221211122221211121212212121222222222111111222211221221212211121122212222112221221221111122111121111111211212211212221111221111111221122111112121111212122122111221122121122112112212222222122121221221122112212111211212112221211221211111211122112222222111111222112121111112111221212121221212211222112112211112121211211221211121221122212211111211221112222111211211111222111121211111211111221111222121111212211211212222111112211211112211211221222211122212112111222122222212121211212111222212211212111211122111212121212211221112211212121222111211121212211121222222222122221212112112211112122211121121112212121222121212221221211212211111122212111221122112121222212211212212221212112111111122211111221111121112211221212212111111212122121112112122122212112122222122212111222221111212221122222121212211221121122112122122222122221221122111212221111122111112211212221222112111211221122221212211221211111122121212212111112111121211111111222221211112211221122221121222111222112111221122111212212121222122221111112122221212211111111112212111111122212112222221212122122121121112222212222222122112111112211211111212122112122111122211221112111221211112211111212221222212222122221121222212212112121212111211111212222211111211111111122111222122222111112222121212212221222212121212112122122221212122122222122211122221222212211111122121212221112121122212122211211122222221121221121111111222121111211222212122221211121221111122112121121112211111111212212122122121111111211111222121211212122122211122112212121211222211222111121211212112211112121111112112222212121212121121221221211211112112211111112112121211221121122122222121221121112211122112122212212111212212212222212111111122211122122111222121121121221212112221221222222122212222211121221212221111122212211122212211212221122211221211212222211222212211121121212211122221122122122222221121121212121221121212211221212211112122222121122211221122212122121122121112121212122121122111212222111112221121221112211111221211111112221221221121121211211212112222122112111122221111112112121212111222112212221211221211221111111112122222112122212111111212112222211211212112122122222121212112222112111111221221111212222221222121121111111212211121221221221221222122121111212122211111221212111212111222221222121121121111111212111122221112212212121212212221111122211122122121111211121121111121221222111211122112211112221212122222122211212211112112211121112111212212121212221121121121121222112212121111212121122121112111111122222221112111222112111111212111211111111112211222222112212111212112121211221122112221112121212211212122221122121211221122111111112122112111221221122121112122111221221112111111122111222112212212111112222111121222212212111212122111222222222212221211111222221111111222222221212122222112112112211112112212121121122222121121121122122211222111121112222212111212122222221211222121122121222112212122211122112222211122221111222222221122221122111212121221212111212121221121121221221221222211222121212211211111121112121222222211122112121121221121112112112122221221212121111111212122211111212222211122121112112111212111222111111222212112112212221112122121122122122221211112121121112212112122222112211222222122212121221112122121121212221211112121112111121211122222111111221211111212122211111221122111121122122111221222222111121221112111111222211211211221111122121221122122112221121221222122221121112211121112211111111111211121212122212212111212122112221212111212221211212212121221221221111222122211211122122222121112121111111212221121111112121212222222221212111122121212211112121122212222121121221122222222211121222221221121112112211222221111121112112211212121221112221111221222121122221222111111111122212122221112111111221122121122221111122221122111211211121111112211121111211121121111221211222212221222112221222211111112222211121122111121222112212122211211211211211222222121221122112221222112112211121121122222222211111211111111121111211221121212112112221222212211211212211221121211111121222212212221122121111112212122221212112111221212212221211222121121222222121222221212111222111111111221221211222112221222122222112211221221112122212212212111121122122211211222211121122221211222212211212122121211212211111112112212222112122222212212212122121121221122212221122112111211111122212111121112121212111222212122122111122222221122211211121112121122212211222122111222212211221122211211121111221212211112122112211112122212212221122122221212121212122212212222121211121211211212221221111212212222121122222122211211121122112112122112122211111222211111212122212212222122222222222111121122122112221122112111221122122121211211121122212122112212122112221211221211112222221221221122111221212112211122111122121211122111111222222122112221121221212211212111212211221212222121222121121111121211222121222121111112212122111222122122112122211211122222121121222222221211211112221221121211221121222112121122121111222111211222121111121221222111211222122222221121112222222122112112111112112211211211222122221112221121222112221111122121211122222212222111111122121112221111121221212112211121121122211122122212221112122121122111112111122221211121111221121112221221122222221211221121112121211122121122212211211212112121122221122221121212211122112221121212212222112121221122212221212122222222222122212222111122122112122222222211211211111211112222222121212212111112111111212211111112121212212122111211221222222111122211212121111112221122121221222211111221222222112112111211111122221112211221221211112112211211212211111211122122221121222112122121222122211212222221212212211112122211221221222212221111121222211222112121221112211112221122112122122211222222112112111211222222111212222121222221111221212112212212222121112212211111212111122111212121112111211112121212221221222222122222122121111111212222122221211122221122222112211111112112212221112112211211121221212211222212221112112111221111221212211112122211121211122121122222211222121122212111211211121221122221222122211111211121212121211221212122112212121212112222222221111211121212222121211221112211111121121212112221221212122111121112212211222111222222112122111221212112222111212122112111111222222212112111211111211211222122222211212211221211212222211121111122121112221112222211122111121112122221222222112222211122211222212222212221222211122222121222121212122211122222122111222211122112212222112121221121112122211111211121121121111212112111221111122111211122212222222211112222212222112212211212121221111122221112121112122222221122211211111211211212112221221212112122122211112122121221122111122122221112222122222221111222212222221212112222222112212122211122212212222221122211111211121112212111211211212221112211112212121111221221112222221211111221112111211221212111221112112212211111112211222111212111222212111121121211221211112122212211122121211122112212221112111221122121212211222122221112222222211221221122211121111122112112221211122221112221111211222211112222222122122212221122111121112122222222111122121112112112122122212122212211221112212211211212211121121211221211112212121222222211211121211122222222121121212211212211222211222212211111121212112211122222122121121111122112211221222211211112221111222112112121211211121212112121122122111222211112111222211211112211121222221212111122211112111112212222212121121211121211212221122222212112212122112112221211121222212122122211212121111111122211221112112211211112221111221122212222211121122211111111112112222222122111121222122122211221222221112121211122111212112222121121121222121222221221121221221122121122222211211211111121111112111122122212122222211221121212122121121221111111121212212112222111121121121121112212121211111211111122111221122112222112221112111212212212112122122212122212222121112122122112211221121221222112212221112211212111212211211111122221212121222122222222121221111211222221212211212111111121212112211211112221111221121112212111212121112211212111212222121221221122111222212211112221212222112211211221221111222221212211112222221222212222122111112211221121222111121211221122121222221222221211212222111111222121211221122211211211121122221211111122211212221211211211221221212222121121112122121222211112221211111122212221112111112212112111222111111211121211211211112212122111112122212112212221111122211222122112211121212221111222221121122222222111212121221111222111221212211221112111211111112112222212212111121221212221121221211212121211112122121211211211212121221122211221211121222212112112211221211221222221112212222122122212122222211112212121111111212122121111221111222222122212212121121212121122222222221212211111112222212111211122211212122121112221111222112112121221111111221212221112221111121121111112221112122212122221112212111111122121112111212211212221112122121221221122112212122111212212212211121122221111221112212211112222222222111222122221122212211211222221222122122112211111222122122222211122111111122212121122112121222112122122121211121222112122121112122221212211212122121211111122112211121212212122111211222122222121112211212121212222112221212112122222122221211222211122121111211112111111121122122212122122222212222211212122212212222221212211222111222222212211212212112122111111111111221112211112112222112112121122111211221122222211122212122222212111221221222221122212212121212212111112111212212121121112212121112122212211221122211121222121212212122211121121121222212222111212121112111121212222111221211221212221222212211121211221112211222122122222122121211121221222112121112112122222122211121221122121212211111212212112121221211211112122222121121121222222112222121211111222222222222221111112212112222221121122221212111122212111111121222111211211212222211122211112221222212212222122222121212111211112212222121111122112221221121211212212221211211121121221111111211212222212211222222112112121121221111121121111122122212212221222122211112222221212222122212211112222111122111111222222211212112121121221111212211212221211112121122122121121221212121121111221222121111212112111122121212122112221112112111222121212111112112222112121211112211212111112222221212122221111111122212212111112211212211211222222222122112111121122121111222212212212222222222211211221122212122121112222212121122211122212122122121111112112121211222112212211112121112122122122111212121212121112212111122212212121222111112111121112112221122221122122111221222122122221212112211222111221211222111112112112122122212212211212211122111122122122121111211211211111221121122212122211111211212222211111212111211112221212222121212122221211111122122221122211111211222221221221222212222121211211111211112122222112121221211221112211112112122221211122211121212111122222212222112212221222222212221211121121212122212122122122222211111212121112212121211122122121121222222211221112212222122121221212111112222211222122212112221111121221212121122221111211121222121112121121221211212121121221212122212121122122122122112222211211212111112222222212211212211211221212112111122121211111221111112212121221221121121112112211111222221222111211222112121111122222211221111212212222121211222111111111212211211121212222222121112211212221111112221221111122212222121111111222112221211221112221211112111211121121122111222111212122222121211222111211211222212222212112122111112112122121112211221212112222221221212222122122111122122112222212222111212222111221121112221222222112221121221211111222121111122111222221112221211121111212222221211111122111212222221212221211122222212211222112112111221112111121211122221121222212121212212211122211211112211221112122111111121221211111222121212212222121212211212212112211222112221122112222212121112211122211122221222111122222122111221112221121121212221211212222222112112122111212211112211112211122222221112211112111112111221221212221122212211121112221211121111211122121112222212212121222211222111122222222211121111121111122122121122122122112122112222112111221111121211212111221222212112211222121122211122221221121222212212111111112211111221112212221221121222221122212122211221122212112221222122121111121211221111122222221222222212221221212222212121122112112111212122111221211211121221222122221111112222122122112111221121222112112222122121222121121222211112111222121222211211212212221121111122212212121211121211212112111211211221121121122111222212211211211122111122121111122211221212211211222221122222122122222121222211121111221211221211211112212112111112221222221222112122222122121112111221112212211111111111211211212211212222112221112121222212222111111112211211221122222212222122112112112112112112121111211121112122111122212212211111211222121211121112112121211221122222221221212121112121112112221212122221121212122222211122121121122222221221211112121212221211122112212212212111221111111222222212112221212112121111211221122211121212111121122111212122221212211221112222222122122212222221222221212221111121111111111121212122122111211121221211122212112111122211222212212221112121121112121211111212211212222221111221211211111122222222111121122122111121222121222122222221121221121212121222112111221112212211222111122112222211111111222221121221212211111221112221121221112112122121212122122211121121212211112211222221221112222212121221221122112112121211112121212111221221221112111211211212121122211121211222112212122221121111112212121222222211121222222121211112221211122221211222221122111121222222121121121111111221112122221121121222222211222212211122121221111212121121222212112222212121121221222111111211111112121111122211121112212111121221111112112222112221212211221111121121222222222211222212222221221111121111211112222122222121112212111121121211122111222221111121221211111111221121121211212111211211212121221121112111112111121211111111222211212122212122112122212122122122222112221111111121212211121221112121222121222121222222211112112221112212222121122222222222121222222112222212212222111211211211121222122121211222222222222112211211121211212221112212112122221212111221122112121211211222111122211211112211112121222221122112212111221112122212111211122112221112221112222211222222121112111222222112211211122111222212222111212122221112211112222111221122112212112112112111211211221221221122122111111121122121111112211112222122222112211211222221122222211222112112212222111111211211121212111212111112212212212211111121112121222112122222122121112121212112221112211211211122211212221222112212121112212211212212111112221111212222111122111212122112121111222212222211122222112122211222212212222122212222212122111221211222222221222211222121121221221121111212221212212211212112212112111121211122222121211122221112212112222122212211122122211222222122111211221212121211112112122111122221111222121222122212222211211112222111211121222112212222121112112121112211221221111212212122212212121121122211222211111111111122121221111221111211111211212222212112221112122222221212112111121111221111222211211221121221222212122112122122221122221111221121122221212111222211222212112122122221221122112212211121122121212122222222112111212122222212122122221221222212111222211112111211212221112122221212212222221212122221121112112122122211222221121221211221111121212212111121222222212211211122122112111122222111222112112122122222222122121221212221221111211111122212221122111221222222112112111111222222211211222221121222121111122222111212212212221211112212121111121212111111112122112222121222121112211221221122122212212211221221111211121212111212221121112211211222122221222222222222122122122112121222111122221222222122111122112122121211111211121212121211222122121112111122112122112222112211121221222121112221121112121122211212212111212211112211211222211122221222121221221122222211122111112212122222211112121121121112121211221211212112122222122211222221212121121222122112211122122122211222112122111122112121121111221112221222221111112211221212212212121121121112121221111122221222112112222111122212112112221222212112111121112121221211121111121111222111122222112121211121211121121122111112221121112121221122111221212122122122111211211121122111222211212212211111121211222222112112121211211122121122211112112121121111111112122221222111211111222112211222221121112122222111122111211122112112222221221211221211211122122212212112122211222211211111111211121122112212121121221221112112111112112122222121111121211111121122122212121112122112221122112222112121121221121122211211212221122121121222112111222122211222221222222122111221211112111112111221122211211111211122221121212122121212221212222211111121122212211212112212221212121221221121222112212221111222121222121121111112222112222111211121211122212112122212222111122122221221211122212221121211121121212122211212212111122122212212211221122112221222122122211211112212111212122112121112122222222221212112221212212122222221222122222122111111121122111221221221221222112122211111221212121211111112121112211221111111122122111121221111122211112111221122221222221122222112122112211222112212221121111121122222122111121221122211112121121221112121212212121222221222222112112122112222122211111212222212221211122212122212122111222111211111121211111122222112121121211222111112122211221112121212221111221122222222121121212211211221221212212212211111122122121221111221111111222211121222212112222221112212211121122112221121112112211212222211212112121122122111112211111221122122222211111222121221122112122221121112212222212122112111111221212212122212222212212222212211112121211211111221221112111221211122221211111222121121221212112212111211112122122222112221212122111111111211122221212221222121212111122221222112111112122122211112221212221111222122112122222122112122221222111122221221111111222121211211111111212221121112211211112111222222222121122222121111211222211121222121112211112222122221121211211222112222122211211222122221222122112121212221112112112122211211222122122221211122111212122221221122222112111121111212212211111121222222221221222122111221211211212111222111121121222212122212122121112121212221121121122211122221221112211212221112121112111211212122112122212222211222212211121122111211221221211121112212211221122122121112121222111122112111121122112221212211221211122211111211221221211112121222211122111111221222222221111221221121121112212211222122211112121122222112121121221212211121112212112212121122222122122121211112221121211222222111121212122111112221122112211212211222122211121211221112221221122112212212211212211212211211121121221112121211121212221222112221221212221222122222112211212112211221212221122121121212221122122122211122111122121111222222222121121212211122112212122122111211112211212111122211112111212121112121112111111211222221111211122211122111111211222221211122111121121211112211121221212222112122121121121211122221221112121121122112212221112211122111222121111211222212122212212212211111222221121121221221121212111222222222221212121112122111122222221222112122211212121112221222111212112212121212212111112122121211221211112122212112212111121121212122121122222222211221121221112121211122111212112212111212222211212222121222122122221211222111222211222112211221211122112212122112121222112222122112112111121212111121111221121122122211212111112211212222122111111222211121211121122222111121222211211111122212211211222221112112111112122221212212111221221221121222122112122121111212212111122121211212222221212221121121211221112221122212112222112121111222122212111112122112221221111111121111211121121212212211112221112211221111111222212121121122122222211211222122212222221122211212122122212221111212111121211222122221121222212221122222111212221122112112222222212212222111111222112121122211122112211212121111222221212122122121211212111211111111111222121212121111112121222222221122111121221121111122111111111222222111122122221221221221121222112221121221212112112221211111211211222212122212111211221121222121112222211112222212111121112222222221111212212122222112111221122111111121212121212211212122112122212212211222122221111222121111121111112222122122222221212222212121221111222212122212211111212122121221221111222112111122121211222212111121222121111211112121221211112222121221212221112212112122112222211222112212121222121212211221212112112112211112222222212122122111212211111212212211122212222112222112112221222121112211222221212221212211111222222111112212222112122221212212111211211221212121112222212221222211112111221211122222221221212212222221212212211212112112112222121122121121211211111211211111111222122111112212222121221212121122221211221122111111221212121222111122121112122222112211111112112122222212211222221211111122221212121212122212112212221112211121122112222122221122112111221221111221112112221211111211222122211211112222221121112112221111121211112211121111122221112222221111112121212211221111212111221212121112212112221222112222121221122112222111211121221112221211222221112212221112222111112212112111212211122211212122111111112111222211112112111121111221212222221212122121121111212111121211112212212221121122222212221211112222111111111112211212122221121211121112112122221112211222111111122212121211122111122221222112111222222221211112121121112121212221112112121222112221221222112122222112211222111221112112122222122211112221111112212221111212122221112221122112221221122222211112111222112122111221212112122122212211111121121211222112212122121221111111212222221211112111111211211221111212112211121222221221211222121222212121212112112221211122121212112212122112211111222212211221211212212211122211211121221121212122221111212112121222111112121111222221112122222121111122211221121211212112212122122112112111122211212112121221122112211121212222121111121112111112121211211111212111222221221112212121122122111211211222111221111121222122211212222212112112221212111122211222122211121111222221211221111112121222112121212112122122111121212112121111112212212211221211122112221211112222221222122122111112111212122222221111211221212222112212112121122212222211121112111111222212221111112222221112211121111222112122212222121111211122212222112222221221122112111222122221112122221122221111211212121121222222122212222111222221221212112121112211211221122121211111211212111111121112111111211111111211111112122122122212212111211212112212221122221111212211122212122111111221222211211112221222222212121211221121111212211111112221221111122222112111211121122212212221211112221122211222121221111211222221122211121211222122222212222121211221221212212122111221221222221121111212122211122121122212222121111121211222221122112121121221212211212111222211212121111212122112222211222122212112211221121122212211112111121221112122121111122221221121211222112212222111222121112122212212112222122121212122221121211121222221122121122121121221111111111221222122221112112121222122122211212221221221211221111111211211221111222122211212121121111221211212222111112122222121221122121122221222222211221112211211212212122212211111122222222121111212212211121222111212222211122221111112222221212221221121112222212122121222121222221121222112122111211112222211112121211121212212122212221122222211121112211122111212112122222111222212111221122222121211112212122211121222221122212211122211222212121221111111221211211221211121121211122121211222121211111212221221211221112111111211212222221121222221222211112122121221222111112121111221121221222112221212211122112212112211121112122212111211211112222221111222122212212111212121222112111111221222122111121212111222121122121222211122211121122221212121221112221221121221111112112221211211222212211211111112221111111121112211111211212221122222121121122121112121212122122111112112121112112211211111221121212122222111111222222112212222221212221121112121222221222122222112112221112212122121221221211121222221211122222212111112121122222112212112121211121121112221222222221222222111122112222222111222121111221211112211212111212111112211212221222212111122111112211111121111212112121121112221121111221222112112222222211212122111121121112122122222212122112221211112211112121211211111111222112111221111222122221111112211111212112122221221221122222111222122212221121221121212112221221122212112212121121122121212222212121112122211112221122112211221221122121221212211122222221122221222112221121211212112211222111122111122212111212121111221211222211221112212122112212112212221211122111212221112121121111111222112222122211212221222111111122221111221221212222222122211111221122212222111122222112121122211222121212212112111222221211121212112211112112221121122221112211211112212212212122112221211222111221211122121111111221121221111111121211111212221212112121212222222221112112111121212221111212222211111211211221212122122222212122111222222111222222212122222212212122112212112122111121222221211112222221222212121211111111221111212211111112122122122121121122212122222112111111111222122112221121112112121211112222112112212221211121222122112212222111222212121221122112212222111222212222212212112212222122121112222211121212211211121111122121212212221211221112221111122221222212222222222112122122222212122222122221111222121121212222122212212222221221211212221212211122111221221221122222222221222212211122111121212112122122121221122212111212212112211122121212111112212112222112211222121221211221221222112122212111212221112121122222121211121112122222111211121121121111211122122222212221222122212111221222121212122112212121112222112221122222112122222122222222112122112221121122112111222221122122112111121211112121112211122121112221111211122221121111221112221111211122111111122211212111222112211111222112121121122212112111222111211111121222122212121212212212111211222111221111212222121221121111222212211111221112211222122121121112112121211212111212211122211212121221212122121122122211211111112222211221111112112111212212121212121212212222112221111222221121221211112122211211221222211122222212122121222212121211222121112122112221112211121111222211211221112212122212112212222112111112221112221121111222221211221212112221211112211221211112122212211122122212122212212222121122121122121211212112122111221111222122211222221221212221212221221212111112212111121111211121111112212211212222122121112221112221122222211222211122112112112221222122212222221211121111112122122211221221112111221111221112112122212121211121221121221211112112111111122111112111122112211112121112121222212221211121222121112221222121211111121112112212211111111112222221121111122122112222222122221221222122121111112211122221111122211222221211211211211112122111111212111112221221222221211112222221122111122122221222112122122221112112222222111122122111112222112212111212121222221221121112221211212211111211221221121112121112121111222112121221112121212121221222212122122111211222122112222211121212222121121211122122121222222211121111112212211112222122112211212211211112122121221122211212212112111121111211112211112122222112222221111121121111212111111222212112221221222211121212222122112112221111212212111221112222112211222112112222211112211111122112121221221111212112211121221212121112121121211212211122121122122121121212212122122122121211212212111211221221122111112211211112212221112112122122212222121121211112211212111122111212211121222121211111211122112111221212212112221112121121222122211221122121122112212121111221222121122222121212222221122121211211221111122221111221212221121111221212111112112122222121122111121222121111121212212122112111212212111122121212221212112221112222211212121221222111111122121221111121222121211221212221112121121121221121222112222122122112111212122122212121222122222121222112122112111212112121122122121221212212221122121211122212222212211221122111221112122222212222121212112112212112221212211212222112222112122112221112122121222222211221112122121221211222222121212221111211122211122222211122121221122122222221221122212221111222222121221221112121212122111112121222121111111121112121212122121122222222222212112121221121121211221122121211212121222112111112112221212111211211112222111121111121222122221221121121212222211221212221222111122222112221112211222111222211112112111221112112222221221112222222221112222111122112222122222111121222121211122111112111212121122121222222121112112221112212122122121121112212222212112121222121121221122222221122111111212222211122121111212211111221121121122222222211222121122211211122221221211222112112112221111112122222212121122221211221122212212122122211122221211221212111221221111211211222112212121222221122212111212212121111122112222211121122112211222211122211211112112221112122111212212211121121221111211212211111211122211212221211211122121222121211212221111121211122112111122112222212221211111122211111212211111211212122112111212211211212212221221211222212111212122212121222111222111221121212121221121222121212112211221111111111121222222112121212211112121212111112212211122212122122212221121212111212221211222211221222221111112112211111221222122212222222222222221211212112212112112211221122222212222111222122122121221111222122111211112111222222211122211112122122111222211212122112112222221112211221112122121122111221211112121222121122212111212212211212112212212111121111222112111222122222222211212211122121111121122211122212112211212211122212122111111112212222121222222112121222221122111111121211212221111222112222212121111112112212211221112211121111221211212111111112212211111221112112222222221221221212122121221112212211111221121121121212122122122211111122112212112211222122121121222211222222222112221222112222222221221122221111122221221122111222221222211212122122121112122222221122222121222111111122121222111112121121122221222211112111122212222121212222221122212112122211222212122211121122221112221112221121211221111111221112212112222222212211112221121221112111211221222212122221222222221222212111121212122112221111122111121211112212122111221211211112222222221212211212212211211222111121122111111112121122211222212211122121121112211122222122221112221212111112121222212212221221111112111121122222121122111221212111222121221121122211111112222222211222212111221221111212111211112122212122121121122222221121122222221112112222221222111222211111112121121212121211111112211122122112111112221121111211122222221112112221222111211121112121212211112211122121221211112211221111212112111121212122111222211111112122121111112212122222212221121212121112122112122121221221121122211221112221211222121111112121112222111222111222121111211121111211111122121222222221212212211212122122221121211122122121112122112121211222212122111111112111212222121121111211221221221211122111122221112121221212122111111121222221112211212122121212112212122111122111211212211122112222212211111121121212111112121112121121112111121121111211221221222222121221112112222111222211121111111121122212222121221112121212222222122221221222121122121221211211111222211222212121222212211222221122222122221121222111221111121211222111112111122122112221122112221121111211121212222211121122221212122221211121221212122212222222122221221121111212111111122212121211221212212121211121121221222111222211212222221221121212211121212111221222111111212121122212112221111121222122112211121121211112212221111211222212221121121122111111211112112211212122222111221111222211111122112112212221112211111221121111112222222112222211212122222121121111111211122112222221121222111122221112211121221111122211111221221212121121221121111212212221112122122121111111121222211121121221212122222221211122112212212212111222122121221121122122211211122221212221221221211121112122222112121112212222121121112222111221111112221112221221122121121222121121222122112112122221112112211222222121222212222122221111221222111221121211222112212111121111122122221221222122121121111121221211111122121122222111212221112222112121222122211122122222221122221121121112111222111111122112212212121121121122112121121112222122211111221221111211211212222121222222121221212122122122211211222221121112111122212212122222211121221121212111221122122211122121121121222122211111111121211111221111221111121212212122211212122112121222111111221112212121112221212212221221221111212221112222221122221111111211221111211222211121122221112221122222111222121221112212222122122211212211121211221121222211121211112211122221122112221112121111212212212111212112221211122212112111222211112221212121212211221111111222222211221122212211112221111212211112122221222121222121221121212121122212211122112112212111211221221211222221121121212211221222122212121122211122212212111111111222122222122222222122122111211221221111122221112222221121122211121111112121112212221122111111112112221221121222112122112221112122112211122111211122221212112111122222112122112211121221222222111221112111112121212122112111111112121122121222122112222122111122221111211212211221122211221222111111222112212221212212212111111111221111222221121212112112221211211112221222222121221122222221112212112211121111212121221221111122222122112121111212211222111111212122221222121111121122121211111112212212211112221122121211211221111211221121212112211111122212111221221211112222111121112112211222212112112212122211121112112221122112211212122111111112111211111111211222121121222111112121222111112221211221122111111121111212122111112121121121221111212112212112222211212221122212222112122112122211121122222112221221212211221112221122112121222121212211221222121112221111121122112222122221211221222111111112111221222122222121122221122122122121122221121121211112121111112112121111112212212222111111221222221112111121221212212212111221212111112212221221111122222221221222111222112122122221212121112112111211122121111112212222121221212122222111221122222121121222121121122212112111121221211221122111212212212222121222211121121111121122221222122122221212212222111221211121212221212211121212121121222121221222112222221211212212211112221221221112222222211112112212221112111122212122222111111222111112112211112212111212221111112111221111212222122221211121211221222112212112211121211112112222212222221112122212221122121212112222122122222112121212212221121112122121122122211121211122112222122111112111111212222222212222222111211222121212221121212221112212112111211221111222222121122111121221222112221122221211222222222112121122221222122111222212112222111121211221111212112112222112222122212121221221222211111121212112122212221222122111221222212121211212111222212212212222111111222222221222112112122211221122222122111112112111112111121122122112211111212122211222211211112111112112122122122222111222111112121121211222221212221122111122122222221222221212221222112221221112212211222111112211212222212212111121112212221221122211122122211112122122111122122122211111121212221211121111222112221112111111222111121121212221221211112112111112121122122111211222222212112221122221111121122122221222121222222112112112112122112122211111122211112212121111121111121121122212222121121212222211111121121212222221112111221122211222112112221111111111212221112121122111111212122112121121121122221222112122221122222122211221122221221121111121122222122212112112222111112212111122222211122121121212211121212211212122122221221222112121211211222121112211211212111121222212212112111221221211111222211221121222222121111222121211221112212221112111212221222211111122121122212221212121222211221122212121111211222112222211221122222122112211112222122122211221222112111111112222211121121121222222111121111112211112112121221111121211222111211121212112211121222122221121221121212122121211111212211212112221211122211122221111121121221112222121111121212112212222112122121121111221212222211111121111111222222111122121211111212121212112111211121221222111112222212111211121211122212221211112222111222212221111122111212121111222222211121121112222111221222211111212222221111122111212121121212221111112222211111122122212121112121221221212211222122211112111212111211222212221121111121122211211211222122212222111112111122222121112122211121212111111211112211221121221112122122122112111212122222221221121221221212212221112222212212121222212112221121121111222222212121111221211211222111222122211112212212122111112121211222222211221112221111111212212221221221221211221211111221122121221222112111111111211221111121222211112112111222222121221221121212222111121222212222221122111211121212112111221212111121122221222112212111221122121221111112112222212222222121212222212112121212221112121211211222211112112112112211111222111121222211221121122211121212222111121112212222122222112112211111121111211212212121112222222121211222111112112122211121212111121212121211121222221221222112211211221121111121112211112222211111121222221111111111212121221122221212212121121211222122212122111221122112222221222111121212212211112221111222121212211121111121121111121112221112122221112112111221112221121221121211112222122112111222121121112122111211121121122211112212221112122121222212112112111221211222221222122112221122121121212111122121222122111111211222222221211122211221221111112221212111222221112111122121212212111211111211112211222111221212122121122211222122212221122121212122212122122222112221221112221111222221212222212111222122211212222211221122212221122111211111211112111111122111211122211111121222221121211122212211111211221211222112211112122122212111212212112111121121112222222122221212212211121221211212211222222221112112222211122211222111122112221221121122112211122211111212121112222111211111111222122111111111121112221111111212121222112112212112211222212212222212211121121222221122222222112222121221212222221121221122122222122221112221211122221221122212112221121122221112111111212212212211211111212211111221112211221121112222211211111111212221222111122122121212112211222121221211122121212211111111212121121112212212212212111112221222121121222212122122211112212212222211211121122221211211221212112212111212121111221211212222121211111111111222211222221221222212222121221221121112111112222121111221222222122211222212222211222222121221211112122111212112121121221222221111212221211122211121121211212211111212212211222121222122122211222111111212122121121122111121112222121112211212222112122122222212112221221122211112112211121122222121122211211112112111211212121211212211122111221111222211121111221212211112211112122211112222222211121221121111111111122112222222222111222122221222221211222111211222122121112212222111212122111111112122211112112121121122212112112112221121212121121121122122122212222111121111221212222211212122212211222121222211111222221222112122211211112221221222211212222122121212222121111121112122222112122211222222112111212221212112121122222221221212122121211112221211212112222122212121121212121111112212211211121222121122112222222122111112211122212212211122112221122212111212122121221122221112211122222111112222221121111211122212111121121211222121112112221212121212222111121222221211222111211212112222222122111111121122212121121111221122221212212222211122212212111211121212111212211112121212112111211122211222212111211221121211212222221222221111121212111222121211221111111211112121211112212211121112222212122111111122112121122212112211221121111122122111212221211212112212111211212222221211121212112111111211221111111121222112111211221112221212221212112112111211111112212121211112121111122212212211111122121122212221122111112221122112112111121112211212111222222121221221122211212122211112212221211112222222121122211222221212122122122122221112112222221222212212221121222211221112211222221211121212222222211211121112222222122111111221222122212211221122222211222121112211212222112222211211221212111221212212211221221222221121222122222122121122111111212122212212212222112121212122222212122222212122222122212121121212212111122211211112122121221111121222112211112121122122212212212212112122211111222121121221222112112121122212222111122111222221211221212211112211122111212212112111121111111111222212221111112122221221221122111112112212111221122221122121222221111221222222212122212122112121121111211121211222112222211112222122211221121111211211122222112221121221121212211221122222122211222111211112111111122111121221212112121211121212211211111221121221222121111222211111121212221122112221122212121221122222121222211122112211211121122221222222211211111122221211111221221111221222111111122112121222212121221112221222212211222211211122122212221211111212212122221211111122122112211111111122121112112211121222112221111221212222112211211221111212222111121121211221112221221211212112121212222121111212222111211212212212111212211121211121112121222222212221222222122111222221111121121111122212121211222221112121222112121221221112121212211121111212112121212221212211221221112121121212221112111211122212222212112212122111122122211122112211121122111211212121212121212221212221112221222121222211222211221212112212212212112112111221211222111221111111221121112111211111222211112211211211111222112212112122222111121211212122121221212112221222112222221222221222212122121222111121122122221211211212112212212221121111121121111121111112212222112111111212122121121221112222212121222222122121121122112222221112221221111222221212221111111121212122112111212221212212222111212112121122122221221211111221121212211212111112112211221222122211122112122212212122212111121212122211222122221112121212121112221121212212121112121212211121112211112112111211122111122121121112112221122122222222211122122112122221112122112122122112112121222111212111221222122112211211111121121122211121221222222221112222111121211211222122122222221121222221111112212111122222212121221111212222211112212112221211111211222121112111222222121112111222122212222111111222112221221122211222222122222121221121122122212111121112111212222211121111211121122122222122111222122122121221111222112121122212222122212221212212111221112211121211122221112211122112222212212112122121211122111122222222111122212221221111212121221211211121221221211112111122111121222221212222122121211211112221221112222222212222222221112211112112211121122222222221211111212121122212211212221121112222112122222121221222122222111112211211222122222111222222221112122111221211222122122112111112221211222221121221222221211211112222211111221212121121212221212112111212111221111121111212211212212221221111122112222212121222212112112111121122122121212122222221122122122112121222112222112221221111122211122222121122121211221111112112111222122121112222122212221122221221211112211211121221112122221221221112122212221111121212112212222121121221221221211122211222121212112121222222111121211112111211121112112122222112212211211211211121211122111221122111111221212211222221221111221222222111121211122212222121111211121222221211122121111111211211222122111212221212222122221121221221221212122121121111111111211212121222211211122111221122211111122221112211112221122121212121211212212121211222112112211212112222212222122121221122222121211121222212212122121111212211111112112222211212122222222122111211111211121111221211222112112121221221112222112211112222212122222211212121222222122111212211211211112222112211211112222222112222122222122122211211112212221121212112222211121112222221111212211112121112122121211112111111211212222121212112221211212122222112212111222111112112212121112111212122112121121122221211211221122211212121121221121221122111111111112111212222121111221112221212221221222111222121212212211111222222122221122111122221121111122112211111221221212112112212122112222121221111122111122222212211122212122121111121221221222112221121122121122211111212112222221121122112212222122211222211112211111221221122212221222122221211122121121212212212112112122212212121211112112121122222211122111111222211221112222121122112121121222221122211112112111121212111121222212221111212112112111121221222221221212111122211222222222112221111121222221112211121222211211111222111111222112212221211111212111121111112122211111221221112212221221122211222111112122212112211221222121111111221111221122222222122222122221111111221221122221112112121112222121121111221111122221111112122212211121111211122122222222211211221212112222111222221211121212122111211211122112112212121222111112221212121211111111112121122211112222222122222212111222111112221221221111212111122211122112212221212121221221212111112122221122221121221112122112112211122221221212121122212121211122212122111112112111211112112221111112122111211121122212122222211121222121211112121111111112121121211122212121211211212111221212212221221111211121222211211111211112121111122222221121121222122211121122112212111122121221211212211211211212211122222211222122211111222122211111121211222222111111222212111222112222121112112211212111211122222221112211111212111112121222212122121222121111211122111212212221221211121211222112212212222211222112121212111121112211221112111112122212221111121211211212211222112112121212211122221112222122221212221211121111211121111221222111221121121211111221221211211122222112212122212122122212112111122111222211222112122212122112222211222122111122112212212112121122111221122121122112121111111112112222211121121212112211122212112211112222211221111112221121121222111211211122212212211211111111222221221111211221221222112212121221221211222211211121221222211212211121222221112222221222222122221212112211212211212122121212122211212211222112212221111122121221112122222122122111121212111112121212222121121222111212122211222121121112122212222211221211211112121122111121222112121111111212112112212212111212222112112211122221111222211212221112121222112112111221221122122211111122121212122121112121122221122221221211221212221112122112222211112222111121221212121212122212212112212222212121111222121221212112121112112122211222211221122211221111112112221112222211121122222212211121222112112221122211221222122112122222211211112221111112121111221212121222121122212222122211222211221222111121222222112211122121221222212111112111221111111212222121221212222212111211211212222222221222222122122122111211212211111212211112121221111221211212222122222121211212221111111111211212221112212122111211222111121111212211222112121112222222111122112222212211122212121121121112222112122221112111122222221121211121111111221222222212211122221122122121121122121222222121122221121112121211121111121211122211112221211212121211111111221122111221121112112111222112112122222121121122122212222122212112121121222221111122111222112212122212222211121122121221121122122112111122112121112221212121121112211222121112121122221221122221112222111212121211222211121222211221222211211111111111121222122212122112211122211212221211112212211112121111122212111122112211222222122112211222122211222111112222222221112112221211112111111221121211112111221111111222112212222112121111121221112212211122212112112122222112112121211112112112112212221222112222212111121111221221111112111211111211122112111212111212111121122221112111222222121221221222212212212121212222221122222211221221121111212112112121122121222211111122221221122112112121121221122212212222122212221211111212221112122121122212221211111112211122122112222212221122111121221122212212222211111121211221121211222121111221222211111221211221212112111221122111112111122221221111211211111122111222222112111211121121211212122112222111111211222121111111122222221211112221211212212112122112111112222121211112211122222222212112212111112121121111112211112111222111211112221112221112222211211222221222211221111111222111211221121112122112112121122112122211111111212112121121111222122211221122112121111121112221112121211222121222222121122221221211112122111111221212222112122112121222211212212111221121121121211111221212112122121222222222122122122211121211121121122111112111122112222212222112111111221221111211111111222211221121122222221221122122112121111112121122221212112111111122121222121121221221221221111222111221111121221122112222112211211211122222221122122121211221112222212222221212222212111121121111112111111212212211111211212112221121112222111122111222111121111121122222221221121121222212221121221222212112112121121112221212111211112111112222122121222111111112221112212121122112121121122221112222112122112121222212122111122121111222111221222111111111222211221122212221112221112122212122121121111112221121111121211121212111221121211211121221121212222121222211122221121112212221112221121221211211111111221122221222122122121111121212122212221212112222221212121121111111122122111211211111212112111211122112111221112122211122111221122211222221222112111221122211211121211111212212112222111121211121212211112211111211222212121211121212112221112111221122112111221222121212212212212122112222111111221122212221221221211121122122111221212121222211111211112121112212211121112221112212222211112211221221111121112211222121112111221211222211122212222111212221111221211222211112222222112121222221122222121212112212222112112122121122222121122111211222211222121121122112211221112211211111212111111212222222221121112211112122211211122212211222111122221112111211212221122221111211122111112222111112111121221122122121112212212111122212122211122212222222222221112121211211211111122212112122122222121122211121111112122121211211212111211111112221122221112111111212112221111111111111211212221221211111222121211112222212121121222122222111211112122121122212112221221121112221222111211221211121112222211121111111122111211221211221222111222222211112221121222212122211221212212121222112111121122221212112111112221112121211211111222212112111122212212221221211121221211112222221212211121222221212122122122212112222212222212212112111122112112121111122121222112221212211222111212212122212122212221211121211112122222221211122112222221211211221111111121211212211122211112221111211111222221121111211211212222121121122111211122121212222122112122121122111222111112112221222112121121222222212112122222222122211122212112211121122212211121221112111212111112121222112211122212112121212111112121111211121111221222221212221121222222112122221222211112222122211122121212211212121211212122121121221121212111112211111221111212221111212212112212212212222112122111222221121112212121211211112222211111122122121222121112122111122221122221211211212122121111111121122212212122222122212221221122211222122111222111122212211212112211112122111112111112212221122111122212111112221122111112212222111122211222122211122222212211211222121211222222122111222211112121212221111121121111112122111221121111211212211122212122222112211112222222111121112222211111211211211112211212211222111111222122122212122211121221211221121222211212121222221221111121122112111211112222211121111221122222212211211222122211112111111112222211211221121111111211222212122121111111121222211122122112112212211122212122122122112111121111111211212111111112112212221122122222212112121121221222122112111122111111111121211221112121212112121221221211211121121211222121222211211112112111221121212111221121112121222112211112221222222122212112222112222222111212212221121221221111222121212222222212222212221112222221221112212122222212112212221222122222222212122111111112112112111112222222211112111111211122222212212112121222221222222221211122221212221122121222212111222122121221111221112212211112122112121211211222222122221121112211122211211222211221222221111112121111212112211121211212211121221211222122221112221211122121211112211211222212121211212112212221111122211212121221222212121222212211222212112222111121122212122222121211122111222222111121112211122212222221212122211122212222211112111121212121211221122221111222122222112122221122121121112212111121112111111122111122222121221222111112111122112212222121211122121112122111122221112212222121211212122221221111122112222122122121111212211111211112112111121221122122111211221212221211221121112212112211111211122211112121212121221212112221222111212222211112121112212211111212212222221121221222212221212211222121121212111121222112221121121212221221111211212111121222211222222221122121211112211221212222121111111211112121111121112221222111212222122122121221122121122111221222212121122221211212221221211121211212221222212211112222122212111212121122221111111211112121121111122111121111112121222112212212211111111222222222221222112122212121212112221121122212212112121221222212222111212211122111121112221222211111121122111211211211221121221121222222222122122111212111122211122121211112212121111121122112211122212111221121122122121211112122211222211222211121111212221211122111122112122222211212211222121212221212211212112211122122221112221121121122112121211112121221121112111221222122121122212122222112111121112221212211112111121222111111122111221222212111211112121122212221112212222212212222121111121212221111121222211212122221112212122211112111212112111211222212222121212221112212112221212222211112112121121221222111111112121221122112112212112221221122222221222121221211212211221212212122122122121121222212222211211222222221211211112212211112112121122212222212112122212221221221111121222112111222122112111112222212121221222111211122122221121121121212112222211112111111211112121122112112112122112112122121212212121221122111221211112212111211212222222122121212121211122221121222221112221212211221212121212111112211212111212212211111222111211222212111212121111212211121122122212211221112111221111211122112111222222221222222121121121222111211121112212112111221112111122112212121222212121121222112122111122222111121111121211222211122222122112112211211111111122121112122111212122121121121221111222121111211221222112211222122212212121111211221211112112111112222111212221212112112122212211222122122111121222222212122111112221112212222212121222122111112212221112112111122211222111112222111222222211122212212212212211222121212121221122222122111211112122122111211221111222222112112212112212121112222112222212221122112122222122121121111212112212121121122121211111221211212112112111111212211212222122211212121122122222211122122121211122112222121121121221212222111112121112211122222111112112212111112112221211211122212121221211211111111121212221211222122111111222111112211122221121112211111111111122221111212212121222222121122221111121211112212112112122122212222212222112122111111222212211121112212112112121212121222211121112112111221211111221211212112112222112112121221122222212211112211211122112211211212211121212222112122112111112111211121121212121212212222121221222121221122221212121122211221212211212222212112111112211112112112122112211122222122222111121121112112112211111112121111212122111112121121211212121211122212221122111221121211212211212221112212222222211121221221222212221211121211111122111221222122212111111121111212122222121122222111212121111212111211222211222222122212222222112222111211212221112112211112121122121122221112112112112111212222111121112211111211212122221121221111112222111211221222111111222111221121221111111112111122122122222211222111221221212221111222112111212211112212212212111112211222122222222111121111221121111122112222122112112112221121211122222211222111211212211211122111111212111222222112211112121121222221112221121221112111211222222211221211122121112111211112112122221221111212111112112221222112221122222112222221111121111111122121121112211121222222112121211111112121211221211222122122221222112211221212212212221221122121211211111212112211222111111222211222222222222122122112222211112121221212111121212122212212222121222121121121212211121211112122222122222121111212221211112112212111222221122121212121221122212121122222212122122122211122112122211122111112222212221222211221112222121222122222111212111211212122211111221112211111122122112112112121222121222211111221212221211121122211211211112122111111112111111112211212121221111112212111122121112121221211221121122222221121211122212122121221121222122122121121111112111121111221121122122212121211112122112112222111212212222122211212222121222212112221122222221111221222122112122211221211112112212112212112222212221211111111211211121112121121121212212112121211121222121222211211111111121212121221222212121111111221212212122212211112112211111111121122222211212212112222221221111111121122122112222112221121211112221211112212122211221122211121111211222112122211112221111121112111212112112121211211111212211112122212222112211221221122122111221212111212221112121222222121112211221221211112112222212221111222222212121221211122212122211112121222122212212211222211121122112211221221121221112212121222122112222122121222111112121122112122111211111222112221111122221122211111222121212222211122122112221221211221122222222222221112112121112211121122222211211212222122221122121211112111112211221122212222212212111112222212121221122112221121112111222111222212111211221122211121122111211122211111211111212122221111221121111222112121112211222111211211122221112222212122122112122111211112212222221211212221112111221211212211211122221211112211221211222122222112112121211122121112112221121221211212212122211221112112211122212111121121122122222212211211212111221221111212212221121221212121221212222221112212122111212211221212121111121222121121111211111112122111222111222111121221222111211121122112112121112211122112222211222221111222121212111111211211111211122221222211222121112112221112111211111111112122121111212111211121111211112122121111212211212211111112222222222111122122122222212221111221121222122112112111121222122221212221112222222222121112221111222111211222121222212221211222111212222212222122211121221122222111212222121122121111122211212221121121111211222111222121112211112212221112211122221111112112221112112112121112221121122221212122212112211211122212221211212222222111112212122222211211121212111221211221111122112112222111211122121121222111121212211212121221212221212211221212222212122221111122212121122122121111111222222121111211122211211122222111222111111121221112112122121111121212121211111121111121112211222122222221112222212212112121221222121221112112112221111212122212112222221211111111212111112212222122222222112121222212212221211121222121211121111221112122111112222211121111122222222221221111121121121121222222121222111221212111222122111222222121221221212121121122222212212212222112222111221111211221111121121211112211121121222222121122111221122212122211122111112111121212211121222111211111211111222212121222122221211121112111121221112122221222122112111212122211221211211222121212211221121112221222112111122212211222211122111111221221122221212222211122112212112122121122222221212122211121221121121211111112221222121212111212111222112112211212222211122122222111121221221221211211211221211122222112121211112211212211221122122221111212112212212222221112121111121122112211222222212212221221122222121112221222112122121111122211211211122222222211221222222112112221122122212111122122122222121222111222111111221222112222212222111212111222211111121212112212212222111212221122221212212221122121212211211121211112222112212121121211111111112212121212222122211111121222222211212122212112111211211212221221111212112121221222221221212121222221121122121121211121111222122222221222112122222222122222111112211222122222212111111222222222112122122121221211121122222111112122112221211221122112122121222121211111212212211212121211122111121212211122121122111212112221222122112211111221112121211112111122112211111121221222211221121112111221212222222122112221221111112222221221221121211211121111211112222222122211221122111111112121221222111121221211122221112221112121221222121112121221212122222122122221212112222121222222122121221122212211222122211211122112121211221222122211122121221112222222121212222112221222221222212221222211111211121111222122112211222221211121212211211121221222121222221212111122211222212121221121122111121212112222211112212222211221221121222211111122112212112111121112221212211211212111212221221111212211211222221222111122122211211121211122212121122122211122121111111111222221211121111112121212112121212112112111211221212222122212121111111111121111122121211122112112111221211221211222111121221122222212221211112221121211111222121221122112222211112211212111222111221211221222111212121212112111121221221111122212211222211111111121212212111222121122221222212121122122221121112212222212111211212112111121222122111121111222212112122212111112111221222111221122111212221111122212222121111112222112112122212112212112122221121112121212212222111212122122221211222112122211221122212121112221112211221221222212121221122221221112212222211112211122222212221121221222212112111212111212112212122211211211212222212112212121212222221212211111211221112112112221121111212122211121112222122221111121121222121112121121122112121112112211222221112211122211121121221222212221211121221222111222122112112111112212112212211112221212122111111122221122121121122211111221222112112222212222221222222211121211112211211212111222211121212112221222112211122212112112222222212121211121122112211122122112112112121122111211211221112222112221111121121121221112211221111112112221212112222122222212212211111221121211212121112221112221222221221122211121111122211221122211112221122212222212121221111112112212112221112221121111221121212121122121122222122222112121112111212211211121221211112111221111211211122211122211221221121221211221212211222212121212121112122112211121112221122211122221111121122222221112221121211222111122211222222212211112122122212221212212111121121121111212211212212122121122121112212121211122111122211212112222212111121222111211121112111111222211221212221212221221121211222221212122222212112212121211222111222121122221122111222122221112111112112221121222211112122221111112111222121221121112222121211221222122211112112212212222211122112121222122111221222112111212211122221111222122122222122112111111211211221221122112221212111122222222122112122221122221122212122212121112212212211222221222222212111121122222112211221121121212221222111221212211221122211112112221111122212111222122221122211121121222112211221212221111222222221112212211112112122211121222121121211111122211211222112121121211222221221122122221112121222111222111211222122222212111211112112122221221122111221111211221221212221111211211221111112112122212221122122111212211212121221121222112221211221111121122121111112211112111121121111121112212212211212111111222212111221212111111221211111222221222211112221222212112121112112222212112221211221212211222112112211111212122122112221111212212212222211111111112122221211221221112211222221221212222111211221222212121111212122211221211221121211221211112212222121112221121221112121212111122111211112112112122222211222112111222122111211221121212221222122221121121111112211111212222221122112222112211122222121211122112221121212112112122211211221221221111111111212211221122121212121221212112212122112111122211211222112122211122121221111122122221112112122122112111122111212212222112121211112121222221212211111222112121122122221211212221212112211111211222222122212211121121122112121211221212112221222211121221111211211212122122221221111212212112121211121112212221222121211221211212122212112122111112112121112111221121122212212111111221121122121111121211111212122221211112112122112122212122121122222111211211221211122122221211122222221212121222222222222221222212121121211222112211212222112122221211112122212122121111212211111122111211212222221222222212111212121121112111112211211122112111221112221222122211111211211222121222121211111222212211212212212211222212111111212122221122121111212112121222222121112211221122221111111121222112121111212112212211112222121211221112121121211122212111111221112111122122211211111111122121212212122121211222221211211112221122222212122111221212121111211221221212122222211122122112222211222211121121122111221211222212222112112221121222211222112211212121211111112222212222211211212112122122221222122122212211222122221211221111111121212121221221111212211222222111121122211221121122222111121112121221112111121112122212122122212222112111212212112111211111222112122211211121221111221111212222112211221111122211222111221111211212111122211221121122211122112121221112112121212112122122221212211221221122111221222122222112121211121121221221112111222222222212122222112122121211211211112111122211122121211122122221111221121121221212112111112121212111112211122121112211222111211221111212121211221122111121211221212222211221122111211112112221212221121112111112111112112121221122211211212212211222212122122212112112122222111112221121111221222222222111112122122112211212221111212122122122211112111112121212222212112222111122211112111112111111211212212212121212212222112211212121211121121211122122112121112211221112221222121221111111221112112212221112212122121221111112222211222111212112211111112111112121112122222222112112122222122121111212111112212112211111122212212121212122112211212111211121122111211122221212222122222222112211222121111212212222121222221122222222112222212222121111221211222121211112222222211112112211122211122111222222211211221221221211122122212221122111112111121111212212221122122222211122222112212222122111211212212121222221222111122221112221122211211112121212112221212222112111211211111112211212221121121121212221111112122211112112112222211112111111122111212222111221122211212111111211211121212211112121222112112121112221111212111221222221222111122121211211222222121212212211211222111222212211122222121212212122112112122222212222211221111212211211222222212121112221111221222111222112222212112111111111112211122221211122121111221122222222111112121121121121222122221211112211221222221111222122111112222211221212121112122212212211222221111121111111122211212222121222121221211211222121212222221121111211211221112211221222112111212212222211212221212122121212111221211211222222212221211211212112111211111121122221111112212121112221222112122121121212121212121121111222111222221221121222212122222212111122111211122122112222221212112221211112222211221212122121111112111121111222212211111122122122222212122111222212212221222222211222111111111221121121221211221212122212212111122122212222112211112121112111221122112211211122211222222121221111222222221111112112112212122121111222222211212212222211112222222212112212212112121221212212111122221212211222111211221122112122212121121121121111122121111112222211221121111212211211121111221122112212122211211121212211112122122112111212211222112222212122121111211211221111121221112211212111212211211111112212212222111112211112112222112121111111121221121111211222112112212121111221211121122122121112222111121121221221122111212212112222222222111111221212122111122111211221222222111221211111221122211112112221122122212221111221111222212211122122211221212211121212222222112121122222221112112221112211122221212222222212122111111112222122212211222121212121111122121212122121121121222211111221121211112221122111112211222121112212111211121111111222121121111212111122212212221121121112212121222122111121221212212212112122111221211112111211121212122212122112222111112122212111211122212121212111211221211111112221111222112121111222122211112212122221212111212221222122222221222112221122112211211211221122212122221212112211212212212221122111212212212222222122212211211121211112211112122212212221222221212211121111222221111222211122112121212211121111111111222111211211112121112212222221111111121222112211112212122222221111121211222121121111221111122122111111122111212222222112221111112212222221112212111212222121221211221112222122222222112221111222112121121222122212112111212111221122221212112211122212122221211212222221122221221212211221211212111221112212121112211221111121212221222222112222112212212122211222112122111121121122211122121111111222112221112111222212112212122111211222211211121111111222211221212222221221111212111212221112212222111221222212121111122121122112112211122121121211211121111212111121111222112111221121122111211221211221122222122111111212211211112112121211211111221221222222211222221122221111221221222212111121122212112121222212122211212221112112211121222222122211112111212222111112211221212212211211111212112212211222122211211122122122222111112221111222122122222122111121212112212121112211122221221212122221222122211211122112212211121212211112212211112212222112221112221211111122111211211111222121211122211212211121221111121211221111112121112111222212221221112222112122121221221212122112212112212121121212111211211212212121122111222112111221212112112222212111222122122122211122112111121211111122212211111211112111121212122221222211222112222112212211221111222111222211112111112221112222121111212221221112222121221211122222112121122121212222211222122122211112121212122112121222112112111112122122112122211111121212211122122121111111121111121212211111211212121221111111112111122122122111112222222111111121221122122112122211112121111211121221212212212122111221212121222111112121222121111211112112211212212111121122212222122211212212221121121222122222122112122222212111112111121122111112121122212122222221221111212222212111121121121212121222211221222222211221212112112111211221222222211121222112111112112221212212222211122222121111212211122212112111212211211122122121112211112112112212111222121211111121122212211122221222222121122221121222221222212212212122222212221222121221221112111122222111212212211122212222112211212211121122212112222211111212211112222122211221212221111211111222221112121211121211222222212121211221111211212212122111222221112212212122112222211212212122122211212121122121212211212121211112121121212122121111221112221211222111211221212111222212112222122121211122222122221112121121121112112211222221211121122211112221121222122221222121212121112111121121211221111122111221211221211211221122221211221121122111221221221112121222221212211212221221221221212122222211112221222221112212212211121222211112121112211112221122212122212121121211112121211221111122112112221211121111221111211211211211122111222221212221122222122211222121122221121121121212211211221212211212211111222212221211211222212211112222222212212112112211211211112211212122222222111111221221222111112121122211212112222211222221112112121122122122221112122111122121122222111212122222112111222121221111212211111122121211121122221211211212212121121122121211212222212211211112112212112121212121122112211222211112211121111122111112121212122211212111212122122211222212221122112111111121112222212121211221121122222111221111221221122222112222112111212211111211111121222221211111212221222112121112122222221221122111122122121211211111112112121212221121112222112111222121221112212121212112222121112122222211121212111212212122211112221111112122121221122222122121121121111221221122112222221212212111212112222212122221211211112121122211211122122212122112222222112121221222221121222122222212212112121222212111121122111211212212212222122122112222111221112111112111121211112212222211222122211112121111222221211222222222122211112121221122111122211221111222122211222122122112211122211112121111221211211112111112121121211121212122111222111122122112121222121112111122212222112111112121121222122122121111221212212111112112111122112212211111122121121122211212212211221122112212222222111121112112211112112211212222122211112212112211122122122121221122112212222211211212112211121121222121111111111211111111121221111221121211112111121221111112122212212121222121222212111122111121121211221111212212111222221212211111222122222122111121212211211222212112122122111222211121122112112111212111211212112122112122122211211111122222222121111112212112121222222122211121122221212121221121121111121121222122111222111111111222211122112221221121112122221221111111121222122121111112221221211121222111222122111222111221121122221121212111212122211221222211112112111111212112211122122111112221221211121111211212221122112112211211221122122121111112221112112111212112221112112121121111112221212122222112211121211211222111121212121121221221111112221222222212112211211121122212221212211111222212122221222122121211221121222212212121222122122212221122221111112221112212111211121212121112111121222112221222212112211121121111112211221221112212221212112221212112222221122222222212122111222222112212121212111121112112221222221221212221211211122221212212212212212121111111222121212121211111212111221222211121121211111121211221112212211112221112212111212122221211111121212122221221221121212112222122212212121221212122121222112212111121112122211221221112111211212212222212111121121221222121112121122122211122212222122121222112212221111211222121212222221112112222222222121122222222121121111221122212122211111222111111222212222212221222221222112211122122111221112211211112121122212112121111211112222122121211112121222121111212221222122212222222111112211121121222111121212222222111111211111222122121222222121222112211211122222121121222222121121122112222112222221222212122212111212121211212222211221221111221212122121122121122211111121121121212212122111221121221222211221111211121121111111222211212212211121112211111121222112212221122112121121121212112122221222122222111211222211222221122122211122122111211222212112122212121222112111212122111112122112112221222122112221121221112112221212222112121122221222211122111121121112121121212212212111122111211211212211212211111221222122121212111121211121112121222112212112222212111111111111121121211111211212122112111112122211111121212211212211121112211122221221222221222212112121122121212111222121211221112222211122212212112212222121112222122121112211222222222121222222212222221221111122112222212112121111221121112111221112222121121212221122221222211111211221222221212122122211121121122222122212222111211221111211112221122121211122222111212222211222122122112121112222112211111212111111121211221222112111221112122211122211111112111111222221112221121211121122211122221122221222222212121122211222112111222122121112211222221111122221222122222121122221122211221122122122222211122221111222122121211111122221122121121111221121122222222222121122212211122121112111122121211212111112212121211211221112221212221111121221121221112212112111122112222212122221112122112121221221111122221121221212122221112221211112221212121221222222121211212212122112121222122222221111222212112121212212112211122222211112122211122111211121122121211121121222121221111111212221111122222211221211211211211221122122111212122222112222111121222121211121122122222122211122112122221211122222122212122122211112121122121112211221221121222122121222112221122222222212212122212221221222212211111211111111111121112112211222211121122222211221222211212111122211121121212222121221111111222221112122121112111221222122221212122112112221221221221221222111111121121112221211121222211121122121112222212112211222121222221111121122222111122121221122212212122112122222212212222211122121111121121212221222222122222111221222221221122212112211111222211222221112121121212221211121211121122111222222121212111112121121111211222111212112121222212211221122111122111122221221111211122121221122211121212222211222222111222111112121122111111122121211211221122212121122221221222121111111221122111221112211222212212111211111121211121121212111221112122212121221112212121221222211222211221212112112222222222121111121112211222211112221111112222212112112222112212212212221121222122212222112111121212222121121122212121111211222211221121222111121211211122211122112121212122122211222211212112221112122121212212122111111221211121221122111122212211121222121221222111122111222211112121212111211221211121221122211212122212111122111122222122121211212121222122112211121212222112122222212211211221222221112111112212111222211212212121121222121212212222222112112222211112111222221121211112211211222222222222122222122121221121121122122111121112222121211111111222112211111122122122222111211111222222112111212222211212111211111112112111111212222221122122111111122212121222222211211112121222111221211222222211222222112212122211121121222212212122212212221221221122121212121212221111212222221112122211211111121212222222121221111211111112222121212111112211112112222122111221212211122121111111212221212121222122121212221212221121211111122122221122211222112122112212112221212112211212111211122221121122211212122211111212211112121212221111212212212221122222222111211121122212221122111222122212212211221211221111212222112111121212221112112111222221211112211112122112122212222222112221221112222121111122112212221212122212112211222211111212122212111221121222121221222222112212122222212211221222111212211112211111211221121221212222221221212212122222111221112211121111122221122222111121221121212222111121121121122122112122111211211112211111121121112111111222111222122121122212121212112112212211111121121112112221211111121111111212211121112211122122222211122212211222222222211122211112112112111221212121212221212122111221121211222112222111122212121111222112221111221111112122221122112111222111211121211111121222222211111222222111111112121121212122221222122222111112121122111211221221121112122111212121112121212221211122122111212211212121221211211111212222111221222122222222212212212112212111212122112212111122122222221112112111111122221121222112222221221211122212221112112121112122121212222221211111121222111211222211111112121222111212111212222212212221121222122122212212121221212111122122112222121122122211111121212211221111122121222222121112212212111211222111211122112211112222221111222111121111221212121121221221212221112121111211111112222222212212221121121111211211212112221211122122211211211122222111122212221211221111122221211122112121111122112222121112212222211212211222212221121111211212211112212222112211111221211111112221221212222212221211221221111221212222122212212211122111211212222112221112211121221211221211222221211211212111112111112112222211211111212112122111221122212212122212121211112211112211121222211212222111122122221112221112122122111212112221211211212121121111221111222122221112212121111111221222111122211212121221221212211212111212211112211221222112122122222212221221111111112112111221121211111222221212212211122112122121112122112212122211212212122222211222122221111121122221221221121111212112122211112212212212212221212112222212212212221111222221121212221212112212221121212222221122122121221122111122111222221211222212221212121122221112112211122112211222121222221221212122111122221111121212222111211122221211112112111212112111212121122112221222112212112221222111112212112111222111111221211212222212122111212221222222222212111211111111112112112211112211111121112222121221121221211122211111221212112122212121121121221211111111212112112222112222112122122111212211122212121122122121112221221212222221212111221111111121122222222221122222121112112211221221122222121121122122212121212211211211212212121222122211121222222121221221112222212122121122221212221221122111121222211112122212111111112221122122212212211211212122122112112222221112211122211211112122212111121112121212212221111121221221111212122221112112122222122211111121112121222121221221212212121221212122112222211122212222212221212221121212212111211121122121222111222111221111211211121122211212221112122122111222212112221121222221211122122122222112122121222122112122221221212112212121122122222211121222122222212222111212111121211222221122121212121212212222212222212212221222112222221112211112122112222122222121111222222111111112221211121222212112221211222221221212122221122122221122212122111211112112212212211122221122111112121121221212122221221221121211122212112221221221221121222122211221122122122122121211111212212211212112122222221112122212112222122212112211212112112122222212222222211222211121122212111212212112112211122121212121112112112121122111221222222111211222221112112222111221122212121121221121112112112222212212112121122122222122211122211111112111221222122221212212112211222212222112221111211212122211112121122212112221121212212122112111211122221221122121221211211211212111112211111112121211221121212212221221212211211111112121111222112222112211111212111212222112122221121111212112121211121222112222211122221121121122212221222221211122112221121121122122212121122212221212212221121121221211112221211111212111121222211222222212221222111112112222122211121122122112122211112222212112221211211221211211221211111212211212212121211121112111211112212112122222111112221222222211211212212122111221211212222222111212222111222222221222122222212222121212211111222222111222111212111112211112212111222121212212222122222112212221111122122121221221211221221222221212211211121211212112221222122112221211222112121222222122222222212122221212222222111211222111111212121221111212211212111222211111221221211112211112112122211121211122122121211112121212211222221122212222111211121221111212212122211211211222212111112122211121221221211221121112221112221122112111122211111121212211212121111221112221122212221112111122212122222221221222111122211211212112121112122111112211222112221211212221211111121211211222211222112112212212222121222111112212211122221222221211221221112121111111222222212121211222221111121121111222111121222211122111111121222221121222222222122112221111211122221112211112112211212122121112212212111121121121222222211112112212221112122221222111112111211121211212221212111222111212222111211221221112122121221122121212122222212221121121111112222112112122211122222221112222211211112222212122121222212122122111212111212211122111112121111211211221122112112111221112112211111212111211222111121211121121122211111111212222221111221222211212221121111111212121221212211222222111122122111212221221121121222121221112122121121112111112122111222122221121212121212122122111222122122121221111211112211222211221121112121122111222221121222112212212212222111222122211221112222212212112122211112222121221122111122121121222121121121112212112121221122111211121122222212111111222222221221221112121122221112112211111222212212121121122221112222121212211112112122121212222121212111121221121222222112122121121121212212212111121122211212212211111211111112212211221221122122112121212111121222222122122111111112122111222122111221211212112112111222111211121112221121211212211122122122122111111121221112211122212212122222211211211221121121212122112222221121211222121212212112221112222222112222121111222122211221121222122121222212211111212212111211112211121122121212212212221122222222111122112211122221221211211111212222122211221211211122122222212112222211112112121211222112121112211122122112112111222221122121111111221122111212221221112111111111211121212112121221122222212122122211112212122211222222212122221211111222211111221212211111211221211211111212211221222221222111222221112222121222212121222212111121112121211111221111122221112222212112212111121121211211221122212122221122122221112211112111121212112121222122211211221121221222121112112122212211111221211112221211112112111221121111111111111121212112221111211212222222112222122221222212121112121121121121221121122111111112112212211221211221112121211221222222111122121212111212222112222221111112221221212121212112221222112222111121211111221212211221211121112222121111112121112112122221221222121212222212222111221221121211211222121211212221112111211222211221122211212111111122111112122122111212112221211122212112211212111112112111212111121211211212221122112121111212222221211212111112111121112111212122222112212221121212112111211112212211222111222122221122221121211111112221122221111221221111221111112122111122112222221121122112222221222211212222122212211222111122221112222221112212221111221122221212112211212212221122122212212112211112111112212112122222121222211211212122212212112122211222212211121211121221111211122121111221111112111222212221111212121122122121212122212112221211221211222122121222221121211112121122121222222121121212112122121112111121112122222211122221212122111111211122112222211221222212212221112221211222122221222211221122111211111122212221122211212211121112122122112111222121221211211111121111112111222122212121121211212212221212222111122222112111222121212221211111111112122122222112211111121121211222121221222211221122122112212112111122122111222111122111111112112112121112222221212111221212122122212121212112212211211212121222112121221121122112221211211211221212111222121112221112122112111121221111211211122111111222211222111122111221221122221212112122222212121112212222211221222221122111211211212212212112212211122111221221211221112212112211211221121122221121122121121111111122222112112212212212222221122122211111221111122211211112122212121112212212211112111121122221221221222212212121121111221222221111122121222121221111221222221222112211211111121111221112122111112212111212121111222211112121112212212212221221211211112122121221122212112112111212212121211222211122111212111211211112221111212112221121211122212222211121121122211221111211111212212121112112122221112121112212112221122211212111211112111221211212211111212221221122221212222112211211121112222111212221211212212211112212221122212212212111111221212211122112122221222211211111111112112211112111122112112212121211212212212112211111212222122211111122111212211112112212122112222112122112212111222211221111221112122222111121211121222222122222122121211122221212111221111211221222221211222221211112122112211111222221221221121122222121222212211121121112122121222211222212221221121121121112112221122112211121112211211222221221222122222111222221221222222121222222221222222211112211211221211211211212112122221222221222211111112122221211122222111221211111221211221222211221212112212122222222111121121122211222222211212212112122121211221222121111222222221221111111212212121121212212212121211212121111112222212122221212221112112221111221111221222112121222112112122211212122121211122211121221121122111122122211211212212121122222221112111221212222211211112211211111212122111122211221211212121122111222211211122112211211211222112211122111122222212122211222111111221212122121112222211111111111122122211122211221122222222211211112122122122121212111112122212221112112222221222221111122211122121112111221222112111212111122111122111122111212112112112122112212121122121211222112222111211222112212111212212221222211111111212221112121211122112222212121111212121121111111121212211111121212212111121121222211221111222122111112111221112211122211112221121111222211211122122221111211122212221122222122122111211222121211112111112112211222112122212221121111112111222112212212221121121221211211112212121222122112121112212221112212222212211122212212211221222211221211221121211212222211212112111112222111121211211212212111121222121221112222222222212222112221212211222111111121222222111112122112212121122212222212122211212211221122121222212211211122121221222222222221122121112222111211221221221212122121221212222221122112212222111122122212112122111122211111122112122122122222221221221222211212211121212112122221111122212121112212221121221111111222211212121221221221221221212112211211212212222112121211211211121211212221112221212122212222212112221221221221221212121221121111121222121112212222222111111112222211212211211122221112112222212211222221212211212121112212111121112122121111121212122211221211112122221222121222212111222112222211211122121212111121111122121112221112121212111112122112112212212122221112122122221121121121221112212111211122112211122221122122222211212212221112122222121221111122211212212122222211122122212212221221121212121221222121212121122122211111122111112121112222122111122112212121222222211222221112212122112222211212121112222121211111221222221112112211121121112122122111212111222222112222121121222122122122222121111221222112121212112212122221111221121222222211121112112122111111221111221222212212112211212122111212112122122212111112111212211212222211212112122122221122121212222221212221221111211122121222112112111211121121111112121122112121122221212121211221212222212222111212111212112221222112211222221212121112121222112111221222112211221222111111121121211221112211112111211212111212221222211112122121212212221222112222211122111221122111111212122112112111212212211111111121111122122111221222212211122112122211212112121112112212212121222212222122112211121122221212211212222112221222121221111211112222221121121212221122112212121212112112122212121221212121212112221112121121212212222112121222122111111221212221121122222221221221121221221221122111221111121112221122121122222222211212122211122111111122221122121212112212121212122122222212112121221211111122112211121121211112121121221222221222111112121222221121122122212212221221211221111211221121211211222121221112111121221112221211211111122221121222211211122212122221212112212211121222211212111212121211212221212222211121222121222221122222211211122212112211122211211111222212212211122212212112212111122212121112122222222122212122111221221121211221211221111121121221211112222212222112211112221212121211212122111221211211222211211122121211122122111111212111112111122111122212221222111112221211212111122111122222222122111212212122212122122221112121111211212111111212211122222221111122221111122122211111222221111112211211222212221222112221222222211112221121112121121212112212122121111211221212212121122112122121111212212222121112222112112211121212222122221112122111111211121212111122212112111212112112211111212221111212121222111121211112222122212211111112212122121222122212121122112221211211212222211111111111221211212222121111122121211121212212222122122212122111222222121112212121111112221212212222221121211122212122212122122122112211222112211112122121221222221221122121121112122211122221212112111222112112122211211221222212122122112222212212112121212112122212111212112122111211111121222111212212211121211222222221221222212221121111221221212221212211122222112211121212122111122122211122211212212221122211212212111122121111112212121122112211111211211221111222211112122211211222212212112212111211122221221211222222211121121111222212211211122112222211212212122112121111221122122211112112122221211111211121112121222111222221221111122212212212212121222211111112212122121221222212211222222121112211222122122122121111121221111112121212121222222121121222212221221112221121121212121111121112221122112211111112111122112222222112211221111221121122221112121111122112122212112212221122211221122221211211212111212222211112112222111221111112212111122222111112222122122122111111111111212121212121121221221112122121121122211221121111221111212121121222112221221121222121222111111121222212222211111222221212212212112122122122111212212221121212222221122222112122222222111211112212121211122111112122221222221211112221222122222221111112211112111112121111122221222112222211221121121111122222111112211121121222212121211221212211221112212221212121111121212122211122122211221222222221212121112121222121112221121112211212111222111112212111211212122222111222212221111121122212111122221121211122111111222211122211221221112211122211221121112111121222212211112221112212212221111222222111122221111122122211121222222212212221211222221122111222221211212221211112211221122122122221111211121121222221111212121221211222211111221111121211211222221221122221222211221112112212111221121112111111112111111112221221121122221222211111121111212112222222221121122112221212211111112121121121112222212121111112212112222222211212121112111112222211211221122111122121222121121221122111212121222111121122122212212212212121111112112122212112222112112122222111112221122212212222122222211111121222121211112122122121112222211121112112221111222121212121211111112112222222221222122121112121112211112221212211221121222221222212112211211112211121222111112212122121212222211212211112112221112122212121211112111111211221121111122112121222212112121222212112222212212222122121112221211211121221212111122121222121112112122212122221221111112121111222122112222122111121211111221222212122122221221111222122112221121122212211122211112112122212211122112121222222222222121121212121212112122221111212212211222211111112112122221212122211111211112211222122111211211212221212122221211212211112122112222112221212122112122212122122112111111212221121222221222212212221212122221121121111121121121122121222121111211222211222212122122221212111222112111221111121222122222121122221222111212111222122212212222122122121211122222211122122211211211211211212111122112221221221211111111112222111111121112221111212211212121211211112221211221122212212212111121212222212111212122111112122222112211112112222221212111222222211221122111212112222212122222212111112222222211112111121222211111121212121222121211122222111122112122212221211221121121122122211111111111122211121121212111112221112222121211212212221222121212121221211121121111121211221121211211212222112122112222211122212121111122221221111112112122111111122221212222122121121212121221122111221112111212211212121111222111122211211111122122112111111221211212212221111122121212221111212222111211122211112121222121221112121212212212212222211121212121111122212121212222222212111121122211221211211112122212221112212222112222212121222222112112111212221211221111211222112121211122211112121122221112112112212111212112221212111122121112221212111211112212211111121211212122112222121222211111121122112211112111212212222211112211111211111221111111221211122222221122122211112111121221121221221121112122121212121122111222211211111222222112222221121121211212111121221121222212122212122211222212112121112111222111221121121112112112212122221211222122122221122111221112122112211212222111121122221222112211212211121212221221222211211122211121221121111121211221221121112222222112121121211212111212221112211212211121122212111211112221212122111121211211121211112112221222212212211222212212111222112212211111211211211222221222212121212211221222121221211112121211222121221111121212222222221221211122112211122122121222221212212122222211121121221221222122221211211112111211112212112222122111121211122121112122121112112212112221211212111122122112121221212111212121111111121221212211112121121221121211122111121111222112121121122222222111212122222221111121211212121221212122122222211111121212121211112212222122122211211212112222211121222112121211122111111122111122222211212221212212111222211122212111211121222112211211222121122121112212112111112221222121122121211221221211212111221112111121221221112211222212211221212211221222111222212221121122212211221222222222222221222111212112121212121222122122112111122111111121111112222122111112211211222212222222211221212122221212222122211222211221121112222212221212121111211111221212212112121221122212122221221121122122222121212111211211222121222121122222211112112211122111121111221112121111121211222221211222222221111221222221221111111122211212121211222221111222222111112111122111122222211122211122111122221122111121121122222112222222211122112121111111211222122111122121122212221221222221122212122212111121221222111121112212222121212212222221111121221111121222212112221212121122211221121211221112121211221122212122111112221212112122211111211222121112212211221122221122211112221212121122121211221211112122121121221212112112112221111222111221122211212122212211221111112221112212121221122211212121121211222211112221212211211122222221212221221122111211221121111212111222122121122221111212212121212212112211121111111121212221112111222112212121212212111111211121112211212221221222212222122221112122221212122112212121111112111211112222112122112211111121222222212122121222211112222211211121211222121111212111111211212222212222111221112212112212112212112112121211121211112221211122221122211122111221122122121222221112222211222222211122211121122222222111212222211112222122211111221212212212121211212211122211121211221112211121112122112222211112221121122122121111121222112112122222221112111111121111121212222211122222122212122112222122111222112221122121111121111221122212222112222222211212222212111211222211122212222212122111122221221212222212211212121212211111212221122221112222222121222121111211111222212112212112121112122212211121111122121221222211112112222212221112212212222212212212122211221122111211121212121211121122222122122112211221122112221211111221112111222112112121212212222211122121211122211222121222121112212122211122212221212211222112212121122121211112122221212122112121111122221121122222121221122211122111122112222111212121112222221212222221212211112212122212122121212221122212121212111211121111222111121212221121221211211122211112222122122111212222111222111222112121222222222222122211122211212111121112212211112121121112212222121112222211111212122211221211121122122121121122111222111111111111212112111212211221121121111222221112221112112112221122212221222122222212112221212111112121212211212122112122111222121221222221222122212111121222212121222111211121111122212212111112222122121111222121121121112221211122111222222111222222121212212121112222111222222121211121221212112212212222222211212211221111212212121211111212122121222211212111122121221211222222111112211111122212112222122112122211222221111221121121211122222222221222222211212221212221111112211221121122111121222222221211212222122221122222122211112112211222212111212112112111221112112212222222122111212211221122211222222122122112111222112111121221221121222111212211122221112222121221112211112122121121121222111122221112122111221221221222121121221211121112212221122211211212111221221122212122122221221112112221212121112111111222212121122212222222111211211221212222211122212222211212222111111222122112121121111112112211111211222211122212111112212221121122222221122122221121112122122122211122122111111121222221111121222211112112221111222222112112222211222222112211122111222121212222111111211222112121221221122111211121211121211122221121112111212221211121211112211111122111212112111212112111211122112111121111112112212112121111112111221222111211121211122211111112111122112122211112111211111222222222211122211122222221222212122112122212211211122122121121122212222222211222212112222111222122112221112222222211212221211212222122221211122222212211211211121122212122211221112121221122122211212112212211212112111212121212221112111212221112221221111112211121211211222212122212111122221121222122111222222122222122121221112121222111112112111111112211112111112111211122122122122211112212211121211211111221121222111111211222122111222111122122121121212122122111211212212221211112212222112212112122112121111221221111222121222221112221112122211111211212221211222111221211121121112221211111122112222111222122111122112211111221121121222112211121212212221112121122112211221212222121111111121112211122222212212111221211121122122112211121122222112222121221221212222221112121222212222222221121122121112212211122212122211222121112212121211221112112122221121111112221122112122121212112222212121222121122211111111121112112112112221122222122122112121221222222112111222211212122222222212222112112111221112111211211212212221222221212211112112112221111221122211221222222111221111121121122112111112212122121222111121111212221122112211211212221122112212111211211222221111222121221122211121122212122212111111221111111212211211212122122222221121111222112222121111112112111112122112122222112212121222111121121212212212121221211111212212222121221112212222212122212211212111221212211222212121111122221222111212222222111122211221122212212112112221111112222111221212221212122112122221222212211111121211211221211211122222211121112122112122212121222122122112211122211222112121212211111211222221222122211211112222222121121111212111211222211121121121211121221111222111221112122112122212112122211211212122222221112221221112221121212112121222222211111111221212212112111122211212221111212222122222122121211111111111122121111111212121111221122211221212212122121112122111111121211122121221121222112211112222212122212222222112221211211121122222212112221111222212211111211111111221222122121121111111222111222211222121112112222111112222212211112122221221211112222122221222221112222211122211212222122121112112112122121212221122221211122112221212212212112112212112222112222112111112221122121122222112222112211222112211211211222221111221211211221211222222112122121122121111122111122122111112212212112221122111212121112211212112112222112212221211222211221122221122221112222112121112221112221211221112122112211122121111111212221112112121211221222112112122212111211211212211212222222121221122211221221122222221212212112122212211211122111222221121222211211111121112111111112111121212122221212121121111112111111112221121211122211121211212211212212211222121112221122112221112211122222211122212211211122121212121121212221112222112121221121111212222121112121212222222111121211222122221221111121211111121222111212212121121212111221212121122121121221211221121212122121111212121121112221112112222122221222121111122122111122111222112111222212111121212222122221212112122122212122222212222222112211211122111221212112122122121122111112212221221111111111111221122112122222112211221212222112212211111122212212111112212111221122211221112121112121122212221211211221222121211111112211212212211222112122112122112221111211111112122211211122121222212111222211112111121211111222121122121121122121221211211222111211221211121112121211112112122111211222111122211211212121221211111111221212122112221112121112212121111221111121122111122121221211212211122211112222121222112121122222111221121222111211211112221211121112221111112121111112222212122122112112121111212122121111121222122212121111221121111122211122221111121122222121211221222221222121212222212112111211212222111111221222121112221111212222112221122111222121111121212121112112111121122111111222211212121212211222121221112211112221212121211122212222222222111221211122112121211121111211111121112112112212222121112111112121222111121111212121211221112112211121221112211122222211112122222111222121121121221221221211122112112222212121221122112121111121221121211112111212211111221211222122112212122222211222212122122211211221111222111122221212211211211112122221122121211121211111112222212222222111122111111211111111122122211112222112221121212212111121112121112121112122111111112122222221111222221212222111221111212211122222122121122221111111111212111221121211212221212122211212221122121221221122221112111122111212122212222112112122212221111212112122211121121222221211211111222121111221221112211112122211112121211111122212111111111122221211212222212211211112212112212122212221122121121122111211121122212212121122212122122222121121112222221121121211121212222211221112112222211121121212211211212221111222211111121222112122122121111212121112111112211212222221212112112221222122211122111111111222111121122112112112222211112111211121211221121221222221221221121222112211112212121112211121122112212112211222112221112121111222111211111121121112121221122122212222121122121222222122221211122211221112112122211112122111111112122111111222121221221221121111112112212221212211221212122111112121122122212111122111212112211122221121211212111122122121121121221121212121212112221221212122122112111211111221221211122222212212211112221122122112221111221221121121122111122122122111122122112222211221111112112122112211122111121122111211221211222121121121221121122221211212221212111122221112222122222112121222221222222221111111211211121211112221211212111121122222111222121121112222111112222112221212211222122111222221211112111212221212112111212112111212112111112211221112111211112121222121222122211121212112211221121112222112212222212122221111111122222221122121211211211212122111111222212222112211212211111122222211121111122121112221221211121222211111112221111111111221121211212221221211211111121211111222221221122121212122121212222111122222211112212122221222121121212112221222121111212222121221111212222212221122112121222111222221212112222221221122112122221222122121111212222211222211221222111121111221121222122122111211221212212211211212221221121222222111212222222212121122112212211212112111221122122112111121212121222212212211112212222122112111122111121221212222212212222111111112122112221122111111221222122121221221112211121221122222222221121211121211222111211112111221212221212212121122221112222121122222122122112112121211111222111112111221221122211222221212221121222222121211212121111111211121112221121212221212221221111121111121211221212111111221122222121121211221111121121221211122212121121221211121122112112121111222221111111111111111121212221111211111122122112222112122112222212121122211222112212211112211111111221221211221111112121211221122221112121212222212222211221211211221222211122112222122121111212111221122121211112111112111212122211212121221211121221122122221222222112111221211122221221212222111111212121121112221212121212211122122111122121122212121121222211112221121112211111111111222121222112111212121122111111222212122212211212112212122211212112212122212212212222122212111221112212222111221112112212221212111112112122221111222221212121121212221121121122212222121111222122111212111121221212111111112112122112211222121122121112112121112121111211221122211111221221222122222211122112112221111112211212211211212122221222121222121222121222211112211111122111221112212122221112222222222222221222222112212111111112121111222211112121121211112211122221212211122122122121212221122221222121212211212121221212111122122222222111221221122222112111222221212212221121211111212211112222121211122111222121212221221121112212121221221111112111211222211221112111221112211211111212112112122122112212112212221222211222212111121121222212112111121222111111221121111112212122212222111111211121212212211112122111211221212121112121122211122112211111122122111211122112221122111122122222112221212121122122222222121121212112221221222122122211211212212222112111112112111112111221111121222221111211122121221121112221111112112211111222121221112212112211211212112221212111121211122111221112122221221122211221212212112222221122211111222211212222111221121112111211122122112211212221112111222122122211112221122221221211222111221222112122212212122211121112212222211212121122112212122122212221122211112212122221211122121212211211221112111221211122111122212211112111222211221121222221211111221212111222211121112211212121222121111121122111221112122211222211212112111221121211121112222121111121211222211222121122222111222111212222211122211111112222122112221121112221211122112121221212122221222221212221221222211112221222211121122222212222122211212212111111122112111221211222221111222112221112222221221111122211222211211121211122221211221212111222212222122221121212111212111212211122122212221112212121212121221122212111111222221222122222122112221111112212122121211111112211121212221121122211111111212112211221212111211121211122211221122121221112121121221211122211211212211122221222122211212211122121222122112221112221112222111211121221222211121222221221221222211122122211122111112211121212211111211212221121111121111121221212221211221111121222212211122122122112111211111211222121222222211221221112221211121112121212112112211122111222121112212222222111121121212211112121122212122212212222111122211111121211122121222222111121111221121211212112212112222112112122221112111121111212121212122222212221221221111222212222222221111221222222212221111211221111122212212221111112112211211121122112211121121111222211222111111111112121112221212222121121221212122122222121122121222212221122112222212222121122111222122111121222111212211222121122211121212121212121121211111121222222122111212221212211211112222112211221222211112211211221121222221122211121111121121112211212112221221222212212212221222121211222112211111222121121112211211211112122112211211211111221222111212212111211121112212122221111122121212122112112122212121211122222221122212122221222222212112211111221111212211221221211212122121222112111221121121211122222211112112121212122211222222112111111212122221212111111122211121221111122112212112222211211222221112212211211222122121112112222222221212122112121112111121212212211222121222121122211121111212112211211211111222121212122221121222112122221111221222222112221212112222111221112212221121212112111121112211112212111121112111112121221212221212211121122112211122222112112212221221121122211112111111112212111221111121112111211212221111112212221222211212222122222111111221221221111212222112222211222222222111112121222222111221221112211222222121222212221121112212212221212111112112222122122122112112121211112221222111122212111111122111111222112221111221212212212121212221111221211221222111122111222112211121211221222211122221121111112111112221222112112122111122221212221112112212212211122112121111211221222222122211211222212212112112112211222222222122212122211222121221111211121111111221112111212211111111221221122122112121121111121222122212121221211212112211121211111111222211121212221121211121211212122112212121122212211121212122122222212222222121222122121121111212121112221121222222112221121222112112112221222121111211222121221221221122122221212112121121111111212122212121212121212122212222221221221212111222221121221221221122222121121121112122211211221212222112122121122221222121212222122221111111112111112112212121111122221211122211222112112112212111112212111211112112211111111212211221122111122111222122221211222212222122111122112122221222222121221211121221222222211111221112111122222222111112212111212221212112122221211212122111111121212221211212221212222111112122121222221122221122122122111222122122121221211222211211122221121122122221112111211222111211121121112111111121222121211221112212212211111111222121212222222121221211221121122222111222221122111222212122212212111111211221221221222121112212112112111122211222112122111112222121121221111222211111222211211111222222122211221211221211121112112112112112111211111222122211221212112122212112111111122212221222122111211122222111222211111212212122211121122122112121111122112222212111222111211212221222121222121112221112222221221212122221121112111121112222111112122221221122212221212211211121212221122111122221112112112122112222211112211212111111212221112211222211221111121111222211212212112112121111122121222121111212212221211212211112122121121222222121112222222122111112212122121122212121112212112111221221211222122211211122121212222122112112211211112112112222122111111221111212212211211122112122111112212122222121111211211111121122212212221211111122221112211121222221122211221111222121211221222112122222221122221221122222112222221111222122112222122221112222222111111222122211212111222212212112111111221121221221211222112212112221211211212112122212112222222221221222212212122222221222111111222222211221111111122211222111212111112121221122221222121121221222211222212221122122221212111112222121111121222221222212212111112222222111121212112112121212221122112121121212111122112122221222212211121211111112211111222112222112212212222122221212121211211122222211212211222122121211221211122222212212111221221111212212112112221122122122111122122122111212212211212111111222212122111112121111121112221111222222222211222121121222212211212111212221112122221212221122122211121111212121121122212122212221111111121222211211112111221111212112221122222122122221112112121111211122211112211212211221111121112212221122121212211121221212222112122121211121112222111111111122112111112211221211121122222212211111122222221222222221221212111122211212221222112212221122211121221212121211221212212112212212221221211122111111112212211222222122122212212211212212222212212121221122111212222121121121212211222212112121112221122211212111112121212222221222122212122121212222112111121222122112212212122121122112121212221212122111121222122212221222212121222112111221111211221121211112111211221112221121122112121211211111122221121112222122212112121121121221211122211212222212112222221112111211121211221121211212221221211121112111112211212112212211211112222112111121211222211211111122121121211221222112112221221111211111222121222112221212122221222211212111212222222122121112222112212221121212111221221121122112222111222122222221222212122112211111121221221122221112211122122221112122211112211211212221221222211111111112221112111221211122212111111212211211221221112122121112211122111221112122212211122121111112122112112222212122212212211111221221122121112122211112221221112212211221111212222221112221222212121122212112111112122111222122122111121211211221112211222221221222121211212112121211122111221112112121221221222221212221122222111112222211222122221121111222121211112222121221222212112121112222221222122111121121121121121121212112222221111221122121121112111222122222221222121211111211212122122211121212222112212212122212221212111111121221212222122112211221212121221121122221222111111222111111211112111212122222122121111222111122121221221121222222221122211212221211111121221121212122122121211221221211222112111221222211112212121112222111222221211112111122112222222221212211221212122112212222221121121121221111222221112222111121222121111211221122222211121222222211122211212111221121221112121121222222112112221122122221111222222222221222211212211121211122111211222111111112212221112212111121122221212122111211112211212111222112222112111211222111112111222212112222122221111121222111221111122111111212111112222112212211212112112122121212221111121122122212211122212221221211122221211212211222212111122121122121112222221222222112112212122211112112211211222112112111221212221122121111111221211221111222222211122111122212122211111121222221121122112111121211221121112121122121122122221222121212111211211211211122122122221121111222112222121222212212221111212222212112121121112122221112122212111121222121222121122121211212222112211211112212121111222211212211212121112221212212111212122111112212111222122221122122212112211112212211122221111221222211112112112121111112122122121212222112122121112221122212112222112112211212212122112212221212222222111121222111221111121121212122111222212122122112211221221121112122111222211112212212222112111112111112121112212221122212121121211111112211212222222111221121212222111212121222222112222121121221112222211112111111212212222221222222121211222121212222121221221121122122121212211122122111221221212121122222111221222212112122122112212122112112111212221212211212221211212122111112211222111121111221121121221221212211221212122221111112112222121121222112211121222211121111111222112222112222121212111111211222211212212221212122122212221212111212211211222222211122212212211112222221211222211121121221222111112121121121211222212112122112212112221122222121211222112211222122221222112222121112212222222112111122111112211121122211111121111222111122121211222211121212122122112221122122222121221111211112112122212122222222211112211211221121222222222122111112212212212211211211112211222212121222111112221212221121112122121212211122111121211212221211111122121221211222211211121111222212122211112221222111122121222121111112112211121121212211211112211122222221122121212122121111222111212121122122212211212121111122222111121222121211221121211212111211222211222111112222111211212221212121222112122222222111122121112122212121212222122121112221121122222122112121222222212112211212122211111211111221122212122211112111122221112221121222211221222221221121121121122212111221221211221211211221121111111112112212111212111121221112212122122211221222212212221121121222122221111121121111221221122111211211211111121111112122122211212112222121122112222212122121121111212211221122122121122122112111211221112121112211221211211121112221221122122221112221212121121212221212121221121222222121221211122112222212112122221121221211111121121121112211112121111222121122221221122212112112122222122222111211112221222222222111211211121211112111112212122111111211111211211122122221221112112111211111112221112112112121112211122122221111112211222122212121112221222212121212221221212112111211212111121111222211122212221211111222222112222111222222122111222122121212111111221111211211111111221112122121122222111122211111221122111222221112111222212112122122212111221221121112121112221122121122122112121222111211212221122211222222211222221112111212221212212211111212121211222112221221121221111211211121121111121212221122221112122222212212122221211211112112112212112121122211212211121222222222221221122121221221112222112121222212112212222221122121112212122221122222122222121112222122111112212121211111212111212221212122221212121221222221111121211222221222111222122212121222111221222121122111212122211212121222222221111222222222122212111211221222121211221221211211211222121212122112112121121122121121222111212122112111222121212221211221211121121211112211111112121211222121222212112211222122111111211211121112222111211111212122212221111221221222112111212221111111111212212121222221222221122211122112222221211112211112222112211111122122121112122212221121222211111221211221221112211111222211122221112211112221221221112222121211121111222111111211112112111111221221222112221221222211212222222112112212221122122211221212222211211222121111122121121112211112211111222211211122111122222221221122111221222222212122111122212221112221222211112112112212111121212122122222212122111122122122222112121221211222222122212221221222111112212211121111121111212112222112211122222222211121211221121112121222112111122111211221212111221212112112222121111122222222212212111112211211122122212221112122211221212121122111222121112222111121221122111122211122112221111121112212211111221111111121112121221211222211112121212112222112212122121121112221122221212111222112111211212112212121112111111111211122112211112212221211121111222211221122211112211221112212211211121211211121211222222111121122221212211112122121112212122211122122212112211111122212111221222111122122211112211211211111112221221222212111221121212211221221121221121111222122122212112112211122121222211111222122111221121111112211221212211121222211211121121222211112222212222111121122121122222212112122121111221111222111122111222211111211122121122111111111222222112112221211121122212221212122211121112112122112212221122111221122211111221211122212211112122111222112122111121211121111222122211121211122112112212122211111122121221122112121122212122222222212212222122121221222112211221111122212112122221212122112111112122212122112112121122212211121212122121221212122122211111222221112221122222122111111112121221111122122112222211212111111211112122111111221112121122211121221212112221211122222111121122122221221112111122112222112112222211112121212121122222212121121112122212211222111222111212112212112212112221222112212112111121121112111121222121111221122222211112111221112111111212111212122211211222112212121222112111211112122121222211122121221222122122212121222111222222122211121221211222122112211112111112221212222211222121111222122211212212212221112221221121222211222122211122222112122211212122211211111111222222112211122111112111211112112112221121211212111111112112222111111122211122222212121121221211112211212211121111112122111222122222211111122222222122222111122221122111212121211121212111121111222212221211112211112111221111211212111122212221211222211121122121211212121222121121121211221211111122212122211211222112212112112112211111121121112221221212222212221211121221121221112121221211211212211211221222121112222122222211121212212112121211222112122212212121112111122112212111221111222212112121211122122121212212112212211212222111121222122122212221122111221222222221222112222121111121221221122221122222121212221212122112122111222112122212222122222122221112121112221112221121212122112222112112121211211112121111111121112112122212111212112221221221221122122122221221212221221112112121212221211122122122121111111221122111221112121112122121222221222212111121212222121212211222221222212122211111221121221211122222111221222111212122121122211211222212121122121112211112221222222111221112112111112222212111211111111221211222112212221111111121212211111112111222122122122221221221122121111111112222212121212112212111121211111212212122222211121212121221222122111111111211222211212221121222122212112112122122121122222121212211112211111212222121211111222121122122221111221112121121111122121211211212111122221111222212222121112111211221222222222211121211112211122121221211222222112221121112212111222112122212112212121222112121122111221221112121111212222121112212112112211121211221122121212121111121111111212211111111111122222221212121212212222121212221111221111112221122111222121121222211211212122222121222111121112121121122122222211112222122221112112121221212212221122212221121221121221222122221122221121212111111122112112122121111112121111211221211122122121122221211212221221211122222212111112211111222222121111111121112122222222121212122111211121221111211212222212121122221222112122222112211221212222121222221111212112211212212121212211122222212111222221111112111121112211112222222222212122221211221121211111211221112122121111112121112222211111111221111221121212212122112212122211211221222122111121121121112211212111111112222222221111112111211212212222111111111121112111111222222112221222121212221211212111212111121212211122121112121211122112121212121121122112111112121211111121122222212222111212111221221212221112122221112222122112222111211112222121111122221222212112122122222221211111211112111211121111221212121211221211212221122222122222222221111211222221221222121121122112222122222122221122122122112112222211221112221211111112111212221221111221111122221121221211112212112222122112221221211221111111221122121211111212221211111121112111212111211212221222111221112121221212211221121112222211122111121222221222111111221211212221121222121112212112211212212111122212122121111211122121111112222222211212212111111221111212111221221122111222222221121221112112212122222112212121111212222221222122121112212221221221212111121111212121222122212222121211111112111122122211112112221222221121112121221121212112112112111212211122121221211221211121121212222121212221212212121222112121221222111221211222221212122212121211121111221112222111222122122211211122211112122221211122221111221122221222112111212121122121111121221122212221222211112211112222121122122222112211222222221211212221211211111111222111211222211212121222212122221221211212212122112221222112112111212211112222122212222122112112122221211111222221111111121121121121222122222222221212212112222212221212212221122122111222221121112111222211121121222222222222121111112112211111222222122211112222121211222211121221112111122112112212221221221222121112111111211122112222122221211121111111112112222212112122122121211212221212211222221112222222122121122211122112221112212222211111122221212212211112212212212112111211122221212221211212121212212122111212211211211222111122121111112122211112221121212222121121112222122112211122112112111212121111211122122222112212222121122221222112212222122221111111122121221122211122111112121221121221211211221212221112122221212221212122222121111111212212121111112112221222212221112112112121111122222212112111212221211111122211222112222112212221121222121121122221222221211122221111112122111221221222222222211121221112121212122112222111212211112112222121221211112112211112222111222121211122222121121111122212111121112222111112122122112112122112212222111211112222221221121111112212111221121222221111122112222122222211211211211121111222122122122112211221121212122221121222112122112121221121121122112221121121212221211211212222122112112221211221111112111221111122221222211121121121221111211222121222111212222211121221221112112111112212211121122222122112111222221221122121221112111221211222211212212222111221221211212211212112121112222212111112112112211121111121221221112112221111122211122212122211111112121112122221122221111112221121122121122222221111122221211122111112112221212122222111212221221122222111212222111212112221112221112121211111211122112111111211221112222111222211211111211211111222212222222122221121111112111212112211212212122122212121212212111112111222112112212211121221121221221221122111212211221212122221121122221121121122112112121211212212111121112212122121222211112122122222221112211222112112211111222112121111112112212122122212212222112111122221112211121211221121122222221121121112122221122111212112211111221112222222221211112122221222221121112111211122221221222122121121112111211221121111221222211211122122111211112212222222211122211112221112122221212112111211112121212121211122222111211211212122121212211222121211221122121221211121221112122121122112221221222222121212212111121212111112222222111222221221121121211222121111221211121111222112212211111112211211212111221111222211112212112121122112221111112211122221112222211121121112111222112222211112221212122212222211222122112222221122121112212211211112211111221121122221111112222121211221111122211121221212111221221212211121111111212222112122211211121121111211122111211211121211221112221111222122121222112111122111221222111122111212122212111111112221111212112112211212211211122221122122212222222222112111212222222112111121122122112122111222122112212221222221111222221212221112112112222211122211211111212111121221222212221112222222121111112111122112122121111221211122111221112212221212222211212111212212121121121221121111122121211111212221211211211221122212122122222222211111222222211121212112212112112112221122111112222211111112122122122212221112211111212221111121111121222222111121221211122122112222121221121211111112212212111221212111212212121122121221212221221211212211212212112211221212111111212211222112111222212111212111122121122221112211221222122121211121122211121122111112121221222221212212212222222222211212221122211211122211111221121112221122222212112121211222121221112121211221222122211111111221211222222111122211211121222211122112112211212221112122111112211222122222112211211121211111211221122222212121221211221111122111212211111122212121122222222121112222212121121212112121222221122112122211221222222111222121112222121111212212221221221122211211222122121212122122212221221122212211122222221222121212112211222222222212221211212212111112111122212211211222112111111221221212122211222112122112122112111221211112121212222222111211111121122221212111212211222222122121212211212222221122212222111112222122211112211121222222111222122211221211222222112211122112112112221112111112122211121121122212212112222221212112212222211112212221111111111122211212211122121222221222212221122112112112221221111111221211121222121212211221211222111222112122122122211122121212121222221212212122121221221212112212111221221122212111221122121212111212112221212111112112222121121211112121111211121221221122212112121122112211221111122212222212122121222221122121211212212112121111122111122212211212111122112111222112222112112211211121112122211112122221221112111122222122211221112111222111211112211112112122112121111211222122212121212222112212221221222222112222222121222121112122211221222212112212111212121121211222122121222212222221112111221112111111211122221221121122111112121122121222222222212222122222221111211112112222211121111221122122221122121122222122221121122112111121112112122212212121121111211112112221121121111122111111122122212111122212222212112122222121212112212212222111221121212112111111221211212112222221122121121212212112112121222221122221111221112121222211221112111122112222111111122212221211211111211221211212211112121112111222122122112212121211212211211211112121221122221112121222211211121212121112111122111112112211212211222221112211211211121121222112221222212222122111222121212222122121122221212121121211112121122121122222212222111121112121111211221122221111112112122121212222122111222112111121111112222112212111121222111212112111221212111211222121222111222221212121112111212112222121221221111212211222111111221111222111111112222221111111212212221121222111111212111111212211112121122112111122211121222212121122211112222121222112211122221111121221211212121112121122121212212221211211221211111211212122211212112221121111122212111212122222212121112212211122111221212222111121212222221212211121212111112112112121121121212222121122212122111222111121212221122122121112222211121222222212111111222212122221212212211122122221122122211222221221112122211121121121221211212112221122222211112222211111212122211222212212211222222111222122221122211112221121222211112121121222111212122222212211222111111212221111111221122111212111222111122212212212222221121222121121111221212122111122212122112122211222122221211122221112121112112121222211122211121112222112122212211122212121222212212111122122111121111112111121211212222122112211221222222212212122212222222212111121212111121212221122222112112112212211112111221121111221211111112121122222222111211112222212121122212221112121221222112212222222211211212221211211212121211122222122211112111121222122112212121112112212222211111111211122122221111222121112212112211112121112212222212211222212122222121112111111212221122121211211212121212121122112121211211112221122221112221112112122222112111212111111221212212212122112222212222222221112121112111221121212122112122122212111111112212122121112212112112122211111221221212122121121212211221112111122222112221121222121112211112121122222111221212122112222211221111112211111111121221112222211111122221112121121112221111112122212211221212121111212221222112112211112211112122111222122121222221112211111211221121121221221212111122212111221221111111222122221212222111212111121212222212111222222121121212111121112121222121211111111211122121122211222121111122122121111111112112112111221112222112111122121221122212211111122111212212212121111221222112121211112221112212221112222222112212212222112221221122211122112121222111211122212221221211112121121122222211211111212222211212212122212122211211212111211211211212121111111112122121111121122221112221122221222122121121212211112121212212221122221111111111121111222222212121122211221211212212221211221211222212122111221121111221112121112122211212122221111221112111112222221222211221121122221211221211211111112211222222211112212122112111221112222211212222212212122111122221221111211211122211121221221111211112211221211122121222112221222121211221121122112221122221122122221121212222122211221221121122111112212212222121112112121221211212122111122111112212122222121121111122111221111221221111111221222112121122221222211112121112121112222222222111222212212211221112122212211111121212112122121121112212121222212112122112212221121212222212122222222121222121121111112122222222222212111112122221121112212112221121211122122121121121122222121221222121111121122212211121112212111211122122121121122222221212122212122211111221111111121221122221122221121211122222111211112112222111212212222122221212211211222212211212111212212111211111121222221122212212121112121112111122112121122221121211222211122222111222222212112121221122222111111221111122122212211112222121211121122222222112211221211211111222222111121221122122112122222222221112122112211221212111222111212221211122121212222211111211212222122212212112112111221221112212111111212121112211121111212211121112111121121212222122212121112211221121222211211222112111121212212111221121212221211222112211122112221121122111221211122122121212112122222111212222121112212111211111222122211111212111121222211122222121121211122111122211212212122112122211222222211221221121122222222211221221222221112112221211112121112212211221111111212111111222122211112212222112122211212222122112111221111112111221121221211122211122121212111122111221221122211121121122221111211112122222111221122112211222222122212121221122211121121212211121121212122222111221221222211222112111222211211121221121211111222121212222222121111112111111212222212211122122111211222222121212222211121111212221112211221222121222111212122112212111221111212211221111122221122211122111211221112121212122112211122211211211121212221212211112122212221122121221221212221112122111122111212212121211211121212122111212121221211111112112122121222121112121111112222222112112221221121222221122112111122121112211111112221212221112222212211211222122212112111211112221122111121221221221212211111121221212122111222222212111112121221211212211111221212121211221122122222211112121111222112121211122112222112121222222112222211111221212121222212111111122222211221111212122211122212112112221211211111222221112211121212221112211221211221121212222212121222121111221211221122212111112211222112111211112121121222122211111221222121222211121211112121212112122121221121111122122122112211211211112212122112222211112111212221111122121112222221122212122111112211211112112211221212121121212122112211222112122111122222221121222112111211221112221221121122122121211111121211122122112112211111111121212111212221111112222211112111121221122221221211121222121111212211212122211211212221221111221211212211122212222121221112121122111212222121221212211121222212121222212221111221111221112112222121122221112122212122222121122111122112122222212211212112112121121122212212222121121111211112212111121211211122121211111121222111212111222211122122112121212212112212222211112212222112222111212122222121112222221122221122112121221112221121211222112222221121112111112211222212122122211112222112121211222112122111112122121122111112111111212122222211222112212122222112211112111112112111222121112211121222112222222112211212212211122212221122212112222221211212211222121111222122122111211222121111121221121122222211222222121221121111122212221211122222211121221112122212122212111222222222111221122111211122112112121221122112111122111112111122211222112122122121211211111112212212222121212122121121222211121222122112111111112112212112211221221211221111111112121112221112211122212221112122111121112212111211221121222122222111121122112112121211212211111112112111221111221121212111112211222221111211222211121222121221212211112121111212122121221221112221122221111121221222211221121221112212121121212211121211122222222112211212122122211112111212112121211112221122222221222212221111222111221211122222211122122121222221122211121222112121221212212221121121111122111121122222212111122111211121212112222121121111212121122122122112211212222211222211211121112221221122222211121212111222221121111122221211112111121211111112222211211222212212121211211221222122111211111122222221111111221211111122121212212121112122222111122111122212122221112222112222111111221222112222211111111222121111122121122211211222121212122112211221111211122221212211122221122122211211121112122221211211222212211122221121222212121111111111222121122111212121221212121222221111211221121221121222221212221121122121111121122221222112221222112111221111111112121221122122222122121121211111211221122212112222111212111211121121112222222111121212221222122211122222111211112211211222122111211111222121122122122222122212112211112222121211211211222222221222121112121211212211112111211222111121222112122112211212121221221222122122112212212222221212212221211122122222221212211211121112122112221121111122112122222222212111222212221122212212112221222112121221112112121122122122121121111112121112211121211212221212211222112122122112111222112212212222121121221122211121111112211222222122221111212212221122121121111112222221221221111112112122221122212112112111221212122212122122122211112211212122211211112121121222211221211112221111112122121122211122122212212221112112111221212212122111121121222111222212121211212121222211211221212112112212222221121221122212112222211122212212122122112122112222221222111221222121211212111222221211222112221111112122221112211111111112222221121122222111112122211111111111111212211121221212222121211211212221211111112112111121111112112112122211122222122222112212212211111122112121122221121211111212221112212221122212222221221222121212121112122112211222212121222222212112111112121212112122221122122122222121222212211122121221211111112111212221221121211112212112211111212221211122111122212121121121221122111121211121122222211111122222211222221122122122222121112112211211112221112112122121112121222221111222222212211121112112122111111222111122212111121212122122221111122221111111122212112121222222112212211222212122221221121221112222211222212222112111121122211112222121212112122112111211221212111211121211122221122111211211112111122112112221112121112222212222112122211222121122111222222112121112221221222111212212122112211122221211112121212111122221212212121212212211111212212221211212111112111222112221121211112211222121212121121112112122221212112121111121211122111221221112122112112211122211211111112212122112212221122212212112222222211111122111122112112221121211112121211112221121221112211112212122112112222221221222121122122221122221111221121221211122121211121212111111222212222221211112112111111121112211222122222222121112221222112111122122222221122222222122112212112221121111211121221211222121221112111112112221111122212111111212122112121221212112211121112112212212221221122211211122112222221211112112211222121222221221222212222112122222221121211222112212212121112122221221211212222221122112121222211212111111211221122112122122111112211122122122212212221222112122121222222112222122221221121121222121212211212212122221221121121122121212211111121122222122212121212111221211111211121112121121121111122222222121121112221112222222221211122122112211212112111212211122221221222112122212122221222112111121221121112211222112121212221112222121212121211221212211212111211212222212221211121121122212211221222212121222211112112121222121212211221121222211211112122111111211112112212121211212122122211121111122122121122121211122221111121122112221122222111122111121212212212112111121111212122211121112122222122112122222212221111122221221121112212211121211122212122111212211212212121122112211121212221212221212212122212111222211111122121212121121112211221111112212111212211222212221111122211111111112121221211112222211122111221211221211121221221211122121221212112122122111212122221121111111111222211122111222112222222111111111112112211212212111221121112111111222122222221122111212211122221111211111121222111121112212122111112212111221122121211111211111222222112121222212111222122111121122111122121112111221112222122121122112111111112212111222211121121222112112122122122221212211222122221211112211111112111212112221212211111122211211112122111121112212211111122121112122221221122211122212221221112221111212211112112222122212111122121211121222121211221111221112122211122111121122221211121111121112112222111121111221112211112111122122122122211221212111122211111121121112111211211222221121212211212122222221211111111112112111211221111112112212221121122212221122212221221212211212112121112112112112112112111211211121121211222112221112121212211112221222221211221211112122122121122121221221112122211222112222112211222222121222211111222211112212211212222221212122212222121121221212122122121112212121112121111211112222122212222211212122112112211112111111122221112221222122122121212121221221222211212112221212122211212211221112221222122122211111211211111211211222112222212121221211122122222122212121112211212122111122221122111121222221211121122121121221211211111122222212112211122211212112112122111222121111111121111211111212112212111121212212222121112212122221222122121121122121112221122211111212112222222122222222222211112222112211212212121222211212211222122111221112211211212111222212122121222112121211112111122111222121222212211222122122211121222112111212211121121121212121111212221212121221211211122121122221212221221211221221222221212111112212222112211211212112221111211221111111221221121121111122211122122111211221222221112121122222111122112221112221111121121221212211122122222222121121122122221221122122122222212112222111111112121222222112111222112221221111221122122121111112212221122112222212122111111122212221222111112111122221222212121221212122111211222211221212221112121212211211212221122122221112111122112222211122212211121121222122222122222211222212222221112222121121222211122212111122222211121222222212212222212122211221111222121122211111111122212222211121212221211211111111122112211121111121221112112222221111121221121112221221121212211221112222111121222211121112221112222212111111121212222222112112222222212121111211221211112221121121222121222211222211122212112212111121221212221112222212212112122212212212221121212212111112221222121112111112221221221121211212112112212211212112212112211111111222111211111212221122221222211211211121121112122111122222122212122111121212211122112111121112121211112221222212121111211221211212112121121111211211221121111221122121121121122211222111211112211221221221211111211122222211122222211111221111211121211211111122222211211222211112122122121211122212122211212222221222121212121121112112212121221121122121112111222112212121122122111222221112212121221122121211121212222121112212121212221112211111121112121222221211222222111121112112111222121122112121122211212122112212212221211222112112111121122112211111211212122112212112122111112212212211221222111221112112222212111111222122211222221212111112111211222211212211221221122221221212221211122221111221212222111112221111121221112112221112111112221121121221112122121212112212222112211122221121111221212221111121121211112112212121121212211112122222222222121211212222122112121212121112121211121121221122212112122221121222122121111122212111212212121121111222112121222111222211111211121122112212222212121222212222122112112221111112211122121212111212212222112221121222122121212112122212122221122221122121122122211121222211211121111122112211212122221222212212222211111211111121221221212122112121122112212111212222112122221222122211121222122112221221212121111122121221121222212112211121112111111122211121212221222211212212211122111112212121211221212122122121121122122212122212211121112212121211221121112221222121221121111112211122112212221211112212122212221212121221221121122212122222112221122112211122221122122111221221222211122111121111111212121221121112221112111112122121211221212211221212221111122211222212211112211222112222112212212221222221121111112212112221112212221122212222221221122112221121212212111121121121112111222221222222121221112122212211212122211111112221112221222221222121111222111222211222111112211122112221112211222111221111112121121212122111122122222222211112221222122112111111221112122212121122221122212211211122212122121121111211112122222221111221111122222122111111211122222112212121112221211222222112211111121211122212122122111112222121222112221112211112121111211122212121111112112121212212222112121112122122222222221211112221121121122111221212122211112121121111222121112211111221112122122122112112121212211112122121222222212111122212111221121221221121212121121121212212121121212121111221212221212121221212121221221122212212212212121111122212212211212211212221211212211121211121111121212122211212211111212122212222211211122122121111121122111112112122212111112112211121222112212212222111121122122222111121222211222212122112111111111121122211221122112121112212222112122211121212122221222212121211112222211211121211221112112121222212121122122212221111111122111221211211221111112121221221122121211211211212121221222121211112212122111122222112222122112212122211122221121111212121211212122111211221212111112221111112222222221111122221211111212212111212112222212112211211221112112121122222121212112111221212211122211121222221222112222212121112212222211221111222221112212212211121122222111111111121122112221121111111212211111122121112222222212211112212121121111121211121222121122112212212112212121111111222211112112211222221212112212112121211222222211222112111221222112122112222212121122111222111211211221221211211122221222111222211122112112112221121212122221121222222212212122112112222221211111121121122221122221212221221111111211112112222121111222121222212212122121222211211111112112222122212212121211222121111211122211121222121212211122221211221122221111212122211112121222121111211111122112112112222212211122112112212211221212122111211121221121111112111211222111221111221222222211211111122212212111111112111111112212122121122212122221222221112122221112112212111121111121221122212122221222121211222122121212112212111221111212211121211122222121221221211211212212122222221211111111112221212212121211121222112211212221112212212121211221212122121121121211221211112112121111122221212222212122112222122112112111121121222212121222211211111112211121211221121121211112221221111212222122111111112112222122221112212112222111111222111221111111112112121221222122112112212212222221112222112211211212211111121212112221212112221221222112222212212212112222222212121121112222212111111122221212121221121211121221122212122212111212121121221121121112222212212112122212211211112211211111112221112221222122111212211121222222211122121211111121222112122122111121222112211221212221121211221211212111122112111112221212221122222222122211111122222121112212222111211122112212212121122212221212221122222211122112212121221112221121222222112222112222212212221112112122212222212222122112121121121121121222111211122121221221111212222122122222222111111211112122222112112122121111222111212221222221211121211121222111122122121111212121221212222122212121222211112122121121121212211221122222212222121121112121112111111122211122221222221211212211221112222211222211122211122221212222221221111122222122221211122112221221112212121122222212212212212212121121211212222211211212111221211112212122112221221221222122121221121112121211111111212111112221221211212122122122122221111222121111211211221221111212211122222212111122112221222121211211221211211112121212112221122221121212121211121112112212212212121221221221122221121111221111112211121222212222121211222222111122211221212221221122122121122111121112212222211212121112122111122122211211211121212211212122222212121112222222121122122112212212112211111221121212221211211221211222221112211121221112211211121122212122122121222221121221221121221122112221221122211222222212122121112222222112122212111121211112122112222211221221211212122211212122222112121222112211122122111122111112212222111222122211112212111211212211122222111121121211211121121222221111111222111121212122121121121212111211111212112121222221112112212112212221222122212121222211222112222222122111112112211112211222222222112122221211222111222122111122212112211212122222212211222222112121121211221221221212122121121111112112212121112122221211122121111221222211111112111222212111121112211221122122121211221112212121112112122221212121122122122112221222212112221211222221121211121112121112112112211122212112211211111122122212121211111221221111222112122121112121111222221112112112122211212212212222211211121212121122121211211122212122121212212112121122112212221111121222222112212121111221121221111122121112211111111122122111222121222112112212221112212221122111212122221122212221211221121111122211122211111221221122222221122122212121222111111111111212122211212221111112111111122112222221211122221211222121221112211121122121222112211222121221111221211212111212112222111111111211111211212221121211121211111222122222211121121122222121112122112112221221121122111111122112122211221212111112212211112212212122121211212122211211221121221221112111111221211111111222112121112212122122212111112122211122212122212221222221111122212221222122211221112121121222222122122122221211211212222211212122222222222222222222222221211221122112111212211212111112222121212211221222212111112212211211122221111212121221211222221121212112111121111112221211121122211212211122112122211221222221122121211222222121211212221111112122121122222112112111222211121211111121112211222212221222222222122211221112212221211211121212111121212112122111121112222112111211121111111121211221121211112212211212211212121212222111112211121121221222121221122121121222212212111111122222122121221222112122122211112121122122111121122211122122122111111112221112121122122222222122221221211122211121121222121111121121112111121112222222222222221112221111111211212112111222211112212212122221122212122111121212121221112212212211111112221111122212121221122212222121121222112122211222212122211112212111111221112121122111212112222212111111212222122212211211121211111121121122222211222222112211222212221212111121112212111121211222221212222111221121112211222112111222112121212212221222122111211121112212221221222222212112221111212121112112212221221211111222121122221122221211122212221122122212112211112111122212111121111122221222111111211221222221121222221121221212122211222112222112121222112121221122112122111122111222222221121212121111222111221111212211121111122121112122112212112121121121211122112121111112121121112221122222221221211211211212112121122112111222121222211112221212111112222121212211211212111121121111112221211221221112111221212212212221221221222122221112121112221212222222111111111211222122212212211121111221211222222112221112111121111221221222221212122121212221122111222222222121112222222121111222111212122212221122111111111222222222111111212112112122211111211111121112212121221212212121121112111222122121112121211112112212211122222111122221222112112212221112112121122111211122211112122212222222222112221221122121222121212111222211112222112111221222222222222212111222121222212111121122222211122211112121212222112221112122121221121212112222112221111211222112112211221111212222211222112122112221111221212112222211212121221211112212221121122212122221212222112122211121121122122212112221211221111121111121111222122211112112211211112212212112121121221112121211121221121222211222222211111211221121121122221121121221222122112212122122111212111122111222221122111222112212212111211121121211221222211211212222211221211212122121122121221211112221211112211212111122121121222111221111221211112222221122211111122122221121222121122111211122221211122121212212112212222211112121112221111221211112112212221111121221212111211221221211111211212211111111212111222211121222221212112211121122222122121111221112121221211121112112211121221111121212222222212221121211112121121121112212122212121221122111112112121111212222111212121211122112122121111221111121121121112212122122222121222221211121121121122212111221122112221122212122221212221211221221122122122121222122122222212212112212111112121222122222112221111211212221112111211212211111111221211212221121112221212121122211121212111112121222211212222121211111122122112121121212221121211121221221221212221221221222121211121111111222221112112221112122221222212222222221212221121221121121221122212121112211211121111211121211121211121212112112221111221221112212211212121222212211211211212212111222221121222112121212121211112221212111112211111111222111122222221212212122112211121121121122122211111112222121121212111111211112111212121212122212212221221121211212222121112121222212211111122222221112222121211222121211111111121222221211122211111122122121122211112221122211211221112122112111112121121122122222222211211221121121111121121112221212211121221111121222211221122112211112112211112112112212221111111221212112221112111111112221221112212122211221211112111211221112111211111222222122221212211222121122122222222122121222121122121221112112212122212221121222222121212212112212111212122222121211211121212111221221111112222111111121211111122112111112221112111211121211222111121222111211121211222222112111112222121221121222222121211122221122222112112212221112112221122221222111122121121212122221122211211221221222221112122111121112112221111121112112222111121211122221212122112212222112212212122222221222112111212212112111112121111212212222222111212111222122212111212121222121121111122112221112121121111122222221122111212222112112222111211121122221121121111221221121221122212121211212122211112222212121212211112121122221112212122121222111111111221112221121121122121112122111212121221112222222212221111111121121121111121212222112121221212221121222211121111221111111112211222122221221122221222222211211121212211122211222221121211111221212122122212211121122112221112212112211122122221111111112122211212111122121122221112122111222211211121122211122121111121212111211122221221221111122221122212222212111122111122122212222112221122122111211121221212222112112222122121122222221111221121221112122121121111122212222212121221121111111121112111111222212212211122112121111112212221221211122122222211111212121121211112222222211111112121222121211112212122221111112122212112122222212111121122221111221111122221111111121112112212122111221211221212222211212122122121122111221221121211211121211112221211122212121121122122112211211221122222212222112111211112221121211221212212212112121212122221112121111112212211212221122211122121212122222212112121221111112121121122112111222221122112121122222111221212121112212222212112111112111222111211122211222112111111211212122212221211122221122222121111111122222222122121122212111221221222122222111221121212222222122211211121112122122211111121222122211122221222121211221121122121111122212122212211121222222111211122112222111111221112222112212112221112111211212121221212222212122112212212112112122211222112111121111112222211112122222122221211211212211222111112112211212212211212122122111212222121112111121222211111111221222212112222211222111212112222122211212122222212211211221211222112221222221122112212212122212221222221122121111221212221212111122122222112121122212222211112222212222211211111221222211122111211122121212212111121221221121212111222111111122111211211111122221121122221222112111211112111121211111222222221222112111122111222222121111112112121112212121212221222221122212222222112121121112222111112222121211112221211222121222222221221121122211212112211112111112222211112121122221112212122122121221222211111122212121112212221211222112111222111221111121222211212211121122221111122221121122122122111211121112211121212122221221111121121111121211221221112211212212212211212221122112212121222111111112111121112212121112122222111222212221122212112112111212121121121221222112121112221111212212221222222122221211211222121112121221111122112222212121221121122112121121211112222112222212112111212211212221222111221121121122121222121111211221122222121221121212121112121112211222122111221112121211212212122221211111111121211211222211221212212121221222111221221111122112222212212212222122112221122212112122212112212211112122121112121222221222111221111212221122122211211111122121112121212111122111212222111122222212121221122221112222212112212111221211122222221212111222212111111221121121121212122212212211112121221112121122222122121112122221212122212211221222212111121211122222122112222111211111111121222122221221221112111211211121122222121221222212111222112111121211211112212121111221112211112112122212211121121211112112112122212111111122211221211122112121222111212211222222112211112222212122112222212121212211222122122122121111122121112211121222212212112121211212221222122121121222222222112122211121112211212122121221212212112111121211212222221211211112212111222212112111121212211222112121221121221212122111221121211222222211112121221212122122221212222222211122222112122212112111112211112122121121222212221112212121111222212121212211112112121212212112222112211111212212122111211112111112211111211221221221121222211122222121212222222211121222112212222112121212121211212211221112211211211112211111111111212212121221211122112121221222122222212222111121112221121121121111222122111221221212211111112221112221221111112212212122222221211112222222212112121221211212221221111221112112212211112221112112211221111212221221111122211222211111121211212212122122221111222111211221121121112111212211222112121211222122211121212112212121112221122121112112121111211222112112211112111211121111222212112121121211211222211111211112212211212222211212121121121111111122111211211121112121122121211112121211122111111122221221212221121222221211121111112111122112221221222122221221212212211222121221212221111111122221111122211211211211111211112212112122212112212212221222122121211111211112111211222121111121121212221212212212112212112111221221121122211111122211111121222211222122111122112111222221211111111111111212222222122211211111111122221112121211112221112221111211211112112111112212222222212211222221122121112112112121221111211122221121211111122212222222222122211222211222212121222112212121221211112112212212212222222212111112212112212221211111111112222112211222111121122121121212212122121211121222211221122212111222112121221212112112211212212122222211222212212211111122222122112121221221111221111222121122111111122121112211112111211221122112122222211211122112212121121121121111222222122112211221211111121121122221112121222212111211122122122221221121122112211122221112221121121222211222212211222111212222221211211221111122212221211122112222221112211221111221121122112212222221212122122222221121211112121211121222212121121111222211221222121121122112211111111212222221221112111111112121112222112112221112112211212222112111211221212111122121211122122221121122222112122221121211212222221112112212112122121111121212111222222122212111212222212212122211211212112212222112221211211121121211212112111122122222122122122211222122112211212222112121112212222212121112221212121221121221212221211111112211212222222112112122122211222112211112122111222222122122122212212212221222212221121212221211222112112122121222122122122121111111111212212112121112212222212121222121122221211212112222111111212211222211212122212211122112111221121222221221222221222111112112122112222122121221112122212221121112222121221212212221111222112211222222211122221122112222112221122111211122112212221212221122111121111112211222112222222121111212212221112212222211112122221221111221212121211222212211221222212222222211112112211221222221111221222222222111122221221122221111221112111121211112211112111222111122112121221211122111222111111121122121111112211121222212211222222221212111121221211221111111112212222211122221212222111212112221122212112112221121121222122121111121221122121212221121122112112222122222112121211111221222221121112221211111212221112222212211212211211122112122111221212121211222221221122112121122211212111111122112111122122111221112112111212212221112122111222211222121221211211112121121121211112121121121111111122122221112212121122111211211122111222222111222112212212222212221221111112112212221122122221111211112222112122111112211121112212211112221222121211211221221222122212122212111122112222122122111112122211212221221221122222112211112121121112122211121211211222121122121111111221112211112111112111112211122222122121211111211222221111211212121221211221112212222111122222221221211112112221112121221222111211211221212212122112221211212212111111222222211112222112121211111222111211221121122222211112221121121211222212212112221112221222111121122221222121111121212122221211111222222221112111211222121211111112221121221222111211212212211122221221221211222112221122212122221221122121111121221111111112222112212212111221212122221221122212211111121122221121221212112221121112222221221121122112212121212121212211121112121122212211221222112221112211212212111212212221112122121212222212112111222211221222212111122221112212121211122121121112212211111212222212122211212121121212221112111221122122212221222112111122112222222222212222122212221121122121211122111221122212112222112112212211222212222122221222212221221222212121221112112112112212212111222221111221222212121211221111121221121211111211212122111221111211211212121122122221111222111222212211211122121211212221111111111211212211221211211112112211122211111121122221121221212112221222122212122121211221221221121221111211211211112212112211222222212112121111212121112122222122212222211111221121121121122121121121112122211222222112111121112112112212222112111111221222121221211221121122121221112111211111211212112222111121122112222211222221222121222221221221222221211211212221121122212122122111112212211122211211112211212211212222212211212211221122112111121221222222221222212222221122221212212221212221112221111221112222211212222211221211112111212221112122211111221111111221211111222222212121211121221221122111211111122111222221221222222212211212122111212222212212222112212111111121121222112111112121112222111112112111221122111222222111122212221121122122221222122211122111112222121212121222212222212221122122112122211212122122222212112112111111211222112222211222221222221222121121221211111112212122221211121111121122112121222122122121211121222222122122222112121122212211211121222112212221211211112211222121212122111122212121222212221211111112111212112112121211112112122212111222111212122212221211121221121211121111111211112112121212222122112122222111221122111111112111221112122111111221222222212221212212121221212122211121222211122112121111222121211111222122212211121221211111111111121222121212212221212112121211211122122222221221121112112212221122121122222212112221111121222212112121212212211211212121112212212212121121212222122111112222221122222112221122112211111211121221111111221111211222111111221221221121121222112211211121121111221222221222222211122222112212111221121111122121221212211121122121222112121212221111111122222111122221212112221211222121122221222211211222222211121111211121121112112121111212212121221212122211121121222222122221211222112112211121222212221111121112211211121211112221111221122122112221112212212222122111121222111212211221122212112221222212211211112112221211222122211112222121221122111221211211121222112222211221111121222121221111221112111211121112122211221212111122212222112122121211212122212222221112121112122122111121111212211111121222222112221121122111211121221222211222121121222221211122121122212121112221122221211112111222222112221112212112221211122121112122222221111211122111212111121212111221111212111212211212222111121121212112111211211111111122121211122211112111112112211122222122111221121212221222122212222122122211211221112112122222212112111212122211211121121212211121222211221111111111121221212111221112121121122121211212221122212222211222112212122221221212222211121221211211212121121211112222222222221222111111222211211222112222122211212211122212112212112221121112221121112122121111222212212211222111111122111112222211112212112111212221212111111112211222211111212121122121222212222111112122211121212222122122211221122121112211111221122222212212122111111222221122211112121122122221222211212212211221221212221211112111112121111121111222211121211222121211222211121111112111112211111121112221111221211221221221212112122111212222111221122221122221122212121122112111122222221112111111122212121111121212212121211221111222122111211212121221222121111121221222112212122212211222222122221122212211222121221212121111221221111211211121222221211121222122221211212121121122111221122112221212212121112221122111121121211122111112121112222211121111211112211221122121121222112212111121212212122212121222122221122211122112211121221121211112121212112111221222122112221121221122212122222221222221211122211121212211111222221111111212212121211211111211211122221211221112121121112222211111112222221112212211112112121221122222121111211212212111211221111121221211111111211211221212121111221122112112221222221112222211212121111112211211222212211111122211211121111111112221212112121222112211212222211222122212221222221121122122222111112112112211112212122211211121222221112222212212221122222221212111211122221221212222112121212222111221122111222111212212112122121121222121221211212221121221112221221121112111111212122112221121221121111122222121122212222111211111211211122222121222111211121111222222212221222222122111222222122121212211111212221112112121222221221111221111211112222212221221122211212121121121212111212122211212222112212122211122112122222212112122111212211122212111112121121212211122121111221111212121221112121122212211122121222212122122221222222212212122212221211112112121221221122211122211212211122212121122212111122212112211211121122211111221122212111111111211122121121222211112212221211212212222121212221122221211221211222111222221211122221222222222112211211211111122221112221112211212221112211121111222212212222112221121211112222121111222222222221212211112122121212111122122222111122222111212112211222212122111121121112112112122222212212221221111122121112111211221211221111222121111221211112211122221111111222112222222212121121221221121212211211222222222112221111221221222221111122221222111112221221212121111122211121121212211111121221212122111111221212112111121111221222222221112121112221221221222122221212212211222111212211222111222112221112211212212222212111211111212111222222211112212211211222121212122111211222221111211222112121211122111122222121212211221222112111112112112121221212222211222122222222121122112121111121112221111121221211121222121221112121222111111211212112222222112122121122221212121121111211222111222122221112211111112112222112211222221222222121122221221112122112112212112122221112221122212112221212121222122212211111111122212112122112212212221211211121212221212112221121221112212121121112112212212222112111122121111211122111112111222122222221122222221211112211121222112111211112122122111222221222221222222222111222211111121221121122112212121211122122211121222212222111222111121222212222211121211221121212122121122111111222122121112121111212122222221121212211221212222121211222212222122222212221121212121222122111211222211111211112122111211221222121112111222212122111121121221111112221111221121222222212122122212221211122122112221112212122211212121112111112212221112121212221222212212212222111121211221112222212212211222111111121112222121122211211121211111121111112211211121212211211221112222212221221221212212122122111121212111222121122222221212212212212222212221222122122211222222221212112121212222222112221121122211211211222122211222121112212211112212111122222212121111222222121222111122211221122122121221122211221222122211112121222221111122221121112112222111122112212112221222212122212121111211212211211112222212222222121121221122112222212121211112111122212121112111211122212212222221212222122112112212221121111212122212212111222122221111122222212211212221222122222111121111211221211212221212212212121211221221221122212111121111112221111212112212212221112112222121212212212222112222211111121121211222211122221211221211122112112221222122122112221211221121212111211122121211111211222221221211122121222221122111112211122221211212222122112212212122212211221121111122211112121211212221111111212211112212211221122111221111221121122221111112221112222111222111221211211221211111211111122112121212221122111121211222112112122111121111221211221211221221111222112111121222222112211111212112121222222212122221111111222212211222112111111211212212211121212122122211222212212112212122112222112222222112211212121211121222221212211222111111211121221112121122121222212221211121111111221112211222121112122211111212112122211111112112122211121212222122121111212222212222121212221122211112122111112211122211211212122121212221112122211222111222212222211222112122122121111112111221211211211122111111112112222111121211111212211222221111221222121121111222221122112221211111222122221222122111111221211121112221111111121111222112111221212212221122221211122211122211111112122221112211111121111111221212121122221112112221122221122111222212121122212211212212211122121221211121112112122221211111122122221222122122111212221121122112111111221212212122122112221111121111122211211211212221111212222112212211112212111121211121212212222212212121111212111111221112111121121212121112211122212211121221122112122112212211221221211211212121121121112212112211221122121212122221122221212211212212211221212221121112222111221121212112122111112221111212111111122211221222121222112112111112212212221112212221122222111111111111212221112212122121222121121222122111211212112112112112122221212121221221211211111212211122121111221112212211222112211121112111112222111112222111121112112122122111122122111121222211221122112212112212211112122222122222211222111212212111111221121221121211111222222221111122211212121122122111222122212121211112122111112222222111212211111122222121221121121212222221111212122122112122211211112121111221112211121122211221211122112221122212121211212221121122122122111121212112211112222121222212221122221222111211121121212111221212211111212122111222121222221222221222111211121211121221211122111122211212222121221212221111221221112211222211112122122212112121111222121212211222212112121121112211211211111222122211122111111122121222111221122112212221221122112112211222121112212112221212221121222122122221111222221212222111221111112221122221122121121112212222111221212211122112111121222221221212121122222122222121222212121112112212112222211111111211221112122122112112211211121122121121222222221221111221121112111111121122222221222211122112212222221222122112211121121211212211222222112111111112112111221221121222212111212212112112111222211221112111112212221111211111222121111112222112221111221212211221222221221221112222112122212112212112212121121112112112211112112111111222221111122211212211121222122222111121111122121212222122222221222121111221122112212111121222212221212212221121211222221211111212221122112211111122121111122111222221111122112122211121221112111112111112122221212211211121212221212221221211121112122122111212121222221212222122121211211211122112112221212222221211122121121111121222122222121111211121122212122221112212211121112222122211122121111212222121222112112112211122122211221112111221221211222112222121221122221221212111121122122111112212121222211112211112121211122112221122121122121212222211212111112221221112221221211221112221112222211222221211121121121222121122222222121212211111112121222122212221222122221121112122112222121112111212112122122222112122122221112121211121121211221221112212222222122221222211121212211111222221212122122122111121111122222211212122221122121211122211211111122112121212211222211111111211222122122111122212211222221222222221212212222222121211112121112121122221222122112222112211221111221222222111112222112111212222122212121222122121221212222222222221222122212112111211111112211112112112221112122121222222222221121211121222111212212212112122111221222121112112212212121112121221122122122122122111221212211121112122122121212111112112112221221222112221112112122122212221112122211121221222122121211122111212211112212211211221211211222112221112222221111121111121222111121112222211222111211122122211221121111221111111112112112221221211222122112222112211121211222221221111122122221111121212121121122212222211111212212222121112111121221212211221211121212212111212222222222212212121221221122211212212122221212121121211111212122122112211222211122221211122122221112112221211122211212212211111211111212112121112212121121222211112221121112121222221112212111122112112122222221121122212211121222121122112222121112222121112212121112211121112221112222122222222211121111222111212121122111111222211222112211121112221121111122222111112221222212212121211212212221111211112211122211112122221112212221111122122221221121112121121112111122221121221112121222111212212121122222222212122122111122121122121121111211121222212111212121112121211111122211211212222211112112112111222122112222121212211212211111211121211122121221212121211122211112111122122112121122122112112221122122211221221211211211221111211122112121212111211122221212222112211122112111111221211112111112122112112112111212221221212211222111221211121111112121221111221211121121221211222122222112111222212121221212111111111212221112122111212121122112121222111221122222212222122121122222112212211221111122111211122112121212221122212212112211121121121222211121222122121111222121111121111122221221122111222112221211222122121122112212212111211121221122112221222111221222211121222221211221111211112121122121221121221221122211222211122111211211211122212222212121221222121222211212121212122212112122222211221221122122222212222221222121211111212121112121221121121111212111112122111122212122212212111211212211221121221122111221122112121111222121122221211111222112112222221122222111221121112221111112121112212121111211121221122111122221221212221111212121112111222111112221221111212111121122121221112122221212212211222211221221111111122212222211122222211121122121121221112212221122222122112111112221222212221122211211122111122121211212211222122222121112212112121122121121122122112112211221212212211122111112221122121211212122212122211121111211112222212212221221222112222121121111111212212121212212121112121112221112211211122111122222121121121111212122212211111221112122212122112111221212222111112211111121221112122222122211211222211121211112122122222211121222121211222212121122221222112121211111112211121212122212221121122212211211112221112222212111111112222112112222212211211221121221122211212211212212212111122121112212112121212212111221122212122212121221122221222111222112122222111212111122112222211111111211111212112121122112211111112221121212212222121212222222111212222221212212221221221212122111222211221121121221121112111211111221212221122121112121112121121212222211211121222121222212122221111212112212221122122122222111211111221121212112211112211212122212111121121122212111211222221121211221112221222211111111221212221112112111111111211121112111111222211112112212221211222222212111111122111122112111122211122212111121211211212112222222121112212122122111221112122122121111121112211222222122221121222122112212121222121221111111221112121111111212221211111122211221211121112221121221112212121211112211221212121221211211211112122222221122222122111212121121121111221211122121222122111221112221121211121112112221121222222112212222122211212212221222221212122122121121121222112211121122212211121121221212111122122212122111212212111221122122122211221111221121221121221221221221111221121212212212112122221122212112212112222111212212211112211211111122122222122121112211122122122211221111121211112211121122111122111212222121211211222222122112122212221212211222211111211121211222222222122111221211212222221112212111212221211121121121112222222121212112221221212122111221112112111112212112122112111122121221121211122211212121112112211121222222221111212212211222111211221112122211212122111212212211211211212221212212211122222222121212112122221222222122212121211111211222221111121121211112222212112121211121122122122222121112112211221122111221221112112211121111211221222222122221121111212212111221222111211212121221121212121111221122221221211122112122222212112121111211121222211221112122111212222111122111222122112122111211222212111112111212122221122212222211211222112112112121222221112111121221122221122222222212212222111211121121121222121221221222112222112121121221212211121112212221121112111111122111121112211121122212121221111212222121112222222221121211222212121112221111112121111112222222221111212211112111212122121211221122111122211122112112222211222112121121111122211111212111222111221221212211112112212212111111212221212111121222211121222121122211112121121122222122112121222211122121122111122122212122222112122212211221222112112111212221221112121212211121122212212121121221212112222221121222112212221212212122111121112221112122121112221222222222111212111212221121122112112121222222112212111121121211122211222122112221112222211222122112121121211122122211212111211111212122121221211222221222211122222122222122121222222212112211211221112222121211121111221221212221222111111112112211211122122122122211121212121121211211111111112221112112222221212222121121111222221121211122222122211112112221112122211112222112212221121222221221111221122121111212212222211121212112122112221122111221221111211222122221121221222111112111112221122222212211121122121221122221111121111212212121212122122111221211212112222221122221111212111112221222222221211112112121212112111212212212121212121211221212211111121112111121112121122111211111111221221211111222111112121211221111121112122212222121212212112211121111111212212122212222122111212121222122122122112111222121121111121112121212121222212121222211111212212111211111212111221122122221222112212122211112111212221221122112211212122122121122221211112211212221122121211112211221222211112212221211121111222121121221222121122111121122112222112112121222112112112111222122221122221212221111111121212211122212222211222211222111222122111221112222212221221112112111112212122122111112221221111221211122122212122211212122121121122121112222211112212112111211112211111222221222121111221112211111111222121212222211121221221121222222211121111212211121121211221222211221222111121122122222112212211111222121112121221211112221211121122111112222211122122211212221111211122112112212121221112111121122111211211221212221212222221111221211212111121212111111111211221112211112212212122221111111212212211221211112212112211212222111222211221211211211211112112211221221121211111122212112121212221111121112212122111112112122122221222122211122212221122111111212121221121111122221111111222111211111212222222211212122221211122112221112221222111122121212111121121112111111222222212121111212221111222122111211122222211221212111222212122221212212212122111121222222212221112212221112222211221121211211121222111222212212221221212221112112221111212112111212212121112222212122212222122112122211221122122112122222212222212222222222112222222211222211112221111111211121121212211212112112111222222121212122211212212122211212112121211221221212212121112222211121112112121221211222121121111212211122211212211112121122222122111222112221121111111111122221222222121111112222222221212111211212112222221112222212221212221112112222112221122222212112222121221212111112112122211111212221212121221111112112211112212222211121122122211211121121112121211212222112221111112112112212222211221112112112122221222212211122212211122222122121221111122211121222211222112222222122222212212212111112211222222222222122222212111111222111121221211112111221112222211212112221211211112111122221112112122112221111121222112122122121111122112111121212221112221212111221211211122222212222212222212221111111221212222222222112221212111211111112212122222111212121212212111221122221211122111122112212121111222121212112222112122212221111121211211211211122222211222222111121112122212212112221112222221211212222222122221121222122112111122211222122121111222211112212211112111112121122221111211212212122211112211222112121221121112212111211222112221121121122221212211121121121122121221211121212122211221222212111211221112221221212111122112122121122222111222222221121122121211212111222221111121212121212211122121112111122221111112222221111122222112112211212122111112211221112111212111111122212221111111221112111222212222112211111112121111212212111111222212211221221222111212212212111121221212111211111121111221112111222222221122122121212212221112211111211121121121212111121111121122222122222221122122122111222212111122122212112111121221222112122112111121111221111111212222121221111221221112212212112111112221111112122112211212122211122111112111112221211222121212122211122212122211212121222222222112222121111122212211112212211121222211111222111221122222121221221221111111221212212122211121222222222211122222221122122212222222221112221121121221221222112212211112221111211212111121222221221111221221212211121121121221222211212221111212212211122212222112122121121212221212122112112111112212211211221211222212111211121222121212111222222111111111222222122221122212212122112111211211121122222221212122122112211112221121121222222111112222121211122122221121122221212212212111121221211221221112211222121221211112221211221211222221222221211111212122211122111212121121121111222221212221212112211111212221112121112121122121111221212212111222221212222212211111222121222111111112121212221112122121221111221221121121221112111121212122211212122212112122111111212212112121111221111222222212122111122211211121111112122222111122211211211122122111121221221221212111211212212212222221212222121122212222212212121222211122121222211212211112122212112121111212212112111111122111111221211122212212221121122211111112212112211121111222122211121221212122121121221121121122122121221222222212212222221122121222112112122112211122121212112211221122212112121221212122222211121222212121111112121212111122122112222122111121221122212212212212112212221121212221212222221121112112222112112122222121211121211111121211221112111221121212112222221212212221112212112222222111221112212121211212112111112222122222112212112121112211122221221122122222121111211222112122122111112221221111112122112111122212112222222122211111221221221222122211111121122222221211111111211122111111112112211121221121121221112122222112212112121211122111111111111122211121211212212112122112121111222211212111121222222111121212112122222222121122121222211111122112212211211221211222222212111212111211211112211221222112122212112221211121212221221121212112221221222222221121212212222222222111222221221212222211221212122121121221212112222212222121212112221121111112112222221121121221222222121222222122121212211111112212211122221222221122111111211122112111111111121212212121221121112121112112212112211222121221121111212212122211121112111222121221211211211211121221122111221221111221121221212112111211112222122121211112211121222112121212112222112112222211211221222212211222211122122212122222121122211221121111221211212122212212122121121211222211112122122111122112222211112222121221212122221212111121222121211122212222111211212222222222111211221211111122111211121121111121122212222221111212112221211212122121222221222222111212112122112122121121122122221112121222121211121212111111112222122112112111111211111212121112111112121111222221111122111111212112111121222212212211221112211222111111122221121221221122212221122222222221111222121111122211212112121122122211222122221111122221122212112122112121111121212121122212221211112222112212122222112211222121212211211122222222211212212121212112122111122221122111112121212122121212212221112111111222111211222111121211221221112122112122212111112212221212211121221111221211121111221222211221112122121112121211121211222221212222222221222211121222122222222212122111111111112111212112221122211111212112112222111122111221212121211212222112211121111111211222111111212221211212121221211121222121121222121111111112211221211221221112222211222122121221212112212221212111222221111111212222122122122222111212212121221121122112212211111122111211221111211211112111112111122111211221212121221211222222221211111221221122211212221122122211221122122112212212111212121211211122211212221112111121211111222221111121211122112211222211211212111121122222212212112221211121212121112112111211212111112211122122211112122222222122221221222212222121222122222211122122222212212111221121121212121212122211122222111122121222221112221211111122111111111112111222111212222212222222112211212121112112112121221212211221222221112222222221211121111112221111222111121212121122122221212211211212211122221121121212221121221212222121221112221222221221121112222211112211211122211122111111221221221211222111112221211111222211222222221221211212211121112211222211122212121112122221222122212211112212222112211112211122112112222121111221111211121212112112121221212121122122221212122111222211212121211212222121222221211222122211222112212212111112222122122121211222211221222121112212112112212122211122111111212111211122121112211222222121112211212121111221222221221222212111212122222212212211211121111122212221212121111111121111112112122112112211121121122111121112211222222121112221112111222111222111112221212111221111221112112121121212211112112222222122112211112221221111122221121211212122212121222121121222211222221111212221122211111121111111222121121211111222122111212122112111222121111121111121212112122221221121121222121212111112111211212121222112211112122222211122221112211111112222121121212211221122122111121111222112122221222212211112222211121221112111222211121121221211122221111122212221211221121112211112122112122212111212222111211211112111222212122212222222121112122222121122112211112122121222122122222221122111112211212121121122111221221121222222122121121222112221111111121221222211221121212222121212211211212222121212112112221112221222122212121222221122111211112112212111211211212212121122121211112221112222122121112112122212121121222221111222122122221222122121121111122112112211211121121121211112121211121211221221122121111122122122222212111211121112212122221211212112121111122212111211211211222112111211221212122121112221111122211221222211222221212212211211211212111121221121221121221221112222212122221221112111111122222221121222111111212211221111111121111221112112212112221111111211212111121121212212212221111122112122121121221211222222221112121211122112112121121222112121122112112112112121212211222211212121221121111111121122211212211121112112122212211221221212221121211222121212212121211211112111212111212111222121111221211211222211112112112212222121221121112221211122212121212121111212212212122112211222112121222222121121221122112211112122111212122221112112212222112121111121222211122222222111221111212111222212112212122122221211122111122112112222222122112222111212121222222211121212121121111212122222122112221121221111221121222112211211222112212212211211212121111111211211212211122212121222222222222221111221211212111222221211112111211212121211122111221211111122211112121212111212222211121221212212112121211121212122121222122122111211222211212112211112112222222222222211212222112112212111221112122122121121111111211112111121112112221122112112211221122211122111212111121211111121212112222122121212112112111112222222122212111112212221221122121112222111112222121122212122121111221221122212212121111121221221221121212111122121221121122121121211212122211111212111221212212221221212112221222212111111212221111121112121222111221222112112112212222112212211221222212112212112211121211111111111112212112121111221112111122211112222211122212122111222221122112111121121111111212122121121212121122222122121121212121111211112122112212121221212221112211221222211222212122212112211111222121221212112111112222222222212222211222111122122112211112111212211212221121111222211111222222122112221221111111221212111122222211112221112112211221221111212122111221221111122111222111211112121212121221212211122221221222212222212221211111221112211211212211212122212212222112112221121221212121121221121221222112122211221211122222221222121121211111221212221112221211112111221122222111122112221221121112112222212211211212221112122111111122222212221212221212111121221122112222221111122222221122221222221121122212211211111222222212112212111212112212112221211211111212121221122212122212111121121211222122211112111111121111122221222112221222222121212122221221222111211221111222212222122222112112222222211222121111111211121121111211111222212211121221212122121222121221111122211112112111211121211222222211121112212111221111122122221112222221111221221221222212222121121111221211122111212122122222221112112222211222112111221211111222221211112221122221112211221111221222222122222221221221121112222212222222212122121212221222211111111111121222212121112222221211122222112122111212212211121211211221121112121211221221211222211222221211221211111212221212221222121121222122122122211121112211112112221211111111221212222112222121111211212121211212222112221122222211212122212121221112121122112122212111111221112112212211212111111112111111112222222222121122112212211222221222122111221121221211122211211222112112211211221222121111222122222212112211212121212221212222221211111111212111211122121211111221222222211122211221211222112212221222212221121211112221212212211221122122222121221112211221211211112121212222211222111222211222221122211221112122222212222122211221121122111121221112111111122112212221122112221121221121212221121221221221112212111212121122111221211221222222112222221111121212121112222112121121221122221221222221111121112121122111111112111221212212111221212212221211221121121111111121111111221122222122112212121121222211211111121121212211112121121221122222121211111121222111221112211212111212111222212112122222211111212122122112211212121121221121222112111122211111111122112211212122222221212212221222112122222212122112122111222122211221111111121112211221211212111211222222221222112122211222111212211112212122112112211211121112222121121111122112212222112122121222221122211112122211211122221121122121222211121111121121221112212222121212221212112212121122121222221111121111111122221221121211121121111112211112112221111212221212111111221222211112222222212122111212111211111211221112122121111122222111221212112121221111121112121221211211221121222122211112211111211222212212112122121212212211111112212212122111222112112121222111111112122111221122121221122112222211211222211222211221221221211112121211111221111212221112112112112212122212212221122121111221212212122221221111111122121122222112212212121111211112221112122211212111122212121222112222211121122211112221121212111222112211222121221222212222211121212221122122121212212112212112211222121222112111212111211121211222222221222112211212222212211212221211221122221121121122122121111211111122122111111122212212111121222122212212212112122122222211111112212211222122222222111211212121112221221112212221121112222111212222122212112221121212112122122212212122111122112122212112222121111121222221122212112211221221122211121122212211212222121211211121111211221111121222122112121211221122122111121211222211211112112121222121111121221121112222121221111111112211211121222222121221112121212222112221211222212112211212111221222111112212122111121211112121221112211211211112222221112111112112122111222221221211111222111122112122211122111121122222211211211221221211211112222221121211112121211221221111221122222111121222222221111112211221121221211122211112221212221221111121221122111222111222121211122222221211221112221112211112212111211212122112222212222211112221222211112112112221221122111212111212222122222222222212122221212111111122212112212121211212212112222221111112111121211212221111211121221221212122212112122221112211211112112121222122122221122112122112211212212112221221112112111221112121222122211121211222122221111221111121121221211211111222211222122212211212112212212212111121222122221221211122222222212111211121112122211222111222112212111122221111111211212121112112221112121122122222111212111212111112112121122222211111122221211222221211222211122122212112111221221212122112111111221121211121222222222212211211121221122212121212212112122111221211112121122111211222222212122211222221211111121222212221221112212112211111121211222212111211212222121121111221212112121211211212122211211221221212112222212121212222112111221112111222211111111112112111222111212112112221112211121212122112212211111222111122222221122212211211221112212211211121111222121211211122211222121112211212122212211112111122221221212111112222211112211212212112212211122212221111222111211112221212111211222121111221112222221211122222222121222112212221122121222112112121222221222112211111212221212212212211122212111211222222112121122211221222211112121212112221111121222112121211222222111122211212221122212212212112211212112122121222221222122111122121112111122211211122111121112111222212212111212212121112112221121212221122211111212111122212212212121212221122211121211112221212221221211122122121111112222211212221221121211212222211211222122211222111111121221222122211112112222111121211212212122222212122222221112111121121112121221111112111212221221211112211221122222111221122121211211211121122111221222212222211111212121211121212111112211212222112111211122112212211111211212122112122112221112222112222212221121111211121111222121112211211222111111222121222221212122122221211111111222211112221221111122122122111122222121212112212111112222221212122211222211222212122122122222112211221212212111122121222222112122221222122212222211222222122122212111221111211212121122111212111112212222111121122122211111222222111122221222211122121212122212111212112121222212122221122212212121221121221111221122111112112221211222211122111211211122122122112222122212212221121212212222212122122221122211122221212112212122122211111222212112221112211111212121112211222212221212211111211111112212121112222221111221122112221221112121212212112121221212212121212112112122112111222222211221111212221211221112212212212111121121121122122222212222111121222121221212211112211122212121122222111121221211122222122111211222121122221121222211212111222211121122211111122212222211112221122221112112211121112211211121121122111212211222122212211122111221121121111221212222221221211111111122212111212122112221221222212111112222111221122221221222222112221212212122122121122112222221111221111112111122122121221122221112222111222211121122111122112212122111122211212122211211212211221221112212211122112221222221121111112221212211112122122112212112121112111122122112211122222212111122221111212212112222212112122211222222221222211111112122112212121121111111112111121221221122221211212222222111211111122111222121222112212211221121212222121121121221211121222212111121212211122112111122111112211122111211121221211212212212222112122211111221112222122222222111222222112122222212112221121121222111221222212222111211211221212121112222112111122111212112122212122112221212122112221211121121112212122212122122122111121112212122111211111222222111212212111111122111112222221121112211122122112122121211122111112211112121112222211121222122122211122221211122221112222121122221122112122112222211122111211221222212222112121221212212221212122121212122212221211121121222111111111211221222212111211212112212112122112211122211121212211222212122112122111112221111111221211211221212112112112112121122211112121121212212121111122122111121121111111112111222122222221122111121212211122122122211221221212122121112221112111112121112122222112221112112211222122111112111212212222121122211221121212222221211221112122211121212112112112111121211211122111222211112211121111221112222122222121221122111112222222112112211211212211121122221211211222222222222211221112222212222222112111212212111221212121211112222221211211122211222121212212112212121112221211112211121112222212112211121212212112212211222121112212111111212111111112122111112111222212222222212221221111112122121122112121212221222121211121222221122222212211212121112212221212111112222122121122222221221111212111112121211221122211122121221221212121112212211122221121211112212121122121222212121221212112211222111112212122112211112121112211221112212221211222122121221112212222121221122222122212112221111112111111111121112122211121222122112111111211112122122112211112122222121222112212212221221122222211212121211121121222212221122121121112112112121121122122111111111222112211121222211122212112211111221222122222111121121211211222112222122212111112121121122112222222121212112122211221122211211112221211121211221222121211222121211221122121211121212121212211221122211222111122222111111111222122211111121221111221221111211222122211122112222212122222221122122221212222211121212121112222211111212211212222221112111222222221212222221111211222221121211221222122112121111211221211211122221212122112122212221221221112212211121212112221121222122222221222121211211222212211121221222122122112211111122112212111122221122221111121221121212121221222221121221221121221112112211112221112112111222221221122122211121222212112122112222211222112222221112111221222122112121112112122211112111221211211112211211112112122211122221211122222111212121112212222112122122222122221122122112111211222121212122212221122212111111222222212111122122212122211212111221112122111122211122112111122111212222111211122222121221211211211112112122122122112112222221111212122112121211211221221112122212212221121211211121111112221221222222212111122212221111122222211222121122212222111122111121122211221211122222221222212122222211112221212211112121121121221221121121121222221112211121122111211211221121111221122121122122112112111211221211212212121121222111221212211211112122122122112221212211111221222212111212211112121121222212121212221122222222111211222112212222222221121122211221222121212121121212211222211221121122221112112122221112112221121222121212212212122122212112122122221221121111211212221221222112121112211122121112121122122122222122122221222121111122121122112211222121222111211122122222121221211122222212122222221211121122111122212221111222112111222121121112212222222121221211211111221112211222112111112222211221111212221221111112211111112121121111212111121121212211122112111212122222221121121211221121121212211111221212122122122221222222112111121211212212111111111122212211122211221222221211111122112121121212111211121112211121212112221211122121111121112211222221111111221112222121222221121211212222112121221112121222122111122122122112121211211121122221212121221212111121222121122112211112121222221122222221222222211112211222111122212221222122112212211211222221211111112211212212111211111111212111121222212121122122122122111222212221121121212221221221122121122221122212121112122122112112121221121112121212111221211211111111122111111212112211211222222212112121111112211212212122112212211112122212122122221211122212112221122221221222221212222222111111122121122211222222211222121211222122122212221121122222112211121122212211222212212212222111221121121111222211112121121121221112121212122122211222121112212211121221222112211212222121211122211211112221212121211212121122222211222111212112121222121111222211122111112222112122222222221221122122111212211221121121212111112221212212121222211211121121111111212212212111222222222221222121111221212111212212222112122212212122121122121222212211112221121211111121121121212112212222112111121211111121211211221211121121122122212112122222211221111212211121121221222211112111222122212121121222211111211122111212221212211211122121211212122221122212211211211112222122121222222111122112221122122111222211211122111222112121112211111122111211211211211111122221112112112122221221222111211221122221222221222112211112112212222121211222122112212122122121111221122212212212211112122121122211212122111111122122112212212211111211221221121222122211211122112122122112122222121221111111111221112212212112121222212112222211111121222121121211222122221111221121221221221212212212212222122212221221122222221121122212221122212121222221222111121111111121221221222222222222222221122222211222112111112122111212221112122122212222211221221222111222111111122121122122112212221111222212221222112111222221111111211122221212221221222222121221211211211122111112211211111211111212222221122212221212221211112122122112212121212112121221111112111212221212111221112112111122212111121121212122122221211211112111121112222222211121121212122221111122211112222222122111121222112121222221112122112212112112121112211122212211111211222212112112111222122122111121211121122111211222121111121211211222121221122221212122122112111122121121212112111211211211212222212111221121212221212212112212221221111211111112211221221222111112112211111112211112211211221221122111112111211212111221212222122122121221111221111112112211212211222221122112211212221221222122221211112221112211222112112212112212212212112221112121211121222112111212112112121121121221122121212211211111111122112212212211122122221121222221112222221222222122212221121121121121121122112211122112212212121122222121221112121222122221212212112121122121222122221121122222111212121212222122121112212212121122212121222221211211221222222221111121111222112211121111211221122112221211122212222211121221121112212111222221222222112122122211222221112112111121212111212111112122121121211212121121111211112111122122212121222111111111211111212221112211211112221112121211211112112222111122112112221212211211222212121212122221222212222111111212122221112121111211112111222221111122121112121211212121121112122222121122112212122121221111111112212212221212122112111212112111112112222121122212221121122112111122122122212121221121112111112111112222221112211212112221211221211111221121212121112222111211111211212122212122222221222111122222122222121212111112221211212121211112122211112222111222222121111121222112221222122112121112211221112211111111212121122122211221211122121122122212112222122222212112221122221221222221222221111122212211212112222221212112112121212222121121121221111112121212122122211211211111122121222111211212212221212122211122121112211121122112121222211221211221212212112122111122121211122112112212122222121212111212222112221222111122111121111212221221121221121121122212122111222221221111211212222112212221212221122111222222211211122211112212211211112122112211212121221121121121222211212122111212221112112222112222222121222112212112122221111212122121211221121222122211212121221211122122121212211221121212112111111112112212122111122121221221211122221112111111121222111211112211122122211221122121212212211212122211121211112122121211111111121221122211221121111222221212211111211112122222212112122212112221112212222211111212122122122112111222112122211212221122122111122121221121112222112121211212112121121121212212211211122222211121122222222221221221221111112121222221112112122111122211211111212211122222122212222111111211122221112121211112121221211112112122221212122211121111222212212222122112121221112212112122212112112121111211212221211111221122222221211122212122122212211122121111121221212112212211111122111122121221112112222122122121221122112122221111211221222221212221212122111112111122222112222211121122112121221122112221122112121212111212222122212211212212222122111112212211122121111221222112211222121111111222221221221221222221222211221221121112211122221122122211122222122212221211111212122211212122212221121111221222121211121211111111212112221121211111222211111121111122211111122221221222221211221112122222121221121121112222111122212122112212222211222222212211221111121221112221211222221111222211111221122221122211212111222111222111221122212222221211111122222211112222111222111111222221211111111112212111221222111222112121212112221112221212222112112212111222122121111212112222121111221222121122221112211212121122211211111112122112222112221221212222212111112122121211221112111111121221221211212121112212221222112111222221121221212222122121111112122112222111112221121221122222122221121222221111222212122221222222221112112112221121122111212221122222122221212212211111222222212221112212111212222212221122112112212112112112122111112111122111112222211112111222112122222111111122112121111112211221121112122111211121221111122112222122211112111121111212222211221222112222212121121112212221211221122122121212221122211222122222211122111122122221211112211212112222122211111222122112222122222222111221212122122121211122122211211111111121221122111211111111221121121122112112221222122111222221121111121111112122222111211111212211112111212222221111212222212212212222122111122221112212212211111111221122112212222122122111221222112221212221112211212212121221211212222111211221212121222121121122121111111222211121211211112111111121112122222221111222111211111122111111122212111222222222222211222122212121111121222211211112222111121121122111122121111112211122211221212222112222112212111122122211121112111112212222221122111112211112221212112122212211121212111211222221112211121212211222212112112112212221111222212122121122122221211112212112122212212122211211111122222212221222212111211212122121121212222211111122221211222122221122112111111111221221112222211111221222112212211121122122211111212121212221211122212122211122221111211121222212111122121211222212121122222112122122212112221221122212122111222122221211212111222121122111112112112221111121221221211121112212111212112221211122211221222122112211222112212221211221212121122122221122122112222222211212222221112212211112221211211122122221111212112221222111211121211221111221221111212112111111121122222111121212112111111111222222211111222111111121122122221112122112221212111211121221122112211222221122111122211121211122112121111211221122112211111212212121211121222122212211121211122111221122122112121221122111212212112221111121221221112211112222212212121211212212111222122222212111211112221222122121121221111121211112112212112222112121222222221222211222221212121221211221121111211111121111212221122212212222121221211122212222121222112122212212212111112122221221222111222122222112121212212212212121211221111111121111221212121121112122222111112112211111122212211122122112112221112212221122121211222111212222121212222221111212121212212122222221121211221211211211221222221212111211222221211112211222222221121221221222212212121112121221122212112111222211112212212122122122222211212212211122221122112221122112211212221212121112112212221122222222111212222122111212121122211222221112112222112222222121211211111112222112222212112111121221211112211112211112221111212111111121212111112112222122121122111211121211221212121122212211122212211121111221211221111222211111112221122121211222112221221122111121221211122111121211211121121222121111211111111121212121121121221211122111111121222211112112122121212212212112222122211212111221221112211212212121222122212122212211112112221121111122121221112111122111122222111111121211111122222211111222112222222212212122211111111112221211111211222112121112121212112111222111211112121221222212111222221211211221222112221211112121222221122122211221221111121221111212122121122122122222211221121222122212112112221211222112221122221212221122121111111111112122112221212211122112121221211222221121111211112112221211212121211212212222121122122112111222212221111222222121212221111112222112212221112212122212121121122112221112121222222121121212112112221122222212211111112211212111122222211212222121222111211112111112122122212221221111212122122111121211221221112212221122121121122111112211211221122221111111211221211222112212111221211121111212111222222111121121112121211211212111121222121122211221221211122111222122212121112122222212122121121111112112221211122211121212211121221212121221211222112122111221211121212221112122211222221122222112121212221212121222112112222112112121212122212212122111222122111222211122122211112122221111111222122121212112211111112121111111122211121112221121111112222122111122222211212112222122212221121221112221222112212212212212112111211121122212221121121111211211212222211122112111222211112212121111112221211121121122222212222112222112212122212121112111222121112222112211212122112121221222112121221211112221212222111222222122211112212212122222121122122121211212211222222221122111111222211122122221221211112121211122122211222211122121112222111121121112211221222111221112122121121111111212112222122121121211212122211211211111222212111121212112211221221212212222212222112222212111112111121111212122112211112111222122211221112222212221221212221122111211111221112111211222122221122222111211121211112212222222111121221212221212112121221112122221221221212211122211211212212111211221211211121211222122221122112212221212112211212212122112212111211212121122211112112212111121211111121221121212221222121112212221222212121222222212222112222221222122112221111111211211222112221211121111111211112111121121112121211222111221222122121222221212111122212212112112212122112122211212122221121221112211112122121111212122122212221112222121112122112111121122111111112121211112222111111211122221211221112122121212112222221112111212121112211122211121222211112222222111212211211211122221121112112211111221121111211121211212112211221212211222122221122211112222221111122221112211121122112212212222222121111222111122222111111112112111122211211111211221211111112222111212121212212112112211221211211211122211121112211221212122121121112211121112222122112212211111111211122222211211121112111221112112222121211111211222121112121112212222212211112221111211221112211221111111221211111122211111122121221212121122121222212211112222222112221121211111112112112222211122212121212212211221111212111122121111112211222111212222221112122121211222112112112111122112221111221121111222212222222222121112121112122222112212212121211221211221221212111221112112122212211122111211121212211111222121211112112212112111112221212222212122212112222211222211221211112112121122122222111212121122211222211211122212212221111112222111222111212121112112212212122212122211112212121212122122212121212112111121222122121111111211222121222211211212121112221112122212221121122211212111112111221221221111111211222112221211122111221122111212211112212112111122122211221122111212211121212211122111212221212112212112212122221122112121122121221112122211221221221221211212222112222122221111121121222112222212112211111211222222212222111111122121112211112112221221111221112212222222221121111221212111112112122121222211211222122122212221221221112122112112122222212212112211112211211121221221221222222221112211121112211121121211211122112111221111112121222222122212111122111111121122122121111112221212222211222112111111122122212121121122121121122222212122111121211222121111111222221222121121111221121221122122221111212222212112222121111122112121212121212212111211112221222221211211221211221122211122112112211121122222122221221112222222112211111212112112121221212112122212211122112111112112222122221212222222121122211112111221121211121112212212122221121111211212112212221212211112111222221222121112122222112221111221112221212222112121222212121221121121121122222122122222221121112122111121122221211122212211111221122222211112112122221112212222212212122222212212122212211122112112121121122211211212121212212221122222221222211212221121112212222222222211112221221212212122211111211211211221122211211212122212121222212211222121121111222121222221221211112211121221212221121212212221111111222121211112111111212112111211122212221122112111112111121111222121112222212122112212122212122122112211211221112111222212212121221222212221121222211111212112122212111221222212212221222112211122211121111122211122122121212112121222222212122121212221112211121221121112222112111221112111122211112121121212221111112211111122122211222121122211111122112122112121111222111211111212221121112111212221112221112122211111222211221212122112222111221222212121211121222212221121112121112212221222222111212211221222122212111121221121121111122221211222112212211122122212221122221112212122122211121212121222111111222111212111211111212121212111222122111122121122222121211222121221111211211221121122222221221222212212121222212212211222112222122111222121112211212112121111112222111111212221222111212121211222222112211212212212211111111221212112222121211112111122221211121122122121112211111222111212212211212112221212221121222121222112112121121212112111211122221111222111211212221212122211221122112111221211211112122112212112121222122222111121221222112211121112111211121211221212221122111222111222121111112211111122222122222212211112212212111222121122112122211221221121211111222222212112121121211211111111121221211111111122211111121112221111111122222111121212121112212212122222221221112212111212121222121121121212211111221221122211112111222221222121211111121122211211111111221211112112121211121212122121121121121112121122122111112211221212122222211122112221211222112112221211112111122221222221112111111111211222111222111112222222111111212212221112221222222121221212222212122211111211211121121122121212221222222111212211212222212121112121112112122221221222122222212122221121121222221122221122221111122122221212211222121221221221122112221211112222222121111212211111111121211112212111112121221112122112212122111121121222121222212122222211121221122212212121112122112121112222111122211212212222222111211112112222112212211212111222211211111112222121212211212112221112221222212212221111122222222211112112212222221122221221111112222212222212222221221111112122221122222112122112111121212121211111111211211222122111111122122211121121221221222211222221212221122111221112111211111122111111221121221211221111122111212121112211221212112211222121222112221121111212111111111212111211111212222111122211221222221122222222111111111112222211121222222212221221111112222211112221111122111112212221222121212221111221112211222111112121212111111212122111211211121221212121111211221112212221112221211112112211112212112112211221112111211122211222212212111221212112211122121211112122121122212211211212121111122211111122221112221121121212212211122121112112122112211111121212112221112212122212111222111221222211222221212221111222122221212212221211211212222211212121112211212111211112121112222112211111121211221212221112212121212112122111212222111111111222212211222111111222111212112121211221212112111121221212122121122112111122211122111212222211211221212212221212122211211212211122112212221211211211122121221222221211121211221211111112211212212121111222111222212122122222122112221221121211112122222122211111122122112212221211212221122121222222111221212222221222221222221112122122212111112212212221221221111222122122122222111111212212111221221212112112211211122111111221212222211221121112111221212121112111121211212212122211122121212111112122211121221221112112111211111111212212222111112222211112222221121212211122222122221121212122112121221122221212112222211112112111211121211222221121111212211222122111212222112121222122122222222122112221111112112121121221222122112222222212222111212211122212212211222222222211222121121111121212121111221121222212211221222221221122112111221211222221121111212121122222221111221122122212111121221122222211121221111212121111122211111211121221212211111122122111122211122222122222111112221221222211221221122222211122122221122211112221111121122211112121112111112211111111111212212222212222111122212211112122212211122111211221111222122211222121211122212112122222122222221112211222121212122211212212211212212121211212111112222112212221122211122221221112221121221122222222121222122222221111221221122121122111112112211112121222122221211212212121112221111112222111122121211211121112111211211111222211112212121112211121122111122221211122111211121111221112111222122122122211122121212111221121122121112112122121222222221222111112112221211222221111222122212122112122112121121221111221111222222222222121122111222112221211112121222111122112121112222122212122111211112221212122121211222121212211211222211121211112212112112111221112221211122121221111111112122211221112222222122121221211221211212212112222211222121111222121211112121221112222212121212211112122121222221212212112112121112221121212121221111121211222111211211221112111221111121222221222122121221121122122121111211112111211111212221121111112121111222112212111121122222221112221122222111121221211211112111211122212211122212211221111122212122222211111112111221211212121111111222111111222221212212212211222221111121221212221211122212212121122222121211212112112222112122121111222112211111121212122212222211121221112122122211112112121221111112212121221121112212111121222221212122111221222122212122121112112111222122221112122221211121211112122212222221212211112122111212122122221112221121112222112222212121211121111111221211221211222121222122112211121212122122122121112112121122212111122121221222212122222122122121112111211222121111212122221122112211111221112112211112122211121111221122111122112211222222112212221121212222111211212121222111111212121121112212211222222111211112212221112111121221111212121222212121222222212212122112211122112111112121211112222112222222211212222222212221112212212112122211121221222121222221121222212221122212112211212112121111112212111122222112212112222121122221111212211121211112112211221211111212212222112222211222112122222112221212122111112111111112212111211122212121111212211111122122122122222222222122112222211122221221212211221122221122222121111122221222212221222212212112122121122111121212212222212212211122111212211121122221222222211212121222121121111211212212212222121222111211222112111222221111111112122222222211222111122211221122112122211121211212121112121122112211121111121122212121112112112122122222111122121111122111122122121111122111221111212121221111222112122111122211221121122112122212212211111212221211112211211122221111122221111212222121122122212211212211222211112111111211112112222111212222111221122122222121222121111212212211112112212121111221122222212221122122112221112221121121212212211121111221121221121211212111112121112122121122222111122112122211212222212212221121211222112122122211222222211122222121122222112222222121112122112112111211112221211211121111211122222121212211211111221111222111211121121111112121112221212222111222111112111122212122212122212122121211221111211111221212211211112212212111211121112222211122111111111222111111122212221112122212222211211221112221122221221122221221222222112111122111221122222111121221111122122122122121121122122211112111111112222111112121122121211122212221221122212221211112122111211112221211221212212122222121122211211121221221221211111112222221212111121122212122121221222211112112221221111111211112121222111122211211112221112112211222211211112211221211121211122122222112111121112112212222121112111112212211222121111121122222121112121211121122211212212212121122121121221111211222122121221211222222222111122122212211121211211222112121221221112222121221111212211122121221221222221211122121111211122221112221111121212122222211111211121212111111121122222121211112112122121221121112222222121111112121211122122221121221111221112121121222122212221111122221222112211121221122211211111221111212221211212211212211222221211111111121222212121212122112122212211121121212122212212212211211122122212122111122112122221221122122112112122221122212111211221112121112211122221212212111212121221112112111221111111121122112212112222122111121121221122221111112121121111112222122112122122222211112222122111212222212211121121121111122121221222211111222122112222112221122221221212111112211112211111111222122222212122222221222122211112122212221211121212222221112212212221211112222212112212111222222112211211212211112221112222222121222212122222121122122222212222122212211211211112212211221212211211212111212221212221122222112111111112221221212121121222111122122121111212211221221121122121221221121112112121212211222121221221221211122212221111112211221222121222212211212212122121122112112221111212221121212212221111122112121221222122211122222222112212212112211212111121212122122112222112212222111112211121112212112212222121112222211211121221111212112111112212211121211211211111111211121212111112112221221112221211111222122111112111111111212211211222122112211222211121212111211212112212222112122222112122121112222121221121211112111122211122221211222121121121122121211121121222111112112112222111111222111112212212221222121221221111122222222122111111122122212122221111112111121111112212111111121212111212122112222122222112121112112221122222122221221112112211221222122222222211211212122221211121222111122211221222122111211221122222212211121222121211111122212221222111111122221122211112221221211211111212121122222112212122212122211122211112221222111121111122212112111122211222221221122112221121211222121211122212122212111222212211221221122121211122211112121222222222222222222211221121112222212211211221221212221121111212111211222222221211121111212221111221112211212211121221111121112212211121211222122212122112112112111212122211112212221121222111122211212122211221111212221212211112121221211212212211111112211121212111211122222112221122211221221122121111221122221111221221211222211112212221222121122221221211112121222222212211111111112212212122212111122212122121121121122111122122112211122221221222211122221221112122111222211122122212111111211221211112221222122122111121122121211111122112122221111212112222112121111222221212112121121212112121212212111121221212112211222112121122121111222221122221111121122222211112111111111212221212122211222222122122212221211122121111212121121122111222122211211121112121112212221221111211121121111122112211221222212111121122121212121221212221212211211111221211121222212121212221222212222212221111121212112222111222212221211212121222212221211112222211211122212211222112112222221112221222122122212212111222211122121222121212212121222122111212111122222121221121221122122212211211121221121122222121212221111211112111212212212121221212222222121222212112122212122121122212111111111212212111122111222112121221212211212221112111222122122111112112121211112211211121111122212121212211121221111211211211222121121111112221121122222122222222112121112112211221111121122122222221121122112112121112122212212221221112221211221221121112211112121111222122121221222111222212121112211212211221212211221122212211121121221212212222122222112221111112211222121222112212212111111212112212222111111222112211111111221212221222212121211112122112221222212111112112221112112112221222112212212212212221111211222111222222221112111111222112211122111212122121121111222111112121211222122222221222122122111211221121222221111222211121121212211122211122211221211212211211222111211121111121211121212112121121222122112112211222221112111211221111111222211121212222121211112211122222112112212121122212122121222112111122221212212211121212111122122122221112221111221222211222111112121121211121112211222112121212212221122112122221222212211122222121211211211212222121112122121222111211111212211112212111121122222212211222222221212222122211221212211111121122212221212122121211121211211212121211112111221222212211122111111212211112112212121212212222211222122121212122221121211111222111212211122122112111121212112121122121212222211212122222112121111111122222212212221111222221222211212222112211211222122122212222112211111211211222211211122212221211121121212212111122112221221211211221221221111111221121111212221212211211122111212221111122222121122122212221121112212121112111222221212122221111121112122221122222111121112121121112122211111122121122212122112221121122111122211222121111212221211121121122222212212211112121212221221121111121121222221121211122112111222221221121212121111221121121221222111211122122121211212211121122122222211211111222211211121212211122222212112221112211222211211222121121212221211212122222221212111122112111211222121112112112212211121212121211111112122212221211122211211122212221121212211122111221211112111121112212212211111212121112221122121211211121121112111112222221121221121211112222222121211122211121121221122112111211221221221212222122212111121112111221112211211122111121211211221222221121111211212111211221122221222121121122221122111121112122212221121121122221111111111112122221212112221211111112222211111211122212212221112211122212212222221121211212111212121222112112211222122121122122211212211112212212112212211111112212121212212122111122112212222122222221111222121122211122111122111111111122122122112122222211121111121221221112122111222211221111221212211111112121122212112211111211112121111121111221111222122111112222212222111212121111112221221111121211121221122111121221121111121111112122211121121222121112121122212212121112211111212121221111111122122121122211111111121211112122121222121121111211111221211211122121222111122211122121111222211122211122111112211121121221222112111112121211221121122221122112222112122122112112121211212122212211111112221212111122111211222122121211212221112211121111211112222111122111121211111121212112212121121221111111111112112121121121212211111221112212111221121111112122121122111111221221112112112112221112122122111222122121222111111122111122221112212211122111111211121122211121211122222222111121122212221212111222211122122112222222211212111112212112221121212121221121211211122222211111122122112212122112112222111111221222211221212212112112211222211222122212122111111222122211211111112111222112122211222222112112121111121111211122212121122121211121212111112222112211122111212121112221222211222112111111112222221212122222121212112211222122221212122122111121222122222122121212111212221211222222122222112111111212122112112211212121121222221222111122222121112111212212212121122221112211221222121222111211111222211112222121222222112212121222112111111121211111112121122212221221222212222112212221122121111212211221221122222212122111121112211111122222111212221121221111222111111221212211221112121221121221222121112111121111222112112211211122112212122221112122112112122112112112121111222121111222221122211211121222122122221112121121121211121111211222211211122221211111212221112122221212212211121211122212122221222122111212121221122122111112122121121121222222121121112112111222111211111121211221221112221121212222211111111222122222111121111122112222121221122121121211111212122121212211211112122122212221211122212111222122212212211212112212222222112112221121121212112212111222121221222221212212212211222112122111222221111112211221122122122222112112112112112122111122222222222222111121212211121222212222112212112222222212211112212111111111121121121122212112212221211211122221212112122121122122121121121212122121211121211211211221111212121212112212221122222111122122222211111221211221112121221222212111211221211111122111111122111221211112221212211222112221221221222111112221121222121122122121111111212121111221121121111111211221221212112112212111212121112121222221211122121222122112121211221122222112122222211121121112212211121211211122121121122121122211122121122112212121112121112212111222111111222221222212112122111211122221112211221212112222211212221122221121112112221111221221112121221112121222122222211222122111212122111121121112122121112221122122122212212211222211112221112122122212221121222211222212122221112222211112211211122212121122111112121112221222112122211111212111122122222112212111221212211112221122222222122211212112122212112221221121211221121221212121212112121111122222111121212212211212122222121212211212122221122112222122212221221211221221122112111212222212111121211121122221221212211221111122212222111112221111111122121122222222112122212211221122221122122221222221111122122112121112222112212121211212122211111111212122221222121121221111211212211121111211221212122122122212122222122122222221112122222112221212121212112221122111122221222111122112121222221122211122112211122212112111221121112111222221222112112111211112212121221222211222122222221111112122122222122222122221121211112122212221222222212112221211112121122211212122112221111211122221111211212112122111111221221122111112211112121122222221111121111111122222112121212111222112111121122122121212111122111111121221222121122111112112122212222122121221211112221212112112222122212112211211112212211122112121121122222222211122121122122221112222111211111112212112111222112212111211211212211111111111212111212222111222212221122121211222211122122111221211122211222111121212122122122212111212211112221221212122112211211222221112112112222112221122112222111121111222212212112112221222121111211222211211121112221222212122221221211211222112222121111222121222121212221221121211121222112212111112112111121221222221221111121122121222211211112211112122121112112111112112121211212122211222112211221211222122212211121211111121111122112222121222222212122211111122212212111111112112221212122122112211212111112121112112221122212222222212212122122212121122222112212211221221121221221122222122212212211112122221121112211122211222221121122121111111111111212221211212121211212112211211211211111122122121211111222222221222121112111212111111211211211122121121222122122211222212211112212122211111211212121222211212222111112122212212222122211121122122122212211122122111112121112212222122111211212211112222122122221212212111111121122211222212112211221221122121112211221211111211121221211121111111212221222121111221121121211112221121121222122222211222112122111122111221112122121212221222222121122221111221221121222222221112111122122211222212221221212121212211112111211212222222221121211212112221112122222222221211222221221111212112111112111222212211111222121121221122221111111222112211222212221122112112122221221112121122111121111222112121121212122212121222112211121122122221111212212121211121212221111212212111111112122111212212212222111211221111111221112212221221112212221221222211222112122121112222211222211112221222111111221122122222122221212222121222211121122111221211211121221111222221112222222222221112211112121122111212121111221222211112212111221111111222212211122221221111111211122222121121221121111211222211111222111111112221221221111122211211111211122221112221222121212121221121212221121112121211211122112111122122211212112221222221211122221121112112212222121211222112211222212122122112121121112211221111112221122221112211111122211212221222112112212222221121212111121222121122122222112222212222211211211111112222221212121212111121211121122211222112211222112121221211121221111122112221212221211122221222212122222121222221111122111211112121212211111212122211122221121111211111112112122122111211122211222222212211121221212212112221222211212222121121111221122222122222122211122111221122111111121222212211212212211121111122221112221211111212212212211122122221111122122211111111222221211112122112222212221122222112121221111222122222121112121122121212111122111221111212112211111111111212112122212122121121211122111111212122111222122211112121211111111221222222121122122211222221112112222122121122212112212211221211111111212121121112221222122122212111212121212111112222112221222112222122212222222122122211111121122111211112222121112122222212111121121222122121221212211122121212121222211121222221221111221112211112122112211221221212211222122121222211212211122212111221111211211112212221121222111121111111211221221122212122222221112211212112111122212121112121211122221221221111211122211211122111222222212212212211111212122222112212111221211112121121211222122221121211221121221122121211221212121122121222122122112111212122122121212121111222122121212121212212221121212222222111122212112112221112122212211112221122212221111112112211211111211211121122212121222112222122122212211121212222122112122212111212122112211122221211122112122221111221212112112211221111222122122222121121212112122211211212211122212112111122222121222111211221211221222221222112212112122121212111211121222112121122121111112122222212222212212111212221111221211121111112112111211111112221222222111222122111211211221222221122222221122122112211121211122121222111112121111211221122122122212112121211111112221222221222121122222212211121222122122122111222222122221112212221222212111211112211212111111222221211122111122121111112121121212211211212211122121222111121211111212111111121222112211121212122121121211212222112211111121122112112121112211111121111212212111211222122121112221212111221121111211112121111122222221221112212211122122222122221222211221112121212122222212121111111122111122211212122211112222211212211222221111121121111122111121111121212212222111122121221212112121112211121122212121211211222111221211212112211211212122211222211112112111122112221211211122121212212211211122222121112221112112122111211212221222122212211211222112111112222212211111112211222112111121122112111211212222122211112212121121221112121111112122111121111121211212121122222122111121112122121211111211122221122222111111221222111222211211221211211222121121121212112221112121222221222221222111112112212112211122222221112212212222212212121212112112221122122222121121212122111212212111211221211221122221222221212211121211222122111111121221212121112211121221212212211211222121112211221212222222211121122121222211112212211111212111211212222111221222221221111111211211122212211112221211211211121111212111221121111111111122122212112222221212122212222112121221212111221222121211111212121222212222221222122122212111211212222111112122111121221122111211112122222122122211212212221221211112212111122221122111222122111121121112111222121122112212221121221122222222121212122122112211121122122221111121222221121111221212211112221121112211112112222111112222212122221122112111221121221211121221112211221112121222112111221212112122222211222112211112111221111212222221121212212211221221121112222221121121122211212121121122212221212222222122222211222121111211221112122212121212221111111111121211212222212122122212122121211121212112211221222211221111222221111112112222122222111222222221112222121212222121221111211211121121121221122111111121112112112111222121222112122122212212211121112111221221212112211211212122111112212222212221111212222112221112222211112211212222212121221212222222122222211212121211111122222112112111112112221222111212121122122121121212112222212121112212221112112111222212212122121211221111211112121211121122111122121211111221212122221212121221111212221112111211221111212212211121121212222211121111222122221211112122211222112222112112112212122122121121111211122121112211121111212211122212122211112211112121122112212122222112222111112122222221112222122212212221111222122121222211122222221122122122222211121222222221222112111121111221112221112122211111211112112212121121121112222121212222211112122221111211212122212121121121111121111222111112111122122211111212121112221221121221212222211211211121112121221111211211122222122222122121112112222112112222212121212211212122121112222111122112122221222222122211122111222122211222121221211122211121112221111112122211221221221211212212112221121112221121121212122211221121222211221222221221211221222221211112111121222211211122212111221221221222222211111111122212122221111222221211111211212211111211222112112112221111122222221212112121112121222221112122211112121221121222211221111122121121221222111221221122122111212212212111121212121121112222111222212122211112211212122112112112211212222221211222211222212122112222111211121222122121221222112221121122112212111212112121121222221111212112221111122122112212222222211212112211212111211212211221222111122222222212112122121222112121112211121111111122222212122122122211121212211222121112111221212222212221121111121121212111111221112121111212112121211121222221112211221121121111122122211212212112222211212222222221121212122221121221212222212111211122222112212122122221111212121212112211212212222211222212112121122211112111222212122221121222222212112211121122222221221122121211212112121121212112212222121222211122121122211211112212111221111112211221222211111111111222222222221221221222222111212222212212121221121222221122122112122121111112211212221222111121211122212211222112112121221122212222111222111221211121211122111211222222111212121211222112221122221122121221211212122211212222112122221221111221222111122221111211121222122122211112112221121221121221121111221211222122211221221221211222112112111122112122121211112121212222222111122121222212111121112211221122212122122222212111222111122112112212211112112121112111121212111222221222212222212211222112222222121211121122121221221111112212211212221212121122211111112112211122112112212122211211111111212122211112112212112222221211112222211222211211111121211221112221112111211122122112122211222112222122222111222122121122111111121112221221112212222111112122221112112112221211222222222222221121222212212121222222111212122221121122211122112121111111112122211212111111111121121112111222111212121112212212222121211122111222221122112111122222211112122211222112211121122221112212211221112111212211211122121112211111211111221212122212111112222122122121221111221111221112112221212121212112221122222121122222221221211122111111122221211221122122111111111222112222111222122121122211211121221222112221212212111111212111112111111221122222111112112121112121122221212122121111111211112211111122221111111112222222221121212221121112211111122111121221122221112222121211122111221212211111222112211122212112121111221221222221211121122211212222122112222221111122221222212211121112112222122111211222221122111211222111221221121221111212211212221121222221212122122212121221122122111112112122211122212222121121212121211221111222121122222221212121111211212212121112221112222121111121111111111122211212212112112111212122222221221212121121121111122111221222111121122112211112222112212122211222121222111121122112112211121212111212212222122122122122212122222212112212121221122112212111212121112212221112111211121112212111121222211212111211211121122222222111211222122212112121211111221211112112121211122111221212121112111111111221222112222121222212211111111212211212221112111212222212212222221111122212112211221122111122111221111111222221122222221212121121112111112121221221221222222111212112112122121211221221121112122211222122111222122221112221211222212222211221221212122221222122112222212111222221112211111111112222122112122121221222121121212111212211122121112111211212212111112112111222122221222122112112121222222211221112211111112222222211211112211221112221221112211122221122211111121211222122112212222111211211121122111112122121212121221212211221211122121221121211112211122212222211112111212122221122222111121212112211221212112212111112222222122111221221221122222112212212211212221112221221221211111221122221112212111121112111111122212121221212122211121112211212211222212221121122112211112122222222111111111222222212212212211112121121221111221112112211211111211211221112211121112122121222221112122122111222212111211212111112122112121111112121122122121122221222221211211121211222211111121111111122221222222221222211112112121111122222211111122111111222112122121212121222122112212221211222111112221112222212211112121121212112222221112121222221221112121211112211121122112211222211211212212212111222212121121122221111121111112212121111211222122111111211212111221122112222212211122221221111122222121111222111212222122111122221112211221121111112121211122121222121221211222112222212122111112221221221221212211212221222212212211222122122212112121122221222111211222212222122211222221122122122221212121111211111121111211111222222221221112212121121122222211211111221211222212112211212212211112112212222112211222211112112211212112121221211122121112112222112111122221122212221112212222212212111121211212222112212111111222212221121222212212121221211111211112111121222111122211112111221222222111112211111112211122121121222122112221112121212121212212122111121122111111212122111221221121211212121221211211212222111212211222122111221212121212111221122111122222221211221121222212222221211222211122221112211212122221221122212212222122221221121222221111111111111122211112122211211121212122221221111221222111112111221212222112212121111112221211222121121221112221222122112211222111112211111221111112221212121122212121112212112211121121212222222212111221221212211121122212211111221122121221122112121222111111212221221111112211121211121122122122211222221222221112222121222112112221222111111111221111121112111111221211222212221211111111111212221112222221222112221212221121111221221211221121122212211122111121211222111112221212222112212111122221112122122211211111211211222222221221121221111212112111112121111111122111111111112211211212121112222222222222212222212112121121111111122212211112211221221211211222121211212121222221111111122221112112222221121222122112112222211111221222212212111221221221121222212211111212222112121112112122111222112212122112121211211212222222111211222121212222212221111122212222122121222222121222112211212221121212221222121122212122221221111121222121112211221212111212122211221121122111212221222111122122221121111111111121111112122122222112212112221111222222121111112222112122122222221121112111211121112222221222111211222121112122121211121212111211111221212211122122222221121122211122111222222211112221122111221112211211222222212122112121122121112111212222122221211121122222212211121122211222112121111222211212121112211112121121221222121222112211221122122122222111122112212221122122221122222112121212111221121112212112122222111122122212211211222111222212221121122111211212212111211122121222111211221111112112121112111221211212122222122211111212212222211212112211121122122112211211221111121221221111122222121112211112112222221122112121122112112121212212221111122211111122111222112122122222121221112221211122212111111221212121212211212222211212122112122112112112112222112111211212122112111222112211222121122122211122121111111211112121112212112212211222222221122212222122221221122111222121221222112222222111121122221211222221222121112212111222122122222211112112112112221122221222111212211111211112121211211222112222122212212122221122121211122112211122211122222122122122122111222222112122112221122222221222221221222222221121122211211111221111221221212111222222112211121112212122121221112121111122112122112222211222121212121211221122212222122211111112212222122211112112221211111111222212121122212122221212112122222122121112222121212212221211221122111112221111222212111112121221221212212212212121221222121111122222112121212211122122122111222121111111211112121112121121122221112122121211221221212112112111111111111112121212221111211222112112211212121121112122222212212221121212112221121212222222111122212221112222212221221221111122122121122221221212122112221222221222111211222222121211211221212211112111122222222121222212222112112112211121212121212112221111121222121212212211221212122112112211122211121121212122222122212212111211211221221121122212111121122122212222112112111121111211111222112111211111111221212112111112121221112112212122112122112212212121211211221212222211221211121111212112112121221121111111122212222111211221112211212122212212122222212221212212212122111122122111212121122221122122212212111211212222221212122111211221121222211111211211221111122111222111222211211122212222222121121121212122121122211222212111222212122111221111212111111222212222122122122221122212222121122111211212121212222221121121211111121122112121122122112211221211211112221221122121111212111222112211121221211121212121221121211222121212221222222122222211212122211222222121122122121212221212111112111221121111122111112211222211221112212111221122221112112111221112221211122121221212121122122221222122222122211211111221111221222222112121212111111211211112222212112121222122122112111111212122211111112211121111222112122212212221222221222221221221212212212212212122212221211212222112122211221221121211121212121212212122121212221221222221211212212221112222222111211122112212112221112212212212221121111111212112222111212211112121212122211111122211211211111211111211121122222211121221121221221222212221212122121111221121211112211212112111221112111222211121122222222211211111111122122222121122212111212112211111222111121221112211121122222112122111221111111212211112212211122211221122221221211221112212122211222212222211122212112222222112212122212211112222211121222221121111111111112111211112122122122221111212212212221221211112211212221212222212222112112111222111112212212222122122212211121211221112121211212121121211221222211121122222122122211211112212212122212112112212122221112222121212222121121221111111222121122212112222121112112222221222122211222121212221211111212211211212122121211221111112122122122211212122112111112111111122122111112122211112121211122211122222112122111112212112121222111211221221221221112212121121211221212121212121111121112212212122112112212211211221111112211121111222121111122111222112212112121122222222222212212111121212121111211111211111111222112121211212121211111212121211121122212121211112111212211211222121212221122122122221222211121221112222221112122221122121111122221121121212221122211221222222212212111112111121121111212112112111122112211122112212222122212112121112112111112212112122221221211222122211221222221222111121121222222212211221211221121112212212121211112111222111212122112212222111112121122212212212111122212111221122121122121111121112122211221122221112121111112221112122212121111221211221221222122112221122211211112111112221122112112122111221111212111221222122221111122122111222211211112212211211112111222112212122121111212211122112222221222112111112212122222111122111112111122212111212212221222122112111122122212212212121122222112222211221122212222222121221211121121111111211221111212121222111212221111222121221112122122122112112121121111122222221122122121211222121111221211212111221111111111121212111212122221111221221122222211111211212121221222212112212112212221221122222122111221211121112222222211222211122221221221211112221122121211211112121122222112222122211111221112112221221122122121121211221212221211221221112212212222222121211112122121111222121212212112112112211112211221211111122212111121111221211121121222212211121222122222121211112112211122121112212211121121122211121212222211221112222111122122211122221112221112112221221122111212221121112212122212111112211212212222221222221211112222111112211121221122221211211121222222121222111211221212122222111221112211122222222212122211112211111111222121212222121222222211221112212112111121221121112221211212122222112211222211212222212122111211121221121122212121122222111111112112222211222211221121221121211211112221112111221222221121111222112121212221122122211221221212212122212221221221112112111111112112211211222121121221121222112111112112121121222211112111222211122212112121221221212122122121211222112122122222112212222112222121122222122222121211111211122111221222121222122112112122122222122111112222122221112221121112212122112211112221122222122111121222221122211112111212222221212112122121122111121221122211121112211111212111222222212221111211112121221222121221211111121221212212212212112212122111122112121111122222212212211221212212121211222221111121222112122111212121121222122111212212112222222122222212211221212212121222211121122111122211212221211111212122122122222111222222121122221212122212221112211112222121222212211222122222111122222112122112212211111211122121112211222222212211212222111111112212212221112211121221221121111122121221211111112121211121122121211212112212212222111121122222211121121122122121211122211211221122212222212112122122111121122111122122221112122111112121221221221212122121222111122112111211112222112212221221112221111221212221121221122221121112221112212211211212121122121211212121111212122222111112221212211121212112122222121212111222112122221222111111121121222212212221112222111121221122111121122212121122211211221221121121122211212121112122111211112121222122222122112211222121211121212212121222212111212222111112211222212212122121122211122121211121212121122221112112122112122111121121212212212211121112122212112112112122121211111212212121121122211112222222111221221222111121212212211211211211221212111212211222121122111112122212111221222111121221112111212121122212122212222212122212112111221112212122112212121111221221111221111112121212221111122221122211211211122222211112122122221111122222212222122211121112221222212212211222211112222122222221212112221121111222211121212111221111212112121111121112121211111122212221211122111222112121211122221121122122111111211112122212111212111122122112111221221221211121211212221221112122121121211111211112221122111111122212121222211212111112111222222212211112222221222122112222211122211112111221212111111122212211111221111122111221111212121121111211122221212121111122212211112122212212111112212211112121211212121221211221112212212112121212112112211111221212112211121111222212122121222221122212111222111212111112212221111221212112111111212212222112211112111111221221121211112222121122112112112212111121211122211121111222111122221112112212222112212221112222212211222211111212121111111211211111112211211122222122222221222221212122112222212111211122211121122122112221121212121122212112122221111122222121221212212211121221112212121112222122122222221111111211222121211111221121122112122222111221122111111111212112111222122211121111221212212112111221121221122112111122112211222111212212121111222211122211111212211122122221212121121111112112122112222122221222212211212121221211122211221212211122111112212221122212122211121112221122112111222211211112121211121221112122211111221222122222222112212211112212112121122111121221112222221212121121122112112212222111221121111212222112121222221212211121122121211212122111111112211212221212211122122221211121121112211211122111121222222211222121121122121122212211112122222112112222221211111211122212122211121121111112122211212121211222211112122211112112212222212211222222211112211111212112121212221122122111211111112221111121121221221122222222211112111111121111222222121122221212222111122111111122222222112221211112121121221121112121111112112121211112111122211221212221211121112222122211111221111222212112112222112111212212121122212112122212111122211112122111212211211222111122211111112112222222221112212122121122222122212112122222121121112211111221212211211121212222121121221222112211122222121121211122111211112112121121211222222211121121121212221111222221222212211112221121221122112212212122221211211122121221211121112222222111212122221221112212212221112212112122111111121122121212111111222221122111111122222121211122212111211122121222111212221112222221121211122111212121121222112121112112111211112211112121222121112222111121212111112212111211221222221111122121222212221111221221211222212111221211111122211122111222211222122121211111211222111212212211222212121112211122111221122121221221221221222221212111222211111111221221221211111211121211212222111222211211212111211222121221211222111222121222122211112112112112112221121222121212112121212121221112212121221122211122122212121121111212222122111111221211221112111111111211211212121211122212112122221112111212221112211211222212122222111222221222111221121212222221212121122222212111121222211122212121222211221112121122211221111111222222122212212221112222122122112122111211112122111211122122211211112112221111211211122212112112212122111111211112212111111112221121112112112221111221121122112221121121112122112112122221111122211112121222212121222221221111222112121222112122122212121221211121211122212211212111122121122211222222112111112212111121122112221121211111221111221111211221121222112221112112121112222211112112212211222222121112221212222112112211212222222212112111211212122212122111112111121212211212111112212121211122211111222211222221112221122221122122112222221221122112122211122221121111221221111212112212212112112212121221122122212122112112122111211211112111212111111211212221122122121112221112122111212222211121211122121112212121222211212122221222122122212112121112222222211212111121121112222122211222121221211112212111212112221222111212211212211122221211211212211222211212222122121212112121212121212121111221122121211222222221212221221212212121112222221211111222121111112221211112112111111122112122122221121212121121111221221121122122222112121212211122112221111112111112222212121221211222212111222122222122212211221122122212122121211221211222112212222122111111122112212111221212212111222112122112121211222121121122211122122222222122112211222122222112211212222112211122211211121211212221221222211121121122121121122122112222212212121111122211111121112111111222111222111221212222222111121111211212212212221122111212121112222222211221122121221221112212222222221122111122221212112112112212212212122222121121122211121221121222111112112222211221112111122212221221122111211112122211211211221112122221111211211121222112122112111112212211112112112111111111211222121222221212212121122211221111221212222212221212111112221122111121221222221212112111222221112212122211111112212122122221121122121212222212122221122112222121212121112221221212112111211121221111121122111122211221121121121211222221122212112121221122212222111212122212221221111221121211111221212121122221212211222221112211222211112221122212211212221222222112121112212221212212122122222111212222221121112221122221111211212221212221111221112212112221121221111111111111212121111121211122222122122221221222122111222212121211121122212121111222121222221222211112222122222211211121222112212111122122111222222222122211221121221121112121121111112122222122221121112121221212121122222212212121211212111112121112222212111122222111212111221221222222111111222222222221221221121121112112222112111212222122111111211212222121211112212221122122112221122111212221111122221121212221112112121112111212212121222211211122221112211112211111222112122211221211122112121212111221121122212222222222121112121122222222111212111122122221121112212122122112212122111221221212222121221122211221212211212121212111222122212112212112112111212121112121121212111211121221221112112221112121212112211212112111112112121122122112222212222121221111211111211212112111122111221221221221211122212221122122211121222112222222112211121121221111111112221121111222112211222121121122112222111222222221221112222221212222221111121212221122111212212222122221111121211121112121211122121112222122121112122112211212212212112221111221221121211111211121212122122122122111222121211222211222211112221111222211121222212212122112211121122221222112212112211121112212221112211221112111211121121221111222221212121122211112121112221122122111212111212111222122222212211122222212121211221112112121122112211112112121121122112112112222121221222121221121221221222111222121222112222112112222222212111211221212122122122122222222111111122212211212111211222222122221122222122212122212112112212222212212112211211211222121212211222211112112121221221211112222112121211221121222212111212122222112111212121122212112221112121211222222122111121121212222122112221211211212111122112111111222211211111211122211122221211111222212121122221211211212211212221221211121121211211112121121111222222122121122121221122222122111121211112212212112121212212212221111121111121221212212111112112111211211211111112111111222121211112211111111111111211122112111111211112222112121222222221211222222122122212122221212221212111222222122121222112221122112111221111211222122211111112212121121121212112111111122221212112111122222212211222221111112211212222212211121121222221222222222222211212112122211221211222122221211221211121222112112222212212111112122222112211121211121221222112122121222212221211212121221212212211111212212212122112222111221211211111212222212221112121212122112212111222112121122222111222221212112221112211212122111221112222222212212111222111212122122111212221211221212221121221222112221122122112121212221211212222212221121212121111212222112111121121121122111122211212111222121111222112112221212221112122221122221111121112121211211122211122112222211212221212221121112211121121211112122222111122211221111121211212222212212222222112222122111212122112111212121221121212211121212221122212212211212111122121112122121111111212212111221111121222211112121122221221111211121221122211111221122222212112221111122212121122212212122212112112222112122112121112221222212122221222112111112211112121222212112212221211221112122112211212112112112121221222221122121211211222211221212211212221211112111212212222112112112121221111212121122211212121211221222222111122122211121112211112112212111111222211121111221121221121211121111221211212112212112211211122221211211222211112111211122122122212112121221111111221111222122121222112122112111222112112121211221121122221122111222111122211221211221111121121111112222111122111222222222111122212211212121121121221112122221211121121122111212211221222211111111222112221112221111112112212122211222111221221112121211121222212212221122112222222221212112212112211222212122222122211221112221222222112222211222221111212122211222211121212121112211111212121111222112121121112121122121212122221221111211111211121121122112112112112111211121122121111221112221222111212121121212121122211111212211221222212222121212212111122112112111212121212112122121121112212121211111212122221221211212212211122122221222211211121212222111212221222211112212112212121211222111221212221121222222121121111222212222221221121121222212222212221212222212221221111212222111222222211222111111221211112111211111111122211112211221222212212111212212112221121122222211121112112222212221221121112222121221221112122111122222212222222122222111211111111222212121221212221211112222112122211222222211222112112222111212122122221212212122211122122211121111111212122122211222111222112112211111111211112111122111122112221222111221111211121122212221222221122221211121221121122121121121221222211222221222122122211221112212221211111212121122122222212111112211122122221221211111222211112212221212222112112212112121112212211221222121222212222111122211222211221212112221112211111112111121221121222111121122222211112211112212122222222111121222221212111122122221111121222122122211211222111112122212221211211121222212211112112112121211111212111222121111221122122121212122211112111122121111222211112221211211212112112221212122112121111122222221211222111112222121221222122212112111222222222222211111212222112111112121112122122222121222112122221211122221221122121111122222211121121222212221212121221112221112211221221122211221112212212222111111111112112121211112211221122121212122121121111221212221111112221211221221122122111211222222222111212121122112122211121112222212211111112121212111211111111112212221122112211122112122221111112221221122222222221122121211121121111221112211221221111111122112111112211211222112212222212122121211221112111211121111221211122221112212112211221112121122112222122122112122121212121221121122211122122211222122212211112122111212212212222121111121121121122211112211211222221212221212211222122121121221212111211222121211122112212111212221212211222122221111211121111212122221111212221122222121122112211222222211112111122122222222221211111122212122111121211121211112221211222112122122122122112111212222212212112221212111111121211112212111212212122112222211122111111121122122111222122212212212121222212122211122122222111122221221111212121112121112211222112222221111211111121211221212222211212211212212111121211121112122122222212112222111212121222222211111221222112211222122221222212112122111111212221211121121211221222121221212112111121212221111212122112122111121221112112221111222212222212211121112112122122221121211112122121221212222111212222212221121112121212122122111222222222112111221121121212211112112122112121111212211112212122112111221122212221222222221121121211112122121121111112212111111211121221122111221212221111112111212112211222111221222212121211121122221222222121121111112222122212221112222211111212121111122111122222221122112211112212211121221112112121212221111211112121112122211212122112121111111221112212212222111121221121211111211112112211112212121111111121212122111121212221112212112112221111211212212121112211111211222211222221211121112111111111222122121112221111111111122111122211122112122221211222222211121212112122112211112122122221122211222222211212121222111111221211211122211112112222121212121111111211121221221222122211211122212121211122222121212111112112211212221121121221221112212222222222121221122211111221122112112221112211212212221121212112111212222211122212112122221121211111122122211211221211111221122122122112121122121122111122112221121122222211121121221211222112222122112111221121211211211221221222121222211212222122111212221112211212112221211122121122112222222122122221221122112222112122222111222222222122212222222212112212212111221221212112111212211222212221222222122121122212111112212221111222212122112111122111222222112111111221121222122122121211222122212221121211122111222222112121122211221111121122122221211121211122112111222122221122112121111211112221222211121122111222212211222111221212112221122112211121121121222221122211212212222121221221112222211222221112212121221122121212221222122122111211212222121122112112222122212122112221221122212211112212212112222211112121122222122121112122221111112211212122221121222112122121112211121211211111122212112212122212221121121111211222212221121121211211112211111221222212121122212222221212211212111112222221122112111112222222111111121212111212211222112111211221211111112221222211212112211212122111211221211222122222222111212222122211221121112211122112122112221122221212211122111211121211121211111111121211122112212122122211111222222122122111121121121221122111221222122221121222211222221212222222122222221222111121212222221122122222221122222112112221221211111112222111111112211121212122222221221122211121121122112212212221112221221221222212212211122212111222111111221111222222121212211112122111121221211212221212222222112211121221212112112111111112121122211211212112111221111222111222112222112112112111222211221222212111222111212222111112112221211111121111212121222212111121122112111111111212111211121222121112121212211121122221212221212212212121122112111112112222211112221222122121112111121112122221221211121111211221121122111122222121212211121211112221121212221122121111212121112112222122122121212222222211121121212211211122212221221222122221222112221221111221112211121221221212111221211111222212112122121222122121221112122122122211222212122112112222221121122121111211121111212221121211121112211112222212222121222112112222211212112212211121111111121122122112122212121112211211211111221212121211121221121221222211121121222112222111211121111222111111111221111112212212211222121112112111121221212211211121221122211212121112121122222121111112211122122122222212221221222212112221122222111121121111212211222121122222111222211122212211121122221112121121211111122211221222212221111222222211211122121212122112221211122221222112212122121121122121111121111121212121111121221211222222222211111111221222112221121211122111222112221121222122112121121122121111111111211121222111212221122211212212111121111111221211112211112121111212122112111112121111221212112221211221212212212122121111121111212212122112221212222212211122121111222122221212211221111112121122111112222122221121121212122121122122122112112211221222212112222221112112221112221221111121122211222211221122112122122121112221222222121121222222112112122221112221222122221121111112121212112212221122122111222121222211112111222112221212211122111121111122121222122222221211212122222112111221221222222121211211121122222221121112221211221112221111122211111111222112112121212122222222112212222212121221221112221222122111212221121122112121212221111111222121211221211121222221222111212112212122111222221122122111111111122222211211211211221112121122121211122212122112121122111122121112222112121212111112111222112122211212222221121211221112112222122221122111122122222112121222211211221122222111222122221222211211122222222111211122212212211222222121221211221222211121212221212121122121111212221221122211221112221222212212112212111211112211221212212122212121112211211222221121222112112111121212112222221112221212212221212212111211111212111112212211222221221122122112112222112212222112221221122211122122212212121222221112222111221112212212122122121212221122111211221222222121121212122212212211112111111121222112212211222222222121122122222211121211112122212221211222222121221222122211121111112122212121122111212122111221121222212212111212221211222211211121121221112221111212211222112222122121221112212212111211112212122121222121122211112212222121112221211221222112212121111112211221122211122121122112222111211121112211121222121212111222221222111211111221121211222211112122122221122122122212222112111112221122121221121212212211122122212121111111211222121212122112221111122212222221122211111111111121111122212121211222112112211111122122221211211222222221211212111222211112211211111121122222222221122112212111221121222111212222212111221221212112121222212122121211222222112221221221221221212112221221122112212222112121122212221221121121212211221222212122112111112112111112212121112221211121211211122222221122122122121212122112112222112122212211121212121212111112112122212121122111121212212222122111222211122211121212121212112111112121112221122212121121222211122112122121122222122121111121111211212122112211111121121221122211222122121112121111212122112211211212212211122212112211211222111212122121122111221121212221121211212111122222211122112222211112212222121112222222221121222111111122222111212211111211221122112111112221121211111112112111122211221211222121221211122112212112221212111211222211222212121122122222122211112211222211222121122112112212111221212122121212121121212111112222111222112122121211222221221222222121221212112222211111112222221121112212121122211222111221222221111212111121221111111222111111221112121212222212112122221122211212221112111112122221111212122221212112211221222221112222222121212212122221112222211211122121222222221211212121212121122212111221121121211222112212121221121122111212222121112111122222211111211211121212112121112112112212112121221211222111212212111211112121111112122122211121212121222112112112111121111212122211111112112111112212112121221222211211211112121212212112112111121222221122222222212112221211211122111212112221112121212221221211212111222211122211111221111221112221221221122221222211211121222222222211221221222222121111212112221221111221122122211112211211111122121221111111111222122121211122122211121222211222212221221212221122112111112222122211121111121112111211212121111221121122211221121122212212122221112211222112212112112212111121211221212212112112121212121121112122212221111212212222211222221122222212211122121112222111211111122222211112221111222212111212111112111121112221122112211212111111121212122121122221211221112121121212111212221222112112222121111222212111221112222112111121222112111211111121112111222212121121111122221212121211211121212111221112111121222122112212112112121112222211212121121121111212222122222121211111212221122121122212212211211221111212211112222112212212222211111122111121212221111112112212112211122111111212211211122222221112111111121212121222211122211112221122221122222121122212211211212212222112212121212111112112121222212212222212222122221112112122112111122212222121112121112121122222222112221122221212221112111212212111122111111111121212122222122111212111211221211221222111111111222112212122222221211112122121112221222221221221122122121121111221222222212222112111221221112112111111212122111222111222212111112121212211221112122121111112112212112112112212112111221222211221212221211121212122221111122121221121222212221122121122212222122222121221112211221112121112222112212111122112111212121211122211212211112122121112112222221221121111122211111221122121122221121212121122112221211122121111211211122111212122111222211111211211221211121122221222221211121111121121122221221222121112121121211222221222122122122112121221111111221111211222112221212212121111222112121122121112122121212122212212212122121112222112222121221112111222112221222222222222122111122121212221212222112122112222211222112212121222112211111212221212222111112112212122111211212112112222222112112221211112121221121122112212111112222222121222112211121221211211111222221221112211121122211121221222212112111212111222221121121121112222221122221221212121221112212121121222211121112112111122122112112111212122112212211212112222212122122221212212111212212212121212222111112121112221212112112121212222111122211112111111212122112221212111212222112222112211222222211112122222222112112211122222211211111212222221112122122112222122211211222221111111111122112222211221112222122212121222222111222211122111122211122222212112112121121111111122122211111121212121112212112121222112211111111121111121221111212111221121122121111121121112212112222111221111212212222122212212212211211121121111221222211111122222221112112212222221211111121111212121221211221121112112222212121112211112121122122212212211221212112111212221121211212111222112122122111121122111211121111111112211222121221121212122222222222111111212221111111112211122111222212211221112211111212211221211222221212221221111212222112212221221222111112211212112221112211121212221122111211221211222111122121121121121111212221221212212211221221111212111111212221222222211111211121221222211122121111111112112222121111122221221222221111121221111221112212122111111222121122112112222211121122222121222112212212221122112212121211222211211111122221222222122122222221111211222221222212212222212122112211211222112121112122212212111212112211112221221221122221221221212222211212121122121211121121222222112111211222222222121111212211222111112111112112222111111122122121111211121111222212211111222212112211121121221221212222111121122111211111111222121221111221222221112112122211212121211121212122211221121211222122121121112112122111222121212112121112212112212121212212211211112222112121211112122212222222121121212112212222121211212122112211211222112112112121122112122212112112222121122122211212212112212211222211211111222121121211111122111222222121221211121212211112221121212122112122122111211122222122121121222112222211222212211111221211221211122211122122221212211222221222212222211211212112222122112111212121212222221221122222112112221221111122212221211111121121222112111211122121221212122222111212211111122221121112212222111121111122112222212221121111211111122121111111112212221111122222221111111121112121111112112122211122111221221212212221211212122211112112122222222111121221112212122222111112112121211212212112211121112112111212111222111222222222212111211221111221112221122222121112211122221211121221211121112222112221111212222112121221112121212222212211111222212212112221112112221111112122121111121221212211112121122211221112112211211211122221112112112222112222221121211212121121122121212111222222222221112111211221112112111212122112111212212211111211121211122211212111211121211121212211222121122111222122211122112111112111121212211121212112112221121222212112122112221122221212212122112111212111122111111221222121112112122111122112112111221222121121212221222211221211221222221121211211212221122112122121111122111212112221212221122112112221222212221121122212211112211122211111212112211221221221222212111222211112112122121112112111112211112111112212121112211211121111212221111112112121122121121211122221122211212111211211212211212211122112111212211122221121121222221212121211122211122122112222122111111212111222222222121211211221222221212111221112211211111111221222122111111112222221121222211122222221212111221222112122212122222111212221212211211112111222211111122222211111222212111111212111222112122212212122121222222111212221121112121211111222221222111121112212212111221112212121222111222221122211212221122212221221222221212221111121121112112121112211111122121112121121212211212122121112212122112222212221112221121211221222121112111212222221211121222211212111122222222211221221111122122211122212122122121111111111221222221211212221121111222211211112122212212212212222221212122221221221121121221212221222121121211121211122212211111211112222212111121112212212211112111222121212211211112212211122111211211121221112221211111211222212221222211211211212212121211112221111111221111111212212212221211112222221112111221111222211211111111111211111212111211212211112211221121221121211111222212221211122121121212111221222212111111211211222122221222221211112211212112221121121122222221122221122222221122222212111112122112211222222112222212222122222111211111112112112221211111222211112121121111121122211112211211211211222112112121211212112122122121111212111221222112212112221212111221122222222122112122222222211211222222122211122221121112121122112111212221211122121212221221211222121221121122211112212122221212121122222222211212112121122122112221212211211222122112222212121221211112212221212212111121112221111212121112211221221121112112121122111222212212122221121221222222121211222212211122111112111121212111111222212212121211122121222212212211211222212221121121121112221211111121212212122122112121121111211121122112111221222211212221222112111121122121212212112122112211122122211222222211112111122212112111222221211112221111111111121121111122122212111121222121111222122121121121121212212212211111222121122111212222112121121112121112211122112221112121212112222121122211212211112221222112111121122111121212212211211211212121122121111122221212112121121121122112121121121111211222211211111222122222121222121112212211222121122122122222121221111221222212111111221221112121212212111121221211211212222211212112212112122212222112211122121112111222212222121212112121111122111112212111221111211222222222211211122122212222221222212212221221221111212112221211111122111211212212112221221211111122122112211221111122222121122211222222122111111221221122211122121222111211121122112221211221122222212211222122221222211111111121112222121211211112211221111221212211222112112222212111222121112222212122111122111111222212111222222121222112111211221221212112112122121122222212122122121222212221111222212111221112111211221121211122112221221112221122112121111212222211111222122211212122221121112112122111221112112222122121221221211222112122121222112122121222112121222212212211222211121212121222121211211111222111221112112121222221222222212221111121121221221211222121221211222122111212221121122222221122121121111212112211222221121212211122212121222112211112121222112121211112122112212211211111111221112221122222121211222121122112122112221111121222222121212222111121112212222212111211121112121211121122121112221111222221212111121222122111122221122221111222111221211222222222112211222122121122211111112212211212121121222112122221111221112122221211112222222221112211221111111212222222222212111221121121111221221212211111212211222122211212211212212211111221212122122222222211112121121222122122222221212112122211221122222112121122212211212211122211122222112211222222121222222212222122121211112112112122111112122112221211221222211222112111222121122112122211212121211121211212212211211122212121112121122211221112122222211221121221221121122211212221221112111211111121222121121121112112121212212211121122111121222121212121121212222212121212212222112212222222212121121222212212211221111211212222121122212212211111212112222122211112222221221222221112212222111111112111212111211112212211211211122111222112122111222111211221211112211122211221122112211122112111222211121111111211221221112211212122112212121121121112121221112121121211112112121211122122212212212112211221111111211222122121112121222111221222222221221111121112222212122122111112212212122121111222122111212111211221122211211121211112222211222222212111121211222221112211111211121221121111222111211222212112212112212121112221112121121211221212211211212222211121122121212122121122112222111221112212211222222111111222122212211211222221121212111221112211222112222222221122122111222221221111211121111121111122112122211122222112212222121212212121121122212221112221212211111112112211122112121221112221211122111112122112221121111211212121112211112222211112122121112112122121222211221112221222121211221122221222111121112122212211112212222222222212222211112112212122111222212122221211121212221121221121211212122111112221222122221221221221211222111112221122222222221222211122111211212211222211211221122222122221212122111211211111222211212212221221112122212122122112222222211122111111212211121221221121111112111211111212112112121122121221111112111211222211222212122211122222122121112121221122211222222212212112112221122211121121112222211222112121212112121212222221111222211111121121121122112222221221122121212111221212212212112122112222121121112221212111122112112122122112212222121122122221221211222111212111221121221221221111111111221111211211121211112222122222121111211111112111121122222112111211112222222222122212112222211112221121111211211212111122121112122222211211122212112212122111121221122221211111122212111111222121211121222112222221222122122122111212222221122112112221111222122222122122221221212121211211211122222112112121212212221122221112122122121122222221221122212221111112212121222122222212111222211222121122121212222121222111121122121221222211221121221212111221121211111121111122211221111121222222221212211111222222122121121122112112221122212112122212111212221121222211111211122221111121211112211212122221211221211211222111212112121222222121112111112212222212222111111121222222121121112222222211222212111122222111222112211112111112212111112211222111112112221111221212122212211211122121211112121222111112222212122121211112211211111212212111111221222211222211122221211222212121212111211212222222222211122122112211122121112122212212222112111121122221221121222221122112121221122111211112121121111121121111211112121112221111212221112211112222121212221221212211222122121121121111111211212112211112212112212121122112221211222111222222122111122221221121121211221121121211121112211211212221221212222121121212221221221212211121212112121122212112211121222212121212221212222121112121221121222111222211212222212112111222121121111222112221212121212212221112222222212112212222211121212221222111111222221212211212121121221222111112122112122211222211221222221212121222211111221222121211112121111222211212112111111212122221211221122212121111122211111121212221121122222212212212122112122121221112112122222211121111222121111222221122121112221211112112212221121212221122112211211111211122221112222122121221122221211222121212211122111212112111212211222122121112221221122222111221222122121121221211212211112222221212122212111111211222222211212122121212212222211122121121212221211111121221222112222212122211121211221221122221221112212212212221122121211212212121222111121222122122211122212211111221211211211211121221122122112112111122211222212211121212121212111121111222211212212112212111221222212122122111221221111212212121222211112112212121111122122211222111212211121122122111222111121221112112221121122121221221211211112112122211212122222212111221122112221111122221122222121211112122222121221222121112121211121212212211122211112112212112221222212212122222222121111122122222222112122122212211121121222211221212211121111121211111111122121112222111222221111122222122221221111212222121122221212122211222111112211222221221222111221211121211122222211122121121221211121112112212121112212211211221111221112111221121222211212121211212121112112221112221112222111112111112221211212212212211221221121122121112111221221221111121121121112112111112221221112111112111112221121121211122121212212111111212211122221212211211111222112212121221111211222122222112122121111211221112211222121121122212112211212222112112112122111111112212222211211222211212211112211122121222221112122122111112222212111122221211112211121122222122212221112211111111112222221122122221221111122211221211122122121121221212222212112111121211211222211111211211112221222111221211112121121212221222211121111211212211222121211222222221112122112211222112122212222112112122121211122112122211211211121221222121221122211212111121121222111121221121121111122111212221121111211212122212112111121111211121211122221121112212221111222212211122122212111112111121212122221121121222122111112212121111111111112111111112121221221212211112121121121112212221111122222111122211221122222211121211112211121221212212122211112222111112221221122121212121122221111121211212212112221122112122122211111212122222211222112212211212221212222222221122121222222211111221112111111121211111112212212122221211121122121221211121111211112112221221121212112121121222222221122121112122211222121112221121111211221221211211112212212222121112222222121221221212111221112222222121212221111112122211222212212212121221112112122212211222222111122221121121112221121112121211222112212222221111122121211222121112212211211112211111121121221122112222111222121221122112212221211221112212212211211222211221221111111121222212212211211221212212212122112111122121212122212121121122111112122211112122221121121212121212221122222112222122122111112112111121212122111222211212212111111112122211221221122122122212111121122111122111111221221212112221212212222111112122122112122122222211211121221111122112122121212111112222221221212222122121121122221121221221221212221122212221122121221221122221112111222212211122112222211221121212211121212122111122211221111221112111121222121121221111122112221211211122221111212112122121222212212122122211212112222122122122111211121221221222112111222212212211112212222111122122222221211121222111111212112111121212222112111121211212222122111111111122211212122121121111211121222112112111111212212212121121222112112211112112112112212211221122221111111122222111212222211212212122222222222112122211222111221122212211111221112211111211111221121111112222221212112212121212121212222112122121211122211222221222221122222212212111121112112212212111211211111222212111212222112111122221211111122122121112122211112111111211112212211221111222122222221212111122121122211222221112122212221211212111221221111222121112112121221111122221111121111221221212211122122122211121121111111212122221122221122111211211122221212222221221221221112122122121221221221222211212122121111121111212112221211112121222212122212211212211122111212111122222111212111122221121122212122211121111212221112112221221211112121212121211221121211122122111212212212222212212211112221122211212122121122212111112221221211122222222111112111221122222121212221221211221211221212212111121121121212211111222111121222111221221121112122211211122211211121121222121112222121111112121221222212122222211221111222112211222221212111222222221222111111122222122112211111112212221212211211111111112112221122121212112111122111111111111212111111211122211222221221221211111212111112212112121211212212211222212222221111222111112222121122112221121211121211111211222112212121221111211211222122121112221222222212112122221221111111111111121211221221112211122222122112111111212112111211211221211111221112222211212212111222121211212222112122122221112212111212121221221112221212211122212211212211222121212112112211111112211111211222122122212222112211112222212112122211122222221222221121222122221222122112111121112121212221121222221111121111111112112212211112221111221111122222222211221122121111121111212211222221111121112111111211222211221121111121112221221112222222212121121121112211221222112121212112221112122121112111222121122212121211112221212122121221221221211221111211112112212222111211211112121211222222221111112122222111221212211122122211211122122111112212211122221211212112222222212222222111121111112222221121211212121122111112222222122221211221222111211212112111111111121222111111112111122112211221121112122122211221122211111122221222111212112121121111122221122111111211112122121222121122222111221221112212211211221211221111121212221212122222111221212211112222112111122122121211121221211212121222212212212122221111121111222211212112211112212121112122222111112111211222112122121122112222122122222212211112212212212221111111221222112121112212121212221211112221111111111122221112122211221111111221212211222212112121122222122211121212212221211112112112211121221122121122122121111122121212221112221111122112112112112222211112222211121112112221222212122212121212222121112211221222112111222222222212122221112111212222212121211221222211112212212111122221122122212211121122112122221212121212211122122111121122211211122221111122211122221111222212112221221212112111112211212211211121121121112221111222122121121121221112121122122122221121122111112222212122212121211121221122212122222122221221222211111221212121112221121211221122122211111111222121221112212222122212211211122212212111112122121222222121212111121222212211112222222112212221211121222111221111112122211121222221222212122112221122222122122221211221111121112221221221121122111212222212111212121211112222211211211112112211221212111212211121221221221222111222222111112112212121211122112111222122112211121212222112121122211112211111112221111221212221122122112122221121221222122222112121212222122222122222222222211122222122112211222212211212211221211212122121212222122211121121212121221122111121122222222221222112221111111122112212112111221122112111212121122221111111222112211122211222122111221111221121211121121122212222212112221121222221211212121211122122122222121211112221212212221111112221211211212211111112121211222212122222122211212212211121212121122121211122121211221121121222211221221122211121211211211221111112121222111111122122222211121122122111112222212211111122221121121121212121121211112221112222122211111212221112122222121222122111222212222221221121111122122111112112212212122221111221221111221121122211112222112221111211212211212112211122221211111121122121221121121112222222121121121212221112221111212122211211212111211112212212122111112221221111121212212211222121111221112221112121121121212121111122112122121111222121122122221212211212121221221121122112212111112212211111222222212212111211212111221111112222212212211112121111121212112211221112121221212111122211111212112112122122111111112221212221211212122112212221212112212112112212121121221222112221221211222121222122222222221121112111221211222221121121221221112122121222111121222222212121121122122222211111211221212112112221121221221121221211221112222111222211111121112221122112112211211212122121212121211112122111111221121222212212112112121112212122111111112112121122222212121121212122212212211121212112111112211121111222122122211221111112121221221122112222121111211122122122112122122212221121221212221212221211112222222122211221111212221221212122121221212212122121212211121221212211221121111122121111122121112112112221212221222222212211112112112121222221121111121221222112211112122111211122222222222121121122212211112221122112222122121112121222112122221212122212212121122221221121212121122111222121212222211122222121211112222221211111111121221221211111222121212111121221121221121212122112221211221112112222222211121222212122221122222222212112212112121121111221112112222112111211222222111221221211112212112121212122222121121112121111122212112122121112111221111121221122211222111212122221221111211112111121122212211212211112222222212222222211121221212111212221221221221122222211222211212111112122121122111111121222221112222221221221111211122221122112112221222212221222121112112212122222121211212211111121122222212112221121221221212111111121221221112111212111212122212221222112121211121121211212222222221211112121122211111222222211211221211211112221111221211221112212222111211122111222222221222111111222121111212122212212221111222121222122222221121111112221222122121111112112121122121122212221221222212111211212212212121122122221121122122121121112111111211122222112222121212221122122212212211112221121121221211112122111112211212121112112212221212112222221112112111221211121112111222111111121121112222122221112112211212121221122122122121222222122212211222122221221111121121211122211212112122222222121212222121112211222211112211212122112122122211222212222112221222111222222221212111221211221121211122221211112212112112212211222112211111112212211212222212221211112111221211222212122211222211111211111112122111211222222122121122122222221222121111222122121112122221222212212122122122222222221211212111122112221121112122222111211112211221221122112111121112211212222112222212222222222222211122111121122211121121122121211222212222112122111221112111111122112121112121112111211212221112122112111122211112111221111221212112212222111211112212112211211222121122211212121121121221122122221211111111122122221112111222121221122111122212121112112212111111122211111112212112122112122212211121222212121222221121111222221112211222222211121112212212112212112111222222122222111122122221221222212221222222211211212222112112211121122121112212121112212221121111121211211212112111221112121111221121222121211211212212111221111112122112222121112111212221112111212122121121121221222122222211111211121221211222221121212221211222212122212111112122112211121122111212121212121222122221211211222111222111112222212122111111122112221121222222122121222122121111221111122122122212222212112222221222111211112111111211122212111221222121112212212221212112112221111221212121112211122212121211112212211211111221212121122221111221222121211122221112212222221111122212112111212112112112121222111121111122221222221222111212112221212211222111121222112212111122111111212122212122121122222122121122222112222222211122112212221111221211111222222211222111222121122121221212122111122222122121112111222212122111112221212111122211221122111112111122111122111122222212221111212211222121221221221112222211121222221122111211121221121212221111122122112212122112111212112121122121122212112121221212121112122211111211222221121221121221122121211111112121121222221112122111212212212121111111112222211222122221211111111222121121221112221211121111121112111122112222221121221112222221221211112121211221121222121221111122212112212212111222111122121212211211112112112221112221111222112122222122122112212122122122121212111221122222211121211122212112222212111112221221221211121121212222111121221222222211222222212211121212222122112212111111211112122211221112122212112211122222212221122212112222121112121122121221121121111111211112221112122211212121122212222211111221112122221222221221211211211211221112112122212121211111222112222212211122211221121212122222122121221212111221212222212122121221221212222111112212211122212121211211221112221111222222112121122212122211221111122212111221112222122221211122212121211212212121112211122211121221111221211221222122112221112221122211112221211212122112112221212111211211121221211212222111212112222111122212121221111112122111112212121121112122212111222221121212221212122121221111212211221211222212112121112211212221221211222222121122211221221112211212221211122221121222111221122212121112111211122112221112222122221212212111121221211112112222211111222112211222112122112121222221221212222122221222112221112211122122121221222212222212121222211221211121111221212121212221121212221222111121121122121221112222121122212212112122221222222112111111111112122211211211112222211111121212212111112121122122111122122221221212222122112111212221112121222211211221121122212211112211121121211122111122211122222111211122221222111212221122221211122112222211221211222212121221211111121212222111211212112122212212112122211112211111222111222222122211122212221122221122211121111122211222221221211221122222212122121112222122121222122221221122121222222121111111121112221221221211111112221121121121212121121221121111112112122121222122122222112121121111111111111121222111222221211211221222112222211222222222111121121221122121221111212122112212112211112212111121122111211211112211211122211121221112112111212121111121122222121121221121121222112221221121211111112122122111211222121111211222212121211121221122111112121211222222112121212222222121221211121211211112122222211111221112122221212122212111211122211111121122212112122221121222122222111112121211121212211112112111111122122222221112111221221121222212111121111211211122121121212122211121211211221121222221122121112122221211211211222111112222121221211122212211112112121222222221212111222122222112111111111211221121121221111211112121211121212211222211222111211121121221222222112221121122212122111112221221121122221212212111111121212212222222112121112111211222222112211222211111121122212122111221122112122122111112111212112221221212212211222112122122221122212221122212121122211211212212121121112112122112211121122221111122122221211122222222122221121221112112122221112121222221221221122112121122222121221121111221211121221221222212221211211111221222212121221112221122121221121221222222221112112121222211222221111112111121121111111222222121222112221222112212211221121121212111212112221111111222112222122122221211121111221221222222212222212112122221121211122122121122122222221121212212112212111212222112121121211122121111222211211211212212211212221222212212221121122221122122221211121222221221211122122222222211222211222122221112112221211211111112111221111122212112222122212122111111211212212222222122111111111112222112211121212211221212212222122121121121212222121222112112222212112112211111121222111112221212211112122222111212121221112212112221112212122221112112212112211122122212211212222122212211221121122211222211111121212211211211222121111212222221111221221222112121222122112221211112222122212122222211112121112112112211122111221112221222111112212111122122121221122122222212111112111122121122222111222121121111121112112221221211121211121111112212121122222111121112212212222221222111122212211212111122112212112212112221121111221122221221121111122122212221122121211112121222211222111212221122222112221211112222122122222112222221121122112211121111221211111221121212221121211212111222121112122211111122111122212121121212111112222122212121122212112221221112112112211221211222221212222122221111112122111211221212111221211122212212112121112211122111222222111222222111121211121211222221112111111222112112122212122212211121112212212212212121111222121122211112112121222212212111121222211221121121221122211221212122211112211212122222122121222222222212211112121222211221221212221122212122122222222222111211211211212121222211212222221221121111222111111111121121121121122121221111222111122111222121221122122221222111221211222111211122212122212211121212211211112122212112211221112122222212222112122221211212112121211222211222211211221112112211222222111121122121221112121111112122222121212121111222211112212122212111112111222212122121222111111222221112211112112122212221211112111122212111212211122222122112221212222112111122111121111222122111111222122222212122211211121211222212212221122222111112221212122112122222221122122112221121221211211111211121121121212222222121222122121222222212112221111221211212222111122222222121211112112121222112211111121112222121111121122111122222112212112212121212221212112222212222121211212221122221212111112212211112112222211221111221211121221112122112111212221111122112211212121122121211121121111112112211112111221112211212211111112121221112112211211222221222122222122122221211121122211212111222221121212222212112122111222222112112111122211212122211112122211112111121222112222221111222112221211212221212121112112221122212122121122221122211212221122111121221121122111122212221221212212122212121211111121111121122112211222221222212221122222221121111211122212221112112121111222222121112111221121221221212121211112212111112111122222112222112111112211121212112211212221221111211222122112222221112122222221121122221122221122122112122121212212121212122121221121211221121112121121111111212222111122221111122222122121121211212221211222122211212121221122112222211111212122121212111211211212122212221211221222122122111112211212111221112111211111211222121212221221111122221112112212222211212221221212122222112212111121221222122211222222221121111121111222122111121211122222112112112212222212212222111221122112112222212111112111211211212212211222212212121112221112211111222212121221212211222122222212212212222122121111111112112212121212111111222222122222121211211122212122121221112121221211221222222111112222211211211222121212111222121221211211212211122212211111122121211121122112111221211122211221111211222122221122112222111111112121121111122221211212111112112122212122211121221111121211122112112122221121111121122121112121212211121122221211222211112121122221111121212111222211222222222112212111211222212112122222111112212121222221122221222122111221211211222212121112111112111221221212221222222212212211111111121211212122221111111112122221121112211122211122111122222222112112122111121111222212212111212121221212222121122122221122211111111212112122222121221222212111112221211221122112222212222221212222221221211222112212211221121221112221211122212112212212221211212112121222111112221221211121221111121122222121112211221111122111122211222222111212222122112212221211121211121221112211221212211111221121121221122222122211221221221212122221122121211121112122111222211121221211111221222122211212211221122211111112111211111112121112211212212211211122211211121111122121221121112221121112212222111111112211121221211112222121122112111111211221212212212212111212112222112222121211112122112212122212222221111222121211111221211121111111221111121122111212111112211222111112221122222121111111112122112211121122122222211211121221221122211222121222211111122122112122211211122121112211122121222222111212122212222112121112212112122111222221122222122121211112121211111111211122222112221112221111221211212122212222112222211111111122222222221121111222122212222212222211112222112221111111121111122222222122211111121121221222122212211112212212222222122121212212112222121122212121211222112212211112111212212121111211122221122122122222211221222122221122212221122111221211221111111211121212112212211122121221222212112222122112121122212112111221211122222111221122222111221121112122112121221221112111212121221212211121112121112111112211222211211121212121221222212212221221112122211211212221222121121211111211211212121212112212122111212221212122112221221212121112222121111111122221222222212112122212222112222112212121212211111122222111111222121212121112112211222212212112211111221112212112222222222222121222122221222121212112122121122121122211112122112212122212222221222111221211222221121212212122221221222211111112221212122212211111211112121121122222112121111212212221211121211212221121221112112222221222211122111211211112111212212211212221122121112221221222112222222221211111212211121211211212121212221111112221122221122212122212122112221212111121111212212111112212211122222121212121211112211121122121111121211212222211211112112212222122111222112121221121212121111211221112212121122121121221121211222121211111111121211122122222121111222112121122221222112222222212121122222212122111122221121121121211122221111121121122121221221211121222111221112211221221211112212121222222212121212121212222222122221121212112121211111111121212212121222212222121212121122222122222121211212122112212111211222222211222112111212212221122222111111111212212121221211221122211121212221221222222111122222222112212122222111112111112111222121211211111222221121111222212211112121122112212211212211211111112211222221211221222212222111111222212211212121111221122111221212112211121122112221122212211222121111112121221211112111112221211122121122212111121122111122112111211122111222121212212222212222212221122211211111212221221222212121122121221221221211112122221211221112112212221111222221222112121112222212212211112211121121122211212121211122222121122212212212112121122212211122222211211212211111111112212211112122211222221111212211212212211211211211221121112111112111222222122212111112111122222111122121112112112221221121211211222112222211112221112222211212121221111111122122122212211111221211121221221211111221221122121122211111111211121112211112122221122211121122221222211122121111211111122211112212212121212211211212212221122211212222222121122112121122121122111121221211212222222211212212121122221211122122121212221221212121221212122221111222121212111211112121121121121112211222212212222112112122121121111212121211212221112211121121111122111112111221112212221122112222211221222211122112221221212122121112121212211222121111111212221211212122112212111111221211121212122211121112122221111121122222111212122211211212112222112221211122222212112112211122221112111121121222112221111211122212211211121212211111222222112122111122221122212112122111112222122111111221122122121111221212111122212211122212212111121221211112112111222211222212221221221122212222122122221211212122111121221111211121111222221112122122221222222222122212122212222221212222122112222112211111112212222112112121212221212112121222121221212211211111222121111211212222112212211112211111221121122221212222211121212222221122221112121111222112111111212121111122222111112111212211221121121111122112111112211121221211111121222111111222112222121222121211112121112212122112221212212111211222122222212212111121222112111111211222122112112111112111212112122221222222221122212212111212122212122221222112222122121211111211221111112212221222121221111111211212222112221111122221122222122212212212121122111112211221222122211221212211112212122222121111222212122121222222121212112122112211121121211111111121211222121221222111222221211112211221111211112121121212221221211121111222111221211121112222212222111212221222221122222222212111222211222112211221221112222112122221122222112222111211222222222211112121221112212211111221111111122212111211111221112111112212211211211122121221111222222121121211221221122111211112222112211211112211111112212212121212111121221212112112212112221211112121222212122112222222221211122211112111211111121211212211221221112211211122211122122111212211222212221221222212111212111122121122121211222212112221111212221212112112111112222221222111122221221211111121222212212222111221121212112222222211112122221111121221122112222221121211111122112221211121122121121111211112222121111221122211221212122221211212111122112112111121212222112221122112212122211121112222212111211122111221222112111211121211212211111212112222112221222111121111111111122111221222211221112122121211211112121121222221121211112211112111121222122221222211121211221121211112122212112121121122211221122122122111211112222221221222221221121212122111222221122222221112121121211112121222221112121222222211211112211212122211212121211112221222121222122111212221121212212212122211221222111222211121111121121222122121111111111212211211111212122111211221222111112212211112111222111122222111122222122121222221111211111221222122121111112122111122122112112122212211212221122111222111122111222211211211222212212111211221221122122121112211221221211222122212222221221211211211211221212111222122211222211221122111122111211221222112222211111211121222122211111112221122122121211122121121111121221221121111122222212211121222212111211122111211121211222122112222112111221121212221111112211121111111112211112211212222212112121211222212122112122121112122212112112111211211121111211121211111211212221121112211222121222121222111111222122212222112221222222122211211221221211122212122122121112212211121222211111121211122121122111221221122211121112121212212112112111212111112112222121111122111112122212121212121222121212122112221211212211112112212112221112121122211221221111121121112212122121212121222121222212221211122222222122112211112212111122112221221211212222112111212221212112222112212221111222222211111222211112222122211212121112211222212221122222122212121111122222211111112112211222211122211112222221121212111222221211122211122212221212222221121222221112221211111112121121122121121122122122212122221212111222221211111221222111112112211112122121222112121222212211222222222111211121212211111211122122221111212121222122221221221111212121221112222122212112212212111221112111121222122211112222112211212111221211222221122212111211212111111212221121111122112211222112121111212112121112111111111112211221221122121211112211222111211212122122212222122212211212121111221221111112222111111111221121111221111221112122212111121112122121211122221112212222221221221211112222221211112221112221221122111112122111211222221111211112111212111121121221112122212222222211221111211111111111122222222122122111221212212112122221121111112122212122122211112212122211211211222121222111222122121212211212121111112111221221212111111222122222212211222111212122211121212112221111111112211212212112221122122121222122112121212221211111121122221122212221111222122222122211111212111212221122122112222121121112112212222222212122112222222112222211212121121212222221222212221121121111121122112222111211211111121122122221222212111212221111111212221221121221112121111121111121212222221222122112222221122122112211112211112111212122121222122222221222122122221111212111122212222222111112122222221221212222111211222111211221221111211212221222221212121121121212111112122121212221222121121221121222121222111112211212121121212112211212121111122212121121111211121212111122112112212211221212121212121122211222111111122122221211111111212121111112122221122121221221121121121121211111112221111221112222221112212122112122112122111121221111111121211121111121212111222222111211212212212121212211221221111221221121211222211121122111111122222121221212111211221121222111211222121121112121122122222211221111112211111211111212121211111111121111121111111211121111112212221222212212222212122111212212112122212221121111121112112111122122111221112212121112211121221222111112212222222212222211212112211211222111122211222121122122112211112111122111211222122112112111221222122221212221222122112221211122222121112211122122121122122122212222111212111212111122221122111122122111221221111121211221121221111122111211221222212122221222221122122121222212221121121222212222111211121121222122112112111222222212211122221121121222212121222122222122221111121112211221111121121212112211112112121222112221212222112211221122112211212222112112121122122212221211112221111112111122111221211211111211112111122112221211112221122212122221121111222121212212111222122221112212111112111222222212111122222111221121121212211112112211111121211122212111221111121122112222112121122222121221212112211221212222212121221221222212211212221111112211112211222122222221211122122111122111122112221112222211121212122121111222112212212121121212222111211211212112112122222212211111121221211222221121112121211222121211212122222121221211121122111222121221211221222222122121122212111122211221121112111212122112122121112112121122221211221211122111221111222121221121121121221212211112111221111211212222211212111222122222112221121112111221211221222211121111121112222121221121211221222111111222111222222212112212221212122221121121212122212211122222211222121121121112212212211221222112221121122121122121221221222121212122221121111111111211211112122122121121122112222212212112222222221211121121121212121111112122222112121112112112221111112222111121221121122122211112121212211121121211222221111111122211111112212222121222111221121221212122121122112212111112122222112222212111112111121222122122212222121212222211212212212212221112222221222212112221121122221122111221221121222222211111212111212211121112222221221121112212111121111121222221122111211221221221111221121222211121112122111211221121221122121112211112212121111221122222121221221222111212111111212122112212211111112222112222122111121111212111212121121221211221222122211221112221222212112122112211221112121112112211212222221112121212222221212112112211122222222212112222112212121221221121222221222212211212112211221212112221211221221112212111221212111112221111212112221222211111221121112111112212212221112112221122221212111111112122212211111121112111121111211111212112122211121122222121221221121212122111121212122221111121212111121111111212221222111211221211222222112112211111212121221112112222112211221222112221222122122222212121111121221212112121211111211222221122222111221211211112222112122212112122111222111211111212222121111212211222212212122112222112221222212212221221221122211111112212121221121121112212121212122211111212212222121111111211122122122121121112121121222112112111222111122221111111222111122222222211122112121121121111121222221221221222112112121121222111211212222122122121212122222111221112212121121222222121121222121212222212221111222221222112112122222221222111121111122222222111221112211221212221212212222121211221211112121211122121111222221111212221222221122222212111222121111221222222112111222221112212211222111121121112112211221111121211211121122212122211212111221122221121112121211122222112112211121111112121211121121221122212112222121212222211221212222121211221112122211111212221212121111121222112111122222121112212121222111112221222221121111211221121121212211212222211211112111121211121212212122221222112212122112222212122212112211111112211212111222221112121212211122222112212111222121221122211221112111211111111112212122121111211122112212121122211212212221111222222221211212212112121222221221122211221211221121221211222221221221121221212211211211122221122121221122121122112222221221111111122122121212121111111221121211121121121122122122112112211222211222122121111211112221212212111121111221112121111111122211122221111211121121212122111212111122121211212211121222121112222111222111211221212112122221211111211221122111121122111112111112111212122221112222211211122212212111121211121212211221112221112212211122212211222122121222112122121221211121211211121111211211212212222211121122121221212211222212111111112211111212121221111212121111112122212222221112222111121122112222121122111122112212212222111222111122111111121221121121121221121121122211121112211111221211122212121121121122222112122112111222222212122212221112111211212222122111111211222221221111222221221122212111122212112111222222211212121211122212121111121111212211112121122111112112222212112111222112121111121211222121222221121222221221112112121212122212112221221122211211222112221112222211221221112122111111121122122112222211122121212112112221112112122212212221222111211112211122212112222122222211111121112111222211212111121111122121122222211211212122211112122111221112212111111212222212112212121222111111121211112111212111222111111221111122211111122111122211221121212211222211221221111222111111121111222211221212211122122112122112111112112221121221122112121112222211111221111121122222211112221112221222211112212112112211122121222222222111221121212222121111221222221221211221211212111112212221211112121221121122111211122221122112222121112121112221111112111221211211211122212222122211211121212121211211122211111122221212222112121111122121122121211121212122222112122112121212121121221111112122212122112212221121112122122121222221222112122112222112221222111211111222212122212212121211211122122221112122121211122222121122111212112222112222112222221111121122212112112211111212212112222121112222121221222221222211111212111121211212221111221112212212121222122211111121211112121222212112112121111112122111112222222211222112222111221221212221221221221111212221222122121111111121221222111121112221112212221211222222122121211111121122212222122111222112212211221212212222211121111122121221121122212122112121211221211121122222211122111111212221122111112112221121112212122212122112122121222222211112221112222111121212212122212222111221211212221111122211121212211122222212111122212222211121211221211221221121222221212212212222122111211221111212212212212212111212211112112112122221211121222212222212122121112111221212121212112121122122222122122111122222222111221111212211112211112112222111121222111221121122121212222112121122112212211211222221121121122112211111222221211221121211112122212221121222222211222212111121121111212111222222111121212221111211221122111221222211121121112112222111211212111112121211111112111211111222211212111122211112221122222211121222111111112121221212211122212112211112112122221112122212212222212121221111112222122112122111222221122111222111111222211222111122112211222121112121221211212112221211212222111211222111212122211222212111212122112222112212212122112112212212111222122222111211111211221112121122212112121221221122122212112222221111122122212212112121112112112121121122221212211212111111122222121112111122222112121111121221222122211121122222222222221221112222111111121122111111121222122212112211122212111212221122212122221111111212122221122112122112212212122111121111221221211211211112222112121221122221112121221121222222221221221221221111221221222112111222222122111212121111112121122212212121121211212112211212222121222122121212211222122212222211122221112211212121122112212111112121211221211212221122221122112211212222121211121122221211122222211122112121222112221122111212221122211212112212212122121212222212222221111212221212221121211121121212122122212212121112121211121221122111122211111112111112222121221212211212212122212121211121212122212221111122212211222212221111212211121112211212221222121222221222112222222211122121122211211121122222121112122122212212222122121111211212222211221112212212222112121112221111121221212121222221122112121122121112121211121122211112111212112211122212212112221121122112222111222112112222122122222122111212121112121212221122221221221222111122212112222122112122222212221111121122121211212122122112211111222212221212122121121112112121121122122111211122222122222111111121212122111212112211122112112121212222122112121212121122222111111112122212121111122222121112122112121222112122222222122222222221112121211222221211111222221111222221122111111211221122112222221222221122111112112112211121112112212222111212112212222212211211221111121212212111112211222122122222211112111221122111221221211211122212122112111112111112221212111122112211212212111222222212222222211112122111122121221122122221211211221112112222122122121122222211111221211212221212222212112111222212222221112212211111111122122111122221112112212222212221221222222122122222222211221212221211222122212221111112111121111112211211221122121121221222221211222222112111222212121122122112111221221112122221211222122122112122211121212211112112211121211121221212222212211112212221212211121211212122222122122221122111221222121211122212111222121111212222122111111211112122112111121121111222122122222222212221221121122221122122221112112121111111111222122112222211122222122112122212121122111121222212212221222212212122111221211221112211221212211222211211212111111121222112222122222121112121222222112221112122222211221111212122211122112111212111211112222112112222221222222111222212221122111121111112212212121112111221221221122211122212121221211221212221122212211212122112211121122111221111111222212212221221111111122212221111112122112122122112211221112112112222112121222212211212222222112111222222111211212121221221111212212122112221112121112221111222222212211111211122112121221211111121111122111112222112222211122211112222122112112112121111222221112112112122221221221212111111211222222122221122212221221211211122222222211212212121221121211122211211211121212111122121112122212121121122221212211111111121121121111212221112221211211222111121112211121222212121111122112112221112221211121221121222221122222221111111121221211212121221122222121121222111122221221211211212122112212111222111122112212112111122211211111222222211222111111211112122111121221211111211121222122222121122121121111112111222111211121221221122212121121212111222122112222211122221211221212211211222211211212221211122212112211122211121112121111111221222122112121221211111221112122112122112112121112222222121221221122222211122121111221221221221222121112122212121111221121121121112112122112112121111211222221122111111222212212212222212222111211212111111122121121121112111211211221212112111122212122111222121222121112112111111121221111112212122211221222221122221111212222211212221121121122212122221212221222122122221121111221112122222112222222211111112111111221221222121221221221121222122111221212122111212112112222212221121221212121112111122111111121222221122122212221121211212212122121122211122212212212212112211221222211111121121222211112121111112222221221122211121212122121221211211121222122121112211111122212221121122112222211121121121221121221111121222211221121122122111211212121121122211212121112121112212111222221112122112221211211122211221121211111112221111121111122121221212222211212222122112211112212122212211111112222222222211112122112121112211122111211111111111211111212111121111111112211112122212222212212222112221122221122121112221212121122212212212122121212222121111212212212111122121212121221121111221212211121122222211212212111211111222122212222122121222112112121212111212222122222111211211221122122121111222111212222121121111122222122222111122212122222212221211112122121112112122121221211112122121221122112222212111221122122211122212211122122112222212111111111222211121111112111112122222221122111122111211122222111122222222122121221222222222111211121111112212221122211122121111112122112122222212221222222212211112211211222122111112211221122121222121221111222212212122212122212121222122212112222112222212111122121121122121121111221211122212211112121122122112221211222212211222111222222211112211122111212121211221111112222122121122121212122221112222121221212212121112222221212221121122211112121212122122121112212112121212111122122222122212111122112111122221211211221212122221212112111122111221222211211222221112122121221112211211222221112112212212121122112212121121222122111211211211121211221221112112122221111112122122221111121122222112121111111112112112211122112221221212211212121222222121211122221122111221121212112212221212112112112112212212111122121122112221222121121111212122221211222222211122212212222111222221111112211211121111122122122221112112221112211211211211211111121121122221221221122221122211211222122211112122221221111212121121112221212211121212111212222211111121122111211222222212112212211222112221211121222221211221112111221222111112212111211222111211211222121212222122212222221121211112112122112111112211222121211212222121211211112112121212222112212221111222121212222122122111222122122121211122222112222122222111211122212112112211122122111211212111212212221112222111221222211111221121121222121212212122121111221211111221222122212221221112211221222212111112112221111222211211112121122212221212112122212122112212122211212121211212112122222121122112222112111221112122122111112212211221122112221112211112112111212122121211112212211222222122221221222122212222212111111122111122122122112111112222211122111121211222122112222122112112221111121121212111111222221212212211122121111222221212211222111222112121221211122121212122211121112212211121211122121111221122222122112212122122222211211121112212211121222121212222111211121212212222122221211122111112112112212112111122121121212121211222112112112212121221112222112212122221222111212121221221121212211111122121222122221112222211221212121222222121121212212121211212211121222121112111221222212122121221112122121122122121121211111212112122111121121122212222212111112122221112211122221211112212222221211212212121112211122221221112221112111112221222112111122211121212212112121221122212122221212112121121212211222122112222111111211121111121222112211121112222122221122222122122121222122211222221221222111212121211212112222122112222222111112221221112122111121111122111122221221222212221211222211122121122212221112122211222212112121221222111111121112212211222111211212121212112212212211212212221121121121111222122212222122212222222122122112222211121112211122122221212111111211222112111122221111121121112222222121222121121222121212122212221112221112222121112111211111222121211111122221112111112111212222212211122112111212111221121111122211212112222222112112222221212212221112111111112111112122111111111111221211122111112122221122221111111211111211212111222111122111111112212221112121211122122222212112122111221121221211211221121211211122112111222222222112111212222111111112112222221112211222122212212221111211121122112222212222222221112222222222222112222212221111111122211121121212112212122221122121212122122122111211121111111112211221112112122112122221111122121112221211221212221122121211211111122111112222111112122212222111122121111211122121211222221212122212222212212212211122221212211222212121211121112211212222112221212221211222122112212111111211112222111211222111211121211112222222212211111211122221122111211112111211221212122111221221122122222121212221111122112212212112122121221212121221122121212112221222221211212221212111122122121222212222112222112212222222221222222121121112112122112122221111212111221212122112112121111212112221211122121221221112111121221122111211212112122221221211221122212121222211122211221122121112211111221222212222121222212122112112211222111221212212222211111212112222221222122122221211211122211211111212112121221121221111122112221112112122222212211112112211211211112211122221221121211211112211221211222112222121221111122212111111122121222121121121221121212211211211122111121222212111122112211121111222112221212121222222212111111222122122111111112122112221222212211122221212211221221121111122111122121121121111112111222211112111222112112221112211212222221212121211221121112212121112222111222211212212221211122212222221221121221111222212111122221111112112112222212111112122221221122111222221122221111112111112212212211221212212112222212122211212111112221111222221122122112222222112122121121121112222111121111221221112111112212211111122122222221211212122111211211211211111121122122111112111112111212222211211212211111112211121121112122111121221211122212222112122122222122212211121211221111212121211221122121212111222122122221112211211221221121222222112122212122122211222222222222121221121221221221122222112122121211211211211222222112222221212122111211211121211221211222211122221121111212211222212111212111222221222121121122222212222221211222112221121212212221111211221112211111122221212211222221221211121112122211111121122221222221221211212221122112112212211212122211211211121212211212212121221222212211122111122212211122121212221211212221222122112121111221121212221221212222211212122211221221222122211122212211121111111221212111212112212121221221211222221212121121121211111112212211112212121212212211211111221211112122221211122212121221222111211212211111112122111122212111221121211221221222212121212121112121122222122221222112212222221222222111221111111122211222211122222211112222122122212212221211121221121222222221222112222122211211222121221112211221122211212122222111221121122122221121211222112121122212211111212122121121111212122121122212211222212122122121122222112121221111212121112111121112111211221122222212211111112122221222222212222211122221221111211211211221221121222122112211211121212121122122121221222121212112212121221222211111211212222211222222111212221211121111111121121222221122112211211212121122111222111122112112212211222222111222121111222121211112222211212111122221221222221121111112121221212212112221222221222121212122221121211212211221122222211211222222222122111122122212211121122122122211122222122122222111111212122122111212111221122121221221122121121222222112111122212122211122122122121211221221122121222121211121122212212221121222212122211111122212221211111222212222211221222212222211111222122221122222112121222111111222212111212112112112121211222112211112221122121112221122212121122111112121211122212111212211221211222222121111211111222222222222212222112212121212211212212211122121212221211212211122122212222112211112221111122111121221211222112111121222121121211111111111121222211221212111121212122221121221222222112121212112112122212212221122121111112211221122112111221121221111112222121221221112212212212111121212222212111111221122122112222112121222121222212222111111221112121121222222122121112211112211212122112111212212211211211122212222211121121221221211221211222212122111111111112221211221221222212212121122222221212222211212212221111121211221211111121111221221121121122111122221122111212212111122222122222122212221211111222211222221211122212212212121211221222112122221222121122211121112121121221122112222122211222112221121122221121222212221121221111222222121212112112212121111211112121122221111222112211121121211211211211212121111121212122212212112121121112221221222112222211122211222121211221221221122212121111221221212111222111222212221222221221112221211211112111211221111221211122221221111222121112212211121212122111111212112221121111221112121122222111112211121111222221111121211121222122221112121112222211222121122112122212222111211212222122111221222112121111111211111121211211221112111121212222122211221112221122112112122121121111221111112122122221121112212111111121121111112221112121121211222111111111222222111221222211211111222221212221121112112121121221212212112112211221121112112221122221211222212112122121122122121111112111222112221211121111221111111211211111111121122122222122222221211122121111212222212222221111221222212122221211212122222122211121121122121112222111211111212121211222222222222111222121212111121221122111122212122211121211122211221221221222212222222111111212111122122111212221111111221121211221222121122121221121212122121121222112221121212221222111221111121111122221112212121121112211112111122111212221121122222121121212121212122122111222212222222121211122121112112112211222112212122112222122211111212122111111111222121112212121112111111221112211211121111112222212212212221212212211121111222111212222122222211111121211112222212212222121221212212212221111221112212111121112121221112222122111221121112122111111112121211111122211222222112111111222111222211211212122211221122121212212212122111222121122221111122222121221112221111221121222222111211221121222221121221112122221212212222112122222222121222121121111122122221222121112222222211122122211122222111122211212222121121222221111111112222122122112211122212222111211222211221222121122112211122111222111212222222121222112211221121212112221122222212111122112122112111222111122222122121221221221212212222112221121122222112211221212211112222111221121212221222221212221121211111212112112212122212221221121121112221122122222212121122111221121212111111221211122122212122221111121121212112122212221222111122111212221221212122221222211212111122212122211111111222212111122122112121221112221121112122111222222121212211212212111211221212111222121211211121112222222111122212122221112222221122112221211222112122121112222211221112121212122112211122212212222122111112111212111221222211211111222112212122121211121222221121111111222122111222211122212212112212222121212122121122112122121211121221122222111212211212112212212222211111112121111121212212222221211212212212111221112222221121121212112111211111221122221211222122211111212111222221121212111121212221121222212111212122221112212221111112121121121121212121212222212211111121111111211112121111222121211122112121122111112222212111121212222211222212112112122212121122222221221111121212222222212212222122211112122122212122211111221121221112211211211212221111112211212222121122112121221212211111122211211112112211222222212111121111222121212122111121122112112121121112121212112112211211122121222222222121121111121122222212212212221112111221112111221112122212211121222112111121112122211111222111221112211112222221211111222122212121121212222211112221211111122121112121211121222212211122212221211122122221211112222221211121112111122211121221112212221221211122121211112211222221211112122111212122111111111212111111112121212211122222111122221122121211221221212121222111221211112211111222111111222111221221221112222111111221111122122111221121222221211112211222111212211212221111221211221212212212211122121212121222112212122121212222122211212211111212112212111222111222121221112212121211112211222222221212121222212122121222122111122221221112212222221111111222112221221211222111111112121212112111211112221222222222211122211221222111212121122212121121222211211212212211122122122122221221122222122222212211111221222111122112121111222121112211111211221222121122212122221212212211112222111111222121112222222111211121222221112221212121212211222212121222112122221211212122222112212122211211222221111221111112211112211212222221121121211122221112121121111121221212222111211222111122221111112111212222221112221122122121212222112122111111211221121111122222222121122112111121221222112121212111112121222122222211221211111112122111112112111122222212112221211121122122212112212211221121112112111212112122112222111122122221121121211221122121121122221221211111111222121221111111212211112211121212212211211212122121112122112211212111112221211222111122211112122221111122121211121211121221221121122112122222111221211222211111112112112121121222221122212212122122121211211111222212112112121212221112112212112211212212122112122111221221121112122122111122212212212112121112211221222221112121222221121111112121111211212112121222112111121111111111222212221122121211211221211112222221211222212222121221211211121121221121122212112212211112221122221222111221221212112211122212122222211221212121121212122212222212122221111112111212112222121121221221222221221122211112212222112111211111121112122212121112221211112212222211112212111121212212122111211222212112111122112121112211211221221122111222212112112122221112212122112111222122121222122212111221222122111212121121121222112222221112211121221212211112211212122112212122112211222211121112211111111121211221212212122112211211112211211212222112211122121212121222211112211221211121111222122112122221212221111212222211111211112111121222122211111222221221111211221122212112221121112122212112222121122221111121212211122121122221211222111211122111111212122222212121121112112212122211222111211212211212211111111122121121112211122221221211112222211221122222211222221212212111111211221112211222111212112211122121112221221122211211112221111221112121222121212222212121221222222221111212221212121221121111212211121212122212121111221111222121122122121122121221111212122121111222122112111212112122222121221222212112221111111212121121212222212211211111222211212121112222121221222122112221211212121211222111211112112121122221112212111122111222212212112111121211212122222211211212221122111222112122112121111121112112211112212211121111122121221111222222222211121122221222211111211222221222111122212212111222221212111212221112112112122111121121122221122112112112121221111222122122222222111122222212212112111221112211221221211222121212212212121221121221222212112222112112122222221212111112121222121121121222222221112122112222212121112112222211111221112212211122121212212112112222122212222211212221221221222121211212212211221222121121121111111212112212121221112212212222121121222121112211211221222122212121121121212221111121221212212222221222121112112211112221121221212212221221121122212112122111111111221121222211112212111221211121212221121222111121211211212212211121221122212122222211122111221222211122221121222121221221122122121122221122221121121221112211221111122221122111211212112112122122112122112212212121211221121211212211112222212221112121222211122222221122121221111111211122221211121211222112211112211112222212212221211212121211211111121112212112122212221121221211211212112112211222221112111121122111122112211211122212112121211212221212122221211122111222222212121121221121121221121122221122111222211111212121222222122111122112221122111212122111222122111222211122212221221122222111122122111212212121211222212111212211221222112211121222211211221212221211111212111212211221111121222121222122111221222222222111211212121122111111112221121211121211222221112222222212112121112112122222111222122222211222121121121212122212111121111111212221221121212222212222222121211222122211222221222221222121221121111121112212111111212122222211121212121212211212121221211122112222212221212222121221121212121212111211212122122122112122121111221221212221212211221111112212211112112112122111212212112221221221222122221212211122212211111211121221112121222112212112222111122212221121111111212122122211222222222111112122221122121111121121211211221111221222122222121222221122212112121112221111112122112211221111211222112112211112112222222111212121222121212121221211121212121222221222221121122212211211212112122121112111212121222121212121212221222222212221212121121211121211212212212222111222221111221212222122212221221121212211111212211221221111111111221111211222221122112111211122112221212222121222212222212211211221111221121121121211221121212121121221122122211122122221221222122121112211111221111211122211211112112211221122211111121212221111221111211221212212121212122222122122122222121112212111212211121221211111212222212222111122212111211211222212212222112112222112211111112111122112112122211221111211221121121112212211111122222222112221222222112112211122122122211222221111212211212122221112222212121122122221111221112222221122112221222111221211212221122121111211121212212222122122122122211122112122111221122121111121212112222212221211112112121211212121112222112112222121212112121112221221121221212121122122211222211111122221221222221122222111112112222112212212211111112212211221112121122121111212222221122222111211211111121211122222111222121111111121122212122212212221221121121221121122222112222211212121121222221212111122122222222212222212111212122122111221112112221211221211122111122221121111111212111212112222212222121111221222212212211111212212222121112211111112121112221121222211221221221121112111222112212212212111122211211212112222211112221121112221212122122122221221122211112222121221112212211112212121211222122221121211212212212121112211212212211112111222111222112222222122221111122111222122121121112112122221222222121121112211221222222122112212211222122212111212111122221112222121211212212111211121121222211112111212122212211212111111222111212212212121222221112221211212222211111112222111211112212122212211112221112121121221221111221122121112122122121111111112122212122111221121122121112111211212111211212212212121221112111222212212122121112212122222212211112112121222211211112211222211121111222112211212121221111122111111121112221222122211121121221111222212221112112111112121112221122212122211221122222222122111212121111112212112122221112112212122221122111212212111122121221112221212221121112122122121122112221212221121211211112111112211112112222221122111221222112212211222112112222222122221122222112212211121111122122211111221111221211122221221222122211122122222222121222221221222111121221122211111122111111211121111211111222221122112212121222111122112212111121212211221111212222222222112222222212122112121121122112121121211211121111221211221111121221112122212111221212121111121112112111212111112122221222222212111112121121122212122212112221121112112121221221221212222121111222111211111122222221121121121211112212111112212122222211221222121112221212221222221221111222111121221212222222112111122121211212211212212122222222121122122121121222211111121111111221112222221121212212211112221212121122121121111221211111212222211121222221111212122122121211211211122122212122111221211121211212211221122211111111121222221222111122121112221122222112122212211221222122111121112122111121122222121111222121121112122111122221121112211121121122122112112222121211211212122222212112121122122121212221221121111111121211221121111221112212122111122212122221211212121212111112111112121111122121111222212112222112121221221111121122211221222221221212121222122212121211211112221212112211211211122212221212211221111212221212221121221121111121211211121122221211211121112222112122212222121222211112122112112122122112221111111221212122221212212211222221211222222122221221211112111211211212221211211121122211121111222122222212211212221112112122222222211121222222222221222111211122111121122122112121212121112111212222112112221212122212222211211121122111122222211112121221112111212211111211222122111211111111221222211111121221221221221122121111212221111121121112212211222111111112211222121121122221112121212121111111111221121121112112211211122211211222122212112111122122211111222212211221121211112212111122211121111112211221211122122222112121211111121112122112111122121121122122122112221121212221211112122122112222122221122212121112221222212112122121121221211212122122121221111211222211111221121112222111222212222222222111222122222222221111122222221122222212112122212212211111211212221111212212222221112112221212211111112222122112211121222112121112211222111111222221221121211212211211211111222211121112112221221112211121222111111121111112122122212112112221121211212211112211111121122111122111222112121121122212222222222121111222112222222222222112212121222211122112222222121212121111121111211221121221221221221111122122212222222111212212112212111222111221212222111111121112222122121222211222221222222111211121121212211112122211122121211122211122211112212221121211111212112122212122211122121111122212122122111211121122121222112212111221212221222211222221222211112212222212121221221211221122212111222121211121112211122121122222221211221111111121222212211221111112221221122121211221222211221212121111111121122122121121211112212121211211221212221221212221211221211112122121111112112221121121111212211221212112112221111211121212211111212212122222111221122111112111212221221121121212211122221122212212121221221221211212211221222211222221222212111222222212122121122111222112212212222222122111211211211211121122121221212112211121121222222221211111122222122111112221111221111211212112211112212211122122222122111211111211211221112221112121112212111121211122221122212221121212111122122121222221221122211112212122122111222222222121221112211121222122222212121222121222121121222112112121122111111111122211111221221122122211221112212212222121112222121112112122211112222212222211122222121212112112221122212212211222221212212121122122112111222112221212222212221111122211221112221212111111211121212212121121112221122221212121122221212111212222212111112111121121112122122222112222211122212121212211111111111121222121122211222112111121212211121221221122221112122112211221111222122212122222111111221122121212111222122212112112122222211212212212121221212121111112112112112212111212122111211121212122212212212211122221222222111211121221221112211112222112122222222112221121111211222211121211211111221112112121211111211222111211222221212212112222212112212121211111212112111212122211121122211122112212222122111112222121121212121121221111111122121212221112112221222221221221222212212122222211221211222121122122211111112221121122221111111121112222111221222221112112122221122221122122222111121121222211211221222221211222112112122211111112221211121111211122122112112121112122112212211221121112112112211122212211221122211111222111122221112121211122211221212212211221122222212112111111111221112221121211222122112212121222121122222112121222112111112212221122211122112122211111122112211122221211112112221111212211111212121121122122122111121221122122221211222121121212111121221121222222122222111211122111211112211111221111221112112212221221222221221212221211212222211212121212211222221112111121122122121122212111111211221121211121112221211111212121212211221112212111112111122112112222112122111221212112211121122221212112212112111212111211222211112211222221221211222211112121221111112222112211112221121111222212112112111212221212222221222122122221121112122212211211112222122221221121121112222211111222211212112121122122122211112212212211211212221121211112122221112212112112221121222111122112211111221222111211212212121122122211211112111112121112122211211121212222221122221222212122221122112122121122112221112211221222222122222112121211212211112211221212121211221121112212111212221221112211112221121112112211211222222111221121111221212112211221122121222122112222122122221111221212121222221111111111221211122122211112111221122222222211212121211212122211221212212222211121222212111211212122211221222212212122212111211111121222111121121211122212222122121111111121122111222122112212112111221121121121111212222111211122222222212221112212212212221122212212112121111111212121122122122221122122212122111112211222222111212111122222121221222121111211221112122112122111211221121111111111121122111221122111122111211121221111122112122222111212211121121221111121212221122111221221122212122122211112122212112212112222111122222211112221111112221222122212222112111222222112211212222222211111221122121112221121222212211122212112221222211112222122112211211221121121221222221212221211111121222112212121121122111222112212211121222222122122212111122112111121112121122222222112111121122111211221212211121122122121111212121222111212111111221221221211122222222121221121222122111212222121221122212212112211122122111212121211222111211121222222121211111221121221212221211112111221122211221111112111221222212112222112221112221212112122212211121222121221112121112112221112222112212111212111212222221222112111122211111121221221111121222121112221122122121121221112211111122111221212212122112222212222221221122211222211111111212122211112212122121112222121111121221221221222112122221121222222112111211221221121111121212121212122112222222221221221122112122211121112121221111222212222222222111221212211122221111112221212122121111111111122112221212112212211212121212212222112211122112212212211212222111212221112221221221112121111221211111121212121122222121121221121121221211211112221212222112211112112122121211121122221121211112212212212212111121122211222221212212121211221112111212112111222212222122221212211212121111111112221111211221221122121211212112211121212212211212122111211212112212121122112212112121122111121111221121111222212112112122212221212221121112222211121121111212122121112122211212211212211121112121222112221111111222121121112221211112122221122211212221122211211112111112222222212122212122112222221112121221122212112221111112121122111221221221222221111221211212212122212212212121121122111212211122212222211222212121212111222111222121122212111111211212212121212121111112111122112112112112121112112112222211211222121112222112112221211221211221121111222212111111211121111112221221211121122211222111211111112222122212212122212222222212122121121121211222122122222111211112121212122222221222121111221222121221222222121121112221122111212211211211221211111221212221122222112221122121221211221112212211212222212121211222112221212111221212221222212111121111221221122122122122122111212111122122122122112212111112212221111121211121212222222122122121111211111221121121222121212212212121222121112221212111122112122222221112112122221122212212112112221111222121121221211122111112121222211121211111211112111221212212121222112211212111111121221122122121212221211222121111221212112111212122112222211221221112221222111121121111111122111122222122121211222122112222212121212111222112222121211121222211212111212112111221211211121212212211212121221111222222111121222222112121111212222221212222212212112122121122111111112212212121121211221222211121221221111222112111211211222221221122121121111222111112222122211211222221212211211121111122211121212211121111222121222211211122112121121121121212221121121212211222121212122211111221121112112212211212221221121122121112222212112221121211221122212121111211222221221212111212221121212222112221221211112122211221212211221212222121222121122122222111111221211112222211122111221222122222212211121112122222111112212122212112112111111112122212111112111122221121222111222112112212222212111212221212212121112122122212121211221121121212121121121212212111111221211222122211122212112222221212112222221221121211211112121112211212122221211222212111211222221122112121212222211211212121212122121112122211221211121121221212122112121111211112211122122121211111112211122112112112212111111112212111221221121121211212112111111121121112212212111211111112111112122122122112121222212221222121221112121111111222211111121121221121111221221211111212211222111112212211112212221122222112211112112112112222212212212221111121221221222221221112121221122111111221221112211122212112222222222211121112212112221222112112212221221122121212111122121221112221111121212121112212221212211121212212221211111211112121111212121221111212212112122122122121222121222221112121112122211112211212212121211112221211112222221112111222221221222222121211211122122221121121211122221112121112211121121121111111112122112211222212221211111111221212121122112112222211222111212211212111121112211112112221122221222221222111211121221222212111112211111121112212211212122221212212211112112111111222221221111212122212221211122222111121112222121211112111122121122212211211221122112211222212212222111122121111121221122122122121221211222222221221211122211122122221112212211111212111211212212211122111221212211122211212122112212121212111122111121112121211122212212221112222222222122121112122111222112111222211121121122222221122111122212222222122211121112111122222112212211121212111221111221221212121221121121111122121222222221222122211211121122121212221211212112122211122112111221112111211222122122211112121222112121112111211211212121122111121111221222112222221212111222121121122122112211212212121212122211222122221122211211121122211222221111122122112211212122111121212111121122111211112112121112211111121121212221122212112221211212211111112111122222212122112121211121222212121211122221222112211111221121212121211122111222121122221111222122222221111212222222221211112122221121211222122111222112212211221122212212111121221122121112221122212221112211112221212111121211122121121221221221222211112212112112111111212121222111122222212222112122112121122121112112121111111222221122212222212221122112111112122121121111121111221122222222122111212121111211212112222222221212111221112112121221121222112222222211111112212222211122111222222221112221221211211221221111122111121111112211122122212112222222212112111121221211212121111122111222112121211111221112112211221211222111121112222221122122122112212112222212112211221122211211221221221212211122221222211122222122111211111122112222111111222212121222112211111221222121222111211112212111112111111211222212112122221222221221221121212122221121111111111111121122211111112222221211112221222111212112112112212211222211221112211221121112121212222221222221121222122211211122112122111122222212212112122122221222111212221222222121211121211112112222211212211212211111222211112221111221212121222112221121111121121222111111121221221122222112212121122122111112121111211122112112212111221221112111212112221212212211112111122221112221112111112222122112122111222122221112121112211122122121211112221212122211122122111212212111122111212211112222211211111111111112122221122121121212111211212222211222111221111121222111221121211111222121222111111222111211122222212121122112211111211122211222112212121111221111111122212121111212211121221111112111221122222121221212212122121122222221111121211212211221122212211121212121212112211211212112112111111211122221221212212211211211111211211221221221111211111221222112121211112222121221221221112111221122111222111211221111221111222212121222222112212211122221112222111212222112222212112211211221122121212222121221211212111121211221211121121112222212122121221121112122112212121122212221122111221112122112111212221121111112221122221122121212212111222112222222112211121221221212122111122222111111122122212222212211212211212221211121122111222222122221222112212122212212212211111212222222122212211112222121122111221122222222222221111212222212211222222121122212211122212221121212222122111211222112222211222112122221111212212121121122122211122212222211212211221112212222111121122221212112122212122112221122112211111121122222121221222121211122211221112122121111221112121221211212122212211112211211221111121111211211211222121212212221221222122212121111222122121211112211221212212111122211112121122222212112122122121221212221111212221221221112222211111112122211211112212111112122122222111122121112111221111121221222111122212222211122222212222211211211111112111221122121121212221222112222222212122111212221211222122122122112121221212111212121112212212212212222221112222211122221111121111111222111121122121111212122211122222111121122221212121111112221212111122112211112212212112121221221211111211212212111112221212221111212221211221222121211212112111111111211121212211122222111111211111122122211211211121112221111222212221122111112121111121121121121211122111111211212122222121122122221122121122222122222221211211212221221211211111112211121211111112111211121111122212111211222222211221111112222112122112111221111212222222111121212221121122211221111211112222122212112112121212212221211122121112221211111211221121111221111222221222211122122111122112111222112211222121112122121111121222211112222212221212122112222121212112122211212222121222112122121212111211111112221111111222212211221111112122122121211122121211211111112112121212122121212221112211221111211121121122212112121111122122211222122121112112212211121221112212212121221221111211111122112122121112112121122112122122112212222212121121112122211212122122111211211111221112212122221222222112211222121222112122211122222221212221122112211212122212112112212122111121112121121111122122122222211221112222211221222122211111211212221121112222122111211221211222211222221212211112121212211111112111121122221121121212112222211112112211111122211121121112122211221211222221112221212212211211111212222221111221222111221111222212121111121111112211112211221112122212221221222112221121111211111221111211112112212112122222111221222121211122111211112211112211222222211121211112212112222122221121212211122211222211212111221221222122211111222222122222121211221221121222122212222121111111111211122121221211211222112112122112122221222211221121221222122222212122212221121122212222212211222222212112221212121122111111222112222122121111121212222121222212112212121112122222222112212212212211212111121121112112122122111222121121111122112122121211222222122211111212112221122122111121112121212221211222112211111112212222111122212121122222121221211212212121211111111222211222121112122222122111211212111211121112112211221112212112221222212212212122112111112122212111212222111122111211212112222111112122221221112221211121211212221211112111121122221122212212121112112212222212121112122221121211222212212211222111121211212111211212121221111121221222211222111222111212212211221211211221212111121221121112112111121221122222121112112112112221111121221111211111111212211221212211211212211212211222211211221222111112211211112121111112111211121122222211212121222212112122112112221112122121222111111212221221121222122212222112112222122112222221121121211121211111122121222212211211221211111111211111222112212211211221211211111112221111121112121112222222121111111112121121112212221212111222121122211122221211121122112122122212122221111222112111112211211121121222112212121211222221111111121221111212222122112222121222222111211212222112212222112211121222112111221212211121122212222121222111122122121212222121221111222221121211122211212111121112211121222112121121112221211121212122211211121122111112221121121121121112221121112111211212221212221111121222211222121212211211122122122111111221112212222221111122212111111221121121111121211121212111212221111112222212112211121222111222212121221212111112222122121122211111121221122212222122122111221121212222121112212111111112122212112212111211211111121212122211221212211121121212111111121222211212212111221122211111211211111211222211212122222212212222212211122122211211111111111212222212222121222211221122112221122122112222212111222212112212222121112111112221221121122211212111122222212221211122121212111211112211221222112121221121221221212112122221212221111211212221222212112212211222222112112211212221122122121211212122212111212111122222121111221212211111212211212221112212222121211112112112112111212122122112212111212112211121222212212212111222211222211111211112122221122112121111221212112221212112212122112112112112221222222122221111221211122111112211121112122221122121112112222222112222122112122122221112211121221211211112112222112221121211112111111222222212212122112222212112222222121221221121211122212112221111222211121221221121112111221221112112112221121221111111111212111222111112221112121112212211112111112111111121212121121211211122112222112112211211212112121121222212112111221121211111111221122122121121122211212122111122221221111111111122122122121222211122112112122212211111221221222112112222222212221112111112222121222222211211121211111221212221212211121111112112222111121121121212111221122111211211112222221112211211212212111111221121112122122211112212211121221211122112121221121211221112222212111211111211121122111122112111122222211221211221111111122212122221222212122122211212111121222122122121111112211122221111112112221222122222212222212121112222111211112221112222222221112221222211111221111111212112222211122221111221221211222221122221122112112121122212211121112211221211221111211121122112112221122121221212122122221112222222121212212211211111121221122211221212122221121212112121111222121112112211122221121222212122222211112221222222111121212221111122212222211221111222121211122221222222111222112121111111121221212212112222121112111221112112212111211221112222221212121212121112212212222212121221211111222221221211122112112111112121111121211221212112112221211222111221211222112111221122221211112111222211121112222211211222111212121111122122121211111221211122211222121111111121111121112212211121211222212122112221212212122222111221112212222221221221222111212121121222111121212222121121221111211212111122112111122121122112211111122222121211211112222212122111222211122121211212211111211222221122121121111222212211111122222222221111112111112222111212121122121112222221211222221122222122122122222121121221122111122211221212212222121121211222212212222122121212111212221122111122122221112212212211121212111112121221112222111111211221122212211212122222212111112212111221212112112222122122111122122112121122222211211122212122111111222122121122111212221121121121122212111112122221212111111222212211211212112211111121111212212222222111121111211212112122112212121121111212211222112221221121211211222222112221221211211222111211122222121221121121221112211222122222211112121222211121212221222222221211211211221112212222122222222221211121122222122112221121211211222211211111211122121112222221112211221222112222122122112121121112111211112121122221222122221121211111121122121121111211221122121112222221221122222112112221222222112211121121222221122122222211121222112222122221121212211222221122221211112211122111111212211211112112211221211122121222211212222122122121112112111221111222122112121211211221111212221111222121121221112222211122122112211121121112112122212122211222121122222111221211221222121222221212221222121221121221212221122111211211211212222221112221111121122112211222221212212121211122221122121221111112211211111212121112222222221222121222222212111221221112222222121212222121221212111222221221121122212121122122112112221212122212121112211122111112222212122212112122222212121222112111112121212221112121221112222121221221122222221122222111212221212212121112212212111212211121121122112221122221121122222122211221221111222221112121122222111112222221112222211112222112211211111121121211211121111212212112222221221212121122111112112221212111212212112112212122212121222221212112211211211112212211221121212112112122211112222212112221122212111111211221211112211222211222121211221212122212111112111221211221211111122122212111122112211222111222212212111122222222211222221222121112222111221212112211121111112211221212121112221111222122112221221221121122112111111221212111112122111221211222222221111222212212221111121111211112122221121112221221221211221112222121122121212111111112122111222122122212211121111211222111222121122222112111121111211222121212221212211222122222212112222111112111111221221212211221222112112222222122111112122122111112222221121112221122112121211122222221121212211121221221221121121112122111111121211211211221221111121112221212121112222212212212212221111212222111111122121222111122111222221111211212212212212211112222222222211211111112212121212122211211222112222112121121221122212222121122122212112222121121112112121112211212112211222112112222121211112111212212221212121212221211222122121222121212221221221121121221222221121112211221212222112211111221121111112122222112221122221112122111112121122222122211221112122222111221111111212211221211111222222121211222222211212221112122212222211212211112111112211221222221212211112222222222111221112121111212112122121122221211222111121222211211112211222111211112221212222121211111111211112212221122121221211112222122221121112121221212111221222111221222112212112121222112121112211211121121211221222221222212111121112222112121112122222221111211122221112211211122111222212111122211121122112222211211121221221221112212222212211112122221211122222221112121211112211221111211211212221111211111221111211122111121211121222221221211121111121111222221121121211122122111211221122121222121121211211111121212112111221222112221221111211121112111211222222211212121211121211222112111221212111221221211122212112211112111222111211212222211212211211221111222112221111222211212222212212212121112221221122211112222112111221112222121222111121122122112222212221112121112221122122212121122112222221221222122211212211221222122112221212211221212212112211112221222222212222221221211111212221211112222121121211212221221211112221222222111122111212212222122121222212211112122212121122111121121122221121122221122111112111222222112212211222112121121212211211222112212111222111112211211221112222122212111221112121122222122121211121211111111221211222121212121112222211212222221211112121221111111121122221222122112212212222212222221222211211211222212211221222121222121111121121112122111221112111112111222222222211221222112222221221112111222111112111211211121222211112121221122112111112222211221221121222222111111112112212212121212121111122122112111222122222112221222121221222222221211111221112122122212212112211212212222222122211111212212121121112221212212211111111222211122122122122222121111211221222112121211112211111121211221111122221122212222222121222122222222222122221111211111211112121221212211122222221212122212121221221112121111212122122111121211221222112111111121212121222212121212222121122122121111222211111221211121211212222122121112222211221221121221211221212121221121122221211212111222211222112111212112111211211211222111111121221122122121122222112121212222121222111111212221222122111211122121212221111111122221222211222212221211111111211112112112212121112111112221121111212111212122121212122212212122111122221121112211122212222112212212221122112222121212112221212221222122222212221221122112122222211211221121112122222111111212222221111112221122211122122122111211221121212122112221212121221221212112211221212222112221222211112221122222221122212111121221212111212221212121221112111222111222122222221111122212121221222211211212211222121111222122221112221111221111122112212212111112221222112122121112112212112121121121122121211211212112221111222122221221211222222112211222111111222222112111221212121211112122211112121112122221222121121221222222112222112212212112211212121112111221121212112212221211211212122122122222212221122222211212221212211212112222222121122121122112221221112112112211112221121221121221112112212111111122212222212121122212211212221212212112222212221111211221211111211212121222111222112221212111122111121211121221211111212221122221211111112111211112112221221111122121221211121112211212222122112212121111222221221222212211212122222121222221111221121212121221222121122211221212112112221222212222222122121212222112212122122112111122211111121221122121111222211122111112211211111222211222211222211222121122122222121211112121111211222221112121221212111221212121112212212122212221121112212122112122111122222221221211212212222212212121121211112122122111211122111211211222212121112222222212121221212212112111222121222112212121121222121211221222121221211222122121222221222111211211111121211212121121212222121212112121121122222221221212212211211121221222211221112221111221121222111222122221211122212222211221212122221122122111212221212122122222221122222121221112121211221122212111211121212121211122212122221122211212121121222221212222221211222221212111222222112121111111122222222222122112112211122211121222121122121122221121121221221222211121122212221111112112122121222112221122222121212112121112111221211221121221221222221222212221121121112211211111122211122212112112212212212212222121221212111122222222121222211212222211112221221111222211221111221222111122212111222222212121122212212211111221122222211111121222112221122221122121212221111122211111112211211112222112221212212222111211221122211212211112112122211121122222222112121211122121212121212122222112121112222122221211221222211112111122212212112122121111211111112222222212122112112111222221122112222111121111222111221221222211112222222112222111211111121121222221121211112112211212111121222121221111212212112121221122212112222221121112211222112121112222212121121121121212222111121121111112122121221221211212122111122111111212122221221221111212222111212111222222121211111111222221122212211122121221221111221112221111211112121112121112111111211111211221122111121211221211211122222212111111121212212111221112212222122211221212111112121112111222212122121221122222112122212211111112212211111212112112211122122221212121112222111111221211222211112211222122111112221121112212211211112221211212111211111221221221112222211221222121122122122122222212212111211222221112111211112221122221122121222221112112112121122222221221212112212122222121122121211222111121211121112121211212121221211122122211221222222222111221221212221121211212212111122211111112211212222111221211211222221222211122222221212212221111221221121222121222222112111122111111111121212122121211112122122221112122111111222222121112212122211122222112222112222222221211211111221121122111211222121211112121222221121111122111111112211212221212211212122221121211112122121122111122222112122221121112211222221211112111121222221122221211222112222212211111221222112222112112112211112121212212222121121211212211112212221111121112112111211121111122222222222111222212112121112212112221111221211112112121111211221112121222121111221122111111222122221122112121122112211211122222122222111221121222222222221112111212211122211212111111121211112111121111112111222211221211211112212211222222222111121222222112122121122211212121121222121211111221112221111121222221122122212121112221222112111221222122212122211111121122121111122112121111212112112221122222211211122122222211221121112221211122212221212121112221221111211212112122221111222122212222222222112212111112112221122112211221211112122122122212222121111222121211122122111112212212212221121111211211111121212121221212121112221212221212221121221212221111211112111122121121222221111222112122221221121121211211111111212221222221112222112122112221121212211212221111111111122222112212221222212122211121212222212111221221212211122121111111122211221222121122121112212111222112121121222211221121221222221221122211222221111221221212221122211211112211222221222221221122221111211211111221112121121222112122222222212112121112122222111222222212222111122112112111111212122111121222221111111211111221221211211222211221221121111112122221221221121212212211211112221221112212122111221111112212121212111212111122112121221222212222222121212222112212121121112212121212221122111221122222212122212112111221111212212122222111111222222121111122221212111222212211222212212211212122122221222222222121112211212212121121121212112221211212112211222212112112222222222111111212211112212222112111122212221121221111122212212112122122212222221121222221222111221212112222121222221212121221122122122121211212221221222221221212212111221111212111122111111212212212122221221222122122212111111222111111212212111121222211211122112211222221221111221122212211122111222221212112211222112222112222221211111121111212111111212222222122121212111111122112222222122222121221212212122122122122111122122111111222222121122222222222212222121211212221212212211122222121222122212111212221211221211112212111212111111122111112221122121212122121112211111222112111122211121212211122222211111212221112211212111212221122122122211111211211112122122212111112222211222121222122212221122221221121111221122222221111222222211221222121121211212221122112222221121211211222111222212122111222121121221111122222112211222112211212122111111211122112122111122112221112122221211122211222111212222221211121221211221111112221212112221112222222112211211212122221212212212111212111121221211121121121221221222221212122212221212221221222121212212212212221111122221221212221121111211221112111221222212112111212122122122111222112222121111112222121222222111122112121222221122212112221121221221211222122122121221111121121222121121221112222111111221222111212222222122112122112212212121221121112121111221212221111221221222122222211222112111222221112211221211111222111122221112112122211122211122121121111211112122121222212212122121222222211111112222112122212121212222122122212212222122211111121122111212211212222121222212121122211211222211212122211221121111111121121222222212111222211212211212122112221112122221111211122112121122121211122111221222211211212122122221111222111222112122112221212122122222121212122112122112221211222221212121111222211222121122211112121122112121211112112111221212222222222222111122222222221222112212212112211112212221111212121222121211211211112222222121221111111121211211111221111122122212111121211122122221121222211221121212121212211222122122111212222211211211122212222221121222111211212111122211111121211121121111112221112111211222112212122221112222211121222121221112121112121212211122221122121212121111121222211222112221211121121121212111212211211112222111121221111121122111121221112221212212211111122212121122222211211212122121222212112122112121112111121122212221122121212111122221221111122222221221112221111212221222122221112221222221121221221211211222211221222112112222211111211121122111111222121122111221121111212212222211212122212212211112222221211121221222222211121122212222121221222122211111221121211121121112222121222121111121111221211122111112211122221222121111112111222212111112122121111112211211221112212112221221221121112111221221222112122121212111111121112212111222221222112221111112111111111212111122121221121121221221212111211122122121221111212111121222211222212121122212222221111122121221111122221211111122111212211222121222111211111111211221111212222121221112221111121122121122212122211212222212211111121212222112211212221222112212112212112212112112211122221112221222111122222222112221221111222121211221111212211122112222222212121122211212121212112122212221112121211222212112221111121122211121111111122112212212122121121211222211111212112111211122212211121222211211211211111111211111111121211212111222121212111212222221211221211122111212112211222212221121222122112222111222221122212221211112212211222211111121122222122111212212211121221211111222121221112212121211212121121112122222221222122121111112221222112222111222111121111211221221222111222211111122121211211222111111211122121212112221112111222112211212222221222211222122111122121212111111122222122111212111111112221222112211111221222121221222121221221222211112211121111222212211111221111122112111121211212121212111112221111212221122212211222221122222211222211211222221221111111122121111122211112121211212221221122111122222112212121122112211122111222222221112211121222212212122221212111212121222212111221112121221211112122122211221122212212121212112222211111211221212222112221122211121112221121121121211222121122121112211111222222121112121111211122121211221222111212211212222111122122122221211212222122211212221221212221212111122121211112111121221121212222212222121222221121221112212111222121212212121121211222121121211211222112122221122112111212112221111111222212211221221111222212211121222121212121121111211121111221222121111112112111222211211221122211221112221222212122211221112222211122211221222112222211212212121111112222122212122222111212211222222222122122111111122121222222121111222121121112222111211121122212212121211122221212222112222112211121221212211112121222111222211122122222212221121122221221221121212111211221122122121222221111212111122212211122112111221222212121112212221222221222221211212112112221121212221112122221112122112222211122222122211111112212212222121112221122212212112221211212121221121211212112212211222212212211221212212221112222112212111121221111111212122211221121221211212122112122112211212121121121221121212112111221121222122122211221112111221211222112121121111122122121221112212212121212121222212221211111112122121221112111122212212211221121211221112112112212122111211211211212221211112211111211122211212111211122222111122212111122122222211221212221112222212111221122222111221222212212221111221221122121121221222112111221222212211212121221112222121111121112221112221121222212121221212121122121122121222112222211122211221111212122122121221111122211212222121222112111122112111222121121211112112212222122111121212121212112111222222121211111211121121122211111121122112222212111221122122112211111122221222111122222222121221112112122221112121212211122222222111212111122111221222121112212121222112222212121112211211222112211222112212221222222122121122121221121111122211212211211112212222112122121221222122212211212112221212212121121222212221221122212212212122212211122111221111122122211221111111112111112222122221122111222122121222122121121112222211211222112221221121221211112222122211121111211122121112121122111112121121112212122221211212121221122221222122212222121111122111221222122221222222212122121111121121112212112121222121221111122111111211112211121121112212222122111121212122111121212222221212121122111121221221121221212221111221112111221121212211221211211112212111222222222121211122122212221111122112221111221112111212222112211211111211222221212211212212112221222121122222121111112112211122211221122112221222122122112211121221121111112121122221221121122222222122111121122222122211221221221112221112221122221211112112112112212121122221112222212212211221121221112112212222111221222221112111122221112222212212212122212112211121111211212121112111122122211212112211112122221111111112112221122111122212212112112221121211111212122111122121211111121221122211211212222121221121112121112222222221122112212121121212212212111221221222211122211111222221111212111112112221222111121112112122222221211122212221212121121212122112211111212121211111121112111112112221211111112112121221222211222222121122122121122222222222122212211122111111221112112122111221122222111122221221222122212221221121121222122121212211121121122112222222121121221221211111212211121222221122212121212211112112222211211211212121122111221111112111122111221211111111222112122111112221111111121212111112211112212111212222111221111112221212211212112112121221222222122222222111111212112112221212122211122211112212111221121221122221112112122212212221211212112221111111222211221212112222212222111221211112211221212211221122212111212212221222211212211111211212211211122221222212112122212211222222211222122121212222112221121212222211211111122222211122121211212121222221211212122121211212222222211121121212212222212222111212121111222211211121211212212122122111111121222222212212112111211122222112212211211212211221221112221212121211222112211222212211212212121112222212211121122112122111222121222212122112212221122212111222222111221222121112212221122222212111221222212112121111112111222112122122221121222112121121121111121221112111122221112122222111212222111111221111122212121122212212221222212211211222211121211222222221212211122211122111122211211212112112112122122121112122222121212121112112222112111121112111122221222112111221212112111212211211122222222221111212112222221222121112212112211221121211122111221211211222121211122212112221212111221222112111211211111112221221121222222221211122221122221122212221111121212111211121122111222222221121121221222112111221212212211121212112122221122111121122121111112111211111221122122121221111112222122121221221222111221112221121122112212112111112222112221211212211221221222221121121211212222121122112212112111211211122211211121121221112212121121212221111222222112121212222221121122112111111211122112111222222221222122211121121212111222122121211211222212111112211111111122111212112221122121212221122212211221211212221112211112222121221221121122211211211212122222112211222111222112212111222111121122221121211121121112221121212211211211112212112221112112212222222212122112212122112112211121222212111222222222212121111122221122221212212211111221211122112211112121211211211221121111221222112121122211122122112112212121122112122221211121111122211112121212112122112111222221121121112222121221122222122122121111111212112211121221212221122121122222211211122111211212122122222112221121112222211222222121122221122212212211111212212111111211221111212112211111112221112121222121121122212211212211111222122222212112121122212121122121121111221122222112112222112221221121112121222222122211112221211221212212122112212112221211122121122111121111111222221211111222121122222211111121211212211121222222222121222222122122122111121121121211122122212122211211122212212112111222211111221121111122122112112211212222221111211111221222212111211111221111212221122222221211212112222221122122122222111112122221121122122122111211112112112211221111111111111121221212122211122122112211111211222221121221112111222112212112121122111112121122112222221211112221121211121121122211112212111211211222121212212212211112222111112122112111211211111111121111121112112221122121111222212112112212112122111211212211222221111121111112211211211111222212112111112211212221122121212111111222121122112112112122111111112111111212212121121211221111112211222222212111222222221212112111222111111111111221112112212121112212222111211121211221212112121112221222111111112222212212111221222222211112211221112212212211111122221121122212212121112111111121211112112212221212221221211221222122112212212112122122221121222211122122211122222222211122221111211111111112122212221222212212211112221212212111222212222212122122122122212112122111212112221212112111122222121212112212212212122112222112122212211112222112222121221121111111111212212212111212121212221121212222112221112121221121221121211111222111111111122221212111122222111122112222121112222111222122111111111212221111222112121112221221111121112221221222221121211222212112111111111222211122222121111111121221222221212211211212111221122222112112221211111122212111122211112122121121221222122121112222111212221222112212212221122111112111211211111221122121111111222211112211112211111121121221121222221211221212211221121222122212122211212212222121121222122212212222212222122121221212212121121221112112212221211212111112121222222122211112211212121121112112122221122122121112111211212112121211111222121222221211222122212111211111121111112212211122112222211212221212211211212211121221122212222222111222211212222211111222221122121211221111121212122211111222221111212212211112112122212221121222121222111221221212122111212112212211221211221222212121121212112122221221112122111221221122212221211211222211221211111111112111121111121111222121122211211221111222221111112221112221121112222222221212112111222222111111211222212221211221121212112222121121221112212212112121212222222212112222121222122112121122222221221211221212112211112211111221211112121211211211121222121221112221221221121111111211122112111121211221212222112111112212122212111222222222212121121122112122121221212221121111212212211212211221212111212222122111211212222111211112221212211121211211112211221121221211111221221222122121221222221121111111221221112121122211122222112211121212111111211112111121121222121121122222112121121121121212222112211212121111121121121222221222212122222112112212112211111111221222112222212212211221111112221122111221222221122211121211122221121121111211211111221221112121121212112121212121222122121222121212112221221111212121212212111211112112121111212221212111221212121122221111111222121212222122222211112222221221121111111222221112122211121111112111211111211222221221222212112222112222221222112212122211112111122121122112111112212212122112121111221111212222212222222212111222112212122122222212111112212212112222111221212111212221211121122112221112121221211211222211221112111211212111122112121111121112111121112121122222211222111222221111211222212212222221122122211121211221111221122222122121111211221211221222112212122211122112212122212111111122121211121221212211122222111222221112111221121222111122122111111222222212221221122222112221112112112121211111121122212211211212111112211121222121222111121122211211211221221122111122211221111222221122211112222212112112122212211212121221111211221212112122112112121212111222221221111221221222121112211221211111222222211111212111121111121221122122121122211112222122222122111222122221212121112222122211222222212122111221112111122111212211221221221112111221121222221222221221121121212121111212211221121111212221111212212112112221122222212222222211122222212212221222212122111222222222211212212122111122111222222211222112221112221111221211122222121122221122111112112112112121111212212211122221211212111122121211112212211112221112211122111111211112211121221211212212121222122222222122111211112222111112222122121121221111222221121121222221122122122112122111111211122212111121111212221111121111211111111222121212122222222121222212122212122221212222211121122212111211112212122112111121111222122212211211222122222212121111222112212212122121222112221122121112212211111122112212222212111112112211212222211122211111111211111211212212221112121221212222211222121212212221121221211112222121211112222121211122121121221211122111221111222221121221211121121111221221112121121122211122121221211112112112111221121112112212211212111222121112212212122211221212211111222112112121222212112222221211111122111222121212221212221222221122121112211111222212222221222211122222222221112112222122212111121211111122211112212112222222211121112121221212111122222121212121112111122211211212212121222121211121122211121212211111211212122112212111112121212221121111221122111212122111212211212112212222111222211211222221222221211121221121122111121121221221212221211111121221111112121121221111112122111122122211221211222112211212212212112222221222211112221212222121121111122122211111111222222111211222211122221111111222111222121222211222122221222221212111211222211212112221122111222212122212112111122112121111122122121221111222122112221121111121111211121221111221112221222122222121212121222211121212221211121112212112211212222122222112212222221212222111221221222112111221122212121222121112212222111211212222112111212211112212221111121112121112112212222111222122111112121111122212111221221212221111211212122112122221212211221112221212222112121212221212221111121221112212221212211222222122211211222112111211112222211111212221212222222121122212122222222122121212222211112122122211222111111212112111212122211211212211211112122212221112112122112111112121222221212111211211122111121121211222211112112121122122212122211211121212111212121211221111211121122112211122121121212211111111121112211221122211112211212112212222122221112211221212221111122111212211111211221112112221212221111111122221221121222211111212122211221122221212112122211112211111112212221121111111211221211211122111212212122221112211122211122111111211211212211122121122212121221122211221221221221222222211212122212221221211112211111212212211111122211112211122111212122221111112111221112222211121111211221122212212222222221121121111211212122222112122222111111222212111112111221212112112222121111122122112211111211112121122212222212111221221111111211211222222222222211111221122121121211212222121221222222112222122211112221221122211211211121112112221212122212221212112112111212211122211212121222122212112222111221112212212222122211212212212111112111212122222122211112221212212122221211111121121222112121111212111122122112212111121221211212211222111222111122121211212221211122111121111111112122111112121122212222112121121122211122122222211112212112122111122211122112221211112122212112221121211111222211112111211221111121222111212222212112121121122112211211111211122122212221112221221221111111222122222111111212221222122111121211111212212122121222211211221222222211212211222222112211212212111221122112122112122111122112221121122121212211212112222222211122112222112211211121212221222122211221121112121211112121111222121222112112111212111222121121122222112211222121222222211122221221111222222212221111222212222112222121222212121221122222122211112122212122221122112211211222211211121121121221222212121221121222122111222221122111221211211221121221211122121112221221121211122212212111222222212122112211122211222211122111221212211112112112112222212221121211212111111211122111222221222122222111122122211212222111211222222122212222222122121122221221211112122211121122112211212221221111212122221121221222111112221212212111222121221121121122111111211212212212222111211122212122211221211112111221122111112122121121211211111211211211121222222221212112221111111212222111211221111222222121211221122112222211222121222222222212121211122121111112212212111121111222222112221222122111122111121211121211112221212211122222121212111212111121112121111221212211112211212221122121121122211121122222121212111122222112112211122122122221112211211212122222212212111212111212221221211211212111211222112211211112211111221121211211111121122222211222122122212122221121222221222212222122111221121112122212212212121121221222222122122112222222112211211221211121112112212121122212112212111221221222122211212221121112111112222212221121121211112221111211121211111112211111122211221222121121212211221221112122121221222121222212111212222212112111122211211222122112122121112121221112222121112121111111222211212222112121222212121122212111221222211111112212222121111211121222222211222222211211211222121222212212111121222112111121121211122112211112122211211111211111112122222122211122112222212212212211112121222112121211222121121221222221211122222122122112111122121121212121111221222121121121221121221211221221221111221221122122121212211212211121121121212221112121221211211121222112211112212112222211212211222212211212122221122122212112112122221122211212122121212212122222121222122212222122122111111112121111212212222122212121221121211121111221111221222111221222221122211221211221212112111222112122221212212222222112221211122211212121211121212111221211112211112212112211221222222111211122111211121222221222112222212121112122122212112221221212221122211212221211122211112221211212212212212222112212111112111211212221112111111212111212121212212122212221212121122122221122221122121121122221112212212212111212112222112211221112121211222121111221212111121122221211121221212211211122122121212121222222212122211121222212121211212211111221212222222111221122212112211211222221112221121121212122112121222112112112122121111122122111212112112222222122112122211212222212122211122122222122121122112112212121112222222222221221121111112222222221111111112221212221222121112122211212212111222222211112121221121221211222122121112212122111111122112122221211221122211221222212122221221221211211212212211112121222111122121111111212212211212222111211221222221111112122222221122212111112222212211112221211221121112221212211222222212212212121111112121121112122121221112211211212221121122112122121122222122212221122212222212221212112222111221111212222222222222211122212121122121221121221122111111122112221221112212122212222111111121121122121111111111111222211112122222112222112112111211111122111112212122221212122211111221221212121221222212222222222112222111212211221121221212221212212112211211112211122112222111211211121121122112221212212221112211222222112222121221111222121221122221221121112111221221122212122212211211122211221212121212121212112111121122112122122112112112211121212212121111212122121222211111112221111221211121112121122122112112122111221122121222112122122112111112222112121211211211122212211211122121112122121122222221211222111211212211222212111222122111111212112112122111121112222222221211121111112222211122221221222222111212122122221112222121122122221122222222112122222211222211211122221121111211221212112212211122221122221211222212111112121222211122221112212121212111222112122211221111121221112212211211221212222122212222211112221211111211222221111122111211122121222211222122111211211221211211112122112122211111222222121221211122111221211211121111221122211222111222111222211121211121212221212211111212121121122211211121112111111222211211112211121121211212121211111111122222112222122221221122222111212122121221111112112212122222112121111121211211122122211112221221121221111211112212122112111211122222122212212212222212211122221122121111212211212211112121221222112222122111111221211222121221111222211121222212222122211212122122221111221211222211111222211212211111222121211122222111212122121221222222122221112112221211222221221211121222212212121211112112121211222121221122222111212122212112211222212222121121112211112111122112121212122211111112221221121111111211211211111222212222221121222222221222112122211121221121212212121212112211122112121222221212212111121222211121221111222111121211211112122211121211121122111122212122121122212211122211111222121122222121221221212221121222121212122221111212121121111122111212122222122222121122112221212221211122222222211221121122112211112211211221222221111111222111221222111111112111121212222111221221111221221212112122112111221112111112221121122112222211211122221122222222211122121111222212212212112221221121212121212121122112211222221122122212212221122112122221111211212211212112122112211111222122221112211112122122111212122221111121122222121121212112222211111111121212211112212222121222111122221122112221212211212221212121222121222112211222112211212111222112121121112122212222212112221121112121221222112112112121222211122112211222122222222221121212212212111211121222211211122111122212122121112211111121222212211221222222211122121122212211221212122112212221222121112112221111111121222211212221111222111122211211221122112111111222121121111221221122221212121112212111122212221122111211122111121211121221222121121211211211112122212122112111212121122221122121212112122211112112211121222121112211212111221111121122212122212212211121211221122222212122122211111112121111112111121122122122111222112212211112221111222211122121211221222111212211122212112112112221111111221111222121221212221212112211211112122221122111111111121112211222212212222112221121111212122212211111221122111222211112221212121112221212221212121112112211121111221121111212211111122211111122121111122122121112212122211211211221212211221111222222112122112221212121112222211121111121122222121212222111112122212211111211122112112212112121121111121221222222222121221221122121222121121121121111112222212212111211221212221211212221112112122121122212211112212222122111212211122111222221221111121212112122212211212111212111222212221221212211211112121122212121111121222222122111112212121112212221121222111111122221111222212111112121112221212121211121222121222112212122112121111221122211121212121211212111211222212211211112212212121212112212222221221221122122122112212121111212212121111212121212111111222122212111121121222222111111112112221121112222121222212222111212212221211222112221211122211122112121111121121112222121112111112112111211221221212112122221121121122112121121211122121122222112221112212111221121211112111111112122112211122211211122221211211212112112121212221111221211211211211221122122121121121212212211112212112211212111211211111212212122222111112121112121221222211212121111122222111222212212122122112221222111122221121212212221122211112222122112211221121222221121112111111112111222222121122211212112112211212111112222221112212111222221211211112221121121222212112222122212111121211222221211211112111112222112222212222222222221122221222212211212121212212211112211212122112212222121221121211211121111211121112221112111122212112122122122112122111221211122212122212121121212121211111111111212121212111221212222122112121111122222211222222111221221211122111222222221211121221211112122111212211221121121211121211121122112222111222222211121222222112121212111212112221212122121121221112111211222111121221121112111111111121111112212122121212212212212122121122211122211222121121221221221122121221121121112112211221112221122212111112222211221211121212221211212112212111211212121122221122222121222111112221221112122121121212222212122211122112111121212211221221211111122112111221122222122221212221221221222211112111211122121112111122211221121212121111122121121212222222211211111121111112211122222121212222212122222221222211111222122122211211222112212122112122221212121111212111212112121121212121111112222221221211122121222212221122221121221222212112211121222222111221112112111211122121212212111221122112211112111111212221122221112222222122212111212211221211111112222212111121121222121112112222222222111212112112111211122112111122112122122221122211112112112122121121112212121221122212212122111112121122112121212122211122222211122111121122212121121222212222221222211212111121222221122222122111212212221211222211211222111211121222112221211111122112111222221112112221121121122122221211212211222212222211212222221212212122121221122122212111122211112111211221121212212222222111112111121221222111222222112112212212212212212112112121212222112112211112221211222122222212112221221222112122222221211221212122112121122211122121112122112112122211221212112221212221112111121112122112111221212112221212211121112122211121221222112222122122122111222211212121121111221221222122211122112222221111121111112122121111111122221111111212122121112221212112211111222121122122211112221211222211111121212211112111221212221122221122111221211211221111222222221122112222111212212122112221212211221112121121111212122111221221221121111221221211212211121122222212112211112122112122222212212121121111121112222111212122121211122212221212112221211212221222221112211121112111112221121222112122112122121111212121121121222121111212112222112211221222212211121211112122122122122112112112221212221212211212211212111122112111111121211111211122212112112122221112112222111111112222111122212111121211221211111122112221211211211112221112222211121221212212222112112222122222221121221112212122122221121121121222122122211121122221211112112112222211221111221212112221222121122121111112222112112222211221111221111221111222212112212212212212122111212221122112211122212121221122121212121211111211112111121222112212112221221112221221111122222111222111222221121221212111212112221121222222212211112122222121212222111112121121121121122111211112112112111112222121211112211122121121121121222122221111111112112121211112121112222122111112221111221112111222122221121211221221211121221212222221212212211221222212122112212111212111121211222221111111212222111111122122221211111112221221112112211122212221112211212221222122221211212111221222111121121122111212111222211212222111112222211122112122211212111211121222212212221222121112122211122212121222211212122221212221221112122121222122122111212112122121122112222222212211122121211112211212222121112221221221211221211222111222111211221122112121122111211211112122111111111122211211112112112122112221212112111112112121221121221112111111111111122111122222112121112111121212122222212211212112122212121112221211212111222111122212111211222112122121111121222111221121122212222221212221212111111112222211222222122221111211221112111111112212112121111111212121112212211112122212122211112112121211222122112222221212222111122122221122211122221122222111111221122111111212222212221112212212122112221112121112212111211222221221221122221111112112111112112211122222111121122121122122212112222111222121122111212122211111212112112111122211221122222222222111222111211212121111112122112122221212222121121222222122221222121221211121112221122112212122212211211221111222111222222121211111122222111112211121111111122111111212122222221222222211112211212212122112112122112111221112221212122111221111221211211121121121221221212112222111112211112112122112121221221212122221222212122221122111112212121121112221221211222111211111122211221212221222211111212121122211121122212121121212222211212222221122222222221121211221122111211221122221221221222121121111112121212222221111222211212221221222121122121211122211121212222211221211222211221221121212122211212121222221211211121221221222211221211211121211111212121222111122211112112122221211121211222221221122121222222222221212222111222121212211111121122222212112212222212222122112122122212222211122212111221112111211221121211211111122222222212112222211122122122121122222122111121221121221121112121212211122121111212212211211111121211222111112112212111212112121211212122122111222122222222112211111212221211112112121222212122221212221111212221122121211111211222112112121112221222221212111112221212222211222121212122212111222212221212122122111211222121221212122122222111112122122122222221112121221212221112122121111221121112221222212121221111221222112221111111212222222122111121221221221121221212212222211212221221221221211211212222212122212112111112212122121222122211221211112111112122121111211211221112211122211122112112121211211212112112222221211121222211222222121111221121222222212122121121212211112211212121221212112212121122112122111122121111221212211122222212222212111212211221221212122212112212211111221221121111221212221111111211112221221111112122222222222221212222222222112212121221212211211211112112212112221121221122121212221222112211122221211122221222112221222221111212121121122211111221111222111121112222222222121111222222221211121112111111111221122111222111111111221211122222111211121112111221112211211112222212122221212112211221211221222221222222212112111121211211122211212122111212221212222212122112221111112211122112121111221222211211121111112122122221121122211211221222111112112222222122212112222112112222112121212121221122121222122211211122221122221122111122222111221111211111222212112122222112112111122221121221211112112221111111111112112121111222111111121222211221112222222112122211212211221222222122111111111121122121112212112222211212121222222122122112212121121211112211212222112212222221122122111121222211212122112211111221122121122121112211111121211212212121222121212211121112222212212211112221221122111221221122121112211222221112121112121212122111121121222221222111121111111111122111212221122221121221212121221222121112221112111122111111221122111221221112221111222212222111121221112111222211121222212222121221112221121121121111122212212122122112122111221121122211211222122222122121222122111122211121221111211122121211112112212111112111122112211112111221122122122221112211112212222222211122122221121212111212112212222111221111222122222221111112111211122222112112222211222112211211122122111111222221121211211112211112121121122112212212212122111121212121121112222222122221122211111121221121122111211211222121112121122212211122111112222121111221212222212111222211222211112212212221112111221212211122221221112211221122122111221112212112112111222122112111222212222122112211121212221122121111121212221211121211112112122111111112222112111221111212121111121121112121121111111112222222211121222121111121112112222211221111212211121121212212222112221222222121121212222122211211211211222211221211222221121212111221121121212221221121212212121111111222122212222222212111111112112122111222212211111121212112211111222221121212112211122222222111211112212111122221111111221121212121222211122222211221122211121112221221211222221112112122111111121122221122112221221211211221121122222212112222112121211222221222111221212211111221121221212211222122212122211122211212111222111222111112121221211222121121222111111212222212221212222122121212111221121111221121212221112212111111122211121122221212222212221121212212211212212111111222111121212221112121121122221211121121111122211221112222111111112212122112111211112111112221122221121222122121222212212211121112221211212221122222212111222222122121221212222121211212111212212221111112112222122211121122111121211121212212221121222111211221122221121222211222212222221212122221212212122212111121211121112112211212212112122112121112221111111212112212221111212221121121212212222221111222111112111122222111212122122221112222221112221111121221112121212111211121212212121212111122121221222211212222221212121222221121111221111121111111212221211221111112112221212111112212221222222111111122122221211112211111221212212122212121112112211112211221122212122111121211121121221112221222212222211212111212111112211221222112121212122122212222221121111112121112211112221111211121111222211211112111211211121222221121111111122122212121112112222112112111121221211221222222222112211112211112121221122112221221112111211122222212212221111121221112121211121112212211212212111112111212211121112221112111212211221121111111121212221112222111211112122121121122222122111122121112111122112211222122112221111122122111212212211111222112122111112112211121222221212121221211112111111221211122221221211121211122212221121222111211212212212212111221121211121122122121121212221221212221111121121121112122112112122212211122111122211121212211112222122111122212212111212221221222222121121222222122222221211222221112111222221121112111212111221211112222211221112121122122122212122112222121111121211112122112211211212122121221212211221212211122211122212222221122222212122212111121111111211221122211112112222111111111121112111121222112121121222222211212122211221111212122112212211122122112111212111112111112221112212212221122211222221222212212222121121212112121211111111112121122111212111211211222121212111221112221221122211222121211221122112211222122212212112221122111121211212111211221221212112221211122222221122121121121111222121212212211222212121221221222112112222222211111221111111212212211112212221211212211121212122212122111122221222111221112221111212112221112112121112221212211111122221112221121111122122211211121221211212121112222121212112222122211112212122121211212221112212112211111211211221211121211222211212222211211222211112212111111221211211211122122212212211212222222222222222212222121212211212212112222112122112122121122222212122111221211221222122121122222211221122111111222122122121211111121222211222121212122122122122211121112211112211111122111122212122211222212221111121112111212111122222221211212122111222212112121112112211211221221211122221221212122121122211212211121112212221112121222211212111121112221211122111211111211221122122222222111111211212221121211221211222111221221111111222222112121211222111212221121212111221212122122112222112211222222211122111211112121212211212121111221122222111212211111121122112211111121211222211121111211221121121122111112122212112111122211111121121222111121221121112212122211122211111122121222121211121222221121112112122221121112222112112222122112112212122212222111122111112112122111122212212222211212111112112212211112221122111112111222222222211221111112211222111222221111121121212221122221111111212221212212221112211211121122121211221121111222222112222111121212111121222111122112221221212122121111111111221111222221222122212122112111221112211112122222212221122121211112222112211211111221121122122121221122112222222212222112111122221221222221112221122212211211111122211222211122122212211112111122121211211222222221221211222221222122122111111211221111121111212122111111112212212111212121122221122222212112222211122112222211222121121222221211112222121222111121111122211111111121221212212111212111122121212122121221111121111112112222222112212122222212222222211222121121112212211221222221211122221222111112112222211112222112221121211212212221122121222121212222222222112212221121112221121212221211111221111222222212221122211221222112222221212121212111222122121222211111222112221122211212111222212212221112121221112222111112221112222212212221111221211211122222122121121212211112121112222121111122221122222111121111112211112122122211111121112211211212212211212112221121111222112121121121122222111121112122211222212111221122221221112221212122212221212112221121221221112111212221211211211211122111212122221212222121222212121111212211112111112221121221111211121221122111221121112111122122211211211211112211211211111221221211111212222221112112111111221221121111222112212111112221222111122122221121221211121222121211111121211122212111111221212121121111212222121111211221212121221112211221121111112221111211111122222212221112211212121222222111112111121122221211111222122211121122112112122112222221221111211212211121222222221221122222211112122111122211112122111122212112211111121212111212212112221212212221222222211121111111111111212121112222211211121221221212221111222121221211111211111111111221221121121222111122112122212212122211112212112221211121212222112211121111211211212112122221221121112121112221221122221121211221111212222122122112222212112111212122122221211112222121212111122111112221211112121112112221211222112211212222112122111221212122221112112122122212122112112222212221211111211212111221122222122222111221222112212212111221221221122211111121222222121211112122211121211112121121122112211222111111121121111222112211222121212121211111122122211222211211112121111222222111121211211111222212222212111211222112222211222121221112212211221212121112112222122121222112211121211121212121111111211211112212112121222212121221121122112222221121121112222212112222112111211211211112221212112111112121212212221212111212112221112121111122211211212112111121222111212222212122111122211121121212111111211222211211212121111221212112122111212222212222112111111221112212111112122122212121211221112221112122111111111212112211112121121122111122211221111221222211212211111222212122121222211221121212222222221212212121222212121111212211221122122112222222221212111212122221121221222212121111211221222122212222222112122222112212212112211122121111212221222211222112121211211221211221122221122211121212121221112112111122112221222121121121122221111111221112212122112222211112211112112211222212221212211112122112122211212211112222211221111211211112221222211222211212121222212222121122211221212122221212221221111121221222121221222112221221112212221122211112211112111122221221121212212212111221222121121212111111122112111121222222221122121211211222212212112122121221122211211121212111211112121121212222112212222112212121221211111221111211211211122122111112212222121211121122212121121111211121221222122211111221121121122221121112211222111121212212112211221112111221212112112211222222111112222121222111112112121121212221111122122211211222111111112112221222222112212211122221211211111122111211222111212122122121122122121111222111221122211111112111221211221212222222211212222211221211122221111212122112221211122122121122111122112121111222211211211112111211111211221222111121211212222122212122211111111111222112122112212222121212121212221112112121121212112122121222122211211221211122111121111112212121211212111121211222212122112212221211221112111122121112122122121122221122221212211211222112112121212222211122221122112222121121121122122112121111212121212212212221221111212221222111121221212211211111122212221122122222112112222112111111121112222211222121222221222122111211211212222221211121222211111121222222111122211122222121112111121211222212122121212111221122222111111122211122121122212112222112122222221211111222111112111221222212212121112112122211111221122211212122212122211212222112122111221122111121112121111221112212211111122221222221111212111212212121212122111212111221212121121112112112111221121112112222121221221121122122122111111222112211211111121122121211112221121111212211111211211121112121112111211111122211221211122221122111221212222112112221121222211221122121111111122122112222111221112221112221221212211112112212222111112222212121222112121112122221111111112222212211211212122212221112121211221121112111221122221222122211211212211222212112222222111211121112112121112122121122221212112211211211222221122121212121211112211211122221111121221222221122211211221121221121212121121212222111221212211221121222222221111122122221122112211221212211122122221112212121121121221211121221221122211211222112212111111212211112122222222211112121222121112222212122112222221211222221221121121111211211112211121211111222211212211122211121122222222212121112222212212212222111211212221212111221211111222112111212111212211122111211222112211222112112122111112122122221111222122222122111211112121222111222111221221122212212112122111121111211221221121222212211222111121121212211211222211112121212211112111122212112222111121122221121222112112111211212112122111122222111121211221121122111111111111122122121111121211112211211111122211122222112121212222221111212212221222111221212121221111121122121211121121121111211111111121221111112112112212112211222121111222122212212122211112212221112112211122222212211211111212211112222121222222221121112211112212122112111112111211112221211221222121212121122121221222121221222111212212211222122211111212122221111122112121111222222121111211122111122222221122221112222221221222211212111121121111122212122112222121211212122111211211212222111221211122211121111211212121112222121211221212211111222212222212122112211122122211112212211122221212211111222111121221221222222211221211221122221121122221111221121112121212122111212221122122122111212211112112121222122112112111221111211111112212211111112112121221111222221222122211222222221111112212121122111122211122122211212111122111221211212112211222122122112221121212212222112222221112122222222121111222112221111221221221112121222112121112112121122112222111121122222112212212112212221211112222211221121112211122211121222212221211222111122222122221222212211212211111211111122212222121222221211221122122111222121111221212111112112212122112222111112221212211111222122111222222121222222222212222112112221111112211112111111222121111121122222211112222221212122211121211122122112221221222211112122111121211211222212122212212112222221221122211111112121222222122221121212112221112112222212112211222122121211222222112212211122112111122111222212121112221212111221112121222222211221221211121121221111122222111212222122211121121221121122211212211211211112221222111121221111112112222122221222112122221222211212212212121111211221211122222121212211121112111212221112122221122122121112121212222221112121112122212211121211121211122111121222112112111111222222212221211211112121221211211221111111212211222211212221211221121212121212221212112222122112222211222122121112111222122122211112112121211122211211211112122211121221221221211112221222211212112122211121122211112111122111222222112122112121222122112122222212222212121121122221222112112212222212211122212211211112121122122112121221222121122121121121222222111222211222222211111212222112212121122112222111122111222111121222122112222222222221221212121222121222221121121121112221112112112212122121111211212211122222211222211222212121122222121212221111112111221121112112122121211222212221221221212222112222122211211121211212221122111121112212221121222222222222222111222122122212112122121121112222112221222212212122112212212111121221112122111111222111122211222122212121222121111112212121221211121112212112221122211221222112221121121112212112222122122222111122222111222211111211222222112111212121222212211121212121211212211222111112212122112121111212212222212122222212112121111211111212111112111121112211212221112111122221221222112121112212121121211211222121221211122212222112112212121211212111121222112221222121221212111222212111111112212111122112121121212222121112111122212112121222212122112212122221221221122111122211121122222222112211111122221112212211212112121121121112221221211121112211121112222121222221221221111212221221111222112121111221121222111212222122222221221121121111112212111111122122222121221222221111222221112111221221121222121112221121212212112112221221212121112212122222222121122221221222121222221112111212221112112111222221112222221121222121211211221211111122222222212122212221222122211221211122112122221121221221112121221222212111122211112112122221222222122122122221111222212221122212212221221112122112121211112122212212221222221221211221221221122212222111122212211111211221122211221222212212112221222212222122111111111121111112122122211121211122211212112111212222212222222211122111112221112222122222212111111112212222221212122112112212222111212111211122111212111121222122222111221212222221212121212111112112121222111111212222221221111121212122122111112221212222212122121222121212112221111222212221122221211221111112121212222212212212222121121221211211211121221211211222111222211111121112121111122211121111211112111221211112121121122212111121211112212112122222121111111122121211122221212211212221222222211212222221221121121221221222222211221211212211112212111211121221122211212212211111112211221111221212221121211212111221221212221122111121211222122221122221121112211222112122212211111121121221211111212221212222222112111112122211211222221221222211111121221222212121122212211211212212221112112121222221211222212222222111212111212122212111222122122122222112221222212212221122211122112122222111122212221112112221121122122122112111211212121221122212112122211211222122222121111222221112112221211212112212222111222222211211122222112211112122221211211122212222211211112211122112111121212221211221211112121121222111112111112122212221222212212122111121222112221121221121221111112121221112221222121211121122212212222121222221221222122222111222222221122122211211212121121211212112122111221221111121211221212122112121222221112221121121122221222111121222222111212111111211222222121212122211221122211111221121222122211122121212221122122222112211221222121212222112212212122222121121222122111221222111221222221112121222112112112222122222111222221211121222212212112111212121121111112122212222212221122112222122121221211221222121212212212221112222112111211121221222222212121212122112121111111212211212111222112222111111222112112222222122212112121221221221112111211122222212121212222212111221111212221221121222221221121212212111111222222222112111212122122212212222222222121112212212221222121211222121121221111111222221222221122222111121222221212111111222221212112111111222122111122122221212122121212112121112112111221122112211211112112112212212221221211122111121222122222221121112121222212212112222222111111212211111112122211222221211211212122112122122112122122211122122222212222222111122221221211211211221112121222212221122111222122221211121121222212111121111121221121121212212122122122111121111111111211212122221212112211222222112112221121121111222212121222222221211122212212222212222111211222212221122222112222222111211222211111121221121211111221221111212111212111122222211212212112111111111111221211122111211222222121212222221121122212221112221212211111121112222212221221121112212211212121112111212121221221221221211212121122122211222122122111222112111112221212112122221111112112221212211112212212121111212222222112121112111122222121221111211122212112112221222122222222221212111212121221121212122122122211112222222112122122121121211121111212211222211221212122121221111212221212211112111221222221212112112121111212211221111212212112112112112221221121121222222212122211221222111111212112211111122222211211112221221111211212112212111222221222112222121111221111211121111221121222111222212212111212121222121122122212221121122112122111212212112121121112122212111111121222112112122112222222212222112211112111111121211212112221111211221112222211222212211221222122122112112111122112121212112221112122112222212221111121122222222221221112121111221121121212121121122122222221112111222211221221221111211212211111211212212212212122122212222212111222112221121222111122121212112111221112211212122221221111221112222221212222122222121122121112112212211222222122222121121222122221122221212122122122211111221222111121122222212112211122221212111212212111221222122121211122112111212111212211222121112222112122112111111212222221222221121212112121111221211212121111122221122121111112111221111111122221222222121221112122221211211122121112222112112221212222222221121211121212222212222111211122222122212112212121112221222111211211211221111222121211221221111222112212221221222122122122121211111222222211111122211211211222112212221222111211212122121221121222122121111221111212112212211122111121121122111122222222212222112122211222121212112112222212211112222212212211212212221222112212111212211112121211221121212211112212222122212111212211111122122112222222121222111112111222222222121211112211212222121221121211122122211222221112211211111211212222212111121222222221111222222112111212112122112211122212212111112211211212222121221211211212121121221212211222211212121221221122111112221222111111121122221111222111122212122111122121212111112211121222222211111111222211112121222122112221212222121122221212211112212121222211112222121221121221122222222122111212221212212211221121111212211122112221121111121221111122222212121111112121111222211112112222112121111221121121121121121211222121121222221212211221121211112211111111111211121212111112221221221122222121222112121112211112122221111111122111122211122112211212211211222122211212221221221122112221112121122121112112111222122121111121122111212222111122112212111221122122211122111222112122212212111221211221211222121112212112122211211121121121122112212122222122222111212121211121122211212122111211112222112211212222112121212112111122121211111111221121211122121121212122112112212211221121112211222121211111211221122111211221122122211222111121121112211221122112112222212121222122121121111112121112121222222222221111121112221212212121121122112122122121121221222122121112211221212211211122122122121111112112112221212122221222121222211121111212121221122222112221121122112121111221112221221122111212122211112222212121222111122222222212221222222112221122211212111112211222122212111121121122122121221221222222212121112112111221112221211112221211211211222222121212211222121112121222211222111222112121112112221121121111212112112222121122212221221212122112122112122221112211122111222212211211211211222221211111212121212212211121121121121111222112111111222112121121222112121121111121122222211112211112212211112121112111112122222211211111221211121112212121222221222122211221121222112121122122111212211122122121122222111122112221112211111111122222211222211211221222112111211121111222211121222222211221212212212212212211122222111211112211222222212121212111212212122121121112111112211221221221112222221211221211111111111212221222112212212221222121111221111221222111222122112121212222122211221222122121121112121111212212212121112122112121121221222221222112211112121212111221121121112212211221221221212211112221211221121212111221111221111211122112222122111211222221211221212222112112221211221221111221121211221111112221111222211211111212212212211222111212121211121122121122122221111122111221111221111111222121112221221121211221212121221121111211222212211211211112222221111212221222212221112222122112122222222211212222122221112222111121212211122222211221112112112112221122211221111211221112121211222212212221112222221222221122212211211221122122111122221112211122211112221211111211112222212212122121112112111211111121121121212112111212222122112112212122221222122211112112212212212121111122112211121211212221112211121212121211112121211222121221112121222222121211212122212122111111121122211212122222121212122222122212222212121212221211212122111222121221112221112122222212211121211121221211222122212221121221111211212111122221122211111222122212212121212112111221212111221221112121211122222112122212211221212221222211221112211212122212112111121111212111121221211122212112112211211111111221222211122111212111212222222222211221211222211121111211122222211221111111121121121222211221222121222212222221111212222212222212221122112111122122111121221212222212222122111212112222222221111222121121212121121111111211221222122221222212211222122211222121211112112121222112122112212112212121212112211121211121121122222111222222222212222111211112212212212111121222221211111212112121112221121212112111122111222112111111112211211122112222112112222221121222122221111121222211221221222221122122222222222112211221212211121221211121221111112122211122211212111112212222112222112112221222122122111221212111112212121112211212212122111121221211111221111212111221221212222221122212222222112121122112211121112121211112121222122111112111112221221122212112212222211222222221222211212112121221122212121112212212211122122111222121211122121112221122111211211222212111211221221221221112211222121112221221211221222221121222212112222121212211212122221221221222212111122111122211222212122221112221211211111222212111122111112222111112212222111111122122111121221221111222212122112211212122122121222212112222112112111221212221211121122121112211111211222212111211122211211111221211212121222221111122111112211211121211212221222212112121222211121111111222112122112121221112111221212222121222222111121111211212211221221221222122112112212212222222212211221221122222211222111111111111222112211212122212122112111221112211122122121121121222212212122211212221111211122122122111222212211221212111221221222222112211221112112121211221111211121212122212222212221222121222212222222222222111111122222212121221211121112221112122112111111212211112211121212221111212111121121121112221121221212122111222211122211212112121112122222221221112111111211111122112122222222112211211222212121112212222122112221111212221221221121211111111122212212222121212221112211212111112212121211122111212121122221222122222111212111121122211121122222121121212111122221111121111122211211211122211221122222222211111221211112211211111121122121221121122222112212212121222211112212212111222112121111111122222211212122112121211212212112222222122112112122122221122121212212211112211212122211211121221122221111212112222221211121211212222121211111221221222121122222122221222221122111212122212111112121121222212222212122121222121212122221211211122112212122222111221121112212222221221122222211112222212112121111112112211222111112122221211121222221212111112222211111112212112112112211122212222211112211111111112112221221121122122211222221112212212122112111211122222212112122111121122222221222212111121111112121222212111111212122111212121112211211111211121221222221221212211122212122121111112111121112222111122211112221211221122122121222121221212111112211121212221212122122222121121211221211222122121122121121122222211111212111121121112122121122211111121211222112122211122222212211112221221112121112112122111221111112112222122211111121221211122122121222121222112221112211112212112221112122221112111222122121211212121111222221112111222222121111112221211121222212122112111121121111122212111121222111221121122122122222122222122122121222121222112211212212211222111222122211111222221112121212222221121221121211121121212121121112221111221112221212122222111121122111211112112221221221211212112221121212111112222111222222222212111112222222221222122212212112221112111211112121112121111121221221212212211121211211211112111122221122111212221121121111112111221122222221212221221221112222121121212111111212222211112111212221212211221122121122122122122112111222122212122122222211212122222222221221221111112111212121111122222212111212221122122212222212112222212112211222122111212121112221222212212221112211122121122122221112212112212122112121122222122122222211222111212211222222212121122121222222121221121112212121211211212121122212111211222221111111212211112112211111112111212121211112122121111111111222222211222211211221122112212221112211211222221221212221211222122122222222211211212221221121211112122221111212121121222122112122121211222221212221211121211222122222222211211212112122111222111211211221211112212211212221221112221212212221122112121111122112222221112211111222222222211121121212212121121111211112211122221212211112222222121112121221111111222212111122212211211222112122122222212212121111112121212111221121111111122222212222212222212211222111221222222112222121222111221221122121212111211122121211212111211221121211212112122212122222111111222122112211222111112211122221121222111212222122211222221112221121111111111122122212112222211212112212221212212122212111221122212122221122112122222221212221122122111122112121222211121121211212211212222121221111122211221112221111212122221121121212211212212121221211211211222221112121111122121111121212121122211122222221222211221111211111121212221222122111222221212211111212112121221221211112221212111121211111112112212111112122211121121222211112211111211122221112122111211112122121121122212121112221122112221212111222111122212221221211122212122212211112211222111121211221212122211222112121112112222222222121211212122212221121212211121212111112221222111211122112111121222222111122222122111121111211211221211121121111211211221211111222112212122221211111111222112222122112121111212122111211122212111111222222122112212221221212121212111121121212211211222122112211112212222122222112121121222112221121121221121122222221221111221222111221211211122122121122212122121222212111122122222111112221112211122121122121211212211111212121122121212112221211211222222222112111211112122212112212211212111121111212112121112121211111212211121211122121122112122222121221112112212222112221221222111222122222112221112211121122112222222211121112211222212111212212121112222112121111121122111112211221212112221221221121121112212212121222211121221111112222112122121212212122222221112212121122221112111222221112121221121221122221122222221212111222222111121122212222211121212121121222212211122111112121122211222221122112222222111222122221111222222111122121212222111122211122121222121121112221211122221211112222221111111211212121122121111122122221121221212111112221111211212221122212222122121122122121212111222122212121112221222121221212122111211112222221111221211222122222222222121222212111212221111221221222112122121111211211112221111211122112111221112212112222221212211211112211112212211111111112112121121111221222121212112121211212111211211111121211211211112121112121111212122112122221112112212112112121222222122211212122221121222122121221111121212212221111121212212121212212122211112221211211121111221111211222211221121111211122211222122111112221222112211222111212211112121222122222112212112222212122112221221111212212212121212111221121212112111211212111222221121121212122112211212112122112122222112211222221112221121221222211222222112221112111221122212112221211122211211211122121212212211122121211211111221121112222222121221112212112222121221221112211122212221222111221121221121112122112221121112111122222211211111112111212112222111222121111121212112211122221121122221212121212212111221222211211221211222221222222111212111221212121222121212121112212211121222112222221111211112221221221221111112122121222212121222212211111212221212122211222222211222122221112111121122221122112121121121112121212211211121221221121122221221212222121112122121112222221112221211211121211111221221212222221112211222121221212211122111111212121211122121122211122221222112111211112212111221222111211212111122211121212112222111121121211221222222112222121211212111112111112112222121211221111121222212212111221211121212211211111111112111211222112221112121222211111212111111111212211211112112222222112221212211221121111122222112211222112222211222212222211121111221122222212122212122211111112121211211111121222211111212112211111121122111122122212111221121221122211112212221212221112212211112111122121212121121222222111211111221211211221221112111112221222121222212211211111211122121122112211212122221212122221121122122122122121121222222122112121122221121222211212211111222221121111112121122121211221122121121112111121122112122122111221112111222111112121222122121212122122121121112111222221222221222222212212222211221222121122221112212212111112122122121211221222111221221121212222121112222122121121221222122111211221122111112111111221211112112211211212112121111222121221122222122222211121112212212112221222212121112112222112212121111111112212111221112222212222221111122221111122122121222211111122211211112221112121112222121111221122211212222121212112221121122222111222111121112121121212212121212121111122121111112222112111111112212122212212212122121221121222111112222221112212122112122112111222212222212122222211111212112112122121122122212222222112211212122121112112112111221122121111212211212222212112221122212122121221112122112111111211121111212211122221112212122112121112112112222111221222211112111222111212111212112212111211222121212122221222211212212212112121122122222212112211112112221121111212112121122212212211212121111122121111111211222112121211121212222121122111111221221122221221212111212112212111212221121222122212221121121122222121111211121112212211112121212221122121122111222221121211111122221122211212122212121111211221221211222121121111211211111112112212121211112211121212221122111221222122121121211211212211111121212212121212111212122121212211112121221112122122221111121221222222221222111222212212121121111221212212222112212111111111211221211211212212211212121122221122221222111111121221211122212222221122121221121221211221121221121211111121122121211121211121122221222212212221121212122122212212211121221211221211222222221222112121111212221222211211211221122212111111211121221211211112121122121111122121212122112112112122112221112212211222221222211111112211121222212112222121221212211112221111221212211222211111212122122211121212111222122221122112221121121221111121212122222121121121212212211222222122212111122111221222211211212222111222121111112112122122111222212122212112122212121212222122222211111211212112121111122212221111212112221122221112222121212122212211211212221111211122212121122221122121211121122111122222212112121112212222221212122221122211221111222221122121212121221111211111122112122112111211122111112212212211122112121222222122112112221111122112211212221112212212111221212221221111111222221221221212222221112122211122211111121122221222211122222121211121111112111112122122122211212121221122221112122212212221122211212221111212212111212211111122121111211112221112111121111121112112211121211111111112221222221221122111121221112221122122211222122121112212121222222112221122111122122222112112222221211111211112221121122212222222111221112211111211222122212221222212122122221111122222112211122211222111221222212122211221212222212221222221111212121222221111122212212221121212222211121111111121222212121122112112122121222112221212212221122221122111122211122211111121121222112122111222222211211111112221111121111222111112221221112212221221112221121221222221121112212211212211222111222212112121221221112212122122212222111112111221112111122111121111111112122112122121121112112112221111212121221222221212121122212221211221122222112121121111221121212111221221122221212111122212111212122221221112112122121121112121111121211212121211111211222222212221211121122222212111222211221221122111121122112112221211111222111221111121212122111211122222222222212112212121121121111222212211122212122121121122121112211122122121111221221222212222111112122122211212121111221221222211111111111222221121212211121221121212212122122211121121112222112221211211121222112112222211211122212222111112112211222212221122212112221122111111122222211111212121222212121112222222111211222122112111211211111211222122122111121112221211122122212212222212112212222122122211112221121221222111222122211212222121212121212222221111112121121122111211211121122211112122211112122222211111121222222121222222211211212211121211121221211212112122212111212121112222112112212211221211112111112212212221111121212212222111122122121112211111221111122112111111222122221212222122122211111112221122111221111212221222112221112211111222212122221122211122222111211112122111121111111221212112112221122111111112121111211112222112112121211222221121112121112221122222221121122221221112211212211222222222212112112112221222122112221222221211111111221121212221222221112122211111212222121112211212221222221211122222222212122211212121121221122222122112221212221121112112121221212212121222222222111222222121111111111112221122212222222222121221222122121212212222111111112221122112122221212211211212112112221222212121221211122221121121122122121221222222122211222221222121121121221222221211111221222221122222111112211212221212221211221112121112221121211122211221222222111211112111221221221121112111212211112121122211111111221222112121111112122121111221211212111121222212122121121112211212111212112112111212122121211221111212111222122122212112112112222212212112222122221222222122211112121221212211121111112211111221111121121121222221221221222222121212211112111122222221111212121111112112121212222112112211112111212212111111212122122112222112112222221212221221111212212121222121222211221222122221212222212112111211222111212121111212111111111211222111121111222222122122122122111211121211111121112212122212121212211111212211121211111111222221122112221121111212211122111222222112112121212111222212122122212112222221121212121211121222111112111121212212211211121222212221112111212221211211222111121111212121222211212112221112222122221211111211111112112111222222111211221212222112222111112111121121221221111111111211222211211221122222212111212222211121221122212221221222222112111222211111122121112111222111221222111212211111121212222122111211222122222211212221122121112222121121212212122111121211221122211211111122121211112211221211111112212222112221211222112212111221222121111122212112122211221112211122122111212222121222122222112111111221111122112211121221122122222121122221121212121122112221112222211111212211121122122221121112121122111221112122121221212221121221221211121212221211112221112121212122222212222221221111121222111222211212121222111211211212111222222122121222212221112111121222122212222222222122121211112222212212112221112222121122221211122121121122221212111222222222121111121112121222112212122222212211121211211121111211211211211122222222121121122121221211111122122212121221121222212112221111121212111111221222111121122111122112211111111121222221212211112111212121121121212221211111121221222112121121221112122122222221122112122111111211221212111211221111122112112211212222212112211211112211211112222112122121122222111221122221211121212221112121211111122112112112222122111112122212211111212121211221211111212111222111211121121122122212212222221122211112222112222222111212212121211222122121212111122122212112122121121111121122122211211111111211212221211121222111212111112112222222111121122111221221111222111112111212221122221111221212212212112221111111111221221211111222111211211112222111222112112112212222111222122111211212211222211111212222121212122221111221212221211121121111122112212121122221121211211112121121111212222221211222221212122122112221212222111122111222212112121211121212222211221212222112121111111121112111111112122112112122212112222122221111112222122122211222122212211112212221211112112121221222121122221211122212111111111121121122221211122221222221221121111211221121221221221222221111122112121121121111122212111111221112122211122221221221121112211122221222122222221211122111122122111111222111112212212211212112112212112212211111211111222111211122122212221222222211221122211211121211111111122222121121121211122111222212221211111112122121111111111212222122212212222121211112111221112112212121112222121212112222111211121112112111222221212111122121121112221111122121122111212112222212112112112222121222122122111112111222212112222111221222221222111212221211111121222121112222121221221211222121122211212211222212222212211221111222221122122222211111221221221221111221211221111121221121112122221112111211112221112222111121112112111211111212211222111112221112222122112212221212212221111221122112212211112112221222212122221112222112111222121121212221222211222212112222111222111221212112222211221212121212112112211212111121212212111222211112121112111212122222122211221211122221211212222112122221121112222221212112111111211221112111121112212122221211222122111211111222221221212222122111111112221122222212121122211221221122112112212122222122121212111212121121221112212121221212221212222211112222211112121211111212221211121222222122221122221221122212122212121111211221122212121112221212112211222121111221122112112112222111122222212212121111221121222212221121222211211211111212222221221221112222121212121122222212211211221212211121111221222222122121211111112111212122112222121211111222112122121111212211212222111112122112211212212121221122112112221111222222221111211211222211211111221211222111222111112122211122211212111221221121222121212211221111121212111112121111112221121112222111222211212112121112122112221121221111112121212122222111222111111111222211212222111111222221122212112221121122111221121121122222222221212111111211212212222211121121112221211122112211112211111112212211212121111211121221112112221111121221122212222212112121122212121212221222222221121121222121211222121112112212221221121221121221211122122121222122111111121211211222122121221112111212212212111212222112211112221122112112111211121122121221111212112112111111111112221111211221212222212211212121222122122122111211112221212222111111211121121222111111222211112121221122221211221221212221121112112112211212222112122222221111111122121212221122111212111212221212222121212121212111212122121112121122112221122221111211211221221121211122111111221122112212121211122222211121111211112111122212121221222211221112111122212212111112222212221221112121121111121221212222212112212211111222221222211212212212112212111111221112121112122122211221211122111112211211122111222212112111211212211122222211221221212112111212211111211122112222122211112221122222122111122221221121111222121121121122222111121111221122222111111212211122122211121212111212222111222122121112212211112222121211121211121112211121222121112222111111121212211221222212222111121212222221121111221122211212221221222222121121212112211121112122211222122211221111211112221122122212111211211222212221112112211222112212111112111121121121212121112122211221212221211222222121222122221122121121212211221122222112111211212121222122122212111121122212212211121222111121122221112121222111111121211221121222111112211211111121112212221121122212122112121122111112122222221222111222212122212222211112222211121122122212111212122212211212121122222122121122111222121111112222221222221112121211211222122111222221122221112221122121212221111211121221122221121112222112122122222222222222211122122122112222221211212122221221121111212111111211121212122122112221212121211111211212212211212212211212112221122221221222111221212212221221222112111211111121222221122111122221121122221221212222111221111112122111112111121111111221111221111222221211121212212122122211122111221121221122222112121221211221121122121111222111211122121222121112121112212111122212211121211211211111211221121222112111212222222221111111111121112112212121112122122122222222221111122221111222122111121211212111112112222121221212211212122111112211222221121112221121121111222222121212112112122111121222122122112222122111212121112212221221111111221111122112221211111112211112111211212111221222221221211211222112222211211112121112121222121211112122121222211112221112222112222121122212221211122111212222212222211111121221211121111221112211121112221212211222121211112111111111122221112222121222112211111121222122222111121122221122221122112222112111112112212111112211111211222122212112212122122221211112121212112122122222112121122111112211221111211211211112221111222211111112111211121122212122211111222111212212121122121122111211221212122122222122112121112221112112221212212122211212211221221112222121221111121121112221122111122212112211111211111112111212121121121122222121112111122222112111111112212222112222211112222221121222121221222111221111112112212122221122122122221122211222122212112111111112122212222112122221122211122122211121222111111122222222112211112212221121211211222121122221121211121111122212121212122211121122221112112122121121111222211112212211112212222111222221222111222221211211112112111112111211212212221212112121112221212122211111121212222111121222221122221112122211221211212122222212221211212212121112122221111222121111222222121111121211212111221222121212112222221111222122122222122111221111211222121212212212211122121212221222212122211212111222222111221121222121211221211211212122122212212211111211222211112121222221122122221111122212211111221112122211121112212221112211121122212211122122112121221121222112221121222122211212111211212222111121122121112222212222121221112222111222121121212112122211222112112222222112122212211221122112221111112212121222212122121112122222222121112112212111222121112121212122222111212112122221122121212222222222112111221212111121221121221122122122122121222112112122121212212121221211221222111122212221212111222121222111221121112222111112122121222121121212212122121112211221222122121121111111112121221222221211222112212212212221212122222121211122221221112212111111222122212211212112222221111221122221221121121222121212211112211122122112121112112211112122121211122122212221112211111121112212221221112211211112212112212112221121222122122121121112121222222112212111221122222211221122222111222211211122222212211222122121122122122211212211111122111222221222122111112212212211121122212221211222112121222122221121112121211111222222112221222122211111112211121212212121212211222122212121211111121111221221221122122122122222122111111211212212221211111212122122112221221111222222112112121122112121222111121212121221122122122222222121112111211221112112211211222121211222221111221221212222111121212111212212211222212122122112122211112121222221112211111222211112122222222122221222112121111222121111112111112121122121212121221212111211222222121221111112212222212122111212221212222121222122121121221221221122222112122222212212212122112211121122212111222112111222122212222221212121211111122121121111212111222212212111112121111111212121212222112112211122211211112112112211222221221212212222211221111212121122212121122112211222212221122122121211222122122222121111122221211111222111112121122221122211122111111121122221112122112122112112111112112122122121221121211121221211121222221122121221221211212122212212112112121222212111211122222122212121221221212111212112221211112121221112111212221111212212112111212211212221112122111122211211221221112211121122111212222222212221111122121222221112112121122122112221221121121212212121121211222121222221212222122121122212211112121111112211121111211122221212222221211211222111121221121112111212212211212111212212221212112221111111222122212112111121112222221112221121122122111111122212222122112112122122212111111112222111222222211111212121212112221111222211212221222211221112112212221121221121121111121111111112211212222121211122112111221222121122221221212221112121111221112212112122111121221222121112111222211121221112111221221221222111111212212111211212222122111211211112221221211212211212112211111221112122122212122221112111122222112111121211221121112221111222221222121212221112112112221121121111222111221122122221111212111112212211121122221111112221222122111111111122211111111222211122111111112211121111222111221212111111221221122211221112112222211221111111112212221222121222222112121121112112222122221111211121112212222222212221221221122221222212121211121122211111111111111122222221122121112121211212222121212122121112122111211121221112122211112121222221212222112112121122212222122211221111222211111112121212112111112211122112211212222112111112222222222111122212122122112112221211112111111111221221211212221112222211112221122221122211111222122112121122111111211121111112221211122222121212211222212221111122222122112211212111121121212211121211111122112212221221211212222121211122111122222221212121111122121211222212122121221121212122211211222111222222222111111122212222111111221122222121112121221122221122212122112211222111222112122222111111211122111121222121212211222111112121122111222211222211121122112222122122112222111211221211221111111112121222111211212221212122211111111211122112111222121122112211122111222212222222111221111222121122212111211111222222212212221111112211211121212122221212122121112212122122122111121122122112122122212221121211122112222122111111122212111211222122121121111222112212121211112111221212122122212211222121112212121122112221111222121221221212122111121212221121122212212112222211212121112121122112221112222122122221111211122122122222122222221212212112112212212122122211112211212212111221212122211222121111211211222221212221122221112211211212121222211111212122211212112121211211121112221212121121112121221112121111222222221122121111122211111111121121122112211111121222112221112121111221112122122111121211211222112211222111121122111112222122222221222222221212121111212111121121122211111122212122121122111122111122111111111212122122121121122122111212112122211212211211221121122221222211111121122122121221121212222212121112222122121221122222112121221122221122211122211212221111112122221111112221212221211122211211111122222211212221121121221112122122112211122221112211121212111112111122221122121222112112222122221211222121221212122111211222121211211211122212121222212121121121121222122111212221112222211212212222121111112212122121121111112122122111111122122212222122222111212211221111112121211211121111212121212111211221211212121221211122112112222112122112221212222121222222211111221122111111122111122212111122112222122222111121112111212221221222122211121212121222211112221122221211212221122112212111222122222211112221121122221121212212212112112121122112221221121121121222121222221112222121121212121221212212121211112221222221111121221221112121221211221112212211212212122221121122222212211221221112111211111122121221212211111122112221212111121122212112121121121211221122212122222212111112111211122121212112212212212212212222221221222222121211121222222221221112111212111221122122222221121121212111221221212211122212122111111212222122112211221211111112221212122221212122221221221222212212122211112212121222212112121211111111122212222122221122212112211221111111122122111111222221122112112111221221122221212211112211112112111112122211211211211112222222122112112112211211122212121212221211122221111121211121112122221111221112121122212221222212212121211221222221112221112122122121121211122121222112211211222112121211222112222221212222221112121211212121121222221212112121221111222212122221212222111211112212212122211222211121212111221112221222122122211122121221121121121122221121211121121121111212221111111221122221221121212222112222211211212112122221221112212222121121211121212112111212212122111222121222211212222222122111212122211222122112111112211221211121211221212221122112112121121222212121121212211221111112122211212112111112111222111121112221211112111211112111222221121121122222221112111222121221221211111111112222122121212121112111112212112212122112211112121211222222222222112221111121121221111211221111111122211222122121122222221222122121122211122211121212112122221111211111212121212121121122121212122111221112222221111222122221122221111212212111212122122222212121112212122112221112222112211121112211122122212111222222111222221221212221111112212211111212211222111112121221222221211212122221121111112122122212112221112122112212212122211222211111112211122111222122121111212111122111111121112112112221212111111222221222112212212221122221221212122212221211221111111111112121122122221221122222211122122221221122211121122122122111111222112121211212121212111112122112122221122122221222212122222121212121112222112121222211112121121221212221212111221122121222121122222211111221111111121111112112212111212211121112211111111211111111111122111222221121222222222112121111111112111221111222212122112111212121211212111212112211121221111111221211112112112211211111111121111112111212212212121212122122112112112122211121112222122112112211122212211122122111222212222111221212121121121121122122212122222122112212112111122212221112121211222211212212112212111112212221111111222212212221222122222112122211122112222211121212211112212122221221111211122112121222112221212121122111212211111222212211111221222212222121121212111111222211222111121221212222122111122122221222112122221111121122111111122211211221221221112121211112122222221112122121122211112122111122211122121121121122121122112111211112112211212212222111121222222212112112222112211212212212111122221212212222121111212111122211212221222222222112111221111222122211221121211121112121212222221212211121112121112111112212122211121221222111222121122122111112122212111221221121211211122111211221211211112121222221211211112111211212212222121122121221212212111212122121121222211112212222211211222121122111212121122211221221221121222111121112122111121212211121112111221221111222122212121211212222111112112222221222122122221222212212111211221211111222112122121211222212221122222221122221122212212121221121122222121221211111212112112221111221212121112211221221222122122221212211122222112111112122211211111111221221112112122111211211221211211212211221212211222112221112111211122211211121111212212211122222221211122122122111211112112211222221212222221221211222211112212122211212112211222221112212212111212112212212122211121221222212111211112211111221211221221111112122122211221212121222211122112212111212121121212111222212211122212222122112222112122121112211111122122122112211211221222111221122212121121211222221212111112212122112121211211222222111122122211211121222112222112111111112221222121111122122121212112212111111222111212221122121111121221111211112111221221112222221122222222212221111121211121221222121212222221112122111212112121222212112112212222112221111121112212112211112221112111121221122112222222222221212212121222121211211212211111212212212111222212112212112222112122221222222112112222122122121222221211112211122111221212211222111221211222211212222211211212211221111212122221222122122121212121111211212221112112212121112221211122211112122221112222221112112211222222211221222211212112211112112222122112211222122221212222222112212212122111221122122222111222211221211221211121212212121122222212111111222122111211212221111212122122221111211122112122222121211211212121221112111121212211211112112122122221121212211112121221212121111222121111211222112111111112122222221122122222111122121122121111122212112222222222212222112212112212212211112111221222121222212212121211211211222222211222121122111122211112211111222222121221122221212211221212112211212221222211121121222112212121212211212122212211221122121221122211222212112222222222212111211121112212221121222111121221212212222121121122112211112122212211122221121222122211122222111211211222111212211122211121221211111222222121222211222111211212121111111222122211121121112222221222122211121112111211212112122211222121121212121222222121122222121122112111212222111112222222211121111212122222121222211222221112122221111111121121211212112121221221122222122112212211111111121221122122221222212112221221111111212111111222122121121222211111212121211111212111222111221112121111122211211111121222121222111211112212212122222221211211122112112221211121121112122211112111212221211112111122122211121222122111111222221211222212221122122112121221222212212221111222211212122111122122212121212211111211122211212221221112121221212211221111112111122111212211211221222211122121212111111121221212111112122121122212211112112221222211121111121121222222111112121221212212121211121111122221221112212111212121122221121211212122122212122111121112111122122122212122121121122111111111111122211112121111212222222221122211122122121211221221221111221221112121112222222121221222112112211221212122221211112211222121112122222122111222212211211112112112221121111121212211112221121122222112211111122211212112122121121111211112212222221111112111211111112221221111112212222122222112121121211211121211221221122112221212222112221221122221111121211122111112122111221121121222212112121212121122221221212121212211221212122111222121211211111212122121121111111122122111221111211212221111111222212122222212211211112111212222112221122221122222121111222112222112111122222222212112121111112222212222211212121221122222221211111122111122212211211121222211121122211212112112112122221111222222111121111112212122212122221221211222212112122121121122112212111211211222122112111221221111222121222222211111212222122111222221221121211211112111221122112111122212221112211211221221211221112121121111112121211111111222122212212122211221221121221212121212222211112211222212122112211221112121212222222112111112111112121221212122211122212221121222122212221211122111221111211122111221121221212121121221122211221222112122221122122211211111122112111121222112122122211211221212112111112122111221121111222121111111112211111112111111221221221221212222211111112112221112122112211121211122121212121111112122121122222212212222212212111211212121111112121211111121112121221111112222122221112211222221122112121221122221111122221222222211121112222212211221122112212211211222222212211122211121221122221212212211211111221122211111221211221122122111221122212211222212122211212211222222211121222211222222112212221211222212211121211212112211122112222111121222212122211211111211121112121222111122121222211221122122221121221211111111111222212212211211221112112122121111112112222212222112112221222112112212122122212221212212221211121111112222111222111112212122112121221112221222211111121222122111221122121212122112212112112212222221112222121211111211211221222222212212211122222111211112122112112211111222111211212212111221211222222111211112112121222112211111222222112211122121111212211122221221222212112121222111112212221111212221212212111211221111212121221122121111122111212121212111112112211211111211112222222221112121211111121211122121211111222212222121122122212212121211222212121222111112212212112211221111222221112112221112212111121221122121211211222121222212122212222222121211211211222212112222222212122122221222122221221212212211222221212221212122221212121222121211112221222112122221211112111121121111222211211121112212122211111111211221111121111122111111122111112222212121111111122122211211222221221112221211211212212221222212112112111112121222122221222221212221221211212211121112121111112111122111221211112112212121212122112112121221212211122211111122222111111211222121122212112212111111222221122211111122221211222211111211122111112221211212111222122122121222212222121112122122221221222122121111212221111122221111122211211122112211112212121112121112122112112211112222121121222212211112111122222211122122211121211111121121222221222121112221211212122111211122212111111212111111121212122212211211121222112111121111212121121222222212111112112111111222121222112212111221222211222221222222211121222221112122222212222222221111211122112122111111121122212112122212211111122111222111222121121212222221122222222212121111112221221211112212121121122122222112111212121112122211221112221121221222222222222222122112121121221112122212221111121221222121111221211222221211221222122212222121222121221212222211221112122112222212121121111211111211122111112122121222121121111111121122112211111212111221211122111121111211211222112111121111222211222222222121221111111212121222112111222212111212111122212212222112112212212111221111122221211121222211112122111222122222122211221222211212211221111221121112212221221122122111111112221222121112121212221222122221111211122122221221112112211222221121211211121121212111122122221212111221122222112212221111221222122211222121211122111211222121122212111221122111221222211122121112211122221221111212112221111111221221122221212211212212211221212212211111211111122211211121222222221112222221122111211212212211221111221111221212222212121112222122221111211111221211212211111111112111222122211111221111221112221221112112111212211221212111221212122211111222221221221222112212111122222222211111211221121122222122122221222222112221221112221221121221221111222221112221222211211211111122111211212212121222211122212211212221221122212121121122112112122212121122211222111211211112111221211211111112121222122221211211222121221212211111221111221111121221211221112121121112112111121121211121122111212222122221221211212122221221211222112212112112222221111221112121122222111221222121121122222211212121212122211112222122121112222221211212111121212111111121211222111122112211212211212222222222212111211121121112222212111211111221212121112122211122222211121222112222222212111121121121111211212212111212221211212211122211112111111111222111121221222112111222122121121122112112221112121211221122111112111222121112121212112111121112121221211111211112221222222121121221211222212122211212111121212122121221121222122112121222111111222211121122221211111122112122121221112221121212111111211111112112212212221111211212112222211212111211111211122122221211222111212212122121221212222222212121112111111111212111211121211111212212121122111212222222212112111212111112221212212122222221222121211222211112121121212221211111221121212121122111221111122112111121122121211121211112222121221221112211221122212122122111122222121121111121122112222122212211211222111221212222222221221122112221221221212212222122212212112111212121112112221112112111212222212222121211111222222212221212212121212112111222121122221212221211122211222122211221122221211122222121122221221222211211122221221112222121111121121221121212122122121112211121122212222122212211112221121122122221212212111211112112112111112212212221121221122222112111122121221112111121221221112222212111221121121221122211212111112211211212221221112221212221112212112221222112211222221112212112121222222112121121222222211111222211122122211221212122121111112121121222211212111212112122121122222211121111222112112212211211221222212122222121122111112221121112111112212122221112222212122222222222222112112221221222221111212212212111212111112221121212211211221121112112222221111122212212122111222111212212112112211222112122211212122122212221112122111221112122112212212122211222221221222111121111122111121222122222111221122211222122211222121111111221121211121212121212221121211111222112122111221122222212111221212222122222111112222221111112112211222222221221121112211211121211121122111122221211121211112122222222112111121121122121221212212211212221112111121121222212111211121122111122221212112212221211212122221211121212222111121221121112111111221221122121121212221112222212221122221221212222122112112211112222111211211111112222121222211222212221122221221112112222211112211222221121212112121112212211112122212111122111122221111222211221222222222221111221212121221122111211221122111111211121121111212121212222111112111212121211111111122111122212212212221211122111211121212211121211221221212221122121212111121111221211112111121212122122111212211222211211111112121212121211222111221211121112211121121122221221112111111222222121111221111112121221221112112121121222222221222112212111212111221221211121212222221211212121122111112211122112111222212212211221121121111122212111112111121221121122211212211212211112222222111112212122122212212221212122222112121212211221121111211122211222221222111211121212121222111112122112111222121111122111211121222211122212221222211221111221112112211212211221121211122212121211121121111111112221112112222211212122221221122121221221222212222122112222222122221121221111212112222122211112221122222222221211122221122212121222112122212111212121221221221121121121221212211112211211121112222112121222222111112222111222211121211121212221111222111212222111212111121112211122122111112221122222111212222122111111222121112122112111211212122212211112221212221212212212221122111121221212222122111121111112121122111221121112111122122112212112211111122111111221211212212112222122111222122111212212222121212221121211111112112122122211122112221212212111111121122122222111112112122122222222212221111221222122111212211112112211122122111111222111111121211211211211212122122121212112112212112221221122211221211121211121221222112222121122111211211211112212212111121211211221121111111112111112211211211111211111111211122112111121122222222112122122122112122211112221122222112221121122212122112112222112111111111121221112122121212112222221122222121211112212221211122222121121212212211212122222122111222211112112112121211112111111211112221112122222112222112211112211222111111112222212222121112121112212122211112221112121211111222111222221122211122112212112221212112221121212221112111111222122121122222222222222212111111122222112222221221121121221112222112212222111112221222111111122222122121211121221212111121221111221211221112221121211211121221221221222121212222211111111112211121121112222111221222112211222111122121211121212212122112212212211221121112221121221111211112112222222122111222212112111112112212122222112121221111211222112112121112221221112221122112212221222222222221211122212111112221121221122221222121112112212112112122221221111121121121111222212111211221212121222211221211122211111112222211121121111222121111221212111221111111121122112212212112211222211112112211121121112122121221111122221211111222112222221122121112222211212111212112222222222121222211122112122211212221112212221121122112112121222222212122212111111121221112112112112121222111222222112111221122211221222222121121112211212211221122222222122121112212122112122221222122122222111212122121111212111222211211221111212122211111211112111111222111122112121112111122121111112212212122222111221121121111111221121222212212111212211222212212121122211212211122121111121211111221111122212121121221221221211122122211111221221121111112121111222221212221212222111122111122112121211211222211221121221212111122122122212122212222222222122122222211212111111212111221212112112122121121111121211222221222222222221121222111221221121112212111121222212211222122222212221211112211221122121112111111112222221122111212221222122222221212111211212211212212122112212222121212122122121112221221121212111111112222211221111121111121211121211112122221211212112111112112112111222111211121122221111111111221221122212112111212222111111121121212221221122211122222111212112121121222212212111211211112122211122222221222112222122212212122212112111222121121221211111112122211211211211111221111112211111111221121122122222122212111121212112222121121111211121222121221121222122111112212112111112112211222222221212211222211121122122212222112212122221211122121211121111212211222122122212122211221121112212122121212212111112221211221121122122222222111221122222111112221122222112221221222121122212122221111221211211111221222122112221212112222221221121112211122221121222212211122222122211121112221121122222211112211221111222222121221121221211112122111112212222211212211111112112122221111222212122122122211122112122111122111222112112112221221212211111112212122111222221212111222212221122122122221121211121211211112111122121112222122221121221222112222111212222111122212111211221121111222121122211212212222121111222222122112121221212122211122221121211212111111211212112112211211212222212221121111222222122121112111112121121121121121212122212121121112211111221112222212122222211122112212122111121221212122211122211121212111121211112211121112112112111211212222122122222211222122111222212211221212221212121121112212121222111222122221222211111211212211212111222222121121122111112221222122211121222221122222211222112221212122212122211211122122121212212221112221111212112111122212121212121212212221112212211111121212122122222111112222221122121212221112121112112221111222212221112121121212111121121222112211222111111211212222112211121221222211121212212211122112111111221112211221122122221112111122112112211222122221112111212112211211112222211121211222122121222222112221222121211222212111111121222122121111111221122221211222122212211121111212222212212211212112122112221112211111222212211211122222122112121211211222111222211222111121121112122212211112121122112111121222122222211111221211121112112122112112222212122211221212112122212122112212211221211222212222112212221122111112122121111212122122211211212222112122221122222121121111212121122222222111121212211122111211112111211122122111212111111222121222112112212211112122122122112112211222222221112121222221211112121211122111221222212112111112222112211211222111221222212121212211122112112112221122112112122212122212221111111212112222122122211211122121222212221111212111111112122121212211222211111211221122221221121111122112211211212211111121121112111121122221112222221121211211122111111222222111111122121122121212122121222122111111122122212211121121122121121111211211211111111122121121221111221222111121112121222111111121211111112212221112112212211122122121212111122212112111121211112112221112212211112111211212212112111111212222122222221112121211212112121122222222212221112211121221111221112212222211211221122112211121212122221212211111121111121221121211221221112221211221221112211112222112211111222111222211111111112122212112222121212212122112112121122211222221221222222221212211111111222121211111121112212111121221211222212121112111212112122212222121122211111212122111112122121222122212122122121221121111211222112221121111222221212112211121121211111111211121111212112121111212111122211221111222112111122212221122222222121122122111111222122212221111121111111212212222121212111212222222121212222121222111122212122121212212222211111122211112122222221122211122222122112211122222112121121111122212222122211122221122212111212121112121221212112122221211111212112112211112212211111121112222222121111221212121121122212222222112212212221111112121111212111212111221122221212121222122212122211121211221111211222112221121212221122222112112111221221221121211122111111222112222122111212121221212222121112221112111212211122222122112121121122112212222111212122121221212211221122211222212221221212111122121211111211222112222121112112112122221112212221122121122111211222211111122112122211112111212221112121222122121212122212112211212221122212122212211212212112212221122121222111111121222112221221222221112122112112221122122221111212122112211112222222221222222211121221212211112222112122211111121212112222122211111121122212221122212222122221211221122212111211222212212222212111112121122111211222122222211221112111222222122222121112111211121121212212121211221221211211221122121122222211221211211111222111121212111211212211222112222122111211222122211111111222112122211211212221121111112221122221221211111211112122211211222122222121222122221122111211112211121112222211221221221111221211122212212112222222121222221211212212112111111211121222111122112212211212221112222122111122122222222111112211111212212221121211221221212122111122212121221112112222211221222212112221221111212222222221222222211222112122211121222121122222211211121221122211222121121111212222112111111212111111121222121121212211122121221222112211112222112221221212121122221212221212211211111221112111122121222212211121121212121122121121111111211111111211222222122212121221221222221121112112212211212111221222111221121212222212122111221121122112112122211112112122221221122211211221112121111222221211222122122211111221212121222222211221211211121212122222221212111111222212122221212122212221211122221112111121211212222111122211222222112112221211112221222222212222111121211112112111121221122222121221221111121121212211212121111222211121211212221222211121221121221222212121112221221121111211222222222211211211112212211222121122221112111112122211221221211111212121211112122212221222212121221211221211221212211211121212222111212211122122111111211212221112111112212121222211112111221211212122121122122211212222212121112121122121121221112111221221111222211211212211212121112222121222221212221212122222122222221212122212211121221112112121212122112111122221212122221222121122121221112122212122221112212212222211122222211122211111111221121212212111121111221222222121211212112211211111222212212122122111221122221211122112121222121211211122211112212122212111222211212121211221121211111112211221221212112222212221121122222211111112222222212112122221112221111121121111212121112222112111221221212112221122122222212211122111122221211221111112221121211212121211221221121211111222222121222221111221222221221122111121222212221222122221212122221121222122222221112112221122121122111221211211221221211221111222122111112111221122211222112221122221222112112111221122121211111111222222122221211122222211212122111121112212112212222112211222212222221121212221122122212122222211112111112121121122121111211121221112212111211122222121112121211122212121222211212211111221121112121212221221121212121112211122222211221122111122121122212122221212121122222222111111111111111212121221211112212122212121121211212121122221221221221121122122221222221122222112112122221111222222222221112221212212111122121112212222212221112112212111222211112211222212112112112211122122221122222222112112121112121111221221222112211222121111212122212112121211211221222222122212121112212221211222112211211112112121211212112221221111122212221121122122112221122111222121222221222222211121221222112222121121221221122111211212212222212121122222221211212211211212222112122112122222211211112111121222122212221122121112221212212221111121222212111121121221212212112112221121111222212122112112222122121112222111221222111121122221211212211111121111122111221111112222112212221211222111212211112112212211112221211222122212221222121122222211112211222211111122212121212122211121212221212212122121121112121111121111211112111212221121121212212121211122111122222221212221211111211221121122112212112111222212111111121121212211111211111222111222211112112221211212121212121212112212211212111212221222212121112111111211121112211111222122221222222212122211121112222112212212111122211211122112112122122112112112121121112111111221112112112112122212121221111121122212221111212122211121121222111121112112122212211211111122112222112221212211122211112212211211112222121122211212112112211221221112222111212212122212211221111111212122221121122111111111211222222221121121112211222121122211211121122221121212212111112222122111121111212221121111211111122221221222211122122112222111221222212222122122211221122221212112111211112122122111111211112212112212122211111121112212222121121221221221121121112111222212211121222122121211122122122211122211111121111122122112222112222212111122111212221121122211121112221122112212112121211221212112212112111211221222222111121212111112111111121111221112122211121212222211122212211121211111221112212121212121122222111212211221111121211211122121112221122221111111222121112112112221112221111211221221221112211221221121112121111112111111112211112121212212212112211211112121222111222121212211211212222111212121212221212112221112222211212122211112221211112111222221211211211211112211112221112212212211122121111111112122122222212222211122111122122111221112121212221212221112112112211121211212121221111212211211111121221211211221122221122122221122121121111212121222211222211221221211111112212221111122111222122212112212121211222122222222122211112111222112222122222212111111121222222212222111222112111222212222211111112111111112111222112221211112111221122112211211111122222112122212112112212122121112112212112221211211112212222111222222122111222221221111122222122212212221221212121221121121222122111221211211212211211111122111212222121122112111222222111212212111222112221122112211111112112122222112222222121211112111211111221111212122111112221221121212212212111222112212221112211222222112211122222211111112211212211212111122111121111221112212222111212212211221212211221211112221122112122211112111122211111221211121111112211112112211222221211211112221212111112212211212121211111122112221112112121121222122121111211112122212222121221221112222221121112211112121111222122112222212121112112112121111211212121111211212121222211221111112221122212112222121121211221122122122111111211122112212221111212211211122111211211112111122212121212221112111112122211122121111211212212212112222221122112112222212221122121222122122221111222222221111222121212222112121111121122111122112121122221122112112221121122221222112121112211222222221212222212222211211111121211122111112222121221212212111212212112222211112122111111212121122122111112112211121122112122212211211111211111221122211112221212111211112221222211212211212221222121112211211221112222121111122211121112122211121212122211112221121222121112212211122112121121221112122121211111112112112211222212112112111212211222121111121111212212211222212111221121122222112211222222222111111211211222211222122211211221112212112111122222212212221211211221121111211221221221212122221211112222211112212112112212211222221211212221212222111222212221111112212112121122221212221111121111112212122122221221121222212212211121212222222211111221121212112122211211112122112222111121111221222112211121111221121122212222121112121121111112211221221221122121122221222122211212121212112211211222122121221211112122211221221222111211222221212222211221112212112112222212121112221221112122122122121112122211211111211112122222111112211111111111121222122121221112211121212111211212221222222111122122111111112212121122122211122221112222211211112211122122211221122112222112221222212121222222222211121111221212122112221112111121111121122222212112111212121121122211112221211222211112221222111122122112211211211112121221111122221222111222122212121221211121211112122211111112211222122111211212221121211222222112121211222122211222212211221111121222112221111121121211111121212121221222111112111211211121211222112122112111122111122221121121222211111122212121221222112211221121212212111212112222212122222122121111122111212211121211111222111212112212112122122122211211221112121222211121111212211212111111221222222122222221122221221222222112121221112121121121112221111222211212122122221221222212212211122122212221111212222111221212221121112222221111111221121121221221222112122221212122121212212212221112121211121111112212112221122212211212112212112222211222212111122212222211112212121222212122112112212122122121112222221122121221221212111112221211111111111212112211122112121212222221221122111112212221221212111222212122122122122111111112212212221212111112112122221111211212112121212211121112211122122212211211211222111221212212112221222121111212121222211211222121111111112222112221122222221121112121212212121112111112112212111211212221212211112122121111221212212211212122122222221212222122122122112222212112122221111111212222221221112111212221212111112212211212221111112122121111112212212122122111122122222121121212122212112211212121122222112122222111112121121121212121211122221222212111122212211211121212211121112211211212221112122211221212212212211112111211212122221212221211122212122121212211112112122122111221122112221112212212221221122221122221111212122222212221112121111122222222221212222211122122221211112111212112121111111111221121221212121111121121222211121122111122211122111222111111211121111211111212111212121112122111221121121121222111211221112112221111122111122212221211211111211111122221212111111111211122222221112112111112221112212122222111221222211121222211222111211111212212121122221211122121111221121122122212122222221212112121111222211122211222221221212211111212122212111111211111212222111112111211221122212112221112112121111221222211221111212111222112111121121212212122112112212211111121221121221121112222112221221122211212211222112112211222111211121111222112122111121222211112222122122222122211221111122112222221112112211222211111122112121121212222111111221222121112212222211222222111222121111122121212211112221211121211221212111122121222222121112121122112121112122111222121212212111211221221222212211221121222222221212111111212222211111122222111212212221112212121111111222111112111112112221112121121212122212211221112121121222122122122112111112211211121121122211222121211222111122221112211122122222122212221212222222221112211212122211121121211111222122211112112211211121211222121222211111121111122212222121111121221222111211112221111212212121221212211212121111121211211211112112211121122122111221221122212211122112112111111112111112121212211221212221122222122211211222112221112222111112222222112112111222211221111112212121222112112221212111211211211222212111121211222111122212112211111212121221212212221122211212221111221111221121211222212112211121122211222221221122221211121121121111111122122211112211122211112111111212112111221221121221111212121212212211111221222222111222111111222221111111221212221111211112212212221111122212222112212221112221112112112211211222212222212212112221221112212122222112111121212122222112212111212222122211212111222221111221111211221111212112221212211212221221212211111112112112112211221211112221222222211221111111121211111222121111211111122111211111222221112212111222212222212121212222121111111121121222212222112122122111222122222111122212212211222212221121221121112211122211112122111221211111112221112111212121122212221222122221222112111122122122111211222122122122212112121212222112211211121212211222111212221221111222111222221221121211122211211221222121222121112112111121112112111122211122221211211212221212111122211122221221211212222212221111112122211211211121122212222111211222112222222222112212221111211121111111121222221212111122212211112121111212222222221122122121121122111112222212111122211121211121212121112122222112111111121212211111222222222112111221112121211111122111222112222122222122222211222212222111122222222122221221111111221111221111112211222122222112121212222222222221221122222222112112222121111222222112111121221111111221222212222222212221211122211121112211121221112121121211121221112211122112211112121112222122212211221211111211112112211111121222112111212222112221121222211122211212212122211212112112222212122222111211221221121222222212121211111112222222111212211221122121121211111111112121112121222112122112222111111222221121212211122221122112112111121121112111222121211112122111112212211122112222211211221122222222111112121121112122222111122112212122122112111122221122121122111121222212112221112111112121122112122121121112222111112212212211122112121211211211111221111222112222121121111122121111121111122122122222212211221212111121211111211212211222211111211212122112111221222122122112112222221112211121121211222212221222212121121211222212221212212121212212112222121222221122112122112222222121222121222221122112111211122111111222122222112111122112222112212122222111111111112112212111212222121122121112122222221222111212122221211211121121222221121111212221221122212111111222211112122222121212112222212111212212111211212221122121212222111111111212112211121211111111121221212211112222211122222221111111212222222212121222122222221122212111222112211212212111221211112122111121122112111221111221222121221121211121221221112121112221122112222121222122212112211211111222211122112222112212222222122122122111212121211221211112212122212212121212112111222211212121122122222121221222222212121122211121121112211111122222211222121211222122212221111121221122211111112112222211212122111211222112221122222221221221122122111222121222112211111212211211121121111122121111112122221112121221221121122222222112212212222112221211211121211112111212121222221222211222211222112212111222211111121121112221111212112221121111121221121122112122211112221221211122222211212121221212112111212112221112221121222221222211211212211212221222221211211121212211211221221112121112222121211221222222211112111212222111122112111111211222121111221222121222211221222112221112211211221112221211211122122211221112211122212212212222122111221121122111112111121122111212211121111121221121111121211222222211221222221111221112211222222211221221222112222222221212122121222222111111221121112121222122212122222221211112122222112221122121121122122212211221212111211112122122211221221222122211112112111122222212112122221111212121121221212222211222111112122111211112221211122222212212222122112111212222111122121121112221122112222111221212122211121112211212222121221111222121122122211211221121222221111112121112122112112112111121221222112211222112122212211222112222111221221221111211122121122211212112211222212212212111211121112222222222211221211122112121212222112212121211111212222122112112221222212121212211112111221111211211111222112221111222221211211212221121221221111221122121211211121211112122211211121222111121121211122221222221222112111211221121111112111121211212112112222111211111121211111211121221222122112111222222212212121122112111221111111111121112112211221121112212112112212122112222111222112121211112122222212112212111111111121212121222211111211221121211211111212122121212111221211112121112222111221111112121121212111121111121111122222212221211112222121212122222112111221212112111212211112222211112122211112212122211122211221212122122122111122121112112222212121221121111212122222211221212122121222111221122122112222121221212111221121111211221121121112222111122221222221121111212222222112112112121212111211212212122111221222222222212222122221212112112222221121222111121122221111221112111211121122222111222222121221112121222112112112112211211111211111211212211222112122112111111211121222211112211221122111112221121221221111112222222222122112212221211121211211122221122121212112122122121112111121221112121211111211212112221121222222221221112221112122212221111222211211111211122112212212122112222111211212111111111222211211222122221212111222122112212111122211111111112222111111121221121122112211111211221121212111221111211122211221222212212121222212111211111122122221212212111121112122111222121211222221212222122122111211121111122221211222221111121221112121122222122122212112122211112211111112221122221222222122111121121112212122112211212211222112111121211222111211111222222211122121111221122112122221211111122221121122121121212221122121221222221112112121221121211112221112121221211222122212111221111221121222111112111121221222112221112112122222211111122221112112121211122212122221111212211211122212222222122112211211122222112221121122212112222121211112212112211221122122112221221121121111212221211212121211222211221111221221222211211121121222121211112212121212111221121211122111221121212111121212222112111212221222211122221122222222212112122212111211122112222121212121112122122111211122222112111222122121122222222122222212112212212121212222112222121221211121112222211112221212212121121111222222222111122111121112121222122112222111211111212121122121221111111121212111222221212121222211222221221111111221212212211211222212111221212221212121211111112111221121222212122212212111212111121111211221122111212212121122111212222111221111212122121221221112112111112112212212122122212111211122112111121121111121211222111211212121221111222122211222122221212111221111221211212221222212211221122112211221111121211121111112111122122221112122211112222222111222212111121122121211111222111221121121212211221112222211212221121121222112212212212122221212212112112222122221111222111122121212211221222112222111111112211221211211222211211121211111221122222221212121121111222121121211221111122112221112221222222122222211111222212112112222112122122111111121211211212111111121212112111212121111222121221112121111121212112122212111211211221111211121112122111112212111221211112112221121121221111211112221222222221121121221221112211122121222221121121122122212111211222212222221121212221221111222112212111222221211121212211112221122211221212222122222122122112112212211222121222112111122111121112211222211111111111122212211121212111122121121112212122221212121121111122121212212112212212111112122111122211121122222222211112122211222211121221122112112222212211211212211121111122111221222212211222222122111211222222222112112111211222111221112221122222211111111221211221112221122221122122111221211122112111212222212211212111122112122221221122111121111111222211221211212112222112221212111212111111221112211211112222212212112221211121212212212122221121221122112211121222221222112112111122222121111121211212111212122121222111122211212221122112111112122222122212121211121122121121212121111112212122112221221112212211111111222221112122111122121222211221112212221112211111211121212111221212111222122221112112121222121122222122222122212211211111212222122222212212121222212111222112222112112212222121211112222212121121122122111121112222222212111211122222122212122221222211111212111212222122121221111112112112222221112222112211212122211111212111212112211212222121121111222111212211222222122112212111122112112111111122211212222221121122122122112212122121222122112121211112121221111222121111221122221222111112212111221211222112211211211121211121212111122111211112111212211221222111112221221222121222222212212121221111222112221121122121211211112211111122122222122212112121122111121121221121211212122122211211212112112222222121212122111221112122121112212221122222222111211212121122221211111212212221121121211111222222212222111211112212122122111221112111112121122122121212211221121221211112111222222221121122112221112121111222112111212122112111121211122212112122212222121111222121121222111221111222121211112111221112111111122212212112212211112212121221122222212112212121111211122121211222122112121122222211122112121121121212121212222111122221222121212112211111121221212221221211121221221111112111122221222222122111122122221221111112211111111211211211222122122222112112211222121122112222222121221121212212221122222221111121111212221112121122212221121122121112211121211111211122121121122112211222111122122112121111222212111222212111122112211211211112212111221222122111212221211221122211121111221121122112221112222211221222212111121222112121221122222211212222112211222221111111122111221112112211111121122122212211112122121221212221111121212111121121121221111211112211221212222121221122211112222121221112212112122222121111222111221221222221222221211112111121222222222221112211212211121221222122221121112121111121111212221221122112121212211222212212221112211121211221221122122121121121121212221112121222222212122212211122221122112222122111112122121211111122121112122211221211121121211222121111111121221221222212212222122112122112121121111211121211211111211112211111212112212122221211211112122111122112212211212112111121111221222222122221112212222111222112121122111211112211112221221221221221221112212222112111111212212211111221122111112221211111121222212222111121221112122122121112122111111221221211122211122221122212221112221222212221221222121221111212211112222122111221221112221121221121211111121112222212122122111221121121221221212121212222222121211221122121211221211122221112221122221212121121112212111112122111111221122121122121112112212112221211112111121112121111121112222112222111221112221222111212222221211121111221122211121112112122222122121121112211212211211122122212211221111222122122121111121121122111111121112122122211212112211211112121212122222121211122112121212121222222212222222212222222212121121121121221222111212212212111121211212221111121221212222121221122211212121221212112212222212112211111111222111211212122211222111212212211222121122221222111222211121222121212112122222212221121121222212212121212222212122111212112211222111221121111212121221112212112221112112112222221212111122211222211111211122112211122121211212121211121122122212212122112122221111221222222111121122221222212212211222111212112112122111222211221121122211222212211121122121121221221212112112221111122111122221112222112221221112211111111112222222211111221111111211222121112121221121211211111111121122212122221211212121112111211121221112221221112112221222122221121221111212121221212121211112112111222112221121211111221122121122222111221211112222111221121112122212112121121221112212222222221111221112221212212212221121121212112212212121122222221111221221121221221222122212212221212221122111211221122222121111122221111222122221121212221221211211222212111122211221221212222211112211222221211221112221212112112112222111222121221122222112221121121212221221121212211121211222122121122122112222122222112122221112211222221112112221122222221111211211111111122111211212122112221122221112211121222212122221222212122211121111221122112222222221222122222221211121111111222122121221221222121122221221112111212221212121121122121212221211212222212221122111121112211111122212222122212112121222212112222111112122121212111212122212112212121112122122112211121222222211111122111122121222212212111221212111111212111212111212112122221112222122121111121111211222212221212121111111111212221111211222211211211112112112211211211112112122121112112121221121112212212221121122112211222212212211211112212212211212222122121212111212121112121221111211222111221111212222122211111122221222121222212122112122212122221121221222222211121121211122121222122222112122222121111221221221122111122221112212211211221221111211112212121121111212222111212122111212121112121212112122212122222212222211122222221222111212212112212222121212212211211212111222121111212221222221111211212121221211111211221222222121222222222112121111121112111211212212212112111221212212112222111211111122122212222111121211212112122112212111222121222121222211112222112122211112111121221212121111212121111212211111211221111221112222111122222122111112111112212212121212112211211212122222211121211122211222121122211222222122121121222222221121221122112212111122211121212112112221221111212122222211221212221221222122212121111212211121122122211112121212221121211112122221221221221111221222111122122221221221212222122112112112122112112112221212111221111112121211122222111222222121211212121111112121222122211222222111122222212212222211221111222121212211212121212211211111222212112211112222121211122121111211111222112111222212122122121112222112212221221121112211121111211122111122211211222111221211222211221221111112121122122111221111112212122121211111122222112122222121212112111121121111211122222122122121222221212121221211122221121222221221112212112211211212222121111221222122122212111221222211221211121211221211122122212212212222212121121112112222211222221112121222122111211222212122221121112112221212121121111222211212211122111222212221211112111212111121212212211111222212121111222122211222122122211222211221222221212212221112112222212111122211212211211112221121122211111221112112121211112122211111211221221221211111212122212211112221221122221111221111122221112211212122212221221122211212211221221212122121221122212121121222112222222212222222121111212212111122212112211211111221111112222111221211121222211122222222211222122212122112121122221122222111111211112222121112112212112222222112211112121121111221122222112112121111222122122112112221112122211211212122112211122212122111122111112112112221221221212212211212122212212112221221212112122222221112121111112211211112111122121121122211221111221112211212212221112221222222222221221112122122222111222212212111222112222221121211211221121112211222112221112122221221211221221121222112122212221111221211112122221121121222222212111212111122222221211112222111111111222222111222121212112122112111212221122111121222211121122121212222112122122111111222211212111112211211111111112221222112121221212112111121222111122221122212211212111112111122222112111222112212122222222111121121111122122121211121222212111111122211122221112222122212112222111112122211122121122221121122112111212221122211112112121222221111221112122211211211112222112221121111212221211212211112212111212212222221211221112221212122122112112122121221112112112211212212112122212211222122122222122122122121121212222121122212111122111112121122122221211212122221212222112122212121122111221211111211112111121221212211211112121221211212221222122121212221212211221222121111122222221211111111222222222121111121212111221112221112112122121121111221112212112122121121111122221222112222111221221222122212112211112212121121111212222111112122111221221222212111111221222221112112211221121112111122112111121222211222111212122112211112221211211212221111121221111212222221221212111112112222121211211222212212212221221221121122221122212211112111121222221112221112212222221121211112221211211222222112111121121221122212222112222211221222222122221222122121222211212121121221222112222122112212121222222121112222211221111212111122111222222212221121111212121222221112111211222212222112112122111212121121121211122111111221121121112221112212122221211121121221111111222121212121121122112122111222122112221221212211112112111111221221112221211221111222212212111211111221222122122222122211122211222211222222111221112111212122211111111122221222121111221111112122121112121112222121222121111212122112211222112222222212112221111122211111111221112222122121111122122112212111222121122221112212212111112222222221221222121111111221122112122122211122121122111211212221211122211212112221121212222121212111122212221112222111222122212111122112111111121222221221221112222122221112211112112122221211111111212212112121122121122211111211212111221112122121221121222112212121122112122122111222111211111112122222212222122122121221112111121211111121112112221112212221212122221221211112111211211221222111212222222122212221122211221211122111211212121212222221122122121122122121122212212122112222212221212222112111221121112211112111122122222221111212221111211221211222211112212222112222121122121111111121212122111111111222122221212221211211111211212222111212221211122111122212211121211211212212122111222211111122122112222111112222222122121221221122221222212221112212121211211212122211112222111112112121212121111221121122122212122212222222222112111111121222111122111112211222222222211221221222111111222112212111211122211221211212212112211222112212211112212111112221211122121112111112121122112221222211211212122221111112211212211121111112111111222111212112111212111211111211121211121211221222212111121221222221212221112212112222212112221111212211211212121212221111121122112121222111122221111112221211111121111211122212211212122211112211222111111221121122121211221222221221211212112121221221122121111211111221122121212212212112211111222111222122221212221221111111212222222121211211222122112211221222112222222211212221121122112122121211122121111211211121222221222121111122121221112212111221112121121222222212112211222211222211122122221122211212122112211212121121111222111221222111221111211212111212221221122122222111121121221211211111112211211212211222111211121121211111221112112112212212221212211222111111112212111111112212211122111121122222111222212212122211122122222112111121112222211112211212112221111222211212222121222221121112212121122212111121122121111212112111111122211111221111221221121121222111112211122221222221121211112112112222212222222222122112112211221121112222222221122212211221211111121121121221221211222112111211112111121222111111112211212112111212221112121111111211212221122121221122122222111122121211221211212222122121222112112212121122222222122212121211222111112111221212221211221211221212121111222211122112212222211121112121221212222122122111211221221111212221211212222122121221121212111221121121212221122212211221122212122112221112112121121221211221112221112122122221112222221112121122122211112211121222121211212111221212121121121212111222222212121222111111112121222222212212121212222111212211221212111122111221211112212212111111212111212122121212211121211222212111112111112212221111212112221212212212221112112211222121112211212222221221221122221112211112111222111212111212211212121211212211212111211221111211221111212221211212212112112121112112112112112212221222221111221222111122211122211122222221212222221212122122121122111112111111221222221212121111222111121112221211112221111122221211222222111211122222212222111221222121211111211121221122122121211221121221111112221222111112222211121111112211222222111212121112221111111212111221122112212212121112221222221112111112212211112111212212221121112212111211122122121212121222112122221112221211211111122221221221211122222222211121211122112122212221111112222111121222222122212121221221222222121211122211211221212112122122221112111122112121121122212222222122211121122222111122111212212212112121112111122211221221221112212112222221121222212211112221111122221211121222111121121112211112121222212111111122222212121211212212122122121221121122122111111122112121111121211212121212212122211112212122121222122121122122222222122111222222122211121122121112211211222222122212121111122211221212111222111212212222212212122221122121221222211221212112112221121121122111112122121212121112122112121211221221112111122111221111122211222112111122111211211211221122121112211111112212112111121212112111221122221211111112121121221222212112211121212221221211121221221121211121221122212122212121112121122222111121212222121222222111212112212222211222222222212211122212122121221212112221122222111221121112212212221112111211122111212112111111222121122112122222212222222121221221222112221121222121212212211211222222212122112112112212212221211211212112111211122112111222112221111211111222221221122122121111122211222222122122111222212111111211112112112112122222221211121211111212211122112111211111222121111212122122111211121221212122211122111222212121111121121122211211112211221112211221111221122211212121222211211221211211211111112221212221211112221111112111222122211122222112121122222112112122221121211121222221122211112211111212221122212211211211112222212221212212122222222112121211121212222222122121212111121222211222112222112211111212211112212122111121122111211121111212111212111211111212221121121211211111122221121221221211121111121122211122221211121122211112112121121121211122111122221212212212111212211211212211111111112222222122122212112112122212221121212221222122111211222112222222112221112122222111211122221122112112211212212111121112111212211221222112121222112112112211221112212122222211111111222112211112222211121111221211121212221222112211212121122112121222221122112212121221221221222122121111112222121212112112211112122221111112111122212222211112211211211221222112121221212212212122211112212122122121111112122121121122212221211221212112122122221112111211111111122211121112111212221122211111122121121111211222111112222211222122211222112112122111112211212211121212221122122212111211222222221112111122212211222112222211221211122122112211111112221212222122212121211222211211212122122112122112222121111221111121211122212212112221221221221221221212122212122212112222212221222112222111222221221211211221112111222221122121222221112211111222211222111221212111122122122211121121221221122111212222221211122221221211122211112221221111212211122222111222211221112211211122112121112222212221221212221221111121121122112211121211221121211112211121212212221221112212212112122121211122212222222221111121211111111222211122221112212212111222121211121211111121112111222222122112212121121221111221222121122112221121221112122122121122211112121221122212221122121112121222211112222111222211222111112111121222122121221121121121221112221211112222211212111111111221212121221112222212222112221212211222112111212212211122211112112121112111121111121222121111221222211222212212121211222122112121111122222122221212121112212222221122212211211221221121221111122122122212221122112221122221121222111112121222121212211221222212211111222111221221111221111222122122122121121222112212121212122122222212122112121222212221211121212112122112221212122221122122221121212222211222221211111121221121111211221111112221121212212222212212121222222211112121212111121211212121212211211112112122122211212111121222112112211211222211112122112212111122112121212112211122221112221222211112212211221222112112111112221122122111221112121222121121221122121121211222121121112122112111212112212111112212122212221211122121221121211211122222122122112122112212212221211221211212122211221212111222122121121111211111122122221211111111211212221221212221122221212221112222121221211211212212211212111221122221111121211111221111121221221122121211222211112221122212222121221112122112221211222121112121221122111112212111111222211212112222212112122121221121112111222222112111112211111211122212212212112122112121222112112122111222221222112121122222211122112122211122211221112212211212122121122222122212111121121121211212122222111112122111121111211122122121211212111212111112122112212111221222122211222111212112121111121121221122111112111212111112212212112221122221221121212221211222221222221121211221122121221221212221111111221112211122212111111211212112121212111122221111221211211221222221222222221222121211112222222121212221112212112211222211211222221222222211122212221121221211212122212111222211212221212212211212112221112111111122211122222122221112112111112221121122212121112122122222221212122221211121112121211221121111122112212221212121122211221222211112121212112121211222122212111212211212112222112111211222222212111221111112111221111212222121211221212212212122211211221122122111221212121212212111221211221212112122211211221222211212221211222222122222221112212212112211211221211212122221122121122211221222111222122222122212111222112211112112121121211221212112211212122121111122112112221122122221122111122221112111222112122221112112221212222212111222222111211112112122122221111221121211212111112212212222111112211112121221212122221122111122121221122112111122222122122221121121212212121111121211111212122221222121221122222222121121212211122121212212122122212122211212221111221121212111222221221112212221211111121222221221211211221122221211112112221111122221121211222121121212121221221212212122122212221221121121122122212111112221111121221222112112211212112221222221211122221221212212222122111112221111111221222121112221212212111111121121211222121112221111221111212121111112212122211212122112222121221222121221122121122211122222211121111112111121122212222222221122211111111222212212221122211111212121211222212221112122121111221112222211222111221211211212122111122212221211212122112121112211212112222211121121211121212222122111212222211121111211212121112121111112122211121111112212212212212211212221211122221121212211112122121112111121121111211122222212111112211122111122211111211211122121121211111221222122121222111212222211111212111112221221122221212212122122111111221211211121112222212121212211212111121121212111221212112212111222211212221212212112211212111221112112221121122111212112111112212221121211211211111222211222112221112222211221221212222222122222222212122122212212211212111212111111121122122121121212222211211221122222221222221111121222221122111222222111112121122111221222212222111111112112122222111211222212111212111122221121221112111112122121122221221121112121122121121221212122221211121122121121222212111221121121112211122121222111112222112212111222222112211121212122121122211222122122122121121111221111212222121222211211112122211221221122212221221221111211212212122222211112112211121212121122112212112222122212222121222222222111221112212121111221211121221112112112122211121121122212211212112121122221221212121222222222121122211122212222212111111122211222222112211121211122221122121121211211112212121212211111221121211222112222211121212122122121121211212221121211222212211211212112222221112221222122212211112212111112221112122212112122222111111212212211222112212112211111212221221122122121221212222112221122221211121111121111112111112112212111122211222222111121211111122121111112122211122222211221112222112111211111211211122112121121212112111122211111222121211121222212221122222121221121211122121121221122212112222212112221121212121121121112212221122211211121122122121212112111222212212121122122111221122112222121122122221211211122112222211211112112212121221212121122211221122212212112221122222121112221122112222111112221112212222121221211121222222122212212111112211221111212112112221122212122222112121222212221111222122211121211122112122222121211111111112221111211221122121122221122111212112211212122112212122211111111121212112121222121122211111211222121212112121211111111211112111112222112221221221112122112222112122221212211112112122111122212111211212122111211111221121112111112122211121122121112121222221212212222222222211122122212212211111221222211111111121212212222121122221112111211211112122211212211221212221122221221111212211121121112111221111121221112222122112212111211222221111122211212121212122122111212222222212111112112122111112121212211211121221112211112222111112122122121122222111212212111212122122121212111221211111122221121212221111212212112121211221221122221221111211212112222222112121121121222121221211212211222111111222111212221221111121111121212211121212211121222212111212212211211221111212111112211121222122112122212222112212111222222112211212222111112222211112222212212122122121111112111222111112211221112212121221211121121111222212211212121112222221111112222222211221121122121222212212212211111211121112122221222222121211112111121221221212121121212121211112122211221211222221221111112221222212121111222211122122112111221212222222211111121121121121222211211122222122112112211221121212121121211111222111211212211211122121111121222222221221111122121222221212111212222111122212122212122212112112211211111222221211112122222122112211111121122212112121211222211221111222112111121221221222212112222111212121111212121211221222122212221111221122212211112112221212111122211112222222222211121212212121122221222222212212112121222222221121111221221112211222112221212112111222112112112212121222121222222221212121112222222111112212211212121221111212121221112112222112121222211121112121221221111111121221121221221111111211111211211211111111211111212122122111121121221111212111121112111111222122112122211121111111112122222221111212222212211211111121211222121111222112222211111211211122221112122112112222111221221221111121211211112212121221212122212111112111221212111112222111112222122211122112211122211222211222212211211122121112112221222122221222111222112121221111211111221111122121212221121121222111211221112121212221122222121112112112222222121111112211121212112111121222212122112112212221121222122121121212121121221111111121221121121221212121211121211212221121111212121112221122212122221221121221112111212121212121211211122211111222222211111111111122212121222111112112111121121221212221111121121111122221111111111121122222122211122212112111221121111122121121222121111212211112112122112111211122112112222122211212111211111222121212121122121122222112122222212112112211111211212112212221122111222122122111212111121221111212111111122121111111112212211221111211211222112121221122112221211221121212111211221111222112222212111222211121121112221211212222211211121112221122211111121212212122121121111212111222111111122211122122121121112221221111222221121222121121111221211112222221112211121222122112111112121122122221222212221112112222222222111221111112211121121211222121221121121121122222212222122121221121111111211111122221121212121122122221211112122212212212212221211122111121111212122112211122122111212212211121121212211211121211211221221211212212212121212222212122211211211112212111212111112211221211112111212221212122212222112222122221112112112211111122121111222121222112122112112112121122122222222121122121222122211222111111211222212222222222112211122211121111211211111122211111122222112211211222211211111221221111122211111212121112121122112221211212122121122211121211221211122121111212222212111221221222121222212211212121212122211122122122222121122112211221121112121221212221111212222112222111221212212212222122122222211221222221112222122111222122122111212112121221222112112112222111212122222121212122212112111222111111121112111211211122122111111122222122122122121222122221112121111211212122221222212221112222111211212121122212211212122222222122222211212112222112212211211211121221211122221211111122111211222122211212212122121121121211211222111112221211112222112212111221121112111222111122222211222222212121222111121122122212121112112212111221211112122122111212221111122121211222221221221221122122221212122122212122212122111111211122222122221221121211212222121122212111212121222221111212222212122112222222122111211211112111122111222222222122211221112212212112121221112211221211211121221211111211221112111222221121121121212212121112121112212121122122112122221111112111211111111121111112112211122122122221221221121111222121112121112212222222112221211112111211121112212211111221111111121211212211122221122111212122122212221112212112111112211211212212122221211212221111211221222221222222122112121111122111211221221111121222222112212211111121122112111122212112221111121112221212112211122211221211212222112221122222211112111211121221121112122121212112221222212211122222111112121222122112221211222121121122122221111122222112222221121221222122211221111121122212122211211211211221222212221112212122222111121121121121211222111121122112111222112211121121111112112121112111112111221121221221211212121222112111112221121212112221212111111121221112212211122112111111111222211121222122221212112221222221112121121221122211121111111211111122212121222121111121211111121112111222221211222222211212111121111112222212112222112111212122111212221112121221211122121112211112112122112222222111222222211212222121122111222112212111211211121222111122111121121221221111112212212122222112212122221112112112112212121222212111212111222212211122212121211211221212112111211111212211222121122122111211222212222111112211211121121221111121212211112112222111212112222112121111222221221222121111122222212122112222211221211212212112112112111211121122111222121212122222212111211211222222221121221112212111122222111122221112122112121112221212122221121212221121211222112112112222111222112222222221212122121211222122121111111212221222112111212211221212121122212111111221221221212122122211111221122111222122222122111122211111211122222211111222111212111122221111221212111111121222122222222112221121212211121212122112222122112112222111122222112112212122121111111122111222121211221122122111222221122212211112221112111221121222112112121221112121222121121112112211121211221222112111121211221221112111111221112212111112212221222111112122211121221212222121121222212112222112211212122122112121111222111111212221212121221111111112111212221212222111121222222122212221111121122212222112221211112112111212222112122122222111211122222122222221221221222212111212222112212112121212111211112212212212212212212221111111211111121222122211221211112122212112222212112112212122111112122111121222212212211221222112212122212122111221111122212122211121112111122112212212221111121212221221111222211212221111221221121121121212222212221122121112121222122211221221221111221221211211112211122112122121211221212222222212112121112211212112221122122112212122211112212112111122221212222221211211122121221211112111212112121121211122221122112112211111222212211221211121112112222121122221112111121111111212122111121122112121112112111222222221122221212211212111121111211122112221112112112111222122221211111111211121122221222122212111122121211211211121222121121212112112111211122111112221212122111121212222112212121122122222111212222112222121222222221222122211112112111122112122121212112222112212221212212221121222112211111212221122212111222121211111112212112222211221111221212122221121112111111121112212222212221111121211212222112221211222122111221222122212121222221221221221212112121121222212112221212111121121112221121221111112121212221112222221122222212212122121211212222122121221212221212221222221212211211111121211212112211112111111121212111121222222221111122221212111212221211221122122122112122112221211112122221121112122222122222112211211221122222111212121121222221112122211221221211122222211121222221211121122122112211122212112122122211212222221222122211121112122122111121112121212112211111112121111122121121122112121211222111121212212121111111111112211221122211112221212211121211222221211111121212121212221121221221121121121111221111212112122111121121112111222122121111111221221112212211121111111112221222212121111121221122112221121121121222112222122121221221211222211222221121122121122122212212122112111122211111211211212222121112122112221111222111211211221222222112221211111211212111222112112212121211122111221112221211211111121211112211112122221122122211222111121112122212222221122121111112111122112221121111121211222211222222211221121211111112221222122111212211121221212211112122112111121221112211212221121222212121211112112212121212212121222211121222221122111111112111212112221222211112122221111211112221112221211222112222121221111112111121111211122212221112111221211222121222112111221211211121112211211121222122112112221211221121112122111222112121221211111222112221122111221221121221122222211222211122221112112221122222122112222212121121121211121121112112111212211121122222222121122112122112121211111122212211121112121222111122212121121121211121121122111211121121112121221122221112121221122112112111211111121212212122122211111112112212222222221221212221122222111212222111111222121121121211121212211121212222212211222222121222122212111212221211112211111222222122222122221112221121122122122111211222212122211222122212221121222122212221212112222111111112211111221112111211112121121111222111211212211122112211222122111122211222122111112112111212222222121121122212111222222221212211211212211122221221111221112222222112221222112222121211222121222222112211121121212212111211221211221121112121212112122222122212221212111112121222212222211121121121111112212221221112211111211112221212222211122111121222212221111122122212211111221111212212212212211221212111111222111112212222212111111122211121211212112112221211122112122212112221212211122112112211112222211121221211222211212211212122211122112111222121212222221221122122222222111122122121221122211222222111112212222211121212122112221211212222111212221211221112211121222211112121112112211212211111112121121111112212121212111112211122221222212212211212122211121112111222121122112111221211112112212111111222222221221222211122122121212222111222211211221222111212111222212111111212211121212211121212222212212111222221221122222122212122122221122112221122212122112221221221222211221211111212121222211222121212122211222212222222212212111111121121111112222221212222221222212121111212111222212111212122221222211111121211211212111221112221122221111112121221122122121222121221222111122212212111122121112111222121212212211122221211122121222212122222112222121212121222221221121112111111121112111111122222221121221122222121221212222222122121112112211122211221111112221222111211212221111222211112121222211121212122221222111122211221121222121121112112211211221112112111112111112121221122222112222211221221121121211121112111212111211112221111211121222122221212222111112122212221221221211111112122112212211121211212122212221122212111222212111112121222221111212121211211212111211211211122211121121111122121222121122112111112222221221221121221122112212111112112211211212211122111121112221121112221121121111211111212211122211221222121221221221111121121221121212221211211112121211112212122112222211121122221212122221221211111222121121111222122111212212211122211211212222211111222121112212121211212221121211112122122212122121212121111221222212111122222121222221122212122112211222212111222212111122221211122121111111221211122211222222112122211122111112112212112222122111111111112121222221212222211211121121122222112211212111112112222212221211111111221212112212212211112112211112111212112122112222112121211121222211121121122111221222121222111212111211221122211121111212212211212112112221222111112222122112121221211122212221111112222112222211222221221122112111212122221212212211112122221111212211222111211221212111221111121211211112122222112111212122212112111112111122122211121121222211212121211222221121212121211222211121122111121212211112122222121212121112112212112222221111122221211112121111122121222122222222212121212222122122211111222222121211211221211111111222212222112112122112111222111212212212112221122211111111222212222122112122112112222121221211121221212221211222221112222222212122121122111111222212212222112212211211121111112112212212122211221222111121121221212222211211221212211111121212122112122111221211111222212122111221221222221222122122211111222221122111112121212121112121212211211212121212222111211221212112212221221112222111112212121212121222222121212211221212211212211222112122222222121222122121221222221221221222111212122222121121222121222211112111111111111112211121221111111221112112211211111121111122222122121222211111211212212112112121121112122221212222221112221222112121221122122212112211112221211222121212122212121112222122121211122112222212122111122222112122111211121122222122111212212121122222121121211221112211212212122112212122112122111112122221112221112112221122221221122112121122122121111112121212221111221111221222122221222121221111221211212221211222211212121212211222111222122222211211111121222122111222221221111121222211211222121222211112211111112112111122111122211211222122112121112221122222121211212121211121122222112122211222121212221122122121221112112211212111112222221121212112212211111221221112112121121222112121211121111112221211122222211121122221112122121111212212212221111121211221212122221212221112112222221212221111222121212222211111121211211221111121122121121122222221122112112212222122121121121221112122211221122221221212212111122212221121222212122112112221211122122111122222221211121212211212111122122112121212111112212121121212222121122211221212122222111111122212121222222222221211222121211111122211222222111221122112222112112222112212122221211121211111221211121222212111221221222222211222221222222212111112121122211211112112122112112111212221122211121122222222212212221121111212121211211121212111211121222112111221212112122111111211111211222221112112121122212212222222212121112221221121222122212112111221211112121211121221211221212121222222211112112122122121122122212221212121222212221211112111211121212121222111122122122211211221112112122112122222222212112122121211122222212122212112212211221221121111122121212111221121122112122111221211221122211221111211112211122122111111121221211121221211111112121121221122211121112221211221112111122121111122112212221111121221212111221122221212211211222211121122121221211221112122212211222212121221111122121212121112112221211222111112222122121221211212211222221211112221121122111212121121111222121111122112221111211211121222211212121212211112122212211112212211122211112212112211212221111122211212222222212112221112211222122221122111212121122111112211212111122212112121212111222112221221122122122111112121111112112211111122222112121212111222211221112211222111211111212211112211112221221222211112122221212122112112211111122112222212121212212111222112222121212212121222121221221111121121122122121122112111122212211222112112121121211221222122122212211221111212111222211111212212111212111221122221122211222221212212212222122122222112121221111111211222212122211121212111112112111222212122212111211222122112121222211111121222121122111211122211121112222221111122222211121111122111122211112211121222211211112111222212211122222112122222211211222111211222212212112112122112112121222122122221122211121211211211211221122111111112212222212211121112111222222221111222221111222221212112122121111122122222112121211112121112221111221122122111212122212222211122222212221221121221221221111111222112121111212222122212222122111211221121212122212212111221221121221222121121112112121112222112212221121211222112212211212221212211111121121222112121112212121212222121111122222121222112221211222122222221112121221121112111111112121111221211212111111112221212222211112121222221122121112221111111221211112212222122212121111121211222111121211221111121211122212211111222111221221221222212122221122222121222122111222112121222221111222221211211222221121211111212211212222221212112211212221112222112112111221111212212112222121111112221222221122121121221221112112112221211122122221222112112212222112112222221222221211221212221111122121211222122222112122222121212111212212112222112222211122222111211212212211222121212112111112222121212122211211221222221111112121211211212222122122221211122211111122211121122112111112211211221212121112212122221221112111112111212222221212211221112112121222221212222221212111211111211122111212122122121112121222222212111221221212221222122121111121112222122121112222121221221221221112112112212222222221222221122221121121122212222111212111221222121111211212122121111222211122122211112111212222212222111111211112122121111212112222212221212122111122122112222121212122222111221211221121211121111211222212212212211221111221121121222212121112211211212121221122112211211222111211222211111112112221222212211122111122121111112222212121112122111212111112211212121211212121122122111211122121121121121121121121121221222111221221112222212111212222211211221112122222212122111121111112221222211111112112121221112112221222222121112122122122122222212112222122211222112111221222121221212111222211111122221221111222211211212211121112121122212221222121112212112111211221211121222112112111221122112222121212222122211212212122112221222221221122112111222221112121222111111111111221221222122121221211112122111212122111121121211111221111212212211121111121111211222221222121212112111121112121221212212211111222212112121212122222122112221111112122212221212111122221222211221112222122122121121212211112211111121111122121212111221222121222111221122222212111222211212121111112221122112212212211211121112211212121112121121111121222221211212112222121112122212221222121111121222112222221221122222122122112112121222221121122111112211212222112212222212212122211222222121121211121212121222221211221222121121112222221121222121122212111121222221121111111212122222212121122212121211222212121222221111112122211211121121221221222121212221111112121221122111121111111112221221211221211111122111222222121121211112111111112212121121112212112112221211121111221122211221222111222111212121122111122212121122112211111211222211222111211222121211111211211221222122112211122212111212122221211112212222221212221111111112212212222121111112211112212121211222221112211221122122222111212112222222112222211112212212121121122121112211212111221211112212221222211112211211222112212112222121111222111122212122221222222112121212221211222222221112212211221221111121111211112111112111222221122221122221112211111212122121212112212222111211111211222122121221112222111112112112222111111111111222121112212221221212211211212111221211112122122212112212122221111211221222122222121112121121121121222121211222111121121212121122212211212212221221112211222211111121122212122111212212221211111111121122112121111111211112222211222122122111112122121111111111111122121221222111221222221211212222222221221222222222211122121121112222112221122211222221222211211211121221212212211211112112221222221112221111112111221122221222111221222121121111122222212111212121121121212122112211112121212122111222111112222112211221211122222221122221212221122211222212222212111212212122222222221222211222122121212122122211222112222121221122121112222111121121121212222222222122211121222121221111211222122221121111111111111112111122221212222212221221221121111211111212122221211122121112111121222121212121122221112122221111121221111222222121221221211112122111111222112112212221211112112121211122212122111112122221211122121111122221211222111221221112211112122112122211112222122211121212122112211121221212212121211112122122121121122212211121212112222221221211121222222211221212212121222112112221211211211122222211212211121121122221111222211211122211221122222221111222112211212112112221112222111112211222111221222221111222121211111122111211122212111121112222212211222211122121222122112111112221211112112222221122122221211221121112221221211121222222212212222211122111221221212222211212112112122122121112122211121121211221122211221222111211212222112212112212221122121122121211122122122221112111111122121112221122122122212221122122122211212211211112222212221112212212111221111122111121222122112211211122212121211211111221112112121112122122211112111112111112121222212121111111212112112111121112211222221221111212121221211222212221212212211111222122221112121112212212121112212122222112122222212112112211222121121211212111121221212212222111111121121221222122111221221211112212121111112121111122211121111121121221212122111111221212121121111112222221222211211111221212211211122112211111111122212221111111222211112212122112222222221211122121121111122221121121222122111111222122122111211211111211221112121212111112122112111222221122211221121212212211121121212211211121212221111122122121211211222222122222121112111211111211212222121122212121121221222122222111211122112111122121122211221221121112122121112122121122212222121122111211221221222211222111221221111212222211122111122112111112111112211121111222121111122222222221111111221112212121221122112121122121221112212211212121222221122221122211111122211122121121111112222211112121212111211222212112211122221121222121211121212121121211121221222112222112121221211122211111222221121221211212111221222222121221111222121122111121221121222221221112121122222111222212222221122122222111112121211121222211112221212221112111121222221111212212111122212211112212211122211211212122222121111211212112122122211212111222212111122221212222121221221112111111111121122211212122222111211221212122122212111121111211211211111122111122222111222122221212122112222121211212212222211211211122221122111121122211111221112122221122122221221222212212121121221212211122111122222221122221222222111112121111212112212112121111121221122111112222211121112221222111122211211122121222112212211112212212121122121222222221111112122121221222212221111111122222222211121122111111111122111222122211122111121112122121212211212121121211221211112121111121222222212211212111221122111221112212121222221112121221211221211211112212122112121121122211211221111222221221112221212221212121122111121111121121222121111221111221212121122211121112111212112211211211211211121212222122111211211111121211112122121122221211121222221112222212111212122212211211122111221221211221121122112211212112211111222221111111122121112112111121112222222122221111122221222212111211211112212111211122222122221122112222122122122111211121212212111112111211221112112222121212111221111212121122222211121121221211112222222222111121222222111122221222112122221121111121112112111211221122121112221221221211122221122212122111211211221112222112111211112111221211112211112212212112222122111212111122122212212111122111212211211221222122212211121121122222222121111222111121111121221221222122221112122221122212122122221212122221222221122212111111111212221121221112111122111121212212111222221121112222211121111221222222222112122211221122122111211222121211212112122111222212211212112122221221212112121121111121111112111222122222222212212211221111221211121211111211112122222212221212211211222212212221121222221122122211222111221221111221122211112222212121112112222212222221212221112212212222212111112211122111222222112112112211122221121222111111121122222221112212221221222111122112121211211121122112112211222111121222212222122212111221111211111212212121211112122111112121111222111221122121211211121121121211222222211221222122121121212212212221111111122122221112111222121111121122122222122211221221122222111112111122121112222122111122212122122111121212121121122121222221121112121112122222121211111111112122221211122221112221212111121121122111112121221211121122111212112122121221212112211121222122122122222221221111221221222212212222111212212212122111121212211222211121122121222211111122221112122221222122122112222211121222122122111212212211112122112122112112221222211212112221122212221122112121122122121112121222112221222111222221121111221211111222212222121121111112212222121122122122111112212222211221121211212122112122111111122211121212111121121112121222122222212121212211221221211221121222222221121122212112212112112221222111121122221122111212211221121112112212211111221211111122112212212222211111221221112212221112122212221212212121211221121222121122111222212122212212212112211112212211111222212121111212122222222221212122212121111121111122111221112221112122212212112112211122121111111111111221211111211222222221222221121111121121122122112211222122222222211122112111112222121222122111122121222222211121121211221211122212221222212121111112121112211111211221122222212212221121222112222121122121222111221221222212112122212112221212111112122111211111122121121221121212222122221212211112111222211211111221211122211211121212111211222122121111212112222222122121112212121111111211212211111112211222111121121221211112222122122222222211212122221222221111111122221112121211212221212111111111212122121212222211112221222222112122211212222211221121211111112111221122222212121112211222212212111221212221212212112212221121212111212222111111211212122121111122211111112222221122121121222121122221112121211122112212111122122222221212212122212112122211111212122211211111212121221212112211111211112112211212222222121222112211212111222222221212122121121111112211121221121211211121112222111122222221212111121122112122122212112212121122221221211121212111222112221212211211111212221211222111122121111111222212111212122121122221211122212221221222122111121112222112111111111212121222112111212212221111221212122222122221221211111121221112221122121111122111221122221122221222122222121211122221121111122112122111221111222112121111221122211212221211211122212121121211221111121121121222211222212121121222111212121212122122222222121211121112122112121211221112222221111121112121212121122212111121121121222122112211212112121221111222112222211222121221112112121221121211121212111122121121222122211122222111121122222122221112211121121222211211121112212212212212211212211222222222221211122212121122121212222112221122111111122112111212221112121222212211111222112211111112222221112112112111111121112121222121212122121122111111212221211212122122211211211221212212122122122121212112122211111111111111112222212121221122222111111111212221112212212121211222221112112112221111112212111222121122222211122122212112212111121112121222212121121212222112221221211111121122212121211121122211112211112122221212121222122221212212212122112222212121211221122222112122212112111211221222112222211212111212111112111122211122122211221221222121221122222111211221221212112122211222122122121122112212221222211212111212212111112121221111221211222211222112122211211112112221122111221112212212111112122221212222211222121112212212211112221112121221121222211121211222222212111222221112222212212112211111221122111121222121122111211222212222221111211121221122222222222211122221212222212112221211111111121112212121111121211221111111212122221112221221122211221111212212222111222211211111121111212111222211211121221212121222221222121221111111211222111112222111221221112111212122221222222122122112122222111111222222221122111121121212212122221221112111221121221211112122121212211122221112121212122222121112122112211112222221211121112211221122122211122222112212111111221211212212111222222222112111221211112112111121112221221111111122112122122212121212122121211211221221221122211211221222122212211121212221112121112111221211222122122211212211121212121222221122211111221112122112112112122221121212112221222211211221112212121121222222122112221212122222121212112122221121122122221122122211221112121211211112112122112212111112111121111211211111121112221121122111212121121222112211211211221111112221121211221122221112122111111112221112212221122111111221111212112111211112222221122121221122221122211222112111212222222211222221121222222111112222222112111222222222121112111111111111211222111222112211122212122121122112111111111121122212122111111211112121112212212111212222121112112121221211112221211122211221111111211112211112212121122112222212221211112121112111122222121122221121212212122112222221212122212211222222111121222112111212112121221121212212122222112211112222122111212112211111212122222221112111112222211212221122221122122121221112222211222121121211111212111121221112112121221121211112222212221211222211222211112111222121212221112122111112211122121222222112211221111222122222211112211222112222121211211211121111222112111121211212211211221122112212122112111111121121112221212121122111111222112222211222122111211112212212212111221212122222211222111111222222211121111112221211121211121221112111111222212122211111212221221122221211122222112122112121211212112222111112222122221112222112222112122211111111111112212121211211222222111212111122121121122111221221212112221122121211212221221112121211211222221122122121121212111121111221212221111111111122112212121112212222122212221221212222121222212112211221122122222111121122111221121221212111222212112122222122122212121212211221222222122112221121112222121221221111111111211111111112211121221221111111122222211211222212211221222122211211212212122222122222212211111212211121221222221212222122212212111221111121111112121222221111211221211221111212112121221222111211121111211212212221211221112221111222112211221122212222222221222122122121222111221111122112222112212211122221221211211112122112211112111122112111222221211122211121112122221112212212112222222222121111212211122212111122211211112212122112212111111122211211112121212111111111111112111221221222121122112221112112222212212212122121121211222221211212221211212221122121221111111121212122221112211211221112122212211111121112112222112121121222112112222212222211111222121212112212222111122111221212121111212112111221111212111112121221211222221211112122122211111121111122122122112111121111221222122111121112112211211221122212221122211112221211212212222221112112212121121121212211121221212122222122222211122221222121112122222212212212211112121122211222221111121222121221121122121122211211221122121112212112221212212111122122112122121211112212221122211212221122122122111221211121221212122212221212222111121212221112122211212111221212122222121211111212221212111111111222221221112212211112211222212122211222122211112121122221122122221222211122222222112122122112111221122112212121221121112211211211221112212211122221121111212222211212112111222112121211221211111121211222111112221112122111222122122222111112121122111222221121221121111121122222112212121211111222212112121212122222212212222112211112222112122211112122211122111111121221121111222212121111122121111111221221112211221222121111112212112222111211112112212122112111122112112211222211212212211212212222221121112222222112222211112221222211211211121111111122211112111121221221111121211112211112112111111111112112112212111211211122121122121111221211112121221222111122122112211112211112111111211121212111121211221212112212221111122221212222111221112122221122112122222211222111122111121221111212111111211111111211212122212111111121222222212112111212112121111222111121222111111121121122122211221222211122112111112222221211222211121221221212211111211111121222111122112111212112221212211112212212212111122122112222112112122212221122221222222112212211211222121112221221121111112221111121121221221222112111121121122212121211212221211211122111221222122122211112111112121212112121112122111112221111212111122211111111121212122221111221221122111221222112212111212122112121221211121222211112212211221121221221111211212122122212222221212112112211222111111111112112211121211122211221121222121221112112122111212211222122122122122112122111122212121112121121221121212121211211111211222222221212111121112112222111111111121211212221222122121212221121112212111212221121222212211222221212211211212112122212121212212222212111122112111222122211112222221112121111122221222121211221211111222121222211211222212112222112112221111121111122112212222212122122122121112212111111122222112121122221212211122111212221111222112222122112222121111222212211221212112122221222122121211111122111212122122212221222112112122111212211112221222122221221212211111211212221221221121122212222112112112111211212112212222212121212221122211111222211222212121121121221121211122212221121221111212121122212111111111221221121122122112111111121222122112122211222211212121111121221211122221112211211222111212121111122122212211212212121222111212222122212221112212112222212211212221112112112212121212111111111222121211122211121212112111212221112222212121111222122212221221211212112111111122112121111212211212122121112221112122211121111212212221112211211221211212121222222212211211122112122222122121211222112212121211122122122222211111121112212212112211212221121212211221112211222211212121221211112122222211121212211212211121212211211122121112122112212211112111211222221211221221121211121111121222222211212121212212111221221222112111221121122122122221111121221222112121222221212212111222211222112212211212112221212221222221222122222121122221212211112121212221211222112111221121221111212121212121122222212212121112111121212121222211112122111121112222122221111121222221112212111221221111111112211112221212221112112111122212111121112121121121121111122222212112111121122112111222111211212221211211222112212111121112111221121211121221211122222221211211211222112212211112222112122222112111222111112211121112212112121111111211121212112222122122121121122212211122122222211212222221121211221221211121212112222111211211221122222111112111222121121112112212112212121111221222121221211112211122122111221211211222212111212112221111211221111111121122212211122111122112211121112112122222121111221221112122111212212222111112211211122111111121222211121211211212211122112122111212211112111221211211121212112221222221111112212112212111111121111121111222211111222211211212211121112122122212111122121111121111122222222222212121211222111222212211112221222212111112222211212121221112211211112121222122121121112112211212122221122222212212121121111121111222221111212212122112121122221121222211122212221222121121121222122121222222221221112222222111121111122212122211121212111221121121221211211111212122221111222221222121112111221121121111222121122112211111211212112212122222222212222121121212212211211211222111122112211212212222221222112221221121111121221222212112221121122121122111222121212122122222221221112122112212222111212111122221221211211211222112221222121111211211212222111122111221111122211122121211121222222111112211121121112221212121111222221221122111221121222211121111221111221122212121111222122212112211221112111112122112121112222211212212112221122221222212122122112112221111111111221212211222112222221111212112111111212222112122111122221212111122212122122122221211111221212122111121211212121121112211122112212222221122111112211222211121212212211112212112111122221122211121121121222221221221211212121111112221112112112222112222121221221122212111112221122121221211111112221121121111121222211122111112112121122211212112221211121211121121112122211222221222221122122222211112112112212212222212121211112112212112222211222121222221121111212122222121121221211221221112121221121222221221121122121112112122121122221221122222112212111222212112112121222222212222221121221211111121222121221222112212221221111212211222221211122212112222212112222222212122211112211221112222112122222221122111221121221122222212111111122112222122122121212212111212221112222221212122212111211212212212122211212112212111221221221111221122221122211212221111121221221112111212122121221221222222112211111211221222222211212221111111111222121111111221121222221121121111122222121221112222121122211211111112212222212221212212112221111221212222122121211222111222121211212212211112122211122121221222211112121122121212221222212222111211122211111211122212212222212111222211121122112221111221212121222222111222211222112121221222122211111122222122111121221112222212121222222111211122211111222221122121212212211211222111211222211211211221121112211111111121211121211222122122122221112211121122222212211211221112122111221211222212211121212121212222221121111112211211222222211212221112122122122121121112111122212121122122212122112212212221222221111111211112222211112112222222121212111111221111221122221222222221122112221111212222211122121211122212111212222121112221211211211121211121212112111121121212111222111122122211221122112111111212121122212211111112122211211222211211211112122221122111211112122211221121211222211222211212212221122222122222121122111212111211112221111111221121122112122211121212112212221112112111122211211122112221121221111122111222111112111222222112221122221112121212221122111212221222122211222221121112121212211121211221212111121112212222121222121122121112121211111112221221121112122211211122122122121221112222111212121111211211222222211211122211112212122211111221121121212222111212212111222122121221112222222221112112212222211211121212111212211111112221221221122221112222222121112212122212222212111112221222211221221221121221212222212112121222122112122211121112121112211221121112221122212111121212112211122221221111121211122222121122111221221112222221212111221122122222222211221111111221121212122222112111211122211212212221211122222111111111221122122221122222221221121112211121222121211121112112221112222211222111111121122211222121221221221121211222122212122212222221122221112121211221122222222221222122211212221111222111222222112211211112212222211212121111211122211221122121122122121112211211121122212121112112112122112112121122111122111122211122122221211111221222222111122222212222211111222212222221221122111211212111221112221212111211122222212221222122211121121212222121122111212112111212121112222222121211212222222122221211222212211122122122122221112211222112121111222221221111222112121211221122112112121221212221211111211222121222212222112221222122222221121122122211221112212111111111222212222212222121112221111112121222221112221122112121122221112112122211221221121111221111121122221212212222111212221121221121121122222111221112112122111222221111121211112121211221221122221111121211111222222111212112222221212222112112222222111222121212122211222212111121121212112222222221222121222221122222121221112112212122211222212112212212221221211121222111221122221112121111222222221222221122221211122222122221111211211221122222212212212222122121112221111212221122221122222112222112121122211212121212211121222211222112222221121122222121111122121221221112122221221221122211122122222122122111111222221122122112222212122222212212111222222112111222211111112121112122211121121111112122212211112121121112221111212222122111112122212212221121121212121122121121221122222212211112212222221222112211221211211211221121212121211221112111122112111211212211122212222121112221212212212222221221221221222121221221121122211111222212221211212212122112111111222222211112222222221112221112121212211211121211121221111212112122112212111212212222211122221111211212121211121122111121212112122122212222221112211121221221212112212222122221211122111211111211212122211222221212222222122221222222211112121111111212221221222122222111121221211221111121211221121121122111222221212112222222222122122122222122221121211111112212112222122111112121122211111221212222211121121211222111121222122111211121111222211122122112122222122112112122111222111122121211121221221112212211211211212222222212212211121222121221122112212212112111222112211222211122222212122221111222212111221211222112111222121121221111122111112211112122122222212121222212221121121221111112221221212112122121111222212112221122122122111212112112112121111222222122112211112222112112112221111221122222212112121112211212212211222212112221111111122121112211121111221121121221211122222121112112112222111222221112122122122121112222111221212112121112121212122211112111212211222211111121121222112222112121122212211111121211122222222222122211212122112221221111212211211122112222121121222112122211221211221221111111212122121112112121212212121112222212121122111112121111221111121112221111121121211122221121112221212221211222211212212212211212222222222211121221121122211111121221122212111122222122121211211211121211221112122122112222122221112122221121212222212112111212221121221222121111222211112122111112112212222212122212111211122211111111111111122112112112122122111112121212212111212122111112211122112222221122111112111211212121222211221212112222112112111212212111222222122112112211111212222211121112221121112221211222221121121112121111121122122121212122212121212121212111112212122212112222112122221111211211222212112112222212221122122122222221121221121211122211112222122122211112122221111121121221221221122211212112221211212111112112121211222221212211212122222111122122121211112112121221212122221112111111222112112111111211121121111111111112111111212122112111122221221112112222111122111122211221211212121112111222222121212112112121122221221122212222222122121121211122222122121112222122111211211221221112122222111112121222211222111222221112112212112222212122222122111221111112121212212121221212122222221121212211211121212222222211121222222111122121111222121111112212112122211112212112121222111121122212211111112212112212121211221212112211211111211121122111222221222111212122211121112121121222211121112112222122121121221222212111212111111121212121212222212221211221111222212211212221212212211211212121212222112222222222112222121112211112211211112121122122222121122111211111211112112222212211121211111222212112122211121211222221221121222211121111212221122212221211211111221121112222122212222211121121112112122121122111212211211122212211112212211222112111122222122222221211112222111112112212211212212111222222212121212211222111211212111222111222211211221221121221212222112121221121121221122212211221121221212222111222222221221111222222212211222222211121212221122212112111221112211212122122211112112112222111121221112211121122121212111111211122121121112221222122122222112211211111111112221221211212111221121112212222221122211211211112112111121122211121121221112222221122112112112121122122211222221211122221122222122121111111211222222212122212111121212222111112121112212121121121112211221121112222212212212222222121221212122112221212121122221112122111221122111121122121122121112221112221211122212111212111122111121212112222222222111122121122112121121112122211221111222111211122121211121111121221221211121221121122111211222122121222221221222112121122212222112121222122222221212212221112212121111112121222112121212112112212212221122122212212112211212222111212222212221121122212121222222222112221221111112211222222121211112121211212221211211121122112112121121211122222222222221122121121221121111121111222121211222112212222211121122111112122122222211112212211121221112222111221211112222222221222121222122122111221211121222212122111212112111221211121121212121212111212122122211211221222222111111112122221222111221121212222222111212111222112112222112121212212112221122111221212122222212212212212222121222222222221221111221222221212212111212121111221112122121121212121211121111112121112112222222111112211221221121121212112222121211111121222122221111222211221211211121212221122112121211122211121211221211211122222111211212122221112222211221111121211222221121112122212122212111111212121211112121121222121121111112211212121122111222211111121111122122112122221212211122221222221122222112111222211222122112212121222112112112222211222112112112111221122212121221212221111221122211121111122121122212121122111112112211111111111212221212122112212121212121222122221211121112111122221212122121221111111221122121222122121212122211111221112211222221111112211211212112112122212112221221212111212212211122212121112212212222111121221111222112212111221112121112111222112211112111112122212221211212221112221212121221112222112221222112222111122122222112212211112211112122212121221221111121111211212112111212122221221211111222221112111122121212222112112111212221121122111121122222111112211112222121212121121222211211212211221211121111111111112221222212221212111112222122212212112111111221112212212121222222111112221121211221122211211121122121111211111121111222212221111222121112222221121112111121221122111111122222112111212122121222111121122221211211112122211221121111211112112121222222111211112221211112111111221212111221111112212112111111222222111221112122222212111212211111211211221211211221222221212222211122112111122222111111212221122211111221212221111112122221222212221122221221211212211112211121222111122121112211222212122112221221212221122221121211212212211212211112221121222222221212111222221121111121221111222212122112211222112111111211211122121221122212212222222222122212221122111122212112112122222121222112122121122111111111221112211122221222222221112212111211112121121121122111212111112112121211121112121212211111121122111211222112122122221122211211121221221122111111222121221121211122221121121222221121122221222222212111221222112121122111211212222111211112222211111212221211111221122221221121212121111211121122221111122121222121211212211112212222222122111111111212222112212112211112121111111211112222222221111212212111212112211221222221221211212111221221111222212221222122121212112212112112122212112112121222211111211222211121112121112112122121222111222122112221111111212222121212112211221212221112121222221122222112221121121222112122121122211121211222211111211121121211121122122212222212221121111122211212111222211222111111122112221111212122222212212212221211221221112121112112212121112122111211122221121122121222121212112212221211121211221211211121121122221121211121121222221211121222212121122122212221122112211112222222222121212221112221211222111222212121221222111111212222122121211211111112111121111222111122112212211211222222122211122222222211211122212221221121211122221222112221122112211211111221221211121222221111222112222222222122112112122122222212222112212121222212212112112111222121212111112121112212122221121211121121122221121211211112112121212122111221212221112121111211221211111122111112122122121121211212211222211221212221122211221221111121122221121211122122112111111112121211221211121112211222111112122111111211221222121222122122112222211122221122221121212212212222122111222121212222111211222112211112221112222222211211221211111111222221221211122122111111211222111221112122211222111221221221222112112122212112222122112221112122122221111122222121111111211111112211112221122111221222112221212222111222222111211111211211211112121111211212222122211222112112211112212121211112111111212122121221112121121211221112211121212112222121121112111222121211212222112221112111122221212122221221111121122122121212121212221121212211121122222122211121211221222221211211221222212222212112211211122222222222222111122121212112211221121221121212111121222122211111221111221212112121122211212222111112111222222212211111221111221111221211111112121211111222212221221222111121211211221222112222122111112211221121122111212222221111112221221221222222222221222122212212112212222222122212212222121122222112112111211122212122122211221121112121221221212211111222211221121121221111211112121122221121211112221122212221111122111211211112121211221222221222222111112221112211111212221212221111122211112221112112112122122111221212221122222111122222111111122121121111211212212212111112221221111221122112211111222112121111222112222221212121212112222111112212212111221121221112212222211122222121212112122122111112221211121121122212221122212222221222222111122112211121221122112212221122121122222222222121122122122121222112211222211112111111222111112221121112122112212221211212222112211212221111122121211111212122212112122211212111211221111111122111122121112121211112112222111112122112122221111112111112121222121221112121221222221112212211211221122221112211111121111212212221111111212211222112121212121121111221111211221212111121222122212212211211212211211122112122122111111221121221122112212121221211211111122112212122222111221122112121212111112221111222122112212212111212211112221222211112111112111211112112211111121211221122121121222122121212122212121111222122112212112221221121112111222222221112112122212221212221221121222221221211211121211111121111222221121121222212222212212121222122212111121211222112112211121111122122112222222121211121122111122221121112122222212121211112212221222111111112222222211211212212221211111221221212122212121222222222111222221222222111222222212211121222121221212111122211212211111212122221221211222212222112221121212211121212122122122221211212222121222221221221111111211212121111222221112221112112122121221121121222222222221212111222121112121222111212121212121122212112121112112221212112211221111221222122221222211122211112211211122222222121122211222221111222122121122111112111122221221122212121222111111122112111121122112221121212211112222222112212211111112221222111212212121111211211121211222121211221211212212221111122111221112221211212112212211222112122111211211221112111121221222112121122112122222212112112121212121211121212112112222121111222222111222121211221222111221221222122221222112221122212122211222121211222211212111121112112112122112212212112222122222122222212111122111212212122221121112211121221122121211111112221212212122122211121212222112221221121121212112211222211212222221212121222112111211121222221112212222222122221212212121222221111111112212111221121212221212212111121222111121121212222211212121122112121211212111111211212222122221211112211122111212222111122122222212121122111112121212112211222222112122221111112112111222221222211122212112111221222121111212212221222221211121212111121222211221221211121221122112111212121212111211122122221111221222122212111121112212122121221112211221222222222221212112111121212212212111121112112122121221122121111122111112121211111211221212222211122121122211121212212212122121122122111121112222211221211122212211111211222111111111111122112111112221112212122121112122122111112212221111111221222221121211222111221111221121221212212212211111112222222122122111121222212211211211212212122121221211222111212121222122111111112121222112222112112121221121221111221222212112122121122211211122212122221211222222212212222222121121122211222221211221112112112121121122112212121121111211222211221212122222121212222112112212122112222211122221112212122122112112111121121112111111222212121222121111212122222111212111111122121212121221212121221222111222222121112121121221222112112111221221121211211211122112122212222122121122111212222222211121222122222211111221122221211122212212111111221221212222112212112212212122121112222212112112111222111112111112122112111112222222211111122121212112222212111222122212211121211122212222221122111212221112112221212221112212222121121221122211212211221111222211222121221112121211221121112112122112222221222222221222221221222212122111212222112222111122222212121221222222111112222122212221111121222122212212221211121212221222221122222222122211122222222211122221212121212212121212222222112122222221122221111112111111121212111112122212111121221222111211121122221222222122212221112222111122122211222221121222222211111221122212122111111212121222221111122212112121212222122222211122111221121112121111212112222212211221221122121122221111111111221121222122211222112112121121121212112211112211121211122211112212121111211121121122212122221121111221212212211221211211221211222212122111112221111122211112112112112112212211111221211111212122211121111122221212221222222112211212111112221211221212212121111212212221121122211211122222221222121211111122112222112122222121112211212111111111111112112211112121111122121221112122111211121111112111222212211112222121121122122212121121211211122122222122221112212212221121222121112212212212211212212111222222211121221211211212222121212212212222211121121211111221111211222212212222121122112221211211111212222222111111221111212112121122222221211111121111221111211222112212112121212122211111111122212111221122222221221211212112221111112212111111111111112122111121222212121212212112211222212112121121121112112221212211222211221211211112112122111212221222211121122112121122111212111121222122222221222222111122111111221122122112122122111122112122122212121212112211212221112221111122212111121222222222122111221122222122121112211112122111111221111222111211212122122122111121121211222211222222121112211211111121111212112211222122221222222122121221122121222212212212111211122111211212122112221221212211211222212112121222112111112121222211211221112122212222221121211112211121111111211121112222111212111212211211122112222221122212111122221112111122112211211121212212222112122222212222112221222111222112122121211221221122121112111112112212122222222111212122211111222111112211112122112122222212211112121211112121221112212222112222212122112221212212112111112122111111111112222221112212121111212212112211111112211122112222121212111121122111121111121122221221211222221212211121211121212211211122212121122212122121221121211121122112212122221212111112111222121222121122111211212112112112111211121221222111212222112121222211121212121121221111222222122212122122111122112211121221221121112111212121121112222111221211222121221122212111221122222212221221222221121121121121112122112222211112222212212211122222122112222122111122122111221112121121112111111212222111222222121122212122121121121111221212111122112111222122212222122222212111121121121221122121221221211122222112212221121111122112221122112111222221122212111221112122211122111212212112211112111111112111111122112212112111222211212211221211212122212111111222212222112221122121111111111222122122121122211122122221122112121211212111221121222212122222211211222122211112212222121111221112222111122221122222221221212122212112222111212211211111112121112111111212111211222111121222122211221211211112121221122122111222222221111111212212221222112121111222112122212111122221211122121121121111121112111212221111211112211112122221211212221221121222222122222211121221121222122212121211122112121221112112121221112222211222121212221221112211111122122122122122121222111121212111221122221222112211112211122222221221221211112212221222112211112111112111121111211222222111122212112221212121211221122111211222221122211121112222121222221121211222222212212212111121211111211122111112121121221121222221221121122122212122221111212111111111111212111212112112211211222222212121211221222221122111222211211122122122112111122222122122111111222211112121122222221211122121122111221222222111121222121212111222212222211111111111222122212111222112212212222222211122121212211111221121121112211112222121222121212212211122221111112112112212222211121122112112212111212112122222111222121211221222122112112122111211212122221112112112122222112112221121111211111221111111222221121121111222112222211222212111122221122222122121212121221212212221211121211211112111111212212212121112211121112222122212111111112211122111112112111211222211211221221112111211111211221212222212122111211211112211111221222112121221212111222122111221222112111221212221212121212121111122212222222211211121112122212222122121121222121121211122111112221212222211221122122212122122221121212221221112122112121211222111111211212211221211121212211212211111221222212121111222222112111111222222221211212111121122121111222212211221222111211211112121121112121211122112122122111122222221121212221111222112211121122111221221211222121222121112122122221111122111111212212112122211111112112122122111222112221111122212111212122121221212211221211121221121122121111221211121212122211121112111211112111212111122111121122121221121112111112212211122122211211221111112122221221122112112212221121222212212122211121221212211111121112122121112212211211112122211221212222212112121211112211222111112112121122122111111121221111121211222211211112212222111122221111221122122121211112221222221222222122212212111122221211112211211211222221221112211122111221122121121121121121111122112221112211111112122121222222122121121211212111222222111111121211221212111121221122122112121122222221122221221211212112111122112222111221222221121121221111112221112211222122111111121122112112122222222222121211212122211112121221212221221211222212222222221221222112121212211112211212221211211211122222121112121211212212222112112121112211111112221112211212121212122211111211222122211112112222112122221221112221111211211212222122212122122221121211112122211122222221121222222222222122111211212212121122112122121121112212222211111121221222221212212112112211112112221211112122122211212212212111121221121211212111111211111111212212222122112221212121121212122122111121222122221221221111222212211112122221212122112212121221211121111222112122212212122121222121222212121222212112121212112222121112121121222212121122222222121121112111111211122211122111111222211221211222122112121122111221122121122111212211222121222122221112222222112111121212111121111211121222222222222221211211222211122211211211112122121222112122111111221121112211121221122212221211112112212112122212122211222111112111111212212211211122212211121111111121222212212222111122112211112211112122221222121111222112212222211111212211111221222211112122222122221112122121222122211221211212222112121222121121111211221212211122111122212221222112111112111122222222112212221221222112111211211121121112221111211221122221222212221211111211222112111211212121121221222121211122111211211111211111222111222211111111122112111222212121212121122221111111211211111121112121212221122222222222221221221212222221122212111121222111122221221222122121212112221111121211212112111211221122122112222222222212212111221112222112211111122222211212221211121221211221212222121222212221212211212221212211112212122111122121221121211221121221111222222122111212222121112111211211211212122122221222122212112111221222221211122212121211121122211122111121122121112221122222111211211211211222222212212222212211121122222112112212211222111221112112222112211222111111212211111212122111122221111212111221121221111122111222122121122221111122221212111122212222222211111121121121222212221122222221211111112212222121222211222121122112121221222222122112211112112112122211122111222111122222211222211121211112111221222111111212221122222112211111111112112221221211222122212111121122122221121111222122112121211211212212121221212111111212122112111222222212121222212122212112211221112122122122121222222222212122122122221211221112222122111121211221112122112112121112222122212222221112112111221122222111221122121111211111222221221211212222112112212211122112212122212211112121211211122111222122211222211111222211111111111211111222122112122212111111221122211112121212222112221221211122121211121121122222121122122121212222122211211111222211221212111112111122121121122112112121212112212211121222212112112111212112111211221112121111122221122211121222111221112212111112211111221111122211121121211211222112222121211122112122112212112211221121221212212221112121122112212212112221222212122111112211212222121211121111112111212212122112222221122122121222111121112122122212212122222211211222222221112122211111112211212121111221211221111222112121122121121112111122111121222222212221211212111222121221221121121211212221121122221212122112212211121111222211212112212211221121211121221121122121121222112211212221111211212211121121111221112122112111112122211112121111121111122112211211121112121221211112211111211111122212111212212212111212111121222112222222122111221122112221221121222112221222112222211112222122122211222222121121222222111121122222121212211222111212112212122122212212112112112221121222212212111211211112112211121212121221121111122122211112121112222211121211222222111122211121121211221222112222212221111211211211121122222212111221111211111221222212121221212122121222212122211111211212121111221111121212112211222111121112212212121112221211121122122111112221121211112211122212121121211212112111112212122111222122222212122112122221211222112212121121111211222221211112112221212111111221112112112111112121211112211111111211111212112112111112112112212111221112222212121121111222121212121122121212211221122122111222222211112122112111111222211121121122112211122221212111121222211122112222112122121122111112212121221221222221222221221222121221211112221112221121212121121121111221111122112222121112221221212212211121211111111211221111122111112121111221212112111121122112211222221222121111122111221221121211221121212122111212122221122122222111111222112112211211112122112222212122222122212211111121222111211211212112111221222212122212122121221111121221111111211121222112222121122122222111222222112221211212211121211222122221111111112111212112121121221111211212212221212111221211211221221111122111122211221222111221111122221211122222222211222121221212221211122222212211212221212112222112211222212212112212221211222122211112212221112211121211212221222212221221211122212221111222211221211221222222211111121222112121211111111211221112111211211122222221212122111211212222111221212211221112222122111211222222212211222221212122212221212121212111222212122112221211212112222222222112121211221221211211122221121212221221112112111222122111211222121212222221121112121211112111111111222112221122112222212222111211121112111121212111212211111121221221211121111221122221221121122121122222122212221222121112221122212221111112112111112111211222212111222212111122121211121112212122111122122211112221221212121212221121112111222212212121212121222111112111122211122221221121121221222112211121221222111211122222222112112222222212122222122121121122122222211211211222211212211221122211211111212111222222221222212221211122121211111112121121211122111212122112211222221121221211211222121121121122211111221121121121112212222121121111211122211222211111112122111112212122121211221111112121111112121212221222111122122222122122221122122122122112222122211211212222121122211221112122212111111212221122122111112222211111112111221112111122121122122221212212121222221112111212111112222222212222222222121222111211221122221121121112121222121222112111121112122221222112222122211122211122121221212211121222121111111222221222221211211222222221112221221112222122122122121111111122122112212111211112211211222112111111121222122112112212111122221121121122122212111122121212122211211221122212111122112212112122212111112112212112222122212212111111121211211222111121122211121111212221121211222112112121222122211222222112211112122112212212122222222222122121121222112122222212222212122112122121212111112112111212212222121221122122111122211222121212112212112211212221212221211111112122211212222122112211221211212211211221121222212112122121221112111112112121212121212222221111211211122122221211212111121222122211121121222212111112111121111121111211222111221111221212122221211122121122212121212122111121112122221211111111121112121222122112122211211112122122111122111122112211111111221221112121111112111121211222122112211122122221221221222221211222212221121221112222121122122212112122112212121221211111221212111112111211122222122111212112221222222122121121121221222121112111211221122222221211221112112111211122212221221112211112222222121111221222222221212112212221111121211122221222122212112211222211211221211122122212111212221111111211122112212122211122221122211222112221212212222222121221221221122211222111121222121121212112211212222212111221121221112211121121222112111112121111221121111111222121122211221122112122221211111211121121212121212112122221222221211211221212121121222212211111222222122121112212122212122112212111212122211112121212221112211111211211211122112121212211211211122222222121211111211112221121112221222111211221111121122122221211212212121112111222121111211222222122121121221122222212222211222111222212211111122221122212112121122112121112211121121121221111222121112122221112222212112221212211112122211122121212211211122112111212222122122122112122211222222122121222212122222121121221212121212211122222112222221221122112111221211211112121122121211111211221122221112112121211112212111111111212221212211112121112121112111222121222112122111112112112222121122112121111221112112211212211112221121212121112211112112121211221121222111112222222222222122121221111111222121221121121221122222222112221112122122121221211121121112211112212221112222122111222222221112211212121212111212211221112112121211221212222111121212212222222221222212121221221222221212122121221112111222212112212222212221111121221112211122111221211111222222112211211222221112121121111211111111111221112222211111211112221122221121211212221122212122221211221211221122211211222121122221121121212122222121212122221212212111111122121112121211111112221122122211212211122222222112212212211122121212121111222222221221221121112222211122112212121222122211222222222112221211221211221212122221222111211111112112222111211211122211222212211211122211111122122122211211222212122112211111122122212212221121211222222122211211212211111222212221122211222111212111222121221222221112222221222221111221112211111211121111221121212221112211121111211122111121112221121221121211112121121112212222221222121121112111222212222122211121122211221221222111112111111221222221121222111212221212221222222211121222222111211212112211121212122112122211122111211221111122212212221221121112222111211111112222212111211112211121112212111111112212112221212222122212111222222221212221112111211212112121112121222122112111121222211122221111212122221121212121111122112222222111212221112211221122122212211211122212122222121111221222222111211221111222121111121111212121112122111222212112222212212212211222212112112122212221121111121221112221221211122211222122221111211212112222212122212121222112121112212212221112111222211212211211122221222212212111111211222111211212222112221121222211111121111212112112212122122112111221222221212112121222221212212122112221112121211121112111121211122122221121221211112122221121112122112122121222122111111222211212211221121212121222122221121111212112121121212211212212222221121211111221111112221121111112221122212112222122221111221122212111112122112221211211212111211111121221122222112211122221221212211111122121221112121112121111222122122212112111212121211222112212211111121221211111211111121122211222222222121121222221211112222122222121111111121121212221221221122211112121112222122212212111222111212222121222112221212222222212211121112211122222212222211211112211111212212122112121122111212122221121211222212112222111112222111211221221211112221122122211212222111212121121222121222112121122112122112211122112222212112211222111221112121221121112212211122122111122211122221212211222212222111111222222111221111211112212122221212112212212121122212212121212112122111212112111121122211212122212211222122111111211212222212212122221222121111121222121212222222122122211122212121211111222212212222211212211112222222221211211111212222211121221212221211211112222111121112122222112212212111111222112121121221122211211121112111121122222212212111211112121121111111221111212111222122221122111121122211222211221222221222122211112122121122211122121112111212111122122212221121222222121121122121121121211221122212121222111211111212111221211122221222111211112211121211221221112222112211221211221122122221111211112112111212212111212212221222212211121221221111122222112111112111121222121112212122211122112111111111122212221211211111222112222121121112222121112111122211112211221112212211222221111211222121211122121212112211212122121111222211221211121211122212112212212122111221211111212221212212222212112111221112122221211212122111122122221211212121111221211111221222222121121212112212112122122111112121112211111222221111211211221121112222111212211222211222121112222111111111211211212212222111121212112121222222122121121221222222112222212211122122112121211111112212112111122111221221212222121111212212222122122122122122211121112121112122222122212212211212112111111112121122212112222212112211211122221122111111121221222212111222122211111211121122121122212111121122221111112211221111122112222112212212212221112222221121122112122121112112111221121112112222221112221221212112121211111111121112221111221211222112111211212212122222212212112222112211112211122212212221211121221121212221122121212221121121212221112212221211122111212121111111212111111211121212112221112211112112211111121212122112122221121222111111121221111221111211111222111221222212221221222222121122211121122211121221221222112121221122212221211212221222212111111221222221221112222122112212112112111211222122111221112222122111121211221122212212212111111111121212222111112122111222121122122212211111112212212212111222212121212111111112121222111212222122212122212211222221221122122111221122222112111212112122212121211112112122112112221111222111121221122211211222111112111221112111212122211121222122121211222221111212212112121112121211121211211112121111111122212221122121112112121112111121122221121222212221221122112112121221112212111112112121211211222211121112212111221221111111112211111212121211111112112122222211222212112121221221122222111111221122211111211222111211221112211211111212222122221222111221122211121111111212121111122121211122212212121112211122212112221212211212222222112221122222122111211221221212222211112212222121221121212222121211112121211222112221212221212221121122111211212121122212212111111211122211221122222211112122222222211212212111211212111211211121221212121121121221122112212212122211211111212121111122111221121221122112121122121221222122222212121222122112112221112122122211211212211122211212111212221222222211222121111222111121211222112222221121211122221221121122111211111212212222222212122121221222211212211122122111211111122122221211221212212211212122211111111212122222111121212222122211122112112111111122211111222211121222212122211121221111122122221111121122212222221212221122121221212221111112112122121112211221122212211211112212112121211212212211222121211222111112211111112121121122121121111122211212212121211111111111121211221112121222122112211112212221221221112122111221112221211122211211221211122112211112222112122111211122221211121211112112212211122211211212211112211112112112122122112212212212221212122222111111122222112211212111121221122122111221221122112112222122221211211111221121112122121112122112211121111212211112212221122221122111112211111212111122222112121212121211211212221112122211121221212221122212121122212111111121122221112111211222111221122212222212212211212222212112111121111221121121111112121112212222221121111122112121111211221122111211111222221221121222121222211212121222122111221221212122221122222222211111211212112122122121122212121121122212122212221212111121222211211212211222222222111222111111121221221122222121211222112212212111122211122221212211121121122222222211112212222222221212212212121122212212212111111121112111122122111111122222112111112111212122221222121221212221221112212122212112221121221212222122112111122111111221122121121212211211211121221122212112121221111112111112112121122122112122122222221122122112111211112212211221221111211212111122121121221211112221122212122122112221112212112222122221121222212121221111112222112221112211221212122121111121122122212212221111112121111112211211112121221121121121121112222222211111112121211112222111111222211111112211222222211222211121221122212121122222212212121221212211111112121112222221111122121212211122212212211121122122121222121122221122111111122121112121121121121111112221122111111211211222211222111221111211222111212112221111111112112221222221211111111111121121112121222121111121121112211211111222121221121211122121211221121122222211111211112111121111212121112121111211211211112221212211112122111122112121111212121222221211222211221111212222111222112221112221112212122211211222211222111111122212221122111122211121122212112221221111122221111121112112222212122111122112122121122122212122121122211221112212211222211112112112111221111221212211112112222111112222211112121111111211112221222212221221212221121122212222222122221112112212212221121221122121111211212122111112222221221222111111211212112121222221212212121121222122111122221212212221111222111122121122222122221112121122221122221212212111112111112112211111211211211212212212221222211212211212111211221212111121222221121211122122112212212122221212221111111211112211212112111221211212221211112222111111222211122112112122221112212122221222112222211211122112121122112111211122221121112122111122211211111111212112111221112122212122121112212212211121222212222212111111221222121212122222221111112211212111112211112112211212211211221111121211111212211111221121222211211211221122221211211121121122122122122111111111122111211221122121221121111112111112111112221121122211121212111222111122111221111112111112112112121112211122221221211212221121212212222111122222111212212221222121212122211112121212111111121122211211211122112222221212222112212212111222211121211211222121222121111122221221111221212122222212211222111111111111121212112221112221211212222122212122112212121222222112122111112121212211221221111111111122221222111122212112221221222112111221211112221111222122112222222212122211212122111221212122122222122212211212111122212111121122211121211112111121122121122212212211222112121212221212122221111112221111222111222121112211122222121121112122221121121211122222212212122211211112111112212222122212111112111222112221221212121111111222112112111211221122212211211211212112121122211212111222211212211212222121221212112121222221111222221111111211112122121122111121212212222111221122121212122212121211222111222112122211112222221111222121111112212112222212111112121112122112112211112212212122221112122112112221111122112111122121221212121211221222121111121221221211121211111121211221111212221112221222211122212121212122212122122221222122212211122211221221111221111211211222211122212211111122112122212111211212111222112122112121112221221112222122222112112122122222212222121221121212211221222211122222112222211121222111112112111122121111221211111221222112122121222111211122122212212112112111111212212121222212111111122111111112211221211211111121111112222222212211112221212222112111122111112112211122111121212121212211221111111112211111222121211221222212222121121222122121212222211212221112211122112211212212111221221112112222221221122112222121212112112121222111121111112221121221211112211112122212121122212211122222111112121221221222212221221212121212111121222121212221211111121211121122222111122212211221222122211121221111122221212212221212221221112221122122221112211221111121121212121121122121212112121222122112111112212212211222221122111112221211211211111121121212111111112111222212221111111221211122211122212212212122121222211122221221111211111111211122111121122221111111112121122112212222121122212112122212211121212212212112211112122212121122212111221111211111122221222122121222122111111221121121221112112112112121211222211112221212221212222221221111112212121111221221112222122111211212122211112212212221212222221121221221222222111122212212121211111112211211122222221221112211112121112222111212122211222221112121111212111212122122221211221212121212211121222211212122222112212212112112122211211111222111212211212121221222222122222221221211111111212112112221221122222121121122212222222111122221121222212122211211111211121221211211111121211121112111112111221112221121212212121211212111222212222121211112222111222211222121112112222112222212111121122211122112122222221222211112211212122122121112121212211211211122121112112111222212111121221222212122111112121112111221111212211222111211112221122212222121111222221121222112111211122222212211221222111211112111221122112122211221112221221211122222221122112222111122222212221112121221111221211121111122122121121112222211222221221122222111221112121221211111122221221121111222212221111221112111221221211121122222111222121212111122111111212122211121112111221112111222121222211212122212111211212122212122212222121111212111122212121112122111212212112111122211112112121122111121112222112121222111121221121222122121121111221211212121121222212221221221112221222122222121122112221112221122211122111211112121121211222121112122121212212212111221211222212221211121212212212221221222111121222221221211112211112221222212122222212222122121122112211211122221111212121211212222222222211212211111122121222222222211212121222111121121221111121222122121112211212112211211122122111211112212112122222122222112211121212111221112221222111122122112121211111222111112212112221222211121122221221221222112122221112222121111212211221112111111221212222221111211121222222221221122122122121212121222221222222122122111112222122221121111212112112212221221122221212111212221122121212112112222221211222222111221112122212222222212122212212211111211121222222121221221211122221222211211112222121122222211221112211212212112111212222222112222211211112212222122212222122112121222221211121221212122212111221111212212121211222211112111122111122112212222221112211121221212122221122112221212212112112212111111121221122111121222212221112122112212111122121212111212222122121121221212211111211222122122222212211212222121121112211222112111111222111111212112221221222122121121112221111111212111221211121211122212212211121221221112122111221111112112122122212211212122122212212212122122212221222211122212112222121221221121111122212122212112121121222122212122121111121212222112122122211121222111122122212122122211212111212111212111211122221222111111121221221122212212122222122222111212122212222221111221222211221222222121221222221112221221122112212112122122222122222222212122222221122121122212222211222222212221222222211221122112122212221222112121121122121212212211121221222111111211111222121111222211111112121222122112111212122221121221112122122112222122122222222122111121211222221212212221112221212122112122211122122121221212111112212121221222112212212112122122221112111221211211111122222122121211222211221221221221211122222221211121122121221211121212212112211212221222122111122112211111122111112211212112212111212122121111121211212122211121222112112221111112121222211111121112221222122122122222112221111111221222222112222121211121221212112111122211222212211111111121212112212211121122112221111221222121222111112211112112222212211211222121121211121211212222121122111211112122122211221222121122222212212121211121222111121122111112222221112112112122211121221112111212112122111211211122211222221221211221121221121111211211212222211122222111212112221121112121112222112121222221212121211221121122222112221211221111222211112112111112221212121122211221122222212111221221211121121222222111112211122222112222111212212121211212122112211121112212112112121111211112121121212221222212212221211112111211212122222212121222121212121222122221122111121222211122122212111111112122222111221221222121121112221122112222212221112121211212112222111211112111221121122121211111112222211112221211211121111211212211112212221122221222122211221222221112211221112211222111211111122111122111122222111112222221122221122212211112121222221121121211111121112111121222222212121212122212221121112221211111121211212112222222212121121122211211122222112122111111112211222212121111212211111111222121122212111221212212221212211111212112221122111222221121222111112222222121112221211212211212221112112122121211122212121121112111211211222111221211222111121212222112122122112211112222121111112221211212222121122212211112121112222221212211111221122122221111221211121111121122222222112211111112121211211112221121212221222122122122222121121212111221212212211221121211122222222211121212211111221221212221112122212121122221112221121111122112121121122112221122221122122112112122222121212221212111211111122111211211211212221212121121121211112221211122112212122212112121212212111211121211112211112122221112222222111121122222221212111122121121222121211221122112222121212121212112121122122211211111112212112212112111112211111122112212212212122112212112222222112221111211222111111211122222212221222112221112212212212211122122111111112222121212111211212112122221112122211211212122111211111121112221121111111212112111222222121221221212221112121111212221111221122211122221222121112221112112211222121221222221212212122122211211211111121122222222111221111211212221211112221111122111211221121211122212211112212222211222212112112121112221121121221112111222222111212222112121222122211121221121222111111222112211211122122111222211121212121222121222211111211122221221122212222211122112111111112212112121121122112212222122221212121111212222111122111121111222122211211221122112212222212111112111112222222112111212211222211221122111212112111112211222222111112212211212121112122121221122122212222211122111112212211221111221212222111212111222221212122112111212111111211121212111221211221112211121222221211111221112211221221111112121211211211122222112121122221111221222221211212221121122221121121121212112122221112121122221221112111112221222212121112122111212112122111122121112111221122222212112211211112221222212112122111111121211211111121121221122222221222121112212212222211212222121121212112112122221211221221112121112212211222112121222121212112111112212221111111221221222221222212111111222221212122112222122122211121222122121112221212222221121222112111211211112111212121212211211222221112221122121222111212212222121111222222122122111111121111111212121222222122212111121222212121111221212211221122121111212222221212222111212212111112112221221221112122211221212221121121111122122122111212222121111222222211222122212221222112221221211222211121212221122112222211212222211222121211211212111121221212211211112122122122222222221211112111211222122221122122112112111111122221211222111111112121121112112111212111112112122122211212121121112121112211112222121121212212212221222212222222122122121212212112211121211121221211212221211212212112221211222122211221121212222211221221221222211211222212112221121111211122211121212112111121212212121121222222121222121221221122121111112222121121221121111111211212122121112221222212121121122211222112121221122211211112222112122121212221112121222122212212211111222222222121222122222211211221211111121121221222112212112112122222111211121212112211122112211212121111122121221111122211222111122112111212121212122222211121212122121122221111211121122111211122212211111122112112211121221222121212121212211112221111222221221222221121222211122121122222222212211111121111112221122112212212222111111111211122122111222122221121111121211221211222111211222121111111122121122212212222212211211212222211121121122111121122121211122212212112112211222122211221222212111221212221221121112121212221121122121222121121211122121122122122122111111211121122212221222211121121212221111211222111212222121111211112211221221121211122112211212122211111111222211122221122122111221112211211222211222221211121222222212222122222222112211112112121111122211211121122222122211121111222212212212221112221211211221212221212221212112112122221221211211122111222222112221111221122111121211111221122121222212212212122111222122212121222212212111122122122122121112112222121222221121122221211211121111122112111211221112212212111111112211112111221112211221222122222112122121112111211212121112221212111212211221111121222111112222121222212211221121121122221211111222221212122121111211122121111111211112121111221221112122211221222212122211211121211121211121221211212221112121111222111111211122211111121211211122111222212112222212212211221211222212111222222222111112222122111112111112212221211111221122221221222222222221111222111112222221112111112211121222121222122122112211111222211122111112111111221211112122112222211121111111122121212111122122222212212111221111212222122211222111121111121221211122212111121222122212211212211211222221111121222121111122211111221222211121112111112112112112211211221122121111222122222112122121221221221222221222112211112222211221221211221121122221121122221121212111221122112222122222211222212221111211112112222111112221221111112212222122121121211211112112111121111112121221112221111122221211211122111122122122122222122112121222211211121121221212111121211221222121111112112121112122221222122221111111211112221112122211111212211222221122121122111211212111212221111121111112222111112122222122222222212111212221111112112111222222121222221111222222221121221121112212212112111222121211122122111112212112221121121121222122221122222112121121211122221221121111211112122121211122122211121221112211212112112221222221121211112112121112221221211211122221212111221122122222112222221211221221122112222212212211221212112121112222212222211122121112112212211112112111111222211111121112121211111221212211221221212212221112212211221212211112121121222212122121112121121122212121222122212211212222121121112211221112211112211112111121222212221122121121211111211111222112122222212221222111111112221221122221112211112212211111111211221121112222221121112222222212121211222121211212222222212212212111121221212121122121122221211211112122122211121112121212212121112111111211111222111221122221221211122221221111221112111222121111122222121222212221121212212122211221212212111221222211211222121112122222221212221122222121122222212112122122211121211111221221212121211111222111211221212212111112222212122211121212112221221112122222121111121212222221212111212112122222121122222212112222211211222212222222121112122122112221121212212211122222111111212221112222111122211222122121122121121211211112221212221222221111211212222222211111111121122111111111111212111112122221121222211212121112212121211121221212121122112212121211122111211122122112222111112222122222222121122112212111212122111122221222222211222121121111112112112222221222211212212122221112212121122222111112121222111112212222221212121121212222111112121212111221111222112112112211112112111212222122212122122121111221211222222211122222211221111212112122121222211122111221222122111112212121212111212212212121112212122212221222112112212221222212111111121211212221222122111111222222211122212212122212212221112211221221112211121111112112121211122211111221212221111111112222222112222221112212222211122112212122221111121221121221111212211212122122121121222222112112121222122122112221111222221121121112122112211112121122211112212121122121222211222221122222221121112121121212112212112122112221212112212212222112122112121222211121212211212222112111112212122222122221222222222211122122222212222111212211112211122111221211121222212121222112121211211221221111212112122211111121111121122212222212111121122122212111222212112222112111221221211212222222221111221111211122222212121222121121221112212112222121122212211211222111211122111212121121211211112121221212211112111221222112222121122121122222111221122112111211112121111211221112122122211112121121112112122122112212211212221121111111222121211221222112212221221112121111212222111112122121221122222221112222221212111112112221112111222212212221221111211212121111211111111211212212112211122212211222111121222111212122111121221111122121122212121111212221111222212111111111111221112221112122221221112222212211211211122221222212212121221211211211112211122112211122221222121212121121211222112222211112121121211112222212212222212212121222222212212211121122112211122222221112111221121112111111122211221212111112112211111212112111111111212111211112122112211212221212212211211211112221111121222212211221111122212121112212112221121211221111121111222121222112222121222112122122222212221221122222112211112222121221112212122111111222111211111122112222211221222222111121222112122211112111222111112222111211211121122221122211121221121211121122112221111112121221111222121222222111211122221112212222111111221112122211122221112122121222121111211122122121211111112121221111111121112222221222122221111112122221221121221122221122212121221212112111212121212111122212221122211121221222112112111122212222112212212121112111121211211111222221111111222222121212222121111222111211222212122122112221122111111112221221112111212122111112221222111111221221221112221111221112212212122122111221122111222112211221222112221111222221112221212221221112222112221212212112221211112212212121112221111211112112221112212221122121221121111121121212221122112112112222222221221211221222122222211211222222221211222221121121122112211221121212122112221212222111222112211112222122122222121112212121211222222122112112112222111221122222112111112122211121212121111211111221212112221111221111221112122222121121222221111112221122211212111222211111222211121111211222112112222112112221222221121222212111111122212111111111112212111211112111211111122111212111112222212122212111221122221121222111122111122122111212221122122121211111111122112221221112121222221222122222111111221112211112211111222222122212112221222112112212111211121122221122221222111121211122111121122111222111122112221111112112212112212221211221111111112111121122222122121121221112211221121111111222112122122112121211111112121211121211121122111212221121112212122211212222122222112112112121111111222212122121212221121121221212211111122212111222212121222222121221121211221212211221222212212111122221222112121221112222211221111122112222221111122121112112211222121212212112221121111222112121111211112122111112212122122212122221122111212122121212222112122121212121122122112122211122222212121212112112112211122211111122111221211222212121112211112111122112121212122222112222122121211112112121212221222121112221121221122211212211212122122112112111221221222221112222222121222212111221122211222122221122212211121111122211112112112221212122122211222211121222222212121111112121222222212211121212211122122111221212112112211222212111112111211122212211212111111111221122121222212121212122121221122111111122222111211211221221112121211121221212211111112122222122112121112112121211221121121212211111222122122211111211122221221221111212111111112222211121122112121112222111211222212211121221221211212212122221112121112211111122111221121121211121212122112222112122111211221211111211211122112221112112222112122221121222212211121121111121112122121122122212111111122112122112222222211111122212212222112122112111112212211221112122212112211211121211112221121212211112211211212112212221122122222111212112111112221111112111112212211212212211222212121211121111212222112121222221111221222111111111222122112122122212222222122112111212111212212222111111121221121221112211122212211212221122111111221112212121111211122122111212211112221222221122211211222221112222111222221121121221121112112112222111211212211111111121111121111122112112211111221122212211222222121122112111111111111212221221122112122211112222122121212211212222221211221112112111121121221111222121112111112222212112121121111111112222212112112122112212122212211122121121221211122222212122122211121111222211122111221222111212112212211221212121122111122112111212111211212221221111212222122211111122212111211121211221121221121112211111111211112222111111222111122121111212211212211112212112111121221211222122221121211121121211122212222221112111122211211112222221112122221212211122121221222211112222222112212211212111221121212212212222112221121221122111121111221221112121212122121111121221221112112122121212111122111222211221222211122122221122122222121212211112122121121122111222211111222121121112122221211111222211222121221122111221222122221222212112122122222211111212112122112111212111221122221222222111111222221212211112121122212122111222121121121111121122122211111221111122121222212111111212211122212111222222211121212122112112111211221112222121111112212111211122111122111122121122221222212112122212112222121211211112111211111212111111121122111222111212212222222111221211222122111222212112122211212211121111211122221121122211221121111222122121111111211112212122112222122211212222222122221122111221121111121121111111211122212111212221111122122221221112111211221122121121122121211111211112221122121221122211111212122112211222121112111112122121122222122121121121221221222122121221221221112221221111111222221111211212121112112222121111121122111112111112121211221222112112111121211221112111111222121122222112221122222111212212212111212222222111211212112112221121212112111221121211221221212211122112221212211121212222222222222121122121121212112111221111211222111212212211222111122221111122112211111121122221212121121111111221211112211211111112211112221221222111112212222121112212122122212122112222121212222222121222122211221112111112212211222112121111212222122212211112211222122111121122212212212221221121122121211121112122221211112212222112211111122112111121121122121111211111221121111221212211222211112111211221212121212121211112211221212112111122221112211122122111221121221221221121121221212221112121111222112111222121211111112211122111211222221211212211112212221112121212211221112222112222211122221221111212121121111221211222112122111221221222212222112121111221211211112222111211112221211212212212211111111222211121112122212212112121111122112111112121212222112222122212211211221212221222121121221111212221122212221111211111112222212122121211211122211111222212112221112112211112121222111122222211221121221211112211121111211212111211112122112221122112112111122221122222211211112122222112221122121121211222111121221212212221121121111122221212122211111122212221222122221111211211212222122112221122111111111121221222221212211111121122211111211121122221211121112211212212122111122122221221112212111222112211112112122121221121221221211122222212111212111222121212122221121111111122111222221221211221122212212112212221222211222121111222111222212112122212122122111112211121211222111111122111212122122211212211111111122221122121222222222222211121212222111111211111211222222121121121222121222222221121221212121111222222111222211212111211122111122212111122222121211221211122211211222212211212222222122212222121111211211221122221121121112122212122211222222221121112111112121112221121221221212122111121121111111112122221221112111112121112212121221122112222221111222112222221212112221221212212222112112111211212111212212221222122222211211221212212222222212122112111222212211121122121112111222211211111221112212222212222122122212222122111112111211212112222122221111222112121121111111221122211211221111211112112112122221122121121221211121221221221121121221111111122112122112212221121112222221112112122122112121212222121122112212122111112121221221221122122221122122212121211222111211212221122212111212221112121212212122112211212122212212122112121112211121121212211222122222211122212211111121121211121212121121111122111211112121111122112222222211121121211221221121121211221121111122112221112212121111111122222221212121112121122111111222111221121111221122112111112122112211111121122211112111211111222221212222212222212212121221211211212211121112211121112211121222121212212122122212112111212112222122212212211211211222222122122222221112211121212221221112211121211222212112222122111211212222211221222122122112212122121111211122212121221221122122211111222112212122212121111222211111111221112111221122211212222111212121121211212122112221211211211211221122211212111211121212122121211121212211112212221121122121212122121211122221121211111221112211212122121112122111221112121111111122122111212222221112111212222212222111211211212211221222221222112221112212121221212212221212211221212122211222121222222111112211221212211211212221111112112112112212121121111112211222221222121211222222221121122111212121212112222222221112112111121222121122211222122112121222211112112112121222212222211112112212122212222112221112211222121211112111211112212111111112211111212221121112122212122221122211221112211121222122212221122222121121111111222112222121221211221122122111221111221121112212121122121122212121112122211221221221122211211212212121122112112111122121112212212222222221212121111121112111121122222211212121212211222121222222221122222211211112222212111122212212221122112112112122221211211212211211112112121111121112222212112121222221211121111211112221112222121112211122221221212122121111122121222212111112221112221121211221221212122112212112212211212222112211112222222222112212122121211211111122112121222121122122211112211112112122121221122211121112212212122111212111112112221112211221112122212111211212122121112212211122121221212221121122111222112211122122212111222211112112112111211121212222222212211111212112112121222222221122221222122221111222122221212222221111112111122122111221112112221121222111121211112222122112221222111221212222111121111122211221221211222122111111221121111111211222111122211221221212212222211211121211212221122222221122111111112222211212112112212221211111222111211111121122222221212121112212111111122121211221222212121112211112211222221111121122121211112111212211112212121122121111112112222111221111212111112111211211212212111112111122112211112211111212212112111111212111222121111212121112221222211112111112212211121211112211211112112211212212221212121211211112112212111112212112221222121221211111111212121111222122212112112212211112122122212222121221112221121112221221212212222121212122121112222221212121222222211221111121122111221112112212122121211111212221111212221212212211111212122122221222121211221212121111222221121212212121112122211212121112221121212211211122111221211111221221112111122212122212222221211212222222122222221221111211221121222211221212121111211121212222221211112221211221222121121212122111122121221122211222221211212212111111221111111221111221221111212122211112121122111111122222211212121111221122212112122211222212221212121221121211212211122112222122212112112222111121212211122112112112111212122222221121211122121222111121121212112111211211212221122221122112111111221211212222121121222122221121111221212222121211112122121222212221111112211221112211222221112112222212212211112222222122112211122122221221121221211122111112111112211112222121222112221121212111222211221121212122211212121111221111122211222111122212112212212121221112221121212111111211121221212121222112212221121121122121121222111122112211122112221111222211221211222121111222121122122211212122221121121112211122222222212212111222122212221112122112111112112221222221122111122212112122121222222122122221221112212112222222222122111121112112122112222211211212212221121122112122222121121211111212112121122222111122211112112221111121122221221121211222122212122212112112112111212212122221111221222112212222212122212112211212112121211221211221122121122222112212111111211221222121221211221212211212121211211212211111212112121112222212221221221211222212112122112122122111222111221111222122211112122111112112222222212211122221112211221211121212221112221212211211111221221222112111121112212221222122212222212221221221111112122221212121211222122122212212211121112122222122222121222212112122211221211111222212112211111212121121121222211122122211221121111112212221221212121221122122122211212221111222111221222211212112121112212211121112121211221111121221121111222122222212211112111121212212122112211221221111221122212122111111121222111122211221121121222212121222211212212212211111212122111121221111222211112212221111111211112212212111111212221222221221112222221121121211221122111211211211122112121212221211122222222112112221221121121211112122121212211221112221211112211212212111221122122211122221121121111211222121112222111211122222211221111222221121111122112111221211212222112122121111121112221211222212212122121222111221122121222222112111211122211111122212112221222221112111122212122212112122221122222212222222222111221112212211121111222211212212221122121111111212211111122221121122121112222222111212112222211221212222212222212221112111122121111121122112122121121121221112222211121212222121112221121111111222121222212111211111112122222221221212121111221211222221112112222111112212212121122121122122221212221111121222112211211211212122211122112211221111221211221121222221212221112111122221222222112211212121221112112211212122122212111212111222211112222211121221211221122211122112211121121112212121111211221121121212211111211211122211212211221112212211121122112221221121221121221121221211212112121221211122211121122112221122221222121211121211112122222221211221212222211221212111211121222222212111121211112122212221211121121121221121112111222222221112122121211122112221122121211111211222221221121122221221221212121122212111111212212211111212222122221121111112212211122212221211122121211112222112122212112111211112112211211122212211222121121221221111222221112212121212221112221221122211212211112222211122121112111111212112121112222222222121121221121112111121121212112212112211221212111111212111121222211111122222111212112222212111112222122122222222212112221122111121212221212121111221112211211111122212221211222222111211111121222211112122121112121211111121212211222221211222211122211111221211111212212221212221121221111112222212121211111112222211221121221222212121211111212212112121122221121111212211121121112211112222112211112122222112222212212221112222121111222122222122112222122211212111112121121112111112122122211222111222221212112222211211211222211211111221121111121111112111111112221111211211121222211211222222211222121122111122122112222111212211212122122221112222222212122222221122112221222212112211211111121222111122112212221111121112121221112212212121211111122222121122112121221222212222222221121121221111221121211121212212121111222221112112112212211121222222222221221111222121121221122122212111122112112122122222122222221112212122222112122111112211121122112212122112221221211112221121221112112221112111122122122211112121211121122111211212221121212111122111111122222121211111222212111222122121122222122211221121221221212211111112221221221111212221112211211211212111222111111222211122221212121211222222211222212122112221122111121222212211212111222212121211121111212112221222212122111212211122122112122212122112212222222112222112211222122112112212221221111222121111111121221221121112112212111211222121212111221222222221221122112211121121211111221211121111111111222112111211222112121112121222112121121212112222122221122112212111122211211122222211122112221212121112211222121221222121222222211121111121212111122122212111112112211112221112222222211211211221211211212111122121222211121211122112222111222221222111212111212121111111222212211221112221211222211222122212222111121212122221111211212112222211112221111222222211121211221121121211112221121111222122211212111111212222222112112211122221111112212112221111212221111212211121112121212222212111121122211121121122221111212121122111211211121221212211111211122212211112111122121222221211111112121211212121222222221212111222111211121121122111112211112221212212221112211111212112222221121112122212111211212221111122122222121212111111121111221121211221211121221221222111111211211212211221221212222211111221122121121222122221121112121111212122111222112111221122111212111212212212222212112112121212112111222112111112212222112112122111111212222221112121212222121121211222112112212111111222221122112221222221211112222221222111211221211222211112122212212122222122122221111121112211112211122211121121111221111211122112121222111222211111222221111211222122122222112121222221222111121121111112112222212212212221121111212111211121122221212211111121221112211122221211222121122221121121212121221211221212222112121121122222122111212122112222122121212221221222111111111112122222221222112122221112112111122211211222221111111221122222222212212111221111211111211112221122122212212121221111212111211221112222121121122111121122122221221221121212112222122221221112122221111221221221121112212121221122121211122212211121222111111112112212121111111211121112212211121112212121122222221112222222212211121121122221121122112211122211112222212112212221211211122211121222221111211122122121221211112111111121221122221222221122212111221211111211211222221211222222112121211112122221221112121122222121221121222122211222111212212112111212121122122222221111111111112222211122222211222212121121221112222112112212111111222221222122212221211122211122112112222211212121211111121222221211112112211111122112111121221222212122122212122211121111211222121121121121112121112212121211111121221122112122222111211121111112221222111222111222121211211121211222212212121122121122212211111222122112211221112122212121222211122212122212221211122222211212211122221212211121212121122222121221221211111122122221121121211212211112122211121221222211221211212111221122121111222122221121211212221112121212121122112121221122221211222221111122112121121122112212121212211122122122222112122222121121212211211112111222121211221222111211222221212212112112111112212112222122122122211221221221211221112221212222212121221221211222221212221121122112221211111122122211222122112211211112212211211111111211111221111211221212121122112222222222221212111221211222222122222121211211122122121222211112112121111211212222112222112111111211121212221211221121112221122121211211222111221112112122122221122221211221122222221221112222211212221112122121212221122211212212121222211112211222121121221111112111112222112212122122121121122212211222122111122211221212221111112121121222211211211121211111222212221121122212211121221122111212222122122211111112212221222212211111221211212211112111111112211122211111112222211112111122121212222122212122212112211122111121112211222122211212212211221222111111111122212222111222121212221211221211112221122212112221211221221212222112222111112221122112211211212221122221211212121122222222112221121211211211122112222212212222122222122211112211221122222122111122121112111222121121111121122121122112222211212122121122121112222122111111211221221212122222222122111122112222212112122221121211211221212112122112221212222212211211122111111111221122111121121121221222212221222121222122112221221212121211122111212222122121122121222111122211111212222111112112211112212111221211122221212211222212121221221221212112122111111112111122211212222212121212222111222111122121222211111211111122222122212212112112221111121112111221121112111121111112211222221211211121112212221212122221121112121112121112212121212222222212122111121212121222212111212211212111121221112222211222221211122212121122212122111211111221112211122121221221211121221222222121212121112122112122211112222222111212121212211212121111222121221111212121221111122221211211121222111222112122122121111222122111211211211112122121212211222121111121212222111222211222122222212221222122222122112121112122122122121122221112122121212122211211121112222222211112121211111112212221212221212111221211121222111111222122121221111222111112211122112112111111121222222212112221221112221112222222221221221121221211212212112211221111212221221112122112121112211222121211112221222211221121212222212212211211221121221122212121222111211121211221121111111112211221121222122121112122112121112212212122212212222221112121221112111221111122122121112121221221122222222221211112211222221112121112111122222221122211111211122121212221212212221111222211122122222112222111112111112221222122221222222112221121121212121122221111121111221122211212211122221212112111112221112211212111211212222221222122221212212221112121212122222121122112111121211222111122122221211121111222221212111122121111112122121221212122222112212222212121221211211221121112111121111222212212221211122222121212211212222222121221221221122112222111211111121122121211211122111111212122221122211221121121221111112122111121212121121112211121211111111211211112222221212111212121211112112122112111221122122111122121122121121221221221212111112121111121222122112222222212222112211212221211111111212221221112112122122122222211121211222112121111122122112112122222211111112111212112121222111111121112212111122122212111211122212122112111212221211211121221222111112112222222211221212221222122121121111121112112221112222221221212122211212112112222112212111112221221222112121111212211222211212112221221122112212221111111122222222112122122222212211212111221111112111222122211112121221222211122222121212122111122121212122122221111211221121111222222111122212221212211111121221121111111222222212112112211111211211122121121111222212212122111122111221212121211212212212222212111111122212122122122122211112222122211221112112222222222222211221112211121222111222112211222122112121222212211111122211122222122121222222111211122212211112212122221211121112112112221221112222122222222211111222211121122112211112121122112112221111111122122211122111211221112222212112112122211212222211221122122222111111112211122122212221221221221211212221112211111122211222222121221121212122221122222222111122112211112122112111112212211221111122221122211222212122111111212222122212212212111111221121112221111122122212111212122222212211121222211112221122221111222221121122112111222111221122122221211222222222122112222221222211222111111211212222121111122212212222222221112212212221122211112212112121222122111111122211112111122111222121112111111211112221122212222122122212211121121121122122121121222212111222122111222121211211211212212222111122221111211111122112211112121222222111112121112221112221211121111122112212112122221111122221211122111222112211221222221221112212221211111211221111221211222221211112121122121212122212221212112211112112122212111111211221112221111222121221122212221212221211121222122122212222222211211121211112211221111121221221111111121222221222222221221222121212212122122122122222121111112112122222122122121212211221211222211121222221112121121221122212221112222212221111212222111222122112112221222121112121122112111121222121112211222212121121121211212211212212211212222112221222122112121121211111222121111122212222221211211221111211222222222112222121222221221212212211212222211221212111122211111222221121112221211111211222211112211112212121222211122211221212111211212222222212112112212211112122221111111212121121222112122121121211121211222122212221221212222221111111221212211221211212122212222111221221122211122211122122112211211222112221122112212221111212121112221222121111211222221111121122212221222222212211222111111221212112221122112212112221221121222211122111221121111221212121122121121122212222112221212222222221122112211122112222221121221112122211122122112111212221112222222122122111222212212221111221122221121212121122211211122121121112212111212111121121122221211112222121221111121122211221111211221111222222122122122111211222111221212122112121111211211222112221111222121211122222112222112111222221111221111121212111222212211221212122221112122221212122222121221121122121212221122111122122212121112221221212121122211211211221221122211211211222111122221212121122221122222222111211112121112111211111222112222221111212212222122221212111122222221221212122212111212121111221122112212121121221121122211222112121221212212211221121211122111222222221112212212212221211111212211122222221112221211121221212212112221121221121221121212211121211111111112212222121221221112121221112122112212212222111112211221111112221211112222111112111211212112111122122222122221222222221221212221212212212122221122221211111111121221211121112111212222122111122112221221222222222112212222122212111122111221122221111112111111112212121212212121212212221112211121121221212122221121121121222222111211112122212112212211122212111221121122112222211222212121121211111212221221122222211211221222212222221121212111212121212111122112212121121212221221121122221112122212122112122112212121212211222122122222221122122122122112112211121211221221112111211121221121212112121111211221222211121211122222221222111211121212111121211211222211121221112211122211122121121111221121111111111221222212221122221121112211222211112121111221222112111122122221121122211122222122221112112212121211222212112121221222112121121111211221222211122212122122122122211112222112221221211212112222122121221211121122222112221112121122122122112121122121212121212121122121121122121121212112221111111112221111212212221111122112211111112222212111121122122122212121221112111111122111111211222222122211111212221222221212212112121122122222211221212121211122111222221112122122112121122111111222211112112211122212111211111212211121111212121222222221212221212112222122112211222122221111222222111212112121221111121121221221112211121211221112211122211122122222222222221111112212212221222221122221111121222122222211111122222222212122111222211121121212111121121122212212221111111111211222122221111111222111121112222112111212212211112212221212112111221122212222112212221122211112211111221211122211112122211121121111122111221112211121222222211222211122212121212121222222112122111212222222222121121221212221211122222222122112122121212211112112222121121221222112221112112212112221112112122111212122121122221122112121112122212221121222112122221211222112121222122221112111212122212121222211221122111111121111111221121222111212222112212212121112122212112212111121212221112211122121212222222111111212221221222112212211121212211212111112122112212212111211212121222122112211211112121122121112111221111222111212211121121222112212112122112211211221212211111211121221111122211112222111212121212222212221112121212222121111221112122122121221122112111221122212121111222111112211222211112121212112211222111222122112111122212121122112122222122122121212221221222222211111121211112121121222122122121121212121211212112212212212121111112212222121221112122112212111222221111121122211112121122121222222112121111122111121221111222221221111122222112211121122211121211122212212211221121211112122111222112221221121121121222211212211221221221212222211212121122222212121111121211212111111122222212222222111111111111221112211121112121122111221212221222112221121222222112121121111111211211122212212111122112121212211212122112112221121121212121221211212111222112211122212222211111221221221111222121121212111221111222221221111112222212122212222211122222221111121222111221211211112121122211121222122121111211222222121121222112122222222111221212212222222221211112221121222212222111121112221212212122121221121212111121121211111211121111212122122211112112111212112222212221211211122121211212111222121212212111121121111112121112211212212221212211212211122122111112222121121212221122121221222212121211222212121111222221122221122111112122121122111112222111212221212211222221221111211221212112122122222122112211212111111122112112111112121122121112221212112121122122221112212221222121122111212221111221112221222111122211112122222212121222212112112111211122122111211222212221222222212222221111221212122122211212221221212222121111211111211121222111212221212212222122122212221222222212122211212221212222122221221121212112211212211112121211112221212211122122112112211121222212222212111211111111122122121122122112221222221212211222111122221122112222111212111222112221222212222111122221222212212111222212121222111212112121112122211221211222222111222212212211112112222222212121222122221211112222212211222111212211111121211222112211112122111211121212121222221112121122121112212111122222122212111112212221211122212122211122112122222221121221122211222111211222122122121212122121222212211212112222112212222212211122211221121222211221122121121121222211211221122212111212222112211111211112211212122211221222122222121121222121221211222112112212121211112121222221122122121112122211112112221212212121211121112221121121122222112121122122112211121212211222111111221221121212211112211111112121212211221112112112221112211221222121221221211222211112111112121212222112212111222121211112211211221111211222222222221211222221211121222212212112221212211211211212222212111221211222221112221212121111221122122221211211222112212122221212112222111122111111221112122212121221211221111112112211211211121211122112111221111221111121112221222122122122112212111222121211222121212212222221221211121121222222111212121111212211222221222212221211221121221212121112221122121111122221122122111121121122212212212211112111211222211112112222121222112112111221112212212122221112211122222211211222112111121121122122221221212211211211112112112111222212212121222121211211121212221221112111221211212111121111212221221122222222111221121112112111221211212121121212121211212211122112221111212112221221112112222121221221121111211221221112122111122211222121221212212111211221222122221112111221122221221122221211211112122122222222112222122211221112111121121212221112112112222112111122121222211221112222211212221122212222111111121211121211222221211112111112112221112112212211121111111212212222222222211221111222221211212211111111112221211121222121112212221121211122211211211222212112121111212112212221112221122222122212211211221211212111221211211222222222221112112212122212211111211212111122221121111112112111211211112222222222122112211122122122122222221111121222221221221212111122222122222212221211122211111221121211112122121111112111122212122112112221222212212112212121122222222211221112122111121112111211111112212222122111121122211121121121121221222122212221122111222222112121222122222112112221122111212112111122221212212211121221122111221112121212121121112211212212121111121212221211222122211222212212122212121112111111222211111122212222121121212221111221221221211221211211112222122112111111112112222112111221122211122222212111111212121222222112212121221221121211112122112112211111112111122121112111221211221212122211111111112122122221212122112211122212221222212121222112221222121212122221122221122121211121112222222212212212212222121211122111211112221122112121122111111111121122121122121221212121222111211211211211222222111122222212212212112111221112121121122112121112121212211221111112222111121212121111112222121222122111121211122112111122121111122221112222111112212212212221221122122111112222211222221221222111211221212221221122211221211121122221122112122121112211222221111212121121111221211222221111112122121121211212211211121211122112211122222211111222122111112221221121121221222212221221112112222212221112211121212212212122122221212221122111211212121222122222221111122112222222222221222122111221222112112221111221121212111122122111221221222221112211122112221111211121221112221122111122122112112122112111122121111121222121221222212222122121122111222221112211111211112111111112122222211211121212122111121121211221111212212222122122112112222211211122222221212112222211221222212221211222212222212112121112112222111112221222112222221111221211211222112212122111211122222211111111112222222211221222211211111211212112111221221122121212211211212122122211221211111112212111222111212211211111211212222212111221121112121222222122122111112121222112221111211212121222121211112212111112211122212122221122222222121112222121121122221111211212112222221222211121111112122221222221122211222111112222221111121221211112212111121112212221112212112122211222211222211222111122122211221221111121121222112121211212122112121111122112221112212121222212212121222221212112222121121212122221112111121211212122122122211222111222121221112112111212212112121122221222212122111221221221211222222121112112122111121211112122221211111111121121111121222122111122211212111211121121111221122112122121221222222222211222211112211221112121211221112212121111221222112121122221221222111111212212112212122122122222112212112211212111211121111211111222111211122121211211221222111111221121222112122211121211212221111221222122212112122121212222122111212212222121212111111121221121212122121221122122212222221112221222122222111212112212222222222111211111211112122212212212222211211122111212211111121122211211122121221121222112121121211222122212122112211121112212211211221211211221112211122211211222211112122211111111222222222212211111221211221121112222111112222122121111121112112211212212111111121221111112112221222221211211211221121222211112222222212122222221221211111111121221221222111121211122122122111112221212212221212221211221122112212122121221221221211111221121112222211112222221112222112112221111222122111222221122221211211122122111211211111222111122122121211111222112111221121211221121112211222111122211111121121112222121212122112112212121211111212121121211211121221211222212122112112221211211221112112221112211122212212111112111222212122121111222111222212211222122211112122111222111211111112222222111211112121221112111121221212211211122121122112211221222112211212112121121121221221122112121221112111121112122222212221121221121221211212211112112112111122222221222121111222121111112121221222122222112112122111112121222222112122212111221221211112211122122221221222212111121221121111221121111112121222112111221211221221211111111212211121211212222211212222121222121121111122121212221122222222121222111112222211212122221221221212122221122211211122211212121222122112121121211211212121211121222211212211221122211221112211112121212122121122122111121112121122122122211122222112211111121222112111221112211112122112122221222111121122121111212221211112122211222111112212111221211121211211222112122121111221111112211122221122111211221222111121222122111121222112122112222212222121212111122121112111222122111212112121122222111111112112112111221122221222111111222211212222222221212111111112121121221211221221211221222121221221112121121121222221121212111212111212221121121111212221112112222211221221221111212221221222221222112212112111111122221112211211111221111112211221112111222111122111211111111222221222212211111212212221222211222112212221222212221111111221112222222212222121112122221221212122211112121111111121211221122112111212222122112121222112122222212121121111122212211222212111111111212111222112122111211111121221211121112121122222122121121122111222221222121121112121121121121111112222221112211111112122112221211222122212111111121222121222222212111212121112121111221211211212212221221212112211222111112212211221211222111122122211211121212212112111211221211121112121221121221111121112122111221111222211122221112112222121122111222121212212212211111222211111212112212221211121111211221212112222111122222122111222222112221221112111211111111211121122221122221111122221111221212222212122222211222112112112111112112112222111221112211222221121122212222121212112111122211122221122221111112112111221121111111111112121111212221222211122122211222212222121111112121112212111221211221221221112122122121112122121212211111122121221112121121212212212112121221221111111122221122111111112111121221222111212111121122111211122222111212111121122111221221111211222111121112221121121121222221122122111121211111212121212121222222122121211222112222221122111121122221111222221211121122212222111221221111212221122122121121111112122222222222122221112112111122121122221211121212112122121112221112122111111212111122121222212112112212112122211122222122112211112211222212112221212122111112211121122121212211212112212211222211111122111121122222211221221111112211121112111222112212112212211111121212211212211222211221112112112112221122112112222112222111211122121121121121211211112122211212212212212112121121111121221121121121221222121221111121121111122111222211212121211111112222122211112221212212222121121122211121121221211221221212122121112112222221212121211212211112222112222221122222111221122222211111211212212211221112212221111212211112122122221222111121112222222211111212112221221121112221222211121122111221121111112121112212212112111111212122122112122112222221112122111212111122111122211211122111122121211121212111212112111112212111121121121221222211221121111111122122212112122212112211121111111221111121121111211112212121122211111122221112112112221211222211121111212222111222212111121111222221212221111121112221222112221211221211121222222111222121222111222222221221121211112122112211122121122222111111111111111121211211121211222112111212111211111222222221111221212222121211121222222221222222121211221122222111121212112221222221121212121121221212122211111112212211122212122112112112111222122122122212222121112122111121121222221112112112112222222111222122221112222211212122112122121111112211112222221221112221122222111121222211212222111221211111211212122221122222211222121211211221112222121122112121212112221221122221112221212212222222112221111222112211122121222112221112112121121222111112112122221221111111122111122121122221211211121211212111221121211111122111221222112212211112121212212121111222212121111211111221211121222112112221221222221212222111111212222211121212221222111121222112222121112121122212112212121211111122112121211222111221212111222221222121122111211211222112212122212111112211222111111122111122211121211121111222212222121111211212111111112222221121221222211121112121211111112111211212212122122221221121221211121121211212211112221112121211222112212212121121121112222122121222222112212111211112212112122111222221221121221221111112212112221111212121122212221221222121112121222221212211111212122212121122222111111122112212222121112211212122121122121111122212111121112211112221212212112121121122221222111212111122122221222222111112111112212112222222122222221212112211221212212221212121122122122121212122122221211122111221222221112212211212121211212122121122112122122222221212212221111112122112212221221222112211111211221222111112121222112121221211112211212121121212221221112222212221222112122112221222112121221112112122112222211221112222212222211121222111212211111112111111221112121221222122221121222211211221112222121222221211221221222212111212212121121212222222222121111111111122122111121221112122212211222111122112212121222121111221211111222221211121112222122222222121212222122222211121222222121212122221212221121221112112112211211211121111122111212122111211112211222122222222112111222222121112211112222211112122212122211212221211111112212112211111211111121112212221122111212112221112121112211112221211222112121112122122221121211212122211211212222212211122122111221211121211112111122212121212222221121112121111211211211122212112111112221212212211112112222111112122112212111112211222222211121121212222222112122121212112122122221122221112222121211222222221212112121211211222122212222111122122121121222212221222222211111222212211112222222211221221212221122112221211112221221111222121221111121211221221212221122122211222211212221221122211222211221212122212121221112112112221121222112112212121121112122112221211221122122212211222121111212221112122112121221212122211111212211111112221111112111122222211212121212212111111122222111122112121122222121111221222121112222112211121122222111121222112112212121121212222221212211221122121111122112121212121222121211222211221121121221122122111211222112221222121221121221211222222112222222121222221122212212111122221121211211212222211122212212222112221221121211111122111112121111121211122122111122121212211222121121121222211211212122212111222211122222121222212211222221212122122121212111121111121222122212112221122112122112221221121222121111221212221112211221211112111112122111211121111112121221222112221112121111121122121111221112112221212222111112122222222112121212122222111221121212211211221212111111212111122222221112121221211121221111221211211212121221112211122212222112121222212211111121111111212212121122122221222222211221111211121121122122221211222121222112121121112221211122221122222212111212211221222111112111212221111121212111222211121121211211222212212211121221212221221112211111121112121211111212212222111122122111211212111212221112121112112111121211121112112212211121222211221121112112111211222112121111212222112122122121112212112222121221111122212211221111122211222112222211221111111222212112112222221221212112112222211221112121112221221212221121212122221121112111221211211122111121221211111222121211222112121221221111221211111212121112122212111121222122221222112122222222111121112112211111122222221112222111211211121121221221121122222111111112222121112121112212112221211212111212222122221121212112212211121121121122221112211212112121112122212211222122112112211212221211111122122112212212121211121211221211121212121111111111112221122122221222211221111112222221122122122211121121112221222212121121121112112212222122211111212111211222212121221211211221111221211112222111222112121112211122121212212121122111211221122122112111212111111212111222222212221211111121112212221212212111121212212222122122111222212222122212111121222121111212111211121211111122122211122222122112211211122121212222111221221222111112111221112221112111121111221112121212122111211222222221211222121222212221112221211121121222111121212122221111222122112111121112122221122112222122211122211121212122221122111112121222211112221122112221121211122222111212112112122121122221211211112112112122222211121112122112212221122221121111122211222212111111122111112111121211222222211212212112212111112211112121111121122222112121111121211212221111212211211111122111111112212121122222111122121112121211222212221121212121121212121212121111111212111222211122121212211121111211211111112222211121222221122221221111222112111221121212222212222112121211122222221222121222111222211211221121212211121112112221111112212212212222121112121122122222122112212112112212121221222111121122122212211122121211111112121122211111222122122211211211222122122111212222112111221122211221211212221222212212122222211121111222221221121211222111221211222222222122222112221222112221211222122211212212211121212212111112211212222212222112221222212211222112121222121212122222211122122111121212111112112121221122222111221221212211211112122111121212222212122211222121121211122221122211112212221122121221112212211222222211111111121221111112111222122111212122211211112211211112121211111111212211211212211111212222212212222111112222112112212111221112122112211211121122211111212211211111111212222212112221222211222221212112122121212222221222221211221222222121122222122112212221211211112112121212221221212111221112122221121211222121111111122121212121122221121212222111212121112112221221122121211211212111122121122112212121111221222212122221121222222221112211112111222121221122111121121121212222222211112212122122121112222121222211211121122212221122211112122222111222111112122211111121221112112212212111212222221221122211111122222212211221211111121221211121211222212111221112211111212221112211212222121122111111121112111122221211211121211112122221221221212122112211211122222121222111121212122121111121211221111121212211122221212112121122211111112122222221112112111122221222111121121121122211121112212121112121222222112111111122222112211221112222212211222121121221211211212211121121122122222211221222222221112212112112211212122222221212112212222122211122122122112212122222222222121112222221111122211112221212222111122221221222211221221212211212111212211112112221121121212121222121222221212121111121111122121122121222221221111221211111111111222221222121122212221122112112221211221222111122212121212221211211112111211121121211111222112212211121122221211221111212222112222212211121221212212111121121212111121122221121211222122122222111221122122122121122121221121211221112221222112111122121112112122122212212222221121121111112212121111222222221111222111111112211222112121121122111221212212212122222111211122111221111221211122212122222112121121222221122222212122111121222111121221112212212122211111212122211111111221222112111112121212211211121221111122212112221211111122111111122122122111122122121211221221122112212112211212121111112222111121211222111112211112111122121222112111222111221112221121122111112112122111121111222111121212111122122221112221122212111111122212212222112221122121221211211122111212212221221222121121112221222221112221222221221121111111122211221221221211212121211222122122222222212212121211211122122122211211112111111211111122112111111112222121121211211111112121221112112111211112221211221111222111112122222111221221112221222222222121221111121121212211122112212121212111121112222221222112121211212112221221221222121111221212222121221121221112122111121221121222122121211221122222111112122111222211211111111111121111221211221111221211121121212122121121222221112121221222222112211111222111122121211221222112122211121212122212212111211122121121212221211211212122112212121112112121121212222211222111211121222221112222122211221221211122122111121112211112222222121121212222111112222222212222212122112222111111222121121212112111111121211212211121121221211111112222212211222221121122221111222211211122111112211211211121221111112211112212211221112111111112112121221122222212121221122111222211211111111212111111222112121211222121221211212111112111221212111222211211111221111222221112222221212121212222222121122212221112212222121112111221122122211112212122121212122212122122122122221211111112211121121222221212111221222111221121122111212111122121212121111121121111212212222211121122121112222112212212112211222221222111222111111212111111112222111222121122212212112112112122112112122211212221212211221112222211111111112112211111212212221212121222121212212211221212211122211112112112111221112112212222121222111221212121221211122221122212111121211211112111211212212221222221222221221211221111111212211122111221122122212222222112211212222121221112121112211211111212222211211211222221212212212121221222221122222221111222122211212111111111122221211221221221212121212222222211111222211111121212112112221212212121211221211221112221122122222112111121211121212122112222112212121121222122221112221211111221212212212222212121222122221111211112221211212122111112111111111221222221111211211111111211121212112111122111121221122112112212212112112112112212221112212222112211121112212221122122211121122212222222211111222111122122221222111111121212111121221221122212221212222222111211122112222212212211111211122111112122221122212121121212222211221221111122122112112111112111212222111122212111122112222221221222222111112211212221211211111211112212212112111112221111112222221111122122121212221221212121112122112212222221212222211112222121212222122221212122221122212112121112111222122221221212222112212212221221122111222121111211222212211121111221112212212121222212111112111111112221112212112121222112212222122211112122222121112211221112121121211212211211121121111112111211222221211211222222122122211212222211121111121112122212122121211122221112121122221212112122121222212221211212111112111111122221221112211122112112111212121211112111112112111212211111111222212211121121212122112111221211222121111121111221121212112112222211112222222112122221211222212211222221221221121112221221121212212212111111211211122111221121111212122111212222212122111112111111111212111121221121112121212211112122121221111111111222222122111112211211222221212222212121122211212212122112221121121122211221211112121222221122112222222111112111222212212221111211212121111221112211211111212121212121121121221211111211121121222211112221222121212212122122112211122211221112112212111112211212121121121221111122222212221122211121111222212111211111222222111112121212212121212122212212221212212212211212122221112112122211211121221112211221222222121111122221112122222212212111212222211212222212112121122122222211121121111112121212212212121121121221122122111121122121111122211122211111111121222122122111222111221221211122121122222211212122121211221112221221121211212112122221212221212212111221122122212212121121211111111211211112121221112112212121122112112122112221122212222122221221111112221212211111212112111112112221112122212122221211121211122222221221111122122111212212221111222221111212111221111122112212122221121121222121212121221221112121211112111212222221211121222112122212111111212222112222221122121121112112221211121222222221112211211212211112211222221122222212212112212212122211111121212212111211211221222212112112112212122122211121212222122122112111222112112222222112221221111122111111222221212112211122111112211111122122211212111122222122112221211112211121221111121121222122221111112212122212221222111112112121112222221222222211111112122221112121211111212221212222112211121211211211121222122211111211221212122121221121211122122111111112221212221111122112112112111111212212122221222121111221212212122121211111112122112212222111211212121212221112212211112212111211222122122122222122111222112221212112112111221111211221211212212221122122221112222211121122121121111221211122222121211211221122221211111121111212221121212212211211222222112121222111221122221222111121211122121221121211212211221112211112112211211222121122112212221222121112122111111221212222122211121121111211221211212212211111122111112122122222111121211121212211122122211211221112122211111122211211112222211121111112222122112111221212221121212122211121121222222212221211112121212122112112222211211112222212122122211222221121221222212122121122212212212121222122121122211112111221222211221221121222211212121222122112211212121111111121212211212221121122121221121122211222112112112111121221221222221111111211121212211122121121122221122212222222112121222221112122121122222122212111212122221112112121221222112111122122211111221211221212212112112211221121112122111211222111211221122221121121212221211222121221122212211121222212122121211212122121111111221221222111211111221212122222211212211221211122111121111111112212222221111122121211211112211211221222212121122122112122222122112221111121121112221222122121221112221122212211112122211122221112121222221222121211211212211212122222211222122112122211112222112212111221112212111111221112222121111111111122121121111212122211112222111112111122222222222122221112211222222212121211111111222222212221212122112221111211112222221112122211212121212121221112211122222221222122211121121212122221222111221121121122222212111221221211221211121212111212112121222121112121211222111211211112112221112121112122111121111211211222221212211111212212112111211112122111111221121111212121212111221112112211211121221111212211112111111212111211211211211121121211211122222212121121112121121112111121122212222121111222221212222212222211221221222212211121121222221111211111221122221122222121212122221121111211121221211212112212112111222211112121111122211122222111122221211122121121221112221111221121112222112121122222211112212121122121112222222121122221212121122112221212112112211212221221222111122121211221211212222122111211111222212111222122122221111121111211122121212122111212221211122112122122122212112121122211111112111212112221212122212211221111122211111111111211211222111212222121112111111122111111221222111211112212122122212212212122112212121121111111211122111122211222122222122211221121121212111212112112121112112211111122112122212222212211221122221212122121222211121121222211112212121212121121221211222121112122121211122212111212222111222221221211211111222122222212112112122212121212221111111212111122111212121211212121222211212112111112211121221121111122221111221122122111212111112111222221111222212212121212122212212222211221212212111212211221111212221112112221121212221121221122122112212112211122212212222221112121211121112211121122222122221121221121211212112211122121111111221211212111122121112221221211222211221212221222122221212212212112211221212211222121221121122211222222121121121111122112121121121122211112222222222122222111111211222211112212221112211122222122121122222122112111111221111112112212211111211112112122211221211111222122211211221222122112121111112112112112111111121212221112121112111221212211222112221221211221221221112221111122212222211121222111112122211121221221112221211222122221122221121211111112212121111211212112222221222111111212111221221122112112111222112222221221112221221222221121212121112221222121122222211212211122122122112221211112211112121211211222122222122111112222111122211112121112121222212111211212212122221221111211122122211221121222221222122221222112121112221121111211212111212121122111112121211122211222112121211212211112121222121222121222222111111212122212211122112221211212111112211212121222111222221221211212122122212112222211111122121212121111112122122121122112111221121222111222122121212112121212221222211221112211112121122221112221121222212112221211121111122221121221221221121211211211112221111122222121211121111222221122212122211221122111221112221122121122211112221221211221221222221222211222221111121212211212112121211121111122221221121111221122211111221112112111121121222222111121122112222222112122211222212121121222212111121211111121122212211111111221222112122212122221212222212121221121122122221112221121222121112222121111211111121112112112222221212122222122222112122212222212221121212112111222221211222221212112212212121121221221212221122222212112221222121122221211211111121112111221212112222222121112112212222212212121222121122112112121211221212111221122222111222222221111211212212122212112112221221112121222221122122222121111121111111221221122112121222122111211222212212221212112122221212111212121122222211122211121112212222221211221222222222112211212112222222111111112121221111121211211122221121122122121122221122122111122111112212222112112221211222122222221122222222121221121211221112222111221211222212211111111222111121212121111112222121121221122211212212211212212122111221211212222121122222121221221211121222212111211121112122212211121212112212112221221112222212221122222122222221212111121221222212111122222212222122121212222212212111222222221221211212122112212121222212121111222212122212212122212122111112222121211111122222111222121122221212121111211211211112222121222221222221211212122111222121112111211111112212212212111211111112222221212221111211212212122122212121221112221121121222212212122222122222122121121221112222122211122122121211211121222111221112112221222111211212222221211221211122112211221112122112121112111212121111111112122212211211211112122111111121122121212211122211112212221122211122122221222121111211221222111111111122121112111121122122222112122221112122121111221221111122111221111121211212111211111122212121122122112122222222121121112122112212221211212211111212211221112111221112112121111221211211111111112122111111111111122221112222112222211112211122221221212112122222121112122212221121222212221122211111111222212122212111211122111112112121222122212222222222122122112122211112211112111211121111221121122112221122111221121122112212111221112111212112122121211122122111121211121111111212111212111211122111221111211221121221121121121221111212122221212112111222211121122122221122112122212111121111211122111222211111112222211221211122111112121221211122212221111212212222112121221122111121111211122122211221211222221121122122111111122122111222221111211112112122222211111221221112221122222111112211121212212211222111211122111112112111121122222222212221121112111111212212112211211221211211121122111122211212111212112122111222121211111211221122121111211112221222222112212222222211112221121122122121112211211122122111122121122222111111112221221122121121211112111121122122122212111121111122112112211211122211222122221121122111122212221111222121112222122212221112121211121122121222122121212221112212121111112111122122111112222111211121222222122222112222121221112212112111112212222211122122122222222122112111211112122212221121111221221111211111111221212112121122112122121211111111212211221112222211212121222212122121221221212122212122222121221221112112111222121112212211221121222122222211112121212112121111122111112211221211111222121221221111222121122112112122112222111112111122121121121222221211121111212111122212111212111221211222211121111222211122121221122112121211211111122222111112212212211222112112222121122111212122122211211211111122111221211112121112112112122111111222211111122212112111122122211221112112121221122212121121121212212122111122211111112212212121111121221222211222122111211111212212212212122212222222212111222121222112212212221122111221222211121121221211222212112122222111212211121221211122111221222122111111211221222112121122212122211212222211212222112211212121112111121121221112121112121222212111222221121211221121112122112112112122111221111212212121112222122111211211122111222212121211222221222112111211211112121211222212211211211212121211211211221122212222211221211212221212222212122222212211122111222112221112111222112222112212122112121221221222122212111212221122211222121121222222111122121121111121221222112222221222212121111122212212211122221212222122122211211211221222111122122222222211211222111222211211112212122121222211211122221111112212211221212122211111121112211112212211121122211222112121121222221122111211212122111211122121111212221221111112221211221222212122121212111221212122121221211122212211121121222112121111222121211222122122212221211222111212122111122121121122211112211212112212221111222112221212111221222222211122121122221211222222112121122121221111211212121122121111111212221122122222211212211212121111122122221212222111111121111221212112211221121112111122221112221121111221212121211122122121121111221122222111222111122211121222221221221122212112222211111122121121221211212221122212121212212122111122122221112122122122211112112112111111212122111211112221211112112111221112222112212212122221121111212121212112112212212211221221222211111212222212112121112221112122111221211112212221121121121222112122121222112122111221122221221122211211221222111212122111111212212222222212221222122112122211212221222111121122112111212222212112122122212122121111121222211212121122111111111122222222121111111221122211121221121112221222111122122122112111212112221122122212122111211212111222122121222212112121212211112112221222121112122112111212122122211121112212122212221212122111212222211222121222211222212212111122222121112212221212222212221122222221122121222111112212112121112211212112121111212111122121122222222121121111111212121211222122122212112111121221122112111121111222121212122221212221122211121222112121212222222122212112111111222222112212212221111111112212212211112212222121222112111211222121211122211122211121121222122122211221111211211112212122122112221112222221111221121212211111222111122122121212112221211221121121111111222111122111122212212121211111221222212212122121121122211122212122211111221212221112211221121122121112112112122112221212111211111222122211221112111111121122212212212112111112222111112211211112111121112221111222222111211122222122112222211112221211111111211222222112122121122121121211111221121122121121111221211222222121122212121221221112122121222212212222222112121122211221211221111211212121222212211222112211212222112221112221212212212112212221212211221111121222222121222221211111211222111211121112211222221111122112111211211222221221211121111222121112122112121222112212221112122111122112112212212222211122222112221211121121111122121222221221122112112211112111212122111222121112212122211212111222211111221211121121111121212111222221111222211112211221121221112111111212211121111112112212112211212212112222221122221212211222111212121111122222222112121221122212121221111111222211221211121122212211112122212121212212122112111122111211212112222112212212121212122212112122122112122121211112122121212211212112112221122222212212111211121221212121121122221112121212221122211221112122222222122122121121222211112111122111111121212221212112121211122222121121112111122211222112212121112211211111121122221222111211111222222211222221222122122122212212122222121112112121122122112121211112221121221111122122122112212222112221222122112121122121112212222111112222112212222121222111122121212121221211112222112211211222111221112222222111121211222121222221222212221212222212221212211122211222121221221121221212211221221211112111221121121112122221112221121122211222121222111222222222121212222222111122111121111222122211222211221212211222122211222221221211121122211121122121121121112121221121121122211121221211112121211212111121212112122122222222221112112212112122111222211121221112221212221121211121121211212211212212222121212212222122222221121221111222222211221211212212222122112211221211221211121211121111112112222121222112221111212112222222211122122211112211112111212121122111222111222111122121112211122111112222112112122121221111212222121211111222221221212121221121222111222122111221121121111222212221211121111111221122212112111122111212222112212222221212112212122222211222122112211211111222121221121221122211112121112222122122211121221221122111222212122211122122111221222222222122221121122121212212122221112222212211211111121222211122221221112111121111211121112211111112111122221122222222222111121212222211212122122211211121211122222121211221112212112221212111122211121122211111122112221121222122221222212112211112111122222211211111212121222212121112212121121111212111221211112122221211222211122111111121112111111221111211222122121211212112211211221111111221121112111211121212222222212221112211122121121212222122222222221212112221212211222112222111112111121112111121122122122211112112122212122112211111211211221211211221211211212111112212122111221211221122212211212212111112111212211121212121111111121122121222111121112212111112111122121111222121212211221221222111121122112122212211122121212212122121121221122122111221222112212122212121222212211122222121211211211222212221211222212221111221211221212111112112111121122221222221221212122111211121222121211112111222211111122212111211211221212122112112211122112122221212222222221222121122211212221111121222211111211112112121111222212122212121222211222112221111222112221112111111211122222212122212122122112222122221211221112221121222111211111111121221212111212121122111121112221221221221121111212111122121121212111211122212212212122221121121111122111221221221222212211222221111112221222122122112111222212212222221221122121212211211221121121221211221221222112111121221122121212212112212121222212111221122122221112221212122211121212111222221122221111211112111221212122222212222211112221211121111111212222112212211221222222122121211222221221112212122222212112221211221211112122112222111212122112111222211122121212122211211121211121222221222221222211112211121221211221222212221111121121222122221111221112222111211112222112212212112112122122221122222111122212211212221122121211222122121212211211212221111221212212212222122112112212121211221221111211211112222211112212212222122212211122122112121121111211112212221222212112211211121122122222212211112222212112121212121212211121211222112121111222211222122211222212121111111221122222211221222212122222111121222112122122212122112211212221221122212122112221211221222222122211111121212121112121121221111121111122211212222211221211121112122222221111121122221212112222222112112121111211121221222221221121221121121111112121222211112222221212221111212112212212222222212122111122211111122112211211211122212212112221222212111121222112112122212111212112121112112212212112111112222212121112222111112211222111121121122112211122112121122111121211112221222212212211221212211221221112211222222211122121221122222212211221211111122112222212212211221112221221221212222121222212112122212222222221122121112111221221112222111122221221222111111112211221221122221221111112122211112222221122211222212121221112111112212212222221221222122112211112212111212111112111212222212121112222121122111112221221211121122111211121221111212111112121122122122121112122121222221112121122212111211121112221112111121221112112121212122121111221211222122112121112212212221111122222122121122222121222211221111222121121122222121112212222112111221122121112121112212112122222221211221112221111111112112221212111221122222211122111222112212221221221211212112211212121112121211112111211212222211111112112222122122222222222122121121221221221121111111121212121211211221112122222221211112121112222111211112112211121111211222112122122222122111221222222112122222222211222222211221211221222222211122122211222222112211122212222211121211212211121121122122112121111112121112121122212112222122112212222111222211122222111121221212121221122121211122121211222222211221122211211211121212111111211221121122111222122221121121121112111112112121122112122111111121112222111112122111211121122211111221221122121111112222221112211111221112212221222212111112222212212211211112112221121212222221121212112222211222121211111112112222211121121121111121221212111121122211121222111111121112121122212221212222221221211212111122211122222221212111211211212212112121222112111221221222211122121112111112221211221221111212221222112121112212211212122222112222221121212122212211222221121221122221221212222121122221222221221112112212112222111211111212111112212112221112222221222222222121212112221222212122122121212211121111122211122222221111122212121221222121122212122122121222212222221122121211121212112211122111212111122112221221211222111212222122222111221212121112121112222121121122121222111121122111222212112212222221112121212222221111122211211122122121222222122121211222221211112221222222122121222121212112222211122121211111111211221122221121211221111112111222222222122121212221212122221122222121221111112122212211122112221111222222111212121222121122221111211112212111112111121121111112111222121111121211112121212222122221111121212121112111112212121112122121121121211122112122221112111122121221211122222222112112112122222111221211122221121212111211211121212121211221212222111221211212122211111122222211121222212122221212112221222222122222221212222211222211221221221112221211121212112222121211121211121211211112122112122111112211112212211112212221211212211212211222111222222221121111111112121121111212221212221112122121221111122112222121111212121121221122221212112222221221111121221212111122121121111212212211112111212112222121222221112211221111212121111121112211212111121222122212112122111212222211221211121111222211222221112212112211122122221212122112211222111211112221122121121112211222111211211222211221212221122112211222122111121222112122122211221222221222222212121211121221121221222221222212122222111221212122111121121122112211112112222122122211112211222212222122111221112211212211111221122212122212121221212211221212222222221112121122211121221112122221111111121211121121112111211122211211112122112222111112122122222112222212122221212111212222222212221222122111222211221222112121222212211121122211122122222112222222111121122112121221212112122112221212122212121111212221122121112212122112112222211212111212212222111121122221212211212212111112221222111112122211211221212211112111111111112111121212121221221112112221212211222222112221112122211211122121111122221212111111112112111122222212222222211121121112212221122111112112221221211111121221112111111112211111221222121211211212222121111212212121111112212222121121112212112212222212221212212212212121212122221222221212222111111221121212121121121121211211111122211211211112111211221212211121122122212222221211112222122212121122112221221211111221222122221212122211212112112112112222221111222122111222221222112211121121221111121212122212112211111121222122121222212121212212122111112221221222212122122112111111122122211222121111222212221111121211112222112211122212211222121222221211211121212122122122121212211122121122212111221112222212222111222121222212212212211111112111112211111111222221111211221122112122122122121112221122111222212221121221122221221122212211211122111111212221212212122221121212111122111222121222221222221211112221222112112112112212121112112221111222112212211121211122221221222121212221112122111112212222112121212211122111122222112112211121212221122222222212222112121112122222121112121222212121122112221221221121121212111112221111121221222221121211111122221112211211112212111221111221121111222211112222212222112222211211112221222212211121211111222112121111221111111222111222122212221122212122211222211111111211111211121211111112121122222221112221121121211222211121221222121111111221211222112211211112112111111211212111121211122222211211121211111221121211222122121121212112211121122221122212221222112111111112212112121211211221122221122212212122121121211211222211122112122211211121222222121111112211211111212122121112122112112222111211111122122112112212111211122111221121221211111121111112121221221221222212212222212122112121111122212112222221112121122211221122221121121222221122221111212121121211212111221122122111221122121221222221122222212121122122111112211221222121222111222112111222221221211211221111112122222111111221122222211112111122112222211121211122121112211212111112111222222222122222222222211211121122211112122212121222122122222111112122112111111111211122122121112221211212222121111112121222112211211222221211211121222211121112222122111122121121122212212122111111221111222212111221221212122221112211211221122111122111211121121212211122222121111221111121112211221121222112112221221111221111211111222121212122112121111122121211122211211212112111221112112111112111121221221112121112211111212112212112111122212221122121111122121212121112111212212212111212121212121121221211111121221212112212111212121121211112222122221111112111221211211211112212112222221112212222121211121122122121121222111211121221222221211121211111211122112212111122111222222112111221211121222211211222222222221211121211111221122211212112111111122121221122121112122211221122111122222222121111212221111211222211211112112111212111122212221212222211211111111122212222122211111111112221121212112111222221121111212212212222221211211222122122122112211222222222121212112212121122221221111221221212222222111221112111212122112221221112112212222221112111221112221212211222212212212122111122221221221111122122121121112112111122112112121211111122212112122212211122221111111221121112121121121212111211111211221111121121111121111122212221121122112221212112122212111222121121221122111111212222111211122221122212222212212211221121222112121122112111111212212122121211121111222121212111212211121221122211112211112111122222121112111122222112122122112112112112112221121121212211211212111122222112212111121212222212121121222212222122111211211122211112112222111212122222212121111221222121212111121212111112111221112212121112112222211212211222212222112111211122221112121212121221211211212121221122211221111121221211221212212211212211221211121212221112222221221121212211221111121222211121221222221211212111221211211211221212212111121122111222222212111121222221111122112121211121211121121122111221212212112222111121112111111221221222211211111111222212222212111222121112222111221222221111122222111212112221222122212112222211121121212121211211211112112111122122122212111211122122122211221112122212221122112212221221212111211111112112211221121211112211221211221121211112121211112111211111112212221121212212212211222122121122211221222122122112221111121111221122111222122212111211121212111211112112121222111122212211112211122212121111211111212121121222212112221121211222121122112121221222212222112112112221222112111221212112121212121222221221112111121222221112122111121211111112122111221112222222112122121212222112122111121222211111111112222111111221222111122112221121212222122212212211222222222122221222111122221212122111122111222121122211222221112122122211211212122122211111122221221112121222212222122112122222112121222112222212212212122212111122221222211222222112112221221122122111211222211221211112212221122211111112112112212112221121121222122221212221212122111222222211121111212212112121212122222122112222112212212212212221211112212111212211212211221111112111212211221121112121221122112112212211222112121222121111221112221212221121221212121222222121222221111222222112122221121111121222211122221121121121122122211111111122112111121222121211122211222121222112212212212111122121222111211211121121111222121121121111212221222122211221221222111122221121221112212121122122112222211122112212212121121112221221221122212211222212121212221121221112222222211112111121211121112221112121221222212112121122121122121121121222211112222122222111121221211222221112122212112111222212221112212112122121112121222221122211112111212221212112122112112211121111111111112221221212121221121122111211222111221221211121122212121121211221211122222211221111221111222211211221222211121212222122222222122221211221211211112122221212212111112121211221212112122112221212122212212221211111111222222122222212221222111112122221221221212211111222112222112121211221122222122212221111122211112222121212122211222122112211122112122222212111212212112122111211212221211121121122211122211211112111121211121121112111221222211211211221211112212121211121122111222111222122122221112212211212111111221122121211122121111122222121212222112121221121112121122221121221221221121221212211121221212221212111122211112111112212222222122112121122111122122222112212121121112121222221112121121222121111221122111211212221212122111122111221111111212222121221222111122211112122222112122222122121222122122212211212121212111112211122222112112211222211112222122211221121211212112122221211222112122221121211222221112211112212211111111111221211222221112211211121212211122221221221212121222112212111212112221212221221112221112222221221122111111222221111221122111112221212122112221111211111111211221121121221222221221112211211121121221111121111111111221112222211222112222122121212111211122211221211122221221112122222112212122211121221121112111211222212221111111121211121212222121221112122222122121111221111211121212112122112211211122222222122221221212121122212211211222121211222112211112112121112222211122121112211111111111122222111122221212121121222212121121122221222211122112221122111122112222222121212121121122211122221221221222222212112111112221212111221122112111122221122111112211212112212111222211221222221111212111112122122122221221121222122111211111121212112222122212122212111121111222122122212122211112211122211212212122111212221212112111222221212122222221111112212222221212211212222221211221221112211211111111122121222212112111121121211122122112121222211222221112121212121122211212121222111222111121222112122111221221211121212221221112211222221221212111112122122221121222111122112222122221122111111112212211211111121111221211221122222122222211112211222211112121121121122212121111111211212212121212112122122121211211121221112221221211221221122212121211222221111221211112211212122221212111211122222222122221122112122112121211212112121121112121122122211221112111122211112122112112222121121222212121212221112122212112222111211111112221122222121112112112222112212211222221221211121122211121121222211111211121121121112222111112121212221121112111211112121222121122112211211122221221121222212112121212211122112112121222221222121212121111112211211121212122221121112111212112122111221211112212112222112221122122112211121121121212222221221112122221211222122212212112222122112111121121121211122221112121221212112112122121122211122121222221112211221211111111212121121112112122122121122211221121211122221121211222121111111222121111121212222122211111222111222211122112212122221112211112111121122111111221221121122222221212211212122112122122222211212122212222122122122112122221212222121211211111221221121122222222212212222121211122221222112221112211212121211211212221112111211111222222211121122122211211212221221121221112111122121212212112122211221211122222222221111121111222112122211212221211221221221222121111222121112111121112111121112112111112112112212122222112211112211221211112222121111111111212111121112221211212111221221121121122211222222211211211122211112122121221222211121211112212121211222112211111212111121212221212111111122211212222111211122221111121221121212122122121212221121211221212222121212122122212211222121121111122112221122121111212121212212112221111221222221121211122111221222222122112222122221211121222112222111122221212222222121121122111221122222211122121222112122122222222121221111221112121122111122122122112221222122212222111222211121221212222121222211212122111112112222111112122111211112222212121122212212222122111211112122221222211111222211112121111212222122221221122221221121221212121112122222121112221121222111122222211121112121121222121122212122221121121211211222222211111122111212211122222122112122221111222211122122112122122111111122111222122222221221122212112122221121122211222211211222121212121112222122212222222122211121121222121212111222122222122121121111122221221111111211122221121121111221122222211121121121211211221222111112211112222212222221112122221212112111221122111221112211222221212212212121211122222112211221211211221212212112121221221121122221112212122211222111221211112111122211112211121112222212122122221112222111112111212121222222112212121112112122112112121121222121211111122111111222122122121211221121222112211211212212212212122122112111221112112222221112211222211212221211212222221212121222211212112122212211222122211221112221221112111211222121222211121212121111222221112122211211221112222212111221121122121112211111212211221122221112122112222221122212222122121222111112111222222222222211111211212211212122121111121111212111111211122111212222111221211112121122122122222222122121111112212221222121221121221211222222222121221121122112212221121122211122122122112211221222212221112222121121212211112222222211212212212221111211221122121111121221212111112211122211211221222212221112121122221121111222112221211122111112112212222221212112221221122212222111212112211121112112212122222122211121121122122121221212121121212211222212122121122212111212212111122121222222222212112222212112121121221112122122111111121122112212112122112121121121211212221211211121222111221211121221211211122211122112212111212222211222221222121122221211121112121212111211222221112122211221122111111221221111122221121111122122111212112222112111111112122121212222112221222211122112212222212112221212122122121121211122211111122111211222212212112222111122121112121211122122112121221211222221222121211221121221121212221222211222121212211121212111211112122211222112211112111212122222112122211221121121212222122122211212122111211112111212221111211212111122221122111222111122122221122221122121111212221222121111221112112121112212222121111221222212212212111211221222111111112212112222211111111112212212222211122221222221121211122121122221112111111221112121221222121112212212221122111222212221122111221122211211122222121221221211121111111212211111112212111221211121111121121112211222122111222112212221111221112112222122111211121121222112112212212221121121112222122211212222111111212211222212212212221111211222121122211212121222122121112211122122212111111122212121212112121122122122121212211212112121121221212112112222111212121222211222122221212111122111112122111122112112222112122122121211212211122212221121221211122121112211121111121122122122222122211212211111112112222211212112111121111221211121211211111211212212211222222121121211111111122221112111122122211212221121121112221121111212122112111221212222222112222121111222121222221211222122121222121212121112212121211222112212111122211221112121221222211122121221122121211221212222121122111111221221121112222221111222222121211222212111111121122211212112212122122122121112212111121111222211211121212121111121221222211222211111211121112222212112112122122112211112122211221121212211222122122222121222212111122211221122121221122112211212221122122121212222222122121112111212212111222212112212211211112111122111211222122212122221221112212121111222222222122221222212121111212211111222212112212212221221122222111122111112221212111122211122221121121212111211111221122221211112111122211122211111221212212211222212221122211121211112111212211211212222212222121121111221111222222122122212121122221211221111212122121122121211211122221211112211222112111222211122112112112221221222111221111212221211122211222121211111122111221221212211112221122112121221222122222212112211121122221122122221212221211221122122112122222221112222122212121112211122111212111221221111122122222221222221122111112122112222222121212222221121122121211212222112222122221112211122122122211221211122122222111211211121121112111122211222221122211122211212111111211122121112212222212221122112111222221112222212211111112211221121112111211221121212221111222211211112122111111211221222211121212221212122211221111211111222112211221112221211211122222112112121111211112112122221111212212112121122222121112121222111211211212222111122121212212111121221121222211211222121221122111112111212212212221221111121112211221122121212221111212122112222112222122121111112211222112111221222112111122122121211112121111111212211122211221221222222122211111211111212221121221111112121121112211222112222121221221121221122121222222222221112212121222211222111122212111121212212122111222111212222111221111221111221222121221121222222111211211112122121221212212221111221221111222221222222122212121111111112211121122122221222212212212212211222211112122122211211211112221211122121222221111221122112112212211121221222122212221212111212211212122121212112111121122211122122221211121111112212211212121121212212222211212211121212121122211212212221112221221222211121112112112111122122222222212212212212122222122222112212122112212212122222222121211222111222221111212111211121211211221122221122212122221121112211222111111211221112122221212221121112112211122121222212212211222112212222111111112111112222122122122121212122112121121112122111211122221222211112122122111122112222112112121211111212112212122211111112211222221211212221122211112212222111111121112221111122222222121221122111221221211112121211212111211211121222222221212221121221121122111222122111122122212221112122211111121222112212111222121111212221121112222112121212221211111112122222221211112121222221222112122211222221222222212222211221122212112212112221212211121121221211212212112222212222122121212111211111121121121211211222211121121212221112221212211111212212112112221211211222222221111222122221222121112122222221122212111121112222122121122121112112121122221211121211112211121111212121222122112221111211121211211221111212222212121222221111112222211222112111111212211212121212121111121212112121222111122122121222222212122122221212111221211222112211212211121112122122111122121122212212221122111211221221121221122212212222122121111122221111222111112211222212212122221221122221121222211211212221122222221221221122211222222211212211111222211121221221221112112111121222211222122112221211122211111111122211221122212111221111211212112222212212211121211122111112212112211221122121112211122111121121222222212122212212112122212122222222111121111211122222212112221121112122211122221111121211111212211212122221121111212122211222111112222222122221121111111121212112222222122212212211121222112222111221221121111222222121112211222221121212222222212122112212122222211122122112121212122222121222212111122212221222112221111112211211112211222212221222222111112212211122211211221211112111122111221121222111222121222111111221112111222111211222111122111121121221212122221122112122211222212211211211121112112221112212112111112122222122112112221212222111112111111211122112211221112221122112122221111212222121222221112112211221222112211222212111121122121222212112111221122222121212222211111122122211222121111112212221212222211221111212122121122221122122122222121122212122212212221112111212221121222111111221122111111122122221122221122111111112212211122111122222112122221221121122121122112222121111111121122222111221221112111212111222222121112121211222211121221112221122212121222212222111122211122121122121111222122112112121221112111121112221122121221121122112121221122121111121111111222221212212212121112122222221212212112212111112122211122211212111212221221121212111112222121221111122212211122221221111222222212112212212212122122222112122222211222111212122211212111222111211121121122121221212112221111212121222112121222111111111112122221212221121121111121221121111112112221212111122121211212222112112221211122221111221111111112112112121222122111211212212211122122122111211221212221112121112111111212121212121221221211221212222212221112222212222212112121212221212112222112221112122221112122212221221221111111211111111221212212211121111111222122211221122221121111221112211111112122122222111111111111112222211211222221111122112222222112212121121111211112112112122221211121112122112121221222112222221222121211212212111111112121222221222111212122221221112121222112221222222221112122221121121222212211121112212111121212111211112111221221212122211121211111221121112211212121222212122122221212122212111222121112121212122112121221211212222122121111222122121222222211112212211212121111112222112221221111121122111121112111222211111211212221111111111222221112121111122112221112211112122112112111221212222122211211212211222111111212221212222122121111112222121211221221112212111222122212221122221211111112122111122211111121212112212222222211221211112111112212122121221221212121221111221211221212212111112212211111211112121121112111121121111212212211222222122221122112222121211112221222122212222122112111121221122212111211121122222212111212122112212212112222121111111112222121211111111222212122122112212222222112122111122221221112211212111111121222121111211221211212122121211112112122122111221211222222211212212122111122122121122111222112112112121221121221121112221122221211211211122221122211111222222212211212211111111211111112212112121212122212121121111212111211212212111211211211221212122222121121122112111122112222221112212212221212122221122211212221212222221221122121221122121121121111221121122121112111112211212111221112122221122212111222222221121122212212122211121211121212222122222211211111212211111112111222121211212212122212212221212122211211122121212121112112212211221211111221122121112222212111112112221222222211212111221222112212112222211121212111221111111122122222212121111212122121122121112212112212221212211121211111122122112112212111212121122111112212122112112122212212112111221112122212112212221121122112222112112122211122212111222212122222121212221122122211212122112122111122112112212121212122112222122212112212211222122121211121212211212112212111122111112112222211121111212112221221221122212221211221122212211211211211211121221112221111122112111221221222112222211222121122211221121121111112121111111221212211211111112212112111222211122211222222222121222211121222112221111212211112221212112111222122222211221222221111211211222111221121111112112112111111221221222211122122211221222122122122122211112221112222222122211122112222221222221212122121211222212212122121222211212211222121112222121212222222111222211222121212212221112211211211122121221112121212111212121222112222221221111222112222212122221212112221221112221221121111211112121212211221122121212222221111121121112222122211221122222111121221212211112221212221112111211221221222122211221122211122221222111212212111222211221222122222212111111212222212222211112222122212212211121221212222221211122221221211112112222212121121211122222211111122121211212211221112211212221211112221221111112212111112122221111221111111212221211112121121211221111121222111111222211111212111222112112121112122111122121122111212212221122112121221121221212211112121212121222221122212212122212122112222112111111121111212112221121212212111121211221212111112211112111221221122122212211211212122121112212122221122112111222212112212211212222221222112121211112122221211121222112121221122122222121112211212112111121212121122212111112122211221221122121112112112222222111122211122111122112212221111211111112222112211212111221211211211112121122212122112211211112112211111211122221222122122212111111211222122222112221221112222222122222112111222211221211112122222212211122122211222122222222121121211212211112111222112121221111212222211212121112211222221121222212222111212112222121211112221122121221121122212212121112212221121211211112122222112121222211111221212221211212222212112212222121122122211222111122122122121212222122121222121111112112112122112112111212212212212111121112222121121221221211222122111122121112112111212121221222211111212222212222111122211211111112212121122111122112121111122121211212211212112222222222112122211111212112112122121122122221211211112212111121222121222122111212211111111211211121221112111212112112222122121122122121112112222221211111122222112112221222222221221221122211212122122212212111111121221212112121211121222112112211112122212222112111122112122222112112121221122212211211211121211112111112212211211212211221211112112221111211122212211112222222112211211212211122212121221212222112222111211222112121222221121212112212222111122122222112111111111222211122221211122122111211221211112112212212221212212122121212121211211222221212211212112221111222222121212112122111221112221122122211112221122211221221221122211211122111112112112221221222222212122221112212221222121121111221122121111212221112221112211212211121221222212221111222221211222111222112211111222212212212221111122111211112212211221212221212212121121222212222122111212122221222111121121112212112222122121222112211211121222112222211222111122212111211112222111112112121121221212222122112222221221222112212222121221211212112212222112222121222221222212211111212121112122121212112112121121112111121222121222111122211211121212111222122211221222212111222112222112111121211222111111122221122212112221122121111221221212122222121122112222211221112111211122212111211221212222212212221212122121111111122121221222222211112112212111221111121221121222122212212121211111112121221211221211222222212112112112111221222221121222111211211211111211221122221112221221121122211112212221222122222222111121221221211211212121222121211111122221111111221111212111222212122112112111221122112212112221111222122211212112112212121222212211111221212222121222121222111211122111111122122112121222122121122221122221222211221211212211112112212121222112221211221111121212212121211222222111211222111222121211122121212212212221221122112221212211121212122211212211112221122211121111211221122121222222221112212112211111211212122112111111221222122221111112122121222121221221222112121112221112121122211121122111211112221121122211121221112111212121111221121112112122221121112112111211211211211122111112122211212122221221121122222111122121212122122111212221212221221222121111221111112222111212221112111212121221222112222221112212211121212212121221211222222122121211112212111222212221222221111121111112111122212112211111221222222111111121111121212121211221111112212112211112221122112211222212122211122112222122111222111121222212112222111211221222112111222222111112111221222222122122212211221211212121222222112122211111211211122221112121111211122221121112111121111211212221121222212212221211112212222221122222222221221222112121222121221122211121121111111221111212111112111222121221221212111222121122112121111211111222221122112122112212112111211222112122221211121221121211212121221122122222122212121112122222112121212112122211112122111221122222222112121112221222111112111111121111212212111111112112112221221121112221212221111211112211222222121121111222222222122222112222221122121211121221222122122211211222211112212222222121111211211112222121212221211212211121111212122222112122121212222212211222122221121211121121221122211221211122212112111221121212221212112121222212121221111121211222211122112112122222112212221212212111212122122111121221221221121122112121112211212122211122122222212112122112211221221211112222221111121122121121122221221111121212112211212222222221211211121212111112211121121211212222212211222111222211221221221212222122222122211211211122121122122222221211122111221212212112121222221111122122121222122121121212211222112111211212221211211222212222221111211212221211222222221222122111212111121212122212111211221111221221221121221221122121121112221221111111211212121121121122222221121111121111121221212221112112211222222121112212111121222121221111112221121112221222222121211212122121122222211212122111221122212221111112222111121121211212121212112112121211121211112122222121212111111222212222112212111122112211221112112222121121122221222211222111122221221221221111221122111112211122211221212122212111112121222122112112212211222212211212222122112211111211121212211221121211121212222111122122122212121211222212121212112121121212222212212112122112122112112221221221212212122111222121112221211211222211122211111121112112112112112121211222112221111222112121121112222121212221212221111222111222121222121212122122222121121112211112121122212211111112112122111211212211122211122122212111112112111212111112111111211121221212122221211211111121221211111211111221112211111212112211112111212222121112121212222221211122111111122221211222122121122121122212221221222112122211212222211211212221111111221212212121112121112121122121222112221121211212222112111222221211112212122112222112112122211111221211211122122111211222212112111211122211111221221122111221122121122121112121122212222121211112121112212121212121121211112212122121111122211221111212112212212222111121111212122222221111121222122212122221111222122221122111222211221211212111222222122221211122211122212222221111121122222212122111212111212212112211112212222222212222221211112112122222221212221222221112111211122121112212212111112222211212212222221111212212211221111221112212112121212221211212111111111211122221122112211111121211121122222221111211112111211222111121112122122122121111112212111121121121122112112112112121121112221121111222211212111212211112112111112212112111211112211112222112212122121122221212122221211112221122112122112111222121121121211221221221212211112112212112111121221211121122112121222111221212211212111112211112212211112212122221222112221211112111122111121221121122111121212121111111111112212122221211112111112222212112222221221121212111211111112122111212222121122211112212112112121211111112111222212112111221112111212112112212121211211111112212222111122222112211221111121211222211211112222222111211221121212222222111121111122222221212111111212121112121221122121212221121222111111111222121121211211221111121122122111112122212212122122122212122221212121112222122111221221111122221212111121122211222211121121121212211122121222111212211212221122121211111222112222122212222112222111221112211121212121212111121121221211121112121211221221222211222211212122221222122111121211112121122111222111222112122122112111212112212112211222111121221112222222222111121112122112212122112221111122111212211121112122221221111122211121221221112211122221211221121221221112211222221211212122112212111211112221121121212112121212112211112121112222111222212211121122111222121121121112112111211122212212222121222121211121122122122222212211111212121222222121221111121112112111122112221211112112121221122122212221122111111221212122121121221111211211112221122212112111111112121211111221112122221111222121112122111121222222212222111211111122222122211121112122121221222222122111111111112221211222212122122121221122211121122122221121221121222121221111112112111122221122121121121221121222212122121211111222211122111121211222222111122121111122221121211121112112211222222112111121111112211212212211212122222222121122222212121121112112121221121211112121112211212122111121221221112121222122212122222111212112221111111212212221212121212211111211222122222112222111211221221111222122112221212112211122212122211211212221122221122212211212221212111212212112211111112222211122121212121111121112121222112222122112221121112112212212112121212121111112211211221121122111111211122212111121212221222222212121111111211122121212212121221122111121122212211212211221122222121121112121111121122221121111121211112212221221211212121221212221212122211122212112212221122112212122122121211221122111121222222221211121111112111221112212111211112111212111222111221121212112221212121211212212121122221222111222121212211222212222111221211212212221121121112221121221121121122222212111221212111111111122111222122111121112111122121121111221212112222212211112111221111121211121122121212221121212122121212221212111212112112112222211121221112111211211111212112212212212121211222222221111211122121122212111221122211111111211221112112222111111122112112211222222221121211212122112222122221222211111121112211222112122112112121112121211111111111111221211221222112121111222121121121211211221122121211112211211222222112121211111222222212122211122122111211221122122121221221122211112212222121121222112212112221221111222111111212212212212212221221211122211121221121221221211211221121122112121112121211122211121212122211212221212121221112221221211112122111111121212112221112112112222111221121222112122121122212222212121212222222221121212111121222211212111122211212221121122221122122211112112221222212221222221112112122212211211112212121122121112121111221112212212111111122121111212222111221221122111112122121221222122112222121212111222211222112212212212211221212122122112211122121121111122121121222121221221212122122222212121212122111112112111222222112122222222222211211222221211112122121221212212222221122211121112221122212222122111121121121122212212221112221121121221221212212121222211121211112211121111222221212111121222122122112222212212221122112221211111112222212111122212222122112122112222112221221111111221222221222112111211122111211122111111121211211112221212211212221212212221121212112212211222112122122221222211221121111211222111111111112222212122122222111122121122122121211221212112221212222211212112112111211212112212222222222121221212212111112211221112121122121211121111112121121222121221221121112222211211221212121112222122112221121211121212211122112122121122222112121212211212122122212122112112121122212211111222221122211222112221212121112121222111212212221222111212121112212111212121212222221211222212122221121121121121121222112111212222222121212112111221221112121221111221111221111222221212211212211111212122111222121211211121111122112222222111221122112211112122212221221122111222111121121212221122221122221111212212221211222211122211222111122111222121221112111221212221221211222221121111221121222222211122111222212222122122212221111122212212121111211222111221111122211212112222211111111111112211121112212222112212121121211112221222222121211222222211122111211212122211221222212111121222111122112122111112212211121221122122211112222212112121111221222122122121212221111212221122122221221121111112211221212112221221221112122211222122111222222211111122221121222122111212211111122112111112222112112221211212112112221112222111112221212222112221111222211111221221212211112222211121111211212121221111222112112111122122122121221221211221212122221112112121211212122122121211121222111121222121121112211122122211211211212111111111222212112122121211111112111121222121212211212222122222112222121222221122112121212121121222211112221211121222111211122211211111111121112122221222122122221122112211211222221122112211112111122112221221212211222222121212112221211221122222211121122121122222112122111221222221222121121212112121122121111121221221212121221212122222212211211211222121111221221222121222212112121221211111111111121211221212211122211211212111221212222112211121211221112211212111112121222111111122112211221221212121111222122212122111112121121112112211212212222121111212111222122121221122222111222122111222122111211111112212111112121222222111121212212112221112112111222222111112122211211121211122221222112111111112222122211222111111221222211212111122222112212221112222111222221211111121121112121112212222122222121112211121121122212111121211122221222222212122112111221121211211112121222121122222122121112211211222221221122221222222122222121111122211122122111112122122221122222111112121221112121121112211122122212222112121222212221212112122112212222221221122112221221222121221112122111221112222122111122221112112121112221122221212221212121112211212112222122111212112221121122112121112222121112111122212221111222121111112211121222111212122211222211122112212221112212212222111221211121211112211221222222211221112212211121212221221112211112121211211212212111211212112212212122211211222212122211121212111122111222122221211222112122211111122221211122121121122221111121121112112111211122221222211121121211221122122111222111122112122111112121112222221212122111211212112112212121112211212212221221112121222221212221111121112212212111221112222222111121111112121111121111222122112112111111221111211212211212221211221221122111122121211121112112112212121111221121212221121121221212221121221112221122112111121121122111221121122211111221211112221111121222211121211222212111121112122222212222212111111221112212222112122121121122221222112122212222211122222211112212121221121112121121221122222121111111212111211121212211112222111111122212112122212212211122111111111212221221222221221212111221112211222211222121111111221111212212112121122222221212111211111111112221212112221121112222121211222122212211222121222122222121221212211222112211222212211221221121212111222111221111121122222211212211112221211111211112221112111221121222112211211212121112121222211212112211111122211222111112112221111121112111221211221112121111222222212122111211112111121121111121222122212212221121212111111222111212111121221112111112121111112212111212222111211122221121122212211112221212221122122112111211212111212112112122221222222112221211222111221122221221111112121111121121212222111111111112121112111212222121122221112111211111221112222122222221211121211221122211122111211112111222211222212121211111221111221211121112211222222121121211122212111121112212221221112122212122222121111222121111222212212111222221122212122121122222111222121221111211211221211122222211211221211222112221121211111212222222112212121222222212111121112111221112121211212211121212212111222121122222221112212111112212222211222212222111112222221121221111221121212212211221211211111111111121222111121122112121222222121121221222212111211121121122222222112222222121111111212112211122122122112111112211211212111221222122211212211122111111112211212212111221111212211212111112212221122221112222111222212221121112122112121112112211122221211221111122122121111112111121212222112121211112221221222222221121121121122221121121222121122211122111112212122221211122122221121121122112111212112121212121212121121221111222112222222122222211112212112122112121112122122111111211212121211211122121112112112111221121122221212212112112222122221211111111212221211222111221211211222222221111122111212211111221221212211211111112212111212122221211211222121112111211112222111111111222121212112212122111122221112222111122122111111221111122221211122122211212112222112122121112212222112221221112112122222222212211121121212222222121112221122222111111222121222212111112112112111112212122121122222212112211211211221212221212122112211122111122121222122212222221211211121122211112121211211122112211221122212221121111122112212212212222222211221111121222211222112221221212211221112221222221212121222212221111111121122121111221122221122121221112221221121211111111221221122212222222112211112222212211112222111212221122222111221211211212221221111222122122212111222121121121111121211222222211211111111111222211222122211112112121122211222222122221121222221111112112222221221121221122221122121222221221112122111221222222221111121121121122112122122221221221111212122122221122222222211112122112111121221222121112212122222212222211211121112221122212212121211112212122221212212111222211122122211112112212112121111111121111222122112121122121122121211111222112122212121111112121112212122222111212212212112111121212111112211112122221222221121212111122212111212112112111211121122121221111111122122122111121212222212121221212211122211222211222111212122112122112121211111212211122112111211212211121212112221211212221222121112211222112111122121221212121222211221112211112212111121121122112221211211121222212122212122111111212221212121211222122211111221221122221112112112122212111212211212212122212121211112111221121112121121121112211222111221212222122222111211122112122122222212212122112212221221211221222222222212122221112121122211111212211121111211112111212121222122122121121211111221211121121112112211221212222212112222122211121222221121222211111211111212211112111122122111222221211222212211212121222221211211121212121111221211222111211112211121212221221111121212112222121122212122222211121211212111211112222112111111112111121212211221122121212122212122122111111122111221221112122112222111221112112212211212121111121222112211111122121122212112122121121121212221211122211122222121111212222222212211221212121221221221221122222122221222222221112221122221121111122111221121122121122121121111122121221112122222112211222221112222222122122121111112111211221212222112111212121121112121222111111112112111122111212211211111122211222122211222112211211222111211221121122222122121221122111121221122121211211212121222111212211121122212122122212112121222111112111221111122122111122211222211221211111221111212212222112221122122211121222111212112212122211111221121121221211112112221211122221222221112122122212211221221222222122212122122121111221122212122121111111211122111111211111221112212211122122122112222112211221212121221121212211222121222122222221111121111121122211122222111122212112222111111211121111211122122122221212211222211122112222221212111221221221222212122112221221221122221111121111122121221212121111111221111111112122222211211221212212111212221122212122121222222121212111222222112111211212112122221221212122212122112121222122122221111111112212221112212212221111221122212221221121122121122222111212111121221111222121222211221222221222211121121111121212121222211121211221211211111222111211111121222212121121212122211222222212212211221122221211212222121212211212112111112112221222122212222122222112121222222212112112122122112221222122112121112211111122211112122121221212112221112111222121211212112111222221121111211222221122222112121211222221222212122111222222122121112121112212121111212212211222121122212111211122112221111112222221122121122211212121222212122111221211221122122211211222222221221212122122211211212212121222121222211212122121211112121112112212111211112211112211122222121212121212212121212212122122121222222222111122121122222222212111122112112211221122211121112212222111211112122221112221121212122221221111121122222221121111212221221122112112221121121211222122121222212112222222211122212122112211212111221121112111221212212112212211122112211122221212222221221212121121112111111112212121211221221121121112221111112121111211222212112111222221111211122111222221111221212212211112121122111112211211122121112112122122112222222112222122121122221111121211111221222211112121222111122122221222121121112211122222111111212211112111211112112112212222121111121212221222111112122211222122212222221212121222211211122111122122211122112222121211222212122111121122122111221122222111121212122222121112211121111121212111212222221211111222112222111222121122112221121112112121122112111112122112212122222222222212122211122212222122121222222122212222122111222222211111112221222111212221112122212221221122211122122111122111212112221211221112122111111121111112122112212111121121111112221111112222111221122112121222121222121212221121122211211121212122112212111221222111121121222211212122111222211112122122111111112221222121122212112222122211212112122122122222221211122211112211111212211221222212211221122211112222222111211111211221212121212121221111122111112211112112222111112122211222111212221212121111222211212221221222222112221211112222111212222112211121221212122222222111111211222222121112111221111111212111111222121211221121122212111112112221222112212222111211221221211222222122212212121111222211222211222222111221111212112211122221121122212211121122111222221122222112122212121122111122112211222211212121121212121112221221222222211222121111122122111122211211111221222212221112111221221121122111121122111212112221212112221221122111121222111112111121211212121111112222122212111122222221122121212111221222121122112111211211211121222211112121122221212222121211112111111222221111211211212121222221221212111121222111121111111112121121221122111211222222121121112111211221211122221212111121111122212211112221212222211221221211121212112121121112122221211221111211212221211222121122122112212211222121122212211111112111121121222222211111212222222111221211221222212122222122111111212211122112211112211111121122111211121112122212111221221112222122111112222222122222121121221212222211122112221112211122211221221222111211212112212121111112222211211222112212212211222111221222121222221121222212221121212211121222112221212122112112121212121111111212221112212222221112221221111111111222211212122112111111222211212222121121111212121221212221212221211222122111212221112121212221222222122111221122212111121122221121221121212222221111122111212112121212221212111212112222211212112112122111211111211122122212212111111122222212112221221121221222122121122222211122221111111111221121222112112222212211222111222122222212122222212111122112211111221211121212211112211221122122222211212121111121111122122221112121122222221111122122112112122122121112222221121122111212222112112122222112211211222122121121221212122221121222212112121111212212221121122222112222112121121111112121122122211112121121212211121222221122211111221112122211211122212112212122122111221221122221111121221212112212122122122222121221212212221122212212122221121112211121121111221221222122121222222221221111221211122122111121122212212211211212221221121222222121222222111222212212221212112222111121211122122121211122121122112222212122112211211122221221112222122222221111111221222112121212121122121212122121221212211211121122211211211121111112211222222111111221222111121221222211221221111222222211122121222212121212221212112211111212112212222122122212212221212111222111121112111121121112121122112112211211112211122111111111112211111122112121111222222111212112221112122111122221222211222211121112121122212122212112111112121211222211122122111221222111112112222121222221122112222112112211122111222111221211112221211212222222221111211121211212112211111221121111221222212112112112211112211211221121112211222121112211221112212221222212112112211222222211222212121222112112111121212121211111212222121221122122211121212212112111111121112212222222112221112121221111121122112222111122222111121212111122112121211112121211222112112211112111222121222111111212121111111122122112212122221211211211221111112212112212221111211221122221111122121112211112121121211112122112111221212211221211121211212112122122212211221212212211221121111121221212221211121111211211211221211221112121111111222211212222111111122121112122221122212212122112122221111121112122222111121121221211211112212212112211221121212122221111222211211221112112121222112122112221111111211121121112112221122222122112221122122112222212211112222221122222211111112212122122221111221212221222212121111211221122222222211122221111222112222121122211121221112112121222122122122212111211212221112211112121211212122111121222121222221111122211112212221221122111111211221221121222121211212211221121111221211122121212221112221211211211222212112211222112221112121211222212111211211212222111211222211121121122122112222121211111112121121121212121221112112121122121122222112211211111221112111212212211211222121222221212112112221112221121211212211211222212211221211221221211222222121211122111121112211121121222221211122212221112212212122121211121221122111121121211211122211121212211111221122221121111211222212112212222222222111111211112121121111121112211121222211222221112221122111212112122111221212112222221122211121211212221122121212222212122211122122112122112221212211212121122112121111221212111122121222122111212212212122212211112211221212221112122222221222222212112112111212222221222222111212121122212221212111112111221112212121211111211222112122111222122222211121112222211112212121112112211111121222122122112112122111221212211211211112122221111112111211211222221122221111211211222111211112222111111121221212221122211122121222121222112222222222112222111122112212212212112222212221121121112121122122111222221112121211222112111121121111112112122221221122212112112121221212121121222212212122111211112121211111222212111211111111111112222121211222212111111122122222122111121112111111221121121211221222222221212112111212211222111112212212111121121212211211212221112221221121212211122121112122111211222211111112222122121112111111211121122221121111221211211112211121222222212111111112121211122122211211112212212112111121222112122221211211112112122112211112122221122222212211121111122222122111211222111112222221111122221212122122121222111122221112221121221122221211211122221121222112111111112222212222211122122221221112211211111221122112111212122121211122112221221221211211122121212122211212212112111111112212211112222222112112221211112221111212112121112122112122212112222221122212112222121111122211222112111222221112222221211122121121111222112222222112112222212212121222122111222221211221122211221211121121222212111221221222221212111112111122211222211212212111122112222222211122212121222111211112121212111221111222222111211112121121211221122122221122212122122211121212212221112121221222221221121112121222221211112111222111221122221121221221111212221221212222222112222221222222112112221112112211211221112121111112111211211212111212212122222111122111122221211122122122211112112121111111212122212222212122222121121112121221121122212112112211222121212111111221222211221111212212111212221212221121212121121211211122212112221211212222121122211211211112121121221112212221112112112211121222212111112211222121221211121122222121212222211222221121112222221122211122112112111122212211111121122121111211222121212121211221221222211222212111122212112112121221112112211212111111211112211212222121112122222211122211111222221122122222221112212222222211212121122211212121212111222112111211222122122222121122222222211221121212112122222211212211111212111212221211212221121212121221112211121222121121112212221211221221111121111122121212221222111121112112111112211222221212222211211221211221121221121111121221221112222222212222221111111121212121122122222122121212212221211222212121121122112121211222112222122112112111112112111112212221221111222222221112121112222222222122111222222111222211221112121112212221121111221211111112111111221221222222111121222112122222112122111111211122212112112122111112111111111211222212111121212221211122112121222122111221212112121221111211212211112222222112222222211111221212212222111211211222111221111122221111121111111212122222112121212211122121111222222211111221221111221122111221112111212221221111211211112222122112211221111111222221212122121121122122112122121122122121122122221122122122212121221112222112212122221212222212122111221212222211221121122211212212222212221222212121121111111211222112122121112122111111112122211111122112211121112212212211212121221112212122222122221222111111212221121112121221122211221221111212221121112212112212111222122221212221112112222211112112212222112211122212221211122111111112222122111222112222211212112222122121211111222211211211122222222211212212212122222111112121122111211212112221111212112111122112222221122211111121211211111111122111122121111222221121122122122121121212221222211122121211211112112221111112112221111211212111121122111112111211211112222211222221112221222121112121122112212111112122212121212111212211211122121221111121212122122222221112221112122111211121111122222111122222122121222211221112221111112121112111122211112112111221121111211211122112212112112112111221112122112111111111121211111221211212122112211122122121211122211112112111221222211211112111111211122222112111112221112211212222212221121222211122222112112212112111222222221222111111222111211122122121211221112121221122122111111212221222121111111121112211211111212211112221222211122222122221222211212222121112122111121211211121112222211222212121221121212111111211212111211121121122112112221112112221112121212212111112212111112122111221212121211111212121222122211112221221122211111221221211122212122221121221221221221121211111111121122111221222222211122222212211212112211211211212212212221222221121211221211122121212112211122211122121121222212111121121121221111212112221122212121111211221212221111221222111112121112211222221212111221222211212212221111121211121121222221112212111112211211112121212111212212222121221121211212111111211212212121221222112112111122212212122211211221112212121222211112111211122121222122221111211121122112222111121221121222222222211121212211211211121212221121221122212211122121211212111112222112122221212121112211111221221111211211211212121211212122111211121212111222222222212112122111222122222112112222121221222222211211111111111121111212111121212212122211212222212212122222112222111112121211111221112111112112211111212121212111112222222222112221112212222211221211222221111122211112122212222212222212112122222221122122221122122211122121221122121221112212222221221112222211111122112211212221121221112121212211222122211221121121122122211221222212112211121211111112222221122122111211121121111222221212221212112212212221112122121212121211121211222111211112222111122121111121221122211122121221122211212222222111112111221212122222211111121112222112221122121222211221112122121221111212222112211221222112122221212211221111212112122212112211112221112111121112221221211212121121112121221111222112112221211222221211121122211221221211112121212112122212211111122222121122222111122212211221112112221112222122112112122212121112122222121121112121212211112211221122222122221222121212122111222212121212212212221112111121222221212221221111222221211211211121221112211222222212111212121212111121112211212112221122121112212222211212121121212211212122221112112111212212211121211121212221211111121211221111111221112212212122121212111211112212212112111221112112211111122211121111211221122212111122112122121212122112112122222211211122122221212111112221222111221212112221222212122211222221111221121221212212222112221121212211222222121111211211111221222211111221121212212122222221122121212222221211111222221212211221111221112212212122222221122112221222212122221112211221211211222122111211212111111111112111212122112112111221221221222111111111111121211111122222112222212121111112112112112121211211122212222122111212111211222112221211222111122222121112112211222221222211211112212112222221221111221221211111112111221121112122222111112122111111112222122221112212122112121211212121121122222121122212111122211221222212121122121221222121122212222111211211111221121121121211222121211111222222211122221211122221111212112112112122121212121221211112221221112112211222122221111111121222111112122212121212211212122222212221111212211212122212121221211222111222212211122212112212121221111221111222222112111111221211111212121221112122121222112112121111122111222212211221222121212121112222111221222211111112121211212212212121221111211212222221112211221112211212121221121112111212112112121211121211211212121221111122212212111111222211211122221121122121122211112111211221211111111221122212112222222221111112221211222221222212212211222211212222211121221112222212212122221221212121111211112111221122221211221122212221211212211212211111212122121122122212112112122111112221212211122222112211221211212122122212111122122222111211222222111112222111122211211212122212211211111221111211112122111112222212221122122112112121211212111221222222121211212211121211122221122222111112211221211221112212222212121112112212211211121222222222212212211122111122221122221211221111221222221122222221112111222211222212212221112221211122121221211111111112211222111122111211211212122211121121121122222111121211111111111211121222122222221221211122221221121221111122121221212111112221121112121112112112221222211121121111111222221111111221112211121221221111111121222111221222111211111122121222211121111121212222222122112112121221121212222222122221111111221111111121122212121222112122111212121211122111122222111121222111122212122221211121122122112212212121111211212211211211221212221221121222112112222222111221111211222111212112222212211222122111221112222112111122211122111122122122212122112221122121222111111211111121121211112112212212122122222211212212112212221212121222121112122111121122111111221112222222111122112121222111112222211211112112212111121122122212222211222222122222122222221222211112211222111121122122221212212221211122112122111112112221111211111122121211211221111211111211211111212122111211211112112221111111221212222122221211211222222221122112122212122222212211122122221221221122121222212222122121222211121222212222211221122222122211111212111222121221221112211222112212122212122211222112212221112212112122111121111211121222211111221212111122122212212111122212112121111211121122122111111212211112112221121221211111111212221222122221211121221111111112111111222222221211112222222211121122211121111222112121212212212121211121122112111212221112121221121212112222221111111121112111222112112211211121221221222121211121221211221112221221111112222222221112212222212122211221121112111211212112221112121121221121111122222221222111221111112121121112221112111222211211221212212112211221222211222121211121122211211211221212122122121111212121212222211221121121122111211111221111121221111221212122212121212112211211211122122221111221112211121111111122121222212122112222121222121121112222211211221112111212221221221111211222222122121112221111122112221112211212121122112112212222111121111122222222221111211122122111122111221212112121211121221112111222212212212112111112112221212121121111122112212111112112122122111221112211122122212222111121211112121222221121122121122111122121222121112221112112222211222122111222121222212111122221122211212221121221112111211221211221211212122222222221111121222111121111211211122222121212121211111111111222221221122111121221111212211211222112211212222122112221212221121122212121111211212121222221222222111121122121222222111111211112112111121212211112112222121121211222211121221122122211222222221112221212121121221112112211121122121111112112222212211221112222221122221212221212222212112221121121222121222222122211211121111122111111112221222121222121111112221121211222222212111221121122122212221111111221122121112111112221121112221122121112211121121121221121211212122122212221221212121112222112211211212121121221211122111211122112221212221212112121222122111212212112121221221222121222221121121222111121222211211221112111221112211112212221111111112211222211212222221211121121212211211122212121112111212112111111212212112111222221122211221211222112112121221111112221222112111111111212212211211211222211112212211122121212121122222111211122121211121121211111212121222112221111122111121221122121221212221122121221212221121222111212222111221122122222221221112122121221122112121122222111211212222211212211121122211111211122121221122221221212122221121111212122211121222122212112121211212221111121122121111121221212221211222222121112211122212221222112222111121222222221111222221211111122112222222111121211112212212121212122122222121112112112111212221211212121222121122122111111211112111112111222122222121122212111112111222111222121122112222122211121122121122122112222221111222222221211112122212211111122112122122221222211112121221221221211212122212111221211212122212112121111111222222222221221221122112112221112221111222211211112221222221112111212222122121221112122121111222212211121121122122121222111212211122111122121121211221222212212121122111212212112122111121122222212212212122221122121112122212211111112221112111222211121111112211212212221212221212212222222221211212122121121111211221211111122122221211211212222222222122211111111112221121212212111221211111121122222112222121222222112211112112221221111212122221112222221222222112122221111222211211111111111112121222122121122222122111221211211111211211121221111111211222211121111122112122112221111121112211111122111122121111112121122122112122211221121121112121121212222212221221212112211111112222212221211222122122221221111111111222211222211122221121122211211222211111222111212111222212122111111222212222222122221121111211222221211112112122211112121221221222121212111222221212211221212112121121122211111211112112122122212222111211121122212121211212122211122112212112212222122111211221212121111121211121111122111122212122122121212121221221221122121112222111111222212221211212122212112212222211112122221221121112211122112222221212111121211122122122212211221121222211112121221122122111122221122112222222121212211222111121112111111211211221122111122222111111222212212211121222111112211222222211212212122211221211212221121221121212222112222111221211112112211211111121111111221211122211212221211112221221211222212121111121222121222121211111121221221211122112212221121222121122211221122221112111212222112112212121122111222112122112211212122111212221122112212212221211121212112111112121122121212112112222211212111212111211212212111222122222212211111122122212222122122121121121222211122222221112121222121111112112212112122121121121211112112221121121221121212112111212121211222121212211112222121211121221221121211121211222211222122212112221211111111121222221111212121211212222212211121211111112222122221222211111122112211122212211121212221111111111211121221212121121111122221211221122112212121111122111122211122211212211221121122222211222222211222211221211222211212111222211112221112211121211112112122121222122112122222122121212121122112111111211122221222221211221212221221221111122122121121221222111121212122212122122112112222111222222212112222121112211212112111212221211221111111222122211112222112212111121221211212111212211111212212221212212121222222112222121222122111112222112212122122121122221222111111111122211112122111121212212221112111221121122212222222211212112122222211211112211122111121212211212211122221221211222221222212122212122212122212111111112221122122112122111211212212121221111111211121212221111111111211121122112211111211212211122211222122222121121122112111221111222222211122222112121122222111212222211121222121112122212121111211212222111112221211121211122222221122212211112122212211121122211221221222111221221222221122212122112122121112221112221212111221222122122222221111121121111122112122221121222112112221212212212111211122112222121122221222222121212221112122221121211212211221122222222221111211112111221112121221122211122222212211212111211121121222112111212211112211112121212121112221112122221111211222212221111221212211112121122222211212111122221211121211211121211121121111212221211122222112211111211111221122112122222211221211211222212211211111211121212222111221122121111212122221122221111111112211222122221112212112212221222221121112112222111122212222111222122122222221221222221122121212111222211122122122112112222111112121122212122211221111111221112212212121212222121211211111111221121222122221211121112221222211112111211222122211212112112211212112121222211221221111112211212112121111222121211122212221112221122121112111221212121112122111122212212111111222212211122211122212111211211111111121222211122222211212211122222212121112112212211221121122221211112111211111212222111112212222222111122212122111211122122111112212221221211212221121221122221122122112111212122211111112121211212222112111212112222111212221111211122112222111121211121112211211221221112111112122212122212122121112212211122112221111211211222212212211211122112122121212122121121112111222111212112111221112112121111212122221212121211212222221111121221122121112112222222111112212112212121111222211221212121111112222111221111221112122121222211111212112222122112221121222121212222112212212122122211111122212222211122222112121111122222211211212221212111111122122221212221122212212121212221121122111221211222111212121111212122222121222122112222211211121111111212122222121212211222111221112222211212212221212121121112212222111222221121222211111112212212211121211111122112211122121212221222111121112212122122212212222212212121211222222211221211122221122122111211121211212212221111112122111112211122221111212112111122211222222112211222221121222211212211121112121112211222121222211111212222222222122211221211212222211111222121212211222122111222211111111222111112222222111212112221211121111121211222111121212111221221211122112212221111211122212212111211221222222111211211212222122122111222122211121122111121221111121211121111111121212222222112212212122222222112112212111211211211122111222221112212122212121222121221222122211122222222112111212211221122122212211222121121212122211121211112111121112222221122122211121211112212222221211211212122121211212211112121222221222212222212222221211221122221212112222122212211212111222212221121112112211211221121111221122222222111112112212121121112212222212122122222212211121122221112121112112112112212212211121111111222221211211112212111111221211222122111112111112221112221111212222221122212121112111211211122212111222212222221211122122112211121111122221122211112121212122122221112221212121222112221122112112212211211121121221111222122121211111221222112222211211111212111222122122121212121212112111121121112211212121122212221122121211121122121221111222121111122222211112112212111222211112221122222122112122121122222212222212122121212112122211111211112221212222122121121222112112112222221122122122122221121221121222211221221212111122121211112221222111111212111122122221112122222112121212212122222212112111121221222111112122221121222122212211211222222111222122221221111111221112212112121112211222222111121211112221221112212112222221222212211111221221221222111121112211222212122222212221111221111212111211211121111211221112121212121121221121111111122111212222111212112221221111221212221112222221122211112121221221111111111211212121111111122211122211122122211122111211122122221122122121121111122121122122111212222112222112211111221222212221122221221221221211112112121221211222112211222112211221122212211121212111221212211121221222121212211212112212222121122222212122221222111222121221221211111121212222211112111122221122121211121221221112222212112222122122211111222212221211112121121211122221112121222112212222212211221121222112122222212121122112111112222121112222111112212111122112112212211221112212221212222221121212222211122111221121212121122121211221212222221212221211122122111112121211122222121221221111221112112222222111212212112121222221211212122122222212112222211121221222212121121212121112122122111221112212121222122212111212111211121212221111221212111212122122221212111221221112212221222222121122121121122221211112112211111211112212221211221111111211211112212122221112111121212222121211212121122111211212222211111121112221112111211211122221221211212112212122212122112212121212122221122222222211122121221221112221121211121121121112221212112112121221211121212222121222222212222112111211121112121121221121121111212112221221221111211122112112122112121212221222212221122212122122212221112222112211222121222212121121111212112211221212111222211122112112112111112221211221212211121211111211122211212212222112212122222221222221211122212121122121112121111122211221122212111112111121212211221221222112211212112121212122221112222212211121111221111122122211122212221212222112112222222212221121222111211122221112212222212121211122212221222212221222112211122112121121211222212121111112112222211212122122222122121212212221111221211211212121121211122222122111221222111122211211221221122222112211121122122221112221211211121111212112122122121121122121211211222121212211111211111222112111212221211111121221212122211211121121122212222111112212112121222212211122111122111121211122222122112111211211222111122222121122212122212212212122212221122221121221221122212122211212222122112211222111221112222122211122112212222122122122112122122122212221222121212212221221221121222121212221212212121121112112211112122211222122122122212221222122121211211121221121211222221212211221222112111112222111111222222222121111122221222212211122111211111111211111112212112221211122111111112221111112222122122112111111212122221222222121212211111221112111121121121212112212211122211212222122222121111122122112111112211222221222211112122222122122111212221222221111122111212212212121122111212211222211111112111221212111212221112112122112121212221111121222122121211212121122222221111112122112212211111121112111211112121221222222112111121111221222211221212211222221122121222211111211121222121221121111111112121111112122211121211212112121222121221121122221111112212112211111221122211112122211212112112212221112211212122222121122211222222121112211121122212221121112211212111121212112221212122112121211122211121211112121122122221121211221112121221211211112222212111112111222121121221112222112221211111111121111221212211122112222222211211221221112221211212222211221122212112121122111111112111221122122111212211111111212222121221222122121111111212121222122122222222221112112221112211222222222222111222112121222212222112111112122221112222211122122212111221211111212221121122222221112211222111221211222222211221221122211221221111222212211122222122121211121112112122222212112112111122211221222212112112211221111122211121212212112221221122222222211122211211212212211121121111111222121121222211222212221122222221112221122112211111112221221121121111212211222111212211111121221121112211221122122212212212211211122212122222111211121211112221122211221122111211212112112221121211121121211122121122222111221212112221221222212221211111221112122211111221111211111121221122122221112121111212221212112122222121222222112211222211111222212111221121122122121112212221121112112211121211112222221121211121212122111121111121122212122111221222221112222111212111212211112111211111211112121121212122222222121121211212212222111212222121122211212111122221112221211121122212122122221122212122221212112212211122112112221112112112121212112211112112221111112111121112211221122211112212121212121122122112222212112222211121121212121121122221212112222112111212211112211121111121222212122211211211121222111112111212212122211212111221222222121212211112222221221212211211222111211112112121211221111121112221222121111221121121122211212111211211111111122212211211122122211212112112211121121222111111212121211212121221211121212221212122221122211122111212121211122121122121211212221221121222111111212122121222122222121121211211112221211121111212122122121111112222121122112211121111112122211212211221112111112112122211212112122111222122212122222121211111222111222211222121122221121122121122221211111212111212122111211212112221111121211112122222122222122211222212222212212111212211112121212221222112222221222212121222111221111212111211222112222212222222111122212111121111111112121211211112111211212221121222211211111212122112121122112222221222221222222221111121112122112222221221121212111221221222111221122221122121221121111112111112212121111211221221111222112222211122121121222221221211122211212122222121122212122112111112111112122112221211221111211111111212211122111222212211221222221211212221121121222121222222112121221122122211111112222121222112212112211222212211112211222122211222121212122121221122212222111221211122122222222222112121221121112221221212222221222221111212222122121112112211121211111111222112111211112221111122221211222111121222222221211112221111222111111111112212211212221111111112221121112222121121112112111212111122212111211121112121212211111112121112112121212121222221212111122222121212211121221112111111212112112211122111112221222212222221112122121122222111222112221211212111221212222121212111211221111212112112222121122222221122221221121212122121122111222212221121222112111221212122211122221222112212111211211111221122221121112221112222211212121121212212122212122112121221111121212112211122222121121121121111122112112222112112121122221221211222222212212221221212121222122221212122121222121212121121222112121112121121222122221212222121121222122222211112112121222212111122112222212221222222212122222111111212222111211221221221121212112111122111222111211112111122122211212222222112111111111211111211211121122221112121111121222211121222111122121122121121212111111112212222112111112211121111122212121222222112212222111112122122222222212221221122121221211121121112112112122222212211122111111112122212211122222221221212111121122111112112121122122121112212212121211121121212121111222122212111122122211121222112121211221121121222211111221212111212111221122111212112111222211211221221221212121222221211121212112112121111212211221212121111112112122222112211122111211211121122222221121112112112122222112121222221122121222222121222111221221221122111211111121122121112221212212112112221221112222111121211221112221121111121121122121221121212212221121221111212112121222211112222221221111222112122112121211112111211122111122112121222122111111112112121211222221122111222211111121222212121221222121222222121121111121112112222211221122112211221212221212221222121121211222112121222111222211211112221222122212211212221121122211211221112221211111221211112112212221121211121221111112222221221111222121111222122221211121122121111112212222212222212221111121122221121222221221222121122112212121212212212112222111122121221221212211122211211211111221222122211212112112122212212211211112221112212122222221212222121211121211122211121112122211222111221112212121121222111222112211112212222112222221112112221211212221212122121111222212212221211222221221121122222222221112221111121212111221112222122222221212122122122221111122112122112112221112211112112211112221212121121111211122222222211221111212212211122121111121211222111122212222221212211222112112212222111221211121211121111222121211122112122112211211221222122121211221221222222221221221122212111222121221212221121112121222111122212222222221211211121111212221122121221122112212221121221111222212211121222112212221212122111111222211111121111111111211122221122111111122121112222212111222121122121121111211111212211111221122122212122111212212212222112212211112212221211221211112112222111221121221112211222121212121111212122222221111111221221221121121121222222122122221211112121121222121121112122122212121212112111221122121122121112212221111211221221111211222211222212111222111122211111212222222222211221112212212112211211121212121111112222212121111212221112122121222212112111112222211212122211222212111112221112112112111211211121211212221221122221211222211111212211221112112112212212122122122212222111211112122112222211111222211111121211212222122211221111211112211222121122122112212112211111221221111211121222111211221211221121221111121111211221121222111112211121112112221111211122221122221121111121212222122111121212122122222121112212222222222111211112121212122122211111122221112222121122221112121212222121211122121211222212122111121221212121121212211122111212112212212111112221111222222111212112211211111221212111121212211212111211211122221112211221112211121122111122111121212221221111222122121111121222211211222122221211111112111111112121222211212112221111111221222112211122112222212122211111221112112221122111121111212112222211112211212111212221111221112112222122111112211211121122121121212122222211121112112122112122111212212222122222211211111111222121212211221222122212222122112212212121222122211211222221122212121122211212122211111122221222222112222121121221122121222222222112111212211122122111121111212122211222222211222211121122111221121122122111221221211112121112111211221121211212121122112122222112121122121121122212212211111122222112221222112221211221112121222111122122122222221122112112221111111211222221212112112112222112121121112112211221112111222112221221221122111222221221112211112112121222112112122122221112111122122222212212211212211121111211221211221121112212212212211112212212112221212122122122212212211221111111121211112212112122211211122121211221222211222222222221121211122122112111221221122121111121112221221212122111211121211122221111122211211212211121211212122221121222212222122111212221212222122112122112111222221221212111112211111112112212222221221112222111121121122111111221221211111111122211212221112221111111222221211222122211122122221111211211212221122112212122121111221121211222122221111221211122121122221122212221222121112111222122212212112121111112121111122212111212212221212212211121212111211112121111222211122211221121222221111211211221121211211112122222211111221122112122122112221122211221212121112122122212212222121221211212222122211122212222121212122122222212121221122222211222112212222122211211121112221122111122111211222121121111222121112121111122112221122221221221111222221121111222211222112112222222121112222221212122211212212222222111112121222121221111112112122112122121222122121112111222222222111121121211121222222121122121112121121211122112212221121222221122121222122121211211221111222212212112121112121122112222211211211111121211211222121121221121111111111221221121111211211221121122122112211122222211222121112222221122212212222122122221222121221121211221111221111112111212112112122112112222122112222112212111121222221121221221212121121212212211122221121221112212111111212222222212222121212212211122212122121222112212112112111211122221211212122222222222112111111122111211112222121112112221111221112121222212222222121212111111111222212122121121211111121211121111222222112212211221211122111211121112111111122222112112221111121111221112122111212212112112111221222112222222222211121212211112112222122222211221111221211122122211121121121212121212222221121211122211221111212111211112111112111112221111112211211221212211111222222112121221221111212111221212112212112112122221122112222221122122222112111121112221111211111121112122211221121222112111221121111112211211122212121111121221212221122112211122221111212211222122211221112121121221112211212222112212212221212212221111111212121222221212122111111221111212222221121221111212211111212221111211211121221121112112221121112212112112222222222211121112122121122111112211122122221212122221221112212122122112112222112111122211212121111111112221122221122111222211221121211221211112111121212212112211212112112222222111112212212121112221122212112222211221112122111121111221222121112121121221122111122112211121111121211121212222121211222221222221111112222211211222112122222221212222121222221121121222121112122112211112221121122111122121222221111211222221212121111121221222222222111111212222121111121111222212111212121112122121222122221112121222221221221121211211222111211112211112211121121212222211222111122221112121221222121111211111112121112212221122212222221211111121122212122212111221111212212121112111221112222112112221122211222111221222222112222211222122112121112212222212112122121121222121222111112211211122221111121212111121212211222211212122221111111121112222122221221211121111221112111112111112112211221212111111121211221122122122122212221221111111112112122221121212212221211212221221121112112221111221111222121222212222112222212221122121121211222212211222221122121121121121211122112222112121212112112121122212211122111121212222112111211112111122122212211122112212211222121221122211222222122111221222222212212222212222212121211221112111211112211121222212211212211212111221212112211122211112212221221112222222222111121112111121212222112221222121222122121112221121211111222212211222221121112222221122112121112111211111121212121121111211112221221222212211221212211112111121211112211122212221211221211122111112121111112112121222111111222212221121112222112211221112211222222221111112112211212212111221211212211221122221112222211211121122211222221221212121211212111221221221212212111122112122212112212212112112222222222212112212222122221222122211212122211212111211221112221211111211121111121211111112111221121112122221211111211122121221122212221212122112212111211212212212111112211122111212111221122112221211112212122111212121221221222112112222112211222111111221222221221121112121122111122121111121112112211221221121122112211111112122111121122122122211122112112212222111221211212221211222111221211122222221211212122212111111121111112112222121211211111212211111211121111121111121121212111122111221121111222222121121112222211222221112212212121111112221222122211122112211121212221221211211211121121222111121121212121212122111222122221121212112222121122122122121211122221122121221211222211221112121121212221111122222211111221221111212222221111212222112112211112211111112122222211112112111222211222222212111112112211212221121222222111211122211221112222112121212121211221111211211212211121111221112212121122221212122211121222222221112211111222122212122212211212112111212111121122112221111212222211122212121211221111112121111211111212112221222122222221112221211121111222222212211211212211122211222112121221111221122221121211212222122222211111112112222221211221221222122221112112121222112222222112212221111222111221121112122122221222222211121222222121222111221212122122111112112111112222211212212121121111221111221212222112221112121221221121112211211121122112111222222211112221121111111222112222212121112112112112121222122122111122222222221221212222222122122112112122122222112121221211112212111112212222212112112212211122211221122121211121122222211211112221112221112112111121212221212122211122212212222111222222122122211112122212221112121212111112111212121221222121221122121122111212111212212121111112221211122212112211112212121211212222222122111212121112122112121212222121111222212111212121122121221112222122121221122111212212122112121222121121222222122111212222112111122112121211122211222212121122221122222212112212222111122112222221122122222121122211121222111211212211111211122121211221111122212121212211211222212111111212221112121121122111222221212112212111121212112122112222212212112122121212111212221111211212212222111111211212122112112121211111222121121121122222122212121121212221222112222121111221211111112112112222221112212222111221221111111122111111222112122221112222211121122111112121112222222111111122122212122221211121112112211212212122221211211121122221121121122221112211211121222122112121211211122222211121221111121212112122211221112122211211122212122122221211121121212211212212111222111112122221112212121122212121122222122112112111111222212212212221212122222211221222121121122212111121112121211212122121221211212221221111212122211212112211121221212111222122111222121122212212221222212121221212121111212212222222211111212112211212111212221121111212111221112111112122211122212122112221221211111212211211121212111222112212222221111222121111112112121122212211222122112221212222122121121212211212121112222121221222122212122111212122212111211121211222122222121112212112122212221222221221122111121222122122212122211122221111122222112222222211121212211211111112122221212121121122211212122211222121222212212111121211122222111221221211221112212212122222221221222221211122121222111112112122212211221212122111222211111222221222111211111111222111121211112221121222211211221111211121112222211122121221111221211112221112211111122221222112222221222221212121222112121221222212211122121122211211221221121221212212222112122222122112221121121212222212221122112111211112222212221211111221211121221212221211212121211112211122121222211112212112122222212122112212111122221122222112221221122112211221112122122111112221121221122212221112112122121121111211221112112122121122121221112212121212111211112121112111221112121211222222121111112121122121122111222211122122222222111221211122122112222221222112222121211212212211211111112112122221221122221112121112112212212212112121222222222111111121111122221212222111222222112112222222112221211121112211212211222211212112111122121212221222221121212122112211121222211111112212221111221221121221121112122121212111112221112211221212112111122211212112212212122121221222121212111212212211221112211112122112111211221211122121122211112222111222121111122212112222212211122121222211121211222111121121222112112212112112211121222112122122111121121211221121111122212111221121212122122122221112221121211221112122222121121121121222211111222211121221222112121221212221211121222211111221221221112111121122212121111111212121111122212211212212211111121111221222112211211212121221122222112222112221212122111122212121221111222122211122212222221121212112112122121111122122211221221121222111122122122112211222211112212122112122212221112121222211111112122112222222211121212211121111111122212111122211211122212112211121211111111112111211212211122222111111111222121221222112222212121221121222211212111212222211121222222221212222121212122111222112212212112121111221212111211212221112212121112212122222112221212121122122212211112211111221121112122112211122211122122212221121211221121121112121212112221222222211212211222111112122211212111221222211122112111211222212221112112121221221121221122211222111121111222221212221212221112212121122122221222122212121212122212222211111221221121211211112211212222222121112222222122212221121211112122212212221122211122121221111121112221112122112212212222111222111222222221211122221121121112212212212112222112222121111112221211211112212121212122221222221122211122222221111212221121222221111112212212112212111112112112112111111211212222221211212112211121121222111221112221122121111211221111112121122121112221222222111122121221222222122112121122211211111221121112222211122111221111212121212212222221111112112121122111221111121212211111112121222212222112212122121212112111212121211112111221111211111112212121112212222112211111122211122122111112122121211121121211221111111221112212122221211122222221112222222221121122122211211111212221222212211122112122212222211221121212121211212221111221222211212212211121221221221122222212111121221212221122112212222122122122111122122222211121212212211111111212221122222212221212221212122122222221211122111211111121121111122122222121121122112211122122211121121121211122212112112112121122122222222221122222122111121212112111211111121112221222111112212221211121122111111112121221222221122121212111222212112111221122211111221221211122212122222222221121112211112211122112122222211212122122121222211222122212211122211111221111222112111122211112121221222221222221122212212112212222221111112112122112221212111121112121122212111111221211122121222222222112221112212222222211111211112212221212111222111211211211222221122111112122112222222212212111212121211211221112222111122111111222122211212112122121212111212122111221122221212111122222211212211112121211111211211222211221121111121122111121221112221122122122111111222221222221221122111112112211112112121112222222111222122122112111212221122221212121212221112212221221122122121121221111211212211112121222121212212122111212121122121211111211211111112222222112111111121211222111111211121112121122122111122222112211222122221211111211112221221222121122122212212112121111112211221211222111212111112122212112122111212212222111211221221222211211211122121121211121122221212221211111122211121122111122212112222121211211111111221211122222112121122222112112112211112221122122122211221121112112211122211221212112112121221211112222222121212211221211122121222212222121112221211211212221222221211221221221222222222221112221122212122222121112111221121221112111211122222212211211122111121112121122121212121222112211221112212112211112222212121222122122121122222222221221112221122112222111222121212111122222211121121222111111121121122121121211112212221221112112112111212221121112112222222112222211111122221122111222221112112111211122112111121121211112121211111212122212112211111222212112211212112111111211221121221211222211121112111111212221121121222222221222111222221221211122111121222112211212112211211121121121111222221212221222121121222122222212211111112122112121121212221121111212111112222112222121222122222211121112222121211122121122222121112121212211111112211221121211121212121212212222222211121112211221212121221211221212112221122122212212221121212211121121222122211212221211211111111112221112121122111111122122212222112122222221211211211211111222222211122122212221122122211112111221212212211112221122221222121212211222111221121111121222221111221122221221222122211122122111121212222222111211221211112121111211222211212221122212122121121211211212122112111111111121212211112112121122221121212122221221221222122122212122122222222222111122112222121122121211222222221222211211111222111111221111221212222211111111111222212211212121221112111212112122111122121212221221221111111112212111112122221221211122112222221122211121122111111212222211212221222112221211221112121121121121122222211121222112112121221122112211121211221222121222122211212121211122222222212211221121211111212111122122121211112211212222222122221221122112111221212222122122211121122221221211121212122221212211111211122212112122111221221122211112222121221221221121212111121121112222122121112112122111211121222121222122121121221211212111211111222221111122212111121211112211112221211211211211211222211121111111221121111211112111221112121222121112112111121211222121111111221222222121122211221212222221122211111122121112221122121212112222121212222122122122111121111211211211221221221222121111112111221122222112221221112221211121112122222211122121222222122222222111211122222221121112121211212111111111222112111122111121222211221222212222121122221221122111211121112121212211221122112222212121121211122212222221221111211211121122211121122212122122122211221112221121111121211111222212122221112212122111121121212221111121222221222212222122221111111122212121221211122212122221212112121111212221112121211222212111112122221211221212112211121221221211121212212211122122211222122122212111211121212211211212222111112122111222211112212211122111111221111211122212121211222122121221222211111222211211121222111212122221221222112211112221211111221221121121112221112222112112121121211111211112222211212111212212212221211222112221122212212211221122112211212111211221122112112211212111221222211111212112121111221212222221222212212212212112212212111112122111211111111222211221222122121222111122121121212112222122211212212212112111212111122121112212211211212121221122122121111111212221112212111212112222122211121211122221111222122121112122211211221211221211221122212111211212112121111111112222122221212121112212112122111212111111222122121121222212212222121211112222212111221111212111222122122222121212112112112121211121121222111222121112211212212121212221111111112112221121111221211222112222111121111111122111111212211221222112121211122111112211112111122211112121122222121121211222222211222122221112212212121211212212122212112121212221222211222121121111121122212111112211121221121111111221222211111111212212111222222111212112111221212122111222222121122212122212212211221122111221211122122122111111122112122112122111112111111112211222222222112221221122112221122111112211112112122121211122211122112121211111111111121121111112211222211212121212122211221121111211111111122221221122211121221221112221222122212122211112222222122212111221122221122212212211111122212111111111122111122111122221112221211121111112211121112122222212211112222212112211212211122121221221211211121111212121112212211212121121221111121122222122111111211221111211121112211212222212122212222221211221211111222122222222111112212112221221222121121221122222222212112211112111112212112122211211122121222212212111222112121111211221121212111211111221112221121211212122121222122221212221122121211112121211111111121211121122211122211111222211211222211212221211212222222112222222222221222221212211121221221122211122222221221122111111212121111112211222222111222212122212122112222211111222222222212121111121221111112121122111121111111221111212112112111111111112121122111211212112211221112121212121121211121122111112212121211121122122112211121121121112212211111212221112211112112212211212111121222122112122212111111121112211122212112221222211111222111212211122222222221122221122212211221222121211111212112122112112112112221222211112221221211211211121111111221121212222122211222211221122221121121122121122221122111111222112222211212221221222222111221221121122112221221112112112111112121211122111111111221121121212121112212111122121212112222121122221222212221222221122211212111222111222221111222111122112111121221122221112121211111222112122222221211112212122111211222221222222112222121222222212221221121221222112212211112221222211222221112212111112112211122112112112111222212212122112221211212221222122221211112222121221122221122122111122222221222222212112112212121221121112122212121122222112112212222121212111112122121121121111211222221122212122221121212222112111112112121212221212122122112121111111122122121211212211111122212221111111212112221112121121211121112121211121221211122112211221221111121221112222211111212211121221121122222211111222111212211212221111112122222122121222111111111121211211121112122111211111221222111112211221112221121221211221222111111122111222222121212211111221221122121212221221212111111121212222122121111212212122212221212122122112112222221212111121211212122212112211122111121122222212112211112211112111212112122212212211111111112222211211111212122121112121112212122211112121121121111111221111222212211212212212112111122222221222121122212122122222111221222211212122122221111121221221212121122212212211121111111222121221111111212212222212211111211112122222212112221221221112211211221121211211112222121121212112221211121111222112221112111211122111211122212122122122112212111112222211122122212212122112112122212122221122221112222222222111212112211212111121221211112212221122111112122211221222121221222212212212212122112112222111112112212222121112221111111211121112221112111111211211211212221212112111111211122121111212211121212121212221112221122212212112112122221222121222211221112221222112222121122212121121121111122221111211122222221212122212122221122122121121211211221122212212121112112112122121222122222221222221221121111212222111112121121222112122121221222221111112221112122222211222122221122212221211111122121222212222111111211221222212212112211221121112121122212221211222111222221122111222122112121122111211122222122112221121122122211212212221112222112122112112212212221212122122222111211222121222111122221121112222222121122211221112212211211121111211121112121222112121122211221111112122221212222212222211112121221112111211122122221212222222212212212122112121111112121212212122111211222121212212112112211112112122122222211212121211211222121112212121122112111112112222222221111122221111222111222212111111212222111222122222121122212221112122222121122121122211111221121122122211221221222212121122221221212111111122112112212111111222211211212111211111212221121112211222221211222111122121112211222111211211112122122221121212211112221212121211222212212212121222121112212112112221222211121121121121211122112112221221211212221112211222221212211121222222221121221211211222221122222212222122122212222122112122122111221121111111222112121121112221112222221211211121112212121211221111121121212222212121111121112112222211222222211212122221211122212222121211211111122212112212222111212112112212112111112212222112212112112122122211222121121121222222221112212222221211122122112211111122222221211111211221111212222212222212212212122121222112211212222122212112122211122211221111221121212221121222212121221112121212222211211111112111222112122222111121112122122221122222222212122111212211221222222112222122211212222121212112121121212221221111222111121112112222221212211111112112221112121212212121211212122121221212222111221212211111221211211121221222221222211211222111121221212221212112121122221122121211121211121112122112112222212211211111112122111112221111112211111211111121211221222121112111121121112111111112212122112122111222212222122122222122221211111212212221211112221111112121212121212122121112111121112212121212112211121212111112211221211112222111211112212122221112121121211111122122122211122111222111122112211221112222121221111122222221212111211221212221221112122221222112121221221212112212211122112112221111111212221221121212221211221211111121212222212111122221112212122112222212122211212211222122121111222221212111121222222221211212122221112122211222222111121212112121121121221111222221222112212211121211122212112222112211112212111111112121211121212122221111211211111221122121121212212111121122112111121112211221221121211111221212212212221112122121211211222212221211111221211121111122212112122122212222212111222211221222222211222121212112212122111212111211222222112111122212111212211212222221121222122112221212221212121112221212121112121211111122211122112112112122222222222122122112122211121221111111222111221121122222222211222221211211211111212111221222211121121212212112121122211212221221111112211211112211122122222122222221211212112121211112121212111212221212122212122221122111222222212112212211112211212222112122221211212221112211112112112122211212221221112122121211111211222111111121111122212221222111221212111211122122212122221121211122221211221112121222211221222112211212221112212111111111211112112211222112222222221222121221211121221221111211112112122211221222112111112222122112222111221121112222122121121211212122122212111221122121221122111222211221121222211112211212112121112112211121121112211112212122112212112212212112212112212222121221111121211222122221111221221111212112112221211112212211121211111122211221221222212121121121112122112222212211222111222212112221111221112222221111111222112122121112122221221121121111221222112222221211212122212121211212112112121112221122221221211211122122222221111212211221111112111212221211112221121222121122222112111122122212221111212111111212221211111122211211221221221122122122211121112111221122212211221121112221111212122111222221211211111212222222222222121212211212111111212221212111222212112221112121211121221221211222112221111212111211122122211221121111122211121222112122111212221212221211111221222212111222211111112111221111112112112211221121121212122222112121221112111222221122121222111222112111221212112211212211111212212222221212212222112121222121221221121211121211121122222212122122222112122122222222122222212222111212211111212122121211122222122121212111222121211222122112112212222122112211121212111212211112222121121111111222111212211211121122112112121211222111212221122111222212212121112121221221112112121221222112222112222211122212221111122212221111122112111122121221212111221122222121221121212221121211122122122121122122221221121221122122111211222222111222122121212112222111112212112212221221221222111122222212222211112112112112112111121212221111211221222111122122121112221211121212211212111111121212211111111221121112212221221122221122212221111111212122112121222111212211222121212212221221212221222111111221212211111221121112211112112111112111121121221221211212221111211211112211122121122122111112111111121212221121122121111111211221122121211211122221122221211112211122122112122121111212222221212222222121122222111211212121111222112211211122122222222121222222212112111111222222212122121211221211121212222122222121112122212212112221211212121122111221122121112221121212212112212112111122221112122222211222121121122121122222212222111112222111121211122211212112112211122122222221111112222221111221121121111121122222222111221111112112211212112112121122211212112112212211212122112121221111112221121212121222122122211122121122222122112122221221111221222111222111121211221121111111221212222122112111222222122211221221121221212212121121222122212122111221212212211212221212211212121112222112112111121221122211212222122122212211211121222221212111121121122221221112212121221222121222211122222112122211221221122211122112211122221212221221112211221111212221212111111211122212221212212121122212222222111111111111222221112122212111121121221111112211222122221112222211212221212222121221211222221221222212222122211111222211122121221111112211212212211211112112211122121222122221212211111221221222222111111112221122112122121221122222212111222212212121212212122111222112211212222121221221122112222111211112121222112111222121112111112211112221111211111112222112222222122122112111211122122222112222221122222111222211111111211222212112221122111122222211112121222121111221111112122112211112211211111112211222222222212122111112122121121221212212221112121212211121222211222122112212112112111221121112211212222222212222222111211212111111212221122221112121111112112112222222111121221221221112221111211212122122111121111111112211111211221221211111111122212121212221111121122112221112112212121112112111222121212221211221112111111122122121122212221221112111121111222221212112211221222122112111111112211121121221221112121211212211112222112111111211222111212221222111211121211221222222212112212211221211121111111111121211222221221221121212211222222212122222122222222221211222112121211211221212111112212221211222212122222222112111121112211221121112121212212122121122112112221112211122222222212211222212122122122222112121121121211212211122111122221222222122222111221122112111211222211121112112111122111222121212111112212122212112111222222222221111211222211121111211121121212212111121112112121221222111222222112111112121221112221122211121212111112112121211222212112212121122112222122211221112112222111222122211122222111211112121211112221111222122121122222222211112222111211211122221111211211211211112221212222221222121122221212222122212111221221212221111222122122222221121222122212212121121212122212111121122221221111222212111112212111211221221221222121222111221122111112111222222221122221111211222121121221122221211112121222212112211122122111122122121221112111221212112222121112222211111121221111211122111212122211111122211122212211121222121111221212121222112222212222121212221122122221222222211221212221122121121221211111222222222121111212211111221221222122221112111122221211221112221121221122122121221121122222212122122122212111121111221112222121221211222222221112222222211111111121112222221121211112111121221122122112221122111112222222112222211111212122221122222112111112111222112122111111221122121222212211211121122211121211122122121121121221211211212121112111211211112211221121221211111111111221212111111211122212222122111111122111122211222112212112122222211211112122121112112111121121212221212211212222212112111222112221121221212122221211111122222222221221112212212112112222121212221211211112121112221211112212111222111122211221222212111121112112122122211111222212221121121111112121212121212211121112212121211221112212121221122211211222111111111122112121211212122211121121121212121121222221112111121112211121212122222122221211211221122112122212122221121212111221212111212111122212221211121222112122222222222222112111111112221111111121222122111112122122222211111221221112121221111121112211212211222221221212212221221221221212212122211212111212222222111112211122221122121211121122121111211222211222221211112212211111222112221221221222222212221121222122212221221221121221111222122211211221212211122222111112211112111111122111212111122211122222121222121112221112112211122221121221111212212221122112222212111222121121211211111222122212221111121211112222221121222122211111112122222121211212212122222211111121112111111122111112122221221121111121111122112212111211212221122221112221122211212211222212111211211211121211221111211111211122222122212222211211112221212112112221121221122221211122211222121221221112112111112111211222122122121222121122121222212211112222211112121212221122122111112112211212211121212112221122222221111112122122112111211222112121221121122121221122222221111121222122122111121211121221121221121212111111122122122222122112211211111211221121112222111111121121212221111212211212111112212222211211222212122111122121122212111112112112221122112122122112222112222112111122212221111122211112122112222221122121121121112111221222221221112121111212212111222122212212211212121111121122212221111121121122221211112111111221211211111112122222122212211222121221122112211221112112212112222121222121121211221111222221122221122222121222212212111121222212112212211212111221212111212122221111221111122221122221122122121221121221211111211122222121122111121212122111111222112211122111122111221121122121221221112121211112212112111111111111122222212222222122112111221111112112122212111122122112122111211111111122221121221122111122211112122222221211122221211221121122212221221111211222221111212221222121211112111212112121112121212212211112121221111221212112112122222112121122112222212112111111221111122221212112221112212112111121221221122212212221222112122212121212111211222112122212222112211122112221211111111112211121222212122121222222211211221222222122222211211221122112222121111112122112212212122211122211211112111221122111111221112221221221212112121221212221112111221112122121122212211121111212112212212212212122221112112112222112121221222221121211222221122222211122112211122112212222112112211221211221121211121112212222122111222112222111121121212122221221221211111122221121112112212222122211222111222121121222211111211112122112111122221111112111212211222221111111112112121121212112221122211212222122111222111212222111122112222212211112221211112221222111112121212112121122212111212212212212122112212111212212211212222122211122112111212222221222211111122121121212212111222122221222121122111122111122212222212211121222122211121122111111111222112121122111121212222122122111121122122212221112211121221212212121211222211211122212222221121211222221222222211111121222211121111221221122222221211221221212112121111112111221121212222122222211122121212121222221121222122212221111111111111222221211121212211122221212211121111212212112221111111121211211121211112111222121221122211121212211111112112112222112112211111221212221212222222122211212212221221112122222122221122112222112221122122222211122211112221222112121211121121112211221211212222221122121211222221121122111212212121211121222112221212112112211111221112222112121221211222122122212112112121211222222221221211211221211212111222222121122211121121112122111121211222111211112111222122212211222211222122211122211212212122111121221112122111122122212222212122221112211121112121111112112121112221121122121121122221221111111111222222211121212222211222111212111121222121121221122121111211121111222222211221122222221111122221211222121212222122211211211222111221222212121212111221112222211111221111222212221112211212222222211122112112221212221222211212111211222111222121121211212121121221112112111112222212221222111211112122112212121211122112222222211112212212222212212111221222221212112122112211111121221121212222221122111121112112212212211121111211112222211211122111211221212221121222222121122112122212222211121221222121221221222111211211112111222121112222111112122212211211111212212121211222212221111111112221111221221111222212212121221121222111221122112212221211212211221222221111212212221121222221111212212111212121211221221211121121121211111112122211222221221221222222222222112122122211222222222122222121122121111212121121112122111112121112211221211122212112212211212221221121111111121122112112122222222221212211122111222112211112221112111111211112112111211222121212212111211221222112211121211212211212111111222122221111222121111122211222221222212212121212122221212121211222111221121211121112122211122212222121221121122121212122112111121111221112121222221212111122211121211111112111211121112211222211211211221211122221212222222111221211112211121111111211122211111122222122212121112222121112112222221111222121212222221221211121221211221212111121221112211122211221121122222222222222222221121222122122212222112212221222212122212121111121111221221122122211111222221122122112222112212222211212211122212111211211112212222221212221211211222122121211212211222221212112111222211122111212122112112121212222222121111211122111121222212212221221222212211122212221121121112221121112121212122121221121221212122121122221221211211121121221111212212211211122112121212121222121211111222111221221211222212112121221122212211222122212212121221121121112112211211111222122211222111221211212222212111122121112221211111212212112111122211221222222122212122121121211111221111111112212112222222121212122112211121121212221222222112122121222122112112122112212112122221112121112211221222112121211222122222212112122211111211211221121222112212121211112111121212112122221221211121111121111222221212222212211222222121211211111121112111121122121121112121221222222221111212212111112221111221222111211222211221212111112112222212121212211211112212221211221111111111212112211222112222211111121111111112211211211122122122212222222211211222221221111112212211211222221222121212212111121122222122122221111111121211222211222212112211111111112111112212222212111222222212212221112212211212112222221122122212121222211122211221122111121122222212221222212211121121222221122212211212212112111122112222111121222212112211111112121121212121222111221221111111121222112122222112212212222221121211221222212211221121122122211221122111211111122212121111222212221211122111111121212211121122121221211221211112111221212211121212122112111221212222122112221122211221212122221222212222111211121111122211212122211111121122111122122212121211212221122111212112112121221211212221112211121112221212112111221211121111111121222211122221212222112211112122221221112121221211221111111121211111221211221222122111111211121121111121111221212221221122222111112121112221222222122222121112211111112112111221222112221212222121112222212222212111112121112112221121111122111221221221211111121122122222121112222212122222222221211112212111112221212212121211212211211221121112122211122222121112111211122121112122122212122222111112121212221222212122111211221122122211222122111222112222121122211112221212222122121111222112222112111121112112221122122221122121112121121122211211211111212122222211221121121122111211121112112221121112122121212112211212222122122122121112122122112121222112112212221211222211112111212221222122121222121211112122121112111111221221112222221121111112111111122222211211112222121211211211112121222221221112112121211222211111121121222112211222222222122122112111122222212111211111121122121112212112211222211211112221211122222222112111122222112122122211121122122221111111122122111112111121212112122121112222212112212111122121211212222121112211112121211122212112221212211122222222211121222222212121221122211221111212211112221212211121221122212212111211112122112122112222111221112121222112112122111211112221112222112121122212212111212212111221121111122112112211122112212211112122122212111112111221112211122112111122212211111112122111212221211111222112222212222221211221111212211211212112112212222112221212122121222112122111111122211221121221221212211221222112211221111122211121211121112122111122122212122121121121121211112111121211211221221222122112212221122211122222222222211112111221222112112122212212221121212121212112222211121221112221221111211221122111112112212122121211221221221121121222211212122122212212121111212122121222221212121212121122222111112111122121222111212221222112211121221211121121211121222212111112121112122121211111121221212111121112122121212212212212212112222121211222211222211111221221221112211211222111211112111111111112121112121212221212212111111222212112111211121121122211111211111221112212112212212212212211122211211222121211121121221121212212111211212212221211221121112222121222212212122211111121112111211221212211211112122121221112111211211221211212111211212112121221121122121122112221212112112212222111212222112211121122121212121211212111121122211222222112221111221212221122111121112221112212121212111122122122111221122111121211211122221121222112122211122111211112122122212121112121222121112211212221111111122221222211112221122212112112212222112122222212221111222211111111212121211222121122122111122121212112122221222212222111112112112112211112212112112212212112122121221222121111221111211111222211112111122221221112112211221222112222121221222111222121211111211211221212121122122122121222112121222112121121221111111221121111221221112121211212211112121222211121222122121211112112122221212111211111222212121122122111111221111121122212211221212111211212112112221211122222211122222111122111222222212121221212221212122121221122222122121121211212121121111211211111112111221122121221221112221212222112121122111111221211112122211111121112221211222111212121212211121212221211112121211211111222212221112122221121212122121111122121212111212212122212121122211112211211122212122222221222221112121111121222221122122221122222222122222111121121221122222122212121211211212121222111112212212122122111212121221222111211222121121112121112112122222221112222211111112212212212212121112221222212122121211211221112122112212221112211221211112111122212121212212212221222212211222121221111122122212222212112111121112212222212212221122121212212221111222222121212112112111111112112221121121112212121221122112221221111121212112222221211212221111211121221121111221211211221111121221122111121111121221122212121121221221221121112122121122121212222222122222121222222211212211112222212111121122221211121222111222121221212112222112111221111211112111111122121122112222222111221121122112211111222121212111112111212111211121212111112211111121112221121111111121211122222211222211111122111211122122121212112121121212111121212121221211222211111222122222112211112122221121111121111121112211222122122222212211121121121122211111221122121212222112222222121112221211111121112221122111212112222122121112212211222212121122211212111222111121212121112222211221222112111122112222221121121111222211212121222111121121122121222111222211212212221112112121222222222111211221211222112121221121211221221212111111112222221121221121111121212121111112121221112211112121121221122121212211222221222111112221211122211122122222111222121222212121212111212112112111122122222212122211222122112211222222211111111121122211212111211112112212121221211122121222112122121112121112212222222112112212221212212111122222112111112122212212212122221212211111111222111221221121222222211111121122122122222112121212212121122122221211221221212211212221212121121212112212111222212211121212111221221121111121112211222211121121112221112112112211221222222112221112222222211122121112222212111112222122222111111221211212112221112121121212122211112212211211222111122111211211212111112221111121222121122111212122111111212112221121212122121222121112121122211222221111222112211111121121111121112212212212221111122111212222211112122112112212221212221211111112111112212221211122212111111212121211122122212111212122212221222212221122112122122222222212111222122121221222211112121221112212122111211212122221121222221221221122122221221121221222211211222111121211222212212121222222212122121211221211211112111221122212211221211211221111221112111211112122212121112211121122121211221112221211122212121221111111121111112121222222222211221211222211222121112211221221122212111212221221112221122212111111112112212211111121221222222122122211221111211111111111111222211221112121111222122111211121211221221111111112212222111222121121112111122212212212211121111111221121212121121112121121221212112112211122112112222222122212112111212111211122122222221211121221121222212112111212112212212112122112222221111222112112211122222212111211212111221122112222211221112212122222111121121211111122112211221222221212122221211222121111111112211212221212222212112111222121121211211121211122111222211222111112221222112211211222212211122212112121211222111111121221122212122222212112212112221121212222121121222212211221111121221122221211212122121112122112221111222112122221222221121112122221112122121221112111211122121122112122121121221112222121222212111111112111121112221122222212221212111122111221221222111212221122111222122122212222122122111121122221122211222212122221211122221211121212122222212222212212111122222222122222222222211111222112121111211112211121221111221221212121222121211211122121121111111111111111122211121221122122212121122112122211122222211112222221122112212112112111211112111122221221221122122211111221122111222121211121222121221122122221112122111221221212212122221211121212121122211212122111112222121221112121221111222212112211222112221211112212222111122121212121212112122211122212221211121112112121222112221121211211211121212211222211122222212222211221222122111222211121222212211122222222211222111112211112112211122111121221212121111111122112122212111121221211221112222112222122212122111212222122112111211121211212112211121212111122211112121122222212112121211221211121121111211112211222111212222122222112111121221121111122221211111111112122121221221121121122122122111221222112221112111222112211122211222222221112112221112122112221212112221211112212122212122111212121112112221212121211111112112212112211122212211211211212222222121111111221111212121212211212222121111212111111212111112112111121111212121122111122222211112112211212122211222122211111121221211221212221122222112212112211221212122112111211211212221222222122111122112212222121211121222111122221222222121111222221112212121122221111212211122111222121111111111211121122222221212212212222122211212122221111111222222121221222212212211111211211111111121212211212221221212111112211122212111212112212122212221122122112211111212112212112122212212211111122212122111212212111111121221111222111111211111121121221221122222112122121112221121212212211111211111121212221111121212112222212112212212111212121111221122221211222112222212221121222112222221112111212211212211111211221212112222211111111122111222212122112222111211221222221212122122112211221121212222121212212121221222221222112121111121221111122121111111122111121212221222111121122222112222212221212211221122111221222112221211212121112121221121222212111112112111112111122221212111222211211221111112221122121221222222222121222212112221221112212212212121221212111111221122221112121122111112121111222112211121212221221121212111121211212222111222211111121221122221211112122211121212121121221212111212211221212212221221212211222222121221121122222222222122212211212121112211221212212211112212112122111211121111121112112121111122112112212212221111112122222112221122112121111112212222122111221221221111221212222121111121212221212211222111221122122222221121121122111122221221222111221221221122212111122221211211221111111222221122122211121221221221212212211211111221211112222212212222122221122212212122121212111112122112221122122121112112221121211212212121211222221122121111221112112221211112222112221211211121211112211222212221211212111221122222212121112211121221112211212222121121111122221121212212221122122111211112222112222221211212212221112121121221122221212211221122212221112212212122121221222221122211212121122122121222212111121221222221112212111111212222212211112121221212222121221112212212122112121112112111111212221212222211211222122121112211122121212111221112122212112122211212111122112112111121222211121122111211211211212112212212111121212111222211212212111212212112211212112211212112212222212212111211111221211112211112221221221211221121221212121211121112122212112222122122221121222121222211121221121112122121122111222112212221111222121222221111112212121112112211211112112121212221111121111212111112221121212211122222212112122111212222111212222111222211112122212122212121211222122122211112221111212212121212121222121111222111212222212122122112212122221122211222212211211212121111211121212122212211121111121121221222211112121211121222211112112221222212112212222111212121112122111221211211221222111211122111222122221222112222211122121112111211111112121121212122122221121212211222121212222212111211212211222221222221221212111111111121122221211212211112221211212212212112221221112112121112121212122222222211222121121112221221112212211111222212112112111211212221122211221121121211212111122111112112212222211211211122112221122111111221212112212221211122122221121221111211221211222121121121111111111122212221221211211222211211221112121121221221121221221222121122122212111112121222112211221112112122111221212222222211111111121121211121112212212112111111122112121221111111122211111112112121112121112121221112112111222112211221111122112221221211211221122222111211211221112211111121112211121121211121212122112112121121111212221111121122222122111222122121121111122121222221222212222222211222212212122122121221111212111121221112112221221121112211222122122112211112121121111121211221222221221121221211212112112221221112112111222212221212212211112222211221221221112221112212121222122221112221221121221211121211122111221112221222122111111122122112222122222122222122122111222122111211211111221221221222211112221221111211112221212222122122211122122111222211112121221221222111212111122211211222211122111221122221121121121211121211111221211221122211111122111211111222221221112221221211112111212222222212121222122212222112122111122121121111122221122222122122212122122211222122121121212111121121122112212112111222112212211121222122111212221111111121221111111122222121122211211121221222112111121221211121221211121211222222212222112111211111112111211211121122212121112111121112221122222221222112222111121211221212112221122122122112221222122221111112111122221212121221211122122122211212212112111211211222111212222211211122122112221111121222211221122111212122112121211122112121112222211112111111222122222111221222121112112121222111121112222221212221221112111121121121212112111212212121211121222221111121111222111222222122212111122112112112222222222111212221222111211221212221222112221122122112221111222112221121121122212111212121212122222211212122222211221112121122212211111222121221111211221111222212121211121121111112211112111212211122222221112221222111211122111211121121221211212121222212221212221211222122121122112121122221211111221122112112121121111222111212212111111122121122222121121122221121112211211112211112212111122121122121222111112221121112122222221221221212112222112222112111211111112112122221122222211112121122121221121111121111112111112111121122121221111211111122121212221111121111211221222121122112111221121111111212121112112112221221112222112111212122222121211221121212122122221121111212222221212222221111122111121121222112122111212111121221211212211222212111212122121122112111122212122112221112222122122211212212212111112211211112211112122211112112122222121121212222121121111212211222221111221212121121122121112111122121212122111111121211112112121121111211122212121211121212212222211212221221111111212212121211112212221222122212222222121111222222122112122222122122221111122111112221121112112112122222112212222221111111221112211122111111212112112222212222111222221211122122112121112121212211112222212111112121111111122221212211121112112121122221121211121111212222121212222111122112221111112112212221121111121211122212112122221221212121122212222212212211222211221212222122122212222212221121221112211222211222122121212122122122111212111112111212211221211121121221112112121221211122212121121112222112222211122112212122121122211112221122212111221222111221222222121212112221211121122211221121211211111221111122212221111122122221121221211122111122212221122121222111112121121122112211212221221221212221222221222122122121111221112212122112211212112111221212211122221112122221122121121222111121122122221211222122111121221122121222211121212212121222112212121212222111212122212222222212221221211211221222212122111212211211122112212121212222222211222211221121121211212212212122222112212112112211222211111111212111121221121211212112221211111221212112221112121111212111112222222121112221121121211112111111221112121221221222111111112221121222122222121222111121222121121112211221111221221211122122222122211111112112222211221222212221212212221222222211122112122112111112111212221212121122122211221221221122122222122122211112212112122112211211212111212111112222222211111212222122221112112121221121111221112211222121112111121121121222121122222112211121212222221221211211111221112221221211211211121111122112211222221111222112112211211211222222112112221221111112112211211212222121112212212211122112122211222122221212112112221211221121221121112122121121221212111221112112211112222212122122221221221211221221221212111221222112211121221121111211112221211211111111222111121122221212121111221112121212222222221211212112111211122221111212211112121121212122211222221221111112111121211221212222121112211212112211111121111122121111222111111121121222112212111112211111112222222112222112212111121222211112212212222121221112212121112222212211211112112221222211212112211121221222212112222122121121221222122221112211112121221222112111211111212212222112212211122222221212212222112212212212122111211211212211111121211112221111112211222211221212222211212212212211112122222121111121121111112111211222211221122222112111122112122211222112222212121222112221212211121221121121122112122121121221211222122221212122121221221221221111121211211212211222221221111211221221211222112111111211211112112122212122122122121121121111121121112122111112112221112222222222112112211122121221211222222112211112222121112221121121222112222112112212212222221112211222221221122211211122221122222212211212222122222221111122211222222112111222112222122122212222211222212212112222222222212122222122222221122122111221221121222221221221222111112112112121212222111221121211111222111222212212222122122212112222121111221221221221221212122112222111222111112112212222222212112121111121121112111221111221111111111122121112221112122211211222121121111212221121111111212122212122212221211111121221121211121121122111121122212121222112222212112111112222211111221112212111112211112111112211112111121222222222221112111121111122212211222212211212221222211121222111222112212212212111211122222121211121122111112121111121221222121121212122121222222222121212212121121221112112211112111222111122122111211212122121112212221122121221212222221122112222212222112122222121212211221221121212221122121221111122112112112211111212212221212111112212122211221112112211212111211122111221122122212222111112111222112211211122212212221121112221211112222212121111211121221222122222212221111121221222221221121121121221121122111111221222212221122111112122222221112122212122122111222221221212121212122222222112222122111221212211222211221212222221222111112122211211211221122111211111112111221122221112112212211212111122211212211111111121221212112211211221222211222122211112221122122121221111212112122222221212222222211112121121122121221221122211111122211212211221111222222221222221121121212211122121122111221222212112221112222112221112122112221122222222211121211212211211222212212211222212121221212211121112212222121111111111211121212221112122121112112111222111121122111211111112111222212222222222211221111211111221212122221122222212221111121212121112221112221211112112121221121112211211212221121222211212222121211112222112111112222221221122211121212212222212212222111112221211222221222221221221122112111122121221121212122111111212222112211121111111122221111211121221212221211112212122221221112121112122121111122211111212122222221111121122121221222211112122221211111222121111121221112111122122222212211121111222211222212122222211211221222121122222121211122111212222222121112221212112111222111121111111222111121121111112222221211221111222122211221111222122211222111112111212222222122212121222121122121211212122112112111222221221221122121111112212222121211111121222211212211122212111222121121221212121111121111111112221112212122112121211111112111111222112212211122122122212121112112221212121222212122222212122221212122222111211221211222212221212221222212222222112212211221111212121222212122222112222212212221121122221112122121221121112221111221121222112221222222112211111112121221211221212121212212211121222211111122212121211112121221111112122121111111221112121222212111222111122111111221112222112211122221212112122212121111212211121122222222212222212212212112122112212112112221121122111121221222112222221221121221212211111121222221212121122222112111211211211222121221211221111211222222212222121222221222121212121121121112121122111211112111122121212122112121121112112222111122112211222112211211111211211122212121221121122112122122111221121212121212122212122222212211111122212212122111121221221112221211221111211211111121222111111211112111122112121111212211221122211112112112121212212121221212111221221121211222212212122212212111211122211111122112221121212111112111222121211211112221121212222111221122212121212121112111111222212112221121111222212212112222121121222122221112112112111112122121212112112212111111211112112121221221121222122221222121221112212221221211121211212211111211221212112221111211121222221212122121122212122112122121111121112122121221112222121221221121222222121112112122211121122122121221212211212221112221211121122111211212212212122111212221122121112111112122222212221222111122121112212221121222121121221111221122122112222111221122212212211222211121112211112212222112222122122111112111112112211122122211211112221112121121222122222112211122222212211222111121212122221212221222222222211122121211212221111222211121221121222221211112111122212212122111111221111122122221121112211121112111122212111112122211112121221122122121222112222122222121122111212111111121122211221222112112211211222211121112222212111211112121212111222112121222212121222121211221222111212112111111122112121121221112112121122212212221221122211121221112222211111112212111121111122111122111111122121112111212111212221211221111211122211221111122211221112121111221212111211121112122112211122112211111212111122112211121121122212221111221122212112122111121211221211112112221212221121221112112222221122112221211211112211212121222222222112221222112122212212112221122221212111211122121222212221122212211121121211112111212111122211211222212111221111211111122222122212222112121122122212222221111111112211212211112222112112112221122111121112221111221121212121212212211211212121121121211221212112121211221121111211112211122121212221111122122121111122211122122112112222121111212121111212211222111111211212111222211122222111212212211221111111122122111112212222222111222121221112222122212122121212212221212111222211122221111122211112212212211112121111212112121111112121222211112112222222111121221111221121111112211221211211222222211112221222122221122211211211122122111111211221122121121111211221112211212111112211221221112211112212112122121221122211211211212111121112121222221212121212212121122111121111121112122122121212221112122212111211212122212122211212212122112122212112111112222112211111212111121112222211222212221211122212221212211221221122212111112121112211221112211121122212121121221221212122122221211122222112212211121211212112122222122222212112121212112212212211222211212122112122112112111221222221222112111111111222211121111111222211221222212112122222111112212222111122221111121111122121111121222211222222111112211221112212211222212221221121122111111112111121121122121212221222111212222211122122221121121112121222222112111121122221112122221212111212212212122111221222122222122111221221212111112121112112212122122112222212222222212121221222122211112212122221211112211112122121122122212221211211212112212222112222211221111212112212221211121112212211221111212212212112111221112112122212121112212221112111221122112221211221212222211122211112222122122222122221222211112212112212121212122112221211221111212222222121112212211112112111222221112211122111111121221121211122112121111112112122121211121222112222211221222222211221221121121121122212112212122121121122222122111122121111122111112112221212111212121212221112111111111221121121111221221111121212221212212212222121112122212112111122211212212121111112122112111121212222122112112212211222122222121121211121121222222121212121211221112211212111112221222112122122212212212211111122122211221122111211122212111111111222212212211221221111111121211222112222121112221221222112112211212111212111122212212121122211221211221121222122122112211222221111212222112222221222221122122221112121121121211111222211212211121111222122112112111112221212211211211121221122212112212211212221111112222211121112122221121112222111221211111211221212121211112112111111122211222222122212122112112211111112222221121111222122121121221221122112112222111211211112112122211121222122222211122122121221111222221112121222222122121122121221222112221212221121122111212222221122221122211212221122121211122111111222211211121122121212112211122211111121222111121222112121111211222212221212122211211221122221211222122221221211222211111122111112211222221221111222121212221212112211211112121221122221212111222222222222222212121111221121212111122111122221121211212222111112121211121212121112212121212122211111222122221222121222221122111212122222222211222221221222121122221212212112121221121121221112122221111112222111222112212112212211111222222221122212122221112122221221222111111211112222112111121212111222212212122222211221211212121111222222211112222121222112121222221211222122222122221111212122121112111221112222221122111212222111121122211221121211112212111111221111211121121221122112122112222222121212121211112222221112222111111122222212221112221112121121121112112111222111211222121221222111122121111111212122221211111112211212122221111122222111212122222211211222111221121121222211211211121122221222212221122122221222222212111121221112212221111222212212121111111222111112112212211221211222221212121221121211212121121111211212222211222122211211222211212122122122221212222212111211122111221111222111221221221122221122111112121222122111211211211122221221112112112121211122221222111222221122222212111111212211212211221212211122211122122221111111112212111121122112222121111222212222221122211112121112212122212122222111122121222111221212112211122221121222122222211212211111222221221221212112112112212211111112111112111221112211121221112122211122212211222221111122122221222122121111121212111222211112222221212111221221121121221111112111221222211221211121111112222112112212211122111111211122112112122211221112112111111111222211112221111112122211111122112212121222221221121121111121122222111121122222221121111112122221122121122212112111112121212211221222221122121111111112121211122111211112211122121111121222221211222222222121121221121212122211212211221121122122221212112122121212211121111212111212221121111222122221111111121221111222122222111121121212111121212122121221222222122122221211111222221122222211112211111222222222221122121221111121111111212112121112212111112212211222112212121112222111121111221121222122221221222222111121121212222212212122122112212221122212211111211122221211121222221112211121112221212211122112212221112121112211211221221221211222212211111122111211112221221111212122111221221222222222211221122112222121212211211112221122122121222112121111122111222212222112122112212111221111121221222111212221212221211112211112212221221111212112222112222222112222222121112221221111212121111111212122212121222212122112112222122111112121211111122222222222121221112211112122211211121112221212122111212222112122212121121211221122121121211212222112112111112211222112221122221112122111222221222111111221111111111111212221211222121112121212212221121221121212111121212221211221112221121212222212122211222221211111112222111122121221121211211121121121111211112221121112222121221211121211222211222212111112111222212121222212221212112112212121121211112121222212212221211221112122121222121112211212121112212211111112122212211112221212122121112221221212211212212121112111112111112112221211121222211112121221212212121211121212112211211212112211221121221211122122112211211122111222121112121212112222222212222112112212112112111212211212221221122221222111222121211222222221211122212222212122122211121111122221111211122121211212212112112122221221222211112212112211211222212111111222212222112112222222211211222112121112212111112111121222212211221222211122212212121222211211122122122222222211211111211121222121211112111112111111211111111211122212112222222221221222222222121122212212122112222222221122122121111112212112112212121111221211122122121211122211211222122121212122122221221121112221212211112221211111122122212212121112121111111222211121112222211211111222121221112122122212112121122212211222212112121112112112211211111121222211111221112212112111221111122111222111222222122121112122221221211221211121211112112212221122222111121121121121112122221212211222211111211111122122212122212221122121211112122212211121121211112212122121122112111221211121221121111221121211222121222121112222211111111212122122112111112222212122221121212221211222212221111112212212222212122121221212111222221221111111211121121222122122121121122112221112222112122111111112111112211111121112221121212221211211112122111122221212222221212221211211221211121222211112221212212222112221211111121211222122112112112211221111111211222122112112111221212111221112122112221221212211212222221121111121222212121121112121211212211221121121222221112112212121212112112112122221221211222222121211122112122122211111211221221111111221111122221121121111112221122211121221112112112121121222211211122212112221221211121111211112122212122121222122221121122212221122221222222121212212112111221122221111121121112221222111222112221212122121222121111112212112111211111222121111222212211121112221121121221111122122221112221111111122111211212211111111211212122221121122222212112111121122111212222221112121221222122122211122221121211212212221122221111122211212212111111121112122112111211111211121221111122221112212211122111211122211112122211211211221211112122221121222211212111211111121211112211122212211221222221121211121112221112112221211221211222211111122111121112122121111112121221121212212121112122122211112211111221121212121222211122211112122212212222111211212222111122121212111122122221112221111122221221121111121112122122111221121212212211211112222111122122211211221122122222121221121222221221221212222112111122122122212221222121121121112111222122222111222112122121112112122211212111121221221121222111111211222212122222211221212111212122112221121221222122112111211111221221122111122112211211121222122121221222211221212121122111122121112221222111111122122212112211122221121112222122211121222222211111212211112112212212111211221211112211222111122222112221112112211221112111222121211212122112122221222222121122121121221211121222212221121212121122112111211222122221211222112111212111111222221212121122122221121121111221122122122221121111222222121111122121122112212111211211221212111212112112222122111212111122212111112221111222111222212222222111112122122121112121222212212122222212221211112112222111222211222112111212112222122212212222112122211211112121121112211222222211211122121222111212212111111212222211222111212112221112112112212221112121212121222222112212121122111221222222122211122122121122221112111121121211111222122112122212222221122222111122122212112121111222211122222221222112222112212222112212212212122122211111221111122212221122122212222121111111111212221211212211121121211112222112111112222121212111211121221112211111211121211221211122212221122222111111211212221212211112112222222221211122212121221222112221112221121211112222212112211111221112211212111122121121122112121211222122111221112121212112222111121112121212212122221221111212211112212211122222111111112212211121121222212221211211111212112122211112122121122112221111212121112221211212122221112111211212121222112112111222222221222121112122121111122222111112112121212111112111221221122112112112111222121122112212222211222122111112111221212221111112121111122212112212211211112212111121122222211121221211121121111221221121122122111112112121221112111121112212211222211211221212221212211211111121112222212211112121222121122222212112221112121111122112221211222212112221211112222222111221221211211221211111112211221111212112122111212122121212122112112222211212211221121211221122112222121121121112222122111221221122211211221222212211221121112212221112222211212211211211221122221112222212212211221122211111221112212122222211211211222122121211221221111221212222222121122221111111221221211221121212111122122111122221222121122212121211122112111111112111211211121122221112111122121221112112211112221222112221222212212111222111112121212222122121221212211121122111212122221121112221122111122222111212112121111221222222111112122112212212111121121212221121212221211112212112121122212112212222222111221221112121112111211212121112211221111212221111121212221212112121122221112122212111111111121221121121221222112112212211211222112121121212221221221112211112211211122122221112122121112222122112121211112211122122211211212111111122112222211211111121211222212221111211221211212121222111122111212121222111212121211211222211111211121112111222212211212222122222222122221122222122121111122121112221112221211121212211111121221222111212211112111211212111222222112222121111212111121122221112221111122122122112111122112211112212212222122122112121221211112212211212112112121121122111222222222112111122121122222211212212211111112221112212212112112122122121221221211112221112122212112222221112211221221212111222211211221112211111122221222121221121212221222112221211222121121221121122112122111111211211122112121111222121111221111122112111112121112121212121212112122122112211122112122112222212212111122221212211111112122122112212221222221222221212111212112211122212111111212121112122112121222211122122222111212211222122111121122122212211122211222112112112212111121222212211221222112222222211221121212211211112121212121221112212221221212112112111212222211222211222212221222211121121222111211221122121112121111121212221222121211212221211222222111122212211222122122121122222112221212111222121212111111211112111111221222111212121122112121212212121212212121212221221211121122221122112221212212222222212222222122112212212222112211212221222212222111211221112121111211221111211211121112221112212212212221211122122212112212212221222222221112211112121121211222211122122212221212222111212112212122212221212212221212111222221121212121222211121222111222211112211111211112112111112212212221211121222112222112111111111111221122121122121221222212222112211221122111222122111211121121221112122211211221121212122222221122111211121211211221222211222211222111221111111122121221221222111222122112111221221222221211212111221212222211112211212111121221121122112211212222111221111112222212222121121121111121222121222221111212222212112121222111211122121122211212111221221222222212211221211111211222122111211121212222122222212122121221121122111222212111221211211111221121211222122221221212121221212222112121112121122112211121221222212221221112121222222122222221122222112211221221111112121211222212112122212212221222122122112212212211112112121222211221221111212121122111212111222212112121211211122221121222211212222222212211211211121122111212122121121111212211111121222121221221121122221111112212111122221211112221111111121211221111112221111222222111112212121221112111122211212111222221112222111112211221212221121222221121222111212121211122221121222221221221122212211112111222121122122121111221211122222221211121212222112122122211221221112221112221212111211122211212211112122212112121212212222122111222222112222212111222112221121222112211222211212222212121121221121212211121122111212122112211221211222222112112122212221221121122222212211112111221212121221222222121111112111111122212222211211122211121112122121221211121221111112111212211212222111121221122112122212212222222211122211111122222221221122111212111112221112112211122211111211221111212112112111221122121221211212111122112121121122111221212121111111221222221111221112121122112121121111222212111122212211112122222212121211111221221212122222222211122221112122122111211111211111221212222122221222122112111212121121111222211221121121111111122111211122111211221112212121222211111112222121212211112221211122122122122121211211121121221111222212111122122212112112222221111212211122112122222222112112111122222221212112221211112211122122221121221112112222111211222121211222122112122122212211122111112121212211221222222122121112222122212112212212112112111121122221111211111112112122212222212222111221212212121121112111121212112212121112212212212112222221111211111222222222211221112222221111222212111211212111222112222211112221222111221221211222112211211121111121121111122221211112211222121211212112112212211121221122121221122212112222111212221121221111211111121221121212222121121122112112222222221221122212121211211212111221122121121222211122211221122121212212221112212121222211112112222222221211211111121121222221112211111111122121121211222222121222111122111112121221122221122221122222222222112112211212222222221112221112222212221211222222222122212121112211111222211222111122112222122112122111211111221111222122222112221121212111111212111222211111111111112122222221211122111222122211122122212111112121222222121111222121222222112211221121211222112211211212221212211211111121221111112212222222121121212111222221111122121122121222121122222111212212111221122111122221211121111222122112111222121112221122112212221122111111221221111211222222121211211222221211111111212221121211212212112212221111211222222121222222112111112212121221222211211111212111121212221111211212222211221121121212222221112111222212212222122222212211221112112212211111111211221222121221122112212212112222122111112222111212212222122211122222111112211221222211212222122221211112111122121222112211121212212121112222222112212112122111221212122222212112122121112121222112122211112112112222111122121221212121221221212111112122222112212122211112212111221212221221122222211122111121121222221211222211222121111122222212112211112212221111112112121212122122112211211222112211122212122112211121112111112121211121112211122211212211222112121111112121121112221211211221221111122121211211112111212212111221122121122112112211221211121222122211211111211222111221211112222122111121211221111121121111112112122221112122221211222112212121122212212121221222221212122212222211222111222111212122221112212112221111222221222211112112211212111122222121111211212222112222222121211122121221122211111111212221222112112221122221121122121221111112122222212221122122222121111112221112121112122122212111212222221222221211212212211122111112112121112111112111222121221122212122212112121122212112111221212222121211222111222112221111122211112222122212122222221211212222111122221211222212211112211222121222122121112121212211221211122121211212122221212212212111212211221211221211111122211221111222211121111221212212212221211222221111221221122211211222211221212212221211222211121212122122222121112111122121212221112111212122112111121112221121221112122111112121122112121221222222112212111221121211212212122111111111212122122121111112221221122112222112222122211112222111211212221112112212111121121221121211221112212122222121221121222111122121222222211222222112221212222212212211222121121221122222222212212111121122121221212111211211122121111211111112112112112222221221221122121112121211121121111221111211121122112222121111222212122111212112112221222211212222212212212121122221112212221221121111212211121212221112211121121212112222221222111212212111212121211121112211222221222121212112111112111212122222122122111221211221222121211212211112122222212121222211122111212221112212122222112211112111111111211222221111222222112121222122222121121212122112121121222122111111112212112112222111212122212222221111221112212221212221222111222122112222222111121221221221122122111221111111111111212121111222122112211222121122121221221122111122121122222221121211112121122122211112221221112122222221221211211222211222121111222221212211212121111222221212211122212211112122212121122121112212212222112122211121121112122112222221122222112211121122112222211112212211221212212212222211211121112121212121222212111111211122122221221122111122221122221111211111122211111112221111121211222211122111122112111121112122221121221211222121221222122112211122221121211112112222211112111211122111211221211211112121122211212212221122221121212121111222222111212112112221122222122212211121211222221222222111122211122221122111212111221112211121121121112211122222121122121122221121211111222111212121212112111221121121221222121112122112211211121222121111222211122112211121211111221121111122222212121221122111121122211222112212112221221111121222112122222112111222122111121122121212221221121121122222212212212211122221222111121112221111112112121111111212121122121111211112122121211121212212112221111212221212122112222222112111111111221122121211111121211112221122121122122122211111122222122221122111122221121212112122221222111121222211122211121111112222211111112222121122122221211112122111112122212112121121121112121111221222212212221112222112121211212122212112212121112221122112212112122212112112211122221221121112121111222121212211211121112212112122211122111212221121222221111212111212211121111221222222112112212212112212221222212212121122121112221111221211122111221211212211221112222222122112212212211121222221211212111221111211221121211112211111211111221121112122112111112122111112221122121111112212112112122222111122122222222121121121121122122121212212212112112212122122222122121111121122212212211112222212211212221222121211221111221121112212222211122211211121212122121121212121122222111211111121112222112211112122221222211112211121121121121222112121121211212222211212221211222122112211222121222112111111222212211122221112221211211211112212222221212112222122221112121221212112212122211221122111111122212112222111211121211212211212211111222211121212112111211221112121122122122211222212112221221122222211112111222222212211221212211111112222211211222111111111122112111212221122221211111212122121122211112122121221222212221212222222111122221121211111212121111212122111111212111121122221111212211122121211122112112122112122221221212111111222221111112211212121221212121121212122212222121211221121211222121122122211212112212111111221222222222122221112122212211222121221111112112122121112211122111112211222111212222222221211121111112121122122122121212122211112122111212121222112111222121222221221121122221221112112112121211212222211211112122211112221212111122111222122122211211212211111122221212112222112211222212122121111111112211111121222121222122211221121222212121221221121122211221212222122122222122121112122112111212212122212111211111221121121122222122121222212112221122222112122212221112212222121212121122112112212111212121111111122221111212112221121111122212111211221211222212112221112222121122122211121111222221111211111121221122121212211111122112121212122211121121212121221212212221211221121222221212122112212221222211122212122222121111221211211221222221122212122112212211112221122221122121211221111212121221221212122111222111122111122221112121222121122211121122221211211211212212122212112111112221111111212112221221211111111122211112221111221121222222211121212121112221212121112211221212112122122121121122212212221211222222221221112211222212212221222221222121212211121122111121121122212211112122111212121121222221111121122212122222122211111211122212211212121211222222122212212212112121212222211221221211122221111221121221222222212121221121221221121212211222221122111211221212122211121212222122221111121111111112111212121112122111112112221222122112112112112122111222221212122211111111221112111111212211121221111112122211212112212211221112122111211111211212212211112211212221111212121211222112112122122211211222212211222211112122221212111221121121212211121111122111222122112222121111112122122111121212212111211211111112221112111211211212212112121221122111121221211122222212221122221112222121222221121221112221122221212122221211112222211111112111211121111222111122211211222112121212221221121212112222111122222121222111112122221112212212122121211122122212211121211112211221112122211222211222121221221221221211112112222122222122212212112212121212212111112212222221211111111212111121121112212112122121221212211112221221212222222211211111221221112211112221121221222221212222222122221222212211122222121211211212222112121212212211211121221211112222211212111121212111222122112211212211111121221211212222222212211221221122221211112211212112222221211212112221222112222222221222221121221211121112221111112221222221212222111122121111121121121112211221122212222112211111121222222211122111211112221122221212111122222211121221212222122122221222112112122112212122121121221112211122122122121212221222122221221211111122122222211112111211211211221222121111121221211121211211221221111112212111122212222221212112222221221111121212221222222222111111111122221121211122122212111122221222212111221111222221122211121122112221112222111221212111211221211122212222212122112212121222222111121112121111122212221121122222211111212122112222112112111121111121111112122111112121222222112121111122212222121121121112211122111212212121122222111222111212112211121111122122122112212222111112221122111212212122111212122112122211222121211221111222211212221211112121222121121121211221222121222112212112111212222122212211211122221211211121112121112211221121112122112221212212122211221212111122221112112121212211121112211212221122112122112122222111112222121122222112121121212211221111111121122122112121221122111121221122122122212211112222121221111122112121111111222211211121121212212222121221111121212111211111121122222122111221111221211112212211122222221121112222211212222212221122112221122112212111211211212211211121221211111212222111121221112212211112111112212222221221211111111222222121211112122121112212111212122222222222212112221111221111211121121111211111221211122112212111212221122112211222121111111221211211221111222122121121221221221121222221121121121222121111211211221121122111121112112211112122111212112222221221211211111111111122212222121212112111121212121111121121111221212212122122211122121112221111112221222112221112122112112121222221222212212112111212221211211111121212212222221212222211122121122221212212221221211222212221222122221222121222121222211121222211111112121221112212211112222112112121221121221112112212122122112121121122211122112111122222112112112211221212121112112121122121121111122221222212122122112122212212222111211211111122222211212121121111111212221111211211122211111222222212221212211212221211122121212222111122212222212111112222111211222112112222121122222112222111112121121111222212121212112121212112211212122122221212111221112211121122111112111111122222222111211111122222122112222222211221212111211222121222112121212221212222221122212211212222121222112222111112122122221112111212212121222111122212221122111212221221112211211211112111222211111221122221211112111221212112222112122211222122122212222121221121211122121111112122222212221222112222221111222212111221122221222212222222211121222221122121112111221122121121222122221122111112212212222122121121122121112122212222121221212212121111211222222121112111112122212222111212112112221212222212122122121212211212211221121122212222112121122212111211121121211122211111111122111122222112212211121211122122122222222122112211121121221221222112121222222122211121112112212112212211211121221111121211211121121221221112112221121212222111122112112212112111221121122212222222121221212112122112221122222211122211121222212222112211212121112212221112111121111122212212221222112112112211212122122221122122221221221211212111221222221211122221112211212222212111121212122212112121212221212211222212212112122212121222112121121222222122212212221112112122121122211212212121111112122122211221122122212122212221112111222212211121212211212212221111211121121211112122122112122211122212211221222112212111122122212221212111121212122112211111212122111221212112122112212221112121212122212111111211222212212111121112222122122222112222222111111221212112111221121211111222212122211112111221112221221111212221221212212222111211122112212212112211121211121222212221122222112121212122111121221222211112121121222121112211121212121211212122121111121222121121222212211212122112111111222122122121112212112211221212121222111211212121122222211121121112222212111122111221122221112122121221211111211111212222112222211122121122212212212121121112212221212111121211221111121211121221212122222122211221122221111122211222111211112121211222222112211112222222121122222221221122211212111212211212111221112222212122122121221121122112221121111222221211121221122121111112211112121112212112212222211111122111122112111121112212121211212222211122112221122222121212111221121112122212222221212222211221221111222211212212211122112221221111211221111112211112112212222111111122112221222121222121212111211211211212211121212212121121212121221111222111212111222211222212121121211112222221211122212212221221212111111112122122211221211221211211212121121122222121122112111222212122121121222111212121121111122222222121211111111222211122211221221212122212122122121111122212221211221112221112221122121212112212122211212221121221122111122111111121112221211221211112221121211212222112222121221112111221121212121112121221121111221122112122211221122122122112111211211112112222222211212122122111111222122212212111211112211211121112122122112211122222121222221122122212221221212112221121222111222221121121122112122111112221222221211221111221212121211121111211111111222111122212122221121222122212122122212111221121212121212121122121222112112111212111211211111212222121221121211112221122211211111111121212111212211211221211211222112211212221222222111211121121121122111112111111212122221212112222121122121121121221221212111121112122221112111111221111221212121112221121121222121211221212112221211211212212121222212111122221221121212211221221111121121222211111122121111212121212121112112112112221222221122222112212122111221112122122112112112121211222112211111121122212121111111221211111222112111212121221111212211212211111221112211212112122221211112221112211121222121121111221111212212222211212222121222212221212212121121212122122212121112211212111112222111222112212111221212221122112111211221111222222111112211122212211222122121111211111122211221211122212111211121222211212211221121221222211121122122211222221221222121111211122212211122221221221211112112221212112111222222211121112211221222122122212122121212211121221221212121121221221121211221121221111112122221221212121121122222111211112221122112112112112222122112111122211111211211221221212222221121122221212111222122111122111212211111222122221212222121121212222121221212212212121111222112112121112111122122111111211121212211112112112222112211212111222121212112122222121221222212112112122112111121221212222111121222222211222221112222221212211111211221111112122212212121211121211211212111222222222222121122112222121121211111221122121211111112221222111211222212122212222221212222222121121212111122121121211211121221212211122221122222221211111121222221111122111112111221222121212122221111211122222211121112111111111121222222222222212212121122112111121121211121221121121121221211221211211212222212112111211112211122112222122222112111212122211211122122121121212222111111211111111222212112122112221212122212211122212211112122111221122111111212121212211221122211122211211211112111222121112222212121212121122221111122211111221121212121111211112222112211121222111221111112112222211222121222112121222212211111211212111112122111122111212121122222111112111112121122221211121112211122222221212111112122121212121222221221111222111212122112122212212122111212111221211122121212221111212112111222111122221211121121111221222221112221222121221111111212122221222112112121222112112111112222122222122111111212222111111221222111221222211121112222111112211122212122212112221212212121211122221112122212112221221221221111212222221222112121221222122112122112211211212222212111221112121221212212112222212122122121111112121121221112212112211111212222121111112122121121211112211212211111221112112111221212221122211222111211221112211122121112121112122222112211211122221211221211222211222222221211112112212222222122211122112211111211222211222211122111111212221122222121221122211121212111111122221222222121111111121212211112122211212221221221222221221221221211111112211212211222122221112121111221121212112122222112121111122112212211212111222221221211211221111222121222121212121111221222212212222122211222121112222211112222222212111121121222111221212122112211211111212222111111111121122111122211122222112122122122111221212121111121211122222211221211112121112211112221221112211111122122111111221211111221222221111221222122221111121221212111112112111222221112111122122221111111221221122111111211112111112121121122121122122211222111122222212121221112121111211111122121111111121211111112112211211222111212222222111222121111222121221111122221211111222112212111121212121222221111121122122112221221221121122112221212221211112211222221212221111212212111111122221211212112212221121221122121121121212111122222212221211212221111112121211111122111111111121111122211211222211112222112112221112121111112211212111222121212212122122222211221122221221221111221112221112121211121222112121111111211211112211112211121122121222122211121121112112211122211121222212121212222212221212111211211212222221112212112211221212121122222121211212112222111111121212212211121111221112212121212121212212211212222111111211121122211112222111211122221211221111222222212121111221211121212111211222111221121212121222122211121221122211122212111121111212121121122221112112221222121212221212212222221122222112211121222222121212212211222221112212211121211111111221211221222211121111111122212121211111121121221221211212112111122122222111111211111111222112112221222111112111211221122222111222111222112112122212211111121212122121221221212212221212122111211111211121211212222212222111222221122212221221122222122211121222122221112211112121121221221221211112212211122122111121121211122112222112212211221112122111211221122212222212211222221212212221222221211211111121111211221111121122222122221111211211122122121221111211212221222122121111112221212122211121212121111221121212121111111222111111212112211212222221122222222121211122121111121111121211212221211122112212121211211111112221111221221221221211221221121122211212222122221111112112212111211112112112112112121211122212121112111222211122111121111112122122222112112221211112212221121121221111212222111111211122111122212121212112112221121111122122222121211121221112121222122211212121222221211211222221222221112122211111121222122122112112211121211121221112111221122222221212221111211211122112221112212212112112122212121121212111111112112111221211221111211212211212222111211211121211121121212111112211112221112121121121122211222122121212222221121111211111211121222122221212221121211122111111212121211111122211211212111111222111111211221111112212121112122212212212111211112121211221111111122112112122212222121111212112112221112111111111222221111221221221121221122222222222211122222221122121222211222121121122211211112111122222121111111112111221121222122122122212121222211112221221112121121212221111112212122222121212121222122111221212111222121122222212112212222122121122222212222121122121212222222221121122222221211212122222221111111112221222221112111212111122121211212211212121212212212212121112221211222211211121121111222221222211111221111121111121111121121211112121212211221122212112211122111221111122212111111211222212212211122112121211212212221221212222112221211222222221211112122111111122121112212212111222112112112212111111222121122122121121212121112121121121112111211112122112222122112112111121222112221121121221122121121121212121112211212222212112121211221221112121111221212222222121222112112211221112212111121221211112212122121122122222222121211121121221122122212211112111112122122211212221122222121111221221221222221211222112212112221222112222222121221111111122111121212212121111222222222221221121112222222211112222112112122112121212122112121221221111122112222211111222112212122222211211111211112221122212121212111112211222121212222122122121122122122111221212122121222112221111122122211222211111112121211122112212121111121112111112122121222112112212121122112122211111122111121121212121222211122222221222122112222111121112112221222212112112221221212121121122212222111221111122122122111211121212121212211121212212111111112121211121111121111122221121212212222211211222221122221121122121112212111221121222111121122121211221122211111122221222121111212122121211111112222112121211221122122122112212211121121221111222112112221222111122111122111211212121211112121221212222211211122221122222122211112112212222122212111121212211111111111221221211222111221221111111122212222122112112221122121111222111122122121112121112221211111211222221121112221122211111112111211122212111121221122222221112121221112221222211112211212112212121222121111222121211122112111112221121121211122112221111222211122211121211221212121222211122112121221222121221112222222122221122211112122212212212222221121111121211211121222221211111212222221211122211111222211211112122222122121112111121222212112121111111111211212222121212121122121221222212112122212111211122211121121222222122111111211222221222121121211222112122222112211222222221221112111211111212222121122121221212211111122112121111212211221111122221112222112111122212122112221121121211221121122212121212212212221211211222222111111211111122121122222122221211112212121111121121222211112212111121212211112122112122212221111111121122211122212222121122122221222221121121112111112211211211221122222112112111121112111112222112222122221221222111112121121122211221112112112222122212112121121221112211221112212122222222112212222212211221122212212222212122122222111121221212112111111111122112112221221211121112221111112221221111212222121212122211212111121222122111111212222221111211221212212221222111222122222212212111121111121111122222112222221111122212121112121111221122211121111211122211212111222121211112112122222212212221122212122112121222212212111221112222122112212122112121112112122112111122121112122112122111221122111211221121211111212112111211111221122122221121121111222211221221111121121211221121122112211211211121221111121122111212222122122121211211211121112121212111121221121112111221212211222212112212112221121122112111222121112212221222222111211222122112212111212222211221221211221222211212121111211212112212221121222121112211121112211221112212112221221211221211222222111211121111212212222212112121221122111121111221221111122111222122122121221222111222212112121122222112112211212222211122111211112212221212211111111221111111122122111121222221121121212122122111221111211121222212121212122112121122112111211222211121222112111212211211212211121212211212111111121122222212212121222212222212221212112111111122222221112211221222121121111121212211121222112121122222112111121221222211112122222112121222121122211111122211222212212122211222122112111221112112212222122121111112112122222122121222121221211211221121112222211111222111122111212121111112221111222112221121212221222111111211221112122112122211112212121221111211121211212112112111121222211212222112112212212111222112111211212112122111121112212221111222111122122122211122121221221222122222211112221222222112112212112121121212121212112121111221111122112221121211111222112112121111221222111111112212211112222121112111212122121222111222212121112211212112211111111122222222122112222122111121211112221221221212212222111212122122212221121112111122121222222121211221222212221121112121111122121122122212222121211211221221211212121111222111122211111111121111111212111111112212122111222111112222112112211122212212212122111212212211111222111221211121212212221221221112111112122222222112111222112221211221122211122122212121111121222111221221211211122121222221222121221221122221112122212211221112112221112222121111112221121112112221212222221121111121212122122111222121221111122111211221122112212111212212221212221111111212112112112211221221221221211112212111121222212212121222211211122121221111221122111122221121221112122122121112121112212112112112122122121112222121111222211211122111112212112211221211112212122212122221211122111122212221121212211221222212111121221221112111221122222122211221121222111122111221121212122212221222111212111121111212111122222211211122112222222112121222112112111212222112212221112212111121212121122221212212212222112212222222111212222111221212211211111112121111122121112212212211112122111212121122121222112222121221211211222222112211212111121211122112111211212111112122221111212221221122211222122212121212221111121222122111121122221221111222122111211212212222111211212211212212221212111221122222222111112222211122212222212111121122122221111211212212221212221111211211121211222121222111221121121121211221212212212111121221112222121112112122112211111121122122221111222222211122211121212221221112112121121111222122111111222112111122222211112112221121111122122111122111121222112221212111221212212212111121212212111121112222211112111112111221211122212211221122111122122221121122112112121221121111212121112122221112122122111221112221211121211111221212211112121121212211222222212211212121122212121211122122122222111221221211212122222211221212112121212111221222121111212121111222111221211121121211222122222221112112212111221222211112112222222112211112212112221111222221121212122121112122222122112212122221121122122111212121222111112121212221112111211212212111112212111122122222211212211112221222211212111211122112111122121122122121111222212211211221222122212112222211111112222212122212121111122122112212112221111212121111122221122112212112222112211211112222121221112112121122112222221211111222112111111221122111111221212112112211121221211122111121211112122222212122111121122212212222122222121221112222211112112121112211222122222221122112112112121122122221111111212211211112222222221221221211122222211212222122211212112222211121211121221112211221221112211221121221121112222121112221212111112211222221111221121122222222212222222222121221112221221212121222122122111212211121111112122112211122112211221221111211112111212111122211212122121211211121211121221222211211212111212121122111221112211211122221222211221121122111122111211111212122221212222211111221111112122122122221221112211111211221221221221121112211222222121111211211112221222121222222222111121212221112222111122222122121211221211212121111122121111122222211111122122211122121121222112212122212221211221111222222112221122212212211212111222122212121122121122211122222221222111222222121221212112211211121112112212211122211212121221222122121112122112211211112211112122211222222212121212122112222212122212121211112222122121222211111222112222211211122211122121121122112211221222121121121222111222221212212112122222121221111221221211111212121112222112221121122222211211221212111211122211112121222122112111221112221121112221112122112212122221221121112122211112222212221122221221211112211121121221221221121211122222112111122212111222222122111122111111121222211212212112111222212221111111112222221212112222212222211212212111212111221121212222121111112121212121122111211112111112211222221112211221121111211121212112211211221121111112122111111211122122222121222121121221221222221211121212212221221121122222112122121211121111121111211212111112122221112111222111122212222111111222121111122222121212121112122112212111121111121222121221122221212212212112112122212211211112221112222111212221112112112212211222211122111211112121212112112112212221111221111111122221122221221222111222221212112221112122121212212222112212211122112212112212122222221121122112122222122122212211212111212222211221122222122111221212222212112121212221211211121212121112121221121212222111221121112122111112221222111222211122122212221212112111221121222221112121212221111122122222121112121111112212212212121211221221122221111211122221122111121211112222111122212111222122221112111222121121112112211122222212121212222112212212111111111122122221121121212121221112221112212122122212121112211121111222221121121211211211221222212111112222121122112122121221211112112111112221221222221221112221211212222222121122211121121121211122121221222111211222221212222112111222222122212111221221221112121121222121111121211211122221122221112111121122212221122211222111212211111112122112211122222112222111121121222221122112212121111121111112121222212221121112112222112122222112222112222221121112212112222222111212221121211111221211221122211111222221112222122112221222222121112212222122111222111211211111221121211222211212211212122111221212211122212212211111212121112121221122112211212121121121222211111111211111122121112111111111122121112121212121122122111221121222221121111222112222212222122112122221211121112212212211222111111222221211122221121211211221221222111111111222211122221112121212212111111211211112221121211222221212212111221121222211111212212222211221122111222122122112221122111211122111221221121211111212121121122121121211221112111111112122122221121112122122211211222121222111122221111122122211122121211211121122122121211212111212222222112221111211211211111112222122222121121122211112111112212222221212211222121122222122111211211212221222212112221212221122121212111211211121112212111112121221122121221111111222121211121111111212222222111121221111112212121111112122211122212222222112211112222111121112121111221212112121112112121121121112221122222111221112222121122112121121212212212111122221121211122111122122112122212211222222212221212112221222112221122222122221111222111211221122121122222221212212121112211211212212122212222121221222221121211212212121221111222221121122221222212121122122111122121221121212122222122212121112112211221222222121111112121221112212112211112111211221111222111121222122122112221121121111212211111211222112212221221122121112121111122111121121112221111211221211212112222212122112211222121121112111211212122122221121212211112122112121221212211211222211212121112111211111222112111211121111221112121221121121111221222211211212122112211112111112121221122211112111111221222211111111211211121122222121112212211221211112121221212122211212122122112212111112222222211112111212221212112122222222211121112121122211221221222112211112221212112122211221122121212122222111211212221111211121112122122111221112211122212112222121222222121121221112111222111221122222121122211211221212222212221221111221111112122122212122221221122121111211121222222221112121221211122211112122222122122212222212121221121221112212112211211221111112212211211221122112222111112122111111211212221222122121112222112222221122212112112112212121112121222121121111222211122222222112122222112111212212211211112112212211221221121211212211111211222121122112111221111221211112211111222112212112111222122222111121121121122121111212222211211221212211212221111112211211222112112112122221111212212111222112221121221112122111211212222111121221221112221111221121221211111212221222112111121212212211211222122111212222121112212122221212111112112112112112122212212221121112211122111221211222222111222211221221221221211121221222111121112211121112111212212122221122222122122221112212111112121121221122122221211212222112122211211211221221121211221221112112222212222111212211211111222221111122111112212111112121112112121221111121111212112221211122121211112211121121211211121111211222211212122212112212111221211212112121222112121212122112221222111221222212221122112211122122211222122122222121122222222222112121211112221222122111221221212212211112112221211121212122122222122112111121122121221121121111222222111221211212222222111221112111122111111212211122212212221111211222222212212222122221111221112112121222222111222121221222121212112122211222122111212222112121121221112221222222222221221211112222212112122111221222112122121122211121211121112121222212121222212222111221222112211221222211222222221222122122111111211122221112122211121221222122112111211111112121112111121111122121211222221112211111221122122211122222222212121121222122222112112121222122121121221122212221221122222122112222222111111212112211222111222111221222221212112212112111111212122211221121211211122121222122112112211121111121211222221121221122122221121221112211222222122211112212112112122222121111122221122212211111222211122111122122112121111211221122221222122222211212112111211122111211221212222111122221122222121212122112221222121122211212111222121212211111222212112121212221122212221111112112111121112212111222211112211121211212222111212121211122221221221212122121121222122112212112122222122221111212221222212111212122212112222211122211112221211221222221221121211212211121221221212221112211222222222111221111112121222211221122222122221211111111211121112221212212211222221221111211221222112221222122122212212211121221121212211121211212222212221211222222211121221221111111121122222222122112221112221212221221212121222221222212211212122221121121222211212211211221211212221122122221122221111211212212112212211121121111121222122221122211221222221212212112211222112121111221221122211111121212122212221121111211221122112211212121112122111112112122112111221112112222112122122111121122112111111112112111211212121221121221212212121111122212212111212112222111211211221122211122222121122221112122122211111222221212221221222211222122122212221122111211111221222112222111221222222121112222122211211111221111121122221121222122112121221112211122112111121111122112212212211111112222111121122211122212112221111212222122221221221122222211222111211122222121211211111222211221121222211222212222112212112212212122112221122121212222212211112121212221112222211221122212111212221121221212211121122212222112121221222112111122112111121211111221111112111122111111112212212122112222112122111212122111211111222211221222112221212112221111211111121211212112112122222221121212112122212221122222211222222112112121122121222112121111221121212221221221221221221111212111112211222211112211111211111122212222222222112221122112212221211222211122221111112221211212212222121122112112222112122212212111212121222222222221111222222121221111111211122121221112112112221212211212211222122211111112122221221222112222221111222212111121112121111221112122122112212122211121221211121111122112211122121211221212212121111222221211112221112112122112211122111222221212122112122122211222221212211122112112221111112121122121212222121111121222222122211211221122111112211112212112112221221222222222211122211222221122211211222212221222212112212211222212121122111211222122221212112121112222222222111122112211111222212221122212222122111111111122211222221112212122112211122111222222211211122111211221121112111111222111222112211221212112211121211121121112112121221121221122221221122221122111122221211221222121111221211222112221221121222121211212121122111112222112222212122112222222221211122121112111211222111221121221112112211121122222121221111112122221112111211111112222111221211112211121212112221121112212212122121221222111111121212211221111121211111111111122121211212121122212222112211112121211121122121222112122212222221222212211121221211121221111112222212211111222121122221112222122121111221121111112222121222212211212112221122122222222222121221221112221211121122211122211222121211211121111112112221221221121222212212111212122221121222121121212111121222122222211121211122221122122212122212122221222111111122221222112122212221211221221121122221111121112211211222122221221122111221111122221122222211211212221222212112112211211112122121121221111112121122112122122111212212211111222112211111221211221211121222121212212121121111212222221221121111212222112121122112112111211111222222112212211221121211111222122221112122111112212121112122121211122222112211111211122121111121121211221112111222212111211221111212111222121212112221111222111212211221122121222211222111211112121211222121211122111121222211221222112112212222222212111212212111221212222211111112112222211121121121221221111112211121121112112112121112121211222211112222211211222221221211122211111121122212112212111212211111211112211212221221112211212121122111221222221211221112221122112112221112121121112111212221211112222122122211122122222211122112222212121222122111122212121122111122111121221211222121222222111121212122112112222122222212122222211211212121212212122112112222222111212121222222221111222212111121222211222122112211111121221112212112112112122122221112212222212211112211122122111121122122221111111222111121112221111111222122212112122112211211122221121211111211111111212212211212211211122212111222121212211211222211222211212221222211212112212112211112222222211121112122121221112211221211222121221222212211112122222211122222112222122122112211221122111121111121122221122221212222122112111222121121221122222221222222122212211222111211211121111211211121111121222222222211222111212211111121221222212122212211112211111122211111121111121211112212222112222121122222211121112222212212112212221212222122221121212221112212211111222221211122112111112122112221111122112121122222212121212121112211121122222212222212111112112222221221121222221121112221112122121112112112121121212111122222212111211122112122221122222122112222111221122211221222122222222121212122111112222122122222111212212222112111121111212122222121211112122122222221111121121111221221211112221122111211122221212112111112211121112121212221221221211212221122111121221221222221212112122222111222222222222121121122221222112212111121222112222122111121222122211111212112212112112221221221211211221222212112111122221221122221222222111121112121211122122112111212212111121212212211211122222221121211221211222222222122212111122212122222122212212121122111112222112212122211112211121212211211121221112121221221112212221221121111112222122222212112212221222111121212122122221112221222211222112122111121121221221221221111221122221211111212212222121112212222121121112221121121122221121121212122211211211211112212121111112221121221221212112222222211221112221222122212221212222211221221121112221221222121212122222211112111222111212122111221212122121211212212222111211212212111212211121112211211211211122122112222121222121111212111121222111112212121212122212122112112121122121122112111121222222111221112112211112222222121112222122112122212122211122211211111112212222111121111122111222111212222212211121222121212122121222222112212211122221121121121112112222222111111222112211112222112122122221222111222212222211221111121212122211221122221221211212212112112112111211121221211221211112211212221212212122111211212112112211122222221211211111121122221111122212221211112212222122221221212111222112221122122122221111222221112222112212122122121222122111212222111111112111221112222122111221111221222221222121221122112222112211111121122122122222111211221221122221111121112112121112112212212122222121211111112222222122222121221112211221111111121221211121212112211222211222121112112122122212112111121222111221221122211222221111221111221221111121122122122211122222121211121211122222212122221221111222111112222211211221122212112221122212122111111111211212111212112122211221121212122122122212122122111212121211111112111121112222122112121221212111122211211221212212111111112112212111222211221222222121122121211121222112122121222111121112211121112112212211222122221121121112121112212111111112221222221222121112112211122112112221121221222121111221111212211112121122221111111222221122111122212122122121211111112122111112221122121222121211111112211212122211111111122221121222112211222112212112112122222211111121112122121212121212122112121111221222212112112211222122222211221112121121212121221222211122112112212211122222222111122122121222222212122222121221122122211121221222222112111122112211111121212111211122222122211121122122111212212111121121211211121111121121122222111221222211221111222111211111212112222211122221112212222221121121111122121212111211212111112222112222111221221212211211121112121121121212211121212111211221221222211211211111112112112122221111111121122221112222112112122212212111121112121122112122112121112111111111222212112122112221122111211112112122221211121122212222121122221212122111122111222112121122121221212222222211212112111211222222212122121122122112121121112121222112112111212112111212222211212122112111221112112112112211121221211122222211112222222222122112212111212112212211122211122112221211121112212112112211122122122122211221122222111221122112221121122212112122221112121211121211222122121111212221112111212221221112221111221221221111122112122112221222221122222222111122121211111211121221221112121122212122111211112222211222211121222221111212211111122121221111111121211212211211111121111222111221121211212112122221221221121221212111122222212121112122211122222222222222222221212221221121211121111221122112122122112211212112121121121112122211111121112222221121112221222221112211111211211211111122221222222112112211222111221222111112121111222121211121211211211122212112221121112212112122221221222122111111122221112122212122222112212221222212211222221221111112212112221212121212221121222112212122212211111112121122111111112111212222112211122211121221122212222122211211112212221121121221211122221112211122111222111112222212221111111121222221121211222122112221221211211121212112112121211222221111112222112121221212212112211122221112221221121121112212212112211112122211212221112222221111221211221212121122211221111111122111112112121221112122122121112121222111212222222212122112212222212112112122221212222122121212122122212122222221221221222122221111121221121211112121222212222111222211212211222111122121221112111212112121211211221122211211111122111211212212121112211211112211111211211111212212221111121122122121221221222221222121222212212111222211111111122121212221222222112211222222211221211112211222221111112121212112112222121122211111211212112111112212111222122111111212212212112121112111211111111121221112122112122122111211122112222111212211121122112121121212221111212112122221211222211221222121121212212112222221112112222121222112211111212122221122122222121221121221122221122111212111211221222111222221212121122121121111111212121112222111112122212211221212122121222112221121111212111122221211211112211212122222112122112211222211122221221121221211211121112212221121211112111222221122222112211211222211122211112212121111122211122221221221211222212221211121211222121222112222121122122211222122222221222122211122112222112111121121122212221212111112121121122222112211221112122112221111211221121112222121221121121212222111111222111112221211212211211111211121211211111111222222212212112111222112122111111221111122222212121221112212121122212121222122221222111121222212211121121112111212112111111212112112111221121211121111221211211121112121221222222111112212221122122222111221111121111212222111121221121212121221222122212112212121122211121122221112221212222211221211112221221121221121222211111222121121122111122211112222211111121122222222112211212111222111221111112111121211122111211122121121211111121222121122212111211122212122122121222212111212122111212222221121111122211121222212112212112111212111111122122221222222211121112212212112111211212222122122122122112122121212112121222122221111111121122122122211111211222121212212222112111221212121212121112222112111122112121212211222222111122211222222122121111112211111121111211222122121112222122221212121122221222221121222111212112211112212221212221122112212121222221112111122121112212121212212222212222112111212122222211112121111212112111212221211111122211211121111211121122121222122121111121211111122121221111222221211121112112122121111212211222122121112222221122221122222211222121112221121222122211111221121122211221122121222211111212111121122221121112222122111212211111221211112212222211211122121212112111112211211211211222212121211221222222211112211221222222111111121121112221112121212112222122211222222122212111122112121121121121122112121122112211121221122211211212121222111111112111211122121212111211211122211221112212211121211111111212122122221221211111111221111221221112122121122221122112121211112121222221222112211211122212122211212221212122222112211211222222111111112121121211111122122212212222221222111121212121222211111112212112112112112212221122112221122112212221121212111222112212212222112212122121212221211111121221121121212222211111211112122122222112122111121222221222221222112221211221221212112222212121222211212122211222112211211121122222212221122112222112212211211222111212222121111212111221111121112112121112111121222111122121221122221221112112222112112221211122221121111221121222222212122122211112122211221211122211212222121111121111212212211222212221212122122121111211222121222212112222221212122222111121111111121221122111122222212121111212212111212121121111211211212212112111212122122222221111211122122112212222121121222111122221122222212222112112122112212112112222211112111121122111222212212211112121122122121112211122212222222222221222122121221111222112111212221222211122212111111111111111112112111121122211221212222121221111212212112211222212222112221211111121212112212111111112121211111221221212112122221111122211221111121122112122212112122212221211222122121212211222122112212221112211112111121222121112211121121212212211111121212112222121212111221222212121212122122221222122212211212122121222221122121121221211211111221212112221221121211111211112222121212112221122121111221221221121122212212212112111122222222211121211121221122221221221212122212122212211222112122211112221122222221122211112221122122221121111121221121222111221111121211121112111121121112221122212122121122122122121111221122221122121121111211122211221122221121121212122221122112121222122212112212211121122122111111222121211121112212111221111221211221111212211211111221111221221121221112211222122111121122211221212111221112212222222111222211122222212112212221212121111211222212222212122221112211121112112121121211211121121122121221221111221122111121211112111112222222121122121211222211121222221221121111112221121121112122121221221222211211212111211221221212221112111221212122121121121112122111112111221212212221122112111221122221122211121222111211111121212222212211112111122212221122112111112122222221121121112221111221122121211112211112211212112222222221221121221212121112212222212211211122111221111212211222112211111122121121121122221121212211212112221211112212111112121111111222122122121212122112122211111122222111222122212222221121222111211122221212212222111212221212122221211121121212122121222121222211122111211112211221212111111122121221222212222112121122111211122121211121211112212122121211112111111212211212211112112121212112222111122121112121222121212121121122122112211121222121212122111121221122112122221122221211221111121212111211122222222122222112222221211212211221121221111212111222212122111212212212212212112112222222121112221212222111121121212111212122122122222112212221112211211111121222212111211111111211111221212212212111122221211122111211122211212212212112121222112112111112222122122111212211122221222222111121212121222221212112112112122121212211211111211211211221211222122222112211112222121122222112211211111212122121212221112122112212221211112221111112211121111222221112222121212212211111221221221211221211222221112122112212112211121212222122222222211212212111222121121212111221112212221112222211122211221121211222212112212211221121112111211111122121111112221122122221222112212221211222112222222222121221111122122211122111111222112121112222122212221121221121221112221122121121221122122211111122121221211122122112222221122121222211121111122221111122121111121111112121122212122122212212222121212212111121112121111221212112221221112112212222112211122211222221112221211211121211221212211122221212122222121221212122111221111222122111212222212212112121211111122221112112112211222221122121122212211221122211221111212111211112222212112222222111112111111211212122121112221122121112212211112122121222211212111222111112222111212111111111122122112212211111112111111121222122121112111222222122122212122121111122121212111122221212221222121212111111222122211221211112212111222212111111111212112222112111122111222211121112211212111222221221122211212112121112111222211122211211221211211122212122111212211122122222221212211111212212211122212221221111211122211211121122211121111212211122121111122222221222212111222112121222121111111212112121121211222112221121221112212121111221121112122222221212111122111221122112112212122121211121212212122121121211122221222111212121121211221121111211122112112221222122211221121222212212112211111121121221111121221121211222112112121122111221211221222111221211111212122111121211222221211222222122212122221212111121121222111122211211122211211211212222221222121122121112212221122111222212121212122122122121122122221221121122221222211221212112221111121122121112221122222221212111222121221112122121212122122111111211122121122211122212222211121221111222112222211121112112112112122221121221111211221122121111212211221212122122121111111121211222222211122211212111222211211212211111121121121211112122212212221112112212121121121212212121122212212122222222111111211111121222122212212121222121112121221122121121112121121222221121112121112222112122121221121221111111111112122212122211121211222221111112222121112211222211211121221222212111222111122121111211122212111112222112222112221212121122111111222111122211111212221211211112111112211221212111111211112222211221122121211122222212112122112221212122211222221122221121211122111212222222222221211122212121211122212221122112111121212212121221222122111222222111122211121121212222221211112211121121222212222122222111221222112112111111121112212211112212111221121221112212121112122211222221121211211212211222221121212122212122112121211111112221211221111112122221111111221111212121211222212122111112121221121211112121112111222122121121121212221111212221221212222111222222211122121221121112221221111211222111211122122111111112121111122222211112111212221221122211211122112121122121212122112121121112112221211111121122212212121222122211212221211111222112121121112221222122211221211112212211112221111122111212122122111111222211112212212212121212212212111122221112121122122121221211212122122221121122112212212112211111222211221212211211121122211121222212121212212112121121212222212221122211222121212122221121121122121211212212121221112211122112212221111212221121222122211121221222211112211122211211112112221212212212121222211121211111122112122221122222212221211211121112122111111122222222122222121111122222111122111221222212211122221122211121212112112121212111222111121212222211112222222222122212211212221112221211122212122212221221122122211111111121211212122222122221212111122221211122111221111121112112211121112111222122222222221121121121211121122122112211221211112112111222111121221122221112221222112111112112122221221222212212222112221222211222122222211122211112212111122222111212111121211112111121212122121122112112222121221121122111222122111212222221222121122121121221112222112211212211111212121111212111121222122121212222211222211222222221221111112121222121122211221221111211221221221212111221122111112212211222111122112111112222212112111112112122122112122221111111211111122112221121122122222211222111221111121221122112211212111112211211112222222121211221222112212212211212112121211222121222212212111212211221221122222112221112111212122112211222122222121211221112221211221121112211111121211211211111212121122221212222221111222122121111211111211212221121112211122211121121212222112111112221212112212111222112211111122222221121122211212221122212111111112111122221221222121122222222221211112221111211121221111211212112212121222122112121121122121111112211212122111121121212211211211212222111112212221212212112122112212122111222111211112221221121212122222222211211221112111211211121112122222112111121121222121112121211212222111211111122112212212121222211111221112211112211211121112212221211221212211121111211212121222212212121121112211112121121211111111122221112122222211211111221112221122111122212222221221222112112121111212122221112221211211212121211221212221121111212221212222222212212222221121111111212212122122222212222212211212111221112211112112112212221122211112112212111221211121211221222122112112222111212122211121122111222121121221222211111222222121111221221111221221122111121222221121212221212221122212121122121121121221111212222122122211121122121212112222112212212122111212212122211212212221221111222222121221111111211112121121222122222112122222222212222212211111111221112111212211211121222112221221212222211221221221212111222222111221212212221122212212222112212111211222111112111122121121111122211221112212112122122121122222112112111212112111122111211212111221121221112111212212121222111111211211121211111121122211122211112121121112112212111121112221121111112212121111211122121111111121122221112112222111211222212122122211222122212212212222211212121211121221222211111121222122112211221112221221212221221122122221222121112112212121211112111112222121122212111112121212121212122221112221111211111221211112212212111111111212212111112111121211212212211121221112111122211111221221121221122112222211111111121112122211212112122211112121121122121222111121221122112221212111222121221222211212212212122212211222221211212121121112222221112112222222111212112221222121112111211111112221212211111122121112221211121212122111111212122211221212111122111212121212121122112111112211121121211221111222121221222122111212221211122222211221222222211121112122112122212122122122122211111222211122212211221211122122112222111121212121212122222122212212221211211211222212221212211111212121211221211211122211222122121112111112111221212222122112211212212111122212212112222112211212211121211111221212121121211221211112122121112221211211122211122221112111222212112212112111122221211222212122121111221122121222111211222111211222121121121221222211221221212222211221221121112221122211122211112111212112112112211222111122221111111112221211222212112122212111222222121111211121212111122211111211212121211212121112111222212121122122111111212222122221112212112112122222111211112121111221211222111221212121122111111211112222111122121112211112112112222222122121121211211122122212121211112122112122221112222112111112221212212221222222222112222221122221222211212221112212222122111211211121121122212221222221121111221111211221111121122211221122222122212111222222212121211122111222222111222221221122121112221112222111121122222211122122222211111221111221112112121112211222122112222112212222211211222122211211212211212112211121221221221111111221122212112121222222221121121122212112111122111211121212211111212112221222221211112221222122211122211121122211212111112111121112211112121122121222221211222211212211222221112221121112112212111112222121211121112111221222122212122222212121212121112122211212122222221212221122222211222212122212211221112221121112222222221211221221212222212112222221212212112222112221122121212221121122211211212221222221221221222222221222221112122212122111222212211221122111122211211122111111211212221221212222122221111122122212111122112212221121211211111122111222221111212121121122112121121122111111121111212111222211121211112211212211111211211122211111121221212121221121112121121121121111121221212211211121222121111221221222121111211221111221112222122222211121211121221121211212211211121111122121122221221212211122211111111221112222122111122122122121111111222211221221211122222121212121121112111221121222122211112222121112121122112122121211112122121122222222222111112112111112222121122111222122112111111112221211221221112212211121222121221222212221121222211121211121212211111212221212121111111222112222112221221112211122122211122121221112222212122111221222112112121212211211221121112121122122122222112222121211212122112111212112111121112122112122211122122112212112212211222112211221112111222222211211111112111121121211112222221212111111222212111221221211112121112221122221221221112211221212222222211122212122111112121111222211121221212122222111212212122211222121112111112221121222122211212111111122211211121112212122112212221121221121222211211221211212212121112121112121122111221121112112112212212121122211211121221211121112211122122212212211122112211212211111212212111222121122212212111111212212111112122122212222211112212211222212122111212221212122212111112211222112212222211121222112221111122121111121122222112212222111211122212221221222112212121112221222121221112222111121222122221122221222211211212111221222121121121211222121211122211221122222222212222111112121121112222211211212222111111111112222221221211211221112112112212121212112122221221112221121211212112121112212212211111122211122112221212112122222221121111111111112112221211221121211222222111122122112112211222111121112121211222112111211111211221221121112112111222111222121111212221222121221211222212212121121222112121122211211221211112112221121211212211211122111211221221111221111222221221222121221211212212112222121221211221221112121122222212122112111111122111212222212221111111211122221121112222111112222112121212222211212212212222211111121121111221111211121122221212112211122222121222212112221122212221222221122111121211221121121211122111211222212211111212121111122221221221211221211111222122121111111212111222222121211112221121122112211211112221212211211112122122221112211111221222112121221211222122121222122212111212112112121122121122211112111212221122211121112221212211112222211222111211222222121112121212112211112221112122122222221221221121221112222211122121111122111122211122112222211122122221222122121222111121112222121111221222111211221111211121222212221122122212222112121211111121222122111212212211222111222122221222111122212111122212211211212121111221222122221222111111121222222211111221212111212121121222111112212222111111121122212212122221211211122112211222121221212111211222211222222211121112111122121112112122111111221111211221111112112212222121221221212212121211111112111222212221121211111122111122121211111211122122112111221112112121121211222121212212121121112112111212211212121211221212221111121221212212211211212121122212111211121211212222112212121112121222111221211112222112222211122111222122211122122121221112111221122112121122121121121112211211221121211211121212111111111121121111121111112111121121211112122112122121212112222222222212122212112211221211121211122122222112111122212221212222122112221222212212212111122121121122221111122112121211221121122221112212221122211221221211221212221222111222221112121112211221122221122222212121121211121211121121211211112222222112212122222211111211121212121211211211122111211122211211122212121212211122122222221122112112212221121212221112211122121122212222112211221121121222122222222121222111122122121211211222212222121211111221211212112222112112111212121221221112111112122212211111212121221222221122222111111211112121122112211221122122122122221111122212221111122222112211211222211211121111112122112122121112111122112221212221122212121212122211212122111222211221212221221211111122222212212212222122212122221222212112121121121121211111211222221222212122222122212111121121121221212111122211122121122121122111211121221222222122222122122121122211212221111211212212212211111111212222122222211222211221212112212112221121111222221221221112112121121111212111112121121112111122211122121222212122111122112211111112221121212122112122121122111121122222122122212211112111222212111212222112111122122221122111121111112212222111121221112212212111122122121221212212122211222122212212221221212211121211211212111222111222211121111221122222121211221221112111112112111122111111111221222221212122112111221121122112112112112122221212112212122221222221112111221222221221212112121211122111112122221221221211222221121122121121222112121112121122111212122212112221212111222122122222221211222212212212222122211211121211112121112111212212222221212112212221112122221112112111111122222221111211211211112212111221212112222121212222112111212122121122112212222121112122112122112211122122121112121211121222112222112122221122222122212211121121122122211122112122122111211112221121221221222221111112121222122121211122211122212122221221222111121112212112222212212211111111122221122212212121112122211122212222112121221211212211221212212112222121122211222221221212112121211122112121222211211212211111222221211121221211212221221222112222122222122212222121111122121222221221112211122112211122121122111212122112111111221122221111121122112221112211121112221211122111121112212121222111122212221222222222121121212212222212122112112112121221221211122212211222121122221112112212121112111122121222221222122121111211122212221122121122122112212112222122112122222211221211112112122111111221122221221221221121211212212122222222212222222222222121122111111111111121211121212222211211222212121211212112111211112111221212112112211121222112121211211111221211211221222221211121212111122112112111111112122211111122111122211221212122222211112212112121111121222211221221111122122111222112222112122112221211111211222121212212211112221121121111111221212112112222211122112211222212121211111111121112112211222212212212122222111122112122111111112122112222111111222221121222221112111111111212121211112121121112211211112122212221112222112122112112222111111111112221111111211112221122121211211222122121222122112111221222211222122212222121111111221121111211112211212222212212121121221111212112112221111212211122211111122122221221111211121221211212221212121112112211222211211221221112221212112211211221221221122211221111111212211221221111221111112212122121222211112211211221211222211211112122111111111111212112221111222122221221222121222111212211211122122122111221112222121221121222211111222121111121212222212211111111122212122222211221211222222111111221112112211221212212221112122212221111221221111112212212111221211112122212221121221211122222222222212121221112121212112211122222111121112221112222221212111111122122111112112222221212111212122212122111222111212221211212121122122222212222111121222122211111121112221222212112121122222211212121121111112221221222222122121221112111222112221211212111121212212112211112222122212112111222222112112121221211111111211212222211121211112122211212111212112111221222111211212122121212112112222112121221112222221222211212122121211111211112111211121222222112222211222121112122111222221111122222112122211211212121122212221121212211211221122121111222222111121112211122212121122211212221221121221211222211212121121222121222112122121221221111121121112211112111122221112122111112222222112111211222112121211222121122211122222211212122111221222212122212212211222111112122112221111112211121112111122121212222111122121221211212212121122121112211211121122222121222112222222112211221221212112121111122111222111212221111211211121221212222222222121222122211111222111111112111121221121222111222212121112211211212221112222222122212221212112212112211121212221111212121121211121111221211112222121112212121122121212221221211122222121112112221212222112211222222111112121111121211111122222112212112212111122122222121222121111222211221122122122221111211211221221212111222121121221111221111112221221212112121121222211222111111121221121121112212121122122112111121122211212211212211122222221212211211122221122122211112122111222212121222211112211212221112211211212222122121112212121112111121222222112212111112121122221112121221111212221212221112222212121221221121222212112111122112221112221112212122221222222112222222121221221122112112211121121122112122222111221211212222222122211212112121221112122222112212212212121222121211212221111121221111221222121121222121122221112121222111211111122212111121212221212221122222111121112122212221121121212221222222221211122212211221221211122111112222212121122122112211122111121212221211222121112121122222221221112222212222212122122122221111121121222111212122122211111221212222212111112121121122222221111121211111221111221122211122111211122211112212122211212122122111211222222122122211211212222222212212222122121211121221112112212222211221122212221222222212121111122122212211211221111222211121122212121111221222112122222221211111221122121122222111121111212112211112121222211212111222121121122222211222112112122112112111122112222121122122122211221211112221211211222222212222221121212111122221222111122211212222122111112121222122122211111112112222122221211211211112212221211112122222222112212212221121221222122112222211122121111221111222121112212121212211221111222111211111222111121122212222122121212222122212221221211112212211211112212212111212221121221112111122112211211212222121211112122222111122222122121112121211122212111122112211211221111211222221112122212112112121121111222122121221222221112212122121212122111122222111122121122111221111212111221111121111111112122122122221122112221121121221122222122112211221121211111212212221222212111222221211122112211111211221111212222212211111111221211121221212212212112121211212122121221121112221122111222122121212221221121212211211212222222212221221121112221121121122222212221121211221211111121111221121221212211111112121221111112222122122221221112111112111212211112211212222121212112211122212112212121112212121111211212121211112222222211122211212222121122112121222112211211211221221221211221222121212112222111122212122211222212221121212212121222221221121222211111222122121212212122122112212121221121112212112211122122122112222121121221211212221222212111222212212221111211222212111222221222212211212211222222111211221122221122112111221211212212122222222121111111212221221111122112112122121222122221222121122112212112112211111212212111221212112212212222121211212111212212112222112221111112221111121122222112221212122222221112212122121222122221221122111222212121211222211112212121212211222122112221212121211112112121122212112121221212122122222211212112211211111212211212221221111212122222111221211112222121111122122211122211112122212111121221112111121211221222212221112221212221111222111122112121122211112212122222221122212212111212112212221112121221111212122222211121111122122112211111112122211212122111221121121222111222111121212111121122212212121121121212112222221211122221122211211112222212112122122222222111221111111212212221221221211111111222112112222122112221222122111212212121212122221211122212121221111221221212212112122122212221122111212222111111222122121211121121111111112221211211212122211111222121112221211211212121212111112222112112211112122121211111221122121222221121112211212121221212112121222112212211122211112221121222122212112122122222211111111222222211122121112111112122211111222211122211121112222212121121112212121212121122112121211222111212222112211112212121221222122212212221222122222222211122211122211112221221121212121112222211222221121112121221122111211111112122111112122222212111111121111112112222111111222121211212112211112211112112112222121122221121121211111221222222211121211112211112212121121122111221111111121221222112121211212122212121121211222121222122111121221222122121112121121212112211112122111222221212222121121211111121122112111121112121111222222112212122112212112111211121122112111122211212222211222221212211221122222122222121212222211211222122112112122121122122121221112212122221111111221212221212122222212122221111221121222212221121221121111111122112111221211111222222222221221211112111121212112112121121211111121122122222222111222221211111221212121221112222212211111122111121111221121112221112222212221221111111212222211212122212222221211112212112111211122112111111112111211111112112221122212221111121122112221212221221222121211122222112112222121111211122112122112111222211221122211121221122111111211221221222221121221122212122211212111121221122112122122212122112122212211212222221111112111112122122221212212112211222211111222112222221212111122112222122212111222112112211121121211222212221211211212222112221111111122122111121121212112112212112221122221211212211211211112211221112212212122222112112211211112122212122211121111111111211112112122122221211212122112211112222121111211211122222211212221212112212211221112222122112211121111212112122111112121211212112121211121111122212221112212111111221211221222211122122122221112222211112122112122121111111212222112211121121222212212211222122122222112112121222212221121222221111122211222121112112112121212222111222121212222212121221221112112211211111122111211211121211222221121111221221222121212211111122212111212122121212222111211211111212121121211222111221112112121122122121111211211211112122121212111112222122211221111211211211212221121122211221211212221112222111122212112212112211112121221212222112111122121222221212222112212222121211122111222112121122111211212221112112212221212122121112211221121211221112111121122121222222221121211121211112211212212212221221211211212122112221121112122222112111121111121111221112212122222121212211111122212121212212222111121222212212222121222221122222212211121121112122211112111122122212111122121122121121222222111122221211121112112211111212221121121212111121221122221121212211221112221121111111111122222121212222122112121122221212212221222122112112122122112221122121211111112222211121122112222122221111222211111212211112112112211122212122222212111221221222121211121212111211221211111211222221221112111212122211211222112221122112121112111221122121221221211112111121222212111222211122221221221212121221122122111211212222221121211221221211211221212212122121111112221211121121122212121222221211212221111221111121111121222121212112122121121121111212122222211221122221211112122122222221221211121111112212111121221111121111222222212211111111122212112122121212122212121111222212212121211222112221121212112221221212111212111112221111111111222122121122111121211211222211222212212222211222211111122212222222211112112121121121122122212222211112222112222222221111222112222221111211121211121221111112121121122221111122211112122221221211121112112121222121222111112112222221222121122212122212212212221112122212222121111222222211211112211121112212211111122111212221122212112112111211211221121222112211221121222221122111221111212121211121212221112222121121221111212111122212222222221212221211221212122221111211122112111112211122112222221121211122121212112212221211222211222122111122111212121221211112211212222112122212122121121212212112212122221211211111221121221112212122212221222211111212111121211112111221111211111211212112212212211222122221212211212121121211212122221221111212211112212111121111122122221121111121211121212212112211221112122111111121112222212111122212222212121112112112221121222112121212212122122212112221221212112121122221222221112121211112112211211212221222222112222111122211111221211222111222112111222212211212211212122121212112122122222221211221212222122121212221221222211221112212212121211121212212222212222212211122122212212222122222222221211122111122111121111121121111212221211222212222112222111112122111221122221211221111122222112111212121121221211112221112121111122211222221222122121211111221111222211211121211112111222111121112221221122212211212122212112221221222222111121221112212222221211122122111211222121121112122222121122112122221121111221222122112111222121121112212112221111122112221211122222121212222121211211122222112222211222221211112222211112211111112222122122212112211112212222221212222111211121121211212221211111122111212221212112221112211221112121211211222122212112121121122112111122211212221121222112211211111221122211211212211121112222121221212211111221111111112112222121221212221122222121122112222111222212111212112122122212221211112221121111111121111122211122221212122111221112112211121221211212212211122221111211212111122122111221212222111121112121211211222211112111122212111221222222212122111222112211221211112212121121222121222212112112121112122212121222111222222112122211222122222112122211211211212221212212212222221112122111111222122111221122221121121112122221221222121212211122112212122112112122221121222121211121211122221111111221112211212211111222222222122211222112112221122122212212212121212222212121111111222122121222111121212221212212121112221121211212122111121111221211221121211122111112212211122222111121111211122122212121212221122122122211122112221211212222122222221111121222121212222212212111211121222121121122222112221111211222112111112112122121221122122222122222122211221112222121122222211121221122122122221212222221222211221112122112111212112121211212211221221112122212112221212111212212121112121112122221121221221122221211111112221111222112221212121121122221222121211212211122112221212122122121212112212112212121221211212111211121121122112112121222111111122222112212122212221122111211211221221121221222222112122112121121222122111112222111121222212222212111212121222111211111121222112221112221121212112121212222221111212222211222221221122112222212222121212122121112121221211212211212221111122212221222212111212222111221221122212111111221222222221112112222212221222112221212222221211211121122121112122112112211112122122122211122121222122212111111211111222122211211211222121211212221211222111112211121112221122212221122121221221111122112122111112222112111221121222221121121221112121221211221221212211112222112211121121111211111112211222212111121212211122222211222122111222212212122122121222211111111222221221111112221222112122212112121112211212212121122212111212112112111211211211121112222211122111222222112121212121122111121122111121221212121122111111221122111111211111112111121221111221211111121212112112121211221212122121112112111111121222122121211221122212112211122112111112121221121221121211122112221112221212211122211212222211112122121121211112111222112211112221111122221211221211211111111211211221111122212211221212221222221111221111211112122121211112122122121221222111112212211222111211121212222112111121222212221121122111212122122221111212122221121122211222111221121122211212211111111111211221211121121121222211111221121221212111221122122122122221111212111112112112122211121222122112222112211222222222122111122111212221111112121211122112111122222211122112122222112122122222212111112221221122221122121222211122211122211211112211111112111121221121211122112222112222211121112121111111212221111221221221122211212221121122212112211222212112212122221122221221221111212211222121222211211111222121222111212112112112122212121122121121111221211212222221212211211122111222211122211121111111122111122111112221111112121212222122112122122212212111121112221121112211121221122222211222111122211222221222212122112121212121212121222221122221112121222121122212212122121221212212111221122211122121221122112221212121121212121121122122211211112111112122122211212122112111111212121212121112122222121222211211221112111121211211221112112112222221112211121112221122122111111222122121222222221212122121211122122211222121222212121111211112211212212212122221112122221121212122112221221222222221221221222212222211212112122121211211221112121221211211112122111112112121111212111211222221221211111222212121212111122121211122221212222222212122212222211112112211112122121211111121112212212111221212211212211222122121222221122221212111111222121212212212112212112212112122222222211221112122112121121222221221222111212122221221122111121112111211111221212212111122121221222222112111112121211222111211121121111121122222121121111121121221111212122111221111122111122221211112122112111221121112122221111111221212222111221222211222121211212221121212211222212222112211211222111111211221112222122121211211221121121112221121221212121211221211121112221212211121221122112212221111121212221122221111111112221211222221212211122111122122112122122121222111211212211122211122221212111122221121122212111222221122112211211211211111122121222112222111112112212122211221221112211122111212222222112111121212212121112111121121211112121122122122212211111222112211122121221111111222211121112121112212112122211122211211221111211121212221212222211212211222221122111211211222211111221211212221112221122111121222111112111211211111111122121222122221122111111221211121222121112221221221112121211221222122111122211121211122121212211222112121212211122112112222211121221221112211122122112212112111212222122221222111222112212222212222212122112221212222221122122222111112221221122122211211212112112121112222122221222221122122211122112211212111222111221212122112122211211112212111121211222211222212112211121222112111122122112221121112222121212112221112121122212212222222212222122121112112112222222211211221111121222211121111212112211111112212221112212222121112122221211211121121211112211121212111222221211112111121122122112211112122122221122121211111111111121211121112121212112221221221211211222122212211122121112212222112111112121112111111211121122222212221112222221111122111221112211121222222111111212222211122211221221121111112212112111122211212111121222122222221121212221222112111121212112112121122122121112221111212122222211111221212211221122221121222221221212221112112112221221212121212121122121122211111122111222222221122122212221211211211211222221112222222111112212112112212112221222111122112122222122211112111121212121211221112122121221211121121211121211212222111211222221112221121211222212222121122121111122122112211122122122121211111222121221121121111111121222122121221122112211112121122121111212221212212121121212221211222221221221121121121121211222112111221211121112222222212111221212222212222112121221111211222111212122222122222222122211112212112211121221211212221222122222112122121222122111112212112212122121111221211221221222121222122111111111112211121122122212122222111121121121111221211112121211212122211221121211112221111212111122212212211121212211122212112212212212212112122222112111111211122121121111111212222121111122222111122122111211112221222122221211221111222211211112221121211112222221221222222112112121222111211211211112212222122211222211122121111112211111222212111211121212222112212122222111212112112211111211112221111221221122211111212121221121122121212212211211211122211211212121121121112122221221122111122211212221121222111111111212121212211221122111111211111112212122221212121122111122211121112212122121221222121121112211221111111112211121222212112222222221121112212221122211221121222211212121211222112212112111211121221122221111221111221221121121122211212111112221211121221212111222111212122111122222122111221222221222211122122212122122111111112221122222211211222122121222112111122122222212222121211222212121122122222111211122122122212221122112212112121112111122222111122221221122212222211111222211121111221111112212111211121211112212221222211221111212221211222112112112111112121122112212112121112111211222222221211122211211211222212112112112211212121111212212222221122111221121111212212211222121121112122122112212112212112122211211122221221121212121112221111221212221112221112111212111212211212112112222121121222122222212112122222222212111211212211121211222111122211111211222222112221222111222221111221222221221222112121222111122121212221112111122212121112221211112112122212212122212211212222121211121211221121111221212222221222211121111211112121112221221111222212212211222212221212221222122121221212122121122122122211121111111122221112211111211212221111121212212221222112221211222211122221122111211222221222221221112221122221112121221211121212122111222121212121121212122212212212212122222122222222122212122111122222121112111111111211222122111212122211121221212211111122222112211222112111212222111121212222111121122221122122221111121221221122121121222222121122222212121121111212222121122112112111221121112211112122122211122221121122212122222221122121211212211212211222111211212211212222212222111122122222111111222112121221121221221212111112112222112121211111112222222222121112122212211121121122222222212212121211222222222122211212222212212111112211211111111222222112221112111212121112211212221121212111211112122211112221211111112221111111222221222121212212212121222121211212122112212112221121122222121112122221112121122211222212111122122221111122112211212122222212221111222112222222212111122212221221222112112112222211112112212212111111122112221222121221112122122112212122211121111211221222111121112222212211121211212211212222121121111121111221122112111121211221222111211111211111211221222212121121112211222111221221111212111111211211122111212122111111212122121121212222212122112122112122222212121222121122222221222211211211222122221212222112212121211122112211112222211111121221121211221121121211221112221221222212211221211212121122221221111222121211221112221112121111212212122112111211121211211122221221121221121111122121111122221121122211121112121112111211212211212121222212212211121222211212111221111121121222112211121211112111222122121121112111211212211111222212112212221112221112212222122122112211111122111122222212212221122211222212122111122112122221222112221121121221121122221121222111212211222211122111212112221121211121221222222121112122121221222222211221212121222221222121122122222122211211221211211212222211212222222211212121222222222121211122221111212222212221122212222211222222112212112211111222212121111122111112221122112111211122121221212221121122121111122221221111222121122221121222121221111212122222122122122212121111112212111122112112211122112221121121212221121122222222111221211222111221211122212111122221111122212212121111112222112111211121121121212121212221222112121112211121111212211112221211112112221222212221121112222122112221221122211211112111121111211122122222221112121212222111111221221122221122212221121212112111211212221221222122211122122112121221221212222111211121121121112211111222121121122211211112111121111112122211121222122111111121112221122121211112111221111112211221222112111111212211121222121212211111111222211212121112222221212112211121111122211122121122112111221122121222211111112122212111222221222122112111212111222221212221122212221212221211121121212211121121112212222112122211121212122112112211112111112212121111211112221121212121211212111211111221211122122111222112121112211222111211112111212222221222222212222221221122221122212111222122211112121112122222121122212221221111121121221121121122211111221221122222212121212212212122111121212221211111122212212111211122212211111212111212211112121211121221121121212221112122212211111211111221111212112211221122122122221122212111211121111112112222212111121221211112111221211221121112122211222112111121222122112112222211121221112121122111211112121211121112212122222222122222111221211112212122221211122212222212222122122211111211111212121111222221221221122111121221121222122122122222111122212111222111122112111221121221111121112121111122112221112212122212222112111212111221111121221111121211221122122221121112111112221121212221111221212212221211121221211211121111122122121112112122211222222112111121121211112111121122222222121222112211221111111121211111221222211112111112212221221221112111221221211111221221122221222212211212112222211212221111211212221112222211112121122121111222222111221122212221211121221221221212211221121221112211122121121111222221212112222122222122212211121211121212112112121211122221221112111211121121122211111111212211212211212211112211222122111111222122112221122122121112111221122122212111122112211111122222212212212122211222111222212112222211211222222121221111122222122122121212212211121221221211121112111222121111211212211222111221221111121222221212221121111121212212112212222211221211222211111111111121112222111122212222111212121111122212121122112111221211121112221121212222212222211212211122121112121111121211222122122111211212112122222122212221221122111211121211221122222212211222112111121121212122122221122122111211121111112111212221222122222212112211111221112112211111112111122212221112212222112112121111121122111122211212212221221121222122222111121111111222122111112221112121111121112111222112212221112211112112222122211122212121211122122111222221121111121121111221111221111211212222211221221111222122122222221221122112221221212222222221211222122212111211221222121211221221211122222212121112221112222221222121222112212121211122212212222122212122122212111111122121221111122221211211122211111211212212222111221221111222212122112121222221111122211112121211122222122221222112121121212212211122121222121112111122121211122121222212111222112121211121211222221122211121112212222212121221221121221221122222111212111121122221112122212111112221111121122211112212222121222111212111122211211112111122111112211211211222211211222122212112122211111211221112112211111212121121211221212221221111122122221222112221221121111212121212222221212211121121121221211111122121212211122222221122122222121221111111211211111212221112122111221211212112112212112121121122212221111121211121211212221111221222111111122212111212121121122121221222111221211211112112121222121111211112111111121221121122121121212121111222212211221221112122221111112121221112222112122121211122222122111212212122121212122222211112211121111122222112122221212111122222221222221121222121212111221121211222112122122122212111122122112211121122222211212221221122111212211122111111122222111112212212222112222221111111121112222121111111112222111121111122211222222111211112121222121211221111111221112121221222211112112222211212122222111112221212111222212221221212122122122212122212112121111112222112222111111222221211112121212211212222111222222212112112122212112221221211121122221211211112211122221211211122121121212112111111111222122211222211222111111112211111211211212122221111212122221111121212212221122112211111222122212111121122111112121112112212122112211121211121111121112222111121112211222211221211212212111211121122211121112221111212222112212121211221121122211211222112211121212222112212211211112121221112112211211222111122122122221211212221112212121221112112112212111122111212112121112122212211211211221112222121111111112221111221212122211112221122122121111111122121122111122122112221112112221211212111211121121111112121211221112121111212121122112121211211121212222122121211221111222212211121211121221121221112212122212212221211221221212121112222221222211222112212211112112222111111212111122122221221211222122121212222111211212112222222111112221121112211112212122212212111111211111111221122212221111111211121121222211112111121221111121112221122222112112222222111121122211121122211111122122112111122111112122221221221222121212212221212122121211122212112121111121212112112112222212112221112111212221222112112221211222121121112112222221122222112211112121122122122221222111212121122112121122212212211112112222222221221211222211222212222211111212222122121122121212211222111222222111112212121221212121222222222212211212211111122211212111112221112222121221121111212121112121111122121122221221122212121211111222212111212122222122212112211112212221122211222111211211212222212221211122111222111211211121111111212222121222212212221212112111221211121211111211212212112111122111222222112222222212111211211221111222122121111111112211221221121122121121112121222222111111221222111222221221212221211121211112212111121122111111112111112211111112122111121221112222211121222112121112122222212221212211121222211122111212221211211111222122111211122112221211112122221111121211122211212222121212211112222222221112121112121121212122121111212111111121211211222211212222121121121221111222111211222212112121221111121211111112221121211122211122112122221221212212121121221111212221211221111221212121111111122122222211122122111212111211111221111222222122212222222211211222211111122211111222121111222121121212111221111212221112211122222122211212221121121212211111112221112221222211122121212111221222121212222221212212221211111112122221122111122222212111211211111222122222122222121211112111112122221122112211111221211112121222112121112111111122121111211122112112222212122121211122222122121122221211222222211211212222112211221222221212211211112221211121221222121111211221212122211112111112221212111111212211211111122212212221212212122221222212122112121222121211121121122211222221121122112222122122222122112221212221112221122221211122221221221111221122112111122112211221221211122121221121112111111122112122121121222211212112211112121222112111221222222122121121211121211212222122112112211212122122111222221121211221221222211112112222221122222222111111222112121122112122122211111122122211221122222121212112122122112222222122121121211221111121121211222121211112111122111122122211112221211121112121112221112122211211112111222111211211222221111211221121122111111221112222121111111222122122212211211122221111212112121211112222122121111221111222112111122211111121221212112222221212111111221111211111212122112211221212212112221211121112221112212222122111111121112222212211221121112121212212222122211112221222211211121211121121112222112221211211211121111111212211211112221121222112222211111211211122111212111121111211111121122121211111122122211121111212121221111112111122122211212211212111122222121211221221111221212212221211121222221111111222221222221111222112121122221211122122222112211211121221221211222222212121111111122222212221111212211211221121112222212122221112222222111211222212122222112122222211122221221222111112122222211112111212221212111121221111221121111221211211121212222211221222212222112112212122111211112112212221121111112122112221222222212222121221212221211221221221111112211112112222112112122112222111121112111111121111221121211122221111111121121221112111211121211112222122111112121111222112122221212111121222121112211212112221222122211221111121112112111112111112121122111111211211111111221212212121122112211112121121212222221122121122211121212111221222222111221122111122212212211121212221221222121121112221212112122121212121112112221221211122122222222211122111211111211221221211122111212121111122212221221112121212222121211111222221222111111122222121212222112111222121112212121222221221212122221121222222221122211221122212211122121221222222111111111221212212111221221211121111221221221222211222221121121221121121211121211122212212222221222112121112112211122222212121211221222212212121122111221212212212111122111212112122111111121222211112121222221222212212111112121112112111211121212122212211121212221111112112121212221122112212112222212111221122121212111221222221122121211121121111211212121122211211222122221122121222112211111122222212211111221212121211222212211212121222122222122212111222221211122121111112221121222111122221211211221121112212221212112112211122112221222112122121211122122221121112221112111221211122122111222121212212212121221212222221221122111112122111221111111121221121222211222122121122222221122211211212121222221112222122212121212122111122222112112111111111212112212112122211211111111121112112122112112222111121221111211212221112122212221221121111112111111222211111221212121211121212222112222222111122122112121221211222111211111211212112111212221212112222222121121212212212112112112121211221221112211221121121222221111222211122222222122222221212211211221221212212211121221221212121211111122222121111111211111221212221212112112112211111112221211222112112112121211212111212222211112112121112111211111212212222211211122222221111121212112222211221111121122222121111221111212122222212212121121112211122212221222122122221211122222122121112221211121211212112211122121112111111211122112112112221112222221222111121211122211222112121122122111122121211112211212211212212212211221221222122121111112111122121222212212212121112112222111222121122221211212212111222112121222112122212122211121212122121221112212111111111122121112221121112221221222122112212122111111122112122222212121122121221111112211211212112112212211222211222111122122221121122211122121122222211212112211111221221211111122211222212112221212122222111122211121122212211111211221122112122211122111122121211121212221122222221122112112122112111112121211111222121122212112111112122111222221211212111122112221212222211211221111122122221122222222211122222212112111111222221121112112121111111221211222212211122111222211222122111112112111112122211121212222211112121212212112112221111112111112122111121222221221212221121112212111211122112122211221111122212211211221111112222211221122122221211112112122212121212122111112111112111111221112212111212212111121211121121211212221112111122212122111222122211122122111212111112212222211212122121212121111122211222212211121111111222121221211122222212112122221222221221222111122121221121122211122122112112112222112212112211221212112111222222222112121111121112111212221112122221121212121112222111211222121122111221221222111212222122111212111121211222222212122122111122221211211112222122112222211212212112211222221112211212212121212212111212221122211121122212121112111122121121121111211122121211112212221112212211222222211221221121121112122212122121221112222111211121121212222221122122111121112222212211222122221212111112122122222122111212112212222122122111122122222121212112221122121121112121122222211222122121112222121112111211121221221212222212121122221112222122121121221212121221122221222111121221211122112122221222221111221211212111221111122121122112212222222212212122211111112111212112112221111112221211122121111222121222211122221211221121221212222212221111211111112221221222122211111212211212222112221111122221221211112112222211211121111111222122222222111212221211111221211222222212112212221211222221121112211212112221111112112122211112212111112121211211112221212211112212221112211222222122212111221121112211111111211212212111121222212222222112122121121112112211211111221211221121221122121212221112122221121122212222121112221122112212211112211111112222221221211112112221212211222112211121222211211111122212211221111121121212221112112211122221112122222221211122111122221211112212222112212221111121112112211212211221212211122211111112211222121211222222121121112222111112221121122121112122221121211211222212122222112121111121112122121121121221221122121221111111112221211111211221112222122121121221122211121122111211122212211121222211222211112122121121122211122111212122112221222222112121222212212211211111212111122211112112122111112111212211111222122222112212211122212222222221221211212222212221212122112211212121222212212222222112111111212121122111112211211221211221212112211112112212121222221221112122111212111111222112112122121221222112222122211112122212211212222122221211221121221112121121112121111222211222121121212211211211112221111112221212221111221212221222211112211121211121212122211221122122212122222111121121221122211121111111121122121122111111222121111212222221211121212111221121221111221221211112121122221112122222221221112122221211112222211122121121121112121212222111121112221112222211211221211121112111211111111212111222211111211121212222222211212222212112212212121221212121211211212112212122121112122211112212221211222212111211121221222221212122221112222212122222122112122222121212122221121111112212211121212121212122122121212112121112111212122211211222222222122112212121121122122222211122222212122221111221211111212111222221122112222122211111121111121112112111212212122121111221121112112211212111212222111222221222221121111212111222222222221122212121211212122212222112111222111112121211111211211221211221121112112221112211221111122212221222121222212222212221221212112211222112221111122112112121222112121212122121211212221221112211211121211122222222211112211221111111222111121222221111121112112111121111211121112121212211121221111112221111211211222212112121111121112212111211221111121211211112121221221112121212211111212212112121221121221122112212212111111221211212122212122212121222121222112211121121111121222121121111121211112221112121111212222112122122212112111221122111221122121221122222222222222211122221112222212121122222212222112221122221122121221222112212211122221212212112112221122111222212112122221121112121111122111121112112122121212122121121221222121122211111122122121122221121112121112212222221121221112122221221112111211121212122212111121121221222211122111121211221212212112112212221112121111121111221121122212212212111121222112121111212121221112121211122111222212121221111112212122122212221211222121212221222122122211221112112111212211222111111121122211212221212211111121111211221121212121112221121222111211221111112112122221121211112111222111111122112112112112122212211222112222212111111122111122121112111221111121221112112212221212121212211121212221212211222221221121121121212212221221222222212121122222212222222221122211122112222112122121112212212211121221111111211111212211122211221112211112211222112112222112212122221112121112122121111212222222211122111211121121221212112211222211111211111222211121221122211211122122112122121212121122122211112121211212121122122122121122221212211222212212212222122221122212212112222122111111221122122211122121121112122211221221111221112211121121221211122112212112221111212111112211221222112211112222212122221212111221221122112211112211111212111222122212122221212111222221211221222122122112112221222221121222121211211211211221121111222222222221222222211122222221212211211211112221211222212121212122222122112221122212211121111122212211121221121112122111122122112221121111112212111211111122222222212122112212221122221221222111211122212212121122112222221111212211211222222211221212221122212121211111222222212211221221111111112111122122211121222111221212122122221121122221121121121221222111222111121221111212112112222211122112122221211112112111221121122122122211221122221211212211121211222121222121221122221211212121211222221222222211111211211221211212112211222122212121211111221221222212111222212112121111221211212212222222222122222122111112121221211221211112222222111122122111122211111211211221122121111112111212211121222121221121222221211222121211122222221222211222111122212222221221221221222121212221121122122212222121211222222212112122121212221221212211211221212222112221112122221112212221121121112112112222121211122122221221121121212121122122222112211121122221221221212221112212211222122212211122222222111212111211222121212222212222112212212122212212121112221221222212111212211221211121111122111212112122111121222211111112211112212222111111211121111221122122211111121112122212222121222122211221121222212222222112211112122111211221121212212122121221222121111222111111222122111111221221122111112122222221211121222111212112212221221212221211112111212221221112121121221211112111212212122112121122122211122212212212211122122211222112221221121212211121222212121122121221112112111221211111221122112212222112121112221211221121221221221112222222221222211221222211122111212221221122222222111212121221222121111212212121212221221121122222122121222212121112222121211211122112212122222111122111112222121121121122221211121121211212211211222122221211112222221112212121122111122121122121221121212111222211112211222211222212111112122222221111222211211122221122111122211212112112112212221222121112111122111222212121212121121122121211222211121112222122212221211221111221112111222112211111112221111211122122221111221211212112212112121121211212111211221211122121211211112122221111222222112222112211222121212121222111222212112212212212121212221221211222211111111212122222112212222222111122121221211122222221111111122211121121212221222221121112122121122112211221212111211211222221111122121212221222222212112211221122121112122211121121121122122221122222212212221121111211111221111122122211221122212122222122122112221211221212221212222111212122112212222222221211111111222221222112111222212121222122112212121222212222112112121221212212211211222121221122222222222121221111122122111211211112222122121121211112212222211111122121112121211222221111111221222221111221211121112212221222111222112211111111122222121122212212222112122121212222111222222222212212212221211112212121221212211111222221221221122222222122221121211211122212112122111221121211221121221221211211112111222111211221122111211121112122112121121111222111211212211212221111212111121122212111221122222222122212112111221121122121212211121112121111111112121222222211221121122222221221221121212211121112212122222112122122111212121112211212212212111122112212221221121111222111112221212222212121221221221212112212221221121211122122212121221212211121111222212112221121111212212221212212122122222222121212221112212111222212221111211121212112121211111112112211211222122211111112112121121112222111121111212111221121211221222222212211212221111222222211122122222111212111211122112111211122111121221211121222112222212212221222222111222112222122121111211121211111211221211111112212112212122222221211112112112221111221121121121122122211111112122111122121111112111121111212211212112211121112121112111222211211112211212222121121111212211211122121121112111122122211121211122212112112221211222221122221222212222112112212121121212121221121222121212212222212112112211121111221211221122221212121122122121111221111112221111121212121121211122221111221221112222221121221212212212221222212221212112122121112211111212112112121121212112112112121111112121221111211111121221112121112212121122211222121122121212122211111211121222221212111222111211221111212212212122221221222222111112212221112212212211221122111221221221212211112112122211122221221112112211111212221212111222222122122121122112221212112222222122111111212221221111112111122212221221222212122222211212212222122221121212122111212222111111112211212222212121212112212121111122222122112122121121122221222211121121212212211221211221221221211122221121111211221111212121222112121212121122212221122211212221112112122121112121211122121121121111221221121111112121222222212222221121211222112122111122112121121122211121221212211212211211211212221122212211211121122122211112111212212212121121111221112212112221122211112111211122121221112212111222221112112122121111211121122122212111121111111121221211212122211122212121121111211122121111111111221122121221222112212212211121222111111211112121212111221121212222112121221212122122111112112221212222111121112211122122222222121222112211212221122222122221111221111112221211221121221222122122121122111221122222111112121221121212122122222212211122111112222121222122112222122212121111122212112221112212212211111222111211222121212222121222221212212112211222222221121212111211212212122122212221222122112211121212211211212211122211122222122121221122212111122112122122211221111111122212212212112112211222122112121122212211222111221212121221122121211121112121221122112112212111111111122121112112112112212122112121211211111111221121211112122112222222221122111121222112121112212111221211112122121111211111212111111112121222221212112211221112121212212112112112112122111121121211221222121222121112221111222122111211121121121112222211112121211122121221222211221211211112221221221111121112111112221212121222212211212221121222111111221221111212112211222122211112212221111222221122211112222122211112111222212221112212221222212221211121112121211111212121112222212212212112111121211222211221221222111121221112221112111212112111212122221222111112112211221212121122211121222112111221121212121111112122211112111222122112112112121212122211111112112222211212221122212211111111212112112221222221111222212122212222222121122212222122122122112121221211221222121111111212212222111221211122221222111212222111221112111222112122222122222222121111112111221122111122211222122112221211112222122221211121222211121122221221212112112221112222222221122222212221111122211121121122221212112211112121211212121111121211121221222122121211221122211222222111111121122211211122222111111221122111211122111111122121211221111211221111221122221121122112212112221212111122212112222112121111121112121112112111121121211112212112122212211112112122212121121221212212112121221211222221221212112111111111222122111112112211112221222122111121122122112211212111212122122121212221121112212111221221111121121211212212212122212112212121112112121122122111222212111221211222122212211121212112121212111122112221222122211222212111111111212122211221221121111121212211111111112121112222221212121122111111121122211221222111122122122112221221222211212122222122222211212222121112221211211112111212122122121211112111211211111121112121221112122221222221222122212122212122112222221222211121222222212221121221112122211211122221121211112222211121221211111211112111211121121212111111212221212121111211112112122121121212112211221112121122212121111112122221211112121221122112212112212211121111121222111212122111121222222221212121121121212121112222121221122222111122221112121122122112111211222222211112212212122211111122221221122111122211122212222211221222112212221112111221222211211221112221211122122122112122221221222222121211111122212111112122121212112112112112121122111112222211222211221212221212211111222221111122112122222222222111121111211111121221112111122111222111122212222111112221221221122121222212121121111112112121122211111121222212121121221221111112221121121221111111212211111111212121112111222212121122121121111121111112111121211221222221122111111121122211212121221111111122121221121222212221122121112112211111221122121221222121122212212221112112222121222121212212221111122211212122112222212211222121211212112212211222212212111122111222221121111122221222112221122111112112112222211122122211112122112112111222121112222211221121211222121212112111122112212222122211111212112221212112111211112211112121122111212221121112112212122211211211212112112111122121122222121212121111222222121112211222222122121112112211121211122211222122112122211112112111121222121121111121111222111222211221112221111121122111122211222122112122121121222221221112211111221122211121121121121211221111211212211222212211222211221211121111211211121212121221211121222121212221112211121112222121122212122212122112211112122122121211122211122111212122211111222221112122212211221122122122211112211121211112211121222212111121211211221212211111111122112122212222122222211221121222111211211221212121121222111121212122212111121111111221211121121212212212122111211212221222221112221221212111112112212122122111112112121212212121212212122222212221122222112221112221111111221211122211122121122111112122212221121111211221121211211222222121221221221121221121111212222211122112111222221122212221111112112112121122212211122211222222211212121221221121121111221121112221112222111221212111211222221122111211222212222111212221121112221211221212222111212222122222122111112121122222212212122222221112212222111121212122222211122212122222111112221221122222211111222222222121111121112221121112122221211121111211121222212211112121122211111121111112112121111221121222122121212121222111222222112122211212121222112121122211121122121222122222211111212122222221211122111122212212212121212221221111221122221212222222211112112211221212212122211112222212212111121122111222111121122221121211121112112121221212222221212221222122112111211122221221212211222212211211211122212121211211111112122112112221112211221122121121222121222212121211121211212112112122211221121212211221212212122112211222111121221112121221211112212221212121111121221112221112122112112221212221212222211221112211111121212222211122221212121111222211121112111122212121212222212121222212121221122212222121122121122112221121211112221112122121122121111212222111121222121212112112122211211211211122112122112211222222122222222212111211111111112222211211211121111222221221122211221212122112122111121222122121122222112221212222111122112221112211222212121122111221112112122122121111211212212111112111112221112112122222111211121112222212212222212111112112111222122122111222212122222121222121111112122222111121112222111222122122112112211211112112111212112122121122111111221112122221212122112121112111211212112221212122122111212121112222212222221211121222211111221111212122121212121111212222111222112112122211111112111111121112222211212221111121221121112112121111111212221212111221211111121122122211222122121112112121112222221222122221121211111212121211121222222111212122112112221221211122112222212122221221222221111122121221212221112221111111111222222112112122111211212211122112222221222212222121111111222211112111212112211122122222222112111212122222221211211122121212112121122122221222221212211121111221221212221211112212112222212221221112112221211122112121121112212222111222212222212221121221211221212221111222122221221111111221111121222221121212122221112121122111222211111111222222221211211222111121211112112122111221122212212221122212211121221112122212122212121212122221221221212211211111122211212111121212122221122112112121112211122211112221111221112212212111122211212121222222221121211212112121212121211111221112221221222211121122111211211121211212121121111211222111122211211112222222122112121121121111122212112221211121211221211221211222212222221222221121121211122211211111221222112221222112111212111121212121111212122221111221222221122212121212122212211212122112221222221122221112111221211211112211211121212121221112222222112221221112121121211212122211112122221122211222211212221121112222221221212212211121121212222222221221122111212112121112112222212221121211122221111121211211111112112222121221212112222122112122221121211122122111212121222211122111112121121111112122221222211121111122112122212121122122221212221112222211122111121221222111221212112211111122112212112121221221112222221121122111212212222222222211221122111111121211222222121221221122222112222221112112112121112122212122121122111212221212212122112211221212222222212211212121222112211212221212222112112222122112221222211221212112222212122212211111111211221122111211122122211222222122122211221212112212212222221212111222121121211221211121211111211222221121211121212121112222212111222121221222121121121221222112221222222222121212222212121121111221221222222111122121212112112222112212122212212112121111122112112221211122222212122122121211111111111112212211111121222122222122212211121111211121112111112112221122221112111112112212111211222111212111122211211111212122121122221212222121122111112211212222221222121122221111121112122212211112111212211112112212211112212211222212111112122211222121121121211122212112212112221221112121221222221122112222121211112122221211222221222111212122221211222122222221212212111122222221222211112222212222121122222211122222112221221211112122121112112212222222121212112122112222111111221221221221222112221211222221212121121121121222122121112111221112212112121122111112222111122221122122211111122211212221122212211211221221212111122212222111111111122212221222121212122111212221122221211112122121122111111222121111221122212121111121112211122122112222121221122111211112112211221211122121211121111222112112221222112111122122122122221221211211211112112212122212122222111111112112121121222122122212222122111112122222122111211111212212122122111212111122111222121121111112212212211112112112221122112112222122111112212221211211121121211221112221122122112112212112112221222121122121111221121121122221111112222212221211121222122221122212122122121212112222122212122221112121122221122222221212121122111212211121121212221122122122222221221121111122221222121211111112221111112121122221122221222212122211111212221212211111221111122122211111221222222112122211222122221111211222212112221121212112111122112112122122212222212111221122211111122221111221222112211111122112221121112212222212211211211111111211212121212221112121121221111111112222212211211112112111121211121111212112221111122212221222211121221221122222122222221122222122111211121221111211112122222121222122121112211212221211121221221212111112221111212122211221122211112121212112122212111222221121222122211112222122222112221212222111121111112112121122121111211222122122211121112222112222122221111122222222121212222122122221121211111212111112122221111111121111121111111221112111212112211112222212221112112112211111222222122221121122212121212121221222211222121122121222122121112212111211121211111222122111111221211221112122222221121221212211221122211121111122112121222111212221222222211122211222211211222212111111212111221121211122121222222212111112221211121221212212222112111221122121112212212112211112211221122211212222112112221212222212222112221111211211121222112211122111221111221222222212111121211221111121212221122212212222221222121121221121122221111222122122222211121122212211112111212212122212212121121211221121221121112111122112112111221221212112211121112122222121122222212211222112111112121222112121112112212212112212221121122211222211111222221111211212121111122222122222121112221122211222112112211111222212221122222212112212112112222221121122122122221112222222211111111211221211112222112221222211122211121211121122121112211112121211222121121211122212221112121221112222121211111121121122212112121222222121111122112122122212111222221121211212222222112122111211212221221212221222211112122112212222211112221221221121222212121211222122212212121112211122221212212221222111111211111112111211221112212221112221112111212111111111222212221222212212122121212121122111111111112212221121121211212121121121222221221211111121222211221212112222121212221212221222111112121221112111222222121222221122122121111221221121222212221111122211121212212121122111221121221122211212112212212222112212221222222112212111211111221111212111211211222111122212111112112211112111122122112212211121222121111211221121211222121211212112121121221111222121112212121221122212111122211211112111222222221121121221112112111221112222112112121122111212112122112212122222122121121112122211211211212211111222112221211112122222211222211122121111211221122112221111121111111111121211211112212122222111222212221212122221212221122211212121222221111211211222121212112222222221112211122112122221122221221122212212122221112211222221212221222122111111122121121211222211222112211222211122121212121111222221111212112212111222222122222121222121121212211111211221122121121121112121121212112212122112212121112111212111212111112122222212222111221222222212111121222221211211211222121111111222121121122111222212211222122122211222211112122222211221212121212211111212221121111212121121212212111121111112122211221122111121222111221121211122212221222111121212212222212212121211211122212212112211121111122211121222121121221221211122112121212121111122211212121222211121211122111111122111221211122122122111212211112221122112221211121212211122212212221122212222211212222211221112222221221112112221112111221221222112212221211222221212111122221211211222221121112121212212121112211221211112221211121211221121122222211111121122211222221222222211221222111222211122112222221212221212122111212221112111111222211221122121211211112122111121221112122221112111122211112211111222122211112221211122212222122211121221222121122221221111211122212221111112211122121222122111221222221112122121211122111222212111212122221122112122222212212212112212112221121222221222211121112211222122111121121122222222222211211111221122112222112221221111111212112221121112211112122122121112121112121211121111212111222222121221221112111222111111121212111111212222212212112112112122222221111121122222222211222222212122121212111122122112222111211122212221111111221112212122212221122221111222122221221211221221212211112211212122212121222211122122211122112222221212221121211211221222121112122122211111112212112121221111112122122211121111222122111212221221212122121121211221112121122211211121111212212112221222211121121111121221221112122121222212211212122121211221222112212121121122221122122111121122212111222211212222222221221121212211221222221212221121122221121122122211211212111221121222212211122111121212212222222222211112121222122111212122212121221121221112212221222122211122212212212121121211212222221222122212211111112121211211112111121212111211212221211122222121122221121121122221212212212112221211212211111221212111221121121121112222112211211122212121221211211212112111221122221211111222122121121122122211121222221111121221211221112212121211211212121112211112212122122112222121212221111212111222212222221222212112212121111222221121212121222211111211211112212121222111222121212112111112221211212122211212212122222211122222222121122212122212222121112112121112221122212211221122112121211112111122222112111121121112212221221121212211212121212112211222121212211211111122222112121121211211122211121111222211111211221111122122222221111121222111222211112121112211122112221112111211211111121122221211221211122111222122211222122122221212111112221111221112111222121211212211112112111112211211112122211121122212221212211212212122212222222222212221122112112212211121221121212112111222111122111222122222212122221212112211121112111211212221112212122222211221111212222111112121111212222211212121122211112222111221211111121122212222211121122112112122122111212222121212111122112111212212211212111112211112121111221112222222222121121222212221222221222222112221211211211222111122122212122112122221211222212211121221211111211211112212222122121122222211111122221222221121122222121211122222122222212122111111112211211122222211122211222122111122111211112211111121211121221212212222112222221111211222211222111211222121121111111221221211111212122211122122111122222212112112121112221221211122212112112221221211111212211222112211221211112121121121122222121122211212111211122122121222121112122221121221122211121211112212212211122122121212221122222212112222212212112121221111122222121122122212122212121111212121222221112111111212121212112212221212211111212221221221112212221121112121111121212112122121111112222212111221112121112221121121222221112111212211111222222211212112212112212221222212222222121222121211211221211111222112112222221211212212121212221222211112122111122111221122211111122212112211112122211122222222222222121211222211222111112112112112121211211221222111121211212111112112121122221111212121221211212111112122112222121121121212222122222211222221111112111212111222111212122112122112222212122221121221111212221212211121211121122222122122111221111222211211222222122112222122222121211121222122221221222121112122111222112222111121111111122121221121222212111121211222222211221211212121122212221211211211121112122111222212211112222222212212122221211112221122221222221211212111112112221221211211221111112121221111112222121221121112212121221112212112221211222111112221211122212112211221212211211122121221221221221211112222112122122122211222122121221121122121222212111111212122211121211222112222212112112122211221121122121112222112221111112122221122111111121212212211121222122222212122121121212111222121212221112121112121211221221121211211111121121112212211111121211211121212122111212212122211221211121121111212211222212112111212222211211121221211222211122111221122211122111112122121122111221211112112211221112121221212121112111211211222111212122111221112112221212122222212221222212112221121222122111221111212212111122121122222221121212111211212112211122112121221211111112111221122222112122122222111122112122111222121212122112222221211212122111211212211211211212111222211221112121222222121212211122121211112121111121221222111121122121111211211211111212122211211122222221111111211221112122112222211222111211211112112121121212211111121111212112222221111112212222222221221121212221221111111222222221121222212221221222121211221111112211111221111212221222211122122112112111212211222221221112211221112221222211212212222121222222221122212212121111121122222121211111122222111112221121121212111112112222221211121221212211211122212122212121111221122111121112111222221112212111122222212222121222112122121122212221121121211221211121122212121112221221122211122121112121221222221112111222112112211221221222121112221111222122221212122112212222122211122212122121122112122212122221121222112212212111211121212121222111111122222111112122122222111211222221122121121211112121221221122121211121222221121111221211222111222122211122212211121212111122221211212222121212121112222121112222111221221221222222112211111111212221221111222122221221222112212121111212112222121221222211122112121221221122111121121121222222122121111222112222121211222211211212222212212212221221212121111112211111211112112212212222211212211221221222221212211212222111212222112112211111221112211222122122112222122222221221121112111111222221111121212122111111122221221122221111111122221111211212122121212212221211122221221121212112121111211121222212111211222121121111121111112111212222121122211112111212111221112122122111222221122211122121111221112222122121122211111122221112112211211222212211122212221211111222112111122221112212121111212221211212111222212222211121121211221221111122112212111221222111112221111112211121221222222212211221211222121121212121212121222111111111111122222222221112121111122112122221122111212211211121211221222211211122212212111122122111211211121121212221211212112112211122222221221222121111222122222222122211122221111222122221222212122121122211212121221111112212122122112112211111211121212212111112121111121222222122122111121122111222221121211122112211222112121111211221222221222222121121122122221112222112222121112112212122211122211111111211221111211112112212111112121111212212212221111111121111221122222222121121111122221221212111221122211222112211211211221222111111111211122222222222121111221112222121122211112211212211222212211221111211122222222211111211122221111211121212121212122222222112222121211211221121121221222122222121211121221121112221212121211111211222221211211222212211112221221122211121111112221221212111121221111121111222111221121122221111112221221121212111111112211121111111121112111212112111212122221121221122212122112121221121221122121221121222212122112221111221212222111212121111122122112221212112121211212221112121211111222111121212222112221221111121122212121211221212222211221222222122211221222221112222222211122222222212211111121121221121212211111222222111121211122111122212221112111211222122112122121221212221211111211222122111222212112121112211221222112211112121112211121222122222111221221222122112121122112111122222212212222221111212121212212121112222121122122111121111111121212221221211111222112221211212121111212112212111221221121212112212112211211122221211111222122122221111112121112221111222122121211211121111222111111121221212221121211112122111221112221211221112112221122221212221112122122212111121211212212111122222121212222121221212211221121121211112111121121122211121211212222122112122111221122111221211222122111221211112211222111221112122211212112212212121221221112122221112212221212122122221122112122111211212121121111112211222112112121222222122121211221111221112121122112222222111121211121111112222112221211221222211112111221211122212112122111121212112111221122122111111111222222121121122221211111221221222211112222212121111111221121221111111222222111211221211122112221122211112211222222222122122212121121111122211112221221112221221211121221121112222212112111222111111112112121212111121212222212211121222122121222112211112212121121212222112121112222121221221121211221122212122222221212222122221212112121211111122121222122111121122211111222122121221222112111211212222212111221212211122111121111222121112121112121112112211212121112121221112122112211211122111222121122112122212122211221212111212212211121212112212222121211112222222111121222112111212221212112121121211121112212222121112121122211111221121211222112122121211112212222221212212121112111112212212121221222111221121221122111211221222112121112212212111111122221211111112212112112122111121121112221121222112111211211221112111111112222212222212212112212222212112211221122122222122111221222122121212222121111221111221212112122221121222212122222211221221122211122111122222222212112111122221121122111111222211112121211221212112222221121221111221121121111122122121121112122211112212212212211221211222222212111212212122211212122221121112122211112111211222211222222122122111222122222222111212112121112221221212222112222222212221222112121212222212121211112211211221212121212112121212212212211111111111122222122222111122121211122212212221221211211122111121122221212222211221222222222212222222112212112112122112112222211121211211122221122112121211122122211121112221212111122111211221222211112212112212221211212222121111222222212122122122222212212221122211212121121211221122111112212221221222212122212212221221211212121221221222122212211221112212221222111111221122121212221112222111122212212212211212121122222212211122212212111212112121212222212222211212221112122111112221221121122222121221111211222122112211222112122121212111221211111212121222211112111122111111111121111212122222121211221222211221211112112211211121122212112211121222121112221212221121112211211111111121212222221122121122121121121122122111221212111111211222112121221221222121222221212121222121111121221121122221122111112212221211122221221211222212122122122112121222122221221121222211212122222121221112211122211112212121211111211121112122112212122121212121112212121211122221222212221122222111112221112111112122112221121122212212212212111221121121111121212212221122121121122112122121212211212122111112221121122121211122212112222121111122112112121111222111112112222221112222121221222122111222112222211222212121111111212221221221221221211121121112121121122221121212121122122121111211212122222222222212211221111111212221211211212221112221211221112112221111121112211221112211122221122111121111222111211222221121212112121212121221112111122221112211122221122222112122211221211122221122222211112122212121212111211221222121222121212112212112111111112112111212211111222121222112111121121112212111211121111121112111111222122121111121122112222222112221111112111111122112222112112122112112111121222212122112221121121111111222212221112111212122122111222111212221222112111211121212121121111212122222112221222221121211221212111111112221121112211112222122111222221111211111221122122121122221222221222211221212112112211111122222222212211212211122221112222211122211211122212122221222122212111222222121111122211112111111212211122221111222121211122112121121211212122121211122111122122121221122211111111122112122111221112212212211112121112211121111211211212222121111121212221112212111211221111121221122221111111121222211121222112111211211122111221122222211111122222211211211212212212222222122212112121212122212111122222222211122121212222222112222112221222222111222222122111112121121121122121121222212112121112112211112222112112111112221211111222121111222222122221222112111222212111112222222122221112222221122111112222212212212212122111122112121211111211122112212222112122122212121211222122221211222222122121121211222122111121112222221121212212221122111221112122212221121111112221112112221212222121122121212122122111121222112111222212222112121221112221122111121221122112121221212121222122211222122222122121222121212211112111211221222112121221222221122212211211212111122222221212121121221111112212112122221211121222212121222111111122112221111222112112111211112121122121221121121121112111222221222112212111112212211111212211211121112212111221121111112111111222211112122221212212112112121121211221211221221112222222121212122111112121212222122111212112212222122212212122121121121122111221121211222221122212212212221221121122211121112122112212222121121112211121111221212122211211212211111221222211111221212121122212211221121221212222112221112112211111212221111122121222221121222212221211122212211111111111221212111121211111222111212111211222211221122112121122111221222122122221222221121221222122212122221121122111121211211112212122211222121212122121112121222122221112212222112222211222121112111121121221222211121121112112222222212121122111221111111221211122121112121112211122121122112122121121111121221212112221211211221112222221211222112211112222121212111212111221222212112121211121111222122211121112111112222221112121122121111121112122121112122122222222121112212122211221211122221221121111122211121212222121111111221121121122222112121121212122211111121111121111121221222211211212211221121221122112122212121112122221211122111212121121122122221121111112212212211222111211211221112121121222121111222112211221111122121112211112112112111122211221211122221222211121211221121121121111212222121112211222221212122221212222111211221212111122111122121212111121122212212212121211111211211111121122211222222122212111122212222122211212111111121222121111122221111211222211221121222111211222212221112212211212212212122221122212221221221122122221112211122122112121221112112221122221212221212121222221112221121221221112212111212211211221212112211222222121221122122212111111121121121212121112222222112122121211111222111112221221222111211211121212222121222212111122111211121112222211112121221122112111111111221212211211122221222212121221121121221122222212221111222121121111211222222122212222221112111112112211111111221121222122121122121111212221222221212112211111111112212111222121221111121121112221211111122122121211122212111112211221222211211121122112211222122112221222122112111211122122211121122121112121122221212111221122221122211112121212222221112221121111222111212211121222122221112122221221121111112111212211112122211211212122112122222122222211222211212222112222111121112112122212222112111212111221222222222221121112122221112222121211222222111112212211222111112211211121112222211211212111212111212121122221122121111112211221112211211122212111212121212212221222121111211212122111111121222212112212112111211212222212122122122122221212112122122222122221111211122212122212112121212111122122222121222122122211222111122212212111212112121121112222211212221111111221222121222221112122121221222221122222212112111122222212122222112222122222121212212211122221221211111212121222212121111221222111111211221122211121111122221122112211212121211222121112121222111211122212111211112221111111112212112212112122112221222121212111111212112211111122222221111221211112121122112121122122121221221112211122221121221211222121211222111212222111121121211212111112221221111222112211222111211222111222212221111112222212121212211111221221112111121222111222211112121212121221212112211111211112111121121211212111212211111112221211222212212212121112222122211111112212112111211212122112212211112221112121111111211111122122121112211212221121211121211121121122122121222122111121221112112111211111212212212212221211111222112222222121211122121221122122122122222112112221122112212111122112221212212121212112212121122121111222121222112122121112112212212112212212121112112112222111222111211221112212112112221221211112122212211221112122212122211221212111112111111212111112221221122111121121222212121112122221122212212111112121112221121121222122222211111111221222211221111122121222212121221211122221212222111222212112222211122211221222111212212221211122212221121221212121112122122212111112221121122212211222122112112221111112121221121121111212222222122122222121222122211121212122212212222222112111221221111121212121212112222122121222221121112222122111221121111121211121222221212111222122212112212211222221221122112122122212121111111211111122222121221211122111122122212121121111121111211122121212221211221211111112111212221221212112111122222222112122111211221212112212111122112122212121122212121122211122212222112212121212112122212112112122112221212221111212111221211121112121111111121122221122211211121211112121112121122211112222212122111222211111111121222212122212112122112121212221211222211111222221121222211222112222121222212221122221111211112112222112121121211212212212211111122212222221122121221121222111211212221111111112222111222121112111122211221211112212222221212212211121221122221122121221222211111121222111221121212111222211211221122111111121211211112112112212112121112221211122121221222221122111221222121112121111211122222221122122122122112221112121122122212111112211112222222122212212221122211212122222222212122112122122211222221211221221121122111112111121222122112121121222212221122122122122211212211211111111211111222112112212122222111221221211222111112222222221222111112111221221121121211121222121212111211121122212121222212211121122121121221121121112111211111222221112122211122221222112112122121211122212222211221122111111212211221221212222222211212222111212211122122122222222221211121111112222122121121222212222222222112121111212221211121121111211221111212121122221121111112112112112212122111111111111212221211122211222122111112211212211222221221212122121221222121122122112121221121221212121112211212221121222112111222121222221211211221122112122121111111212221121211211222121222122212221111121222111222221211122111222212121211111211222221121111212212211121212112212111212112111221121111211221111122221222212222111211212122122122211111212222112111122112212221111122112211222212122122212111121212111212212121212122112111222211121111221111211121111211112211112211122222221221211211212112111221222111221112122211222221121221222212112111222121111221121211112122121212121222211112212212121222111221122221212221121222212211221212121222212221212111222221212121211121111121211111112211211221212211221122111121121212121221121121112122122221222212221112221112222211112121211111221122222211222211212111211212111111122222222221222222121122122222121122111221211212212211221222222121112212121221121122122121111121111222112222121121212211212111122211121121111221211221111112212222212211221212222211112222112121222222222221121221111222221221211212112212122221211112122111112121111121122212211112121221212212112212111212111121212122221211221211211212211222211121112121121121112112222222211212112111212122222112221121221121221122221212111212222211111212212112222211211122211212112212111222112111212221111122222221121122222212221111122221211221112111121212111212222211211122111221111212112221211212112121212112222122111121122221212111221112222211111211122122112112222122111111221221212211122211221221222111111211222122211121212112221111211212222111212211221211211211111222222111221221122122211211211212122112112211211121112222121222221212112112212222111221122121222112212111121122122222121121121111212221221212212222222112211222212122111121121121122112222222222121221112111112211211111121122212121122212122222111211121211111121121222112222212121112121221222111121211111221111122222221211221222122221111221212211122212112112111122211111121211212221221111112122122211221121212212211212112111121122211121122211212211121212122221222122121221111211122122222112221211211211221222121122212222221111221122211211221212121221221121211212121222211211112112221122211122222111222112121212212122212112211111221221111222112212112222112111122221222121222112222111122222212112211221111122211122121211222221212122222122211112222111122212221222212121122122111112221221122212211212221212111122221122112212121211211121121111222211211122212121221211121111122111212112221222121112111222211212121221122212221222112112121212111221122211112112221112212122222212211211121211212111122121221122211112121211112122211222121222112111211211112121112221212111221111111111112221222111112212221221122222121111222222211212111112121221111111111122222222111121221112111111222111221112112221112122122112112222221212121121222211222221111111122121112122212222111112122122212211221221111221122212122211121212212212212221221222122122221122122111121211112221112122122111212211112222221211122111211221211112112122122221111122211222121111211111121211122112211121221122111212121222212222222111112111222211121212221221112211221212122122122121111122211111212111122112221111222121212212121121111212121211112122122212112212211112212121111221112221211222212212112121221222112221211221221121212111112221111112121111122222122222221121122221122221121122221112111221112112122121121222111222221222222221212211112212222212121122122112212111111211111121212121111112112221222111222112222111211121121221221211221222122221222121222221121221211211221221211111212222221211121221221111121122122111121221221221212121222122221221111112211111211112221222211211111112111222122122121222122212212122112221221112122222121211221221211111112111222112212112221222112122112112211222211222212222112122222112122211121112112111221112221222112221211222222111121212112221121122112121221221111212221122212212111111212221122211211221221211222121122121212212222111212211121211122121212121112121111222211122222222221221222221212212221212221111112222222221221222212222212221221212121212211211212122121211211112112112111221211221112122122222211111212212222121211211212122221212212121222222211221211121112211212212211221212122122122112211121221222211212222112111121121222112211211212212221221212111222122121112121221121112121222121222111221212112212111222121212212211122122221222222112211222111121111221221111222111221212221222221121112122221222122112121111222212212222211111122211221111222211112221212111211111221222122112221211212212221121122222112121111121112111111121212111222121221112111222211112111212122212211221222211222111112112212221211221121111211111211222112111222212121112122212111211111222211112222212112111211121121212222212112222112221121222211222122211212212222121222112221122121221221221221221212121122212211112222122212122211212211122212111122211222222122211112222112111222121121222111222111121212121112121122211212212111122221212221122212222112112222222222111222211211221121221222212222211122111212111212212222112112221121121121112211122111111112212222111211111111222122111222212122221112212212121112212121212212111211112222211222112112112122121112222111112212111111211111112221221111211121221122211222221112222112221122122222121211122111111211111111121212122211212122121212112212222221112222212222111121211112222121212111211212111121221122111221222111211122111121211221111122121212222211121122212211212122111222212122211122122221121221221121211122221212222212221111212112212222112211111111211212111112211112122212122111212212212211122121122121212222122221121111211112121221212112112112121211122222211122121211212111211112111222222211212122122121222212221112211211122111211212212211121222221121211112122121222222222121122112111121122211222112211212221122121111121122121212122211212112122222221111111211111212112211211222111211111221212121112122211221212211222222211221211212121222121121122221221121111112112221111121211221212221212222111121222122121122221111121122221211211122121121212121212121212122111222222211212112222122121221112211221222211221211121212112212222222211122222222122222221221211122221111211121112122221111211112221112212212111221111222222222121121111211121211121111121111212222221111222222222222121111212211222222121111111122122112211121111212111212211122111211211121211212111222211222222211122111122111121112111112111122211211212222221121211111221221112212122221111122121212212221111122111212221121212112111112122211212211121112212122122112222222121122212212222112112111212111211211121112122212112112222121211122121121212221212122122112121112212212122222211111112221121121222211212112111211211212122111221212121112212211212112121221212121222212212221121122111122211111112221221221111222221112221111221222122221222122121122222122212212222111111112112121212111122122111121212112122221212122221221121112122121121122122222111211121211221122121211122122221121122222121121122212221211121111211122211112221221112112211122122211212222112122212111221112121221211112222122211122112222122112211122222211211221121112112221112112111122122222212221222122112111222212122222112212122222121212212221122212111222221222222212122111112112212222111211222221211221122122111112122121221122122122212112222222112211111221111121112121211211222211121112111212121212121221221222211121111222122112122112122111121211112111111212222121222221221211221121121112221222122111221221111221212212211111112211122122222111111112121212111212211221212122222222221112222121112112212111221111222111121222121212221212122222221211211221222211222122112111221121212121211111121111222121212111212211121112222221122111112221221221212212122212122212121121122121122211112212211212122122122122222112211121222122222112111221112111221222111122212121221212212112122122211221212112122211221122122122121111211212211221112221221211111211221112112111111212111221111222222111222211211111221112122212122221221121122121212221111221122122111211112221111121122121121212211212121122122211112222111111122222212112111221222212122212212221122121122221121112112211222212211111211222111111121222111121212211111212221122111211111221211222122111211111111111122221111221122221112111212112122211212112221221121122122111111222221122121122111221222112222221121212211112222221212122121111212212111211222111222222211211211122112221112211211121111211112222112112222121221121211222111222111121222121212221222112121222212122111211211122121112211222212112212212112121212121222112112112121121121122221122121212222222111122111221112221221122122222121212121221221212121111222122212112221121111122122221121122121112121221211221221111121211222212221222121211122112112211211211222122221222211111212111222122212211111111112111122222221122221222222122221111122211212221222111122212122221222211121212111122222221212111122121112112221211212221112222111111212111111221111111112111122112112122221112112122122212221212221212111121222222121221112221111212111122112211111121221212122122212122111211121211122221222221112212121111122211222221212122122112111222221122122222212211111121212212112111212222122222221122222211212222121121212122212222222121121212111212212221221222122111111212211111122122122112111121121222212212212111121222221221211211221122111112111122112122222121212221112212121111221121111212122112112221211122122212111112211122221211121121122111121112222212122122211121122212211212212121211212112111212111221111121122212122222111121211211122221222112122111111221121212122212221112211112222211122211211212222112112111122112112211111211112122221222122212211221111122121122221212222212111221211121111122221221121122112122122111121111221121212122211122111121221212121122221211122211222212121122121111121112212112121121112121211211111122121122222222211122221212221111221212121221222211222211111122111111112112221211212221112211122111212221111221222211211212121112111121111122222122211212212212221221121211121111122112211212212212221211221221211112111112121122112111222222211222111111121121122111122212122222122222221121221112111122122211112221121122221111112111111211122212111212212112211121222211211122211111221211212122221111212122122211111112221212112111112211221122221222111111211112222211211211221212211211222121111121112212222221221211212111222121112222111122222212112221121112111111121112111212122212212121121221112122112111222221211222212212122212122122221111122212211111212221211221211222221222221221122122121121122211111221211222122111221122211121222121221111221221211222222212212121212111111221111112221121121221112112121111122221122222111221122121121122121221122212121222121212112122221221221121211222122112221212122221121221211112111222221112111221211122122112221122122222221221112111212221111121211212122211222111221222112112111112211221121211112122122221112122212112212121111212212111221121221112211121221111111111121212212221212211122112221211222111122211212122122212211212122222111221222221112122111221122211222122112121211211222222111211211212212111112212121122111111122121221111212212121121121212111112212121112112122122212212221121222221111122211221211121122211122112212212212111121111222122111211221222121122121112122112211111111212111211121212121212211212212221112212122111211211121211121111111211122121212222221222222122211112121221221122111111221211111112122112222112221122111211221121221221211221122222222111112221111211112121121112111111212122121112221122211112112112221112222122211122222121111121111121211212222122122111212221211111212122212222111222111121121221111221212122122122211221122221112122111211112111211112111112121221122211212111221112211121111112212211221212112122221221212212111211111112112222222122221212211112112121222122111222222121221222211211111211222221221222211221211222222222111112122121221212212221211111121121211122212122211111122212122112211212211112111112121221212122122111221222212111222112111221212122121122111112212121122211122222111122112221111212122122211122221122111122221121111112122122122222211211122211111221212121212221122111122211111222122112221121211121121221112212111122121212122211121111212221212111222211111121112221222212121121111122212122222112122221222122122111212121212211121121212222222122122222111111122111112221122221122211221121121112111212111122111121111121222111121211222222112222112211122111112211112212121221121222211111222111121112122221211122222222211221222121222222121221121221112212111211121212211121112222211211111111222121222212212122111211122122122121211211222222221222122122111121212111111222121212212112212212212121221212122211121121211112211122112122222122222121212222221112212122121112211121111212222111221222222211211221221212222112221121211212222121221111212221112122111221122222222122122111122221222112221221222211112211212122121121221212221222122211221211212221211212121112222221111111211122112222211122212212211221111212222212111212121121221122111222212211222112221111212111212121122222222112222112112212112211211121211221122111211211211122111211212121112211111121211122211111212111221121211122112111221111222121211112112221212111112222111222221222221211121212111211111222112111112211221112211211112122122212222211212221121121112212111222222122222121111212212121111111211122222212212111122221111222212122122112221212211112211122122112222112211212212211222111222111122111211121212221212112121212222212222221112211122122111211121111222112222112221122221111221111111222111212212212211221122221122211212112212222111111121211112111112211211111222221222222211111112122211212112221121212212111122122211112121222112212111121121121112111112211212222111222211212222211121122221211112212122111221122111121112221212121221112211222221122212221221221221112112121222222122122222122112122112222121112121222222112121122112112111212111111112212211212122222122221122121211221111221211221121212122111111111122112222211221212121121212222222221212111121221211112222111122211221112111112221121221122121212121121121221221112211112121121222122121212112112221112121122211112122121121212221212212222121121111112222112211111121111111111212211221212221122111212212212111121121221111121221122221222212211112222221122212112211112222112111121222121121111122222121211212122122212211212212212211222221211221222211112212222221211111222221222121112221112222211112222121111212111111211211121112212112222112222222212222122111122121212222222111222111111111212121122221211221122222112222121221111221211212222122121212212111211111121221212122221211122221121112112122121111221111112122121212111112211211211211111121121122122111211211112112221211211122111221212212211121121222222112112112121222222221112121121212122122121121221111221121222121121121222222111211122111111212112111211221212122221122112222222112211222112221222122221121121112222111112111221212211222122211221121221111212212222211122112211221211212121122212212111121121221221212212122122111111222122222121221212111212221221112211222121121222222221211212122212121222222211222222221222122122122212121121122221122211221121122212221122122212112211212211212122211111121112221221211111112121221222122122211122121121121122111122121122222212112211221212111111212111111112121122121111221212212211221122211121222122121222222212222122121211122111222122111122111221112112222111211222111212222112122212121111212122121212222221122112211211211121121121222221122211122221212212212211121211122212111122212121121211212111211112122221111111122112121222122222112111221112222211111111122122222111222212122122111111111121121221112212222222221222111221121212122112122222111112111212111221211112112211121212221111111211121111112112221212112212111112122212121211122121112221122121121111221111211212112221112211122121121122222122111222221112212211121121112221221221112212211121122122212221121212212212111122211211111212212221212111222212221121211211221112211211111122212212222111212111222212222111121212212212212121211111212111121111111211212111212111111112112222222212111111111212112122112211221221222212211122112221212221121112122111122212111221111221221222211112211122211211212221211221111122112222221222221221112112212121211221121112121121211112221212222222221222221121212121222212121221211111212111121211211122111221122122222111221221222121222121222111211222112211112122122211211212212122122112122221112122111211121221222111121121111112211122112221111212221212112222112121111221121112222221111222221122111221222121222121121111122112121121121112111212121111221211111111221112212221122222122122211122111111112221221121112122121111221212122211112122211211122112112112111221212112212112122221122211222112122112211221121111111121112121221121222111211121212111222111121221122121121221212211222122112112121212111222111122122122111121121122121121221222122212221112112111212211121222112121212222111121222122121122211122122222122112122111211112222121211212222112122222121211211211211112111221111111222222211212211211211211122111112211111221112222221111122122112112122122211111112121221122112222221222221221111122222112122222122211112212111222111221121222212211122221122111222222122121122212122211212111121221112211222121211121111111222121122122121112121212221222112221221111212122121222212211221112212221211122221112122121122221212111112121222122211112222121212212212212222212211121212212221222121212212222222111122211221212222221211112211112111111121122112111221122111112122222112221112111121211221222212112112112221122221121111222212112212211121211222121221121211121222211111212211121222221212111221221212212122111122212121121211122112211221112122211121122212112121211211212111221122222221111211122221121122211121212222211212211111221211222212212211112112121212212211111122121222112111211212112212221211212112221112221221221121221211212222121112111111212121221212121121211222211111122221112212112121112111222111122121112122222122122122212112221111122211122121212221222121212212112221111121122122211212121121211222222122112212211112111111111221121211221221221112211211112211222211221121111211121121111121212221211222222121222221222122212112121122121221122122112121112212121211112221112222121222122122212211221112222211112112121121122122221112222221122112212112211212211222121221222212212211112122222211211212221111212211212222121121112111111212121212112122122212212212111112212122111212212122111112222222221122121112112221222212211212211212222222111121111222212221121221212112121221121222122121221112121111212212211112111112222212221211221222111212222122112222221212212111112222222112211122122221121121112221122112121122111222121222221112221122121112112211121222122121222212222211212122222121111121212221122212212121112221111112121121112121121221122221112121112121222122222222112221112111122211121222222112121111111122211222111111221121122221222211222222112222211122212212112121121212122121221111211122112211112112212122222111212122221222221221211212222222221111122221111122112111211221211111222122112111211221211211121121111111212122111112212222222112222122211111111211221221222212122112212211121211112212112122111121212122111111211222211222212212212211122111111222211211212122112212221221122121111221121121211122112221122122222221112221122222111112111211122211122222112221222222122111222112211122122112122212121221221112122121111122211121222212222121222112121211121212121221211222121211211121122211212212112111222221122112121121222111112121122222222211122122111212112211222222122221212212111212221122211221211212222212122222111112211222222112111222121112112221112211212112111111112221111122121122112211112122221211212222111112121211122222122122112212222122112111111111221221122112122212112212121221221211111111211112111222212111222221112111222122122222122222121211211121212211222121222221121111211121112211222222211212121211121222122111122112212211221111111212121222122211221122112121112222222222222122221121212211211222122222221212222222121122221212122212111212211122111112212211222121122111211221111221222112211111212112112212111222221121121122222221212212112122212211111121112222211222212111221211211222112211221211221122222121122211221212221221221122212221121121121211112222121111111112212112111221211222111122221221211111111111212222111111121112222112112122122212212122112122122112121221122121221112122212112121211112212112212212121221211122111221122212212221112222112211122111121121121122211111222221222221122221122211112112222221121121121211211222222112212221111221121111112121122122222111111122121111222222121222111112212221112222122221121121211111121212122112122212121211121111122111221122111222222112222221212112122121222112212111112222212222121121112211221212212121121122112112221121221222211222111221111211111211212122122121221212211212221211111112112212211222222121122211211121221122111221211222211222222221121222122211222211121111122212222221211122112212111222111111112221211111112211121111122221222121121112211212212111112222212222221211212122221212121212111211112121122221122121221122212211212121211111212112222211211112121121112222111212111212122122221211121111211212212212222112211111112211211212121112111222121221211212211222222212122222121121111221212222212121112121211222221111222112212121222221111222111212222111222211221112221212212211122222222121221121211111221211221211112212221221121211111212121221212121211121122121212121112211122211221122121122212122122112112221112212111111111221222111222122222122211221111211221111211222211122121122112221121212221212222111122112111121122112221111122221111121212221211222122112221122112111212222211221222222121222121222222221121221212111212211112211222111111211111122122121222121122222121111122212111112212111122112221112112111221222111121112122121211212111212122211211212121211211212221222222122212212211121221111221222121222111122222122111222212211212221121121122121122111212211122212122121212122212121211111212211111111211122112221122211211222221212111122111121212122212112121112121211211221212211121222112211121122111111122122222121222221122121111111111221211122121212211121222221121221211121111111111111122212222212111112211211122221121112211221211121122221121122122221122122221221111121221221111211212221121121211122122111111112111222112222221211122212222221211112122121122121221211212111222121121112121221222221112112121211112211211221212121122212121112122221111222221222222112111212112112122211112212221212112111112221111122122111121122122112111211221122222211222212122221112212212212212121212122212212221222212222222222112211221211222121122121211122212122211212212222211211121221122211211122111112112211112121211112112211122122211222211212222112111212122211211222222222122111221121211121212122221112222121211212112122111112221121111221121111112212121112122122112121222112211221122122221222222122111212212221121122212221121211111112121211221221211212212111112122111111222222111212221112211112211121212222211112212212212111121122221112211212222112211111112221112111211112121221111211121111212111212212221222211121111212222121121121111221121122222222221112121122211112122212221212211211212121121211221222121222222111111122112221111222112111222222221222212221212221222211121212211212222122212211122111122212121211121221122212112111221212112222122122212221121212211121122222121111111112221121121121112122111222221112221112221112212122211211212212121221211222212221122211222122111111222111112222121211221221212112212222212212222211211111212111211211121112122111211212121211122122221211121222111221122221222222112122212112111221221111212221222121221112121211111111122211122212111222211212111221221122112211112121112222112122221221111212221221122211111212112212221111212112112212222212221121221221111112112122211111211112212212112122112212122112111121111221121212112121122222211212221221212211111211121221212211122122222221212112112112111212221111112122221122222212211221211212122212221221221211122111221211222221221212111122122122221221122121212222111121212212221221211111221222211121122211121112112111221122222112222122122222221211212222212212222112111211111222111121122212122122212211121222211221111112222211212112122122111221222222221121121122222222111111112221112211122112221222212221211212122221212121221211122211111112122112121221112221222112112211221221122112122111122111121211122212221221222111212122212121111111211112211222212212122222212211212221222112221212121112121111111221221111111221111211111121211121122122221112211212211121221121221111122122121121211111222211212122122222112211221222112121212121121211211111122221211121122122121222211121122122221121221112212211121221122212212122221221122112211112111111121221122121212121112112222121211212211111122111221112222211211111112211212211212221221212111222121111222122221212221111122121121121112122111111221221112122212221212222212112122112111221221122222211121122121221122121212112122222122222222212222111122112211122122122222211121211212222211211122121222211212122222121112121111112112212121122221222211111212212212112222111222121121122211121112221211111211222212211221122211221222112211122221122122211111222211211112112111212222222212212222122111111122111122111122221211112121112112211221122112111222212222122222112222111121212121221211211211211212122211122112122122122121122111112122121211221212212122211211221212121211121212222122222221111112111112111112122112122121221111121122221122122212122222212122111211221212221111112222112222121221212112211222121122112221112222121222211221121211211112211112211122222112112122221221122212122121212111111211121111212212212122121121122121121211212112121122112212222212222211212112111111222122121112111111122111211122212221111112212221112212211111121212112122222211112212211221121121121211112122222121111121121222121112111221222121222211122112211211211221112212222122111111221121122222222211111112211212211111222222221211121122211111112222221211112221222211212222112111111121221121211111112222212212121221112122111222212111112121211122112112221121212122212221121121211112222222222112111122112111112212222222211222111211212211122212212211222112122112112221221122211212222222221112112122122112221111212211222222121211211222222112212212212112121212221112221212111121122211221112121121121212211221211112211211222211222111122212121122211112211221111221112112211121221211212112221212121212111111121121211222221122222221221211122221212122212211212221212111211211112222222222121211221122112211222211221222211222121211121211111212221111221211111121111221112112112122112211221111112222211212122122121111221221122212121112122212122111121121122211112221112122222111221112221222221212122121112222212212211112222211112121111221111221211221111221222222222211212121121112211221221111122222121111112112121122211111121112222112221122222212222112111121222211221121121121112212111222221212112112212112222211112221122111122211122221111112212211112212211211121112112222122112112112222111212121221121111221222111121122221222122221122212121212211122121211112212221112212121112222121212121121222211212111212211222112211221221111211121221112211121122211111122111111212212212112212222212222121212122122211211211121122111122112122212211211122221122221222211211212111222222121122221211111212221221212122112211112212222111121222211121121112221221222121111211111212211111221212121212122112112112122212212122121112111222121111212212122221122211111221121212121122212211222221122212222222122211121222212121212122111211211221212111222212211211112212122212122212222221211122112222212122221212121212121211221112111221112212221121212121111122111221122222121222112112121111221212222222222211222221212222122122211122222122111221112221112122112212112121212211121111112121112212121112221222112122222112212121211112111221221211221211211212111222211122222211212121121212221112222111122222111221111112121111221122221221211212121121121112111212221122211222121221222212112121221112212212212212222212122122211212111222211122211221122221122112211212112211222122121222112121212122121211221212112121211121222222222211221221212211222112221221111212212212121121212221111221111111211212211121122122122212222111121222212211211112112111111112122112121221212121121212112122122221212221112221122211221121121221212111112121211112122221222111121122112111122212111122111211111222222111112222212122222221112111211212122222111111112212212112222222222122111111112112212222212211111211112112211222222221121122221111111122112122211121212122212222212121212222121222111122211221112122112122112112212212221221111112111212222211221121122122121121121111122222121222121122111221221212121112221111112212112221121211211122122222221112112121222112121112211122211122112122111211212121122121112112111222212211112111221221111212211212211222221111112211122221121221112212122112211112111221211222212121121121212122121211122112222112111211121212222112121211222212211122211111222222222121222221221122112221221121222211111111222222221211211122211111122112121121121122211211212212112111212112111211122221122112112121112121211211222111122212221111212221112112122221222212112222211112222211212212112112111121112111221211222212112121111222122222211111112122122222222221111112112211121121111112111122111112112111122112222122212221122122221122122122121212111211112211221221111221112111111122112222211112122211211222121211121122211121111112122221212122211221221121112222212112212221212121212212212212211121212111222111211112111112222122121222212122222121121121222211112121211122211211211112222211122121222211121122111211121121122122212122112111212121111121112221122222211211211221221222121121212212112122212121221121121112122211221212221222111121222121111111112212122211221111111122122121222221121222122122122122111121211111222122121122212122212121211222121211212212212112212222112112112121211122111222222122122221111221112111221211222221122211112221212221111112122111212211212211122221111212112212211221211212221122122112122122112111221222212122212121221122211211212111211111211212122211221122222121211111121121122221121111221222111112111211211221211112112211212212222121212211112121221212211212212121221221122221212111121221111211111121212221211212111211122112212122212121122221112222211211121212212221121122112222212111112212212212221121211112121222212221121212211122211111111221121122122121212221122212221122221122222212212222211222121112111121212212122211221111112212111221121212112211221212112221212122221212121111212212111111211222121212212212211222112212121221222122122121222211212111212222121121221112222111211222112221212122212121221222211221222122111111211112221111221121221122112111211211212211122222121111121111111221221121222122112111221212211111121122112211111121121211211121111112121122221121122211211221121221112211121122212222122111112212211112222112112221112121112211222221222212221221112112211121121111222221122222212121122112111212112211222221111211122122111221222111221222121211112221211121111221112211112121211212212211111111222221111111112211112111111121211212222212111122121121222211212122111211212222112221212121111112122222222221122211122221212211121212222211111222122211112212212211222111112121111222212222122121112112211222111211221122222121111122111121222211211122221222211112222122212222121211121222122112121122211211212212112221111212121121211212112112112211221111111212112121221111211121111111221211222212121121112121122211222222121211222211112121111212222111121221122212221121111122121112212212222212211121122112211222221221122211121221221212212212211212221122211222221222121111112111112221221122222222112122121112211212211211221221122122212221212112222222121112222111111121112222222122112212111221111221211122211222111121222221222222212122211121222112111122211222112112221122111111121222211212112211121121221211121211222122212211212111222111211121211111222111122222211221111222212112111211112122111211122111121211121121221222122122221122121122112222212112211221222212212221211212212121122112222112112222122122221121212211211222222212211221121112121112221222112122122222112111212222122222212221121112112112221212212211212221122212222222122121121112221222222121222222111222121112212112211212111122122111121112122122212222211121212112222121121122111221221221222121111222222122112222121122222222122112121112121211211222122222221211121111122211121122112212221121121122121111222222211221112221121111211221221121111112121111212212211212212212121122212111121122212222121111122211221222112222211212211111112212211121111122122222212211211221212122122122221221121222212111122221111111221221111121111122122111111222112112122221211121121211111211212112212212212122211211221112212222222222222221121121221221112122112222212122212112221222221121111211222222222122222222211221212211222121212121122222112211222122121221222221212112122112111222212111222112122121122211111122221221111221121221221121112112221112222122112122212211222112112121212112222111211112112112222112211211111212112121211122121221212222212121112222121122212222212122221121111122212222121112211222221221121212211221112112212111112211211121112122212212111122111121112121222121121221221222121222112112112211121111211112222121121211111121212221111211212122222112121112112211212122211112222111222222111121212222112111121121221121112121112112222211122122212222222222121112122111222112121121111221121122211221122222112221111122122212212112122221122112222111121221211212211122221122222212212221112112222112222111121111121111121112211111121111111221122122122112222112211122221122122112211212121221222111221122212221221212112112222121211222112221212121221112211212212222112222122111221111122122121222211122122222121211222121121121221112212121112211122212122112112211121212211222221121121211212211221122222121212121211222122212111211121111222122222112212111121211122211121212122212211111112211112212212111111221221221222122211211212211122212121121122122212221211221212122111212212122111221211121211222112121221122222222222221112212212121212212122112222212111221121122222211111111112112221212222222222122122122112222222222211111121211112222221212111111111211211222122111121112121221222121221112111211121111122121121122221121122112111122212111111212122111112122211121212211211111112111221222212111221211211212111121211122211212212221211212212211222211222222211112122212111221221112212222222121211111122112221222222212121222112122222211211112122222121212222221121111211211121211111121222222121212212111222211212222112221112221122111112212122112121121121222221222211121212121221211112112221112221111122212111212222122222212212121221122222211112111211112221121211121112111221122121111212122222212121112111111111211222222122122122222211121111212222112112121122221212122222211222112211222222112222222211121111112112212221111121112112112212111122221222122121122221112212222221211122211111111212121122121211211111112211122211122122112212221221221222111111212121211111211221112211112112121111122122212112111212111122121212222221221212212111111122212212111222221122121111111212212121122211222212211122112112222212222121221221222212111222222221112221212222111121222121222121121111121112112211222112122211212112121211122222121211112212212111121111222122122112212211111221111212121221222211212121211121211222112122112222221211112112112122121112222112112221222212222221112221222112222121212111211122212111221112211112121122221111221212112121121212211111211212222121111222121211112222211212122111121211221222222121112111121222121221222111211112221112111211212121121222221212211221111122221211221111111111122112111222121221221112112112121111112112222221121212121121211111222222111122211221211112212222112122121111111111221221111222222111112211112212222222122111111222222221212112112222112211112221221112212211112122111221221212222212212111222111221212211111121122122112221222122222122122211222222211212112121222111111222221222121121212112121121121222111121211112112211222111121212111212111221122211212221122122112212122121121222222212211222112212212121121222211221221211121211211211121222111212111111121122121221121222211111212122211112211222122111211111121222212112221221211121111111222112221212221121111222112221211222211222111212112122112212211212122112112212112112112111211121212221222211211112122121222212211221211211111222121112112221112212122222121211122121221211121112222111121222212122111111212212112112122211212212221112212112221121221112211221121112221222122222221121221211111222111122211221121111112211211211121211121121111211111111212112221122212112112112222221211211222121122222212111122221221112221122212111112211211121112112122111121111212211122122221222121212222112211211211112121121211111221211221121121211221211111222212222111211222211212111211111212121122121112111211111112211211211121121121222111112211221121122112212222112222221211112211112121121121222112111212221211112111211112222111222222221122122212211212122122211122111212222221221221121121121111212112211212222121111211221122121112212211212222122222221122212111222211121222112122122121122212121222211112112122222222222111212221111112111122211121211112212112111212212221111122221222111211212111121222221211212221211112122222122211112221212111222221111221122121211222111122221111222222122211212222212112121211122122111212112112112112222212112222121111221121122112211122222111221112122222222112111221112211211121121212121221211221121122122221121221111221221212122222221122121222112121111221221211222111212221122112211211122212212111121211221212112222121221212121211112111212112222112211112212112211211221112212111121111212222212111111212121111112221112112121122212112211211221112122221211212212121222222112221122212211122222221211121111111212121212122212212222121112212222111222222212111212111212212112212211111211121112222212212222211222211122112111121122211212121121222221112122211112112221222121222222122122221221112222211111111122212122212111112111121122211122122112122122211111221222121211221211221212211221122212211111222222112111111211222221121111112222221122121112222111212111221221111121122122122112121211112122212121112112122221121211211221211222122111121121221122221212221211212112121111121212111112222221112211212221122211121211121212122212111211221111122111222221112111222111112111121221111112121122211112111122222122211222212211211121122122212122212122211112211111221121222222122111122211122122112121121221122112122222111111121121222122111211112121212211221222222222222221221221112211112122122121112112221111211222122122111111212112111122211211222122221212221212222212122112112121111222212212221211111212122222112122121211221212121122221122211212121122112221211212111211212112111222222111212211111112221122211222221122122222211211222122122112222121122122111111121211212211121122112211222221221221122122211111221221111211122111112112221111122211121112111222221212121211112112211222111112111221121222212112222211221212222221212121121122222212112111121122121121212222112221222212211222222111121121212121112222121111111112112221122211221121112221111212122212112221112212221212212112212222121211222211121121111222121212211221221212112111111121122122211211111211221122112212111212121111111212222221211212121212212121111221122112222122111221222221112222221111111122211212111211112122122221122221222211211222221212121212112222121122111111122121221122112212111211111121121221111212122112211121211112122122221221111212212221112211222111112211112112212212112111222222122211212221211222111221112211211111112221122221121221221211221212121121212121221211111222212211221111222112112121222121222221122212122121121121122221222221211111212211221121111112211212112222211121122222122222121112221221222211121222221222122111211212111122111222121122122121112211212211121211211222111122212122111111122112222121111112221122222122212111112221112222121211211211122212222212211221122121212221111112121212111121111111122122112211212222221211121221211121121212111221222121122122221112222222111221212212122122221222112121122121211112122121221121122221112112212122221212111222222112121221122221222212212111222112221222122122111212112222111122211122121112122111212111221211111221111121212122212222111121211212222122222222111112111222121211221222221111222212112221221121111121122112122212212221221212122221211112122112212211221111112121111122112122112122121222211121122121221221221112222222222122211221221211211221212111212222121211222112221221211111212122111212212211121111222122111112221212122111121211212212222221112221121211122212211211121112111222121212221122122211211112221221112121121111221221212212112212222121122212121211221212121112122122111112111121222221121122211121222212221111222222112221121211211122221212111221221121122122211112112212222121122111212122112221121122112212211122222122222221122211221221221222212222222121122111122222111112122111212212222122211221221211122112222222121212122221112221111112222222222112222211221222122111122112222121112221211112211112112111211221221211222221121122112211211212211222222121222121222111122212111111211112121111121221111112111121122222121212211111211212211122212122212111212222212112121122111112121222222222122211122111121211122211111221212222121222221221211122211112211112122121212112121212212211112212211221211122211212222112121211121221111221111111121221112221112211122112111121222112211211222222112122122221112212212122221221222222111221221111211121212212111121112122112222221122121122111222221122122212211111122221211221112122111111111212212211211212122111122121112121212221122111122121211111122211112212121112111122112211111212112212111222211112111111212221112111112122111111112212221121212112121122122122211121222211121222112121222212111111222122221112122122222212121111222222222212112222112121222121122112221121121211111121211221111211112121211211112122212221121121122212212121112211221212212111122112211122112111211122122212122221221222121221112122111221121211112111122221122121212121112112112122211112221221112222121221111222122212111212121222111111212111222111122221121111111121221221111212221111121221112211221111212121121112112112222211111112111212222112221212212111121112121221122211121111212121221222222111222211111121222222212211212111212121221122112121112112211221211111211122121221111111111121221221112112222211212222222221121211122222211111222222121222222122111211111211111121111212122211212121212212221221212221111222111211112111112222112222211211211111211112211121211222112221122122212112122111122212121212111112121122212111122121111211121121222211211212221212211211211222212221111221121122121212111111221111122221122112221211221222222111212122122212211221221221112221212121122121121221121222222222112121211222211212111111211211112221211211221111211211211111111122122122222211211122111122212122122121111111211121122112111221111122121221122122222111111121221211122121211122111222112221211111112122121212121212121221122112211211121122222112211211121212211221111212222211211222121221212211221212221121212212211122122211212112112211121112112211212211121211111221121212111122111222122121121211222211211122111112121212221211222222211121211112221222122122212211121111112222211212221211212212111212222121112221211112211212121212222112221111222222212112211122212221121122111112122122121212212211111112112222121222212121122221211121212111112211212212111212221121211112121211121122212221112121212112112222211122121112111111112122121221121211111122111121222122211111121211222112222212112221221212212222122111221211212112112111112222111122112222111122112222211122212211112121212111112122221121222112121221211121111112112122221121211112112221221122211122111122221212221222112222121212211221212212122121211222221122122222111221111221112111111211122222211112222121212221222122212111212121122212221221122112121111221211221122112211122122122111111122222121121122212211211111211112222212112222222222122111212221212221121212111221122121112112221122212122212221121121211212112122111211211111121221121122221222122212222111211221121211212121111212212111212212211221222112212222222212112211111221122211221122221221211212211212111122111222111111211222122221111211112221222212211111212212121221122111222122122112112121111112222112212121212221211111212211111121111111121222122121211112122121221112211121111112222211121222112221222122211112122121221221112112212221222121221221111211212221122121112121112121122121122212211122122122121211121112211212222122222121221111121122121121222111222221121211122122122122121121122222122122111222112211121221211212112222122211122222111112112122222222211122221212211212211212222212112121122211121111222121212211221122122221121211222111221122222121111211221111122212112211222222211222111221222211222121212212222221221211221122222212121221111222222112212211212122221111212212122112221121121121121122122212211122122211221211212121212222221111111122112122221212111121222221222112112121112221222222222122122122221222112222222121221212222122221212122121221122122111121221111122122221221222222122211122221221222121221211211211112121112112212121121112212111112112211111112221222111211212111221211211122222222112212212212222222122112122122111112212212112112122212212221212112211121111222112122111211212222112122222122212211211221212112121221111112211212121222222111121111211111222212221122111122212211112122112122121122211122121111221222222212121211111222212222112121121211212111121212121122112211121212221222111212122112222222121212121122221112211222121111121112211212122122112112112211221121121112211112111222121212112112121122112212212212212211112222122221212212212211112112211112222211211122212222212111111111221111112211212211222221122111222112222121121122121121222222112211211222222122222111112222211212211121112121112122122121111112212122112112212111112122111222111222221122211122122221211221112121222211121121121121221221121221222212212211222211122221121122212111212221122222221212122222212222121112221211121211221212111222121122222211111112112111221222221111212211211221212111221121221111112212122122222211122111111222122221211112211111122211111111121221211122221111222112122221212222111112121121222222111211211211222112111211212211221212112212211121121211212122112122222112221112112121212121112212122212212221121212211222122222111222112112211122221221221122212222211122222122221122222212112122212222121212222111212121121121211122211112211111121121221211121211121111112112222221121121112221112122222112212222112122111221222112222212111121112111222221122121112222211111222111122221111121222221111221222121112121121121221221212111122221112221111212212122121121211111122211111112112112112221122121112111211112121221111211222121222211112112222221221112112122212222111122111222222212112222122122211112222122112111212122122111112111221211211221221211221212212222122222222211112212112112111221112212221221222222111212111222111121212222121111121221112112221121111112221122111112111121211212212121112112122222211111122221122112121122121211121112211122221211111122122121222111122222211111112222112222222111122111112222222112212212222122112222211222211211221111112111211212212111112222121122121121112111222222111121211212122122111121211111112221222112121211122112212111221111122111212122222221111222211211211222221111222112222111222122111111221111211221222212221221221112112222212212121121221112212121111221211122212212112222221211122121112122211122122221122212222122222122121221222122222212121112222122111112122211221122221112111222111211222121121111111222211212121211222222221222221221212211212221111221211122122112222211111211222122112111122112122221222222222221212211111121111121121112111111211212122111211111112221212211212111112211111212222112222122211221211211111211121212221212112222212222112221111212112221212221222222111211111121222121111221212121222222111111211111211221121121111111121111112122112221221121211112212212112211111112121221111221122112121121222221211221221211111212122212222112211111222212112122111211211212222211212121212211112221112121122221212212121211122212222121221122221211122212122221121222212221111112112121222211222111212221112222211221111112222111221112221221121212211111222212222121112221122112212121211222112221222122121211122121222111221222222111121121211221121212211222222111121222121121121211211222221111222212111121212121112221122121221112221122221122111211121212122112112121112221121122211211211222222212112111112112111122121122111122111121211122122121211212221112111111121121212221222222112112122121222121222221112212111211221211112222111212212222111212222211122221222112122112221121111212111121211112212212212121212221112111222111121111222121122211111221112112221122112212211112212112122221212211212211221122111212122212121111222112211211111212211122122221122211211112121221111111122122121211112212112211111121121121212122112112111211122211111212112121211112211212121222212221122211212112111112112211121222112221122222212121122221211221112222221111122221212222222222112111122211211212111221222111222111121121222212112221121111111222112112221211121112221211221221212112111221211222212221221212111211222122222211111211221112222111222211221221112121121222211121122211222221221112112221122221221222122212112211122212121121121211121221211122222122121122212121211111122212222112222211222112111121221211121212221211222111211212222121221122122121222121212221122111111212111211221212111121222212222211111211122112211212112122221121212222222222211222111211111212112121121221221212122121221212112221121111111121211222221121122222221112221221221211121212112111221221111221112121221112222111221221221122212122111121111111121122211212112121122212121211111222211121211211212222221212122221212221211222222211112212222222111211112111111112121212121212221221111121221112212122122222222111111121222121221212122221222112221121212121121121221212212121112121211122122122212112122112221211211112111112211211122211211111122211221221211122222211111211211222221222221211222121212111221121122211122111212211222212121212221211212111221212211112111111221212122112121212112222122112122121121112222212221222221111111211211111111222212121122222111211211121121112221222212111112222212221211211122211121112122221111121211222111122211222112221211112222221222121121122112221222112111222111122221212222122111212222121212222222212122112112211211112211221122112222212121122221112221222221121122211111212122122112122112111112221221111112111111121211122112222212221211122112121112111212211121212211211212211112111222112122222211122111221111222211212211121112212121112121222211221211211211111111122111121121121221212122211221222112212211211222112222211111112212222111212222212111212121221211121111111121222212221112121221222212122111221211112211112111222111112211121122122122111211222112111222111122212112212212211121111112221121122221122211211222221121211121112112212122122222221222111212112221122121112221212211222111122112211222211222122212111212122111112112212121212211122121211212122222111211111221121122222111211121111222111112112221121222211221222112211121122112121121222221212212222222111212122221221222222122121121121111211222112212211112111121211122122121111121122212211212111122212111112212121122112222221212121121122122212112212112122212121121111121212221122122222222212222222211221212122121121222122121212121211222222112122212211222211122211222121121221211212112221222212221221111111111212212112222121211212221222121212122222221221121221121211122111111112121222222112222111211222122122112221211222212212221122212222221211221212211221112211221112211121222222111121222211112112112111222111112211111211222212222222222111111211122222111112221212112221121222111122222121212111212121112222222222121222112122221112111122212112121111122222211212211221111211121211212211121222112122211222121121121112111112211221212122121211121221212222112111112112121212112222222121212112221212122111222111222122212112211122122112222221121112211222222122122122112212211212112222222112111211121212111111212112212221111212212112112211121221221121112112111212211112222112211221122121211211222221212222222122111211222121112212112111221221221222211222211111121221112121211212211111221222221121111121222121221212122221122222121222122212221222211122122221212221221111222211222211211122221111212211121112211122211222122121112211211221121211211221121111112212121211112111211111212112112212121222111221222111221212122222112121111222122111221222111111121212221212211112121122221121121212122211121222112112122211111221122111212111221212212222121121211112221121212212221122111122122212211112221212112112222111212211121221221221222211121111111111121122212222121111221112222222212211222222112212112111212121222112121222221211221212222111212122221211221222112112222212221222122222211122211121222222222211111111212111212111111121211111122122112112212221121211221112211212222221122111212212121221222221122211121211222212212122221112112211121121221211221212121112211211112212222212212122111121111211112212212212211122121121111121121122212221112112221212211122112122222211122122122112122112112211122121211121111211221122212221212122112211222212122112121222211212111122212211222112122111112221111222111222211222211222111122211122221222122212121211121122222222222121112121212112211211222221121211121111112112112212121221222221111211111122222111222111211221122211211211222212212212112121112222111222122211111212211122221122212111112221222222122222212121121212122112222122121222121111221112211112111222122112221212121112112222122122222122122212211121211222121211211222211212221112112112221112221222122211222111121222122111121111222221212221121222121121212111122112212111121112222222121222211212112111211212211122122212212112222121222212211111112212121212212221211222221212211112211112122221211122112222212112211221212122222222122111121211121121121222112222122122211122211122121222111112122222221212122222122212222222121212122221222111222222221121122222221111222122111222112212212212111222122112112122121222112212221222212222211122211121112222221111122111112211211221212212222211211112212122222212111212112212112112112222111211221221211122212222122121122111122121221212122222211112212211111211212122112221122111122212122111122222212112222212211221122222112212122112212122222212121112111221212121122122211212212111212121222111112112211112222112121121122122222211112211111111222212211111211112121121212222122222121122222211122221112112112121212122221221111122112121122122121222121222122221121112112121112111211222122212212221112111222221122122221122212211122221111111212112112122221212221122211211111112222112221222222212112112122121112212221211221122222122122121121112112222121211122221111122121211211222112211212211212221112222111222122121121121121121212112221211112212222122112112222122211211111211111111122221221121111111122222222121221121111121212112122122111121112111212122111212221222222222211112112211222111212112221211211221122121111211121121122112211211111121112221121121111121222222211221211111212222212222211121121121212111222211212111221112112222211222222222112211121111211122121111111111221211122112122121111122112122112122221112121222211212212211222111211211211121211111111222111111221121112222221221211212222111221212212222121122111111121211212211112211121122222112112122122221222111112222211221111211211112221112121211212122221212112122221221122211211112111121112111221112222221211122211222122121212222111121221121111112112111121111121211121222121211211111211111212212221111121211112112111112121211211222122221222221111222122122121122121121211211121212121212112221222121112211122122122211112121122212121121212212112211122212211122122111211221211212121211112121222111111112122211121112111111122222221122112112211111222221222122222212121211222111111222222121221121112121122212212122121121122122222122221111122211212211111111121122111221212111221222112111222122222111222121212221222122121122112221121221111111222222122121121111222122211121112112122212212222222221121221112121221212211121212212121211221111112221212212112121112211222112211221221222222211222212122212221221221211221122122112222112112122112122222111121111221122211211222122121222112211221212222121112111212112212222211221222212211121221222211211212122111112122112121222222111121112112212212222212222221111212212222221111221212111221222221122121211122112212111111222212122121112222111211111121112111122221212122111222122212212212121111112112222121111112211221121112111211122222112211212121111212122112221222111212111122222121122222221222222112212221222122111122122112221222122211222121211221111211112121221112112112211222222211212112222112211211221112221221212112121111212121122121111111122212122112222121212122221222122111221221111112111121222211112111222111112221222122121221112122211212212222121122122122122122112221222121122212221212222222111121111122121212222112222222212111111121122211111211222211121212121222122211211211212221111111212222111122221122111121111212111111112212211221211221122212111122112221211111112112211112121211212111211121212211211211212222121221222122111111212212112222211211221122211111121221212112121212211212222211222222122221122221122122122112112112222212122222212211221111122122111121221122211222112211122122212122211121222121221221221122222222112122121221222112222221221121112212211111121122121122122211222221222122121112211222222211222212222222211112222212211221221211112121212111221211221111212221111111122111112112221222222112211221111111222221122121222211122221211211222221221211212212222212222122222121112111222221122221212111221212121221221221121222112211222211212121121221122111221222112221221222211121112212222212112121222211121111111111222222111221211211212222222212211111111112122122211222221111121211122121122222212121222111122111212122212122121111221222212211211112222112222221111211112211222121121122211112211121221212212212222211221222111222211221221112211112211122222222212121121211112122212111122122211122212222211122222222222122111211111111221122211221212122112111222211112221212111221221111211112222112122122211121221222112122211211222112112122212111211211222222122112111122112221111112211122221122212121212221222122122122212122122221121121221121221211111112122122111212112222111221111121121221221212121221222211112211122112111121121121122121111112112212121211122122121221122222112222222121212121122222121222121211211112121222122212111111211121222122122112221111221122122121122221112212112212211212211221121122212221111111221212121212122122111111221111212122111111211211112221121122122111222221222211112222111121211222112222111122221221111212222221122211222121221122221121212211211121221221112212112212111222111222212212122122112222112112222111211221211121211221111212122121212212222222111122221211221121121222221112221111221112212122111222111211121222211121112112212122212122222121221211121212211112221212122112112112111221121122111122112211222111111111221121221112122112121212221111221222122222221221221222121211221111211212122222121221122221112211112221222211212212121112112221111122122221212112221211212221212122222111211121222112212221122211212112222111122211112211112122112212221111121212111112211112211111221122211121222121111221111121212122212121112211111122121121222222222112121112111221222222111122111112221111211211122111122222222212111112112222211211211112112121211221112122212112222111221221121222122111211221221112111222112111222111121211112221121122211122122222111221112222222222121121212211211111221112221221121121122121122212122212122222212121112222221121122122212222211211111121112211111221212211221211121222222122221122111221212221211212111221111222121111212222112112112212211222211121121211211222121222112212212211122112211111121122112222222212212112212122211112222122122122112121111211211221121211222211112222212122222212111111112122211111122121211121121112221111121222221212111122211221112122221111211221212222221111211112121212112122211221122121222121212112121222222212121222112221121221221112111112111111111121222222121212121221122122112222112221211111222111121121212112112212222122122122222212222122211121222112111211222211112222221222111122212112112212211121211222111121221121122221211212122212222221122122112222211221212111212122212111211111121112222111221121222122211122111221222121122221122221212211112111122221111122112111221122222222111211222211222222212112112211112211211111211121111211122112112222212112211222211112211222221211112121121121212221222211211121111111212222211211111222112221211122221212112222112211221122111112222121211111111222222111212212212121211111122211212122212221211221211111121221112212122221222211121221112212111222211221111211212111211112211221122221222221221222121111121121212212112221222121222122211112121211111222212212212122211122221221222211111122211122111221221111222212112211122221122221121122122112121211221222221211221221111221212212111212121211221122222212121221121212212222212122111112111111111121222112221112222112122211121221111121211211112121111111111212221112112111111212222121122211111121121212221121212111212222111122111211122211111122112122111122111122222221222212111111212111111112221112122212221221112111121121211121221111211212212122111212112222222111211221111222121221122221121112212121122221222112112112211222211121121121112211122212111121212112122112222111211112211221122212212211122111112121121221221212211111111211212121111222121122111221211111222211211111112112222222222211211222112222221211121112211112122221111222111221112222222112212111111211222112111112221221212211211112121221222211212112122221112111112222122121122212122112211222122112222122211222221221112222221211211121211212112111111212211121112212222112222112111122121111221122211121211122212221122211121121112222211122222111112212121111112221211222221211211121112211222111211112221211222222221222121111122122111212212211121221211212121111122211111212221111211121121112122111222221222212212212222112122112112122222122111211111211121222112211122122221121121111121122212112122221221111211111212211121121212121111112212211211221112221111221222122222111121221212121221122121212222221211211212121111222221112221112112121211121222212222122212211111212112121111122222111111121212112112221221212211121111222222212221111221212121112221222221111111222212112112121211222122221212122221222211221212222111222221121121212222221221221211222212112221112111111221221221222221111121222211111121112212211222121211112211122222221212211111222112212122122221211222221212212121112212112211211222122111111112222112121111222121122121121112211112211221211221112212111111221112122212121112121211221212221111212122211222222221211111111211112212211221221122212211221112212211221112121211122111221111222212222112122121121122211121122221212211212122111112112211221122111221111221212221221211211112112121122111211211112211212211221111122112121221112221112122212211121221122121112212221212222121111221112221121222222111121221122221221111221121221222222122121121121122211122121212112122111212111122222111121121122222211122122221211112121112112121212122212112221221111121111212112212111222111222121211211122222212121122112212112122111112211222121222111121111211221211212111212221211121211212122112221122212122221112211212221122112122221222122222122112111221112222122121122212111112121121212112212122122221122221222112211211212121111221121211222111211112211111212111222122221211121221222112121111211221221121222111221211112122212111211121212111112212211121221111211222121112122212211111121222122212222112111121111112121111122212121111211122111122122211122221212221121212122111222211112211221121111121212212212111221211221222121111112121111222112221122222212221221212222221122222121112121222121211121121211212221222121221212121111222122122112112222112222112122212211212111111221122122121111112122222221212211121212121222222212221122112122111211211111111212112121221112222222211121121122221212112111212212221122121121212221112212211111222222121212212212222222212111221111211111212221121222222121221122121122122111221222211222211122112122222112211211111211221111212121112212111211212212121222111122222121111221222222122112122111122111221111212111111212222222221111211121211211212122222111122112121221111112111112211212211122221122122112112112212211122222222211111122221221121121222221111212212222212112221112212111212112121222221121221221112111221111111211122111211221111211221112111111211122112212212112222122221212211212111221121222222122211121212221111212112221221122111221112112211122222212112212212221121221121211211222122222212112222221111111122112121211221121111212211222221212211212221112121211111221121112211121121211221221111121122122221222122122121111211122111212111212222212222121211122111212211211112121221111121122121221122221211222121122112222112222121111222211212121112111122111212211121222221211112222111221112211122111222121212122111122112112222121122112121212121111211112221222122211222212221212211222221111222112121111222212222122222121112111211111112121111121111111221121221222211212222212221111211112222111222212221111112122111222121211222111212222111112211121121221221122122221212212222121221221211121112212121211121222221121121122211212221112122122122111222212122222212122222111112222121222111121121221221221222211222112112122111212211111211222122112221211112211222122222212122221211212222222212111211211122122212112122122212121212121111222121121121121222221111211211221122122222211222212221121121211221212121212211122112221121221211111211121122122221111111212211221112112112121211122122122212122112222221212122211211122122211111121122112222222211221221211222221122221112111221211222112212121111222112212221222211212221122112122212212222122122221221121122111212122212112111122122221211211112211121122222121221222111122122121111112122211111222121122112221122121121211211221222222111212212122112211222221212122112122222211122121222212111222111212212111222211122111122211122211221121111111111222222121222112222112211212121122122221122221222112122121211211211122121112112112222122221121212121121211212121121211212222111211121211221122222121111111212112221121112111112122122122112121122222211212211211122121222211211121222221211222121212111112111212112112212121111112111211221112221221212221212112221112222112122221111222112121112222112221222111211122111112211211112111111111221111211212122122121112122211112221211222211111122111112212111221122112212112211121222212211221112211121122222212222121212211212121122112222212212221121112122212222222222222221121211212212221222122111222221111122121222221111121121212221112222212212111111112112121222121221212221211221221221122121112121211112122211212111211112111111121112222221122122221111112211221222212111222222122121112111211212221121212121211111112112112222211211121211122212122121211211212221221222121122111221121112211211112212212212221111112222121211122111212111121122221221211222112211212222222122221222112111212122212122212222211211122121221112121121122212112112211212212121112212111221212112222222111111112221122221222122111212222211212222221221211212122112222212111221212222221112122222121121112212212222211222221111112111121111212212222222111211112222112122122121212122121212222122121211112222221212111112222221211122221222222222111222111211121212222121112212112122112221122221121221122212121112221112122212211212212221212221222221211212211112122122122211221111112212222112222222211112221212112212222222122112221122212221212211211222121222222221221211111212221121122122121221211122111112111121122112222122221121212222122122211222122221112222221112111211112211211122121222212121221112111211111211122122121122112211112122112111121121122221112122221212111212112211112212122221222212112212222212122122222122111212222221212122211121211122221122112211121212111112222212222212222211222111112222211222122222111211221121121212112222121222121222211212212221222212121222111222212122211121111121221221212222211222112111211111112212111111111211222112112121111112221121122121222221122112221211112222122222211121211221211222222212221221221221112222221111111121112222112221122211111111121211222212111212112211211212122222121222221112221111111122211222212112212211122221211122221211111222112122221212221221121211221211122111221122222212112112221121211111211111122121222111121122121122212112221122211111111121221222222211111122121121122112112122121112112122222222112112221112222222221211222211221122111112212112212122112212211221111211111121212112222211212112222122121222221112111222222112111112112112111122112222122222212221221212211222111112221221111221221222221211122112222121121222121211122221222112122111211111111121212211221211211111112222222212121111221122212221221121111121122221221111111121111121111222112121121112111221212221112121211111212221211121211121112222112121212222211121112122222121112212211222122112112212121112212111211211221111222221221111212122122212211121212212122222222212222112122122111121212121222211221212221121112122212212211112122112211121211222121111121212222112221222211111221121111222111122112212211221222122222112122211111221221112211221211121121211212221121221111211212111222212211211122222122111112221112112211212111222221112221111222122111222121112222121221222121212122211222111212121212111211111121221122212211211222212121212111222112212211221122222122211222212122111112122121211221112112111222222121211121222212122221222211212111121122121121121112221212221111111121121112212222112212121122121222112212111122112121122111221112221112222121112221112212221222222122111221111122212111122111111121221122221122121112112122212121212211121121211221212112122112111112211111212122221121221121212112221222122211211121121212121221212122112122121112222111221122111122111112221112112211121111222112121112222111211221112112112222221211111112221212211212221222122211221211111211121111211222122122112122221221212111221221122222121211221222211212221112222211222221111221221111212222221221121211122211122222121112122211212112212122111222221121111111112222122211122121221111222122112111221121221221212121112222121212212122122122112212122121222212222221221212111222112221211212211211112212221121122211122221112221211111221221121121222111112222112111221111211111122122122122212211212211112222211112112122121122222121222111212111111222212212122211211112122211212222211112112211212112211212122111212222111111111121121122211122121122122211211221221221121222112122111112112211212211122221221212121211112121211111112211111112222122122111121221122221112122222211221222111211211221222221111221221112212221211111111222121222112121221122121112121111212222122212121111122211221122122221221222112221111212222221121122112212212111212121212222111111212111212112122222111212221122211212111221212212211221212122222211222212111122211122112112212122221211122121212121222121211112212122122122121212221212211221112112212221121111212122112212221211121212122112112211211121222212222211122111222211211111221222212111221222212122111122112112111212121221121121221211121122111111111111122212111221212112211122122122121212212121112221212111121221122221111212211122211121111111121111112212111212122211221221112112212121121111111121111111121111211212221222122111111222212222122122212122222211111112211121111111112112221221121111111222211111122111112121221122122221121112211212221221211121111211222221212122122112222222221212222111222211121212111121211212122111112112121221121122222221111112112121221111122112121111111112121221211212122211221112211221222111121211111121221112112221221212211212222121112122211121212212111211112212122122122211122121212122222122211111222211121112121222121212121222222221221221222212221121212122111121111211221112212111112222112211221121212221212212112121121212222212122122122221112111222112112212111221221122212121211211211221122221112221112122112222221122212122221121222111211221122222222112212111211221122111122212122122222121211211221222211221121122111112221112211121121122121112112111212221221111121211121222122112111111221211212122121122111111121221112211211221122122111211122212111212221212111122222122211212121112212122221122112221212122112111121221121122211121212222211211222121211111221111221111212221222121212112221121222112221112111211112212211222222112222222121112122222211212212121211222212222222122222111122111221121222222122221111111122222111122112111122121111211111111122121222112211212211222122111211211111212112211122221222211121122112211211121122111111112121111121112122211211121112111111111122122221212211222221211221212212122112122111211112112222121211111212122211122211122121221221122222221122111111111221211112222222111211221122212221111222212212112111212221212112211111111121222121111212211211121221221112211212122211121221212112222211112211112112222112212211222121212121112122221122222212121212121111121221222212112121212122122211222121212222111221221111212211122212221211222211212222121211211222122221121221222122122222121112122212212212121111221111222222222112211111112122112111122111212221111112112121222212111221221121121121212112221222111111221221121111221111122222112111212221111122212111112222122121212111211222122121111211112211111212222122111112212121111212222121222112211212112122121122121212112222112221122122221111122121212221111122112222221121122121121211212122121111122112222122222111122221122221222121122211122111222222222211111112221221221222221211121211222112122121121222112221121122121211111222111111212112222112122221221212211121112222222111222211211211212121111111112112122122222111111122111221212211111222112111122221112222221121212121122221121211222222211212221121111222212211221222212212112121222121122112212212221112121212211121122222221222112212221212212111222111111221112111222222221122212221222222221112221221121111221212211112121122221212121121222121211112122112221122212221122121212211211221112222121121211112111212112122221111222122121212111211212222112122211111122211212211211222121111221122122222122121121211112121112221122211222211222122112211222122211222112121211212122112121122212122211222212211221221111212222211111122121222221111222112112212221211221121121112111111222122211212121212221111122111211112122112222211211122211211111112211112211112121112211221211112211112221112212111122221121221122111221112221111112222111112112121221122122121222222111211221122112221212111212112111121222222222212121121112122112112121221221121121212221122221112112122112222211112112212211221112111111121212111212121221111221211211121222111211211122212221222212112111111122221221112222212122112211212121111212122211211211122211112111122211112212111222112222111112221121221221111122111112111212122121222121222112111212222121222221211221211111121112111121111221111212212212211112111122122212211112121211112212122221212211211121111221212122222121212111211122222122221212221111121221211121212111222221211221112211112222121121211211221121211111211212112212212111111122212221222221222121212121211111222212211111221211221121122122121122111112212221212212212111212122121111212122221212111122212222122211222111222222122121221221121222121121122211211221211112212112111212222211222221211111212121111121211211122221122212211111112112222211122212212112122121222112121212211122121112211212212212122121221111222121121112121222121222222221112221121112221122112121212211122121221121212212222212222212121212112111121211221212112212111221211211112122221212121221111111222112221211111122212222211212211111222221122222112211222212121211221111212121122212221212112122121111212111211111221122222122122111121222212221122112121122211121121211212122211111111112111112222211221221221212112121112111221121222112111211112211111112212211212112212111112122221211112112211221221211112221212222211222122122111122122222121121221212112222111121221212121121121222112121122211122112111211212211222121122121221221121222222212212222221211211221212112121112122121112222121121212121122122221121221122221111221222112221211212122111122211121112211221221111222212221121222221121212111122212111221221112121222122122211222211211212221111121122211221222211112212222112222111121112121211221112221122112111111211212222222111121112221222112112111212122211122212221211222221222221112112111212222221121121222111222211112112111121221211222211222111222221212221221222111112112122121121121222111112122122111212211221212221121221112122222112112221112222222211121111111112211111211122122111221112212221221111111212212122121221122221111221122112221222212112112111121211222212212212122122111121122122122112221112112122121212111111211111211112211221122221212121221122121222121221111222111122222211112212112122211221111212122121122221211121111222112111112222112222222222211222111221122112222221222222111212112112222222122212211212112111122112211111211221222221221122121122121111221222111121112122212111121212211111211111222121122122111111122211111211212111111112212212211122112221111121112122122121122211111221221212112212222121121112121112221112121211221111222121212221222222221222221222211211221111212221221212211111221111221211122122121111212221212221211112111212111121111222222121212111211222122112112121121221211222112211112221221221221222121122121112221211211112221112212222222112212221121112121122222221211112222121221222222111211221221122212122221121111111122211112212122221121111211121111221121111211111212112212221121212121112112111212121222122111112112212111111221111111111122111121211112221111112111112211222122122111122122212212121122221222122112211212121211211211121122122112112221121121221221212212221222122221122122211221111112122122221111122111122212121121121122212112112122112212222222121211112122222211222212112112122221221222222222211212112121211121221112212112111212212111121111122112221111212212121221221112112122122121122122121122111221122112121112121121122112211211112221221212111111212121211112112222212212222222222121122112121212212122121112222112111121212122121221111212212221112211122222122211211121111122111112212111222121122122121112111112122211221211111221212122221122221121112121221111122211112221211211221212112222122121221221121111222122222122221112211121222122112222221122221221211121221121222122121111111112211112112121212211212111211122212112211122221222122211122111212111112121122212211211121112212122121211221221222111112111111212121121211221212111211112211212221212112121212111222212211121111221112121211111112121112121221111212222222211121222111112112211111221222221221222111212221121112111221221222122121221122121111212111221111211212111221221212222112121221222122122222122221122121112221222122221112121221221122111112211122112221121122222221122112221121111221121121112221112221111212222221212222222221211222211212112212122122221221121111111111222222211211121122122122212121212221121122112222212112121221122211222121222121222221212111212112222221111121121112121212212122112122121211122222112112121222122211221212122121122121212222121212121121222211121221211112222221122122112112211212212112112122211122112211222112222221212222111111121112112222222122111112222122111112212221211221121221211222212221212212212122122122222111121111121211122121111212211222121222211221122121122122121112121212221111212111212111221122122111222212112112211112221222211112212111121122121121222122211211121222111112121211122122122212112122211212221122112112111121112121222122221211112112221112211221112121121221222211111221111122121222111121111112211222211221121112221222222112222122212212122221222112112212221222211112221122121211221221112121121221121121212122212122121121111221121121222121221121221111111122212122122111112122222212121122112112221121222112122121122122221222221112121122121221222122211211122121111222112122221122111221112211112122222221121221212121211111122211112211111111122211211211211212122122222111112121122112122211121111222111122111221111211112112211211121211122211211112112121221111111122121111121211221212122211111121111222222211112122111211111112211221111112111222211112112122122211121111222111112221121221111212112212122112222121111112111122221211121222111222211122222112121222111122211121121212121222121112211122112221112211212222212221222211111121111121122222111221121122121122122122121111221221121111112212122212122211222222111112111121122121111112221121111211211211122112121222212221222221121221111221211122122211211121112112112122122212121221212211122211121221221112122111211111211212211212221221212122222121212112212221122122211122122212221222122111122121212211121212122122221111222221212211222222221121121111211212122212112221122221211111221112211111111222212112122212112121221222121111121222212111222122121222111111221221221212122122222121212111121222221121212121211211121222112211221111222211221121122121222211121222212211212221121111221222222121222112111112222112221112212111212221221121112212212211112221112212111211121112222221212111111121211112122111221222121212122122222221112212221221221122222221221121211112122222122112211111111121221122221122222111111221112111221112211212212221221221121211112222112222122112211211222122122112112221212221121111111111211222111222211222112121122121211112121211112211211222122221112221221212222121212111211211112221122222122221221121121212221222112121211221112112122222221121121212221111122122221121221122222222212221121221222211121211212121121111211211122122121112221222121112211221121221121221212211211221111112221111112211112122211221112212112212221212212222112212111121121211212111211221212221221112121112211211221212121112121112122212111221111221221112211221121121121112111222211122122121122111221222112222211121121222111212221112112111222222122122112222122211221212221111111112112112211222112122111122222211122212221122212222211111222112111112221211111221211121211111222221111212221212112112211221222111221221112211112222211111222112111221211211212212211212212122212111212121122112222111111111211122222122211112212222222111211111221211121111112112221121221211222222212121222112111222221212212211212212222122212112221112111211112111112221111212222221212222121211212111221211212221212121222112211111111212211212122112121211221211121212221121222122121222111112111212122122112221121121122121212121211222212212122112212122112222211112112122111122122122111112211212111222221112211222222111122122112121221221211212222222122121112112222212211122111222122122121211111212221111121111111122112221111121121221111211212212221111112112121112222212212211122222112212212211221122121222122211222112111222112211122212112222121112211212222112221221212212122122112222111111111221212222122221222122121111111112221122222111111222121112222111112121211111121112222222111212122112211112111121112211212112212222121212112111122211212221111222121212221122112121211111112122212121121221211122111121211122222111111221112211212222111221212222111122221111112121221221112222211112222211211121212112111112121212111111211121221211221121122121111221111112212111212212121222112111211111212212222122111111222111212211122122121111111211212211112211111211111112212212211122122112222111112111111121211111221112212111212112112222222211212121112112111111221111222221222121212111121112221122122222121221111111121221222212222221121121211221222211221221122212112211121121111221112211211222121111111112212212122121112112222112212112112211212121111112222111211111111111211212112211112111122122122111222122212122222112211221221222111221111121112221221222111221111212122121111121122111111111222112212222112112211111112221212222111121122121221122222122222212211211211122122121121121121122111211111222121112121121112222122222122212122221212211122121121221222111122211112121122122212121222212122112121122112222222121121112211212212122111221121122211212222122212212121221112122212212212112121112221211211211122121122121121122121122112211222212111222211221212111111212212121211122221222221121222112122111211222111222112112212122221222112211211122211212111111211121122121222222222212121222222211111121221112112122222221211112122212111112222211212221212122221112222121212222221121222111211111111212221111211212211111211221121121222112122122221122211122111222111222212221111112221122221112121112222111212212222221112212112112121112112121211211111222211211212112221122121221222121111211112122112122211221212112121212122112121212212122122112112221221211222111222111121212111121221112221212212111221222222121112211112111221212112122112211122122111211121121121111122111111121221222112211112212121211222212222121111111211121112121122112211112221221111122111112112121122112111222121222121121222222122212211121112222212122121221122222121112122212211112221222211221222111211112221121212111122121112222222222122112222212211221221121112221111111222211122221121122222212111121211222211111112111212212211121111112212211211212222211121222112222211212121122212211222122221122212222111121222222122211111111121112222221111122221211211222121111222222211222211221211222211212222211112222122211111211111111211111212112112212121111121222121111221121112121211221111212212221211211212111212212221111221111122122211121122221121211122112211212122112112112221222211112111212112221212222221112121211212211111112122222111111211211222122221221212221112112211112222121112211221121212221211112222212112121122121211112212111212222222221212111221111212222211111221111212122122112222221212121211122122112122112221121111121111121121222112122212121121122111212211121221121121121111222121222222211122222222221221212121221222212112211112122112221121211111112122111111122212221111111112212111122112221212222222211121212121222211212212112121111212122121211212111112222122221121111222212212122211222111111111221111121121221112212221111211211121211111112222212111121112111222122211212221122211122112212221111111111211211222121211121211212212211121121222112111222222221121212111122122222112212211212112112122121121121212211221111212211212221112212221221112212112211122111112222122211211222111122122222222221112222112222122212121112222212111212211221221211222222221112211112212122121112211122222122112222112111211121111221111122121211112122122212222122212222211112112122212211211222211112111212121211122221222121212112122121211221121221122222211122121112112122222112222221111221112222222122111111222121211222212122121212122221212111222211221122211122111112121211122111112111111122112112222221211111111222221112112111211212222122212221112222112221211121221121221222212221222111111222112121222122112112111112212212121212212112111211121112121211211112221111121221211211212111112212222111122221122222222212212112212212112222122221122221222222112111211212221111212221122222121111112121112121211212121112121122221112111121222212212221221112122111212122111221212221122112221111121111111222211111122221222112212122122111211112121211122122222212211111221111222111122121112221211211212212221112221111212122122222121111111121122122112221211222121222111121212212122211222212111122111212112221222211222212212211111212111121121211121221121121111222222211122211222111121112111112212211222221122121112121121112211112122122211212112121211122122121211221212121121111111122212122111212112221221212111111211212112212112212211212112112211222221122221221221112212121221112122211111222112211221211122221121112111112112211221122121122222222212221221121121221111211221112121212122111222212112221211222221212212221112111222222222222121222221121212212212112222221221222212221212222211212211122212211221111222222111221222122221121122211122212111112111221121211221112211221121212111212111221121121111122221122122212221221211111122122122221122221122212112111121222221121222111112121222122111111122121221111211111212111222211221111212212112121212211221121222212221221221112122211222111121211112211122122111112222121122221111211221121212121112121221111222111122222112111112211111212122221222111121212122121112222122212122121211211112122212111212111111112121111122222212211221112211111222112111122212122112122212221112221221221112122122211212221112122211111112212112221122221212111222221222112222222222212121121211121121121111112111221111112222211211221112212122122112112111212122222212211212122212211112121121212212122121222122221211112221211222111111121222211121111221111121212212212122111121121212212121221111211112221112211112121111211121122112212212222111222211221121221222222111111222111112122112211212112122221121112222212112112221221111222122121112122211212112121111122111122111222212111212111121222111222122221122112222121111212112121121222122212212111221222122112222122122221111222111221111121222212121122112211221211222121121112122212221111122212122221211111212111211221121222211221212222121222112122222211111112112212211112121222212112222222212222122112221112222221111111121122111222121121112222222211212212121211222222211212211121222112122111222121122112121111121122112212222111212111122111222222112122212111111221222221112112221222212212222212111121212121212111221112222111211221222121211211222112121211112221111211112122121212121211222112221222111111211221212221121222222121122212211221111122122222212121211121211212221211122122222111122121212221111112112122121222212112212212111222121211111112211112112121111111112212211212121212112212111121222112211112222211121211112111111122222221122211111121212221112121121122212212122212211122122221112122212211212112122111221111112211111122111121211121121112212221122222121122222121211111212221111211122112211212112222212112112111212211211111221222112212122122222211221122122122211211222111222121222111122211221221112122221111211212222222212211221211212121211122121221212211212211122211222112212222112122122111112221211211122121211112211221121111212221212222222121211121221122211111112111112222211221112212211112211221111112221121211122222111111111121111122221112112211211111121211122212121212212212211112121111222221111112121121112111112221212121121111211121112222221122122211221222211212211111111221111121211112222112122111212121221211211212121221222212212122221111121111222122111122122111122122211122121111122121121111111111211111111111112212121112122211111111222211121122112222111211212211211112222111211122212122111212222111212212122122112122112122112111121212212122211221122212121111112211212212121122111212111121122121111111112211221222221221121221222211221112122222122122121221222122211122111212122221222222222122121221122121121112222212212111111211121212111111112112212221122122121222211212212112111222121211221112111212112111122121122122121112121111212222211211112122222212212212112222122112222112112112112122121212222211222111112111222222221211221222112112221121111121211111122112211112121211122222212211212112212111112122221122111121111122211211122112212112121211122211211211111111212111112211122122121121221212121112212221111222111122221212111112121221112221122222212221211221121122111222111122121112221111121221121121212212212122122222121112212121121211122211121111212112112112121111212221122212111211121112221212122212122122221111221112211122211121222211122222211221221112122211122211221122122211121112221111211221222112121222111212112221122121211222112222221112212112111122121221221211211212222112121112211221222222222211221122122212211221121111121222111121121212211112211222212212211121221121211111212222221112222211122122222211122211122121112211112111112121122221121221121211112211221212222212212111212221112121111122121211121212122122112111212212222121112121222221111212121111222222221121221211212122121212122212121112121121222221111112212221221211112221121111122212112212112111112111112122212211212222211112222221121222211211221221121211121211121121222222211211212121212211211222111112222222122212111222221222111111211111222212212222111111222212122222111112112221122212112221111111212212211112222111222221212121221121111111112212222212211122211222112211111122221221212221212222212221211112122212122212222111222121122221221222111211211222111212212121111111121221112122222222221111221221111221211121212211222222122221111222211122221121122212111111122221121122221212112112222221211121211121121121122211122212212212112112122211122111112211211112211121212211212212212211111221222221122121122121221222212222112112121222112111222121122212211112222221222212112112222211211122221221212121111211212222121212212211222211222222112212122221212212111221211121121121121122221211122211222111122121122212112112121221121111212111221222122222222112112121222212212121222122221221221122212222221122111212212111122121121112221112212221212212121111211112112122122222211122121111111211111222211111122112222211222221221211222112112212222222111211212122211121222121112112212121112221222221121221122212121112212222212121211211111121122122111121122221212122212122122112122112222111211221111212212211222212111211111212122222112121212222212211122112222212122212111221211212111222211212112211122222111121122111212122121122222122211122112222221211222112122221222111112212122121222222222221212111211222211112111211111211111212121211122221122222122111212222221121122111121111221221121212112221222122112121121212212112212222111112112112121121121222122121122212111122211221211111112221112112121222112221121212121222121212211112111122222212111121212122111221221222121211122121111212122211212212222222211122211122211112112222221221111111111212211122111211111212212111122221212211112221221221122112122112222122221112212111111111212111211121222122112222222112111222212122212222222211122121211112222222111111122211111221222121112121121112211212222211211221221222121211212221221211222112111112211212212212212222112122122222222211212121112112111112111222221222211112211211212211112121121122221122112212222112211211221121111211212221212221211211121221121222121211112112122211122111222221222121111212122111222222121212111112112112112222222221122222221112112222111212122221122211222112112211221211111221121122121121211122122112121211211111222112222221222212122112121122122112111221211122112112122222111112212212221122121121122212222212222112212122111211112121121211112211222221222212112112222221122112212221121112122221211121222112211111122112112111211211111121122122112222222112112122211222112111111222111222222121221122111111112211122121211222111212222111221111111111222211211221111111211111211211112212221221222212121222222121212111211121112221221121111121112111111112112212112222122111112112212221112122112211212121122221221212122121222221212211121211122222211211122222211121111212112122221121112212221121121112222211112221121222111122221222111122212222121221211222211112111122112122211112222121221212222211122111211121121222121122121121111122212122212221222121211122222112111121221111211221122121211122221221111212221111111221111121211111221112222122122112211111212212122111212222212112222211121212211212122122222212211122122212212221222111122121111112112222211111222212121212111211212121212111112121121112221221111111111112222212211211212121221211211112222212112222112211111212222221211211122221222212221212122111121221122211122222222221222121212112122211112111122212112122121221212222112112221221222211212211211221221111222121222112212211222212221112112122112222222111222222112212222212211122122222211221112121112222212221211122111112122112222211122112122122222212221222111111111111211222212212112111211211122111211211212211212121111121111122112121212122121121212222221221121211112121121212211211111221212121122211122111122211222112222111122112112211122121121121122221211222122212111122112221122211121112111212121221121211111122111211212211111211121112111222121121111212121221212222212212211121112112111222221212111212222112222212221222122222112122221112222212112122111222221122121222212221121212222112112221112111212122122112121121222212111122222221112221122122112222221121111121221221211222121221222211112211121112122121112211221222222121222111111212111111221212122222221222111221222212211122221211121111222221211211211222222212222112211221211111112212112121122211112211211122221212112121111121221222112111112122111222211122111222212111121122122111112222211121111212122221121121122112221121221222221221211221111211121112121112212121111221212112121111212112212112211221211112121122222212211112211211112211211121121221122121111221112212221212222121112222212122121211212211112122212222222122122222212211121112122212222112221222212111112222222211121222221211222121221112211121212112222211122121211221212211112122221211112121222212221121222212121222222211112111111122221122112212212212221111112212111222211121221222122221122111112111222112211122122211111221212212221222122221212112212121221212121222122111112212221221221121121211221211111222121121111122211212221121111211212112122122111211221212112222222111122122221122222121212112112111212122112112112221211122212211112221121122121212221222121122212112121112121211221122222122122211222111222222221222122212122222122122121222111211211222111221111212121211112212222221222211122211211122211121122111121221121221222212122211212222121212122111212212112111122121222211211111212211121122212111112221222221112111121221122112121211111221112222211121221211222222212112221112221111112211221122211121112222122211212122111211212112122222221212111211111222211121112212122111211121121112221211211222222112122112211111222111212111112111111221111211122121112121121211222211212221111121222221211212122222211112122112211221212122112112111112122122211212211111122112112121212112122112212211122121221122112121112211222221122112211122121222112121111211121121112222122222221111212121222122111212221221221121122211222112112112122222112121111211112211122112122211112111121122112212111122112121111121212221212221222111121212122222221211221222121221121222111121111112112221111211122112212222222111122122212212112222121122122112121112122221221111212222111211211112211111112212212121222212221112121122211112222222221212111111221221121211221221121111111212112111222211122121222121211111212221212112222212111212221211121211211111212222222221211211221212222212211112122112222222111122212221212211111122121111221211122221112212112122122211221211222222222112212221212121221222122221222111111121121222211211211122122212111111221212112222221222211221212222122122222122222211112212112112121222111121211212122122221122221122212112111121221121222121122121122211121112222122212111211212121121221212221112112112211111121121222122112212112212122222221211221211111122212111111222222221211211112221212112122212211212221221111121122222212222212112211111121111121222112112112211221111112222222222121222211211122112121222111222121222122222221112122212111112122221211221122112122111112221211211212122122212112111221121222122211222111221211211211212221111111212121212111112211212111122121212222221111122121222112221111122121211222112222111112122211111112212222112211221111212122221121112221122221211122222222212212222211121112221221111111121212222111111211212211112122212112212221122121221121111211122111112111222112112121111111221222212222111111111221221122121212211112122212222121211121222212211222112211211212121212111122111122121111221112122222222121211112212212121112221122111212122122221211222212212211222112111111111111112112111112111221111111121221111211121221211111212122221211221112121212121112221221122112121122221112212121112212121111222211211212112222121221112221211212122111122222211221211221212222222211111221121112211212112221121212221221121222111121221212122112211111212221112121211121122221112212221212221222212221121211221212221112112112111212111111112212122121221211221221222222112222211112211211221222121212121212211111221222111112211122122211121211112122112212221111122221112112222222222111122111112121211122121122111211111111112121112122221221122221211122211122121121222122122121122211211221212212222211111222221111211111212112112121221222222122121212221211122211222122222222122112212121222211221221222112221122121122221121212222221122211121111111212211212111211122211212222221122111112221211212211221111112211111122211111121211111111122211122221112111222122211121112221121222221212221212222221112211211111211221111121121222121221111112112112221122111212222111221122222211112212121212222222121221112112112221112122122222211121112122111112122222111111112122211222222222211121121122212222221222222211122211121211122211211112112111221221122122221221222222112122222211222121112121122121121111212221121212121112221112111222211211221121111122122221222212122212221212111121111122121211112122212211122121211221112122212212222122121222212212211122121221112121111222221222212122222111111111211222111222221221122112212221122222122111212121122122111211111111121122222222112211111211222112221122122211111222212211221122122221222122122111111121121122121112112122222122111111112112111222122111112122221222121111111122122211221121222211122121112111121112112121222212212221111121122212111221112121121112111122221211122111222121111212221221112122212221122121211111111122222222221121111122122221122221211111212121122221122121111211121112211212111221111212222211122122211112221112222221211121111222121211111212111111222222212122111121212222112212121222112111221211221211212212221111122112121211211121112122111122211122221221112111221222112121211111112222222211112211211212221112222111121121111121222212222222222212211112111111212121121122122121121121211122111221121212121112121221221121222122221211222212111121112211121112221222211221222211222211222122222211221222222112111211112222122112121111121111221111111121211222112212112121211211122111112222111111111222211122122212211222112211112112121122212221221222221212222111212222112121212121211122121112211112121112112212211111121122222122122112221122212111211212121222211122212222111112122221222121122222121221111121111111222122222221122121112121221112211222212221112211222111121122222111112222121122111111222122111221121112212221221222221121212122221122212122211111212212111121122212112211122121222221112122222122112221211212111121121121211222122122212221212221122222111121111121211112212112111221212121211221111111111211222112121121221221211211112212211121211112212211122212212222212121222122122112221121212122111121121212212112112212222121222221212221112221112112121112222221122111221211121222112112111222221122211211212222221122221222122212122111122121122221221212211111121111121122112121221222221111212211221212112111112121221121122121221112211211122122112211221221222111211112122122221211122122221211121221122112122112112112112122111122121221222122212122112222111121222212112211111122111212121112112211112111112211121211111212122111111122122212122212121221122211112121221121222111211222212112111211212212122212222222222121222211222111111212211221212112212121211121111121211222111221221112112211222121211122122212221111211122211112222212212221221222112212222221221212122212221122211212222221222211221211111122222121212122211221221221111122212212111122111222121111212221211221112222111211212111122212122112121122111212111122112121211222122222121121112222211221212211121112222221111212211212221222222112212112211111112222222122112222111121122111221211211222121122222222121112222222221221221222121112222111211211211211212112111211222121211111111121221211221222212212211111112211112111121112121212221111121222211122112121111121212122212112221111212211211212212222212211122221112212221221211212111111111221112222111222121222111222221212211122122111222111222212221111212212112111221212212222212111221211111111212121111111122121112221111112212111121212122112221212211221122211221222121122122121222122212112221121222222211212122112112122122212121211112121222212221121122221121111121112211122121122222111221222222222222212212222211212122112112121111111221211212211212112122211121222212211121221212212111211112221222111122121112121211112122211121221212121112212222211212221111111222122121122121112221122222122112221111211211121122221221211111222212112111122111122122222111121111111212221122212111222222122111212112212122112112121121211122112221111122112222211112222222112221121221121212221111211121122221212112121121221112111111211112121212112111221122111111122222222111111211122222111221211122221121111212222111122121212121212121212121112222112112211222221112111112122221111212222222122221112121222222212211212112211121211121212112222211212221122121211211111121221112121222122111121112221212222212222121222212111211212112221121212212222211222212221122221112121222212211222211212221222111212211211122221121111211122122112111212112211211212112112121222121221222212121112222222122211222111211221221122212112222212111121111221222111212112112112221111122121122222222122111222121122122221221212221112211221211222221211121122112221121211112112221111212212121122211112222111121221111112212122221122212211222211221212211222222221221122222122211221211222222221122211122222111112112122122111221212222211211112211122221221112121122221211111111122112122211111222111122221222222212112111121112222211222112111112121212211112122111122121111111211211111221221112222222211212222122122112121212212211122121111112212121112122211222121221122122221212222211121212221212122112122221211222222222222111112211222121222121111111212221212112112221111111211111221211221222111121222212112121111211212211211121221222221112212112122222121211112111111221222122221111111122221121112121211121212112222221121211212211212112111122212221122211211221222221212121111221222121212221121121121112212221122122211122121221211121211111221121122222222212121111221121112112211122121112211222121122222111221212121121212222111121121211112121221211222122212112122122122211222211111222111222121122221111112211112221121222221122211221212221111212112111121222122122122221212121221121121112211121211222212121211122221121222111121211221222112212112111212112122211112211222112121111111121111211211112221112112122111222211111221122212211222222222212221222121122122122222111212111121121112111221221211112211112111222212121221222121212122222221212111211111112112122222122112122111121112212112121211122222222222211221122221111112111111121112111221211212122211111222221212112121121111112112212122211211121221121112121221222211121122112111212112112212221111222211112111211221221122212212111121221211222211122112122211122212121122121211212111122112122121112212222121212222212211111211211212211112122122121221222211112212211112222112112222122112122112112111111221122222221112221112222112211222222222112122111112222111221221221211211211221112221111221212221211211121122211111122212222212122122122221121212122222212222122112111122112221111122122221122221112121221112121221222121221121222212121112122112122222121211122212121211211122221221111212211112122212212111222111121221112111111222121222111122111111111221111122112122122111121112111212211112211212111211212122211121112211212112222122122212121112212221111121221112211122212222121212221122121221222222222121222222212121222212111112222121212222112221122222211112121122212122121111211112122211111112122121221121111112211112211111222211121121211212222211222221212221122211212222222222111121212212111121212112221111122122111212111212112221212121111122111121122222122222212222211211221122111211222121222211222121221111121111211221222111111122122111222211122121111112211111212112221122222212211111211111222121121112212221121211221212122222221111221112212212211212121111221212212222221121222211111212212111222211211111112112221111111211221121212112121122221221112111121111112112221111111211112221122121122222112212122122121212112212221222212112121111221211222222211211111211212211111212222111122222212111221211122221112121121111111222211211212211211111111221212121211121111121211221121222221212211112211222221221112211122221111122211111211212221121221121122221121221212211121111121211222212221221221112121222112211111122222122221112221221112121122111212112221121122221212221222211122212212121121222122212122212121212121122221112211122112121222222122211212112121222122211121122121212111212112112212212112212122112121211211211121221111212211112221221112122111212222121211222111211111222212211221222112121111112111212111111111222221121211221122112112121212112211222111221111211122212112122212121222222212221121122111112211221111222222112221121221212112111222222112122211211212212111111122122221221121122222221121112221211112111221112221222212121211212121212211112122111212121212111111222212121112212211211121212121221122122221122121222212222221111112112122111222212222222221222122122211112211222111121221221122112111112111121111112221111121111122211112121112221121121122111111211212222112212221221111212111211122112112122212121222221212212121111111212212121212212112221221212121111211122112111111221222112121212111122112211111122111222112222212122211121212111111222112211212212212121122122221111212122122211122111222222212222122111222121112211221112222112211112211122222211122211122211221222221111111211222122222122112221221111211212221121221211122112222111211212121212111111112111222211121222222221122112112211121111112212111211221211112112122222121212211111212112122111212222112122111112121111112211122112221221112222221212121112111121221212211121121211112112112121221211121121212212111111112212112221211221122111222211112112211222222211222111111121121211222221222112221222121122122211221112221222111211121111111211112112112221211221112212121211111211121111122221221211212212211112111211121221121212212121221211111112221121122222112111221121122111221112222111122111211222112221121212211122112212221222111122122222112121212122122221121121221122121122221112212111222122111122122221212221121221121212222122211121122211121111111221121222212111221122211121112211122112212221212222222211211222122221212112122212121221121122221221122121112121121111222112222212211111112211111222121121111221112221212112211122221221122121111222122111122122212112222121212112222111222111121212112121212211122222122212221212211221212212111112111111211222221121121212122222122222221121221122211112211121112122122111221222111111111112112222212122221121122112211222221121111222122111122121122212221111222111122212121222222122211221212211121211211112121111122211221222122111112111211222211211211121111221111222221112122211222211121121221212121121111212222211212211112211122221122122211111111122221211221211121121212212121221211121121121221111122121112211221212221111121111111121112122221122111222211111111212121212111122212211212212112121221121122222221212111221221112212222112221212212221212221211211212122221111111121222111122211212221222222211111212222212211121122122111222122112221211111222221112221222121111111211111211112111112211212121111221122221121111211222121112121122121222121122122121112111221212211211222111212222211121121212111221121121122122211111111221112212212112112221221122122212211121221221212221211221221211112211222112122112222121222221211122111112221212121212122112122222211211112121211122221212222111212211122112221121112222211221211121121211222112121111122111122212112111121122222221122222222211212121122122221222221121221221211111221111111112221221122212212212211122221221211122212211212221212112122121222212122111222121111221112121222112111121211222122121111211121122121111211121222221211121212211121221121112212212222121221211121221212211122212222121222211211112212111212111121221222212112112222212212112211211211111222221212211112112211222122121221222122222212222221211122121211222111111221222222221111121222111122222212211211222121211222211122121121211111121112111111221221122212211112111112121121212121111222121222122121221222212122221112121122122211222111122111222121212111111211111211111212122221112121212121111111121122111222211122211121211122122222111221121211122112222112222212111212211222112112212122211221112222121121212122212222211211212121112221122221212222222211121122121121221111112221212222121111112121121211212212111211121211111122222222221111122112222212122222212111121211211112111112212222121121121212121121222222111121212112212121211212212112221222211221211212111222112112212212111221122121122222121112122122222221212121221211111121221212212111211121222111222121221112221212122212222212211222122222211212212212222121121111121211212121121122111121112221222111221222111221122112112112221122211221211121222111211122121122112221121212211222122221212121211222112111221222111211222221112122212112122111222122111121111221221212122221221112212122222221222111222121211111211211211122121112121111211212112222211222222211212122221111112121211222221221212221222212121221122121112222211111111111121112212111211111222212211122111221122122222212122111111121121112222121222121222121111211222122121122211221112121211212211221111111122122211212212212211222222121121211122112122122121122121212212122111112212212111112122121111222121212211112112122112212112221111121112111111122111212112211122112121211221112222112222122212221112111121221111112121212211121212121111122222222222212212222112121112111122212111212221221222211212211111221221212211222222121111111211122222111221212211212212212211211211112211211111122212112222222111212122212221122121211111112112122222222221211222221111112112211121122222222212122112222112221122111222122121212121112222122121121122221111222221212212211222211222222222221211211211122121111112111221212121112111222222121211212211221111212211222122122211221112111222222211121211122221222222121111112111222111222111122121112121212221222221221221211212112212211221112221122211222112222121112112111121112221212221222122211111122112221121211211222212112112221222212212111221122212212111221121211212112212212112122212222112212211221122112121122212211121211212121122112122221211221221212221222121212111122211121111222121122121222221222112211221122222211122121112221222122122221212222112122222121122111222112222111121211122112111111212122122221121211111221212112111112212211122221211121112122122112121222211122222111121221211211211111221221111212121222111121221221221112111211221212121111121112211212211112112221122122212221112112122212112122221221121122212112211222211122221221212112111211222221111122222221211121122112212211111212211122221122212222122212111112121122121221121121222211122122112221121211121112112112221111112211122121222112221212222111212212112221111211122121212212212212211121212121212111122222112121112112112121221212211221221111112111211211222112221222112111112211111211212222211211112112212111112222222221121112111122112222122211111121211121222221122111111221121212122212121212221211122211122212212112211211211122212211111221222222122212221111112221112122222221222112112222212221222212121112211122111122121111222111221121222112221212122111111221121121222121122111221121222122212111222122211112222222212122212111122222111211221211221111212112211222121212222221111211122121211211121112122211212211211221221121121222111211221112211112222212122222111211121211121222112111221211221222221222122211221121121122222122221221212222212122122212121211121121212222122212222122112222122112222122121211121122211121111121121221221211121111221212222221112121122121112222112111111111211111121111221112122112122222122211212211212221112222222222221211122122211222122211211212112111112121211222211122111212211121121121121122122211212221111121111222221222122122221122121122121212211122112121112121122222122112112212211122112222221121221112122212112122221212121111221112221212121211221111221121222111211121121211221221122122112111222122111222211212221221221122122111112111211111111122122211122211221212222122112221112211121221222122211221111221222221222112211112221212121121122111211212222221112212221112122221111221221111112121122112121122211112112212212112211121121221211212122121211121221122211212122112211211122122212112112211222112221221211122112221112122112222111211212122112112111221221211211111212212122222122221121222221112212122112111221212211212212212112222111122121221122111121222211111122122111222212212121221112221222112112222111222112222111112122121112111112111222112222122112221222112112221121121111121222222212221112211121122121122222211122212111222212212111111222112112212112212211121211222122111111111122212111212111221111211111112112111221122222221212211112121211221212212221222211212111122222221122211211221111111121111211221221121212212211121112221122212212121121221112211121111211221212111112121122222112222121111121111222221122122112221221111221221211121211222121121112222121221111111221112222121112121222221222111221111121222122122122221111111211211111222221221122222121212112211212212211222122212222121111212211211211212211212111112112112212112212212221111121121121212211211112112112221112122112111221112211222212212121112222121211211211211212222122121111212121212122111122111212211122212112122211211212212211112111121212122112112222211211112211111121222121121212212222111212211111112212222212221112212122122222222111222211121221122222222112211121122111121112222112111212121212222222112212211122212221221211221222211112111112212212122211222221211222122211221122212121221212111221111111211211221211212121122122212211121111212121211121112122112212212121111111221211121222211112122121122222122112121112222221121121222111211211211111212111122212121122112112111111111212112111221222122121111121221212112211112111112121111222122222121112211112221211111221221211222212121122211111112221111222221112221121112112211212112222111121212121211212121111221121111211211222111221111112122121112112121111122211212112212222211211222112121212221121112222211212112112211121212112221112122211111122112112121111111122222122111212211121211122211211122221222221122111112122212112221221122121211212211221122221222111112111212111111121212221211211121122221222121112112112211121211222112211122121221111221112111111222111122221122112112122122111121112111112121122211111122211221212122221222211222212221212111221112222122222111122121222112212112112221222122211111111122211212221212221221111112112122122121121222112111122211111122112222222112112222121222122222211212222122121122122111112211212212122112112121211222222221222212211122122221211111121212212211212211111111111212211212111221212121222211112212221122111111222112111122211121211212211211111212212122212121122222211112122122222222221222212212112111212112121212111112112212222221211212122221222222212221211111222221112212112221121121221121222112111111111112112221221121222222111112122221222212211112122122121121212111111112221212212121122212122222211222111211222222222111211111212121211211222121212211111112221222121221122122121211122212112112212211221212122212122222211122222111122122211212121112121211211121221111221212212212111111121211222212121122211121222122122112122212221112122222221221211211121122221211221221222222122222211121111221211111122222111211121221212222211122121121112111112221221112211122112212212111222222212222221221121212211112112122121112121212211222221111211121112121212212121211211211222211121222212212121111122122112111212211221221112111121212222212211112122111212221211212122111222122222211211222222221121112121211211112212222121211221122122122112211221122111121211112221121221122112221221122111212221222221121222112121122211212211221121211211212212211211212122221112221112112121221122112212111221112211112211122121112122211222122121111212212111111211111122111212122221222221122221221211122121111221122212112212211211121111121221122221122111211121222121111111112211211211222112112221121212112212222221121221212122122121212212111222112122212222121122211222222111111121121212121221112211222112121212122111121121122111221111211222211122111121111121122122212121222111212111121121211212211121121122122222221211211211212111221121221212121222212221221111212111112221211222211222212211122221122122121111212211112122111122122221121211122212222211121212211122222212221212222121112222211122212122121121112122111121212121222121111222111121112212212221122122212121122122221112211112222211212212222122121112111112111122122222211121222222212121212122211212112112112221221212121222222212222112221111211121112111211122121111121122122111221121111212221112212222121221122112211122111111122212122122221111222212111221221222212221212112112222211122112222121222221222111111212212121112211121222112121212222212112111212211112211221221211222122212212212122111212221211221221211111112112112111222121112111211212222221112221112121121122212111211111112221212121222112111222221212212212211111221221121222121121111111221111122221222211222222112211121211111211212221221121111212111121211221212112111221222121221122112222211211121111112212122222211112122122112212221211222111212121111122122222111121221122212222122111122112211122121221122221222122221121122121222121211222211111211222121222222212221111111221121112211111112222122212212211111112122211122212121122221222211122122212222112111212111112121122112212121221121122212222112221221211211221211211222111111222122122222211211221121222112212121111221221112112212111212212112111121222212112111112121211222111111112222222121222111212112222211112111211222111121111122212222112212112112122112221221212211121222221211211121221122222211112122211122111211122211111112221212222111111222122112121121222121212222212221121211221111112112112222112112211121221222212212122211211221212122211112221121221122222121221111111122222111222211121111111221112111221221221211121211212112112112211212211122122122121121211121221111121212212222212111112222121112112222211122211222221221121222211221221122111221211211111112122122212222111221121122212211112222221111112122222112112121211222211212221112112212212221121222122211111111111212121222221122111221111121211221121121122222111122121221111222222222211212221121211121212222111121122121122211212111122212222121222112121111121111112222221212221212121212111112121221121112211121111221121212111221121111111122222111211212122121211211122211211121212112112222222121111122222211112111121112211222212122121122112121122121221112111122222121122212212212121122111222112122222112221121111122111111121221121211111111121121221211211212211112212221121212111122222222211212211111212212121212212211221111211121121121111212111121212111221221122211221121122212111121211112212121211112111121222222222121112221222121122111222111111211221111111211211122121122111122211121121121221222211211111121212112222121211111121221212122112112222121112222121122112211121211112212212211212221112221212222221112222111122222121221211121211211222121111121211221111221112212222222221211221212121212212211112122121111211221222211211121211211112221211111111211111122111222222112111122121222222121211112112111112222112212112222211112112111221222122211221122212122122112221211222111211121112111222211221221112212212212111122111211221222112211111212212112121112122222122121111221221211211222122221211211111212212122211211112112122112111222112212222221221121121212121211121222212221212221122212221111121211112221111112211211121121222211112121122211111212211112221212222212111212212212122221211121212111212222121112212122122221222211122122221211221211122212221112121211111122111212212111212212222121122112111221121222112211121212122211212212112212211222221221122222122221111111212211211111122212111211221221122221222122112222121211112111122211221211121222122121112121122121221121222212111122111111221221211222112111212221111122122121112211122222121221112211212121112222122122222221211222212111111211121112222121212221211122211112221211221212212111122112111212111121112112222121211212212222121211121122121111122122222111121111221122121211122221122112121122112221121212211111222111112221111222212112222122211111112111222122111211212121222221112212112211122111112112121212222122122221221112222212221111111221122112111222122211112121221211221211122211111121111222112122221111112112222111121221212212222111121122111221121212211222212212121121212112221111122211111211211112112221222112222221122121222121121122121221212121221211221222112221112221121122112111222222121112212211222121222221111111111222211112111211112222121221212212112112111112221122112222112122121212111222222122111222111121122212212122111112111221122122112111211222111212122112221222212122222122222111212122112211111112122211221221111112112112221212111122122221221221121222112221111211221111222111222222222111111212212111122121111211122112211121212122211222111211111211111121112211112121111211111112221221121111212112212121112221122121111121122212111221112121221121111122111122111112211221112222221222121221222121121222222221111222121121211221211111122222222212122222111222222222222112112121122222121212111111212211111112112211221221121122122212221112112121212111111221222122211212221122112112222211111121122121222122122222222112122121111221211111122221222121211122121212111222121222221212212122211122212211211222212121221212212221112122212112121121111221222111112111122222111112221122221112122111212112111212111122121221212222211222111221221121112212222222112221222122212211211121222121222121211121222121211112121221211211222122122122222111111111121211212121222112122221112221211122212122212112221112112122211222222211211122121112212212122211121221222122112221122111221121221211111212122111112122221211121211111222222122121222122211112122121122212121111222111111121122122222112112212221112221111121121112221111121222122212122211211222111211112222111112212112212212211221221222112122222121212221222221211122122122121111221112221112122212112112222121221221221112121121122121221212122211112222121121222222221111112221112111122212122211212112212121111212222121111222221211212211111222112122222222111111211112221111212121121121122121221221221212212212111222122212211121212122212212122221112122222211211222221212121111221212222111112121211112121122121111211122222111122211112211212221211122122211221211212121212121112112221221121112111111222111212222122221221122112222221122112222212211211211211212222211212221121121212122221222121121112211211122122212211221122221111222112111222212222121112211212112212222121112221222211211111221122221121122121111222111121211211122211212212222121211212122212112111222212221111112211211221222121221111222121122221212112121211221112221221221111211211221121112122122111122121211112222122212121111121211221121111222122221112122121212222212212111111221121221212121121112121222211112222222111122221122212221112122212112222211212221211221121212221121112121112221112212211212221211211121122112212222221212212111112112111211212211111222211222211121222211221222222122121221211212121222122121121222112221121112112221111212112221222212221211221221211112222122211221122122112221211111121211111112122111121121121211222221221111212211221111122112122221212212112111211212212111212211122211112121211222122211112221121211222211122122212111221111212112212111211212211122222221222221212221121212121212121222222121211111222112221222222111121221112221112111222122221111121212212222221122212211221121222122211211112122122122222211112112211222222212222222221221111212121221111122122211211222111212121121211211211112212112211211221121112121212111211221222112211211222112212112111111112222211211221212212222112121212112112212122221222122112221121222121221111122211222111112211112112111221212122122212112221212112112212122222211222221221211112222121211112212121111222111211111211111111221112121112121212222211122111221222221212211222111212221112211222212222211122112112211111211212112112111212222122121221221112222111122111212211212121122111211111221221222121221112212211112221212122122121111221112222222222221122211211221222222111112121122221212212112211112112222121212111112111111221122222122121211221121221112212112112112112212211111122211221122212221221221122212222111121121222112121111211211121221211222222221121211212122221211111111212121211221121212222112121212121222221112222112212221112112112121111221211222122111122111121221112111111212112122122222121121211111121222222111212212212112211121211212222111211122222221211112111211212221222121121121122112122112211112112221112211122112112112221212122121212111112222222211121121212112212222111112121121211212112211121121111212211122212222111211212112111212122222211122211111212112112212112212211211211122122111212221222111122212221122222122111111121111112221222221221121211122121111212221122122211111112121111122221122212122212122111222112122112122222221111211111122211121122111211222112111212122211211121221221112111212222212121222221122222112111211112221122112122212221122212111112211112111221111111212211121221112212122111222121222222211212112211111111221211111212122111111122112221222111211222112112121222212111222222112222122221121222121221112112212112211111121222222222121122112111221222112121221222112221112222221221212122121221111111212211221111122111122121111222112121111111121222211121221221122221222222212211121121212112212211222211122111211222121112221211121211111111211112112112212122111221111112222211111222221122212212111112212112221112212112121221212212122122212121221211222211222221122211211211112211222112212221112111222121212221112212212121122112222111112112112221112221122112121222222121212111121212211212111112112111122211211121111121222221222221212222212221221111211111212211112212221122221212122221222222112211111112212211222212221211212221212212112211111112211111121122112221222121112212221111112222211212211112111212112222221112211111112222212211122112112221212212211111111112112211212212211211211121211212221122122222221211111221111121211111222111222212112222122212212122121122122222221212122111121212112112121121111121222112111212121121121122121121212111211212111222121222211111211111111212222121211112121211122112221121222212221121122121112111222111111212112211222121111211122112221211211222111222111211121222222121111221221121211212212121122122112121111121222111112222222112111112111221212212121112212212211221221222221111221112221221111122222111211111122121212211221221221212212222211221222222121111211122111122121222121121212212222122111122111212121221221111112212222111211112121211111122111222121121122122212212122122122121122212112221122212212221111121212212211111221211122111122222212221112212222222212122122112211121222121212222111122112212211221121111121112122112212112112121212111111111222121121222211212221211112122111221211212121222222112221121212211122111212221221111221122122221112111221122111211121112121111211121111111122122211111111221222221222212222211211211222111121122111211111211221221212121222112122111212222121112211111222221221221121211111121111112112122221222121222212111121211112121112222122122221222222221221222211211222212222222212221122222122221211222211212111211122222111122212222112112111222112212111221111222221212222121112221122222121222222112212122222212212112122122111212111111121221122221112212112211222111112222221221121212212211122211221222211122222211222221122112122211122222122122212221221112122111212122212111211212222121212211111222121212121222222211121222221222221121221221222112211122111122111122221211211111111122211211111112221111222222112122212222222222222121221122122212212121121111212212221211222121122211111212212121212111122221212222211211222121211222122212111221112112212212111212221212212222112222212211121221121211212221122211211112112222222121121112222122212212111212112111212212211121212121122122111211221122212221121211112122121221222122111122222222221222211221122212222212121211122121121122212112112221111212122121221212221121222212122112112212121211122212121212211221122111222121221211122221111212112121211222211122212111112112111211211211111111222122122122211122121122122222212122222122111212111111111211112212121212122111121211211222222112111221212212122221211212212211122221221212122121221122222222212111121222211121211112222112221222221122111112111122121212111122221111222212111122211122112211111121121221111222122121222111221222111111111211122122112211122222111222221212111122212222211212222212221112212222221221211211111112211111111211221112122111121121211221111211121221122111211122121221112122111212111112112222112221112212111221211122122121221111121111222112111212222211211212112122112221121221111222221112121111211111112121111222121112211212122111212212121211112122111222222112121212221112221111111121222211111222112112221211211211211222121122212212212221121222121121212121112221222211222211111212212121111112222222212111212121121221222111121122211221121112221221121121122111111221211111211121111121121212111222211221212222212212121111212111211212212212211121122122221112112211111121211111112111111211121212222222112211211211222112111122211212221121212111111222122221221122121112121121212122121212122111121211221122212111112112122212112222121112111222211221221121212111211212111211122211122222121222221211212121121121112111222111211121212222112222112212111122212222111121212212111121112211111221221221122112222112222121211222211222212212121212221122211112211211212112211222212112112122212212122212111111121121212211212122221122111222111211111122221212222222221111122212211222221222222112221222212221112211211211212112112112221121222112221222111211121222221111211112211221111212212221212222212222121122222222212222221211121121112211121221112111221111222222212211111122222211222122112122122211112122111211221211121122221122221221212211212221121121212212221211221112121212222122122211211212222212111112222212212121222221111122222122112211222111212211222121212222112222111222111112122111111212112112112212222111221221212211212212111111212221212212222221221111121122121121112112221122221112122122122222111221222221212221112122112121221111122211112221112112121121221211112212221111122222222111112111111221122221211221122211112122121212111112221212112112212222221222122121221221212121121221121211211221122212212111112212121111111212121122121222212222221212111211212211111111111211122212122211222121222221222211222121112221111222212222122222111212121122122222112122111111222112222122212212112121212121122212122112221211112111212211221211221122111221112212112111221221212221121111112222212222112221122122112222112112111221211122112112122111212112111222112112112111121121112121112211222112111211221221122222112222122222221122212211112221111112222122121112111122112121211212122221211122112121111121111121121122211121111221111111121222112222122111111221211111212121212221112121121121212222211122222211222121112222122122111121121211111121121122212222221121222122212111122221111111111211111212212211222221122211221212222211122212222121112112111111121112222121212122121121221112211222221212221212112211212211221221122211111222212211222212112222121112221111112112222121121221112122121211212121111111212212211111211221211221221111112212211112121222111112122111221212212222211212222111212221121112211121212121211211221112121122222111222122122222222212221221111222212212212122221111212112121221212122212111112222122121121211122112112112221121221212121121221212121212121212111221122222122222122112122221111112211112221112222121221111222221212122122221212112111112121112212211111121111222121221222222122121211121212121221222222121211222221111121111211222212211221221211211221211211112111211111211112211221122112212212111212221122112211111221211212111112121212221222111221221111221222211222222222121212212122221111212122111121121221112211221111111122211212212222212111122222221112222211212122121112222122121222222222222211122112221211222221122221211222121212111121222122112121211222221112211211211211122212221211221222222121122222221222221211222211211211121221211211111222121222222122111122111111112212212112122222221212222122211112212211222212222112112221122112112111122111211211221211211221221211211221122211111112222112212112111122122221221222211211212111212212212112122222122212212112212221122212221112121122211111221121112112211112111212211121111212222222121111111122112222111221112121122111221121111221121112112121222121112121222222111112221112212221121211122212112221112121111212112221112112211112122112111112121121111112112222222222111121112221121111112121211111221221112111112121122222221222221111121212122212212112112222212222111121211111121112111122122221112221122112112222211122112112112222121112221111222121222122222112121211111122111221212111121222222221122222111121211122111122212212222211112221112121122222222221212212112122221222211112221111121222112212211112211212211122221112111212122112121211212211221122112111122212222211212211211122221222211212211212121111211212111122211111112221222211122212221122211112212222112112212122211222111122121221221212122222222212211112122222121211112211111112221222112211211212211121222112211121221212211122122112221212221112212222221222112221211111211222222222222211212212121212222122211221122122111111212121221222112122111221222111122221112111111111212112221222112121112212121222211221212212111111211221111222111211222111222221122121212122222221221221111211112211122211121111121122122122221211122122121212212122222112122122222222222111111212221111212112111211211122221112121111111112112122221211221212112122121212221222122112122222122122212222112222222212211221121122221211121121112112221221112222111222112211222121211122222112122111222221111222212221121112222122211211211112222121222211212111121222121121211211211111212112211111111122122112211111221211221212122112111111111122222222112112211212122211222212111211212112222121112222111111122122111212111212111222222111221221221212111222122222221222212221112122111121222121122221211122122221212122112112122112211222111211221111112121122112221222212122112111222221211212211122112211122211122212222222222221221122112112221211111112122122221212212112221122122211111221221122112122222112111112112112121112122111122211211211221222212111112121222121122211222221112211221211111112112211122122222222122122221212211211122222121122211221122121121222222211221112111221221222211121111112112111122111112222222121112222212121111211221122211212122111111122212221121122212122211222111222212121212121222121221211212222122121112122121122211112111111112122121112222122221212221211122112212211122211112211121121121111211122122221121221112121111212222112112212221222122121111112121112122121222121222212221221112112222211121122122222221212121112221111222112111112112121112121121221211212222111222221222111221111221211212211111221211221212121222212211212121122111112222222211212211212212222222112222112222212222111111222111212121121222222211221111122222211222221212112211122111112222122112212212111221122212122112122211112122221211112111211212221211212121111121222221211112112112112211111111111121222111121122112112222112222222122122111111111122122222111112111212222121222111222221212122222122111211222211212111211211211112112111221121122222121112121222112112211122221211221212112122111122122221121222122122222122111112212122221112122211111222111221111111122222222211121111122221112122212111211211111122222221212221111112221121212212111122211121122121211111111222121122122221221222121222222222212121212222112121122111212112122221211121122221121212111111112122121221121111212212211211222221122212111112222112112221221212122122211221222122122211211211122122122222212112122121111212212112121211111212122112112221112112221121222112221211121222121212121111122222212112222122211221211212222121212121122112222212112212121212211221212121212222212122211212211212212212222112222212112121222221112121121222121221221122222111212222221222211222121222112221212221222212212211221222111212121221212111211111211211121111222221121122122221121121221211211112122112121112211221122221212112211211111122121221111121222212122212121212112112221121222122122122221112222222211222212112211222111121222222122122221122112111122121212112221112121121111211122121121111111221122122212112221121221122112121212111221111121122211111211222122212111112222122112221111112112222122122121211212112212221211122121211122112121221212211121122211122122222112212222222211212212212212111222121122122122121211122211121111211222212112121121111221211121122221111211112112221211222221212122211112221121222122121121212121221121121112122112121112222111121211111221112112121121121221221121222122211222122111122212121111221111112212112122112212122221122211221212221121121211211221112111221111221112222222111122121222222222221221122122211121121122222121221211212122112212112122121222211122221111121221112122122121211112121111221121222212111121111122221111212121121212121122212112222121212111211112221221112122222222122122122222222122221212122211111122211121112111221222221221122211121222211112212122112121122212112212222222121121122211211221221211111122211112221222211121212212221122212221111111122121121112212211122212212222221212212212222221122221122221212211121222211222111222112112112211112221212111222111212211221122211122221111221112111112111212221212221111112111112121221112211121122111121122211222122121111111122111111112211222122121111112112111111122121111212112212121112121121222222222111222221122121111211112211112111112221112111122112212112212112112111122222212221122121222222212112112222211221222111121121212211111122122212122211211111211112212112221112122212112112122211211211212122222221221222221211211222222222121112221222112211112121222122122221122112211122211212212121122121221212112111111211122212122212112212111111222122112122212121222112112211121121111121121211212222112212222212211111222211221111122222211112221121221111212121221121121112211222122222222221211122121121111121122211112111212111212111212222221221122111221222112212121112222211121112212222112121122111222112222221112121111121221111112211212112211122121222121112211211222112122122212211221112111111221211112211221212111211222211211212112211112211121121121121111211121112121121121212221221122111121212112221121111212112211122121221121212212111121122212112112122112121122122222222122211222222211112111222212221121112222121122221111122112222122112112222211121222211222122121211211121222112221122221211112122122212222212121121111112121111112221111222212221222212222122121212122211121221121122221211121121222122122211112122222121112222112111212222112121211112212212112222222121212112211112221122212111221121222122211212111122111121212111111112112112212221122121212221122121121211121111112212211211111121222121211122111112111111222212212222212122211222211222221222221212121221112211121221111121221111122122222221121121221221122121212221111212221111111122122122112221221112212121212122211211212121211221112122112211121211211212112111222222212211112211222111212221211121121122122211111221121221221121121111111121121211212111111211111122221111112222221221112111211221122222211112121221221222122222222122222221111122222212212211121121111222111212211121222211112212122222112112122112221212111222122112212122211111111222212122212211222121211211111212211222212211221211211222221221211112122222121212212111211112222211211112211221222221211111212112221221111122221222211222121221212212122121212222112111211212121211221212112112211122212222221222122222111222111222112112212121221211211221221212221122222122111221222221211121222122111122121212121222211222222212211111212121111221111211221211211222121221221222122111112222222121111122111221221122112122221222111112212212112222122212121111212211212212211222112111212222122211111121222221221211112111222212221112111222121211211111121221112121222221222112111112221122211112222111122112112121111121121121121221122111121111121212212212122121121211211221112211211122221121112121221211121222122222212212221111112212211122122112222221111122112122221212212112111111221112222222112122122211122122122121211222121112222122112112112221212211211222112212221111111121121122121111112121121221112121212222222121112122121111111111121122212212222211111222212222212122122122221112222112211111211212211112122112111111111111222111211211222212221122122222222122112222222121211211212112221122112222122222211222112122111211221112211211122112221112122221111121112211211211212122121221211121111211222212122211212211121122112222112212121112211212222221211221112222112221122122122122212221211111122112211221112122111112122121121222211122212211222112212111212112221212212222121111121112211221212222212121111112221121121121222112211212221121121212222212222122212221122122221121211111211121212222111221112221212111122221121212211211221221111212221222211111112222122111221212111112111112212111121111122121212221212111112211221212221122221211122122111221112112221211122221112122221212222112112111221122121112121222221212212221221212211111221122112111221112122112121221122112122212211211111212121212122121112122112121121112211212111121212121121221122122221222121112212212112112112112112211111211221221211221221221122212122121222122121121221111211112221211112121222222121122212122122212211111111111222211112211212121221121211112121222221121222111222112222211122112122111121121122212212112111112211222111121221221111211211121121222121121121121122221211122222112211112122221112221112121211121222222211212211111121212111212111112212221221211111212212222111112212122121121111211212211212111222212122221211211111222121112122222221111111111111121122211112212121222221222112221212122212112111221221221211122222122222222111111111112121211212212212111112222121211121112121221111122111111122111212211212222222111212212121222222212121222121212221112121121221111211222111122121222122212212112122112212111222121221222121211221122212112122222112112222121121211221211222221122211211212211221222111111212122111222212221112121111222112221211121121121222211221222121212211221211112122211212111121222221112122122221122112112111212221211122222112112121122221111121121212212112121121112122212221112211111111212122212212111211112221211222212221212121121222212212221221212211122111212112222111111121221221111221222221112121122112211212112211222121222212222121111222111221211221211212222112111111111211212212212222121121122122112122112122121222212221221221121122111211121212211212222122112112122222212221212211111111111111222211221212122122222111122122112212222111212122122111122122111222212222111221221112221221111122211211221112111211111222221121221121122122112111211112211221111112111212122221121222211212112112121122122111212212121222222122221122221112222211221121212221211211112111112221112121211211212111121221111222122221212222221222122212122121121111212111212121122111212211221112112112222211122222121122221111221211221212211121212211211111222122212112112211121122212111211212211212211121112121212122211222122121111212112111212111122112212121112222222221122122111212121212221111111212212111111121222122212221111212121212111221222112222221112222111112122212212112221212221112211221121222121121211112212121222112121111112112211112211111211222222211211211112221222121221122222212212222221211122111111212221112112121121211221121111221121212221221212112122111122211211121121221122122122121222221211122111211221111121111212122121111212211212111212221222112112221122121212122121222122112212111221112122112122212121121122112221121211111212111122111212212112211221222212121112121122122211211222122212121222112121222122112112211122212211111222121112122222221212122221211211112111111121122222112111122112221222212211211212221111111211221211111221212112112222212111211122121211121211112122212212111111111121111111121111121211212211222222211221211121122112221211211121121221112122222221212222212211111211222221122211212112212222212112122212112212221212211112212222221111111121211212221111111122111222222111212222221111111221222111111112121222111222112212121211111212211112221222222221122112221212211121211222212212211122221211111211122221222212222111222112112211122212112211112211121121112121111121212212122112121212221121211121122211112222112111122212211111211111221122222122121122211122211221111221212122222222221221211121111122111111221111112111111111112121112111212122211211211111211211211121122121211112112121121121122212111222212222122221221221111222121111222221122221111222211121112211121122222121211211111221221222221222211122111121121112221211122121221121111121111112121212111122121112122211111211222122122222112222121122221211122112122122121221222112112212122222212122122111221211121111222122121112121212111222211122122221221221112112111221111121222122122121111112121211222121111121121211111111221221122121221222211111211121222122121122212121222211222222221121121212112212111121112221211111112221121121112211122221222111112112112222122112212111121211212222222212212222111122221111212222111121122211122121222112221111221222111221112211122122112121122111121212111211221122212221111221221222212221122122212211212121212111111211121111121222211222221221121112111221111121211221222122211122111222111111122122212112122211122212112212222211221121121111121121212211111122121111121211221122222211222211221112221222222111122212121211112211222112212121122222121112121222222122111221222221121211112122112121111212212112211112111212222211211211122221111211222111211121212221211221112211221221121221212121221112221112112111222111111222222212211122221211212211121212121222111121212221112221112121222121122211211122221121212121122222221111221222211221122121221211111212122121222121212121211221211222212212221112222211222121211211212211122212112222211111211221221221121221121221111212121121121221122111222121111212222112112111221211221122211112222221212212122222111221211111122222122222112211122111211211112212112221221121211211122121221222121212122221121121121211221111222222111212112112211121212212112112122122122121221112212111212111112122112121111222222122121122112111122111111121121221221221212212211221222222212212222211221121122121121111212112221211112122222212111211111111112212222221112122212112222112221121212222211121121112111212221111222221221121211212111122222121121212212122221122112211111211221221222211121121122221122212211111122111222211122222221211121112121111112111111122122111221221212212212121221212122122121111121221211111121111222121111121122211122121211222111112222112212121212121212221122112112222212212122122121212221212112122121112211111222211212212122211211122212112211212111111121121112211222121121112122222222212111112222222212112221122211111212222112112121212222122112122212111111112222221111221221222211221111221221211112121112221211212212212222211222111212212122211221121222111222222222222221112212122222111122211122222222112221212212211212121111221211212221211111222211222112111222221121111222112122111121111211212112112211111221122222221222211122111111112112221222211221222111122112121121212112111221222211121222211111122212111111212122211221121212111122112122122211112112212111222212122222211222221211112221111112222112111111122221121222121222112112222111211112111212112211222122111111212212122121222112111112222121121222211111212212211122211222221221111112212212222221112122221221121122112122212121212222221221112112111121122222122121121112112121111212221121121212212122211111212112121121212222222221122112111212111121112212112121221112121221221211211111221211121221222121211222221112212221221111212211112211111111211122112222222212111222221121211111221122212211211211211111111121111112111122111221122111122111111111122211212111122221221212222121121221211222112111212222122112222111222122212111222212122221212121112211121112211211112122221212112222222212221222121121111121212221212122111221221112111121212211121112112112121112122121222211221212111212222212111122121211211221112111112211221112221212221221112111122112121211112121111212122222211212111222222111212112112212221122112122222122112212211122111212121122221112111122212222221112111121211121112212122111222122222221221222211222221222211222222221211221222111222211211211111122222121122111222122221221122122222122211112122112221112122221212212221221121211122211222212222121121212221112112222121112112211121222222221111121212222212212212211221221212122211111212222211222112222112222121121212121222222122122221222222112222111122212221221122122112111211212212122122221121121111121121112211221122112121121111211111222112111211112221211121122212221121212122222121212222221221111222212122122112121122112121112121112112221221121112221112221111221211222121121111222212111212222112221121222122211211112222212212222212111211222212122222111112212212121122222112112121112122221111212211211211121122221112122112122112121111121121121222122211222111212111121112221121222211212211211221221221221212112212121122111221112121122221221212211122121211121212222221211222122112122221211212121111212112212111211111121121111221212212112122111212112122121212212211122222221211121211221212112122211211222122211222111211112121212222212221121112222121121222121212112112121212212212111111111121212111121121121221212211212222112212222222212112212211222212221112112211122122212122212211121111121112212121212211111122212111122112212121121121121211211211121212121221121112111122221222211211221122222221121222222221112212222221111112211221211222121111112222221112211112112112212121121221221211112212121221121122212221112211122121111121222211121221122212212111111212211111222212212212122212122122122121112221122112122221222222212121122221222122122122111211111211211122121221111222122222122212212221121221212222212111122222122122212122221111212211212221222122122112112221112211112221111211122121111112221121221111111112121112222212221121112222122121212212112221222211211212212111212221122122212221111222221212112211121111211121212121111121122221211221221211122212112121112221221222111212212222212221211211122111212211111122112222122222212122221121211121211211222221212222112112121211212221111122111212211112122121111112212221222112112212211112222211122111112212121122111121111211122122221122212212111111122112122222111111111111212211111112222111122211122221112222112211211112211111221221211211221221121222222111121111112221222112111111121222212212111111112121112121122221212111212111112112122122221212222211221122221112211111122122211221212112112121121222122222121112221111121122221211112221111212112221111212112211221212111121222112112112221121211222212211121121221111222211221122222221212211211112121211211221122211111221212221111112211211111211211221112222221112122122221111111121121221112222211222122221222221222112122222122222212111111222112222211222111111122221222221221112122111211111212222121221222221122121222221112222222111222121221111212121112111111112121221112121111212111211222211111211222212112221121221222212111122122122211112121112111221122221222111221122211112221122222112212122212112111211121211222112211111212211212121112111111222122211221122121221211222211222211112212121222222111122211112122122222222111212121212111121122221211112121222221111122122111212111221122121221222122212221112121212112211122222211221212221212121221111122211111111211211221212112211221112111122221121111111122212212122221111122122122212211222112211112221121121112221122112112112221121121221111211211212111112221222122211121121212222111212112211222121121112121221221121111211212222111122221121122122222112112121221112211211221122112221122222121121112211121222222211211121211212111111121121112112112111212221211112221211221211222222221222221122221122112212112222122121121222121111122211122111121212122222121221121122222111221111111122122112221111222221112121212122222122221221211112122212212222211211221212222111221112212122121111111111122121221222111112222222122222121221122111221221122111221111111222111222112111121122211212211112112222221122121211122122211112112211122122121221212112121221212121122122121121122211121211211212212222221121122211112111221211222111111222212121221221212112112121211121211222112121222111112221121112121111222221121121112112122111111112212122211111222222222122221111212222221211221122121121222212112211122212211112122111111211112111211121121211112121122211111122122111112111222122222112211221211221122112221111211222222121212111221212121221122111212112221122221212211122212221111211121221111122222212221212112121122121212122111221211221111222122222211112211112211121212211212221211222121122121111112212122212111221112212212112211112211122111211221222121112221122122212121212112122221222122121222211111222211122211212112222222122212112212212212211212221212211122121121222211211211222221122112112112122121211222121222121111211212122122112122111211211211121111122112111212211121111222221211222111211222111121111121212112112112121122212222221222222112111222112112212221222212221221211212122211121111121121121121112112121211212122212222212112111122211112112122121121121222221121111112111211121211211212222211111222112221222212211122211211212222212122111211222212112111121121112122221122212211122121121212212121112112122121211121222121122222112111212111221122211212122221122212212112211212111122112211221211111222111111222121211112221211122211222112211122122122111211112212111111122221212212211112112121112111121221212222222221111212122112121122121112222121212211122122112121212212111112222122111111221221112122111122211211111111122122212212112212221122212212111111122122112222211212221112221222122222211222222122111211212111211222211211122112121111221111112122222211112211122222222222221221112221212111112111111221222111121221122121111121112222212111122221221212212212222111111121121211112222221121211121221222221122212111212112121122122212221221111211122111111222122221112222121212111212211221122211112221112111222121111222122211122121112112212212112111111222111112112221222211222121122212211222211221112211222221221212122111212121122111112111221212221122222221112212122221121111111221222222111211112212111122211112222222211121222122222221212221211122122122212122122111212111121122112111211121211211121211212121211211212221211221121211111122112122221111221111121122211111221222212212121222221122222122121212221222112112111122121122111111211122121212211121211222112221111221122222221211212121121112112212211222211121111221222211222112221221222222221211122122212211121211112211121212112222121122221222111212111221222122222211221212221111221111121112112121122222221111111122222122121122222112222211211122122222121222212212112212121211112222221111221112222212112211122112111222211111112112111122121112112222121212122111211112111222122211122212212211122112212211112121221121112221112222122212112111211211121211211211212221121121122111111111222122112221121212121121111122121122121221112111111221222111211212121121122222221111222122221211211222222221211221112212112112212121122112212211121122221212121222221111111121121111121121111122222212222122112122221112122222112211122221222221222221121111112212212221112122222121211121121121112111122121212211211221122111111121112222221112112211221212122112121111211122222212112221212222121121111112121222122222221211112222121222212122211211222221221221212121121122111122122211121111122121222112212222112221222211112122222221211111111222122212122111221122111112112122212112221121122221112211122122212222221111221111212122211212221211211112122122122221111121121122121212212122212111121111222111112111121212222212121122211211122111212222212212122222122221111211121121211121112221212111222112122112211221111221211112221121222221222111222121211121221122222121111122111111121212111211212221111121111122221112121112122122121211212212212122221221122121222221211221111112221221212212122221122112112212212112212122221211211222221211221122122212111111211221112122211221121211121212221121222221112122211211111211121122122212212221221211211211112122212221121121211222212221122222111122222212212112112112121121122112222121221111212211212111211112212112122212112211222212211111112111122212212111222122211212112112211221212112211112222121111221211222111221222112211212112111111221122221221122121121222111212122112111222222212112211211212211122121122211221221112122122221212122222121112111111122211211211112211212212212212211211111211122122211211121121122221211111121211121121221112221222122111111122212212212212212111121112121212111212112221212222221222222212112211111112121122221121121222111121121112221222112112112211211112122121112111211112121211212222222221121121221211211121212121122221122221221212212221211112121221221211112222222112121112112221121111222221221221122222221122111222111211221111222122222211122222121112222211121111222222222211112111111122212111111212112212122122121112111211112222212222111112222221212121212212121111222221222211211112111221121221211121121212212111222221121212222212212122221222111112222221121121211211211212121121211112211122222111221221111111221211112212212122121222211121212121121212122121211122212211122211211211111112221122121212212212212112222211122122211111212212112211122222222222121122222111112111222112122121111112222222121111112112121112111121221112222111211221111112222222122112222121111121121211122112122222111121111211112211111122221221221111121222111112121121111222111211222221122112112212221222121221112112222211212112211112121212111211121122122221122212111111211111112121221222222211121122212211122212121121211122122112111222112111112112221212222112122221121221222212111112122221211121111212221222112112222212211221211112121222122111111221122112212111212121212122122221221211222222111121211211111212112121112111212212112212122222112122212121121212212122112211211212112211212111211211112121222221222121112222112121121222122111111212111111222111221221221211121212221121221212122111121111112221111112112221222221222121111122121222211221221211112112122221222211112112112121211222222122122112211111121221112222121212222122122122121221112212111112111221111111112222122211111222221212222212111111221211122222111112212122222211112222211112212122122212111111122222122111212221222112121222222111212112212222222211212211222111221122121212121222221112122212112111222122212221221112221121211122122112211121222211112222222222112121212211111222121121221212221122112121112112112122122221221112211112211111122211222121211121121211222121211112112111212211111222122211121111221112121211222211111121222112121222121111121111211121112212212221222111212122112111212112221111121211221112221112121222111121222222212121212122112212111121222212111222122122121122222222221112121111112222222111112222222222122122222222221121221122221212121211111221121112111221122221112122121122212121111122221212222222212221211212221222121221121222112222212222111211221211112112212212221211122121121112111112111111111211111221122121111222112122122221212112112111122212121211222212112122221221212122112212121122221112212111121122122221112122121212222212212111111222112212212222122212222221122112121222121221121221121211112212121221111222111112121221222112122122122211112121112112122121211122212111212212122221111221122212221222222211122211211211112122222212122122212121112222221121121212211222112122212122122121211112111211222222222112111122112111221212211211122221122211222211121211112122212111221121222212221122111112211211121121121112111112112111121222212111212222222122211212122221222121222122122211112222122222111112221211111221211122221121112121212121111212111211112211221211222111222212111121112111112121222212111211222121121112121121111212121112121212122222122121122122212222212111211112112121222212121221111221211211121111211111111111112122221111211122211111121211112221112122212222122222121121221222111111122212222112222211222121111122221221222212211111112121122211212111221211112211212222221222112111221211222212112111211112121222121222211211112212121111112222212212111211111212112122222121211212112121221212112211221112211222211221121222122122212222122111121112222212121211121222211122221121221121111212222122121112121112222211212122111211122121211211111212211122211112111222121211122121111222112212212212211212121211112122211122111112212122212122221121111212112121212122112111122211221211212111121221111112222212212221121221122211221211122211222221112121211222221122112121121212121111211121122111222122112211111111112112122222212222112212221112221221112221111211121211121121122221121211111212121222211121111212122222211112121221212112112211211222122211211121212111212212221211121122222122111222122122121211122112122121122121122212112211212211212112222221122112222211212122112121121121222222212212112112112221112121221122121211221222222121122122122211111222212122112122221122212221122212111111212211112121212111211221111112212222121222112121211121212212221212212212121222211111212212222122111222112112221222112121112222222121212112122211211221221122111122122111121122121121122222212212221122112212112112121212211121122112122112111112221112212222122211121122221111211212211111211212222121211221122122212211212121212122221212211221222122222212121111222222221111122111222111221222212121122122111122111122111121211122111121121111211112111112212121221221211211122111221212122222221211112122222222121212221122122221112221222211112111222221211212222112221211222112212121222122121112122221111121121121112112212212111112222111111112121211222211211212211221221112122121121111211222212112122222212112112211112111211222112111112122222221221221121121211211221112112222211221112121221112111122122211112222112211211212112221222112212121121222222221111221211121222112111112211221111112112211122221121212122221112212211112112111222112112121222211211222211221111112221211111112111122112122112212121121221111212221222121111221211121211111222222221222121111222222111122111221111221222122212121222221222111222121222111111222122121112222211111211122222111211222222212221121122112122221112111211121122111121122121122212222112222111122221112111112122112122112212122122212211212212211212221212212222112112121212122221122221222111211112112221111122111122112122222222221122111222122212212112112222122221211112222121211211111211211112121212211122221111221112221211211121211121122122121212112111121122112122111211211112111222121211122221111111112221111122121112211122121122222222211221122121212222121211111211122122211221122211211121212222121212221221122122121221222111112111221111121221212111212122221111122221121221212221222111122212212211211112212112121221221221211121111221221211222111211211121121221212211222212221121222212221122222222112221121121121121111212121212221212111121221211222222121112122222211111121111111122212111221221221111211211112122121122221221121121212211112121111111112222122112121221121111122111122121221111122122111112122222111211221112112111222221111211221221221112111212221122122212112211121222211122211211122111122111121221122221122121221122111221121222222121221121111211211121112211111112112111222112111211112112222222221221211211122122121121212122122212122211122112121112111212122112111211112121122112111112121212121122221212112222121111111112221112221221111122222111221112111111111212221222121111121121121221122211212112111112211222112122111222211122211222222121121212221222112221111112211221121221112111112111122121121112122221122221222221212111112111212222122212222221112212221221221112212221212212222221111122112122211211212112111211121112121112212112121122222122221111211222112212121122222211121122212122222111121121121212111122221111112212122122111212221122222222112112212212211121121121222222121112211221121211112111212212212212221121112111221211211212211112221221221121111122112221221212222222211112121112121221222222221111112212222122122212112122221211221121211221122111211212111211111112122212121112122221212212112212111111221222122222121221112211122112211111121122212111111112122111112222222121212121122212121222221121221221221122112222121212212211111122112112221112121211222211221121222211222122111112112211212122221121212221112122212122212111121222111221112222111222211212212221122221211212221211112222222221222122122222212111111122211122211221221121121121122111212122111212211122211212121222211221111211212212122112122122222221222212222111111122122112212111112212211111211212121212221121121221222222212211222122111112211122122221211212112211212222121212111212222111112112221122122222121111221212122111121221211111121121211221222211221122212212211122211111222222111222121121212112111221121212212212121122222111121211122212211222221111122221211112121111121121121212212121212211222111111221121121221121212121211122112212211112221112212221222212112221122212112212222122212212212121211211121121221112121122211212121122111212222212221111221122111212212122212222112111111221222111122222221112122211111112221212122222221222111121112211221211112121211222122121211211112221121122212121122211111112121211111222222222121111211221121121121112112212222122211222111112221112112212212121122221122112211211111212112111122111211222211211212112111121121112221112122212112212111212221111221211221112221222222121211122122211222122112122211211212122121121221211121222211111112211112111121222112212211122222212122222221111212221111211211222211112221221221222122212221211222221112111112112211222212211121211111111212222112212121221111111121212212212122211112222212222112112221221222112112122221111111211221112122211111221112212212222211122121211211212111122211221111211121212222112111111222121222121211122122122122212222221221222221111112212211222222222121112111121112122221221212122211222122121122222212212212122222111211111111212121222212211111111211111121222122211221212121212122112121111211222211121111112122211121211111211111122112211111121221222111221111212212211212111122111221212111222212121222121212222211122112121212221121222122122111112211221211222112111222111212222221221211212112121122222111122211112111111122212112212221122211122221222222122112221212122112222121222122212212221121221122122212222211122211211122221221111211221112221111222221222211122211111112211212111121222212111211121212112111212112211122122122111112222211211121212221221122221212122211211112211222121111111111121112211221121212122211212221111221121112112121112112222122221221111211122121222111112211121222122222122122222212211211221112222221211212211111122221212211212212112211111111111222111111211112122111221121111211212211111121121222211212221222222112221121122112211212212222122122212112112122122221212111121112112212211222212212211222222121221221112211222212211211121221122221222222222212211221211122212211212211211111211222121222122121111211121111222221122121112222121212122211212111212122122222112112112212222221111111121211122112112111212211221211111111111211121211111222111112221222212212211121212222122222212212112222121221112212122212122121121112211212211111222121222211112111111112111122122221211211121121212221121212122221112121122221122112112221122212212222112212211211221212122211112221122112212221211211211211112122112112122112111112112112121212211221212221112122212222222112212221112122211221222221211111112112121222222121211222211122122221112111111222122111121121222222212122122222212111122211111111122221221211112211111121222112211222212211121121121211212222112112222112121122111121122111121111221212221122212122221111211121212112111221211211212111221221221121221122111222122122121221111121221111211121211122221111222221121112112122112221211121212212211211112122121122212121222111122122112212212221111222112222212222211111111122122121111112111112121211112121212222222211122212211122222211122211222111221122211122111212211112212112212222112221111221122111221121112121122222112112112122212112121221211222122221122222212111122222222112122212121212121211222212212211222222111212111112211111111221122211111221212112112122211112222212221222111222112111121221221212122212222212112111111111122111211111222212211111212211211111222122122122222211112121221121211222111112111122111211111212112121222212112222111222121212112221121112121111221111222112221112112211211122121222211222211112212211121212212212111211212111111211211212111112121222111122121222211212112112111112112121111122122222221112211212112111111122121111111222121211222221122112121221221222211112121122122211221112112221221111212221212111111111122222121211212112221122122222212121212112122211111122211112222122111212221221221222222112122121122212221212221221211112222221211212122111112121122221121222211112211111121111121122222122112221221122222212221211112121212111111211122211221212222211122121221222221222221122221212121112121112211112112121121222121222222122122122122111121211212111221211221112222111111211122122121112112222121211112111221211122111111221222122112221111121112121122112112221211122221221222212221212121122112211111212211112211122212212112112221111121221112222122222221121111121111221121112112221111212222122112111212212222111221111222112211222122111112111212212212222211212211212221112221212111121112112212112221222211221112111112212111211112122112111111121122212221112222122112112222222211212121111211211222122111122212112111112221121122121222121122211222112122122111111211221121121112211222122122111222211221122121212211212122211211122221112222222221211211112122111221122122112111112211112111122212212111111212221111211111111211211122122211221212121121111122112111121111221112112221221111211212221221211221111112121121211111221222222121111221222122221212222112111211222112122212211112212211211112112222122221112112112111122222122111112212222222221121222112211212112121121212211211121212212221211122122122111221221122122221122111121111211122222121112112222222111212122222112121111122111222212221221221212222222221212112112122222121211122212221111212212111112122221112211121221112121212111121111211212211121221212211111111112112222221221212212221122221211111112111221222111122221121212222111121221122221211122222122221111121222222222221211112222121121121212221122222111222111121221211222212112112211122212212211211112221121222111222122212212212112212111222111112111122121221122221211221121211112112221112222222112112111111121212112122121212111122111122122111121222111112212112221221122122211111221221112221112121122222211112111212111122212112211111112111211112222111121221111222112221121122112122222112122222111222122222222121212222111112211112212212111212211122221212112121222211112221121222112212122222122121211212122221122212212111221111121222212221212211122212111122222212212212111122121112111221221121222111121112121211222222121221222212211111221112222221111211111221112121112121122221212111212122121221222122121111122212212222222122111212122211111112212122212121111121112111222122112211122212112122111112121111122111122112111112121122111222212111111111222222112122211222211212211222211222222221111121211122211121121211222211212111221121221221112222122121121121221121112221222222121222211221222111122211112221222222221111212221221112221221112211121221221212112221211222211112112122112111221211212121222222221122212221212221222112112112211221221112222112212211121111122122111211111222121112112211222111121122212111112112211111121211111222211212112122122212121111211221221211111121222221222211212111221111221122211212211222221121112112111112221211121211211221112112221222212222111222222122112212121122212121221211112112121222212121221111211212212121221111212122111121111122122112211122221112111211211221211211222121212111121122121221111211121222221112221111122212211112211221122112121221212111222121211121211211111221121211221112211121112212211121222121212211212222221211211111222121121222122112121222112112222222122211211121111212221211112211212121222211222211222122122221112111111112111111221211221111122212212122212211122111112122222112212111221111211111122222122112122211222221112121212212222121111111122221211121112221121112111211221122221222111212111112222121122212121221112211122111211112122211211211222211212121212211111121222212112221222122112211122112112122211121211212111121111221112112211121122212121212221221112212211121212112112112211212222212111111122222121212212112122121211211211121212122111212121211111211112221121222211112212111111111212221211221221212221212221211212212122221212222112212112211212212211211122211221212222211112112222211222121212121121222112122121212121221121122222221112211211111111211211121211222111111221222112111211211211122112212122221112112212212122121112112121211221121212122121121121121212222212211122112211211212211122221211111212112222212122121111121112212121211111122222211111221112111222122222112112211112222221212122121112112121222221111211112111111121222122212122212122211212212222222111121222122112111112221212212211121221222212112212222122121111122211122121211222122212112211112221122112221212111112221121121112122222221121222212221121212221222211122221222111222112122212222211211222221211222212122211112111211111122121211111212212221111111112122112211112111111211121111221122121122212221122111121221121221211212221222121121121222112111111221222212121222222121121212111111112221221112122121221212211112222212112212121111211212221121121121212111222211221111221121122211112212121111122212221222122112221212221122122222111122112222221122212122122211211222121212212112221222221222121221112211111221111121211212122211211121121112112111212112121212111121121222222121111121122122112121111221211212211121212212222211111121121222111221111222212112222212112122112112122112222111112211222222122211121221221122221221122112122211122222221222112112221122122212211121212211121222111111221121211222121122222122212121122222211222221121212121111121212221111122122112221222112211211111211122111121211121222121112212212112222221211122111122111121122221112112222111222222222122111211212112122221121212211211121211112212121121212211211211112122111212212111211112122221211121222211222122211211212111222221221212222121222211111211211121221111221221121211212211122211212222222111121211222212111222112221211112122222222222211222112221211221212112222122211122122121221211122211222222212121112222121122222121111212112222222121112222112121112211212211111112211221111121222222211212211211121211221112212211212221112122112112121112122212112222112122121111111221121112122221221112111222211122112222121211222122212212111111221212111212112222111211211222121211111222122111221211111222222222122221122211112212212212212121122222211112122222212211122212111111122121122222122112112221221122221122221211112121111111112122221222112112222112211121121111221211222111221112211112121211212112212221212212111221211112122111122121122111121212112221111111222221121221122121122221122211112122212211211122221121222212222221112122122121122212112112212112122211122212221122222221112211121222121121212121222112222121221122221211212112212222221122111222122221111122222222212121222222111211112121111121222122112112111212121211212112122121122121222122122221221211121212112211221212121212212211122222212211211112112211111112221212211212111222122122221112222212112112211222211222212112112112112122212221121122212112222211211212111112121121111121221121212121121222112121221211121222112112221211212122112211222112211211111212122112111121212112111211112122112212212222122211222111212121122222112112212121111221122211222121111221222112221222112122122212212221212121222221112222222212211112112112211122122221111212211111112112122111221121122222111121222122112122212222111111111122222111222221121212211222211112122222121112222121111212211122222122221111112111212211221222222212122112222121121211121121121211221111222222112122121112221112122111222221222122121222111121221221122221111112111212122122121112121121211111221211121122221221112122112112212211122212121112112122211122211112121222112222211121211222212221122121112112222221112222111211121221121122112211222121221211212121121221222112122212122121222221111112222112112121211111112112212222122211211122211211221211122122211122212121221222121122121222222112222221122122222221211221122122111221122212121112122112212211111211112122212121122222121211111221122111111122112222221222122112112121222111212122221222112222212212212211121122121221212211122212121212212221122112112112212212112221111211221122212111112212212211121212221212122121212211211112122212112212121111221212221111221112111221222111222112112222122212212122112222112221111111121211111212211221211122211112221212122211121222211121112112121222212121112211111121121221212222221221121111122112111112122212121211212222212211212122111211211111122221212121222122112221221122211221122211211112122122111222112121221111212111212111221222221212212121212211121112121121121121211121222221211121111121222221211221212111112121112122221112222122221111211211221111212212212221221112211221111211221111221221222211221222121122111111221212211222221212221212121112221222221222222221112221111222111122212122121122212221211211122122211212121121121222221221122111111111222122122111211122122211212111222111212212211122121211211222211212111121121121112112121112112112222112211211111221112111111221222112112121122111212122211222211121221222111221111221111212121222111112121211221112212112122112122122222121112212112221222211222121211112222111212222112122112121111212121122111222211211221112212112112221111121112111211111222111111212222211111221121121222121211121212212221222111112112212122112111212212122221111222121221211112211121122112122121221221121121111212112111222222112211122111121111221112111221222212212112121221121221112121212221122212122222112122111112211212121112122122212212212111111122111211112121122111121212222221212111121212122112221112121111212211122112121122212122121122121222111111122212121111122111122212121111121111111221212111221121121212121221111121212121212212111122212121112221121211112111121212212112111222211112212211221211112212222112212112122121222222111111222221122211111111212112221221221121211212112122122111122211222122121211122112211121222112122111211122121222211122121222212111212111222221112222111212221122212111112222211212121121221222222121111222112111122112222111111212222112111212121221122211121211122221111211222111121111111211221212212221221122112112111121211122212121122212121222211222111121211121212122211211221122112122122211222111221221122121121222121122111211222112112222212122122111122212121212122212122121212122111211221122121122212222112111111122211122222111122111221222212212221121111212222211212222211112222211221121221222212121122122222111221212211212121112111121221121212212212112111222111212212221111122212111111111212221112221111211211212222221212112212121112211212111122121122211121111122122121122221222212121121212222122211112222122211121121211211121111211212222112111121112121211121121111221221111121112212111222221111121122121122121112112212122122222111112122111111111221112221111222221121121121122121222211112112121211221212122222211111222112212122211212222112121211112212212112112211121222212111222122122112122211111222111212212222122112111222211211222121222211221122212211112111222211222221122221211121122122122222222121221221122112112122221222222122212111121211111211221112211221122221212222212112111112121222222122211212111212122221212112221211211112211212111222121112211212111222211222121212122212211121221112111122212221112112212112111221122122222122112221122112112212222211212222122222112122121112222121221121111222111212112121111112221122121111122221121221112211222112111122211211121111121111122111112212121112122111211221221112121112121121211111112221111112212211212122121211212222221112122121221121121212121122222211121221112221112221111211122211121111222122212111211221211222121212111212222111112222211121112212121121222112221211121221211221212222221112221121212112211222221221111112121121111222212121121111222121122122112222221122122122221211111221221112211222222122211121121221112121211122121221112122221111211221112112122221222112222121211112221121121211112122221112121221211112122211212122111222211111222221221222111212222221121112221221221221211122122221111111112121211221211212122111111222211222122122122122212111211221122211112111112122122121222211211211211122221111111221111122212122211112211221222112221121122212211111222211221121121221111212122212121211221212122122212222122222222122222212122222212121121221121121221211211111211122221221111112212121112212122222222122111222111212211122112211112212222112222222111112121112211112111211221112121212222112222221121221212111212112222212122112112111112212222122212221211221112211221211121212222111121111221122111222111211221112212212221112221211121121221212221221212211222121121211111122112111222212211211212122222211122111111112221111112122222122121221111221112211222222211111111112112212111112212221212112122212222221121211221112222211112211222212122121121111221222211122211222212121111222212212211212122112111111221212121221211212211111122211121211222122111222212221212122211111221212212211211111222222112112111122221221222221112121112221211211111112212221121111112111211112211112221111112221121121211112221121211211112112222112212112121122212111211111121112222112212211211212211222221211111212211121121212111112221122211212111222212211111112121111122212111121112221111222122111212121222112222221211222121221212111122222121212122212112121112211221121112122221221221212122112121211211222111112111221122221122221222111222222211122111222111222121112212221212221212212112211211111212111122112212112112221111122121221122112222111221211122212112121212122122212212121211122211111111212211211221221221221122112221211221122121221212211111122222111112122112112122121112111221122222211221111221112121112121112221122212122122111212222212122221222121122221222121121222112221112112222211212221111111211211112211212211112121121121121222221121221221111222222112112121211111122211122111121111111222111212112121221221212211212121111111222211111122112212212222211111122122222211122122211121211112212112211122211221221112112222222112221211221122121112111121111111121212222112121211222211111112211212112122112212121122112111212211222212211212212221112212222222222221121211111211121222221112211121121122221122211112111222222222212221121221211221212211212122221121121212212212222121121222122121212121121221211122122111211121112111121221221222122122222212221211221122211222112122211111211221122111121112111221221221121212121121222112211222221121212111222122211112111211112121121222112222212111221111211222112112112121121112112111221211221212221211111222111211112221221211121111212112121121222211212122112221222112212211122111122212112211222211121221222222221111112111121221222222122211221111111222211121212122112212221212121221211222111221121212222211112112111122211222122211222121211221222111122122222112212221221111112211221211222122111211221122221112121111121121212112221211222122211211221222121122222221122121212111211222211212211122111121111212211122221122122111212212221122211121212112111211222111211122121211112122221221111212212221222211112122222122112121212211212211221121121211222222222121121122112212112111212212211121111111212221112111112122111211121111222121212112111212112212122112112211212212221122121111211221112122221111222211212211122112211122112112121111112122212122222122212222211122112212211122112122111211112221221122222112112112222111221212211212121111122122222211121222211212122222111211212112211111221112211122212111221222221121222211111212211221111112222212112221112122121122211222222122112222221212221221221112212122121121111111222112111212212121212221221221111212121222122211122221222112222112211112211221212122111221211111112121222212111222111221112221111222121212122211121221211222222212121222221121122122121122112211222121122221121222122111212221121211111221122122111211121111222121112122222222212111211221121111222111211112211212212221221222221211112112212121112211211111111112211121122112211121121121222222212221122212222221122111211212212211212222221212121122211121211211121221212212211121222121112121121212122112212221112222212212211121122112121112112111222121222112221112221111111121221111221211112222222212112221112112222222211112211121122112222211112121212112222222121211111212212112221212221111222121211221221112112211121211222122212122111211222121111221121121222121222122211211112212111221221221221112122212222112221112121221211112121211222222212111212111121122121112122121211221112122222211222221222222121122111211121212112111221212112112222112111122212111112112112221112221212121211121211221222112112111221121221221111112212122212122122211221212212221121121121211122222211211112221211211112211122222212121222212221221112211121211221212122211211222121112211122211121211222221221211121111212122121212221111221111221222222112112221121222222212211221121121212111222211211221221122211221111121222121112111122221121212212112222212212112111122221222111121212212221212121221121212221222122121112212221111111121211122112222121121122212112212111212121121112121121222222222221222212112121121221222212121212212222212121212121212111111212221112111121211222211111211122122122122221112211221121212211122122221211121122222221112222211121221221121111121221221221111211211122122212121111111122121111222221122122221222121122221111212111222222212221122211222211222122121122222211212121111121111111121121222122212221211221211122211111112121212112211222111211221222112111112122222211111212212121121212211221122222121122222121222221212212122212122222111112212111112111211112122122121112121121222221212221112221112122222122121222222222212111122211211122112211112221112122222122211121211221221122121122111222212112222212212111112221122112221111122212222211212211121111111111212111122211112221112111212222212121222122221211122121212211111111121222112111111122121122211112112122221122222212212211221221122121112222212211112121121212112222121221112222112221221221212221222121112122111122222222112222211211111122221212121111121122121212112222122121212221222112211121121221121221222221212222212221222122212222211221121111211222221221121112112212111111221122121122211111112112112222222122212211112112122121221211222111221221211121212211112111212121211111122112121221211221211222112211122211221221111121112212121112112211111121111111111112222221122121222112121221122112112121221121121212222112222121221222111222122122111222111222121111111112211222221221211111221212222121112111122121121212221211222112111112212122112112222122121212221111222122111122122211111111121211121111121112121111222112112211111221111221221212211212121212211122212222112122112211212121111111121222121221122221212111221122212211221111121121112112122211111222211221221222111121221211222112122111122222121122112211111222221121122212112222111111112222122221111121121221222212212221121221212121111212122222212112212112111222212112212111121222212121112212211212212222212121212122122221212111111211212122122221111111211212212211111121121222222122111211122121211211112122121122211221222112221121121111222111121121221222211112111221211111121111112221212211122221122222122222122112112211211121111212111121111112111112111111122111122112122111112212222111111222211122212212221122221122111121222221121111211122221121222121121212121111112112212221221221212221111222121221122122222121211112122122121221221211111112112112112211212221211211221121221121221122211211111112112122121122112212111222121222111222211112121222121222212122111222121211121121211121212121211222222221122122112122211221111212221111211122222112221121222221122122221112112221212212112221111212112121121121112212111221212212211112122112122221121121221122121211222212122222121222122221122112222111222212111221111221111111121112212211222122221212222122121112111122221211222112221221212222111121211121212211212211122111221122221221212212211122122122112122212211212212122121122221212122212122121221222222211211122211111121111111122122211122222112112211111121122222112111211111121222122212111222121121211212212212222221221222121212122122112212212222121211222211121111211212222221112111122211211111211112112221211111112111222122222222212122112221212121121111221212112211111222122122122211122222122111122111122221121222222121111222122211121111212211112212212121122221222211122112111112112121112122112221122212122212222122211111122112121221112121222111111112122212212121122222221112221211211222222211211221222112121112111212221211121121122222112211122211111112112121212211211111121212221112111221211111211122122222221122212222111121112122222112111211112112211111122222212221112111212212211211212211121212112112211122112212211121211112121122212111112112212122221111212212222111121222212211112211112112112222221122212221222221122121121212121212211211121121221112212121221111222122112221212212211212122212122222222121221221122211121222121112222212122112212122112222122221111121222121121121212112222111121222211221212212222121112122211212221122112121212211121221111222211111221112111222121222222111222221122211221222212211121211212121222211122212111111112222212221212122221212122112222122122122212221222212111121112212111222222122112222222212222111212111212122222222121221211112211111222112211121212121122112112211221211121222212211122212121112211112122121211122111221211122222211112122112211221121112121221222112221112111221222211111111221211111111211212222222121211221221121112211211222211211212112121112221221212121221121212122221121112122122121121222211221222222222112222111111111212222111221222122221222112122111121212212222212111212122122121112222121222222221122222222111122121112122112212121112122221121121211112212211122111122211222212211112111111121211222222122211112112122112112212211122221222111111122212221111221122211112212121221122211122222112112211121122122112222121222121121211111222111121211112212111212212221221112211121111222112212221111222122212211212111112212112221122121111111121221221112211122212221121212121211121222122222112211222122111121112222222122211221221211111111211212212121221222121212221221222211112221112222111211212121211221122222221222221221112112111121211222121212211121122112212111111122121112112212112221211112222221222121111122122111121222111111111212211122122112122111122121211122222122112112222221112222122111221112122212121212112112222121221222222221222212211221121212221222221121211221212221122222121211112222221211221211122112222122111221211221212211212112221121212121122212222121121121211111221122222121211111211222221212112112221211222221221111222112212111211121121111121212212112212112211221122211122222212211211121222222121121222211112112112122222111212221221121221212112221121211212222211211211222221111221122121212221111211111212222112111221221211222121111221122221221121211222111221221222212221212112212112211212121111221212212212212211111211112212211222221112122211221121122211111111111221212222212112122111222112111212112212211122222112221112112222112221112221222121222121212212122122121222212212211122112211222221111122122211211211121111222122111121212121221212122211121122122221211122112211222121121211111122211121222221222212122111222212222222111222221122222211111112222221212221212212122111121211121221221222221121212122212222221111112122222111111121111221121112121112121221211122112212121222122111121121222121111121111111111211121122121111222122112222111221222122211111122221111212111221122221211122222122212122122221221211111112121122111111112221121112112212122122112121111222121221211212122111111121221111122212221121222121211221121122121221111111211111111221211122121111112112221212122112122112111222211121111212211222212222122122122222222211121221122122211212222122121211112211122222222121121121122112221212211211212112121212212221212111111112112112111112212122112221121111212121112111222112222122122111212122122222121222211112211221122222122211212222111122212221211211222111212122122122121212222112112222222212111111212111211221222121212221112212121111121112212221221221222221122222121121121121221111221211122122222111211112212222211212212212122221111221121121211111212212121111211211222112112121221111122222111121211112222112212221222211212112211122122222111221221222211212122112212221121112221212121212221121211212121211211211111222221212111122212121211212212221222112222121112122221112112212222111221211122212122121111112222111221121221122122221111222211211212222112221111121221212122211121111211112121212111211122212122222121211122211222121211121112121111111122121221222122212221221211222122122112112221111212122221122111121122222222212121121112221212211122112111211222121221211111221211111212212121121111122112111121111222112212121111111221222211121221212211121222222221121222121222212211112112222112111222112121112221221221212111211211212222211221212221222121112111221121222222122221212221211112111111222121121121222112111122222211121212221211222122211222121212111212112111111212112221211112221221121112221221212112121122122222121211112122212122121222121122211111222211111112122121212221212122222221121222121112222112112122121212112111222112211122212122212221112211121112121121211111221111112122111221222221222221212112211111211121221211112111211221211222211122212211211121221121111211222221221121112212122121212122122212211222212222222221222121121222212121211212112122122111121112212111112221222211221222221111122221212221222121212221122112221122222111211121212222122222221212212112222112221212111212211111211222212212212221122112121221211221122112121222221111221222211121122121212221122212122222211111221112211212122111211122111222121211211122112111221211222121111112221211111222221221121222221122111111121112122222212221211112111221122111122221121211221111222212222121112111212111211121221122222211212222222222121211212222111121212211112112222121112122112122211221112122111111222221222212122211111211222111212212111122122211122212122211222221122211121111122111212221221121111212222112111221122212211221111212222112111211221121122122221111122111211211112212212112122222121122112212222222121221111212221121212221212112112221221122112221111221211221121222212112112111122122111212211121212122211111122112111212211221122121121211222212222221222211111112111112221122212221211121221111212112111121212112121112221212221122212212221111222121222222212111221212111112211221122121112121111112112221212212122222122121222211212212222221212112111212122221111112222222212221212112212122222112212212222112122111211111212222111121121122122112121122121222111221221212211212121221111222112211111111221221121112221221112111122211122222112211212111112121222212221112222121221211222122111121222211211111122121221122121122211212112221112121221122111211212211212122112121211122221222222211112212221221222222111212212221121121212212221221222111222122222211121112221222121122221122111212122212111212221121112221222221112111112111221222111112221221111222112222212111221122221122212111221211122222121212121122112122211212212112211122121122221122111121122122221212111112122111212211122121121111122221111222212112222112122121121112111211212222122222112221111121122122221222112211111222112211111121221122112211121211121111111221112212212222221121211222112121212121212122111211222111122122121121122112121222222121122111122121112211111212222221112122121211112222211122112221112221122212221112111112222212121222222222211221211111122222211112211121111212111221122221112121221222211122112212212122112111222112212212121211112211121212212221222122221222112212111122111111221121212121212221112111111121121211122112121211122222121221212221211211222211112121112222122111211212212221212111122211121211212211122112222111121221211222122211111112211122221111222112112211121112212221112221121222122112211221211112221221212211221111121222122111121122211121212111121121221211112122121111111211211222221221221112222212221212222212212221112121221121122211122222111222212221112111222122111121222121121222121211122111222112221122121222222211121212112222221111122122122222212211222221211121211121121221211212222112112211222111211121222211222122112111211112121121112112122111121121112112211221212212212121121121211211212112222222122221112221111111222211222111112221212112111212221112111111111222122112221221211212222122222221121211121122212111211211212212111111111222112211112111121211112222211212122221211112121211221211112222111212111222122111121211122122212221212122222111111211221212122122211221111121111221121112212122211221122112112222212222212121211112112212212221221222211221112221112212122112222211111221212112111221112221212122212221222222221212111211121121212111111222222112122112122211212112111211122111122211222122221122112221112212222121111112122222112112112111221111212122111112111222112221211221221111211122112221212221121222122122221112122222222111211212122111211211212121212222122221111222112221222222121112222211122111211112121222111122111121221212222112222111211121212122112111221121121111121111211111211222221221122221122221221121222122121122122212112112121222111112121111122211212211212222121121222121111112212222211222211212212111222111122112221122211211221121111121212112111212121211111211221112221122212122222212211222211212112112222221222221121222221211122122112111112122222221112211111122221221111211121112221122222121222221121111122221212211211112112221212221212212222122111212212112221112122122111111121222211211211222222222121221122211212222211221122222122112111212211112221212121211121112221221212122121121111112111121221111211222222221211122112222112121212122121221211112222122112121121221212121212211112222211111212112211122121111212221121222112211111122112111111221222111121212121222112221122221221211211211211211222212122222212221112212122221122221112111212111211221122112221121112222221222212221121221212211112121122121112121211222121122221212222112112111122221221212222112122122111211122122122112121111111221221212211112112122112121211112121211221212122122112211112121221112112122121121121112122211222221122112122112111122212222112222212222222212121121121221212121122211212112121112122212212122111212121111121121111121211221221111212221122221211112211112222212111121212122122222121221122112212121122111211121112221212221111112221222222111111111211211221121221112122111211211121122211121121112121212122121122211212112121211112212121212112221222111122222112112211211222122211222121122112112122211121111211122211111121111111221112122121111121221112212122222211222122122122122112221122211222222222221212121212111222121222111122111111122212212121212112121121221222112112112122221222121122111111221111211112211112122111212112222121212122211112212212112122212122211211112112121222211212122221212121211121212222112221111221111122122211222211221122121111212221221121112121122112212111112112211211112212111121221112112221112211112111222112122222111111211121121121121211121111112211221111111122111121122111122111212221221121122221112212112111111121121222112122122121122221212222212111112211121111122122111211211212122222122221211121211121222122222122222211111222122122112121121111221122222221221122212211212111212111122111122222122211122122121221212211112122212121222221221221211122112211121111112121222122222112212222121111212221222112222121211122222122112212212121222122221221121122121221222212122221122112121111112111212222112221222222122221112222111222212112121221112222222121121121212221121212111221212222121111212122122211211112221112111222222112222221212221122211121121211111211222122211221222112121111221112221111121112212121221111122121221111121222122211112222122122211221112222122122111121211121221211221122111121121111111121111121212122121211221211221212222112121222122221221211221122212121122111221112212122211112212111111221112212222112112111122212121122122121211222121212222112111221211212112122211122221211121212211122111222211122122112212211121111112121211122111221111211112112222212221111221222111111212211222111221121122221221121121112211111121111212111111112221211111221121112211122111221222112221212222122211122212222121122212121122211211121221222212121112212111111111121112212121222212221222212212222111112122111121222121121212121121212221211111111112111212211221221212221212122112212211211122112212112111211211222122212222212211211211211211221112211121212222222111221211221112222121121122212112122121211111212112121222211211212121211111111212211112211122122212122211222111222121122222211222222111111212212112112111211222221221211221121122211211121112222211111222222122122111122111122221211121121222211211122111112121212221221221121121122212222222212222111212122221221211221111211122122221221111221221222121221221122211222111221122112122211211111221211122122211121112212212211221221221122222111222221221111122221212121221222121111211221112122222111222121111221112212111111221111111211112111121212212111222122211222122122111212211221121212221111122111122212121112221222111211222122221222112211112111112122122222122112212111222111111111221221122122211212211121221211111211212121221222221211122112212121211211111111121212112211111211222112212111212221111221211212111112111211212222111221222111221111222111221111111221221222221111121122211111111121112222111112221211122211211222121122221211212111212121112111222212112122122222121211112221122211112121222112221111221221122121121121222122112221221221121221211211221221111221222222221212221122122222112111221221111122222212212121121222211112211222111211222222111111212211112212111221211222221222122111221122121212122112121212121121211112212222212222222122212221222121211211221111221122212221111221112221121112111121122122212212122111122221111121121112211222221121111222222111222212111212221122221121222221111121121211121111121211112122112122221112122222122111111211121211222211122111211222212122121221222122211222212111111211111122221111222212212112211211212111222111222121222122222112121211112121212221212212112111222112122222222122211221221222121121122222111222211211222211211111222222212122112112121111211222121212222111221121221212122221122111112211221122211122212212222111121211112222112221222221121211121121112221112222121121112122121121111111222222221221111211221112121211222122111121111212221211121121122111211222121122212212112112212111121212221121111211121221221121112122212222122211111122211122122112111222122221211222121122211221211221212221211121212122221121111122211222111122221111221122221211112111111112211121221212112222112112221222212211222112121222111221121112122212221122111111111211212112112122212112211222212211222221111112122112211221122112122221221121211222122111221211111112122122122122112122112221111211212121222211112222122222212112212221111122111121221122111222221121221221222222212112121211211222121222122212212122122121222122211221212121211122121211212211222221222122112222112212122112121111121112211221222211112211221111212112112122122112112212111111212121211212211121221112221122211111111221112111121221212111121111121112211221121212111122212211112112211212211211221212222212211212221222122121122221111111212211211112121121221121111212211222111212112122212112121221211222111212212212122112222121112121211221222222222112111222211111211221212212122211222212122212122122222121222221221111121211112112212221212221221122112112212112111121112112111121221111121221112212221121221112121222112222121122122111222222222121122111111222122112111222112112111122211222211122221111212222221211212221212211211122121212221212211122212121122222121122121112112112221112112121112111211111212212122222122112212112222211111212221112211111112111211121222211221222212111211122121212112211211111222221212211212111112111111211111122211112122111222212211211221212111222122111122111222222221121112121221222122221112221211211112112121221121121212121211122111121211112112212212122212221112111122212111211112121122122112121121112211112211222121112121221212222212212212222111212111211122221111112112112112212122222211221222221211221121122121221211211112111121112111211121122112122211211121211121112221122211112212121111211222211212111221111112211112212111122222222122121211211211111112221211222212122211112121122111111112211222112121212121122211122112221111111212121111212121221221111211212222122122221211111111212111112122212212122222212211122121211222122221212221212111122111212122122222212111222121121122121222212121122221222112212211222121122212222221211221112221112221121222222221212112211112222111221222121111212122122221211212111121112211112221222212112212122111211222122121111221222111112212222111112112111211112111211212222211212111211121111221222111122111212221112221222112211212121121222122122222212211111212122122122222122221221112112112211112121222112212211111221221112121111211222221111211111211111222211212122112211111211122122211211221221122121211112211122212212122222121222212111122221111221121221211212222111121122221121112122112122121212121111211221121111212212212212112111112212122221122211112112122222212111112111211111112111211121112112121112112122122122211121121211211222221212221221122211222121121122222112111212212212122212121212212212221121212212212122211121211122112111211212111212211222122122121211211212211211211121121222111222212212212111212111112212212121111211211222111121122211121112121121112222122112122122222212212111221112222211121122111222112222221122122221121221122112112222122211222112122212112221111121222122212111112122122111212221111222222212112122211122222111221111222212121221222212122212211112112212212112221112211221111122122111222111111222221121212111112221121112121122121111122122211211221212211122222221212222222212112222222212122222221121122222111212121222122211121122112121222222222111222211211222122211112111212211121221121111211121222122222112122212112121111121212122111111122111122222121211212221221222112212111221221121121211122222121112112222221111221211222121122221111222111122111212122122212122211111212112222211121212122221112221221122122112121121222221221211122222122121112112111121212112222222121121112221112111121221121212212111111121221121211221222212121222111112111111112222222212111122211122112111121221212222222121221111111111211212121122111112111112211221211121112221112122212221111122112111111221212222111111222111221112122222121211111122221222221111111222121111121211211121212222222212111112211211211111222221122112221121121221122121212122111211122211112212111212222121122111221222111122211212222111111221122121221211212211222222112121122212212111212111221111222111122222221212212212221222221111222122211221121111221112211221222221212111122221222221121112121121221122112221222112121222212112122221222112221111221112111112212221211211121222211122221121212121112211122221112121112222211111121221212111212222221211122212112112221111121121221112122121122222222212112111122222111121121111221222212211221111122121111212222211122211221122111211112222122212211111122121222222212111212112211222212212211112222111122221111111212212111121211222121221111121122121122211122212211112221211121112112111211212211222112211122121112112122211112211112111111211222211222111121222112212212211212212111111211112111211221122121221122122112212112212121212122112211121111112112222211222112112111221121222122211211212221212222112221222212211222222121222212122221211121112222111122111222121121212111122121221111212212112121111212222222221111111121211111212121212211211112212222221222222212221211222122121121211122222121212212211112121111211111121211211111212122211121211221121222221221212111211122212112222112221212222121211121222122122121222112212212212222112122222211122211221211112121211111111212111221222112121111212111121121121222221112221222211222211121211211212222111121212212212122111122112121221111212212211221121221221122122211211221112122212212121122112212111211222112122222121222212121121121212122221121122112221111212122122112221221221212221212112112112121212211122222221222111111222222212222221221111111222212111221111122121111221221212212222221122222221212221212212222111122211112221111121122222122222211222122222221212111111212211212211122221111222212221212212222221121211121221221122222211121222111211112212111222121222222222121112221122111112122112111121121212112212221112111122211112211112212122211222122121221121112221122112211212222212111212212122122212211112221121211211211111121112211221221111112222112221122121211212221212222212222222212121221211212221111221112121222221112121212222112112112111211111222222112121211212121221111221122121222212112111212112122111211222212212222112212222121111211122111211111212211112211112122222121211121211121221211111112212111121211121221221121222211211121212122222211221212211221112222212212111211111221112211221122112222111221221111222221122211112212122121221121121122111212122122122221121222222211212222111112212122111222112112222211211122122212211221112221122121111122221211112111121212211212121122212112221111121121222122222121221121211112112222122221222111212211212211212122112111121211221112212121212112222212212222112122112112211111211111122112222212112211121211212211221221121121222112121222111122112112112112222222121121111222122222212211112112222221111221121211212221122211112211211211222212112211212122122212112211112111221211121112212121121221112122211211112122222211112111212121212221122111211211111222121122122222222122211112112221222222121111212212222122121121211212212112112111122212211211221122112112211112121211212122222211221122212221121221121211111121122211121111121121211121122221212221112112212222211222121122121221121122112122222221121211112211111212122212221111212112111121212121211211221122222121222122111111122222122212112111212222221111212222221221111122121122121222122122112221121111221112121222222222211122112122112221211122112211111122211222221212221121211121122121222212111222211222212112111121222122221212111221221221112121211122121112121122111221121221122211211211111212111111112221221112111112212112112111211111122111221212212121211121221221221112112222212111222111111211121112222122121112211212222212112121112212121122211221211121211212122111111222121222122222212122222112221111111121121122112122121122112122121211211222111111222111221221112212211212121111121222121222122211212111112222121222221212222121211211121121121221112212212222211222222222211221221112121222111111212212221122222122121111222211112111212212122211212212211221112212221222212222111112112111211211121222121222212212112122212212222112221212122212121112122221221121222122221121222212211221212222122121121221122112221212222211222111112212111211112221111122121122212122211221122122211212121122121222111211112122112221212111112111121222121212211121112122222121211112111122122121222112121212221221222222122122211122111111111111111121111212221111122212121111121221112212221211212122211221122111212121112112122211121122221121112221121211212112111112221222122122222212111212112222112222122222112121222212221122121121121121122112212111122212111121221222121221112222112121221111211212222112111211212211212211111222211122111211212212122221212121211212221221211112122112221211211121121111212211121212211211211221212221211112121121221212221121121121212212122212121121122112111221121211222122221112122212121121211221122112222122212112221112122211112212122212112212121121121211121111111221112211211121122221212222111211112122112212211211122111122111111111212121111222122222221112122121111122112112212122112221222122112211221111112212221222212212212222221122222111222222222221111122212122112212121211111221222221221211211221112222221221111222112221111111221211211222112211212211111112222222212222212111112221121221211222211222112111221121212222121221122212112221221212222211111222221112111112221211122112122211121211212221221121221122211111211211221112111112221122111122111111111122112211221221211111111221222221111112221211222212121222212112111122111212112111112222112222112121122211121211122211121111121221221121121221212111121121121121221121212112212211121211121212111122122121112121112212221112122121222221122122211221112121211112122112121211211222121111111211222221211112221112121112211221212121222121212212121111122122111111211111122221111222211222121222121112221221222121211122111222122112112221211112111221212222111122212211122112121111211122211111212222121112112222222121121121211222122111112222122221122111222112111211122211221121212211121122211221121211222112221221112111111211112221121222122111112222121112122221222111212221212112121211122222121221212122122211211111112121212212122112222222122221222121221112122221221222211221121211221112111111111212122212122211222111212121112121112121222221212222221111111212121222111121121111112121222211222121112211122122212211121112212112221212121211211221112211121122121222112221122222122111211222222111212221222112112111121121212211112121222211121212212121212112121112211212122222112121221222122121112212221222211212212221222222111112122221122121112221111222222222212112122222211112122122121112121122112121211212111222211211222121111112221211112211211111112212211211211221112122111112211121121111211211122222121211222112222212221122221212221221221122112211221211122121211111221221121211221111211212221122221211112212211111211112111112112122121121211111111121221112122111111111211222221212121111122211211111221112111112222212212212222221222221122222121121212111221112121122111211212122121112121221212112121221222111121112112211221221122222121222221122112121122221121122222212121211222222121111121121211121211211211121221111222111222121121211222112111211122122112121122122112111211111112122112222121111121211112111121121222222122112212221111122111221211122221212222122211222112221111121211222121121121222112221212221212112211221111121111112221122111121112122221111222122222222112222222121122222122112221122211111212212212122221121222221212212121111211211111222121121112112212112122121122222122212211111122211222111111122121112122122111212222211222111111111211212222221222121112122221122222121211121112112211211122222211111111112122212122112211112122111112111222121111121212111112211221122122121121222112221212121212111211212111111122211111111222112211221111222121221211221221111222222221121212222211111211112121111112222121221122122111121111221112122112211122222121212121121111211211211222121111112211222111212112121121122121111111122211111222211112121222122222111111122121221112212222112122212221211222111221212122112111222222222212222222222212211212221221211211122111211122211122222221112122212111111222111112121112111221122121211122221111112121222122221121111221111112212211221112112212121222212112112121212211122122122222122111112121122221221121222121222111221212221221121112211211222112111111121211221211112211121221221222112121121112111222212222122221122212212121122221111121122122112122122211222122112211121121221122122211212221221121222212122222211211212222221122221211212122111221111211212211212221111211222121222212111111221221111211121211212112222111112121212211221122222211112121221211121211122222121122111222122121221221212222221222111212212222121122222211221122212121222121221221211121211212222112221221121121122111222111222221121221121121111112222221121211222212211122222221222121112121211112212222222121112212222122212111112111122211212121112121121211211222221211211122112112212212111111211211121112122222221111211121111121221122212121211111211222121212221112222212211221222122212221222222111122111111222112121112122212212122212111111112221211122122212112211221121112122212112112211122112211222112222122221212212211121111122111222111111222222221221111221222122122221111111221212112111221122111112212222211222221211211122222222121211211211221121121212121122221122221211122111112121111211111221222212212111211212112111122221121112122211121111221111221122111221122122221122221112221221221211111111111122222112222212112211212221221221121112122211212112221212222212221212121111212122112221121222222212122212221111212121222212122211111212122222212121222211122212111121222122221222212222111122222112222121111111122211112112121121211221211121112222221111122122212221111221222212212122112211212222212211112211212111211112212211212111112212111212112212111112212211211111121122211111111112112112111222111111121211211212121121222221111211221221212112221112112222212212121211112211111221212111112122211222112112111111112111121122122122111121212122212221212212222212222121212212222122222122121221122111211222221222212221122121122211221221222212222122221221222112112121111122111222212212221222112221212112221221112112211212122122122121111112112121221112222112122122211211111211111121122222212122111212222121221121211121121111111212212122211112112221222122211112121221112111121121211222211121211211122112111122122122111111122211211212222112211212222122111222221122122122111212112211121221112221211212122211211211112222211111221122111212111221111222112121112221212112122212221111112222211121122112112112221112221112111111112211212122122212112121222221221112121222211212221121212121112111122222122212111111222112121221122122212122112212121111111111222121221111221222112111122222211222221122222221222111211212222222212112112211122121112121111212221121122121222212112121111122121122122121221211212222112112122212211112222212121112111221122111221221222121221121211221121222211112112212212111122112222122211112212122121111221122112112111222112221121122211122221112222111122222211222211211111222121222122121222211211222111221222122222112122111222211112212212111211211112221111112122211212222121112121111212222112212111222222112122222221222121111211112212122122212211111121121222212121112121112121211211211211212112212111222212222212212112122221111111122112122212211121112222112221212222211222212112112122212221222212221122221221111122122112212221221121222111221121112212222221121112121211111111111122112221122221212111111111111221211221221111222112221222122112222221111222212112211212212111111112211111211221211212221211212212112221211121211221212122112121221121222112122212111122121122121112222112222222212121122121222212122112111211221212211212222112212211221222122221121111221221111112212221211221112111212121112122212221122111211122121112221212111212112222221222211222112212221122111121221212112222121111111111221221122212112111211222112112221222221112211221221222121122222211212122112121121211211212221212112222212211112122222221121112121122222112211222221121111121222122221112112221211121222211222111121122222211211221222221211112112222221111112222122211212222121111222212122222121111221222111111112211111222122211111122222212121212222222222221222111122112112212121111222121122222121112121212122211211111121222221111111211221121221212222122122222121112221122122212221121112121222111112122111122122211221111212211211222122121122211112122112222121222112111212221222222111222112211121212121212121212111212222212222222211121121112222221222121221122111221121111212112211122222122111121112122122212122112221212211111222112111121212211211222112121221111122212211121212121222112121122212121222122222112222122111112121211112122222221221122122111211122121111112122222221111122112211221221122211121121112221222212121111221111111122212211222221121111122121222111112221222122211121211112212222122221212221121121122212222211111121111212212112112221111212111121111121212222212221221121221121211211211112122212221112121112111211221111221111111212211121111111222122122122122122212212211222111211122211221221221112121222121222221211121221112211221121221211112111121222212221111112222121221212111122121121122111221211122212111122122111222111122212122121212222212222121122222211112221121221212121211211221122112111121221211211211222212111112222221112121211111221211112221222112211222212121212121111222121211221112212221221112121112211211121111111221111221222122212221212211112222212221111222111112121112122221112122112122222211212122111212222222222212212212122212121122211211211211111112111122212122212122122111221212121111221211211212112111122122112222212212212121111111112221111212212211111112211221212121122221221221122111121221122211211212221121111112112111121111122222211222212121121112122211122211122111221121122111122222111222211211112112112111211121122112121221122112112111122222212221221222212221112122222211111122111211121212121212212211121111112212222212122112222211212111121211112211212221112122212222111222221112112221121211212122112121212111211212221221222212112222121112111212111212212212121112211221221121211122222212211221211211121121121211222212111211221112211222111212122221211222122111121211221211121221122112221122221112211122112211112122212111221112112221121111221212112221222112112211121212212121122112212121211221212112121112111112121222121212211111112211211121222212111221112122111222112211221111111122112121221211111222212211121222111112222222112122121222122111111122212121212112112111221221111211112112121221212212222121211221121212122111211122112221222222121112122221212222211221222222211211112121211222221221122121222122211211221222111212221112111112112222222111122122222211211221122222112222212112112212222111111121212121212122212221211121121111211221211211212121212111222212112221121122112222212121212122112112221221111211122211211222212211112222111212221112222111212221212121222121121212112111112121121221111212121221221122222211211212111122112112222122222212112111121112211221221122212111211111222112112212111112221211112122111121122112112111212221212221212222112111222222122222111121112111111111121111111221221211221222222211222212111212221212122121211221222121112121122122212122221111112111111121211122211121221212112121122211222111111222122222122221222121121112111122212211121221122122222112111222111221211221121212111222122112221112212211111212122122122112111122121112211211121121122121211212112111112112111112221112212121111212111212121122221211111112111212121112112111122111221211122212221222121111212112222112222112111212222111121221222121222212111221121212221222112111211212122221211222122221112112122211212211211222222211222122112211212111212222222222221121211122111112212111222221211111222222121122222222122122212221222221122121222111112212222112211222112122111112222211121222111112112121221221121122111121212111122111112121111211222111122211212222221221122211221212211112121211121211112111212212112122221222222111221121112121222121111111121221112221111111221111211212212121121112122222221122221112222112222211122112122111211221212212211111211222121212111111122122212211222212121211112221212111112211112211222112212111121111111211211122122122111112221112122211222111121212212211112221221121122221111111111211112211121211122212221112221212122211221212121221211112222112211211211222121212112221221122122122222121222222111221111121211211112221122211222122212122222121121221211122221221212122112212221221121211111212112112121212111122222112122112121112121121221221121221112112222222212221212112121112112222122111212122211212122221222121121211122222222112222211212112122121111212222211211111111121111221222112211211211212121222122121112121221222121211211121121121121111212121121122212122222211221211112111111211221212222122112222221212221111112112211212112212112122111122121122221222221211212112221122122221122221112112112111112212221212122222122211111122211222222221212112111122222111111121211221211121211222112212222111222222111211221112211121212221112122111112211221212112111121222122111212112112221111112221211111111122121122211212122122121111212122121122112112121221221222212212221112121111211122222121211212122112222111212221111112112122221122121222221122212211221211221211112121112212212212221211121221112212212122221222212211112222111112121221212212121222222111222222111111111222222221112122121112112211212111221112222121121112121121222212212121222222121222211111221222212212211222111212112221122221211111222122122222111111111211121122221111122212121222222221222212122121122222222122112121222122211211212111121111121112222212212211111211111122121112212221221111211112112112211212111122211222112111212221121121221211111111112112222122212221121112212212121221121211212111121122111211222121212111211212221211222121111112122111122222122211222111222122121221221122112111221121221112112211211111212221211112112222111211112111122212221212222122111112211221111121222121121112211122222112112112112221212211222122212121111112222222121221112112112121111212222211212221111121111212122112122222112222212211222111112211122122221111222122222221111112112221121112221121211221221122221111212211122112121212112222211111211221221212221121221222222111222112211212222221112222121112121121122222112111112121122122121111121221211112112121212221211222111112212212121222122121122221211122121212222221222211222211222121212222111222121221222121211212122222222221112111121221112221122221211212111211212112121112211211212212122122211112212221122112222121212211222122221211112222122212222211121221221222111111121222111221112211112222122122222122121222121222222222212211112111121221122222221112121111221122111221212122221122121212112111212121121122211222222212121121121211222111222222112111211112222212121222112211222222111221221221212122112212212212212111121212122111212222121211222212222121221211221111111221222121222122122211212122211221221111112112111121122212221111221122112121211222121212211222211122222121111122122221211211221122112112112212122221111111211222111122221221222112122122221221112212221112111211211221112212222212122212111221121212212111211211211221212121221122211111111122111222222212111221221211211221221211111122221212222222111111222121121122122222211211122121222122112122222122212212122221211212222112121112211211121122112122211121221111112212111121222122121221112211212121212121221211211122222112212212121221212221221212221111111211212121221112212211121212121111212122212121112111111111212222212112212222112122122212111222211122221212211112221112222221112122221121111122122121111221122112221112112211212122112111121112211212111121211112222121121212211122111122112111221121111112121121221122111121211221211222211222222111221222212121222111121221122221122122121211211122122211211111212111222121222122122111212111111122211221121112111122222111221222212122212222112122111222112112121121221212122122122211122222122111111122122222112222211221211121211211212121121111121111221121222212221122221211212212122221211212221121221121121221211111221212211122221122111122211122111212122211221122121111122211212121112122121111212221121122111112211222211212111121122121212112121112222221111111121122212211111121112221221221221211211221111222111221222212121222121111212121122222211222111112112211221221121211212111211212222121121222112122121112112211211122211121111221121111121221112111221122222222212112211222221221112112212112112212211212211222111112212122111121122111212111212111121221212112212111221222112212112112221221111221111221221112121212111221221112112122122212221211112122121221222112111221221112211222222222122111122122212212222222211212221121122211112122221121121221211211221211222121222112212221112222122212211221121122121211221111112112221111112111121121121221211121222211222212222122111222222211112221122112212121111222212211112211121212121222122212112112211112122211112222221112211111121122211222121211112122122122211122122121221222112211211222112122211211112122211222112221222212221211221121222211221222121122122212221222211222211122112222121112221121112111221211121112112112122211112111212122122112121122222112222212122222122122222211221122212211211121111121211121122212111222111112111111212122122121121122111221111211221111212221122212111212121122212212111111122121111212221212222212122122211121122221112122222222122121111112121211112222211222211122121211121121111222211211112112222122221122212112112111221111122111111212112211122211211212122222221222211111221122122122211212112212112222221221211122121212111212221121222112221122221212211221112221211111211111121112111121211221222221121121122211211121212112221211121212211121121212222122121121111121111121111122211112112111112211211111112212112111112111112221212121112211211221221211212211221222121112222221222222121221221112221111221111111211222112112212111112111112221222122221222211122112221122222221121212211222222221222122122111121111121211122121212121212111222222122122222212111121121111222221221221122121212112211221221111121112111111111211222212221211122221212211111122112212222221112122112211212121112111122122111122221111212221212211111122121222121122222221111211121121211212112212221111222121212111222112122211122112211211121122111112212111211221112222122112111121221121211121122121211212122121111111221112122221122112121212211111121121112211212111121212121221111211212122221222111112222222111211121122121112221122121122111212111212121111121211212222121111112221221211222211112111121122111221112221212122122122121212212211112111111112221112122212222211111212111221211221111122121121112111111122122122112111111212112121111121212212112111111121112212121222212211212212212221121222211122222111221221221212211212211212222111112112221111221211111122211112122221211221222121121222111211212112121222222212112222112112111221122122211211212111211211212211211112122122221122211111211112222111221212122211221121221221121111221212122212221221122222211121211112111121111211222221122112121222111211111122222121212111222122211111122212111111221122121221212211221221122211111212211222221121112221221211122122222222211211121122121221221211121211122112121112112112222222122211221122111122222112211221212221121222122112222121111121211221112212221212222121222122111121212212112121111212211211122121121121111212212122211221112121211112112221221122212212211222212221212121122221212221222221212111111122121121121111122122222121211222112211122112221221212211222112222122222111122212122122221121211211221212122122122211212221122122222121211211112212212221221122121122222212121221221222112121111111221122122111221111122112222111212222111212222112111221111222222211112221111112212212112111121221111122122121222121121111112121211121222111212112121221212212211212111221222122112112221221221211212111112111212221221111221222111111211122121111121112211122112222212121211111121121122111221111221212211211111122212122111111111212121112211211112212222222111211212221222122211212122112112211222121121122121222121122122211122112221221221211111221221222211112212121122112212122122121111111212122112212121112121221121222112122211211122222211111221122111112112121112112212111112122121112212112111121121212122211212211211111212121121122211211111111221111222122121111211212121121121222121122221211222122222211212221112212221121211111111111211222212222122222211112112121121122212222211222221111121211222121112211112211112122211121121122212222212211222111122212111112122211212221122221211221122211222222212121222111212222211122111212112111111122122122112222222122112212112112212222221212121121121112111211212211122111221212111222122121221221122121122122121212221121122111212122111122121222111211112212211111121111121211121222211121222222221122222211122121221122222112222221122222111121121121122111111212111121221122121121211212112121221121211212221212221212211221212111111221222111121122121212221122211121221122211221211222222121222222121222222111221122111221121222122121211112112111211111222212121111121221212211111111222121222122121112222221211221122211212212211122221111111212212111122111111211111122111121211122122121122211211112121212211111121112111221221212212122112212121211211111222211212112212111111221112211112112112222211112112212112121121121122212121112121211212222212211121122122212122112121212221221112112111111222112221121121221222111122122221112112211221221212222211212122122121211122222222111121222122222111212112212121112211211212221122111111122212211111111111122222221111112111121121221222212211122211122212111221211112112121122211211221222111122222212121112111122222121112111121212221112112112111111121122112221111221112211222221112112211112221112212221222212122111211222111111221211212111211122221121211112122111112212221211122211222211121212111221222111111211122211122212121122111111111121221211122212211122112122212111112111222211211121222211211122211212111121221221212111111221211212122211211212212111122212111222112121122211122221122112122121221212121121121222211111121112111211222111122222112222211221222211121122221222211211111211112211122222122211221212122212122211212212111121221221122111212222111122212121211212221211121212111211112112112211111221211121121221111211121111212121212222122211211111222211122121211211111112122111211221112112211112211212212121112222121112112221211212211111112122111122211211221211221112222121221221211221212111121222212111221222121112122122212112122121121121111122121212112122212112221221111112211112111211212211122222122221211112222121221212222212122211221112211212122212221112112122121222111221222212112221211211212112112212121121112111212122212222121212122111222122111122212211122111122221211112222112211112221212221212212122222112212211222212112212122222221112211212222122211121222122121212111112121221212211211212221211211222211111221212111121212112222122122222221112221222212212222122111112222122112112121211212211122112111221122222112222111221112222122222211222122111222112212112121212111121212111112222112212122122111111222122212121211212121221212211112212221212212121122111212212121121122221112121211221122111112122222212211121111111212221212111121111222121211112221111222222211222122222122211221122211111212122211112111221222122212222212112221121111221122111122212112121221121121121112111221211221212111121212111111112221111222221212211121222122122112112111111112122212221212211122111122221121111222212121212222211211221121211221211112212122222112221112112222111212221221212221111122221212111212211122121221212221222112121111221222121222222111112211211222111112111211212211112112221212111112121111222222122112112222121121111222112112222122212212112221221122121121121111112112211222112212112122222112222122222221221121122111121111222121211222112221122111121221212222211211111221122112111121211212211222121112122111111122122121221112211211221212211122111211222222222211222111112211222111212222221121212112212222222112111222221112211122212112211121122221112122122212111211222112221112112211211212111122112211212122121121112222112112221121222211222112212121222121121122122221212211121222222121122112211211122221112221221211212111122122222121211122122111111121111121211121112222211212221212212112122212222222111221211211212111212221112222111212121221112221121221112121112121221122111222122112111112112212111121121212121212111211222212112212211121211122111122112112221121111221222112122112122112221212121211112111111111121211122221221121211122222111112221212122221122122111121212112122122212211212211112222112211222112211121111121221121212112121122122111222212112111121112222121212122221121221222221121221222212112222222111122222122121111111122212112112212122222212211121211212111212111212211112222222212122112221111112222112212212212112112211221222112212221112121212111221111122212112211222112122112212221122112211121222211211112211222211211212222121121121222221121211212212212222222122122222211112211111222122121211212122121111112212222221112121212211112212111221222221211122111222111112222221212212111211122122111121121112112221122212121112211221112122212221211222121222222221121112221221212122111221211121212122212112212212222112122212212222222211111112122221211121112112212112222121111121211212111212121111222121211122222112211221122211121111122112221122212211211221222121222122221221211211222211212122122112222211221222121122112121111111122112221122212122211122121111212111111211222111112211222221112122211111221211112222211221211122222221221121112211222112211222212121111222212222222121112211211222222221212122212111111122211111222211122121112212122121111111111121212212121211212111222212112211111122211112221122221112112121211211211212211212111112222212122112111221112212212222212212122222111111222222122112222112222211122222211222111121112222221122222221121212212211111112211112212212111222111121221221222211221111211221121221111122121222122222122221211121111212211221222221211122121111211122111212222111222221211211211221221112112221212211122122211221122121122222112111122211211121212112212111211121221122111111222221211212221211121212111222112122121121111122122212211122212221122221111112221112212211222222221211212111121212122221221222222111222111111221121211221212121211211111112121112212211112212212111211112121121222222211112221111111112122211121112221211222111111111111112112121122112121111121112112111111212121112121211211222112122212221212122211222111111212112212211221111221122122222111211111212111112112121122222221122121112122112111222221122211221122122211212212222222221111122221211222122211222122121222211221212212212121112111111212211121211112112221111112122121221212221112211212211211121121222112222111222221121112122112212121222222222122112211221222121221122112221211221121221121111221221121121112222121221222221122121112121121211211122222112121222222122121121121122111221221122211221122221112221111221111121112222221211111111112221211211122222222111122121121211212221211121112121111121222112121122222221222211211211121121212121111121222221121112121121122121221212122111111121211111222121112222121111211112112222111211212221212222212112221122122211222221122212121221211121212121111112121121121221111122122121212121211221111121122211212121211112212222121121111121211222211111211212211221212221121122111112221221111222111122111111112111222121212111122112122122111212212121211122211222111212222222222112111211122111122212212222122112211122221211112112112221111121211221211212211121212112111112211111111211122122222222112221211111121221212121222112212121222112112212122121112112221211122221112112121111221121122222121212122221121121112122211212122222211211122112211121111112111221212121221121121211221221221212212111221212222211221222222211121121211111221222212222122121212212222111121222211212122121212112122211211111222112212122111121112211122111111212222212212111111111111111112211212211111122211111121211211221112121211222212212122111212212222212112112112222111121222221222212221122212212212211121122211121221211222112211121121221122122212111222121211221211212222221221121121222112121221221221111211211122221221121212222211212212222111122112221222212212221111111112221212122221211112112112111222221112211211212212121221222112122212122211211121211222121221211212111222121111212211112121221212122211221121211122211111122221112212121112111111222111212122121122112211122211111211212111112222221111211111111222111121221122121111121221121121122211122221122111222111112221122121121112111211222221221111112212221211222122221111211122111212111222121121221121112121222111212222211122221121111211222121121222111222122212111211121212121122222211111221121112212122222121122111212111211121212121121112221122112212221212212112211121122211221222112111112211221222112211112221111212121122212122211221221111122212211211211212112221111211111121121112212222222211222211222112222121212221122112211112211211121111122212111211122211221111222112111211111111111112222122221222211222112221122221221221211122212222221221211111211211121221121212112112222211212122122121122122212112112221212111222111122121111111112111112111122211222122221211112222111111212221112212221221122111212222221211121211211112211222211212121222211221221122121112211122222221221122121211122111111212112222211211211121121221121111212122211212211211211111222112211121122112222221122112121121122221221221122222111111221211212212222122222111221112221221212211122211112112211222122212222122211222211212122221221112111222222221121111121211211212211121221211122121112112222111222221112122121221111112122112211211221121212221122221211121112211111121122211121121212112122222111112111112121121121111112111122211121122221221222212112122221221111122212121121222121112221122111212221121211222122221122212111112211212221122211111221121221122222221221122112212122211122212211221222122212221122122111222222221221211221111222212211212122221212112221211111122111112212221121121211121111112211212111112121121112221112212211121111122221212122212122212221221221222211122122122122121211111222111111212112222222211121121111121122112211211212121111111222212122211222111222121212222122112122222221212211222221221222111211121111222121122121122112111211121122222212211211222222212222212222112112112111111222222222111211212112122121222222112222112121211112121212222121221222211111111112221111121221112121222222212112111112122112112111121212121122121211122122121211212221121212221122111212111111212122212211121122111112121211222211222111211211121111122112221211212211111221212221221111111111212211212121112112112221221222221111111221222211221121111122121211122211222212222112121212112122121221121121211112221121222122222122111222222222112112111212222221112121111222221121212222221211111122211211111211211112111222111212221212112212211211221111211121111212122121111122121211122211221121112122111221211212122111112121212111221211212112122121122211111222112222212212221111122122222221211212111122222111212222221122222111221122122221212211112112221111211222222121221122112121212111111222111112212211121121211111121111222222122112112212212222122212222112111111121122211211221121211121212211122211122121221212222112221121221112211221212222121222122222222221222222122222112221121212112111222212121221112122222221112111111222122211211121211211121222122111121212221121112121122222212112111221211221112212121121222112122111222211222211222121121121121122222111121212122221221211211122121212121221121121211212121211121222122121211212212211212221212111112122112121221221122211221121211221211222111111212121212122111122211122121221122121111212212212121211122221122121121121111212211122221221111211221112221211212222221222212221222211211211111211121222112122221121112211222112221221111111122111112122222211121122221212222212222122112122111211212111212211212222112221222212121222221212211211221121121221222111112121211211111221222221112222221211212112122112221112212212112212221211211221221122111212221222212221221222222121122121221112122121221111121221122221221112211122221222222122222122121222111211111122121112122211212111122112222121222221122111212122221121211222211112221211221112211221121222111212112122212212112112211111122111221122122121121121112122122212212221212111211221212122111221121222122111211121121222121222222222121222221122221122211211122122111111222221212121112222112112222222212111211212111222121221121112121211122212221121111112112211211211212211222212211121122112221211211112112212212222211122212211221111122212112112111221222122121111111122222112212222112222221222111112121211111112111211212121221112122121122222221211221122211111121112112122111212122212212122111221122121121212212221122212222121212111211221111212222111221112112211112121222111211121212222112221211122111121122221221111222212122111111112111221112122222111222221122111111212221222221111112121121121222112121221221111212112222222211221212212121111122122112222212111212212221122212122122221122112221111221212112212222212122222122221211222121222121222121112211212111112222122222112211121222122222111211112221212121112121112222111122111222222222111112112212212112112111121212211221211121221111212122211212211111222111111221121121121211212111111211122111121212111222112222212121212122121121212112211211211221122221111122212222111222121121111211122211212112111111212112112222222121211212221122221122112112222211112111222112222221111112222121221221112221211122121221111221121121211111222221212121221111112222122112221122122212221121122222121221121211122111211222111222212212111212212222112121212211112221212212111122222122122121111221111222211121222112121212122122211121212221221222122212121122211111121212121222212222221212212212211222122222212121211112221221211121121221112122211121221121122221212122111211221211112212111122111122112212212212111222212211222221212212122121111221122111111211111221212212221211221211222111211111111122112111212111212222211212211212211211122122222222211122211211122212112222221111112222211121112211112221212122221112222121122221211112122121211121212111122112211111221222212211111111212111211121112111222121222222122121112121121121111121122212221121211111222122122111221211112211112112111211221222212211122121111112222122211121121211222121212112221112121122211212211121211121221121122112122111111121211121221211112121222122121111112221121112111212211211111212112122212111122111122122221212222222121211122222112112122121211212212112221112222211111111121111121211211121211212221211212211121122212211211111122122211221222212221211212121122221112111121111111222121211121121211111221121122221222112222222212211211222111212212122212211212212211222222122111112122122122211212212112122211222212222211122111112222112121112221212112111122122211222121111221221221121121212112212221121212221222212212212211111221221122212221111111111211122222122212212112122121222222122122122212211222211221111121111221121121222112211212221121122221222212122121121111221211111222112222221221121212222111121222211122222211211111212112111211221121121211111121122111111111121121122222111111221121221212212212222111211211122122111121111111221212222111211221121121111222211212112211211221121212222112221112112221221212211121121122122112111112211222121212222122122221222122122121121112222112211222211111111212122211121122212212222211112122122211221111112221212122211112211122112112121122122212122112211222222221121211111221211112212121111212122111122212121121112221112111112211221212222211121211222122222122221212222211111222122211122211112112112211222211112211212121222121222112222121221111111121121221221211121121221211221121222121221222221112122112211121121112212111112221212211121212211111212112221211212122122112211222112112122212122111221111222111112112212121221122122111221122111212212212122212122211222112222121111121222211212221112211122111112122111111221111121112112112112121211111212211221211221221211111212222111111212211122221221122211122221121122212222111211212211221222212211211211221112122121122122111221222222222212121221122211222122221121212212121221212122111121222121121222121112112121211222111221221212121121212221212211222112112211221122221211211111222122211112112112111222211211112112212222111111221222211112112221112122121222122112222111212121212211111121121111212112121122221212212212212122122211112222212221122121111121211122111122211222212222221212211211212121122222212222122112122112221211212111221212111111121211112122112212121121121222212221212122122112212122121222212112122221112221111211211211212112212112112211221121221121222111121122111121222112121211212121211211112122212121211222111111121211122211111222111122121222211221221121111111222221212121122211211221221111122212121121221221112211212212222111121211211112211111221221111121121121222211222112121111212222111121212212221212222221221221111121112212211122112111111112121211121212111222221222211121222111122122211212111211212221222111122122122122111112122221211222211122121211212222111111122212112121122212222222222221211112221112121121111122212122212122122121121221111121111112111122122211212212112121112211221221111122221122222112121121121222121122211122222111122121221222111111122222221111222122111111212212122121121212221211212112212211222212112111212121222212222121112212211222222111212211212122212111112121222111211122222221212111211121222222212212112221212112212212211121112212112122121221122121122221121222222122112121212212211212212122122222222221112212121211112222121222122121112122111111222111212211111211121212112121221122111111211121122212122111121122112212122221111211111222222212112111221212221222221112211211111112112122221112222122121222121222212221121211111212122212222111222211112111221111212112121122222111122121211112221222122122111112111121122121111222122222211211112122212121211211122122111112121112121111111212212211112121122111211211121111221121122121111121222121122111122222122222212112121121121111212112122221122111221121122221211111221222111112221222111112222222112212111112222212111121112111121221212121221211112211222212121221222111211121111222112212112112122121121222112221122222222122112221111122121121221112221211122121112211221111221221122112221112212211121121121211111222111121121211212122212212112222121221222112122121211112212221122112112121111121212122112111121121111222121212212221211121112112222112212212221212222111221112112211111222111122121212122112122111211221222121221121112111211121212221122221111122211221112222112112221222122212211211221111212112221222122111221221211121222121221212122221211221111222111112212211211222221122211222122221112212122111212122221111221111221211212121211211221122112221212212112221222222212221111222222121212211211212122221122222211111122221212212111122111211212221111121122212211112112112122212111221112112112211112121221222222112221111222111222122112211122112122211221121111112122221112222122211122122212112211211121221122121122121221222111211212222112211112112111121112122221222212212122212111221121122221111221212222222112212211111221222112112112112121112212221111112121212211112212122222222122221211112112221112112222212122222221221221121111111111122221121112112222221111122112211111211222112222112221211121111222212121211111212112111121222212222211211112221111222221121211222111111221212221111111111221212112122212211112222221112221221211221211222211211211122121222122122211111121121221221111222122221121111221111122122212222212221121221211211112221121122222211121121221121122111122212222112212211212111111222211222211211212211122122222112121221211122211121121121111111121111221122112121122221221221111112112222211111122221212221222212112121211222111122111112222111211212212221211122122212212122211222211212211121122112112221112122211222211121121112111122111222111121111121222212211122111212111122112111221112122112121211211221111121111211222221222222112122222222112222121121111121212112211221211221112111111112111122121121222221221211221222112111221121211212212111111222211222211112112112122112211221221212222122121221112122122122121111212122221221212221222122122211121121211211121121212211121212112111212212122112222112111222121112122211112122122222112222222211122211111122121211212112122112121212221112122112211211212111111121221112222221121111211112212221212122222211222112212112122212112222121211211211221111212222122111121122212222111221122121121211111222221111121112122211211121121211111121112112111222121121211121222212211212221121111111122212121211212112222111221122112112211111111211111121111212211212211221211111122222211211222121111211221121212212122222212112221211112112211222211221211222221111211122122111222211122212121112222222212111212112222111121111111221122212221212121122121122112122112112212112122222212222212221111222212211112111121221212122211112112112221221221222212112121221212112211222122222122221222222122122222111211212212212122211122121121122222222122211112222211121211112112221122122112122121122222122221212211221212212212221122121222111212211112211222222111222121211111222121221221212122122122212222122211122221122212112222112121111111221211112212112222112222221112111221222222111122222211221121121212221221111211112111212222121211211121111111121212211122111211221112121222112121112222121111111222211121121111121111221112211111122121212111222221111221212122212111121122122212121221222121122212211211221121111121211221122121111212222122211111211112221111111212222221122211222221121111111221222212212122112212112221121111112212111122211222211221221122112122222121212111222211212211211122212212111222111122221212122121211212122222122122221122121221212112112122121111222121221222112112122212122121212122112111112211112211211122221112111212212222112221122111112111121221111212111212122222122211212222111221111112121211211122222122121221211212222122122111221112211121112211121112122121221211111221122112121221221122112121212212222111121112111121212221221121211211122111221222221222111112112212111211122211211111211121211222212212122222222121112112111111212222222222122121222121212211211122122221211221212211221211212212121122121211212211212211111111121121121122222212212212112221211122211111111221222121222121111121111112121221111212221211212212222212211121212222121211121221212211212212122222122111212212211121221112122221111112222121211122221222122112211211112221222112211212211112111111122122121121222121112222222122212211222222121112211212212222221122212121112121212222121111221212211111122112111122112221212122121221211212112212111122221112122211212122112211121111221221112222211111221222221111112112222212211122112211112221222112111221212111211212211121222112212111222221112122221122112111221212122212121211121112121112222211122211212221112211121222122212222221212211222112221222212211222212122111222121212121111122121221222121122221212111121121121121111211221122111121211121122112221121222212212122121211111221222121221122121211111222212122121222211222121112221122121221211122111211212211212211122222111112122122121221112221112112111211111112122211222211211112212121111111121122112221221221111122111112222122221222111212121211211121111221211221111222111121212212121221222211111121121221112222122122212222211212122122111212211221211221212121111222212111221212121122221111121222212111112121221221121222112221121222121121112212111211122211122122121212122121222121211211221211122211111212222112221111221222112211211111112212121121122121222121121121222222211221112121212212112222212112121212111122221122211112122211111122121122212122111212211211212122112221122222212221121111111122112122111212221121121111211222221211112112122122111222212211121211221111121121212111222211222222111112122112121212222122112221221211212211122122121112121111212221111222112212221221111112221221112212212211222122211111221111112111221111111222222122112121211121121212122222211212222112211112112212111111121111212111122222212221211122222222212212222212212211121211222222111112221222222111122111111222211111121111211111122112112212111221222112211111212211122121121111112122212211111212121211211112112111121212222212211111221112121111122121222111211212221112221221222222222211122212212121212222221121222122212111221121222121111212122122211211211222111221121121221222221221111111122121121211121211212221111222121221111121111212222222211122121112111121221211112121211111212221111221222122222211221221112112221222112212221122221212121222212212111211121221222112111212112112222121222222121211221111112221121111121112122221112222121222112221112112212112121112222212121222211112112212121112122121121211111211221221122212212111221221211121111211211212111121211222221121211222211111122212112222111211112211122122212111112221211121122121111122212121221111222111212211122122121121111211221221211212121111111122111212122212112112121211122121112222122222122212121222211122112221221212222211211121211212121222212121212212221112121122221212112212222112121211221111221212111122122211212112221212112222212212211111111122211111112211212112212122211121222211121121122222222211111222111122221111111112111212221122222211111221121111212111111221212121122211122111212222222121111111112221212211122111121111122212211121112122221121111221212121222222221211121221221122222111212211121222111112111122222122112122211221222122221211122211211111222112111222212212211111112221212122122211122111221122121221112121211111222211211221112122211112211211122112212112212222121122112121222122222111212122121121222111121122221122212211211121211221111112112221212212221121211211112221212121221111221222112122221122111112211211222222122122112211221212121112211112122212122221211211211112222221222222222212211111222111121112121211222111212112221112122111122212121112211122111111121112112212121212211211112221111212222112122211221112221112212212221111221211111112112111212221121222121221212211121211212122122212211112222221111222211121112221121212222111211111222222121212122111111121211112221111111122112121212222212221121211111211121112112112122221122221121221222112221112221121211211221222222221211222121222111222111111211121121111112111121222212212211112112111222121122222121222122111211121221122212222121111211122211121211222212221212222211212212121111122221222212111122211221112212212222121221112112212222212121222121122211221112221111211121221121222221222211211212211122111122112211112121222211122211211212211222211212211221111221211212212111212212222211222212222221212122211211122121112121221212212111112222111221122121221112111112111112122121221121222122112221221122112211221211122122221111212112211112222112111111121122112111211211222112112111211121112122112112221221222222111212121211112112111212212111121211221221111121222212121111122112221121221222111111221222122221111112121221212221211112222122212211122221221112111121121211212111111112211122122221221111211221111122222212121212212212111121111211122221112121111112122122221112112212221212112222211121212222111121112111211111222111122222222111122221112122122221122122122212112221112222212221212221212221222222121122221111222121112122222111221221221111212211121112112122122111121211222211112121222212122111121222112111112121121212211211211222221211221111122112211112221221112221221212122211221222222111122112122212111112221121212122112121211211221221211211121212122212122121112122122212112121212112112122221212122121221221222211212121212112112221122122212211211122212121221211111121122122111122222211111221212112222121211211212111121212221211222222121211222111222221111211111222122121221112112222111122212222111211212221121222211112121221222122122221221222122122221111122122111121221222212111122111211121112111122112121212211111211111111211112122222212222211111121211212111121121222112112111122212122221122121121121221221112221122222212122211111111212212221122111222221221111211212122222111121111111112222121121222112211221211221121211122212211221121112222222212121112111122222111122122111122212122212221112211111211221122112112221121122212211211112111211112122212222112211222211122112111221221121122121221212122111211221112212122112211212111121112212121222221221122122221211112111112212112112221121112111112121221222212221111221122112222212222111122222122112212212212212111121112211221222212122122221211221111222221222221121211112221122221121221122222121211221112211212221222212112112122222222212222121112222211212122121122111111112111222111112111212112121121222221121111221222111221222121121212111211212122122222111212121211221122111222222221111212122222121212211211112121212121221111112111122122121111222221111211222121121111221212122211121211211221211122121221212122221222211222111222111222121212111112111111112121221222222111221122222211122122222121212222111212111211211222112222222112212122122122122222111111121221121221222112122221221212121122211211222111212222222122121221221122221212111212211212222111211221211211111111222122112222221212121222112112222221222222211211111122112112112222211222122212112211122221111222122222112112112112221212122212221112211221112122221212211111111121212222112212111212221112211111221211121121221221122222122111212112212212222121221122112222111122211212112112211122212112222111222112121221212121222122112112212212111122221221112221211221212122222221211211212121212222121121222211222122122122122121222212221112221212112112222211112112122211112221212212121211211222211212112121122221122112212221121212221121112221221122212122122222222111212212212211222121211211112121111221121112212111121112222211212221121122211112211121222221221112112211111211121121221121212222121212121211122222121121212121122122112221111111112212222111121122211111112212222212212121122211212222111211111211112111112122211112222212111221111222112211221112211221212212221212122121212112111121211212211212122112212112121222121121111122212111222212211221122221221121122222111221221222122121122121122222212222122111211121121212112122112112122211122212212122112211212112222112211221112211112212122112222111212111121211221222221111211121121112121211111111112212211221112121111122122211112222122211121222211212222211222122221221212222111221212212222112112211212111212122212211111112111111211211111222122112112221222111212111221211121112211221211221211221121111221211211221111212111222211122122222122121211112121212111122211211222221221212221221211112112111112222212211222112112212121112222122212221111122111121221111212122221211222122122222221121212212122112121121211221212121221211211212211122222112222211221122212211111211211222212212111122221112211222222122111211211111112222212122112221222121122112221222122122122121211112121212211121112211222111211211222211221111212112222112212222221111212212111111212111212211222222221222121221212221221221111122211111212122121222122122222122221112212211122121222112212111212122212212112121221211212111211122121211111122122222211111211212112112111122211221222211111211221112211122222211221211121212111121222212121212221122212212222111121122222111222221211121121222121121222211112211122211112221111112222112111122212221211121122121112211122111221111121112212222222122111211121211221121221221222212111112212211212122111112222111121211112122122222122221221111221111212111212122212111212111111111222111112121221111222221112121122221211211122111111211111112112112221112212211222212212221221122212111221111222111112212112212121111121222222211221121211112211112111112111211121112221221212211121112122212221222121222111122121212211212122112221222122221222212222222121211111222121222211222121211212122222121111221222111111111111112122211211112211121111222212121111111112112211122121111121222221121211112222221211112111121121211221212112212211211211111221121112222111211121222211221212111221211121112121122212221222122221211221212122221212211221222112212111122121111122212121211222211111111222121122211111121212211122212222212122122222212212122111212122111122122122212221111222121221112122212112122221121221111211221212111112221222211122211211221222222212211122222211122122222122121112212211212121211221222212121211111221111122211212122221211222111222112221112121121212221122111121121121221121112222112112122212211221221122111121212222221212222121111122112212112222212122211111211111121121212211122212212111121111122211112111111211211221111111122111111121222111111122112111222222212112111112212122211221211222212122212112211211112121112212222221221111211222111122221122111122222221212221112211212221111111211212112222122211121121212212212212121221122212111221112111122121221112112111211212221212112222122211222122211112222122121211222212212211112212222122212211112211212221122221212112222121221121111222121121222212111112212211221212212212111112212212121221221221222212122221112221221122121111122122211221211111112222211111212111121211222212221111222121222212122111211122122111211122222221121221211211112211221222212212112212221222221222212222112222222111122211211212122121122211211222211112212222111112111212112112222112212222121222121122111122211121221121121122121222212121121111121121111112111222211212211212221111111212111222122211112222111222212122222221211122222122121121222221121221211121221211212112211221112211222222222211111222221111211221112222112211222122221211222122221122122222111112222122112111221211212111211221122121211122122221211212211121211121212222112122122212112122212121212212211221122122212111212121112122212122122122112221121121222122221222212121122112211212111121211212222121112222212122122221111211122121111122212211212212221211121111122112222122121111121122111211212122211221112222111112221212111212221121212221111221221222212121221122112111211212211112212111121211121211222111122211221222212112222112222122211222221122122112122212222111222212212212121122111112222122222221111211212222111121221122121222111111112112211122212121221112221222122221122212212212221221211212111112222122221212111121121112121121221211111122211212212221122222211121222112112211122212221121111212221111211122111211122122121222222211212221112112111221121212111221121221211121121111211122111212222112211122112211222121211121221221222121111112112111112212222211222122112221122121222112222111122211222211112122211221211111112111122221111111221211121222112122221221111121112211121221122111212211211212221112112111121112112211212111221212122121211211212121222221121212222221221121112212122122122212222112212221221222221121112211221112112212222212111112222112222211112221222112111211121122212112122121212121221212222222221222212211112211121222122121122111111112212121212111212122211221122211111111121221121212212121221122211111121111221111222221211112222111121212212121222122211221111211222211211111122112112111112211122112111111212122121122212212112222222222112111111121221221111111212222112221111122111111222222121121111212211111121211222112212111112122222122221111122222121122111222111112212121211211222222222121111121122122111112121121121111221111121212211212122122222222211122121111111211221122121212212222121221121212221212122222122112112111122222122221112121222121111221212111212211211212112212212111111111212121111212221211111211111111122212111112222212121211222111212122222211121212212221212212211121112121112221212221221112222122121112122122222221122122221121221121121212112112212221122121112112222222122122111121121112112211122112111122222122112112121222222121122111122222112212212211211212122112212211212222221112211121112121122111111111222211122221111121122211112221211121222122211221112212221111211211112111122222112112121112211221221121212211212112212211211112222112211211222112211222222221122211121222222121212111121212121212121212121221122211111111222112111112112111122122212211111222122121211112122211212111112112121122221222111122221121121122112212112121212222221211112112121111221211122222111222121112211221121121121222112221121112221111211221122112211212222121221212121211222112211121212221111111111221112112221121121222212121222221212211111222112222112212122222212111221112121212212212212211121212111121221111111212211111112122211111221221222211121112212222221222212122222211122212121212121221111122111212221121121111211211211111121121112121111221121212122212111222221222222222121112122212111121211122111221112222111121112112121212112212222111222111211211212221122112121212122211221212221212221211121112211122211122122222212211112211121122112222121121112221121111122112112111122112121111222112222212212121212112122221111111221221222111121222212121222111122221212121222211212211121221211121221111112122122122211221111111221221222121221211111222122212212121212121111112212111112111222221111211111222222111212111121112222212222112222212111222221112111121111222121122222121121212121111112112112222212121221122222122122221122122212212221112112222211211121222211221211212221221221121112222211111222222112212211112212111121211222111211112221211111122221112112211212221112121212122122122121111122111211111122222211112112111112221211221112122211221221112122221211211222221122111212211211111121112111122112222221121211212222211112212212221221112211121122221111121222221212221212121112111112221221222112112122222211221112121222221222122221122122222212222121221122111122211211212112111211222212122112112122222211212112111222121212111221221121211121221122112211222221122111121112221211112112121221111122212221112222222111212121212121211212112112212122211212121121221112111221121221221212211111122212211222112122221212111221211121222222112222211121211211121222121211122212212122121121212222111221121222111111121221221111122111112222122121211211111211112211222222121121112211212211222212212221122112222111121122111211122121122221121112112221111111221221212111212211111222211112111111212222211122221121111111221211111111112121212121221211211112112212111122211121122212122112112122211221212212211121211212221211212211121221222111121112111222222221121121212122221121122222111221211222122212221122221111122212112122121121212221221221222112221112122111112222111111111122222111212111121211222111111212111221212111112212221112222212111121221221212211211222221212122212221212222222221212211212122222112111121112112221212221121221121111222122121212222221221122221112222111111211212111212222112111112122211212221211211112222221221212212112121112211222112121122121211211121112222221222122222111112122221121221112221121111122221122221112121211212121112112111121111122112222111112112121212112211121112212221221112122212212211211212111112221122222122111121122121221211111111212121121221211112112222122121212121211121222111112221111221212221221212112121221121121211222121121111122212112121222221212221121111222122112121211221112222221211211222221222211221111221221212121222222222111112112122122221212122221122112121222211112111222112211211112211111221122222121112212111121211222212221212212221121122221122211212112222111112211212221211221121112221112222112112111212111122222211211112212112122112111112211211111112111111112222222112222112222221112212112211212111112112121221111121111222222111122111211212221222221221221222212212111121222211222212121112122112222112111121222212222121111111211222111222211211111111212111221211121221122121122222221122211221211112112211222122121221222121121122212121121121111122221211221211122111221211112111221122211212122211122112122111111221111111122222222122211121112122222122111111122122121122111122212122121221211221222212221222112112122211222212222112122211122222211212221211222112221111212112121211112111111112122212222221122212222222121112221222112222211111212221122111212211111212222222211111221211122121222212111112222221222121221111211222211221121212212212211211111112221112121111212212121112112222112222112212212111121212222121222211221222221212212111121112121122211121122212211112211112222221222221111212221212222222221221112111111221112112112222112121211121211111121111222121121122112112221222212122221222111221221122112212212122211122222222212112221211211112122222122111121111212212121111121111211222212211222112211212212212121122122221112222112211112221212121212111112111122221122111211111221112122112121211222211221212221112211221112121222111222122121211121212112212221121122211212112111222222121112111111212221222222111221122111121111121112222111111212221212122211111121112222222211221221212221111222121222222212111212222221111122111211122122122112221222111212222122112111111211212121211121212221112212111211211222111212121122122222222212222122111222121112122212121221121212111112222122211222112222111212222221121112121121221221211221222222221212111112221212211111111222211121121211111122111122211222112112112111112211221222122112122212122121111222212112121121122222212221121221212122222221211121211212112221122112221111212211212111112211111211111111122111122221221211111111222212221221211112112122121122222121221112211222221121212221121221211212111111222222221212111111121111111212121112212112221222212121211211222121122212111111111212112221222112121111111121122221222212122121112111121211111121212112111111112211122122221121211121222111112212211221221112111112211111112121222211211211212222211112222211222122211212222112212211121122221122211122221212222122122222222111111121111111112222221211211122111122122121211121111211121212112112211121212111222212112122221121121221122112122212111211221211122211121212212112222121222221221221211112221212222112222122121122111121111211221122211222212221112221212121111112221121221122211212222211212222122121111112221222212222211222212111222222211212112212112221112221121222211221111122122111111111121221211121121212121222211112122111221121212122111211112221111112211111211122221121212212121222122111111111111222112221212122122221221222111211221122212221221111212212221121111121111212111121121122121122221211221212122221111122121121122111112111122221211111222221222222221121222122211221212111121212211212112112212122112111122212122111111211212121112212221111212121122112222111211222121211122221222121222212211221111122112212122212212221111222111221112121211112222112122111121211112122122222122122112212112211121121211212221122111112222212111222221112212222222122212121121222211122211111211211222211111212222112211212211211122221122111122111122112112211212112221222221221112211111122112222112121212122112121212211112121221112222222122121211112211221111122111121112211112221211222111112222111122212212121121212122222112112111111122121212221211211122222122122122212122221221112121122111212122121212221112122212111221212122221221122121112122112211212121221112221111122221122212111122222121112121112122112121222112211212121222121112222121111122121112212221212112211212112111211222211112222112221212112222112111121222212212112211111121221212221112121112222111212111112221121221122211112211222222112221111112212112212222211221121222121211222121111222222121212112222112221222112212212222111222212112221121121222222122111211122212112211122211211122112112222111212212121112121221211112222221111212112211111122211112222212221111122121121222212112211222212222221211121221211122211112222221111221122212112221122222122222122112221121112222112122211122121112112221221222111222121211211212112212211111222112222221221121222211212121211121221222121211112211111121121112211112222122221111112212111122122211122111112222122212112111211111121212212111111111122121122221112112122221211222222112121212112111111121111121211121222211122112211211211222211121121221222222121112122112111221111112122111212222122122211221121122222111112211212112111211121211121122122111112222111111221112111111211211112212221211111221112212212112112212212121222121112122111111122122112211111122211211121211111111121212221211211211122222111221222111112111222211211222112112212111112111212112221222122111221121211121122121211221221212212222222212112121222212112112212212111122212112212212212211211212221222111211122221212221221112212211221121122121222211111111211111111112221122222222212122122121222111221222122122122121222211222212221112111122121211221222111211222121111212121122211112121111212112122212211112111122222211221122212211111121221112221211212121222211212221221112121211121121112122112221111122212112122111221211111221112222122221212211122221212221121121121122221222111211211112211121222222221211212212211122112111112112121212112221112121221212212211222222111211212211222112212122212212212211122222221122221121121111121121222222121112221221121221112121122111111211112112212222222221211121111222211222121211111122111122221112111121111212211221222122122122122121212121221221121221212111111112212221211211222112222112212212212212212122222212122111212211222211211111121121122221112222211121111221112221222122212122212122212221122211121122122221122121221221112111122211122121121122211121212111221221121222212112212122211212121122212211122211122212222222221221211222112121112121211221222212222121111212111111112222112211212211212211111111222122121211122122121222121212211111122111121211111121112122112221212212111111111121122212212121121212221211212122212211121122222111221222212111211111211221121211121212122221211111221221121121211112221222122111112122221121111122112222211111112111222221212211221112122222212121112222122111121221212111212112212112122111221121112122211212111221222111222112122221121221122212222222212112222211212122111121121111121221222212111121221121211212221112212121121221221122111112111111122112112211122222211111122221212211212222111221112121222112222122122211211212122112221212212222222222212211211111121121122221222222221121212211122212121222111121212211121111212111222111221122221111222212112122211222212111111112111122122222211212221112222221122222111112111111211122122122112221112111111211111111121222212212222111212122221211221212221121122112221211212211111212112211111121212111221112212212222212211212211211221221221222211122212212121221111121212122111222212221121112211212222112111112112121122122122111222122112121211112122211212211221222112212221211122222111112111112121121111121221212222111112221221121221212121111122212222222222221112111111211222111221212221111222121112212211212212122111112122112212111112121222211111221121122221121122121112211211212222121212122212222121121221111121121211211112121112211211112212122111211221121221122121212221221111121122122122222222212212222222212222221222221211112211111222111122121122222111221221212211112222212221222211212221111121122221122222112112222112211222222112222122122112222112212211121212122111212121221221111111211211121211112211222112222122222222112112121122112122222112112111211221121122121122211211221211112121112211212212112122111212121212122211121111111222111111222121222111121122122212221111221211112122222111221122121121122222221222222111222121222112121122111221122121112122211212212221222211121211112222121211112222222111112212212122112121112211112221212121221222221212121212221211221222222111221121122212111222211111112111221221222121221211211112112212211122112111222111122112221112122121221112121211111211121212211122211121222122112122212211211221111111222222222212112212121211211122122122212121211212121211122222112212121221212211112121111212121122111211122222212212221211122221122112112221212211212121122221122112122221211221111122221212221111111122111112112111222121111122112222121111121222111112222211111221221221122211111121211221221121112222122112221222111212122222211121121211122121212212121211222222222222212122111222111112122111112122112122121112221211121211211212212112222122122112212122211211122121122221111111222221211122222222122211112121221112111211121111122221112122111211212112121121212211122211211111112111122211221112221212122121222121212212121112211212221222221111111112222111111211121211221121221222222211112112121222212222211112122222112112112211212122221121211221222212121211122212211111211112111112212222221222221222122122221221122211211221212221212122211122211222221122211222221221122122122212212222111121112212211211212222121122221211222211212112211212222112112111211111121221111212112211111221222212222222211112122122111121122222121122221122122121212212122121221111222122222212112221222112121222121212212122122212212111111222111222121221122121122221212211112121122112221111212122211212211211211111121221111122222221212221222111112212122221212222211112121211121111222111112221221212122212221212211222222211221112122111222121121221121222221111222122121121221112112221111211212122211211111121121211121111111111221111122212112212211121121222212221121211211111222211122222111211111212211221211221112112122111212111211112112121111211221111122112212211112222111122122222211112111221222112222211121122221211212121112111112212122222111212112111221211222212212112121112211222221221222112222122122122222122212222122121121112211222222222112122121222221211112122212211212221112211222211222122221222122222212211212111212222112222211222221221121112122222222121121221111212222121221121111122122212112211222121121111212122221211222111112122212111121212121222212111121112121121112211112122212121111122222222122222111212121221122212111121212211212221221112222121222222221222122111211212222112121112112112221121222211111212112212111222212212211221211212121112212212221111121222111112222212111221211221121211221112211111211111111121111221212112222122122221211111211121212221122212222212222221122112211211221212221122212111211212122211222111211112112112112112211112112212122211221221111112211122222111211221111111111122221122121221122121212222111111212211112122222111111111222121211111211211122211111122121211122221122122121122222122111222221222222121222211112112211211122121112212121222222221112121212111111121211212122111212112122221221112211221122211111122122111121111211111212122222212112122111122121212111112111111121121222212121111112121121112212212121112122221112211222211222112222211121121112212112112212221212212221111211111222121111222122222111211212221221122211212212212112112221221111222222111222212222121211112221122121211122122212211121122212112122111121212222212111221211121122111211122221212211221121111121111111212211112121221121111211211121212221112121222121222111222212122121122222221112111121212112122222121112111221111112221222212111212111112222112211211222222111211112221211122221122111111222221212121221222111212222111222211112222222211211221221221122221111112111222222111212212211222212212211222122122111112121112122221122211121112221211121111121111211222111112211222112111212122111212122211211122112112222211111122222221222121222121111111221112212222222112212121112112111122122121211222122222211211222112222222211211121222222121112212211221122121112222122212221211121111122112122122211212112112112222211122222112221211111221222212122122121211212121211211222211221211221222122121222211221112222122222112121212112122222112211112211122111122122122221112121212121112221122222111121111122111121222121112211222221112111111122221121122222211122111212211212212121222212221111112111111211121222212212212111112212211221212212211222111222212112212112121112211222112111122112122222121122112222111121122222122112222111222112222121121112222121111122112112211222222211111212221221222111112112112122122121211221222221212212211221211111112222112221222111222121211211112211212111121121211222121112111121212212122222211211212212222222222212222212121222122212111112112112112211211112211111211211211111112122211222221211222221112222111221212212222212112222112122122121212212111212211121111211221211211121122221211121112121112221211122112221212211222222211222212112211221222111111212221211122122212111212221222121111121121212122121212111111221121122212112221111212212112122211221212121222221122222112211222222122211111122212112212221221222111122122112222212211122121112122222222222221121222111212112122122221112112212221222211122112222121222222212121211121121222212121122211122111222211212112112122112122212221212221111221222111112111222122122212211211211211111221222222121121221212211211221122212122112222112211122211122122111211121211112122111212122221121111211122111222121121122211221211111112212212222222121221112112121221221222122221111112111211212112212211112112121222122211222112112112211111112122221112111222112211222222211122222221121222211121221221222122121221111121222212222211111122211221111222222112211121222211221121212222122222112211221212212222211221121111111222212221121222212121121211111221121122111222121111111211222211122122112212112212212122122221211112121122212112112211121111212211112111212122211221122211222222211222221212222212221111122221221122222212212222222211221112221111112212112221111211122112121212122121112211212122112122121221222211122211121121221211112122121111121121122222222221111122121211121221211211112211222111121212212111221111111212222222121122221212211111221212211111112121112221111121121212222222212222122111112222121111122112212212212211221211222211121211221121122222122111121212211111222221212222212112222221222111212222221122222211211212121222221212212122121222221122122111122221222122111122112211122222211111212122222122122211111222221111221122221112121122111222221112221111122122212112111112222212222212222222122212212222111212211222112111212221112122212122112112212112121212112122121222112221122222111212221222112222212212111212212122221212221121211212122122211212222122212222211211221121212122222211122111221111211111122121112111221222111121122121112121121112111221121221211121211122122212121122122111121212221222112112221122112211222121222111212111112211212112112221211122121111122221221122121212212112212121212221121211211222212121222112111222212122221212211212112221222211212121212122211121112221121211221212112121121221111211222222111122122111111221212112221212222121111211222212121122121121111222111211121121211222212212121121111111212212222211211222221212211121222221111212221122111211112112121222111221122122222211222221211122221211112121221112212212221211221122211122211111221121221221212122121221112222111111112122122112122222222211112121112212121222121211121221122222222221221211122221122112212111112222211121221222122111221221122122221121222222111221112222112211221212212222112222112111221122112111121112112222211211211112121122122121122122112121222111121221112121212111212122122222221112111222121212121221222222112121121221121111222112212222212222211111221121122221212121111122111222211211121112121122121122122212122221112122112111111121112111122222212222112122122222221111122112222222111112222222222212111222111221221112112221122121221121111121212211222111222122121121221222212212122211211111121122112112222221221212222112221121112111222222112121112212121112122212112112211211111211222111111212222122111122122221211112222121121121112112112121121121222212221221112212121212211111121121212122222121111222221221211211212111211211122111221122111211112211212212112121122122211211211212211211121122222211122111111222212121111121211212221222212211221122111222121112222212122121122121211112211111222222211111121121121122122212111222212122121212112122211211111122112212222222222211112121212111211222111222221221212221221221211222221221212221212111112122221122222222221121111122112212222112122121112211222121112212222111122212211121221111121121121122221211112121212221221112121212121111122122222111121211211112221221212121121122222112111121212122111211121211222211122212211111211221111121112221211121122121112212222111121221111112211211222211111122122212212211211111111212111122121222211212211121212221122121212112211121121221211121121111111221212111122222221222122121112221121121122211121221212111221122222221221222111222112212221211212222121121212221211222222212111112121211222221221211221122222212221112212122222222211221111211112222211211212121112221112122112212212211222212222221111211121211111122212112222211112211122121121111111122212211221122121122111221112111221221222221212222121121212121222112211212112112222222221211111111222211221121222112221112121221211112222211212111222221211222211111211111112222112111111122222112121212112121112122212211222112122222221212211112111211211121222122111222212122121122112112111221221111222112212221222212122221122211111222122222211222122112222222212212121121211121111112211111221221221212222212222222122212112121221121222111212112221222121112221111221111121111122112121111121111122221122122121111112122121111112111212211111222121212212122111211122121122121222221122111212121212121212221111212222222121221122112122212222111212212212221221111212122222211122221121221222121222211221222221222212122122222222222212121112111211111211212221122222112211112111211112112112112122212221121122222211221211111112221221211212222111111211211112121212212222212222221222211221122211212112111221212212111212121212112111122121121212112121221212221111211121121111212121121121221212221211222211221221222111112211211112121211221221211122122122212111111221112122111112112221122222112211211221122211222211111111121221212221122111121122121212121121122211121211121212222111111112211112212111222211122221212121112211112122221222222112112122122211212221111222221122112221112121221212121211111212112112122122111212221212221111112222112212221112121112222111121121222122221222122221111212111111121112112122212111121221221111122111212112212122121222211111221222122212222222112111221122121212112212221122211121112122211222212111121221121222112122211122112111212211211111121211212121121211222222211221121211122211222112122221212212221112122211121212112121212212211221122221111221222211222122222221221221111222211222122111211112222112111121122212211211121111112221211122221212212122211121112112222112221111112221112221212112222212222122122121112211121111121121111211111211221221221212212111122112112211112111121111211212111212122111112221222121222222221111112122211122112212221121121221221112212121222121221211122112211221221212212221212122111222112221211211222222222122222112222211221122121222222221121111222222112122112121212122212121211111121122121122222212211122112121111121122222211221211221111122121211121122222111212212221121212112111221222212111122112222122222221221222112212212112122212122212221221122212221212111122111211121122211211121112221122121121222222112212122222221211121212111111221221121112211212211211212122122211222221121121121112222111122121212222111212212111111212122211222212221121222222111212221222222121111211211111122221212211112111111111112111222122122112211211122112211121121221221112112212211221111122111122221221212111222111121221111211222121212212122222112121111111211221222211111222122121212221212221221122222122211222112221212112122222221222122212112121121211222111221112122121221222122212212211221111222221212211121211112211111112212211121112221211211222211221221211222212122212111121122211222112112121112222221112122222212211211111212122121221112112111212111222111212211111212212211111121221121121122221112211212221221111212212121121111122112112121221111211221211211221112221122212222221121222111221212112211222211222111112222121111221112211111111121212111111112111112221211212111112121222111121112121222111121112212222212112121221212212112221212211222221121121211212222122211222111222122112112211121212111122221122112212121121211211121221222122111112111122111222111121121112212111122121211112112121222222212212221221222111121112112211112112121221121122122122222111122221111222121221121221122221122211121212211122121212211111121122212221222212211121211111212211212211221121111211111221111121122122122212112122222122222212212212111222122211211221112221112121222222122211212212221221122211112222122221122222212112221112112221121221221221212111121112222221212211112222221121222122211112121212222121122211121111222122222111112212212212111111122222122212121222112112112222112222111121212222111122121122121122121112222122121221221222221221111221112121222212222121211121111212212222121212121211221222112222122212221212221222222221121121112211212222211122222112122221112211211122211212221222121111221112122122112221221122112211221111212222111212221121121121212121111221121222212212122221122211111122221211221112112122212122121211112111121211122211111122111222122112111222111121221212121112112111122222112112211222221112211121121212212112211121211212211211112112112112122121211212111122122112222211212111211211222221222221111121122212222112212121111122222222112222121111122212212212221212222111121222211221122121211222221212211122221112211111212111222121222211211211222111112122121212112122221121222121211221112112221211212221211111112222122222221222221221211211122122111212211111221221121222122211122121222222211111222121122221221221121121212112211211212222111221212121122121222111222122121121212112221112122111112221112121222111221112112111112122212111221222222222122112121221221112221122112221222122221112111211211211211111212112112211121211211121112222111211222122212112112212221212221212122112222122111221122121112112211222212111111122112212211122221121211221211211212111211211112112111212121222211211111121112122221122221112221122211221121112121111211211222212222222112121112211122212112212212111121122112221112112111212211212121221121112222212122111211222211222221222212222121221211212122112222212112222121222222121222112211222122111112121112111122211121211112211112111121212221211112111222111222122121121122221211211112222212221111122212211122222112121111122212222212112221112122212111222122121112112111111221211211221112121212111212112211211122122221111212111121222122211222111122212212121221222111211221211122222211122122221211211111222222112122121212212111111211222222112222122211111222211211221122122212121212211111212111212221212212211222122112112222122211222221111121112112112222122112112212121211112121121211222122112121212212111212221212212112212222211211211112122211121211211212221111212111211111122121221212122112222111211122111211221222222122122121122121111212221211221212211121211212112211112222121121111212222211212211122122122112212222212212212112211222121112112121112112111221121212211212222122222212112112222222221111221222211212122111212222121222222221212122221121112211211111112121111222121212121111121222211122211112112221221221221212121112222211121122122222112222222111122221211211222122221121221222221111121112111122112111221212112122111212212222122122112221211122121122211211211111211122112222221222221111112222212222221112112121222112222121221221112112221212111121211112121122121221222122212221121211222211222211211122211112222111212112221222221222222112212112112111111112211121111221222221112221121121212121111112111211222222221222212112111221112112222211222122212121111112122112121122121111212112212121121222111121221222211211122211112211221222121222211122121111111121122121121111221121122121122211222221222221111212122121111221211121212111222122211122121111211122222221111111111221122221121212111222111221112211212112221211121122221111122221221222211111112212221212111222121111222222212112211211111222121212112212222112222212222221112111222121121121122121122212122222222121221222211122222222111121222222122211121212212222212121221121112122111112211212222212111221212112221222111222111121222112111111122112122112121222111111121122122121211222112221212121222122222121221212121211122121222212122212122212211112112111211112212112122121122112211221122122111112122112112122122112222111211222222221122211122112112222112121211112211111112222112212122121111221121121221121121122111212222222222112212211111121121222211221222121222212221221221122211121111122211122222122112221222122221221112111212122112221212212122121222121212121221212221222121121212222212111222112221112121222121112211212212212112122222221112121112221111222221122222212212222221222211222212211111222121112112211112212222212122211122221221221121222121212211111121111211212112122112122112211211122111211212122212122122111222222211211122121121211211212211222222112112111112122222111222112212121212121222221211121112222112121211122211112112122122111221112122111211121111211121212211212112221212212121111122122221112221221122222121112122121222221222122111111221122222221122121111211221221221122221111222222221212121221112212221211211222221121122112211211221122212211122221221211221211122212111221211121222121111121121211111221111112112112211121112121212211221111211112222221212211112211221221122211222211211112221121121222112121222121221121121121111122222122222121112112222222221112111112112121122212212121211111221121121122212212212222122111121212222121111112222222121212112211211212111221122111121211121212221222111111221112212111211221121121211211222222122221112212211122211121222121212221221112112111112221121211222121222212221211111222121112222212121212111121121221122222121121121211111212112222211111122121211121121222221122221122111121221211121212212111111121112211212122222112212221121222112111122121221111121222222212112112222111222222222212222222221112221112121121121111211212212222222211121212211222211111112112122111122112122212121222221221111211111211211112122122211121122121112222112212222222111211122222211121122111121122122211111212211111111211122222111111122221211122111221221122211122212211222221212221112122111211122111222112211112112221212112211112112122121111222112221112111122121112212221222221212212221211212121211212112112212212212111121122212211121111121212122222121122221121222211121212211221211222221121111112211111112222112221212222112221122121111112212221112211221112111111221211112122211122121112121222211122221112111111111211112121211112222122122212111212122211211121122112121112212111111212122212112212222112111112212112222222122112111211222122112211112212221121121221222112211211111221211112211112122111122111212112112212112111221211211212121121121212222111121211112122121111122212112221111121122111212121222122221211122221221211122222212222212121221111222122222222221112112111221121222222222112222121212111121221122112111222212122221212211121222221122121221222111212111221211221221211212221212121212112111111222111111112121221212211211112222112212112111121211122212212111122222211112212111112111212221121211212121211222221122112212222121111212122212212221212121211222222212222221112222222221211222112112222121222222112112211121221111212122122212212222112212111112222221212211112122211211211122112221221122122212212111121212121212212221111111121111122222212112111221212221221112112221221221211121111212211221112222121122111121221122121112212111122221122211112211111221111122212121111212111211112122221221221112222222111122222121122122221221121212221222122211112121221111211111122211121122211211111111222222211211221221221122221211121122112222222121112112221111221212111222122211222112111222112121221221221212211121212221122111222222222221112211122112111211212121112211112221221122221112222111111211211121122122111212112122122212212111112222121121221211121221211122222211122221222212221112122221211122221121212121212121222211121221122111122221211212122222221212122121112222221212121222221212222111221212222212221122112111221111211111222112212221212121221212222122222211211122212222122111222122111212122211211221112222221211222122121122221221111222211122222211212212221222221111222212111222221221212122112222212111122221221111111211211122121211222222222121222222112222122111211211111222221221122221121122211121212212121122121121122221222122211121211112121221211222222122222212112212222111212122122111111111121121211112122222221222211122222121111211211121222112111122122222121221111112122112221112212112111111211112122112111212222121221222121222112221211121112111212122111111111112111111222222121222111212222212122211122112212122221122122121221211211122222122121112221211122211111112222212121121111112122111211111121221222211112221122212111112212222212211111221112122221111121222112112121121122121211221221121222112121121121112112222122222211211211111112122122121111222121111211122122111121122111212112211111111211121112222212112111121112211111211122112212112211211211212111122122221221211122122111211121211221111212211121222221111221211211222111121121111111211122212222211111221212112211121211111212211222222121112121222221121221221222112212112122212111212212211112111111112212221212122212221111211121122122212111222121122111112222221112221121111112212111221222121122122122122112112211212112111222122112221222222122121121122212112121222111112112121221112111111111211211212122222111121222121212122211122111222221221112212122111212121112121112221222122212221121212211112222222112211212211112212212122221212121111221121122221211222111212222111121112221122221121221112222211212112112222222121222212122211222122112222112211222222121121121122112112212222222112121221121111121222112222212122122212122211112111121222122211121211121122212221212211212211212121212211222221212112112212112111221112212222121211112121211122111212221121212211221122221112122211111212121121111211222111112212111221221212222112121221111222112122112122212111221222122122121221221221122221212212122122221111221111122221122122111211112211112221222122111212222221212212121212122121222211222122121222212121212211121122122121111111222222212211221122222111111122112111222112121222211212221222221221222221211122121112121212121212212222111112122221221211211122211112222122212212112221111122112111112212112222211111212222211112221222111122222222211111221122211111112212222211112212212211121122211221221211211222212222111122222122211121221111211111221111121121211112111211111212221112212122211221212222212211121111112111222111122212212212211122111222122121121211112111121212111111112221222212111112122222111111112112112112222111121111121221112111211221211122121211221112122221212221121122212211212121212222111212221122111121111221121121112112212121122222211112111121122122111122112111212221122121221122122122211221222222121112211221112221122222121221211221211211122211221212221122121221222221121212112222121122112112112211221222212122112211122211121112121212222112212222121122112212111111121122222121222121222122212222212122121112222222112111222212111121221222221121221121112122122122112122121122122212212111122112111222122122212122221212211211111211121122211112212111112211121221111221212211121222112212222122121211121112121222212222111122212222212111121111211212211122121121211112112121112111221211112112122122121112222111112221222122211212111112111111212222221121121111111122121222211122221222211121221111122121211222222211112112222222211212222212221121211122222221122211212122121121222212112112121112212222212112222221111121212221111222212212212122221212221121112221211222112111122212112121122212121111122211211112121221221211221122121111211122222212121121121122212211112212212211112222112211111221112211221221212212111122212221122221222112221111222212221222111122112222221221112212121121222211222121211211211111112212111121222122111221111122221121212112222221211121121112222112112211212122111112122211221112111212122211211122221112211122121122112122211221121221212212112212212221112211222221112222221211211211112211211212122222211112122121122121121222222221211111211221212122221122222121211221121121222121221212111222122222112112122221122111111212122111221222122121121111211111212211111211222111122221112121221211112122121221211112121121212222121121211122121221222221111111222122211212121122212211122212112222121221121212122222211222112112221222111221222212112221222111211121222211112211112221122222122222211212222121221212122122221222222221221221112121222122212211221112222122111122212122112211112112112112221211111211212212212121122111211112111111112222222122112221111112222112121122212121122122112211121212212121211121122121212212121221111221121122111222211121122112221112111211211222121221112111121222211112111212122221112222121212221221211112111212112112112121112222122211111122222111221212121212211212121121212122222212112111212212211111122122111221121112111121121211121212111122221222221111121111212221121111122221222121221112211212112112211221221211121122222121211111112222111122121221121111122212111111122112222212221111221221212111222122212112221112221212212112112121121222212212111122112212112222122112221112112112121221221222222221111211111211221122112222121111222211221122211121122212111122212121212222122111112112212112112222221112222212112122112221222212122121121122211121212111122222211112122111212221121211121111111122121212222211112112111122112112121222121221221222212111112222212221221221111122222222211112221111111222122221122122111211212221212222212221111221212212211111112211111221112222221211121211112122222122122212221211121122222112111212121111112212212122121112121221212211222222222221211122121112212111112222112112122111112212112112221112211111221111221222211221121211112222111111222222121112112212121211221112112222122221121222222212222122212122211212121111221221222222121211212222111222221112222211112212222112212221121222111122212221221112111122122212121112111221221221212112222222111221212121212211212222222212222112112212221112211222212122111211211221112111221111221111211111121221112222111212122122221112222121211111111212221121122222122211111212121122222121112121212211211112111212212111222222211221121122122212212222221121112122222221122111112121111211222211222221212212222212122111112112122121212212111222222211121211212111211121121111212221111211212212121211112122221221222111222222121112111112122112212111211211111222122121211121122222212212212111122122111222122111112221122122111212221111222111121122222212221211112121211111212221221221212211112222221121212211121221112111122112121212212111222122121121112112211212121212221121111122211122121211121221212111121222111221112212111221222212122212212121211111112221222222122122112121211112121121111121221122111212121111221121122211222111121222121212212112121122111112112222121222212221121122211222112212222111222122112111112122121212112111222121111111222111222111222111112212121121212112112222111121212122221211122121221211221222111122221121112111112212121222222122121121112222111211211121112112222211221112122221121211112211221212121111111121212121211111112121212222212122222221212121222121122222111222112121112222121111122221212121121111122212222222112111211122112112111211221212212212221112122212122111111221112211122222211221121211112221212222112111221121121212221211121111221212111122222122221211222112211222212221111122121212111112212112221212121122212221222211212122111212121221211221221211211212221211112112121212222112111221111121122222122211121111112121211121222112111121211221222111211212211111222111211221221221222122212112221222121221211121222111221112122211212112111121221222122222122122222122212222112212121222121212222121112111122111111211111122122111222111112122121121121121111211221212211212211122122222121212212211111112111221221111211212112121212211111122221221122112121111211111112211211122212222112112111222121221221221212111222122112212111212112112111112212211121111112112212212122122121212222121112211221111212222111122121221222221121211211221112222211221222112111222211212112221111112112121111121112122121122211112221222112112212122112122121211221222221122122122211212211222221112122211121121112221112212112122211122211222212111222221222212111222211211121211112112222222222212121111212211122221112222122112111121112122211212221222211112211111211222222121122221221111212122112112221222122121112112222222211111122122221221222222212112212222212222122122221112211122212221212121212222211122211121212222221121112112121122111212122111121112211221212112221221221211111112121222222111211111121112222212221122111122122222221222111112221121212212121121122112211122211121111112221212122112211122122221112121221211111211111221112222121211121211121221122122221121111112112222122112221221222222211212121222222111121111212222112221122111121212111111212221222121121112112112112211222212122111211212112112221122221112112211212111112221121212212121222121122221221112212121211212122212111122222111112211212121112211222211212211222111112112112122211222221121211121222111111112112121211112212111122112222222211212122121112122121222111112212212122211121122212212212221212212221122122222222121212121122221211211121211212211111221112211122121222221221122212122222222212211122222211111122211211221111222211221122222111212212222121222212212111212212111122112212212212221122212212111112111211112221212121111222221122211121111112112121111112121211122112221211121212222112122122221122112111222122222222112111211221222121121121211122121112222122211121122211111122212222221212221111211212111222222111211111121212212122111122121122222211112112122112112121112122111121122121211212121212112221121121222221122211222222212211111122222122212111221211122222121221111211211221211122112212122221121112212111122111211211111111211222122221112112112211211111212112212212211122111121122212221212122111211121121212212111111211212212211211212212111211222221211222222221222122211122211111212221211121211112221122222222121222112121111121212111212121221212121212111121222111112112221211222211122222222111112222121121212212121122212112221212212222122221111122121112121222212121212122112222222112121211221212221112222111121211112112121222122212211212211122212122122111121221112121211112221211122122122222212211221212111111121112112221211212122222122111222111111111122212121221122221122212111222111121112211122121111211211121122122122122222221222221211112111112111122212111211112211122122221212111222221211222221121222212111212221122221211112122221221121112112221221122121221211222212221221122121221211111211111222211221111112212222211211111111111212212222112112122122122112122212122121121222211121111122222212212222211122111121212112211211222211121221222221122121222112212121121112111122222212112122212222112122112222212121112221111122122111122112211122122122111212121122222211221111111211221111212222221222211211211112112212222211221111121112111211121221122111212222121212211212112121122222111122222212111111222121112211121222211211212222121212221121122121122122222221222221111122222222222111121121121121112112111212212111211211111211212112121211211222122122221122222211212122121111221112211212111222121112112111221122112122112112222112212221211111121121112112112112112212222112212212211212111212122221112122222111211221121112111111111211212212121212221111121112112111211221222112122111222122111122222221122211212112212122111111221112112211211111222112211211121122211121121122121221111122112112112222121122112121221121212122111111121211211212122122212111112211222122221111121122222212212112222221222111222122221121222112112112111111222212212221112211212121121122112121111221122121221111221111222122222122121222221112211211222212121222111112111221122121121211222122111211211221122222122111221112122122122112112222112111222211112212121121111211212221211121212122111222122212211212221111222221221122121212111221121222212121211122211221222221222212212122121112111122212121222212211212122112212111222122122221121221222211111121221122211211122112221112222221222112111222122221122222212112211121111212221221211212111222212121222122221111211121112121111121112222222122211211111212212112112111212221112111112122121122121122222221221211122221111111222112221112222111221212212111222222211222221221122221212122111222211211221211212121122211121112212112212222112111121112121121111211111111212221212211221222112212122211112222222122122112112122211122121221212221122212122122221221221212122122111221111222221122111212211211121212122122112221211222112122112122121111121112211112111112222221111211122222112211112121211122222222221222121221122222111222121122221211112122121222121121221112122111211211112211221122221122122112112212111211222111221221211112211112111111111211221212221122221221221111122121112211122222221111211122112121112211121212211212222212211112211111211222212112221221122221112212111211221121222212122111122111111111211212211222122112121111222222112121221122212121122211121112222121112111112122211222111112121121111122222212121121222121221121222122212212112111222122112221112211111112111221111222112111212221212122211222212211222111112121121122222222221121221221121222121222211111121112111112112111111222121121211111112111121222112211121221211111121212212112211122211211122122112111121222212212112211221122211112111111122122211121211122211122122211222111122221211112111221112222112111222221211111212211121221212221112121222221221112221111211121221121212111112121211221221111221111111111111221212112111211212121212121122212111111121112112211222122121122121222111122211212122121112121222121111122222111122211211121121121122222121222212211122122211212111112121222121112211122211221222222111121122121112222211212112221122122222211111212222222122122221112211222221221221222211211221121111221221111221222211221212111121212112121222112222122211221212221212111111122221111122122112221112111121212111121121222212112122221112121211121211122121211122122212211211211121112222112121221122122221221111212112221212221221211222211122211111112111211222212212221212121121221221121221211121222222111212112112122212121121112112112211121111121111122111212121222112211212112112111221122222222121222221122111112221122121112111211222212111121221222221122212211122121122211212121222112111212111122221112211211212112112211221111221222122121122221112111121112121112122122221222221121111221112222112212122122122222221121211221221222222221121221111112211222212121222111122111211111211222121222211221121222212212122222221122122111122221211122111122122111112122121221122221221212121121111212212222221221212122221121221222122121212121212112221122221222222222222211112211112212221112222121212121222121211211122212222221121112212211121212111122112212221211211111212222222112112112222122122122122221111121212212212212111122211111221221212122211222211212211122121112121111112121122211121112211211121222111111222122121222211121122122121221111221212111112221211221121112211121111121211221122221222211222112112221221212121211212111121212211212221122222212122221112111222122222122221121212212121111112222212111211221122122222221211212221112112221122222211211112222211221212222221222121212211122112212221221112111222111111122111112112111122121211222222211112121111222221111221112211111221211212211211111112222221212122211212111212211212112122222222121211211121212211122222122121122211111211121211112221221212122122121112121122211122112111121211221112121122222212111211222111221122111211121222112212122211111121121122122222211112111211222112211111221222212211121211111222121221222221221221211121221211122211212111122121112112221211122221121111222122221211122121222221222221121221121211222122222212221121112111112122111122122122121111112222211121221211211122122222112111111221112222222121121222222222222112222212212212222212121121111122111212112112112211112111112211111221212112112211122112111112111212121111121212212121212211211211111221122221211112221122221112122112122121222211222222212111111222211222111212122222221212121111111211222212121112221221212112221222122212121221212121121111122211122121121112121212121211211121212111121212212211111122112122211211122222212221122221212212222211221112122212221222111221211112111121221221111212212221211112212222222112112111222221212212211211211122112221222121221112111212122121211222111212212121222222121212222111221221221222222211211111211112122212122211111121221222211221212211222211222212222221221222122221221222121222212211122221222111121111222212221121121121211222222212222211222111121121111121221221212111112121121121221121121222112111121222111222121122122222211112111222112211222211112211112121222221112211221122222111112112122222212111112221122222221121211221112221212221211112211112111122122112111112221222121222222222211112211121221121111121222221222211212212112222111121211211122112222111221222212211212122112122111222211221111112122211112221122222222122121212121211222222211122212221211122211221222121111211221222122112111121212222112121221222222212111122212112111221112121222222211221222222111121111222211121222211122122212221212121112112221112112211121122221211211221222211221112111221221111121111221211121222112122122211211112112221222122111221211112212122222221212212222121112221222222211111212221121222111121112121211212212222211112112111222222211222211211122122122121111122221112121111111222122221112122222121121112222221211211221112212112122122111221222111122222212211111122111222212212122211221211121112211222222212111111221112212211122222111211112121222212121211222112211122112221222222122211221111212122221222211222112112222212222222121121221122122222111111212222211112122212111221122211111212121111211111122212212211112221221221212111212212111111121211221112122221212122111221221211121121222122211212122221122121121211221121111111212222211221122221221212112221112121221121211111111122112222212111121211222211212211111211122121121121111122122221211122211112222111211121212111111212211112121212212112122111112221111121111121121221211111221112121122221211112111112122112222111112111112111212111112222121211122221122212111222112122212222211211222111111212122222222212212212211212121211111121121212122222122122221211211111212221222222211222111211211211211111122112111212222211221211112221222211212111111121212112121111212111212111211121111112112212122111212121122122212221111211122121122122111222212121221122212211121212222112221121221221111221212222221112211111121111112121112121211222211111221121222222121121121221122221121211122221111212111212211112211121111122122221222222221212111121121211121112212111222222211122111122121221112122221112212112212212212121222121221111112212121221121121221121122212122121212212121112121221111121221112122122222121122221222222122222112222111122212221121212212122121112211112221211122212112221212212111221121112111212112212222221222112221112222212222212221221222122122121112212112221221111111211121112222111221221211222122122221212121222122112111121111221122212112122212222122211221211121211221112122211122212122222222111212211111122212211212122112221121211211221121222121111121211111212212222222211212122211111122111212122111211221122211111122212212211211221221122111121111211222221221222121212221112212211222221112112211121211221111211111211221221222121211121211121222212222121212212122221121211111212221111122211111121212222121111111212122212211222122221221212112111112121221112121122111211221122212111121122111112111111111122222111111112221112112121211221221112222211112221122222122112112211221122211212122112212112222212212222122222212211111212212111212122111112221212221212221111212122221112211211222211211212112122111222222212121112121212211122111222121212211122212211211121221211111122111211212121212121222122221121222222221122122222222122121122122211121121121122211211112212222122221222111212212112221112221122112222212212212112222221111112221111212212122121211122121121121212212212112111121122121112121221212222112111121211121111221222122222112211222122221211221112122222121111122121212222222221222121112211111121222121211122212121121222222222212212122211111121121111212121112121121222211222212221121111221122121221121122121211122212111122212112212211212122222211122122221112121122221221221111121221122112122111122212121121111121121121121222222221121122122222111221212222111221121211212212111112222222212212211221222222122111211111221121221121221212221122112222111221222121211221212122121111112121121212112212122121221222212122211211211111211221111212112211121222221112112222112221112122222222111121212122211221111122122211122211212212122221211221222222221112111112221212112112212212112112111122211212122212112222122222122111212111121121211111121112211221211221121122211122222111222121222221121121212212221112112222112222122122122111221212111221222122211222122121211222121122221221112112222212212222222121211111122221221222121112211112211122112222111222211222221122112111221122212112222121221222112211121222112222222112122111221211111221122112121221221212222122222222222112211111211222112121221111122112121221121112222111222112222121122222212212212222221222122112212222221122122221122222112112121211212122122222221212212212112222122211122121221222212221211212111122121212212111112121211211222121211111121222112212221112112121111122221121122212221111122221221122121111121221222122111221211121212122122222111211222121122212111212221211122122211221121221222212121121122221211112211211111111221221122121211112212211222211111121222112111211222211111211212212211221221112221112111212112122211221121111111121212212121111212221221122112212121222121222212221112122212122112212112222112122211222122111221211111212112222211212212111112222212212212112121212121212122211222221221221121111121222221221211222121121111122212222222122222222111112222212221122212222121121112212222221112212212112212222112121112212122122212112121122122121111112211121111221112122222212111221112221121221122211122222222122111111211221212222122221222121121211122211222112221112221221221121121211212222221112212112212112122221121222111112122222121121112112122112212211222122121221222122221212122122221111112122221212112112212211212222111121112122211121122221211222122212121212221212122212111112222222111121212212111221222111111222221221111222221111222221111222221212111212222222121121122112222221121222212221112212222212121211222221121122121121111112112221222112112112111112211211112112111222112122221212211222121222212112211212112222112121122121212112211121122122121212121111122212222122121121121112122122222121211121212111112212111121221112221211212112211122121212222212112112222222221211221111121112211222221212111221121111222112121111122112212122211122122211122211212122221222222122111211121122211121121111121212112112111212121121221221121122112112221111212221111121211112222112121212221111112112221121212122211212221212221122122212221112112222211221111211112122211112221211211212112221222111111211222121211221112221212121122111112212112112211212211112211222221112221111112211111111111222211122121221222222222222122211112211211222112222111222122112221212122112222112221121211221212122212211111111121222222211222211112211222122112211221211211212122222122211121122211221221211222222211121212112122121221211221121212211111222222121112111212211221111111112122211122212112111221121111121121122222112212111122122221212211211122212112122212112222122212111121211111221221212111111212122112112112111112211111222112121212112111221212112222111122111121212212221212221221121212112222212121121211211122222122221111121222212211121121121121212111121112212121211212121112221222121211112212222112211211221121222211212221111211121111212112222211121111211121111221112212122122121222112212122211221212122121222212211221211122221111212121211212211221112211111211222111111122112122111221222121112212121221122221212222222212211211122111212211121212121221111222221121111211121222222112121122122112221111111111222212111111221211222211112221211212122122112112111211222212221211212211221122112211111221211221121221221112221211222222122211211111122122222111112221221122111211212111111222111111221212212122112211112122211212211221222111122222211221122122221112222111121221112121122111222112121222222222211122222122211111111122222122121221122121222111212222111122121221212111221221222121111112212211121211122222212222111222122122112222121122212122211211122222111222222222111121211221122121212122211111112212222211121121122111111211222121122211121212112112121121111222222111211122121112121112211212222211111121121112122222221221121122112211122211221111221122222211111222212111122122222112112122112222111122222122111211212221221221221121111121222212222211112111121111122222111112121121122212212122221121212111112112211121111211211222112211112111122111222211111221112212212211221212111112111121111211122121222212122122112121121212121221212222121122211122222112222211211122212111121221111111222222212222122211111112111212221211111122211122222112212221221212111221122221112222112222112222112221121122221211121111222221122112112112122222121211112121211111112211211121121112212111112111212221112122111112212112122121212211122212222212111122222211122222211212122121122121122222122211112121121111122112111122222122121212122221112122222122221122211122111112221121211221122221121111211122222211222111112211221122112111121222221111212122212211122212211112112121111122222221112122121222211221121221221221122211112122112222222111221221122221121221221212121122221222111221121112122211122112122121121212111112111222221222212122221112221221112112221211111211222112122211111121212222211212121111121122121122222222221122111112212221222212222122112111122121122111112222122211222222112222112111212121221212111222111212212122121221211222112211112211222211111221111112212121221212122222222112122221221111111222211221121211112211121221212121112111222221111212122111222211211122222222212211221121112112122112122121122221112111211212222212211211221111221112212122112111211211121222211121112222112122112121111121221111221211212112221211222122112111221211211111112111112111221222121212111222121221111111222121212212112111211121111212121122222211211121221221122111112211112121122222112111221111121122221122121211221111111121122122222211221212211112121221121221212122122211122122111111111222211221221212112212112221211122122112222112111112221112111112111111122211112111111221212211122112121122112121222111212212212112222122112221121221212112122221112122211221121222111112221122222212222221212212122211111212121222221222211111212112221122222121211122111121212222211121222211111222212221111111212212222212111122121111111222221221212112211221121222222212211211112111222222221122221112111221111222212211222121212221212221221222122112112221222221112222222212111112111111121212211211212112211222222212111222211222212121111222112111121111122221221121221122212222222222112211221222222121222121112211121212111221211112122122112111211222221111221122212122211112221112122212112122211122111121221212222121211211122211122111212111221211111111111222222212221212112221121221111112212221211111211111121112212111122112111222112112111111222221122122121222221121122112122121221121211212222112221222221211212121222112212121121122121211112112112121112212121222121211222212121111222121222122112112221112222221122111222122221212212121222211121211122111112122122122212112211122111121221121211121121122111212222112211121221121212211211222211112222212222121222121222111211221212121222112121121212221112212112222222112221121212222111111212121221212122211212221212221121211211211112112111112212112211121221121111221211121221121212121112221122221211212211212222112121211222221221121211122221212222121222122112222122211212112112111112111111212221221212112212121121111122212212221112111221121122222111112221122212221222211211111111111111222121211122111212112212122122112221222212111111221212121111111221211212122112121211122112122221111212112112221122221112121121211112121122221122112211112122111121211212111222211221222222122211221221211222211122121112111112112212211211212222122112122221211112211122222222221222112222112212222121222111212212111112111112111111212221222211111211111111212112121121121222221221121211222211211211211112211112212111121221211211111111212221112122211212211211112121121212121121221122221222122212122221212222221121111112122221122111222122222111122112111221222212222212221211212221222222122211212222211222221211121221222222211221211221112112221222221112221122111212221121122221112211211111222212121112211212121212122121222122212111212122211221221111212111111111211122221111111222121211112112121111122211221112112212122111212212222112111111212222112211221221212122121211111111221112211112112112221111122211221212121212222111211122211121122111122212112112112122212211211111211221111121121111222111222112221221211112121221111211112121111122221221121111111112121121112222212111122111112112112221112112112111122211121211121111121222111222221111112111122211212121211222221122221211222222111112122211112112112121212222212121222121211122112122111121221211221122122112212121122121122221212111211212221121221222211221211211211222221121111111221222121221112222222112211211212222221221222222111221112122221121211222221121122212222211211221211122212111222112212211111211211121221212111111212221221122112112212222221222122222221221112222212222112112212212211122212221221212111212221121211121111111122211221221111221211111222121121221212121211212121112122112111122121211212222112122221222221121221221121122222121112222121112112222212222121211111211122122222122122112121222222122121111221222112212121222121211211111211212111211111212211211221121112122211111112111121111211122221122112222111221122221111121121222222122222211122211221212111111121212222121111222222221211111121112112111111112212211222111112222211122212211112122222212222112221111122222112122112122221122111112222222122211122112211112222121211111111222212112212221212211122222121121111221111222111212212222211222121121212122122222121111111222221112222121212212211111222211122122112112212112111122221121111212121212221112212121221122121221212212121112121111212221121122122222111121121221222212122121121212212222222222122112122222221222122112121222121212122212112112212211111121112112111211221122111121212212211211221112111121212212122211111211212112121222212212112111122222222212221212121212221222221211122122111212111122121221112221122212112111212222121112121111112122111121121112222221111112112111221122112211121111112221111121121222111112111221212111112222221221212122221111121212111212212221122112122211121111221211211221221211211111122222221122111111111221212221121121121112112121111221121111211121211222212111212212222221222222111111112111121222221212122121211121211221212212221121211111122212121111112221222111112111121112212211222212222221112111111212221112221111112211111111121122221111122212112121212212222122121212121121111111222221211211121222122212212122121222212222221111211121212121212212122211112212122122212122112111111111122211122111211122121121221111121212211221211221212111211211222121221121221122121121111211112112111111121121221112222212212222111211222221222111222211212221222122111112112212112221222212211222222222121222121222121212112211122212112212121121122121121122212112111122211211111112221221211121221222222121211212221221111221212221121121212121222112111111111222221221112212121112221111112222112212112112211111222212212222111212121122122121112111212222211111111221212222121111211111221122221221211221211222121222211211121222111121221121211211221111222111221112111221212222111112121121221122212212111112211122222221111222211122212221111221121212221122122222121111111222121112222221121222222221111222111111211121121121111222121221221211111111112212122122122111122111222212211111121112112112212221121121212122121222212111221111121212222221112122112112221111211112121121212121221121111221121112212222112222112112222212112121122122212212211122211112211112222121211221111221212222112121122211112211122221111212111221212222221112122211111122111211112112112212222112211111212112211211122222122122211212222122221111222111121122221112121212111111122212212221212121222111111122222221222112122211221122111221211111122122221211111221111121111221122221221111122212212111111111211211122211222211222212122112111211112111212221221122122122112222122222112122221222121212121111121222212222122111211221221122112222111221112222122211221212121112222111212222121221221111122111221212122111121112111111112111111112222211122211212111111112122122222212222121222112211111211111121221122112212112111211111122222212222122121212122212121112111121212212222222122212222221112121111122212212121112221221211121122211121111122112121221111122122122211122112222212112121211122212212222221112121222211122112122111222222212121111112221112112211121111121221211112221212122121222222122112222222111122112122112112111212121121211121211211212212222221222212121121212221112121222121111122221222222221122111212221122121121222121111121121211111121112211212212222212112112222112121112121211222112111111121112122211112112111221212221112112112121121211222212121112122221122122222221122112211121221222112122221112121111211112122122121122222111211111212121221221211112212222211112211212122222222112221111212211122221121111211122211221111122222222111121212222221122122212211222212122211122121121221121212211212222221211222121222111112211212112111112111112212212212222211112122112221221222122122121121121212211221112212221112121112211121211111211112222221222111221111221122111112221111111211212121221222122112211221221111121121222222221122221211111111112122212121111112112221112222221112121111211112122222111212121111212222122221222111222111212111111121111221111222221221111211211212122111212112122221212122112211211122222121211111212221121211222121222112112212212111221221121211221111111122222221112121222212111122211211122212222112122221122121112221112111121211211211112122211212211122112111111121112121221121122111111212222111112122111222122222112221121111122211211211212211211111221212121211221121222121121111221111121111211111112122112211112111222211121211221121221212111121221221221121112111121122121122221222221112122112112222222121212112112212222122211121112111111111121222211112121112112122212211211222111122222211221121212211111121222112111211221222211121222212212212211122221211111221211121222212112221112221222211121111112122121111122221211221212212221122121121211112212122222222211222122222222122222222122122122121122222112111122212221212111222121112121211121111122122211121121121222212122111221222222211221121122111222112121212211121111212222211211111211211121112121122222222112111122221211212121221222221122111122211212211221122112211111212212111112112212122121111212212122221221221212211112221222121212111121112122111121221211111111222121221111211112121122111222112121112211222212121222122111211212211111112121112221212222211222221121122112121222211121211112112121121112222211211122112111212222121122121211122122211122212221112112122122111112212212212222112121122221212212122111221211111122211222211111111221222121222112222222222111111121211221121212111221111221122111121221112212122122112121221111122112222122212122211121111211112111121121212221111122112221212122111121121211211222212222222221221121211121111222112221122222122212122111222222122122212111121212122212211211112211221112111111211221121212211112112222122121112221212111121122121221121122222221121112122121221222211122112222111121211222111111111211112112211222112211112112212221221211122111111112111221222122111221112212121112212111222212222122122121111121222222222122222112122112211211221221111112211222221111122221212222111221222121112221211121122111121111122112122121222211121112112222222112111221212212212122222122112112122112122221122221111211212122122111222211111111121122122212121211121221222122211122221221122221222222221122211122112221111211212122112112111111122222121221212222212122122112222211221212112212122212221212212122121112222121121222122122121221221211221212112212122221212112111211112212212122211122211111111222221111122112212121122222121122111121221222112211112111212222212211122212221121121122112212222122221222222111111222122211212212121221221212121111222112222212211121121111121121221121122121122212111121112121121212211122222121121222212112211211211111112211211121211222212211212121212111212212111121212212221112221111121211112211222211222122222212122212221221221112121211222222112112212121111211122121221212121111122212221121212222221221211122211221222212121221112112122121122121121221221212212121122211211112122212212121211112211111221212111112121122121112211222222221112212211122121221111122212111221221122211122222211111211222211222221111121222221122222212111222211121122212112122212122111122221112122212211222221221211222221221122211121222211112112111212122212112111222121122211111211212212211221212221121221111212121111222122122111221111111212211221111222111121221111122122121111112121121122212211221222221122222121222122212122121212112212111211211211112212211222111211111121111121211112121212211121121221222122221111212212222212211222211121222221121121222212222112122121111212211121222112121222212111212112221112111121121212221222111212212121112111111211122222211211212112112112211122121212112112221121111121221221221112211111112122222221211222122222112221211211211212221221111112211111212212111111122221121212112221122222211212221211121211211122111212222121112112222221112221111211222111121122211221212121111121212122212121122212121111222121212212211122121112111122221211111222121212221212212122212122112212121112111221111121121122122111122211112121222212211221212122212112222212112122212221222221111221112122221211222211121222211122111211222111212122211222211121111112212111212212111221221221121121212112111111211121111221122221221111221222211222212221221121112211112211211222122212221211122112121111121222221212211122111221212112121211111221211112222222112222122122112112111222222212222111121211222212212221112222121121211112111112212211122221121111212221222121112121111111112121112221111111122111111121211112221111212111211211121212221121222122112111212112222122222221221122212121211212121212222222211222221111222121121121122122212212221111221111221211122212211112222122111222122222121112111122212222212211111211112111111222221222211122212211222121211111111122211111221121212121222121122112222222111222212121122121211222211121111222221222122111111111121221112212212221112221121112211121222111211222111212212112221111211211221221222212221222212121212221221221221112111211222111222221121212122222222211121112221122121222112211112212222211121112211211112212122222222111112222211111222222112121112112121211222221212122112121112122111121222112122221112121222111111222211111211211221222122112222122122211222121211122112212112212222211121121211211122121112122212122212112212111222122122111212211221212111121112112121222221111212212122212111112222111211211222112212211112121112122222121112111111212211221111212211221111211221221111112122111121212211211221112122211122112112222112121212121112212122222112222222111221211211122121112122111212212121112212122121122122111211221121121222221122212221222111122111212111211222222122122121122112211221122212211211212121121111211111222211122112221121222122121221122222122112212121121111211111222211111122122212121212222212211212211112121112212211221222121211121211122122121212221221221112222222222212211122212121112211112211122222121122222221222111221212121121221122121211112221222212111222211121211122222212222211212111111111121111122112121222111121121111222122221121212221212212121121121221221211221121211211122121111212212112221122122222111211212111111222122122112221122212222222222212122211212211122222121221212212122121211112112111111222111212211112111222211111212122212122221121212222122222122121212212211112221112122222221122111221222222122111211221222212211211111222112122211111112111211122211121111212221111122212212222222121111112112221111211212121112112222121212121122221222222111211122222212112222211221121112222121121111221121111121211111121221222221122122111121112121222211212112222221111211112111112211121122222212122211121211122111112222212111211121212211122221121211222112111222111222112112221222211112111121121212121122111111122122212212121122111212112121221111121112122211111112222212221222221221121112121112122222122122222112112121211121122121222121112121211122222222212121122222212212222222122112112112111212112222122112122112122111212221111121211112211112122221122121211112212211211211211111211221121111222112111112212211221111122122122122212221221221212222112211221112221121111121221122221122222112122211211222212221121222111222212121121111112221221121222121222121112122122221212111112121212122112122211221112112112121222112222221112121221222111222211222122121122112212122111222211211222122112222121211212121221212211121122121122222121122221121222122211211212122112221122221112122121212222111112222112121212121122122221222111112212222111112122211121112222212222111112111222111112211112211212222112212222122211222112112121112221112111122222222212112121111122211122121222121112112112221121122222112121221112121112212112211112111122122212212121211111221222122111121122222221121212212221222111111122211122222111122122211222121212112112221112121122211112222122221222212112211221212112121222122121222111122112111211222122212221222111112111111122212121221122111212122122122222121122222211221211111112212122112121222112112121212112121121111122111111121211211211112111211122211222221111212212222112211211222212221222212122121212122122112112221121111222221221121222111212221221222111112122221212111222222111211112222112121212111222211211212211111221211221121222221121221212121211112121212222221122211221211221222222212111221222212211212112221221121212212122122122111111122221112222112211221111222211221212112121212122122121111222121211222122221121211122221211211121121111222211221112112122112211212211222211122222121211122112121111211111212212121112112122112212212121111111211222121211111112211222211212122221121221121221111112122222111212122212212112212222111112212121211221212211211122212212111122112111222121212121122121211122221211122112221212222221211221121122211222122122122211122111211222211221122122111221222222111221121122111111221211122222212211222212111222112221121222121221111111211212112221122112121112122211122111221112111111121122122221211121121211121111221221112122112121122221111111111222111221212212111122121121122122222111221121111122111112221222221122221221211121112112221111222212212121212221222212112121211112211122112122212112112122221112112121122121112221212122212111212121122111121212112222111112221111112211222122212222112212112222122221221121222122112221111112212122211121221111121111121111221112122111121221221121122212211111112111222212222121221221111221212121221122111212121211211222211211112112122112121112212211222212211211112212112111122221211221111222112211222112222121222122212211221211221122112121222111211222112111111222222212211211111221122121121122221212122212212112211122111122222111222121221212221121121212112121121221111121222211211212111211222111221221211211212111111212122122211211221122121111122222111221212222211211112122112221111211121112112121211221122222111221212122221121111222212122121112122121111222112122111211111221122211212212121211212222122211212212221222122121221112222212112121211111121221222212111221212222112122211222111112111221111122112122121212211221121212122122121212122211211222211221122121211211212111212211111221221221211211222221221211221212212112112211221212122222222111221212212111111212112111121221112111222112121221111212122122121122122211122212122211122122222212121212111221122222121221212111222221111111112111222121222211121121211112111111221122121221222121221211221221121111221111111221221112222122121221212211122221122122211121221222221112221121222211111221122222212122122212222212221122222111121122112121211122221122121222211221212122222211212122112121122221111221221112222122221211221121121121212112121221111211122121211221122211212121112122212111122111222111112222212221222112111212222211112122221221211122211112122121211121221221212221122111121222122211212122211222121212222221112122122212211111112121222221211212111221112111212112122211112111212112211111222212122122221212111121121121222221222212121222111211112222122112222121111221222212211121122112211212122112121221112112211112211122221112111111221121112222222211112111121211212112111212212121112112221111111212212221212122222122221122111122111222221122111211112121222221111222121211111121211111222112122212121111211121122111122212122112121221221222111122121222211211122211211221112222221112211111222112222221121121212121121212212122212121121221121222222222122122121212112211211211211111121111121222222122222121122112221121211121212211211112112211112212112122211111112222222221122112211112121211121221212212112221212121111222111212212122111222211111121221112212211111111122221211122212211112111112112211221212111221121122222221122222111212112212112212211122221122122212112121221121121111111212221212111221122121112212111122211221211112211122221222111222211121121221111111112111112212221211212212211122222121111122122111211211112211221212212121212111212121211222121111112212121111121222122111122221122221111122122221212211221122122112222122212122222111111212212111121221222221112221112212211121222112211222212211112211212221222111212111221222222211212121222112222122122111212211221122112212222112212111121111212122112112211222222111121122211121112121112211122211111112112122222122221111211221211221121221222221122121121121122121221122211112122221212212222211221221211222222211212111212211211221112222122212121211222211122112121122111211112211112112111211122122211212222211221122111212212112212111112121121222212221121122121211221221221121212221211222112122111221212122112211221121212221212211111121121122112221112121122211222221212122222212111211221112121212212211122121121221222212221112221111111121112122112111221212122122212122211122111121212222221111222121112222221212211211211211221221121112121111212121212211112211211211122122221111212111122112111222112222222122121112112121122222222222112111112221111222221222111211122222212111221222211111212222122112212212122221222111212212222111121111112222111222111222211211211221122112211112112111222212122121211122221112122211212222212212221112222112221111122122122121222122122222121122212121111212221112212111112221221221112111221221221112111111211121112111122212211221122112121212212112122221111211121221212212122211212121121111222122111112112212112122221211211111112222111221121121221112221112211221211111121121221212111122121121212211112222222112111121221212212211222212221111222211112212211222122212111111211112212221122111211211211212221112222211211212212222121121121212212112211122122122112111121112221112111221112121212212222222222212211221112111212212111121212211121121222121112221221121111221221112112212221122222111122121121112111222212121121112222211111211221122222122111222122112121122212222212122122111111122122112212121221122112211212212221112211122221112222211222221222121122122222111222112112121112222121221211122212221112221221211112221122211212122112212212111212112122222211121121121121211212111222211111122212221211221111211122212121111122211222211111112122212222112121121212121212221112212212111112211211212112112212212212111122212211212222112112111212222112111121212212122211211212211122121211112121211221122122121211111122112212212211221112112121211211211221211122122112121122111211212211221111222211111222111221111122111221212111211212221121112111112112112122222222221221212111121111122121212111112112112211212212122121211112212112212112111222211111121122211121111212122221112112221112111212211211122221212212121112212212222222212122111212211212112122221121121111212121121212222221221221121122222211222222221111111121221112212211111221222121111111221222211111212211121121212212222221221212121221122111212111221221212221212112112212211211211111222211221112211211112121121211211221111221221111212211121111121212122222111211112122111121211212221212112211211212212221122111121122112122212122111112122211111222222121111211221112211111111122222111221221222222112211122112211112111111211222211111212111121112222112122111121221221211121211212112122211221111222111222112211212221222122212122121121212212112121211222212122122211212111222121112112112121211221121111121112111121212222212211111212222121211121222211212112121222212121221222221111112222211221122221112222122212122111112211112112221122111221222122112111121111122121211212111111212121212222211121122221221222211222211221121212121222211121211221121112121112222122222121211112112111221121121222211222112221111221212112121211211121121222212222212221221221122112222122112112122112112111121221112222211112222122112212222212122111121111111212211111112211122122112112111221221212112222211122121122121211221121122121222112112121222121112222212222222212112121121222221212221121212112122122111121221121221111221212222112212212211221212221111121222212112212211111222211122121221122122121112122122222211122111111212222122222212121122112111121222221221112111222222211211221121212121112112221112112211222122212111121212112111212111212222112212111212121212111111122112222111221222211212222211222122122112111212212211221122211121121211112221212112111112222112212122112221221111222111111111221211121112222211221121121121221122221121222211122111112122212111121111222222212121222112121121112221121212222111122212122111211121121112221212121112111122112111212121121222112111212221221212112212221112221211222111211122222221112112212212221211222112111212122212121211111121211122112222112222111111211112211112112222221222112111111111212221221122111212221112112111222221222122122222121112212211221121221222221122211121212111112221111121112221221111121221212221212212222112121112221122212112222222221222112212211212221122112211211211212211211212212121221111211221222221111221121121212222121222122111122221221221221222121221221221122221111212112212212221212221121111221112211211112211211112111222112221222111112212122112211112222212212212212122121211121121221111122222222122111211122212112112222221122111222211211221112112121221121211121121121222221112222222111212221122212121222111112121112212112121212112212211112111212222211211122122111222122121112112122121122122111112121111121222111212121111211221211122122121222222121222221221121121122112221211121122221212212121212221221111122111121112221121221122211211211122221112111221111221222121112221122122112211122221121111111121222111111121221211221112111212112122211111122211211121121212221111211211221121221121121222112122221112221211121122122212211212221112122122112111222112112121212212221221222211121122211212111222111221111122112122221221111221221212212122122112122111122221121122222111121111222122222121222211221111222221211222211212121122122211212112222111112111221212222121211212222211212212211222112121122122211211122121112122112122122211221212122221121111111221111221122111221121221121221122221221222212121221121121122122222222222221122111222112222121121212112111122212221122112121211222212121222222122211112211112222112112212222211112212222222121222211111122212121111212111112221121222112211211222112111111211122112122212111112112212211212212112212112212211121211121111121211122122122111111222211221222111212121111111121221222112222212111122221212212211121212222121212221111111111111112121221122121111121221111222211121221221111221112222111122211211112222112222122111111122222221221212122212122121112222211122111222122121112221121221111211111112221111112112122221122111211111211121221112212211122121221211211112222212121211122112112111222221112112122211112112211211222212122221122222222212112121221122111211222121111212122121111212222122222222122112222121221111111222111122121222211122212212222221121212222111222221112112112122222122211112212111211121211221212221121121222121222222212222122112221112222122112212122112221111122212212112111222111122122112111211122111221222122121122112222212221122111121212211211111221212222221222211221211112121121112221112211222222211121111111211212121121112211211122122112121121112121222112111222212111222222221222221122122221222212111112221121111212122112122222112221111122222121112121122211122212222111211122212112222221222121122112122222212211122222122212121122112211211112121221112222221212111121212222222111122221121111222212111121121122121122111111221112211212111122121112112111222111212212122222121112211111122121221121121212222122212211121111222211222211122111111222212111121221112112121212211121211112211122121222121221111122122212111212222122111122222221111112211112111222121222111222121211221121211212122211211122212111212212122222222121222221121221111221112221121122112121112112211111212122112111222111121212111112212122221212222221111212222211111122112121211212212122111211112222121111222112211221222121221111122211221222222221212121122112211112212221111121222221221211222211211221222221211112121211212221211221221221121211221112212112121211112122111111211122111122122111122112211112211121212212211221222112212112211122112211112222212111122222212111221121112222211221212212122221221212112122222222111221122212222111222211222212212222122211211122112211212121221112222112112221221222211122211122122111221111112121112121221212122221121121211221221221222111112212211121122111122222211221212222122112111111112111112122212222222222211121212111122121111212121212111112122111112111122212112211112112221222212112211221212122111112212212121122221222122112112221121211112121222221112112212211211122212221212211211222212112121122122211111222122111111211122121111221121211122122212122212221212121112121112221222211222211111212112122211111121222111112111212122221221212112221112122212122112111111221122211222221221211221122122221222222222221212121121121122211112121211211121211222222212121221221121112122221122112212212122212121222122122211111121222112111122111221212222211222111211111211112212222121121111122122112212221212111211222111111121112111222212111222222212112211121122221212221111221111122112122112212112212121111121112112221222111221121221111211122112112222211211112121122211121221121112222222212111121221121211112211122121121212211111212111112212211122211221111121212222222112221112121212122221211221212212211122112212121212222121122122211112111221221212122111122122122212222212121111112111212112112221211111111112211121211212122112111221121121121112212211111111121112212221222222222111211112211111121212212112112221222122211112221122122121112121112211222222121122122212222111112121121211112112112121212121111211211212211212112111211221111212112111212211121212122121212122121112122122122112211122111121212112122122221212111212121111122121122222121122212112221112112111211222112221121122121111122221221111212212122121212211121111122221212121122222222122111121121212121111212211112211222121111111112121212221112111121222111112112121221122111221221111111211222122112212112222111122211211212222221111222212222121211122122111122222112121221212212222121221221121111222122111212121112221221211121121111111221122221121122211121221121121221212121122221211111212121211211211121121122221221212111211111211222222212221221222212121112122121221221211221222112222112211122221222121212112221111211212112122212112221211112112121212212111122211222211121111211221111212112111222211121222122222221222112122221222211221221222211112221122111222212122111212111111212121121111212212221112221211111111112221221221222111222112121121212121212112121122111221222212122222122212212212121111121212121122211121221212212122111121212122111222222221122122212212211122222111222222212121221222211112122212121212211212212122112122211111221111111211122112122212111211221211122112122121211121122122122212212121222211112211122221111221122211121212122212211211122111122212221112221222111221212122212121122211211222111221222111112221112112121111221111212211222112211112122221212211122122221211211222212122121112222222211211221111111211212211212112212222212221222122112222221121221211211122112222121112111211221122111112212222122121221221112122112121111221111122122222212112222122121221111221222111122121212122111112211221222222221112122222221221221122222111222122211212222222111121122212121111211121121112112222211221112221222222122112122212221111221122221221121111111122112212211211221122111121111221121211211212221212222211112212111112222121212111121211122111221121112222211112111122121222111221212122122211212212112221111221221212111111221211222112221121121122221222211211121122121121122112112111112111112121222211221212111211222221111221212222211222222211211212112221111111221121221111221211212212221222211222112221112212111212112212122221122121111222222211211122211212112221212212221222122222121221111221221121211111122221212222212122211122112111212212222211122211122112122122221212121222212211122112221222212121221211111222121111121122111211121222112212122221122222222112112112121211122221212212212111212111121211112212112112122221212122212112111122221222112121221122221111211211112222111211221221211222212111121222121121121222111212122111222121211121112112222221221211221121122121222122122221121211121211112211222211222122122222222211121211122122111121221111112111122221122111211212212112211112111122121222121212221111121111111222211111211222211111222121121122211211111221211122111211222121122212112112122111211122221111121222221112111221211212121122222212112111211111111212222212221212211221111212211222222122222212222222111211222211222222121111212121122211111222221112212222221221121122112222122122122112212212212222212112211111112222212112211211221121122212111221222222111212211122222212111212121111212121122111212112212212212212211111121222112112212121111122221121222121222212211222122212122211111221111111112222222212111111221121221121212211221221211211121211221121222112211111111221221222121221222121222212211122112111111211221212121121111221222212121111222212212221121111212212221111122121221211121122112221121222112222211222212212111111221122211221221122211222212122112122121111221221122111121112122221211121111211221121212222111121221121121211121121211111111122222121212112222112111211122121122211121111112121221121121222212122221111112122112212211221211211122221221222221221112221212121122222211211112122112122222221222122121122112121122212221121211121211212212122212122221112222122222112211122211221112112221122122221211212121211111111121222222222112221112222222221221122222112112122222121212212221221111122122112121221122211211222222111221222122111111221121122212121121122211111111112221212121111221222211111211211211212222112212211112122111212111122211211121222112121221112112211212211122221211211222122212221122121121221211222121121112212112121211122222112112222221112112222222112122212122122122112122222121212122112212212212222122121211212111122111112111211121212221212111122212211222211122122212222221222221222222121221222222112221121111121121212121211122111111111221212221111111222111211121211112111111122111211112221112221111111112221112121222212112122221111112221121122221112112222112212212222211211111122211212221111121121112212222212222121212112221121112121212121122211211222122112112121221112122221221212122211211212112111211112211112121221222121222121222112112221212121221111121121121222211222212212221212212222111121122221112111211222112111121111112122112111111121121111112111212121221121222212211111212121122212121222212212111111212222122112212212121112212121121211212222212122121222222211122212111211222112221112122121212112122122222112122112122221211112121111212221211111211112121122211122122211222212222221121212212222112121122221221111121111222122211221122122122211111212212221112212111211111212111121111222211121112112112111112221212121111221111122212111222222212121212221122122121121212212221112211211221222222221121122111222112211111211111112121112121122212112112221111122122122221122121222211222212212221111222211122112111112222121212122122122121212212212112112112221122111121221211121222112112121211112222221111112112121221121121122112221111112111111111212122111122211212122212112222112122121112211121222211211112111112222121122112122122112222111221121112121112121111221121212221222221222212112222212111221211111221221122122222221221112112122112111111112222221221221111212221211221122212212111121211211221222112211211111211122212221212212112221221111221121122121212121222112222111211222211112111122222221111212111112221211122112221211221221111112221122221221212111211112112112221211222221122212112221212111211221111222122111112111221211212221212212212222222122221121212122222111222221112112221112121221211122112222112211121111211222211212222121211212221112112111122222222221221221122111221221112121221111221211212212211221122221122111222121122221212222121222211111222122212211211122212211122111121222121211221222222111112121211121221121211112221221112211212111112111122111222112111112222212112221212112211212212221111222222211221211211112122221111212111111222221121222222121221112121222221222222221121121221221111212112122112121222221112222121221111212221112112122111111212221211222111122121121112122212221111222221112122122222212121111212211121222112221222222112212222222112122211211111212122212212122112121112211221121121221112212111221111211111212211222121112212222212212211222111112112222211111222121121121221121211111122211121121221121211121221122111122212122121112112211222112112121221211111221212122121211212211222222211122112112222122112211121112222212112211212222212221112122211221111112211122222112222121122221221111111121111222222111212121221112112211121222112121122122222221211212121112222221122221221221112122211122112222112122211121112212212121112111212122122111121122112112112221222111112122211112112121211212221221112111112212212221111211111211121112222212221111111121122212212121212211122222121122221111111212211211212221212112122111121211112222121112111221221111121111222112121211211112111212121121112121222222121122122221122221121222211122121221121221212121212111211111111111212211211121212212212212112211122122122111112212221111221212211111121222121111222122221122211121111111222122222222222121222111122221111111112122212212222111111222112122111111111121212112212121121212111211111121211121221112122222122121212122112112121122121222122112122122211122112211111111222222121222212122221221221212122111111221212122122212122111122221121221111211222111211111221111112211111112211221222121221221112211111121211122122122112221122121222111212211222221211111121211212212211222121121211112122121122122111111221211122121121111221221112211112122111212212111212222212112222222112111221121211121122212111212222121122121112222211221121221122121121221121222111111112122221121121112212111111122122121112212222212221222122222121222112111121212211111121122111221121212122121222122212211221221121221212222221112211222112211222222212111221212121112122112222211112112111211212222111112211211121122122222212222111122211221122112221212212112211222221112111121221211211112111212212212121122222111122222222221222211122112212211221211222122212111112222212122111221222112122211221221111111212212212112122222212122121221211221121112212122122222221111212211121111222111112211121221121222212211111122222221222212211222111222222211122112222212121221111212122211111121121222211212212112212111221221121212121112122222122121111212111112111222222112222112112122222221112222122222222122111111111121122112212211212111111111122122111112211111221111122122212111222212222112122212211211112221211121122222111221222212111112211111211112211111212222212121222222212221121212222222111222112222121121122111121122121221112211111112222222112211121112111111212122121211212222111121212121112221121222212112111121212122111122112121121122121122122111111211112112112222212122211112121112222112212211222111211221122111122212222212221122112221111112212122112121121121122122111222122212112212112212222211121112211112112211112211112112212111111122211222211221121211111222212111122111221212221212111222221111212212222112212111122211222211212212111121122221211212121212112222111111221111212222211221121122122221111211121212112212211121112212121112212211111112121211111222112212122121111121222211112111222222121222122122211222211112222212222122221221222112122221212211221122211111111221211121121111121221211122111212221122121222111211112212222111211222212121122112121122121121222112111221211111122212212111122212121221222221122221221211211121122122121111211122111122112111211222121112111111112221121212212122121121122222211221221221212121121122112112111121121211122121211221211212221112221212221212211122111111111111221222112211211121211211222122121212212222112122222222112112221112222211122212221112111212212121212121221112112111122111111211211211221221121221112212222211122212111212211122112121221112112212111212222222112222212222211211221222221212111212221221121212121112212112221111111222212111112121212111112122212212122121121211112111121222221212111222212212112211121222121211221122212122112211112111212211221222121211212111211121211212222112122212122121212221211222111121212221122222111122121112111121211121122111112112212122122212111112121121112111122122221222222212111121222122212211212112211212221112111211111222112222212111111221111121221112221222111121212112222111122121222212111122122212111221122112221221221112221221211221222112222121122212221212212111222122222211212222222111212121111111211221222121121122211221121122212211121222211212212112112222121112112212212211222121121121211222211112112221111111111122112222112112111112221221221211112121112112111121122112221212222211222222212221121212212121121212222111221122111212211211111222221221221212111111212221211121211221112212222211122222212112211222122121112121112122122121212211212221221211122112122221221211222111211112211122112112212211112122222122212122212112122121112111222212122111112122222121122111121111122121111221212221121122121221112222111211221122112112222211211212122211111221122211211112212111121121222212212211112211221221211211121211212111122112222221222212221111121212122111222112221212111221212222211122221221122222212221211111111222222122121211221211112221122221211121121112112222111221212121211211212122111212121112222121112121222222112122211212121212211112221222212222211122121211111222112111111122121121112111211111122211212211111111211221121112221222211122221122212212221111221122211121112222212122112121222112222112121112211211222211212212211112112222212122211111212112112122112122211122212221222111212212221122121221112211111221221222122112112222111121222211112212211111122212122122211212121121112212112222121122211122122212211221211111111211222211112111121121111222121121221212122112221211222121221212111122221211211221121221222112112122121112222122212212211212112221212211122111112112121221211122121111212221222221122222121112111211112221222222222221112112222212122221112122221222221122112211222112111211112111122212212212122121111222221121122221221222222112111211222112211211212212221211222121212212121112112111212211111222211112222121212121212221211222221121112121112112222222112221111211212112222121111221212212112222112221121111211212212111221122121222212211122221211111112221112212121211122211112221122121112212121121212211222211112212122212122112121111212121221222111121112122221111212212112222121122222221222112221221121111221112122112222211122111112122221112122212221112211221111212121221222121122211121211111222211222121112122121212211221222121212222111111221112212212211212221222221111111111211112211112112221211211112221211112122121121211211121222211222112111222221121112111211121221211212111211222121122112221111111112112212212112111111212122212111212222221222112212211221121122112112221121121211222111212221122112221112211111212121211212112112121221211112111111211211112112211111111121111222112212221212222111212222112111212211112222122111211221111221212212122222221212122221221221212112112221212112222211122112211122211211112211221222222222111221112222222211111212122111212211112222211212212222112122122122122211211211211121221122111121222222111211221211212221211122111112212222212212222121221222111222221221222111121122212111111111112212111212221121222211122122112111122122222211222121212112112122211212122222212212112222211111122212221222211111221222211121222111211212222212221212112221221222121211122121212222211211212212212112212221122122122212112211122221212112121222221211121211112221222121111211221221212222112121211121111211112222221112121122211211112212112122111211211111221121222111111111212111121121112122221221121211122222212221112221222112112111221121122122112121221212112211112111121212212112212211121212221112221112211212222121111112222122122112222121222121121122112112212212222222212211122121121222121212212112111222212121112222211121122121212221212221211211121122122111121221222111212221121221212122222111222222212221122111112211211121122112111121211121211121222111221121121212221212122221211121122112221112122121212121121121221112211212222212122112222212212211121112222221222112121111211211211212211211211222222212221221221221122111222121112222212211221221112212122122221212112222111222122112222111212112212112212222121211212122122122211122222222212122121212222212211221212111212211211212111112122112112212112222111122111121212221222221112121111111212211122212121212111121122112122221112212121111121111221211111111211222122122122212212211212121211211212111222212212212222221112212121221121112211222112212111111111221111221211112222111212121112222111112222222211122121112111111122111211212222111121122122122112211111222211122112112211221221121122112212112212111121121122221112111112111122211112121221222221222221212121222222222211222122111221211111222211111212211112221111212122121122112212122211221122222121112222112222112112111212111212211111111222211112112221121122112221111211212121121222111111122121212111111111122211112122212111122222122222221222222112212211211112221221222112121112122111112221111111112211111121122222222111121212122221211111211211222212121111111112111212122211112221221122212211222122211122122122121122222112212112222111121212221122121121111112222222122122222221221212122211212112211211221221221221222122212222111221222222112222211111222122112112122122111222222121121121111211222212221222121122111122211211211212112221122111122211221122221221222111211121112212121212111112211121112121212121222221112122221212221122211222122112222221211221111222112121111112222122222211212111211122112211121221221211112212121222222211211211112212222221121111121222122112111212211122111211122111122221212121211111111221122211121122112211121112211222222221121121122121211121211121221211221121221211112212211212121121222211121121212211112121111121121211121212221212121121222212221111221122211111211222221221222222212222211221111111212112112112222112112122111212212112222121122121121112122121111112222112222222121222111121112112122211211121112121221112111111122121222121211111212212111122212122121122112211211211211211221112221221212111112222222222111121121212211122221122211222121221221211221221212212112222121222221221212112122211221211211111111112211122122211122121221212212211211111112211112212212211112111121221221222121121121222211121122221111212112111211211221221211111121121112212222121111111221112221222122111111211112221121112211122121122222222111112212222222112111121121221121221222122211121212212121122112112111212212211111222122221122121122121221212121222111112112222122111221222121212122111222122122112122211222212222212212112212121112111112122111111122111121122221212112221221212121222211222122211221222121111111111212121112111122211112112122111212111212222121211222222111121112122212122111111111121212121221222122112121212111112112121111221211121221121221112222221112122111212111212121112211112211112121121122221121122222211122221212212121212122221122111112212211221122111121121112211122122122122211211211221111122121212211111111212221121111221211221112211221221211111212121111221112112112121121112111121221111122222121111221212212121112111112112212122122112222121221121112211121111222112212211122221221112121212122122222112222222222221121122111122111221222222111211112222121111121112212122112221211111121122221221211122121211122121221122212222211211222221221121112212211211112121121122111122211222221111121112112222112121222211221222222122212122122212111112121111212221122221121212112111221221112121112122221112111212211121122211112221122212212211222211221112111111212221222111122212212212112211111112112211211221222221222222221212212211212211211121122212121111121221111222121122122221222122122122122212111121111121111122121211121111121122121111122222122212121112222212122221111111121212111212222222211112112211112212211121112212221221221122211221212111112211122212111122122221121112112211122212221111112211112222222121111222111212211222211221222222221121222111112122211221111211211122121211112212111111111111111111121122211112221111112122111112211121121222111122211112122212211122222222112122221212112121212221212222212211212121212222111122112112111211112121121221222112212222111221212111222121222222121221121122112111211221112111121111121112221211212212121122211221122222122221212221121112211222121111111111111122112222222211122111221122221221112212211122221121111112211212112121111221212222212212121112221121112211111212221221111222211221221221111222112221111121121122222212122221221111221111111221122211121111112111111122212212212121221121112221211122222111112122222111111111122111121222121111111121222212211112221122122112112122221211122121211112111222111222211211211211111221112112111121211121211112121211212212122212212112111221111221212212111111222222111111212122111211222222111121111211211212221111111121121112112212121122111122221221122121222122221212122122112111122122221112121121111222121212122111122112212222212122111122112122221221112212111211121221222221221221211222111121212121121211222111121222212122121211112122221122211111112111222112222221221222111121212122121222211212112121121222211222212122212122121121211222121121121211211211212112221112221221111221111112212112122121212112112122111222222122112211221111222222221221222211121122122222121112112211122112121212122222112121212111121211122121212222112112212222222211222112111212211221122121122211222221112121112121122122112222121211121212222221212211212111212111211121212121122111112122122222111222112112121112222111122121112111121121211111222222111221211122112112212111122211111212122111221112112112112222121112222112111111112122122211221112212121221221121112211112212112122211111112222211122122212211121112122211111211221221122211221122112212211212211111112221122121221221112121222122121112222112222222221111121112112121212222112111221111121212211221221112211212212212111111221112222222121122121211221212112221211212221222212211212122212122222111222211221221212111111122122211221211112112211212112121112111211121122112222121212112221112122112212121111111211111212212221211111111222122211221121221211111222212212112211121222112222111121211212222222112112221122122122112221111222221222112211221212222111212221221222222112122121122212221211122211222222122112122111212112211111222211122122111121211111122112112121122211212111212222222111221211212111121212211111211211122212111221111121222112122111211112122221211221211121111222222122222211121221111111212221111111221222112221121121112112112221112221221222111121122212212222122122122122211221122121211112111112111111121222221222222212212111222112122221122222121111122121112112111111112211212212221112211222221112122112112211222112122111222211111111121112222112121121121122221122112121212122212111112111112211111222121212222111122221222121211222112222222122111222212221111112111221121122221212222111121222221211112222222212122221111221122111112122122222221112112221111221111121222211111211212121112221121122122221112221211212111121222121222221112111221212212121222112111112121222221111121111221111121222211221121221212121211111222121111222212122222211211112222221211222221122121221122222121112221222211222111112111111221111222111122211212222111122122112112122111211221111121121112222111221111112112112221221211222221211211222222211121221221211122112122121112222212221111112222112121122111221222221212122221112121211211112112221121222122221121112222122221211222122121111221212211212111112112221211112111112112221222222111211122121221211111222121222122212111221211222111121222221111112212112112222211211212221211112112221221222212211211121221112212221222112122111212112121212221211221121222111112112112211111111211222112121112221122111221121122222122211122112111111122221221211211111121111212122122211221122111111221112221112122222112111222122111122222221212112211122122221221121112222112112111212111112122122221112122221211212211111121112222212112112212121122211221121111122222222111212212112222111121121221211212222122222112111211211121222112221221221111222121212112112212212222212122112221111222112212222121121112222112212121112122121212121221112122212111222112221111121112221221222112111121122111112121221211221112221211212222221112221222112111221112111211122212122212122111222211121122121111122121122221221112222112222121112112112222212221121222221222221112222121212212121112122122211211112211122122122122221222212212221221121212112221211222212121112111112112221212112111212112111221221211221212122121221112111121122121211221211111121212221111122212121122111122121111212121212111122221121122221221121111122112111112221122112222212212222122222222112112121211221111111112211212221221211221212211122212212121111122112221111112211221222212121211112212212211221221212221112112222122111221111121212212221121222212112222221111112212112211111111212111211222211211122222111122111122222221122112111122222221221122222112222212221111211111212122221122222211121112212111121122221122121211212212222211221111122112221221122111112111122112212112122222111211211111211212121121122121111221221212122222111222222212211222211122112111122221221211222212212221112121121222112112111222122112212222122121212122111222222111222221112221121112112221122212221112221211111222212212121112121111211121111121212211211211222222211212211221122212211111111211211112211112212221212121111221221212212221122121221112111112212211212211122211112122222121222222112121121212122111111212211122122221222222111112212112211121121222212212121222212111221211111221111122112221122112122112111212112211122112121122212121121222222122211222112222121221111111212221222121222122121211121122111222121211122122111121222111212111212122111222112121121112222211222221221221122221121221211221112122112121111212222111212211212122122222121122112222121112122112211211211121211111112221222111222121122221222212121122222111112112222222112222211112111111222121211221222211212211212111121111221211112212111112112221211122212122111211122221212122121121211112222122212111211121122122212121121212221212112112222121212211112222212112222221122122212121212112211111212122122221222122111211112212211211221212222122212221212122212221222222112211111121211111121111122212222211111222122221221122122212222221222121121221211112211121121222122212121222111211121222121212121111222221212111212111212211221221211222121112112222122121121112112122112122221222212212211212222212212212122222121121212121121211111112221121212111112121222111122112112222222121221221221111212122212211122221221111112121211121122122122221122212212111221212122221222122121221122112221211112122122112211121121111111122122221211211122112221111221211222212221221112221222221122111222212211212221212111112121222121211121122112111221121122111122211122211112122111112222221122121111112221222112222211112221212122112121221111221221222121112211211221121212112222112112122111222222121221121122212111212122121121221121211112111222122212111111221221121111222121211111122111211111211211121111212112111112122122112121122122112211111121122222122121222122111122211111222221112211122122122221221221111121111121221211212211121121211222112121211212211122111111211211111111222221222121212222212121212111111112222221122111122222222221111222122121212222221121221211211212212121221121121212111221122211112121122222112122112121122222112211122122122221111121111211122222122221111122122212111221222221122112222222122222222212121121122122121122122122211221111211221222122211221211112222221112122112212122112211121222211211212112221222222121211221122111211111212212212212211211122121222211112111221221221121112212121212222211122212121222111221222211221111111221111122211221222111112221111111222121122112211121212221121121112222221212112111121121212112121221121122221121212112112212121222111221121212111121112121121122122221111211121221112112222211111211211221122112112222122111221111122222122222122121221211221122111111212221121222211111222221212221112222111112122212122221222212111212121112112121112111221121212121222112212222212121222122122122121121122212222222122121221211111222122112212211212112211122121111211222221111211221112211122112222122222221121221111111111112221111112122111212212222111222221222212121211112212211112121221111111112221122121212212111211111211211121122221221122121222111121122222212221122111221111122211222211212221221111112212212121212211212211211212211221112222212112212112211221111122121211221112112121221111121111121121111112121222211121122121111121212122221111211222112112122221121121122222121211211222111221112112211211111212222111111222121121221222111111211111112212121112121212111122122211112212112112112112212211121212121212221122111121211121122212221121121221211121222222111222212211122112222112121122222212111121222121211222122212112112121212121111221211122111122111221112221222222111112211112222212212122222221112221222111121222122121221121221222122221222112121112122121212112212211112222222121212221112222112211121222121212221221221221211211122211121122211122221211121121212221111122111112212111122111111121122122211121222111122212222122211212222122212221212111121111112112111122211111111112111121212121221211121212111211222112121121111112212211121121122211121221122212122211212112111122111112222121112111122212112122211212111222222122111212121221111121112112212222211212221122112212112212212122211111221211111221112221122211112122222221222211121121122111122222111122221212121221111212211121121112221121222211211222212221212112222122121222122222222112122222112111122211211121111121221212122111211112112211122122122111112122112221211112111212212111211121112111111211222121122122121221222212112112211111121122111121221221221112221112221222221221111211111221122221211111111221122221221211112211112112212211112122122212212212111112221112111222121211111112211221112121212222221211211212221111221122211121222212121222111111111121212122112121221212111121122111111212122121112211122121112121121122211111221111221121111122112211122121221112222112112212212211121112212222122211212221121121221212211112221121221212121122212122221111211222212212111212222121122211211212211221111212221121121122111221112111122212221221211211211222221221222222111222211211121121121212211121222222122212222221112212111222211211111122222222212111212211221212212212122121221122122121222222111121122112112122121222112111121212221211121211122111122221221211221122111211111212222121121221121221122121122111121212111112112121221222121112211212121122112111112122221122121211111112121111211111212211221111121222212122222212222121112122112121112222122221121211221211121222212222121212212211221122112222221121111211221121222211212111212112121112111212212222122112122121222212111121221212212112211111112211211211111222221122112112211211211222112211211112111121112221212112211222221211112222122222121211122211121212211212222112122112212121212121111111121222111121212221121211221222121212121221121112121112221221121121212121212111121121222122112122122122221112112221112221211212212112222212122222122222121121122222222222111222221111211221222111212211122211221111222222212222221112221211211212221112221221211111211122212221121222222112222211111211112122211111211212122211111222111112112111111112122212211112211222212112122212122121121121212211221112222212121222222211222121221221111211222221111211221222111222212212222112221221122222111221212112122122121112221111112112222212222211222121121111221222122212122122221211111222221212222212111221222122121111111121211222122211222122121121221211212222222221222211211112211211211221112212112121222112212211122111211112122111222212121111212212211212212221212211221222111222121122122211222222111212112222112122111212222112122112212222111212221122221122121111211112121112121211122221212122212221112221221221212222222221221221112112121212112211222212111222212121121221121111211222212121122222212112211211112112111112121221112112222111222222112111111222121112211122211111111112222122112221121212222211122111122121211111212211222111122111122121111112221211221122222222222212222221122221122121221212221222222121222112221211122122222122222221211221212111112211222212212212222211121121211121211212221112111212221112222212222111121222111212121122212112221221112211121121112221111222122222111222112221121222222211211221121112221121122212221111222222121122111111212222221111221211112221111221211112222221121212121122112122221211121111122221121212121221212121111222121221111122111122222212221122121111212121211122221221111221212122212212212122221121221112122212212212112222212211111111111222212222221122121212111111211221122221121111112122122222211111111122212122211122211221112211121112122211211221112122112222212211112122122221112211212112111222121121111111211212112222211111112222222111122211222211222222112112121122221212221122221212111221111121112111111121212211221211212212111122211212212222112222111111211121222211121221112222122222212122121222211112112121221121221212111212212211111122122111111221222121111112221122111122111221221122211221112121222121212212221122221211112211222122211111121211212221122121221212211212112121221121122211221121221211211212212112222122122121211221212122211111222111211111122112112121221121212212211211222211212221212222111211111111122212112111122221222212222222222212121222221221112121122222212212111122121121221212111111211211121212222221122122222111212112221221121122222212221111121121221212111211111112221211122221211121121211221112121112221112121111211121221112111112111122222222121122121221122221122112211211121112111212122112221122111122211222122221222111222122122211121111122121222222122212212122222121121122112121221212221221121112112222121222221121122112221211221211212121211221211122221212221121222112222121212122122121211221112122121121222221221111122221122222211211112222222212111111221111212221112211122111111222122222221211211112111122111222111111122112111222112222112112221112111221121222221112221112112121212212111212112112111211221212112112222122221221221211221221121111221122112112112211122111221121111122212111112112222212112121112221111222121211212112121211211211212122121121121212211121122212212221111221111112212221221111112111111211222121211212222121222212211212111221212222122221221212122212212212211112222212111212111112211112211111122122121222121111121122221112211111122111112122122111221112212121111211112212222211221121222222212222211222211221112212221112122211121122212111112212212212222122221121221211211211121211222211111111112221221122121222111211212221212222121111122122222222212221221121221221222121112112212212111211211211121221122111112222221221112212222222221112212122112211122221221122121122121122222121112221221211122122212212121121212121211121112112112212222121222112112212122212211121122211222221122112112211112112122112221221222221222211211222211112111111121121211221212221212222212112211121222212221221122112212121211221121121211212111122221111221111221111212111121222112212212212121221122221222222121222111122112111112111211111121112211212112211212221121211122122122122112212211221221221222112111212112122121212112111112222211122112211111112111222212221122222222222121122212121112111122122221121221112212111112121221222111222222222111122222212211111121111112222121111121222112221111211111112122212221111112211221121112122111111222111112211122121122212211111122121122221122111211212111111111212111111122121111111111112111212122112112222122122222211212212212211121221222111211112112112112221122211211111212121221222111112122222111211121211111221112222221111122121122211222211221212212111212221112111222221121222221112212221121112112221212212221121212121122221111111221222212122121111112222221212222222122111111221111222121121112112111122212122112211121221212122212212121122211111222112211122222121221111121111211122221211112111222121211211112121112212121111222222212222221111222121112112112211222221221222122112221221122212211212222211212112121212122122122122111222221221221221112112212122122111121121221212122212121112112111111112122111212211211221112122111212121112222111211111211222112111212112111122212211111212212211221122221122121221121221122122211111121212111222111222222121212221211222211211221221112121122122222222222111121112221111222111121112122212121121211212212211212112222222121122221211122121211111222212222122212211111221222211121222222222112112211122111122111221222121111122121111122212111111211222121221122222122111121111111121221222221112112211211222121121212122121121221222211111222111121112212212212111111111121221212211212212111211122222222221112222222221211222222111111211221221121211121212111112112111112222212212221111212122122121222211111112221221112111121121122111112112112211211222111111122211211211222212111111111211212211221112221212221121121111111112211111121112222121221211112111212212111212111212221221121121111211212222111221121111112122111222212212211122111222112222111122122212212122222111111121221212212112221112211212221222111112222111212211221121111222211212212112111222212121121122221221212221212222211211221222111111122122112122222211122111222211212222212211222221211221212122121121121112122112112111111221212211211222212121211111221221212122112221111212212121221111112112121112221211112222221111211111122121212111212112122221221121211121122211221211112221211112111112122112112111211121112112212222221112212121222111111112112112211211222112222222221112112121222122121121121212122122212211222222221211122121222121121112221221121122121221122112112212222122212211211121211121212222212211122222111211222122222221122221212222112221212112112122221222121111221212111212221221111121212222122222211122212111212222112222212112121121212211111211222111111112222121112212211112221111212122211211111122212222121211122112221222211121111112211112211121212121212222122121122111122212212111222211222111112221122111112212222211111222211212111222112221222222212222222121211222221222122112122221122212112212111111222221112212112221122122112221122212121211211221112221222111122222112222222121112122221112212222211111111111211112121211111111221121112112112221111122122211221211211212122222122222121111111121211212211112212112112211111212222112121221221121222222121222111112112122122122212121122112121122122112221112221122112122222122222111112111211212122212211212122121112211222221112221211222212221211212211212111121221111211212122112211211212111121212212221121121112221212121122221221222111212222212221221121122111112112112221212221111211121122122121211121111211111121211212211121222211222112122111221121211222111112111112211112111112121112212121112212111122111122121112122121211122111112121222111211222122221211221122221221211111112121212122222121111111221111122212122222121122211122111111112222111112112212122111211211111112221112222222122112111112111211111221221212111112221222222121222222211111222221112112122221111222122221221111212212121112111211122221212121211121112222212122212122222221212121121112221121122212122222212112121122122122221221112222122112222122212221221122111122122122112222122122211111211111121122111122221112222122111221112211212112112112212221122121122221221222221211222221222222112112112111122221111121122111122112222111121112112112121222122211211112121121222112121221111122221121221212212211222121121211221221121111211111122212111211122121212112121111212111212111112121122212121211111121211121222221212222111222222112212222111221122212222211111211111111111112121111121111212212211212122111112221212111211222121221112222121111221112221112222122112222121111121212122211212221112122221122121222111221122212121121212111121222121121221211212122222112222212222112222111222111122112212111221211212222211222111122111112121122212211121211112111222212211122211222122122121112121112211212112221121111222122221221212222211112221121212212122111222121212211122111211112112121122121221122222211212222212221222122112111212121222111121212222211122121122212221212221122111111122211221121122222212211212211122222112122122112211111121222212212221211221121221221222112121122222122212211111121222111121211121211121111111122222111212211111112212221121121212212221211211221211211112211221121222211111111221122112222122121122211111122122121121121211121122222212111211112222212222221122222212212112121221121222222112221112111222111212122212222211221222121222111112221122222222212122121221112221112222212211112212111212112121211221111221222111122221111122122211212121112122221112222111121212121212121222212111212111221112121212222221222212222211221121212121222112121211122211212211212112121122211121211112211221221121122222212112111111111211121111221212122112122122121212122222111221222121112222221112121111111112122211111111221121112121122122122112212112111122122212212121112111112122112121211112111112211211121122111122211212122122211222122121211121122211211121212222211112121112121111222212211112211122221222221221121211121122112111212111111212112212111212222211121112112111222121211121121212221222121222221222111212212121211111222122111112222212122112212222111221211112221222112112221121121111222221121111222112122211211122112222222112112211212122111222121212212111211211122122111112122211212121222222222212222122121112112221121112121122121111122211121221121122212222211112111211121221211222212111122112221121222211122111112121112111221211111112222111212222222121121211222112121211212222112221212121111211221221221221111212112221111222211222221221112111211111122111212121111221221212212121121221122122221111211222221211122121112211111212122121111222211122111121211112222211122222222121121111212121122212221122222221211121222212222212111211212111212121111112121122212211211122112112111111222212221112121222222221212121111222121112112221121221221221122222211211212121211111122122211121121112111211122221221222211111121222212122221122122112112112212212222212211222111221211112121121121221111212212212221222112112122221221111121122112211212122212211112121121121111212111112212111211122121221222112222221112122111212112211222112221222111112222112111122112111212222122121222222122112111121122122222212122111111122111221221121212122121111111112112122212222212122121222112221211211221122221121212122121221212212121122212222121121111111222211212121222112121222112112212211222212122121112212222212222212212121112111222222121221112211222112222122121222222111112222122221121212212122222122221122121122111112121111112122111221112212212212211211211112122112121211221112112121121222112121112112211221121111112122222122121111212121212122222221121222222222221222222222211122221111222212122121211111222111111221222221111121221212222212221121111121221211112222222111121111221121211222111221112222122222221112221211111212112212222112111221221212211211212112212121111212222221222222121221111211112121211211221221212112212122211112122211111112211121121112112122221122221121121111122211111122111111221212211211222211121122112122222211111211112112221211221212112112211121212122221112121122122211121212121112212111122211222221122222122221112221122121222111111212112111212221222111122222121121122112212112211111122111112222212221112212212122111211112212112112221111221212112221222121212111212212222121122112112221211121121111211222122121211211221211111122222212221222122211221222212221212222222212212222211222212212211112222222112122112111212122222112212221222122121211222111221111122212122122112121222212212222222111212212221222222112221222121111121211122111222111121121221211112222111112121122221221111122122121112212112211121111212211122111122211211122211211111122122122221112211212111122121111112211211212222112211122112222211211121221221211121222211112212121112112221212222211221211121112111211121122112122121111222211122122211211112121222221122221112222221211211112111122112211221122221121212122111211122112212212112211122122122212221211222211122111222121211122222121211212111111111222121111222121222222221211122111211121222212222122111212211112112121121212122111221212112222121212211111111111111111111211221122121122121122112212121121112112112122122111211111112221121122222122112211122111222111112211111221112112211121122121122122211111212221212121222212111221122112121112212111122112121112221111111212121221111111121122211212211221121121212221221221112212122211211222211122222112121212212212112122221222111221121122111211212111212111222222222111212221212212222112221222221111122222211211221221111121221111222122212212212222121221211212111211221222121122121211121122112222111122122221121112221122122222111212111212221221221221121212212212121212211221222221121221111212211222112212211121211121222222122112222112121211221211122222221122211122222121112122111111222222211212112111221112222221221211211211122221212211212221221221221122221122121222121211221211221212111222121122121121122222211221122112221212122122222221212111112221212211111222122122121221111211212121122112211211122212211111212112221121122112112222112211221121111212121121221211111122212222121222112121221222212212121221221121212111222221212121212221222221221121111112222121222211122222122112112212111211111211112212111211121211111121122222222222221221121222112222122122221111112111222111122211121121212111212122111122121111121122222122222221211112112112111111122211112122222121112222112122112222222121222122211112222221122112222121121122111222211121112211121122222112111211111112122211211122222211111121211112112122221122212221211111222222121121212222111112212121211111212121111221212211112211222111222221212221222121212211222212111122212121222122221111111211111222121121222212111222122121221212211222221211211121121212121212221122112221121222122212211221122111122122222111222122221121222222112111122112212221111222211122212211122221221222112112212221122212221212222221222212212212121221111211221212112111211111112212221111111222212212212221221122111121222111122111222221211221111112212211221211122121211211112112111221222111111121121121221212112221121222112221221112111112121211212211122122112122111221222212212221112221211212112111112111121221122211122112111111111121121212221122111212211222111221212121111221122211211221221111212121222121222222221221211112111121112111121211122111222211111112122121222121112111121222112122212222212122112222212212211111221111112122112121221111221211121212122112111211112121122112111112221222221211111112222112221121222212211211212112222221122112112121112221221111112222122121212211111211112211122121121222121121222111111211222121212122212122112112112222211221121111222222212211112211122121111121122112222211221121111111222211112111121122112111122211212211222111111211221221211221122112222222111212221222121212212221112222112111222222212111112212112112211212221221211212111122111122122212122112121121221212222211122122222212211221221112122111122211212112211122222222121212211211112111221212122221222211111222221122111121222221211121121111121112221212222221112111122122221212122121121112111112222221222222211112122221211112111121111222212112211211111122211121212221111211112112221112211112222221212122121221112112111122121222111221112122221112212121112111112111112211112111111222222121121112122211212222222111112112211222212121212221211221221112221112212211211222111221122222211111211122111222222122121211212211212111111122221211211221221222211111212122112212221112222111212121222222112222112121221222222211111112212121211112212222222211112122222122122211222122221122212122222112112122212212212111221211212111121111222111122122111212122222212121112212212212122122212111221222222212111112121111121222221111122112122112112211212122111212212221122212112212212112112112112121221122111221211212122222221221122221221111222221212112222112211122221121212112111212111122111211122211221112122212221112211122111212121111121221112122211222112112221211111122122111211122122221222212111222121211211122112221222112222222111122212121111111111221221221212112221212212222111211222111221121121222111222112212221122211211111122221112121221211221112212111221212212121111221221111212212222212111122222211112221211112221112221111222121211121222121212212222112111222222211222211211111111122211112221221211221222221121221222111112121111111112111122111211221112211122221221121221121122212122221222221221112111222221122221211112222222111111222122121222222122111122221211111122211212211112221222211111222121112121122121121221222211222211122111112212122221112212112222212121212211212112112221112222211111221221112121121221222211111212212111121121121222221121212122111111212122122211122221112221212221121212112222112121212112121222111121211211112211212122112122122122122122211222222122122221211221211222121222212211212211111212112122112112112221222211111112211121122122112222211221211112222212122221111122222111121122112222111112222211221212211122222121112112211222122121112121222122122122221222112221211122122122111121222122122211221211112222222211221112121212111112111111112221221212111112111112121222122211211111112222221112221221121122121111212121211122222221212211211222122112211211111111211112212211211111212121112122222222112211122112122122111121112122221112221212212121212211122211221212121122121112121122122121221221221122122211211121222122211222122122122221121112211212221212212211221111111212111122222222122111121221221112112111222212212211112211121111211112112122212211111121211112221111212121221122122212212211222121211211212222221222212221122121121122212222212211121211122121122112122111112221221112211222112222121222111222112122211212212111111221221221122222221212112122221221121222112212222112221112122112112111222221111221221221221212212121112112111212111221211222112211111112112211112112211121121111222211122121212121122122222222222121211222112122122212212111221212121112222122121122111111211121222212221222122211222122212121221221212111121122112121221112122212212221211211122111212121121111122221121122112212222111222112121211222121112212122112112122122122211112222111221212212212222112111221221212222212211221212111222222222122111111211111121121222122222212212121112221111221211111212121211122111221122121222112122112112112212221211221212122121212212122121221121221122211112222222121221111222111112221222112111112212122112221211212212111212212122221111121112121121112121111212111121222211222122122122121112112112122121111111211122121222112122111211111211121211121121211122111111111111212221211222212112221121121212222111221222112112121212111212221222122212222112111122112221222112112211212111212211222121221122122222212222212222112222121112222122221221112212221212122122121211212111211111121112122222121211122111221211212221111222111212121222111212221222211211211111121111112221121212122212121212211112221122221111112211122122212222222122222121111211111212121211211112121121111121211112211112121222222121121111122211111112221122111122212111112221211212212222121212111121221112212121121112222121221121121211221212122122112212111222212221121112222212112111222111222222212222111221121221122211221112221211121112122211112121121221111121212111112112221211122212112111221122121222122221111222212211222211221211111122212211221112221212122121112212111211222121211222222221112112122212112222222211111222111112111222211211122222222212122211222212222111121212211222111212221222221212212211112221122212211121112222122122221112122111221122211121122112112112112222111122211211212112121111121112121121211221221122111212122112121121111222222222111221212121222121211122211121122222212222221211212121212121111122111211111221222111222211221122112212112211222121121221111122112221221121111211111222122121121121111121122222221111222221112121121221211221212211111222112221221122111211221211121121121211221211122211221112212122221111111222112112111112221112111112221122221112211212212221122222112212211112211221111211211222122212122212122122121111111122222221121111112212212221222111111221122211122111222112212122212212212212212222211112212212122222121121212222112221111212212121122122112122221122111221121111212122211112211212122121212211111222111221211122121211112212122121212122111221211222121212222221121112221211222222222221212112222111211111212211111211221221221121112112121122121222212222211122221212111211111211111211122221222121212221112121221122222122121212222111111122222121221221111221111211122212221221122121222212212221122111222221212222221211221212112121111221212221111111121222211212111122212112111112122212222121112111212212211111221122112121112112112222112122211121112212221212211112111111221222122212121221222221222112121121122112122221121112221122111112212212221222111211212111112222221211112222111212211222211222221222112122222211122111212121122221111212121222112112212211221222212211112212121222121222111212112111121221111222221221112122121211221121111212222222221121111222222111221221111211221212211112211122212211222211112121122112111122121211111111122111211212122212111222212222222211211121112122211122122121122122211211111211121222122121112221211121212122122111222121222111112111121212121212121112211222211121221222112122112121112122212121212221222222122111121121122111211111211221121222112211111222122122212121212222111111212112121221222221222111211222121121221212212222122222112121112122222121121122221121122222221121122221121221111211222112122211122112212221221212111221122221211211122112112211112121222212222212121222122222222112222121121211221222221222122111212122112212111221211111112221221112222121111112121111122111111211212111211122212212222121112112222122121112111122122221122111212122121121112221221121211112212112221122122222212212111212111112121121112112222221222122122221221122222222112111112211211122122211211212111122111112212222121221211211122222211121122111122112211221211221211112212111122222221221121211112112211121111211222112121121211122122222112111222122221111111111122112121121112211121122111211122221122111212122111211121121222212211122222122222112121212112221222211212121211211121222122222211222211222111211111112221122222111121222122122121222121121211222121221121211222212212222112121222222212112222121211221212212111221222222222121122112212221112112112122122212122112112121112121112112222221222122222112122122112212121121221121222111122221122212222211122212111111222211121112111112222211112211221122222121211111212211122221211222222221222221122121212222121222112222122221121111222211211222222222222211111112221222122111221121221112122121112212111111112212112111121222112112122121212212221212212122111112221122211121222222222112212112221121212111212221211121111211122222211112111121121222221122222112221122111212122122211211122121221212121112212211211121122111222211222111222111122222221221221212221222222121111121222111121121112111211111112121121222111112121222212112212111222112111211211121222212212222112111121211212121211212211112121212112111112111121212122122212221111121112221121121211211111212121112111221212212211122211222122221122211112111221111222122111111121221121121221222221221222122121221212111211112111221222112122212222211212111222112111122111211222221222121212212221122211222122121121112222122222222122121221211111211221222121221111122222211221212222112221222212212222211222211211121222112111212222111212222222211211212212212112112211122222122122121212212212112111222222221211112221122121112111121122112112112222222121222111212222122111121211212222211112221211121112212212122211122122211121111111122112221112212111112221221111112122112211111221121212222112221221122211122111222111122122221122221222122211122112111112212221212212212221122121211121122212211211211121112112112121122121122112111221122211212121222222111211121211111112111211221122122211222111212121221112122121121111222111221211112111222111122122112222211222222222121121221112212111212212111212122111221111121212222221112122122112112111211221121221122211121121121112111211122122221111122111121212122211112212111112112212221112222111121112222211211121221111111212122221221121112221122111211211221121121212222222121212222111222222111122111221221122212112122112212222211212211112122222221121111211112122122211222212122222121221122112221121112122221112122112221211121112212212221211111222222111211111222221211222211222221211121122222211122211212222212112212221111212212221111121121212211122221221121122112111111111221212211122222212211211112222112222122212222211121211111111122111112212211111221212122112122221221221121211212211122111221121211112122111212212212211211211221112121121122221111221212211211112212122221221121112222122222122122222112122221222112211111121112211221211211211111211111221212211222121221211221211122112111121121122121222112111111211121122211122222211221222212121121112222121212211211121112211222111121211121211111111221211221121212112121222212212121212222111122111122222211221121211221222111211222122211221112222211212221121111211212112212122211212112111111122112222121211222212221221211221122212121212112221112111211212212122121211222121112122111211121122121112211222221121112122121221221212211212122211212212212222112221121121221222121122222212221112222111122212122121111212121212212221121112222122211121112221222111112222121221122122211122122112122112211112112211211112211222212122121211112112121211222122111112111212112111211211222122222221212222122222211122121122221122111121222121221121112112121122111112221121222122211111122111222111211121122121121221112122222112212121112211122122111212212122112112222111211222121222221212111112212121221121222121222212112121121122222122111111221212112212221211112111122221111221211211211111211211221112111211111222122111212111212222122121121121121222112122121212211122212112211111121222211222121111112222112111212222112211111221112212122111122221212211112111112211221111211222212121122121211211122211121211212212122122122222112221212112121121221121122112222111121112212111222222211122111221112122111222212122212122112222212222211112112212112222111211211221112221121212221122121212111122121112221221121122111122111211111111121221122121122112122111211122112222222221121111222211212211211111221212222212211212122121211121112221122221111121221222221121121122111222221122122212221222212211111212122221221121121112212122212121222121211221112111112112211212122112112211121221212121112211112122211112211121211122211122111111221111222121112122222212221211222112111221221121121112221121222111122121112111122212221222111212111121122222122111211111122121221112112122112111111111222121122122121112221122112221222111212211112112222212122121211221212212221121211122212121112121122122222121211212212121211121222112111111222122222111111221121122211112211222122111222211122122222212111221221212122112222222111212222121212112111212111112222122121111222211221212121211111212112111212211121121212222112211112121121112122112211111122111112121222111121112121222211211222121212122121121211112211212211122121222121112111222111212111211212112222121112111221121212211222221212122111222222211222222222112121111122121111222211221112122112222111222112111222111122212122221111222122222222122221222112221112222111221221211112122221121122111111122211211212122211122221221222121111222122121121222212121112111111222212221212221212212212122111121112221111221112122111112121221211121212111111212122122212111111111111111121122121222112111222111111112112211121211221111221221121212211221221121112211222121122121122222212221211212122212121212222211212221122222221122111221122222121221212211111222112122122211112211111221222212221112222221112211212121222111222211122111222212112212122222112111111112111222122112211111122121111212112122112122222122221211111112121122212122222121122122211121111122221112121211122121121212121212111111212212112121212222222212212221121111121222222122122221122211212111222221211212121121112212211222222222121211222212112111211211121221122112111211111222222211221212122221221112211122111112211121121212211222121212212211221111221111111212212112122111221211112212222111222212211221211211211111122111122121122121112222211112212122212222212112222122211111112221122122211121212221221121122211121111212111121221211112112122212111121211112221222222121211222122121222112222111121122212122121211212121222211221122122111211121122211211212121212222112211112221212222122221211222221111211122122122112121221221122121112221211121221111122221112211221212112211121121111121221211122112111211211122112121122112112212221112111111121111211121212122212212121122211112222121211222122211222111211122221121122112222211212211112122122121122121222122112122211221211111112111111212211111212121112121221111211211121111222122211122212112111121221211212211122211122212222211112212111222221111112211122121122121122121112121212211211211211212221222122111211112212222212122221222211121212222222112222121112112211122222222212111121111121111112212221211212111111222121222111212121212122211211112222221221122212221112222212122211222212111111211222122111211221112221121212112211111222212222112111211111211222112212122112211111122122111111221111222211211221211221121221211222111122211121211121221112221111122112211122211111222222222112121212112212111221112211211121121221121222122222211121122111111212112112112212221222221221221121212211122121121121211221121112121221121212222122212222222221112112122212122212121111121211222211111112111112111221212212122121111122112112222121211211211222111212212211212122212122122121221112111112122122111222111221112112121221122211112221112211222221212212222222121222112121111122122222212122122211221112221212111211121221221111121112211111121111122122122111121212122221221122211211211221112212112222211212111211111122222121111211222111121121112221121212211221211211211111121212221112111121221212121121111111111212122111111211211222212211212112112222121222211211212122222211121221112112122112211111111121222221112122212211221111211221222212212211121222122121121211112222211121111122212121211211211221121122121122122222222212121222211211122222211121122122221211112221112222112222121212222112212111121122211122222112111211111112221112122111122121112222122221111212111111111212221122112211121211112211122221211111122211112221122112221111122111112111221222122211222112122221222212122222111111111121211221112211112221112221211111111212112111211211122122112111112211112222221112122111212122221121221112211111112122122122121121221222111112122121112212111121112122222121122111121222112212112111122211222222121221221111211212221121121211212221122211222111212121111211112122111122112111221211221122221112221112112222122211222212222221212112212212212122211211112222212112222122222112122221122112122211112111212222112122122112222221221221212122221212111222112112112111212211111222212211212121221222212211121121111122112221122222121122121221121221122221221111211122212222112211112211112211122221122111112121211212222221221222221211212221221112111222121221121212222211212121212121212212121212221212122112211221122122211121111111221122122211221221212112221111211211221112212121112112111121112122122222121122212212222211112121212111122121211111111221211122122221212122212122212211112211122221112212222222211112121222121121212221122121211221222121221112221122122112212211111222211212121221122112121122222211111112121122111212112212222121112121211121122121111221111221121222222122212222111212121221211212221121121212221112212211212122112111222212121111211212122112211222212221211221112121211112122111122121122121122211212211221111211111212121112212111121111222121121112112111212212112122112122112222212111221122112211111122122122211111122111122111222122111222221111121212211221121112122222111222111222221121222221222112112112122222211212222211221222211111222121112221111122112122211211212111122221111221222211211222221112221222111112121122111221222111122112212112111212221121222222211122212121221112121211112121122222111112121221122221121122212221112122121112121112121211112221121122222112122112211212122221121111221212112211212221222121211122111212211212211122111111211111211221222111121222111122222221121112211222122221222121222112111222112112211122211211112221111112121122121122122121121222122211121112112222121211212122212211122111121221122111221121121221112122212221112222111211222211221211212211211222121112221111122222221211221211112212122112122122111222122111111111222212222212122211112222221122122211111111121212121111111112122222121121121221121222111122122122111121111222211211121122221221121212121121222221221211112122112112112212222111111211222211111112112211211121112112212222211111212212111112122211221122111122222121121122122111221111221211222212112111112122212122122122221222111111221121111211121112222221121222222121112211211211111212221211121222122122211212222221222111121211111222111211211212212222222212121112221212221221221111221112112222122111211111121112222221121111122111212111211212222212222212122211212211221112122222121212222211212111211112211222221212111112111222221222222211211211212211222222212211111112111222212112111222212211211111222112122112222121122222112212211222211211222211122222221121112122121222212111111222121221222122221222211212111111111211121122211122222221211112221112121122112122212212121112222112211221121212212221212222111211222212112112212222112221112111122121221111122211122121222122221212121212121122111121122211112221111221222122211222111212112112111111222212121221222111212111112211212222212211111211111212211212222121211122122222211112111222222221221121212111221211111212122211222121212221122112121112221211111211221112222211221121222212122211111111211222122212222222121112121221122211121111212212121112212212111111122122212211211121111121122112211221221212121122122111111121221121122112211222212212222111122112221111121111112122222211112121222211211211122112211222112111121112122212122221222112111212112111221212122222112212121112221122211111221211211212121121111221111222221112112212112111211112121112212122212211222211211221222121111121122221112112221121212221221121122221221222122211222121112221212111112211121121122211111111112222121112212111212111122221221222212121211122212112222111221112122122122112122121222222112122121112221121112221111111122122112111121221122111112212212221122222122111222221121221212122111111222212122111212212221122122122212212112222111222122212222122111221221212221111211122121121212212121121211221121112212121211221222211221121111111221111211212222122121122122222211111212221222111121112221112212211111221211212222221212111121221112221121222122122122221222111112222211121212222112121222221221121211112112212111122212122112222112112222221222212111111222111121121111111121221222112221112221221222121122122112212212212222212222221111211122211222222121211112211212111111212122221221211212121222112222222111111212221221221222122211212122112212211112211112121211121122222112112212212111221121111122222221222111211121122222222112121222221211221212121221122222222122111211221112221111221212222222222112121212212212222212111121111212221222112122122221211212111121111212112211121212112121222211211121121221211211221212111211122222112121221222112111221122222121221111111222221211112122212121121211111212112212222222222212112211122121122221122222112112111121212211222211212112121111121112211222112212121121121112222212122221212112111222112221112212112222222221121111221111221212211211121112211212121111212212122221222111212222222221212122111221212111122211222111211121112212122212212211211221111111211111211121112212112111212122212111111212211111111122111111112211112212221122121121211112112221221111121112111121122122111122211211211112212111112222211111212222112211221112121222112212121221122112212111221211121221112111221122211211121121122111121121122211211121121111221122222112122212122121112212111121121112112111121112211211211122121211211121221121211221222221111221121111211121221221212212122121122212212212122221212212222221222221111122211122121212212211111122221122111222121112222122112122211112211111222112121122112212112121112122211211221221222122121222221211211222111212111212121112122112121212122121211111122122221221211111211121221212121112221112222222211212112222222111211222122121222111112122211211221121222111211221122112111221112112221111211212222121111221222112211222122111211211222212212121112222221221122121122111211121121111221111222121112212222211111122221212112212211221121211212221122211122111111121212111122112121221122222122212111211122111121121111122111112112212121112112122221212122112212112212121221111111221121121111211222222211111122122211121212122122222122111112221112112212121122211121112122212122211222212112221221121222112221212111222121211221211122121122122112122122111222112112221111122222221221112222221121112212221122221222221222211112212111122121222212221211222211212121211112111212122212221221211211111222112112112212211222211121222221121211112121122111221122211122222221221221221112211111211211121121211212221122122112212122121211121211111122222112212112111112212211121211111221112211122222121211122211221121122111221222211121211122222112121211211111211122121221112111221211122112221121221211121112221122221122222222121221212111212122211111122212112211122121112212111111121222112121112211111111122221211121112111222211211222221111221122122222222122111221221211121212212222211121111212122222122111211212221112111121122221111111111111221112212211221121121212222221221122212212111221212221111222122222122221111222222112121121122212121112121111221112121221112212112121112211221122121212112112122222212222212111121212221121222211211122211211221111221212222112212221111221111121112122212211112211211221222121122221222222122221112121212112112222222112222211222122212111211112212221212212222112111122112212221221212222212122222122111212122222221222111221121212121212212211222222121121111111111212212221121211111122211121222112221212221211112112122122212112221212221112111212111212221211122211122221212211121222111211221122121122211222121211221111122212122211121112211121111111122122222122211122122212221112211212111112221211211112112111221211211221121221221222121121211211222212222222122121122111112211212121211121121122221212112122112112122112211112122121111122112212222111111122212112212122221222221212122112111222112121121222112222212212122212112121221112222112122121222211111221111121212212121112212112211222212122121111211122212222121122122111211212121121211121222212212112211222221221112222222221221111122111211221211212121112121222222211111211211121112121121221121221212222121211212221111121112211211112222112121212222211121212211122221122221122221211211122221121122212212222211122211122221221121221111222122221112121111111221212212221221111222111111221122211122112211111122111212222222221111121212211221122122221122221211211222111222112221211222221111221212112221221212112211221221211211221112111111211121221222222112122212121221112222211222212122212222112121111212112212111212221121222112211121112122222212222221122112121111211121221121111111112221112122222122121112111222222122211221211121122212111111111121212221112122221112211211121221212122111212111222221111121221111121122222112122111111111222221122211122112121222122212221211222222122122211111221111222222111221111112222222212111221112211212221121211221122112221111112211211111121212212121112112111212122221221211121121122211222111211111122121111221122111222121111112222212211111212122112111112222121211121212211221112121221112112221222121122121212211222111222111212121221122121211121122122122222221222111121212112122222121211111121212212212222212121222112211212112121111211221112122111111122221221122122221122221121122212121212112121112221221212122121112121211221111121212212121112121222112212111112222121112222222112221122121211121222112222222122121122112212222121212111221112222212211211211112221222111211111121221122112111212111211112222221122211111112212111112221211112122221211222221212121212121222111121221112122212112211112221121221121222121211222221112112122221212212122111222211111212122121121211211111212122122222121112121111112121211211221212221221212112112121212121221222122221122111112111111112112112111111122221111212212112221222212212222111112112211112122212112221222121211211121111221221121122112121222122212222122211122112211121112211211112222121212122121222111212221122222222112212121112221212211111111122212221122222221221111111212121112111121122121111212212122212212211211122212111221222221212222121222111211111121222211112111121121112121222121212221121211212221112122221111212222222112222121222122221111112221211122121221222222211121121112211211212121111212121122222121221111112122222211121111222112211222112212222122221112222121112111111121112111111211111221111212221212122211111121222112122122212212122211122222121121111222112122111122212221122222111112222222211222122111122212122211121212111112111111121122211221222112221211122122122221122111122212121122111211222112222122111121121211222121211221112112121121221211222121222221222112112212112111222121222122121111221111122221222112112212112221121222112221221122111121221122212111222111212112221111221111212112121111122112121212111211221121211212222111211211211221221111112121212122121112121122121111211111121111221121221212212111121212222111121111121211121221211222212122121122121221221121122121212121222222112122111122112112122121121111111112211222212212212212221122112221111111122222222211212112111121211122211112222121222222222222211211222122212221121221221111212221121221112221111212212111212212211221222122212112222212111211221122121222122212211111122111211111221211221121212122222112121212211212121212221111211211111112112111211111211221212211112112222112211122111212211221222121112212221222121121121122212111211212212122221222112221111112222211111221222221122211222211122221212221211111222121111212112122112211121212122211222112221222111212222221121111211222212211211111111211221211222111221112212112212212111112222221111221221111121122212211222111222221211211111111212212212212112121112111222121112211121221211111112121121221211121211112112122211212211221222111212222121212211222112112211121211111212111222212111111211121212212122212112211222121211112111111221222111212212211112122221112112222212111121211121221221212221121211122212122211221212111122212212122122111121121112121211221122121122211122211222221221121222211112121111111122111121212212111221111112212221211222221112211121221122211121112211221112122221222122112122122222212212211111121212112222221122112222112222222121121112112211112122222222212211212222212211112221122111212211112212211111221222212122221112222112122222212221212222112121212122122112111211222112112122111212122212111211222122121212211111112121222122212111222211111112222211122221222212121112221121122111221221211222112121112221211221122221222121111112221221111122211211111121111111211121221211221222111212212222221111111212212222221111111122112111122212122122122122221122111222212221211212222121221121221121111222212112122211212121112222121222221211211221211211222222212211222222221122222121211221112221121121122212221112222212111121222222212211112111121122222121212122211121111111221221111211211122222112211212122112221221121122211112111122121122211111122221221221222212222211221222121111122221212222211111212112122211211112221122112122121222221112111111112212222121212122121122111221212221211121221222121211111221222111221112111112121112111122222211112122111111122221112221211221111122222112121212212221122122112122211111212111222211222112122122121122111211212121222221221212211212222222121121211212222112121122222111211212111212221121212212122122222121222121111122122122122121222111112121121211112221111212211111111212111112121221222111222122121112121112111111112212121112211211122212122121111121121112112122211112121112121112222111122211222121221222212222112221211212221211222112111221121111212212111112221111211212211112112111111212222111112221111122221212221222211112221222212122122111212222112211122212221112112221222111211122212111121122211112121122111221211112222112121222121221112221112222211112221212112222211211211212112121221212122112212211112211212222222121221221121111121211221121222212212211211222122212122111122112222111222212111111111212212211121211122211112222122112112212211212111112212211221121122112111111122211112121212221211121222122211211221211111222111221211111221112221222122221112122211111212212121112121122121221212211211222111221112112112111221111122211112121111221221212111222121222122121211212111212222221122221212122211212122222122112111211211212211112211112122211112122122221122121121112111222121211112221211222212221121111111121212112122221111122122121211211222112222212111122212121121212221121222122112221222112111222221221212122211222111211212222122212221212221111112221112121122212221221112111222121121211222221221211212211122122212211221222211221211221221222122211112222111121211111222111221212112121111111212222112121121212221212211212121221121211211122122221211111112111112121212112212121212122211221212221211121112111122222111111222212221222122222121122221112121212112111221221121112111121122212221221211122122112222122212112221212211212111221221222222212222122121122122111212221111121211212222222211112112111112112222122211212211121211222112112222212222121121121111121212122211112111112122222112122221212212111212212211122111222221121212211222212122112112222212221221111212221221212112121212121111221222222222222111212211121221211211112121221111221212112211111111121111112211111222221111212211111221212222121211212222221221122222212122221211112211222222212222112212222212222222121211212222222222221112221121121222112112122121121122112112211222212112121211122111211112111211212222122122221112221212122212121122121121222112112212111221121112122111221222221211221212122111211112121211111212222211222222121121222211221212111121111122112122222211222112212112112211212122222211111222222212122221221111222112222121222111112121121121111221212112111221211212222221112212221211221112122222212112221111122122221221121111212211121211121122111112112222221211121211222112122221211222212221211111112212222212121111121222222111122111222112121222221212111111122111121212111211222111221122121122221112121212111212222111111221121211211222221211122221212121112121221122111221121111211122211121222211122122122222121121222212211211121211121121212111222222121111121211222121211212122122211112222122211121122211211222211122211211211122212212211211212222112122122112111122222121211122211111121212111122111222121121221222112221221211221222122112112211112121121212121222112221211222111111121212222122122211122212121112222122222121121211222211111122112112212221122112222221211121211122121212212222111112122222212121122122122122221121121111221211122212211221111122212221112221111121222111111221212112121211112212111121221212112222221211212111111122111212111111122211212222222112121221222111222121222121121122212121112212222112222111222121121111221211121122111211211122222222111222111222111122211212112211111211212211212122111221211211111111122211211112211222112112112111221211211112121122111122121121211121222121212212111222112121111112212121112221112121212212212111221122222211221211112221212112112211111221221211112221112212112211222212122111121121112211111121112121222112212222212122211212212111222122121112222221121221221222212211122211112112211212122121111112212222211211222112121121121112122121121122222112212221122222222121122212112111212211211122211222212121122222211121111212212111112112221211222222112221122211122121111211212221222212211122111112122222121111121112221112111222121111111212222122121221221212211221111122212222212122112122112122121111221112121211212222221122111112212121112121122112111111211222221221222221221112111122221112111121111222122212211112221112211121111111212222112221221112212121122212212112221212112211122221221121211111111212112121212221221222221112222112111221122121122112122121221121211111122222111212211221222211212222111211211121122122222121122221111112221221212121111212112111212112212122111111112121111112112111211221111222122121111222111212212111221121112222212211111112211111212212222222122222221111211112111222222112121212111122112122111221211112212122112211112121112211221222112211211121222121211212211222122212212112222122211121122111121222111122211112211211111221222122221111121221222222112211222221111112112211222111112111121222221212221122111121222222222121212211111212212211111222222221211221211211212111222121221121112222111211111111212111121212222112222111112212111221112222221221122112222212121221121122121211222122212122211112211221122211222212121221111111122221221111122222211121112211112211121221112112111211222212212212222112212212212122112212111111212222112211212122112112222212221211222222221222211222211121222122211211221211112112222221212112211122212122212221211111111221121111211121121112122212112211211122221112121121122122112222121122112222121112122211212212122212221221222221111221112211222121122112221122222121121121112121111221222112211112122111212212222111221121222211211122221212221121212112221221122111222221122111222211112221112112222221222121111212211111112222122212111221222111122122222211212222212112222111122112222122211111222112121222222221121221122122121111111212212221221112221122221211112221222212122212212112222111122222111222212112112222211212212222211222221122212112221221222212222212112221122121221121221111221211121112122111111221122121122221122121122122121111222111111122221111221211112121112112111122211221221222212222112112122222211122211211111221111211111211221211211112122112112222221222222111221212222122111222121122111121211121112221112221111212222211222221122111211122222122112222221122221211211112112122122212122111212222122211112222222122112122221212222112211112111211222211121211212211111211212222222222112122121121221221112122121211212222211211212212211212122112112212111221222111211122121111122122122212212122212222121212111221121121122212222221112122221221211221122221121121221122212221111222122122222112122112212212112222211222222121121122111121211111111112221121221221122112112222121111212121122122211112221111122211212221222121121121211222212122111121222122221221221121112112122221222222212212221121222121121221112212112211111111212122211212212212122122112111221211111211112221112111111212212112221112121111111121111112212211121122112221221221112211221222112112212122212112222211221211212121111222212212112121112222122112221122122211121122122122212112121121221212211112121211212211122212222222112221112221111222111222111212111222112122212211112111121222222112212211112112221111221111122211221121222111122211221211111121222112221211112111211211212121211112112122222112121222221122212122111212222112112211111221211111111221221111212211211112222112212112121122121111121212212212222112122211221121211112211221112211111112222121222221111211121211111111112212112112111222122122121221111121221122112122222121221111121221122121111122122211211112222222111222212222212211121221222211211112211211122112112212221111121212112111122211211122212222122121112212112221211212121211221211122122212212222222122111221121112212111222211211121212222211121222211122121222222211122111122211211121222121221221121122211121111222111211112211211221222212111121122222112121112222121211211121221112212221211221212122221212212121112212222222121222222222221221212121221221212111121121112111212112121111212221222211111112122222211222111121212212211112212221112212212122121112112221112112122112222111211211112221221221221211212221111121122211212111212221122222111112221111222221212121222112221122211122212222112111112212212121221122122121121221111121212221212111221122222112212212111122111111221121212122211211222111211211211221221121221112212222122122112212212212122221122211112121111122211211112122112221111121211111122112111212112111122211212121121222221122222221221111212222111121121122112211221221111221122211211211221122222112112222122212221111211212211222122221222212111121112121112121112211212122121112221222121122212121221212211112221211111212112112212122212222122212111221221222212211222112221221112221221221111211212121112212122222112222112111112122111221221211121222112111221111221121221121111222211112222111122121221122221121122122112121122222222222211212211121211121212222111222121111112122212211212112212221221122112121122222111211111211111112212222222112121212212211211122112212112211111111111222212111221121111121212111111122221222212222111212122122221121122111212212211111122222221111121111222212211211222212222211212222222221121121211111111122212222112221111221212122221222212212211221122212112221122222211211121221112112112121221212211121112212112211112121221212111122222112112221211212122212112222221121212122212211221221221221111221122122211121122212212221212112221112111221212121112112211112221212221121222112212111222212212112211221112121122122212122211112121212112122121211212112211121122121221121222222122112121111212121111122212212122122121211221121212122212122221211121111221122211221222222212121221221112122211212211211121121111221212211212112121211222221221221221112122221211121211112121222122221121112211121112122222111212221222222222122122212222211211111212222112112112111112212121212221112111122122121121111211212111111221111112121211212112211212111221112222111221211221112111212221211111121211221112111221221212221211121212122122221112112112112212212112112112122121222211221221212211112211112121112111122112112212122111212222212212211211221222112221211211211112112122221222121111222112221221112212122211222221111221222212212122121112121211112222111121221111112121222222122222122121212221221221211222222212122211121221111112221112112221111211112221222111222111112121222211111121121211122112121221222112211112221212121211222111211221212111121212121222122112221121221111111212121212121121222111222121212122221212112222122221121221121122211211111221112112122121111222222221221121211122221122212211211211111211212212122221122122112221211112211222211111221122221121211212112221112221222122122222212212212122112122111111121222211122121122211111111111222121211211222222212212211212121211122122122111212212221222111222211211112212222111122221221121212221122222122111211122222221212211221211222211211211122112212112121211111111222121112121121122112122221221112121212122112222221111121112121211212211122211121111122121121222212121222211122121121111211112122222222212121211221112111212122222221211211121222211121222221122122111122111121112121122111122211112222221221212121111112112122211221211222112222111122122222122212221112112122212111122221211121222211221211112222221212122211212122121221221121212112222222111121222122112211122122222121221222221111212221212111221222112122222111211212121111112122112222221122212111111211111121112122211211211112122222211212121221222221121211122211222222221122111121222121222212222111221222212212122112122221221112212112111121121222211222122121111222212111112211221112222121112221121221121121112121211211212112212112221122221211212112122121212211212221121221112212212211122111221212122221212121122221112212122121221122111221121212211212212121211211212122222112121121111122212121122222121122212211112211111121121221211221211211221211122122111111212222221112121222122111122111112221111121222221121222222221121112121221122222111211112221121221212212112112222122112212122212212212212221111212211112221122112212222112121111111121212122211221121221222222212221112222222121121121112221221221222212122212212111122122121212112211221121212212112122121122111112122111122111122211212211112112211211222111111211211221122121111112211121122121212211111222211122221222211122112111221212212122122112111122221211221121121111222121112212122112111211221122211212121112211211222222222111122121212211121212212211121122121122211121111111122121122112121112112211221212111111211111211122111112111211122121112212211222112221112222122121222222121112212111112221222222121222221212212221121112212112121211122121222122111221222212122222221122221112111112212222211212212222222111211221111111211122122222121112112121221112121221221121111221111221112122212111112122111112122121122122212221122112112222112112121111221222212121222112121212211212212121212112222121212112121212221212122222111111211222211211221221212212111221222211211211111212212111222212222211122112221112111221212122122212112112222221122222121222112211221221122222221122121222211111221221112212211212211111112111211211122222212211122221111112112221111112212212111212112221121221211122111111221212211211221221121222221211122111112112221112112211211212121221222112112221121111212211112212212222222222221222121112211221212211222112121212121121111212211121212121222211211212211112122111222111221122212222221212222122121212111122111121211221221111112222211121122211112111121221112222221122211222122222221222112122112211121221221222112212122211121212112221111222121222222211211122121221211111121121212112112211212122211222111222221212222212222221111121212111221221111112121222222121121122221211211121222211112211112121221112112111111112122212212222111222112121221212221122121212122222211112211212112121212121222221112121221111121121222222212121121221211211112222121112221211212121222122211221211112111112122112211212111111122121221122122111221212211212212212111122212222222221221212122121211222221222122211111222121122122112112212211122222211122111222222221122111221212111221112112111122112122211221212122212211212221121221121222112121221122211221112121212121221211222221121122121211111111222211112122111221211111221211111112211122122121211211222222212121121221121211221111112122112211222112212211121112112122212121221111212221221221111211211112222222122222122112212121222121222111121121211221122121122222211121122212222222211212121121211121122212111221212212121211222222212222212221112221111122212211211111211122211111222211221222121112211222221111222111211212112111121111122122112112221121121222221222221211222111122121221112211111122122212122112111222211212211111111122222112112121121221121212121221111111222221121211212122211222222211121112222221211122112222222211222121122111211222122212222212111211221121221122211221122221222211111211112112122222112112222122211212122122122211111122211221121122221212122222212212212121211111211211211112112121121221112112221222111122122211222212111111121221121222222221111122122111121122221111221122211122211111122211121211212222212121211211212211111122211121211222122122212111222222122212112121212211121211122122122222121222222121121112222111222111211112221222121221122222222111212111121112211112111211122212222122212221112212221211221212111222212221221211122211111112221221212211211211221111211211122121211121212121211222122212221221222111211121222111222221121121221122212221212212121122121121212112111121111212211121112211212211212111221211122121221212212211111121111122121211112121111112122222122111221112112122122111221122222212122111211221221112212221122111211212221221222121122121112121221212112222111211111111112222222212222221211121111122221112212112121121222221121222112221212111111112221121211122222121212121222122111211212222211222222121212112221112121122212221112111111222222121212122222212122222221111221121221222211211122221221221112211221121222122211111222211211221111212112111221122122222121212222111122122212212111111222212222121112111211121122222212121112122112122121122121222121111211222112221121212212111212121221111221111122122121121111112111112121222221222211222111112112221221222122122211222211112112121222222122222222111122221111112212212211212122111112212111122121122121121121211222112112222112121222222111122112111112111222121121111212111212111112211112111122111112212112221221221112121122211222122121222221221122212211222111122221222111112122121111112122221211122211212222222111221111112122212112211121211112121221122122122121211222112112211112122112222222221111111122212112211121121112221221121122221211211222111111222221221221122212111111212112211122111112121111211222112122122122112121212111121212222122222112221111211112221221221211222121121222221111222112111212211121212221121222111221222122211212222112112211121212222111111121221122111211212112112121212222112121121112211121221212122122211122222212212121211122212212111221222111111221222222122212212222121222211222122222112121112212211121211112122222111121211221221122211222211121211121212221221111212112111222122121221112211122212121211111222111122122221112122122211121122211212221221111121112112112121112222221222221112211221212112122212112212211111221111121211222212122221112212212222211221112121212212122112222212212222222122212221122221211222121221222211112121111222112221222221212212111211111221121122111211121122221121122211121221222221112211212121122121222121221221211122211221212111112222222111111211112211111221221221212222212212111111121222121211221112211211121212112111111221122121112212111111212112112122212222121222121222212122111222121211222221221211121121111121122221122211212111111211222221212221111121122121212122211111111222122222221122211121211222121212112222212111211112221122211112122111112221111211111112221111212121211212122222222222212122122222122221212212221122121222122111111212121122221111211211222122212212112211212222212211121121121212211111121121212211221122221111211122122112121111221211122112112222212212221122222112221112111111221111222222111111111212212211212222222121222122111111112212211222222211122211121121112212211121212222122221112122211221111122221122212122221222112222212211111222112122121111212111122211222111111111221211111121122111222111222212112211122112212121111112221111121121112211111212221222212221212222221121112212212212211222221111122122111111211221221221222112222121222122112112211212111111212121211112121121221112111121221112122112211121222112112211111221212221111222111122111121211212121211112221211122222122112121112112122222122111221212121121221112112111211122121222111111221112211111222211222112211212211112121211212122221212122221211212112211221112112121222121122222121211121111112122121122221221212121221222221222112221221221212121121112212222112111222211222212222222122221122121212111212112221111222111111211222211222221211222112211121121112212221222121222122212112111111222121212222222221112211221222121222221221112212111122122212222222112121211221212111212121122111111222122112222111212222212211212111222222111121222122111111222112121211211212121221111122122111221112122111221221121221212122111221211212221121122111221211122122221221112222111112211212122221211112112212111122212211122211212112122121121211212212111122111221121222211221212121221121121111211111211211111222211222212221122221121121111211221122211222212211112122211211221111221221221222221111112111112112112111121222211112221121122121222121222212112122112222212122211221212212121221212211111221121211211122211121212111221212222212222111212111111212112221212111122112212211222122221211111122112112222112222112112121221221122121211221121212221222211221111111122112111211112212211121111211121122111222122112221222221111221112212112121211112212211122111122221111221211212111222221122222121122111222211222112121211111121221211211212111122221212111221222112122122212122212222112212211211221211121221211112211212212221111121222112221211222212122222212121112111121212111121222211111212122212122211121222111211111212221212122212112111112221211222121212121111221221122212121212211212121111222222211211111121121222111212122212212211221222221111112112221122122112221211112222111111122211222112122221221211122111121112111121221211211221222111221111111111112111211122221121122222211121112221212222112221211112122221122112221121121221211121122112222111222112122221121222121212121222111222222211122122112122111122211212211112221221221211222122121121222212222122121112221211112121111121122221211122112121112222111121212111111211211111211112122221111112111112212121212211222111212212111111212111121111111121121221211122211112221212122122211212111111122212112211211112211222122122212222212221211222121121122211111112211111111121122112211122121111212222112122221221122122212122112211212122121121121111122111211111222211122221222112222121222212221122122121212111111212122221122222221221112112221122122222222222111122111212121122122111221112211221221221121221211121221212122122221212111221121222121111211121221222221221222111111211212122211212111122211221111121111211122111211112122121112211211222221121111112112212222222122111112122212221121111111122221212222222211222112112121121121211211121222122221121122211212121122211211221112212222112111112122211111112121112211211112221222121212211221121111221212212122212222222211222112121122111121112112212121222121222111122122211211111122112212222211121222222121112221121112112111212121121111121121221212222221121112112121222122212121112122212111122122221211222112111111212212211222121222112112112122111112121211211111112122122121112211212212112121122112121112122111121222221112121112122221121121221221211111221212112211121111221112221221111122121212112221112211112112211112221122221221222212221222212211211211211112121212211121222222212212111211211121222211211211121212112221121111222211221112111121112212121221111222221222221111122212112212211121211212112212221111112221111122212221112122112221221121211122221211222122221222211222121212212212112122211122222122222221112221221222211211112111221221112211122212122211212211221211212222112122212222112221222121222222112111222222221121221212211222112221221112212112111212122112112222222121222121121121211212212211212212222121121122122221111211111212112222111122112211211111222221212111122111111222211222112211222212122121122122212122121112111121121111221221212112211221122212212212221112122122122111111222222211211111222221221121212112112212211122212112111212212212212222122121222222211121122221212212212121121222121112122121112112222221221122222221122111212112221221211111121222211111221211212221211112212112122122122121222121211111222222212122222222111111112122111122211221122122111212121211112211121122121122122222212112122212112212122222121212111211111122222211211221221212221221211212122121221222222212122211121112122211222122122222112112221221111222211212222221211212122121222122222122212111111212121221221111222111122121222122121112121112211112112122112212222221111111112121222211121121222112121212112122212111211112122221121111222111112212222211121112211112111211112111221222211121122121211112112211112121122212111112221122211212111112112211112122121212221122221112212212121111212221121112112122222112112112122212112212221222112211211112221121121112111222211212221222112211212222122221221211222121211121222211211222221122222112221112122111212212122212222222112212222212221212221221111111221121212221222112112221222212211111222122112122112111211221221112121221112221212212121222121221212211122112212212111222222121122112111221111111212111212221222211222121122211112111121211111222111211222111112111121222122211221112121111211111121212111122211211112211112221222211121221221222121211211122112111221111222112111222122211121112122121112212222121111211212211122212112111122122111211222211221221112222112112211111121212221211212221112111211121212121111221122121111221111111211111212212121121111222122222222112111111121111211222112222221111111211111121221112211221112111212212212221112212211121112122212212222212211122221212212222211122111122211121211221112112111111221211212121122111121222212121111211122112121221211111121121111211111112111112122111111121212112112222211212121112111221211211111222121121211212211112121211112112211122122111122112212112222111211121211111112121111111211221122221122212221111111112212121221121222211112111212122211222211121122121211212221212211112211222211221212121222221211112121221211222222211121221221221221221212121111212212122112112222122122122221122221211112122211121211212121122211221111122122112221212111222122221111112122211122121111211221112222222212221222112212111122211112111211222221222212122122111212221221121121121112222112212122122221212111121211111211222212111211112122221211122111212111121121121111222221122211211121221111221111121112112212121211212122221122221211221212111212122121211111221111111111221122212112111122222222111212221211211211222212222112121112212221221211112121212122211222211212222121211211221212112111212221121112111122112122221222122122112211112211121122211221212121112122211221112122222111211211121221211212111111211121222121222111111111122212111121122112122121122222122212221121112112122221211211212111212121111112111222112221122212211122122111212212222112122221211212221122221122111211222221211122112112121112211212212121222222111221111221122222212212112121121222112221112211221122112122222122122122111222222221121221221212122111111221211212122221122111112111212121222111222112122221121221222221111221111122222122112211221112211222212121211111122121221221211222122121122211111211212222112112212121211111121112211221112121121122211121212221212111122221221121122212212221211111222212121221221212122211212121111222112122211122212221222121221221211211221111222111221111212212221221212212112212121112122211122111211211222221122211122211211121222221122211112212212112121222212211212112112222122212122221121111112111112222212222112222111221211212122212222121111211111211221111111221121121221221121111212222221211221211222222112111112121111122212212221212111222121122222212212112211222222112111122111121212211212211211122221121221122221121212121121221111221212112122112121112212211221211112211211122121121211222122112211111112221122221122221211212212111222122122111212122112221221211122212212212111222212221211121211122212211211112121122121211221211112122222211212211122111121211122222122112122221212211111111121222211122211121121122121121212122211212122211121221112121111222222222111112221221212221211222112222221111122122222222121212121112112211222121111122222221112121222221222211121122222112211222211111222122221222222221111221111221121122212121222121212112111221122221122112212121111111111111111221122211122111111112212221111122122221222112111121112221121221222212212122222212211212122211121222221211212112121211111121122212111212111121111112221111211222211211222212121212211122211111211111221111211212211112122112111212221112221222212212122222122122212212222212121211221122112121112121211211222111111112221111221112221221222111112221222111221111112111122111211222122212221122122112222212221212211121212222221222112211121221112222122112111111112212221112221122111222212121221112121211222221112222211122111211111212212212122122111122111111111122221122121121221211122121121121222221112122212222121211212112111111211212221212112122121122112221111221112112122212222222111121222111222112112122211211112111212211122111212212112221222211211212222211121122221112111112112221221222122112221121221222112222122221221212211212112111222222122222212122121222211111121211222222221222221122121121111221122111222221122121121211212212211112221211121212122222111112122112221212222122211121211122122222222121211222221222212122212222122221111122112111211221221122212111112111112211111122111221111122111121121212121111121212221111212121111112111212112121111122122211121212211221111221222212211222222121121122122121111121221111211221121121222121221121222121221211112221222222211121111122221121111211222111211212112122211121222212222112122121212221121222122112112212112211121121212112221122211222111221211222121121211121212222122212111221222111122111122112212212112222221121221111211122212211122221211221222222112221211111212112212122121122222222222211121212112211111212111211121221122212222112121121112112121121112122122221111212121222212121111211212122211222122112211212211112111112221211212212121121211222112211211111112121221211212211111222122121222111122221112121222111211122222221121122122122111122212212111121111222212122112111111122211211112211111221122122121112111222222122222211122212111221121221112211211221212211112211112121221122222112222221222121121211212221122111111211221211221121222111112122221212111211122221211222111211211221222112121221222222221112221121112212221122122111211212122221222112221111112121121212222211122112222222222122122222211221221121122112211221121111222221122122211122112122212212222221122111211111211122122111121122121221112112111222221112122122111121212111122122122121111121112211222112221112122211212111122212211222112112111121211221112212111212222221222111122211221222211112111221112212111111111122212211211111222121121211121122122111121122222222211222122212112121122111112111121221211112211221121222121211212121212211211212121212211121212222111111122111122122212212221221221121112221121121212222222112222212111121121221121212222212122112211112221221121221221112211111221122122121212221122212212121221222112111222221222112222122111112121212112212121222112111221222211221221211121221122212121212111122122121112122221112221212121112222122211211112111122122211221211112212112212222221112122212122111222212111121121121222211212111112222121212221111222121122222211222112211221122222121122222121111111221111222221211222111222222122112111111221112212122111121111221112112112222212221222112111222122212222221211222221211122211221111211222112122222212221111212111212221112211111121211122212211122222112111212122111111122212212111122212111211122221211221221121121222122221211222122221122121212211221111121222222122212222112212112222122121111212221122122221112212222212112111121212111112122211122121211122121122222112222111212222111112122112121221212211121122112222112122122222222221212221221122212111111222212112112211111111111222122122221221112212212221121221221211222212211221222111212211212121212211221112211112121211112112212211111111111122112112211212112212221121221112221112222221122222122222212112221111221112221111112222112211121111211111211122111111112111121111222211112122112212222222121222112211222122221211211111121111222112111221221112112212221112212112122212212211211212111211212112222122121121212211121212112221121111121221121221211222111111212211122222222211221211121111112221111221212212222122112212211222221212121222212111211112221112121221121121121112122112211112112222212122111112122222112111222222221221122212222212112122212122121211222212122222111112112112211111121111211221221112212112221211121222221211122211112222111122221221221122222111121221122221211111212221112121122122222222111212111111111112111112122122122121112121222222121121112111122121111212122111121221122121211211112111122212112121221222212112211111221221111211122212212112111222222112212122121222121211222121212122212111211221212222112111211221122212122222211122212111121222111212211122211121122112221122221212212211222221211221121211222112211212221211111111121121122122222121112122211121212221222212122211212211212112221122121121222222111211111121221122221121222111122122221212222221112211222212112212111112111221122222122212122112111122212112212121222122221111122221212211111122222112112122121222221121112122221111111122111112122111112122122222121111122111221121111111212211111121121111222121221111121122211221112122222212222121221111121112122112112212212111122212221122121122112112122121211221212112212222211221121211221111112212212221112212221122212211221111211211211122212121212212212111121122212111112211221122121122121112211222122122111121222211111122212212211112212112212122212121111122111222212122121212222222122111121222212222221211112112221122112211112222111211212221211211111122112122121122211121121211221222122221112212121221121112211122222112121221211112221111121221212122122122221111221121222122221222221211112121211211212212212221221221112121111211222121121221212222122122121112111221112112112221122221112222122111221112222112221212111112111212221221222122212222111121211112121121221211221211111222221121121212121112222221111111122221211211112111111112122112112121121211212211212222222211112222122112122111122121121212121211211211221111121212221111211211212112112121111111122111222222111111211222111221111211122122112122111212222222211112122121211111111122222112222122222222221121112221112121122211212212221112212221112221112211112112212112221211211111212222122221122221212112121221121222222122212111212212221111111221222212121112122111211122121122212211222111211212111222121112221221122222122221112212221222222222222111111122221222222111211112221211221211112122222122222221121221121212212112221221222211122111221111111112212111222211222112212211212221111112221122111112112212111111222222222221221111212221221121112121212212121222212222221121111212212111111221221222221122112212212121212212212111112221111212212211211111112121222222221122221112112111212121112211211212122122211222222111121221111111212212222122111222121122111212111122111211121222111121222222212221122211222121221112112122211221122122121212212212212221221112222112111211121212111221122212222121112121112112112121111111111222112222211222111112211111211221221122221222122211111211221211211222112221222112221222211111212112222121221121211211222112112222222212112122222221111122212212221211122222122111221222211221211212112111122122222211121112112122112112221222222122221222222221221111222222122222222212222122212221212121112221112221211122121112122122211211221111221111212111121122112221111222211122221222212221212221112212212221111122212211122112222212112212111121222122121222121222112221122112122212122122221112211211222221222212212211221111112221212221222122212222122121211222221212222222211222212221212122221111122112221121122122122122212221221122122211222221221212122221211122111112222112121111221221211222122211221221112112221122222211122212122211111221112112112221221222122221211222212122211112221121211112122121211221122222221112121111222221121222111222222122111222122211121211111111222121221211222122112121211112221121221222121211112121212111221222221212112222212212122122111212121111222221212221211122221112222221111121111212212221221112112222111112112222221221122111111222212212111112112212111211221222111121212112222122211212112221111111222121222211122222222112212111112112112122122112221112222221222221122111211221112112122221221112221111212221121221222121122111221122212211111211121222211112111211121112112212222221121211111122111121222221222212111212212212212222111212111111122122112222212211111211222121122211221111122122122112221122111112221211111211111211121221121111122222111112112121212222122211221111212112111212122211121221122122111222122121111222222112211221222122222122211111221122221111111221221211121121111111111121112122222122211112122112211221111212222211122211221122221111212222121111211112221112121221111121211112222121221122112222111222221212222111212221122212122221221111222111222221112111211222112221122212221121211122222212121212211112212122111121211211122111212121221222221211122122112221222121111122221222121221211211221212211221212221222122111211111121122122211111211112212121222212111121112111122121111221212111212122212211221222211112222211221111111222221122111122221212212122111121212121122211122211121122222121222222122121111222212212222122112112111221211212112211121222111121112222122122211122111211221122221221211222122121211212122222111121212211122211212222122222222212212222222122121112111212211121221212111212112222122211211211221121222211221122112222112222211111112121221222122211122122222222111221112211212121122212222211211121112121211222121222121212222121211121122111212111121121222222111122222221212121211221112211212222221211111212221111221212122112212122222122112121212111222222111111122121122111222122222222121122222221211122221212122211112121221212111211221221122111221211222122212122122211112212112221211121221212121111122121211221121121212112111221222212122112111121111111112221112121212221212211111212112211212211222212212212222121112211121111222121111112212222121111221222212122211212122122121222111111211112211211122121211211212112112211122112112111221121222221221221221122112121222111222122121211121112222211112222221111211112112211111212222112121112112121122222221212122211212121221222212212112122122112211111121222121122211212112121221112221212222111122122212122212221222221121122121112112211212212212221112212121212111212221211111112111121121222112122222212221221112212222222211121222121122221122221121121121212121112212211121221221222121122111112122211211221122111112112212121111221121211122221222111222121221211122111222221121222222221211222122212122112112112221212122121111221221222121222111122221221221112211211122121212112111111211222122112122222111212121211211212211112122222212211122212211121211112111121112221211221221221121121221112121111111221222211121112122112212221121211122122122221211222121112111222212111121122211112212112212121211112221111221221211112122121121221111211121122112112221112122221112211222221121211211211112222121212211221111211211112221121121212211211112212121222211211212211222112212212121111221111121222121112121112112122221212121121122122211212212111112121212112122211111222122221212122222122212222222212121211221111122121112111112112222111221212111222121121222221111221222121112212222112221122222112111111221122112112222221111212112122212111121212222212222122111122121122112112111211121122222221122121111212221221122221212212211212222122122122112221221111222222212121211222122121211221112122212121112222112212121111122112212212212212122212221211122212111112122221212221211111122112212111221122222111211121111211122111111211222111211221111212211222212222222211212111111122211111112112121221211221222211122122122222211222111121112122122122112112121112112112112211111122211211221212222221121121212211222111121212121111122211211111211122222121211122111112112221121112221221122111212122112212212221221221221111212222212121222221222112222111211112212111212111112112122222211121112121121122122212211122122222221221222222221122112111212111212122212212221212221112222211122212121211112211111222111112112111212122121111112212122122121222111111221221122222122122121212122111111111221222122222222122121111211212111212222121222122111221122221112222121211212122111221221211122222121111121211111121121121112111211222122121222212112111222222221122222221111121211112122212111121211212212112222122111221211122221221111212122121211222212211121212122112112221122222212112112221112111211122111122222111212111212221211222112121212211222112211122221222111221112212212122112121211221221112121211111211221221221111221222112121212111122222221211112222112222112221122111211222111221121211211122211112122211111212111121121212211111112111212222222122121211112121121221222122212211112222112211222111122211221111112221221212212121222121221221211112212122122211121222122111121111122111121211212122112222212211111121122212211222121222221222111122221211221212221122111212122111222122111112121222212112111211221222122122111222221222222122112111211121121221221112111122112112221211222112111111221211221211212122122212222222121211222112111111221121122121222112112121122222211222111211221222111222112211211212122211121121122221122221112221212211212112111112111211122222211211221212111211212221122112112211222212221112222211221222221112111121212122122222221112211121121121211221222212212211121212212122122212122222222122122122222121121112111221121112221222111112221112212121221122111112112221222221121211121211221122112221111122211112211111122211222212222112111111112122221222211212111212211212111211211221212111111121212221221112122112211212121122222122212121121122121112122111122111222221221222121211111111111211221121222211222122211221111222211212211121121212221112212222212222111112111112222212212111221211222111121211121112111111121211212121222222211211122211211121211222222221221111122222122212111222122111122122111122221222222121111222122221122222111111112222112112211221221122112121112121111222121211222121112121212122121112112122111111221121211222121121212222212211221221121211221211111112211212211221121221122121122221221111211111211112222211112211121221221111111121111122221221211211122211111211221211122222212122211111121112121112221222111211221212111111112111122212211212212121112221211221212212122212122121121122122121221222111221222121222222212122221221212221211211211112111221222221111121221212211222121112212222222111211111222112211222121211122112121111212121211222111121211112221111111222121221221221222212121211121121111112111222111212221111111222211121122222212122211212121211221212121212211211111111121222222211121121111122222121211112121111221221112211212221112211112121211121111121222122122221122121111211122122222222112122111112111112222212222122211121121222221212212112221222111222221212212211211122111121112222222111222121222112122222221222122212221221122111222111111111222111121112211222121112111222112211221121122212222122121122212222122222121211221211211121111122112112211222222112212111222112212112122121212111112112121222211111222221211112112112111112222121121111212112212112222112212221221221212212221222122221121112112212112212221211122212222211111122112212122122121112112111112212222121111211222222122121111111212212222211121112211112122222221221111121211212221211212121121211111221212121221221222212112122112211111221211111112122221112211211212121122122212111112112112112211211122211122112121121122211212121121121122111112221212222212121111212121111211212221122121211221212222211221112212222122111111222122222222111212211221222211111221122111222111121222112222111221221111222222221121211212111221211211222222122211212122222111221212111122221222112211212121221122221111121212111112221121112112122222212111222221122112122211122122222121211122222222211111222212122121111121212122221112112221112222222211212121212111122112212121222121221222221222221111222122211112222121111121111111212211212121211121112121121111121121121111221212212221122211112222221121122122112111221112122211221211212111112212111121211212111112212112121211121221221112122222221212221221111122121212122121121221121221111211211111122111122112212112221122221111111111211212112112112212222121222221211121222112212212112122112121212112111212221212221111211111212212112112111111121212211122211122112212122111122112212212212121221211112121122211112222121211211212222121211112221221221122111221221121121122112222111222212111111221111212221222122222211121211112221112221112111112121212121221221121121212212121122121121112222211211222222211222111111122111221111112111212211112222211222221111122111212212212112222121112222112222112221211222211212211212121111122112121212211222211111122122211222222121112111212211112111112212112222121121112112122121112221222221112111122122221221212222222121221221221222211212112221121221111221122222112112122122121211211122121111211111211112112222222112221222111212112211111221112122212122111112211112211112122112112121221121221112211122121221112121211121222111212112221222122112211212112212122111112222222212111221111112122221212122222222121221112121212112111111221121111221111122111212112111111221122122111212212122212212111111121211212222221222122222222112121211211121111122121112212222112212211212211121222122122122122221122222212111121212122121211121212111221112111222111211112222111112222221212121211111222121212111212211111221221222222211222222212221212211211112111211222222211112122111212121121122222222222221121122222211121211121211121122211112222122121211122211121221222211121212122221111212212111121112212121122122112121211112211221111121211222211212122221121121221221211122111222222112221112112212122112211122122211112212222122112222212221222222211222111212212212121121211122112222222221122211111212112122121121221212221212211111222221211212221212211121212212222222122111222221121111111111212122221121212111212122211111222122121112211111222111212211112121121211121122212212211221222222221222112222221112121122121212111122122121121111211121122212222111122122222221112221212121121111122211111121111111222212121121222221221211111211221221222221211212211112222212221121112112222222222112122122222211221211121111122112212111221211112111122111122122212121212112111211211211121221121212212211122212212221212212121222222222222221212221211212111212222221221211221121121122221221221211221111221111111211212222122111212212221112212121112111211222211221211221122112111222221222222121221212222111212212221121111211122212121112111212221121121121212111122122211222112212112111222222211211122222112221222122122211221212222122222211222111111211122112211121211212211111211122211122221211111122211211222112111111112211122211122122122212122111121222122111111122212111222222121112121112221121112212121121221121212112111121112211122121112111221121111222211111112112122111111212112121221212112222112122221122222221121222211212221121212112111122122122212121111221122122121122112111111111221211212211222222221121221212221221212222212121221211111111212111121212211221112121121212111122211121222112211222212121122112212211221111212212122122121211122122221212211222221211222121222112121211221222112112212111221112122221122122211222112211222121111222111122221111111212212222211222222222212122111112121112111121212112221221112122111112121111221111222111212211222111122221211212122212111122112221221222111222222212112211112211121221222121211212112122111221212112222111122112111212221212221122211222212112111221121112211111221121211221112112122112122212212112111122222212222121211212221111212212121222211122111221222212222211222111111221221121111122112111221111122222212222211221221211122222121111121111212211121121112222221121121212121212221221221222122121221111112122221222221121222212122122222112221222222212221222221222222122111222111122212211112121122211222112221121122212111222211212112111211111122122221222121111211122112222221212112222122121222122222222122211121211222122121222211122112121112112122222212112111221211221112212222212121221211221121121121112122211211112112121222221121222122221112212112222122112222121122122122112122211111211211121212212221111211112122112222221212111212111121122212111122211212111221112122222211112222212111112211122121211122112221212111211211121111112112221122111112221211221121212111111112122121211112122221122222221212222212212221111211211212111121212222211222212221111121221211221111112212222222221222212212121111211112122122212221212111112221111111221211212121121211212222122222122112211211212212112212122112211212111211122122212221111112221111222211222222111221112122222121212221222221222222121111212111222121122212221121122112222211112222111111121222112112111121212121121211121212122212121222121111112221221121122112212222222212122122112211121221212222121111221111112211121221112121121221222222221112121211121222212112222111211211121121222222221122212112121121222121111111222112212122121112212112212122212112211122112212221122222211212122222211221112112112221111111222221121212111222212111212221121212122121111121112122111221222111112221111121211112211122211221222111211221111221212211211222211222112221121221122112112211221121212122222221211121112222221121211212111112221212112212211221211121212211121221222112212112221222212222112212121221111111212111112222222211121112211111122121112211112222121211212112221211121211111122122211121212112111212211112212211112121111221222221111211121111121211221122112111211221211212211222122122121211111121221112212212121222221112211121211121211221122211211122211212121211122222122122211122122211121212211212111221111122222211211212121212222222211112111121121121121112112122112212211221122121212121111121122112211221121112212112122221222222121121111111222121112222211211212211122212211112122112111112111122212221211211212211121211121111212111221212111212122112112111122122221121222221122211221212122212112111222221121111222122121211222112122112222222121211121211221212211211211221122212121221222221112212221211122121122122221222112111112111112121222212111222111122222112222211112112112121112121112212122212221112212211121212121111121212121112222122221121221212221221122221211221122122211122221121122121221121112111221211211221211212121111212221111212112111222112121212122112122122111212112122112111222212211122122212222222211112222212112122211222222112211212111122112221212122222221122122222211122111211121121221112121121222211112111122111111212122112212111112111112211212112111122111211112222111211222121221122122211122112212212221221122211212211112121122121211211222211122212112111111221112112212122212221122112111112222122111222122222211212212212122122222222221122211122121211211221122222122211221221121111122121111211122222111221122222121222121211122221112112121121112222121221222111122221121221121111121111111212222221222111122111212121121111112222222211211122211222122212122122212122111112211222211111221221122122212212211112212112221221121121221112221121122122122211222222122211121121122221221122111222212121111222121111121112211112121221222122121212222111221222222121211111122212122222111212121212221221221122212112122211212111221211212122122122122212211111211222112212221111211122211111111112222212212212222112122111122222111221212222221212222112122122222222211112221221122112222221112221221222221221212122121122222211121122212112212111221211222112121122122112122221111122211111212212211221111212222212112212122111221121212211121221222212222222221112122222111121121222212222121111122112211211211122221211112222211222212221222221122111121222122212111111222122111211222111211222211121221221212111111221111222122122212121112221211221111211121211112222121112111221122222112121111212121112122121121112222212222222121222222211221211121212212122121112211211222211111221121221212211211222112112112212211112221221111221111121212222212221121122111221112121121222121222122222111221221122121221112222111221221221121111112122122121222112121221222112212122112122212222212111222112111121112221212212222222121222212221211112221112122222221112212121211111111112112111112111222211221122211212221221211222221212221211121121121111122222212122112121112112112112211212221121112111222212211221222211221111122212221121122121122221111121221222211112112112121221122221121111121111121122221111211122112122111122222112112221122111121222212122221122122211112212222122221222122122222221211221211212222111112122111112122211112212112211211212211212222111221221222111221122211112221121122211112221212221222122122221212122112221221121112221121222221122222212121121221111211112111211122211212221221122211212212211221112112222111111112212112122121112121212111121111111211111122211112212212111211221121211221221111222222211212111112222221111112112222111122211221221111221221212211222112122212122121111222122222121221222121221222221112111111122112111221112121121122111112211222122211211211112211121222222122122111122112122221211112211221111222111211222121121222111212212121211211122111212111221112211222112111211112221221222121121122221122212112121112112121211112112121121221211121111111222122212111221221212212211121121121111121222121212112112211221211212211121111222121111221112211112221121122212212122221111221211212111212122111121211122212211221111112211121222222112221212122211111111121122222121211212112212122111122222111111222222112111122112111121212212222222211221112121222212111121211222112122121222221112211221121221121222111111221121121221212222111111211122221221111222221122121122121222221112121211222221111222112121212111212211222112211122222212121222222222122122111221221112222122121111111122221121212111122221212111112221211221122111211211212211121112212211122211212121122222121111111112221221121221111221221121212122222222111212122222111121212221111212122211122122121221222121211121222211212222111122212221212212211111212211211221111112212121121221111212122222111221211221211112112122122222222111112222112121221211221212111222222111222122222121212122112122211111212112121221212222112122222211111111221212122122112222122121111212112112221222211111112112211221212211212112112112121212222112211111111122121222222211222111111212212212222221212211221121112212121221221221122212222111222121111221122111221212121222122212211212222212221222221111221121111222222222222221111222221121122211122122212112211221221211111111121211222211111222221122211122222112111121211122212212111112112221121221222221221111122221211111222212122222111121211222121121121111112121211211112122222222211122212222111112222222211111112222121211121122122112222111112212211211212111222211121212222222222111111122212221111112212211111121121122111122122112112112222122212122221111212122222212121121221212211211121221222121112111111211111122212222222122122212212111111212211222211212112211221111121122211122112221211111211222122222222112222221112122222122221112121211112211212112222122221122221211222122112111111121221122121121211221112121212221122212111221111211121121112221121122212122222221121112211221122221211222122122112211122211122211122222121211222112121111112221212212222212122112121222222222122212121112222121111111111112222112122222112111221112111222122221121211222112221112221211221112112112212222211112122121222122112222211112212212122212222222211221212211112222221121211211111222211121121112221111212121211111221121212222121221121211121212112122222222222122111122111212211122211222121121221222122112221112221212121112111222212121121112221222222121212222112112212112211211222221121112212122212222112212221112111112212122222111112211221121111211222212222121221211212221211121212111221221222222221122112112121121222111111222122112111212122222111112211221122222212121111222111122221222221211222112122212121121221222122122112112122222112111122112121112121222122121211222221212212221121122121222212211211221222112111211221122112122222212212221212121212221121222122121111221222121212111212112222111221222211211222211111221222111222211112222221122221221222222112112122121221222221112111112122222122211112221211112111212111212122121121121111122212222121122222121121112222212111221221122122111122121211211122122122121121122212112221121221112222222111112222121221221222122111121121111222112211221222212112121121211222111121212211111212222221221221212111112111112111112111112112111222221121221122212212212112112122121222111111121222222222221211212221121111112122121112222221211221112122111222122122222121222111111222122221121222121111211221212212212222221121222122122212222111111212121122222211121212211211212111221222221112222122112122112112112122112122212112121222122212221111212111212121122112212111121211121112122212222122112211211121221122211222221221122212212212212221212122111121112121112121221111211112122111221112211112112211222212122212122222211111211212221122221222121112222211211221221211121122212222222211121221122211122221111121122212211121111122121222122122212112222122212222212111222212222121211211121222121111211211212221221122212121121211211111111211111112222111111222121221211111211211122212221211122212211122112212111122121111212121211112212121211222112122111212221221222212222212112121212211111221121222211112212121112111211212211111121211222112221122212211122221111111122221222112222222111122112211121221221122211221221122121112222212112111222111111211222222122122222122122111212221111122111222221221121212122112112211112212212111112111222121212221122112211112122111221211212122221212222221211112222212122111221211122121112112211212122222112222212112122121221122122212121122222112222112122111112221221221211221221212221111121111211112212122112122221221111211111122111122112112111111121211121111222222121211111121221122222212222112222221112221111112112121221212111212111221211112122212112212121221212122211211112121111112122211211122121111111121211112121122121112212211211122122111121121222222111222222222212111121221221211121122211221211121111121221221111212222211221221112211221222211122221212122111212211212211211222112211121111112222221111222121222112211222212212221221111122122212122222212222111211111112112112121121121112121121221112222222212212122112111211121112211122111211222212211112121222111212121222121211212122222211122122121121121111112111212121111211121122211122112222122221122221112211222122121222111121221111211122112212221222121121122222122112111112211111122211222212221211211212212221121112212122222221122211112112221112222122222121222222122222222221211221122212121111121221221121222221122211222122121112211222121121121222121111121122111122221122122121121221112211111212121211122112112212122212121212222112122222222121221222221122212212121222222211211221212222212111211212221111112212122122112121212211121211212212121221122222222222121212121211121211122122212121122222211212212112221222212211121221112211221112112222222121221211111212211111211112222111222121211212112221221212111121221111221122211221222122212121221212111122222111221222222112222121122221111122222121111222212111121122121111211112212111212121112112122122122121121211111111121212222211211211211221121121221211111112122222212211212221121221221211222222111211111111221122221111121122222211212112112222212212112111222211211121221211111212221112211111112212212111111112222112122222122121112122112121222112211122112122221222221222111222122221212222212111121211222222112212111122112121111121221121122122122222221112212212212121221121121122211211221212112211222211222111121111122112211212211211111122111111212122122212211121112222121111221211212111122112121111222212211211212121121112121221221221212122112111212112121112211112122222212112111221111212221111121121122112222222212121221212212211121121112212112111211111222211211221221222222122222211112211112112122121112122112121111122212121221212111121121212211112221121221111112222122112222211211122122211111112221212121111112122212212122211111222221112111111221222211212122111122121212212121112121211122221122122112212111222221221121211111121212111121111122111221211121222112221121121122222211212121122222121211222122112122121122222221112221122122211122221222212122211222221121122211121111212211112111121121222121122111222221112112122212211121122211221121112111222221222112211222111221221222211211121212221222112122222212211222111121222211121211111221121212122121211211121212121112122122221221122212211212121112111222112111221111221222212112122211122122212212222111112211222111211212122121121121122212122212222211112111122122222212121212211112212111111122211221211122111221222211212121111111212211222112122211211121212212111211121122122222212111111112212111122222112111212111222112211211111111111212111121121122211122121111222111212111211112111211211221221122222221122121121112221112221111212121211111122111211212221111111221111112212111112112112112111122221212212122111122212212112222222111212211211222222211121222221212121121221211121221122112221221121112221212221121212121112212122121222221121222211111211111122121222212211111122122112222222112111212211112111222221112222121121121111111121111111121111121212112112121212112222122221212221122122122111111211222122112221122112222222111212122211122212122111221211122212112221121221222111211211221121121222211211112112211111222212212211212122221212121122111222222212122122221221121212121222122221211222221212212111211212221212122112112221212121211112122111212221121112112121212221111212122211212111112211221111222212122112212112111211112221122112222212222222111121112111122211221221122121122222121122111221222121112212111212211122221122222212121221222122212211121221222122212222212111211212221211121122221221211121121121221112121121112212212111222211212212111111212122222222112122222112112121212122121211111221111122221222111112211222211122211211111212211221112121111122221221111211221121222212212212121111112112222211222122221111221212121122211111222212221212121122212221212212212112221211221221212112112212122112212221211121212121221112222212221112212211122212212112211112212121121122121212122122121222221121212221211121112221212122212212221212121211121212211211221211211222111211122212111211222222221221111211121121111221212221211211121211122212212112112221111121111221221121211222211211111212212112121212221112111121121121222121212121221121222111212111211122211112122221112212111211112111211122121222212111121112212211222112211221212212112122111222221112221121111111112212212211112122111111221211212212212211112222121122211221111221212112112122121222222121111111212111121112212212122122122111211122222122121112111221122122111122222211111121211221211222111112211111222112112112212112121211212122221111212121111211112212211222212221121121222111122211212121112212112212112111211111122122112212121112222221112221212112122222121111111222211212122222112221211111211222112222221222212111212212112112222121211222111212122222211112121111121122211221221112211211112112111211122121221121122212121112211212122212212221112221222211221211111211212212211211121221112222221221111212212111212222112121221111221121221221121112121112212212221221122222221111211211111221212221212111111121211212112211111121212122211112122121221212211111222211112111222212121122222212212212112222122212212111211221222112212222111112211211122211111122121122112211112112221222221121211212221221112122222111112112221111121122222221111122221112111111122221111122221122222111112122122222121212111122121212221111222122121111222121211222211221212211111121221111221121112211211222111212122212221111212121222221122121222122221111122111212222112211221222221211112122111212211212221121111122221211212121212111222121111211212121221222112211112112211121121111221211222211222122221221121221121121112122222212212221121112221212212211222212212111121212222222211122111112212222211111111221222112121122221111122211121112222222111212112122211111211122111212222212221221221211212211111212112212211212211222112121222221111222212122121122211112112122211222111221212112221111221111222112112121212222222112121122111122121212222221122112122122112211222112211221222121221212221222111111112211121121221111111222221221112222112121122111222122222122222121122221222221222212222211111121111222211122112122212211222111112211221212121222111112122121211112212121121222111212222211221112112221111222221221122112111111122221111122122212212112112221121212212221121212221212212211112222122111211122211111222122222122121222222122212222222212111212222112111122112212222222211211212121112211121111121221111222222222212211211111211112212122211212211212222222222112212111212112212111211212221211112121121221111112211122112122211122212122222112221111222221212121122111221121222212221112221122111111122222112112212222122212122121211112212222121111112221212121221122222111222111111121221122221211111221111222111221212221222212111121221111212222121111222212111121221111121211212112121211211121222221212111111112212111111121221222112122121222212111221221122122221212221111221122222121211221211122212212221111121121121212211121121211211111111212211111212121221111221112211221212122122111212111212112122112212122222222211211111221211112122222211212111221221211222112221122122111121211221111212212121221112212211211112211112212212122122222222112211212112212121112112222111111112122111211112111221121211121211211112121212212212112212222221211121221121121212222121222122222212111212222221112122122221222221222212222122112221222222211222112221112121222111222221122122222122222221221122222221121122212212121212111221112112111121121111121221211221211212121212121121211212221122222121112221212222212112112212222221112212121221121112122112112211122212121121121112222221211122122112221212222222111121211122112211122212111112121112212121222112212111112211112221122111222211121122221122112212122121211222121112211221112211211111211112111111121212112111112212122122122221212122111212211112222222121112122222111222221222112212222122121121121111122211221112212222212121112211222121222212111221111122121111211112211221112121112111221111222222112221222122121211121121112121121211121211122122112211212112222221121222122222111221121221211221112122122211212111221221122211212122211222212211222111121122111212222212111111121111112221121112221111221122211121122211111112211122222221221112112221221222122121121212221122212121222121222121112121112111121121211121111121122212121222221121211212122122212112121211112111222212122112221211221112221122111211221122112222112222221221111111212211111121111112111111112111122211122212212211211212112212122121212121211221222122111121122112221222111122112211212221212212122112122112112111222121221111122211112112112122212221212111112222121111222222212121112222222111122222121212122222211222221122221221211222122112111121122222121222212121212112112112212221222121122121111111211111211211221112111112211121211222122221122111112222121212212211221212112222121121211122122121221112212122122212111221122112212111222122222121112221121211221221112222222222212222111211111221111122112112121121211212111211121212121111111222112211111112212111222211222212111111122111212222121112211122222112211211122212211222222212212211212121122111221122121112121122122121222222112211111212211221211121211111211212222111211211111121111222121222122112111122112121211211221111221112212212122222112212112212122221112121112211111121221121212221121121221211222222122112221111121221222222122212221111122211212212222221212221211121221121122122211212222211212221211112211122111211212122122222212121221112221111122111212212211111222121121221121122111122211211121121111212121212111112111121121111211122222121212121121221222212222221111122211122211121122222222221121112112122121221221212121211112211212221211222222112111122121211111111122122222221111122211221122121221222121112121212121211212212111122221212122122212222211221211121211211222122212212211222122211122211122211112212122222222121111122111211112122222211111122121211122112111121212211112112112222122111211122122112121122221221122112212222121221221122122111222112221211221212122111121121211121211112221212121222212111112211221222111221221212221121222212221121211122122111212221221212212211121222112112112221112121122211211221211211112221112211211112222211121111112221211222221122212111122212112112212211122211122112112212111211212111211111221211222222222112221222121222221121211222221221121121111112211122211211121212111121112112222112122112221222212212222222211211121121221121112211111222212211212212111111111111221211121122112122122221112122212112221112112121112222112212112121112122122221122222112112222212212111121211222122122122122111122221111221121122222112122221222212111212111212221221111221122122121222111212221111112122111222111111212112222121222121222211221112221221221211121112122221222122211222212122212121122112111222122222211221112212221222222122112122211111221221211222122222212211122122111221222212122212122222112222111212211122211112112221111121222122121111111212221211112111121222212212121211212112112121222112211222112122121222122112111212212112122211112212212122221222221112211112222222112212122212222111212212122211122221222111211222121122112112121211222122222212211112111112222121121221211122122211111122122222112222222121211212112221112111212221212212112222111122222212122121111121212221222212122121112122211212222212222211121212121211212111122211121111121211222111222121112212111212121221122111112221112121212212112111112122222211112211121122112211221222121122112112121111121222112121121111122222211222111112211111122112112211222111221221111221122122222222122211211121212222211121212111211121222221122122211212122112212121222122122111222222122122122121221212121122221221212211211211121212111111122121121211112122121112122211121112122221211111211221212222222211121221211112222212212211221221221111122122112121211112121122212122221112112122121112222211211111211221211221212221212212222121212112112222221221221121211212211222121222211122122112221121212211212211111221211112121121111222112221221112121121111212221111121222112222211122111212222121221222222212121111222112111222121122122112122212121121111121221212122221111111211111122221112111222221111111121121112221222211122212222111121111122122121112211222212211112221121211112112222222212211221121222122122112112122112221121112212121222212112221122221222122211112222211111211221122222121112111221112121211111111111122221222222222212222111212111222122221211122212121121221211221112122122122222122121211112122211122121121122112121111121112212121221221122111221221112121122222212221122112111222111212221121212212112221222112111121121111111112222121221211212121211112111221121121211122111212121121221121122122121211112112222111212222111122211221122112212122122121212122212222212112111122111211122222211122212221222212112121211222112121121121222222122222212112222221221221111222112212212221111221121221112112222111122212222211222212112121211111222112122222122112111211121221112212212211111122122121212111112112121212222212121211212112111121122222121112222111122221221111121111121121222112122222212122221122212221221211211112212111111211111221112221222121211211111212211212112211112111112222221222111122122111222221222221112111112121222121211121121112222211222112212122121222221121221221112121122121222111121121221222121122121211221211122222221111112121122112112122222112112122121211112221111221121122111112221121111222222211111112221111121211222222212111122211112112221121112111111212121121211121212122122211121211122111121211221222122222212122111221211212212212221221221212122112211211121221212212221111112211121211111112211212121212222122221122221111212122111211211221212222211211111112211221121122212221212111122222222212112112122221111211121222122112112222121112122121111212211212221222112221122111112122112221222222121112221112112211112122222121212121212111221222212122222112211122222122121212222111121221122221122211212121211121122212221212121111222122111222222222122111222222222112121212112211212112221222111122112212212121211112112222112122221111112122122111222122121221212212121121222122122122122211112222222121121111222222122121222211211111211111221111111221122121222221122212221221112122211212222111122111222212121122211121212121222211111222121212222212212221112122211211212221121112221121111221222122121221211111221112112212212121112121111212212111221111112112222111222121221211121122112121211212212112212122211121111211122212212111222112221121211122112121121222111212111111222212112222122122111112121122211112222212211221212221222211221222221221122112221222221121211222221122211121111212121221211122212122121212111222121222121211212221222111122112211121221121121212121222221112112221111121221121112121121212122112212112112212121212112211121112221111212212122121221212212121121211111212122212222212121211122211212111121112222111221221222221212221222122111121221211212122221211112222112122212111221122222121221221211211111112121111221211112211222112112121211212221122112112122122212122121211222211222222211122222122222121112112122111112121122221122212221111111122122221221122221212122221112122121111122221221221122122121222211112121221122222221112211211112211212122211221111222122122122212212121112221212221121111112112112122211121222121111222112112212121111222122221221212222211122212111221111112121121221121112212212112222212111112222212212222212212111212222222211212121211211211112221212122122112212222222111212221222222221122221122112211111221121111111111122222122212111121222221212122122112212212122211112221121122221211212121222211212221212121212222222222122222122121122111112221111111221212222212212111212111121212121111112111221121121111212121212121211111122222221221112122111222122211111112222212112222121212121121111112211211122121212111222212211221211212222222112121212112211121211221212211211111222211211121121222212121122222222122111121212122221212221112222211112112222122112221212212122221212121121212112122221111121221111111222121222222212111222112112121221111211121111111111122211221221221222221212222222122211121212222212221112122222222212222122121121221111121222122111122221211212121122122112222211211121212211112122121221222122212122222212222221121112121121222221121211221221212211122211222211211212222122211221112122222122222121111222212212122211222112111222112221112111121221211221112222211121211112221211122111221222122211122111122212121112212121212222222121112212211222111212211212222221212222112222112222211122112212212122122212112122111122222211212112122112111212221122211221112221212222211222222112111121121212112221221112222111111122211212221111222111212212212221121212222112211211112122111111212221122211212211111221222221111122221111221122121221212111112221121122211221211111212212111211211212222211112121212222221122222111212111211211222111221111112121222112121111111212112221211221111221222221112212121121222211221112211222122121112121121211121211221112121121112212111221122211122212121221211122122221221121222111112112121211121111212222121221122112222111222221121221221221222212222121112122121122121112211212122222212122122121221112122221211211211211112221212122121221221212211221121111122121122122111211212212112122212212211212222212111111112221221222121112212122112221111222221222121212122122122212121211212212121212212121112222211221121111121112212211111121122221221221222111111112212222221222111221111112222211111222211211122112222212111121111211121221211112211111222112221222211221212212212222222121121221122211112222111111222111111222122111112121212211121121122121121111121212121221122212222122211221212222111121112121112221212122122112222212111222222211222222111111211212212122212211221222122221112221222222221112221111121112211211112212111111111111122212212121112211122112121211122111112112222211221212122222221112222211212212121112121221221221122121112121111122221121121111111122222222222111111212222211112122221121122211122111112222212212222122212211221121112222121122112112221222212122222112211212122121212221122111222222211121212211121111121221212122112221121112111111112122122222111122112222222222211211111222211112111121111112121122112111121121121111221111221211211222111212221212121111221221221212212221112111222111212112222121211221122112221211212121221122222122212121121211221221212111122121122211211211111212121212221221111122212121211121212211122212112212121121112122122122222112221221212222111222122121112221111221122111111221222121121221211111122211222212122111212122112222222221111112211112212122221221111121112121211122112212111111212111122121222112211121121112222121121111221222112122121221222221221222112211211121211112112212112121212111112121111121122111121222112212212221222112112211212122211121222212221112122111211222122112222112121111122211121221112122212121122121221212211121121122121221211111211121122222122221221112112212222121221222121112111121221112111111112221222112112221111122122221111222212121212212222112211222212122121222221212211112122112211222121112112112122211222112111121221222121121111121212122122122221222111122211111122121222122211212112212221212212122212111221222221211122221212222121112222121222111121122222112222111211221221221121211112221221212121222212122221121122122222121212112222122222222211222211122222121122211212112212121211112222222122121121222221211221111111121111211221222121112111221112121121111222121212112211111211212111221222211221212222122222212221122212112212221212121212211222222212121122212222211212112211221122211222112221112211122222122111121112221111222112121121211121122121122122221111222212222112212122112121222111111212121211222121211221121222221212121112111211112212212221122212121121112211212211221112111221112222111112212211221221222212121122221122212222212221222112221222211121112111212111211112112221222122121112122111212122211121212212122212122112221221111212112221212212112222212221211221211122212122212122121112211212212211112111211222111111122111212221121212212111222221212222112212222212211221211211211211212112122211221211112122211112222122122222122121211221221112212121122112221111111111122221121122122211111122221112112122112122122211112122122211222222221122221111111221121211222112211121221222122111122122212112222112221121121112111112212221221122211111222121122111112112121222211122111111112222121111122212221212222122221222222212221211111121122221211212221221122221111221212211112221111221111221111211212211222211121212112111211222221112211122121122121111122222111211111111222211221212121122112122122111221211121221222222112222221112121121211111211212111221111112122212121112112122211212222222212212112111212222222112112222212111211112221112121221121211122122111121212121221122122122121122121122221112111221122112112111112121212121121122211221112221212212221121112122121222122221221122212222222121212121112111122211111211111221222122222211121122212212211212212121122221212221211211111212121221221212112222122222121222221111221121122212222212221221211221211112211121111111121112212111121221222121121111122221121221211222222121112221112212112111221221122111222222211112121122212122122222221121212221222222211221111121122111222112111222112112122121112211111111111122122211212111212212122112212212221121211122112112112221121221121122212211122121112212212121122122121211112221122112122222122121121111112222211212212121122112212111122112122112112112211211211111112212221221111211221221112221211221122211211212121111121212122212111222112211121112112221211122221122112221221212112111211122122112211222221211222212222211121221122122112112211212122111121112122122212121212111212112121111111212121212212112221212212112222212122221221112221211111212111122122111121211222211121121121212222222211221211122122212111212112122211221211112112211221211112121212122222222112212112122222112121122212111211221111211211211212221222111211222222222121122111222112122122221111122212122112122122222211222121222111112222222121121112112211121112222222112211112221122211111122221221121111111222122222221121222121211221121122222212122121122211111121112211112222111121111211121121211112212211111211221212211221112121112112111212112111111122122211121121112111122222112112112111122212222122121211111121111111222221211121211122222112222112122112122221121121221111121211221121112111122122221211112122211222112222122111212212222221222111211221212112111221121222121122221221211122212222221211212111222222211112211122212112221122211111112212112212222122122211221122112221122211221111222222212121111222221121222122212111121212221222212222111212212122212222211112122122111221122221212112221211122222122121222121221121212112122212111112211111112112122121111221111211211221112121122222112211112212221111212112112221211121112111222112212211112212112112121122112212121222222212222221111112112211122212222221112221211111121122111222121111111112211122212122221222222222121211222212111112211121111122112122122111211222221211112222121112121112111221212111111112212121122122111121222211122122112211222222121111212222211211122122121121221212121221122112122122112222221111121212122111212121122211211221112211221112122121221221111112222111111211222121122222121122222111112112121212212111212212122111122221212122222121222211221121212111112122121221222211112222121111211222221111121212122221121221121112121211112122111111111211221221122211122212111211121211122211121122222211111122112122112122211211211222112221221212111121112212222211212122121112222121112212121121112211212212121221221222112212211221111111111121121112222221111112112212211121222111211112121212222121112122211122222211211212122111221122121112111111211222112112221212212121221112212221121122222211221222122112212212221122121111112112122122212111112121222112212221212221212221211122111221222211221221221212222111121221112211221111112122121222221122222112122121221221121122212212111221111222222221221112221111212111111121221221211212221112111211111121221221121221222222222121222112112221112222122211112221122221111221121212222221222222211211221212112112221111122221121221221212212222122112212212122122221212212112212122211211212212221121222211122121111222212121122222112222222112112121111121221112211111122111211112121211222212111122211222122221221111221221121222111122122221212121221112111111222122122212121122212212111111212212212221112211112122211122122212211222112111211222222212221221212212222111212122221211122122122221112212112111122112122222122222221221211121212112212222221122122211111211221221122111221222211221222112221121222221122211212211222211121222222222111122122221111221122121112222121112211212111211222111212222112122211222222121221222111222111222122122212122122212112222222121211211121221212221221221221221112221222121121121221122121122112112112112221211112222211121112211121111212121222212122222112212222222112212221211112111221112122111112112212221212122222111211222111122212112121121211122212111121212121222121122212222122222212112222111222221211212121121211211121221212212212222122222212121121212122222212111111122121221112222221111111111122111221222221221111112212212111221211122222121111122122121122122212121111211121221212222222222122112221121122111111121112222221112112222221121112122112221222211211122211112122111211212212222112122121112121112221212211221211211221111121121111112121221221111122111122212221221112112221212122112212212111122111222122222211212122122211222111212221121211211212112112212122221211111211111112221111211122221112122121122221112221112221211112122221212222211212211211211221221221212111212222222222212121121222221121121111211222112212121112221121112222222111111111121211211112211122112211211121121212121211111222112221111221121121221121212222221212221121111121212121111212222112221121121221121112122222122211112212111122122211122121112112111122222111111222211121111112222121222212111122211111222121122122222112122112212122221211122122211211111121221112212111122211122212121121221122212122112211111121211211212211222122121121121112121211212112111121112121111222112211211212212122221211212221222221112221122212121111212212112112122222212222212212211212121221111221112221222112112211112222112112222122111111111222212111212212111122111211221221121111211122111221111112211111212211112111111211122212212222221212112222111212112221222222122122122112212221211222111221111122212111222212212221122122211121121212111122222222222212221222111121221121221111222121111112122112221112212212221211122212122111121221222121211222111221222221212222121222111222221112212122112112222212121211221212122112121212221112211121122121112122212222121122121122111221122222122221111121121122121212211221111121212122221211221222122212221122122212211211121122221121211112111221221111221121211122222212221221112121221222122222221211111112111221121221211122211112222221122211122222121222222211221111121111212121222122211222221211211222222111122112111221221121121112212222111221122222211121211122222111121111112222212112121212212212212111221212221221221212111211211211221221111121222122122112111122211122112212211122221121112212112222122212221211122211212122212211122222121211211121111211122111111211111121211121111222212112111222112112111221121111212211221111121221221112122221222221211212211211212221221111111111211111211211112112111211221112121222112121112112212121121211111222211221112121221111112222122111112211112122222112222121222121222121111121112221121221221221112222121121221111122222211222111211111122112122121212222221121111111121221111112211111112212211111222212121221212221211121112211222221212222221121221122212112211212211111112222112122212222222221121211211222121212211122211211112211122212222221111112211112122112111212222121121112221221111211221211122211221122211121121221221112212222121222122211212112122121112211122122221211212211212222112121222212121222112122222122222112211221122121222122111212121211221211112212221112211121112121212221122112212121122212222222121111112222211122221122112112111122212221211211112222121211212211121122221111212222211221221112211222111111221221112121212212121221121112122222112122111122212121112111211212122212222212122212111221211221121122221211212112222111212112212222122121111121121211222222212222222211112221222122111221121211211111122122211111122121211221222121112221111112122122221122211111122111122122221121122121111212111121222212121112112112122212111212111221121111211212122112121212121121111212112211221212111111212212212221111121221122112212212121211121112111222112112221221122211222121222121222111112222221121212121121211222221121121121221211112121112222212111121212121121112112112112222112111112222121111122111211212121222212211221112121221212121221112111112122112111222111211111212121121121112112221211112112112122211222211122111121122121111221112112111221121222122212221211111112122112221222112121121221112221211222222212212222111111212112111221112211211212122121212212212211121122212112112212111122121211122222211222111221222221122111122122222111222221121221121221111122212121221112112112122211121222112221112112211211122112111111121121122222221221121211212111222211221221211111222122211212121221212112211121211121112112121222221112221121212112212211212221122122112122122211212221211221112121112221222211222221121122121112221211211112221221222121212212112122112111112211121111112122212212122122211211212212112222112212221221111122212212222122222212221112112122112211121122121121211112212112222122112111112112111211111121111122212221222122212211112122122122112112221111111212121212111222111211121212112222112222212122221212221221222212221212121122212211122122122121121112111122112111222122122211112212221112111111122212221221111211121122111111111122221211112211121211211121222212221122121211112112212222112221112222121221222112221111222222221121211111121222122222122122111211121212122222122121222212111122211122111112211111222122112122112121211111222111221112212211112222111211212211221121211221221111111111121121222211112121111112222221111212111121222222111211112211121221221221112121111211222221212212121121212211212121212112221112212112222112221112121222121112212221122111222121122212221221112122121211222121121121111111221212111221121211112121121121221122222222121112212212211221122122212121121111212112111221112212221211222111112211121212121222122122112211222222111212212221222221211212211221112121212121112221221112211122211121112211221222221222122221122222211112122222221212112111111122222122111212222121122122222111221112122111112222122211121222212122212121211212122212112122212111211222112211122222121111122121211222222111121111121121111222211122222111121211211221221111111221112212221212111121122111122112122112111221111212222212111222112221121122122221222221111221211111221222122222121122212112222221111112121211212211111211112212222221222111211212222212112212211122111222112122121111111211111211112221111121122211112121121112222111221112221221121111221211121111122121112122211112222211211121212222212222122211121122121222121122122122112212111222211121212112211222212122121121111211112122122211111211111111122112211211122121111212221112222111211122211111222121211112211211221221211221221122211211212111122211111221211222111212112111111211121112211112122111212112112212122222212121221112211121122221222121222121211111121221222122122122112121211111122211212111111222122212112111222222221212111222212112222211212211211221122112222121122112112222211221222112112121222122112211221121221211112122221221121212112211122112112212212222222121221121121222211112212212211121112121222212221211112112222222121221111211122111112211122222212221122211112122122111121212221121212222211212112111221112221222222111221212111212212112211212122122211211222112122211121221111121221111212111221222221221211221122121211112221121112222212211111111121111112111212221112221122221121112121222211122111211211222221121211211212111211112211121222212111112111111121222221221111221112111121121112121211222211111122212112212122121222221111211121112111112222222112112111221221121121111212112112121122212211112112122221221121121211121221221212111121222222111212111112212221211212112212222222211222121121221122222211122111222122121212222122222111112222122122112221122112112222122122112111121222122122111122122121121121222212121121211111212122122222222212112122111211222222122212212211222122212122111212222122111221211222222112121111222221221112121211221221121111111212221221222211221212122112211212212222112122222112211111212111211122221211122212111122122222222122111111212222111222121122211122211121221122121112221112112212111111111121211122111121211221111122211222121212212121221111122111111221211212212121122121122112111112112211211122212122211112112221212121111221221111122211112121222212112211122122111112122111112221121122122221221212211222112122122221122122122112221212221121221222122222212222211121222212122221122122211122112112222221112222122111212222121111121112211211222212121222212211112112222111211212121211222211212121111122112212212121222121112211111211112121211212122111122211211112122122112212222212112211112222211121211212121112122112121212112222112212112212222212211122112212112221211112212212122121221222112212122222212211222222121112221122221221221112111212111112122121221211121112122121222112122222122222222211221111121211211212211121112122211222211211221112211121221111222122211121112221222211222212122121212221221222221112222212121111111121212222122211121212122112111212112111211122111221222222122221212121122211222211221112212112222112212121111112122122111221121121222111122121221111111221121121211122122112222212212121212122112112222212112122221222221221122212212211221212212221122111122112212221111121122222112122212111121111111212111121211112211122122222111111221122221111121221122222221122221212221222121112121112111212112211221121212221211112221111111221112111211111222112121221112221222112112111111121212121121112221221221112222211221112222111212122221212111212211211112112122212211211112211221221221221121122212112212221222222112212211212122111111222222221111121112112212112122212122112111111211121222222112112112211112221212121222112111121221112211111122222212121111221222112111121222221122221112122211112112111221112112211221121212122122122222221111212112221122112212212111121212212121112222122111112112121211222212122222222222212112211222222112111112122221221221121121122221222112221111222221122121221122121111112122222121122211221122121211222111211112122122111221121112112221211112221112212212222121121112121222211221112121212122211212211222112221121212222222212121222211122121121121111212111122111222122212111211111212112211211112211211211222121111121221112111112211221221212212211222111222112112121122122211111112121222112111111121222121222122122212121122111122221122112111111222211112221211111121121221221111111111121122112111122121212212122112111112122212222121111112111112211221211121122221212221121112212211111112211222122112121212211221111122212211111222222121211111221211221212221221121221222121211111211221221212212121111212222112121222222111111112111122221121211222211121111122221222112222212212121112111222211121222222121221221222212222212112222111122112112211111122121111121112121221212111222222211122212122222212121222112121121211122221121212211212112112221121222122112221221112121211121211111112111211222222122122121211222221122112112212122221122212111211112221112112122212122221111212221111221212111212211111211111122221111111221221111122122121121212222222212121212122121121112122211121211222212112212212111211111222211222222112222122122121221222121211222221121121112211121112212211212111112221112222212221121112222212221211122122222221112121122221221111112222122112122221121211212122212221221122212122121221111121212122111112121212222222212122122121212122122112221112111221122222112222212112111122211122212222211111111122211112211221211221212222222121121211222122221111121222121111212122221212112211112221222112221111112112111221211121112122111211111211212112112122212211122121212111221222221122211212122212112122222212211222112111122122212211121122111222111212222111121211111211112112211222112121212121222221111211221111221211111212221222212121212111212111222221212111111222222212221121112222122221211121212111212121121122112121212211112222211211112112111221211122111112111111222111212122111112211121112211212122111111112212112112222222112212112211122122211112112211221112121111122212222211122211122122221222221211222112122222222121111211211112112121122211112122112122222122122211212212111211111121121112221222221122212121221122112211122111112122111122222121211211111111222112222121112222212112111122111221222221112112222211111112211212111222221212121122121221112212111112112212122211211222212221211221122111121221211222212112122222222211222112211222211121211121222112222111122211212112211112221112222222212212111121111122221211211221221221121212212121112121221212222122122212222122111212211212121121221211222121121212121111222112122122111112121122222222222112122221122122121221211121121222222212121111221211111121111111122112221122112111121121212121122221221221121221111221121222211111222121122211111111211122111222221221221212122211122122122221111112222122122221222211122221212212211122112212111111121222212121221211211121112112112122121211221221211212222222212122212211211121112122221112211211112112221111212222222121121221121221211211111121221211111222221221221121112111211121121122111211222111111221221121211111222122122221221211212211211122121222211222221111122111112121221122111221121121212212221212222212112211122111122111122122222212112122122111112121112112122222211111211211212122211112121121111112212111221211221211121111212122212222112111111221222121112222212222111211222222111222222111211221121221212212212112112211121121112122221121111121221212111222121111121212211221221121122121222212221221222112122212122222221121121121222211212211111121122222111222222211122221221122122121112222122112112121211122222112221222121111221111212112222222122121221112112221212212112121111212211212111212111212121112121111211211121221222111211121122121221221122112222221212111122212211112111212212212212112222221211111112121211211112221121111122211211212212111112111112212211112112221121221121112111112121222222121112222221222122221211111221211211121222121111111122222112121212212212222112212111222122221221112122112222222221221221111111112112221122212112212111222211112211112112221212212111212121122212122212111121222111212121211122221222211112222222112222111221112212211211111121112112222211222211221122212122222211121121112121221221121121211112121222211122211212121121121112111211222112122111121211122112222122122221111121221112221221111222222212111211112222111211221121212121121212111121211122112111212222221222121112122222211222211222212111122212211221221121221212122112121111111122122112111121112212112112212121212121112121211122121121221111111212222211111211221122121122211122222112222121221122211121112211221211122221111122111121221212212211212212112222222122222221111112211221111121111212112211222121121212121121111212212211121111221211112211221111211221112122121211222112121222221211211212211121112121122211111122121122211122222222222221112122121111122221221221121212121111221211211122122221211121212111221222212212221222112221111222122112222112212122121212121221112211112121212121211222211221122111122111212122222112122121221111112122221212111122211222111122221122221222211222222221122211221111211211122211222222111122211111122221111121221211121111121122111121111221122222111221211122212122111112122111121111111212122122222122112122212212112212222212121121211111212212111211121222122122221121111222122222212121221222121122211211211122211122112122112212121112212112211221222121212112211111112221112111221211112211121122222222122212211111121112222122121112222212112221111212221111212211211112112121122121121112112121221221121221121112122111112122111111222222212112122212212222221212221111211212121212111221221122121111211212111122122111122222122121222212121112111122212211111211111122112211122222111111121111212112121211112111122222112112211222212222221122112112222221211111111121222212212122122111221212121121211212222221121112122211121222112112112112111121112111222112222212112121221211121122122121122112122112121122211111211221112111212122222211212111121222211122222212211221221212112222222112222222211221222122212212221122122121121222212111221222211222122121111211121222212221122212112112111211211111112221211122221122111211212112212222221112211212221111121222122121211111211212221121122121222211222221122112121121221211111212212112222211112122112221121222221121122222212112112122212211212212221221211122122112212122112212211222222211111122112211111212112221221221222121121221222112112222222121212122212221212221122211212121212212211212112222212222211212121212122111122111222212221212211122222121212211221121121212221122122222121111211212122211122112211112211212221121111122111111221111212122112212221221121111121222121111121212122221122212221112121211211221221111111212221211221112211211111112112222211221111122221122211112121122112211222121122222111211211112212222221221212211212112122222212222112121212122222212111221212121122121212121211222221121221211221112111222212221211121121112211121222212111112122122222212121122111111122211122112222121221111211121122212111122212111111121122222222112211222211212221121121111112211111221211122122221212112112122121122222112212112121122221112111122212122211111112122112221112211222111221112111211111212222112221222121112211222221122111211222111121112212112221212122111111122211112211221211221111111211222221212222221111211211122211122221121221221221111221221221222121112211221212122112112211211121212112122112111121121221112211122221122212112221222122122112122111112222122122122221121212221122112221212111211221222221112122121121121211222122111212212221112111122221121211122221122222222211121212211211222122221221221212222212111221211111211122122221112222121211122222111222111121122112211112212121111221221122121211221221212121221121222211122112211112111222112212222211112111111112122222121212122111221212121112112211111111122211121211211111211112221112121122111121221112121221222212222212121222121212222222121222211222212122211211222221212111112221222221222212111111121111121222221112222211112121112112121221111112212121112111222122111222212111222212221221122111211121112221121211222211212111211122222211221122111122112111122222222121111121221212212222122212212111221111222121221221112211222221222111121211222122211222121111212121122222122221211222222211112222222212122221111222221111221112221122211112111121121122112222222221221222122222121212222221212121211222221111112212122221211221122112222122111122221121212211122221221211111111211211212221122221122221111222212211122121222111121221121222222112211121122222212222111112212211222122212211121111222122111221112122212211221221221222112111111112121222122221122121212111122221121221221122221112122122221112112211111111222121211221211112111222121112122121211121221112212212121221111112122122121112122121121212112122212112212111222121222211122121211122121211112212111122211111122212122111211212211211221112221222222112112122111112122212122222121121212212121222222222222112122112121122111112121211121122122212111122212122112122222212212212111221221121222222112122111221221121212221122211222121121111122212222112221112221212112211111212111222212121222121121221112222222111112122211111112122221222212211112211212111211211211121121111121211121212112221211112222221111111212112221221121121212211222212221111211121212221211121122111112222122212211222122221212221111222111122121211211221122122111212122221221212112121211222121112122212211222212221221212222212221222211111212212121112211212212222122121221111121222211221122212111211112221122122211122122122121111222122212121121212221221221121211111221211222221212122112221222211112112121211212221112121222211222222111111211221222222221111121112111211122221222122222212111212211121111112212121111221221212112222212111211122221211111222212111211112222111222121111212222211121211212112211112222112122212222112222211122221222112121122112121212111111122111221212211121211111221112112112111212122112212221222122212212122122221212121212212121122121211222111112111211121222221211112211121122122221212111112121121211211211111212121221211111212212111222222211211122111222122111221122121121212121222211212112211111112212222111212111122111122122221111211211111121221211222112212121222121122121211121212211222112112221222121221122211121221122211211122122212221112112122221121221121211121112222121121221121211222112112121212212121122112112212211222111112112221112111221122221121221122212211212121122222212112121111221111221212121111222221212112112211122222211212211122222212212122111121222121222111112211221211121212222221122121211111222211122221112121212122212222212111111121122221212221221112211221222221222121121212211221211122111211221222211111222121221111221211211221222111222122111211111212122121221111111122211211222112211221211222222122112122211112111222121211221222112222121112112212111212221121221111212122121222211112121222222221212221222211112122211212112211111221222212212122221221112121121212111211112111122121222121221111121221122112121211222212211121121111222222111112222212211112121121221212211221221111212122221121222212222122211211112112112122111211211111212212112221112121221121121211211221212211221212121222222112121212222121112211112111111112211212112211111211221212121121211122221211222212111121111211122222111211122111122122211222121121212221121122112221122221221221222122222112211222111211111122112211222112212222221121221211222112112222211211112121221211222122221212121221212112111112212211211222222222112212111111122221121121222212111122112212122212121222122211112122211121211211112211211221111121222222111221122222221221212122222112212121122122112122122222112112121212211112222112212212212211212112111221212211122111211122112212112211121211111211112121111111122211111222112222111221111221111122222122211222111111121111221111122112122121221121122111112111221122111222212212211211112222221121111112222222222212121221212221122222121111212111212211122211211212121221222112112111111121111212111121111112222212221211111121222221122112111122211112111222212121221122122221111212211112121122111112112221211221122112111211211222211211112121221211211212222111212121222112212112122112111211211211111121212211221212121222112112211111112121121222222221211111212221111112122111221111212122221111221212111222121122111221211121112111212211122122111221222111111222121211122112212121111222121111221211112111122111211211222111212221121111212222211122211112121121122111122111212121211222211221222221111212212222112222111211121111111112222211121211212112112122212122211221111221211112221122212111212221222122211222112221111121121121212121112221221121112211212211221111111112112122121222222121211112212222111111112222111222112121122122112111222211122212121221111211222122111112212212111211121112211222121212112122111121112121211112122211111212122221122212221222111111111211112122212111111221112222221221121112112112211212112122222221221212222222222211111122121122121122221122212121112222211211222121112122112222112222222111122211221121221212121122211211211221112112112111221211112212211121122112121221221212111122122222121122112121122221112112212222121121211111211212211211121211112111211222222221111121211212112211121111221211212112122212221112111211121211221121221122122111221122111211121111221112111112122122222122112212112222212212112221111211222212112121221122111222111221111122112122211122111212122221112212112212122211211122112112221111222122222221212211211112111111212221122212221122212112221122211121122212111222212121111211221111112222112221122212121122222122121212122211212121212222122122121221211221112212212222212121211111111212111211212111122111111222121122112222221212112211111111121122121212221211122121111111212222221211212112222222211121122112112221112211111122122121221222222212212211111112211112111211212111221122222112222112112122222212212122122221121121212212221212211122212221222112222212112212122112212122211222222121112111212122111221122211221211222222122212211211111221111211221111222112222121121212112121121112112121221221112221222221122122212212211211112122111112122112222122221121221221111221121121211212112122112221212121112121121112111112211121111222211112221112111122112112222212121212222111211221212221212112221211121121121121211222112212221211112222111221211111112122211111211222122121112222212222211222222212211222211222211122122212121112222222221122111212211222211211211222121212111222211212222212221122211212212111111222122211111121211212221221112221212122111111112121212111212212122212121121112111122111212212211111122211212121122211221222122221111122111112111211221122112121222212221211121111211122222212212222121212222112211222122122212121211121112212212121211221112221221221212122112112212212121122211222121222111121112111121212122122222212212222222212212111212211211222221112122111111121111212111211112122122212121212121222222111121112211122122122221111122211121122222112121111222112221111122212111122111112112112112212122222222121212212212121122121222122222222212211122112112211221111111222211221122111221121221211222211221221122111112111111222221122211222222122112211212112212111112212221111211122122111112221212112122121111211112212212122221111211222121121221111212122121112112112211212211122112111122122222221112121121122112112212122121221222211112212112212111111111222121121121111111211111122122112112212211121212121111112222122222211111222222222122122121111222222211211211122122112112212111122221211212212112211112122111211111112222121212112222122121221111111221121121122221111222112212222112221112222122112221121122121111221212121222122122222221221121222121112111212221221222112211212112122111112112222121121221122221112112212221111222211121122211211122212211221111122221211212112112121222222212211122211122212121112211112212122122221122212222111211211112212112222112111121121222111111212122212222122111121212222112222221212122122222122112122212121212221122222221121212121222111211121222211211221122122121111111222212212211222211121112222122222112112212112221121121121221121222212121112221212111121222111212122122212121212112111222221211221111212121111121111211212112122122121122112111212112222111212121111122111121221112121212211111211222211121212212122121121112211122122221211212122111222212111221221222121122122122121222222112111211111112211121122121112211222122221221111111211222211121221212122112112221222211212121122112111211112111112221121221212122221121212212211121122121212221222211211111211112221211221211221222111112221111122122122112111111222122121122211122222112212222212112121111111122111111211211122121221221122112222111221211222111112212222222222111111212212221221222222121221212121112121211121112122111122221212212211212222221112122112111112122111112222111221112111121212111211121122211221111111112211222222111112111211222212211122111212221112221222122111212221122222111121121211111122122121222211111111121221111121122212221122222221111211111111211211212221212212221222112122121112111221211222111121122111122221122212121122112122112112221211112111122212112212122211121221222221222111212122212122122221122112112221112212222222221121112112121122222112212211222122222121122111222221222112211121122111221212212212122112211211122211212112211222211222121112121121121221121221121111212122212121111211112111211121221211222221212121112211221211122211112112121222221222122112121211111111111221121111212112112122122212121121222112222211221211211121121111222211112121121122122212121122112121121121222211111222121222211111122122212211221212212121121222112222112121212221112112111122112222221222122121122221222211221222122112212221122111212222121121111111211212122122211122211121212121211112211122221212212212122121112221121121211222111111221221212111211111211211122122112112222222111212111122121221211211221222222222121222222112222112121221211111221121211212212211121211211111121121112212222111122212211122121112111121221222112121212121211121121111222111222112121121211221112111112121212122121121212111121222112211212112221221122221112222211122212122222111212111112221221211111212211222222111112211122112222212221211222222121121222111222221211212221122222221111122112222222221111121211122221222122122112212211121221122221222122222112122122211122212212212212122112212122212111212111112211122111212222122212212211212112222122112112111122121211212122222222221222111122122111221222122111122212122212221222211122111212221112212222121111221211111221211212222222222122211222121212211122212111122111221211222121221211222212212221212121121111221222111222111122222111222121121211122221121211112222211211112222212111222112211221122111221222112112111112221222221221122112111122121222211212111122122111112212212111211221122121112121222121122212221221222121222122121221211112211121222212122221121211222112212211122122221212111211112212112212112111222122111122221211221211221222122222112222122112111222221121112122112211122122111211111112122221221121112112122221111111111121121111212211221211222212221211221111221112221121111222222222222122111221111222121111212122122122212121212222211111121112211221221112122112221222121212222222212111112111111122121222221111222222122222222211222211211221221222111211222211211111112121222112112222112222212112111212221212221111111211111122111221212112221212122111212212211221221111111112212112112122222122221121112122211212122122211222221221212111111222121112221222212211122111111121211111211112211121112121121121212111122211111122111222111212111211221112111222121211221111112122221122122112212112111222211211221112211222111211222211111212211121221211211122212211221212221222211112212211121211222112211121222212111212211212222111121212221112211112111111221212112121121211112122122112221211121222121211221111211211111122112122212222112121212111112121211111121111221212122121121121111121221222212222121112222111222221211112121212221112221222122112121112111112111111212212121111121212222222111121121222121112212212222121211212121212211111122112211111122111122111121122111222211112122121111112112221211121122222221212212221122221211112121121111212222122222212112212121212212212221121111211222211222121122121212221121112122212222111211112111121111112222111212121112211122221221222212211112211211112222112211221221111211122112222212211212112121112121111112111111122212212111112112211111221211112111221111112212212122111211121222221212221121211122121122111111111222112221212112221122222122222121211121211122222222122222222111212221122122211112221211111212121112222222121121112122222221112111211211111212222221121222112112112112221212212211112121221221112111112112212121112112211111211221121112121112222112121221121212111222122211111122122212112122122122112212212122122221111112211112221121222221111111112212222121211222211221121121221121121121122212211212212111221112122121221111112211111211212221111122112112222212121222112212222121222121222221212222112112112221121112121122112211111112111211121212122212121112112221111212212121122212222211112211111112111221122221122212111212111122212111211221211221112211221112112111212122122212111112122211221211221212212211212112212211222111111121111211121221222221112121221212211211211121112122122211111212112121121121211212222112212122121222111121122111122221212122121212211212121122222112121122212111221121121221211112212122112122121111121112211111222211221112222222122222111211211122211121111112112212222212222212221221121222111222122221221222221212112221112212112121121212121112211212221122211112121112212111111122221221112221112221112112122111111112112222121222211111121112211112222111122112112222121121122121122221112222122211122221212221111112111121121221211222222222112121112121111112222121221212212112222112122111111211122112211121211121122121221111121222111211111121221111221112221212221121212222111111222221112122222112112221121122211212222221221111211211111121212111111212122121221212121112221122121111222112112221121112121211221221211221112112212222221212222211222211121122121111122121221221212112212122211122221112122221211122122221222121222121121211212111211111112222222222222221211212122112121112112122121111121211121112221212122211112121221211122211122121221122212211211112112221121122111212121212222112121212211121121122122222211222211212222122112221121212112111221212211121211111212111112222222222122122121221212111222222112222122122222212111112221221221112212212112212112222212221121121222221122211112112121111111222211221211221222211111121112212121121222222211212211222212111222111112211211211122211211221122111222221112222221112121111222222112222221112211222222212211112122212222111121122212111122222111211121111212121121222221112112221222122122121212112122121122212111111112111121112212112112122212111212111112122222212112111222121111222112211221211222112211111211221122212222221221211222112111212212122122112211222211111111222222212222211122121222122221121211222222221111222122121222111212121111212111211111112221122112222222121111111222222112122112212211211122222112211111122212222121211222222111211222111221121221222121112111121222122212122112211211121222211222121112122211112111222121221212221122121111121122211211122112222212122122211121122121121122122111111222122112112112112121112112221112122212111121221212121221222211221121221212212212112122212111211212121222221212111112212221211121221221211222122211221221222122111212212121121122222222221221112111122111211122211211112121212122122212212211211121122111122212112111211222122122222212212212111111212212112212112112222222211112212111221212112112221111221221212111112211212222122111211212121222111111211122121122121211212111222122121112112222121221121111122221121211122222211211111122111111221221211121211121222211212111221222222111222111122111212211221121221221111111122212212212112122112122221221222222121212122222211222122221211221221111221212211111111112222111111111122211212222122212122222221121122211111221111121221221121111112112122222222212212211222222112221121221222221222111111211122211211212222212222222212111111111211121222211122121122212222112221122211122221222211112221221222121121221112222121221121221211212222121221122121212212111212222211122122121112112211211222112121212222112212121211112121112122222111112122122212122221212122112111112212112111121222121121111112112122112211112112122121221221112222111212122212221112222211112112212212221222121212222111221122221211112122221222222122221122112211222222222122212112121221211122222221221112121221222122211112221122212211111211112112111222211111221111112112211222121211111211111212211111222111111122112111221112121122222222212221221222121211221222112111122122111221221221121112221111111122212122122111212122211121122121222121111222221211211111122122212112111121122122122222222211211211111111211222121222221211112112111211121222211211122111112122111112221211211211222211121121112221211112212111221222121111211222122111122222121122222211211111212121212121221211112211112222211121212112211112111222121111122222221111212212111221212222211212212112211212212122221112221212211221212121222211111121222212212222212221211221122211121122222222221111122112221121112111211122211222222221111221221121222211111211122112122211211222112212211222212121211212122121112211112112222122121122112122211112221111211121221211111221222122112222221222221122221222222121111111221111112212121222221211222112212112212122222111212222211122211212122111111121111222111212211112222221112211212112211212112112111222222221121222121122122222112222221121221222221221211211222212112111112112111211221211221221222121112212211212111222211111111222121212111121122212112112121211212212222112211212211221122112112212111222111222112211112212212211211211211122222211211121212222221222122111122111222112112112212211122212112212222212221112121211112112112112111211112111222212212221211121221112221121111212222212221211211122222112212122122112222121212111221211211112122211112112212212221112222221111112121221212212111111112121122111112212121221112121112112222121111222211211111222221122121212211212121111222222121122112222211222112111211112222212211111112122221221121121111222111122121121121221112112212111121112222111121222111111211112112111122211211211212212121121122212112211211222112212222122212221112121222211212221212211221221121221212212111211222121121221121122211221221212122222222111222111121122222122211112122122122112112221112211112122122221111121211121221121121211222112112111112111111221211222121222221212211222212212122112211111222112112122111221211121122212222122121112211112112111111122222222222221121221221212111211212122212121121111222122122122122121112212121122221222211212222122212222212212112122112111111221221111221112122211111222112212112211211222111122111121121211121212212221221211122111111212221212121121122221111112212222222122222211112222221122211112111121112221112111211211212212111112121211111121122111222111112111112221111112121212112212121211122112221111222211211111222212211122221122112112111211111221111211222121221121211212222211112222122221112212122211211111122211112221112222211122121122222222221122211212111122111211122121211222111211222121221112211212222122211121111112221121212111122121112211222211211212122221121211112121222222112211111122112122222221112222211221211221122211221111222221121122211122221121212222122211122111212122222111111211111211222111112222221222212111222112111111221122112221111122222212221211121212122211221211211112211122222121211221111211112112222122111212112112121211221222221211221111121212212221122221121222212221221112121112221211211111112211111122222112121122112121112221222112111211112212111122211211111222221121111222221122221111111111212121212211121112111222212122221121111222221121121222212221111111221122221111211111112121111212121112222112121111122111212122122212212121122221222112121112212111221221211112222212222222121222222121212221122121222212121221221211122221222211221111212211122111111212112112122212222222121212221212111122221121222212211221212211112221111111221122212212111111212222111111221111111222121222122221212122121211221221212111121222211222112222111112221222212222222221121222211112122122122212212211121122121121111211121211122112211211221122221122112121212212212111122111111222111111121121121121212111121112212221122111211221211211121121212212112112211221211212112112212211122212112111222221121222211121211211221221222221212112112122221221112121221222111122112121212222122212211221221112121111211121122112121221211221211112221121122122112212121222121111221212222212212221221221221222211122112211211212111221121212222221111121211121212112112212211212121222212121212222222111112111121221211222221111222211122211122122121211112112111122221122111222111111122122221111111222222211212221111221121122112111112211211212122111212121222112222112112212111122121222121222222121111112212111122111122111121212222121111221222222111211121222222122121222122211121211111121222121122112121121111212221211222211211112122111212121211121112221221221111121211212222111222122111121112121221221211122221221112121112121221122212212221122222121212111222221221212111122122111121111121122121121211122121111212122122112221122221112111121112112212112211211211122111221222121221112221211112212211212121221211222212112121121221111211112111222111112112221111222221121111222122121212111212122122222211221112211112222122112121212122221211211111112212211122122221111211122111121111212222222222112222212121111111112222221222212221112221211211212212121122211222212212112221211112221221112222112121122121121211121121111211211122211221221111112221122112211222221212222221222222212212122222112221111221122122111112112211211111211222112211111211112122121211221112221211212212111222222112111211122112211112211221222211222122112122112212221222122111121211222222212211222122122121222111221122112212111121221121112212112222211121121112111221112121211121121112212222122122121111222221222212112122211222211222122111122221112122212112211221222111121121212111211112121122112222221222222112221122122211211212122222211121211221121222111221212211221222212112121122111122121122111222121211221221212122112222222222121122111221222211211221211121112111222211212211121111111112112211112121221122121212122212122112222122121211211121212112211211212222211221122222111122211221112212211112121211221221112211221222212212221122222112112212221212112122212222212222221122121121222111121121212221121111211212212121221122111111212211111111211211211112112112212112111221221222212111112121122122211122212121221222111112212112112211122221222122112112111211212112212112112111121212122121211121122221122212222212222212112222112112222211222222222222112211211121122211221112222212112122222211111222122221212222112121121122222121121111121221121222221121122222212112111121121211122112121211222121111122122211112221111112111221211122121122212222111122221111121221112211222111221212211221121121222221212122112122211222212211221112111211111221211212121112221222212122122112221122221121121112211111222221212212122111212111211111211111122211121222212211112221122212221211121112222112111122121222221222221211121212221121122112122112211221121222221221111112121111222221112122122222222211221122111222121111221112111212211222221221212221211122111122211221222122211211222221222222112111122212212221212122211112112222212211122211112211212211112122121211121222122112111221111111211121112121212112111121121221211212221121211212211111121221121221212212221122211112121111122222222112211112211111112221212111221121112121211121111211212221212211121212211111122211222121222111111111111211112222121212122111212211222212212221111222222212121122212211211211222222122111221112212122111221111211211112222111112222122212111112222111122111221122211212211211212112122121122212212122221222112121122121211111112122222212212112212222222121122212121222221222112211221121211211211212122122112111112111222112121112212122122112111211212111222212221121221211222221111221222212222121122122212112121111222122221122112222121212122112111122112211211211221222121112122211221112122111122122111211121122121122212112111222122122121221211121222122121221122211211122112212111222211221112211121112122112212111221222112221122222111221122222122122122221211211221212211222121121112122211122112221122211111221212221222211212111111121112122212111221221211221222111111212211112122211222111222122112111122111212122111212211211111212211221112211111121221211222122211122111221222222221122121222211121111221112212221221122211221212112121221211111221112122111122112111211211222222211222122211211212222121211112222221221121212221111212111122222122212121122111211121212222122111111112222111112221221111212121222112111121221222112121221111212222221111112122122111122222112112122112211121112211221212212112111121222222211211112121111221222122112222221121212121211122121211212212122111211112222111211222211212221121212112112121221112222111121111112212111211221111112211222211212212122112111121221122212221122221112112222211111211222122122221211122122212121212211211221221221222211222112111111211212112121211111211111221111122221211111222222211212111212122221111112112111121212221222222122222112122211212222122112122112111212212121221112222212211212122122121112121221211211122121222221212222112211122111222121212111122122122211222112111122112211111211211111211112122121122222122122222121122222112211221221122122211212112111122212221221111111122212122221222111221112222122221121221122211212121112121221222121111212121112122221221212212221221211212211121122112112112222211111222221122122122222111112222121111212211122222211111111112221212112121112222112122111211111211121111221212222111122122222211211121121111111222111221111212212111221211212221122111112221121211222222122221222122222112111222121212221211211212221211211122111221211122222221212212211211211121111212211221111222211112221112211121121112221221122221222112211122222112222222112121121121111221121111121211111221222121212111122222212221221122211121122111212212121221112211112222221112211212121112112211221111112221112112111121112211122112121111211211211112122221121122112221111122212221211122111121122121222112112222212212222112222212211211212111121222211122122221221211111111222121121111111121121222111222122121221121111122112122211211221111122221111121211211111121111121121211111122121222211212211212111122222111222221222121222222122111122112121212211221112212122211211112221222122211211221112112212111121122212122112122111221221212222111111211111121211211222122121111222212222221212212222222221212122111222221112221111212122122222121111222121211222221122112111222122122221121222211121112121222112121212111122121112112122222112222222121121211212121121211111212221111211211112122221222212212212121212221221112212121222121211112121221111111111122211221112212222222211222112211122112222222221122112112211122121122212212121122122211122122112221222211211112121121111121211221222112121111122122122122122111121212111121122211111112112112112221111221222212112121221222221111112121211212122112221222222122111211122121211222111211211122212212221211212222112221112211222112211121221212212121111212222221221221221221211222112121222121222112121112222221122211122221121122121212212121212112122112121111122222112112211211211221222121111112122121122221221211121112121122112222122112122112211211121112112111121121211112211221212121221222112221112222221222211212222111122211222212221111211221222212212212122111212112221111222112112112211111221111122221122221122212121222212112221122111221212112111122222212222122121122222211212122121122212111111212121112211222211121121121212121211121211112112111221121111221121111211112222122112222121112212122221212121212122121211122221112111112211112122211221111112122211212112112112212212221221111122112221111112112112112222221121222111222112222121211122122111221221111122111221222212221212222211211212112122212112221212212111222121121211211112122221211111122122221111222122222211122211122222211221111112222222121121212111212212211212122212111121122221121212222211212221212212121221112222112121222211111111222111122221121122222112212112121222221221111222212222211222212221111122222112212112222211121121221111112222112211112221211212111211222222121122221212211212111112121112222222121212212121222122121122222111111112121121111211211121222112122111111121212211212221211122211112112121111212212222211112121111122111111221222122221221121111222221121112121121222211122111211211222122121212211222121112222122122122112121221222212221111212222212111221112111211122222121222122212112212211121122111211211221121112111111112221111112222212212121212221222121112222121122221122221211122111212222122112221221221211222222111121211211212211222122221211121222121111221121111212121221211122222111112211112221221221211122121112222221111121112222122121112211121121221122121211221221222221221211212211111121121222212222212111212211121122112111111212222211122222121122111121121112121221112111112112122122211211121222221222211121112222111122121222111212122211222121221212112121112112112122222221211221111121122222222121221222212122121221211122222121121122212221121111112211121111212112222121122122121111121122121122121212121211221121221121221211122212121222221122121111222112212111121122112112211222121122112212112121211221111112221121121112112121112111122112111111121222221212122122222122122211222211112211221112221222122111111212112222112222111212221111211211211222112222121122221221222221221122222121221121212112221121222121112211221121222122112222221122212122221111112211112111222221111121222212222111211212111121111222112122221211212122121111112212112121222221121121211221222122112221222111122212122222122111211121221222211122121211121111111122211122211122121111121122211112112122111211122111122111212121222121122111221122112222221122112111122211212212212222122222111111211112212122111121222222112212221111112221122211111112122222221212122121211222211222112221222221212211222222122221211222112221212111122212211121112211111222122111122122212111111222221212221221121121211121121212211111111111221112111211121221111212111122112122212112221221121221212111111122111112222112212121212121122121122112122211221222112211122121221122212211221111122121112222121222112222212111212122112111111122121121111222112221112111112121121222212121211222211112212122122111221211121211212221212212221111212211112211212111121221221112112121111121111222121211111221212222222112211122211211111221221212211111122212112211112211111122211121112112211112211211222111212112121221211222122212211212112121121222111221221212111211212211111221212121221111221212122211222122222122121212222112122212111111122121112122111211222122211121212121221111222121112222111121122222121221212211122122112221122121121121212211112222111212121111222121222112221111221211121122211222222222211122121112211112122111112121212211222121211221212222121222221112121221221221112121121112112122221111121122212222112112111122222112212112211222112222111222222111112222112121111211212112221222211212112221222212212221222112122121122121221211122111112222122122112212212121222111112111211112221121211212121122122212122122121122111112221111221111111112212212222112111112222221112122212121221222121122221112112111121222222221112112221211111111122221111221221221212211122121212212122122112112122111222222211211211121112222111111222122222221121211111212212221221212112212112222122121221121221121121111122221121121122122212112121221122122212221122122111112122222211121222211222222222122221111211211122112211221112222111122111122121211111212122212222112222222221112211212111122121121212211121222112121211212112212212221221121111212211221212121112222221212212212221212211222221222222222221112121111212112221121111211212222212212212121221112221111212221212222112211221221212222121122221222222122112212122112112211212211222222222121121212112212221122112111122212121211112221112112221211121221111211111222122212221112111111111112211121212122212121211122112121221221111111121211212122111111211221222112122121111111111121111222222212122221211121222121221212121122222122221121121212122122122212112212122211212221211122212112211121212111211122111221122112122222222122112111112222121222122111111121222212211122222122211122122212211212122122212212122211121211112111112122121111121122121121222221122222112112222211211122212222111121122221211111122212111122111121212222122222222221112122112222211222212112122222122122112221111121212212211221211221212121211222222122121111111121211121211111222211112211122221122221212111222121211112212222112112222111112121211212111111221211111221122222212112122112211221112222112122122221221211212222221112221222112122122122221221111211121112212111111212211221121212212122111221111112211122122212212212121212212111212211212211221222212221212111111211112212111121221221121222212122211221212112111111212211122111211221221112121112212222222222211212211221221212122112212122212211112112212212111221212111111122121121112111112212112221121222211122212111211221122221222211222222212221112111222222122222121211121211221112121212221211221122122122112122111121221112211211222122211121122111221121111222222211122122221111212121121221112121212212211222121221211221212221222212121211111222212121122212112121222212221222212121212212211121111122111221121211212222122222212211121122122221211222221122122222221122212122122222212112211221121212222112212221212212212112111222211211111222221112122121121221211111211211122211221212222112212221122111212122222221112111111221122111211222221221122222221111121111211121211212121221212211222212112111111122111222121121121111122212221121222112121111212112111111121122111112112211212211111211121222221221221111212211122211112222121212111221122222112112111122121222122121222111122112222112211222112222111222211212111121221111212121212222122121122222122221121111222212122122212222112212211212222121121211122121221121122222121121211121221211221221111121112112111112122212112122122111121221221211222112122122211112212112111222111222221111111212212121222221122212221122222211121221122111222122221222112121112212222121222121212221222211221121111212212122122221112212212111222121112221222212211222212211211122112211221211121211212121221122212121122212111121222121212211222221211122221111121111122221211221222212221211121112111122122121212122221222212122112211212111111112111111122221111222222111212212222121211212211222211211221122122112121122112111211211122121121121212221112212221111112121212212222111222122121222111112212212222112222121221211221212111112112221221121122222111121121212121222111122112112112221212112112121212112121122122121211222221221111122112212222212211221211221222111211211221111222111121222112122222121222221222212221122112212121111222212221221112112112121122222222222121111112221111211212111112121121112111121121211111111122222221222122112212211111122222122121112121111212111122211112212111112112222121221112121222222221122122122212222112122212212122222122112221212112121121221122211221211122222222222221222222222221122122112212122122212222111122111111112212121212111111212211212222121222222122221211221212211211211111222222222212212222212121211121221121222122222221221211211222111212111122111112111111221222222222112212211122112112111222222222212222212121112112211112121122122121212122211112211221111212111111211212212112111211111221111121211111111111121222222111211212121221121222221221121112121211211112122112111112211211211112112111121221121111111212212212222121211111222112221121222111221122221212122121122221111212212121211221112212111122221111112222112221211122221111122122222212112112221221211221212121211222212211212221221211222212221122211112222212212111222221211111222211211122122212121211121111222112111122221222222221121222211112211121212212212211221221222221112211221111121212221121221122112222111121122221222221222121221221212121122112211121222222211211221111222222221122222122212212121111122221122212121221122112221212212212222122221121112121112122122121122212212121222212121222122111211222111121111122111221211111111111112111221112222112121211112212221112112212222111112222221212122212112112122122222122121112211212222121122111211212222221122211122221111212211211121111121212112211112222222211111221121221122122121121222112221122111121112211221111211211122122221111212221122122111122112121211112222112212122121222111112221212222122111221111112221222222122221112121211222122111112122211111111111122211122212221221121212111111211212112122211112221221121112122222122222222211121112122111112111221121111211221121212221112122212221121111121111111112221212122222222112212212111212212222212111222121121112112211121212122121121122211111112111212212121222222121221111121111111121112112211121221111111111122121122211111112121212111212122121212211111112111211112122221211212111122111222221112122122122111112112211111222221222222212211211121121111112212211221112211222112122222212121222121122121212212222112122121222112212112222211122211221212212112122211112121112221211211212221212111211212112222112211221211111212112211121111221121212221221111111212212221212122111222121221112211222222112221111112221212112112211221222212111221111212212112212111212122122112121111212222211122121221122212211112222112222122111222212221222221222122111221211112121111221112212221122122221112121112121221221122111111112212212212112121221212212211211112111221222211212121111222211221122112211121112222212112211111111211212212221121211222111121212121111211221211211122122222111111221121211221212111112112111122121221222221211212112221122121222221221122222221111222222121221112212211212111211211112121211221211122211222111222121121211121211211111222111112222111211211111121112112111222112212221221222212212221221222221112121111111111212222111122212111211211111112111221112121122112212222221111112212212211211112121211122122121212112221111111221211122111211211111121211221211121111112122212111222212122212212122112111222112121112221222122111211122122121212121221212122122111112221222221122121121212112221212221212221211122221122211112111222121221121111221211112222112111122221221121212212211221211111221211112221212212112121111221221212122222212121221121122221122122112121222221211122211112221121222212212111112121221222122212111112222111121221222222222122222222211211121211212122111221221221122122121112211111111212121111121222122121122111121211121221211212211121222211222111111112111112221212222111211211111121212112121112111221122212122221211112112222111121111222121121221112211211112211112212211211112112221112212111222122222222212221222212122222121111111212111121121112222111211211221212222211121122122112212211221112212121212211211122212122222112222112222211222121212212222221221121222212222222211121121221211112121112221112222212121121221222122212221212122121111122121121222211222122211212112122221122112122221211211111112112111211211112112121112212112121122122211211122112121112112222222221121111111111121112211211121121211121121122222221122111112212222111122212112222122111111111111122212122222122112112111212122221212212221112122212121222221222112211212212221121211222112121112211212121212111222221112121122121211222222112222112221221211221111222111112112221212212212221221121211212121212212112211122122212112211121112112122111111121111221111222212222221221212222111112111211212121222211112222211221121222111121111122222221111211112211212111221111212122111212112111211122212222222222111221211122222212111112221211121121121221111221212121111111122122111112111121122211212221112111212122122211111111222121112211111221211212222211111221211122221212211221221122122221121121112221112111221121121222211212121121112212112211212112221212112112122212121122222212122121221121112112121112121211222221111211211211221212211222212121111222212121222112221211221221121112211212211112111111221222111222111112111112121221112122122212111211221112222111112111121212212121121221122112122211222222221212212212122212122222121121112211122221122221112211121212112211121121111111221111112121121212121212222221121212111221222111111211112222212122121211122121212122222212222221222212112122111211122122112122211221122221221212212212122212112111211122222112211122112111222221211221111112211111222121112122112122211121211121121121112122122211112111222122211221211111122211112211221212121112111121122212221111211122112122221211222222122112221121211122121212111121121212211221221221212211112112121111121211222111211122211112212111122112122122112121121222212121211211121122222212211222211221212221111222221212122121211222121222221221211122111122222221211221211212122221111121122212222121211112122211222211211122212122112111111112111112212122212222222211121221222112222222211111221121211112121221112121211222212211221221122121222221222112122121112122211121221212112112221122121121211111211221221122121121222121221211111121212112121112212111211221122112111111212222222222121111121112222111211122212121211112221222212222222122222122222122122122121121122221222121112222222112121112212112211222122111111112111111121122212211212211222212112212112222111222122212221111122211212121212212211111122222211221111221212222222122211221212112221122221111121112212122112221111222122122121221221112222122222112212212121222111221122112221111112211211112211211112111221222112121222222222211222121111212121222222222121121112121121221122112222222111212212111222222222211221211212212221122112222112112211112221121121112112111112222212121111212111221212221212211222222122122121212121112222212122222211121221221222111112111112222222211111111111111211122212122212221212112111122121112212211121211121112211121111112211222221211122112121112112121111122221222211212222212211111211122221111122111212112222212122222121111121111221122212212221122211121211122221222221111211212212221221212221222211112121211221122111111122221111211221112111221122221111121211121111221122111222121112112212222111122222212111122211211221212122112212121221221122121222211122222222211111121222121122222111212221122112221211211121122222212222221121211211121221111112211212111121122222121222121122112212111121121121112211112112122111111211122122222222211111221221222121221111212111112121222112122111221112121112211122222221212121111122111111122122112212222211121111121221212121112112211112221212211112222211222112212211211112121212121112211122112212212112212111111121211221111112211111121222111111211222111122111221121121112222212111121122221111222122121221221122222112112122211122222212221122121211212221211212222211111121121122122212122211222122121121212211212211121221112111112221112121221211212112211111221121111212212112211112221222122121211121111112211122221112122211222121112111211222212222112112211222212112111212212211221122222222121212111212111211211122121122212221222212122111111212222112111211121212121221112212121122122122112221221122221212211221221122212222121211111211212111111121222212122221111221112212212212211221121211121111122111112212112122121112121112122222211221122222212122222121111222222112212111112111111121121121111121222122122221221222111112212211212121112111121112222222121111222221211221112111212111111221111122112222221121212221222221221112212222111211222122222221212212212122222112111121212121121111122111112122211112211222111111121212221121112111121112121212112211211112121111221112221111212111211112121221212222222222121221111121212112211112121112211112122212121221212121111122111212222121112121221222211221112222222222122221112212121111111222122122211212122221222112112221221111121211112122212112122211112121122222211222111112122121121221212222222121212112211212121211122221112121212212112221211111222112222211211122122221112212111122211212111121212111221212212112122112111211222122221111211211221121222121122111211121121212122211112212222112122122122221111221221112211111212122222212221212122221211221211111212211122111222211212111121111112111211222222221222111221221212221112212211121111211212211111222121122221111112121112211222122112121221221222111212212221212122121111112121112221211222121212221122222222122211121121212112121112212111122122221221211222222221221121211121121211111211212111211122211111212111222111211212221221221111111111221121221122122111112122111211122122111111112122212211221121112222111222212112211221112122122112222211112211212222111122211221112122222112212211121122112211122112221211122121222121211211211111122222212122221211212112111121222122222122212112122122211111212122122111211221212211121222211212111111111211122222211211111121111221122212122112122111122222221122211221122222221211221111111211221122221122112211211211111111212222211212222222112212222222111112121211121211111111122121111222122211121212211221222222122122111112112222211222122222222112111121212222112112121212221112222212111222221121212122222221122211222212122111222211212212121111211111121111121212211122212222221122122211111111122121121122112221212121212121121112112212122222212122221111121122122212212222222212222222122111212221122212211111212111112121222121111112211121122221211211121112112112122112221111211212122121211221122211111122111222121222122211122212211211111122212212121222111121221112111121112211122222112122121212211121111111121221221212121212221121222212121121122112211221111111211212221212221222212222212211211122121122221111112221111112221211112221212212121221112112121121112122122221211212211212211112212122121122111221221222112121212121121112221221122122212212221122112111111212221121111211211112121222212221122211222211112212121211122122112121222221212111222211122211212121121112222212221221111212221122122211211222122212222111222122111111112211221111212212222211221221222221121111121222111111222121111222111222212221211121122222121122111221211112122212221122122211121212212111222121122221211211112211122122211122122122211122212121211122111122221211121111212121211111121211211222222221121211112222212122121112212111222212222212212221122122121122212211112111212211221222221121211111111212122212212121212121122221112112212212111221221111212222121221121122122112121112211212211222112221222221112112222112112221222121122221221121111221211112122222221111211211211211121122212222221122112111212212221111122112122112111122212211211112112122222221221222211111212222122111221221112122211112221111111111111222111212222221112222121222212112122121212221112212121222221111122211211112111212122211212111121212212211212121212111111112222111222112211122112222111121121121111122122211212211121111121121221212211121212221122221221212122112211212222122221111222112122211121121122212122212212121111112221212121212211121211222222222121111111221211121222122222221222121121112211122221122122111212121211221212211222121212212221212112221121111211111221121221111111212111122212111121112111222221112211221121212112212212111211112121221112222122221111211222221122122211222121111212221222212221121112212222211222221212212112112222212221122211112121122211222122121122211121211122212121121121211111222211121111122221212221111121122111121221122121112122212112121112121121222222112222212121212111222211112122112122112212122222111222122122111212221211212221221112112211111121222122211112111211122222212122221111222221211222222211121121221112222221111222112222212221111221121122112112222221221121211121212212212221121112212111122221111122212221211222122222111122121211221211111222221111121222111122211111121112221221211121111222111112111221121112222211122221211112211111222121212112112111222222111211212121122122221212221212121212122211112212111111212221221211211111211221222112122111222221112211221112122222212212221121121222222112111211211112111211112112222212111221222112112112212211111122122121112112211122221121121222122121222221121121211121222121122122211211211211212112112222112122212121221121111221111111222212121212121111222212221122222111121211112122111112112221221112122211121222221111122122111212121211112122212212112111222112211111221111121211222122211211222221212121212211221112111222222121122122112212111221122221121121122221222211122222212111221122121211122112221212212211121112222222222122212222112221212111111122212221211212112121111121112111122121222222212212121121222121122222211122121122121211122222122121112122221111222111121122212111221212211111121112211222111222112121112212212222212212221221122112211211122211112121122221211122222121212122112111111111111122211221212121211112222212111221121112211112211211122211211122211222211221112122122112211212112121112112122212112122122122222121111211222212122222222112122221112112222111212221211122221111122112212112111112222112212122211112221111212211112221111221211211212112122222121111222111121121121222111221222122121211121221222211121112211211212121212121212221222111222122112122222222112122122222111121122122221211211222222212112221121122121121111111122112221112122222122112111222222211212122122211112112112222112122111111112212221212222212111221222212111122111121111211112122221122112212111121111221122121112221212112221221211112111211222111112221211211221111122121112111222122211222111111122112222122211111122112112222121211121211212121111122211211221122221112211221121121211112112221222222212212121212221221221212221122122212112111121221121111121221111121111212221122121121111122122111211221121211111211121121211222212111222112112112212212212121222212222221112211112112121122212121112122121211222121222111112121222221112211111212211222122222122121212112212212211122112211212122122111222222222212111121212221121211211211112112121211112211211211221222121211211212212211122211122112122221121211112121111222212112111122122122111121222212222221112222211221212111111121222211112121212212212112122211212121212212122112112112122212112221212112121112221222121122211222221121122212221221111111212122212222221111222122112222111121211121211121222221211112212212111112211122211112111121211112211111111212112212211211222211221221212111122221122211221121212112121212121122111222222112212112211211222112222222212122111211221211112111111211221121122222121121122211121122121221122122222221122111211122222211112222111222121111122112112211111121212122222111212211121221212221122212111211112122122221211111111222121212221212112122211222111122111112222112122212221111122111211212212212211122122112121212211211221111121122121122112111211121111112122112121112111221212112212222221211211122221222211122211212121111121221212221112122212211112122122121221121221212212212111111212111211121211222212122222212222112222221221111221112211111121122221122221212222221221112222211222111121122221121121121221211212222222221121111121221112111121221122212212112211212221112121211221122221221221211121121221221121122121222221211112122121111221122122111112112121222111112221122222212112222122111112222222111212112112221211222211122111212212112122111122222221111221222112221122121212211122111211122221212211212122212122122212212121211121112211212111122221111222211211221111222112111122222211112121212112122122211112122212121212221112211211111122222221212211121121221222212222122222212111212221211112222221222121112121111222212121212211211212212221221122112122211222221121212221212221121121112121122121121222211222221211211222212211211221121121222222111221112212211112221121211122221121212111112112111122112111112112212122222122211221121112222122222211212221122221211222212111211111211211121122222212111111222211111222222221122121211212111111211122111112212121111221112122122222111112121122211211212221211121112221222112111122121212122112221221221222121122122121121222121222211121212112121211211211212222222221112111211222211121211111222211121221211111111122212122121222221112112111121122221221211122221121121221122122221112222112121122212212222211222122122212211112212122212111212121111112212112221122221122212122122221222212221111221111221212112222221221221212121221121211212112111111121121122122221122111122212212211211212121222222112112222212212111122211212221211111111221122111222222222222122121122111221212211211221112112112221122212222112122111112111122212211111112121122221212222221122222221212112212122122121212122121122221111212221221111112112221122111111112122221221212112222221111221121222211222211222221212121211222112121221212221221121221222212121122221212111121111112222111212211212112122121222221122221221112221122112112222211112222222221221122112221212212122221212211222222211211121211222111112121111212222111211121121221221121222221111122121211122112111121112211211111122212121221121111112222122122122122122222122212112112122111111112221222122212112221112212112122122212222111212211122222121112211221212121111111212122222212211222112111212121212111211211112221212122111212112212111111112221122112111211211111221122122222211112212212221221211121112112121212111222112121112211221121222212211111122212222222221222121111211122111122121111212212211212121221111211111211121211211211221221211112222111222122122111112222221111222122222122111212211122112211122111211111121212222121212121221111212122211111121212112112222121111221212111211221122112121212222211212212121122222211111121121212221111121221212121122111112222221222222122112222112121122212122211222111211211221211211212222212222222212212111121211221222112221121112222121212121211112121212121221122211222121212111122122211122112122121121211112211222211112212212122111112222112212222121111112211112221211221121121122222222111112212222221222211212212121221121222111211211221111121112122112222122111222121222111212211211121212212221122121211221222211111121121122222212212212121122222122211112221221111222221211212212211221222122222212121112212211111212212222111211111221121222211111212121221121221112221122122221212221221212212222111111111122211211112122221221212222111112111212121221211222121222211112222121122112122212221222122222111121211211211222211111112122122211111121222122212222121222222121111211121212122212221211222221212122212111112212122222122121111221112212222112111212221121121112211111211111222222112121112221121112112121111222212221112111222212121121222121222222221112111111212121121121121112222111122211112221212212222121212112111112212211112222222122111112222211212221212112222111221222111111221112121121112221221122221121122222121121111221221121122222222221221122111212212222221211111211221111111111221222222122212111111212212222211221112222212121221112112112212222212212122211221212121111121222222111222222111121221112111122221122121222212121221221212111121121211211121122122112112211222222211222111222221211111221221221212112121212112121221112222112111211212212212121222211212212121122121222111112122111122211222222112121221212112112221211211222122222222222222222212221211212212222121122111112212212111122211121122111212212221111112112212121112122222112111222112121122212212121112121212212221221211122122111111121222221221112112122112122211212112111121122121212111222212222122112111121222121221222221111221221221222121221121221122221211211221122222211112221121121121222112212222112221121111121121112122121121221112211122122222112122211111211212122121121122122211121222111111211211222222212222221111111121111211212122111111212211211112221211111121212112222122122211121122212111211122211111212222121212221111211212121112211122112211111112221122211122221112121121121211222221122211221222212212211122112112121212212221112111222122221221222221111111112211122122222212222111122121111211212122122212212212212122221122111112221222121222122112222221122121122221222121111111111211221122121211112112121111121211222221111121221221121121222212121222222111211211212111122211121212212122212111112222121121111212211221122122211122221111221221212221112212121112112212122121121222221222212221122212221112122112222211122122221212212112211212222121221122121122111121222211122111221122122111221121121211112222122122211112122112121221211111222212212112112212211112211111122111122211222111212222112222122221211211112212212122111111222221112212212121122211112221211112121122211211112222212112121121212212122112112121212121112122122211111212122121111111111211212222222122112122112112112211222111112221212122122121221112112111211221122211212121111121122112212211222112221212122122111112211212112221211211121122112221121211211211212122212111211112222121112222122122111222211211212212121221112121122212121221112121121122222212112221111122211212121112112221111221211212211212211221112221212112222111212221121121222212122222222212211212221112222112211122221222212211112112122112212111221112122222122222111212111121221221112222222111121221211221222112222111221111111212121122222212112222111222121222122222121122122121222112212221212212122121122111211212211111212211221122222221122121212222221221222112111112121121112112221112211212112121222112222122222122212211111221122121221222212211221222221112121121121122111211211112212222112221111111222122211211212212111112112121211122222121112122111122112111211122112111222122222212111122221221211211222222222111212122112221212211122112121112112122211222212121221212122211211121221221112122122212212112111122112222212112112221122212211111112212111211221112121212221121221122122211121211121122222121222221222212122221121121122221222211111111221111111111121221222111212212112121211212122122211112112111222112111221222121212222212121122111122111212222211222212112122111121212121112121112222112112121211121111111211211122212212212111211222122111211212221222112221112212212121112112221212111222112121222112212111111112211111121122111211112222111211211111111212122212122121211121112122111112222211121121221111212121121111222221111111211211112122212122122111222212212122112121212111211111122111121212221112112212111212112122211221222212211222121211122222121221122211222212122122212111111121121211111212222121212111112211212222122212222212211221122222212222222122112211112222211122211221222111112112211111221122222122212121212211112211222121112112112211212121222121112122221222222111211111112212122122122112111222212221212122111111222111221212222221212122111111222212212122211111121112121221112122222111111121211222122121121112112111112221212112122221121111221112112222212112112121122212211222121222112221112112121211112221222112121121221122222111212111112222111111111121222121212112211111121222222121111211222222121122121122112111111221121222222121222211222121221112121121111221112112221121122211221111221222221211112121112212122212222112221111221222112222111112212121211221222212112222121222221111122111222111121221112122121121212221122212121122212122211111122212222222221211121121222222221221122211212111211212212111222211112221121221112112122111222222112212221211211112212211111221122122212121111222122111211211211212122211112111221211111222212221121122121222121122212122212221122211112122211211212212221211211122221211211221121221111121221122212211211221111211211122111212222221121121211221111222212111211221221212122211122122222211212111121122222212121221112122221112121212111211221121212212221111121111222212211222112112112211211222221121121121222211111111111112112121121122221221212112222221112111112111112212122111212212112221121212111212211121121112211222212212122121212212122122111221222122121112121111222221221221221122121212112122221122221222121121211222112211112121122112221121121121212211122121122211221221221112112221122112222221112211212111121212222122211111211221212122122211221122211111211122122121112212221121111111111222222121122221111111211121112221111111122122112112122221221121212122221111221111211212211111121222112121211212221112212221111212122111222212211222112122122111222212212211122122121222121112221211221111222111112211122112112211111122112212111212111112222111212221221212211112211122222212111221221121221122112112122211222122121212121122211221222112222221122221111211211212212112212111221121112122221222121112222112211112112111121112112211211112221221111111122111112222111211121212222111111112112212222121211221212211222211111212122212121212222112111221111111212121112212222112111122121111112122112111221122211122112212111211211122222121222221222221112212221122212112111111221212222111112222212221122212212221111211222111112221111221221221221122221122212221121112221111212221112222122112111111221122111112111121221221212121112222211122211222121222121221111121122111222121211122121221121221212112221212111211121211221121112122111211211122121211222112211221122112212211221211111211111221222212211111212212122111121211212212121221111122122211222221211222212111122121121121121222122112211221212122222122111211211111211222111221112121122112111111211111212112211222211212122222212121121221222111222222122111111112221222212122222221111121122211212212112212112211222122211212111212112222121211111222212212121221121211212111211121222111122122212121222112111211211112221112222122122121111212112212121222121222212122121211212222212212212212211222222112211211211112221222211212211112211222112111122122222121222122111222222121221221211222122211122121111221221211121121111221122211222211122212112112112221112111112111112222212221112112121221121211122112212221222122222211221111222122121121221221112211121222111221212212121111122121121111212111121212212112212112112221111222121222111111222221112111111221212122122212111122211122211111111212212212111111112122112112211122122211121121112212122122122112221122222122221222112221222111221112212211112221121121112111221211111222121222121221121122212212121112121221121221211221122212222121221222212221121212222121121112122211212212211111221212212111211222111222212222112212211112111121212122121222121212122211121112122211212222211211111211121112212211211212111122212112221112221222122222111122212221112111221221122122112121221111111222111121122212211222112112112121111111112111112121221212122112111112211121111221121212211212111221121211121211212122121111221212111122122121112222221212221222121122222212222212221111221211211112121222222222212111112222222121221212112112221221222112112112212212221121221111211222112112121122212222221111212111122121112221122112211121122221211211221122111121122211221221111212222111221121112211112212211212211212212222212112122212112222212111221212112122212112112111112121121121112212221212122112212111221212221111211111122222211112122112211111122212212111211111122211111221222112221122121122222122111212112222121222222211112211122212211112111111222222111121121211122212122221221212221212221111222212111112222222122111211221112222121122121111122222121121222221222122211211222112222221122222122122121121221122212221122212111222222212212222122212122211121212221112122222121121121221211112222121112121122222222211221212111221222221121112212112111211221211211122211121222122122222212112221211211211122212121121112121122121122222121122111121121212122112111211112222122222221122111221222112122112112211211112222112122221211111121111221221121121211212211122211222222122212212112111111112211111221212111212212121111111122121221122222211211121221222121111112111221221122221112211221221111211122221212222212112222211221212121212122112122121221212222121122222122121211222211211211111212122221222211121122221222211112112111221212222112222221122212211112112111222111111222112112111112122211221122122212112121111221211222222121221121221121112212221111212122112111122211211122222122121221211112212212212212222111212211222121222111122212121112221222111221211111122222111122121111212211112211111121121211111111111222121212111211211222112112221222221211111221222121112121112112221211122112122111221221212211122112122121121211211111211212212221212122222122221222121212122112121112111122212221212222222111221222111112211221211211211212212211122211112222221222221121111212112211121112111212211121221111112211221211221211222112222212222122112221211212121212222211112212221221112112121211222221122221121211222211221211122122121122222212121122222112212122211212112211112112111221112221212212111122121211221212221222121211111211222122111221121222212211111111122221222122121111121112212111122212221212111112211122111112121122221111122112111112212111121112122112212121111212112121111212212212112212122211212111211222211112211122122111121222221121221222221222112111212222122221111212221211211222111212212212212121111212112211212112222112222211211111121111222211122121221221122221212121211112221121122122211111222222212212212121121221211112111112222212211121112112211211222221122212212112111112122221222122111111211222222111212212221122211212122221111122211112121111212121212112212112111112212211122212112111211121222111212211222112211121122212122112222121111221221112221221122122111111121222211121121222221212121211112112111112112111111112112221121212222121211122212122122112122221121212112121212121121121111222121222211222121221112111112211121212221112211221212111112111122122221222121111222221221211222211122122221222222222121211221111222111112221211111122211211112112111212212221112122112221122221121212221121111212221121112111112222111122122122211211222122122221112211111222111112112111111211211211221121212121122121211122212221212112122111112221111221111121212111211112212211211111222122111221211221212221112122112112121221222211121111121221111221121121212221212212212211111112221212121211212122211111122112121121212111211211221122111122122122211121112121222221221221211222222211221211222211212121221211122112222211121122112112222222221222121222111222121211112112112122121221121211111121122221112211122122222121122111111122211211221212122221212121221212122211111122112221111212121211211211121222122112112211212221222121221221212221222212121122111122111211211112111211212121211211111221211221122121212121221222211211112122222112211121122112221222221212112112111222111121111221121211112211112212121112111112122122212121111221111122212221211221211122212211111211221111121121212212122221222221112211212111121111212221111212121121221222221221122221221122111211122122121221211221112121212222112112222222112212222211222211122222212212112211221211222111211111212212221122121121222111212112122112222221122221221111111111221211122121212121122212222122122111222211212111221212212111221112111122111112112112212121111122222121111121222222222121222122222112121222111122121112221221221112222111112211111112222221211221211112112121122112212212112222112221121111111221112221111121122222211121112122221211212212112121111112111221221212112222122221222121221221112222111111121121122221212221121221211212121212221211222111122212122112122121222111121212211112122212222121211212111111222112222122122212111112221211221221111121111121122222211122211111222112222211112112221211112122111121122222112112112221111212111222211221211212112211122222121211211212211112122111211122111212211222221212112212111121112112211221122212211211222121112122222221222222222122121121121211112122212122222122122121111111111121111122121111222112122112112212112211212212122221122222211212111212112112112221121221121122122212122112122111222211211222222221222222111122112211211121212121221211121121122111111212211221111212211211121111122222211222221212211221221112122121211221112121221112111111221211111212122122111111122121112221212111122122211112121121212122212221221211222222121112211111221112211212122221121211121212221221122122222212221222112212111122221121112112212121221111211212111212122112212211122211122222222111222222212222112222222211212211221111211122221121112121111111121121121211221122112211221121111121222212122212222212112111212221221122212212212112122211121211111112221222112221222221122221212221121221122221211211211211121222112112222222221122211221222112111112122112221221112112111222222212122211111112112111222121212122111212212211212221111222111221112111221211111112112121211121221222222112112121111211222212121111222222112111111112222221112212211212221212111211222122112221122112122111221221211121112211112112221122121221221212122211111212111122222111122211211121111221212221222221112222121122211211212211221111122221111221221212112121111222122211221121122211222121221111112221112121111112122211212221212221121211211121211111222122211112221112212221122111111122211221121211111222212222212211222121222112222122212121211211212121221112212212211212111111211222121211112211121111222222212121221121212122212122121212211121121222211121222111122211222222222221222122111222111122221111211211222122112211212212122121221111122121112211122112211112212111112222221211122111111112211212221221122122112111112121122211211221211222211212221111221221112111222122121121111112111112211212121122211212122221112222121222111111211111222121222211212111121212212221111222121112211121212222222221221121211122211122112112211222111121221112221222122112212222112121122122121222222212112112111222121211211122221111111212211122222211222112111212112121111222212221221211112122212121221111212222122211212222121121221112221122221121212121222222222122121112111111222122121122112122212222111221122121212222222222122121221221111211221222222222121222221211112112211211112222222112212122121212112211111122222112221212212112221212221122122111121212222211221222112222111221222121221122111221222222221221112122121221112111111112112212122111121111222111211121112112121211122121222211221222221112111222211111221122112122122212112111212112122211221221221221221122212221211121222212212111121111111122122221222211111112222122111122111112222221212111112112212121121212112122211122121121222221222211122111211221112212212222222211121111212122222222122121222111111211121221121211212212122221212212112112211222221222121211212121221121211112122211222222112212212111221211221111211212212221111221221212211112212222212221222212222221211112112121221212111221111222111111121111222111112122111222111211212212211222222211121222221222122122221212121121211212111122211122112122222111221221221122112111211121121212221222211122121211222211211221112212222221212211112112122211121122211111211221221212122112212111212122221121111212121111121121122221112112111212112122211121221112111121221122221212211221122221111121221211222111221121112221221221121221122111122112121222221212112211121112112122211221211212212122111122222121212211121212221122211122221112122212111121112111221122212212212222111112112121112222222222222122111212122122112122212211112221112211211112211221222211221112122111112121221112112112121122121122111222222212221212111111122121111121121222122112211221221212221222112121122121111112222211122112111111121221222221112222221111211112222212211121212212112121122222122222112111111121121211121112122111122112212112112212211122122222112112121112122122212212211222112212212111112112212211122122212111221121222111222121211221222112121111211212121211211122122221212222121112121112221112121112222121112112121221111212212222222211222221112212122212211111122212212122211121222211122111222221211122221112111222122112221211111212211212212121122122222221111221222222221222122111111222211222121121221112111211221221221212112121122222221111121221212211121122121221112221222211212122221111222111221112222121211222122121122211212121112212111122121222221222121112121222212111111211222221121122221222212121211221121222112121222212122111212221212122122112212121111221212221211221122222111111121111212122211122222221121111222222121211221121212221221221122222222211222111122122121121121222211112122111111222221221212111222212222212121221121122211221221221122112212122221212122221121211121212222121112122221122111212111112121212122122122121111121112211222222212111222122221212211222112211112212122112222212212211112222112111112221111212121122122121122122122122112111111211222122222111111211121211222212122212211112122122111211211112122221222111212121121221222222121212222222212111112221122111111211121112111222111221222121111122121121211211121112222212111122111212221121222121112212122121211211122111121112221221121121212112111212122212112212122122211121122111211212211122122221111211221222221211212111121221111212211211111111221221222212211121211112111112222222222122211221122212112211211112211221212212212222112121212121122111222112221111212211111112112211121112222212121112221111121212121222121222121122212211212121112212121221211211111112211111222122121222212111222122122212221221221211221111211211121211121112112222222112221122211121211111122112112112121112222221111121222222212121221212222212122122122122212212122111222112122122122121121112111111211112112211121121112212222111122221221122211211211212212221122222121212212221222122222211112111222221211121212121211212121222112121212212111221221112112112211121211212112111121121111111121121122112122122212122111211121212121222211122111212222212211221212112211211222111212122221121222111112121211111111211111222212222121211211212222211212221112221122121121122222211222122122212211212222112222111121222112222221111221122211222112212212222212221211121111122212121112112121121122121111111222111111222221211222121222111111121121121222221122211221111222211221121112112221121122122221122121121111222112112221112111221122222212211122122112212211122222211222222122211122121122211111212121111221112212211111221212211221111111211122111112221121122222111122122211121221111221222121221222112122222112121212112212222222122112112111211111211121211111222122111221221122111122121121221221222221111121122212211221212122121221221222121222222212222211112121111212121211222211212212111121112221121121112211112221222121122111121211211112221112212112121112212211122112112212212211211111111212211111112111112212111112122222221212212212211122222121221121122221112112212111222212211111211122122111212212222111111112122112221212212211222211212221211221221112212112221211212211211222211222221121122222112122111112212112111122111122122211211122222111112222222112212211212122222221111212211112112121211122122211221222222122211222122211121121112222212212211222221211221112222112121122112211212221111222121221222111212222122211112212121122211212221121122221111111121121112121211222111112211221122122221111121121121111211122112221112122211122122212211111211212111211112222212221221221112212121211122121212222211212112121122222122121112111212211212121221222111121122121212111112111211112121222212211112221211121211221211221221122212221112221221212222211222222112112112111121222112121111221112121122221112122212222111211211121121111212122111211111221111221211111121112122212211221221212122112222211112111222122121111212212121221222212112111121112121111112111111221121122122111211121111122212211212122122221112121221212112211111121112221112221212221221111222212212112122221222112222111221121122211222122121112221121122122222112212121121212221121212122221122221112111221111122121122111212211212112222211122211221222222222221111121221112121121212122211122111111111121121211122111222112221222111211212222212111221221121122222112111211221222122112221221211112212211122221121222221222122221212221221222112212222221121222111211111212212221212121122212211221212221221111222222111121222222211211112122121222122112111112222221211212221112121121211111211212221111112221122212211111222222112111112222121211222211121111112222222222212222212212221222112111112222211121122112111111211121112222211122121112112112221111212211121211212111112211222212211221212222221221211211222211122221222122221212222122111122222222211112211221111121112121122221111112121222221112222211222222221211211112111121222122122211122212212211222111221112112122222211121122111122112112121222111221211122221211111122111121111111212122121112111121121121111111221112111211111121222112121111111222112122112211122221112221112121111111221111222212121221211122111121122122122222212122211121111222221211211112122112122111221121211222112221112211211221222212221221212121112222121222222121121211221111111212122222111212212212112111122221221111221111111112211111121222211121122122212222112121121212121111122122221112121221112222121211221112111122122122212221212211211221211222211221122211122121121221221121222221222122222212111212111121212122212112121111122222212121211111221121122212221121212221122222122212112121121121112112111221222121122121211121112112211121112221121122112111111211111122211121111111111222222211222112212221122122222221222111211122211211121111211221121121122112211112212112212212121121112111222212112211211121221212112121122222212112222211121221122121111211121211121121122212112222122112112212221222121211111112211112122221122212122212122211111222111122112211121111121212112122212121212111112221222112121112111211212211111211212112211122222221122111121221111121112121111221212121122111112111122122222121212212221112111221212112111212121111112111111221121122222122111112211222122111211222221121122211111122211122221222121221111112212111122121111111222111212111111112221111122122211112222212122112221211222212122211112211121121212222221112112122112112222121211111111211222111111112111121221212111221111212122121222221112221211121112111222212112111111121211211112121111212211121222111121111112112221112111222212121221112211222112212111112121221111211111121222221111122212121111111111121112211222221211222222111121112212222111121122222221222122111111111111111111211111221112222221122111122211112222112112221111222212211222111211211222211112211111111222122212122221111122212112112221111222222222121112221122112122112222122112122122111212121222212121111112111211222111222222211112222121111221222222221221121212222211121221222221211211111122211112212122122221112222121112212121112111211222211211111112112222112111112211111112212211212212121121121121111222221111222211121122121211112221122211211111221121121222121211212121111211112121112222122122221212221211221212222121112122211222122222221112121122111221111112211111111121221222112121111122111112211112121121221211221211112211211122111111222222212212211221111222212121221222211122221221222122212212111222212111121112121211211221212112211212111221211212111112221222122122212221111211111111222222111222212111212122112122121212212112112212222111222121121111211222221221121111221122212212111222111112221211211121211112121112121222121211112121111222111221121221112211112121122111112222212111121221122112211222222121212121121111211122122122121112121122112121211221112222212222211211222122122211222122111211111112112121121222112121121222222211112211212112122212211222212121221111222111222121122121211212121211222221212222212221122211121211121112222112222111122211122222221222122221122221211221112112111122121222221222121112121112222222212221122122222212222112122111212211212122222122112221111221212112112212122111211212112212121211111121212111111112212122122212111212121212121221212221221112222222122222112222111221112212222122112212112122122121222212121222222111221121222121221221121211122222122212112111221122121122221121112222212221212121222112212122111211222112121211222212222222221221221221112112211211211212212211221222211111212121111122121222221212221211221212222212122222222121122211122121211122112112121211122212121121212211122112212222212212221221221111221121111122122211212122222122222121212111112221121222121211122111222111212221121212221211212111221122212121121111121122221212212122121122112121122112122122222111222222111221121122121111121111122111121121111222121221221112212112111211112212111122121222211222111111221122122221121121111211211221121122112112212111221212211222121112121211211211122112212111211211221212221121121111212112221122111121212222222212212222112211111221122111122121122211111221122111221211122212112122111212121112111112122222211112211211211122111211211122211121221212212122121211221212221222221211211122212211212212211121122212112122212122212222222211122122222212222121221122221222212112112222222221212222122121112222112211212211211121212122212221111122211212111212221122211121112122222121111122222121211111111212211121122111222121222221221111222112122211211212122112112211121212122212212221222111111122112112122211211121111122121222211222111122222121222222221111212222221222112112111111111222111212111211122111211212111112221111211122112121211112122112121112122222222112211222121112222112112221212211121111222112211122212221121111221111212122212122211112212111212121222111111122221122122212112212212212111212122222122212112112121121122121121122112221111111212112221211122211121122211112212112212222121121122112122222212211221122111112222111111111112121211122221111212122222211221112212121211112221121111211112222212112121121212111122111221111211222112212212211112211221111121212111222111111221211221221111211212111112122211111211211112122212221221121112121121121221212221121222112221122111121222121222211222111121112221111122211222211122112221222221111211122221111111211212221121211111111112221221121112122222122211212222211211211112212121212212222212211221221121111112112212112122111111211122221211122221111112212122111212211221212221212222111111212212121122211121211121111221111211222211111122221222122211111222212212121122122111212111212121112121222211111221112111212122121112112112211222221122222221211122212121121222111112121222121112212111212221212121212211211111222122221111221211222111122111211122221111122111222111212221121121112211211122212211211222221121222112212221112222111221111121122211111212211221211112211111121221112122112111111111122111111112112211112112222111221221211122221112121122112111121112122222122121112221222222122112121112112222122211221221122211122122221112111111221111221122111122112211121221121121222211211112111111221111121221111111222121221122121121112211222221111211212121212112222111221121111212222122122221212221122111211121211211212222221111122221111222212221222122211212111212122121221222211121221212111212211211212212122111221112211221211221211221222211122222222111121121111222221112212212212221212211111111222211212212212212111221122212212222211222211222121212121111212122112112221222222212112121122112222211112211121212121112111122111221122222112221212212122221221211222112122211212112212111122221211221112122122122221122221211222111111122122221122211212211221212222222112121222111211221122222212111122122221222122111121122212111221111222212221121221112122121121112212211222222211121222111211112211112121212121222111221122222121111211211111211211221222211112212222122211121222121121212211222221211222212122112221121112212111122212222212212122212111112222111122111122221211221212122212121211111112222211221122212122122211221122111111221121111221122121222111221122222221211212222112221222212211221121121122122212121112122211222221121221221212222211111112112112212221121121221211122112112212121222122222122121211212112211111112122221122212211222111221211122111121211112121222221212221212112112121112212211221122212121212221211211122111212121211211121122222211122122212112111122211112212121222112121122121111122122121121122111121212221121112112122111111122111122121222212121112212122221122112121221221222112222121111222122221221112221212122211221111211111112221122222122211121121112221221112111122221122211122211211212121222222122121212121112211222122111212112111211111212112112212212111211221221111112222211221212112211111121112122212111221211111222122222121212121111221221121121211222221222111222111122211112121222211221211212221122211211121112221211221222212221111212222112221211211122122211122221222111112221112121112122121122111122221212112211221121121121212212112122122212212222122122212221222222211221121122212212222122121122212111112112221222112211121112211211121121222122112212222212122211211112122211211121122212111121112111222122112121111122121211121221212121111211221121212121111222222121111111212111222112121121111211221112221212121121211211212122211211212221211212112121121111222221212112121112122112111121212222221121111112122122121121212111112211212121221221122212212122122212112211112221222121122112211222111222121221222111212222112222221222212221122221221212122221122222121221221111122212221111122222112121122222222122221112222212122211111211212111111221212122222121121112222221121121112121111212122112221212111211111121221121221221121121111112112121221122221122211111121211122222211122212222212212111221112112111122121212122222221122212211211221211121222221112122122211222221212112221212211212122112112212221222221121122112222111112211122121111211111221121111222112212111221121122211111111221122112222121122122221222212112211112222112212222221211222222122222212211111221122122222221121111112122111211212121221111211111112121212112221211221112211222212212111112111222112112121112111212111221111222111111112222121222121112221121111111222112212212112222212112121222212122121211222122212122222212122112122112122222211112212111122112121121222112222111121122122222112222221222111121212221211211111211112122121222122122212222221111112212112112121212212111221221221211211211221222211211112221111112221121111112122211111221121112221222212211112121111221122212122211222211111111121211221121112121121211222121121211121111112211121121221112121222112121121112212121212212221212121112212111112111221111112221221212221111212122112121121221122212211211222122212111222111111111112111112112122121222112211212112222211111221212111122221211212112121121122212121211211112121111221122112121222122112221221222121121112222211121222211222212222121212121122111222221211221111222212212121122112221122212122221222212222111121111121222221221211212121211122122112211111221122111112122122121121221221222211112122221221222212222122111122121221222112212111221212222222121112121112221221212112122122112221222222222121122111121121211222212122211112111222122222122211111121211121121222221212221222121112111222221122222112222111112121111221112111112122111122212111122211221121221211221121121212222121121222121111211112121222221212112112122121222211112122211222212121112122222121222222122122111121111222212222212111211211112221121221122212122211222122111112212111122121111222221221111112212121112122111211122121122111112121121211211111221221112122221121212122211121122211212112122112111111221111122221212122112121122111211112122212122222211222122122222122222122221112122121121221111112111122111211221221111121122211121121112122222122221121122121111211112112112222121121221222221211212211111111111221112211111122122122111222121122222222122212222211111112121112221111211222212122111122212211221112221121122111222221121222222112112221222212121222121112112111112112111222122212221122221222112211222221121211221221112111222221121212121221221121112212112121212121112122212221221122212221112221221222122221211221222111122112122112222212211221221222112221112112211112212112221121111112112221212122111122121112211121111211212122121221121111222122112111222222222122221112121122212112222112112221222122211121112112111222112222221221122222122222122122221212121111222121211122222121211121122211212222221112221222222211121222212121111221212222222121121222122122212111121211112121112112122111111222122111211211111121122212212211212112122111111121212221121211222112211111121211212111122122121111111111122111221222122222121122212222221121112112121211212222122122122221211111112111111112122121221212212211211212212121212222211121122211211211121221222111122212122221122221222212121212112112222122122121211212111111121212122112121121222221211221222222112211211211211222121212122121121222121111221211211112111211211221121222222121222121111221212212121211221121111221122211222212222122211212221121221211212112221112111221221221221112122211221221211212111122112122222222111112122222112221222212112121212211121222112222221222211221222212112112122122121222212222222111212212122211112121112212211121212112112212111112122121212211112222212212212221221122122121122111122122211111222111221222111222121222212111121112211111211211122112112122212212212211122111121221122122222111121211112212222111111212211121221211212122211211122121122122211221221111222122112121222111211222211122222111212122212121221112212222212222111212222211112111221121111121211221212221221211212212121111211112212212122121111211221221112221122111212211211121111121221121111221112111221111212222122111111122211222122221121212221222211111222122221211212221211222212112211212212221111221111212221222111211211111222112122111122122222121122222111222112112112211222211121122212221212111122211111122121112212212212112121112221221112222211221122121212111212112222212221222121122122111122212121121111221112211122221211112221122122112211112121121112121112212211122122121122221112121211222111121111111221212122212221211121222111121212221112212211122112112222212121121221212211111221121121212111121121211111121121221112222212121121221212122221121112211211222222112212222122122211211122121211221222122122221221111122112212212212221121221112221211221121122211121121112122111111221121121121121122212221211111212121212212221111212211221122121121121121221221122122222212112221121221112122221122122111221211121211121112122121111111122222221212211211122211121111211122222222112121122111121222222221111221222111111111222221222121222222121112111111122211121122112221122212112212111221221112112112212111122212222211222211222211212211112122121122212111121221221111211212121221212122121222121211211222221122221121111222121122111212121222221212212112222221222211122221121112212112111222222222111211111222212111212212222112211221111121121222222211221212122222121111221112222221221212211111121212121212111122111221112112211112122111212121222112212212221222112221111222112221121211211221222111122221221111211211122122111111111111212111221212121222222211121221122121222112211122222211121211222112212222211111211221212222121211221211112121122121222212122121111222211111222222112111212111112121221111122222222211211122121211112222222221212121121121222121211121121112212111112122222111112121212121222212222211111111222221111221212221221121122222211111211112221112211222111222212221121122222122221212122121212121121211222211211211211112211111222212222122122111121222112112122221112121212121221222212121122211111122111121211122221122111221112212111222121212221121122222221222221222111112121121112111121212221121122222211111121122211121221212122112212122121221122221111221112222121112211112112121111112122221211221211112121112122112121222121221121122222212212121211112122111112222221221212112222112221222121211121211211211212221111221221221112112121222211211121112122211221211211122222211122222122111221111111211221112122211222111111221222211111212221221121112122121122222111111221222121211222122221111212111211111122122222211221122222222222112111111211221122122212221222221122211211221112212222222111211112121221212221111121222112221211111121112112212222222221212211221212211112112221222122112122111211112111112222222212222111212222121112111212121222221221122222212222222121221222221111211121112112122112221112222221221221221222111122112121121221121212111122122212221222212122211222211211112122212111211211112122122222111211221121112222221112112121121112111212121122112222111111222122222122111112111111122121111112112221211112121211211211112211111211222211222212112221212112222221212221112211222121221221222211112121111221212222112222121221111211211112222222121121111211211111212111111111212222121112222221221211112121111211112212122211112222111221222222221212211221121222122112221121222122211222222222212121112211122121222111211221111221122111222222212111111112222221222212111222222211221111112121111222112221222121111111111212121222221222111222212111122112221211112212212112222221122211121111111212112221122122221121221122222121221121212121121212121112212211111211221111211222122121122221222111112111222122211222121121211222112111221122211212211111211111121111211211211222121111222222111122111212212112222111111221112121212121211211211211212122111111121111121122212212122221122222122211111121112221122221121112121212221122222122212121211111221122111111112212121112212222122222121221121211122112122121211221211122221121222122111122122221221222121111211121221212121122122121211222212112212211121222122211111122212112121221122212221211121222121112212122122222221221212222121222212212112111112222221121111111221212221212121212212222122112212112121111112212111211212122112221121211222221112221211111112221221212112212121221111112121221211122121222222112211221122221112111111221112111222221121221221112122221112212112111221221111222211122221111212121212211211221111222111122121112222111212122122211212121121121222111221221112122221221222212211221212112211221112112111211111121212221112212212211221221212122221122211111222121222221121112111221111112121222121211112212112212122112111121211212112112122111122122222211221112222121111211111112111121121121112112211221211212111221221112211112121221222212221211122112212221112221122122211112111121211212112221112212222111112212112211122112111112221212122212212121212222111221211112212221221221211222222222112211211112111111121211112211111221222221122211222221211112222211121212112121111111122212211222212211111121121112112222222222112211222111121111121111211121112222222211112221122211222121121121111212221122222222112222222122112222122212111111211122221111212112121212212112211122221211112111221221211221122222221211211222222112122111111122221211111221112221112112221222222212212221112222212111122212121221222111221211212121212111112112221121222112222221211222211221122121222211111112222211112121211222212111112122111111212121121211212212221121222212121111211121121121211121212222212221112112222212221122212211222212212122121122221121111111221211222112221112121122222212221222122222212212122211222211222121212212111111221121212221221221121111211112121212122121112222211112211122211111111121221112211211112222112221212221112221111221221211122112111112222221122112211112222211111112111122222122221121221211111121111121111211212122112222211122111221111111121212111222112122121111211221221211221212112111112211222212121221212212121222112211211221112211121121212211222122121121111222211122212121222212111211211122222112122121111111121122222122121112122222212112112121222121212222112212211221211121121121211211112222121222122121121122122112221112122121221121222111212222122221111212122121111212122112212221211112112122111221111212212112122112121211112121122212122112222212111112211212212222221222121112222122221112121122211222111212211121121121212221111212121111211212212121221122122111112112221111211111211211221122211221112212121211221121212122111112222212212122222212211111211122122222222222122211222211111112122112112121212111111222222212212222212222222222112112212111212121221112112221111122222121121211112221211121111121221112112122212112121221212112122112212111121222211112212111221121122222121112112211221111212211122221121211111112122222212122111111212212221122121211111222211111121212221212211211112112112111211111111111112111211211111221212222122221211221112112111212222211221212111111122212211212212221111212121122111121111112112221121211211211222122222111222111222212121111122111121221112122122121221222212211112111121212222111222222111121222111211111222121122121222222122121221122221111121222221111121112221111222112212211222212212221122111121111112222122211122122222212212121222212222221121122112121111222111112211212221111221122122211212212222211222221121112111221221111221211122111121221112121221112112121212111221222112111222111121222212222211111212211212222221221111221211211112211222212121212211112121112121222111111121212111222222112112222211122111212222121211111111221112111212111222112211122212121111121111212112222212221121122222212212121222222111221111212212121121112111121212222111211221111211111212121112212221222111121212212111212122122121111111121221112121121221211112121111222212112222122221122111222211222212111212211221122111211121221211112111211212121121212122211221222112221211211211122112211111121211111212222122112111121121121121111112111112122121111211112121112111121111212221211122222111211221112212122111121112222211222121121222121211211211112221212212212211122111211211122122212212211122221221212212222212111112122111211121112111121212211111111121122111211112121221211112221221221122211112221121122221221122112222112122211112221122211222222112212211211112111122111111211222212211222212121121122221112222212222111122222122112111112111122221112211221212211211111211122111111112222121111122112122212112211221222121112111222111221222221222122212112121212212111211112221222212222121222121222121211111111221121211212112112211211121221111212212221112121211112211222211222211112121112221222111221111122112121111122222212122121121112122111212211122122112121221112122211211212212222111221112221121121221112112211221212222221212112221112221211111122112222111112121222111211121222122222122112112112112122122112211121222121211121211112121211212122221111111222112112111111121122122122222222211121222221111211212121211121111211122122111121222121111212121212222112111122221212221111211211122222112121121222121222112111212122221121122121221211212221121122222121211221121222121121121111122212112121212111112112111212121211111111211122221212221112122111222221212221222111221122222112112122111211222211111221121222111111112211122112212111112121122121211122212222212212222211221222211121222221211211111222221222111121221121222222121212222212111221221211112121122211112222112121221112221221212121212211112121221111122211211222112222111121121222121222222122112211122112211212122121121121212112111212121212112221112121121212211221221221111212212211121112111122122122121222111211111222122111122221122222112112112122122212221212221212221111211111122112121211222221111211121121221121111111111122121111121212122222212122112211222211212212111221211211112112211212111121212221121222121222211222121212221212211122112111211221122112121122111221121111121112122221211222211212122111112212122212112211122211112121212212212211111222211222111212122211112212222111112112211111112221222122222121221121222111211121122212111121121111122212221121121112121121212222212111122212212122121222111111212211221221211222111212211111222221111222211122222111221122111211211212122221211212111111112111221221212122212211212121211112122121212221212222111212112121221121222121111111121211112121221121111111211211221122221121222211121221222211122112222222222112211112122122122111122121212122221121222211221221211111112212111122222222222121112222112121211112221121121122111222211112211221212112222122221212211222211211222121111211211121211211122222212112111221211112221112111221122121122222121221111222121222121122112121211212112212211212212222122221211211221121112212212111111221111122222121122211221212112222222111121112222212121121111111112222212222112122212222212211222122211112212122121221112122221112111111111121121121221212112111221111112111222211212211121222221122211112112212112221221221112222112121122212211122212111211121121211222112211112122122211111121211122222121122122112121211121122111211211222222122221211112111221111222212221112121122121221111122222222111111112211122211212211212222121222211221121222212112212111212121211111212211221221221221222211121222112112112211121212211221212222112112221221212111112122211111122222212212212212121221212121121122112122122112222112122221211122221222212221211121121211112222221212122111112112212211112111222222221122212122212111221111212211221212211122121221221212122111121122111112111121111111121111221211122111121221111112112112122122121211221111221121121211212222211212212222121222222211222211212211121222212211222222111221121121112221111111211112221221222222122211221121221211112221111121111112122212122111211112111112222122111212122122212212112221112121221212211122112112221111212122112121221112221212212122121111212111112221112122221211222112112222211221212122111111221222221211121122221221211211221111122212221121212212121111211211211221122112112121112122111211212222121111112112222222121221222121211212222222212222112111212221122121121221222112122222121111122221122121222221222222211112111112112112211111221122121112211211211111212121221111221222111121211221222221211111122221111121222212111221122212212222211112122122122211112212221121121211111111221122121121221112121112221122211111212111222122222212122212211211122111221221212211122112222221111111112111221212212121122222122111121222112121212211212121122212121111211222121211221212212211222111111111211111221211222121111112111111212212211212221112222211111111211121122222112111122212111212221211112222111221112111212121111212122111112122121212122111112211111112211121222111212121211111111211212211222212212112112111211211122221121112221221222121222121121111211221121121111122221221121111221112212122121211221212112121122111222122112221222111212212122222112121222211211111221211122112211212121212111111112111121122211111212112122222112112111211211111211111111211211212112121112122211122211112121121211212212111111222121212111112111211222212221221121212211122112221121122122221211211212211212212111121111121221222221211212112222211112221211112121211122222121111122211221212112222222212221212222222221221222122222221211212121221212221121222121211221112111222112212222212211221121222222212111111222112222122221122212111221221221111212211222222221112112221122121212221121121121122112212212212112221121112212122211222122212112221221111121112222222222121221111122211111122211212121111221112112121221112212111212212121211122112112111221212212111121121212212122221212211122221121211121212212212221212111111112211121122121221111212212121221121111121222212211112112222222222221212122121222221111211211112121122122121121222222212221211222211222212121111221111212222121212211121121222122111121112211221112112211212122221121122222211221121121221122221221211112111122222111211121211222121122121122222121222221212122112212112121121121111211221211212121111221111111221121222212221212211222221122111212212211122221222121122111211122222111112121111211212111111221121111211221111111212121211111122122211221212112211211122221121222222211221111112212122112211112212212212121212121212112222212221112111112212221222112122211121211111212211211122111222211111121211222211211211122121122111221112121111121212211211112222121222121121121121111121112122111111112222212212221122112111112221121222211121212111222121212221221221111111221221122121121221121112211222211222222212112111211221111212221222221111211112221111111111111122211112221111212211111222221122122222112221122212221221122112112112222221212122212111122221112122122221212221122122211212211222212122121122111111121222222121212222222222122221222122112112211221122111112122212211221122112221121112212221122212122122121111221222222112112122211111211222122221122112212222121221222211221211222111121122122112122111212222222212212121221211112221212221111222111211222111211111222122121211121222121111222211121122122211112111111221121121111122112112121211221112112121211221111122212121212221122111121111221121212212122212121121112212122212212112222112212111111122222212222121211111221212112222212122211112122112211121112121222211111111121221121211121222221221222222112222122121122111212122122121212221112111111221211212112211111122221112222121211211212112211122221221121221211222121112222212122121112221222212211221121211121111211212122222221211222121122122211122122121221121222212111221112112122221222212111212121212221112122112222222111122112211211222122212212221111221122121221212111121121112221121112122221212121121212122111111121221211111112221222211111112211211121111112221222222212122221122112112121222211122211211221221112221212212212112112122221111212211211211122221212212121222122222212112122211122122212211121112211121212112122122112212112221112122121112112112211111221212222111122222211221122212121121111111112211122221221122211221222211111222222121121121222222111112212211122112111211221112211121111122211112221111112222221221111212211222111111212112122221111122212222121212212112111112111221121112122212211222122121122112221212122112212212112211211112122222122112111211121111211212122211212221122212111222221111212222112212112211121222212211221121212111222121222211211211211221111121222111221221212221221121221212212211121222121121221222211221122211112111121211111211221222112212111212121111212121121112221122122212111221222221222212122212211222212211221212122121122122121112211222221212111212212211122121211221122212221221222212112221122212212221222211121121212111221112211111211212112112112221222221222122122222222212211122211111111212211222211211221222111211212122222222222211112222122122112211112211222212211211122222211112211211122111221221212121112212112122122122111222212112121122212111222212221222121211222121212122212212221112112111111121122221211211121222121121111211112122111221211211212121222122121111211121112212122211122222121112112211221222122112122121222211122111222112122122112121222211112121211222221111211111122211211222111111112122221212212121212211212211222122122121221112111211211122112222221111112122211112122121222122211212121211211211222121122121111211212122211221211222211211112111211121121212121221221111111111111121212111221121121211221121212111221122222111112222122211122222221221221111222121112211211122112212121111212112211112211121211111222112212121212112121112221112221111112122111122121212212212212221221122121121211212221111211122212121111212212111122211221111111221112221112111212221221121211212112121122211222122121122211212222121121221121121111211112121121222212221212121121211221212222122121111211112111121221122122111122111211112122111112121121211122221221121222121111211112211212112212112222112112121211211111122222121111212122111212222222222222212111222121122222112221121111121212211221222212121111211212222221111112121122111111122122111111111121111222112211122122211221211211112221212222221122112212112212212222111211221111211111111121111112211111212212222112112121112222221121211212212112111221222212222212111221122212111121212222122212121112212212122211122212111221122111111122122211222221211222221211111222111111212122221211121111112122121211112221111221221221121221222212211211121222122112221221111221122111122211121111222121111122122222222122121121212222112111122122221111211122121111221212111222212211222222221211121221212212111212112122211111111222111222222122111111221121222211212122111212111221122111212222122112121222212112111212121212111222222211112211111112122112121112122221211121212221122121121112111211111222211221112212121122112112221111121211111122112222122121111111121221221212222111212211211221211212212221121222211211221121111121221221212122111222211121211121111111222211122221212211222122121112221211222221222211112111122212212211222112112221112211222121212211122222211222221211111212211112221121221122122112112112112211121121122212221112112221121221121221111121112121221212111211212112212221112122221221122121111111212122112122111211222121221222212122221111211222212122212121122222221222121212222212121122212121212112112112222222222221111211112112222122122222222222211121212122112222211222111122122211111112221221212111221112111221222212111121222212222122111111112111122211121122111212212122221122122211121112111111222221122212211211212221212111211222121121211212211122211112112222122112222121122222111221222222122112122212222221121112122211222221211111221111121121212211211112221122212212111212122221221212112111211122212122111212111212222211112122121112121222212211111222112222222121211221112222221211112112211211112112211122112112212112121222211211221111112121111211122222211122122221111211122111221111112121121122111121222211222121222212112122222121121211112122112112211111121212121212122112212122221112212212112111111111121221111211112222222211221212122122221111122221221122121121122212112211212122111122221211111111111121222112121122212122122112121121221122122212111221221212111222211111212112222111122211211112211111221221122111211122111212221211211211111222111221221121222121222112212212122211121111212122111121122212111122112212111112112111212111112211122221222121222222122111211211122221221221211111211212112112211212211122221111111221121211211222112211122211221212111112111112121212221121121111111221121122212122112121222112211121122121111211221222111211111212212221121111212112212211112111122111121112111122121212122222221211121122221212111122122221121221112111222121111122111111221211121212212221222121121211111211122111211211112111122221212121211211112212111222221222111122211212221211112122122221211221222211212212221212111212212212211221212222222211121211122121221221221112122111121222211221221221111111222121222112222122221212211221222221212211211112221121211221122112121212212111121222221112221121121212122122221121111221122212211212222112221221122221111211111212122121222212222221111111112122221212122121222222212221222122111122112122122111212211221211212211121122112122222221111121112221211222121222212211112221122111211111222112121211121212211212112111121122212222112211122212121221112222112111112211122122122221221211111122112221121121112111212222222111211212112211121222212112212122111122111111121212212221221121112112222122111221221112122122222122211121211112121221121212212211112221111112121121221112112121121211211112222222112111222112212121111222122122212222121222222112112212211221212211222212212112111111212211122112221212211212212212221221112212222121111112121111122222122222222222122112211222121222212212221212222212112222221211111122222212121212112111212222212222122211212112212121111112122121222121111122221211122121122222212122211111111122122121212121211211122221112222111211221221112212222111111112112221212212111211111221211122211121121222112111122212112211212222112112112222112222222111221221121121122222212121222121122122212112221212121122121211122112221212121122112221111111212112211111122121222211111221122212122112211122122222112212122212212121211211221122111212222112121122212111212221111122111222112212221122122211212222121112111212122122111212121221222122211222212121121112122211212221111212122222211211112211112212111211212121221121212222122212222112122112111122222212212121121111221211221221222212111211221221111211121221122221122112112111212221121212121122112112122222222112222121221211221122222221122222122112221112112222112111111111211222112111121222221212121111212222211111122111121121112111121112112221122221212211221112122221112122122222112112122112212121122111211112111122121211221211211112212221221111212121211122111111211222111212122211222112112211121222211211222222222221112221122112122211221212122221122111121212222121112211211112112122221122221111211121222221221212212222211222222221122111111222111211222211111221112111111111221111211222112221122122121111122211121111211121112122111212111111122121121121112211222112121112211112122121212111222112111222221221211111122121121111121221112111121111211221221122211222122111212121112122111222212211211122122222122112122221211221112112211212121222112112122112122122121221111212211112211122211221211112222221122121122212211122112121211221112211111111212212222211211112111112212212222221211222112121221212111112111221221212111112211221221211112221211112212221122211112112221121212212121111122121211211122111211221112122121121211122221211122211211111112121121222222211122121212111112111221122112122212212111111121222111221121221122112212222121111212122112122111122112121222221121112111122212221121212211111221212112122122122111111221122222112121221211222121221222122211221112222212212222222111212212121111112212211121211212222122112122121112212111222121212222121221212111222221211222211222122122122212112222211222122111212222121122112211111221111222222112121112212122122121211212111222111211212221121212221112222111121121112222111212212122222221211222221222122211122112112211121211221212111112222111121222112221122121121222211212211212221212212121111221122221221112121211211121211122222222121121212222122222111111211111122221212221221212111211221211211122121211212221111112222112212221211211111112121111112112122212211212211111221222122111222111222111221122221121111111122111212222222222122121112122112111112112122222221112111121222122211112221221121221212111121121112221122112222111121211122211211222222121111221212212211121212211222121112111111212212221212121112211111221222222122112111122221121211112211111112111222211211112122122212112111212111111122112111121112211112122222121222212211221212112222122221121212222221221112221122111121222211221212122121212222111121211112112222112221211221221121221121112222121112212121212111222111222112222122222222211112112121122122122121222121111121122121221122222222111121211211222222222112221212112211121212121221122212111222221122111111212122111211121212212221111122111122122211121121211112211212222211112121111111111112211221212121211212111222212221221211211212121211122122122121112221122212212122121112112112112221222121222222212221121211121121221111221221211112211221222121221211211221112112122121122111112222121221222121122212122221111221121121121221112121222221221112212121221111212211121221111122211221121121221211121212111211211221221212211122212212112221111222112111221122121211111222111111221111121121211112211112211221111222111122112221221222121122221222121221111111211212122222122221222111112221222112221221212221121212121222121111112222112111112222112121222211111212122122112221212212221222211122122111122121121211222222122112211211211121221111222222121111122111122111111221212122111212221212212112222121212222111111221121121121112122211211222121221221112112122222111112221212122121211222111221221211211212211122211212212222212211211212221222221121221121212122111121121212222211222222222222222221112211122121221121221111221112222212121112211212112221122111111221112121221221211121212112122221221112222221221221122222122122112111111211221222111121111122111122112211222211111212111222222211111212112221122221112111121221212222222212121112222212112112222212211222122111221122211222211111111111221212211212111222112111212122111221222222211211122122211221212112222121121212121122111121222211221112212112211112111111121212212121121122222112222122211221211221112112222221212222221121122122112212122211222221121122121211222111212121221111221211122112112122212212222222212222211222121222111221121122212212221111121212112111121212112212212211121122211212122112112211112222222221112122222122121121122221211211111111122112222212112122222222222112111221121122122211122121221111212222221221112111121111212211211112112121121121122211211211212221121221122212111212221121211212112221222222122112111222222211222212211121221121211221222222221112122122112222212122122212221111122121122221222111222212212222112211222121222222122112211222122211111212111112221122212212111111222111112121112212211112121112111121112221112111111222212122122221122221212111111211121112111122222111122211122122112111212111212212111122112111221212222212121212221121122111122221122222121111221221122211111112121212221211222221121211121211211211121122112122222211122222122221211112111122212211121122211211112211112211121222111222111211211111122121212211222222111222212211112121222111222222111221212112122121221211212112112222222221111212222121122211211211212211212121222122211122211121212121111112212111111122122111111112222212111121221211112212121211121221112212122122212121212212211112121112122121222111122211122121222121221111211221222211221121111222112122122112221112112221111112211212211221122222121221112122211121221121112122121212221122212212111222212221121212211122221211122222111221121122222121222211112221121121222212111222112221211111121112222112122112222112222122211112211221211112112222121221211112111212212111121122121121211221211212122222121112221211222112211222211222212111122121111122122221222121221212221222112212121111111212111222112122221121112122211111111212221221222112211122111211222212122121122212222112111122112112111222112121222222111122121211121112111121211212122111222122221212222222111111122221112121212222122121222211211122111212112122212221221111212211111112222211112111112211212121212212221112111221121112221222211111121121112222211211212111221111212211212222221222211222122111221122222122122111111221121122211222111211212122111211211111222222112111212211111221121121122122111121112111122221111222122121211212221212212122122122222111212121212222122111211221112222112111111212222222212111211111221222211212212121222121122121222221221111111211212121121222222222112122222122111111122211121211111212211112111122211221111111121211112212212211212121221212122122111221221222211222121121112222122212222212211221211121221211112211122212212122121211111112111222221122212211222212121221221112112121211222211211222222211111112121222222221121111211212222212112121111111211211111222221121122212122121212221212122212221122122111112111112112211112112221111111121222121111112211222221122122221221212221212121211121111212111112222211121212211221112222121111112212121112212111122221211222211212121222221212112211212111122221221121121121121221222121111212212112122111122122112221212111111222212111122221222122221121121222212112221112211222111111221122121122222121111212111211112211111122221112112121121122222212121112122221211221122111121112122112212111111222221222112112221221212122111212122221111111121122122121221121121121121211221211222121111122112211212112212221222211221111211211122221221211211212122221112111122221222121222222112111221222222212112111111211212112212221121122211212112111121112111221212222121212121212221112211211221221112222222221112221221221212222111221122212212111212111222122122211112212221111221111121211122122212121222112221122122222211212122212221121211111121222221111222221122211221211111222112121211112121211112112122122211211111221211122111112121112222221222111222221222111122212111121112211111122121121122112222121111121221112112221112221111112111221112221221112112212121212211111212222122222112222122111222112121111122212111212112222112211211111222221222111112111112222222212122212122112111211211211222212222212111121212112211212212111212122121221112111221222122222122222212121111221212211221221121221112121212221121112212212111111122122122212121122122122112222211221111111222112222121112111122121121111212222112121112212211122221122122222121122121222121222222222221221222122221121221111211212222111211221221211211112212112212121122122212111111211111122212121211111211221222212222121221212112121121222222211111112112122222111112222222221122221211111122112211221211212222121122212112122211222221221222221111212212221121212121212121222221111212111121111212222212122121212112211211112111212211212111112122112221221212211222221112222221222121211122122121212222122112212111212221222222111212121222221111111121222111111111222122112112222212211122122212111212121221112121122121212212211111221221212122112222112121121111222221221111211121221122212121111122221121211211111121112111221222121121122121121111112121111112111112111211112111222222111122212222112211111112121111212221222121112211221121211111221221111222212221222112111211211112121111222221211221122112121221221221121212221122111222211121122111121211121112222112221112121221122121122212122221111222121221122212222212121111111111212122222222121122112221122212222222121122211112222211111211111212222211111112112111112121211221112112212211222222112222211121222222112222212221212221122111211221112222221112212122121122221222221212122121112222111121212122212221111122221212222211112222221111211112211112221112212111222112121111122112112221222222211212111121111122122121211112212121221211222121111121122222122222121211111212122222212112222211122121111211111112111112112212211221211111221222222112111222112212112221221121122121212111212212121122112211122111122112222111222211121212122222222211221121211122212212212121122112211222221111222221212211221111111221212221121212112211212221221222121122112222112222112122212112221112211121222211111112112112122211222112112121122122111212222121112112221222211222221222221112112211211222122111112112121111112211111221222111112111111112211222221212121111122211112121121122121111212122111221112112211212122222221221121121121211221211221211112112122122121221111212111111121222212212222122221112121111221222121221212111221212222111122122122212211221212111222122211112212122221121121121121212211121221212211212111212112121221121111112212221112112222122121122221112212211211111122222122212221222122211211111121122122121222222221122222221121111221121122222121212221111112112112121121211111111222111211221112112111111111111112222222111122221111211222121211111222211121211211122221111121121111221221121222112211222222222212221121221122111112221222212221212222222221211211221222111211211212221112121122221222222121212122112111212221121112222122122221122122222111212212122112222212222111222212122112121211111112222211211122212121121222211212222221112122122122221111121121111211221121122222221111222111112211122111112121211211221212122122112212211111122121221211111112111211222121121222212122211122112112111222222212221112222122211212211222111221111211122212111211121221112222122121211111211222111221221112121122222122112212112122112211112121211122121221111211222111122112222122121212222111121121221221211221122111111221112121222111122122111122211222211222122221221122122122112212221112211111112221122211112212222111221222212221111111111211112221212111112111221121211122121212122112221111111212111222212121211112211212122222212121221121211221122111122212211111121212211121212221111122112111211222121211211122121212221122121122222212121211211121212122211112121211212211211111121112122112121211212111121222211212221211221222122211121221121112211222211111111222222211211121211211211112111121221221211112111112222111111122221112122112122111111222112111112121122122112121112211212112122121121112212212222212222221112122112221211221222211111122222121211122121222222112211211112111112112121221222211222112221221211212122221111122212211122222122122222211211111122122121112221222122121112122212222222121222211112111112112111122221212212212112121212221122211212122211212112111212211222212121112121221212221122211221211222221111122112112221122221222222112121221111211111122212212112222212122112112112112112121212222112121221211121211211122111222212122122121112121121211121221111211222112211122212121221111211121121221122111122121121122212111121211222211111121222212121221111121111112111222211222221111112112212122211122111112221222222211111212212121212222211121221121211211112212122211212121212212121221221111122212211121122212211121211121222112112221121112221111122122222122121122122111112122211111122212222222122212122222221122212222112221221221111121122121112211121112111111211122112221221212212111121222122212112221112111212222122111221222212121221112121222121111111121111121111212222122221112111222112122111121222111111122122211222212121112221212221122121121212221121221121221211111211122121121122212121211222221111121122122212121112121122221221122221111112211111112122111122112112211212111112211122222211112221212121121211112211211112221212111122112111111211111112222211222221122112212211222211222221122112111112121121221112222111121111211211221111211222121111121221122111111222122222211212222121112222212221121211112121121121211111221221121122212221112212121212222221212212112112221222221221212122222212211122211211111122112112122121212111122211221122221111211212112111221112211221212221121221112122122112112212222121122111112211211112111211122212121211211221121111112122222212211112122222222222211111112111221222112111212222121222111122121211112111211112211111122122212122122122222112222212121222211212111112121111212122221222121222221122211212221122221111121212212221211212221122121212122122122121221121211212112212221122221212121211212122111122212211221211221111222211212111121221212121121211112221211112112121221112121121212112222221122221121212122112122221112211112121112212222211122211122112222211121222212222121221212122222121111112112122211221212221221221222122121211212222111112211211112212122122221112122112121112222121121112111112211122221121212212112222222122212211222111221222211111112222222112121222111122111112212122212121221111211112122211222112221221222122221122122111112112122121222212211212222121212211221212121112112121121211112222212111221222211111121221111122112112121112221221221122222222111221212222122211222112121211212221121122111122112122222212221121121212211111121212112122112211121112211111121222222112212212112122111211222212122221211111212121212221222112211221112111112221121211121122122222221222121112222222121211211121212122221222112122122112111221111112111212122121222112112121211212111112221112222121111121122111121221111211221112121111111122112121211222122211111222112222212112221212212111121221222121121212211121222222222111212211211212221111222212221212221222221111122121211212221211211112212212212211212222212122122121211211122121122212112221212121122211221212121121112121121122121221222122111212111212211122122112111212212122222121222212111112122222221212112212221212112211212211112221221112221211211122221212212222121221112222121221211211212112122122211222121122122221222111212212212122212111221212111112122121111211112221112212122112122122211221122111222121111222122211221222121212122121112111111121221122222112121122221111112221111212122212221121212212112222221211212212211111222211121222112122221112211111212121221221111212111221221221122221121121221211222112211212121212121221212221112211212222121112222212122221111221211212212121111222222212221211221212121211222121221222221112121122112211112222122212111111121111211222222121122222122221121212222122122221221222121121212111112221112221211212111111212222121221211212221112122122122222211111222222221112112211121221121222221112111121222112111111112212121111112212221111112211212211212221212211221221121211222221122112211112212111212211212111121222212212211211212112121211112122222112111122112221221111211112111122212121111211222222211211212111111111221222221222122211121111221211111221111121221211211211112212122121221121222121211122122111211121221122111221112221112122222121212211122221122111211211112122111122212111212122211111211122121121121121112121211122222121222211221221221112112212111221221222122112222221212221121111221212221112211212222121212221211212121121212112122122112112211222121211222221211111111222112121112122221121111112212211111211221212212211121112222212122212222211122211212222221221221211212121222112222211121222122111112112211222111121221112222111212112212211222211222111121211222121112222112122111111211222121221212111222111111121222122111122122122111121212111112222221221211221221211211222221121122211111122122122222112111121122112122211212121222121112122121122122111111122121221111111221121221212121221111112111111121121122221212111112222121211211222212211112221112112211221122211212212211211222212222222211122121211221222121122111211221122112111112211211221212222212111122122112122112121212212212112112221111222222121222121121111121221211211222112221221211221211221212212122122121221111121111112222212211111212211212211111121121121122221221111111121222121221111212121221222121112112211211111211212211212121221221122221121111222212111221212212212112211121212111121221212222111111212222111221111222221112221222112122121122122221222122222112221121212222112211222211221112212221121112211222212111221111222212211221122112221221212222112221121221111111122121111211122121221221221221212222122121222221111112112121111212222211221111121121112212211211212122222221122211211112221222122211222122122121112122121112211121212121212221221122222122221112111222111122222211111211212111112211121121221111221211212112212121212122121121112112121221222122222221121211111211212112222212122222122111112121122222121212221222211211112122211112121121111221112112212112112121122111211122212222211122211122121221222222211211112121112222222212122112122112212122222112112121211111121112212112212122222212222211222112212221111122212121211222111112212122121222111122121122121122211122111211112122222122111211222121212121212111112112212212222112111121222111222111211112121212211112121112111212211212121111111212121112211121221212211112222212112112111112121211212122111212222122121211121111111211221221111221121111211212221122122221112111112111121222112122221212221221211121111222222122112211111222112122211121122121122222121212222222112122211221211212121112121112211211211211112122222121121222211112212122122122222222221111222221111112222211222112122221121211222122112222121121212211111222222112111122211121112211211122111221112221221211112222212221221112122122212211211111212222111221112112112121212222121122211221212221222111221111122121211221222211222212121211211221121111122121211112111212121122122221221121112111111212221111221112112222211211122122211111122212221121212112212121122122212212222211211122221211111211211122222121222111122122212121211222211211122121122221121211221111211222111211222221222112121221121112111112121121122212111211122121121221112212112212121112212221121112212122122211122211112222112222111121121211211211111111212122112111111121221122222211211122221122121211212212121212112222222111212122221211211211211112222222221121122111211212211222212211222112121112212121122112212121221212121211222212111222121222112222221221222112111121222211122111212212221111212111122111122122222121212221112122122122222222111211221111112212222222111212212112222221221221211221122122121221122122221122122112222222222112221222122211121212111121211112211112122221122212222212222211212112222211111222122211111212121211111212221121121221222221211111121122211222222111121222111222112121111211212222112221121121112222211112221221221221122122121211212112111121221112221222111212121121221212112212121121121111121212212122212112122222211122211211212122121221212111112112211111212122222111211222212212222111112121221122221121122121122112111222222221212221211211212112221112112121212221221212122111221222221112212211212221111111111222111222111112122122212121121221122122221122122111222112111221222211111211121121112112212111222222211211112112112111211212112111121121122212211121111121222212111211112211212121222222111221222121221222222122112112221211122211222221111112121211122111221211121211112121221212211122212112112122222211221211111221222221112111211121221211221121221122211111111212112222211111122212111122121212211221212121221112111121122111122111211111111121121121211222221111112111211111212121121211112212212112212222222112221112222122212112212212111211221222121211122221212112111111212211122221111211112112112222221222221211221111122212112112112221121221112112122122222222121121121211211212211112222222211121212122222111111121122212212112212121112122222111111121222121121221112212221122112122122112222111122122121222122112112111211111121211222121111121121222112211221221121211112121212112221122122111211211112211221111122121111211221121211221121122112121111122122212122211222211111112121221211112112221111122122222211222112222122221121122221212121212122122122211122221212111122122122222221112111221112122221121121221122121112212211212121222121211212211211212211222212111121221112211222212112212121212122222222221112111121112121211211212222222122111122221112112121112222221111221221112112211121222112112121112122122121121221222212211212212212111121211122221211211222111211211222112211211112121212222112112112221111222221212221221221212222211111112112111121122212211122121212222121211122121212122112122222111112221121122211212221112222222221111222122221211111211111112221212212222121222212122122111122221212212111221221121211112112111211222122221112211121122221121121222121221221122111212212212221121112121222121212121222112221222211111121222221212212212112112211222121211221212112221111112121122222112122121211122112122121111121121122122222121211221112212211122121111222222121122121122222112222121222221112221221221211111111222221211122111112211222121211222122221222212111122122111221111121211111221222121121111212211121111112111122111122112221221111211112121222222212111222211222122222221122111211112212211211112212221212211112221111221211121211212111222222122221221121111111212122222112222112221211211211121112111122111211221111111121222221211112212212212111212211112121121212111212121112121111112111122111221221222221111211221222211222112221222221122212122222222211122222121211112211111112222111212121222221221122222222212211211222211211212112112112112122222222121211222122112222122121122121211211211221211221211121121222221222122222221221121221212221221211222121211111112121212122221221111122222122112121122111112211221111221212112222112121212212211221212222221222121211211212222111112121122121111222221111222221121121122121121212222122211211212112111122122211212212121122122121222212222222111212221211221222221221112111211222111211221122212222121121211122112212122222222212112222121122112222111221211211112211122111111212221222111111122211221211222212222112221112122211112212122111121122112221211122212222121111111112111112112222112121112111121112121121112211121222212221122121211222121122212211212122221212221111112111112122121122212121222111112121122111112122121121122221221121221211212111221221121211222121222112122121121111222122121212121222212211111112222112121111221121222211211222111121111222211212122122211211122112122112111121222212121211111122121111211211121121122122121212121111221112212212111221112112221122112111211212112121121121112111221111112222122222211121212222122211111221222111121221122112121111111212211111111121111121221222112111112221221222111222121211222212121111122122222112122122121111111212222121122111112211112121211122111112122122121122212211211111222111221212111111112122111211121111211112122111211222212222222211211121122221121112211222112212121221211122111112222212221212221111111112221111122221111111211211221112112211212212212121211112222112112222111121111112121112121212121111212222121112112121112122112221221221211111111211121121211122221211121212211122112121221111221121112212122212112121122111122121221211221111221122111111221111212222112111111111221222122211222212111222222222122221111222121222122222222211121222221222212212122221221122212112121211122111112112211121122112212211121212111211222111111212212121121212122221112222112221221211222212211211112212122221221211111212121221221222111211122121222221112111111112212121221221211221112121211221222121111111122212212222212121121221221112111211211122112221112121221112122222112112112221222122211222211111121111122211112221221211122122112122212111222122121221222112212122222222211122212111212121122222222221112122122221121222111212112212121111121222121222121121211112221222222222211122211221111121112211111212112222221122122112122221211221122122121222121211112222122222122222211111222221112122211211212212121111211211112212221211122212112121111212211211111112222222112121121122221221221112112221111222122221111112222122211111222212211122212221212122222222221222112211121221111112222122112221212212221221122111211212122211111122112111121121211221211112111211221222221212122221211112222212111111112211212212221122111121222212122121212211111122112212121121221121111111121222111221222221222211211112211111122211211212221212122111222211222222221121121222221211221222211211212112111211111221212111122112222221211212112112112212221212121112221211221212111221111222221112121222112121112111111211112122211122111122121222122112112111112221212121222111222221121121212122112122211211122111112211121212121211121112222211111212222121221221121221221211121212222122211221122211222122221221221122221111121221121211112121121122212222122222121222222111221121212112121122122122111221121122222211121111111212122211111212212112122111211222121211212212122111221221121221211111112212122211111221111111212111221122121112222121122111122112222111212211121212122122212111212112222222222121211111221211112212121111212222111222221221122221121211112122112122222112112121211211121221112211222121221212121222221111111221122122211211222222111112122222221221211111111122212221211121221112221112222221211111212122111122121112211121112222111111222221111121111211121221111221112121121122211211212222211211121211222211111212221121211111112212212211111111221222211121212211112121221212121122122211112111111112222121221111112212211122121211221222112211212122212221212111212221221122222212121111111212112111222211111112122221222221221111111112222222122212121111222121111211122112111221112222112112211121222121212122122121111222211221112212221221122221212121112122222212122122122112212122111212112222211211222221212122221112111112121221112212212212221122111221211212212121121212122121122221211211212221112121111121212212222111212111212222122221211222221211112212111121122222212211221212111222111221211121122222211112222221111122111121122121121112112222221211112211221112121111221122112222112212212222122122212111222111222221211212121112122121222221211121212221122122221112221211122222212222211111222121121112111112111222121221111121211111112221121211222121222222122211112221212212112111122121221212121112211122212211222122221212212221222121121111121221221212221112221222122211211122112212122111112211212211211212212211221121111112121122221122111221211211122122111222211211212112121222112122111222221111121212121111222222212112222121221212112211211221112211122111221111112111121122122222111222211112122221222211212112121212221112112112111121111121222121212121222212222222111122112211111122121111121112121212111121111111221112112211121122111221122221222122122222121112112212111112211112111111112112121112121222221112211111122211211211221222211221211212111112211221212122212111122222222211211212222111221122211121212122211122112212122111111221112122111111222222212222211111212111111221121112121122212121211221121212222211212211121111221122112212211222122212222212111221111212221211222212212211122211121211111111212121221212222212221212221111122221212122211212221211212221122212222121211212122122121112122122111112112112222222111212112212111111122212221112222121222211121221222112111111112221122222112211212221221112111111122121121212112122111121212121112122211121122111112212212222222211121212221211221112211212121111222122222221122121212212222221221222212122221222222222121111111111221221112121112122122211122111211211122112212122221212122111121212212121121222212211111121122112211221221121122111112121121112112112111211212122222221112221212212212211122221121211111122112221221122221211211122222221112221111111212122121122111211222121221121111112111111212121212111112112211221211112121121121111121211121222221212211122121122121112211222221121121212221222122111121121222221222212221221112211111221222121211121111222211222122211211221122221212121222121122211122211122222122121222112112111222122122122221122212121121221122112111112212211212122211111211211211221211222111212122211122212122222111111121112212112121122212212211211111222221112112121121222211212112212211121211112212212122112112221212212112212211111212112111122222222222221122112211212221112211112112211121121212211121111222222222122122221222222112221211222112212222111211122211222112221111211222211211221222121122221112212221111212212112222221212212221121212112111122111212221221122121122121122122222121121121122222112112222222221122112222121221222122222121222211121111122222111211121222211122112112221211221222211222212122111222211211111211122221111111112222211211222122222111221111222112222122222122221111222221111121222111212111122111221121112111112121111111111112112211122211122122212212212211121212211111221122121121211222211122112212122211121122111121211211221212112112222121221212222212112212211121112212212112112211212211121212212112211111221211111111222122212211121211222122222122122122122122211212222121212221121212112122221111112211112212111221212222121111212222112121122212211122222212121122111211212122222112221111111111211111212212222221222211121112222122222111122211212112112112221122222111121112111122222212211122211111112121121211112121111222112112222122222211122211122121221221221211212212111111112221222221121112122222121111112111121121222112112121212111121211212221111222211211122111121112121111121121212122122112222221122211222222211121211112221121122112121212212212112221121221111221222122211122122222121211112122111212112121212112211112222121112221121211221221112221222111212222221112121112212112112121111211112222112112222211112221211122221121221121221222222112121112121121112111211211212111112222112212112211221212221221111222211121221111211121111121222212212222112122211111222121211211222121212222112212221111122222112221211121122221122111211211112112112122222121212222122222121121222221112222212222112122222222211122111222111111112221211112211122111221221212122121112212122111211121211112112111212212211221222122222121121112221222212212122212111211222222212112212121121111121221112111121221121112122211121112211121111222221212121111221112222121121212111122212222111212121211211112212121212121112222112211112222211122212221211211112212111222112122111112121111221111121212121121121211211212112222112112222122121112111222211211111222122111211111222122212121122211211122111111211121222222222222211221212221112212112221222111112212211112121121222221211111111111121121121112121221212122121222221112221211221221112121211121221212222212222212121221212211121112121121211111211212112111221211212111121111222222121112221112212211121211112222212112111221122222211221112121211212221112222121211112122221222112111211122122121112221121112222112111221112222221111111221112221221111211112121222112112222111222111222121122222111111211111122122121211212212121212112211212122212212211212112122111112222211121122211112222212111112211222212121122222112112112121112112211121212221212112112112222222121111221211222112222112112121112221221222221111222112212211212211112122221121222122212212111221111111112112111122111212212111212122122222121122111112211222121221122222112121221112222212112221211121222211211221121221121211121221211211111111211222211112112122121122112121111112212121112111112111221222111211112212212212221221221121121111111121222222221122122112212112212112221222112212211122112121222211121222212211212222222112122221211211212121112111212112211121121221212112212211211211112221212122222211112122111211212112111221221211221212112211212211221111211122121121211111221222121211112112211221222222122211212212111122211121212222222211112211111211122211211222111112111112221112221221222121212211211112222221122111212111122211111221222212221211211112122121212212121222221211121221222212211111222112121112212111111221122121222112221222122112111211112222211122211112122122212222121212221212212222222222122212112112112221122221112221212122211221221111212121222222211121212212122122212122211121122221121111222111112112121222222211112211211221221212211222121212212212112222211121221212112221222211211211221112222122121121211211111111212121222112122112211122212212212122211112222111211211121111221222222221212111211122122122212111112122121222111111211222222121222111212112121212222221121221222111222212122112111111111211112222111212112121121111212122211212211211221111211111222112211221112222122112122212112112222121212122111212212212122212221211222112222121211121121111111121121222111122222211211112221212212212211111212112121212221211211111111121222222121221121122211121212112122211221212122122121211122212112222121211221222211122122222222222222221122122211212221222222221121212211221122212112222122211112221111122211121112121212212121211221222222121212212111222121121222221221121222111112121121221111222112122221122211111212221112211211122122212221122211221121212221222221121121221221111212112221111112122121211112221121112111121221221122222112122222211222211212111222211112221112211211212121111211222112221212121212222112122112212112122222122212212221122222122122122221121211122221122211221122212222211122111111121222121121211122122212121121211222112112222111112112212122221211121212221212221122112111121121111112212212111112121221112212122112211212122111111112211111121122211212121122212221112111111111122112222122212212122111212222222221112222111212122222221121111111221211122122122212122121122212112111211222121222111112121111211112221222211111222122121122211211222121212221221121221121122112222112122221222212222211111122112211121222112222211221111221121212212221222111212221112212121111211112212221122211112221111222112122221211212111121111221222211122121121221121122112222211221122111122122112222221211221111112121211212221221221211112212121212211221111122111112122112122112112211212112121121212112112212221121121112212211211111211122221112221121212111221122221111222222221111122122222212112212111122221122222221212112112211121211121222112112122111212112121212112111121122111121112212111222211122112121221122122221211222211221112221211212112122121111212121112222221211212211222122122121211211122112221111121122111121121212212222111122122221212122212222112122222212112112122112112122111212212122122222122111111122111221222212111211121112121112112211121111122111212111112112122121111212211221121221112211222112222122211222122212211122222111212222121221211121112121121221121111122121221212222122122112112121212111112121122212112212211211112211111211111111121221121112212222122111222211122221221122221111211122111211212222121122121121111211211212122221121111212212121222211111111111112111212121222212222122122121211122212211211111112222222222111221121211122221211121211122221212212112111221122112212222111222211222221111212122112221221121121122221211221122112111211222222122121122212111222112221121211121112122221122122112112221222212221222222211112112112211222111222121211222221122111221111121122111121212221122122111222212112111111221112122121111221121122211121212112111111111112121222221221121111122221122112211122122212212211112222222211111222122112112111211122111112221112221211112112222121112212121111212112222112112222211122212121121222212212122121111121112111222111112212222211112212222121112121121112112121112122122211211212112111121121121221221111222222121121121111222122121221221212221121111221112221122112221122112122121222221221221112211122212221212121112211122112122222121212211212212111222112122212212122122222212212121221111121111212221122211221111221112212221112112211121111112121222212222211221112122122212111121121112212221112221112212221112211112222211212222111121122211111112122121121221122222211212122221121222211121121111121221212111112222222222122122122121111121111221212111221111222111122111212221121211122111112221122112121211221221211112211221122211122211122222122111112112111221112121122111121222111121122212112222222112112221221221211221122222122222222111222211212211212122121221221121112221211221121122221121221112122222112122122221122211212222122111121212112222211212111122222212121211221112121111121122212221221122112121212211121211111121211121122112221111221221212111122221211211211111121112112222121212122211112122122211121112221112211222212222121212112221221211221112122212221121122121112121221122212111111211212212112121112111121221221222122122111211212111221211122111211122111211112211212121112212212112221122122222212211111211111221111122122111212111211112121112122212112222121222121212211121111212122111222221121222112212212111112211112221221121212121212222111121221221211122212212121212121211121111212211112122221111121211211222222222112211221211111221211112112112222221222221122222121111122112112221111221112112111221212111211121121121222121211122112121121212111221111111111121112222121121122122212212112222221222211212221111222122122222121112222211112222211121122221222111211121122111221211111211211112221112211212121221221122112221111211221111222222122121122221111121212111212121111221212211121121112112222112212221221121122111112111122222212111222212212121221221222111111221121112222222221122111221221221112112121112222222221212121122112221121221122221112212222211122221211221112222111212222221112222121212221211211212112112212121212122222112122221212212212111222122111221222121222211221122111111122221121212211212222222121221212221112112121221221211221111221221112221222221122212121221222111212122112121121112121112222111112222221122221122212211221212212212121212111112221121122212211222211222221222111222222122112211212121221112112111211111122112111112121222221112112221212112212122221211212222112122111212212221111221221212212212211211211212212112221122121122211112221111112121222112212122212211121122211112111112221111211211221112211111222212121112211122122121212212212221121212112221122121112222111121222211122112122211122211221221212111121222112222222122121121122211111212221222212222221222211211121211212222221121221221222122121212121121211221121211221122121121222111112122211212221211112111121221122121222111211211122221221212222221212112121222222212211122111222212122121211222111222112222111212211112122111211112121112212221122121121222212221211212122212222112112211221222222211212222222122112121222121122221222222121212221112221112211212221111222111211122222211212122121121222212221111222221221221212111112122212221112122112221212211112122211222212122111121222222121122122112212221122121121122121211122122221111122221111222222111221112211111221112221121221221211112221122112212112211211121112221112221111121111121212111111122111121212222221211211121112111122112212122212121222121211121222211121222111112122121211122212121112211221222121222111212121211111121212112112211211212222222122112112111222111122111121111111221221212221111211111121211211112121122211112222122122222121121221112111211122121211221212111221111112211111111121222211111122121112111112222221111212212112222122121122112111211222211111121211112122222111122221112121222112122221122111121221222222122121221221112222221112221122212221221111212211111221212212212121121112221112122211211212112111111121111211121221122112212121222122211121122122112221212121221111122211111212121121112212111212121121112122121112221122222111111212222222121122221122212221222212112112121121122122211221111211221111112111211211222222222111212111121122222221222122112212112212212111212121211212111212211112211222121212112211211112111211222212122111221112212222211112222111121211221122122211212112221212221112122112211212122211112112111211121222222122211121212111111112211121112212122111112112112211222121211212211112122111111111212211121112222122222221122222121212111211112121222121121212122122112112111121211211112221211221112112221121112122221222111121111212221212111221122222122211211111122222121112221221222212122122211122121211121111112111211111121211122112222122121112111222112222121112111121122121111222121121221122121211211122111221212212211121221111111222111221122211211211221121121122212111211122212212212111222122221221221211112212122112222112212221222221111121212222211222211221111121121211222111112212211211222222112222221121221121112212111121212221112211122221111211121212221111221212112111112111122211112222222211122121222222212221122111222112212222121211121222122112212221222122211212122111122222211222222112222111121211211221111111211121212221121111212122122112212221211221122222212212112222222112111122211211111121212211122212212122212221211222111122211121121112111121222212112222112121112221111222121212112211212211211221122112112122221221111111212121222121222222111221111111121211212211111212222211211211111212111222112122222122212212122112112211222111122122121122212122221221221211111111112221211121122121111112221211112222121111121212111111121221122222222111221222112121211121221111122111222222222111122221112121212221222211222112222222112112222121222122221121212121221212121222122222111222121122222222211112212221221122222221221221222221111212122121221121111211112222122211212211221122122122212111112212212122221212222212222121122122112121112112222221111211122211222112221121122222122211212222111111221121121211222211111211121112122122211222221122221212211122221112222121221221121121122222122121122222122111221111112211121222212122122221221211211112221111212111222122222221221221111212112112212222122111122122111121112111222122221112212221111222112112222212211112121121111221112212221121121222111122221112221122222121221222122122122111221111112121122121221121211221111112112112122211222111212111121221111121222212222212111211121111212112221112221111212211112221212222121111122212122221121121112111121211222111111111122112121122211112212112221111122112122111121112211122221112111112112221221211112222111222121221222212211112121122121112222122121121121212121112111222112112212211112111212211111211122111122122212122122212212212221212122222122212211221222122212222212121221112121112221221212112122222121211221221221121221212211112122122222222211211121111221212222222111122221222122212221211121122221122111212121112121221121112121111212122111221222212212111112122111112212111211221122222212212222121121212222211112122121122211121111212121122112221111111221222122222221111211111211221221212121111222212222121212212122212211211221212111222221112222112111122111122122111221112222212212221211121211121221221122112221111112222212221111121111222221111212211112121112212122122221221111112111121112222222112111122221222221112121121222122112121112212111112111111212221222112212121121121122222121121212112221121111121211111221221111122122221212222111112112121121222211111121122112122122222222112212212121122112212112111121211221222211122221212211211211111221111221112112221121112111221112221221112111222221122212122212121121212211121122211212122211212222111211111112112121121211211222211111211122112222112211121212121211111221112112211111111222222212222122222111221122222111121211112212122211221111222111121221212111112112121112121112222212212112222121122211211222121211122112112111121111212222221211211111122221111121212121111111221112111112111222111121121112121121222122212212221211112221212121222222122111111221111111111221121121211221112211222112112111221122112212121211112212212112221112212221212212221122222121111111222112111222122221111221212221222212222111112221111121221211211112121222212112221221111112212122222222121211112122112111111211211221122112221222121212121121121121222121221122121211221212112111112122222211212222211121122111112112121111222212212222211122212212212222122212222122211222222211222222211121211112111121111221212222121221221212211121211112112112121121211222211211121222221111212211222112112221211221121121111212222222222122212211122111122112121212212212111111121112212122111222112221122222121121211222121212222112222211111121122211211111112222212212212112112122112221212122121122211111221212212211211111212222111122121122121222222221112112211111212221112211222111121121221221121221121121112111111112122112222211112211112112221122212112211211222112112212212212221122222112122122111221221221211212212121111221211112211222221112121121211112221112221221122112121222112121211221211222222112121212111121122211121122111211221211212212122212112222221122112122212221221221211221111222111211221122221221212112122212121222212212122111121222212121212221121112112211112112221111122211221211221211211212122211212112121112122221212222121112121121121212221122211122122121212111111221111222112122212112211211112212112221121122212221222111211121222212122222111211222111122222112122112111111111221221221111111212211122222111122112112221111221111111221211211222121122112211222122111112221211122112211222122111122221122212222121122221122111112212121121122211212221121121212111112121122112212222221112222121212122121122112121222122111222211121121222111121211121122111222222111111211221111112212221222121111222111112212221122121111122212212222221111221111211211212222221111221122121121111121221221111111121121211211211122121212111122221212121221121122221222211121212122222111112111222211121111211212221111212212221212221222211221221121121221121222221121222221212122112221212122212112111111211122122212212111121212212122212112212222122111121222122222111112222221121222122222111221211111221121112221211111121112122222221112111112112121121111111122122112121111122222211122222211112121212111211221212112121122112212122122221121211121121122121221121211222222122111112121211112212121121112212111111111121222222211212122211212112111222122221212221111111221221112121212121122111122122121112222112212221121222221211121222111221221112112111222112122221111121111212121212222122222122222222122211211222111122121111221111111222111211211121212212111121122212211112112112212221122112222221121112221122212221112121212221212222211121122111211221111112221211122112121222221222211112212111112211222111211222222211111222222222121111212212211122112221222212222221111212221112211222211112122112212211111111112122122222121112211122222112122222111121222211222111221221221221222112111111221212112211122222222212222221221212121212221211121122221221221122111122222221212122212221211211212111221122212121221111112221212111222112221112222221121111122221112121122111111221212211122221212111222111222112112212111211222212221111222111122112111221122211212221111222212222211212212221111211112222212212122222121112222121222222111212211122122212212112121212221212111121211222211122112221222212222212211121112111111111122221122112221212221222121111121221221221122111221211212121221121211121221221111121212221121212122211112122211121211122122122112211221221112121211122212112112221111121111112111211211111112121222112212221212121221222111122111111221121122112221112111221211221212112121222212221121222121111122212111222222221212211112211112211112212211112122111222112112111112212111212221112211222212122122112112221121221212111122122121121211121111212112111221211121111222121221111122211221221122212212111212211112222222122121211122122112221221221121121121111112221111112222112112112212212221212221221222212111121112121222111222212211112222211111122112221221212211212111221111212211111111111211112112111211212221222212121111121211111111121122121222122112222122212212121112222222222111122212122122221122211112111221222122121122112221222221211111221122122122121212221221222122221112221212122221122211122212222221111221112221212111221222212222111122211111211212112121212212112221212222112122221211211122221212221221221112122212121111112122211222222221211221212122122122212211212222111222121222221121212121221112221121121212111112112112212211111121121121212122212121121112112222211121121211221122212222121122122212212212211111111122121121212212221111111222211111211122221222122211121122222211222221211212112211122112221122221222221121222212112221222222111212221212112122122221212212212121222111222222221121212221122211121122112211111121211211212111112212221122211122112222222222121121112112121221111112211122221221211112222221121211112122112211121112212111212221211112112122222211121221221211121222221112121212221222221212221121121211222221111211122121121122111111211212122222221112111221221222121122222121122221212212112111221122111211122112121122221111222122222111112112222212121211211112212211112222211222222212221222211112112111112112112121212122111111112212112111111122111222211111222221112221212121111111212112112112122221122221112212121122211221222111211112121222212111111111112111211221112122221211121122211111222112122221222122121212112211121221121211212112222211212112112121122211122211211211221121222122211121121121122121111211211112112211122212222121212221222222121222111221221112212222121221112221112111111111122121122221111211212111112112121222211122221122211112121112112212112122111122221122112211211112122212211222211121221212222222111122212121212111211211121221112221211121222122221111122221221222122222111212221121121221121212122211222211122221222221222211221111112212121211111112122222222212222121111211112121211122122121211122121222212112212122121221222211212122222222221121212211212211222211121222211211221212211221221212111222211121111122211212122212212222121112222212112222221211222221111221111111121122122221222221221212112222221121221122212212211221211111122211112221122222211112112212211112112111212122222111111212222121221222121122221222122122121121222121212122122122211221111222211211212111122121112211211221111121112112121122112222112211211111111112122112112211211121222112221122211221221221221122122122121212222112111221111121112121211211221222211111212121122221212211121221211112122112121221222111122212211211212222111212221221122112121112222221122112112221111222211111212112112211211221211121211222221121111221121112221121121112211212111122212111112122212211212111122211112212121212222222221211121122222211111212221211212111211221122221212211122222222112222112221111122112221221121222221122212211212111212112222112111211211211211121111211112212121122211111221221112211222222211112111211121221112121121222122122211112222111111222111122122221112121122112121111222222122212212121212111212221111122122121222111121211222221112212121212121211212122112122221122111221211221111211221211122121122121111211221212112122212221121112112121212121121111212212222222121112211221212122112212211221212122221122221111111122122121112112121222111121112222221112112211222121121211221111222212222112222111221121211212122121211121222122112111221112211211212211221122212111212221111121112221221121222221212122122212211222221222122222122112221112122121122221121222121122222211122121211121111211222122111221211121121221122121222121121112121111122211212221122121221122212212122112212121222211212121221121112112222111111211111221111211222111111122121111112212221122112221111222122121212212121212111211112222222111221121212122112112222122111221221212222111122121111212212212221212121222111222211221112211211112121122211211121121221212221221212212122111121122212212122221121122221121211211122212221221112122111122211221112111221221222212111212221222222221111221122211112112222221111121121212221222212122111122112121122222122122211121111111112211111111221222112112222222111211112221111212122211112112122121112121221221111211212222211112221112121112122221221212122222111222121221222221221122212121122212211222211221121212221221122122221122212222221112112121222122222121221221112112122212111111221212212221111212111222112122122212122212122212222112121222212222211211122111221222111111122221212221121222221111122121121212112211112122222211112211221211111122211122222121222111211212222222121111222122112111121122121221221222221112222212122212212211121111122121221112211121222112111122122112222211221112122221111221121121121111111212221111122122222222212211212212122122121221112221221122211122221222212111111121211122112222222212222211111111112212222211112211212121122112221222121122121212121222112112211211211122112211211111111112211112212211221112212211112222211121212212121222112222222211111211211222122121221221112111221222212222122212221222212111111112211122112212221111211211122212211111111211212221111122221111222122111111111121222121111122122122111212211111112122121112221221212211221212122121112221122221212121221212112122211121221121122222121112221222111112212211111212112111221211122112222222112211221111122212211222212221222122222212212122221211211111222111122111111212112121212121222121112112222212111211222122122222122222212121111222221211111122112211111212112222211211111122221211212222211112221121122111122211222122211221211122122122121121221111121212211122122211222221221122111222111111111212112121212111111122221211212212222211111111121121222112211211221222222121112221211221111212222211222111121212212221211111211122112112111221222111121122122211122111122121111112121212221222122221111222122111111121222121222222222221212121122121122122121111212221111212122211122122112222221222222111212121212221111212112211211112112221122221111112221111122122221111212212122222122122111211112222111221121211121212212121221112111111221112222211112111211221111111212111111111112211211121211111211211221212112111211111112212211222211212221212112111211222212121121212112122222212211122112112221221122211111122222211122122212212222111222222221121212111221222121112111112122112221212212111212122222211221112222121111211112122212211112121222122111221212121112111122112222222111111222221122121111122111222221212221212211212212111122122212111211122221211122112111221212212122212211121221122111121212112122122121111112211212121221211111222112211122211212212122222222222112121122212122122121222111211221222221221122211112121111211121211221112221211122222111221222111112122211221112221211112211212122221212221212222211122112221222121111112112211111222121221122122112222122212212222221122111121221222211122122112112211121221112121221112221212112222221121111222212121212212221221111212121122122222211212122111112212222111212222212111122122111211212121211211221111122122222122111122122211121211221212121112211111111211121122121212111222212211221221111212221122122121212212222211112111221211211121122211222211112112221221222211111122112221111122112121122112211221111222111112112222121221221212211221121221121112112111111121222211121122112212112111221112122211112221212121111212111111212122111112112211211211222122122122112212222211211221122111211111212121121222222122122112122112112121121211112112212221111212112122122222212222211112111111121212212211112221222111212212121121121121122222211122111111211121221112221212221112221122112112122121222222222121111211111211211112211122222122221212212111112122222111212112222121111211112111122211221211222111111121221222121122121121112221121211221111222211212221222211112222212211211121221212211111221221112122211222212121222222112212212111211221222212221211122211121121111112122121211222112212122112122212122211122111221211122211221112221112111222111211122222221122112111211222111211121222212211212112211112112121112212211222111122111111222112211221222222212212122221112112211111112221221212221122222121222222222221122122211212211211221221112122111121122111222221221211221221221211212122112122121222122211121222112212112222122222122221212222211211222121122122122112111111111221112212111211212212212212211221211211212212121212121212212111122122222121221221211111222222122122221112121122212211221112221121221222112121211222212222112122122111122212222211222111122222221112111221221212122222112211122121111121222222211111112122121212222212122121212112111121121111121121111112112222222221122221212111122111112111111221222121111221222121111111212212111212111212121212121121121212211122122221112121121221222121111222221111111112111112222221112221121222211111111222222112122121222212211212221211112122212111112222121221112222122122221212211122211111112221221122122112121222111121212111122222221222221112212112212122221111221111212222121122221121211212211211121112211112111112212212122221211222112122121121122212222112121211221212122221211222112221221221112122212121122222211111111121211112121211222212222122211111122212121112112112111222221211221211212212121121122121111112122122221212212121112122111121212122122221111122112212122222112212212121221221121211221221211112112211221222121111121212111221122211222222212221121221211211112222212112122111222121221112222222122111222122121222222211222111221222112212211222212122211112121212212221212122222221222111112122122112222212222222212112112212122122122211211121211212112122122211111122121122112111121221122111111212211121212221221211222112112121222122111211221212221222221212212112211122212211211112111111112212211111112121121221112212122121111121112111212211221212121221222121111222112221211111211211111121211112211111222212122212121121221212121212111222112211111112122222221121112212221222121112212212222111222121222211212122111122221121212222221111122222122111111221112121211122121212212211211112122222121211211221111212122112212112212222211122111211112222112211111211122221211212221112222222112212222112211222112222221111112211122211222222122112112122122111111222121211111111121221111121221122211221112121111121122212221212121122122212222222121221121211121112221111211221212111112122122112121111221221111221221112222221112112121121111221212112221121121122212222222122222212121121121211121221112112122211212211221122121222211122121111221222111212222212111222122222211111122121111121211121221211111221122222111211212111212111221112211112222211121221221122121121121111111111221222121112111112212212112221111112222122122121111212121221112121112121112121212111212111112211212212211112222211212112122211121112112222111111212112222212211112121212111211222112111212121212221221111111212211112121211211111111222111222122112212212211122212212211212211122112111122221122211211112222212122122211222222212221212111122211122112212222222221211222211122111111111211212112222122121222211211222212122122122121122222111121121122122212221221122121122222212111211122211111212112121211111211221121211212111122122122111111121212211222112222121112211112221121121121122221112112211121222212222211211122211211122122221211211111122221212211121221212221211112111212212221111122222121211221211211212212222122221111111221222121122222112122211222122211112212221122221122222111221211122222121211121211222222111222221112211121112111211221211212112212122122111222112112122222112211112121121221112122211122222121222122212222211211211111112111122211122121222222212222112122121122111112211111222112112122222111112121112222121212221121111121221121121212121212111112121222112211221122122111212111111221121212121122212112221111122121121211222121112221111111211221211121212111111111211221212121122121121222212121112112212212111222121211121212221221112112212121121222112211211111121112222121112122212221122212211122111111221112111121121221112111122111212112111121222122122222121211112122221121212221112122222211121212222212212222122212111112122212111212221211211111211111112121221221122121121122121112221122121112212112122121112221221212212111121121222222121111222222121121121222111211111222112122222112211121221111112121111212221212121222221221211211221211112111222221222222111122211221221222212211222112112121221122111212121211222112121221111221211222121121211111111222221222221111221112122121122222112111212112121111212222222221112211112121222212222211121211222212221212111112222122121121211221222222111121211221221121211121112221211222111221111121112111221222212212121212221122112212122221222221212211121122221212112212122121122111122222112211221211221222121222111211222222222222112211211112212111122221122121122222112121221211112121211222121112212112122211221121211122122222211111211121222212211222211111211111212222221121112221112121111121221212111112111211221222212111111121221212211111221121121222211112222121221122122121212111211112212211222212111112111111122122111222111122211222222112111121212211111221221222121122112221211222121111112211122212112221211121222111111221112111212122211211212211212121221222221112212212222211221111111111111122112212222112211122122212211111122222211112211121122121122221121222111122122111121111212212112112222122111111122221222221111222121121212221122221221122222111122112212122212222211111121221121222111221111111221111121121121112221122122211111111212111122221211221112222121112112111112122222222121112212111122111122211112211121222122221211122212222112122211121121112122121111221211112121221222121222211212112112122221121122211211121211212111222221221121211112121221111112222121212222112212122212221122222111212122112211111222221221122212122112222121121122221211121121112221112221112122212112112222121222211212212121221211112221211121122221221222122222122211211212211212112122211222111112112122122112112212111112211222212112112112112221211112122212121212112112122212212112212221222112222212121212122211222122121111222122211111122212211212122122121111121112212112211212211222112111211121122221211221211121121211211211212221222222122222112221222222112222121122111111112122112221121121222121111121212112221212121211112122111112222212121222222211212212221211221212122121122212121111222122122121112112212212212112112122211112111222122111112112112221212222212122111211212211222212222222112221122221221222122122122211111121211122212121221222222111221111211211112112222222111222121211122211212121212122122121121211222212212211212121122112221222111221221111212111111212211111122212121212122221222212212121122111112112111112211222221221121222212212122221111222111222211211122121211222112111222112121111122122212222222212112121212111122122111212111212221122222112112222112112121122221221222112112222112221112221111122222221112111211112121212222212221212221111111121111122211222222212121221122122211122222112221111122221121222112211122122211212121212122222122211221112221112222112122111111212122121221111122222211112222222111122121112221111212212212121211222211212211112212121112121111212111112221112221222122111221122222222121212112221112112222221211111221212121112112221121121122122212121221211121122221112111111111212221222212111111122222222221212222122112121112121121122212222111111221212211111121221222111122122122122212222112111222221211221122212121212211222212112111121211112111221121121122212112221211212121211112221221111221211211222121212111121222212221121211212112112221222221111122122211211112221212121121121212111112211211211112221121211221111112111212111211122221112122122112112121212222222121211122121122122211121112122212222222222212212212222221122222121222211122211111222212221212212222121111212111212121221121222211221111212111222211112112222222121222111121122212212122121211222112112122112211112121111111211122122122121222222111112112221111222212212112222111122211222222212211111222221121122111212221112122222221211222221211212122221111122121212212211112111211122111212122121212222121222221112222222211111222221111121122221222112211212222211121212111212212121112112221211211111211211221221212111211121111221121121112112222211211111111212221121212222112111222112212221212122121222112222211122111112211221212221222211112212112111111111222221222222122122121111211121212112211112212112211211211112111211211222121212212122122121221112211222112211112121121211112121221212212211112121122111121122212111222121111111221111122221222221222211222112121112121122221122212221122222211211222221211111111111212211121111112112211211111212122222112222222121212111211222111211222111221121212221221212111121121212112122222122211122122111121211112121122222122212212122212221122111112222212212212121122122122121122111112122112211111222222122111211222121212112121222212112211121122222121112121221211112112121211121112212111212222122112221121221222212212222221111112122222122111212211212121111222122212111212112222212111121121221121221212112222122212222121211112211221112112111111211222211211211221221211211212121221222212111111112112122121122112111222112222211212211121221212122111221222111122121221222111222222121122212222111122222121112211121211211111121211111221121222121121221111111111212222122222122221111111211121122211111212211121111221222111222212122122111212111211121111122221221212122122122211221121211212221112212211111221112112111212211212211112212221121222221221222211221112111111112211111221221112112122121212211222122122212211112121212112122222121121211211212211222121121211211122122112112112122112211222111121112221221221222212212222122111112221121121222222221221112111122221122121111112121221221112121122111212211211111211211211112112212121122212211222212122112112212221112112112122222222222211112212122222112122221221112212221211112112222221221211122212221212122121122111111222212212221121121112221212211121212212211111112112121212211112211211112222221111221221221112222122212211122112122122221111112112211211221221122111112121212222112222212121111212211121222221122111121121112111112111122121121212111122212122122121212211121122211221122122122211111222212222211222212221122111111112122112222121111221222222211111212221121112111221211211112211212221121122221222222112112112122122212111222112221221221221211112111212112222122211221122111112121122112122222112211112121221222121211112112112211112212211111222122222122111112212121121221222121111121211121211221111112111122121121121212211112222212122112122222211211211211112111221111211212221211222221221211112211111212221221222221221111111111112121222221221111112221221112222112221121111122222111211111222122211111122112111122122221222122212122212111211121211221122121221121221122111121122121222221121211222111122221221212121222212112222211222212112121112111112212212211222222122121112111212111112211221222112211222211211121212211212222212111221222121122212121212122121111111122211121111221221211111211211212212221212111112121211122211122221122212212211121111111112211111221112211221112122111111122221212112122121222121211221111222121122122112121222212211122212211212111221122122121122122112222122221212212122122122221121211221122121222112112221111222211111222122112212111211121211111112212121121212112121112122211221122221221111121111111211211121211212111211211121111121211112112211122212112111212122111122222211222222111121211112121222111221122111212211121121122211211222221112211222112112222211121221212211211121212112211122121122122122221222211122221211121121212121112222222221112222111112112121221221111222222122222112122211111211212212121211122211112121211112211211112121111222112121111121222122112211221121222211222222221222222212122112112221121211112111211112222212211212222222221222221111111111112122122221221122212211212111211221222121221122222111212221222121221211212112222112111122121122122221121212221221221212111211222112122212212221222121211112112121122222221111121122221221112211221111122111112212222122222111122221222221121222211121211212221221212122221121122221222111221111221211111111212121211212112221121212221212211211211222112112122211211112221212212221112121121222211121121121112111222111122121112222112221221111122111221121111121222221122112112112111122111221222122222111211211122112112112212211122122211122112112222222211212211122111112212122111212211221121211222112111111122211212122222112112221222222222111221121222112121122222211221112111222122121111222111211212211221211112221212122111121221122112212222112212121121211122112211221121122122222112211121212211221112222111111211112222112111211221222121211121222112221222112111211222122112222222221121111212112221122211122122222212111121212221212112221121121122121212122212222121121221221211121221212221121112112121222211211221111222222211112212122122121111221221111212121122122122121212221221112211122211121111212111212222212121212211222221221221212111222212212122212121122212122221112122222212112212222112122222121211122211212111121121112122221122222211211212122111122112212211222111111212221112111221121111221222121221212211121211211112221121122122122111212111222211222222221212221212121111221211221122221112222212111221222212222221122122112122211211112121211121221111112121212121211212221121221111121112111212112122212111221112221111211112121221121111122211121212122112221122221221121121112112222221121112212212111112211212112111222211121112222221212222122112122121121211211212122222211112112111222211121212222222221122221121212212111222112222221221112112222121112221221121112121211211122112122211111121222122121111111122121112122121211222222211211211111111222222222122211122221111222212211121221222211222111111121212212222222122212112122211222212222111122221122212111111211212112121212121111212221111222211122212212211211112122212221211212222222121212111221122222111112121122212211222122111112112121121111211211211212212121211221111112122222122122222222121112211121111221121222212112222212112121112222221111212221221112211212222112221211221111211211211111221121112221221112111122111211211212221111121221221211222222122221212222122211212221112121221122212221111112222121112112211111211111122221122112221212122112211222112221112121112222212112112221222121112121212212222122221112221221221122221211121222212122111121221211212222221112222122222111221222121221211221211211122112221111122121111112221211212111112112221212212111122122221211121221112211211122212122211111212212112221212221112211112222122221122121221122121211222121121121221112122212211122112111112211121222211112211212211221112121222222122212122211112212122222122111122221211221122222112122211222212111121111211221112212211212222221121212121212122221221112111121212122111122212222211111111211122222212211211212222111212212222112121212211121212221121212212211122112121222121122121112212122111112121111222122211121122222212221211221121111121112211211222211211122211221112111121121111222211122221121121122121112121221221111222112222121122221121122122111212122121122212212121112111111111222212221112121121222111112111122111122112122212212221222212122112111121112111112222122212221111212121221121211121122111211212111112222111221122211221222111112111222122121122222111211112112212111212212211211212111112221222121111112111211111121221211212112221112211121212121122112112221111122111121221111122121111222222211122112211221222212212221211111221222221122222122112121121221112212121122211112111221121212111121111121111212122112111121222212222111222222222121111122212211121112221122121212222212112212121212222222211112221212221221121211211121111211211222111111122221222221222111221211121221212111222112122112111111122122111111121211112111222221111211121211211121211121221222221212212111122121222222221222221212222221222112122121112222111112121111111121111112212112111112221111222111122111222121121112221212121111122221212221221221221212222111221212211212112111111221222112112111122221211112112121211111212121112222121111211111212211121111122122221111221121221121211212111211212122212212222211221221122122122121122212211122211222221112121121211111221122122112212222121211221222222221122221222112222122221112211121211112211122211122212111111211211111111122121222111221112211221112111211122221221211121112221112222211121112122221112222222211212121112222211111111222221212212222111221211121122121121111222211222122111212122122112121111212211122221211212221112222212211111122111222211111111212212212211211112211221211111111212122211221112222211222122211111221212221121212112211221111121211112111222221112122212212122121122122212221222122221111112122211221211221221111112222122211222211222211122212212221221112221121111122121122111222121212211122211121112211112211221212122221111211221122111212122211122211221221121222212222212221121212211121221122111222222121111111122112121121112122211121222112222221211111211222121111122222121112121122212112111212121122222121222111212211212222212212222121222211121212122122112122112112222221111221122222122111211111111222122112211221222222221221111111222222211222111112221122221212211112211112112112112222111122221222222122211122222112211212121211121112122222111221222112212112122212211122222211112111122212211111112222121212211211111211121112222212212211221122121211211111212112112212221121221212121111111112211112221112122122211211122222112211221211122121111121111212211122122211211111122112212121211221221211222122211111212221121122121221212212212212111111112112122212121122112111211122111211221211222121111112212121212112221211122212221222121111112121212112122222111211112111122121121122112122121221211122221211121112112112111122212212112111122211211222211121222111121122212111212111211221222122121211222121221111121221111111112121122111211121211221111221211222221221212212122122212122221211122222121112222222112112212112121212122121122211211111122122112112112211111211221221212121212221221222212121222112111112221122121112122121221112221112122212212121122221121111111212112112112222221222111222221112122222112222211212212111212221222221122122212112212212121111212112112222222222111121221211211211221211211221211111212211221212112111211212112221212111121222111121222212121122222111221221221122121121212222211121112121212221121222112121212222111221211222122111211122111122212111211121222111122211212212121222121121121112212121212221111212222212222222221211222222112111221221222111222112121211221211211111122211211112222222211111222121212221222121121222121212121111121211112221211112122211221111121122121121121112111212221112222222112122211121221211112222221122111222111112121222222222212211221121212222222111122221121121222121111111221212122121122111221111222221111221212122112121211211211222112111212211211122121221121112222121211212212211211222121121111212111122212211122122211212121111222112221111121111122121212112111112212112222221212221111121221112221222112211121111111221211111122212211122221221111112212222112111211122112211222221121111211121212221121222112222112221121212122122122112122221222221221121122211212122211211221122222121212121212211121211112122221222112212122211121122221222211212211122221212212111211121112222121221222122111222122112122212122112112122121212211211111221211222211222222122221122211111121221212112111221211112111222122211112211212121112112211222212112111121211112211121111222222211211222222221221222122221121221121122222212211222222221221221211121211121112221212112212212212112221121111121121122122112221122221212111111111212222112111122122111121111222121211221212122212211121222111121112122212121221122121112222211112212221122221111112122222111111121211111122221221112111211122112222221112112211111211122212121112121111212122222111111212212112212211121112111122121212121212122121111122112112221122222221122212121222221211112212212122112121112122221211221211121121121121122212111222222121111221121121112222211211222112112112121211211111222221221221221211222121211121222222111121122221211211221211121221112211121221212211111212211112221221222112211121112212111122222222222111111222112222122221122221222111221111112211121221222111212212212111212111122222121121122212212121212222122211111211111112222121121121222221112221222122122112222211112212112222221112222112222112221212121111212112211112211222211112212212222122121212221211121212211122211212122111122211121221112222211222211211121111121222212121221112112122221212111211212211222211121222211121212211122211211112221111211212111112222221121122121112122122222222122112222221211211111121222221111212121212212112122122111211221222211111222212212112212221222112211121122212221211111121221212212222112112222122221121221211111111221222222111111111221112112211222222122211112222111122212221211121222111211111112212221112122211122121211222221212221122212122211122111221121222211211211212222212222121221222112212121121222111211212121222121212121121122211122212122111212221112121211121222112112111211211122112121121121221222111222222211122121211212211121212221212212221221221112221112122222212112211122222211112122111112112112122122221122112121222112222112122112211212211121222121112121111212111112221222121111211121212221212212122112111111122222121112122121212122212211222212212122112121121221122212122221112221222221122111121212121122222222212122122121112111121221212122122121111122221211221211122212122122222112112111112222222211211122122122122111112222122222112111221212121121211222112212212122221211112112222112221212122121112122112112221212222112122112212122122222112112211122121121211121111121121222121121112112111222221212222111121222211112121112222111211121122121211112222211221111122112212211112211121212212122222122211211122111122122211221211112112122111122221121121112121222222212111112112212122222212211212112121221121212122222122212212121111221222122211111122212112112122222222222121211121111111112121122212222221121112222222121122211111221122112212121212211222112221212112222121121222211222212221121111111212212222212122121122211122122111111111121212111212221221122222111211121221112112122112221211221222212222211122211212121112122122111122122111122211222122111122222222221211122221121121111211222211221121121112122121112111221122112221111221112112221212111221111221112121122112211111211221211121112111122121222221122221211212212221211211111221222121122121211112221122212121111211222111222212221121121111112112211221122112222111212211121221211112122112122212212221222211222212222121212212212111121121121212211212211122222112221211122122121122212111222211212111121211211122221121211111112212111222212121221211121221211221222121111112222221112212111111112122222211222211112222112211211211222122122222122111121211221122222121122222122122211212221222212221211211221121221112222221112211111212211112111211111221222121111112222212121221212122111211122221112221122112211211221112222121212212111121112211121112212222122112111212212212212221222221122221212221111111112212112211112221122121122222111212211112211121222112212221221121121121121212211121122121221122222211221111221222222121211221121121212122212222112222122111222222222212212121222111222112112112211221221112211211111121121112112222211212122111112121111121121221222212221222221111222212111221112122121222221211212121222221121221111121212121121121212122111121111112212122122221221112121211211211221211221122212121222211212122111222111121112212222222111221121212122111111111121222221121222121121222121212211212212222112221222122121212121221211221221222121222112112112121111111221212221122122212121221112222222111221112211212121221121112121122122212112222222222122222221212122211122122122221221112222222221222222122111221221121211112211222121212212112121221221222211111211222112121121121121222212212122121212221112222121112222112122122211121112212212122212111211211221112211222111112211121122122122221111112212222222122222122111211121111112211122121122121111212211121211111122221222112112121222211222211122122112222122112122212211111122211221212221121222221222112211121221212112211112212212222222211212211121211221221212122211112222221121211212122222121212221222222221221222122112121121221222121121211112221122212111121112222112121212212122211221122121121112112111211222122122222212122122122212221221122111111112211221121221121222111111112221221122221221112221222111122222212222122112212122212121121221212221111121121222222112222222111222212221111212221122212111221121122211112122122221212121222212212112121211222212122111111111212122211212221212212112121212222211211112212121111212111122122112222121111211111211222221111221111112121121122222111112121221111121111122211221212221212121111222122121122121111112122211221111112111211111212121111111121111212121122222222221222212211121211212212222112222121222112211211222111212212112122212212211121212122122112222222221122212212212122221211211122121212111211112111112121111111212122212221112112112211121211111222121211112122222221222112212122222121212212211111221222212111112122122122111122211221122111111112221112212112112111212212121112212122122111211122222111211122111122222111222221112222111212222122121112121112122211112221111111222212221121112211211222211121112122111212211111122121211212112222212222111111112212111222221222222112112222112111212221212221121222121121122121121212121221112121212222122112121112221212122121122122212221122111212122211221221112211212212121112121211111221111121222121112222121222221221111212111122111221222111111222122221112112212211211112112111122222112112122122112121112122112222222121121111122111122212111122111221112112212121221211211211122222121122222112221222221112121222221112122122222222222222122112121121112212121221222122212111112221221121122221212221212222211111112122212112221121112112122111111122121221211221111111212122111112112111121222222122212122122211122221221121122211112122112212212212211121121222122111221211122221211122112112121211211212111112111122111112212211122111112121111212212222211121111111222122211221122121221212222111222122111212222212122111111111211222221122211111212221112221112221212211122122222211211121221111221112211112122211222212212112122212212211112111121221222222112212222222212222122221211212222212211122212221122211212111111212121222211122122112211222211112122122222221221122121211111211222111222121211211112212221111211221111211121222222212111122221222211211121112121211121111212222111121111111222121212111212212211112222211122112211212112221111122211212211212112122212112111122111112112212112112222112111121221222222122121112111122121122212221211222211112122122112211112111112122211111121221122112221121222122121121111221111221211122212211222222112122212122212121222112112212111122222221112212121111112211221121122111121221212112211111211111221121112111222221112111121111211221121112212212212221211221222112221211112222121112221112212121121212121122111111122122211111121112222112122111222211121122211121112221121122121221211112121211121211121212122222221222212211222212221222121121122122222212121111222221121111122211221111122211212221121111112121112122112121211122122121122221121112222121212111122212121121122211111111121222122122211222212222211222212111222111111222222122112211122112122222112112112111212112121121121211211122221122111122121212122121122111221121212111111111222222121121111221121221222212121121211111212221221222122121211112221212222121111111121122111222111122112111111122212212121212122221211222212121122212122121111222211221221222211122221211112222211112121212121222111211212121121222111122221212122112211221112111212222212112222212222121222111111111211122112112121212121121222221211112112222122222222222212112221112111222221122122212112222122111212121211221221122211211111111222112211221221221111221221122111212221121112211211122121122212211221222112222221121121111112122122121212112112211212221122212122221222222121122221122111121121122121112212221222111112212121221122112121112221122221122212112212122122221212211211211122121211222221121121111211211112222222112122222221122222122211211121222121122222212221121212212212212221222112212221222221121121212122111121212211121221111112222111112211221112122211221212122111122211122221221212211211221222211222211121222121222112212111111112222211112211122122211112111122211222122112212121121211212121111121221222111212122122222211212112211122222112111211122112211222211112112121121111222122212121121112212221112112222221121121121222212112211121111121211212121112221121111212121222221221111212212111221112122211111221122111211122221221112221112122122111212222222111211211111122211212122212121211112121111121211211222112221211111212212211222111121111222222212211122122211212122112112112112112221111222221111121112111222222111111122221212211112121111222111122222112212211221221112211212211222221222222211111221221212121121212121112222122111122121221112121112111111112121222112211211112212211222121222122221111121122112211222212221121111212111222122222211111212221111121122111111222121211121112112211111221221211121111121221112211111111121212212111112122212122222212211212222122222211112121222112122222112212222221222222121211211222212221122121112111222122122212211121111221122221122222112111222111222221112212122221211111221122222111111122112112121211121222121111112111112111111222212222221121222222122121212121112111211111212212121122221111211122212121122211212111122211221221112111222122211111211121212211221112212211212111111112211222111112222211221221111112222211212211212112212212212221122221111212222112212211221121211212212121221112112121222122221121121221121121211122112211112122222121221211211222112112122121211212111121212122211111122111221121111112112122122211221111211222211221222221211211112111212221112212211111112121212111121212211222211212111112122122121221222212222221121112222122112122111211222122111121212111222111211222212211221122121222122222122221212122221122122112212122222121212112211211221221121211111112211121112121111211211222112212122111111112222212211111122112221212211111112222112221211221222112122211121122122112121121212211122211211122222212222222112122121122212112222111212221221221212122212121212211122111222111112211221121111121212111211221121111221121211222212222212212111212121111111222221111112121111222122122121212111122111112221122211121221212121112122211111212111111111122121212222211111122111121121222122221122221222112112212111111122221211212211121111111212211221222121212222112212121221222221122221211221221122222121222211112121111212111111111222221221222121121221212221111111211211122222211222211222122212122122212111121211121211212211112111122112122111112122212112212122211221122212112222211122212122211222121211112212211211212111122121211111212221212122122221111122111221221211211221121122111211121121222222212212212112211211221121212112122211121111122211211211121122221112211211212212111111222221122211112121122111111111222112212121221221111211122221221112122221111111122111112211121221111111222122112212221212122112121121221221212212211222122211221112112211111222121212121222212212112122221111122111212111121122122222222121111122122111211122112211212211111122121111212112112222211212221211221221221222211222111111122222111111121121121212121122222111122222111122121111212111121221211121112121111111112111212211111111112222221111211222212112221122221121212212221211212212211112212112212121112121112212222112122221221222112211111211212222112221111122212122122111212211112122212121212111222122221211212121221122222211112122221111222221212111221111121121221222111112122112112222121212122121111212221112212212211221212212222121122121112112221121221111211112111211222211111111222112211222122222211121112222122212221221111212221111222121212212221221212212112111122222112121221111222212122122121122212222221212211122121111212212111211111122222222221122111222121121112121222212122122212221111211221112111211112222121212211121211221221222212112212112121221212122121121112222122112222121222221112112212222212122122221112112111211112121222222212221121212111221121221221221211221222211212212222221222111112112212212211122111212112112211221211222112112221221112212122221212212212211211111121212111121112122112112221121111112121112121122222211221121211122122211222222211222121222222122212111221111211121121212211112122222122111212112111111122111122121122221211122121112112221221122111122221222212211222112122212111212222221111222121122121211111211212121222221122221221121112211222112222211112112111121212222112212221222222222222111121122212121112222111212122211211222111121122112222112211122222222221222211222211111221121112121112121211121112211212212121121122112222111222122112222122212111111121211221111121222222122121212122112212212211121111221121211122211221222221122122122112221221221221221112121221221111212211211212222222222111222211211112221221122122221122111111111211122221121112221212112121222122112111121212221211211222221121121122221121212122211122121111221221221122221122111121112211112211111221211222211122122111221222212122212111121211111222222122122211221222112211121221111111112212122221121221121211222211121212121222121211212111211211221211122221111212121121211111112122112221111222111121221221212111111122222212222221121211112222212222121221111111222212122122222111112222111121221212212212122222221212222122222112112111222121212121211212121211212111221112212121112111222222212121211111122111111222211221212112211211221221211222122212221112121111121221212221222221112221212121211122221212112112221112121211111222121211211211112222112112222221222222222121112222212122211112112212222121211122211211222222221211212111121211112222211221122221211221111221112222222212112122221112222212211111212211212211212212222112222122221212121221221112121211212211112221211211222211111221212211111221221212212112121121122122222112212221111111222111211122112211122111122212212211222211211221122221211212211121212221122122121212222122122222211111111222121222111121211111211221111212111211222221222222211111122121112221221222122211222111211121121111212221222212212211122122121211121221222122222221121121111211211111121121211212212211111111122221121221211111211112221111111221211122211221211221112211222121222121212111211222121112212221222111121211211111211122211221222222221112121212211121221122121222211112222211121121222222112212221121222122112122212221222121212111121211111112211111222122111212212111221112121112221222111211112121112111121121112222121222112221222112122221221111112111112112121122221211121222111111112211122222122112122222211222121122112112121111222212121221222121112122112211211221111211212221222212111121121221122211111112212122112122211111111122211212121211112111211121222122221222212222121122111211122221211121212122211111121221212121212221212221212212221211111212111211112111222211122112212212122122121111221112112122122121111221221211221211121121211111222112121222221122222112121122112222121222222212112122111112212111112212112112121212112112111121212122211122212221121211112112121121112112212121121112111111111122212122122221222212211222211112222212212222222111122211212122112112111122112121112221122122122212222212121112212111112221121211221211112122222122122222112211112112112112221122111122222112122121122211122121112122212221221212212111221212212212121212212222111122221122211212122212112212211111112222112121112211212122121211121221221221221222122212121211112212111121211222122211222111121121121211212122222112111122111212222211222111122222121121121221222112212112212211221221222122121121211121122121211122211111112211222122222221211112121112212211122211211221221221112222222121211121121212122122212112111221111122112211222122212121122212111121222112121122112122211111122122221112121222112121121212221121212222121221122211221111112111111212112211222112211111111222222211111122111221221112211212121111121211212222121221221212111212221122121112211121112222111121222222222112122211111222221121112112221221211111222221122111222111222222111112222211121222222122212221212121122121121222121212211221221222221112211212121112112222212212222112121212122221122211122212112122211122222111212121222112212111111111222121212222112111211112111211112212122112112211112111112112122121211122222121212111212211111122221122221211121212121112122212211111111112121222111222212221122121222222122111111212112111222222111212221111111111112122112212112222212121212222111222221221211122212211222211212211122212112211222121122221121122121122221112222112222221112121112221112121222222221112221121212212121222211112212221221121121221221212112111221221122221111221122111112221111222221222121121111222212112121211122212211112222111121221222212122111212111111122111221222212112121111122212211122122212212211221121222111222121221122222211211122222121212111111212121211121212211212121111211111222112221112221212212211222211112221221122122211222212112212121121221221221211111221222122112211121211211212221212221122111221221122112222211211211121121222212222111111121221121211112211211211211121221111222222122221122212222212221222111212221222212221211121112121222112211211222111121222211111122221211221111111121221212111111221212222222222222211221111221112111221211121222112111222121221111222111212122212111122122222222121212211112111112222212212122222112122121121112121111211112221211211212121211122222122222212212221121112221122112112122111221111112212122212222121112112112121111221122221221211212112112111111112221211112211121112211222211211212211211221211222212221221222212111122222212221111122121121211222112112121222212111211212222122122112111111221212211111222121222211222222111221112222112122121111212211222112111121222111221212212212212112212112211212121121111221121211122111111112211211221121211111111121121111212211212111221222211122112112122122112221111111112112112211122112221112221211212112212212222212211211112222122212111212221221212121112221121122212121111211112121221121212211212111112221221111221122211221212111111121121111211122112212221112221111221121111222112111222122212212212221122211111112221112121122112221211212212122121112212221122212222112122221221212122211121221121122221121221212222122222111111222121212121112222211212212221212212122111122111211222111222112221221122221112111112221222112121212212122211112222111112121121212221111212111121111222111222122111121211221111112111222122112211121111111212112112221112212111111112112122212211222212212211121221211112121121221221112112212122221211222112222111212122121112112221122212122112212112111211112121221112212111112211122212222211212211212212122122212111212121111222112122212212112211222212111111112121112212221122221221122211121111121122222222211111221221112221122122211211122221212211212111212222122222112112112121212222122122221221212122222222212121222111222212112112112122122211221112121221112221112212111222221122122111222222122221112122111212121211211221212122112122211211221221221121221211212121121211121122212121121222122112122221211111112221112111121222112221222221211222121122221212221212122222211111212112111212122212212212212112212112122111212122221121212212211121112111211112121212221222221112122221222222222121221212121222221122221111122211221211221121111221212121212222222212222122122111221112112221222221212122112221211112211212121221112222122212221211211122121122212122122111111121221111211112212211222212221222211122222111111121111221121111122122221121121121222222112122221111221111212121211221111221111121122222211222221222122121121211122111112111112211112212221221221212122212121122122121111212121121211122121212122121222112122211111211222222222122221212122121121122111212211221112211222112221122112212221122122112211112211121221211122122121222211112211121112111221222211222222221112212221112112111221212222121222212211211221121121121211222212221122122222112212111211121122122121212211221111212211221121112212111111211212111111111211122221212121112211221212121112122212111121221221122112221212222122122211111122221122112122221211222122221121112111121112211112122211212112111211111112122122112222111111112221212112212222111221112222112112211121122222121222212122221211112222212111221222221111222111211221212222112221121212122122111211121212111112112112221112222122121211221222122121222221222222121222211112221121221221122222222221221121211221121222111112122122112222122111222211122212212112221222222122122222122212211221212111211212211212112111122112221111121111212211112222221212111112121121122222222222111211222121121212212112222212222211221221211122111111112222212222211112112112121122222111112221211111111212221211222212212212211122212211122211122211121211122121212112111112122112121122221122112221221222121112121222121222121221112111111222111112122211212211221112211222221211121122222211212112211121222111222212222212111112222212222222112111122122121211121221221122112211222112221122111121122122111111212122122211211111111211121112112121211222221221121111111221122221211121222221122111111222212122221212122111122122212212211222221112112211222112212112222111121121112121121211112222212121212212112221111211211211122211121221211212211122112212222121211112112122111222111112121122121212122122211121211121121221111222111221122222212212112122222121121212221111221212212122121121111121121112111121112122121111112212122122122211111112122112222111121121221112212111211211122222112211222222111212121222212221211112121111222121121112211221122122112122111211112121211211112122121211112211212222121211222122221221122112221112222221112122211222112121121221111211221111212222211222221111121222211222222111122211211211122222212211211221121111112121112211212111121121111212211121111222112221112121111222221211221212211212211122122111222112212211221222221122221212112212111122221112212212211111122121121212112212221221222122212221122112211111111111211122221222221212112111121121122212111122121112111121112221112122121212222111121121222112121211111211122122111121112212112112111122221212222221212111121121211221121211221221112121112211112211111111112222122211212122111112221122111211222121211221111222221122222111212112122221212221122121211211121221122111221211212211111121122121222111112111121121112211211221111211111212121122211121212111121121222122211221122221211212122112121112212221111112211121222211212221121211212111122112221221221112122221112121121211121212121211222221111122221122221121122221121212112112112221122222121212211222212221212212111211222222211122212222112212212211212122222122122221211211121121121221222121121112111111111221121111222121212221211111112221111121221222212112121111211111112112122122122112111211112221212211112111222121212121212211222211211222121221111121221212122212111122221222112121112222211112211222112221222222211211212222121122121121211111111112211111121222222112221122121222121122222212222112121211112121112111221111111211222222222111112211121221121112222112122211211221211212122221212211221211122121211121222122221212112211211111222212112112112111222221211212211111112112212111112122121112211212111112112121222111221112212122211112211212212211222111221112112111222221211111221222122211211121211111111221222211122221122121122221212212112211211221111212221111121121221111121111212221212222112222112211121212211111122211222112121212112222212122211221121222222122112222211111111112212112121122121121121222221112222221112221112222122111211122122122112212222122222222111121112212222122221221122111121211122222111112111211211112122111112121211112211221111221221122112221121221112122212222112222211121221212222121222212111121112221112112221211121122221122221111221212211121212121121212121222112121111221221211112112221112222112212112212212211122121212211111112222122222211212122211221222121212221221212112221111212221221121221112222112112221211221221122221112121122222222211222212112222212122212222211222211121112121122112122121122211111212121212122122221221122121122122111121111112212222212111221221122221112211121211122122222122122111211211121212222122221112211221212122212121122221222122112122212212111111112121221121211211121212111222212122212212211221122122121112212221211222222212112121212122221112112211111212121221212222222112112212121121221112212121211212121121111221111222111121121211212112221211112121222112211222111211111211222222212112111211121212212211111111222211121111222211211121112112221121212112222222222122111222222112221221212212212222211112221122121222212122112121122211212211121121222122111121121111111221122121122222211221221211221112122212221111222221211122211122212211111111121212121121222121112112221121222121222221122222112111211212122222122211111211121121211221211222221222112122111221212212211112122111122212111211121222211211122222121222111121121112121212112221112112112111212111211112212211212211121221111121211211221211111112111221221121121222121121111121111211221122221221111211212112121111122212112211122212211122112112222111122112122212122121121211212112112112212211212222112211211112211212211221211112112121111122222222221222111221222122212111211212121111211211122222121222222212111111112222221122121111122221222221111112212221122211122111221111221221122122122211112121122221222112222122211112122111112122122212221222212222211212221122122112111222121212121122122121221111212111222122221212111111211122121221211211112111221211211222111121122111221211111221122122111112111211111112212121221211221121222222111121212221112222221122212212111122221121212212122222122121111122212211211211221212222122222122222221112212112111221222221212212212121121212122112222111122112212122111121211212211221212121212211221222211112221121122211112211222221122212121112212121121211222212222212111122121221122122211122212211221222111212211111121122111212111121112112121111212121222122111222211122121212221112221122111222212221222221122112211122221221121212121112121122222112111221111222111122221121122112221212221222211211211121122222112121112212121111212212222112111111222222221111121121112222221121212221121221121221221221112122222221211222221212221112111212121122112221111112221221112122111112212211221111222111111121211221112111211222212112212221211221122212222211121221221111111212111222112221121122222111212222122222211211122212222122222222121112221112121112212121121212122112222211112122221221121211121121122122212121111211222211222212211212112111112221112122112212112122212211212112222121222211212122211111211222222112122211212112122211122111111122111121212211121222112121221212222212122111121112121221111111111112121122212121221221121112212122221121222212111212112212222122121112111122212221212222111221111111222121122212122212121211211221122222121122222121221112122111212222121211112122221211221211211221222212211112211221222112112211221212121221211212121222121112212211221221122111221221111121112112111121122211211112121221122121221111211222211122121112112221121112222122121212222211211211221212122221121122111122211112111121112222212221122111211112212212122112121221211111211222221222111212111211212211112111122111121122221212212211212112221121221122212111211111222111112121221112122112111222221121212112122122221111211122221221111222211211212121111211221221221221111111112221212111112111122121122111112211211112121121111211122212112111211222122221112221112112212211121211211121112112121221221121122222111221111112211121212122112212212222212111211211122121122222221122112211222112212112111111121121212112111112122111112122211111212222212121121221112112121121112211111121112112121212222112222111122212212111222211111221112121112121122211222122222212211211211111211222221121222221121121111112122122122222112121121221121112121122212222212112222121221112212212221122122222111221122122221222212111222211111121111211121112122211112211111221112211211121122221122121112221122222121212121221111211211211212121211212111122221222112212111222122121121122122221111221212111121211212121121212211111121211212111212211211112222112111122212212212222221121111212221112111212211211121212221222111111122211222222222111222221211211212211121122112112122221212222212112211221212212112121211221121211222121211212122212111122222221112122212222121222121122222222221122121212211121111112221111111212212221122211121221111212212212112221121111122111111212112112211211211111212121121122222221121221212112211112211221112112121221222112122122222222212211212222211122112122121211212211112211212222111122211211112121122222222212221211122212211112212121111112212212121221221222221211221112221222122222222111211111212211222222221121212111221112221121112211112212222222121211221222212211212121112212222212221111122222221221221112211221221111222221111212111121111121122121111122111122111212211221122111121221211121121111212111122222112211111111111212222122122121111111222211122211221221122212222112222121212121112221212212222121112221122112212221112212222221211211122122211211221121111111222212111222221122111212222111212222121122222211112112111211221212121122221121111211122212221122112111221212211111211121121111111121222212221222221221221112222122122122112222122122121111111222212221222122111112212212212211212222122112221212211221112221122222122111222211211221121112221122221121211222111111111221112211222211122121212221112112121111122212221212122211112112112122111111212111221121122112211221222111221222111212112221122211111212221212212221222222211212211111222212111121111212222112111122221212212121112112111111212112212121121221122222221212221221221222212112222111222221212112212111112222211122221212111211222121212112221222222111211112212222211222121111112112211111121122111222211121211122221112212222212222222212121121112221212221211222222222221211111111221121211122211111111211111112211111122122121222212111211211112221212222112222221111122221212121111122121211122111121121222222122211222111121121221112211122112111122111112212221112212112111221112121121121112212111111121111112222212112222112111112112112121111112212211212112121222221211211122221222212212122122112112222221122222111111111112211112121121112222121212222122222212112112221222121212221221221121212112221221111222221212211122111121121122112122111111222111111212221121121112112111112222211221222111122222122112222112111122111222211222121221112211122122221222211212111221221222211121122221112211121221211221212211112212211122221212222212211111121222111222222122212122121111112222112211211212111122221221212222222112121212211211121222122112212122111122221111111212112112121122212211112222122122122111221121111111221211111211222211212111222111121221211121212211121111122221121211122112211112121112121211212211211211212112212111112121111122222122221222111111122112111221221112122122212222211211222111121222211211212211212212211222212212122122222111211122111111212112112221112121121111212211112122112121121211212211112121111211112112112122211222221122111222122121212211111212122211112212111222112122112112121122222212212222211221121211221212122212111122212121121211111122211212211122221121221211121222211111221112221212121212211111121222112221112122122111212111222111221221222221212122112111221211212111211121121111211111211122211221112121212112222221112111211121121121211111121112111121111111122121111221121121211111121222211211111212211211121221112111111211221222221212112222122211211222121221121112222121212222212111212212111122111222122221212111211222112121112122122121212221122122111211112221221212121211211122211112212222121112211112222112122211221212222221211112212111212222221111121211112111122221122211212122111121122211111112221111211221112222122221211221121121221222221121121212121112121121222112221112112122112222121222112211121221212121122222111121212212211211221122222122222212112212211211222221212112222221112121212111122212212222211212221212212121211122211222121221121122222112212112212212111221112221121122122112211122222111112111121121222121111121112112121221212111122211212221211121121212121121222121111211211111111122222222112211122221221112111222112112212122121212112222221112122222121111122111122212221212121212111212112211212122111221212121122111122111211212121121112122221121211221221221211112111121112222222221222112121122212211222212111121222222111211222111111111111122122111222212112211122122112221111121112122121122211212221222222122111111212222222112221221122211111212112222211112222212112122112122112211212222221211112212221212121211121212211221121221212222222121222221221111211222111212211212112211122122212212222221212122221112222121222222221111111222111222221121212221121222212211222121122222112221212211122111211112221111122222221111121111222222212221121111121211111112221222121111111211221221112122211112112112121122211112221111222121122221222112112111121222221222212111121222111122122111212212212121211122122212221111122111112211122221122222112111212122222222122122122211112222222112212221121211122211222222122111111211211112111112121211221112121212211211222211211121211212222111212122222222121222222112121121121211112121121222122122221221211111211112122211112122211211212221121122122221212121222112122212111212211222112221112111211112111121112211111222222211122222211112122111211211211122212211221222111212212122122121112111121122112121122222222112211212211222121211212221221122222111212121222112112222211212221221222222222221111221222221211222122111222111212221111112122121111221211212112211111122212212212121122221112221221222222212112211112222112111221212211111222111221212111121121112112212111112121122221111122212121211212121211121121122212221221111212222111212122122111111211112112112112112211222122112221222211112111211212112211122221112112212221221111221212121221122121112221222211211222111211122212211222221111221212112221221112112121211112112221111222121212122222112212112121222112221121222222112111222122211121212112121222111112112222212112221111112222111221122122112222221112222121212212122122221221112121212111211112121221212222211112122111222211111111121111221222111222111122211222211112112222222212221221212111221221211112122112211111222122221212121221112221112211222111222222212112221212121221212121122111112112212121121111111222121221221122111112121112221112122121212222222212211111211111111121111111211122222111212111122112212221122222122212122112111211221111212222111221112111222212111221221212222212211212111212112212221112122221112112222212122122222121122122222112222211111222112121212122212112211221221212212221122222111111222122211221212122221211222112222111212122121212112222121111212212221221212122212111111222111211211221122221221222212121222121212122212112212222122112222111212222111212121212212111122122211221211212112111121212211212211121111121222222122111122111112111112121221212122121222121122122112222212111121121111212111111122221222122122121121112221211122112221222221121122212221112212112111222122221212211122222122111111211211121221211212222222211222121222222112222212111122211211111112221222212112211222122111221212222121221212212112111222222112212121211211221121222121221222121211222212222111121211212111121112212221111221112122111222212222112221112211222212212222112112212222121211221112112212112222111221122211222212121211212121221212112222122121122211121121212212211122222122212221122211112112112222212121212122111221222122112112122122222111121112212121121222211212112112222122121221111112212212211112121211122122221122212111211122212221121221122221122221112122121211112111121122112122111212222212222211212122112211112212122212122221111211211222111121122212211111111122122121221111222121211122222211112122222111211112122212212121121121121112121121212121221211122222111121112111221212212111211111112111122111112121122122212222222111211212212222212112122211121121111221222212112121211111222122112212211122212221111221212221121222121222111112111212121111112211211222122212212122121111221222212122222221221121211122211112211111112112111212211121121212221221121111122211222222112111121111112112121112221121111112122121222211211211221222112222211222211221112211222211122222211211121111112111122112212221112222221221121221212212222222112222212112211122222121221121121221122121112111121111221111222121211211212211121211111112221121122211211111121222112211221211211122211222211121212222111111221211111222122112222122221122222112121212221222211211112212121212221112222212121222122212122112211122112112222211221212122111212222111121222221122221222221121222212112221211221122122221212211211111122121121222212221221122111211211212112222222212111221122211112212211211222121221212121211212111222212121212211222112122222112111212122211111122212122112111222221111111121111221211112122211122212112212221212112122121122112212222111112112112121122212111121112211121221221112211221121211211222112211222112221212111122211211221211222122222112221112112121222112111111212221121222112111211221211222111112122112111111211111111121112212212212122121122221222211222221112121212222122212212222122112112112112222212212221121221212122112222212112112122122212211212212111212221111221122212212112112211211211212111222121122221211211121111122222112222121212222211121112211112221212211222111121122112112112212111111111221221212112221111122211222121121212122111221122211212122221112222112111222212221222121222221222212221121221222221122111122122112222212111211122221222122111122111222222112111212122121211211211111212221222122222212111111211111111212112221111111211112121211221221221112222221111221121212212222221211221112111212212212221221112211122221121112212111221211112222222122122122221111221112222222121111111211112112112212111111122122122222222222222111121112112122221122122212222122112211222121122212221111122112211112221112112211221122121122122111112121111122122122221111221112122111121221222221112122111122212111121221112221112212121211121112122111112222211112111221212211122222122212111121211111121211111111222221222121221212222212212111112122111212221212122121111222221211121111221212212221221211211112212112212112112221221222111212212112211212212222121212121112121122212112122122212121122121222222222222212112112121222211211121122212112222222211212121212211111122122212111122222111112121212221212222121121112121111211212112212211212112212212212111211221111211112222212221112211221111122112221121222121122111122112122211112112112111112121112111111222212111112112111221211122211112111221221122211212212222122222212221211222212112111212121211211212211211221221122111211212211221122121121121112211122111222222122211122111112112122121121211111112211112221111212121222112121111222212211222112111222222221222121112111111111222211212122111221221211122122212211222222122111222112222121122111222121112222111221111122122222222221112122221221222212121122211122112111121122211211222122121211112112212121121121122221222112111212122222111122211122121112121112221112221112211212212111121112111112112122111221221121222221121112211221122212121111122112211111111212221121121222211221111221221222111121111111122211112111222112212211121222121111122111212121112111221211122122211211121221121112121211122122112111112221122112121221121211121122111111211112111111122122221211212111112211112121122212212122211112222112222121211121111112221111112212211212221221212122121112111222222211121111221122111111211212112222211212221112211111221112211112122211222111111111211222122112122211211121122111121222122222111112212222212222221111221112221112212122121121222211212211111112122212111111111121222221121221121212211121221112111222211122121212221111121211122122111212121211211111211212112122112221212222112211222211122122222211122121221111122111111112222212121122221122122221121222221112222221222111112221221222212111211112221112222222212121121221112121212121112211112112221212222112111122221121211211211112222121121221112222122112111212222111121221211222112221122221121222121211111122221111111221121222212211121112212122121121121222121221121112111211221121121121122121122121211222111211111121111222212121221221121121211221212212212112222111221211122112221222112121221211212212122112211212121122211222112212211122221222221221112211212221211122111222212122122112211112221212122211121222111211122112111221211121112212112111222222221121122211121222121122221122222111212211222122111222121111211221121211212121212211221211111211221221112122212222112111112212222212111121112111122111121211211221212211211111212111111211222111112211221122221122222112212112111111112121212222121122111121221211221222211111112211222111111111112221222112212111121211211211212121122112221112212111222112121221222121221111221222122212211211211221212112111111221212121212111112211222212222211222221211222121121221112222111112211212212111111112121211121212211111122112222222221111111121112211222222221121212121122111221112212111112222211222111221212121122221211212121121221222211221221211121211211211112212222122112212222112222211212221211121211112121111211222121211212221212222122221212111112122222111211122111122122121222121112111222211112112221211122121121211211111112111212111222111212222211112122121222121112222112122112122122112211122212221212212212122111211112121121222122212212122212221212222212212221211112221222221212221121212111112221222111112222211121112112212221121222111112121222112211112212212122121211112211122112121122111122111112121212111222222221112121212112112111121121111121111112212221122112221212212212121222222112121212121122222122221111121121112212221122112221221111221122221211121111111221111121122121222212111221221121112112112111211111212222111112222111122211221112112212211222122121121122221111212212112211212222112221111112112222222122111221122221121221121221221221222211211211121122122121212221211212221121111221212222221212222211211222221222222122122111112211222222222212122112122112211221121222222121112121111222211211122211222111111111122111222222212211212121112111122121122121111222112221122122211222222222212222212111111212222211111212122221221222112211112121121222212112111111212221212112211122222111121211212112111212111222121112121121212222221121122212112221112222121221111222122221212121211112222122211121212212211212221222222112222212221122222121111112122121122112112121221221112112211222121122222122212222222112122212112221211222121122111212221221112211211221121121121122122111211122212222222212121122211221121122221212221211212112112221212111121112111211122221211112111121112211212111121111211112222221112111111121221211111121211221212122121122212112122122122221221211111222211112111221221121221121122222212221211112111221111212211111222121221221112212122112121112221121121111112221111122111212112122212222121121212221212221222211122122122222212222211121222122222211122222122211122221211111222122222112122212121111111212122212111222212212122112121212122122121212221221222221211222112212221122211111211222111111222111112211111222212221212121121212212122111122121111212222222212122121111212222222112211221221111211111222121212221112222122121121221111222222121111211211122212121222122212222111212111121121112112222122222121221212221211211222111221122122111212121211222121111222111112121211112111221222121112211212111122212221211122112222221211211212122222221222112121112221122212122122221122121222212211112211212212112212111112122211211212211111222222111212211111212112111211111222121221122122121212111211222221111111221212121211212221222121111221112211221122222222121122122221112221112111121112111121212111221212112222112121221122112222111212121211111121121211112121112221121121112112112212112122112212212211122111122112122222211111121211212212122112222212221112222111111122222212222111111121212222222221111121212222112111122111122222122221211221222222112211221122222212211222111211221222212122111211221211112111122111211221121222122111221122211221222211222121112221121111112221111112112211122111222211121212221211222111122121121122211122112211111122112111221222111122121221212122221212112212222211112121111222221112111122111221111111111221121212211221211121212122211121112112112221212212122212122111221111111211111221112211222121211221221212212222222221121212222221121121221111212122221211121122121222212111211112222211111111112212112221221121222121122111112121212112122122211212222121212222121112211221221221212211211211121111212211121111121222122212111212121112211221212121211211222212111112112121212212121112212212222111121212122222121211122211122222111112121222112221112121212212122222112121211222222212212111211121221122212211112111112222212111211212212122112222212212112112212221222122222212222212122211121122112212212221212222121212222222222221121211212111111211121211111222211122111211122222111121122221121122212212212122222222221111211212222212221222121212212111222121122122121212112221212222121111122121212111121211112221112212122121211111111111122111122212112121122222111111212121111121122122212111221221222222212212111122122112121212112222111222222122112211222211211121212122121212212222122122222212221121122122121121221111212212111211211221121112121122112112212212221212211112212111111222121222121222221111112122222211111111121211211211221122121212221111111111212111112112211121222111111112121222122211111211222121112222211112221222212111111112112122111122211222112111212211112111212221111122222122211222121111221221212221122122211112111111221122222122111212211211122211222212111221121111221111122211212121112112212212121121211111221121122111111222121112221221212221112112122211221121211212222211211221112211212221111212111221111221221121222211221121121121211112211111222112122121112211212122222122122211111222111121121221122112211112111122111221222221112211121221212121212221222111111212221212221112212111112221121111222212222222221111212212111211121112112221122221112211111122112122211122221111111211121122211222212211122222112222212222112121121222221222221122221112221212122122211112212222121221121111221211221212121211111112112221122212111212212221122212122211122222111121122211222222221122121212212111222221211211212111112122221211211112222122122122121121121121222211212221111211111112221122112222221222121211212121222111211222111211221121222212121212112112221221112212111221212211111111121221222221122221222221212211212212221111111112112121122112211211221212122211122122111222122222112222222122111121121112212222112222222112112212121221211111212212111221222211121122222122112112111121222122211221112121222212221122111212121111221111112222112122112122221111111222221112211221111222211112211221221121121112212121111122122111211222212221122222221121222122211222221222111211211111222122211211111212112122222112122222112211211211221222221112122211111221222112121211121111112211112111112112112212211122121222211222211221211122222121212221111222211211221111121222112212112122221121212112121111122111212211111221111111222121222211112221212211111221211222212122212221122112122122221221222221121212112122212111211122221211212212221111211111112111212221211222212122111212212112212122222122212212121222122222121111112211222212212211112121222211121211222211112222111122121121211111111111111221111222112222121222212222111121221221221222222222112222122211121122222122121222222121212122221111112121122122111122212111121211211212222222111122111112122222212222112222111221211122112212222221121111111112112111122121121121221212121211222212112211212122122112211222121121122112112211122121122221221112211212211112122221211121112122221122111121212222121111122221222222222221222121121211111121222122121112121211221121122111112222122121221221221111121222122222121122211121122222121122212221221222222221111121212112111211111112111221221121112122211112111222122111122222111212122111221221212112121121121212112211222222112122222211211211221122212122112221112112211211122211221211212122112111222222121121212112222121121112111222221211112222121111222121222222122112111122211122111212211122222211112222122222121222212221222121221222222212222212222221212122211112221122221211112111111121212112112122221122122211112122121212211112111211122111111122212112122222212222222111122221221221211121211122112221112122211212122222111112111121212121122121111221121212112121222111112212122112211211121112112121122122221111212121111122221222112221222121112121112121211221111212221111112112212222222121211121121222121111111222211112111221212212111221112212121122112222111112111112122121111112122121212112122111112221221221122121211212121121112122212111212112222221221212222122221111112211212121122222212212112221112212222222222221211212221121121121112111212112221111121221221211212221121221122212112121121221212221222212121112111212212221112221211221112222111221112111212221221212122122122112121211212212122211112211221221122122111122112222111121112122212111222121111212111112211122112121212211112112212111112221121111222212222212111112112211212121222222221121222211221112222121222211222122212112111221111122222221212211211121111221111112121121121111211212221211211221112222222122112221112222111111212212221212221121122212111212211111111121121112111211112212112212212122221221221221212211111112221121222121121112121112112222221222222111122211122111222211121111211212212112212112221211222111122222112212121211221222221211122212121211112122211112122121122121212211121122121212212112121111122211211121212112212222112221121212222111111121112222122111211111111122221212212111221121221112221221222212111111221221222222121221221211221122212111111211122122221122121212221122211111211112111121111212222222112111212121222111221122221212111221111212221212122122221112122112111212112221111122211212212111122121212212122211112221121221222122122122211112122211211211222211111122122211112112221221221212112112212122222221122221211111112222111122112112112121121122211221111221122122111121122111122122211212112221222112212122111121122211121211222122222221222111211121212221121211212211112111221212122212212111121211221112121111112112121212222121212211111121121221122121211122122112121221211211121122211111222222121211211212211221222121211222222121222212222211121222111221222222122221112121112221122222212222211211111121112112111112121222212221211111221111111111122222221221211212221121221212122222222221122121122221122211111111222121212212211111212121221212222111122222222221111111221222111222222121221212112112221221121111211211222211222112222221112122121212221112122121222121211221211121221222212222221112222122221222221221221112212222212222212212122111222111211212111221221121121121221111121121212122111212221111121121121211121221122121221111112121222112111212121221221221221121112121111221122211221212211111111221221122112221222112121111221111212222112112122111221111222211111121112211121112111212212212211211221122222221211111112212122222112122211121121111112121222211122221112221112121212222111112212222211111111121111111112122221221212112212212121111111122121211211212122122112112212112212121222122212112111112221112212221212211111122212212221111211112122111111222212212112222121122222122211122121111212111121112212221212111212211221121221222211222212112122111212122212211222111112221112211121221222121121212122212122121112221212121111111122111112211221211122211212211121211212111211211221221212212121221122122111112112222221121111221221211221211121122111222211112212221221121212112221112111211222212212211212111121221221212211212121211111212111211112122122111122221222221111222122121122121211212212111211221122212211111212122212111222222121221212122211221221212221212211111211221211112111221211112111122112212222212121111122221112112121211212122112221112121211122221212211121212222111211111121221112112222111112221111221221111111221111221122112121122222221112112221221121121221222121112122212222121121111211212221211221212112222212111211111111122111222222122211112121222221121122111221212212121121112211122122112111222211221122121211211112111222212211112112112222121222221111211122111212221221211212211111112221212112121121122112121112112221211222111121212212121122221122112212222121221122121211212121222211212222211122222212122111121221122212121121222222112111222222122112112122122122122222212212221121112221122112221211122121121222221211211122221212111222111112111112122212111212112211212122222122122122112221111122112222121122212211121122111121121211122221211112212221221111112211112222111111112221221111122122221122222222221211221212212211221211222121111212212121112121222122111211221111112122222211111122112212122122121212112211221112222212212122222111211211122221112222122112111211212212111221211222211212111111221122121112121112122121122211221121222221112112222212212122211112211111212121222112112212222112121221211221221112122211111122212211222222111211221122221222111221211221212111212122212212211212211112211212111211122212111221121212221221212121212211222221222111211222111221121211122221221121211222221112221111211122221121112122211221211212222211221222212111211111212221112122221222211222221111212112222112111111121111221112212122222112212111221211212112112212121121122112222221221112112112122221211112211112122122112212121212211122121211212211211212222112212221221121222221212111122221221122121221211111121222122222122112211211211122111222222221122122121122211222111211222221112121111211211121222211121122122212121222211111222212222222221222222221211221112212211221111121211122111122221111221221222111212222112121121112212211121221212122211221221221221112111121212222121221122112121111212112222121111212212212122222211122112122212122112122222211222122212222222122211112122211111122112122212222221211111112112122122112211212111121121121212111222212122211121122122122111111112212112211211212111112221222111112111121112112121121122122111222112111221111122112222121211122112122212211222121212121111222121111121111112121212221222122121122111122212121211112111221121212212121211221112211112212121221221211221221121211121212111222111111222212112112212222211121212212122122211121221111211121111111111211121122212211212221122212112121212122112222222122212122121112222212222212211211222212222222121222221211211211122221121111222122221121112122122221112211222211222121211212112212221211122221111111211111211111221222221122111211121112111122211112211221211221111112111112221122222221122122122121112212212222221211222122122112221221122221222112222222212121221111112222212111122112121222211212222212121211112221222122212121111222222211111212222111121221211111212211212221122112121222211111121122222122122122121211112122112112212112212222111211122121221122222211212221122112212212212111111121211212121222111111221222112121111112222121221111221112111222212112221112112112121222211122212221212211111121212121212122112121211122221121222221112221122121122222112211111212112112112211122212212122221211121221212212221212122221222121222112212122212211121111221112112122111112112212121111112212221111221121211221212121121122121222121222221112221121122112111111111212221121211122221211211222222212122222121211222122212121121121121211111211211122211221221222122122111212212121211111112111211221222222221121222212112122111211211111112211211122121221121212112211222221122122111111222122221122221112112112112111221121112222121112112222122122111211112222112222212111221221211112122122212111111221221112211212112211111111121211111121222211112112112111122111221221212222221212121112122211211221111211111211121221121122211122121211222222111211112121222211121112111121211221221112211221222211122122121222211121122112211121112221222222121111111112112121222112111121211122222121211222121112211121211221212121122211222121122221212211122112111222112111221221221112111212111121212112211211211221122221222211211211112111121221122211222122222221111111122111122121212211112111121212221221211111221112111221221212212121112122111221111122111211112122111122122111122212112111111222221112221221111212121112111112122112111111111121221122222212211222111221222222121121121112221121111221112112222221212212122212121122111112211121212222212121111221122122112211111221212111111211112212212211222121121222111212212112222111111221121222221122222111112221212221112111111222212222121222111221221111212211222211212222212111111221222122211112222222222112211122211211221121111121122221211111221111222111111121222222121112212221121211221221122112111111122111222121222221212222222212212111212211122122222111222112221222221221221112112122222211221221222222222122111221221121222121212112221212221122122222211111111111221221112222212112221111211211212211221122212122112222112222111122121112212121112222211221211211211212122222111221211122212221212112121111122122221121112112222211112121212112221211121222221122111211211211112122121112111111111111221222122222211221122221222212112111122111222212211212122221211212111211121212211111211121122212122212222111211122221121111211121121211121222112212212212212111111212221112122222112222222112121121211222221211222212221112122121111122221121211211122111221211112112121212111121112221212222211122121211121211121111112212111122112111121111211122221111122122122112211122111212212221122122111121222212121121212121121111221211212221112112111211212122212112212212212212211221111122121121211121212122111112122222221221111221211221221121221111112112122221221111122112111212212121212111122122112211222221221211211122211122111211111122122211112212212121211122112111121211222221222222121212111211122122211211112121112122112111212222111212121222221121211121112212121121212222221112212211112122112122211211212122212211211121121112111211112112221112222111222222211122112221222112221211122112222112122212112221212122111122222122121212111111111112222221111211122112211212212112211112221221221122221221212112211221212221111212121122221221111221221121212212121212111211112221222212221122211111121122221222111212111221122221212221211121212211112122112221111221122111211121221112211111222221211112222121211221112112121212122122212112222111221111221222211211212222121211121212222222122222222212211111112221212121221212211122222222121121112122111212211222121122211121121222112212212211121112222122121112221112111112211111112111111112122212112121212221112221111122221222121121112121112222121222121122122211221112222122112121122222121222222122212121111212211221121222221121121112122211221212111222212222122122222122212112212221121111122221221111221212222212112221122222111222112122212222221112112222222122212112211222112112111222112211111121221212112211221212221222122111211211222121122112111121212222212221211112211121121222111122122122111221112222212222122122111122221121112222211212111222121121112121221111212221112121122111212112122121222212211212222122121222212121112121222122222222112212111122111222212212122122212221221211112211122122211221222112122211122211221211112221222121121111222222122122122112111212122212122112212211111221221121121222121211112112121212112112222112112121121221222221121221121212212121211122122121121221221121211122111121111222111121212111222121112222211122222122221211211221222221111222222221112211221111212211211222122111211212121212211121122121212112121221211221122112111222112221111111121221121121212122212111221221212222212211121222212222222111112122212211211111122112112112111111112122122212222211222121212221221112121212111122111221212212222111221121122122221211112212221211121221221222121211212221121221221211111222222212211211211112112211121221221212211221222112112221211212122211212212221112222122222122211122121221211211122111112111121122211222122112122122111121222121212122111221121122112111112122212111221121212222121111221212222221121222111211221212221211221212122211222221212111122212212222212122222211222121222112222211211222111111212211221211211211111112211121111212111121212211212212221222112111111211211221121211221122121221122122121211212212121222222212112221221222212222221112221122212211211111211111221222112211211221121212222121111122121111211111112222122212122221112222211121121212122212112111112112212111211112111212221121112122112221122121221112211112112222222221221112221222222212211121122121222212222211122212211212122112211122111222221222111111211211212112221112222211212111122122122222222111222112221222122221221112211211221211211121221111211222211111122122112211221111121121212122122211112111121122222112212112112212121222112211111212121212222111122112222211122222221221222112212221222222221112211221122222222121122222111221222211121211112112222212222111222222121212212122121221121121111112222211121112112221121121212112121112211121122212121221122212221221211111211211111111111122212122122222112221122212222222122212222122221212211221112212221122112212212112121121211221112211222122122221212111211221212121211221112112111111221111221212122222222121211111222112211221222221121222211212122121112211121112221111112221121111221212212222111112221122211122211112121212221122212121111211121112211212122111222122111221222211121211211212121221111121122112112112122112121211112112121122112212211221111221211211222221221221111111222212222222222211211111111112212221121112112122222211112222112122221111121112212122222122112212221221121211121222121122212121211121221212222212111121111211121212212211211121121121122221121211211221211112211212112121112121211111121222211121111121122212211211112211221121111121111112111121211122222222222211112112111121212212211212211221121111121111211222111211122221221212212221222121112112122121211122221222121112222221222221122211112211121211212222211222222222212222121221112221222121211112212222222122222212222111221121122222221122122121211222121112212111211121111211211211221111111122221121121221122122221221111212122111222112221111222121222122122111111111211122121221121211211222111121211222211122222221112221211221111221222221111122222121212222221222111121112221112212111221211112121112121112121121212112212222212111122211221122111222112211111211221111211122122221111121112111111211121112221221122222211122112222211221111222122122112112111221111121221112211222122121121122122122212112221111212211211122221121112212211122221122121111112122222111212212121212121221211111121121212221111221222111221111121112121121221222211111221111222122212222111211211121221122222221212112221121222212222211211212211222222111121211111221211211121211121122122211221122121122212222111112222221111112221212122222111212121211212112222222211211212111122221221112112222222121211121111112211221222212121221121122222221212122121211112212212212221221211121222122212211222222222121212221212221221211211222211112111221112122222112112222112122221222221112122111111221221122111121222122211222211212222212222211221112122212212212221211122122212122211221221122222112221112112112112122112111222121221112212211212112222111121122222122122221212112122212212111111221211221221121221112221211111121221111221222121212112122211122122222222111121221122222212221121212211221221121211212222112121122112112112222212121122111221111112111222121121222222222112212111222112121122121111222122212211212111222111112121111121111212212121122122111222112112211112121212211212221112222122222121112212122221211211121111111112221212122211212121212112122111121211211111212222121112111212211211222112121211221121222112122111122111111222122211112211211121212212112212222222112222211211222222212111121121221111212212121212211222111221111121221221122212211211112112111111112111112222122222212221212212212112222212122211111112221111122211211112112112222211222212222121111122122212211222122121222121121221112111122122111122111212112122211122222112121122112222122121211112211122222122212222121222212221121111122111212112121222211211212212221122211221222111121222122222221112111111111121121211212122121121212121121222111112112211121121112111221121222221111212212211212221122121121122111211112112112211122122122222122122111222121212221111121122111221211112212121221222222211212121112222112222212212222121221221211121112121222221221211122112212221122222211122111222212111111121121112211121112211112121221111222212111122222111211121221112211122212212211111221121112111212122121121112121121121122122221222211212222211211212111112212222121121222221112111121122112112221211211121122211112112221112212212211112212221222212122121112212221111221222112212112111212122211122112222221112121112212112111221122122112211212121211122212112222112222211122221211222211122212212211122122121212212221121112211221122122122211222122221112211121211112111212121122111222122211111112212112222111122221121211222112122212111111122221222111122222111111222211112122112112121212211222222211221112111222211212111211122221112112221221221111221221221221112121222112112122222112111121121111211111221222121211212212212121111112112211212111121212212212121121211221222221221121122122111112211212111112121111121112111111211212212222121212112111122112121121121211221122212211122122222122111112121122212221222111122112222211112122222112212211121112221221222122112221211211112111122211222212111121212111222222112112112212112222211212212221222221221111212222111121111212111121211222121122122112212221211122111122111112121211211111122221112212112211121211122221112112221111222122211111112212222222121212121221212111122121211112122211211212211222222221122212222222112221112112122211221111211222211222221111111122121121211211212211212121121211222212121122122121222212111112111111112212111111222221122111122122111121121122212221211122212121221112212121211211221112121121121111212211212122121122221222121122121122112111222112111112211122211121221111221221111212111122222212112221221211212121122122122211112121212121211122222122111111221122111112121222221221222221111222112111212112112121112121222121111122112111111211211211112111222222122112212121112122222211222211212121111212221221221222211211111122112112212211122222212212112212122221111212211121221122222221212211112211211221211221212122211211121222121112212111122122222222111222221121111111122221121222211111122122211111112222111121211112221112212112211112122121122121112211122211211121222122221122121221211211211121211221222111122112121222121211121211222222211222222112212122121111111212111121112221222211212212121112212211112122211122211111212211222222212122111121122222121212121211222121212221121221222121212111221211222222212111212122221112112121212111121111112221121121111212211122221121122221222211121121221221211112122121122211221122111211121212211221222121222221222212222121222111111121211122111121212221222122212222221112111111221121221222111112221212121212222121221221211122111211222221122211111112212221211212112212111121221222121212221221121212212211211121122211211112121212221212221121221211222122222212212111122212212212211211211121122222111222112111111111221112122222122112212212111121122221221211211121122221111122222212211212111211121112111221121212111121211211221222221211111212211211111221122112221122122111112212222222111121112222121212222212121222212121111122211211211112112112222221112121211111221112221221221222112121121121221221212121221212221212122112221111111112212221121122222211121112222121221211122122222122121111222212112121221112121222222212112221122121221212112222212121211111121111211112221121121222112212221122212211122112212112222221111112211211121122122212112211111121211121112111122212121222211212222112222121122212121211211122122111122222211121122122222111221121221221111111111111222111121222222122212212112111122121212212112211111111122222211121212122211121111112211212212222221222121222212211112112222222121221221221222221112122111111122122222112211111111221221221211222212121111112112112112222212222221221222211222111111112111221122112221222211121222222111221222222221222121111112212112121111111112212111222222221212212222112211112121111121221212121121221212212212211211221212212211221121221112221222121222212222111222111211221122211212212212121211122121111111222111112211112211122112112121122112121211221222111122121121112122221222121111121122112122221222112221121212221112222112212112112211111121212122222112112122221221111211221221221222212222112121111121112112121112111121221122212111212212111112212222221121212211112111122112211111222222212121212221111112212112211211211221112221221222221211111212211212211222222111111221221122211122212121211212211121112112121122222222112222122222112112122122121222212212111112111121111221221211221221221211222211122212111222211122121111211121111112121111211221112112222121112221122112211221112211212221211211111112222211212211212112222112121112222221212122222112112222121112212211222111122121112121221111222221221111211121112121211221122111222222222122122212211222112211221211122212211112222222211221221222222211212111211212122122122112122111222112112222112112111212112211211111212221221222112111122212112122112111221112112112211211212111221221222121212121122212211212111211111211121111221121122221111112221122222212222222212111111221211112122112112222212112122111111111112121121221121111221112222211212122211111222122112122221222122222222222221221112221221111221221211212111212122221122221212122122111121121122222221121112111212121122212112111111112122221121211212222111222221111211222212211211112122212111222122221121222111222222121222111121211212211112212211222112211211221122121221222211212222111221112121222222212222111122111221222222111112122212112221112121112112111112211221212122112111111222211112221122211121222212222112112122121111221122112121212222222111211221111112222112111222122211221121111122111121121222121121112221122222111121112222222221122121112222121121222222211222122222121122222222221111111222212122222211211112222121211112221111121211212121221221121222112212122222121212221222111211112121211122111111222112211112221211222111211211221122112221111111112211122221122222222212122221221222112122221221112221122221112211111221221121222121221221211121111112111121111211111122212222211112211122221122122221212112212112211112211111221122212121111111121111111111112121221111212111111122112111212122221112111112121121221222112121121222221221121212212222222121122112111211222222211221112112211111222112212111211221211212122211122221212121222112122111112221111111121122212111111111211112212122122121221111111222121221122211111212211122112111211122122122222221111212212222211211221111111221112122222212121122121212121112212112122111121212212122122211211111111222111222122211121121221121221121222112221122122212111222211121121122111221211121122111112211111222112111211212222122212222221122112121121112122122211221121112111222112221111112221212121221112112221121212212111211111111222212122122222121122211221212112212121122211212211111112122222112121212121111112112121121111212112112121111222211222111122211221111222111211221112211211212222121122121222221112222221222212111222211211112221111111121112221211122222211221121121121211212112221112122111221112112111222221111212212112222222111112122221212112122222112222212211212122221122221212221121111222211122121211222121121212112121221211221111222122211121121112122222111211111222222211121122111222122222222121122122121112112211122222222122111222122122212122111121122221122212111122221111222211122121111122212221112212111212121222211221112111112211121221211121122211221211212211211121211211121122122112111221111212111121111122222111111112111221212111211111111111112211222122221112112121221221222122211221222122221112112111212212222121221211221122122211221211221121221211211111121121211212211122221112211221112111122212221111222211211112222121212212211121212221122212222121222212222221211121111112211121211222121111121111222222122212112122121122121212222222222211211122211222221112122122212211111111111211121122221111211212121111222221112221121112121111121122221111211111111122122221122211122211211212112222111222122211121211222222221222221112121212121111121121111221222221221121122211122212121121211211112121222222221212111222222111121212122122222211121111111221111211111112221112122211212111121121111221122222122122111212222122112221221212112122121121111222122121222222122121221112212212112211222112221122211211211221212222112121212112221111222212112122121121221211212222221112212212222212122211211112111212221221211221112121112211222211122122121212122222121211222112112222221122221122121211221111112121211211222121121212122222212122222222111222121221121221111121111122122222111112111212222112211122222222111122222112111111212111211121122222121122122112212112211122221111221121112212122122221111221211112122222212121112211212111211221122121222221211221211212111222121212212221221221122122112221222211221212111122212212212221212122222222222111121212212121222121121111121221222211211122122121122111122211121111222221112121222211112211222211111211212222222212221112212111211212211111221221111112121212121111212112211212121222211222221121211222122212211222111212111211112112212112222212222211211221121111222211212111222112122222112111211221211111221221211211211112212112211112122222112212222121221122212222221112122211211212222112121221221222111212221222111112222211121112112112211121212211212222111122112222211122122221222211112211222122111222211222211212112111111111221121211112212111112112122222111121222112121222212212121212112111222221112121211221111212112122211111121122122212121112111122211222211121122122212222221212222212222221121111212122211212111112212122122222122111111121122221211112211112121121212221121121221211211122222111221122222221112111122211212221221221111212212222222122221122111122121222122221122121222122112111222212212111211112111122111221112222111221221111221111111121121122112121112212112211122121221221111222111122111211122112221121121221212211111121121221111111222222112112212112221122212111221111121211212221112221221111121222122111221122211212112222222222112111122111112212121112121121122111211222222222212221121212221211212111122212222121211221122222222111211212211112112221121221122121212122122122112221212221222111111112112211222111122222221212112212122212211222222212111211221222222211211222211122222221222211221211221211211211112221122211122122111121122221112221112112121211222211122122221211112111211221112212221111222111212221211222211112222121112221221222111111111212222222121121112212111122112111112211122122222222121211111212221112121122122222221122212212112211221111222211212111211212111212122222211111222111212222111122121112122122222221221211112122212121222122221212211111211212111111221221121121112122212112222221222121222122212222121221211221112121112122121111222122112211222111211211122212212111221112211121222122112121122121112211211121122121212111111122221122211212111211212212222222121122112111111121222121111122212121211211212221121211211211121121111111112112122122112212121122221211212111212211121222222221122222212112222112121211222212112222212221211112221121122212111212111111121121211111111211121222121122211222222111212122221222221221222212222111211212211121212222112111221111212121212122222221112222112121122112112112222112122122111121221221221122222111121122221212111222122111121221221211222221221212111222122122211112112212121122211122112112222212211112121212222221111111122212112112221122122122211211112122222111111212212122121212121122112212122222112121212222212221212211122221212111122111112111222221122122122112111221212122222111211111111211222112122212111221212211112121221121112111222211121221221121121221111221221221121111121121112212211211122211212122122212122121222211111121121222121221211112221222121222121212212221221222221121122221221122212122121221211211111212121122212211212121122221222222221111112112222222111111222121121222222221211221222122221121112112222111222112111121221112121121211222121211212111211221111212212122121211112112112212211211221122111111111211121211111211222122122212112121121111212112122112121112222111212221212121211111212211212222211221222211112222221112122211112112211211122221121212121221121221221111211211111112221111112122112211111111112221212111111211211221222222211122111121112222122212111112221212122221212121122122211221211212122212211221222122111222222212112221212111121211211112212122112121121221212222121211221111212221211121111121221112212212121222121211212111211211121212111222211122222111211111212221211211222222212212221222112221221222212122112112212212212212121211111122221212112212211111121122111121121122121112111212212111222222111222121121211222221222122122221122212212211221112222112122212112121112112112112121222111112111221211112122221122212111111111221121221221122211112121221212221221112212222111112222112222211122121112122122211112221111211112121221212221111111121111121211111122121122122222221222211112212211211211122222121121211211211112221212212212112222212221211222112222211111122221122222221212212222111111111122111212111212121221222211221111222221112221212112111221122111211211221122222221121122111221122112112111212222212112221121221222112112222112122112212121212221222222221222111111222222211222211122111212222112111211112221222122212112212211222212121122212221111112111122121111121212122221121111121222221121122211211111111221212122221212211121212122122111222121112122221111221221212122121112112222122212221212211111112222121222211122221122211122111212222222121221111112211121122121112111221111112121212222112122112122222222221211212212111211211211212221122221121222221222111211221221122211222121211111212212121121221212121112112222111221222112221111112111222222221111211121122222121212112122121122221122221211222212221112121111221111222211221211222221222212121112121221111112212112211121212121212121211212222111111212221111122222122211212211112212221211212112222221121212222112222121211212112122212121111111221111121212221121221222122211111111212222212212211221221121212111122111111122121222121211122222111112111211112211121221211111211112222111221122212121212221111112111212122211212221111111121221122122212211111221112121112211221121212222222222121122222221122212112212111221222111122221111122222121121221222111121222212112112111222211211211111122122211111121212212111212121111212111221212122221112222121121112222222112121222222112222122222221122122111212222112221221122221212111112212121122112112122211122212212222112212212111122212212212221111212111112112122211121121222211121112121211211121121212122212221212121121121211212212122221112111211112111112222111212212111111122111121121211111111111221112112222212112212212112112122121111221112121211111222112122222221121221122111112112122122222211221122112122221222112211122221222212122221112122211121122112121111212112121111112211212121121221121221222122122111111122121222122121212221112211221111222222111111221221112122121222121211111211111211112212222211112222121122112211221121222112121211111211122112211212222111222212211112211111222212111211211111112212122222122112112122211112221112121211221211212211211111212222112111112222112211212112211122112222221122112111111221212111211121222212112212221221222112221211211112111222221221222112222111122122222211121221211221221121211121212122121122121122221112122212121221222112112122212211211221221212212222211222121122222222221121212212121222222222211112122121122111212211221211221112211211112221211222211212211121122222212212222212222112111121112122212222222112122112221211211122112111112122221112212221121112122121221112112221212221121222211121211112122112211211121211121222222121111222121221111221112221112112221122211222112111122112122222112221221121111212121211212112212221211212221221121121121111212222211222212111211221121222212111111112111222211222212122121221111211222221121112112112211211222211221211112211221111111122221222122211212212121112111111211121111222111121212222112221121122222112211212112121221112121111222111111111112221222111221221222121212211221112222212211122221211121211221112221212222112112112122221112122212112211121122211112111121122122212221222122211221121221211111112221122122211212212211212122212111122211222111121111221111111221111121121112111112111222211212121122121221112121211211221211222111112111111112112122122122211221121221221222212121121122211211112121121111121121122121211122112121222222111222222211211222221212121211121112122111222112122122212112112111212221222112112122121222111112111111211211222121221112121112122212122111111211111212222222222111212111112111111111112211221112112212211111121112112111221211121111112111212121221112212222112221112122222122211222111221222211111122222212212121112211111222121111211212212222221221211222122211212122111121212221211122221221122121211221221211112212211112122212221212112121212222212112211112211212122222212212122122211122212122211121112212111112222212221211112211121121221112212211211212221212211221121211112211122122212112112221122122222111112211112112121122121211222212122112122111121112121112112221121211211221212112211211222112211221212112121111111111212211112122121211211122121111122112112211212121121212212122211222211121121221211112212211221212212211221122112122122121121212221211111111222121111111221112122212211211121222222121112221212211112222222121212222211122122121111112222212222211212222111211211212211112211212211222112221122111111122112121121221122121111212121122112212211112212211221122121121111211221222211211121121111111111112211221122221212111122112211121221112221112121121122212222211211221122121122211121222211121211121122221111111212121112121121112122121121112122222121212212221121121222112112211112122211211121111121211211222111211212121222122212111221212112211112112121222122121212121212121111221221111211212122212212121111111211222111122221121222222121212112211112221222121222121112211211212211222222212221111112211111121211211221111122121212222121122121112121222122121211212221111122121121211112211212121221122121112221212222222211211211121211212112122111221221212221122221211222122222211222211122122122222221121121121211122222212111211122212111112211212212211222212121211121112122121211122212211222212222222211222112221111212212122122221122211111112211111112211212211122112222122112222122121212212121122122112112221222122212121211212222122112221221122222111121122212122212211221122121112211222111122121111212211221212212222212211212122122221112221122122121221221222222222212111221121121222221111121112122111211221211122212111121222222111111211112121121121121121222121221121121222112212211221122112111211212112211211112112122112221111221112211222122121212211212112112211221211211122122212212121222112112121212112212112211222122222111212122122122112212221121211111212121121112111112222222112111211221121121211112122121222112211111211112111211222112211111212112111112222121222222211122112111221111222122222112221221221111212221112121111222221121211211212111122121111112211121112121221111112111122122221122122111222212211222221112211111221212212121221122222212111211212212122211121121222222222112211112112121222222111211122111212212221112112112211121222222112222221122221211212221111111111122211121122111212222122222212221212122122221112211121121221211211211121111222211212211212122121111221122222112122112122112211111222111112111111221121121121221221111222111112122111112221121221222221121122211121122122222111221221221221122212212121211212211221211112122222122111121222112212211211212121221211112122222211212111111121212111212111222222212212112212211122221222112112212112122122212222221111212212111221212111212221121122112112222121121111211221121122222121121121212221211122111112112112222222211111112121221222111222111122212122122112222122221121222112122121122221111112211212112222112222111111211121111111211212112211111222122222222211121121112111122112222112212111212112112122211111222122121122111221122222122222122111121222222222122122221111221211222212111222111221211112222111221112112112211122111222211212121111111211221222112111221222211121111222212221111212121121212222111111112212121122221222221211212111112222211211211221211112111222111121121111221221111121121211222111211212221112112111212121122211112112121122212221112221111222121121222111122222121122211221122122211212212222212222221212211211222121121121121222221121212211121221112122122111211212112112221212121221221122111112222222121221111121112221212121122222222112121211112112212221112112112111111112211111111221211122222211211122121212121212112221112222111211111211222211122121222212211211112122222112111211212222212121221121221111212121112222111211112222122112121221111221112212112211222121222121212221212212212122112122122212221122121211221222122211211122122221221122122112122221211111111222222121112222212122112222211112221211112122112111222112112222221211211111122122221121111221211212121122222211111212121221111112211121222112111212111211121212111121222121122111112212221121112211111212111122122211212221221222111111111221121212221221221222111211112212222122121122121121111121111222111121122211221221122211111112121222122211122112111112121112211222111122112211122221211211221222211211112121211112112121111111112121211211211221222222112221121211121222111121222221211111211112112222112111221221212222111212122212122222112222112221212211211221111211112112212112211122112112222211221111122222221211121112221212112122212212112121122111222112212111122111111121112211222221112122222112221211112112212112112111211121122112222112111211212222122121221112221222211211111121222121111111222211221122112112112112212212212222121212212111121111221211212221222122222222111221111212222221121121111222122121211112211221112122112111222222222111222122222122121121121211112112222211121212211122212111222211222111221111221112211112211222211212112222112122222211112111122121211122111212112211221222121111121221112121221121112112122111111112112222122211122222222222111122221212211112212221122111111122211211222121221222121111112122212222221121111222122211112122112212211112212111222122112222222222222221121212122212211222212112222212212211211112212221121111122221121222212111222211112122122122221212221222211222112122221211122212222111112111212111211212222122212222112111212121111121121111221211122112221212221211222122111111222212211212221222221112221222221212221111111211112112112111211211121122112112222222222211211112211222111122211111111112212122111221111122112222111212122122121121122221111121121211112122121122222211212112112222222211211211112222112222122121222211222212212122122222222112112211212111222222112111222111112221121222112112111121111121122221221122122221211112222211222222221222221111222111111221222221211211121112221121221222111122221121222221112122121121122212211112112122111112211111122111112212122111122122121221111212211121221211122111112122121211111211121121222221211122211212221121122222211211211111212211221111122112212222121222211222222122212121212121112211122111211221211221212121112211211212222111121212111112112211222222212112111122122211212211121121221112211121221221212222122111222212221212212212211122112121112112112121212222212222112222111222112121211122122122221121211222122221112121121121112222221111112111122222221111122221122112211222111211221112221111122111111211221222221222211212122111112212122212111211112122221122111122222111121221111122122222211111111112211222221121121221221112222121212121111122121112221211111221212111222212111221122121121211222212212221112112121122211221111111121111111112111121111112112212122212212221222211111111122221222211212212111112112212222212211221111111122211222212222221212122221121111221112121111222221211112222221211121122222222111212211111121222112112211222112212112121212112211111212112111122122222211212112221222122212222212122221211222212211212122112111211222211212112122211222211112212122111122212222221122212122211111212212221222221111122122111221211212112211112112122112121211221211221111122111222111212222212222112111221212121222212212121212121111112111122221211121111121211222212122122222221212121211121122211111122221212211111222221221111211221212122122112112121121212111212222222112111221212121211111112122221121122211121121112121111121221121222111211221221222211122111212222122211221222121211122121212212112221122222221112111211112212122212222222212121112212111211112211111112221122212122221221212222221121122122122111222122111111211222212111211212122112111111122222111121111212212111221222112121212122121111122121121221211221112211121111212112121111211121111122121112212122221121112121111212222221222112211122121222212221111112122111212112222221121121112121221221212221222221111112221221121212111122221212222111111211112212121112212122212211121221212212212212121111112122211121212221221112112122121111211112112221211222112212122112222222112121211211212122222121111212221212111211212212111212222112111211121211111112212112212111221121211121221121122121111111222111111111111122212112111211112121112122112121222222221221211211221112111111211212112212222221211221212122221222111122221221121211111212211122221212222122221221112111221122112121112211222112221112122211221121211122122222111212121221121112112122122211121111212122221121121211112221122121111212211121121111212221221221111112221122121212111221222211111211222122222122211121121122111212221221122222111111121111222112222121211222221122212221222221212211212112211121222112112121211122122222111221122222212121212211121121122111122111121112221121222211211121111111112221211221211111222222121112211212122212112212212221122112221221111112111112212211222211122121122211122212111222111212112212111222222122111122122111221111111221111211212112122221212211222211111221112211211221221222122121121122122112122221222212121121221111121111121212221212222111212211222211121121221111211111111221122212111221111112121112121212221112111212122221122112122211221122222222221221212121122221121122111212121211222222222221122111211212111222121111122121221221221222122221222112212121121112122122212112122112212211221121121212221212222212121111221212212112222122212211122222122111112212111222212122211221211221121121221112211221112121112221122111212221212111121121222112212211122211111212221121122112221212222212222211212111112211221121112212122221112122122211212121211121112112212221111111111222212222122212221222111211222121111222221221212222122122221112121222111111212111122221212112111222211222112111222112212112212211222121122122221211122222222112212221122211122111121121122212111111111121221221121221212222122111121111111112212111222222111122211222222121222112112122221211222222211112212122222222222111221112212211122212212121222212212122221222112111111122112112222212112122211222211121121222212221112122111112112211121111121121111222211112122121211112111122211212221112212212122211122122222121112112111111222212112121112222211122211221121222121212212212121122121121212111112122111121222221112111122221211111222211121122121221111121212112112221212222221112121221222112222112111221212122212221211212111212221211211222212222122211221221211111121222121221112222222122221212122211221111111221221121111212211221211111211111221222221211211112222212121121221212212211222222111112221222122112122212112212111111122221121122221221111212111122112212222121212111121211122122112222111122112222122111221221212211222121111111211121211211122111221211212112211221112222122111222221122121111221111212211221121211111112111211112221121221221212222222112212111222122212211211212211112111122122222211111221121122221221122112121222212111221122212222221211122112121221112212111222112221122212122121112121221222211121121221112222222222221112222112111212121112111212112111222221122222221112122121221222212211112211211122211122122212221111212221122122212211212211222211122121122122122121112122212121112122121122222222211111211212122111221221212122111122221211111122222112122121212121121222121221212111121122211121221122111112222212122221122122222112111211222112211211112212121111112122122121221211112111121111211122212221212111111211122122111112121122121112221112212222222221221212212222111121121122121111121211211111221212112212222221222111211222122122212111222112112111121221112111121121222212212222112221222122211112222121122112222222211222211121221122221121121221211112212212221121222221211211221111112122221211211222111222121212111122122111122121112122221111121112122221222221222122212222211212221112221112112122221221212221122222212112121111111212111111212111112111221212212112221212222221221222222211122112122121221111111221211212212221221122112222122122211222112221112221222221122112111222222111111121221211111111112112211111212121111112222122211112212221211212121122221221221111222221111122211121121122211122221122212222122212212111221111122111211211112112212211122122222121111112212211211212121111112111112211111212212221211212122221222212121111222211121222121212121111112122121221121111221122211111112121121121122211211122222211121211211211221222121111222222222112211221221121122211211122111221222112111221222221222111212112122112122211211122122222211212111222121212211212122221122121221121221122221111222222122212112112112211212112211122111211112112211111111221212222221222111211111221112212221112212221121222112122212122222112222112111121222212212122111111122112212212222112222112221112112221122221222111121121112122222121121122111211212222111111222221222212121112121211212121212112221211121122211111222121112212112111111111222222221122111221212111121112121222122111221122222111221212211212212222111222121111211111112221211111211212122111121122122122212221111211221212222121112122111222212121121212121111122221112211121212121112212121222212212211111112122121212212222221222122221121121121111112221212121211222122221221121121121112211111211221211222212122222111211221212111211222221121121122122212111122221211221221211112222122222212111212122111122112122121121222122211122221122112212211112122121211211122222121121122222212122222211111221111211112121212221211111211112121122212221122122121122211122112122111112221212212212221211121222112221221221212122212212111221211222222221112112121212112212111121212212111122111222112212211221121112122221122212222221122112112212211211121112112111211212111112221112212111121112121112111221222112222222211121122122111112221121122112222112112222221122212122122122222121221112211111122112122121212222121212221211221111212222212111212211222112121221122222212122121112212111112222221121222211122111111122211221122111212122122112222222212112212122121222122222111122122111111121111122211222111211112212222222211222121122211121111221222222211221212121222111121111212122221112111221122121121222211221221222111122211212212111221111212122222212211222122221121121221211221211112112111122222222212112212221211211111212111122212212112211211112211121122111112222222111211212212111121222212122211112112211221112222111121122112222212122121112122222211112221222121112121222112221111112122122121112111222112111222212222122111121222221221121221212111112221211122112221212121211112211222112212222212211121211121212112212221111222111221211121111112222112222211211211221111222211221112111121111111122121121122121112112212122211212121212222221222112111222111111122221211121221222211221221112121122212122221222112221212121112112122122211111222112211111211112112122112121111212221111212121122221112111211121212222212211112121111122222111122111111211122122121211122111212211112221221211111121112112222111211121112212221211212111112112221212111212111222211222222222222121111122121221221222212111121211221121211111121212221221212211221121212211112111212121211222111111222212211222111211212211211211211121112222112222112212122212212222122112211222222222122122221122122122221222211221222122122212111222221111211212221112221121212111212111121222222112211212212112211111222221122122121121211212212212111222222112112211212122211112212211112221211122111221212211121222211222112111222112121221122122212112221112121211121221121122211212222221211121122122212112221212112111221222221112111211221221221122121121112211211111211212111211222112122112211212112121212211221122222112122122221211221212221222111122111222121112222111121221222121122122212211212221122211121122221112112112122221221211221211121211111121212211111212111221112221211122111221212111211222122121222222121221211112212122212212211222121122222211212221121122111222112212211111221212222121211222121122111111111222211121221212112211111212111221212121221122111122122112211212222221122221221211222222111112111121112112221121122121111221121111212111211122121112121211112212111211222211221222222112121121212121121121221212111111111211121122111111112212221221121111112112211212121122211112222221221221122111121211111122111112221121122111212111221112122112212111221122122221212112121112222112211222122111111112212211112211211212112212122122121222221211122212122112111222211221222112111211122112221211112112121112222121211121112111122222122112112111121121211222211121111111121212112121111211212121111212211121122121221222211221112121222221221122121212211212212111212212121221221221222122112222212111211211112122221111112111222122111112112112121112111211211222222111222222122122111211211122212212212221121222221112211221112121122211112121212221222221211122222211122112122121222111211222112111112222122111122122221121221222212112122111111212221222211221111212111212111222112122212222212212222211122112222122122211111211121112211112212111112122122111221222221211121222121122122212122211222111111222221121111121222122121212122221212111211222122222122211211122111121211122211221221211211121212211222221212212222121122221111221122221122111221212121221221111112221221111111111211221221211221122212112111221121122222121121112111211222121112122121222111111211121121122221222112222122121111221122112112122211221111212221112221111221221221112112211212122212222122212222211122111121212211121122121121112222122212112112222111221122112212211221222122211122221121122121212212221121211122111122111221121212212111112221122221222222122212211121111112222112222112121122211111121211112221112212222211222212212221212122221111222212111112221121121222222121111222122222111121121212111111122121121222122111212122112212121111211121112222211222222221121122212221112112112121222111111122222112121122121112121122221212221121121111222212111121121211211112222121222212222121222111122212122221122221111212222222221221212222122122121111221212212212222112211122212111222112111212111111222112111211211211121111122221222211121112121211121112221121111212211111122211112212121111222122212212211222222121222222221112222212211111111211122211221111212211221222112121212221122221211221222211111222222112122222211212121222221122221112112111112221221212212111222211222111112221221212111222121121111211112111212222211112211111112212111212111112122122112212112122121211212212211212122111221212222211111221112211211222212221111221112211112221111122112212121112112222222111122211212222122122212222212122122212222211122122222111211212221122121122111222122112212211211211111122222211212122211122122121111112212222221122122111221222112112221112222111222212111212122122121111112121222221211222121212111212211122122211121121221222122222222222122221221112111211212111212222112211122221211112211121221211222212222222222212112212211122111222112112111111112212121221211121221221111112222222211212222111112112112121122221122111221222221221121222211211211222122112111121111112221122122122122222112112211121222211211212111122211222122221122221221112121222122121121121111122121121212111112222121221211221221212211222222221121222121222211122212211222211221212212121121211222222222111211111122221112222111122221222111121112112211222211111111221112222121121121112112111212112221222122111111112122111211212122212121111122222221112221111121221111221212212112212212221221111122221122212222212122122122212111111111212222221222122112122111211112211122121212212212111112212121111211221212121222211212122112222221212112111221111121211112211121122111212221212112221121121111211112212112111122122221111111112212112212221122211121121111122112122112111222121121111122111121211211222121222222121121222122122221111211121121211211222122221121122121211122222112111122121112112111111212112212111111211111211122212112222221222211222222222222222121222121112222212112211111122221212211112222122221211212211211222211112222212121211221112111111222212111222211112111221211121122122111222222222211112222221221222222111121111122122211222111111221212111212112122121212212212111221121121121121121121121221212121211222111212111222111211122112121121122121211112211112222212121121211122211121212111112222212222121111212221222221212121121112211222111211111111112121121211111121222222111121122122122121122112211111112211111211121112221222221212112222112112112122112221211122111221111121211212211212212211221221212112221122212121121222211122112222111221122221222112122111122212222222122121122121122112122111222121212121111221222221221222111112222112211112212112211212112222211211112222121222111122222221121111112122211222212222121112212122221121112212211121221221222212112121122221121211211112222222212112112221221121111112212221112122221121211221111121112122112121211121212222112212121112222211112222212221222222121111221112121111212111112122212122111111121122122121212211222211112122121112112112212221211122112222221211221111111121112222212211112122211112211221212211121222212212211222222122222221222112112121222111222121121222121122112221222112111211111122221212121112212121121222212222112111211122111112121222222212221111221212221211122121111212211211212211221111221212121212122221222211111212212111112211221221212122222211212221212212222121212112222122112111222221221211121212211111121211112212222212211112121221211112222211211111121112111211122211122212111122212111221111112211222122121212212222122212211122211211111112111211212121111221212112122122111112111211122121112122122111122211112122221121211211121112212212121221222112121112222212211111222211111112221222121112112221212211121222221211121212121222122112212121212121221211212111222212111211212122111122121121212121222111222222211111211212222221222221112221111111221212221111221222112221111122222112122211112211212111111211111111111112122212212221122221111111112112121121221112122211221211221111211111221111211111212122211211121222212121222211112212212121112122112112212221121122112112112121212122122221212211122221112122122221121112222212222122211122122122122221112222111222122121111211112211122222111112111121122112222211121221211222111122111211111211221121222211111111111222212222222211112211112111121222122221112112112211122221212211222212122111222222212121121122222111112212221111211121111222212211112111211221212211122222212121112112112222122112222122111112121221112121211211212122111212112212121211212222112222122211222211112222222121121112212121222212212112211111222121222221111121122212211222121211122112222121121121211222111211122112111222221221112111212112221112121211122222121222121221122111211121112111111121111221122122221222111111212111222221221222111112111211221122211211221111112111122212121112212112121121222121212221211211122211111111222112221221122222222111222122122122112112211211212112122221111121211222112221211112212121111112211112221222222121112121121221112212212111121122222221122121122221222211121121212211212122221111221112211112211122111221212221222211121222221122212211212121212121121121122122212122222212112211221221222222122222212111122212222222211121111111221122112121212112122112222111222222221212211222212111112221212122112212111211112211222221222122221212112121112121122112221211122111212121222212112111112111211111121122111112121121121122111211222222212222211211211212212122211211211111122121112212121222111121111211122222111111121111121222212112221122221112112122211112211212121111112112122222121122112222212122122122111211111112222212111221211212221212121122222121121112121212122211211211121121222211212222211121112211211212211112221121122111112112121221122112122111111222112112122211212112112221212121211222222212222112212112111112112112121221112222212121112212111111122211211221121122112221121211222221212222222222122121212211122122221122122221212121212212222221211111221121222111121121111111112121222211121111111122211111122221212222111111112211111211212122111212221111222221212112221122112211112212122121221221222222221211122121122112222221112222221221112222211212221212112222111112222212121112121221211212121122122221121122111211212122212222212111121112122222221211222121121212212212211211111211211212111212212212121112112121212121111112212211212221222211111221111112211122121222222121121111122112111212212112221121111222121211221111212122112221211211112112221121222221111212222221121212121112121121212112212111121222122121112112212111211222122121122212121221222222222122112221111112111221211122212111211122121221212122121112121122221121212211222111212111121122221111122112111222121111221212222222112112211212121122222211112221111112111121122112212121222221222112121111121222222212122222122121212111211221221222221122111111111222112112221122122121111122112112121122122221211222112222211222222221111122112112122122221212212112221212212111121111222221212111122111211211222111222122222121111212121212212211122221222222211212112112212222111122212211121112122121211211221222122111221122111211112112211121112211112112121211222221222221222111222211111222122111211121121112212112111112212121122222211122212112111112211111221111212222122222212111112112111222221111221211111111221211222122122222221211122211211212111111211121112121121221211121111122121211122112122222122222212122211121112222112212112111222112121212122221212122112211121211221122212211121112212211211222121212121112222212221122122211211121212112212112112222221211211211211122121212112111121221211112221112221221112222111122121111221122111121211212112212122112212212212211221121221211221112212121221212212122221221122122121112211122222111211222122212122111111212221112222221221221212122212112122121121111211222221122122121221211221221111112121122121122112111121212122222122112111112212211212212111212111222121112212111212222212122211112121111221222122111222211212111112121212212212111121222111112122222221111222112121212111111122221111221212212121211211211211221222112112111221221211122111221211122212221221111121212111212221111212112122211112211121211121221122111121121122121222212212222211211111211212222211212222221121212212121112111222212121221111111112211112221211112221112222112112122222212122212221221111112222221112222211221112122221212122221112222222122112212121112211121121211122221112221112121121222112111212111111112121211122111112222112212222122212111121221121121211122212122111222111112222211112211111221112112112122121222221121122221212221222222222221112221221212222122111222121212112111111112112122112221112221111211122111211112122221111212211122212122121211211112121211122222121111121111211222211211222111222112212112211211111111121221112222122212111111221212122111112211112222111112122111221212122121112221211222212111211222121222122211122112112122111122122211122222111122221221221211121211222122212212211111111122122211122211221212212212222212122121221212122111122222222221121222221211211221221211111222222122212112122111212211112222212112122222221221122221211111221222222122111222212112122222121212112121211122221222222222111221111212111211111122112211211222112221212121111112211121212112221122121221211221111122121212222212112122211221122212122122122211221122211112111211221121112221212211212111121211212121212121212111212122212222122111112222121112211222211121222221212121211112222112122211112221221221112222111111111122121212222122112111111211111121111221121112212211221111111111221222111121121122121111111122211111211212212212211122111221222111122222212121211121212222211211212222112222122112212221112112211212211222121211112111112111122122122221112112221212222121212112211222212122112222111212222212121111222122112221121122121211112221121222112112122211211122212112122211212112221212212122222121112121121112211212222221122212221211221121121221121122112122221222211111122211111212112121111221121112221121112211112222111212121112111111112121222222122122121121121221111111111122121111211212122222121121112111121222211212211112211221122122112112121212211111111112121222212112122222221112122222112111221122212112122121221221212121122222121211111112212111112212112121212211122212212121111111122121222222222111122111121112221122122111212211222211111211112122121112111121222221122121211221212111111211222212111221222211111211111122211222212122211111211112221211111222112111121121121221111211121111111111112221111221212122122211112221122211121212121111212111121222122211222121212122221211222112121112221211112111111211121212221112112211222111111122121121211121121211122121222222221122221121222222111221122122112122221121111121222122211212111112112122221211211111222222121211121122122111112222122121122221222112121222221211111222121221121222212111121212212122111112211211211211222222111112112212211212222211111112212121122221122212212212212222122112111212112122122122212122221112222111122122211212222221111222211222221222211222212121211112212122121211212221111211212212111111112111121111212111222221112111211122212112112222122122221222111112221122221221122112112211112211111212112222212212221221211111222221221212111111211112212222112211111111111222222211122112221211221122221222222122121221121221222212212111112111212212121221211122121121222111111211112112122222112222121211122212222221112111122211222211211212112122121112111222111212211121121212111111121112211211211211121111221221111111212121212221122222111111222222222121111212222121112221211111122212212111211122121111222122122121111211122211211212221212112112211122112121111222112121112122112212111211122121221212112211211221122221211121111212121211212111221222121212211111122122121211221122211121222222121212112212212222212211221211222212111211221121212121221112221212112211212122121122121122211112112221222211222122211122212211222212112112212212222112211111112121111112222221121111212221121111111112221222122121112122212121122212112111222111221121221121222112121112221112212122122121122212211121111212211112211112111221111122122111111221221121212221112112212221212221112211112212112222111221121211211122212122222122122112212111111112211111111221121121111212111111122211112121112221112122112111111221112212212112212112112112211211121111222222212221112121212112212122121121211111221112122221212111121222111222122222121111111112212211111111121122221112211112111112221112222111121211211211111122112221111111211222211112211212112221212221122121211122222211111211222211112122212112211121111222121111111112122222221221121111212122221212121121212221222112112111121122222212121212111111112211222222221212112222111212222222212212222112212111222121111122211121111122212212221121122121222121222221212111221211121212221112222111211222112122122221211222221211212112212112222212211112121222211121221112222222121211221212211222222121211221121221222221212122212112121111221222122221222222211121111212211112221122122221212212222112221212121111221122211211221212221122122222111211122221212121111112222212211222222211112221221211222211222111222112121111112121112211211121211111221111112211222221211221121112121122121122211121211112222212211211122211122211211111112121212212122222212211111222221112211121122111211211122112212111121122121222221122121121221211121122211111112122122222211222221221222212122222112222222212112211122121111122211111122221111112211112212111121111211112221211111122222121212211211112222111121212111221122222111111112112111122111211112221122121211112122111112212222121212121222211212121222221212121212112112212211111212221222211222222112111121121111212221112122222222221221111121111212121112221211212222222212122222212122212111122122121212122212211111112111221111121121121212211222112222221221212122112111112111122112111121222112122221111221221112122222121112221121112221121222222112211221212112121212222212221212222121121112211222111212221121111211112222111111111111111212121111111112111222112211221111221221112211221111121121122211211222211211221211211211121111121211122122111121112121111221121122212221212111112222222122211211112212212121211112212111221212211122211121111121111211212211222221111121111211111211222211111212211221111211211222112121212221112211211221211211111222112212112222212112222221111221222222112111221121221122122122122221211112221221212122111111111111222211212111121212122122222121122222221222122112121212112112212212212211122222212122221211221122121121111222112121111211212112112212121212121211111121111112122211222212121122222111211211212112211221222212121112211211221112122212121122211121121122122211212112121111111211222221222211221222221121111211112211122122222122222121222121212222212121221212212121211222212222122211221222211211212121212222222221111112121221112112222221222122122122111221211111212212122112222121112222211112122111112111221111222212222112111212212112222212111111112211211121211112111112121211121121222221212212212222122212221111222121122212121121121211211221111211121212121112122222221211222212211122112121122112221212211111222111112112212111112211122212211222211222211112211112111222211222221111221122211221112222112222122112221212121121122111221221111111211222112121121212222121212112112122221211112111122122121211112211112121222122122122121122221122212221211211122212122122121112121111121212221121111122111221212111121122222111211111122112222222121121112221212221122212112111222212221211111112212122212111121111221122212221112122212111212211122112212221121211221221212111122122211211221121111211111211222222221212112121112211211121111222221222221221221221112222222121212111111221211111122121212122222121211111221122211221121112111211221211211121112121221112221112111122221121122222211221211121121111211111111212111211111212122112112121212212211111211212221222211222221212122121121211212212121212111212222121121212221221221121112111112212121112212111111212211212111221211122112121222221222222211111212112212211122121111112222111111111112112122211122121212121212212112121122212112211111211221112222212111222212211112122112212222112121112211111222221222222222211111212121211212112122211122112212121212112221122121112212212112221211111211222211221222221121122211212121221211112221112221121211221112112221212122122121212222111211211211122112122222212112212221122122112221122221122112211122122221122122221111222212111222222122122111222211112212221121112111121121212212222212121111111111121222222211212222221221122121111221122112222121222112121211112111212222122212222222211121122112111222121211111121221122211111121121112221211122222112221121112212211212112121111121121221112212122222221222211211221221222212122122221111112211211121211122222111212211221112211221211212122222122211212212112221122222122111221221112222222211112222212112222222112112222211112221121211212222222212211122212122112122211212211211112121222121111222221222211112122122212222111111221222221221221121112221212211211121111121211221122222111211221111222221222111221111222222222222111111122212211211211221212211122211222122212111121122112112211221122221211211211111212122222221222221212221122121122112212221221211111111112112211111212121222211122121112121111211222211222222121212121212121211111211121122122211212121112122111222111112112211212122122211122211112221211222112111211121222122112111111212121122211121111221221221222112111221122222211221122111111111212111121222122212121222211111111122112221211222122222122222221221212122122212111111121122222221211112221211212111211211221221122112112122211112122211221222122221222112112121122111121121112211122212212212112122211211111221221211112111221211211221112111121122221112122112112111122221111112122122222221221221111212221122112211212211112211112112112212211112221112212222111122121211212211122222211222222222122212221121211211121211121112211221111221111111221211121222122211221211221111122121122121212212211212212221211112222221111222211212221221112211221121222211111112111212112122211122222111211221112212122112121121121112121112122121211211122121112222221122111112212221121222111221211111222111122222112211121221211112121111121221222122112221122221211121121112221211112212122122111111112111212121112111121112211222112111112221222121121122111222212212122121122211212222222121112111122112112121111212211122122121211221211121222211122221212111122221221211211212122222121211222221111122122211121212111112112212211111222212212212211122111111212211211222111221222221122221212112212112222121222221211111212112121111122111112211112222112122221212222211211222121211211112121112222212112222212121112112111221121112112121112121212121121211222111112222211221112222222222212111111122212222222121222212211211112222112211222112212112121212111222211222211221221211122211222111112211121121111211221222212111121112121221222212121211122122211121221121122121122122112211111221211111222111222121111222112222112111211221222211221222221112121222212221222211121221122212222111211122122222222121212211121122222121221112122112212122112122112112221112112122112222112222212221121122222112221121212211211122221122221122221111222221111122112122121211222112212222111111222212111222221222221112222212121121212212211221111121121222212112111122221112111112122221122221211212222222111211121211221122122121212121112212211121122221122212222221111211212221111121221221112211122122112121122111211122112212212211212222222212111211221111222221212222121111221111121212111121122121222221222121111121122212222122121211121122212112111112112121211111221122222222211111111222112221121222211211212221112211221211112111111221212222122221212222111221122112112112112211111122212222112111112222111221122122122211121111112111112112112121222221222221211121212212211111221221112121211221122221222211211111112221112111112121222121111221121212121221112212212111122222121221211112112211121221222222111122212111211121211121122221112112112222222221112222112121121212222222122221111122221212212122111112111122212122212122121212111122221211111221112221221221111212222211112122221111222222112212122112111221111211221222111212121121122122121221122121122122121121121111212121121211222111211211222212222211111111122211222111222221111111222122222121211211111222222222112222212221211112111112221112112122112222121222212122222221112112121121212221221112212121212222222212222221212222212112212212122222222221122112122111221121112211222122222221121212112221221221212212212121122121111112111121121111212122212122222221122211111112212221212122111112111222212212222222222222211122122122212112112211121212121122111121111111211212112212212111212221122121211211211112212222112212121212111212221222222121122111212222212211111211211222112121122212122221112221211111222221212121211122121221122221122121221222212212211111222112221212112212121122122211112221221221221122212211221122211111211211221112121211121211222121211112222112222222222122221211112211121211122222221121111221121112121122122221211212211112221221211122112222111222212122222211111222221212111112222212221222122122222121111121122121212221212222212222121221211211111122211111111122222221211222111122211111112211112221222112121111121122122212211112111111112122222211121122111212111122221112121211111122212211122221112212121121112122212111112121212212121121122111121222221211212112111111111121221221111122122222122122212211222222121222221212212111112122121111121112211211211122212111122221222122212212121212211111212121112212212211111211211211222211221211111222112211112211221112111112121111212111222111221111121221122221111221221222211222221122121212121212212122112221121222221212111212222212122121221221122212212122112221221211122222122212121111122121111112122111221112121111121111122211111211221112112222122111111222112111222222111111122121221221222111122212112221111121111221121121112122111222121122122111122222121122121112121111212122121211121112222212111112211211221111211212121121222112111121221112222222212211112112121221112222222211212112111112121221221112122122121212122111121112221222221121121222111211221222111122122211221222211111122121111121221221121211111122211122221121121121112221122221122222112221211121212211121221221112221221222112122122112112112222211221221112212122122212221222222212211211212121211221222222122111121221222112222212111222222111121112221211122121211221112111212112211211122112222211212211211122121111112111112111122121222211221221112111212122121121112212221122212211212212221112121112121122212121112111122112122112111121122122221122122212111221211221112121222211221112222221211211112221211212111121112122111221211211121122121121222212121222221112111111222111122221211221221222111222212211212111221211112121221211121211112211222212112211111212122112111111211112122222111211112211122121121221121112212211112212121122221221222222211221211212112122111122221211111111111211121212212111122122212212212212112112221221112222221122211212121222112121111112121222112212211221111212221221221121222111111112212122212221211212121221122111112212112112222121111222221211212112112211212211122212222221111212212222122121121211111212111111211121122112122121112111121111122211212122222221112221121212211222111221222222211212112111122122122121211212211212122111222211121212221221221212121122111221111122111222211112111111222122221221222111212122222222212112211111212212121122221222212221122122112211212221121212121122112111112211122222122222112211222112112212122212111212121221122112112121212211221121121121222112121211121221122121112211221112212122112111111212122211111221222212111222222211222221212121221222122112121111211222212211221222222222221211221122122112212221121211212121111122111222111111221221111222112212111121122212211111211112111221211221112111111111221122112122122211221122121121121212112211111222121211112112222111122222211122112212221111222221111212211212111111211122221121111111121222121121221222221221221122221111211112221211222212122112121211111121211112221221122212122111112221222212111122121122112221112221112211221112111212122212111111122122221121111212211121121211222122121122122221122211222111211222112122122122122111122111112221111212222112122222211212121221121111222221111222122221222221111112111221222122222112112121122222212112221222212212222122112211111111111122211221111121222121122122121221222121211222211211121222221122111121111121112111122112112222221121111221121122121212212211121212121111121112121121221112222222121122221211211111112222211211212121221221111222121111222222111112222211222222222221222211121211122222111112111211222112122211211212222212222212221211211221122112222112121111121122121222122111122122211122222211122221211122212222121112212212112221222112112121212112221212112212222111111221112222112112212111122122221222121221212111221112221211212121221111222212212122121211212121121121112212211111111121122211111111122111221112212112112212222212121112222111212122212211212222221212122212111122112222122212211122221121212111111212221122212122112212222212211121121221111122121112212112212221121222211212222122221111112212221112112111111221211122112122221211112221112111122112111122211121111211111221221211111212221222212122111112112211212222211211212211122121112212111121221111222122212221121221112211222212211122211122122212222221211121121222111211212211211111211122211212222112122211211112212122221122221122122212211222122122211121112221212211212122211121111121212121211222221112122212222222121121212221211121211121122122211111221212221222121222212121122212221111122122222121212112212122122112211211222112221222112112211221122222111222211222111212112211222222122222222111111111122212112221211111121122212121221212121122111221111121211121212112211122211121211122211221121212122121112221122111221221122121112211112121122211112221111122112111111121121212112221112212111122212212111212122122112212122111221111211112221112211111112111221122112111112222122212122222112111111111112212222222221221221111122112112122211211211221121111222122112122112122212122211222221212221221112221122121112112222122221211121111111211111111121111211212222221222222121122122122222112221122212221221211112221212121221221211212221211222211122112212211121221222212221111112121121222111222222212211221121212221122212122112122111221212122221111112211221111122211122221222211111112112212122121112121122122111121122221121221222111122212221111222112212221221211111122122222112122222121112111211112121211122122211212122121212111222121212111211112222121111212221111222122111112111111112212222212221111112211221122122221222212211212221211122212111112212212121121122112211122222211222121212121111121222222111111112222222122112221222121122122122121222222121122212122222211122222222222112211121211211122122212212121212222122122211212111212122211212211222212222111112111122111112212111211211122122211211222211121111111121222112221212112112222211211122211222211122211212121211211211121121111111122221222112212221212222211211222222221122212211111121211122121212211212212112211212221211222111111111122221111121112222112221212212212211112121211112111122122112211112221212211212112212111221121112111211111122111121221222112112222112222112211121221222212122211122122211122222221112111122212211222222122112121221112122122222122212121122212121121212221212221221211221121112122112111122111221121211112122212112112111111122222111221121212212121211111122221212222121112121211121211121121211222122211221111211122112212122212112211222221122221111122122222212212121111222221212221221212121111211112112111111222111121122111222221211212221121211211222222221121112212111222122121112122212112222122211211221111112222111212122212221211212212111112222212122122112111112112221112222112112122111122222212122111221111111222221112111121112121221112212222121112211112111112111111121112222112121222122112222211122112122111211112122221212112112211121112112112111111122222111112112112112121121222121212121211211122212111222222222112211211221222221122221122212112212112212221222211212222121111111112211121221222112111222112212112112112121222222222222112221121212212121211112112222221122221111111121121121212212211122222121212222222121222211212212112122211121122122221222121211211121111222111222212222122112222222212121122221211222222212221111112111221221121212122211121221112212222111122121211211121222212111212222212112122221111111211211121122121112221211111212112111111121211211121212212122212222111112211211222212122221121221212112212121212221121221122221111212121122121222221122221111221221212211222111121111111211111122112211211111211221221222121222212221221212211121111121222211112121112211121112211222222122122121212212122112122212121212111112121211111121222122122112221222111112121212211212222121121112122111112112222222111222212222112121211111212122222222221221112211112121111222112112222112212211211221222121222211112111211121222122221111222221212112111121212112121211122112212221221222112212221122111211212122121112222111221122121111111111112112221221121122211212222122111121221121121212222221122211112111111211211122211111212121211222211211221121212121222112121121211221111122211111212122121221221111211222222122222121112221222221122121121212121222121121222212211222122211222221212111112212222111212212111122111112122212222112121122212121222222211221211211211121122112212222222221211111111121211122112122222122222112211121112122222122121111111122122221111221112221121222222221112222112111122112221122212211221122221112222222112222221112212222211222122112221112211121222221221121221212211211111112111122222121111212111221212121211111112222221122121122211222221222211121212111122112112121112211221112212122211112111211121212211222121221122111221221212122122211111221111122122221122212212122111222122221212111212222112222222221221211112121222121221112212122212221121112211122112211112112112211122211111112111222111111112112111112221222111222121222122111122122221122122122222222121122122212111111111122111221122212112222121112112122122212211222211112122122111222222111222122111221122221211221111221212222111221121212121121211222222222211121211211111221222112121212221112221121222122121211121211221221211112221112111121112112211111221222112212221111222112111212221111212211112121111222111221221112212221122211121211121211212121222111111112112221211121221112212122221111212112111222211222211212211112222211222121211111122211122211112111111112222121112122112222221222111211222211121222111221111211222122121111211111112121122111221122221212121111112212121111112221111112212222211222121221121221121122221212212212121211112212111122111111211112211221121212211112212211222221212121112222121211111211211222122222111222211222212212122211111211111222122211111111212112121212212211211112221221121221221211122221112121211122212211112121212121121212121222122212111222121122211211122121211222121122222121111122122112222212221122211211211112111111222211112121122212121221121212221111221221121122112212122111222122222211222122121111211121222111212221222121112211221222112121122121111122212121112221111212112212222111112111211111112122222212222121221122122212111222121112222121222211122222122221221112221121221222221211221211122222112222221212122111222222122221121211211121222112121121212211111211211211121211212111221221222221222221222121221211212112121112111222121212211221112212211112111112211112211121112222122121122121122211122111111122222122122222221211212111222112122222112112121212112221222222122212112211222222111221111212212112122112112211121211112122122122212111221122121221212122211212212211211221221222112121111122112122211122112211212221112221111111121121111212111111211212112222222221211222211222222212121221212212111122112121212121211122121122212212121221211111112121221121221221221221212211222122122221212212222112211122211112112211121121222111121212122112122122121221121112222212211212122121112111111121221122121112111112121111121221122212211222121121121221111212112221212111212111112111112222112111122112122121222212211221122121112121222112212121121122222112121222222111112221122222212222212211111121122221122222111211212121121212111211111111111212122212111222222122211212212112212211211122221222212121122112221221112222222222212221211222212211111121111212121222112121122211222111111112221121221211222222221122221222221211112122111111212211222121111212221111121121222121221211121121111121121111221222112222212111222112112222212221122221122111221211112212122221122222222112211211211212222111111112112222212112121221221122112222121122111211121112121121212112122212122112122221221211112121221122221212111212212121112221122211211122211111222121111212111111122122111121222112221212111112221111122222221121121222221122212222222212111111222221122111111111111121121222222221212222111121222121121221121111221221221222111222121112212221121112122221122222212121121221211111211222111221122221211112211211122221212121222122212221121111212121121222112122122122111112112212122221212222111112212222222122222222121212211211122211212122221111211121222122111211222112122221221212221121211122221222222221112222112211121122222121122122222111111222212211111112112111211112212221211221112122112211112222122122112222212121121222211122211111122111122211112221122221212122212212222112122121122221121122222112222121122222211121221122122211211222221111221221221112212212112211222121122221222222222122111222222212211122222112111121222212122122121112122221112222121212211112222122121121221221112211212122121122211221212122212212222222111211122112212211212111221212221222211211211211222112121212221211211212112122112122211112212221222211221121211212221211222222212122111122112221122222121212212212112111112121121211212222112212121221111122111112212222122221211221111111112112122122122221221212121121111122212121222222212122212211211121112212111121111122121111122122211221122122111221221121112212121121112121212211121112111221212111211221111111222112121212111121112221222112211212112221212221121222222122121111221212221212122211221221222122221222121111112212221212121212111112121212121212212121212212122112111121222121122212112121221222112111212222222212211112221211212122222221122221122111112122221221222212122221122112111122112222211212221221121121122222122222112121112121211211211112121112121221112112222222121211212211122111212221112112111211111211221112211111111111211211121121121222221222221212112111222122111222111122221121211212211112122111122222222122212222211221211212211111211121212111121212222112112122121221112121111211112211121212212121212212121221221211122121211111121111212111112112222121222121212221212211122121112222111222111222212121212211211122122212121221211111212212211221222212211111211112222212121122222111222112211212222211122112122211121122221111111111121112122221212111122111122111222112212121122122121222211111212122112222211222221112212211121112122212211222122121111112121121222122121112222222211121112122121111222122222212212221122121212211221122111212112222112221211111122211122222221211222221221222112122112221212222212222121212211112211211211121122121211111221211121121211212211122212121221112222122211221122122112221221121111222112122112211211122212222121222212221212212112122211112122212111212112121221122222121122211222211122221121122211221211221222122111122211122212222111212211122212111112222221111211111212222211222112121212222222211212222112221122121222212211221211122112121111212221222121121122122111221112111112112221212212112221221221112212121212211111212211122222122211122121121211122121211212121112222211211111111221221122212122122211121221222111222221211221112211211121111212112222122111112222212211112122221121121112212211112122212112221112211121112121221121222211122222111112111212212112212121212221222211111112111112222222111221122121112122222222112112111222221111221112121112212111221111112212122111122211221112112211111111112111112211112221112122122221111212122121211112211221122122222121112222211222121212212122112121121111112221211111121111221111111222222112221212111221111222111111121211211211212211221211112111122221122121211212211112222211211212121122211122111111111211121122121112112222122211211211211212112212212221111112222211112221112212221221121111112222112112122212121122112211121111211212121112111212222122121222111221121121211112111121112111112121121121211111222112211212221211112112121122212121221122222121222112222212222121221121211112121222111212211121112122211111112111222212221121111211121112122221212122211212211212221221112122222111212212112221112111211121221211211222111211112222111111121112122112222121221222121112112222211222122112221221211211122221122111122221222212222211212121211112111211221121111212212211122112222111112221221221222121211221111121221121112121222221111122212211122211212112122121211212211112122112222121222212211121111111122121121212222111112111121111221121111122122212121111221211121221122122211222221122121212111122222111112121222212222121222221111122121112222212111222111221221112212112111122121121211121121222112222112111221121122211112212221221112212122221111211112121211212112211222211122211122221222211211212211121121112112222211122222212112122122121121112121212121111212121111221111222122211121111212112211112222111221112211121122212222121211222222212111111221221122122121212212222121211212212211121122212111112111112112221121222211221122122112121112122112122212112111122122221211211122112212222212211212111222112212211211122211222121121211122121211112211222222122112122222122222211112222111112212112121211121212122111211111111221221211212112222122212212222211122222121121121212111212222112212221121121121111111111222112121111121112122112121212112111122221121211111112212221222212212222222121112212122112222111221112122212111211222121212121222122222112221121111111212221211121121112222212212222122121122111121211122222122221111222121121111122211221221111212222222121212122212112221221121111122221221221222222221121212222122111211221221112221122112221111112122212221121212121212221222212212112211121222211211222112222122212222121112211222222212211111112211221111111212111111112222212212111121222121222112122212112222121221111212222112221111222212122211121121211221112112122112112221122212212121212211212211112122122111122122122111211211121212111212222222221211211122112221221221121111111111222221122122111211111222222122222122111112121111221211121111222111221221221122121111212222121211212212111122221221121211122122211112121222111122211212212121122211121111221111121121222222221222211221212222221111221121111111222122122222222222121111112212112111211212111212212221122212221121222112211111112221121222211112222111212221222212122121222211211221122212111211222121222222121121222121111212112111122122212212222222211212221211212221221111112111212212111111111111111112221221221222212112222111211112221122211111211221221112212121221111222122221222112222222112222212221122112121221122111211122112111121221122111122112112121212121221112212122222211222222111122121122122111122121211212111221111222121211211221222222211212211121222221211212211212221222112121222111212221122122211211111212112211112211212221122122121211211122221112221122122111112211221111122121221112221121221212221212222112221211122122212121212111212112111222221212222122221212211111121121222112211211222112121121212212122111212111221222222121222211222222212222211111111222121111211211212111122211111122122212111212112211111122211221211122121121111122122121122121112211112222121222221121221221211211121211221212122221211122111212222122121122211112211112121222122122211212111122211122111222222112212111122222222111212211211121112121212222221112222111221222211111211121211112112211122221211122121121112222122112222221211121222112221221211221121111222221212212111122121212222112222111221222221211112221221222121111221111211122121211121121111212111121121122211211222122111221212221211112112211112122211112121222222121121122121111221111221121222212121221212122222121212221121222122212222111122121211211112112112112121112122211112221122121221211121222111221122211211122211221212222221221112212111111112122211222121111221222122211221222221222212221122121222121121221222122122111111111111122112112111122121111122221211111122222211122111122211121222121121112211121222222122222222221112111121111212112112212221211112222211112111211211211222112121112122112212112121112112122121111121112121211221122122221212211112111212121221211111221222211111221222212111221122122112122111111211212222121222122221211222222122212211111111211222222221122121211112122221121111112121222222212212111111212222212112212122212212121122211121212122222112111121112221212122222112122111111122111221112121122111111211221221222221221121221121222122211212212122222211221212111211111212221112122211111211112212121221121211111121121221121112111222112111211221222111222212212112121212211112212222111121212122111121112222122121111112221212122222212212211121122211122112221221222111111112222222221121122112221112222211221111112222211221122112222111212121221212212212122212112112221111121211111122212221212222212222122121121122222112212222211121222112112211212211112112111222221221222222112212121122211122221111221222222222211222212122111122211211211121211121112222121121222211112121111221222111112212211212121222221122121222111122221121212211221211212222111211221211222211221112222212221212212112122122212221122222121122222222222212212122221112211221211122122211221222121121211212221121221222222211211121221122222212111221222121122111121122121121122212211111221222122112111122121121121121222222221222122212212111111111221222212111111212122111111212222111121222212211221211211222121221222122211221111122111111122121221111112222121221212112112122111121112221222221111112121211122221121211121212221121221222222122121222211121122221211111212112211121111111122111212221222111121121121212121112221222121221121112212221212122112211212112122212112122112122112222122222221221111212221221112122112112121111122221122212211111221222211211112111112212222111121112211212121111112112111212211211111211112212212222112111211212212121212122111211222111121112221111221112222121121222211221212212211212122122122221212121211112212121112122222112221212222121121211121121122121211221211211212221222221221122112112122122211221122111222221221212211212121111112111111211222211112111122112222221111222112222121221121212121122121121212121211211122211212222112221121122211111121211222211222112122222111111212211212211111121121112111112112122121221111111211112212122122222111121121211111112122212211111121111212112222111221121122111122122112122221212122212111122112122122221122112111121112211221112111122122121122122111121221111212212112111122111212112121212112121211121211211211121212111211111222111212122211122211221122112222222221212211211122111112222212121121212221112121222121112211122122211221112222211122112222111211221222121212112211112111212211112221122112221121212122112221211111121222111211111112211221221221112111211121221212222221111111211111221212112211112111122222212111112112221221211221212211111121211211221121221222122111221122221222211121121212211111211111121121111112112222222122121222221122112221222222111111121111111222122212122212112212112211122211122211121221121111112112112211221212211222221212112221121112122111212121111111122221121112221112122211211221111112111221112212122111211212221212122112211221211212111112211121111122221211222111122121121122222121211212222121221122212121211112222212121111112221222222121211221211212111221221221222122212111211211222211122111122122221221211211221112222221122111221121122121212211221122221111212121112111222122112121211211212122121222221121222122121211222221211122111212212211211212221112222211122112122122212221212122111111211111112121211111212212211211122112222112122112122122222111121211222111112111212111222222121222122212221221211212111112121122122221222121122211222221211122112211122212121211112112221221112222111212122122212122222121221122121211112111211211111111212221211222222111221222111222212221211122211121222112121222121212212222121221112222111112121121222112111122111212121122212212221112122221211121211122222211211212211222111112211112222122221222111211212212212111221112212211211212211121122111211121222221112111222122122211112111222112122111121122211221122212212221121221111121211211111112222111111221122112211221221211112222212121212212221222222112212211222221222212211221212122212111222111112121212212212211221212112211211122211112221222112121222221211122211211221222111112222111122211221211221112112122222221112111222112221111212112212111121111211111221111212221221122112212112212222112212211121212112222111111112112221112122212222112221221211211212212122121211211212111221121111212122212121212112212222222121212212222111111211112211121121112221121211122122222222111212211211112212121212122121222222211111122121121212111112112112122122112121211221121221212211111212222211212112121221222121222222221112111122111222121111222222121111111211212222121221122121211221121222121121122212212122221211112211211121222221121212212112122211221211212112221122211221222212111122212111222221111222222222111112212112121221111111122121221211222122221112112122222122212111111222112212212211221122222121221112112112122112211112111111211212221112212212121221122112211212212212111122211221221111112121211122211211212211121122221222221211121111122121111222221212111112221121112121221212112221112112212211112111112121122212221122112111212122221212112211221222212122221222211121111122211212212122121222222212122112121112111112112211211122121222212212212212221122121211221211121221212111112221122112122222111122222122222122112112211121112111221122221112122212212211212121111122221221221122222221121212122211211222122211211221211112222222122122222221121211122122111212121111112222122112111211221212222121112221112221111122121111121112112222211121211222211111211221111222121212112111122211222211211211211212221212221121112111122212222211111212221222112211112111222111222211122111111112212222211112112121111111112221222112111121212211211121121112121112112111122111221222221221222221211222211112112121122211222112211122112122122112222112221122112222211121112122122122122221121121221112111112221221211212122222221222111112212211122221121211112211212212212212211121212112111111121211211122222121121121221122112212111211222121221221122111212121222112221121212212122121121211112121121212112122122211211122212222222211111121221221211111112222112112111221121221112122221111111211121111221111211212112111222212122212222111211121221211122112212212212221112211112111212112112121111122211111212211121211212111121222111211222122112112222111121122112122212211211111222221211222222122111122212221222221211211212222111211112121121222221122222122122122122121112222112121212211222221121212112112211212221122122212122111221211212211211222112121121211212112121122111211112212221112221121222211212121111212112121211112222221121222212222121122212122222221112111212211112212212221111112212112221122221211122111222112221112111122112111221121121222122122222121222121211222221121221112111121121121221221212111122212121112212211212122221111211112221112222211221212211222212121221121112122211111112122211121211212222212121212212122121212121212211222121212121122222222111112212122112211211121111121122112222111211221112211221222212112221212211112122111111211121221122211112121112212111212221221112222122122111212112221122221122111111212122112222221112212222211122212222111111121221211222121111121221221211212221112211122112211111221121111221211221211212122122211111211122222112111221112212111211112122211212221212212111112222221111111122221111122112221111111212112212122112221121212112112122221112221221211111111111221121221111121111121111112211221212112112211221212122111122112221112111122111122122221212221111122111212222222122111112122212121222122121111221111121222121221112122212222122111121222122211122112112222122211212212112221211122212222111121121112111221221221112212121112112122222122121222122112111121112122222122221112212221111221111222211111112211111121122111121211211212211211111111212212111222212111122122211122111211121222121111222222221221121121211222211121121111122112222112212211122112211211122221111111112122221121112111211222212112221111212111121211211121211112111222212122122212122221211222211221121211222222112211222122212221222121121211211212212211112112111221112211211111122111221112121111211211111212222222112212211221211112212122212121112111222121121211111221112112222112211111112112112212211122122112121111222112211112122111221111211111221121211222211221121211212212222221121111211222211222121121111111211112212222221211212211112122111212211211112221122112111112122222222122112121112211211211221122112112212122121112221221212221122112212221122112121122212112122211111121212112121222121121211222121221121111121111111211222221212121212221122221122221121121122211121122122221222212211122221211221212122122221122211111111221111121222222112221221122112122111222221112112111111112122122122112212212212111221112222122122121222121111122112211221112221212121112112212211111111212121121211222121112211222222212122112221222222112222222112211221212222112212122121212112111211221222222221211212111121222222111211121112111122121122222122111122221111221121222121222221212211121221211212222122112121112211122222221222111111111111111111212222211122211212121221212222111121111122222112211112222121122222121211211111111112212222212121221111112111211211121222121221211211112211111121112221211221211111221211112122211111122122112122122212221211212212111112211112211212121112221221222122211122112111122211111122111211112212221122212211111212222211222122111211111111121122212122121211212122211121121122122122111122111221211222211111122121111212222112212111222212222211212122121222212112222121212112221221212221222111211212222111121211111222122111212111212212212112111112112121221121211221212222121211222111221222111112222111111122221222121212122122221112211111222221111211121222221222121222121121122111122212211222122112122212121112221222122221112221121221111222222122211211122121111111211112122222212111212221112211112121211111122222121112222121211111112122211122122122121121221112121112212122121211121112221222122122112112112212111111122111212122121111112122211111122222112122211112122111221212222112122212121122111112112112121121221111111212122121122121221112111111211121122111211211222222112222211211211212112211222112111222122122112121121121111222212222112212222112212211111121121121222212212211111222122112221122112111122122121112111212122211211211211121121211212222212221212112121221212121222112222212222121122222121212122121112111211111111222221112212211122111222221222122222221211211221211111212212122212221212222212112111221212121111121212221211112212222111122111112222221111112222122121212221211121121112111211222222222222211111212211122121212221222111112112211111211212112211212211121211111112111212112121221122212121222221112122211112121112121222211121212221121212122211121111212212111122222122211222121211111111122221212211222212222222122222122112222122111222112111121222122122211221221121112121221212122211111121112122122122112211211222122112111211211121221221212222222122222211221221221212222221122122211212121111221222211111122212212111222121211112222212121112211121112211122122211212122211221221222112121221211212212121212212121112122211112222211121212221222221111211121111222212121221122212122212122221112122121112112112221122121111112212212221111222212212212112212112212121222111121111121222212222111112111221212212222112212211121112212222221222121221221222111211222221121122121222121211112112222112111112211222112122121112222112122122212222121221122222121222221212221112221121212212122122211222221221222221111121121122112212211122122211112112222122211211111121121121221222112211212222112112112122222222212211211221222212111222211111221111121121121222112122212221121222222112221222111111221211212212111222212221221211112122112221212212211111211221221112121212222222221111221111112121121112111112121122212111121121221211222212121222111221222112112212212122212221121212121222112112111221122111122121111212212221122212211212212221122121222121121222111212211111211211211221221211221222212222111121121121112222121222121112211212121222111222211121111122122221111212112222211211222121121221222211222112122111122112121211221121212221211222212112111121122122222222222121221112221222122111112221112221221122221211121212212122122221111211122211121122111222212212211222111112212121122111221112112221221211111122111112112121221222222121211222112212121211221121221211121111122122212111121121222121111112112212122121212122112111221211121221121222211111121212212212122212112122111121111111112212221222211212211111222111212221112112212211121112121221212222221112211112221111211122111222121111121122222121121221111112221211212112212121211212122121112221112112221212121122211121212221211121122122121121112122111111222222122112212112221221222122122111211121121221121111221112122221121112211111121111222212222212112122111222212111212212121112111121222221221221211121121112221111222111111112112121111122222111112211111111221112212112121211111112122211121121212121211221221111111221222221122122212121111221112221112221111111211112111221112212122111111112211211211212212211122211221121122221121112211211222111212122212211211221111211122222111121211122121121121122222112212122221211121221211122121211222212211122222122122211112121111111121212111111222222212122111122211112222111122122112222112121222122211111211121212222121221212212121211212111111111222212211222222122112211212222221111222222222121211122112122212212211211122112121222122111111111211211121122122112121122112222211211111222221111122111221211121111222212212111212112212221211222212122221122211111211222122122112112221111112212122112112122221222121211112121212112221222122221221121211221222121212212122212212222211221222122111222112211221222222112221222222111122112121122121212121221112221112221111111221221212222211122212222212222221121112111212211112222211211111221112111222222221222111222222122212112222212221221112221111211121211121121221111122222212222222122121222222111121221112112111112111111111121111212211111121222121221211122222112122212121121222211121121212222221222222111112212212112221221112122221112221111122121222222112211111121222112121222111121112121122211121212212212222222111222222121122212211122222212222122222222121111111112122211211221221222122212212222212211122111112211212112212212122121121212222222221221111111221211221121122212112211121111121122211112122222111212121222222222122222122122211112212112211111211222222111121222221122222211212221122211122111111121111121222112222222112111221112222121112122222221122212121111211112221112112111122122212221122222212211112121111111122121112111221122211211221222122111221111111122121122111111211221111222221211111112111112211121221222221212121211221211221221211111222212221112122112122212112112112122211122222221221112111222112121222222221122212211221112112122211121222221221121221222222122121112211221111222121211112111111121211211111221111112121222211111111222211111112111111221122122122212222222121121212212111122121212211122221111111112212212212222212112112121221122121211211212211212221212211111121112221112111122211212122121212111122121212221222122111112121111111222112221212111112221211121221222122111221111222121111121122211212212122212222112211121122222212212221121112112222121211122121212112212222121111121121121122211221112212122122122212222112212221111211122212122121212212211112212221212122112212111112112111121222111112122222212212121111221221112121122211211222122221212211112121221122122121212121111211211212211122212121222121222211222111212211221112112122112221211222112222121111122122112112211112121121211212211211121212112212211122211222222122212122221111212212211211212211211221112222121211122211111211211112111222122221211211221111221121121112112122222211122122222212112212222212112211212111221112222112121211121122222121221211212221221221211111211221111222112212122221111211122211221112211211222121112211122111212222122111122111222221221212221111221211111221221122221111211211221221221112211121121221221122112222222221221111122212112221211111111212212121222221212221211222111121211212211222121222212222221111122121221122221112211121111221122211121112121212111222212222122221221111211221121211211111212211121212221211211112222121212211112211212221122122211111222112212222121211122212122212112211221121111211121112222221222211121122222212121212222211121221222222121112121121221111211121112212111222211222211112121121122121122121221221222222222121211121221221221112112112222221221122212112222221121111221121112212121112211111112222212121222212211111222222212121221111221122121112121121212221121122221211212221221111111221221121221112212111212211112111221122221212112121222211121212221222221111211221221211211221211112211212211121122211222211222212111222221121121112122112221112212212221121111121221212222121222221111212222121121111221112212221112221221212112112222211221221122222222221122112211111222211112211212222212212211212221121121112212211212212212221211212111211112221112111112212212212121212211111222112212111112112121212111122222121111122212112221121211121112121211121112212212122212211222212221111222112111211111111121112121221221112122221121121211122221121221221212112221122212212112222122221222221121221122111221222112122112122121111211121122212222121112222111121121211221111112121111212211212221112212122122212112222222221112211222111111111121122122121121211122222211112122211111122211221221111221111221212121221111121222212122112212112112111211212122222221121121111121112111121121112222122221122222222121122222122222212221121222111222221211222212211111112222212222121222121122221121111212122222212122111222211222122111112111222211121222211122122111112111222221111222222221212111221221221221211222211122122111112112221111211112222221221221111112121122122111211112212111111122212221122121112212122111121222221122212111121112111111122221221212211122221112221122221222212112112112122122112112212212222212222111112111222212222211211111211221222111121111212121211122221112222211221122122212112211111211212221121221222222121112112122121222222212222221122212111222212122212221212222211222222211121122221221121212122222111211111122221111221221111111212112212121222122222221211211222211222222121111212122111112121222112121221121111112221212211211111221211211222122122221212222112222112221122211122111111111122121121112212112112211222122212111222212212112112111112211211112111122222112212221121112112222221122211121221211112111212112121122112122212111112112212222112122212211212221222122122111222112221112222212122122111112212121211122221112111221122222111121121211222221112221121222212221121112211221221112121212222222112112211112211111222121222112122111211122112211212112112111222122221112122222111112122121211112121211112111221221122112211212111111111112111211221112111211111111112121211121111122111122222121112111222212111112122111122122111221211111121122112221121121121222211221222112122221122211212221221221222121112211222222112221221121121222211122121221211212211221211211112211121112112112121112212221112222122122212221211222212121221111122112221121122111112121112121112112112211212112221222111221112112121222112121121212112221112121112121212121121222211221112211121221112222212221211111211212211221112122121122222111112222222111111122211122221121221221111112221121112211221122212121212222221122112211111122212122212112212211212212222121112121112121121111222221221112212222211122111222212112112212222111212212122212212211121211222222212122112212121122111222111221222111212122221121211211121112112122212222122221111112211211122222222121122211121221211121122221212122121112121211222122221211111221112211111211121222111211212212121211122121112221222122112121212211111221111111212212121222121122212211211112221112122122221111122222121112111122211122121121112121122121111212222111211121111221212111112112221111122122122212122121222221112111122221112121112211221111122122112212111122222211121211111122122121222212212212222222122222111111212122221122211212212112121222121111121222112222222121112211211212211221111221211222112211221222222222112111122121221212211121112211111222222121221121221111122222212121121221212112221212222211222212122121122211112222222212121121111112122222212211212111122212222112122222112222112221112112222111122221212111112212212221112221111121121122212222212212212121221222212111112111112112211122212111112211211122211121122111122222122222121222112112221112111111111111221112122212122121222221111221122121222212112211121121212121111111122212222111222112222111121121111221222122221121221211221221212112121121122121122122211112222112221121212211121122221111222111121212222212112221122112112221121222111121121112111121121212111122221111122211222211222122212122111121112111121121221222111212222222221221121121121211111222221112112122111111111211112121212221112211222112211212112112121212222121112111112222221211111211221211222121121212111121212122111121111221221112111122221211121221211222122122112112221212112211121122121221122222212121221111112222221122222121211212221212212211212122211112121222222122121221121121111222211111121211122121121221212211111112221122121112111222121112122211122211221121121121121112211112111111111221122211211121211222112122112211122222112112211221111112221122112222121222211211121122122122122211121212111212112212111122112112221221121112122122211122212212111212111111121211112122121111221221211211122111222221112111212112221211121121111222221121222212212211221222222122111221111111212121122221122111112111122212112222111122112221212122222111221212121222111122221222211122212111121222121211212121222111121122122212122222111212122122211211112212222121211122111111211121111111111211211221112121221111122112122121112212122222212112212112121221221112112121222122212212121221212221221211121212122221212221112111112212111121122121222111221112211222122211122222112112121211111212112111121122222121211112121211121221122221222112111112221221221122111212222222112212211222112211211111221211121222211122221211221212212122212121222211211211212222111112121111222221211112222221122221112222111112221111111212122211211212221112122211211212221222211121221222121112111111222221221211121211122121212111122212122221212121222211111121212111221121121222121222122222222211121122112222222212122111221122112121221112122212212122222211112221222211111121122211212111111211122112221121122122222122222112222212211211112121111212222211121122112222211112212212222122112212121122122122121122121122121212121112122112112222121221122112111211222212212111111211221121122121212221222212111212121112121111122222121212121111111211212222111212211222212222112111111112212212122121111221221111222211221212221121222122211211111212121122212122122122211122221112122121212221111212122222112111111212112121222111222221221221211112211212221111221121111212122211111121211221111212121111122221122212211212222212122111121121111122111212212121211211121112112222212122212222212112211111111122122212111211112112111112111212222111222112121211112221112221222211211211222221111222211212212222211212112222212222211122111212222121121222212121112211222111212222112222212121112111212111112122111212121212212221112222211111111221122222111211221222221212121112221211111212111112211122111122121122222112212222212122111211112221212121121122211212121122111212211221111121121122212212221111112222112112222112211122111211211111122121111212222122222211121122122211221212122121112211212112112122111112122211111121222211121122111212212121112221222222112211222211121111121122121222212222211212212111222111121122211111222121222111221121222212122111222211111111211112122112211111211111122112222112111111212111111122221222122212112222212222122212211112111121111111121122111222111122221111212112112221212221222212222112222122122111121211121111222122221221122121112221212121121212212221221221221222221111211212122121221111221221211211122112122221112121212211122221221112121211121121112122121211112221112212111121121222121212221122211121212211222111222211212222212211111112121122221212211122111211211211121121211211211121222212111212212221121221112212112122122222111122112112212122122212122211111221222221211211212212122222122221121122222211111211112111112121222222211222222122212112111221212122112122222221221111221211222221111111122112212212222111222112112121211212221222211222211122221221112222112211111111122112211222112121111121112221211222212222211122212222121212122221212121121121112112121222111221222122122221221112111211221112122222111222122222111111111212122221212212121221112112221111121221122222122222212112122111212211222112122212212112121211112222121112122221221111211121112221111111221111111122121211121211122211212222112112112221122111112222222222121222212121222122112221112121221111111221212221121112211111211222121112222221222222211121122112212122221111121221122122222212121221122122112112212222222112222122112212221221122212212112212221222112122112211211112122222112122112212112212211122121221122211212221221112112121112112122221122222221222121211211211111212111122111222222112112222211222211121111212221212211221212122121222121221221122111221212221211121211111111211221121221111111212121121111221222122222222221211222212211121222221211112211121121221122222222121212122222121212212111122112112212221121211211211222222122212122112112122111112121212121222222111221221122122112211122121211112112121222122121121112111112222212121212112211121112121121211111111211212221212221221122122222212112121111112112212112122212211121221212212222222122121222212211122111221122211122212222121222122222212111122211211111212212222122221111122211111211212111121222222222212222112212212122212112112112112221122211212112112121221211111212211222112111212222212111211122121211222211221122221121111121222121222112212212211112212212122212111211121122221222112112212121222121221111121122211221122211221111222221222122221222211112211121122221112121211112122122222111122122221212122211212212111121222121222112111122121121222111222221111112221122121111112222112122111112122112221212221111112112112221222122122221222222122121221111121212122111222121221221211121112221112222121211212122122222211121222121212211212211122121212121122211222111222122122121211211212222212111112212121211112212122121211111122212112221222111121122122111211121211121121121222122121212122212122212122211112122112211221112111111121112111211112111112111121211111121121222212222112112121122221112122122112112211222212221122111121211121122221211122122221122222222221122212221221212221221121121221212122212222122111221212112221112221222112221111222111122121221212221121211212212212112211112111112112121211212122122221211111121222111212122112111212211121212212222221211221211122121222222212111211112221122122112112122222212212112212122112211222211122122221121221121222122112212221122121221112212211211121212221112221222121211222211211122121122112221121121121211211211222212212121112212122121222212222112111212111121121112121222111122111222111211122221222121221211222121121111221111121212121211112211121111222222222211222121112111111221212111112111211122122121122122121122222221121221111112112222211211222111122122211111112222221212211212121212212121121211122121211222211122221211211111211111121211212221122222212111121121112212211212122112122122111121212111212121111111121111112111212112222212112221121122111212122122122112221211222111211112222212111221122112222121222121111211112222121221222221112121212212122112222212222121122212221221112112111111221111211111121122112121111121121122121111122121212222121211111222212222222222122212121112222212111122121121111112222112122221122211221121221112122122222122222122121111111112212211221121111122212121222212121111122111112112212111111121212121122222112212211222211121122112221111111221221211122122211111112211111111211112221112112122121111122112122111112212221222212122122221121212121222211111221122211111212112122112111221212111222222212221211222222211222221222212122212222221212212122222122211211221122112112211112222121211112222211211122212211211222121122112111222121111121221222221112212112222122221212111122221122212221222222112222121111211211212111211222122121222121211122122212112121112212211221121122112112112222112112111222211212122211121212121211122221111221121122212111221112211212211121212122112212112112211222212121112111212111211121221122212211221112111121212122212221121121221111222222222221211222111122212212121112212111111211211222211211212211222111111121111112222121111111212212122111222212112111222222222111211121212211121122122111122112211111112222121211112112211111121121112112211222222112211221112121212112222221112212212222222122222112111121121222122212211212111211221111221122222222222111122222112211122112111212111222121121112221122122112111211222211111221211111211121121111111221222111212122222112112121121121122121221122122221111111212221121122212111211121211212122212212112121122211222212211121121211221221212212111122112211222211222112222122212122212122221222222211212111112111212112212121222122221111222222112212212112211112111221112112112112212111221222221122121222222121112211212122122111121221111122111121222111122111122111221222222111112222211112122122212112222222111212211121221222221122112212112212211222212112212212122212212122112112212111211122211221212121112112121112212221121212111222222212111211112221112221111122122221221221221111112122212212222212221122112221211222222111222111122112211211121212111222121122122112222221122122122121111211211122112111111122121211121121111211212221222112222111221122211111111112122121121222111111222212112211111122222212111121211222111211221112111222122222122121212121112112122112212222112212122111212111121212222122211222122222122211222222121222111211122222221211211211111211211211111122211111212122221222112112121211112122122121222222122221222222112111112122122121122122111122221211121222112122111212111221212121212111112111222112222111112121221211211112122111121112211121221221122122121112222111121221222222221111122221112211112222122211112112212212122212121121212121112111211112222121122212122111122111121222212111121121112221121122112212122112222212111121112111122111121211112221111222222212222112122112221211222112211212212221112121212121222211112112112221212112222111211121122221112222122122211221111121222212222212121121211212112111112121122211121221212111211222212122211211112222222212111221122222122112121112221112121221221112222211122222122211112112212122122122122221112212221222211221211221221212111122111121121111111121111112121112121222121211121211112222111212212222122111111112121111221112212211222112121222122122121111222222212111221212122122122211212212112222122211222221122211122211111122121121122221222222221222112211221211121222111111212211221122112111112111112211112212222122112212221121112222111212112221112112112121122222221222221121211212212112112121221212212221212212121222121122211111222212222212111221211111212222211111222212222211112212222122121221212112112112111221112222122212112121111211212121212211112221112112211221112122211221221121211221111212111111121221222111122111121212122212221211222122121222121211211122222121221221221111121112221111221112111122122111222222111211122221122221112212122111212211112212221212111122212112111221222112212221122211111221112112122122211111212121212211122112211212112221222211221122211112112211211211121212212211211221212221122211212212111221121121221112111112212221122212221111111212212122112122111111111122212122211211112112212211111121212211212212111121222222221122221121111122212211211112221222111122122121122122111211211121211112121211121211222111122212122121122211212222111212212121221211212112211221112112212222111222221212222122122211122121221212122111211121212222121221112212111212212221111121212212221122111222221211112222111121122112222112212221221222211211212222122212121111112121222122212121211221212112112121211112211221122111122112121112122122121122122111222122222211221221212221121221221112112211212111212212111121222221221221111122112211212211111121221111112212111221222211112222111211211111122112221112112222122122121212221122221212212121112211111212222212221222112111211221211211211122112112221122222211111222112122211211212122112122222221222222112211221112122111221112222122121112211112222111222222121212111211121122212121211122111122222212222222112121211121122222212222122222111221221121222111121111222212211111122222122112121221222112221212221212112121112222212222211212221121222122212111221222121112122111221221111111211222112112121111221112121112112211121222121212122212211221121221122211122122112212221122111122211122111122122212212121112121221212121111221122221112121111221222222212212211121122121122212222211211111212121121221222121221222121111121121212122212111222211211122212121122122212222222121212222111122112211121222121212122121222221222111222111122111122221212212212211121112222111111221122212121222221122221212221211221122121211112221111122211212222122222111221222211111111222111122122221221111121221122222212112121222221212112222221222111212221122122221122112112222112211221111112111212221222111111122221121111111121111222122121212221121212112122121222121111122122221121221121121211212222111121122212122211112122121111222221121111211122122112222222212111112212221122112212112121121112111121212121212212222122221211112222221221111121221211212112111112111111222121112112212112222221222222221122121221112212122212122212112122211112212112111221211221212121212221211222211121112111121112111111211121112112111212211121222211121222212211222112221212211112221222221222112122111222112122212121222212112212122211121112221122222121122212211112111121112111212212122112111211212212222111111122221122211212121221211212221121121212112221112221122221112211221121221121212112211221112112211112211121112111122111121211121221212211211112121211211112212212211221122211212222221211221121222121221211211211211112112221112111112222222122122211111212212111212112121221221222221222112121112222221212122122211211212221111212212122212221122121211121222122111121112121122112121212222111222222111211111212111122122121122211121221122112211222221212221221112221112212212111222122222212121212112211222221122211122221212111112122222211111112222222222111112122112212212222212222111111222212221121221212111121111121222121122211122122122222111211212212222112121212122222121222112122221112121221121122122212221212221111112122222222111212112121122122111111212111111222222122212211211221221112221122221212122121121222221122122222122222222121211111122111221121111212222112222122221122212212221222121211222221211211122111211212112112121112212111112112121111211221222222121222221111121122221111221222112112212122221211221221121221221212121121212112112211112112112111212212211121221112121211221112111122121122212222211211212112221121211211112221121122122112112122112111222111121111221111222222212212221111222121221222121222212112122112121211112122212221222211121221111122221122212112121222112211111121211222221212112112212121112212211211112122212211221212122121211112211122112112211111122111211212112212122222222222211121212211121121112112222221212121221121221221112111121121111112211211212211222122112111121221211222121222112212122211111222212211121121112111112211222111112121111212211212211221121222212221112112122122221112111222121111221222122221212122112111121222111222222112112212221221222121222211112212112111212211112111222112211212122111122222121112111221111222222112111211121121122122221122212212112121221122212222112122222221211121221211212211222121111111121212211212122221222222121122212122112221112121111112122122221222221212212122211212211121211121111221211212112222121211122111112221112121112112121111111121222111211221222222212221212122121122212212221211122121222212211221222211112121112112222122121221112221212212212121211222122211112122211121212212111212122211121122212221122122122222122221122222221211122122111221121121221122221221211122111122121211212222111122211212211221121122121112111121111211121112211122111221122121212222121222122112212222212122122211211122122111221221222222221111211121112121222212112212111121111222221111121111122222211122211111122211212112211212111221122221122222111112112212212212222112111121121112222221221121111122211121222121111222211111122112112222221111222111111222122222122211111222222212112121111212122221122221212222122111111112111221211121122211211221222112221222212122111221221222221222221122211222122222111222211221122212121112222222222211222222211111211111121222111122112222111121121212211112221211111222211212111122221111212122122112211221121211121221222111122112222111122121122122212222121121111121211111221122121121112211212122212212122112211112221121211222222122222211111122111111122122221121121221211212122112221211212222222111122112122121122111112122122121222221111211111112122111111222221122112212111222212222122221121221111121211221122112112211211211121111121211212122122212212212121211111221212121111121211122212221111112111111211112222222111121122111221112121112212121121112122122211221212221112111221111121211111121211112122222111212211221112112221221221112112221211122121212112111211112222111221122122111122221122212111112222112212212221122112112221122222122211221221222221222221111122211222222111222222111221112122211121211122221121211211222112221111211122121122212122221122111221121212122212121112122222112211212111221221212122211122112222211122111212222121221211221212121211212211211111111112221122121112212122212222122221111221121211211221212111111221211122221121222212112111111121221211121111211111222111222112112121221222222211111112122222221222211111212112121111221211122222221212111121111112212221112111212122221112212222222212122212121221121211221112211122112221122211111211221112112112121221122222121112112121222121121111211112111122112221122111222122212122112221121211221221211222212121121122221111111212221211221111111121221112112222121221212112212212112221122121112221111111212112222221111112111122221111112222222121111212211112221121211211122121112112211112122122122221222221211211212111221211221121221212221222121212222121222221121211222121211222112222212212122121212222221221212121221111212211121111121121212122222111222211212111222212221111122122212222121121211122221211111222112112221212111122212112211121111221212212122221222221211112212221112112122222121211221222212222121212112212212221122112212212222121222211211121122122122111212122212121112122121122112211222112121111221122221122121222122221222112212211121212121121221211111122221112221122221112221111111211112122222121221111221112121212212212222112211221211111222122212212111221221222211122222122112111221112211222122122221211221122111211112121121111211112121111211221121222221221121112212122112212211122211121222212211112222122211112111211112122112121121122111222112221121211122211122212222111121221121111211112111221112212121111222222211221121221211222212212122212222222111112111212211112212112211112221122112121211112212212122112122221212222212112222222122122111111221222212211212122121212121121121111122212211221211221122122211221122211222222212222112212121222121112121222222111221111111211111211222222211211121122112122212212112221212121212211112212222121111111212212211221121222111221112112112112112211221222211222221211122122111121112112122122212211111121112122212122212112212221222211111221111112212222112121222221111112121122212212212211121221212211211222112211212221211111112221221222211221112121211122122222211111221222222111211112221111211222211121111222221121122212211111122211212111121122122212222111112221111122212221122222222221112211222221222111221211121122211222111121112221112111211221112212121222222112112212122222222212211112122222221111122212111221221212122111221212122122112211212111121121222212112122212221111221111211221111212122222211121212211122122111121221212221222112212122211221122121122221121121212212112211122212121212111212212221121212211221222221111111111111121111112111221211121221221121212111222121221122111222121221121122222112122212112122122112121221121122221211222211121121122111122222112111121122112212121212221112112221222211112121212222112122212122211211221122212122111212122212111222221221222211222212221211111121221112211221222212111121221122211121212222111221111111212112121211121111222112111112112212222112212222121111112111121121122221121221121111122211112122212111112212111222211111111222111122222121112212111212211122211222212122112122211122211111121121112122111211122221211211221221221221122112122112111121212122211212111221221122221112112211211222112121211221211212212112211222121111221111112111121211222121212222212122211212222212222112221222222122122112211212211122221122221112211122121212122211112112112122112211112212112111211121122221112122222221112211122221221222212112211112111221122122222111222121222111221221122121111121212222122112111111111111222122212222211122221222112221112121222211221211221122211112122221211222111211212212221122211212122111211121222222211122222222212112111221212122122121122122222111222111112221112122122112111212112211122112221111122222222112111212122122121212211112222211222122211221212111121221221122211211221221112221111111111121222122121212122221222112122122211211222121112112111212111222221122121212221221222121211121122111211211121221111211221222211221111111111222221221122122111221212222212112111112222121111222211222222212121211112112211122222211111121112221111112222211111111221122221122221221112222211122221222211211121122122222111121122112122122222222221112122112221212112221221111222222212221122111112122121222212222122211112121212122222222111112112211212122211112221111111221221211222122211211222221112222212212122121221111212211121221222111112121121222221212211212111212221211221222121221112121122211112121121222111121112122211221121211112221112122122221122121111222222222222111122121121221121221111121222211221111222111122211111112221121222112112212211222211111121211221221121221211121212222121112111212111222221112211112221221222222122111122212122122112122112121122211122112221211111221122211122221222112112211212211122112211121211212221112221222122211211122111221112112211111212121121112122222121121212121121111111122212112211222122211121111212111211211212221111121121122122222122212212122211212211211112121111212111222222221221111212121122222121221111121122221211121221211111111121111221211211122212111121222222112111221122111212121111211212121222122221222222212112222211112222121111111221222211222211212221111212212121112222111112211111111222111222212122121212122121221221111222211211211111111111111222111221121221212211222212212122121222222211211212211222222121212111211111112121112212211122212122221111121222211112222112112221221221111211222212121112112211121211212121212212122221121111212221211212112122222121222221121212112221212121111121212112122221212221221221121111121221221222222112122111211111211221121221111112112112221221212111121121221212111221212211122222121221111121122121121112121212111122112221121211211211212221221122122112112122112221112211121222112211211121211112212211211212212222221112112222221221121121221221222122121111222211211221112122122222111111211222211212121121221121221111212111121211122121212111122222111222211211121112112112112222212212221212211222121121212222212222112222121222221212222212111112222122121221121122112121121111221122222221211211121111212212112121222212112222112212211222211212212212222211112121112212212222211222212111122221111211122121212212111111112212121121111121221211112112221111212121221111212211112221212221222211211112122222222212222221222111112221112221221111111111222121222111111221212221222121222221122211112121211112222212212122122111222111212212222222112222212111112112221122121211122111211112211221121122111122221111122212121222222221222112211211211122221212211222111211112211111222121112212221112121111122112222112121212121121122121111111112112111122112222222211212221111222111221222122212221112222122111222121222211222222122212111122221212221212112222211121121112212212222212122211112121121222111121221222222121121121122222111121121221221111122222211211211212121121121221121212211222221111122222211212122111111121222122112112112111122222121121122111211121111121122211111122221222212121221212112212122111112121222212212122111211111121112222212122111221211122112222122122221221121122221212111222121112222111212112211122221221212211211111121122212122212212122121211212211212211112211122222222221121121211111222121122112112221222121211122121121121122222121222111222222221121211122212121111111222122221222222112221122212112211212121211222212222111211221122222222221211111122121222121212112212112122221212122221112221111112212221111212112221122211211111212221221111122121221212211121122222221121111111121212212221121222221222212211122212121122221212221222112111112222111211211111122212112221121121121122122122122122112222211111221221222122111111221222122111122112112122221112122211212222111111212212212211122211222211121212222211211221212222212111222212122221211111111111122222222112122221111222122121222212221211122212212122222211222211112111121212112121122122121212221212122222211222111111222121112222222112122211121111222222122121111112121222112211211212222122112222221221121221121221221112222122112212222121121122222112121212121222222112222222222122211222211221112212212222221112112211112112222221122121221122211111122112121121112222112112211211122221211222122111212221121212112221112122211122211111111212111121111122211112222121122121121111111121212121221211121121121221222121121111121122222212212121122212111211212221222211122211111221211212211122122221112211121112111212221221222121112211211111122222122112212222111221121111111122121122112221222222112211122111122222212222112222121222211112111212122121111211111222221222112212111111211211112221221221111111222122212222121111222111121112112211211221122212221111221112221222221211121121112211121222222211222121221111212211212212122122212211111111211111112212221111111111212221122222122112212222121122212121122212211112222112111221221111121122111211221222222221222121212212222111211121212111122221221222221212122122111111122222222211122122221112111211212112212121122111221111222122111122121222122212122111111221121221112222212121221112211211111222222211122122112112112111122111212122111211221111112222121122222111121211112111221222121221121222211112111121121212211112212222122111112122122112121121222112111122121211211222221222221211221111111212122112121112122222221112122122121121221212212111221111211212211122212212212211211121221222212221111111122212221212111121111212122112221212222221112211221111212222112212112122121211212122122121122222111221211212112222121112211122221112211212112112121111122211121212222221211112121221221112221212222211111221221122111122122221112111222122112112221221212121211211121121211121211112221212211111121122222121211112112221222222111122212221121211121222221122121112112111221121111122122212121122112222122112211221121112211122111122212221221112111111112211112112121222212121211221112112112122222121212221111222112211111212212122121211212222222221121111211112121122222212221222121212221112111221222122222221122122122111212122112211122111211221222212222121222111211112111211221122222211121211211121212211111222211111212112211122211211211121111111221221211111222111122112221111121111222221111112222112212212121122211111111111212221222111212112122122222211222122222211122222211211211121111221121121211212212122112112222222222111221211222111221211121121212122111121221211122222112221221221221121222221121112111212211122122111112121222221212122121121211211122222111121221121111122122222111211211211222212112122122112211222112221121221121121111112112211221211122212121221222212121222222222121211212111211222122222112211122112122112111121221212122111121212122212222122111221112222121111212121221112212211111222111121121112111212121121212111112122121112121122221221111222111121121121212122111211121222122111222122222222222112212121222121112112222212121111122112212212111212222112122111221221222211112212221212222112111111122212211211211112221111221112122121112122212211111112121121212112221111212111112221221212112122121212111112112121221222121121121121111211121211111122222111221222112121112112221211122222212122111211122122222222211222221112221211111222122111211112211222211111121221212122212211122121212221122221212222221112111111211221222112122122111111221211221221221221211211212212211111112122222122112222122122121121222222211111111212222211121121211111222112122121211222222211211111221211112221222122212211111212122212122112222111222222211222211112212211111222212112122212221212212122212211212222122221111122221122111211112222221121122112122121211222221121222212222222211121122211221211221122211112222221112122122112211222211122122211221221212122212222111211221111121112112211221112112122211222121221122212121111211112212111111212112222211221111122221222111222222212222221112221212211122111222111222212122221211112222221222121211122222221222222212221221222212121121122222121111222122121111112121112122122222112111122212211212211222222112211211221212212221222212222112122212211111111122212122211121212121111212221222221212121221121111121112221211221222122111222222221212221212211121111111211111221111111111222222122222122222221221121111211222112122221222211212222121121122121112221212122111222121111111222222122122122122112221221122221122221111211222212222222222111112112221221221222121112211121222211111211211122211212211222221122122212111122211112112221212122122211111112121221211221122221121222211121111112111122222211212212121212211221111122212111112112222222111122211122111121212222122121211212112122221221211122111212121221222212211212121121121112221222122212121111212212212211212222111212121211121221112211211221212212112212121121222112222222122222212111112121112222222222111121211111212121122212112211211112122222211211121211121122222111221111111111211121221122222222221111121121122212212112211212212112111122211211112222211212212222112111221222121122222122122212112221221222122121121212112221121111222121212121211212211222112111111221112121111112121211212212211221111121121212221221122122122112212112212122121221212222221121211112212111122222222222211221112122121221111121221211111212111211121111112212121121122222211121222222211212111221111211111211221211211122221111122221112121122221212211211221212221212112221121111121221112121212112122111222121111122221122122112122221111111211222122112221221211121121221212212212212222111211221112111121121122122112212221121211111222211112111221121112111112211112212112221221222111111122211111122222112212221221212221211211121122222212112211112122211222112212112211122212112212111221122212221221121122121122221221222222112222211222121221122112121221222222211212112222121222121211122212111222111111122212112222222211212112111222111212211222122211121111221212121212221121112211122222212121211212212121221221222112221111121121222121211112221121112112222221221111222212222222212122112111212212212112222212122111122122212212111112211211112211222222222111122121111122221221112212111121212121112111112221211121111221211122122222112221222122211211211122222221211222111212221221112211122122222221222111122221121122212121111121112211212122222211111222122222222112111211212111122221221211121212212112221221221122112111221211221222121121111112121212221222112121221122222212112122212212212111122212211122221111222122212221112221222121112111121211112112112221111121222211121122221121122212222121121112222112121122111221112212122211121122221211121222211212121211111211221111211122121112212121112121211112111111112111211121121112221112222111111211121112112121222222111122221111211112122122121222222212122212121211222211111111211111111221221211111212221221222111212221112121221212112111222221222211211121222221122121121112122111222212221121111222111111121112122221122221121221212212222112112212122212111212111212211212221222211211111221111212211111212121221212122111222121212112211211121122112112122211111221122122212121222122121222211121121221111212111112112212122121212111221222212112111112221221122221212211112121111212212212212111211222212212121211212121112212122221121222121212212221112212121121211211121222221211211211211222112111121121212221111121211121112222212121121111112211122221222122221122122111112221121111211112112111122111111121112211221122222221212222121122122221122111222122221222221212122111211112112111221122112212222221122111121122111111211111122112211122212212111222212121112212111121111111212211122122212212112121222111122112122222222121111222121121222221211211121222212212222212222112222112221111211122211211211221112111222222222122122221211211121112221212112221112222112112122122221122112211211122221212221122112221221112221111211222211121122112222222211111222121221122211111221212121111222122212111222111111121111212112112121121211121211112221111222222212112212222222111111211211212212122211121121112122221111211112222211112221121122221121211111122221122121122211212111112122122211222211211111211222121222121221112222211122222222221212211112112121221111212211222111222122111222212121221222111212112121121221221222222111212111222112211111211222122112121222212121212211112222121112122122222211111212221112212221112112222111212121221222221212122222212211222212221121122121221122211221222111121122221121111221221221222221222211121112112221212222212122111222221211221112111212121221121212112212212122112121211221121221211121122221112221122121222212121222221122212212222111112211211212222222121212122121112222211222121212122121211211121221121221112212222121121211122122221122111121222121222212122222212111122221121121111211122122211121221112121222112211122222212111121211211111221211221122221212221122112111121222122212221121222222112211121112212212211221221112111212222121222211221121122121222212221121222112222121222222221221221121211212112121221122111211121122212111212212222212122212211211121112211121121111122112222111211211212221112122121112221222222122211122121121122211212111212211111222111111122112221112222211111211111211121122211221212222212112221111222112212211112112211211121212211211112121121112121212211212121112111221212212211121211111121122122122212122122221222222121212222211222222211212221122111222211111212111111122111212221212211211221221111122212211212222112222121222221112121221122111222122122221111222211121222222112112211111221211121211112221111111111121121211221212212211121222222222211111222111211122211211112222222212122221122121222122211112112212121211222212122212111222122222121111112211122122112112211112211221211211221212111221222211111221222121221222111121111122121112121122221111221121212212222221222212122221111111111221111121112122112111112211211111222121212122222112112121111112222122211212211121112221112112111112211222211211122111122121221111222111221221121221221212121222122211222222111111222212122222111212221122212112211111121212112121221222221111122212212211212111211112222111212212111211212111122221112222122212111121111211221111111212212121222112212121222221111121112111112121212112111212112211222111122212122221111111111122122121211111221111111121212121212112111122222121212122211212211121121122222121111121122111111122212112111222221121221211221112211211111221222111111222221211211121121222122221111122121221222222212221121212122121221111221122221221211122222111122221111211121111121212222122122111111121121221121221122112222121111121221211111211112121221221222212221222121222222211212121122122111212221212122221222221211112112212222212212211211221221211121211211211221221121111211221111122212222222121222122111222222211221212222221111112212112212211121121222112222122111221221121121111212112221111212212211221122222112121112111122211211221211112111211122221212112112111122221111211211222121221121112112121211221212111222221222121221222212221122122121122222222112221211221112211211112211211211212112112222112212111222212221122222211222111112221111221121121221221122221122222112112221122211122121211111121122212212212121211211122221211121212222222122212211212212221112222121112221222211222122222122111211111121212222111222121222111112212212222212122111122211212221121212222212111122122221111112221122222112221222112211112122111212211211212112211122212111111121122121211122222211221121221121221121221122111222211121111112122112222221222112212211211112211111112212111112112122111221111121212122112121121222122112212221122212222222112122222111212111112112211111221212221122222221212111211221122222111212112212221222122121111111121112122212212211211122112222111222212121122121212221221212111122112221222121221112211121122121122122221211112212121112122112122111221111212112111211111112111122222121111222112122221121111121112122121122112212112222211122112112112221211222112211221211112122221121121121221112211121221211222221212211122111221221112121121122211122211111211121121221221212121221121122212122211122221211112211112212111211121222211122221222211121121112221222121221211111211212121212221222122121121211122111212122212121122211122222221122121111211121221111221111112221221111111121221122112112221112111112221112121211121221122122221122222112122111112122111212222221111121111112221222211111121222122222211211212222212111112221221111121212211212111222112122111222212212112122212111212121121222221222111111111211111121122122211211121112122222211111221221122211121211121221121212111112211221212221111212222222122222211121112222122122122221122121212111121212121221111211121222111211211112111212121112221212121111221212211221221211211211211221121211121111122122122221112111222121121211112211122111112212221212222121211221222122121211222221122122112211111211212211122121211222122112112222111221111222122112221212111112212221111222222112111122121211111112222222222121211222211221221211121112211221121212112222122221221111111111111222211121222211211111221222221111112212211121121212122221222212122221221221122221212111121112212121121212112111121212122221122222221212122121212111112111111121212222221212111211212211121111221122211222121111222222221121222211221221122112121212112212212111121112112111112111122122222121212121222221122212112212212111211112221121121212121211121111112111121221112111112122211211221122111111222111122212122222111221211211211111221112212222111122221122112221121221222121121221222222121112222211211222122211212211222211212212121122122212222121112111221211211121212222222122211212221122221112121122222121221111211112122222122121211212121222122121121212112211122122221111222112121222211211112211122111122211121122122221121221121121111121212211212212121212222222111222212211121211111211221112211222212221222111112112221112121211212221121211122111111221212221112212121222121211112112111222222122211121212211222111222111122222222111221111121221122112212111221221111211221122121212222222112221211112211221112111122112221211211221112211111211221212221211112112122221111121211121111121122212221222111211222121212111222122122221112211122212221111121121121221121212211122111121211111121212222212222112212111111221122111111121112212111221211122111122112212222111221212112122112211221111211112212212121212111112221111122112212112122112222111212222212222212212221212211212122122122122122211222111222222221112211112121222122222111221111121122112122111121112122122211111212212112111221122211211111122122111121122121221111221211122111121122112212212111221111212222122121111211211111111122121212222112212111122221222111122122121221212111122111112122212111121212121112122221221121212121222221211221112211221211122222212111112121211111122222121211221221111211122222121112121111212111222212112221212122212112221211112122112221112111112121222112122221122222211121212222111211222111121222211211222111222121111212212112111211212222112111221211212212112212122122211211111121222122122112122112212212222122222112112222121212111212111222222112121111122212122221222222222121211121221121111121121112211222211112221211222121212111221211122212122122222121112212211112221211121212212211112222212111121121212222121211222211212211212122112122122222122121112111112211221211212221121111211212211212221122122112112121222211221121122122111111112211212122122211212211121211211212121112212221111122122212212111222222111121112212121121121122221211112212112211121222222221122122222122211212222121121211221222111212221211111221221111222212211222112212222112111121221112112221112122121111121121212122122211111221121112212212222221222221212221121221221112122211121221122111211122121222211221112121112111111222112112221121212111121211212212112211112212222122211212121222222211221111111121122211212121111211212111211111212112111221222221211111221212221111222211121111111212122212122111212111112222121112221111211121221122212222211121212211111212222221111111222122121212111122212212212212222222121111111211122121222221221222212222221121121222122111111112112221121222221122222111121211121211112121222212112221221112121211122111112212212212121122212211122112211122221211211211212112111212111121212121221212111221222122112112111211212122222111122211111212112121122111211212212112221112221212111121211112221222211122111221221222222212212212111111122211111112111221222221211112112111212121211211212122112212112112211112211222211212121112222222222122222221222212121122212122221112111221221121211111122122122221112212112212112211211112221111221111112112212121212111112211221121222112221122121222112111122211111211222222211221211212111112221111121111222111221212122212112112222222211122112222121122222112222121122212111122111221122122212221211112122222122112112111121211122221111212121112222112121121121212112221221212212222211112221111212212222122112111212211122212212211121122121122221111211222212112112221222221122222211221122122212222111122122112112111112221212222112112221122221111212211222212122122222222212212222112221122221112211211221112211221221212121121112122212211212222121211212211121222222122222221222111122121122222221111112211111111211221111212222211122212211211212112211212211211112111112222221111111111111222221122111221112112122112112221112222112111122211112112122221111212122212221212221211222211211211121111122212122221221111122222211221111222211122122221221112111211112211121212211211122212112211222221121211122211221122121112121222112211111111221212112222111221121212111112112121211221212221122212112221112121211221112222122112222222212222211121211222212211111222222221122221212122222112112111212222111121111212122112121122122222222211111121221122122221122211212212111212111111122111212111121122121111221222222222222221222212121111221111111121212121211121221212212222121221211221211111121211111121222122121221122222111112111222222221121122221111212212212122222211111212211211221122111211121222212212212111222111211221211211121112212112221122122121122111212121121121221111222122122211121111121111122121222212221222212111221111111122121211221221211221121212212121112112122222121221122122112121211121221221112122221222212112122111222222122211112112211121212112121211111121221111221222111121112222112122212111122221121212111111122122211121211221112222212221122112221212222112221211221121221221222212121112221212221122111111121221122112122122211121221122221212121112221211121222212121111212211212111222211222112212121121221212211122111111111122122212221221111222221111112121221111221112121221221211112222122212211221211111212121211221222222221112222121122221221211212122222112112112211221111221211111212121221122211121211112111111112122222212222222211212212222121121122222112222122211221221112122121121211211112211121211221211211212221112222211111121121221211221111111112111121111222221122221122221212211122121212111121121212112222211121222222211212112121112111211111121221111211111122211221112112222222221112211111211122212112111112121212112112222212112212221122212111112111222122111211122122221111222221222112211111222211121211222212122221122112111211112212222212112212112221212211212122122122111212111111212212222112111112212211211112111221212211111112212111112121112211121122221111112211211221211121212211222222211112122122121212122122212122122211211221112112211222111111221221111121222212212121111221222112121122122111222222222222112221211112122212212221121121111222122212112121222112211112211222222221122111121222121112121121222212212222122121211111112112221212121121212111122112212221212212111211111212222212221222122221212212212221122212211221112121112122121112222221112221112222221221211212222122212211221222221221211112222211212121112212211221111212111112111121211212111112121222212222222112112121111111122211112121122122212211121222221212121112112222212112111111211121222211211211122121111211122121121112122212211222212221112212111222111221112212211112212222221121121122222211121221222122221211221211212122111122222221111222212121122122122111211212112122121122212211211112111212212112222221111122111121122121112112212111121222222122211221122112112222122212122211121112122211222212122111221121222211222122112111212111122121111121222111111222121222222122122221121211211211111111121122211122212211122121212112221122212221112122222121121212212112212121122112111122112111112112112222122222122211212222121212221121222222121222221222212212212121112221111121211112111122211112112221121222221112212112221111221211112212222211111122122212122122222122222212212112211211221122111122211121112221211211211111122122121121121212211211121112112221121122212211121112222111121211212111222111112111211111111211222211111211121221212211111222112121212212122121112221211111121222212212122212221112211122212222112211222121111211211212221221211221121222122222211122221211122221111112212211122122112222221122122121222122122211221221222121111211222112221112221111111111122222222221212122122212112122212111211111122122121222221111212211212212122212121112211111211112221222122211212111222221112122222212212121221112212222212212111111212221122121112121121221222121112211221211111112212111212121112221122221221121112111212111111221211222122221121221212212122211112111111222211111222122121112122122111111212212222221211222122221211121222112222211111112122122111211112211211212221111222212112221112112112112112211211112112222221222112111211222112212221111222212111121111112212121112111111212122212211221112111211111112221211111111122222122112112221122111211121221121221112112121222112121111221121212121221122222221212121122112111222211212211222122112221112211111112212221222211212122111222221222112212121211121122122112211211221121122121111212222212121112112221112111121211121122121221122212211212222222121211211122211122221211121212212122222222121212122121222122211221112212211221112221111111121212112221222211212222111211111121122221222212211121122212122122112112121122211122122111222112122212111121222221121111221211212211111211221112121111211112212211221212211211222221112211112122221222212212211121212212212212212122111121211211212212122221222112111111222122212122111221111111222112212112121111212212121222221112121212221221121112222222222111121121122211211222112222121121222221212221111212111111121221122221122111211221222111111111112122211122111211211212222211221211121111121211221111121112211221211222211122111222221222211111122221212221112221222212211222211121112212222111222121222121122222221212111112221121211211121122212111111212221111222222212221222121121222121211121222212212212112212122211212111212222111222112222212112221222112222122222221221112221221211222211121121222121122122222112221212112221112221222121211122222212121112212111122121222112212122122112121222222221222122121212121112112211222211222211211122122111121211122221111122211211112121121211222222222111112111221211112211121212122222212212111111122112112111211221222122111121221112221221212212121122222211111221212212122111111122212212211211122211221221112222221122222211212121211221212212212121211211221111121111111122221211121112212111222212222111221212121221112222121121211211111111121221222121112212222211111121212221111111121212111111212122112122121212112212122121221112211112212221221211211221112211111122211212112222112222221121112221122121212122121122122211211112212221211121112221112221211111211122222211222112122122212221121211211211212121221122221222212212222122221211112111122122112121122222221122211221112122111222111112112221111212221121222221221122121222111212211221221222122212122221111221121212111111222112221221121211222121112112112122222222221122122112211212221212122211112122211212121211211222222121121221222212211222121212122211211222211211122122121121211212221221222122121222222112222121121112121221111111112221111112212211211222121122111212212211212121212111211112111212122212111111122222112221121111221122222211121122221221222222222121211211121211222122221212221111221212121211212212111211212112122112221221211221111122122122222221212211111111222222221212211112112111211222122111211121121121111112112122111221121122122212121221111221221212112222121212221122122111122222112221122211222211211122121212221212221111121212121121122122112221112222111221221212212112211112222111112122111211212112211221111112112121111221222212121112111212112111112212121221211212112111112222222212212121111211111122211111111222211111212122211122221121111112222222111112211222112222211112222211221121212122222211221112122222221121122211211211212111221212121212122222121222112211211121212221222121122121111212112222221211122212121222211222222111222121122112221221121211111212221112111112112121212121111222221121222122221112211122212212121212222111111211112122212212121122222211111112212111122121111121122222212212121111212212112112221222111122212111221122112122121111211222121112111111212111221212122122121211111211212112222212111122112211112122121221211221121221121222212222112212221221112121111212121221111112211222212222111122211211221211121112222111211111122111221222222222221221221221112222111122112222121221122222211111112211222222121112212122221122121121222121112121111222211112211122121121211111212212122122222122111222111222122211121221221222111111121121211121212212222112122121111212111211111111122221221122222211122122212212211212221221111211212222222112211211222122121112222122211112221221222221221121212112212211121122122222121111111121211112221121112122111121111112212121221212112222121121112211111111111212222111221211211111121222121121121121222112112221212121122221112122112111212112221212221212211211122122111122112122211122121212122122221221221121121212111112221112121122121221121222112222122112211121221121111221122221222222121111212211122221222121222111222112221121211121221211121121111212222112112222221122122112221211221112121121211212212212111112122121211222111221111221212211112222212211122122122112111121111212122211222112122222222121211211212111111211221212111212111212112212211122212211122212221121121121122222221122211121221112122221222121211111121221122212121111111122111111212222111211212112121122121221112221212111222211122222111211221111222111111122121221221111122222212221121112212222111122112121111221222112112112221121211221222121221212111111212211122111222221221111122211212111112112212112111222111111122212111122111212111212211221211122112122222111212112212112121211112112222112122212121122121112212121122122111221122122221112211121211112122121222221211122121121122211212122212121121222211211122121212221221221122122121211221122221121112111212212121211222112122221211222122212122112222212211222111211112212221111112211112112111122211221122222121211111111212112212221212221212111211121211111211211111211222211221222111112211112211111122221212211122222111221111222112112221221211211111122121122212122112212212212111121221212211121122221211111221211222211122221211111212111221212121111211112122212221221221221121211112211211221212112121112112212222222221112121111221122211112221111221122121211212212121222112211212221111211121212122121221212221221121221212112112112111222221121122221221222222121222122222122122122121222212211211211212122211211222211111112121222222111122121212111112111121111212111111121121212121121221111112121221121212112221221222221112222122121222211221211212121111221211211111211121122221121121221221211221111121112222121121122211122212221111111221112211121122211212122221211212221112122112221122122222121221222222221112212111121112211111212221121222112122112212122112112121121222222222212212222212121221222211122111111222221121112121112212222111221122121221121211121121121112221221222111122211211122111111211211121122122112221212111222211221221221122222211211122122112121121111212111211121212121122222112121121112111211221121112111222112212222112112122222211222211211112221111212212212211211212122111212122121121211222121211112111211112111221121121111221122111122112211222111211111221222222121111111111121112112111122222111112212221221212212121211112222222222112122122222121112211121221212122121112211212212112121122121112221212122211211121212222221121222122212122121112111222121211221111222211212212211111112121221122211221221122121111222112112111222221111122221222121221121211112121121122211112121212121212121112122212212211221111221222111112112221212211122111112212121121222112121111121111221211112122121111112122112122212122212221222121122112122211222212212212211112122111111111112112122111212221211122112122121122111212121212121121222122221212212212222212212121121111221122122211111122111122221112121222111121211222121222221121221222212211221222111111222122121212211111221112222121212212121221121221221212121221221122212122221111112222122122212121121122111122111121122221221211211211122121112122112222121221212212222211222121211112212121221221222111111212122212112111222222122212221111111221111112111221112122112222112121121221111222221211121211111212222211211111121122212112121211121222122112111111121212112112111122222112211121121221211112111212211121112212212211221121212112111112221122111112121121212211122122221122122111121221111122121111211121112122222212122122212121111122111211121211211121222112111112222122111121211222212212211221212222222122121212111121112121121211212111221211211222222121121121222122122121122222122111221112211212212221221111212111222212121222121111212221212222122111222122222111111222212222222221221211212212111121221122111211222222212112212112111212221211122121221212221121211121111122211111122111221112111222121112121111112212112122222121221212121111212212212221211211122212111111122122221112121111122221211111112111222121122121212212211112111222212211221221212211111122212121222221112221221122211211112122112122212222211212121112111211121121221212122222121211122121122121211121111211122122111111112112212111111211112112121121112111222221122212111211121112212221121212112212222112222222111221112111221122212222222122212121121212121222121111212122211212111211122111221212122111212221111122221212112212112121121211112221111221212222112221212222121112222222121121111211122122222112222221122221121122212121212212122222212221222212222111121211212211122211122121222122212122212211222121111212121122221112211111111122211212122212112122221112222221122211212222221121221221122111122122112111211121122222211211121211111112211211111122122211222111122111121221222211121122121222222211211112112212111221222122112122121121211212112222112212121211121211212212212211212122112222121211122122122221222212222121121112122222211111221121211121212122112222221212221211122111222121122221222112221212222121121122112112221121121222222122121121211111112112111221211211222122211222122121222211212111122212212222111111122121211121111121111211121121111121122222212222121112212221121222122211222111212212111222111221221111222212122112122211111121212212111212211212111121122112111112122221212121111211211121221121221112212211221111222111121222222211112121111121212221211221212111112112211111211112211122122221111212221221121212112111222112111111112112222112221111121122121211122221211212211111112222122211112211221212121122221211222212221222212221211112111112222222212111212112122111211211211111221111211111122212122122212122221122111221112122121111212221211121122111211122111122211212212222211211211121212222122212222212222111212222211112112111122112221221211212111122212122211111121111112112211212222111112121111221122122212221211121112122111212211121111122112222212111122211212112222121112122222222122211221221121111122212221222111122121111212111212112221211112222211211211112121112222122122122111222111221221111112111122122221121111212222121111211122212122222222211112111112121211211221221122211222221112211121122222221211222222212212111221121121122222221121211211122211122111222122121112211121211121122112211112222111112221122222222112111121221211212111221121122221212122221122212211211122122112211122212122121211212111111112122221111211122212211122122211221221112121212111122121122111112222122211222111121211121222222111222222121221111211112121222111212211121121111111112212211122121121221111111221212112211122211222222111212121112221121111111112112222211222212222221211221222112211121222211121112111222112221212121111211122112111112212212111211221222222112211121111111122222122112112221222121112111221222212112111121211222211121212112111221221111221221112112122111222212211222221222111211121122121121211211212211121212122112212111211221121111111111211212112112111221222112122112211221121212221222121211212112221111121122221122122212112221221112121111122122222222221112222221111222222222122111121121211112111121222121111112211211122222112112111111221221121222222121121111122111112222211221111221211221221222211222122222221211122211221212211211221111221221211212212222111212212222221221111222222121211222111121122122222112212121211112111212212121122212221121111211222212121121111211122111121121222121221112221111222122122122222211222111222122112222112211211121112221222121211112121112211122211211211112121212211211111222222211122211122121221221221221212121122222222211222121222112111121222221121111212111212111212212211221222122122222221122121212222212211211221121221111211112222211111121121121212112221111122222212121121211212121111211121111211221211212112222112221111111211122221221111212121122121112212212122222212212112122112212221211111222222212211112222111121211221211222111222111112211211212212111111221122111121222121222112212112122211112112222122221112121212211112222211112221212111121111222221221112212221122121212211111121112122111122221112221122121121121211112211121211122222121122111121221121121212112222112211221112112112222111211222211112112122212211222122112121222122112211111212211221212211212212121211111112121111221122222211221122211111121112212121211211121222122211221212211111211221111111121211211211122112222211211221121212212211121111121221221221122122121111111222222121221121221122222112121122211112211212112211211222222122221221121221111221212212112122221222112112122122111221111212211222121112111211121221222222222122212212212121122222212212212221212111212111221122222122221122121212121121121112222211211221111112211212222111121112112211112211121222121221212221112212122212111221111112112211112212221122212111112121222212221212211212221221112211222121121211121122111222221222212122211121222212111122222211111111112122211221111221212112221121211121122121121111121112111112121221221211111211221111222122122222121221112121221211212112212211221222121112222222112122221221121211212211121211121221121212212121112212221221222122111211121112222121211111211212112122221221111211121221111211211222212122222222112121112122221222111112111121112122211121121112211212121212212211211122212212111222112112211121111111121222111112211211222221211211111212212111122111121111212211121221112222122122121122121221122112111121212121211222111122222221222111122112121212222212112111222212111211111222112211221222111222211221212111122122121211112112222221111221112121222221211122221121121112121112222111121212112111212222122221222222112111112221112221212211112212222211212111211111212211221212222222122112212211112112222212111222211121212221222222122112222112221111222112221212112122211122222211221121111212111221111112212121111212211111221221211121121211112221111211112121111221121211121111121212121122211211121111112121221211121222121112112122122211222212112222112211221221121121121112122111211222122212112211111122111121111211221221222122211211222121112222221111121211212211112122122222212121221212221112222112111111112222122121112211112112111112111221222112222122121221212211222212212221111122222121111121111212222221222111222222221122112111212211222121222211221212122221211122112212222121211111221222212122222122221222121112212111221211111111122111121112111211122122121222112111111122121121122121111211122122112222211212122211112122212221111122212121121221111112222212111121111222122222221211221112222111221111211111122212221222212121111221211111121111122122121121211111221221111212212112211212112122221222222221211211222122111212111111221221212221112222211121221222211122211111112211211221212222222122121121212121212121222222111222221221121222222212221212112122212212122222112122222111211122222211212221111111221112111122212111121121121111112212212111221112212211121112221222111221111212211222222211211112122121221222211112221122122211122112111111121211111111222222112122222121222121111221221122222222222222221121221112222211212221121111212111221122222112211222111111121222121121211211222221111122211211111211111121222122221122212121121221122221221212121112112121222122222112121221222112122212212222211112222121221221111222222212211122112212222222111211112211211111221211212112221122121211122122122112222212221212221222212211121211222221222211221222111221112121111121122221222112122211222112222111211121212122121212112112112222211211222221222122121221222212211121111122121122212112121222211211121212212122212221122121221111122221111122122121122111221211111121211122121122112112121121222212122111212111221112212221212212112122221112221121121111122111221122121111122122221112222211212121211212121121122122212112111222111111212122112121122122222212221111111212221121121111212112121112111122122111211212221122211222121111111122112122222212122221221211221111222221112212111111122121122121112122222212212121221111112111222221111211112221112112111111112122121111221111112121121122112222211211121222221212222211111112111221121221111222112121121221212112211112222212221112221112212111121111222122111122212212121122222111222221221112221121122121221222121211112212121221221222211111212222112121212111212221111112122212111211112221111121222222111212221221212122112211111111211121221112212121221221122211121111112112212222111222112112112111211121122211212111221111112221211111122121122112111222121221121211122212211212121221122221222221122221211212212121111121122111211111121112111212222212222221222111112222222211122112221111112221121222112122221112111112121121122122122222121111211212111222222222211111111221111222121212121212111122112211222122212221121222222221222121222112112111211112222211221112221221112111111122121121212222211121121212112222121211221221221111212121122121111112211112121211211122221222222112112221221212211211121112211122111221122211111212212211211122121122212122121211212122121222112222111221122111222211122122211122212222221221211221212122211222221221122221211211112212222221212121211212112211121211111222221122112111211211211122222111211122122211212121221112122221122221121211112222122212212222122212112211121211111211221112212121111122211222121212221122222112211221221212221212211212221221222221222221221212211221222122221121211212222121221221112212221221122122222122221121111221212121122222112111112112222111211122211111112221112111121122211122122111222222212111121222121111221112222112112122222211121111112212122222222222122111112211211212212221211221212221211121111111121212211211111212222122122112112121121211121111122111111212212122222211112221111212211221221121111221121212211222212211211121222122111121221221221112121221222221221122221112121221222122212121111211211221122122122122111111221221121212122111111211222122211112211212212222221122222222111222122222212121211222221221121121112221221121122212221222122211112221211212211222212122211222222111212121112211212112211221121221212122112221121122221111212221211122211212211111212121211121122112221122222212221112222121222222121122211121222121111112122122221122121121121212221112122211221212112112111121221111222112111121211211211122222122211212112121222222122121212121212112112112122121211212111211121211212122122111122212112112122221111111212212211211121121222222212112112111212221211121122112121221221211222111111121121212122121121122211212122121111111211122111222212122122112121212211211122112122221111212212222122121211111222112221121222211222222221211112212122212221212121112212212112111221212222212111122221221211121221222122212112111222121112222212122222211212111222211212222211111212212112111122112211221212111222112222211222121121112222221112112112111221121112211221122122212122212111212121112122112212221111222122121222222211222121111121112222112211122121111221111212122211221211111111221121222111122122222221222221112212221211122122211121212222212212221212221121222112211212221112122211122211122122211122112222222112221211221212222222111121211112111221122222221111211112222112222212121212112121211121212111122112121212121112111111112211112111121121211112112212222212211111112211212222221221112222221112221122222112212111111121211122212111222112222212222222222111111121121211122111212211221211111112111211211222111121122222112211212212111222121212121122111111221111221112221221112121121222122211211121121112222122212122211121212221112222122221121121211221221222121212211221222112122221221221121122121221211112111212121212211212121211212221121121221221222122221111112112111112122221111221212212221212222212112112121221211121212212211222111111112211121121221212111111221122112122211211212122121211212122212222121122211112122211211211211221111222212221221122112122212112211211212211222222121212121221122212212112111221212112221211221122122222112112112212112122222211212211121222111112211221221111122211122111111212212222221212222112211111112221111121221111222212222222221211111112222211121121112211212222212121221122121221112212122221211221121222112111222111121222111122211121122112211121112222122121122212221112212121211211112221121122221222212111121122122221221211111121111121222121211122221212111121112222221211121121222222122112221222221122221121112111122111211222222122222221111122212122111211222111122121212221221221112122111111112212212212221221122122222111111112212212111111211111122221212111212211111121221122221211112212211212212111111122212222222122112211212111121221112121122211121221221112121222112122122112121222112122111111212122222212222222122211222221221212122111111212112221212121111121111112221222222221111111222222112211122222211112112112212211111222111111122222221221112221212221112122211121122222211211112111211222112111122112121122112111112212222212211121221212212221111121111211112212221221222111122122111212222122221111121111112122212122112211211211222122222112121212112221211122121212222222212221221122122121211211222222121222112121211211121221122111121121111222121111112212122211112112221122211222111211122221211212212112211212112112112121212111221212112122211212122211211221111122112112122111221112221111121112212111121221211222112112222112221112221112111222122121212122212221211211222111221212212212211112112212212211111111111222211221121222222112111122112121111122112111122211221211121222211212121111112112122122222112122212122211222111211221211121111111122222221122111212211211211222212221112111112211221222111121122222111112112211121111121212111112112111211121222112111212122112221122121212211221221222112122222222121121112122222222221211211122221212211111221222212221212211121122222111222221112211121222112122212221111211122111222112122121222222122122211222211222212121221122221111112122121221211122112121222111121222221222111112111211221212221122222112211122222111221221122112121121211212222112222122221122221211122122212122111122222112121222221211111212112121212112121111112222112221111222222122121112222121112121111111112212112221122122112211112222112121211111212112212221111112211211122211221222121122212221111221221111222112222122212112221221112211211212111212211112212211222212221112111221222122112212222212221222112111112112122211122122111112122112222222122211221222121121222122112222211222111211112121222111212112121212122222222222221212222222221111221111222222211211212221121211111222211122222122111111212121222212112112122111111112221211122221121111111221211211112221211212122221222211221122111211112222122111211221221111211122111211222111211112221121121222221211121112121222221111211111122222211111211222112111211122121211112121211122112122222122121122112111112211121112211211112212111212122122221222212122211112112211112112211122122112112222112211111211211112112212212121111221212222111121121221221221212112121221221112222221122122111211111122211111222111122112111122111212212122112212111122112111122221222112121221112212121211111221121222212111211111222222112111111211122112212112221212222121221212222221112122111222112212121112212222212111222122222122121111121212211212122212222122221211221121212222112112111221211222112112211212221222112112112111222122112121111212221112121112111121111211212212111111111211212121212221112112211211221211111121112111122212111222112112112111222112221212121221222111111112122112212112221222222121212112122221222111211212112212121112222111212222211221111211122222212122122122122221221221222111221212222121221121212121222112222212222211112121212212221221222222112112112121212121212111222122121111222211222121122121112121122112211121112212111111221121111122221112221212211222112221221111121111112111112222212212211122212111111121111212122222111121221112121112211112122221111222121222212221221221222121122211212211122111111222211111212112222211222111122111121112112112111221212221121121122222111212222122112112211121222111111211221221212221122112122111112112112212111112211121122211211111212211222121112112121121122111222221212111221222221221211122222212222112221111112112211121222221212212112112212212121222112221121221121111112222222211212121221112222222222121122122122111111212111121112211212211211212122112222122221211221121212122122222121112221122221221111111222121122112222221222221122212221221122222121212122111212111121111211111212212221221222121112121221222121212122111121122211212111211211221112211222212221212121122111122112122111122221211121212222122211222121221212221122221211122111121111122212121222221112121221221112221121111212122212212221111112111212121111212111121222221111222111111221221222222221212221211111121122121121122122211221211121211111111111121212212121122212221221122112111212111222221112222122121212122112121111122211111212112111121121212211112111211111212211121211221111222112221212112112111221111212211211122121222211112111222111112222211212222212211212111112222122222221211111121212221112122111112122212222112111221212221221222221221221121212221221211222211122221212112212112222121111211211122111122221211212112222121222222212121121222221221121211112111112212112111122221212221111222111122122212221211112111221122211122222221221222112221121121222211221111222212111121221122212121122212121212222122122212111121212212222222111122211121111112121212212111122111121221212212111112112211211111112221122121212121121121222112121222211211111111212221121121221121112222222122221222222212122221211111111112221122221122122222222111212111112211112211121122112221122111211111212211111121211111121121122222211112222111111122222211111221122211121211112212212221211112111222211122211212111221222111122112211112122121221211112212121122221211121121211121222111111212211211222221212211212222122221111111222112221211211121221221222211212221221122222122111112122211212121111212211222222112211112122211111121221112121111211221122222111222222222212121111211222222122121111122212122212221211122121221112212111112212122211122122111212121212112212122111221221212212211212122111211211121111121112221221111112211112122222221122222221221221111212112122221222122121122122111122222221212211111221112212122211121221112222112122121111212222222222121221222211221122112222221212212121212222121211111211122122121222222221111221211111221211122111212111121212221222222212221121111121121111211211121122111111112121211212221111121111122122211221111111121111121212112221121212111111112111221222122222122221221221221122121112111211111122112112221211222112121211122121212111122221122211221122211221212122112222111112121212111121121222221212211122222222222112122121112112211122122222222222221121111112112111121212112121222221222221121112111112211211122121122211121112121222112111221222212111221211112112211211111111111122211211221211111221212121221111221212211221122111111121111211212222112122111111212122222112111111211221222212111122122211112212122211211212211212111212212111111222122211221211121212121211121221121222221111211212221111221211222212212112211211121221111212221221222222211112111212111211212212112212212222211211212222112221222122121121121112111111221211221121111111112112111212111121221211111211121122221112221112121121222112111211111212211122122121212121121121212122121111222121212211222121211111122111111112111111112121211111222122211211222221121211222222211112222222112111112212112211112121221112122221122222112122121122211111111222211121112212121112121212221222212211111121122211121221122112211122122112211121222112121112121222121222212221112212222212221221122112211211121222222222121222112222122211221221221222122111221111111212121222112122122112111212122112121211111111222122221122121211112122122222221222211112212211212111112112121111221111221112122222121221222211221221211221122121211212211122221121111211211112211121222222212222112212211112111212121111221111211121121122222212122111111121222112111112211222221211221212211211111121222211221222222212122222112122121121111221122122112121122211212221221212122221212212211212221122211121212122112111211212121122222121111211121212221111222112122121212111222211112111111211211112221122111122121122111221222112222212111222121122212121112121122221222211111212212112121111121111222111112112212121121111221212212121121221112122111121212211221212211221221212122111221111122222212222122111221122221122111221222211121222121212221112212122112122111222212211211212211212212211122121221121112121211211212122212111112211211211221222221211112121211222112212221221212221121212221212221211112111122211222112221111112122221221111111221121212221211122111112222112111221121222112121121211222212122111221111122211211222211221211112211112212112122211111222211112211121121222211212211111111221112112122211112122212121121212221111212212111112222112121222212221222121212121212122112111212122122111221112122211121112222221112211112211121121222121212221112112121211122111111111121121221111122121211122211111212122212121112111121121221121122211121122222111221222211122122212222222221111112211112121221212212221122121111112211212111112111222111222211212112122222221112121221121212211111121121112211111122221221212112112221111122212222122111122122212222122212211122222121112221211221121121222212121112112212121221111122222111121112212121121211211211111121121211222222221211211212211212112122211221211221122221222111221212222111222211212221112212222122121121221211222222212122122112121122111112211212111111122122211212211221211111221122221121121221111212121111221122212211211111111122122221122121122212212112121211221211112222122121112221211112121111221122211112222221112222111112211112122221222122211121122121122122112121222112122222112211212112122112112211222221212222211122122211122111211122211122221112212212212222112221121111112112122221211121122221221212211122111212111122211211122211111112121122211211111122221212211221122222121111121222222111111122222112121112112112221222222221121222212111222212112122211211222112222121211121121212211221122221212122112211112111112221122112212212111112211221112222112212122221221222111111111221111121122211122211111112122122211111212212222112212122212212111212221112111222222221112121112112121112222212122212212212212112111121212111112222112121122212111122221111221112221122212121112211222122211221222121221211112212121121222222112122212121211122121122112211221221112212222122122112221222121222212112112111212122111121122211122221222112221211122221112121122112212112222121212111112122212112222212111212221112221211222222222221122212212222111111111212211121111211112111222221211221111211121222222221122221112112121221112112122111122211221211222212212122111222222112112211212221122121112222222222221211121212212112221221212112221111121121111222221222222222221121211112112212122112112221122121122222221111211221222122121221122222111221121121212122112221111122212111222111211211121211211222211212122221112222122121222221222212221121222112222111111122212211221212212212122112112122222222112221121222112122122221212212221222211111111122211222221121112111112112122121121221122111122111112111211122111121122211222112212221112122222211121112212211112111111222211121112121221211112122222121121211121221112111222211122211122222121222221111211211211122111222122211221111121221222212211121112121212222211122212112222111111222122211221221222111211211211212121111211222211121211222212111121111112122221221121122221122111112211121111221212122112222111122212122121111121122212121221211112112222111121121112111221212121121212222222122221212221211122121222212122121212121212112122111212222111112211112212222211221221211121112221221212212112111111122111121221112112221212211221111212122121111222211122112212112222211112121221121111112222221221211211211121121122212112212222122211112212122111121122111211111122111121112122111212212122122211111121221121222222221211212222122212221222221111221211112121112112111111211212211121222222212221222112222221212121222112121112112212121122222122112222211221211211211121222211222122111212121111212111222111121121212112112211222122211222221111122112212122121222111121112221121221111212222112222111121112212111121221112212211212221221212212122212121222121211222221112112221212222121212221111222211121222121221122221212111222222222122111211221112111221122122212211221211212212211221221221111221212212122221222221122122122111221212211212112221212112212212221111212112211121221111212211212121122121221121111111121112212121121221211111222112211111212211111222122122222121212221221221111212111111212221211111121221222122112221111212211222211111212222212211111122211122112211121112212221211112212122222222221222221221211222111111112122221222122211212111112121211112221122112121112212121222122121111212111122111121221121121121122212222222221212112211211222211111111211111122221122111111221211222221222222121122112211111111112222112221112212222212222111211222112211121111211212221222121122121222221112121112122212111122221211221221211221121111121121211121121221222112111122222121211112121212111221121122222111121211212211221122112221121112221122222222212221221122212221221121222121221111111111111212111112122122221212211122112211211222211212221122112112211212111212222212112112212212211121222221211122122222121211212111122211221222122111121112212122222211112221221212211112221212112112111222221221212222212222111211221121112211112212221122211212212122221222112221122211112212122112222111122212221121222112112122222222211211111122122212121112221212222122221222211221122121211211111122212122211222221222111112122111112221221112212222212111121221212221121221112222212121121211221221222222121121121112221112212212122212211122121111221111212221111122122112111121211122122211122112112111212112212212211121221111211112121222111221112212111111111221122122212222222111111122112122111121211222122111221211112222212111211222122212122122222122112122112121112121211112122122122122221121122211122122121222212111111221111112211112222121111122112111121121112111112221111111112211111221122122121122221211122212212122111221121222221121121212222212112211211111122121222221222121121111221212221121111221221221122222222111112111112122111121112212121211121112121121122211222121211111222221212111221122122122211122222112212122211122121112221112112221122222221122112212111211111112221111121212121122112211121121111212212122222122221121111211122221211121211222222111211221122211221112121222221221122221212122222222112121121211112111111121122221121121212211211122222212122212221222222111112112121111112122112112222111222211121122112122122222221211211112111211122122112112122122222222111211222121211112112111111112121121122211112211122222211122112121111212122211122122121122212111221212221122111122222111221221212121211111211212121111222111222112211221121112112222111112212212212211121111112222212111121121122212122211122111211111112112112221212121112221211221222222122121112112111211211121222221221221211112222111111121211221121221111221121212121112211111222111121212121121122221111112212221121111112112221221121211212211112211211211222121121211111211122221122111221212112221111221221122122212211212221121121222212122212121212122211111121111121222211222122212121221121121121211112111211112112112122112111112121222121222122111211121211112122221112221221221222122121211112122221111221121211211221211121112112112221212221112112122211221122212212211221111221122222121222121111112121111211211211211212111221122221222122221122121212112121122222122222211222121222121211212221111111222121121111112122212222121111111111111121111112212212111221222211212221211111222112112221211211111221222121111211211212211111111122212222212211121122122211121221221111111222211122221221111111222212211112122122221212121221221221122222112222111122121212121221212122112111212122122122111222211222222212221111222112212221112122212211211211111211221221222212111112111121111112211121211211121221121221111222122112222211112122221212111121221211221112121112112221111112212221112112212212221211211212222221212112222221112121111121121111222211212212112111111222112212212211222112211122121122221222221212122122122121121222221212212221111212221221212112212221111222221221212122221212212112121212211122122122212212121122212212211221121212111122211121112122112122221111122122121211222111221211222221111121121112222211111111111221212212212222222112221122212111221211211121221121221212122121222121222121111212211111112121222112221222112112222111122221122121222222122221222122221111211112221211112222112121111121112211111222121222221221111211222222121211122122212212212221122111112111211122221222121112111111122222122112222221222222221221212112111211211121212222122122112211112122222222112111212222111122112122122211121111211212222212111122112211211111221111111221121211121122212221111222111122112121121222122122221122112111111111111121211211122122222212112122122122211212121222112222112222122211122222221121222111221121222212112112121122112121111221121212111122112121111111211212112221122222112222221112221221211222121222212112121111211122212111111122112121121212211211111112222122121122221211211212122121121222222222221212211112111222112121211112111122212212212222122121212112122112112221122112111111212122122122211122122121122212212122121121112112212221121212122122211122111121211222212112111112111121112122111211212212222212111112221212222221211122111121221222212211122112211121121111112221112122212111111111211222221111122111212212222222122111112112122121212111212212211111211112221212121212111121212121111222122121212221112211221222111121121121112221211221212111122121121111111212111122222222221122112121221121222111211212211211212221221121222122111112211212111111211122111111122221121122122221111222221112212111111211121222122122211221121111222212221211212122211222212222221222222212122211121221221112221122211211222121112211212221222112222221112212222111222221121111122122122121121112211221122121222111111121112222121211211111111212121111112222121121211211212211211221222122112221212112221212222221122221221112112222112121211122112221222122211211221211121221212121222121111221111222122112122112211212221111222222222111111222121122221121112211111112122112111221212111221221111121212222111122222221112112221121211112212211112222121221122211221111121112221122221121221112112111211121111111121111212112211211112212122211211122122211111221212222222211112212112121222111221211222212111211112111111112112112221112112211222121111211111111212221122222211112112222112221212222221111212212121111121211211221211121222122112122211112111212211112112221112112112212111111122211211122222111112122122121111112222122122221112221121122121121222122121111122122212221211111222222221212112111111211211121111211211222121221112122211111121122112111211211121111121222221222212221222212121112111121111222221122121122221121221111121122121211212221212221212211222221222221111211221111112122121222222122121211211121111112111222222121121121121221112111221111211221222122212212122221222212212122222222212112111222121212121221112112112212121111111111212212121211221112222112112212122212121211121111112111112121121111111112112221212221111112121221221212221122212112111121122221222121121222222212111122222222212112111211122122121211212222211222121222121121111222111211221121211212221211112122212211122212111112122212222121211211122111111121112121211212122222122211221111212221221212121121111212211222222211121122222212112212211111222222121212122121211111211222122211111112212112222122212111222111111222212112122112212222212211111221221111122121111112112211211112211211112121112212111121221122111221121121122211221221211111121211222221212221112211212122112222111222211211221212112212222222211121112212122122212121111221121112121212121211221111211211211212112122111222111111212111221121211211212121221211111212111121221222121212211212222122111122122221122111221211122122212111122112212121121211211111122111121211221121112222112121221222121122121121221222211222212122222121121222112121111222221111211111211122221122221122122111122211222111221121111222111222212212111111221211212211211222112211222211222112112112122211212122112212212121212112112111222111122112112111111122121222121212212221121212112221211211111212112221121122211211111121211222111211211221211212112211211221222121111222121122121212221112122221121112211111111221211211222111112111121212121121212112122212121122221111121112121212212121211112222212222222221122112222221222212212212221112211211122112221221122221212112211211111111222222222222121222111212121222222111122221112122121211112211211212112121122112222211121111111121221222112111121111121111111221111111221121212112221122122222121111211112121212111211112212222112112222222111211221211212112222122221112122122221112212112122222111121112212122221221111221211211221222222111212221112121221122222212111111111221211212112222121221212122221221121221222221112212121122221111111211222122221221212122211221121122222122211212122221211122112121121112222112121221211222212111221222212112211212222112121112112122111121121121121211212112111121112211222221112221112212212221121222122222222122211111222211211222222122212222112112222122111221221221111221222122212111122222222211122122211221221212222121221212212121121221122111112211111112111212211221211121221212212222112222122212221112112112222121221211212111211221111111211121111111121221122212122211122212222111221211222211212121212121121112112111221222221211221121121111222221212122112212211122212211211212222222111122221211212212222112221211222121112111111211211112111211222221222211121122122221221222111112212221121222121122121121111122111212111221211111111222122211222121212222222221112211222222111211212112112212111121221222221211122222211222121222121212112212221112211122211221122211122221212212121111112111111112221212222112122211122121211112211211221221212121112112221122222212122112211211221121211122122211112211222112111111112121211112211121222112211111122222222222122122121112111212122212212122111222112221212111122112112212212111122112212221112111222211112122212211212222212111211211212122212121222111122122121112211221222121211221222121121111211211111112211211111112121211122212111222112121212121121221212122222222122112212222111112212212111121222212111122222112121221122122221212222212121121212212122112121211111111112211121121211121212211212112221212222121211211121222121111211212211112111121121211222112121211211111111122121221222111221112121211111222111211211112112122121111112112111211212112221221112212212122211121212221112122222122111211111222222121212122121121211222121122222122122222221122211212112121121212122112112111111211121112111122211221212211121112122211212221212222112211121122212122122211221122121121122221111111111121121122112222112121121211221121112121212221221112111121121221122121122112221112111112211222211222121112222222211222221121121222112111212111221112112221121221122212121112222222221211121122112221211211122122121212211122212111122112221122112222221211221221222222222112121221112222212111222211211121111121211111221222122112221212221121221122211121121111222212212112222221211112221221221122112222122111221211222112212121111112212221211212111112222212222211222112112112211112221222212222221222222112112222212112212212211111211121112212221121121121121122221121212221122112221112222112211212122222221221111122221111122112211212112112211111212111211222221221122221221121111212212111211122122222221211112121122111211211112222211211212212122122221112121211212211122212212212121222221212221212211112111121121121211122221221111121121111122122121121121221111212212111122112211222221122221122221121122211121112112212122221221212212211212221111121222221112221112221221221211112222121122122122111111211212222212222122122122122222112211112211112111122211121121211211112211111121111111211222222211211112211211111222212121111212121122122121222122221122211221221111211221121121211221221212121222212222122111122221122212221122222111211211212221212121112112122122221221212212211211112112221121221221121121212221112221111211211112111222121121221211112222121122112221122122212212111211111221221222221112111111211121222121212212222212221111122221212122122222112111222222112112222111222211222122122222121122112211212222211211222111212221221122112122121212112111212111212121211122121221111111121221212122121212111121112212221111122211211111212211111121111212112112122121221211211111211111111121122222221121111111121111121212111212122111112112111111211112122212221211121122112222222111111121112121112221112222121211121222121212112211212212111222121121211212122122212212122212121121222112222112211121222111121212212221212121211222112222222122112111121212122111111122122121211112222221221111111112112112112112121111212111222121211122112122122212211222122222211222212112112212222112221122211121112221222111212221221121112111122211122121122112211212121222121111111211222221221212121111111112122222112111211221221121112111222111122112111111121111122211122121221212212112212121122111222212121221211221212211121112112212211212211212211221111112121212112121211122221212122211211212111222212112222111121112212122211222112211121222111112212112111112221211221221222211212221211211112212121122211221211112122211111121121112122221122111112122121111111222112121111221221222112121222211221211221122212221212122212222111212222111122112211122211211211111222222221111111111211121221211121112211222111122122121212221212122221211112221112212111222111112222122112212221211222211112111112112121221121222111112211111221111222212211221111222112111222111121122121122222112212112222122212121222222112211111221222222111112211111222121222221211112212212222222211221112212211221112212212212221111111212222111222211112222111122222121112221211211222211212112112222221121112212111221212222221212221211221221212112221122122211111221212221121212211211212111112122222221221122112211112122121211221211212121121121112112112221122212112222222212212211121111222221122212222112212211212121222122111221111221221122111212212122211211211121121221122122111222221212121122221122212112121221111222222111221211222211221121222211211122122211121111121222222112211122211121121111111221121112212112212112111112122121222122112212121221112111122121111221221211211122122122121222222122221111121211221212211122221221121222112112211222221212211211222211112221122122121211121222111111122122122121221221112122212112221122221212111211122212111211221221211112211121212211111121211222111112212121111222212211121111122212221221121221221222211122211212222122112222221112111111112221221112211112211122112222212221122211211111121212222121121212212112121212221211111222111121211112112121112112211111211122121112112211221111112222221112111221122212211222211221221112211121221212222122121211111212221111212122121121111212221211221111212211222112112221221221111221122112221112121212212111121112111121111122121112122112212111212122112121211121121212112212221212111221222222121112122212121122111112111112112122121212122111211212212112221111121221112121212122221111112221121212112112221111221222212112122122111111211222221112122212112112222122211222212211212211112111221211221221112221111121221212122222211212212112211221222112121221222221212222211211112211212211122212212211112221121112221112221211211111212212112112122211221112111211222212121222121222122222112222221121222221112212211211222111112121121211222111121222121122222121221112112212121211222121221212221211121211221221112222212112222111222212111222111122112221111211212121211211121212111111222121222212112221212122112211212222111122212221221122211122112121112122121112222121121212211221212212211212121112111112212112212221221221112111122112211111122221212111221112221222212112221211111122211121122111112221121122211211211221212122221121111121111222211221112122211221222122121112111112222222112211211222112221211212122112121111221221122211112112221111212121221112121221122121112111211121111221221121122122112221112112122211121222111212112121112221122112221122112121122121221222211221122221112221111111121212222122222221222111211221221112122121222221212212221221222221212112222112212211221121111122122212122221212111222112122122121221112112122112212211122222222111111122221122121222222111122121112221222112111121211221112122112222211212212121122121212111222211112122211111111121112122112112221121112222222212121211222111212111111221112222222221212112212211212212221211212222121121212111222121111211211122112121111211211222112212221211221212212121211112221212112112212112122212122112212111112121221222211222222212122211112211112211121121121221221121222122111121111122222111121212112212212121111112122122211212122212222211222121222121222211111112121221221122221112112121111111121121112222221111222221112222211211212121211121112121111221221112211112112121112211121222211121221211122121221222211211121211112112122112111221222122221221122112121122112221121111221221111212111211221111211111211111211211212212212121112122111221211111111121212122121211112111222211212112111221111221212112221111122122111222121112122112222112211121121121221112221212122122221112211122222212121111211111212211112122122211211212212212221112122211212222112212221221112112112212121222221112121221111221112211212122122121221121211211111112112211221212211212211222211122122112211111222222221112122122211111211122222212221112221111112121212221221112121112122111122111121111212212122211211121112212111211121111212212112112211121212111122211212111222122111211121111122112212211221121111211112222221122121222211121212221121221211112221112111212221111121212121221212212111211211122221221221112121221221122122121221122211111212222212122111121122211211121122221121222222212112221211211122221211121211221222112222111111112111222212212122112122222121221211211221212222122112222121111121212221112221121211211121212211212112111112111212111121212121212112122121121111212211222211212222221111122112122122211121121211221112212122122222221111222122111212212221222121221122222111122111112211221112122221221211222221212121221211221212121222121221122212211221112221122122121121222221212222222222211211222121222222111222212222222121221221122211211112211122211212222111212111222122121112111221121112111211211222212111122212212112221111221211221221121121112121212212222211112212212221122111211211111211212121211121121211112111112111221111121222211112211121122221211121122211111112211222122112212221222221212121212122211122212122212211222112112221112122221222221212111221211121222222112222112221111222111222122112112221211112122111212222111122222222112111122221221211211222112221122121122121211222211122122222111112222212111212122111221111221111122212222111222121221222222221221122112112212121122221221122122211112222122122111222221212121121222222211111112112221211222222211121112222112122222111122111112221111221111222221212121121112222122211122222112211121211121112122111222111121122112221111222111212221111211212122111122122221122221112111222112212112112111111111221212121221222121122122211222122221211222222111111121112212211122111211121121222112122121122211211112111212211222222121121121112222121121112211121112211221212121112222222211121221121212211121222212122211212212111222221111111212212221111221221111222112121112211112212212122212222212222222121121211212121122212222212221211121222212222111221221222212221122112122122111111122212212222122122121211121121111222122122122211111121111222122221222111112221111111122121112111221222212222211221222121221221221122121121221122222221121122111111112121211222221222211111121222212121222121222212122111112111212212121212222221222121211222112111122112122111111112112121111121222111112121211222111112121121111111121222212211121111222111222212222111211111121122112122212121211211121222221222112221112212222222212221112211212222122211121222122211121212221221211221212212122221222121221122121212212221121212121122121222211111121121211222121111211111111121222111121221121221122211122211122221111211222122222121222211211212211111211122121221122112112212121121111211112221222122212211221222111221111122122122122112212222222221111222211221212122221121221112111122111211122212212122111211211221112112111212211212111221211212111121112222121211222222222221221122121222212221222212212112112121222122112221121222121222222212221122122221211121122221221211221211121112112112212122112121112111212112221111112121222111121122112121112211112221122211221111122121121211212121122111122112121122122212211122111212122112112221111122222222122122212211122211121122222211222211122112122222111122121222211111122222122121211121222121211211222221222221211112222211122122112112122212121211222121211121222211212221221112112112121211221121211111212221211212122212221111221112112222122122222112222121221222112211211221112222211121112111222222222221221221221212222212122112222121121221222212121212211112122222212111211212111222222211222211222122222112211211112121211221121112222221222122211122212222121211222221211211111112212112211111111112112212211122122111112211212122121221212221222111121221212222212222222222112221121222111122222121222112211212211122211222111221211212111222212112111212221211222111112121212121121221211222111122111122111122121212122221212221221122222112221211211112112121122122122211111112112211112122112111121122212222122112111212221222221211212112112111221111221211121211212111221111122212221221222121112112212222211111222211121111222222111212212222121112222112221221221211212121121211212121112111122112211122222211122121221211122222222112221221211212122212221121121112222211121111222121221111111212111211212222111121222111221211221122121212121111222111112211221122212221111222221122122122122221211222111222121222121222111222121122221121112222222121111112222211212112222112111121222221121111122121111122212122121112211211211212222112211111111111222122222211112121222111222222221121121121122111212221112111122111221221211211211221112111212121112112222112112211221122211122221121212121112221111212212211212211112211212221211111122221112111212221222221112122121121122121212112112212122112111122221211211222121222122212212112121221111111222111212122211111211212112122111222112212221211112222122221111112221222221111122212112121212112121211111121122121112211122121211111221122212122211222212212211121222112212121121222122122112221122121211122111222121212121121121121111222122211122111122211112121212221222212122121111222212222222211222222221222112212211121111121222221121122121211221112111111212221111121211121222112221111222222111111122121212121121221211212221211212112222112121211122221112212121112212212111111121121122212112112121111221221221222112112111222212212122111212111122112112111122122222222212121122221111221212211212121121111111112212222111211222221222112222221122122112221122121121111222111211221212221122111221212221221222212211112222112221222122212212211221212122211122121122111122121212211211212121212112222122111122221221121111222122222122222122212222121122212222221222112111121212111112111122211211211122111211111211111122111112112221121121221212211221112211112221221221122222112111211212211111212112121121221211111221221221212122221221112122222221222221111111111221222112222112111221212122211112112222221212121221111121121112222222111211211221221122111212112211112111122221212111122121222122112122122211111122121221122212122221111122111211222211112111212212121222121122222121112122122111122212121221211211212212111212122211111112111212111122212112112221211121212222211112111212222122111211221121221222211212112111121122112112112111112121111212122211112222222221112211211212111122211212112112212221222122122112212211212222111221221222121221212111211211211211111111112212121212122222211112212221122122111222222122111211211112112112122221112112212221222222112111112122211221122122121112112212112121121122212121211221222121211111121122211222222222111122111111211122211121111211221112111221121222212112122212211121212211221122211121222111121211121211112112221221111221221222121112212222222222122122112222212222122111112121122212122211212221211112211212111221222122211211222212221221221112211112212212111112111121111222212121111111222212221221111221121211221211112112111211122121111211121221211212221112112121212212112222121221212222212111121221212121122122221122212211121122221112221121122222222111122212121211212222111111122222121111221112221212211221211111222222112121222111212121212111221211212221121111212221221221112121211122111222222212121221122121222212121221222221221222212111122111122222212212121221111212112211211112211212121111112122222211122222212222121121222111111212221211112221112121211112122122212222112222211222221211122122221211121212211211111221212212211221121111212222212221222111222111112211121222112111121112112112222221222222121211112211222112111212221112221121222212111211121221212221221221121121222111222112212112122221122122212212222222112111211111221222212111212111121111112121121211211221121211212122211121211111212222121122211212122121221221122222112222211111111212122121122212112112211211111222121221212121212221212221222221122112122222212212111211211211112111221112122212212211121122212221221111122111122212122212212211111212121121112221122211111212121212221112112221222122211121122212121122212212211212211112212111222222121222221112111112211212122222211222211222121122212221111121111212212111222122211211121122221211212222222222122212222222212221111112212211111212111121111121221211121112111212212222212122212122212121111222211122121222121112121222121211222121212221112211112122212111122112211222122112221222111122111212211122121212111112221222112122212211221112221111211111122222221211211112222212221221221111111122121122112112121211121121111121222222112212122211112211211211111112211221111112221122222221222111122111222121221121222121221222221212211222112112111211221221122221211112211111121122212222221221122111222212111122122211121211122211212222121121211121112212122122111112121122112221121111211111122212212122122221112212211212111212111122212212211121111111111222111211211222221121122111121112212112111111122112112221221222221221112112222121222112221112122111211111112212111221112122111221221211211111122222211111221121212112112112222111211112111121212222211222121212112211111111221111211221122112121112211112222121122111211212121122111222112211112112211222121212111221111212122122111112112121222122111211212222111222111221211222122221112121222122221122211212112122122121122221212221112222211212121221112111211212221221112221212112121222112122112221211112211122221111222122212211111222211221211111212212121122221122222221221122212212121221211211121122221122112112212122122212111112112221212111211122112111121112111221211222222221122111212112111211221112121122222122222222122212211222112211121221222112212122221221121221211221222221222211222212222112212112111111221212221112121122222112121222112211111122222111112212112111122122121211212122211122212221211112211111122111222111221212221221122122221112222122212122121211211211122111111121111222122221212222211211221122221121122112112111222211111221212222111221222121221212112122121112212121112221112111211111111122111121112212212111212121222212212222222112211222121222122121122122122122222112212211121112122112111121112211221222122211121122112221121121111112211111222212222111122122121222212121112122122111211211221221212111121221221222211221122212222112212222222121122111221211121211121122121212122211211122212222111221121112122122112211111221121222211111211211222121122212212121121221121111222212211222212221222212222221222222112222211222121121121111221211222212121222211211222221121212222211111122221111121121211122122212212222222122121111121112222222222212112122121122222122112111211121112111122112211212122222211212112112112111112112212211221112212211212112111122121221121112122121222222121121122111221111112111121212121122221122122112111111211111112112112121211222222221112112112212112121222222112221111122111211222221222222122212212121112111211212121221121211111122221221122221221121221112212221212122122212222222212222121211212112121211211221121221211222121111122212221212122212222122112221211111211211212122212111222211211112212121212212111121121211212121111212121221211121122121112212121222222221121211122212222212222122222112121111112211212222221222121211112222211121122211211111122222122121111111221112221212111211221211222122211222221211122212111222222121212221112222211111121221111221211221112221111121122221212212221211111211112112122212222212111221121111212112221112111221221122221122212212212121121111122222112212222212222212222112212222212222211121112211222222111111212112222111111221211221111211221212221221121212122112122221121121121221111121121212222112221211111122121212211122211222221112121221121221222221121222211112111112221211211111212221112112121122221111121122122222212112221112111221111221112122112222112221221212221112122221111221121212221121221211222122121221111122222221211211211112221112111211221111122212221211211222122221112122222221121222222212121121222221111111122111211122122212222212112111222212221212112212212121212222211211211122122221111112112122222221212111122121212212222121212222221111112211222111212122121221221112122122221112112121221111221121211212222221212111211121122211222122122111212212121122122222112122111211221222211212222211121212211212121121122222221111122112211112121112112122121222222122222112211221111111221111211222222221221222212111221222222222211122222112211222121221121122222221221212211111222121221211112221222212212222112222221211212122112221122111222222111121121112122122111221221121211121122222122111121112211222212221121122211111211211211211122211222211122212112111222211221212112121221122221122122122212122122112111222211112112222121221121212211112111121111122111212222111111121112112121122111112211212122212222122112211211112211222221221112221212111121211222222111222122112222122222121221221221121212212212121121212211222212121111121112111222212212222211111212221111222221122222212211222222212112212221112212122221222122121112122222211211122111111121212221121112111211121221112121221212122221222221212111221222212222221121212221112212122211212212121121111111112221121112122121122121121112112112121112211112112112211112112211212222122211222112221111211112221121222112121212111121122112112212222122211122112112112122122221121111112212111112121122222111212122221212121121122221221222212112211122211221222111211222212121112121112122212222111212211211121211221112211112212222122221111211122211221211212221121212111111112212111122221211112111112211211121111212212212122122222212121222121122212221112212122212221112121122121211121221212122111112212112122211211122111121121121112212212111121111221222121111121211112122121221122222211212221211211112122221112211111212211222112112221222221221211222211222121222221211122221212111222122122221221122222211222112111211221222211222221212221221122211122212112112211111111112211122222221122212211222222221121122121121211112212111121122121212212221112112112122122211111221211121112111112222211222212212211211122212112221221221211221222212112221221221212222122112111221111112211111211122112112221121221111121212122112111112221222122121112111221212212222221112112221122222221122112211221212121111111222221222212122221222121222212222221221121122111121122121122111122111112211211211111112221112221211121121122211122121121111222211211211212211111122121222222222122221111122122211221121221222121222112112121221121112221221211212221112121221111112111122211211122122112112121212121211121121112122211211211211212221212122222111222221111221111111212122122212121222111212222212122211212122221221211211111212122211212211211212111122221122112221112111111112211111112212212121112112112211221211221112211111211122121122122111122211221122222121112121122122112122222111111122112221221121211211121111212121212212222122221121222112221111121112122211111122111122221221111211222122222221212212211112212212121112111111111221121212122121221112122211111112122222222221121211111122121112121212222211221221122111222112121121221121221121112222122122222121121122222121112112212112211212122222212221112111221122121122212222122121121122121111221121111122122121122221222121121111221221112111212122212221122211112122211122121122111221211112111221122221112211222212122122112112112112222121122121211112111222222122112222121211211112211222121112221112111121212211111111222222211211222111122122112122112222211121222222222122112122212222112111212211211122212112121212121122122121121212121112222211122111221221222222212211212222221112111212222222211211121112122112112222222212222122212121121221111122212212222111122212112211122222221212111212222221112221211212122221121221121221221122211111111212112222121221122122121212112112222222221112122121212112221221122112112122111212212122122222121211121112111221222111112221111121112211122122222221212221111222121221112121122221122122221122221212112112222212211211121222121221221111221211222121112222222121111111222211221212121112112212112222111211221222211222222122212222222221211212211221112121222211112222221121211111121221122111122112211111222121111112122121122222112121122121222222222122221221112212212222211211122112112212121122122111211211222121112222111221111112222121211211221121222122111212212211111122211212221222111122212211111121212222122111121112211121221121222222222112121121112122122221111221122122121211112121122112212222122222211212122222111111121211221212222212112211122211211112111221122111112121122212212112222221122212222122122122221122212112212111221211111121121211112221111111121112111111112122212222122112211122222221211212211221111112121212121122221212211211222121211122112212222222211111122211111211212122121221212111211212211112112121212212122122121211112212221112121222211211121212211212112122222212222221212122112112211211121211212222121221121111222222111112222111122112121122121122222212221212211121122111212112122212122122222211212121221122211211121212121222122121121221221221222112111211211121122122112122111222112222212111222221221211121212122122111122211111222121111212121221112111222111211212221111211111212111122221122221112122212111111111221122112221212212122111221112222211112221121211121111222211212222122212222112221112122112121222212212112111121211121112212121111121121221112222222222122221112121121122111222121121211121222121121111222221211221112111121212222211122111221221211111121111211222122221111222211222121112111212222212112122112121221112222121122112212121211112112112111212212222222222222212112222121212121112122211111221222122112211122212222121212122222212122222122211222221112121122212111122121222111112212212221121122222212122222122222121221111221112112221211121121221111121121212212111221121111221211122221212122212222122222112112112122112111212111121221212122111212221222221211212212211211111222222111121222211121222222211122212221121222112112112222112121122222122221111112222112111112212212121112111221221111111122112222111112212112221222121221112222111221122211121112221221111222111112111212221112222122122212222222212112122221122212211221211221222221212122221212211111221112212212212112111122221112111211111111221222221121112121221222122122221212122221211112212212111111111122112222221222112212221221222112212211211221111212221211212111111212211221111121211111112111122212211121122211221212111121111221212211221121221121212112121111121122112122122211212111222222222221221212112112221112211211212122122211112221222221212212211122211112122112221212112211121122112211222112211212212211212212111121122211211212111121112212211122112112221212211222211112212212222112211121221122221111222111111211112212112111211122122221221111111222111121111222212112112211122121222211221111111111121222211222111212221122222212211112122121112121222222111112221221212121222112112211112221212212222112121212221221211221111212112221221212222112212211121211122111112222112222212211111211122212212121212122221112211121122211112121211222112121122211111121111111221122212122222211112112222122221122112211211222222212111222112221111212121122112221112212111211222121212211211221112122212111112122112122222212112121211211221122122112111212122111122121121112222111222112221212222211222112121112122112121122112122121121121111112122111221212112122121222112212111211122112112221212122111211112221211222221111112212222221121121121111111111121212121122221221121212222112112221221121122221112221211121211221112221211212121222222222211121211112212112222222122212211112212111112221221121222122122112221211112221222222211222212121211122112111222122111222121221122212111112211221121222122121121112122221122211122112111222112111211112211111211121111112111122222211222121112111111121121112222111211111121111212211212222122111212121122221112112121121112222211221221122211122121122111112212112222222121122222122221111221111121221112211222122122121212111122112211122211121111221211211212122112121112122111112121122111211211121222211122222221211112121211112122122211222111211211111221112221212211122112222221222211111121111222222121122211111111211111112221212211222212212112221221211221222112122122111112221212212122111212212121222112212211111122222212211221111121222112211111212212221111221121222121111222212222111222212122112121222122112122112112221221122121222112112112211112121222111211121211212111211112221111111122122122122121211112212222122212222111112111112212212111122212112111222112221111222222121111212212222221212112211121121121211211122212221212121111211211222212221111222111212212222211111222112211212211222222221222112221222212111221122211112111212122121111222222222221221222111112211121111122112111121211121111112222212121211212112221121112212212221222222111221211211222112222211221221211112112212121211221121112221222221121222121112122222122111122222121122112211122112111211211221121221221221122222212112222211112121111212221112212212221111122122221212221121222122121111121122111212112222212221221122112221111112221222122212212221121112122211112122122112112121222221221111222221112221222222112112121222122122121112121122221211222211121111221212211121122112122121122222112221121121212112122222121211222222111122111111121111211122212222221212112222221121221222122121221211122211211221112211222211212211221112121211211121212221222211112211212122221211212112222111121221122122122122122211212121122122112222111121211221121212112221111211221212122122111122112212211221212112212111121221121112111122212221221121212121122121121211221212212212121222122112221221112112211221212111121122212111211121211222111121212121211111212222222222111112121212112112221222212121221222122121222111222211112212222121211121122121211112221211121221211112211222122211122121211212222222221212112221221122111222211212112212221111111221121222122221211221111112112211122221211112222211121212221121212222121222121111221111122212222212112222122111112122212121222121111121211211121221112212212222112121211212111222221111121122211222211111111211222221222112211211222112112122112222111111112112221212111122212212222221122121112221112122222222111122122212221111221222112111221112111212122212221121111122112222221222212222111211222211121112111112221111221212122121122222112122111221112111121212111221112222221211211222211221111122122222212112121122111121111222111212212112121212112222121121121121212121211222112222122212211121212122122122112221112212222222212112211122121121122121221221211222122112121112211122112112212222111211221221122211211121121212221212122122211211122121222212212222112121112111122122212222211111212211222111121111221112212111222121221121122122112222122222212122212122211221112111121211221212212211122221222211121222121121111212121122111222221211211111121121212121212221222111111122212121222221211212122211211221222221222222122222221222112111111111221111211122211121112212222221112111212112121221112112111212212222112222212212221121221222212211221112212212222221211221222121122112222112212122221112112222222122112121221112211121121121211221212121111222211122112212112121211211122121112222122211111222121211221112212121111121211221221111211222112221221112222121112212221211112221122112122222222211122112112111222212111111221211112122111121211211122112112121222112111111212212221122212121111122211211221211211111122221111112122112222222112211221112112122111122221112222122111211221111222222111112211212112122111221211212111111221112221112121122222212212221221121211221112122222121122211212111212112211121221222111211212112111112212112121122212221222221122211212211211122112112211112111222121121221111212111112112122112222211211221121121221122122121112211122112212122212122122221222121221111221211222122222111112221222222221122212122212211111112221121221112122222122222122222122212122121222112211212112212211222211221221212111212211211112122122112211122211121221111112112122121211211112112121122211112122221111221111112212222122222112212122222111112212212112122211122112222111221221122212212221222112111121221122122211221112112212121111111121111222212211211221222211211211111212211212222222221221122112111112122221121111221222212211211122112211111222112222222212222111122111121212221122121111212111122211122122122122222121211112121212111212112212212112221122212121222212112122112211112212121122212221121212212111111121221122112222122211222112122122211221221121111122211112222111111112111112211111221112111121212112211221211212112211212121222212122221122211222211221212221222211222121211112122212111212121122221121121122222122112121212222112121222122122121222111221122112111111112122121222122211121211222122222122122222121211211221212121121212112211112211122111222122222221121221211111121212112222121222111221211112211121211212112222221112112111121211221222211122122212112221221112121121112121122111212112212211112121211212221221112221111221212122221111221112212211221222221222112111111211121121112122212212211122122211121222211212221111121122121212221122121121212122221222212221211211122222112212222121211112122121212221222221222122122212211211122221221211111211121222211121122211111121112122222221212112112222122122112221221112222122211221112111111122222211222221212211111222122121222112211211122222222211112212211112122121121112221112111221122112221122121111121122221122211221222111121112221222221211212122212222111222122111212212221111221122221121212121211121122221212221111122211111222222121122222221121111111211121112212222112221221121122221111222212121122222121212111221111112122121212211211212212211122211111112211212122211122121221121221122211222111121211122111122212212221121212222121212121222121112221111112222211222111212221121112112121112221222212112112222122211122221112111112112111211221122222111222111212222111212112211112221212111112112211122111121112222111121122222211211212221211211222221222111211122221211112122121112211121212212221122212222222121221122211212222121121211112111221121222111212222122211122222211121112211221121212111212122211222122222121121221211122112112211222112212212212121122122212211222212122112112212211211211212111112111212111122221121111111212122112221122122111112111121111222111212112222111112212212112222112121112111121112121211111112121121212122112111221211221122112221211112222212211121221122121222122122211122211211112211221211111211222221121212211121111222212112211221111221121121211212112122121121121211222121211122121121122112222211222212222221122221121112112221111111222122121111112121121121222221221211111111212212112222112122122111112111212212121211221111221121212221121211111111222211211222212122122211221112121122212121222212221111211121222222221111122212211111121221121212122221211112211112121211111222212121121122111212211112122122122211122212222121122212121121211112212211111111122211112122121212112222121211222212222112212122112122112221222121222122211211212222211222212111121121222222112211121121111111211121122122122121121111112121121112122222112112221121222211211221211121111221212121111221221222112221112222211121112121122111121222112211211112212121122212122111122212121112211211212112112221122111111121221111111211221211222111121122211211111112121112112222111222221112221122212122112122221211212111211122221122211111221121221221121122211222221211221111112112211212211222112212122222221212111112211211222112211122122121111211221211211221212111112112221211112222111122121212112212111212212221111211112111211221122222212221221211112222111221221222122112222221212211221212211211121211121112222112211212221111111222121221222112111112221122222221122211121221222112122121211111221122112222122222122112212222211111221211111111111212111221122112122221122211111212222212222112222111112222111122221212221211212111111121111212111211221111121111112221122222212111212211112222212111212112122112122221212211222222221221111212112111111222211221222212122111222221222222122122112112111121222222211121122221111112112212122122222212121211212111212211211111111211212212122212212111212211211112221121121211112212221122212122112112112122222212111121221121211111212221212112212221211112111112222211111122121211122121221122212122112222211121211112221122112121111122121211121112111221111122211111222212221121222222211111221222122211212121212212211121221122221112212121211212211112222121121122111121122222111122112111121221122122121222121121222122111221111122121122211212111222211112112221122111122211212111121112122112111121221222111212111121221112111121211112112112111212211212122221122222121222222222222212121211112111121212111211111222212111222222221211212221111121112121121111221222112111112122212121122222222121221211122122112222222122112211221121122122222211121221222211112222112212111111212222221212122221112111212212212121222121211112222111121122112221212112222112121212212122111221112112121112222112122122221112211212221222221122121211222211112212122221222222221111211122111221222222122112212212111121121222121122122221122122222111222222111222122211112121222212111222221112111212122221122212121221122112221221122221211122121221121222111121222221212121221122122112211222221112122121111211221211111221111111122221121121222112222211221121212222221222221122221221122111222122111211211222112121112122122221112212122112222111222121212122121122222122111221212222121212211211212212212122222121112112221121122112212112122221212222211211111221122221112211222111122212211121211222212212121211222222222121121222222222111212111111112111222112221211222112111112222112122212212111122121122222111211122211211112121211122221222221121221121111212221222211111121222112122121221112121221212222212121111212222222112222221211121122112212212221211211211211122222211121222112112121121211222121222211122221112122122121122222222111211221221121122121112112112122221221211111122221222121111211211221111121211112221122211111212211122222222122121112122111211121112221212121211211122112111212111222121122221211222122212222221121121222122112111212111122222111212212121122121221212121222221112121212122211111212211211221211122111112211222112121212211121221212221112122221122112222121211221222211121221111121111122211221221122121111212111212122122211222211211122122212221221122212221212211211222211221222112121112222112112122112211211221211122221112111122122111122211122221221211112221112211212122221221111222222212211111121211222212111222222222122122112121122222122122211112211222122112211121122121212212111222221221121122221222222221221221111112121112221112212211112112111222222211221221112111211221211112211111122222122111211121222112122222212111111112212221112111212121121122121211221211121221111121111221212111212111121121111221222121211211112122111112121111112222112211221121111212212222221212111221222122212212211111221111121122212211112112112211221111112222112111111122122111122111212211212222212112122122211121211112212221222212212122111222222122211222212212221221212121121112121221111221121221121111112212221121122122122121112211211221122112121122221221122111222221211221112112122121121222112211121122122122211121122222222222222122212211111212111122121211121222122111222221221121121222122222211112212222212211221222212222211212111112112111222112212121121111222122221221112111112122122212111121112221212222211212221212222111121212211211111221112112121221221111121211221111111112111221212121112121111122222111222122221211221221122112121221212222111222121221121221121121221211221111121122111212211222221212222111221112221212221222111222122112111111221121112112222221112222122121112221121221221111212212222122121122111222211221121112212122221111112121112111112111111221221121122112112122211112212221122211211112122112212111122211211122211112212112121212112211111212222211121212212111222221111122212221112112112111221111221211222121122121111122111112212212222111122212111122212122121122121112121122222211111111212121211111211111112221212122111121221111121211212121112212211212221211111222121122122221211222221121211211221111211111222112211222222211212221211221122122221112222211121211112222211122111222122112121111222221122121122112112212121221211122122212111111212112222111112112212122221122211112221112221212112212211222122121112121211112212111121211112112111212121111211121112211121112212111212211111122222222122111221111222222121222111112111122112221112222211211211111121121222222112121122121211112112211212212221122211221212222112212121122211211211221121122111221121212122222112112211211212221212112222112222222111221121121211211122112211221221212211121222212111111111212211121222222121222111212112111121211111111122221122112111212122112221121221111121211211212121111121111121121121211221122211112122112212222121222222112112122111122121112112111121222212112212212212222222222112111212211221112121222112222221112111222122211221221112221121111211112112122111211121121112112122211122212222122212111212112111221122122121211112221212111111121121122112112221111212222121121122121122221222111221112222212112212112121212211221221111222212211221112111122111122212122211212122122112221211112112121121112212222211222222221121211211111212112221111221112121211222111121212222122211221212222221212221111121211212221211221212221111211221211121122111221222222121222121111221212221221112112221212212112121221111111211211221122121122111111222212122111222222121221111122121221111121211112122212111211212221222121222111122211222112222211212111211112122112222221211211222111211211122211121211111122221212211211212111111222221222121222221212211212211122221122122211222211211211221212121111122222111211212112121212211122112111221222211111211211221221121221111212221221222222112121212112211112212112112121122211122211112212212212122121122222111212122221111212121121121111112212222111212122212112121211221122112222121221221222222121211112212212212211122212112222221212121122121212212222122111212121221121221212112211111221212111112221222211122111112222121212211211122112111211112212112212121212122222221112222212211212211112122111212211212222212122222212211221211112122221221122112122222212221211121211112221211212112211122222212211112212111122212112222112111121111222112212211122112222111122112212212222222212112211212111211212122121222222121111121212212112121222212221122212111122121211211221112222221221222112122112122122211211112121111111222111112111221112211211112211211211212212212212212111221221211112212122121111222111122121211211221212112221111211111122222112122211122122222221222122221212222112122121112111121122211122121212111211222222212112211222121121121111122122112221121122221122121111111212112112121112121211212112122211221122111112211112122212112212212112112111112212111112211211122122222211121221221211221121121121222121221112212122211211121112221112212112122222111221221221122121212212211121212211121122211211212211211211211111122121121222222111111121222122212222212112121212111211221221112112221212111111121112122222221121212211212221111122221122211121121221111111211211122211221212221122122121121122212212222122212111121121111212212112111221222222121212112121212221112112122211211211212221111111112122222121212112221121222111221111222111112222121122212111212211221122212121211221222211122121122121212112111222221111112122112111221212222222221122222112211111122112112221112121212221122112212212211211211222222112211121111121221211221122112121221111122112122212221112222212111221112212121112112111221222221121221211112122122221112221122111222211222211121121121122222111121221112221212122212122222221121111212211111211222221212222211212222222221111211221122121212111112122122111211112222212221221211111212112212111211221211221222121112222121221222211222221112122221122112121222211121112111211121121111111222212222221211121112212211211122222121222121111122212112122212221111221122211111111221221212221122222221122111222122111211111221122112222222212121111121222222211221111121222122212111112222212221211222212222212221112111221112221222112212111221112212211112211111122112112221221112111122211211212212221121221221222211221211222222121121221212212212211211221121221121112112212112122222222222121111111211122112112222112212121221121111111122212111222211212112122211222222111111112112112221221221222211211111121122212222211122221212222221211221112212122212211111121111121212122212221221121222222221121122111221222122122221221121222112121111222211121221222222112122222211212112111122121112121121122221122121221112121111222221112122211122211222221222212121112111122111221212112112121122221111111211212211111111112111212212212111122112221211121212211211212222222212112221212122212212211122111112221221222122122211221112121211222121211122211112212111222212221211222212121212121212122222221112121112222112121222111211111222222221121122112122112221111111111211112122122122212221122121111221112112111121222112221212112111221222212122111112211121221111121121212122212221122121122212112221112211211111222112212122212222212211211122112222122211122211212212222221221121112222212111112121211121212212211112222211111211121211211111212212122221222122211221212122212221211211211122222212222222122121221111211122221222122122121121111221221121211122121122221112212221111212122112111122212221212222112122212111111122212221121222211122221212211122212112212222221222121111211122121221222221211121121122212111122212122221122111222221112121221111111212212112211111121212221122212222111222112122212212111211212221122121222112211211211222221122122122222111212211212221212222122121222122212221211221111112211111111212212221122222111222211122221122122212222222112112211121221112121212122221222121111211211111111221212121222222121122211221121122221212212121222111221111211121111122221211121212222111211211221121121111222211212221111211112211122221112221211121222121212122221111112111121212222212212222211221111121222111212222211212122112222222221121212222122111121212112111212212211121111212211221121221112112211122122212122222221222221211112222212222112122221122222211211211212212121112121212122122222222221221221212222211211211222121221212112211212122221121222122211111121221211121122211221111222222122121211111122112121222112221211111212111121222211122211122122211212111212211121121211212221212112211212121212121112221121212222112121121111111211221221111211111112122111111121122221122212212211212212111122221221212122212212221121222212211121121221121222211111211222122111211122221212122112211111221121111111111211212111121211221221222221111112211122112121222222121121211222212122221122121211111121212212112221122222221221211211222111111122212122112212111222222111121222111112121221121112212111111222221112221121121211221222212111112221221221112122112122111221112212222121221212211222212212122222212221212122211111211121222222212222211221221212222221212212122111212121211221212122122222221112121211122112221111121111112222221121221221121121112211121221221221122122221211122212122111122212111221121212212112122112112211222221221211111122121221211222122122222121211121121211222222122221221211222211121221121222121111221222211112211222211111112112112122112211121212221121221222122112121121122221211212122122111122112212221112211112122112212221212112222222121121111122212221211222122221112121121121122111111111212111211111121111111112222121122111121122221111111121121222211122111121112112121122112211111222212222121121112122121222221112212221211111121122222121222121112121121111112121122121122121221221221222222122122211121221212122212122222111222121212221121211222122112112221222211111211221112211222211111222221112221112122112112111222122111221121111122222212212122112111222112122111111111121222221212121112222211221212112122121211121221111221211212211122212122111122112121112121212212112111221212211122222211212211222122211111211111212211212211122212221122222221222121221211212212211211221221112211222122122222112212211211121112111212112222222211211212121222222211121121222211211121122121222211212211111222222211221211111221211211121222222111121112121211112221211111221111111111221112112112111212111211121211222221111122122121212221112222221122122121211121211221222212221221122111211222112111222212111111212112122112222121221221122111111122122111121221121222222212111122222111112222122121112212211121122212112221112212212212122122211222222111112112121111212212211222111211212211112121121112112122121221222122222112112112211111111121121111121112112112221121121121122212222112221121221222222211111112122112111122212222111221211111112222211112112222222211121212211211122122222212122212112212211111211121211212212212111222121111211221221222212211111211211111112122122121121222112212212112212222212221212212211112211112122111122121221122212221111212222212211211112222222222122121112121112111212121221222112111111211212221112212122212111121221122221222221122221111122222212121212221221212122121112221121212112112212212122121122111222211111222212222122122222212212121211111112211211211221211211112122112221122212111221211211221211111112122121112122112212112212221222212211111211212212122112211122222211122112212112121211221121222122222122222221222122212212211222222111221121112111111211111122112121111122212212122112211112222221211222221211212212111212222221111212222211221211122212221122211211212221112121121221222211221122122112122211211112111112111212122222211221122222122221122121122111222122121111121212121222121221222121212121122121112211121221222122212112212111111111211111221212111122212122121111122121222122211211212121122222121121122112122111111222121212112111122111211212212111121211121112111122221111122221211211121112211211222111211112112221112112212212111222122122212212111211221221221112121221222221222121122212212121221212222222221112122211121112221211222111111211121212221112221212121211212111211221221222211221121222222222112111222122122121222221221122211122112121221111112121111111221112121111121211222121222121112111211112211122222111121122212121211122211212211121122211222122112221122212112211222112121222211212111212121122222212222112221111122212222211111221211211211211212111221121112211122211212222121212122212211112212111222122211212112212221112111121211212112111221212221212121222222211121121222112122222111211222222112222121222222221121211212212212221221112222212111212221222121121121221221211112121211221112112111111211112112121212111111121211122222111221112112121112211121112211222221211221222111122112211222111221122221212212112211212122111111221122121212112111111111111212222122111121221221211121211121121222112111211111221212111122211111111112222221221211111211221111211122111212121112121112122222212122121122211222121222111222222122121211111212221211121112222212121211221122122221111111222211211211121111222122221112122222112112212211122212121112122222121212111211122222122221121222222121112111112212121112222211211112211112211111121222122222111111122222122111211112222221111211222212112111212111212221221212121221222221222111121222222221221111221122212112222122121112212111221122111222112211112111221221122221121121121122221121211211111221111122111212221111212122112222111211112212222212112122122121111112222111111112111212112212212122112211222121122211221122112221112121121211221112221212221222122121212112121211211222112121221122122121111211112122212122121212222111112122221112221222111212211221111222112111112112222112112221122122212212111112112121122122222212212222122122222222222212121111221122121112112111112211122211211222121121121212211221222221211111111122122221112121121121122111211112212221211121211112221122122222111112122212211221211121121211111222112111111121221122222111221122121212111211212222111221111112111121112112212111112112121111212222112112121112221212211122211111221221121121122122112211212211211111221121122111212222222221121122112221111211112221111121121222111212212111112212111211221122112121211122112121122112121121112112121211122112122122122222221121221121122121221121222111221222112122211222222111111111111222112121222122121221211122211222221211221221211222222222111222121121122121222121222112222121221212121122122222212212112222221212112211112212212211211122211221211122212211221211111112121221121121111212122211211121122221111121122211212122122112111122111112112112111112211222221112212212221111122121221122212222122112211211211111221222112222222221122121212112121221122212122111122222111221121221222211112121212221111121112122211211122212111212222111211121222111112222111222121111112211121111122122111111121212222221221111111111122122211221221111211121122221112121121111211211121221122211112221211221122221122212111111212211122112112221111112222221122111211212222222122222222112221111121112211112121222111221122212112221122112112222112211222212112121211221121121221211111122212221212122212221111221212222221222121122222212211211221212121111222222111211222212112112221122221122121112111212211112121122211222211221121211221122121122211112222111212212111221112221211121222222222221211222212211122112222211121122212111111212211111122211212222112111112221111211222122122212112211212221221212212221122222222112122121111222212211212222212211222122111211111211212212212222222212212212111221222112111212221222222121211121121112121112212221211211212221111112111121111111112121221212211121121212211122212221212121121212211211212211222122112212112111121211222112221221112212111221212111212121122121222121212221122122111121222221121122111212222212221121222111211112122122112212221111112111112112122211221122111112211222112221222112121121121122112111221121212211212112121211211221122121211112221222121112122112212121121211122121212112112211221122122111111122212121111112222221222111222112112211222221222111122211112211212111122122121222122212112211121222212222121221212122222111112211121111222112121121212111112122112221121111211112112222222221111211122222122212212221222211112111112222122121222121121121111221212121222212212111121221122122212212212211122121211212222122121221221122111211222112221221221122122121222122212111221221112221122111212211211112212122112212112222211211222211221221221212211112121211122112112211121111221112111211222111112121111112111112211211111111221221122221221122221212211221221211221222211121121221222211112121211211221212221211112211111112221221111112212112212111212121221122221221211111122221212212121121112111121222222112122121222222221112122111212111111121112222222211211212121221122221222221222222211211212221112211221221121222121122221222221112111211111112112222111121211222112221211212122122211111112111211212121222112121221211121111222111211222211111212112221111112221121112211111222211121212121221212112212221221111222211222222121121111221212211121122112222212212221222121111222221122121212112112211221122211211222221112122222211111211112112221222211121122222211111122221111122111111121122111112221222212211111222122122122111212121122112112222211121111121121111111111121222122122222112211222222222221212211121122122222122121211112112111212222121122212112212121221111211121112121222112211121111122211111111112222211221112212111221211112121111212221221222122212222112121122122222111112222111222212122111211111212212112222221212111111212121111212221221122211211221122111222222111121111121221212222112112222121122221112122212122222111212121221121122212111222121221221121122221111111112122112111111212122211111111121111122211212221111212111122122111211211221222122221222222221121221211111222222122112212121211122221221121112221122111211222112212211111221211111221112221122112121221212122211211211211122222122121222222121112121222212112222121211122122112212112112212221212222122122121222221212212111211112222222121112222111221221222121122211122221121111221112211211121212112111112222121211122221122122111221111122112111212221212111222111222112221112221111112221122211211222121212211221111212111122221111112221211111122221111222221222222222111122112121221122222121222121111212221212121111211222211111121211211122211212121122111112212121122112212212122212221111222122211122211212111112222111211212212221221222122122111111111221112212111122221221121121212222121122112112111112111112221212112122222212111121122221112221211221122211212122112211111212112122122222122112112222212121222121122121222121122222111111122111111112222222112222112111121211121212122211222221221211211211122112221111111122211212221112221222112111122121222112222111222211222111112111212222122112211221121121122221212111112222122221211112121221112112111111121211121122221212122212121222222212212222222122211222111221111221212221222121222111212212122221212222111111121112121112122112121111221121211211112221212122221122222122221111211222112221222111212112221122211121212212211221112111121111211212212112221222122122221212211121111121112211112211112112111211111212122121222121112122211111112221212222212112212222122111211212211221222112112222122122222222211122121212122122211211222212212211122112122122211122221112111122122222122112211121121112122122221212221222211121112221111121122122211112222111122121122111221112122111211211222121121212111122121222112121221212222122121121222121112121212121112221111121211211222111221111121212221222122221211211221222221111221222211112211112222221121211112111111122111112122222222212222122111121121221211222212121111212111112212112222221121112111122222112221122221212122211221221121221212112221111221212222211121111221212121112221111221211112111211121222211111122212112221222221122122122211122212112122112212111111121212212111211121212122122221121212211212212221112212121222121221122111112222111221112112212121211122112122122111111212222222221212121111211222222112111221211222222211112122112111222112112212122221221122222122121111222222121121211221222122221222222212222211211111221121212112121121121121222112211111221212222121121122112222221222111122222211111221111212211112112121122211212112211111221112111222111221121222222221111111212112122112221111122211212211212112112221221112222222112112121222121221212111122112111221112221122212221122111221221121111111222121212112121222222212121122221112112221121122122212222111121121111112121222112212212212222111112122211211121222222221212211122222122111122211122211221122212212211211221122121212222212212112112111122222211122122112111211211111212112211212121222221212221112112221122122121111211111111212122211122212211221211221222121221222212112221212221111121222111211221212212221111111111221122211221212212122211212122122212212111222221212221221222221112221112111112111222222112112221222121221111221221221212212212221212221221122111211222211112221221112112222222121212112111121111122121121221212212222111222112211211222111211222122112111221122212112212221211211222221122222112222222211112212121212122222222111221222121112212221222211121111122112222221211121121111222122211112212121121212112112211122121111221122212122221122112221112122222222222212222221222211122221121211211222122221112211111222221122122212222121221111212111212112121212121212222112212122221121112112221221112211221111221211222221111122111222221212112121112122212222112212111121121111221222211221122112121222111121221112112111212211211211112222211222121212111122112222121221111111112222221121122112122211112222212111222112121221112122222222221211111221122222121111212111212211122122222112111111221121211122112212222122221212211112121212221111212222121121221112222111212221222111122122222222121212211211111222121122111111121221222221221122212122212112122212222221221122122211222121222112221121211222112112221212121111122121122112221211212122212112222112122111122112121222212121212212111111211211221211112112112211222211212212211212221221122111211122221111222112211112222111112222122121112122112222122112211221212211121222221122221122122221211111122111222111221211222111112221221112111211221222211212111121121222222121211222122222212212121112221221211122211111211222122111221212221212111221221211111121211212212222112111221221221221212111212112122212111222221112212122221111222111121111121211211111121112111111222121212212222211112122211121212121221111211121221222222112211212211211122221222211221111112211111111212221222112221212212122211111122212121221222112222121112222222222211222212211221212221121112121121222122112211111212111221111112112112121221112122111112221112221112211121221121121122212222222111212211122222211111121121212221221221221212221211122212122221111121221122121221222121121222121212121112121122122212211122222212121211111122212122111221121122112212221221111122211112111112122221222111112222222112121122122222111212121122111222222112122211211222111122121111212121211121112112121121111211112221112111112112121211122111221211112221222222212211112221121221112121121112211122222211122122122121211122122212122212112221211211111111211111121221112121211122222211121222212112222222222211122222221121112122211211221112122222212122122212222221111122121211111222212221111111212122211122211112221121211221112122122211112222211221221112212122212212222122111112121112121211211211112111211121111221111211122111122211111111111211122211222121222221222212122211211122122111121212121222222211111211112111111211222222211121122222221122121122122121121121211211122222121222121222221211121222121112111112222111122112211212211222222111211121222221212112112112112111112212121222221222222121222212221221212211112122112111212121212212212122112111221222222112211222222211111122221212222111112121211112212221222222212211111112121112211121122111111212122222112221212121111121121212211222222111222112221112122211221112112112121222112111222222111111112121212212222222211111222112222221112222122122111211111122212211212211111221222222112122111222211212221121212222221112222222222211212212211221211212111222112221121121222211121222212122212122212212122111111121122111112211121122211122121121111121111111111122122111211122112122222111111212211212112221111111212112212222112121212112111121111112111111211111221222112222211212111121122121211221111211121211222221212111221221222111212111222222221122111222211111211121211222212111111122222122112221112221122121211222221121112222112221212222111221112212121221211112212222122111121121112222111111212121122112121121212122112211111122111222112111222122111211221212211222122221222221212121222121211122222121112221222122111221111211212222221111122212111122221221211111111221211121112221221121111221221112121212211111122121112211121222222112221211212111121211222222221222122212121222221111122221211212212221212112112221211121222212122221212121211221221111122222122222111111221211211122111121221112221112122112212111222211222211212112212212111121112211111221121122212121222112212121222112121111221221211211212211222211112221212121112121221122222112211121121121211122111212221212211221111211211112221211112122211121221112112221112111221112222221212111222221211122211222122211112111222221112112211221121112212211121111222122111222221111111111211121111221221112112112211111222111212222211211121211112222112211221211222222211122122122211212221221221112121211212122211121121222222122111211111212211121122122212222211212211211112111221112212112221122222112212221111122111121122212222111212121121121222122121111111112122122121222221211112121222112121212222112222111222211222112121111221221222122112222122122211212211221222222122222221221211211211121122121222111122211212211112221221212121212221122122212121212111121221121212111122121121221111111122211222121221222122111112112111112111111111122112112221122121211212122221212222111221111122111211121222121112111211111212122112221211112112122121121212121121212211221221211221121222211211222222211111112212222221222121212121211212122121122212222121121211111111111121111212112222222222121111121121111221122121211222221221111221111121221122112122121122221222111222111212111211111121221211222121211121112121211212122221222121122121222211121212221122222222211121212121112122112222112211211111121221122122211121112212221112212112212221221121211121222222212112211212121222122111222111111121211121211222222112221222211111221212211122112111222122212122211212222212121222121211112222222121111221222112212121211211222111221112122221112111121221112112221111121121212112112222221212121222111212112122222211211112121121212222222122221222222211212122122212122212212222212122112211121211222121121121112121111212111122121211111212121121212121122222222221221212112121112111211221212111111211122111111222122222212122121122112111111222222112111121211112122111221122212222122211212222211112121111221211122121122222222211221121221222121122222122111212121221222221212122212111111221111211221111222222112121212111221221221111211222222222222111111122222122111212222221221121122122112212111212112211212221211212222112211112222221112122111122122221111211221112111111222222221211111211212211221211111111121122112122122212121122222122122112121221122211111112211212222112212122112112211121222221221111122112111222121112111122121112211121121212222121122221121212122122211122122111111121211122222122222212212212221122222112221121122211121122211112112222121112121112112221222211122111111121221211111121212222122211121111111122111121212222112222111221212111111221212111122221112111112222222212212112122221221222221111221121111212111212221122222222221122212221111221212212221222121112221211211121111112212221121212222211111122122121111221122222111121212221212212111122211122222221212212222112221222111212111212121221111221222221111121121112111221211121121211122222211122221111112122221112222111111111222211112222212222221121111221112122112121112221211121222122111211221122221212222222211221211121221122112111122112221222222112121121112121222221212121121111112212221112121121212111211211111111211112121121121222221222212212112221112222121222211112211112212112222122111212122212112222211121211121212211121122211112122221121222212222221121211212221122212121111221212212212111212121222121221111111121212211222211111122121121111121122121121111221222212122222112222112122112121112221212212122221122221212221211112211212111122222211122112222212221221122222112221212122111122122221211221212212221212112112112121122111211222112111112211222222222111221211221122122111221221222122222111122121122211221212212121111212222121222211221221211122221212212221111121121111211121111122212112121111221121212212122222221221221122221222221112212221212212221122111222212122122222111211122212211121112121121211121221221112111222221122121112221112122121211111212211111212221212222211211221112111121121221211212211111111221122221112221221111221222122221211211222222111111121112112112221112211222112111221121211112221112111211122122221222112122122212112211122122121221112122222222112122111211122112112212112111212221212111211112222212212221212121222211212111122211222222211112111211221212221121222211222221222121221111122112122121111222212121212212111121122112211221212212222222222212221112121112112221222111221112112121212112211111212112112221222121122211112222122112121121121222212211212212121121212112212222121112121212122111121112211222221121211121222111211221222222221111122121122221221112121111222211212222221211222122211211221121111112111212122121112122121222211122112222211121212121111111121122212112112222222112221211222222212222112112112122112121211211111111122211211122121221112112121122122212112112111122111222112222111112212221111211211122221212211221212211222112212112212111211221121221112122112121212121122212112122112221112222212221121111121112211222111222112122121111212221222121111222222121111211222221111121122211211122121122222121112222122212112221121212112111122121122122222111212212222211112112112122221122212222121112222221121211221222112211222121111212212212221222211222112221121112112222222112221211221211212211212122211111211211111112212212212212112121211212222111221111122112212112121211122222222121211112121222222122212122221221211211212221221121221111211122112212122212211211121122122121211121111212211111221221221112211211121111112112111121211112121112111121111212222212121222221121222111112121112221211112121222211212222121121122212212222112211122121111222121212111222112121121121212211121222122222121221221211221121121211221211122211222111121222122122222211212111122112221111222122111121112212211122222122122212222212111212221212221211211111122212112121121221122112221121121212222222222212221221212122221111211111221112112222212221222122221111122112111112212221221212212111211222212112211222212122211211221221211211221111122111121122222221122211121111222112211111112121112121112111222211112211111212122222222122121222121212221122112112212212222222122221122221111111212212112212221112111111222221211112122112121121221122212221221212122221122121211121212212111212211211112112121221111111221121211111222212122111222212121112111112122221212111221222212211211112112212122222221122212121222222211121212212222221112212112122111112212221111112212222112112211222122112122112212112121111121212211212222212222111222222221212111212112211111122222221222221121212121121111121222121212122121211212212112111122211211212222211222221211112222121121212212212221222211111212112111111122211211222112121211212212122112221111222211222121122211111222121212111122111211212222112222111211111222221122112222212122122211122112121112111111211212221212122112112122221212122221121211112221111222112212222212222221221121221121122122122211111221112221222111221112222111222211122221111111222212121122222112122122211112212222121222211211212111211112112212112211221222222121211211111112211211111122121111121221121211111222111221112221122221221122111121121211212111122211121111122222122112111212212222121112122212221122222122222111121222111122111122222122111122222112221122122222222121121122211211122122222112212112121121122221211122121222211122212221222212211222112211211212222122221211212222211221122112121211122212221112221212122211211122111222221222112122212121221112222212212211212221111222222222122222212121212112221121121121211122211221121211122122211221221122222212122122222111121121121212112221122211212211221122222222112111211222211221221122121212212221222211212212222122121212121212212111112211121222222221212111111222112211121211122221121112211211211111212222112211211111222222121111212221211212222222212211211121121211112222112222211112112122112112212111222121211221212121221212222211221212222121221212122111212122221211111112222111111212222212121111122112111122111112112211121212121111121222111212121221211221212121222222211112221112111111111221221112121111112121121222212221121122212222111211121111221122121211112212211121121122122222112121122221111122212122111212112221221111112221221112122111111222111212222122222111111112212122111211112211221121122222112221212211221212111121111221121122222111222121122222121122122211112121221112212111222122211222221222221211222221222122212111122112212221122122111122112221122221121122221122121121222211222221212221221112121121212222121211212221122211122111212112121221212112221211112111222221112122111221112221212211221122211212221122221122111112212122211122122221212121111212121121221112222121122122121111111112211122212221211221221112111112222121211211222211222221111112222121121112211122221111111221211212122112212212211221111221222211212211112222222122221211211112111222211212111121112122222211121222112121211221211221221221221111222211212121121211222212112121121122111212121222221211122222112111212222221112222212121122212112212221111211221122121111211222111221211112212221122112221212212111121212121222122221211122222211222211211211212221212122221122211222122211221221112221122221212122111122122222222122212211222212112121112221212122112111112111221211112212112112122221121111111212121112112222221122121222212211212121112221111222211111211112221111121112212211222211112121211121112222221221221212211211221212221211221122221211121212212111222111122221111222211111122212122212221121112122112121121221221121121112221212112221121222222211221211111212212222212221212222121221221121221221221121211221221222111121222111212112121112112212212211221121212222221122111212211122122211212222112111111111212222221111221221222111212212111222221211212221211122122122122211111211111222121221122111121122212211222111221221212111121112212211111121222211211122211221222122212111112111122221222222111111222221212121112211211212211222222212121221211211211221122112112122221111122122122212222212212211122122122112212121122121212111221212112122222121122221112221112121122112111121221111222121122211122211121112222122111221212221111121122222111222222212221211221112221112112112122112112122121221111222112212121222212222122221211112112121112212222122112222212222212222212212221112212112112212121111121211121112211221211211121221112222122122112221221112122211112112122221122211222212122222111112111111112112221111121112122212222222121211112121211222221212111112111211212222212212112111111111121221122222122111222212212122111222121112122221122212121111222112211212221112111112221112211121111121121121121211112212111121121112211212212211122111111121112222211222122122221212211111112212112121221212112212212112211212212121221112222221212112122122122121121222222122111112121221222111122112222121212222212121112122112112111222112211222121111211111111121212122122221111121211211122211222122122121221112122212211122221212211222111222212112111112112121111111111122111211222111212122221122212112121211121221121221112111121121222112112221221221222212111222111111212221222211222222112221211112221222112211122221112221212112122121222121122212222212221121211111222222222221111111222211211111211221111111112221211221212121211121122122112222211222222122122221111222211211211212111111111221222111122121112122122111121222122121221111221211111212222111111222212221211121121111221211122112111111121121212112111121221111222121122121122212211222111221122212212222211211112212222111221211212111211112212211111212122121212212122222111111121121221212222222112222112122212122112112222211222122221212211211112121212222111211212122111111111221121122122212222222222112111112211122221122212211211212211211122222222212211211222121121221221212122121221112121212112112111111222111111212111111122112121222112212212222122112122112222111222222122221111211112221112112211221111211221121212121222121111112211221222121112212221221121212212112122212112111111121211121111221222222221221212112122122112222221222222121121211221121222221222212111212222222211112112221111121122211222122212121212222221122222121222121111122121121112211212122212212211111212121122121121211111212211212121111221221112221212222112121211112221111112111221122111121122211212122222112211111121122211212111222221112112112121212212221212211222212112122212111212112222221112111122111221212121222222211112122211221211112121112111112121212121211111212112122221211121112221222212112222122122111212111222112211222221212212111112111121121111211211112221122111112211111112222121221122122122211211212121212122122222221121111111222211212211211112222112112222221112112212212122112122211211121121222122221112111112211121112112112211221222112212222222222222212212222211211211112211121212111221111111211221212121112112121122212121121111212112211122211211112112221121122221212111222221211222212121111212211121111111211111211221211222121112121221222222111211111221222121121121122112122121211112121212112211221211212122222211111212111111122211111211222211121222212211212112111122212211222221121111221111122111212122211122212222121112211111121211111222221122221111111212221121221212221111211121212222212111211212221222111222112211121221211122211212112112112222112111212122111222212211221211211212212211212211212211112111222111211112111221211221221121212111212111211222222112111211121212112211211112111121111121111122111222122222222122221112222112222121212111121211221121222222211221122222112111222121111212111212121111222112112111122211111222222211122121221222212222221111221211222122212112221221212222121122121112111111122122211222121112222122222121221212111222111112221111211111122212222121221112111122212111122221221212222221211112211121111111111221211212122112112222121121111222112121122122122212121111212222122221111121122112121122111122121212121221211221122112111211222222212121112211211221212212221212112122221112121211111122111211212112221111121122221112121211122222121111121222222111222212111221112122122212212122221112112122212112212111211121222121122112221122211221111121122112122122222111221211222222211221111221112112112222112111112222222122222111121221212111211122122121121121221221211121222112112112212111222211222112122212112222112122122221212112211221122211211122211122222121222122221222222211121111112222121212222211211221112221121212122211221212112211122122221121222222111212222121221112121121212112211212121222212212221111112212112111211111112221122112122112111212211212122222112212211122221122212121121212122221211221121211122211212211121212212122222222121212112112211222112212121222121121211221111122122212122211122111121211112112222211222122112121112221222122222212222122111121122222222222222221222111221112122122112211112212111211221121221121122111122122121221222222121221221211212212212222122222222222121112122122112121111222111122222122111121112112211211212122122122111212222211122111111112211221112222111121212112221221112221221212122112221122222112211211221221222112112122112121212222221211122212212111212111221222121112121212112112121111222221111212222222122212221222122211112111112212222112121222111121222211221212212211111122122121121121122221111111221211222112112122221222112121121122212112121211221121212122211112212121111211121111212212111121121222221121111221112122221111211212112221112212121221111211222222112211121222121121111111111212211122221221221212121211221211112121211221222111121211112212211222211122221222221211211121211121121212211112111121212212221211221112222222122212122221122122221112222221212221121111221211211112111212222221221111222211112122112222222112112121212112222121111221111221211121221122122222222221122211212221122121122121112121211212211111222212112122112112121212221121211112212112111221111121211122112121111111112122112211222212112212222121121122121122211212221221222121121111221111222212111121122222211221212112122112121112121122122122222212112222111121212122211221212221212111212211121112111221221211211222221121211111122121122211111112211111112212112111211122111112122222211112122221221111222111111112212222112221122222111121211121112122221211211121212221121222121222112112212112221212112211112221221121112111112121121121112111212112111122122112222122221112221112111111121112111112211222221212112111111212212121222121112222112122121221121221212211111221212222212112212112121121111212111112112211222122112221222121221122121222122211121212122212112122211112122212112111112121111211222221122211212211211111112121221221111112111221121211212111121121212222221122122212211221221122111221112211211112122122112222122221112222111212111121111221212111221222211121111122211111122211122122121112121221122111211121211111121222212111122111222112222111112222121222222112121112122221221111211222122212121221212222122212122222212111112212211222212211112112122122212111121122122121112122112211211221221122212112122221211121121211212121112221211221221112111112122112121221211212111221222211211122211221212222222222121221222112221211211211122122211222122122211121222211112112122121121112212221121122111211221111121212222112112221211222122221211221112111221222112122211211212222111212212222221222122222122212121122222122121212211121211221121211122122122222122221222121222221122112112112121111211222122111111211211211112121212121121111211112222121122221122111211222211121211211221221211212121111121121112222122122111211221112211121222112121112221222121121122222121111112121122221112212122111122121212222212122221111112222111122122212111112112121122211211221122111221211211211222121112122122222112121212211211221112121112212211111221112121121121221122112112211112221212111111122211222121211212121211122121121122121221121122222121211121211211112211221111222121122211221221212112112212111122212212222212111122221121212211212122112122221121111121221221221211212121112112222211111122212121121211121111122112211112122222112221211212212212212111112211121221111121221112221122112211122221212111211211222111221121222122121121212112122212112221111121221221212112211121122211121212121121112112112212121112221121212211121121112112112122121121121112221212212111222112212122122222111222111122221212212222221122211222111221121112112122211122111212211112121112111112222112211221211121121112121112111121112112121111211222222121121122121212122212122121122112122211222212222111111122111122111211121221222211221222211221122122111121111211111221221222121112121122112121222221121112222111111111221112122211121122211112121221112221111112221222212111211112111111112211121121212222222111222111112221212212121111222212121112222221221112222122221222222222221212212221122221111111212121212212111112111212121121211112111121221122221222211222121112212122111111211212121111221222111112212112221122222211221222211111112222122211121121221122111222211222122111222122221111212222221121211122211122111122221211112212112112121122122222112122222222212222221122111221212211222122111222221221211211111121222222211222212111112211212122211122221111221222121221222111211221212111221221112212221112212221122122212211222112212111121211121111111211111222211121222211112221122122122121222211112211112221122111222222122222112112122221122211112221221211222221111121112211122211211112112211221121212211212111221211211211222212122111112212112222112121121212111221112121212221111222221121211221211112122211111122222221122112222221121122212212212222222122111222112222111222221212121111121111121211222111122222221121112221112212222222222211122221122122112211112121122212211221122121112211212122121111112112211222112221112211221121211211211221222122221221111212211111211121121111212122111221211222111122221221222121112212121112212212111221212222222121121111212212122211112212111212221112122221211212211222112211221121122121111112112212111211211112212112211221212111112122122222222122221112211221121112121222111222112222111221212221111221222222121211112211121222222212122112112111112222212221112122122221122211221211221122222212121121111222221121221221121122121111221111112122221111112212122211121122112122111112222112112211212121111122212112222211221212121212212221112212112121222112121211121221121111211222211222122222121122122222221122121122211222112121121212212221112121111121221222212121221112212122111122222112211212112122111222221112121121111211221112121212111112121121121222222111211211221212222121222211111111222212111211112212212212221221111121222122122212221211212221112121121112122122121112111112121121111112121221211212211122121121122121221212122121112111121211122111211222111211221121211121122211222221221121221111122212121222112212121221111222122121211222112122211121211211221211212112121211122121221212222222112212112112221212111122221112211121222122111112221121112111222122211121112121111111122112211222212111212212111222221122122221212122112211222212121112112221112222212222121212121112211221222221111122122112121121111211122111111211211211122221211212211222212121221122122211222221222222122112122111121221121111221122212122112221112211121211122222112122221212222221122221221122221211121222222222121212111211212112111221112222121111122212122112111121112211121221112121122121212211212212121111122222112121211112212212112111112211122112212112212112111112111112111122112111222112112222111112121111111121111211121212222222112211211122211122112112121221211122221111111111212222122211122122111222221212222221111121122211221121121111212111222111111122221222112122211121221222222221222221121222121222112212122222111211122112112122121122121111112112121111122211122211111221222112122122221212212122122212222212222221212212222122221212121222221212122111121112222211211121212212122212122211211211122111221211221112112212112111112222212111122112112212121212222121211111121212221111111112121122121221221111111111122221212121211112222211112121211121112222221122122112211121112112112111212121212111222111111122211121222211221121112111121221211211222122121221221121111111122222212212112112121221212221111222211211112111221212212111221111112111222111221221111121112121211221221212211211221112112122212121111111222122211112221121111121221211222111212222112222211111211122212111112112112121112221221221112112221112121111111121121211211212222111211222111121222122211121221122112222121211122112222121112212212111112221211212121222112212111111212121122111121121211222212121111121212121121111212212221122221122221212211111121111112211211122212112122211211222212111212221122112121212121121221112122111121111222221221122112222122212112121212211211111111221122211112112111122211212222112112212112222121222212111222222222211121122112221111222221212122111212121211121211212111112222112111111122111121121111111112212222121222122211112122121122211221211222222111211112212111121121212212122112221112121111111121111111122121122122122221122211221211221122211211222212111221211122111211222111121122121212122111211111121121111221211112212111222212121111111211122222121211121122122212111221111211122221221222211112221121111111111211122111211111112122122122221212121221221111111212212112121121222212222121111111112211112112221122112121122212122122211211122111111212221221121222211111211222212111211212211222111212111112112112122112221211112222111221122222122211111121111112212121122221112221121112112121122211112111221222122112122112122222112121222112222211121211211211211122222112121121212121222111212221121122112112211221122112121111122211111211111212222112122122111222122122111121211111212111211122121221211121121212222122221212121222211112212122122212111212121111212111211222121111111121211211121221221211212221221221122212111222211112212112211222211122211112222212121121122222121212111122211212211122122112222111121111122222211211211211212211121122211212211112222212222111212112112222111122111121221222112111212121211111211122222122121122122221211111121212111221221211221222111211211112221212111222222211222221222121212122111111211212112221111211122121222211221211112211221122212222121212121121122212211222111121212122211212211222212211211221122121112212211112121222212111111121112211121121211111111211222122221222122211211211122112122121111211212221221221221212112122121111122111221111112211211112121211121111112121121112222121112212121111222121112212112212122111122221222112221121121111222122121221122212111212122122111122212112211222111121212212211212222221111222122211222111221221222222221122111212112112111212212221221222222222221211122212211221212112222212221212112122222222212211122111221222111222112121111122122222221111122221212111221111112212222211121111212111122121211211222111112122111212221222111121212212112121112111212212211211212111212111111111122212121122112112112122222112212112212112111122112112122221221211111111122121121221212221221111222221111222112122121221111221122221111211212112121221122112221221112111212122122221121221211121121122222212212112212222112211212121112122212122222111212122222111122211222221211121221211221212211222211121221211121212111111121112211222212212212212122112111111121112221122122221121121221112221111221112211121112221211211121111211111211212221221111121111121221221212222212112111222111222222122222121222222211222111121111212121211211212112222112112211211211211211212221111112111221211221112112211112221112211111111212212121121212122121122121221221212111111121221212112211111221211111211212212112211112112212121121212122211211222221112212111122112212211221221122111111121212112212212211122112211122211111212222121212122221122211111111222122222112211112122122211111122211221122221221121221121121122211111121222112121222111121221212221121211111111222221121112122211111122122121212121112111121222212211222212112122222212211222211212222111121211121211222221121211121221111222221111212112212112122211221222211221222221122211121222212212122121212121221122121221111222121122211112221212212222212211221121121111212111211112121112222222221212212122122122121211221122212121222212212121211121221221111212221211221112112112111212211111211211211111222111111121112122122111121222112211222112122111211222111211121212211111222112122211112212112121111211212212111221221212221211222111112122111212221112111212221212111211211112212212122121221122212212111121122221112111122122222221122111112111221112121121221221112111222111112122111111211211122112222112211212111112212222222112121111111121112121122111112112122112121211212122121221222221111212212121122111121221122111112111121112112112112121122211111122122212121222211212221221121121112221211211122222212112221121111212122222221212221221212121112122221122122111211112122212221111121122122122112211111112211221222122112222112122212212222111211111122121221122221211222222212111212221222111122112112112211122221122211112221212121211211222221122211221122111111222121122112121211121122221211212121121212212121111112211221212211212111211211212211122121212212122222111122122212212222212212112222221212112211122122221211112212111122121211211212211212112212212212111212112222221121212212111112212111211111112121121121122122222111211221211112112122221222211221121221112112221122111212111221212111221211112121112211121212121121112122121111212111121111221221121211212112112121111222112221212112122211222112111211112112222221222212222212211121112111121212211211121222222212222122211212221111122222122211221112122212212222222212122221221221111121211211122211112212222222121212221122112211111122112222211221112121122121122111121212211211121211112221211212111212222221122112112112211112211111211211212222112222212121111112111121112121112111122211112112221211221211222222222212121111112112112121121221211212221122112211111222122112221222222121221122111112112211122212121222122112212111212222221211112221112112112121211112221112222212121222122112211221211222122121112121122112111111112111221221222212121212221122112121211112112112111222212212122121111111221112111211212211212211212212222222121211111121212111222221211111222221221221221212222121211212212112221122221121111111121122222222212111112211122112112212212211121122211222111121211121222111112121112221221112212222222212121221221122221222121121111111212111122111122122222221211111111112111111111112112222222222211211212222221221112112122221211122121211112111212112222122221112121112122121211221111222211211222111221122112111112121121112122222121211121121111222212111112222211211122121222211222112122111212222112121221111112111122122212221112112222221221122212111121222221111221111122222121212112212112212221222221221221121211112122222122122211212221122222112112111111122221111221112211222212221111112112211111222122212222211121221211111221212221222122112222112112221222211121212211121211112112111121111221122121222212212121212221211122222121211212221111221211211111111121212121212221122122211222111112111221111222211221222211222211122111221112221212121122211112211112121212122112112212112111112121112112222221211212112112121122212112222222122222121211121111112211221212111121222122111121211221112121111221212212211122212111112112112212212121122112112221222222211212222222122211121121111211122222211112111122111221211122221122222211121222211222212211221211212221212122112111111222112112212212122212111112211121222112111122222122212221222212212212121122222121221212221111111221111121212122112121121211121221122212212122222211122121111212222111221211121212112211222221111111221212222211111111111211212221121111221111221221212111121212112111112211121121121122121211221211221221112112121112111111111112121122222212221111112112221121212112221112222121122122222211112211222212121211122121111212121212112221221221221112212211222121221212112221112112221222222121211222121111212122111112112212121221212112122111211122212221121121112112221111122222222212211111111211121211222122121211112211221111212112212212212111121222111121111111222121212222112222212211211121122222112221221112212222222222121121222221112222122222222222111212122111111122112112212122221212222122112122211221122221111211121211112111121212112111222221212111212112111121112122211221212112122222112222111121221122222221111211122112221221121212112222221122211122212211222122111121111112122211222211122211122112212122121222222121221111121111221222211122111212112122222211211212212121122222111112111122221212211211212111211111221111121222211221212222122111221221121212221222221122221122222111121112221122111121111222222111121121222221111212221122221221222212222211211212212111111221221112112212211211122211111222121222112211112111112121122222212222122112122221112112221211111112111221222111121122112222122112112112112122221222111222212221211222112122121221221111211222112222121122122212121111221221211111111122212111122112222221211122112112121122112111112111111112211111221111221211211222221112111211212122111121122111112121211221112221221121211122222111212211121122221112112222212212211211221111222212212222221112211121211212112112111122211122112221121121211212222111212122111211212211111211122212122122111211121121122212222122211112212221111122112221122221212222221122111111211211111122211211212222112222122211122121221211112222121211112111212111222221112121112122221212112122211221211121122112221221122211211212121122221111122211212121212222122222111211111121121212112222221211212211111121211112222221112211222112221111222222211122221112121221211211122212211211221112211212112111122211121222121221221112121111222111211111221221121211211111211221111212222122112222111112121211112212111212121211122221222111221122211222222112222222121111221111111122121211112211222212212211222221122221221221211221211212112221122122221211112221111222112122221112121222212122111211121212211211211212121212222122212222211121222121222112221121112211121122111122111111121212112221211221112212122121221112222211212221222121121121222211122222211112222211122122112221122221121212211212112122221211211222211211211112112212121222121112111122212122212122222111112122221222112122111221221112121211111121111211112222112121112122111121112212121211112112222221112111112211212211221121112112122212111222121221121112212212122122111122221211221221112112122111221212121211221212212212211211222211112121112112212121112122212212222211211112122212211211111212212121112121222212221221112211221212222122221111122111112121121122122211211122222222212121122211212121211222111111111212212211112212121122221211111211122212112122221212221212121112122222211222222111122121211222211212112112122121212122212211221222211221121212221212112112212222121212121112122221222122122211121211121111111212112211121122222212212221222121121221222111212112121121121112111222212221112211211111221111221211111121221211111221112111111112221221111221111121221211221112122112111222221222221121221212112121112121222122121221111221112111121212121221121211222111212211112112211111212221211212221122211111222122121122122112222111121211221222112211211221121212222221111212211212211222122222221221111121122122211211122121121111222121222112121112221211112222221121111212222112221211222221111111112112122222211221222121222121222112211121211112212222112121121111221211122222221112211122222122212121211221222211212111212212112122222121112112212211122222212212212221211212112212121121211121112112111112122122122111111211212222121222221222211112212111122121222212211122211212221122212211111222211121112112211222221221211122212121122221122122222211211212112111112212111111221211121222112212211212122111121111212221112221121111222121212212221211211111211222122211112212221211111221211122121212211122112122212212212211212222222111212111122211222221121112211122211122212222111211212222122211221122222122211111222212112122221122211122212222212111112211222221122111121112211211111221112221211221222222121221212122111212211211221121222121221222211211112221121121111211211221212112211211121212121211111212122211221212122111212211211121111121222222111111222111212211211122212212212112211212111122212211221212122222222112121212222212111121122222222211111212212221111111111211112222122111221212211221121111112121212122221212222222112121122211112112222112111221122222111211222222111122121221212222122121211121221212121211222222221112212211212112211111222121222121121112222122121212111121122111121122122112211112112112122222221111121211222122221222221122122121221221222221112222212122211121111122221222112111112212222221111122112212111212122111211121221211112112122121112221122121212222222221112122121111221221121222122112222111112211122122122112222212212111222122121111222121211221111221221212122112111122221122111122212211111122122122221222122222211111122112222112222122122111222211211211212111111212111212121222122121121211122221212221211221111112111211212111211111222121121111121111111112222221112212122212211112112212212221122111211112111122111211111111222112121211211112211222222222111221211221121111222221121211121122121212212111111112221122111111121221112121222121222121222221221111221112111222111211211112221221122212121211211121112111212221211211211112222212111222211122112121222112121112221112121212212211122221221112122112121211122112221112212112111211111221112121212211111222222122211221121212112111211212212222112221122122112121222121221211211121221111121212121111112221221212112112221122111121122221122122122212222121111111222112111222211121221121212221111221211222121121111122211112111121112212112112221111221121121212112121222121111211112221222221112211222221222222212222111221222122122221221221222212111221112222121121222212212112112122222221212122112112211212211212221121121221212211211121221111222222111211212221222212112222211121221112122211211221111111211122122121111122211111122222111112211111211211212222111112112221221212212112211211111111221222222222221212112121121112121112212211221112111112122221222212121121112211212221211122212111112221112112221222221112222211221212212122122212222222122112211112121222121211221122122122211212122112211112122222222112211221111111122211221112112121212122212121221212211222222122222212222111212112222221111222112212121222212211122212112112111221111212121112221222121111122122112122221212121222222211112112221212121221111122211221122221222112212221112111122111112211111122212121112211221212121221222112121212122122221121211221222221212112112122221211221222222121222112222211222112211211122122221112122221121112121212111212211122211122212222111212122111121221121221122122111222122111121221111222222212121121222121211121212211212121221211211222212121122212222212212211222221111122211222211122111221121221212221221112221112211221211121121221112212121211211121112222222212111221121212221222121212112222212211212121212112112111212221112222222221211111111211212212212111212122121211122222122111122221221221212112221121212111211122111111121211212221211122122211222211122111122112111112122222121122111212212121211111111222121221211111112221122121212121211222211211222221121221122121111211212212122112121112221121112112121112112111221212212112211221111111112121121122222122111122211222222212222112221111221122222221112112111221121212211222111122211111111211112212121211222112122222221121121112212121112221112122222111212122221211122112212212121222211221211121211121111212221111112122211211222222222212122221112221122211211112121112211211221221112221222121122222222121112211112111112212221122222211221222111112112212122222111221221221121121212112211211112111222111111221121212121222211121212212111111222221111112122212111221212212211222122222212111222221122122222111221221221211222111221112122211222112111212122111121221122122122111212221122222212222222222211222212112212111222111122212111222121122112221221221111111111222121221211211211211221122122212212122122212111111221222111122111122211221112211211211221211221121111111212112111212122221121111221222112212221211222211222212212121222121112211122221221222211211122221211122211212111122222212122222211112212221121221121111212112121122221221211121122111222211221111221212212111222111212111112222111212222122212221221111211121121122221222112212211111111221211121212122222211212212212221111211212121222111121222211212211222221111222111212111122122112211121111112122122211212112211111112222111112212112212221112111212112222122211221122121112121222211112112221222122222111112121212122121111221212211112211111221221211212221222122122212111111111212112211222222211121221112121221112112212222212121111112222211212122112222121122112112121111112212212121112122111111121122211122212212121122211211221212112221211122122122111211121112221222222112221211122122112112212212112221222212112122212111122122121211112111111112112122122212121112212111212111211112122222111211221122222222221222222211121212222212121112121211212121222212212212212212111112112111121211221111212212212221212112112112221112221112221122212111222211221112212221112211111122222222211221211122111212212222121121112212221111112111121112122121221211222121112212111121122211211221112121222211121121122121121212211121122111211121211222122212221211221211211122122211212221111222112222221122112211112212111222212122122112111121122122212111122122112211121121111222112122111112222121122211112111211222222222222222121221122121121122122121211122112121221211212221221122112122221221221122222112221212121221111222212222222111111112221122221122212111221212122112111121111122212222112222112121112112112121211221212112221112111121212221112212121211221221212211112211122112111212221222222111212112221121212221112122222221111112121112111121111112122121122121211212112111122221112221222221112212121111222222121122121212221212112212112112111221112212112121112222122211222212111122211221211112222111211112112112221122121122212221122211212122121112211212222112111111211121222122211122222211211122122211112122222122222111112111212121211212111222111212222212212212112221112211212222222222111212211212112111222122212121111121112122111222212121121222111211211121221222111222122122121222111221121211211112121212121122122111122122211211212221121112222112221222221212111121122111122121122221211121222111211212211211221222121222222222122212122222121212221121122121222221121221212112112121212121211112122212112221221112221222222121121112221122112211221111112122222222212211222121211212112222121222122121222212221122111222212222222111211112211221112212221221221112221111111221111111222112122212221212212122221222112211122222112111211221111211221112222122211121112122211111212121121112112112211211122112212112121121211211221122212112211112111212111112122121212212212111211211212112112112122121211121222212111211112121122222112222112222111211112221222112122112121222112212112121121221121211112111221212111111111122211212122222221121122222111212112222112111212212221112121112121111221111221122122212221121122111212111112122111111111121122121222112112222222221122222212112221111112122212121122111112212121112222111222112212122211122122111111121221121122211222121111212122121121212212221212112222112221221212112222211112221212112122111222211221221212121212122222121211222212121221112211211211121211121212211122122211111221121122112222222122211111121122112222122111122122122212121212112221212211122111222221222111211221121112212111222112211122221122122221211122121222221221122112112121211111112211222112211211121222121212222121111211221112111211112211121212211222122221122111111121212222121121121221212121122222111122122222212222121122222222212211121121222122121212222222211111222212112112122122222122221122212221211212211111121211112211112221221221212112111111111112212122212212121112211122112212222222122111211121212212111211221111221122112121212222111221122222212112111221212121112222211121222222122211221121211122222112221122221222111222121122122221221221122112112221211221112111212212212222121222122212112221122211121121222221222212211212111122111121111111221212111121212122112121111211111222121112222211122222111211212111212112121122121211221122222221211112211112221222111121111122222212222211122211111211212212221221121112112221111122211222211112111122122211121112221112212212112222122111221121122112211111212122121222221211121211221222212222211221111122212221112111211221111122122121211112212211212121222222212122222212211221211122112222121212211121122221212212121212112222212112211122222222212221221122112212121111122222112111121222211112222111122111112112111212122212111112122111222112121221112211122222222212212221211211111121112222211221221111122111222112212221111221122222121221122212222122211111212122212111122111212111222111122211122121222111211212111121121122111222221112222111211221112221221212211121212212112112212212122221212112121112121112211211222112211121112122112112111121121112121221112112122212111111121221222112222112212112111112121111221222222212221221221112221111221222112221122222122211212222122122211222212221121222222211221222222211212111221221121111122121121212111221112222111111212121111212121121122221122212211111122222112211112111111111111111111221122221112122222211212212111112211121121212121121222211121222122112122222112111122211112112221122112222221111221222212111112211121211212122112212121212112121221121122211111121211122222212221121111222122221222211212112111121122222211212121121211211221111122211112222121212121122111111111222211112122112112122211221212112121112212112221221122222221112221121221112212222112211112211121121212121222111122211112211112211122111111212111121222121211112121222211222212221211212222111211221211221112122112112212221111221121121112111112121221211121222212222121122211121211221112111221112122211221221112122112112111222211212212121221211111121121122121121221122112121122111212221121121112211212112112222222211211111221112112222111211112111122221122121221221211121211212212211112211111211111111211212212222211122212112121111212122121121222112222212221122122221121112211122222111221211211221111112222212112122222222212211222211122122212212112212222111121221112122122111211122112112122211111121112122111121112222212112212221211112121111222111221112221122211212122121221222121121221222122212222111212121122222222211111112121121221222221212121112122222222212122112111111111112112212122121112122121212212112212211212221112111222111221221122221111112211121111211111211221121222121121122221212121212222221121111112122111111111112221112212121222212211122222222212212221211111212211212122222212111112221212112211112211222221221111111221221122121212221222211222221111121111112112211211211212212121112111111112122221222111222221222211222211212112112121221121211111121212222121221212112221212112212121112111121121221112121212121122221112122111122221212222111221221122122121122221222211211111211222111122222121112221111222212212122222122122211212212221111121222111111222212112211112222122121212111222212212221111122221212221211121112111122212111111111112111112212112212112122222112112222222212221111211112212211212222212112222121222221222112222122112221121112121112121121211122122222222112111122221222122111121112112111112212211121122111112212211111122212121112221222221111121112212221112222122221121121221212111122222212122212211112212111111122211111112222111122122111112111212122211111111212212111121222222121212211222222111211112112221112122211211221122211122111211212112112221111222212121111212112111122111222211112221211211111212212121121112222212222211222121212221222111112122112221212221122212111112112111121212221211221221222211121211222222112221112212221112112112122121212111211222111222112122212112121212122211112122112221222111121121222112121121111212211212121122211112211111111112222121222222121211221211122211222112222112122222122121121212111211111222112211112221222222211112222222211111222111212212222122221122121221121221121111221221122112211122111212112121121111222222111112212122211122222211222212221111112221111121121121111122211121111111212112222211222221121112111122112111111212222122122221221122212221122121122111221212221122122222122222212121211212222112111211111211121122112112212211112121221222222121121211112211112211121222222221221112111111112211211221111122211121212221122221121121211121121121221222211222121211112212222111212111112211222112122112122222212211121212121111111121221111212112221222222121211112111222212121111222222122121112121122112222111222212122222121212212221122221222212121211121121122212112121222211221122211221221122112211222222221112212222122212222111111111222122121221111211222112112111211211222212112111112222121122121211221122112111221122211221222122212111212221221111222211122121211222221212222112111222122221121211211211222122122221112212112212112122112212111222221212112112221222112222112111112112121212111112122212121211211122111122211112221222112222122222112221212121212222211111212121121221121112211111211122112211222121112212212111222121221111112122212212222212221111112211212211222211211211112111121212212222121121222211211122111212211122211122112121221121111122121112221112112121122121222221222221121111222221112221211122211111212122112211211111212112212121121122112212122221221111211212112121222222121222111221212222121121211221121122221111111121122211221222221221121212211211111122112212121222122111212211111222111222122112211211121121212221122211221211221112211211222111211112221121211122211122221122221221212112212221111122222121211212211211212221212111121111211211112122221122111221111111212122121121121122222211121211112112121212212212212222122212222222121121211221121222211122121221111222212221111122212112212211121222212112112211121222121122212221111112112222112211122211212121222222211111211212221112212121122122212121121221212211222211111222121212212111222212212211211221211211211111122112222222121212211112221221221111212111121212122211211111221122112212212212121222121222121211121112111122211111122111221112121221112222211211221212212112222122211221112112212211112221221122211121222211211112121212221111211221211112111122122211221122212221222222211122212112212221122221211212111122221121112221211222111122111212122122112111111112121212221111222122222212222122211211111222211211212122211212221221211212212211112221122111212122121122112222212111122122221122211221211122212222221122211111122212211211112221121212211212221121211221121211111212221112121221121122122111111221111221122122222212211211121222212112122121111221222222212211211221112211111212111222122222111221212122222122211222122211221122122212112221122122112121222211211112122221221221112221122112112212121111222111122121122121212121222212122222111211122222122122122121212221111112221221112122112212111121112212222222222122211221121112112211211222211112122121211211122221121222222112212121222222111112212211221211211221222111122222121222112112222221211222212112212211122121221122222211221122222121112111221122212211221112221111111212122212222221221211111221221122112222221222111222221222221212221222111122211211121222211212112112221222222212121212221111121112121211222221212111212222221211211122211212111221211221221111222221222122111221121111122111212211212121221121221121111212122122121212212111211111122122222122212212122211121111112111122221111121121112121222121121122211112212111212122212222211222122221211122211211121121122122121112221222111222212212222121112111221222222212221222212122122222212111112122112212222111111222211221221222121212222111222112212212222222221222111111121121112212122212112211221122111112122221112222112211222222112112112221122122111122122122221112222122121211122121211221212112111111111222221211111222221222222222212122221121111221221121121221222122112122112111112121212212212112222122121211112212122222122111112212211122222211122122221211122212211221121121222212212212222212221221221122122111112121222111222122221111222121121212111222221111211221211221221222221222111212211212222112222212221111121222212211221212222122212211112221112122112212121112221112211112121122211122122221222222222122111121221122122211222211111112221111111212122122222121222211111121212222212221112111111212222211211212222121122212221212122221122111211112211121112122112211112221122222222211212221111212121122122211211212212121112212111121212112122111121211111112212222121221212112111112221212112221222122111212221121121212222121121112112221122212112211222122221122111122221221112221221111112221221222212221121212122211112121121112122221211122221211121122222212122111221121121222212111122212222212222221112222221212221112221221121122221111211211221222111121121212222221211221212212122121211121112112122122111112122111121222121112122221121222112222122211212122211222212121111121122221212221221211221112121212121112222111122112211112112221112122212221111212222111222221112112211211221211112121122212212221112212121212212121112122212121222212111212111112122212212122211222221122211212221122222221222221122222222121211121111122111111112121211212211111121212221111212112212112112222121111121212222211221211222211221212211222211211221121211212212112221212112212212122111222222111111112211112112211222221112222122222212112121111211212222111112212111222221111111112111221222221121111222112112111221112222211221212211111111212122211212221112222111112122111211111222211121221211222112222222221121112221122222222212112121121221212211111212112221121211222221212121222212122111111222122211221111111211122211211211111111112122121112212122112212211122222211111221122111112222211122221212112222212122121111112212112112122111121212221122222112112121221111212221211212222211222221212221211122121121111212112121111212121121122221122222222221212121221111112111211112121111221121112221112221212221122222121221121211221121121222111111122221112211121211111221122222122212212212212212122111111112221212121211212111121222212212111212211211122121121111212121111112112122211112221212121111112112211212212222121212122112211221122122111212121222222122121111121211222221221121121122211222212111112121121112122112122121122211122221111111212221122111111111212211222211211222212221222121122212211112211111121121211122111121212221111221221111122111222211122211121112221122112221112121121122122221221112112211222121122211212222222122221112121111112121111112222221121111122212221211221212212122212111221112121122122211211211221121222122212112112122112121112212222221122212211122221211121222211111112211212112221112221212121122212122111122111211121111112112112221112122121221112222122212212111112211221122121222111222111121212111121222212211122121111122112111121211212122112122222222122211221112112221212211121222211122121112221212212212212112222112212122211112211211222221221112121122112221122121111211111111112221112222112211222112122111211122211212212212112222122212122221112111111211112221211121222212221111111111211122111222222121111112112111122112211212111211221111111112221121212112211111212211222121211212121212222212221112221211221112112111121122222122222121222111112122112122111212122111222111221222211111221211222222212221121111221112122222121111222111221211122121221112122112122212111121222111222111121121212222121212121111222111112121212221112221111211111112112121111211121122221222122212111111222221222221112212211211211212111222211222212112211222222211222112122112122111222221111112122112211121121221212222211221112222221122222221122211211221112121222211221122122212111221111212211221112111222211112111112112122212122121211112121111122212221112121122212112122222221121222111211121221212221211222222121122122112121222212211111121211121121111121212212112111122212221211222112122122212211212111212212122121212121222111221122122222112121211112121222122211111121122212212221112121111212112211122112112112122212122112221211121112112221112122212112112111212122122121222111222112211111122112111112121221222211111222121222112211111112222222121222211112222221222112122212212122211211212212211122221122221122122211212221222212121211112122111222121121112222212111122211221221221112112212112112211211222122112122211211221121122121211112212212221221221122221111211222112112211212121111112221111212211112122221212112212222211222212122211221211221121121212221222111122222122121211212112221112222212121211221222211222221122211211121212121121221121112221111221112212221211212212121111222111122221222111122122112211222122211222122122211111121122112211122221212121222221221211112212221112212212112221122212121221211222111121222122221221212221121122112121221111211222121211212221211212222112221121221222112221111121221122112221121222222222211112112212111222211212221212111221211212122121111211221121112222221212212222111112112221211211121211221112211122211111122111121112211212122212111121122211111222211111111222122211111222221122222122222221221111111121221222112222212122211211211212111212122221221112221212112121221112211122212121122212112112211211111221122211211221211211122221122211221221111221221121111211111111212121111122112211221222222222222222211212211111112222122122212111111121212212111112111211121222121212122211221121212121222122212121121211211121221111212121212111122112212111112122112211211211221211212212111221211121122112111121211212121221211111222122212121122122121222122221211211121222212111211112222112221121211111121221121222221212121122112221122212121121222212222222121221112221212121112112111221122222222122122221221221111122121122122121112211112222122112122211211211122122222121222112111212221112212212122221111112211222121121212212211112212112221112212211222111111111212211222111121122122121222211222221111122222112221221111211112212212212121111222211111122211211112212112122111122122221112222211121112222221112112211122211111111122122121211111222121222112221121222212121121211221211211122221222212212211122211112112211112121122122112222222222121222112111122121111212212221221222221111122221222112122222122112222112111111221211121211222121121212121222212122221222222221121221221111221222221112122122121121122121122112211211122112212211212212222221221121211122122111211121112111222222211112211222222221222121211112122112112122112112112111111211111212222112222122111122221222112221222122211121122112221221121122121212211222112121111212121211121222111212111212211211112211221221112122112221111221221111112121212112112211212212221111121122211211111122111221212221112121211212111212112122221221212211122121212121122211112111222111111122221221222212212221212222211122211111222211222121221112121212211121111111112111212211212222111221122121212212221211122221221111211222222111112112112212111212211222222121221212121112211122112121122211222221222211112211112112221212111122121122112222222212222112222211222121222121112111222121121111122111111122111212122212111121112111221211222222111111121222221222121212211221122121112122212212212112122222211111221112111212222222112122222121121211112112111122211111211121212122121212211211111222212112211221222121212112121211122211122211222221212122122212121111222111111221112111112222121111212211112221111112121112122211212122211111122122122122122111222112221211121112111212112212122112121122111122112222122111122212122221222221122112121212112221112222212121121221111121111121212111122212121122121212122112111211221121121121111211122211122212121212212211122112221212111112211111212121121212112122222121222211111211112222222211212221211222112221222222121222222112211222211212221111112112111122222212211221121122111112112112112122212221111211122212111111111112221111212122121212112222122111222221111212222122221221222212121121111121211222122212122221122221221212112112111111211122221111121222211221212211211221212222211222112211222111212212111111112111221221121122122111221121221111112122221221222111221221211122122211112122111212222211212212111222212212222122212121112221221121111121122122211221212112122111112122112111212212211221221212222112211221111221222112221112112212211211111121111221121222222122211222212121122212111121211211212221112121112111112212112111222222111122222212112211212121112112222222122111121112111212212212111222222211121211112122222222222221112121212212121111221121121111211221112122222112212121212222211121112112222211112121212112211221122221122112122211111121221221122122221121222111121112221211121222112221122211121222111222122121112222111122111222121222112122112112111212221222121111221212222211121211111111122112112212221222211222122112221122212222212221111211111211121122112221222112112121221211222112212112111211111112211221121112212221222211212222121122121222212122112111222111122112121122112212122221221122122122211122222111111211111221121111112121222221222221211211221112121221122211112121211111222122111222122122121121122211211221212122111212212112222111111111222122112222112111122112211122212221111222111212212222112111222122221122212111212221121222121212222111222222212121122121222222222221212221212111111222121212112121121211122221221212112111122111121222211122111121221221221122111211121111112121212221221212222121222211122111112111121212122122222121122222221222212222122222211122211122212211222211222122211121111221222111211222221221221222122222221212112222112121222212121221112122121121122221211212212112121222112121122111222122211222211111211121121211211212112211212112221121111211111211211121212211212121121222222122122211211122211212211221122222211111111112212112121122122112111111121212221112121212121211211222211222222212222222112111211112221111211121212121121221112111212112111212221111222111212221222222121221111121111111222121222121222222112112212122112121122221122121111122222111221222112121122222121221222221221212122211111212221221222222121211121222222212121112222212121212212221111121212111112112111112122121111112121121121121221112112121122221222221111222122112121121121121212211112121212122212111121222111121221112211121122112121212211111212222221111212211111111111221212222212121111222221112222122112112121122122212122111121112121222212121112122122211212221112212222221211211222121112212222222112211122212111122122222122222222212112112222111222111122122211112112212211111121112111222221211122122111112212212122112222222122122222121112211112112121212111222222222122221121111221121222122122211222221112211222122111222122112121211211111122112121211212212222221112121222221111211121112221222212221211122112112221212211121221212211112222122121222211211211111222122211212122212212212211212221212212222112221212112212222122112222111112222212122211211121211112122122122111221111221111212222221222121122121111211222122221212212222211122121212112221211121221211112212122222111121222222121112222221211122211211222111112212121212112122121211211121212122222121212111121211211211122121112112122211211112112111211112222121122222222121121111112122121111121211111222122122221122122121221111211121211121222111221211221222121111212212121212222122112222211121221112211221221212211211211122212221212112122112111211121122111221211222122112222221121112121121211212212121111122121211211212122221111121212211112121222212222211121122112212212122221222111221211121122221211222221221121112222221212112212112122111121222122121212112111112221122121222222211111112112211112111112221222121211122212212211112212211221212211111112121121122111121111221211122122211222122211112111121211111122221111111222211112121121122122211121111212212221122111122221111122112122222221122121111221221121212111121121112221221211112212122112111221121122111112222211111212111221211121111111212221212212211221111222221212111121211122221212221222211121111212222112111122122121112221122111121112111111112221211121212212211121221121121221221222211212112211211112212221212211221111222121111212121222121211111221221221222121112121122221212122112221111211111122222221211222112122111222221211221111111221112112121212112112111222222111212112222112112222121221112222211121222121122211221112121221222122212221211122212221211212111112211121111111212111122112221121112112111121212221111221221122111221111122111112221111112122222211121111111112221121112121212211221221122122221121212112112222112122111122112121122122121112112222221211121212221222112112112111221112212221121112112112111121221221111221211112221122212111111111112122122222212111212122122222211221211212121122121112121222121211212111212111112222112212111222122211212222112211221211221111211111121121111211212211112112121111211111212211122221212211121122211222211211122222212212111212212211222212212112112111211221122111111222222212211211122212222212222222122111221111221222112112111221112221111112211211221122221122121111121122111221212221122122122112111121212121211112221222212111212222111211221212221112121121122211222122121122112221112211212221112211212111112122212221122221222121121112111211221222211212222212122211122212112122112221212222112111112112221222111112221122122121112111212222221212122221221221221112111111112122211212211212122221222122211222112221222111112221222212122221212211112122212212212111212122121121222222112122122111222212111221122221111222211111112111211222212221112122212211222121122111212112221121222121211121221211211221212122111222111122111111211121111222111121112121221211211222111212211222221221121221121111222112121121221111211221122221121112222211212112122211222211222112222221121112212212111212111222212121121211211111222122111211222121112211122211122222221212122121121112221111111121121212111121112212222121112211221111221112221111211111222222121111122221221221122121212222221222111112222122212221111221222112111122111212121212122221221122121222111111211212222112111212121221112111212212121211212212222222121221212212112211112221222112112212111121121112111112222211221212221211211122111211222111221112212122111122221112211122211111212122222221111212122211122112211222221112112122112122122221121121122221122212221122212222211111221111222221211122112211211122211122212122112211212112222211221111122221122221122212112111121122111221112121111122221211211211121121121222122111122211211121221212211111222122112222221121222111111212121212121122221221111212222212122222211212111211121111111121112211122111121122122112112222122221221122121221122121112121122111112211212211212111212121122212112121121111112222111212121212211221112122112211122112221112222222122222222111112122221211122111121112221221222222211122121121111122121122211122122221211112122212222211111112221211221212211222112111121222211212111221221222111212221111111212221121211122122211112112222112211112212212222122112222112111222112221222211121212211221112212122121112122112221122112221121122221121212112212112222222211212221112222212111121212221212112111112111212212222122212222211112222122112211212122112222122221121211122212211222111112111211211222121211212122112212221112122121221122222121222111221122222121122212222222222222212122111112222112222111211122221212222122121211122221212111222222112122121112111211211121221112111221111221121221221212122122121221211222122211121121111111212211122221211222111122121211111112122211211211221112111211212121111222111112212211211122221121221121212122211111112222121121221121122222112222121211221111112222221211112221211212112121212212121221221212122122121112221121211212121112212222221122221121221112211212222221211222122111222212112122212211221211122112222122221221122222121112122212222111112121212212121122212112222221212111212222211212122211212221212211121112211112111122212121121122211122221222212211122121122112221121111211222221212111212211112122122111122111121112112121221211121211112121112211222112121221222112212212212112111112222112112122111212212121122212212121221121122221112212212121121222212222212111211111221221221211111222211111112221122111121111121212111221212221212211221212112222122212212112222211222121121211111221222111112221212211222212221222211121211111212122121112122122222221211222222112221211222122122112111222221111111221111211121122112112111121112212121112222122212212112221121112121212122121212121221121111221212121112221211211111122222111112212222112122211221212211111221121112222222212212121212211221212111221212212222211212222111111221111112211222111211122112111111112111211212122222111111211121212211122212121121222121222111112212211221212211122121211212122122121221111121222212122111121212211111112221222211122222112211221112211122111112121221111221122211212122122211111112122212122121121222221112222212121121221122211111122122122121111121111122122221211121221122211222221112121222211221221222222111121211221212122122111111122121221122212222211121112221212111222111111212111121222112221211121211122211221111221211212122111211221121222222221211112221111111122121111221121222212222122221212221221122111222122111122122221111221222122222112121211121121122222122212222211211122121221111221122121221212212122122112221112222112121221112222221211211111121122111221222211111111221211222222122212211222121121222222111112122211222221222222122111112121122222212221112222222111121112211112122222121122221121221111112122211212222221112112122112211222111222121222111111212121121211221112111111121121112112122112212211212211211122111121121212211212111121221212221111212222211112222111122222222111122122211121221221221221111212211122122222112112112211222211212212212222121112122222221121212112222111212211111111111111211111212211111122121122212112122121111221111112111212212212212121212121112222112111212121222121112212112112221222111221112122112121111112221122211121222222121112221112112212211212221112121121112212212122221221221121222212122121211222222122222121212121212222211222122211122122212212112112212121212212121211112121112212212221122212222222221222222112111211221122221221222111221121122211212212222212222111221211122121211112111212212222212121211121222212112222222121211221222122222222211212122221211122221112211112212121121112212121211121222112221121211221221121121111211111122111222222212212122221111122222211122211122112212211111222212221221111121221212212212122211222112211212212221212211222121221111211122111112222112211121221122112211211112212121112122122111122111112122121122122212122121212111221122121211212221121121222211221122112211211122212111221211111212122121112222122221222121211112212122211211221122212111221212111122122112122111212211112211112112111111121112222121222112121121221111221211112122111111111221212211222212211111112122122111122111222211112122121121122212112112222122122222221112221212222212222211211122222121212222122222122121211122211112222212122211122221211112211122121112121122121222222212222221111212112112211111221211211121222221211112211122211112222111112111112111122221122111221121221122111222122212111222212111211121111211222112111112122211211212121222121111212211121112212212222212221221222221212111111122212222222211121111212112221221221122222222111112221111112221221221122211112112122122221111221211221211211122211111111121122222121211122121112211121212112211212112112211212211111212222122112212111221121112122121121122212211222211111121121122221211212221211112112212211221221122112221211222122221111121222212221121222221211222221112222111221221212111211211222111212122111222111121222121222112222211111221112212222111221112211122221112121212111122111212112122111112112122211122221222221222112111121112211111212222112211222211121112122212222112211122111112212222111222222222222222222211221112111111111112222221122212121211121222222211211111212122122112111121212212222112222222222221211122212211212222112121212211111221221111121111111121211111211112212112121111112111212212111211121121222221211221112211212121112112222212212111121221212221221222111212111122211121222211111111211221121121121122211222211222212122211121111112221112221112212121221112112121211112112212112112111111112122112212112211111221212112221121121111211212212122111222222121222211211211222111112221111221212122111112121221211221212221221121221112122222212112211121121212111222112112121221121112211111211221222212122111122222211122122112122122122121212221222211111121211121122121222111112111222121222221212221212111212221212221111112122221212121211112221221222122112211212122122111121222121121121111211121222222211211221212121112211221122221221112221122221211222111221212221211122112212121122121112211222122121111222222221121212212221222222211222212111212112222222111211121112211211222121211122222121222111211111112222122222222212222122221111221222121211122212211221121111112122222211121221111221122111122112111111222112211122121112211111112122122221122121221212221221111222212222222221222121222122122212212121112121211221121212221112211121122111112211121122121222111212111112111111211112122111222112111122112121112122121211122112121122112221121111111121222121221211111212122222222221222221212211211121121222112221222111111211111121121121121211121211212111221211122211111212121212211121122221121212112221112221111122221211111212211212211221221211222221122222221111221212121122121122222121211112212222222212222112112211222212122221122212222221222111121212211121212221121112111221211122221221222211121122221221221122122121221211111211211122211212122222222112121212212112111222121112122211122111222112212211111122211212121112221111212112121221111112221112221111212112122212212221122211221211111211211112212112121211112111212122212112122112211111112221211212222221212112222221121221121111112112211221211211122111111111212221111212111111211122112211211111122222112122211211221111222111212211222111112222221122222121122211122122121112112122212221211122211212211221211112121212221221111212112121122121112112122211212221122112212221111122212211221121221122111221221222122121222221222111121211121222211222221221121221112222212212112122212212212122222212122212122121221111112121121121221122111112121212222211212221211212112221111121111212211111212222112211111112121121222221221212212222212112112122221221112222111122111111212121111222111122111121122222221212221212112112112121221211121211112222122221122121121122121221212121211111221121211112221222221112222212121122211111122111211222221222212222212221122222112221122222122112122111212221211221211112122222122122212111221112122221212211112121112122222111211221212212111211111111111211221211222212211212221121111112212211212221112121112121122111121212121112222112112111211211211112222121112121112222222122222121112212211111222112211112112111212111212111222112111111112121222112211222122212122212212211221222212121221111211222122212211221122212222221111121121112121211122122122122222221111211112222212222121121112112122222111121212212222111211121212221221112112222122222212112112221112221111121111111212221211111111212122211211121221221221212121222221212111122111221111122122111211212222211221212212111212122221121111121111122111211122121212112122121222122111221111111121211111211222112112222222122121112122222211112112112121212212122211211212112111122222121222222111212111212121222211122222111111222122222222211111111212122211112112122212212211111221122122211221122212121122112211111212221111212211221212211222211211212122212112222221122122222212211121221112222112212111221112122222222111212112112222211221111112222112221121122211111111112211121121221122121111112221211112111221221112222211111121211111111112211122122121222111221221122221212222121112211122111111211111121111221222121122112112111112212111111222212221221221122112112122221212112211211222221112121222221212122121111122222112211222221222221122212212122212112222211111122122111221122212121121122222211221111222122122222212222221111111212211121212121112121211222111121121211122122112122212211221211112112211121222112122111212121122112212222122211111122221112111222111212222121122112121112221112211122212212121121222221122221121112111221122221112112212112112212122222222222112212222122212112111121112222121111111122212121111122212222111111112122112212111222212122121212121112212111212222112121112211211122112111211212212212222121122222212221221211111212221111212111122221112111222221111221211111211112112212112122122122122121112111212221222111221221221111112121112121222222111112211111211112112221211221211122222221112211121212221221112212112111111111111122221221122121211212221122122112212121221221221221121111211222122211221221121112221122212112112211211211221121222222222121112211121211222211111211212211221121111112112112122111111211122111122111221212121212112112221221112212211121212221212112121211112212221111211211221211221112112112211222112112111112122112221221111221112112112112211221212212211112211111211221221222112111222212222112222212221112112121222221212121112212112222221111222122111121112122222112211112122212212211222222211112222121211112222112221212112112111221211121222211211222122112122222112112221212222211222222111212112211212112121111212121111121221211212111211111121112211112211121222112221112212121122221222122122222221122221211122121122211122212122212221222111111111121212221112221112222212121222111122121211112222212122222212221111111111111211211121211122211112111112111212121221211212111222112222111111212121221112112111111222112212121222112122111221111221112222221122112112111211212122211221111112112211112212122111121212122122121222221222111111111111111212112221222221221212111122111121111111221121122222112222111112221212121211222111111112221122122222211111211222222112221112111111112111111212111121211222112222122111122112122221112221121121111212211222221111112221121212212211111222211221221222112212212122211222211221111121222112221221111121211211222212111212121222122222211221111121211212111122121121122122212112222122211111211122112121211121112121221221122122222121122122122211221122121112121222121111112121212221212212222211222221212212121111112221222222112122222221111211122222221111121112112112211122112222222211221221222112222211121111122122221121212121111221221121112212111111211121222112122121111122111221121121212211122212111112221112122112212111112122221121211221211122212222222111211211112211222121122112121211221222122111111111112211212212111211111211212222112121111211222112221112121112111112212211112112121112221211122122111222121122212111111111112222221111122121112121122122112221111222212222111112111121222211121211212222212222221212122121112122211221122122121121211211211121222112121221212221111222112211122222111222212121221112221222122221222112112121111222112112111221112112122121212111121121111222212212221121122212222222122211222121221221221222212111211121112122221112112122222211211122211212122221121122222212112112221211111112211222211211122212112211122111222211222212121221111222221222122221111122122212112211112222111222211122221211212211121111121121121112212121122122111111111221222222122111221212221122211211221211112212111112221121211122222211121222122122221111112211122211112221212111121221212122212222212122122122222122211112111212221222122121212221122111122111212112221111222211211112211111122111112221122211122111112112212222222222112112121222212122121122111111112212211121111112121122111122212221211211211211212112122212111122212222112122112221212121212212111211211211122122212121121111111122221221211111222211111122212121221211112222122111112212221222212212212221122221112222211112111212211121112212212122212222111222111121212112212111121212121122122222212112112112221122222112112111111222122121222212221222111212221121112121212221121221122111222112212121221212211121222222212211221221122111222221111111212211211221221221221121212212211222211122221111222222122111212212222122212122221211111222121221221122111211222211122121122211111221122122121212112122111111212212122111211112121112111211221211211112111121222112222211221112121212222221122112211122211221222221221111222122122222222112121212112212111111121111221111122221222112221222222122222121111112112211212112122122212222211121111222222221111112211222221112112112122221122212112112111211221122222212112222221111222212212212121122112221112122211112121112211122222111212111122221211111111122221211212122212211212121121221222211112122112112221122221212111212222211211112112122222222122112122121211221121111221122121111111121211222211211111111222122221221212111111221121121111121122222111111222212112122112211111221221211111222121121222222212221112221122122222112122111222122111221222222212112221111221111222111221112222121112221222121221222112112122221111121122112221122221211211111111122211212211112111222222221121111122211212222122122211212111211112112211221112121211212111121111111222211122122112221111122121112212212221122211212221112122221212121122212121111211121111211121212112212112112222111212221122112111222222111122112121122212222212122112122221112122211121212211221121221111212121221121221112112111212122212121212122211121222211211122221221121211122122121211112211211121121112222211121111222111212121222112111122111111111121112222112122221111111122112121222122221212121121112212222111122111212121222212212121212222221112222112122111122122211211122111212221122121112222221211112212212122111121211221111122121211212112121111121112111122211211112112121221122211112112121212121222221122211212211222221211221222212212212211211112221212121112222221122122121112222222212111221112112211122112122212212112221111222211221121212121112121122111221112111112122122112221111211222222121122222221121211112112211112121222111212112111211222212222211212211112222111211211121111112222222122221212221111111111212222211111122221221111112111222221211221111111111112212121221111221211112121211221112211222112222112222111122212212212212121122222211121111222211222221211122212211211222221212211221211222122122121222121211122112222112212122211221211221111222222121212212111211222112221122211212121112221111111122111121221211121211111212121122221212122221122122111212212111122212112211111112122122211222122211112122221212211111221112122122221121222221122221211211222122122122211111112112211211121211212111122111111112211212121121212111211211111122222122122222222221121212121212222122112111111111111211112211122212222112122122211212222211211121211222211112211222212121211121121112122112122112122211122112111221122121121112212112121211122212112122112111112111222112212112122112221221121212212222212211122221222222212212212221221221111221122212121111122121212221211212211211121112111222112112121111212111211221122222121111111222121222122222221121112211222211111212222122221122221122121111211211122122122111211211111222122211212111122122212111211121122222111111122211211212122211211122211212112112112221221221122222211122221221222122122111122111222122111112122112112112121122221221222111222212122211212122112212121112212222121121122111221212222211211112121122222111111122211121222121111212121221122121122212121221211212111122112212222212222211211221221111211111212211211112211221121222121211222222221122121122111122222221222122222221221122111211222212212121112112111112221222211211212221221111122211112222121121111222211122121121121221111222112222112221212212112112221211211112211121221211121111221211212111222122121121221221111211222221211221112112222212121211111212221111111211122121122121222211222122111122111111112222212112112221111222212221212121111212211211212112211212212221221211112222212221112121121222222221221222212221121221111112122121122111111212221121212211211211122111122222222221111221121121211121112211222111112221122222212111222211112121121122122122112222222221221211221222211222111212111122112112121212212111121121221121121111211111222222221212111222221222221212221212211122122212222221122212122121212111122212221221112222221121112112211222111121222212211112221221211112112212211111111212212111111112112212111211111212221112211112112121212112111121122212111111122112221112211121112121212221212222211212221221112211212222212222222112122111222111222221112111212111212222112212222212121212222222122111211221211212122212221212222121221212121122222211212212121122111111111121211121211221212211121111112212122212222211222111111222111122122211111121121121211211121221222211212222121212111212222212212221111112112122222211212212212211212221121212211112222121211121121111221212121211121111122112221112222111112111222122222111221111222122222112222112221112211121221111112122211211221121112111121121122212212222212211222212122212121111122222212222222112112112112212222122222222111211211211112211222112212122111222111121212122222221211222111222121212222111221221112112112211212212121112222222212221121112211221122211222221212111212212112112111121212122122122211212212212212211111121111122211122221121212221212111122111121211212222121222222122112212112212122222111212222111112211222212112111111211122111221211122122111122211111111212122221121112212211111121221221211222211111122112211122222212122111222221111112112112211122111121222211112221121122112211121122121212111222211222212211222221212122212212111211111211211121111221112111121222122221121111112212121212212222211212112121122111212112211221111122122111221111112111122212121121211111221121221121222112222111221122122222122121122111111111122112222221112222122112212212122211221112112221111211212222112111212211111222112112122111121212212212222122111221111121211211211122221211222221112121211111121111111221212112222112212111111112112121121222112222121111122211212111221121121121221212121212122112122122212112122112111212212112112212211212222121122121222221121121222111111111222112111211121121221122211121211111121122212112122211221111212212112112121111111121121222221112211112122111222212222122122121212212212122212122222222111222111111121221122211221212122212121221222211212121211112122221111112111221122222222221112221121111221221122122222221121111222112211111111122121222121212121121212111211112122112122112211221221222221112212222112111111112222221112121111111211212212121111221222212212112222221221221222222212211112122112121112112222121112112112211211221112212112211221221111122112221211221211112221111221111211121221221221111211212122212112221111211112222111112112211111121112121222222221122212122211122121122211212111122111222221122211122212212211112121121211111121122221211222222122211122112212212221221212221122212122222221221111112112222211222222112211111212121111121112221121222211222111212211222211222212112122112111212212211212212112111112121222112112221212221121122211222112222211211211122221111211222112111122111222122121121221111112121121112111212122121112121112222212221112211112221122221222211211121222112211222222221222111122112122222212221212211121121121122111121222221121112112222122112212121121211222122221211221111112121122122211111121222122222112221211212222121112221121211211122222222221121211211212212112112111212222122112112111212212221222121111212222212112122112111121122121212221111221122122211111121122222212121222122112121111212112222212212122222122122212211211221121222211122222112221122122111212221222112122212211121211111221111121111221221211112112121211121221221212222211111121221112212212111121112221112212112221221221112212111121122111121221222211221222211222112122121222222221111122211211111221111212112122212111211212121221112111112111111122112221121221112212211112221121222112212121112212211122111212122122221222112212121222212211221111212111121212212212121211111121222211121212221212212211212112211212122111212221221222121111221222221122122122121211222222221112112222222222222221212211222111222111212121221212122212212211111211222122122111211111222122211212212122112211111221211211111222221212111211111221221221212221122222211211221112112121112122111222221212211212222212211122221222221222122112112112222211222122121111121212221212222122121222221222122212222211211211112121212221221112112112212112221211112211221211211111111112111112222211121122122211212212212211121212221112222112122112211222212111121122111211222122112212111211222221122122121122212211121222112111112211112111111211121112211212211122122211121212212211122122212112121212121222221111221211222211121112221122211112222122222221212122212222121221111211121221121121221222111112112221221122211212221221112221221112222221112112221121122221211122122121222111112111212211221212212121222212221121111122221121211222211221211211122221212111221212111122121211122221221222112222211212212112212112211222111221112212121212121121112212111111122122121211211211211212112112212211212221112212122122222211222222122122222112121112121111122221221212221222212121111121211112222212222221212122222211211112121111121222211222112222222121121112122121122212222121222111221121212211222221111121121221222112211122121122122111211212222121222221111211222222222212121212221122212112211122121111112222211122122221221222122221111121112122221221221112222122121222221122122121122112111111122111121111111211222211212122122212121221112222111221222212111111222122112211122211212112211111212212121211211112212121221111211212121212122112221112211222121211222221211211221212121112221212211211222221122122222111212121122111211222221211221112221222111111221222222221211221112221221211122121121112121112221221111122212212221211212111111211211212211222212122211112121121221212211112122121111222121222221212211121211221112112122111122112111112211221221221212221212121121221121112211221222122211121111212121212221221211212211212121211121121211221112121112221121222122112212112111121222211121111221221112112122212222221212222122212212121112121222221112121212112111211121111211111222121122222212222111222112121211112222111222121121212212112121122111222111222221221111122122112222111221221122112211112111212222211112122122121111122212112221111221111221112112211221121211211122222121112121221112221112111112212111222111211212112122212211111222112221111111111121121111221111112112221121122122212222112222112111121221112212222112121211221122112211212221211111212122212122112112122122211122211211121221212121212111212221221111212121222212121211212221122211122211211221211211221222121211222221121122212212221121121212222221122112211211211211221111212121221211221221222222112121212211221112122211121121222111222212111112212112212122211112221121222121211122221221212211122222122212211211112121211221122122221221221112112221211112222212211112122222121222222121122221212221122212112221121121122221121122222221112221111121221111211122212221212111211221221212211111222112112212212222221112121122112122212112122112112111122112112211221122221212222212211211122111222112222221121222211221222222212122222211111211122222121122212221211112111122212211222111121212222211211222212111221222121112112221122222221211212211121212111211212112121122222222222211122221111121222121212212212222222212222221222211122211112221111222122221221211211222122221111122211121121121111212212122111111111211222221111112211122211122112112222111221212212222112112122111122221111211111222221112122112212121122222112111211111111122111212212122112211211222222122121111122122121121211111211111121222221212111222222111121211111221211122112221221121222211211121112212212111121121121122122112222112221222121222211121222122222112111212111112212121222112221111111212222122112211221211112212211122121221111111222121221112112221111212111222121121222221212211121212112212121222211221122221221212212212222221222222211222211221111211121112112212221122212221222111122222122121211222221111112122212111211221122222221111122121121112122111122222122212111211122122222112111211122122222112212211111222112221222112121211212221222222121112122111222221111222112222221221211221112121212222121222221221111212112121221112222211111111221221221222221122111222212211122212111212112221212221121211111111211212222211212212212111121221211122112111221111212121212121111121122222222221112212212212122211221221211111211111211111212221211121211221122212111212112212122212211222212221112112122112222211211212211111212111121111112122211222111112121112121111221112211221112121121222222111111121122212212121122112121212222211211221211111211121221212222221212212112211221121122122121111121221222122112211222122212112222111221121222112111112122121121212121122211112211122222121112212221212112211212211222121212212111112211221121222111122222121221212221221211212122211221122112111211112222112112222111122121122222222221122111221222122221221112111122122122221111221112212112122222212121211212112211111222122221212122111212212111111121111212221212222212111112221112112121221221121212112111222111222112122221112212211212121222111112222121212112112111112211122211122112211121121111211212111121211112221211212122112112212121221212121112211121222212122111112121212221211111122211121112211222111111121222111111111221111221211121211122221122112122111211221212121222222121111111111122111221111221121121112112212211121122122112111211211121112222111222121121212122122222122221211111121122212222121122121222112121111211222211111212122121211211112221212122222212112211212221121211122211112211112122122211212111111111112212122111222211112221221212111222212211122112212112212121121112221112112222221212222111212111112212211112211222111112212111212212122112222112121122221212111121222221212112121122212212221221222222222212222121111121122222112122111111111121211221111211112222212212211222121121222222212111221122221222212222112211111212221222221221221221221211121111221112112212111112211212211211112122222221221111221121121211221121121112222221212112111121121121211221211121121111121221222212211122121221111222121122222212221122111221221122112222121122111212112211212112212222212122122212111122111121211212212122212212122211121112221222211211212222221212111122222212211212222211221221112212212112122221112111112211111211211121122122212211122112212121212121121122212212111122212211112212221221112112122222212111121112222222112112212112112112211212211121211111112121221112212121211221211111122111211211111122212212112212211122212111211121221112121211211222212112111122221111121221221211122222222111122222221212121211111112121111121122211112121222112211111112121222112122112211121221212212221211212121121221112111121111222211111111212112111122111222221221222221222121221222122112212121111222122221111212111111121211212211111212212121222111112221122211112112221211211111222212112122122111211222212122222121122112221111221211121222211212212121221122221112212111211111111212222121121212121222112211112112221112211121211111112121122121122222222222221222212111122212121121212221121122221122222211112122111211112211211122212112211111112121121121221212122122212112122111222111122212122222121111222221121212112212211222212121211121222112112111122121122121211212112111211122122112222111112121111112111122211121222211111221122111212211211122222121221211112221212122222122112222112112221121222112112211212211221211122121121221212212212111221211221211112112112121212122122112221221122212111122211121112211211221122212211111112122121112121211211211212221111222112121212121122121221111211122212221221121211111212221211212122112122122212212111211112111222122111111212121111211211112221221121221122111121112212111111211121212111211211112222222121211211111122112111111122211121111121222121122212212122112112221222222221222112221121221222222212211212121112222111211112221212122222211221112221221211121121221121112122122211211221211212221211111211211121122212211112121111122122221211122222212122122122112211212121111121212122111211122212121222211112222212222121112212221111122121221112211222211111112111222112221111212211121211221121222222111211122211211211211112111122122222221122122221211212122212222112111111121222221112212121222122221212221211212212222111222221212211121112221121211111221122122221112121111221212122222211122121112221212222111212121212121111222121112212111121122121111111111111211211112221212211121212112211122111111111111221111212121111111111222221112122111221211221221121121112111212121122221111222122121222121212121212122222221221112121212211122212122222122211222211112221221112112221221212222122121121122112121112111121221221112221112111111121111212111211222111121112221112211211112122121121221222222212211222121121112222222211111121211111122112112112111211211221122212212121112111112122222122222121221112212111211111112212222211121122122112121222212111221111221121212122221221121212112112111221212121112112211112111112211222222212221212222221122112121211111212212112222121112122221121221222211222221112122211221212211221221222211121212212121221211212121221122121111122122121122112122221122212222222221112222121122122212112111222112111211122112122121112222111122222122212221112112122121212121112211221121222112122112111122212222112121111112222212221121122221112212222222121112112121211212122221212221221111221221112211111121221122212112122121212222212122122121211111121212121121221122121121221122222211111221112211121122221211222211112211111112211111221221221221121111122112211111221221122212211122121211111111121111211222112212112111221121212111121221111212222221211221222222211112121121222122121111122211212211222212212221111212212121112212111221112222212122211222212122112111122111222112122112121122112121221111221221122222211121112121211122121111121121122211111111112222222211222121212121122222111221211211212211212122111111121212211112222211122122211111212122212112112112121211121221112211211211212122122112222212111122222222112212122211121111221212122111222121222122112222221221122121112212211112221121121112222111121121221212112112212111112122212212112121211212121112121211122212121112212111212212211122222212212212112111212122222112121221112221111222121212221212212111122211222212221122222211222112112122111111121122122122112222122111211111121112221222222211122122121112222221222121221222112211111212122211211222212221221222222222121221121111112122111111211111212211122122121112121111112122111112222122121112222112212121212212221221222212111111111111222212121222221211112222221212211121122221111122211112122211111112112121211122122222111121122121121111121111211222122122212211212221222121112222222111221121212122111221121221121212122222222111122111221222222121111112212121211121211121112111212212221222222212111112212121221222211221222111222122222122121222112121211212222222221211222122212211122111122122222222111111111122212122122111222122212222121111212212211212122122122221222221112211211211112211111221112111112122211122212222122221211222222122121221121212222222211122122112221122221211211112221211122122222211221112112121111221221111221112221121212222121211221112222111222121122121211112222121122122111111211111111211222212122212121212111221111212112112212222222211121211221211221121121112221221112122222211222121121111212222222121111222121221121111122221222112221121122121221122121211121212122112112112122211122212222222122121212111121211122122122111222221111112121222222112112212112112221112211221121122212211211111221122111222211211122122121222112222121222221111211222111221211112212121122211221222112121121111212122112222122122212211121122112212211122112122212221122211121222121211112122221121211221122211222222222212121121121122122221212122212222111222222122221121121122112222222222211121121112211121212122221211222222111122111211212221111112112111222111221121121121212221221111122221211222222222121222222222122112212221122211122211112122222111121112211111122222212222121221122121121221221212112112222212121111121212211212212121121212222121111212111212222211212121211211221211111111211222222222122222221222122112112111221111112122221212221212111111212121121111221112212122111222112211212211121211111222121211211112211222122211211122122221122122111121212222222221221211212212112121222222111112221212222122122221221211211122111111112122121112211221111211222111211222211112222121212221212111121121121112111211212212111211122212222122111111121121122111111212112211112122212212211122222212122212121112121121212222211121211211122211111211211212212111121112121112222111111211212112221111212121211121221222211222212112122122222212212121221222122221212122111212212211112212221112122112111121112112112221112112112222112211112212111211211211212222211112122121112112222212112112111111222212222221221121222112211121222111122122121111122121122121222222221211121212112111111212122122122111112122211211212121221211122121121122111211212112221221211211222222111211222111112111212121211221122122222111121122122222211222211122122212221122121121212121112111222212122221121112212221212121122221221112122221112212111221122212222211111221221121211111212212121111122121221211121222121212211221112222122122212121212221221212212212212212221222211221221211212212122211221222211112112122112111211121122121222111211222221112121222121222112212212122122211221221212112212212121121221211212221211212122222111121221211211122222111222121121212211111221112111212122212211211222121121111111222211111111212112222122111222221222121211211222211112211212121212121222222221111211122222211112111111121222111212122112221221221112211212122121121221112222121222222221122111111211111212211111122222122112222112111221221212211212221112212222222112122222222212111122212212212122212112221221121222111221122221211122221121111211112111111222111122222222222121222211211112112122212212122122221121221211121122221121211222121211122112222112211222111222121121122111121211111121222121122222212222111221122111211222122221111221221211212212211121121221221222121222211111122222211111222122122222121211112112122111121221121221122222112111211121121111112122222122212111112112122212222112121222111222222111111221222211112112211222121122122111222211121221221121111222111111212111221121221122111122112211122121211212111111221212111121112112111112111212221121121211111212222211222222111122112122211111111221112211112212222121222221211122222121111111211211212222211212112121111211111221122122111121211121221212122111112211112212222222212222221221221121212122211122221122212221221122211111221221111111221212122221121221221122221221222211221112121212211221112221111121112111212211211121212222222222211121221212112122111121111212211112211222222221222221122122211221222122121111211122212111221211121121212211111212112121122222221212112211211211211112111111122221121222212211212222211211222211111212222121212221111112211212212221211212222122222121221121121111221112122122122211121111212221112212122212211222121112122221122221221222211212222221112112212111112112211222122122221111211212111211122212112211211221111222212112211122122112212111122112111111222212221121221111222111222222121121222121211122111121222212212122121212112121112111122121112122222122112222211212211212111121221222112111212111112122112122122122222121121122121122211122211122221112112212221121221211221211111121122222221221111222112112122221221221221222121122112221111222112122112212121121121112221111221221121122112222121121222112112122221221111211111122212222211121121122211112122122112112122211121222212112122221221112221121112111112212111211112112122112222122212211212121212122221211112222122221211122212212111221111111212121112212211221221111122112112222221122121211211211212222121121111122212111212121211222122222122112211212121121122211121221222211122111222111121212121222222111121212211122121122121221222121112222212111211122121221111211212121212111211121212111211221221122222222122222222112221222211121211221121222222221112112221221122212212211221112211122111221222212212211211112211222122121121222212122221221212221221111112212121121112111121121112121222111112222121221212112122122212112211222121121212122122122112122212221121121212111221212111211211212112221211212211122121112121221112121122221122221122212122112121221212121221121112122122121221122121221112112122122112111211212112122111122221221122122111222122221121222121121112212222212121111121222211211222111112211122121222111222222221111212212112222112112111212212211221221112112121222111112121111112211111221222122222221112112211212212212121121221112111212111121112211112212122211111111222111121122112122111221121122221222211221222121122112111222112211122222111121212221211112121221211211221212111111222212112112211111211211122122111122111221121111212211211121112122222122121221212111122212211111122122121121122211112222222221112111221112121122121111222111111121221212111211211111111112222222122111212111111221212122221211211211111112111212221211122211221212111112122112212212221112212112211121122121211222122222112122212111222111111122112112121112211121111222112122211112111211112111112211111211211221122121212122111221221211221211221122111221221121212122111121222121221112222221222112112121121121211121211222212111212221122221211221211122122222122212121221212212122111122211221121111111112112212211212112221212111111222222222211111122121212111211122211121222111221112111222212121211212211112122212212112121111121111222222221211221112121212212212221111112212211121211222212111211221111222221222122221212122211122121122121112112211222212122111121221111112112112111112121221122221122112222212111211211221211222221122122111221112121221211211121111112222222122211122122221111112121122121212211221222111122211122112112212222221121111222122222221112211222221122121111111222112212111222211122211212122211111211111112111112121111221221212112111221211121211111221221221221121212121122221121111121121112121112121112212221212222111212212121211111221121112221222112112211212221111122121222221111222111122122121221112112222112211211221222122221211111122211222121212122211211122211112112212212211221211121211222212122122112222121211221111112122222211111212112212121222122111211211112212121211112112122211112121121111121222112212121211222212211122112212221211222221222212122112121112222211122122121212121221221212221212121221221121122212112121122212222221212111211121212111122122222211222222221111122112111121221221112221112111112112211122221112122121111112112222222112121221212211221111111112121221111121222212222222221121222221112122212122211111222121221222221111122122112112121222221212221122112122122222222222222212212111122221121221121221222221112111122111111111221121222111122111211222122122221111211211212211121111111222212222221111211211221221112112221211121211112122111122221221221111221112221212111122121112112122112222212212222111122112122121122211111121122112222121112122212222221122211222212112122222212221211121221111222211121221211222221222121212111212112112212212112221212211122122221122222111221112112212211211212112122221211212111111112112211222112221121222121221222222121222112212221112111221121211222222112221221221121222112221122211212212222222211121112112112212222211221112122211211212221212121222121112212221211211211112121222222121221211222212212221121211112121122111121112212122221211221211211112111222122222122211111111112122122212221122122112211112122122211211212221211111212121111212211121212222111122121121212121122221211121211222221122222222221111111211122122111111221122121111111122221121122121121111222211212122222112122211121222211211122222121121222211211211122122212112222212211221122122221221222221122112221121122211112221121221122111221112211121211221222212211111121121222122222112221211212121121212211122221112121212111111122111111121112121111222111211122121212211112122122221122112122212121221221122121121222211122112212121122222221111112212221121112222122212121212122121122111212112112111221212121111212212112211111221222212212111221211122112211111211112112121122222222222111121122121111221212211222122211222112212112211122121112122212111222211112112122212111112112211221211122212122112122221112211212121112212112221111122121111211111211212121221221212121122222211122222121221111221111211212121211111112111111112211222121211212221222221221212121112212112121211222122121221122111121121211222221111111111212112121122212122111221122111122221112222221122211111111212112121212121221121111221222221121212111122211111212121222222212112112212221121222211211222122111222121222212111121221122121212111121212221211221112112121122111222121121221122222211222221212111212221222112121222112112212122111112212212212211112122112211121222112121122212222222121122221121212212222212222112221111212111112222211221111222211222211221111221122212121112222222222222211221121122211121121221112122122112211212111221111222212222211212122111122222211221221111211121122212212221111211221211121212221212221121112112112211111112222122112111121112211122212211122222121111212121121122212111221111111112121112211111212112221112111121221222112121211112211112122122111111211112221121111121112121122121121212121211111121121122222212122121212211222112211222121221221211212221222211211212222122112121121212221222121212211211122211211122121122211212212221221222211112112212211211122222111212222211211122221212122122222112211211112212121211121211122211211112121111121121212111212121122211122111111121122222212212112121221221211121122122222122111222212121212112111222111121111121212111212121122122212112112212211221112222121222222212211221122212122221111222211212211122222222222221212111122221211112212211122212211211111211221111122212112211111221211211122211222211121211122122122121121111211111211211121122221112212222111221211122111221221122211222111221212212221122221212111212222222211122222221221212211222221222111221111222212212212121111222221222112122222121222211121221111121122221111212121221221222112111212112212111221112222221112122221211212222212221211211212111221121122121121222112222212122222112211112121111221221121221111122122212221112222122112212221212122212111111221122211122121222112112121221121222112212122211221121222122121112122222222222111112221112212121121212111222211112122212122211211221121122212122211111212111122112111112121122212121222222122112121212111112121112122222121121111112221121211122222111121122221111212111211122111212222211121122222112222121122212222212122111112112122121221122212221112221111122222112222111111221111212112222111212212111221222212221211112222211111122112121221222212212112112121122112211222112212221221212111122211122211221211122111221112111222111221112111121111221122112212122222111221211222211211111121221212112221212122111111221212122222222121221111121222221222112112121122221111111111122211121211121112112212111112221122121112212222111111111221221121211221221211211112122212221212112121221121211111111112122212211222122222221122122121111222112222122121211212121121111111221111221222122221112222222111122121121112211121212222211211121211112222211221221212121111111211122222222221121222212111221112222222111111221111211212222212122211221212222212121222112111121212121222222212211222212112222212111122111211111222211122221211221221121222111221111121112111112212121222121221111211112122111212211122212122222211221212212212222221112111222211121121221212122211111121222222112221122121112121111111121222112111211122111212212111212121211111221122122121211212211121112222212222112222122211212111222111111112112112121212121211222121211121222121112112211222211212111121111112211222212211221122122211212221222221212211222221212212112122122111222222112112111222222121122211121211211211112212211112121121211122221122122222121111122222221211211211211211121121212212121221122222111111121211122212222212111121221211111111111121112112222212121121121121112212121122212112121112122222221122112121211111221211221111211121221122212222221221212112121222212211112112211121121222112121122121121222122121111111221212112112212221122212222211121111122222211122121112112121111111221111212221212122212211121222221111111122212111212211211121221122122221221121221121122121122221221121112211122211122211211211112212121122111121212212211111211212222212112112121212222211121111222211212112112211212122221122211112122212222122121112111122111211222112121122212112212212211111221212112212112112122211211121112221221222112222221221122121121111121222121112212122222122121111122121222121221212122211112212111112221222212112211221112121211221211121111121122112211112221211111212212122122122222222221211221221212112222211122112222221222212112211121121222222121212211111212212112121221221221112221111211222112121112212111221211222112222112121112121122221211121121212112222212122112121111222111212111121121212111111221221121222122212111212121222222112222112221122221112112221122112212212112222122222112212122122221111221212221112212112221112121121122121121221112122212212121212212121121211211222222122122211121112211112112112121121222211121212221222211212222111211112222122122221222212211121222122211221121212221121222121211122211222111212221222121111211112221222121221122212111212122211111112221121111221221211121211211211111122221121112112222122111112111111121121212121222121121112111112212211112222112221111222222112111112211212122111122112111121222112212122222111111122121122212211112212112112211212122121212222111221122222121212212222121212122122112222111121121221222122222222122212112121211212212121121121211121112122222112122111222212222111112111211211111122222112111111211221221122121211222122211222221121122112112111222211211122112111111222122212221111222211211122122211121121121121221212111211222222221211122212222122222212222211122121112211221122222211121211122112222221122112221222122122121222212111112112121212212121122222212222212111221211221122221221212211121221111121122212112121122222121212212121221111112221112121112222121211211222222211212122122112212222212111111211222112111112211121121212121111122212121212121211212121112212222121222122211221222111121222211222121211121222121111221122212112111211222111121212122121112212122122212111112121111112211222221122111211222121222222112222212111122111121121221221121121222221221111111112122211121122112211222121112112122122111111122121122222111112221222211211111121121212122211221221221111122121221122211211121111221121112222111121111212221112211112211122111212122212121222122221112112222121211112112122122222122222222211112122221112121222112111122211222212221122212121222112111221121221121212121121122221112122122212121222111112121121222221211121222222222212121111121221121211111212212122111221221211211122222221212221211122111111112212112112211212212112112111112112212211222222122221221122211111212212212211121112121212211122112221212221112212212111222122112221121221221211122111121212222212212221221112211122212222212121222222211221222122212212112212112212212122112112111211221221211121211121121221211222212111221111112212222212212121211211211111221111122112122122121212212211121221122121122221122111121212111121211211121121122121111112222212121121112111211122212211121221221222222122212212111221211112121111212222121121212111222111221111122112122221212121222121212112212121221121122222121221212212212112112212111212222211211221221111221111121111221221212111112211111222112211211121212212112121111112121222222221112122112221121222112111121111112222122212222212121122121221122221222212222122212111211211122222221122221122222221221221112221112121121212221222121212222111111222212221121212112122111211212122122212112211122212212122121111121121212222211222222111121221221112222121211121122222112121221122221222112122222211222121111121222211221122121121111112111121211222111222111222221212111122212222111212122111211221222121221222122212211121211111222212111121122111222211121122112211121212212121121111222211211221222121121221211111222221212212212212112111221221211122111211211111122212121221211222222211222221211211212122121211221111111121221212212121212122111121222111221212121221212211112112222112212121211211121122222112212112222212121122112112211222121111121211222111122121222111111122122212111112221212111221122212222212122111122222122221211212212211221121112212122222222121222212112222211111211212212221122111122112122211112121211111212212212111112211211121112222211221212222121222211212212211112212222112111212211222222112111112112222222112112122221112121211121221122222212222211122111211122121112222111222112222211221111222221211221121112111222211211122112122122221111221211112222122221212122221111221211211122221112221211121211211111211222112211211121212111122111221211221121112221121112211121222111122211222111121211221112122122111221211121112222212211111211112221221221111221211111211211112211111111212211112222112112121111122212212221222222221221221211111121212112112121212122121212122212122111211211221212121121112112122121112111112222212122211222121222212222112221122112112211212121122211212122211122221221212111112211112122221112222221212111112221212122211122212222122221112111112122222221212211211211221221121221112212121222211112212111221222222212111221221222112111211122121122122211122121112212111222122112211222222122121111112121211121121212122212222121121221212121111212121122212222122211121121211221212112212122221222211212221112211122112122122212221211121121111121111212122121111122221211112212212121111111121221221112111212212122211122122111212111112112221221222112121122121112212122111121211212121112121111122111211222122111112221221211221211122221221122122211121111121122111111221212111122212121212111221211122221221122211222122212221222211111212121121122212212212121211211211211222122122112111212222211122222221222212122111112212112111221221112222221212211111212122212222112111211222212112112122211121212122221211122222212211211111222222211221111121212122221222212211212121221222221112221211122212121122222121122211211121112121212121211222211221121221212212211211211111211112211122221112112212111211112212121111212221122212112221222121212212111121112111121221222121222222221112112112222211112121112121121211112121212111112211222211222211112222222121211122122222221121222212222121111211112111111211111221221122221111222212112222121111122121112211112222222121212111211221111121122112111112222112222121122222121111212111122212111122221211111122112211121222221222222122121211111222212222112222212121221221222222222112112122211112112222121112121221212211111212212211211111122222111122222122222211221121212222222112121212112112122111121122221222211211211221112112122122111121122121211112122222111221122121222111112121222212212121111111222221221121212212121121122211111222212122112122112222111122112211122111221112122211222211122212111122122111121221222212212112121111112222222122222212222122121121111111221121122111122212221222121222112111211211222222221122111221121221221122112112221211112221112212122221212211122212222122221122221221121212111122221122122122221122212211121111122121111212221122121111111212211112222111122211221122211221211112111221112222212122212221121222121212211211222211112122211211212222122121112222212121112111222211112221212111222112222112221111211122222111211112112112221122212222121221212121121121212122212222122121122121221112212112111222122221222211222122221211112111112112121111222212121122112221111121211211212222222211122221212121212111122222121112211221221122111121121221122121121122221112212211222111121111221211122111212121221121221111112212221112121111112221211211212112112121121221112121222112111112121211122221121211111212222121221211221122121122212122122221211222211212121212222111122122211221212211112212112121211121211222211121222122121112221121122221112211212122121111122222212211121112111211112211211122212221111111222112221121112222111212112112222222221122112122212112122112222121111222221222111121222212211111221112112111112111121221221221221222122211221222111122221211211122121222121112111111222221122212112221212112212221122121221112111111122121222222222112212211222111222121122211211111112122112121111211112121122221221222211211222121212211121221112112122211122212121212222112222112211111122221112222121121212211122212211222212112121121222122111112222212211221212111122211222222211221211221121122222111211121211122121222212121121211121111121211121221212112221221121221121111222222221212112121122112222211221211121221222211222121112212111112212222111111222221122221122212111212212121222112111221111112222121111222212112211121222212122111122222211212122111122212112212121211222112121111111121211221122222222211121211212122222221221211121121121112111111122112221222221121112112221221121121211121221121112121122222111121211211112111121211222121221121122212221112221222212122222222111222122222222221211212222212211222221212221222212122112221112221212211222122211112111112112221112122221122212222212121122212121212222121211122221111121122112112221222121122121221211211112121121122212222211221221121112111222212221222211122111222121121112111112212222211112221111112121211221212222222121221211221212112212222121111212112212222212121211212111112121212221121222211112121122122211222111221221211222121121111222111222112111221122112222111112221222222111221222211122112211112222112212212111111121211222212121111122111211222211122211221122111121211112221122212111222221222212222112221211112111211211112121121211112211112212122211112121222121222221112222122121122112211212121212111222112222111112112112211222222222112221211111111122111212211122121122212212121121221222122212111211222121212211211122121211122111122111121111111112111211211212221222211112211211122112211221222122121121121211122211111122222212222211111222111122211211221122222222211112122111121211112122111211222221122121222211122121122221221121212222111222122122112221111221211111111112122221121112211221122121121221122112222212122122222211111221211122122222211211221221121222222111211211212222122112122221112212212211112221111112221211221211121122112222112211212222111122211111211212122212221221112121122122111111111221111222221121122222122211222221212211211111222122111211122121122221122121112222121122211121122222221122112221111211122112211111112112111122112121222221212222212221122121112112121221121211211212111111212221122222111122111222211112222121211112122212122122212121111212111121211222222222122112211211212111221112222122222112121112112112121222122121211211222221212111221211111112112121122111221112121211111111121211222212212111212111212211112122222111122112112122222111222121122121111112211112122122111222111211121121212112221221212122111222121121111222221122111222211222122221121212121111212121222222211111221222122112122211122122112222122112221122121221222111112112212212112222112122212112211221211212111222111121222211122222122221212221122121222121222111222112111121221121222121212122111221212121112222121222112221122211222122211112222212221111112211212211122211121121122111222112222121221112222221212211211112121222121121211222212221222112111221221212221112222212222211111111211122111112221122222221221222122212112222211111222121121111112122112211111221112122111221111112121222222212121111112212111121212212122122212221221121121222212221122222211222212221122122212212221112121212111112111111121112221122222122121112222221222121222122212222122112222212221211122111122222211222122222112112111112212112212222221211112111212111222212212212111221111212212222121112111112111121111122222112212212212122222211111111111222211221221121222221111111221212122211121112121222221222121221221222112222212122212122222222121211121211212221111111221212221121222122211211122211222221122212112222222222122111122212222211221212211222222112211111121122112111112112211112112111221122112212212122222212222222121212211122121111211111211221122122111112111121211212212221112121121111112112121121122121221211112212221111211112212211212112122222122222121121112111121212121211222211212221121222212112222111121222122111211122112211121112222212111222121111122121122212111111211121122112122222121212222111221112111211211121112212112222211222121112122211211221122112111222221111212212222221122211122112212222112222222111211112121222112222212211111122222112212112121112111111221122211221212221211211112111111111212121111111211122221221122211122121221121211211122121121212121222112211211122121221211211212111111222121221112211211121122222212222222212122212112211211211121112221211121122212122211112111212211112212112221211111222112121212111111221122112221211222112222211221222112222212211221122221122112212211112221222212222211112212221222111122221211222111212122212212222211122112112222112111121112211211111121122211212222211121112112122222221111111221212121222221121211121211211122111211222122122112121222121222121111221212111111122112111212222121211221222112112221212222222112112122122212122112121212121211222221221121112212222121212121221211212121221221112111112111111111111212112122221222211212211111212122111122111112222122112211211121111121121112111212112111212111111212112111112121112112211221112121212221121212222221221222212121221121111122122111121222121211112221212111211122221121111121222111112212211221121221122211121222111112122112211222121212221121211111222222122121121121221212121111222222122121122112112111112112222211112221221122221121211121122111212122112112111111122222212121122111121221211212212122221221112221212111212212211221121211222221211112222111111111121121221222211212122222122111122111222221212222211122211222211111122211222211122221111212121221112122222221121122221222212121212211221111221222222211121212111122212221212111222222122121112221211112211122212111122112121222121222211212112221221221221121222222222221222222222121111121111212112121111221222121221112212111221212121221221211121222122222121212222222121222222211222211212121212221211112121222211121221211112222211221112112121221222212211222212222111112222221212211222222122211121112121112212121111111122211211221111121222111212112211221111211122121221221222212122121212111211212222112221222121121212211112212112222111222222221221112222211112121112212211212222111222121111111222111212211122211222221121122122222111211112221221221222122221111112221111111122221112122222212211212222111221212212222222112211222222221222121122222211221111112211212121112121112212111111212222221112121112221112112122222112121212222112221221212212222111212222122121121212211211122221212122212122122111112212112222212212211221211111221121211221121121121212222222211121221211222121221211221221122222212212212112212122121111222112112222221211112212221212221222112211222122111212122122222212221112112111122111111222122222222212211122111112221111212222212212121221122111111222211221122222112122212121212222122212122222212112212122212222212121112111211121112212111211112122221122121112111222122111112121121212221122122122222222212221221111112211122222212121222221212112111212121111221121111111122222221211122211112112112222222121121221112211121212221111122211211222111122121211212112212112112111122211121222111222222121222221211221112112212221212111121122212222211221211211222122221121121221211212112221212222122122222122221121222212112221221121121221112221122121221211212111212122112121211212121211121221112121222111122122111221122212122121111121221221111221122221211112212222112221112222222212112212112111221221121121121221112222122122212222221212122121212122222222212122211222111111122121222212121221211222111222112222222221112211211222111222121112222212221221212122221221221221121111122211212112222221121212222222211221221111111122122122222222222222121222112212212111122211112211121122122212122222221222121112211111121211121212122111111211112211211121111212221122211222222122221121221121211112221112122111212221121212221122222122111122211211112111111211121122211112211211212221122221111122111112121221121122112121121122122212111122112222121111121222222211122112222111222122222111212122222112212121221211122211211212111112222212121111222112212212111111212211222211221211212121221211112222212221121122211111212122212121221122221122222122212222221111212112212121221122121211211111111222212111121111112212111222212211122121211112221211122121211111112122121111112211112122111112221221111122112211122121221211121112111121211212211112111222112222222111111111221212211212121112222111221221112211122212122211122111122121121221211112211222212122112212222121212222222111211121212221121112112222211212121111221222112111211121122211211111211121111121221212221211221221111121122121212112112221121221211121122122121122111111212222212111112221122121111211112222122111122121111121221212121222212221211221112222111122211221121121111222111221212111112121111222221111221211222111121122111211122111121221222112112212212211211212211221222211212212221121121212222112122111222122222121211212112222112111121121222212112211221212121122221121121122111122221212112221211122122211211121111212121211112112111211122111211122121212221122122212222222211112212112222111112111111221111221111222221212112212121111212111122122112122122212121121222212221221111121212111122211122221211112221111212212122222211111111122211122122121111212111111121221122111122122122111222112111121122112221221212112122112122121221222221211211211211221112111112222121112111212222122221222111222121211221122122221212122121121212221122222112121221221111222111112221211221112112211112212112121121121211211111111122212122111121122212122111121112111122122121211222121211212111222122222121122222211212212111211221121222212111222112211122222121111212112222112211112121211222212212211121121222222121212112111212211222122222122111222211212222211212111221112111222211222122111112122111211221112122122222111212121221212222221122112112221212111221221222211211211212211221112112111112211112222121212121222222112112211112222122122212211122221111121212111112121221222221222222111121122121221111112212221112122111212122121112121112112121121211122221121211122121212122111111111121121122112112121111112111121122221121222221122121222212212222211122211211221112212212122122112212122211212111222122222111112222221221112111121221121222112212211212212122111121212211211112221211222212212122221211121111122222212122222211112121222112221122122212122221212211122111222222121121211212112211222221212111121212221121111111121222122111211121221221222212121111122222211221122112121111221211111221221212221211121211222211121112122121112121112112211121111112122221111111122211111122222122112212211211111112111112121111122122111112212221212121211211221121221112221111211211121222211112122221122211122211111111121221221122212122121222111122121121211211112212112212212111212111121112211222212122222221121121112222211211112112122122221222222212212122122112222221112212221122111112221212222122222122121122121122112111111111221211112122221111122122111121221122222112222112112112212121122221122222121122222212211112222222222211222221122211222122111111112121211212111122221221111122112112221122212211212222112221212112121211122122122121112111222112112222211111221221222112211122111222212212122212222121211212122112112222111121211212222221111112212212211211111212112111112111211122211111111112212221111112221111211221211112112222221122112121221111121121212122221111212221222221211221211212122122111221212112122122121211211211121211221222112222211111111112222122211212211111111112112222211121112121122111222222222221122221222111122212111221112221212121122212222111211212122222121121111222112111111221211122111111221122112122221221111212211112121122212122212112222112111211221221121111112121212221122122211111122221222222121212212111211122221222122222221211111122111221112111111122212221122121112122121122222222212212122212211121212122112111112121222122221222212121112211112211221221211211112222122211111222111221222121212222112211221211211122222112212222212111112212211221121122222212121221221222222111222112212111121122111122221112121222221211211122221122111121221221221111212122111122121112222112121122112221222121211222211211121212222211112121121211212222211122121221111112222111122112122221121221212222212122121112112121212211122212121212121121212222121112122112112222112221122122122111122221122122221222111121112122112111221112212221222111222222222212211121211112111212211122212111122221122222121222211212212121122211112111221112122222121222211212112111121112222111121222222121111111222122221112221212211212221122211222122122122211211111121212122111112221222222121221112112211212211112111212111112112111111211112111111222121211212212212212122122121121122112112212221221112111221212222121221112211222111211222112211212121122221212212222111111221222222122212222111222211222222111222221221111222122112122121111121112222221212122121211112222112121121122222112212112112212122222111112111121211221212121211212211121212112222112121221111212122222221112222122122222112222121122211122221211211112221111212112111112222122121122221121211221122112111212222112122121222112122122112122222211212211111111122122122211122111111122222122111111221122112112121222212121211212212211222221111111222122111111122122122212212111221122121122122211111211122222222222121122111111111121222221221112222212122212111122222121221221222111221121111211221212222121221111121212221211121212122121211211211121111212111212222122121211111222211111211122221122212112222211112111111222222211122211112211122121121222122122221212121222222111122221111211121212122121112122211221122112222211211122111222111111112112221212222111111121211121211122211211212212222111221112111122212221112222211211112221212111212212222121111211121212121211122112221211111211122112121222221222122111122222122221112111122222111221211112111212211222111121221122122121122111111122212222112211121121212122212221111221211221211122221221121212122212221111111212122212221211212222121111112121212211122212121222212121222112122111211122112112222222212212212212122111122222212122211212112211222122212212221222112221111122112111121111222111112211121211211121121111121221212122221212122212211212111211122122221221121211121112212221121111112221221212122221212122122122221221122111211112122112121121122212221121111211211221122112222221211121111121221111111222121122221122112111112121221122212211122211222221112121212222112121122111111211212222211121221112212112222111112222112111122221112212111212211212112211112112121111112122112212222222112121211112212211121121211221121111212221112122112111211112221221112212221112122121122221111212212221122121112212221222121121121212212112121111122122111121122221121211112222211112212211222111122121211112122112121211121121222111122112211211211211212121121212121212121121122212112211221111112212121122112112111112211122211211212221221112221121111111112121222122121112122111222221221211221211211122212221221122122112222222211122212122112212212112122111121112122211211122212122221221112221121111121122121222221112121111212221222212222212221221212221211211221211112111122222122222121211121211211122212121212112122121122121222222222221211211111212111122122212121211121111221111222221211121121211121112121212111212112122122112222111222121111211112211121111212112111221112211211122121122121121212111121112121222122111222121121121211111121112222121222212111121222122121211212111111122111112222111212221121211122121112111222212111111212121221222111221211212222111111121222212211211111111121211111111111212112122222111111112122122212222211212212222122222221212112222222211122122222111211222222221212212111111211212211121222222111222121221211121221122221211111222211221211121211121212222122121122221212122222111112122122211111122221212111211212112221112122221111112112221112121221222111121112121121222112221122121212122221221211212111122112221211122222111212111111122122122211222212212222221221222111121111121211222222212221212212122121221212221122222221122211112122112211211111222111212211111112111212112121121211212122121212212222222222221111221121222111222222211222111221221111112121122212212111121121221221111212112221121112121112111112111122121221122122212111222111212222111122112111111122212222221212122122222221122112121121112221222121122112222112111121221221212111121112122221211121111112222121211112112211121112121112112222211211212112122211211212111112222211121212211221121111122122212212111212222121212212222122222221211112211222212212211211112112222121122122122111112111111122112211111112112212111111222111211112122111121111212211121112222212111221211121122111112122111112222121121222221211122122222121222121112211122221121222122221211112211212112211121122211111112111111122212111122221112212111122212212221121222212221122211112122211121122112112212122111112211211122112221212121122112221121212212112112111112211222221112221211112222212221221122122221221122221122212212112221111112112122111222111112212221211221111221211111122122121211222222221112111112112121112221122221222222211222221211112212111122111121111122212121211122211121222112211211211112221111211212212112112222121122212121221211122222211121211211111211212111221112211121222221211211112111221211112122221211121211211112222222111111211211222212112111112111211211112211222211112112211212112122112112111111222121111112211212212211112221222111121212122222211221122121212222211112122112112122112111221211221112112122212221111112111212121122211122211221112112112211111112121121121211211222221212112111211212112121121211112122122221212111111111112211112222212112221212122222212121111222111221211112112222221111111211122111121221211111211121121211112211112211111211212222211122121122211212111111111221221211111121121212221111122111222111112212122112121121222221122112112211211222121221211121211211112211122122122211222221212222111111121222211211221121112221122111122112112121111212211122212211222211222211222121221112112211121111221112222211221112221221122221212222112111222212121121212111112221122212212221211211211111111121121212112111112211112221121122212112222112222211121222221122111212222122122222212221121212122211111211222211211212211222112122211212111121121122222222211212222112122211121211111121111212112122221112111211212112222211122222222211221212111121221212212212221111111221121121112121121122212121121111122222111112121221221111221122222111212211112121122211111222212112212212221222121121112121122111122122111121121122222122221211111112112221121211221212212221122121121111112112122221122222121211122121112112212212121212222122122211222212111222221111111121212212111122221121222211222212112211112121121211211222222122212221222122221121221122122121111211121222121121111212221222221122212112222212122211221111212221221111112221212211122121121222221212212211222222111112112122111211112212121212112212112112122122222212122221212111121121221121211222121221211111211221221112212121112212121111212221122221111112222211121211112211222111212211221221112221211221122221122221211112122121121111122121122221211112122112111111211212121111111212222121221112222121122221122111122121112112211222222221211111112121221112211121211121222112111121111212121122122211112212122111221221221222222222122111121222222222111221111211121211211122112111111112212222121111212221112121221222221211111122221122222112211212222122212122111222212122221112122221221121122211112111212112222222211212212111212211121121121212211222112121111211111221121212122222111212122221112211111111221111122122112122121111221122212211121121212211111212221122222222222111221112121121221121112111212122221211211122212212111122212121222122112221211122211111222211111221112221211121221122221121112221212212211222121221111222111221212111112222212112112122222212212112211211111112211221212221222121112211111122122111222111111121222212111112111212212112121112121211111112121211111111121222112122112122112222112212121212222212221221212111112121112211221221122122112111111211211122112221221222211122112112212121222212112121111121122112122221121212212112211221111122112112211222121121221111121212122111112112122211122112122122221221111121122211212112111212111121211221212221111221221222211211121122112211121112212121122222112112112222111111122211211122222112122211111211121221211211121211122222112212211122121122211111221112212121211211221222112222222212111112212112211112212221112221111212211221112221221212121121112221221122122111111121121111221211121222111121112222212212111122111121111121211121221112122211222212222211222211111222222111211111122211121111122111212111121111111211112212211222121112112112111222112222111212112221221122221211211122122112121111122212121121112112221111212221222112122221222111112221122122221122222212122221212221111111212121112212212211112212221222111222112221112121122121121122212112212121222211211112121222211121212221121211122211112221112212121111222112222211111221212121222122121222221212121112222221122212222221122211221211211122112222212211112211212221122112112111221211112211122121221212111222111222211111111221121221121211222221222212222111212212221212121212112212222222211211111122122221211211211212122122121222121121112122222121221111111121222122121222212122121212121112221122112111221112122112121211222122211212222212211111111122222222122211212122121111222111211122212112112111221221112222111121122111122122221212211221122111111112221122221111122221111221111211122211221221122211122121122211122121222111212222212121122111111212222111221211211121221111221121212121122211212121111221121221122211212212222122112112111212211121212222111122221122222112222222211121222212122212211121122121211221222122111221212211121121221121122212221122212221222122111122212112121111212212122221121212122221222122121112111222222211112122211212122222211112211111111112211111111221211221122222222112212212121112212221222121212111211111112212122122211211222212111211222221222111112212111111122111212111211122222221212121112212211222111211111212122212122112111222222122111222211122111222111122121112121111112112122221112222221221222211222211221222121112212112212211111122111211221122211221222221221122112121112112222111122222222111222222212112112221121121122112121111221222211121222112222122112222121112111212111112121111211111112222122221211221122122221221211211121221222121222112112112121112222212211112221212122122221122211212211111122112122111111222211111112122111211212211121212112212212221212111112221222111112111212112122111222211121221121212121122222212112221121221111122122211111121211111221222121122212122222212211121221112111212122121111122222222211122111212121221222221111121212121212211211211111121222111211212111111122121222212211121221222122111221122211211111211122222221122211221111112221122221111211212221111211222112211112211112111111121112121111222222221112222212112121212121112121112122211212111221121221111112211211222112222221121112211212111112211122222111122222212111221211112221122222211121112211221222211112112111211221122211211221211122211122112221222221212112111112121111211222111211122221111122221122221221222211221222112211121112211111222111122112221211121122111212112122122111222211221111111112111111112111111112111212222112211122211211112222111211111221212112212222111122222121112212222121122222222122211121111221112122121122211121221221211122111111122122121212211122112122122111211112121222221112221211221112221121221211122221212211112111121121222212222211211212212211222112121222211112111111211112121122121121211112221211211221211211122222111221122121122112221222211122112111222121222111111221212111222122111212111121212122122122111121212222211111121212222211112211112221222212112122122121222212211121211222221221222221211212112121221212121111211221222211211112222121121122121222111211222211112121221211121221121212221211121122122221122122222211212212221122211221221112122221212222221221111222222221221212112121222212121112211111211121212212121121212111122122122222121222222122222212111211111112211212211122121222221112122121121222221122121122121212121212222111122122112222212222121222211121111212212122112212221222121212112212222112212121122122111211211112112122212211221222212211111111221121121211211111111212211221212211121121121212122122122221222212212111221212121112121111122221221111111211211112222221221112121112122122111211121211111111221211221121212211122111112121122121121122221221121222222212122121122211112221112122122112121111112112121121222122121122111221221121212121221221221121211222111221112221221112222222212121122212221221211212111122212121221211221122111122222222222221111222212221111122222112111122111211121221121112222222222221221111121112111111221222211112222221222211212111212112112112121112222111122121111121111222212111212111121221112121222122121211122221122112222122222122121221122211121211111121221222222222222211111122212221122212121112111111112211222121221221112211121112211121221112112211112222122222212212111222212111111122221211212111111221121121121211122121112111222111122111112112112121222121211221222211111211211122122211121221211222221122121222222212222212121111111222212122222122221212211211111112121122211211221212222212121111122122211221212121112212211211222211111222212222212221222212211122121212111111222211122212122221212221211121112112211222121221211112112111221221212121121221122222221222111221121221221121122122211122221212111121112211212121112221112221122222121211211112222121211121112122122212212222211121122121121221222211112212222121111122112112111112211211222122212111111222122211211111222121111221212122221212122212121111122211111122112112221121112211222112112122111221112221111212221211211211121112111222222221111112121122211221222121122211112111111221111212211212212121122122212221212112112112122221121122221112211212222212211121212122122122112111121222222121221112122221222122112111222212222221111221111212121111222212212121112112211111211112212211111211111111121111112111212222122222221121122222122222222221212222221112112221221222222222221222212112121121221211121212212122211112122212211111221111121112122222122112211222121222211212112221122212111111122122121221122221112111211221212212211212221212121111212211222222222221211222212211222221121112122221212211222111211122121111121212112121122212111212222212221211221111222221221221221111212112122121112211211111212122212121121221212212121112121222211222111211212121211211212212222111222222112212212221212112221222221222212111122112111221121112211122122211111122212221222112111222212212121222112122212112122111112222111222122212211212222112111212122122212222112221211112121211211112222212111111111212121121112211211212111122112212122212211111221111212221112112111122221211122212111222112222211211122222212221211121111221121211111212122222212222222211122111122221111211112221212112221221112211121111111221122211112211221111211221122122112211122222211111211222211121121211211121211111111222211111122121221121221122121121221212121222112111111212222121222112222212112212122121211121121221212221221111211212211212212212212211212211221221212121221222221112112222122212221212121212111111212121111212221221121111211122122122221222111122222111212211211111111112111212222211121112112121212112212211112121212222221122121212121212212122122121221121222222222122122112212112122112212221112212111112111111211211111111111111221112111211221121222121122121112122222221211212122211211122111111122112112112222112122122211121122211221122222112222122111122121221211221211122211111122222222211211222211221111111222121221211121221212121121121111121212211112222122122121122212121122111112222212221222121221211121121211212112211222221112121221222212112122121111111111222211222121221211121221121111212212112211112121222212111212121121222121212112112122122122122111121211212122122121222112122211121122221112222222211111212111122121121222121221221211112212122122221212211221222122221222212222122122212121121111211111112221211222221122221222222112222222222212112112121221112222111112212122212121212222212111211122222212222121221121222112112121222221211122121111211222121222211212222111111212121211212221111212121211121112111211211212111212212212111111221112112222122121222222211121222212211111212121111211122121111211111211122222112222221112222221122111111221222111112121222221211221112122211222212221112111121221212111121122212222221222121221112222211111112212122221121222112211111222221111211111211111122211211112211221112121222121111212111221121221211221211112112122212122221211121222221211121221221112121122112222121211122211112221111212111111211212111112111121121211122122212112111112221121111211122122112211211122112121222222211222222211112211221221111121222112211211211212212221212111222221212221212122111211222212222222221221121122111111222212211111122221212121121121222221222112121222222121121211222121222212212111111111111112112122222212222121221221222111211222112111212221221211221112222222222111211222222112211222111222112222122222122222222112111112211121221122221122111212111122221111222212212111221121121222121212122112112212121221121211221221212121121212112222121221211211112212111211122222111121112112112121222212122111212111212221111211112121111212111212112222212212112122112222112221111111211112121112121111112211222112222211122111221211212221211211121221222121212122212112211112112111111111121122212222122212222212212112122211221221221211112111212211122121111212122112212212122222122211221112112222221221111222211112212122211121221112121111221111211222112212121211121211221222112212212111121121121221122221212221122121122222112122221212222112111212122222112222221122222221122212111222211112122212112212122221221121122112211221221121221111221222121122212121221212221111222111222112222221111121112222112222122112111221112222111111112121221111111211111212121112212111121211111222122111212212211221221212222122112212121121111122211121112212111112122221111211212111112122111112221211112121222221222112222112112212222211111211222111111221221222211212121221122222112112212122112222221212221121211112122211211222112211112121221111222122222211121122111221112112111121221112222121211121221212222112121211111112112211112111211112221221112122222222112121111122221111221121221121121211122112111212121222122122221222211111111221211222121211112121111221111211122122211212121222222122111122122221121212222122222221222221222212221212211111221122221221121122121112221112122111111121121111212122112221211221112122222121121211222112112112222221122111212212112212111222111212211211121111221212111211122211111222121122121221222112222121111121222112112111121112111121211221221222122211222122111122122222112221121111212222112212221211111211111212112112221221121112121111112212212212122211111112121122222221121212121112122112222221222211222211112212211121121122111222112112111221122122112222111212112222112221222221221211112222112122222112211212111112211221112111222112111112221222122211122121222121221211112211111212212122222122221221212211121111221122112112221111222221211111121211112112212112112222211211112222222211212122221212212212211211221121212121112121112212211221121121122111122111212112111111221211122221222121222222221121112221122112111111111212121122112212121212222112211221122222211211122122122212212111211211221221122121121222121111211122212121122121222212211121122121222111212112121122212211212221112211122111212212121111222122122111112211121112122121122112211221212221221222211112122212222121112111112222121222212211122112112111112121222222111121121221121212211121111112211211121122121221122221112222111112211122211111221222121121112211112122222121222211212212211111112111122111112222112211212222121121121121121212112211211111121121111221112112122111211122221121122221111121121121121121122121221211111122111222111212111211222212121122221211221121212221211121221212112121222122221221221222111221111211111111222221211112122212221111121122112222212212212221122211122121221121221212222222211222121122221121122122212211121122111212222212211222211111211222221111112111111221122221111111211222221122122122122212222121221222222211122111222111221222211221112212211212122121222111122121111211122111112121212112212111221122221211222112122112121222111221212222211212122221122121222221121221112211122212111111112222221212121212212211122121122212221211221122111112111222121122112121111111221212122221211212211122112111211212212222122111222122212112221222222211212222112112211122212121211121211122111112211222212212122211112212222112222212121112221222222211122112122112222211221122122221112122211122211112111221221221111112121221111112212111121222122222111222222122222122121211111212222222222221222122211221211111112211221212121121221212111222121121212111111112111111111121112211122121121222111212122122211211111111211111221122121112112111222222111122221212122221222112121121111111221221221222222112112221222212211112212221111121211122221111222112112112222221211112212111222221112111111121122221121211122222121211222221212112112111121212111222222212122212122112211111212111111212122212211121221211122112211111122212122122222211121121121111212122221222112111111111211122122221212121121212111112121212122211221112111211112211111112212212211121221222112212111211121222222211112111122211122111221111222111212111211211112212121221222111221112122221112211111122211112221112121122222111122112221121121222222211222212211121211121112221111211121221112111111121122111121111122121221112122211222212112211112122122111111111221221211121122121111112121222221222121111111112222221111212121112211221112222122222112112221222121112212122122211212222122222221212211121211111211222212122222111122121221221122121212122111122222222121122112222111121211112221121222222121122111211111211111121111112121122211212112211212121122221212121112212112211221112211121122112222111112112112222212212121121111122222222121111211222111111121111212112221211121122111121112122212111222111122221112122121221222222111222111112222222211112121112122212221122121212212112222111212221111121211122112222121121111122211122121212122111121112122112221122121112121221121221112211221111212111112121212112221212212212111121111122121222112222212211212212212221122112122211112111221222211221112111222211121112221212221212111212211222121112212222112221212121221121112222111111212111222211212112212121112221111121121112222221221211121121112121222121212221222111121111112112222212111212111222222121122212112212122112122112211121212212112222121111212212212222112211221112112121211111211211222222221212221212211211122222111111121221121212212111111111211111111212211211122222222212112112212111111221212122111212122112211112122222112121121122121212222111211122221221112222211111122112212112222222121122212122222122211211112121112112121211112212121221121221121112111121112221221122122212111122121212112112212121122212121112211222122111121112211221221121111212212112222211221111222121211121211221121112121212221211222111212212122221121112121211122222122122221121112222222211211121122111111122222211112112111121221111121212122211112121112111111221211111121222121111122221211221212211122121112212122121122121211111121111111111212212111221212221211211222222111212111111212112122211212212112122111211111212212121111122211112112212211211122121221222121121211122112221222221111212222211211112111112112111122112211211122221112221112111111211111121112212221121212222112111211222221111222111211111122111122222121122221112111111121221121122222211111121121111221211121212112121222112212222122221122221111111121211112222112211112122211211212122111211221212222222111121122121112211111122222221112222212222211122112211211112112212221111121221211121212222122222221221121211112112111112111111211211121221211112212112221212121212212211222112222121221111212122112221222122222112212121112211211122121221121212122121112121212221212212211211111121222111222112112222211222222212222212112221122112222212221211122112112222221112121121221122221212212211112112212111121222121211212121121211221111221121112212211211121221211122211222222212212211222221222122221111112221121212122122221221221212221121111211112122122111222112211121111112222212211212112222221222221112112211221112111112212212111122221121211221211221122212112121111112122221121211121121121112212222221221111112111212112211122122221221121122111221122212212222121211112212112121222211111211212222112111122121212111211122122222222211121211212121212112121112121121122222112211111111222111122211221221122111111121121112122122212221121221221112122221212122221121122121122221222211212212112122221111212111122211121221111111112111121212212111111111211122212221212221211211212212222211122221211211212112112111121211211111211212111122121112212222112222222222122212221221122122121112212121211121111212122122212122221111121121112211121212112121122212121221212211122122212212221121122112221121212111212212222122221111221221121122122222212111121122221121222221111211211111111222212111212112221222212221112221222221221211221111211112111121221112121122212122221111111212211111222221121112211222221212121111111212222122222121112212221112112122211121222222222121222121121212221211221221212122121222112121111112111111111221211111111212222211112211121122112121122222212111211112122221122212222122221212122112222122112112222212222222111121121221112221212111211221211122211111221221211222122121221121212212112221222212212212112122221112222212221122212112122112111222211222111212211211121211222222122212212212212222211122211112221221122212121121222221112212111112211112212211212111112111211122121121121121221222111112211221212121221221221111122222112112211111222111112112121112111111212221221122221211211121221211121221212212222112222212212111222211212112221221211222212221111221111212111212212212121122222122111122222121112112221212221122112221111212112222212211112211112112112221112222112111221111111111111112121211211222211112222222221122221111211221111112211121222121122122111222222211111212122112212122121222221122222222222212112212112111222111212222212222212222212111122112111121221212222222212111111122122122122111221111121212221122122122211212212211212211122112111121221221221221212121122212122111211212222121222211111111211121111122221111122122121122121122221211121111211221111212121221112111122211212122122212112111122211112112112112221111211111211221121122211222222212111221211212211221222112211211121111212222121122222221122221111112222111221212211121211212122222221112222111211222211121212112221111211122211221112122112221212111121212121122212221221122122211121122211211121111211111221211112211222122121212222211211121212112221222221221211222112122221222222222212122211212221111122122121211122221122112112111221212221111211111222111222122221111122211112111111121121111212212211211111222111212111222111122212112111222211222111211212212222111111211111121211121111211211221221112221111222112212212221212222212121121212121121212211112121212122111112111211221211121211121122112222221111111121122212122212211122112212122111112111211112212121121111111211122221111222122211111121121121111222111211222222222121112222212221211112122122222211121222121211222112121211221221111122122121212111112211211111112121111122212121111222112122221221111212212122212111222121222211111112111111121121211211221212221112222121222221221122212121111211221212121111212222111212212111212211122112121221221212121112111211212211221111122122112212112121221111112221122211212112222212122211112222211122122111122212111111121122121112111122222212112121211222111212221112212122112121121112121222212112122221111222221112122221212222211122222111211211121221221221211212122122222122212121122122222112212221212122211122111121222111221212121111212211122212122112211221122212222212111212212212222121112112221211212221111122121111212212122222212221222222121222111121221211212122212121112222222122111211212111112211222222122122112112221122221111221212121111112112222222222112221111111212112111112211222121222112222211212212121221222112122221111211211122221111122222122222221222212221212121212222111111211212112221222121121122121212112112112212122121122221212221121111222221211211212122122211212111212121121112211112212121112112111112122121212112211112121111211211221121122222111212111212211222212111221212122221121222111211211122211222111211221222212112221212222211122211211122112111211111121212221211122211112122221212221221112222111111212122222212221112222221112112211221112211121211212222122112121112211221221112211211211111122111121222122221122122222212211112112212122221221122222211121122121212211121112121122121111211122121212221122211221122221121212212121111112212111212221221212221221211221122222222112121211122112221121222112122221221121222122112112111222211121222212212221211212221122111222111222222212122221111212221222221122112121212112112121221111221111211222121121122122211222221222122221111121112121212212212112222212222221221122111121221222121111222211221112222111121112111121112111112222111121221221212111111122222211211112212111122222221212211122121121112112111221221211111211112222211222212212121222111121111111122222211111211212211112122122212122122211221212121111212111222212222221112112122111211221211111221212221222221221221211221221112112122221212221112121211121221111221111122212121121111121122222111211211221212211221211212212212211111221212222221112222222211122111222122121221112211212221121212222212221212112111121111211222112222121211212122112121121222121122221112122211122212211211211221221121211121122212212221211221221212212121111122221122111212222212221111111111112122212212112112221212121122112122222222122122112122222112111112222122221112212211222221112121222111212121121212221121222221221121122221212221212221222122211111222122222212212112121212122221222122212212221121111122221222222112221111111222111212112221112222222222121122222222221112121112111222221222112122212112212221112211212222222222121212111222122111212221212221111221211212222121222112211111222112221221211111121221112222212211212221122211112112211221222111222121111122111212122111122121112112221212122112211222221221122222222121212112122212221111121211111212112122221212112111122212211111211122212111111221112121222122112111111211121221211121211222111122112221222122211221121112111222122122211121121122122121212222111212122221112221211221222121211221212212121112121121122221212212221222221222222111221122222221212112221121222211212211122211112111121121222111211122121222221122111111121211121122222212111121111121212212222221212211122221122111211111122221111111221212221221122221121121212211211211222211121122122221221112212222112112212121121112112111112121212221112222222111211111212212222121222122222222212221222212122122221222112212112211122222121111121121222222121112211122112121121221211111211112221112111112111121111212111122211222211222122112211212222211212211221112221112222221212211121222121211121212111222111122121112121121222112222222112212112211212121222212111211111211112212121112221222211112111211221111212212122112111121122211112211221111111222222221211122111112121211121211211221111211212211222111221112121222111211212121111221222211121212122112111122222222111111221121121121212221122211221221221121112112121112221211112111112122221112111111122111222222112212111122212212112222221112221122221112222212111222111222112112211211221122111211111212222122222221121222222111221112121111211122121222111121111112121121112121211212211121111111211211111222112112212121211121211212221221221211112222211121221121112121212111221221212112111222211211221111122111222121122212212222111221111111112111222112222212121212221121122111111121111222112111211212211112221211221111122111211221222212111121112121112222212222111112222212222212221212122221121211111111211122221121221122112212122221122111222221112212112112121122221121121211212221212112221222111221121211211222122211112221121211121212121212211222122111211221212122122112112211211211222112212122221222211121222111112212221112122212222111122112121121121221111121122122221211112121222121121121121122221111122221222212121222212221211121112222222122122122212211122112112212211111221221111222222111212222111122122121112121112211111211121122221121211212221212122122111221211112121222222211111212211111122211222121222221122121122222212221122122211211111112211212221111122222121111111122122122121212121121111221222212221111122122212211121122122222221212221222111112212112222111221222112111112222212212221211222121211121121211222212122221112122221121212211112121211212111112112111222122111122222222221221221112121222121221211211222221112211122221112121211112121121121222211112112222122222111212221221211221211212122222112221222212212211222221211212122221112222112211122221121222222122111112112122112211121111122212121212221211122222221112112212121111122221122212221122121111111211122212122211221111122112122222121111112222111221111121121212122211111212211112111121222221122211112221221121122111212221211211211211112222121111222221112212111121122221212221212221122222222112222121111112122111121121212111221211211122221221122122111212121212211212211221121212212222122122111111222122112121212112212111222222222112121112211212122221222211212211222121111122221211122211122111121111222121112122112112211122212111211211112212211121211112211111222221221112112111222211121111122122122111111122211222221221211222221212211222222211122212211222221222211221211122222122222222212221211222121222111212212122121121112212211111112121112111221221121211122221121112222211211211122212121212221212212211221212111211211221211222211121221212112111212212222111111122221111222122212212121122111122222212211121211121212211122211112221211112221112121111122212211122111221112121211121121211211121221212111122122112111222112111112112211111211221211122112222222221221222121222221222221121112112222122221121211211122211222112212112211211212122111111112122212222222221121221221121212212211211221211112112212211222111112121211221122112121211222121112221212122222122221121222112221121122111222121111211111112222212122121121122122212112111111122122211222212211212212121222121212211211212112222212122111111211121221111222221122111212221112111211121112222212212122121112121212222221221111111221111212122211111212112121121112112212122111221121122222212122211111222211121222221221211221112222222122222112211222111222121122211121111111111112221212111221212221211121121112111221222112111112211212222111222122221112211212111121222221111122212211112112111211222211112122122121212222222212221112112211221222112122111221221221221111111121222211222112111112111211121121222212122211211122221211212211222212221221211121121221221212211122112112121121222122122221121121112221212211222122211211122211212211211212221121221111111111112221212212122122111112211111221211222111121221221221221222111122111211111121112221212222222111212111222112112112221221111111222221122222112222111122212121221121111212211121121211212211121122112112211222122212122122211211121211111112112222221112212221121121121221121221112212221212221121111211122122221122221211122222211221222212112211112221222121111222211111211121212122111222211111121212212121211121222121121211222211111212222121121122221111221122222222221221122111112121111212121122121222121221111121111212121211112222121221121111212221111121121122221212112121212112111111121222122222211222222211221211112221212112111211211211211112211212112122222211122212211111122121121111122222211112122111111212121112212221112122111212222212122121111212112111121211121212222112211212121111111212121121221121221121221111121221112221212122222212112211212111111221212221211222212211121122212222122212222122221211121121222221222211111221111211111112111212221221112212211222121112122112222222122221121122111212121212222112222122221122211112122212122122121222122112112112111211122221111212121221222221111221222221112211212112211122112122212122112122222222211121111121222212212212121121211122211221112112111222212222111111111221122212122112222112221112222221121221121112221212122112112122112122222221122121112212211122221111121121111221221211212122212212211112212111121121212221122112212211121221221222122211221122121221122212222221122122112121221111211112211221112111122211212212122212121111221211121121221222222221222122212221121122122222222121111121212111121112122122211111111122221111111112122121121221211222222112221112222221121111122112111211212111111122111111112221112111111112112122212222122112212112122122121112211211112111121211111111212121212221112122221122222222221211112111211212211211211121112122121122211221211122122122222112112211112122122111122112121111111212121221222211211212121112111112121222212121211221112111222122221121222122211221222122111121112112121112122111222111122211121212211111112111112122122212212222212221222221222112222121112121112212212112112122111222111121212121211112211111222221222211222111211211212211122112222122211111111222212221211221111121111112211121122112112211211121112112122122111211212122122221111212122221112112221121122121111111222111212222221121111112212211221122112111112112221111122221211121111222121111112121212112111222212111221221221221122112222222212112222112212212211211122121211222111121121212222121122221111111222222111221221211121222112212221211122122211212112222222211112122211211222212122111122122122112112211222211221211211121222112222221221212121112211111221112111212222121112211211222122121121121111111111221222222111122111121222112211112222212122122122212221221222221211111111111212221112211111121121212122111221212121211112222111212122212222211212111222112221211221112121212221222122122112112212112221221212212112211211212121211112111121121122122221222221212112121222122221111112121222222122211111211221211222222111121211211112221122222221211121212122221122221112112222122122211112211212211112211121122211122212122211221221222121211211221122211121112212111222211212122222212121121221121212122211222212111112112221221121221222112112211122122121212122121211121122211222222111111211112222111211111211221122221122221111111221112222211112212112122222121122121211222222121122221111111222211112212211221222222112122112122112211112222211112111221111222211222211221122121111212222221212121221112122211222222122222111111212112112112212122121221112122122111111211111112211121211212112111121211221112112121122211111221211222111122112111222212111222112112222212222212121122121221122122112111121111212221122222211112212221122122212212212111122222221211112221111111121122122112211212211121221121212111122211211221111211122112222222122222221222122111111112111111211111122222111212112212112111211212221112112112112121212221112112122121111222122122121212121121121121112122212122122111222222222111111112211222122111112221212212211111221121222221121112222112111122112211211121111212122111212111122111112222122122122212121222222112221222111222212221222212112111222222121121122122122122211122112122121122212122121121121222122111112121112222221222211211111111221222112221111111212212211222122121211122112121111212112122122221121111122211222121212112221221212111122212212221222221222112221122112121121112221221111121222212212121121121122222121211122221122111111121221211212111221111121221212121211112121121211121212221112122211221222211212111222121111212111222211222122112122221211211121121122221212212111111211122122122112222222121211212221111112221211122212221122222221221112212212211212221221211212112112112121121222212111112122221121221112122221211121112121112111212222211112121212112122221112222121112112212112122122211221122111122121122111122222212121211211111111222221212112111211122122212111121112212221222221222221222222122222212222211221212112212221121111212212111212221212112222122121121111112112122221211121211121222211111212221221212122122211211212121112122211121211122121222112211111122122111122122112212121112212112121121221212222111112122212112122111112111221111211221122121121121211111212222221112121212221122111122122121122222222222211211221111121121211211122111221222111222111111211222222122221121112121212211221212112221111111121212111222122122222122221111122121211111221212211111222212211111222211121121222212112211222221212122112211222111111112212221111111212122221112122211121222211221111112122221111121122111111121121122122112111221222221211122112222211212112112211122212112212211221221112122121122122212222112111111212122122122112111211221211121222222122111222222111212121222212222122222111121221222111221222111212112221112121112211221121221212112211122121211211222111221121221212212122212111121112112121211122221122222212222221121112111212221222121212212111221211221111211212212111211222211221121221121111222112222211122212121211212111211211222222112112222112122112222111211211122222221122112222111221221211121221111112122212212222122121121212221111121122221122122222121221221121212212212221122222112121111112211221222212211122211212111121221222212111122111212122122212221112122122112112111112221222222222221122111112221122111121211212122212221121112112112121111112121212211221121121211121212112121211111112121112122222111212212111212212111222122212121222112122122221111121222221222121112212212212111211222212211221222112212222211222222221121221122221221222222221112122121222212111121112121122212221221221121211122112122222222212222222111222211112212121111222112211111211112122212211112111212221221211222112112121111221221212121222212111211112211111211212221111212212221222112212222222212111121211221112121222212212212212212211122111121122112122121211212212122221221111122111221211121222222222122122212211222112211122212212111212211111111212112112121222122111212212222112211221122112212121121122122212121221211121211211121222211111222122111222221122221222211211222112112112221112212211221211212212112121221222211112222221111212222222121222112112121211121122111111111112222122222111122111122122211222121221211121221122211211221112221212211212111111122121212211222121221211221112211222122112112222121211221222121222122222111212121211122122221121121211221211112112222121221221122211221112122121112222111212112111121122211112212121212122212122122112111212112122221112121111122122211122211222211221212112221112212211211221222222222122111211111111222121211221222222211212211121211111121222212211211121222212222122122211112112221121221112222222221222221212222211121222121211111212112111221212221122112121221121122121221212112212121221221222121222212111121111122221121111221112212222212221121122121122112211121111211111222211112122212121122111111212111121122112222122211111221221222121211111221122112211122121112112212212122122211122211122221211122112221221121221211112111221222121121211221222221222222122212122122121112221221112112112211212112112211122121122111112221121122222212112121121221111222122212222122221221122122211211111212122221112122121111211121111122112222111121211222221112122222212221212211112121211122121211211222111112122211222221211121111211112212221211121121212212221222211121111211122211112222221112222222212212121112121211211222212221222121121112121121122211121222122112222222121211212222221122221221221212222112211222221111112221121121222121212112222112212221212111211121222112221122212222211111122112121112111212211211112212112121121122222212121221222211112122222122122121122122212221112121222212121112111111112121121211122112121221221112221112122112112222212111121111221121121211221112221222222111211122212222112112122111112212122111221222111211211221222121112222221211121221122212122122111211111211212112221121121222121222121211121122221122221122121211212122212212122122222112211221121122122111221121121112212111222222121121222221122222111121111221111122211211111222222111222112222112111111122211121121111211111221211122121212221121121122122222222211111122211121222121122221222111222111111111112111112112112121122221122211222112222212211121122222221211112211221211111122122212221222211212121121111111221212111222211211222122221221221212222112221221121111222112111122111211121121222111122212111221221112121112222212111212221211112112211221222121222221111111111111211221122121112222112112111211111211122212122222121212111122221211221112111211121221221121221211122211111121221211212111111211111111211112121212111222222221212211222112211111122221112222111211211221112111222122222222122122111121221111212211121121111122121122212121122121221122212212121221211112121212221212111111111222111211211121212211221221121121212221221121212222121212211211211212221222221122122112221122211121111212211222212112222111212112121212111212222122221121121221111211121122211222222211121112121112212122112222222121122212111212112121121122111121211122111222121222212222222122122212211221111122111112211221122112211111111222211211221211122221122112211111111122121211121121121222212112121211221122112111212122212212122122212112111222111111121121121122112212211111211112222212112122222121122212121221212111111112222121122122212121221112121212111111212121122222122121222121211211222211122121212211111221122221122121112112222211121222122122222222111221111222211112112122121112111211212222211222211211112122222221111211211121112222112121111211111111222221122121122111122112121111211121211111222121111212112121122122212112221122122121221212111222121122121221111222111212111111121211111212221221112212121121111111111112211112222122212221121121111111221211222221122111211221111121211211211121111212221222121211211111211112212111212112121222222112211122121211111111121212121211122111211222111111122211221121211122211222221112121222111211222212121222211122212222212212222212112112112122212122122111221222222211112122221122221122111211212221222111121211112111121122212122212221111221222212211122221111111112212222121221221221212222112122222221221211111222121212211121221121212222212111111112222221121211221212212211222212221122222111121211212212222221111212212122121211222221111122122122221121122112211112122211222122121212121211111222112212221112121111112121121121222222222211212212122122221211121221212221112121211112121221222112112122222111122211222222111112111112212122112121211112212212122121211111111212221122221221221221221212211121112211211112221111212221122112111211112112122112221111211212212111212112112212212121212221212111212222121222221112121221111121222211121122112122221211221122211222112112211212222112221222112112222221221111211112122121212112122212121211211112221112221111222212121221111222222222111222222221122111111211121122122221211211222222121212212111222121211121112112212211112112212112222122111112121221212121211211122112211211111221222112221122221122212111121121212221121121121111121211111211122221212212212212211211112111122212221221122211111222222222111211112211111122222221111221112221222121222121212111212222222122111121111121212121212111112111221212111212211111112121121211122221122122212211221122111112211212221221222221221222122212121222222212122112211121221121211221221211211222222112222221222222111122222211112111211211212121212122212221121212112122121111212122212211222221221212122122121222212121221221221211122122122121222212112112121122111212112121222111122112212211112221212222211122211122122212112111121111221221211222121112221122111111112212211121212112121222211222212111211111221221121212212212221111122211112121221211211121121211222212221121111212111212222221221222122111211112211121211221121111211122112211122212122212211211211212111211111112112111122111111222221122222121111221212212211221211212112221122221222111222122212221111222112212221112222211221211221112221222211221111111121212112222222221112121111211211221111212221112122221111122112122212212122221111221111122222112111122222211121122122221111212221111122221122221112112222222211222212221222112211122112112112212212111122221111211122121211112111212111112112121122211112122212211221112221221211221211122221111111211221111212121222212121222222222122122212212122211111111211211122122221111212111212222211112221212222211112122122211111121111221121121121211212211111122212112112112111112211112122112112112121122112212122112212212212111111121111121221221221211111121221222122212112111211211122222221222221112221121221221112212111112112212122112212222211211222111212211211222121121111222212121212221121211111221222121112111222122112112121211222111212222111212121121212122111111112122122222221111211122111221222221212111121122221221122211122221121211122211212121212222112121222212112212112121121111221121111111211121211121122122122221121112111221122212121212111212211111122111222222212221221122111111212212112211212222212122121211211221112112211121222211212121221112112221122211212121112212212212222222111211221121121111121211222121222122112211121122222212221222111111212212111212221211122221212212211111122111122112112112211211121222111122221111212222112222221121121221212212212111221111111111111122212211211122221111221221222221122212122112121221221222212222221221121212121111222112121121221211122122121221121111222121222122112112211222222212122222222121122212211111212211211121112122112221222112221111212121112221122121122221111112122221211112211121112222211121212111112112112222121112222222221212222122111211111112211211222221112222222112121121212212222222121221211111112211211212112212122122222211112211111211222112122121211122112122121212212112222222211211212222211211112222112112111112222212121221111222212211221121221112222222111111221111111212222121212112211112121122111212222121211212222112121111221212121122111122221112112112122212212111222211221112122121121222122212211122221112222111122222212222211112212121122112122112212122122212112112212122212112222212112111111122211111221121221211212221222212211112222222112221111211111122122122212121212122211122122212121121222221112222212121221111111211122222122222122212111222112222212212122121222221221222211222212212211211222121122121112112121122121112121222122121211212121111111121121112112112212111122212221221212212221112212121211112211212222112112211221222222121211221211212221111111222111112211211121122112121122221111212212212221211122121221211221211222211221111121211111211211122111221121211122122222112121121212111122221221111111221121111211112212121111122212222121112122112221122112112221221121121111212122121211212122112111111121121121112221111221221222212221121211112222122222212111222211122221212211122122222122211112222212222212121212121221222221221121112112222222221122211112211111122112221212221121211221112222112122111221111122122122211122211111221122112212222221222111122211211221221111111212121111211121211222122221112211222112121211112121212111222121112111212112212121212211221112122211122111121122122111211221112212112211212222121121222121221122121211212211212111111221121111122211211221222122121212121121112121112121221212121222122121221122112221212221121212121212122221122212211221112211122211121121112121121112221212122112211112222122122221122221212121212221122212222211221211112221122221122212121221212111221122121221221112212221211111111221221211122112221111111221122122121222122221222222111221112121222112211221111121111221112111212121211111222212212122222221211121122212211121111121112222222212212211121122211122222211111212212221122211121121221111122121111222112211122221111112111221211112222222122121221211122211222111211211111212222211111122212221122111111111122121211122121221212122222121212122212211222211212222211112122222212212121122222121121111121211112122111211122212222122121211221111122111112121112222212212111212222121121122212111222221122222122111112211111121112112111112222212221111122112212121211111112222112121211222112222111121212221212222112122221122112212211121221222121222121122211221121211122122222122212122112222122221112121111221121221121221221212222111112112222111112212111112212112221112122111212112121211221121211121121122122112221212112122112122221121111112121222111111212221212112222222121111111212212121121212111211222121121112122211222221222221211121122212122221221211222112211221122211221112121112121112122122212222122212122222112122211111212211112222221122221111221212111212121221121112112122122212112121121122221221212121212221211121112212221122211121221111211222211221112111221122221222121112222222111212221211111211122221212212121112211122121211112122122211112121211112122121211211122121111121222122211112212112122122121222122121111212122211122121221222122212212122211112211212112212111111212112211212121211221222221221112112122222111212211211211211211121111222121121112112222122221221122112212122111222211111212211222112121121222221221222112112221222222122211121112112112211121121121121221112121121111112111112221222111112121212121222122122112112222122122211212212111212121121211222222112212222121222111211122121222111211112112212112111111111121121212222121212211211211211122212122221121121211111221221112211121122112111112121212122222122212221121212111111121221122121222111121212111121121211121112221121111112122211222222211211212121112212121221211111111112212122122122122121212212112121121122122222111221222121212212211212221212221222212222111122211222121111111121122111121111222122212222222122112211121222221212211212221122222111211222211122112222121122121122212121111221111212211112122212121122221111211222111121112211111111111112112221111111211211112111222212212121222122222111212111212122221222211212121112221122221122111122221122212221211222221212122211222122211212112122122211122122121221112121122122122212121122211111122222121122212111222221212212111112121222122212212211111111112122112222122111122121111111112122112211211112211112222222222112121212121112222111211212222122122122121211222211112121122121211212221212111221221222222212222121211122122121212121221112212221122121112112112211211112121211222212222122121222212211112211212111221121222121212222111122111121212121112112222111112221112111121221121222211221121212122122121222212111112221111112222111122121121122212111112221211222222211121212211121121211121221222211111122122221112212222122112111212112211222112112112112122121111121122121211211121112121111211122212211111122222211122212212222122212221112111111222222111211222222122212222111221222122211112111112122211122111111221122212211121111221112212212121221211122122221121221211221212222212221222212122121222122222111212221122221221111122221221211222221122212111222222111111122112121211212122211211222212221212112112222121212121222212221212212222211211121212121211111112222111221111112212112211122221122111222212222121221122221221111121111222211121111222211211121222221121122122221121222211121121112221212111121211121221122112122122112211212212122212122221121222112211111112222211122111111121212121212222222121111111211211211111112221211212211121212212211122222212121112111211212121222111222222121122122211111211121211121212122122122111221221112112121221121211112122212122222122211122121112221121211122112122212212211221111222111111212122112121212112212221112112211122222211111211112212221212221112212122112222122212211112212121121112221111221221122222222212111222122112211221221221112112212121212211121222122212212221112121122121111111112121211111121112121112121111222222112122212121121212112122121112212212222222112111112112122121112222221212222112122111111122122211121211121212122221211121221212211122211222222122111112112211122221222212111122221221121122111121111212221112221121212122112212221111111221211112211122212112111222121121111221222112121121212221211222112211122112121121222221222211122212121111121211112122221221121212211211122122211121222112211212221112211111111111111212221111112112212112122211111211211111121212111111112121221211212122112211121221111121211112221121211121221212212221212111221112222211211221211111122122122122212222122212111221121222222222221212222212111111112212121211211211122221222222221122222221111211121212222222112122211112211112222121222112112211121212221112212122211212122221121211112111212211111121122221212212122112212121222111212211221212222221112112112121212221212111112122121112121122222222111121221111221211122121222121122122111212122211211112122222111122222211222211111212121221111122122112121122221112121222122122212111221222212122111211221122221121121211221121112112211221111212211122111122212122211112221212222222121111121211221212122222122212222121112222212211212221111221222212222211211122211212221112111222121122211221112112222111211221211221222212122111222221112221211122122211222211111122122112211122122211121111111111122122222222121222211222112221221212221112222222211122212212212111122211112222222122211211222111212112112222221212121222211111111212121111111211221211111222122222122212112221222212111112222112111222122111111121121121222122221121222111121112212221212122122221221122121121112112121122222122121212111122212212212221112122122122121122211121112122211221222222111122121212111122212211221122211111222212212122111122211222111221221211111222222222111121121221221211121121221122222222211222122212111221112112212111112121222222212221112221221222221111121111222222221112112221212222211221211211221222111221112112222222221222121112112122112121221112121121121221211211122222212122212211122222122211111122221212121111112212122211111112222211111122111222122222122121212212111121122122121222112211212222212111122211112211111121221111111222212111222221212122212122121211111111221112112221112221221112121221222221121221222121111122111221111122122122111221122122122122221111122211112221112112122112112111111111211122122122222211222221111211211121122221212221222111121111112112111222212222212211212211112122222212121211222211211221221211222122111121211222211111121122112211122112111212112112212112222221121112212122212111111112111111212221111212212212222122112121112121221211212221211121222211111122122111221212112111121211211212121122221122122211211112212211121221112111112221111211112111221212212212211221222112212221211221212211112121112211111221112211112222221211211221222212222212222112221121111121121212121222112122111121222222222222122111112111211212221122212121212112221221122111121222111212211222211122211112221111122121111222212221221211112112111121122211121221121121221211211221221212112121112221212112222211112111222222222221111211121211121112121112211121221222222222222211121212122111111111221111222122112211112111222221211122122211212211221221222122122211221211121122221112111111112121111111111211122212111212211211222122112121211221211122122221121112211122211111112212121121222121222212121211222122212212111221221212222121222212112111211122112211221221222222121222112211221112112121212221221122111112221222122121112211221211121111221211212112112221222211112121212211221222222121222211121111212112122211222212122212122111122111111212212222222122222212212222112122221122221222122222121212211222112221221221222122211212111222121221111212212222222121122122121122122122111112221111122112121211112122122212211112122121111111212111222111221121111122222212122211121122111211121212221112112221112122111122111222222121121222122221221112212121122121211112111122211112221122122111122211121222221122112212122121112212212212221112212222211112221112212111211111211111112212111211212211212111122212212111121112112222122221112221221221222121122111222121121222121122112211212212211211221212211122222212112212121111111221212221222122111211211121221112112212112121111222211122222122111212111212221222212211211112112211211122112211111111222222122222122121122111221211221221122112221121211222112222122212212221211222111211111222121122112121212122211121222211221122122212221211211121212212122221122121112212121221121122121212221222121111122112111112221112111122121212111122121221112211121112122222221121221222222112221122211111111111122221211212122212212211121121221122121211222221121121222112112221212222212221222121121112111221112212212121112121122211221221122122111222221122212122212122112121122112212111122112211222212212221222111122222211222111112112221212211221122111211221121121112121221122211222122222112222222221211122211211112122112212222121122112121122111212221111122112212121122111112221122122222112221212112111111112211212211111211222212112211211122221111121111121112112111112222211111111121212221112212222111111221111211222221112121111221212122121212112212111112111112211112222211222111211222112222112121121111121222112212211222221111212211212122112121222212121111111111221122122212211111122112212221112221222121221112121212112222211211111121121121212121122122212122211212222111222212121121112211122222221211111111112212121222221222212111211211221112211111112222211222212211111211211211122122111221111122111222121222122122111112122112222121121122112112121211121122122121222122121211212111112112122112112222221222221221221122221122122212112112112121222112112221111221112111222121121122121112222221222122121111221212222112111211121212111221111122212221212222212112211111122112122222211211121221112212111221121121211211221122121111211112121222222121121212111222212111122212111211121122221211221212112212212211221111212212111211121112212112221222121121111211112111121122112212211112221222211121221121222112122212121212121122121111221121121211211111122221212112111211212211111222212211221111211111122121211112221211111121111111122222221112112211122121221122222121212222211212112212221112211122211222122221222211222212212211111112122111212221122122122111222211121112222122211222122221122211121111222211221122111111211222211122111222212211121112222121111111211111121221221111111121122121212111122121211112112112111122211211111221111112122112211122211222211212222112221222222111222222211211211212112222112112122221212212111211221121122212112211211112212211212111212212112221111221112212211221211112122121111211221122222212111122211121122212121222222112122121211111222211211222111121212211121122212221111221112222121221122211112121121212211212122211221211122221122221121212221211112122212222211211212112121122112222211112211221122122222211121122211122211122221121212211221221222121111212121212221111212122211112212111112112222111222211121111112122222212222212111121212112222112112222122211121222221121121112112222112111221121111222112112222122211221111121122121211111212221111112211222222112221122212212121212121112211221121221212212211212221122112112121112111111122211222211221221112122212121111121221121112211121211221121211121222222211212111211121211111212222222212221112112211211221121222121112221112221111121221211112221111222221112121222111122112112211121122112221221121121112222211222211221121221211212222122212222212122122212122221212111222212112122211122211222222111122111222121112121122221122221121122111221212122122122112111211111211222122221212221122121121122122221121112222112121212122121122121211121212212221222111222212111121212222212211211121211222221222221121112121212221222122222221121222212122222221212222221212121222121221212222212111211222111111212221111222122222112222221211122112111112122122122112221111122122121212221121112112222221212121212111121211111112111222111121111211121221212211122111212212212211111212111222221122211121221112122112121112211212221212111211211222211111122211221121221111212212112211221212222121112121122222111112122221212122211211121211121111121221112121221121212221212122122121112222122212122221121221122121121112122122121211121121121112222221211122221112122122211211121121112112112122112112212221211111112222122122222111212211211122221111221121111111221112222221121212222211211211121111222122122111212121221211222211211111211221211212112122111112222121221122111221221221121121212121222211111112112112212111221111121112221211212221221122222121121112222122112121122121212111122212221221122121212112221112211221122221222222212111111122112221212122112111221121111212212112112211111222112222212121121221222121111211122111222221222122221212211122212121222111111121121222112211211221222211211122221122122222122112211111212221211221112122211122212112211122212122122221222221212211111112212111111121222212212212221221212121222122212211122212212222211121221111212211111121121221221222121121222211211111221122111121222111212122112221112112211212221211212112221112212112122122111221111111121222212121222112112211122111112221212121212222211211112212221121121121212112122212111112121122212222112221122112121122212221221211222212222112111111112122122121221111211111212112111111122112212111121221121221222212222112122121212211222121112222121122112111121112112212211211121221122221111112211222212221121212111211112111121112221222221122112222112221212222221112122211122222111111212212111122211122211221112121222112221112221211111122212122111222122222112222111212111121111111111121211111111222221122122211122111121121121111222221221111121111112212122211222221221112212211111112111221211212212212121222111212121122111222111121221111121221222112211111121122121121121122222221112212121112121211212212212111221212122122112122122221212211221112121212112212212121122222122111221121122112111221211221212111121111221112221111212111122111121121122221111111221122212221111211211111112221221121122222121121122122212121211121111211222222122111111221221211221111121211221122222221212222211121221212121222111112122112211222111111222212121221122211212211112222121221222212212222211121222111111211211211112222221221212221211122111222221112122111211111221211221212211111222221112221121222112122212112121112221111222222211221222212222121212222221211212222111221121112111211112112211222111112111212111111121212121211111112111121111112112222222212111221211211121222212221221121221221122211212111122211221211122212222121112112221211121112212121211212111121122121112112121111121222122211212121211112211122121221121121111221122121121121111121221212112121111221121111222122222111111112222122121112221222221122222211221211111222212222122211122121111122122112121212112212121112221111221112222222112112111212122221222221112211211221122212222121122222122212121112111112112212221212121111122221222212111111211221122221112121221112221111122221212222222121211122211221222111212121222111212121122112211221212211222122222111212112221111111112211111222121222111112212121221222222211122111122222111222112211211122222211111211112221111221211122221112112111122112121111222222212121112212121121221112111221221111211221121221122211211122111122221222111211121111111122121122222112222112212212211121111211122111222212122112221212211111222112112221212211222121111221122221212122121211121222212121211211212212221222121212112111222112212222211121122122121212222122112122221211121211212121121112212121111121121221221221122211222111211222111122111212121222212111222111211112121222111211122222121221221121122222111122221122222221221121112211111112122212211212112122211221111111211221121222222221211121122212221121221122122122222211212121111222222212121221111221122111112122211211111212122112222111122112211221112222222122222221212121112122112111212222211212121111111211211222221122221112221121111221112212212211111222121121111111112112222111112212222121111121111122212111112211121211121222212222222212112121111211112221212122212211121121212211122221122121212112221222222112212122222112212221211222221211222222212222112122221212212222121212221112121221111211121222121211211122122212111112121222221221122111212122112122222121122212122211222112221211122221211221112221121122222121212121121112122112112112111212221112222222212211111211212121111222111212212221211221212212122211122112211122221211121122222212112111121222221111122221212112222211121122221222211212212212111112121122222212112211121212221212122121212221211211111211212211112212212221212121221121212222211222111221211211212222211222111121221212112121211111111112221121222211121111222121221111222122222221111221221121121121222112212121122122111112211212212222122122121121122212222221222111212122212211211121212112211222222222212111221112222121111112211221111112111221121222122122212122111121212221121122112211222212222211121211222112212222122111121222121112212212211121222221212111211111211221222111212122222112221221122211221112122221112211122122112121112121222112121222111111111111222221222212121212112222122112122222122121112221111221112121111122222121112221221122221121112122221212222221111211122122121212222122221221211112122222212222222111211112111122221112121221111212112121221111212112222112112111112221121121212111212122211212212111211211212121122111121122211222112222111211111112121122112111211212122111222121222111211221112111121221211122111121222112222121211121112211211221211112212211211111112112111222211111121112121122212111212122222121211111222211212122221112112212112111121122211111122112222122211121112111221222222111122221222111211122212121111122112122121212112111222121221222111112112121212222211221112122111212222111112122111221212122122122121121121211122212121111211111212121212222222212221222221111221122222112111221211112112121121111111122112112112121111221211222121212122121221122222212221122222121112111212121212212222112122112122211221111121112212122211111122111121112222222222212212222211111121121222221111111211212222112122212212221122122212222112221112121221212211222112222112222112121122112112221112222212222221211121211212222222221211112122112112211112212222212212122112222221211111122112111221222222122122211211111112211111112221212222111122221212221111122221112222221121212122121122211121211222122121222212122211221122222112122122112222222222221111211211222122222222112122211211122111212211211112212221112222212211112122212211111121112112111111221111111211122211222112212222121221222121212111121112111222212212111122221112121122211211211222122211122211111111122211112122211111112212222112221212222122222121222211211122122212211212211111122112112121221222212212222222211211112211221211211212222122221121111112221112122111221111211221211121112221222212212221211222111211211222121111122122111222121212112212112111122211111221121211212112112111121122121212222222112112211122212222222222222212122211221222221222121211212112221211111222222122122211121212222222121212112211121221121112111211112212122122211121222122111222121222222121221111111221221212212212221221121112121212221111122111211222222221121111222111212221122221111111122122222212222212112222212211111112221221222121122122122122122122121221211121121112222211112221122222221112121221222112221211111111211121122222221222222122112121212121211122111221221111111212221112211221111121222212212111111211211111121222111222211222212111122111112111222211121222222212222212121221112222211121111111221222212112122111121211111222221212111221112111212121212122112112211211211122111222112221112211121122222211221222222121211221111121122111222121221222222122212111221111111112111111222122221222121211221112121211221122211122111211211121111111221122221222111222122111222222211211212122221222121212222211212211212112221211122211211212212111222221122112211121111212121121221112212111212222211121222112122121221112112211221221122211122111112222112211221212221111212212121212211221111211212212122112222122211121111121211221122222121221212221222221121221222222222112122222122212211211221121212111221222122111212122112211211221111221222222212212222212221221222222121121221221122112121111121212121212112212211122112222111121211111121111121112122221222121221112221212122212122212212221212212111122111221122212211222122111212111121111112122112122212211221122112222211122211122122212121122111122111122121122222222121112121221222221222211212222122211111211122121212221112222112212112111111111122211121221221211121222222222111222222111122222122122211212111211121122121222222212122211211212122212221122212122222221121211111111222222122122222112112221112211222122112112112111211222121112211211122212122112111122111222111222221222222122212212112111111221221112221121211222212121112122212211212122121112221212211111211122221212221212121112111211212121212112221121221111222112121121112212121212121221212222222112121112112122122122212221222221212221221212112122111112112111211222121121211122111212111122221112121121121211122211112211111121112211212221112211111121122211121221222211222112221222121112211121111111221121211212211222112121222111111221212221222121122221121212212211112221221122212112221121111212121211212121111212212221212212112212211221211211112211212122112111211112222121112212222221111212121212222222122111222212212122212212112221222112211112221212212111212212212111222212121112221222112222112211122211222122212212221122122112221121121112121212211222111122122221222121222221212221222121122112221221112211112111211212222212121111221221112222211212221212122122222221111211221222222122112221212222222112211212221112111112112111221212222111122222112212221122121111122221211112222122211211122121222212112212211222211121222212111111122211221112222222122222111112222222121122111212211111221111221221212112122212222122112122112211211111111122221222122221121111222211112121222212122111211111122111112221211122211121112111111112122121122211112121221112211112221211121112121121112212211222222121221222122111212222211212222121122112112211222212222221211122222222222211111211212211121221122222111221122111112111121122121221122112221122121222122121121111121212222221111122111212111212111221221222211222221112112212112112211121221211212211122112211122121222221121212121112122212211211121112212112111222221112212222221221112221112211222211121221111221121111112211221211121222222112212121122211112221211122212121111122112111121212111222112122221211212222111122112221222122221121212121212121122121111122221222111212111111112112211212111221111221122212122221122212111111211111221111121111122222212122111112111221112211221211111211111121112221211221222212221212111221111222222211221212121212122111112112112111122211211121122121222212111211112221122211111212111222121212111221111211121221121212212111122222112221221211121122112122222211111222221121121111111111122221122222222222211112111112211222222121222121221111112121222112211211111211111212212211222212211122221211112222122212222221111211111112111121112122122112211121221112121221221122112221111111212211121111212222212212221111112221112121121122121121111211111122222222122222212111122112212121111121121222212222112212222122122112222221112211211222112121122111122222211121112212221111211221122222121212221122112211111221221111111211112121111211121211221211222111122211121121221121122222122211112222121112212212112112121222111112121221222221212121222112211221121112222211212121211212222112211122211212211212221212221122111222222121112122112112221221122122211222111122222211222112211222121211211121221112111111212212121111212221121121211222122112121212211111112212222212222221122121121212122112222221222221212112211122112112111221112112121121121211122221212221112121111112121121111212122122221121221222122212111121221111211212211112221221111212121221122222222222112111211121112221212112211212122112112112211122221111122211222122212121111112221111212121211112211111122212221222121211111222122221121122122222122121211222211122121121122212112111111122112122221112122222212112122122211112111211112111211112211112221112212212212111111211121222221211122222222211122222212121211222222122221112221121212121222222122221121222222221222212221111111211211211212122112121121212212221222222211111111211112122111121122111121112211212112111122212121111212221111122222212122221111121211221211212121212221122221212112221212212222122121111112122121112222111222222122221122121222212121112222111222112212212211212221121111121112122221212212122111222121122122112112212122121222111212111112211121121111211211212122121111212221212222111212212111221121211121211212111121221211112221222212111111211112112121222121212211222122112212212111221211111112212222112222112111222111211112111222212212112121111221122121211111122212111212111112121211211111211112112112212122111111112211211121211122121222112211212111212222121122121212212221111211221222212111121221112221111211221122222121221121211221212122112121122221221121112221221122111222221112222111112111212121212112212212221121112112222122211111111122121122221112121121111112212121211212121122111112122111121221112211121111111212121211211112111122111222211211211212221211212222111221122122211221121222121121221211121212211222112212221222121122222221112222121222221112221212221121212212122211222212121222211122221111122111212112222221222211122122211121112111111121222212121221121211122112111212222122112122222122122111121221122121121222221221111211111111212211121112121112212111111121111222221222222121121212221111111111212112121212121122122212112222112121211221221111221222222122221211122111122211122121111122221121121222212222112112222112211222122111111212212222112211112112112121212111121112221212221212111222122222112211111121212121121112112122112121222211111221112212122221122221122121222211212122212221212221112222212111222222212121222111121112122112222121221111222222212111211222112122111111122212222221212221111211111122111212212111122122222221121121212122122211221211112212122222112112211111221111222221111111211221222122212222121212211211212221112121111211122121212211111221121122221221121111112112221111121111221111112212122222212212211212221111111121212212112112122222122122111122111222112111122221121122211222212111122112121121111222222212212221221221112211112122221112112111211121211121211212121212212211121222221121112112222211111122122211212121212222222222111111112222212122221121212222221111222122111121221212212112222221211222211111221211121122221222221212112221112111211211222222212212211122122111121112212211211112211111221112112222111112112211121212112222112121111221112221221222212222222122112221222111211111211111122122112211211122211212221212121221121222211111122112112211112121222222222122111122211222111111122212212111222111122221111121222111121121111111221211222212211222212111212211111122121122212211111221122222122222111222211121122211221211112221221121221112211222111212111121221211211211122212121211121122222112122111211122121111212211211211122211221222121112211212121112212121211221221221121122122121212222111112221121211212122222211112222211111122122112221111212122111212211112121212221221221111121222211222222222211222221122121211121222211112122212121211211112111212212122222211122211212222122112212222111211221112112211122122112112212111122221221121211111121211112211211111212212111221221211122112222112112121212221112222222222221222111222122121211112112112121222221122221221121121111221121211212111221121122112122212221111111112212221212222212112112211121111112111111211112212121111122121221121212112212112122112222211211111221212122122111211111121111212122122212222121122221111111221211212222121111121111121222112221222212221212221221211222211211112221212211211121222121122122211122222221212112121111212112222111221221212122222122212111212111121112222212112211212112111211221121212212121112222121221121112121111112212121211212121221111222122112122122122122211211121122222211122221212222111121221211112211222122212122212222222222221112221222122112112112211221221221112211212212111121221222121221222212111112222111212221122221112211211122222111212122221221112222122121211222121112112112112221212111212212212121121122221112222221211111121222122111111112212222121211211111111222222121222122211122211122111121121211121212222122221212222112221121221121211221111111112211211122211121112211111121112122212112121121222112121212221112122111122212221121111222121222211212122222122211212212122212122221121122221122221112111112212112122111211212112212122122212211221221112122122222112211211112111211112111112211111222112222211222212122212222122222221222212221122212221111221121212212222121121121112122121112122112221222211122121122222122112121221112122111121221111122222111122212121221221211122221222121122111212111112112212211122211211111222221222212121121121121122212212212112112211121222112221122122221211212221112121111112221212122221121221122211111222212221112222221122212122212112222211111112121111112222122211112122112222111121112121121112122111122212221221212111122111122111221221121121112221211111121122121221122122111222212222122121212211212211112112112222221111122122121221211122111211212111122211111221221211211111112121211212222112112111211211211211111111111221122121211122211122122112122111221112112222222221212121211122121211221122121221111221112211212222211211121112212222112221212122221122211112211121222211222121212122121212121212111121222122222122211112221112212222221111211222112122222112122111112222211122222111112222212121222211121212121212122221211211112221111221111111212221122112121112112211221121222222211211122122212211111112212122222111221211212112221112221222112212211222221111211111121221211212112211212121222122111121111221221211112112211111212221212121121221111111111212121212221222222222112122121121121121122121112212211221122111221221222111122112211222111122221221121211122211111121111222122111112221122221122111122112121221221212211121111122121222221212122222212122222212212212222122111211212211211122111121212111212211211111121212212221121212222211112112212222212122211112122112121112222121211212222222111111222121221211212221221112212221222121221212112122122121121122211221212221211122222222111221211212211221122222221122212122212211112112112212221122221211211212212221122122211222222211121122212121212112212212112111221111212212122122121211122212122121122111111211112222121212212222212112121222112121211211112122111212121212111212112221211122211111122211211212122122221222211112112212211121121222222122222122122121111121121122212222111221112211221221122211112211222121211112211212112221122212212112121111222221111121211221221121122222211221122121212211121122111111112111222222212211211121111122121111212122112112212122211112121221222111112112212212121112111221111212111212122211222222212111112122121111112212122112212221221222111121121122111212221112211222211112221211122221211122222211221121221221121212112112121112222122122122222121111211112111221212112212222122221122112221222221212112111212111221111221222211111211112122111122111212212121211212122111222222122122121221111122121221211111222121111222122221211121212112122112212211212212111122222122111212221112222222121111211112222112222212122111122221222111122111212111212211122112111212112212211122221221111212222211221121222221221211222122221212112111211212112122221122112222222121212222212212112121222222212211121121121111221122222222222221112221212221211122221122211112122212111221222122221111121222112221212121212212121222222222122111212211112211111111212111122222122122221111211222121221222221222122222222122222122121112221221121222121111222222121222212121211111111222111111112221221112222122121212122121212122121122121222211121222211122121211211121222112211222212111111121122222122111111112221222222112111121112122221122211211212212211111221122111211121111111121121221112222212222121211211111212122212221211212221112111122111221222121211221221221211211122112212221121111222221221212211222222222221122121212111222121122121122222221221212111122212112121222121211112121111221112221211221112121222211111221121121212121112122211211122111211221212111112212221112121212122111111121111122221122111212121111221112222221112112221121112221112112221221121211111122211211211121122111221121222212211221212222222111222212222212122222122221212122221211122111222121221221111121221121122112121122122222111221111222111111112122121212121222221211212121111112112212112122121122111222221212112212122111112121121221112112212111112212222211221211221122121212222212112111222112222212121211212122111212211212222121121112211122222111212121222211222211112112212212121211222221212112111222221112112212122212122212112212111221211212211221121112112121112121122122122111211112111122211112122112121121111112111221111212111221111212212112121111222221221211212211122122212221121121112122221112111122212212111111111122112211222221112212111221121112112122222112212111111221112111212212221222112121112122121112222121222112121221221211221121112211212221211212212222212221222222222121122221112121222221211222211111211122221122211211111212212222122121222112121122111221222212112212121221211112222122121122211221121122122112212111222122112122211211112211112211212212121212212221121212221222221122212112122122211111221112111111122121211111211222222111212122112221112112112111112121121121122221122222122111121121212221211212122121222222221111221122121211212122212212221211221122112122221121212121222122211211121222111222112212112111121222122121222112121112212112112222111222211211112112211221111222212122122112222112221222221212211211222112212222211112121121222112111111211222211222111111111122122112111222221121211122222222121121211212121212211221211112121112222122212121222121222222222122212111222211121212112121211222122211112121211222212122112112111121221122221211121222222111222111111121112211212121212111221112221222122112211212122122122121111122111121222121222112112111111212221121222112111112122211112221222121221222112222221222221221111121211111121112111122112212122111111122111112111212221222222212112212112112212221122112211211211121112211111221111212111212122212211221112212221121222211211111212211211112112221121122121112211221121222111121222222122222222112112211221112112111122112221212121112222111122122121122112212111111221212212222122111112221222212212111111222112221221222112212112121111112111212122221212111222111122211111222222212221211221111212221121122111211222112212222222212221211122222111221121121121112222212121112122212112112121122222211212111112121121212211211112222211121111212112212211211122111121121212211121121121222122122121212122111112121121212211222112221122122211112121111111221112121221222211111221122112221221221112122112212111122121121121222112121211112222122111122212112122211122121121121222121122211121121211211211222222121122212122212221212221222111212211121221222121211121112212221222112111112221221122211221222121112122111222112121122212211221212212122222211222122221211111112221211211221111222221111221121111211111211121221221221121122221112122112111222121211112222122122121111122122112212222122212122212211121222211222122112212211211211122211211111212212122122211112211222221211212222211112121221222112211212112122221211222212211211122212212112122221222112222222122111111112121221221122121112122212221112221112112222211111111122112111221122122221212212211221221121122221212121111222221111121112112112221211212222222212121211112211111122221211222121221211212122112111112122212211121212122211221221122122212112221222122211112221111212212122122221222222212112222112211122212111211121111112221222112212221111112112112221122111211112122211211121111212222212122111122211222112221222122122112112222122221112121112112121111221221112111222212112122111112222111112212121121111221222112222111112111112222121212112111121211212121211111221121222221221111112111211112122112222211111212211121121221122211122222112221212121121122222221222122211112221122111212122112121221221111212112112212221112221121212212112112212121222222222222221212121122111111121111112212121221112111111221111222212112222222121121121122222222212212212122222121112212222121212212121222222111111212121211121111222121212111112122222122122222121122122111121222121122221212221121112122221222212121221222112222212212221111112222212112111122121122212211111211212221222212222222212222221212112111121111221112121112222212212212111111121222112212112212112212222112111112211212211212212212111222112221222212211222122111121222112111211122212111111112211211211212211112212211122211121211221112111111121121112111112212111222211121221212212221122222122212211212211111111211122211111121122212122221222122211121211121211221121212211221222121112221211111121122212212211121121121122122121221112121211211221221211121211212111211121112122211211121121211211122122112221221222122211221122112122212222122222112211221221121122221111221112112121211221112122211211211111222211111221212121112112122121211221211222122211221221211221222112221211111211121111111212121212112221112121212122222121212121112221112222212212211112122211122221121222111121122221122122121121222122211221121122111111111111221122221111111211222221221211122121112222221211212212111211122211111112212212212211222212211112211121211121222112212221211121211111222121211211122222211221221211122111112211212112212222111212222212222211212212221221212212121222111211112222111111112112211222121112111211221112221112211111221211121221212222222211222112211222122212122112221122112111111111122112111222111121122222221212111222112222111122211221211122221111111221211222112222112111121221212121112121112122111112121111112112121122222122112222112122111222121112212212221212221222122222112111222222211221222122112121222222221111122211121221221222212112121211121221121211112221222222211211122121121222211221111112222112222212111122221222121211222221121222112222121211112222111111221111112112211221121221112211112212112122111121212121121212212212122222122222221111221222112211212211111122122212211221222112112111212212221211121121212111122212221211221112222121211111112212111112221111121222112121221212222221221111212122122121112221111121112221112221222222222121112121221111112211111211211211221222212121112211121121221121212211111111122121212122122212122111221212121121122211212222121222212122212122212212112112122121222121211122211112212221212222221121211211222112211212212222211221222112211122221112211222222112211111121122212212222222221211212112112222222121111122211121112221112121112111121122222221212111112211212221122121111121122122121121221211121112112122212212122121222112122211212222112121211121121111121222111121122212221211211221221111212121121221222112112222121122212212121221121211221211211221222111222221222121121111221121212122111222222212211221222121121122222112121121221121112222111111221222121122221111221111212111111112112112111122222111221211111122211222121222121112222222111112112112111122222111122221111222221221112211222211122222211122211212212222211221222122111122222212121221112111112111211111212211212111212211122121212221112121112212122211221222112112111212111121111121211211121122122112112211212212112212222222211212212211222221221211112222221121121212121211221112121221122212122122212122122212222112121211221121222122221112221221121122112211221121122112212211211111222222122111222222121212121121121122111121122211211211211222212212121122121211111211111111121112121211222121211212221222121122222221112212112112122211212222212111221212121212212212222122111211111211221121212222211212111122212222221122211212121112112211121211211212222112222221221111112221221112121212221122211111212211111111112122221112211122111211222111212111121211112112221122212122212122121111111221112122111222211112111221211111211111211222121212112212212212211211222122121222222112122122212211112222112112122222112121221211121122212111212221112211111122212211111121212221121112222111211121222212112222121221222222221221221221121121211112211111222112211212222121222121211121212221121111222112221121221121222212122212122112122221111222212121122211111121212212211211112221221122212121111212221222122122121122122212211112212122211111221121122211112222221222222122121121212222112111122221222112222211222212122222122211111112121112211112211112122212111221111111121221222221211112222222212212221111211212121121121121122221111122111212222121222221221111121112122222111222121211111212212112112221221111122122212121222211222212122122221221222122212222112222212212112211222211121121112212211121211122111212122122121212211121121212122112222122221222222211122221111222222122212111212221212222211221222121221222222121122122222212122112111111221212121211112222122212122121222222221211112221221211222121211212111212112222212112122222212212122211122122122122212121212212211122221221112211212211112112112112222121222111212111122221221112121221221121111112222112111112122221121222212222212222211121212112221121122221112222111122221211122211221122112111122222121122222221112221111211221121212122222221121211121211211222121111111121111221211111121212212122221222112122122212221211222111112222221112111222222112122222111112111122122212122121211212211211111221212212222112122222212221122222112221211211222212112112212211211221121211112212221212221121121122122122221122122212111212222111122211212222112122121121222222221122221212112222112111121222212212222112121122212112121122122112112212211111212222221212211112112221222112211222112212221121111112222212112222222222112211112122211122122111121222112211221112121221212211222221221222111121212222222111112221212212111111222112212121122222122221122111112112121211211122222111121122211122211221111221222111112112211121112222122221222111221122222111222122221121211221212112211112221211111111111112122111122221211111111211211121211221222122211121211221222211212112212211122122122221221211111211112211122212121112221122221112221122112112121222112211221211121222212211212121222112211111111111222122211221221111122211111112212212112211222211221121211212221121222112122112222212211121112222111112121221211111222111122122112222221222122221112221211222121112221212112111112211121221122221211222212211222112221111122122211212221112222112221211221122211221221121112121222112212222121221221111112212211222221212212222222122122212222111121121122111212111112112222122122212222222111121212112211211122121222122121122111211121222112221112111221212111212211112221222221112112212212121211112121121111221122212121212112121211211121221221112211122222111221212211211222221212222122112111121211121122211111211121211112211122221222212212111112212222211121112122212221221111222211211211212222111112222111121112212112112221221221211111122212111221212211222212121121222212122122122211221121111111211121112212221112111112122211221212211112112222221211212211111212212222212221111121221211212221121211111111121112222221111211211212211221221112222221111122111222111221211112112112222111221112222112111121221111221212121121121211121222122121212122121222212212111112212112212111122211112112222211211122122211122122111112121221222122112222211122122212121211121121111122222122111111211121212212221221112222222112221122221111211222111122121221222221222121122211212121221111212111212111211221221122122222121222221222221111121112112112211121212211212222211221121112111222222212222121111122221121222222111122222122122122212111222222122111222112112222112112221121211211112212112221221211211112111112211212112111111111112222121112111121222121121221211221222121112221222211111222212211121222111111122212211111221221111221211212212112211222112211122221112212111112112122221121212221121111211112112121222212111222211211122222221211212121121221222211212121222122211111211221121112212212121211112112211222111212122222222111111221212212121112122211111111211212221212111122112211222222211121222121111111221222112111211211122112121221122221211221211212122122112112212212121211212221121122211211211221211122111212211111211211112222121221121122121121122211122222112221211212121111211112222212211112211211221122122212222111122111212212212122111221221221211221112122221112121211122211121122212111122111111212211111121112222221112122122111222211111222112211222212222122112121122111222212111211222121211122121111212221121112111211122211122211211222212112111222221111122212212121112111111222112122211221211212211111111212112221112122112122211111222112111112212122211122112221222221211221222211222122112222221112221111211212122121122112121222211222222211111222111111222122111122121121211221111221222212221211111221111221212122121221222111212112112111121211112112221212211222122112222121212111112122212111111221122111212111211111212221111222111212112112212212212211122122121221112122112122211111221122112112112221122222112221212221122211112111122121211112121222222211222121211211222121221111221212121211222121221211222221112121212222211112211221112222121212112211212112222111211221112121211221212121111211111122122121121222211211222221221222111212122222122122221222111121222121122211121212212212212112222111222211112221112221222212222222121121122221212221221211111211122121221221122111222221121121212111112211221222212112211222221121111222212211112222121221111121211111222211222221111211121121211211111212112112111211111221121112121212211122111111112211111211221212122111222212212111121212111212112222211121121122122122222112122122222122121121211121221211112221122121222121222221122221221222122112211121122221222211221121221111122111112122222211212222222212121112222221121112111212112121121211121221122121121122112122122112221221212122221112211212122222222111212211212121222212211122221221221121111212222222122211211122211112121212222222212122222111121221112211211222222212111211112222212222111222122222122121122112111211211222112111221212111221122212122211122212212221212121122111122122222111212112121111112111222212211122111211122121111221212221221122112122221122111211221221121122212111121211111112121212121111212221111211121221111222111221111111212221222212222112112211221122211212221211122112112211122112221221111211211222212221211122122222212111112112212112212221121121122122112111112212111111222121221112122221221212111222212222212212111211211222121112111221222121111222121111222221211212221121222121221212212221122221112121122221221221222221212212112112112122221111112111211222112211222121112111122212211211122122111222222112121121222121112121212122121122121111212112121222122211211121212221112222121211122122212222121122221211211212222112111222212122111222212222221111222121212121212121111221112211212221212121111221112112211112212221121112112112212211211122211111122221111211221121121111121221121111212211221221221212112212212111112222222121212222211121112211221111121122121221121121121111212221211122221222121122211111222122121121112212222221222111122222212211121212212211121121222122122112221122111222122222221122221122111121121221211122211222211212121222222121111111122222221222211212121111212212112112222212221122222122121222111212121112212211221121221212211211111112122221122121112112111211122222221222112122122121222212221111122221212121221212212111111122211112221112121121112212211112121111212111121222211221111221211211112112121211211112211112212121222222211122111222112222121122121221212212211122212111111121122212112212122121112112121111111211222111111211122212222121212222212111212211221212121121222111221122221221122111212212111212122222221112212211222212221222212112111111122121221221221222222212221221121211222211111122211212121222122111222112121211122212112111212221211222212222222211221221111121211121211121112222221121121121112221222112112221222111211222111211112122122211112112112112211112111212211221211211122112111212122211222122111111212122122211111221222221212211221112212212121221121212221112122112122122211112212211111122211221111122112112222221222112211222212121221221122121112222221212222211221121221112221122211111212211211211222211112212121221212121222212221212212122222111111212211112212211221221111222111112121111211112112121111111112212111221111212121221212221212111221121111112112112111211111222222112221211211112211122111122221221211121222221112222122212211221222222221221222121121212212212222122221112212212121121112222111112222222221121112111121222211221211121112222222222122122221222122221212221211211221212122112111221111122221121111121222221221111112221111112212221221112121221211121211211112222221121221112222221111212222121111111221121221111211121111221211112221121122121111222222112122112112121221222212211112122211211222222211222222222112121112221221212211211122212211112222221212121221222221111121122122111212121221221211122112211212222211221112111111122212121122122122211111122111112222112222211211112212122221211211221211121212111211122112121211221211211111211222122212112221211221121121112221121211122212121111222222211121111111222121212122122121121211112212112112111122222211211212122121121112112212212222222112112222111212221221212222211121222212221211112112212221112222221122212111221211221121112221212122212121222122222111122122112121122221211221222112111221211211112211212121112211122212212222112112212121212122211112122122122221221211122222221122211121121121212112211111221211121211222112122222112112121111212112112111221212112211222222112111221222122112121121121212122111212211211212112211212222211221222212222111211222212112121221121221121221122111111112122112112222112212121121221221212122112212212111111212222121221122221211112112222111212122111222211222122221222211121212121211121121211112211111121112121212111112221121211112211122212212112221121111111222211112212122122121111212212221212112221222211121111222122112111221212122212112111111121122111122122111222122221221112111122221221212211222212121211121121221212112212212212112121211222122221111121212122111222221121112122121212121122212212211212112222211111222222212221211122211211122112221211222221112112212212211222111111112221222122122212222111111212111221221221121212221111121121212122112222221212211111122222111122121211222221122121221122111221222121111112121111212222221212111121121121111212112112221222221122112222222111212111112212121222212211122121211222111122121121211121211222112111112122111211122121111122121212121122221212212112221122221122211112222121221121222112222112122222121221122122211212222221112111221122121221212212112211111221211122121112222121122222212212111212111221121121121112221211111112211122212221112122112111112122222112121111212212212121222212111221222122111121111212211211211211112122121122112222221222111211221112222122212222122222221122111111112221221222212221222221121121122212222111121111112122212211211111212211221112211221211112222211221111112221121211111211212122221121121121111122212112121221211112222211121212221212221111221121221121111121222112221112122221212112112221112111112122112122222222211121122111222211111112211121112121211222211212122212122111122212112111121122212122122211112121111122222111111122221122121121112121121122112111222122121112221111221211211122112212111121212222121211111212211211112212122122121121112222211212112211112221121221111121111212111121222211122222111111111211111221121122112221222122111222121222111222222111222211121222112221121121222122211111122211112222212222112212112211121122222121111221121122221211221112122221211122221222122211211122222212112121221221112221222222222122221212122221122222111221211221122212222112111112211212121222212121121212122211212212221121111222111222122221121222222111222121222222121121212122122122112122211222111221212111211111211121211121122112211112122222121212221212221221122211222211222122111222111212222221222111111122121222112121212212122122111112212212112121222111211222212211211111111122212211112211211211121212111211222121212111222111122111221112211122112121211212222222111111222121111212121112222211111221121111111222111221222122221111121122221222212111212112112222121211212211121121112222111211222122121211222222111211212111111212112221112221111111221121112122211212211112121111211221121211211111221222222222212211221121122222122112211222222122112122212212111211211211121221112211221221221121221112111112112122121121221211222112122112111112212212211122212221111222112212222112122212111221222112112111212121112211122122112111212211111122212222121111121211222221122212111111122221211212112112222122112112112212211221221222122111121121221222121121122211122221112112112222112122212122211221112122111221121211122222122211212222111111111111121112111211211121211112122121112221122112221221211121121112221122221212122122121221122111111112221222111112222211222211222112211222211211121212121122222111121212112122111122212112222212222121122221221121211121112211112221222212221221212221211112222112212221112121112121212212222112121221112112121122211111221211211211122121121111121111122221112111221111111112221211121222122122211222122111221221221212221222212121112221222211221122111122212211111121211112121212121212221111111211212221111222112112221212222212112212212211221122212221112122121222211112122112122112121222122111211112121112212121211112121122222111222112222111221111122212222221121111121112212122211121222111122222222111212211122112221221112222212222122211212211111111121212122121211212221112221211111222111221122211112121122212111221121221221222122222112211121121221212222222222111121211222111211222112211222212121112111122122222121122221121211212122222212212222222111212221221222112221221222111111212112112222211122212122222121121111211112122221211122221111222121112222222211212112112212221112111112121112212112111211222112112122121211111212122112112221212221122221121212212211211121111111212212112212111121221211221111221212211112222112212111121211221212222222111122211121212221222211222222112112112111221221111221112222211112211212121221221221112222121212112112221121112111111112221221122212121211222212221222121221221212221111122211211222221111112222111122212111211122121221122211111212211222121111122111212212212122112112111211121212112221111122121122221112111121112212111111111222211211111121212222122222122211212222111122111112121211122211111121212121112222112122112121222121121211211111112212212112221111122121112121112222222211212211121121211222121121122221222222212112121212211221221122221222222121111112112212121121222221121222112122121212211121222222121211222212121121122111212112112121222121211222212221111112221222122221112212112122221222211211111221221222121122211222221122211212221212111111122222212111211111121222112111121111122121211222221212212212112221112222212212222121112111112122221121222211112222122111112111212211221222222212112122122122111121112221221122211211112222112122122221112121211211211221211121121121222222212212122222122222122111122111122121112221121221221221121121111222222122222221112112111211122122111212112111121122211212222211222122221222122112221111221111212211211122112112221112211222222112111121212222112212122122122212222112121122222211112221121111111212111122122121122221221112221121211212122221212112212121112211121111211222121121221121211221211221222222111111221212212122222212112111222111221111112212111221211221112222111212211212221112112222111222112212211221221212222222222111221122222211111222222112211221222111121211112222221121121112222222112112221222121212222212122221211221122211222122212121111122121221121221211112112112122211211212221211122111111112121122221122121111211221111222212221222112222221121121221221112122122222121222212121121122212112112121112221111222121112122212111221121112222122221112211121122222221221212111221122221222221122221212222112222221221122221212111121122211121211212212222111121222221121122112122222221122112221112212122212122111112122212212112221122221121212222212111112221221211112222222211221222211221112222121221122221122112211111122121212221212222221211212121111221211111112221221112121122111111221211121222122211121211221222221111121222122122212121122211221111221222111212222111122222211122122121212212221212121221212222211121211112212122122222122121121222121111112121111112111112121212112222221112212122122211121222222112211212212222122121111212121212111211121122122112121221111221221112121122221221112121212112211212222222121112211222211111212121111121111121221111222211212111121221112211211211211112212211222111222222121111211222212212222221121221211121212112211221121211121212211212121221111222112212222122221122111121212211222222212221222212112121111121122221211112222211121112121122222122212121111112211121212112211222122212222122122121121121222221122221221222211112211222112111212211111221221122221111121212121111212122112221111111211121211111121212211111112222111122211221211212222211111122211221222112221222122122222112111111222111221211212212122112112112221111111112212211112222121211121122221122221222111222211111212222121121121112122111211211111222112222112221111212221121221222122112221122212112221111112222222111111211222112222221112212211111211212222111112112122111121222112111112111212122122211212211112211121111122211111121221112111122211221112221121112212112112221112121122111212222112112221111111221211212111112222221222111211221212221222222122112211111111211112211111212221112222111212111121211111211122212111212122221222111111222221122121212222212111221212121222212111111212122121122211122121122211112121221212121222221111111121211112211122212222222222111212221221112122121221221112122112212111111122221121221122122212112211221212222212122222221121121221111211121122211221111121112112121111111222212111122221112112212112112212211121112122112122222222221211121111112111122222211221112111122111222111121111221211222122211122121112221221121122211222212212211122212212112212112212122121112221121211111111211112122121211112221221211212111211212222221211111111211212121212111112211211121211221211121111112212112112121222121122112212212112111221211212211122211211112121222111221112111221121222221212211211212112222212222111122121112222111221221211221212112112212211111112212212221121112212112122221122112121212221122222121211222112221222222222211222122112122111222112221212212212112112212221222222211211121221211221222221212111112221221211222111212211112122112211122121122112211122111222222112221221211122221211112112211122211112211222222121211211111121111122212221121222221122112112122212212122122212122212121111122122112221212112111212112211212211221122121111212211111122121221222111212211211121122122122122211121211112221211222122111212122222121112121221222222212212221221212221111111212111121212222122112212122222211112122111111222211222222121112212222111212121112111112111121112122211212212122122221212221122222122112221221222111221111211221211212122121111111221111222212122121211111221111211121112122122222222222222121121112122211112221111122111211211112212122121122212212112222112221211211221211212122212111212111222111121122211221221111111112222122212111122121211211221212211112122112122222112111212111211221212211212212121212221211112221212212111122122211121111222221221211121112221211112212212121211111212211112221212122222112212221112211211221112112111211221122122212121112111111221111221222222112221212121212111212211221222222211221211221112111112222122212222121112121222122211222222122211211112122221122221222211211211112122221112111221212122221122211121211122221122121122221222111122212121211121211112112121112122122121211221121112112212112121212122222111221221121221121122221121212212211121122111211122212222221211222211112212122122112211221111212121212211121111212212121222112122221222122211112111222222212122212121121121122222211211121121211221211211222121222211111112112111111122121212211211111111112211111211121211222111221122111211112222121222212212111111122112221212211221212221211111121222211211221112122212212221112112122121211222121212122221211222111212221111121111211111222212122222112121221122211221221211221121121212112222221212112212221212121211212221112222121122211221121112222221112122212222221211111221121111222122111221222121122111221212222121112221122112212221211121221112111221121211221121121222111111122122212122112121211121212122112112111222222121221122222111222221121212222122112222212221222122222122212211122212112211221112221111112221211211211221222221211112222111212212122221212111221111112122112121112122121221111222121222122121111121221222122111112121212212222111111112211121111122211222121221222122121222211111111222111112211211222121122121221211112221222212212211221212121211122111221112121122211211212212122122212121121222111112211212112222122111222212211121112221121121221222121221121122122122211222221112112112112212212121222111222222212111111121111122222222212221121111111122121222212222121122222111112222111221122111112122111122111221222121221111222111222111122212211122121221211211122121222112221121211111111112112212112222212112212112222222211122221112221121211221222212211121212121212221121211212212212112122112222122221222112112212122111111211121121112122212111121222222112211121121211111221212121111121212211211121121212121112212111211111121212121212121122221211121112111212222112112222122211122212121122111111212122221121212212221121211122222111211111212122112112112111211122212221211222212221222111121221222221212122112122111121211222221221222212122111111211222112211121211211221211221221121212221122221222221212112221112111222212211211221212112111211221121111212222122112212212121222111112221122121212121221211221121111111212211122221121122211221121211121111111121222222211112112121221221111211111122222122221111121211221111122122212122221222222212221121122212212222222221212212221121122112112222112111112222221112221111122212122222211111111122221122111221212222121121111211121211111221212112221122121121121222221222122121211221111212122121222222222121121111121122222122212211111121221121122121121222221121222212222222212212122211221222212211212222212222212211112111111222212211212122112211122112112221212111121221211221112222221111122111222121111221212121222121212222112121212111211122211212221121121212211211111121211211221111212112122211222122221211212212112211121121212222211212222212121122121122122121222122212111122212121211211221211112112212212121121122122112222121121221221221212222111111211211112221212222222212122212121211112112111122121111222112212212211221111111211221121121121211212121122221121112211222212111222121222211111212121112222221111222212211212122111221212121221122112222122121221221211221211111121112121111211222212212211211221212211121221122112111211111111212112221221111211112211112111211222122121212112122111111211111222121211212221122111121221211222222122112212122211221221112122211222221121221211122111112112121111212122222211112221122111211112222211222212121111112121221211122111212111212212212112212221121221111211222211111112112212211121121111122212122222212122121111211222121112111222121222211111112121212122112221212122212211222122111221121121221112121222122211122122111222221212211122121122212111212121122121222121121222121111111112212121121212112212212121121122111221122212111122222221212112122211211212112222222222211211221121112121211121212122222111222222212221211212111122212221121222121112222111111112121211121222111121222111121111222212221222222122212222222222212221111212221222122211221121221111221212111212111222222211211122121112221111212221121211221222221111112122111212211211212212212221111112122212221121121221111221122122112222112111122112221122121221122211111212212121211221121111122112221212121122212112112211121222222112221122122111212112111222222112122211112221122121121211122221122122222221221122212121111111222222211221211222222221222222222121112221122222221122212112111122111122212222122211221111212211211211221112122211222221122211112212122221112221211212111121222121122112211112112111121211222212211211122111112122112112221211211221122122212121121222121122121112112111122211221111111122211122221221111212211121111211122221221121111212122222212222121222121122212212121212222112212221211222212221221112221211121121212211121212222212111212111222112221112112211112112211112111211122121212122211222212221221121111221221111221122121111112111112211222222211211122222111121122222212112121212222111111111212211122222112221211122111211212112111212222212221212212112122222112112211112211221221212221111122111221121211112111222211211211121221111112122212211112122112211211222212221111121112222211221211122211112222222122122122212221122121111112112122221212211221112111111221122221221222212211211212121111212221112121221211122211221212112121122112222222211222221212221222121111122222121122212212112212212122121212111111212122121112122111221221211212212111211112111111111121112222212111221222122221222211112211111222111121122122112111122222121111121221211121112222211121212211111112222122121122122112121112212111112221112211211222211222121211221112121112211212212112222112121211122222212111122212211122221111112122122221112121221111212121112221112112112111222112211221221221211212221111111111121221211112212222122112122111121211211121112221111221112221212222122121121122122122211122221121211122121212121221211122211112122121222212122211111121122112122212121221111112211111212121111211121111221122122222112211121121222212212212121211211221222121211221121122222212221111121122112121112211221112112212112222111222222211221121212112121121111122121121221222112212212212221121122121111112121212122221222211122122221111111211121212221112222221211111222211222221211211212221211111121111211221122211212212112121221121221211112111211221111112212111221121222221112112211112112222212111211221112212122122221222212121121112121221122121211111121222211221121121211112211211122211111111221111222221212112122111221112122211121212222212222112212211221111111111211112221222112112211222121111112111121211121122212212212212222221222111111211221222112212212122222121112211111112222122221122112222211211112211111122122121112112222212222221222112222121122211122111122222111221122211111122121111122222122221111111212211211111211111222211122111112121112121112222122111221211222221121111221222211112221222121111121121211122211111211212211222221112211112121221222221221212122122212222221212121122211211122221211221112212121211111222122212122222112112122211112222112212221212121122221112221122111221221111212222121121222211111211221112221212221211122122112212222212221121112211111212222121212122212111221212222122121212112122121221122112222221221121122211221112111222221111222112121121121212211221211211121121211111121122211111221211112222212222211212221212222112222122212222121211122221121111221112211222221221112212221122112211122221211222222222121212122121221122122121121111112221212221121121112221122221211222212111121112122221112122122221122222112212112211211222221222112112212121122111121111221112111121212212112122212222212112122211122122112221212121212211212221121221112211111111211211111211111222222212211111111212222112121121221111212221111112212222211112111112212122111212221212222221112211222211222111212121211122212111121122111221121112211222222221211221211222111222112121222112212121111122222222112121112221111121221212121212221112121121221221121222122121122122122211121221111222122122211121112112221221121122221111121122121122112112221122211122222222211121211121211222122211222122222112122112212112112122211212212212212121221221111211212111121112121212121121122112221211211212221111122121112221211121212222212112211222222222212222212211112122112111112222221122221212222121121222221222211222122222212121221122221222112211222222212221211211111122111211122222211121122122222112212211111121121211211111222212111211111211121112112222221111212122212221112221112221111211221221221221121112221211122112222111221112222222211221211112111221222211212121211122112111212111121121111111212121211212211111122121112111112112222111121211211122221121111111221212222221122212121121221111121122112122121112211122112112221122221121122122212212111221111111211212111121121212222111112122211121122211111121221111212222221112112121111111212221222222212211121212222111121122111122121112112111111212211221121121121212122111221211122111112221112212222211121121111122222121221212221221111212121112211111111221212111211122121221122121121211212121211122112221222111122221122211112221121112222111211222222212112212122211222112112111212221122111122112111111112211222211212112112111121112111212122212121111212121221112212222222221221212122111211121111211112122121222121211211211221122111112222212122121212222112111211221221212112222221212221121121222221211211112212221211121212222111211122111221111111111122212222212222221212212211121111111221221112212122211111121212211121221222211111122221122122222221112112112222222212111222112222221222122222122122222112121111122121121121222121211212212212222111112212221112222111221211122122112211112222221211212121212221111221211111111112112121112211221112222211221221121222222221221222112222112211122211112122212111211211112112211111111221112212212211111222211111111222212121211112222222122111212211212121221211212212121221121222212221122111221122112222211212111111122221221122222212221122122111121211222112111121122211212121122221121111222112222111222111222211121212122221122211222222211122111211121211111121212222212111211212222111112212121121112221121111112221111112221112112212111212121111222211221222212212112111112121222111122121112111111122212121222112221121221111211112222222122112121112112111211212122222122112222112212222221112122212212112211111122111112212122222121221112111222112121221221111122222221212222121122122221121222221221212112222121212121121221122122211221222112121222122212122222211221111121122212211221111211221212221212111222222122222211222122221112211221111221121112212222122112221112221122212222222122222211222111221112122121111212211221112121121111122121212211212211212112211122221112112211212121111112211212122112122222221211212112112211222122111221211112211122221211122122111211222212122212222112221211222211211111212221121211222111122122112112122212112211122112222222121211221112121111211111211221122221121221111211111122221212222221112111111211121222221111111221212222221221222211212111122211121112211122221112211211112121122112222212122122211121212122122112222122112222212212112211121212222121221122212111122112222221221222211122222112222111222211112111222212121121111111121122222111121122111112122122222112222211212112212212221111222111112212221122222112212211111212221112112211122212112112212111121112221211112222211222122121211222121122212111211212212221112212222211112112122111121212212122112112222211221121122212212112111222221221222112212222211111211221222221111122222212111211112111112222211211111112211112211212212212221222221112222111111121222211221121221111212211112112121122211222211212221111222112212112211122121112111222111212112211211221121222211221212212221211112212111122122111112221122122112111122212211122121222212112111212211111211111111121121212211122212221212111221112222212122212221111111121212112111112111121211212222212221121221121221221221222112111221212112122222211211221122121212111121121222212122122111222222111222122222111122211221211122121211121122212221222112121112221121222221212212121222222122112122121121111211111121111122112222221112122211221222222212121111212211222122211212221212222122122221222111112222221212121222211212111112211222222221221121211212121111211112111111211111221112121121111222121112221122221111112212211221222211211222211122111211112222122121222222111112212222211211211112111212122122222222112122212121212121221211122221112122111221221211212122211211112121211222121112122222111122111221221212111122222121221111111222221221211122121222222121211212222122121211212121212111211212112211121112121111121221111221112222112222212211212111111222111121222121112221212111112121222122222221111112211122121221112222111212221212211121122211111212121212122121222111112122211111111111211221221222112221121222212121121112111222122122212111212212112112212212121211112121212222122121122111111112121212212122121212212112112121211112222111211211112122112121122121112112221212122112121212211222111211222221122122222221121211222211111112211221112222122122111111221112222122111221211211212221222221112121111121212221222211221211121221212121211122112111221112221212111122111212212112211111221212122212122211211221112221211111121211112112111222111122112111211112222111211222121112212112111222122122221121222111112112122112111122222211122211211211122211122221122222222122121222211111111212222222121111122121111111211222112222112211121212221212121112111111111222211112222112122112122212221112121211221222221121212222212121221112122121122212121121221222222211211111212212122112111221121121221221222212111112111222222112211212112222121112111112122212112121112122122111111222222122222121111111121222212212112122111211111222212111112121122111211111112111111222211121112112222221122121111212211211222221211221121212212211211222121211121212221221111222221212222122121222221212121212212211111122122121122212221111222212222122121121212212211211221222222112222111122212121221221112211211121111211112122121211222122211221112212221222112211222111111122111221121212122212221122222211211221212221222222111112222222111221111111122211121112222112212212111211111211111222112112122122221211121222221121121211111121122221212122121121212212112122212112112221121121222122111121211222222221211212222112112222211222111111121211121112212211212111212211222112111121211222212221211222112122111122221112221221211212211112111222212121112221121112112221111122122112211221222211222222112111122222222121112211112122112121212122222222112221212121211121112211112122111212212212222112121122212112122221111111111221111221112221111212221112112111221121121221212111121111122112222121212121211211211212211222122121121222212111212211222121121212122212221222222212122122212222211221221122221211221111122222211122112121122112122111212211212221121122111221221221112122121112221211121121111211222211221212111222121211121211211121212211122121121122212222122212111112222111122121111112122211212211122111211121211111112211211222121112212112212122211111211222211112111222111111112121122222221112112121112212112211122121222212211121122221211112112212121221122221212221122222122121221212111212111212211211212122122212222112221111111121222112221211122222211121222111112222122112221211221222111221211221112112221121122121121111212212112122221211121122111222112211221111222122122111121212222222221121122211211212112211212211222112112122121122211211121121121122222122112122212222111112112222211121211112121122221222212212211221221222111212222212111111122122121111221111122212212122111122111112212212221211122112122211212112212221121212221222212221111122122121221211121112111211211211122111222211222221222212221221222222211121122221121121222221212222222211112221212121212122111112221212121112221112112121122222221211212222211212111121211221111211211222212211122112111112212112121221212121112112211121111121112111212222111111222221222111112112112212221222111211212122222111112221122221212222122112122112222222112111222111111122122212121222211122211121212211121122211221111111111211222112121211222211211112112211112112212121111122112221112112122212222212111122212112111122111212121221222211221112222221212122112112111111121111211212111221122221211222211112112121111222121222211212121212111112212112211222111122222221111122221211112112211221112122211112221122222222111122212122111212212111122112212122121221112222211221122112121122222221221212121222122212212212121211111112211112112221111211212212112122112212121212212222121122212212111211222112122211121212222112212212222212111212222111211211121122211121122112221212221211122211122122221111111111122122222112221221221222111112212222111212212221121112111212222212211212111121111111222221221211212121112212222211222111112222212212222112221112212111222212211121221111221211121122212211212221112211212211211222222121121112211122112111122111221111121222121111122221211111212122112211122112111121121221222221122122222112222212112121122122221122211211111122121211111222112121211221222222222212111221121121212221111121212122112112111222212212221222222111112122122121111222122222222111211221222122112221221211112122211211112211211121222111221111111111221211221122212112221112122222212112212111212222112221111112122112121121222212212112121121111212221212112112222121221212111112122222112211211221222112112211222112111221222222112111111111121222221111212212112221222111222222121211122211222212222122212111211111111121121121212221211221112211221121122211211211222111212112211122112121211212111212221112222122221211222222122222111121222112222222211212122122221211212122112211111222222112121221111121211222211211211221221222222112211122212222111212121222121221111121112111221122111122212112221112122122112121112112222211121222212122121112222221112112212112121211111212221121222111112212212112211122212221212212211111211111112112112111222212211122221121121222211222211222222111222212111121211212111111221212211222212212121121121111121111122111222211212112212112222212211211122221122222122212211211122122222211111112112221221111212211221211212212221111211122221111121211122111221212211212221211122112122222211121222122212222221121122121112221112111122222212221121122222122111122221211122121211212122122112111212111122222211222221212222122122121211122221121112112211112121211211221212122112222121112122112212212222111221122221122222112121221222211221212222212121112111222121222212111112212221121122211212122222122211121121112122111211222112111121112122112212212222222122212111221121211111122112222222211222122222212212122121222112112221121222111111122121121211121121112211122212122221122111211122212212212212122221111221222212211112211111211221111211121211112122112221112111221121122121222222212111221121111222122122122121221121122211111112111112111122212112122221111221222121211211121122111112222121221122111222111222212211221122212221111212222222112112111112211211121212111111111121121112212121111122211211221121122221221111122121212221221211112122121122122122211121212211122212121211222211211221112121211122221112222111221111122212222212222112212212211212212211221221212222221121112211122211111221121122112111211221122121121222112222112212112112121221212222112122221221111111211212122112122112112112111222211112212221122211221122221212212111111122121212221121222222211121112112121211222111122211211211212121111212122221121211111222211212111111112212211122212121112121112112211222122212211122212222221212122122211121211122211211222212111121122111212212211222222122121222211122122211112212111221122211222121122112222211221122221211211221211122111212211112212112111121221122122212111221112121121112112121222222112212222122211221212112122221112212121121112212212112111112211122211122111111121111112222212211211212212112222112221111121222122212221111212121112211211122221221121212121221121122111111221111112112212221111221211112221122122122111121112112111111212222112121121121221111122112122211121122112121122211121211221112221221112222221122111122121222112122221122111111222222112222122221111221111221221212121211221221211222212111121221122112112222212122111211212111221211211221222221212221111122221121111222211122112111121212111122122111221122222111112222121211221122222221212122222212212221211211122221212222222112122212111222121212122211212122122122122222211112111112222122122221222122122121212222212121111122111121111112221211121122112222121212111112212112111222121211221221111212222221122221212211221212221211221221211121122212121221112212121222111112211111121112112122122222211122121121222111111111212112222111221222112112121121111121112211121122221112212211112121111112122212121221121111112211212121212112221111121111121212112212212222221212122222121111112112121111212211111111211222212112212112121122121112221122122112212111121222222222222111221121111122111222122111111221111122111122112222121212112211111121122222211122111211211121212121222211112211121221121122212112211112122112221122122212121111211122112122111121222212222121212222221221221212221222121122212222122121111222212111122221222122112112222121221121221221122122121112112121221221111212211222112211221112221121122212222112121121122211212121122221122212222221212222121122211211222212111121111121222221212121212222222111212212222121212212221212211112211112122122211111112222212222222212211221121211122112121222122211112221121112111122112112111211222121121211111121112221222111111221112222122111211212221211112221122211222222112221211211211122211222112121111122211121222212111112122211212222122111122212111111222112211212111222212121222222221212211221212221212212111222122222112122112121222222111121221111212121112121211122121111111112221211212111211121122121111122212211122122222221122221121111121122211221221112222121221222211122211222211222121121211211121212221122222222112212112122111111112212112121222211111111111221212121212221121211121122111112222122221122221221112111212112121111111222111111222111222122211212121212221121112212111122121111212111222111111221121222112122111112221222222121111211121121222112121221221111222211111221112221121112122212212221222212121112222111112121222111212122222112122121121212112122212222112112221221221111221111121222221212221222112221111121211122121122121111221212111122211112211212212121212122121122121211122222222112222111212112222112122122122211111112221111211111121112221122112122122222212122111111111222121211121111222121222111112121211212212111211211211211122221221222211212121112112122211112221212122221212111221112222222122222121222212121111111221122111221111121112221221112112121112112122211222111221122222222122221222112212111122112212222122112111221121222212211212222112112221222211112221111212122111111222122211111121212122221212121211111111112221122211112222221222222222212211212221111222122111211211121211222211122111221211222111212111122121221111221111221122221112222222121221222222121111121122222122222121111211212212111111112222111112122112111222111211212122222222122121211122221112212211122111122221211122221111222121212112222221211111221211112221221121212211122112121221221122112211222222122211111111221221121112121121121222222122222212111111111111112211221121221111212111222212112222221122212111112122221122122211112221111222211222221212122122112222111122122221111122111211111221122112212112222211122221212112221212222221211211121222121211121122111112211121222111222112212211222212122111212212212112211221211112222221222112221211112222112212222112112221121112211222221122222121211212212111222222111112121112212212112211222112122121211222212212221221112111122111211111212121211111122122211211212212222221111212221121121222212111121222112122122211221122121121112221212122112111112212112212112212122222211222122111112122121222212112111111222111121211211211112121121111221112121211111211212121211121121222121221221211222211112221222212111112122222222222222121221121222222112112211221122221121122121222112212122221111111122111111221211111212122212211112121212211221211112122112212112221121211122112222211111222211111111121122111211222221112222111212112122221212111222122222112112222122211212121211122222221121112111122221122221112222122211221222212212111121221221221112121112221222122111211211122221212211111222111111222222121122212212222222222121112121122122112111212221112212212211122211212112211222221221121221121111111111211222121111222121122222122222121212112121112221211112122111122122222112221121222212112212211222211112112112111212211222121221211122121112121112211211221122111212122122111122222222122211112211212122122122221212211212111221222112111122211211222221222122212222111121212121112211212211111121121222122111222222221122112222222121221121121122222222122111212222111221111111112112212121212112212111122111111112212211121211221211211222221112112122222112212121222112211211211121122112111122222212212212112221112122121222221212221121122212111211212222122222222112111112122112112112121221112211111211221221122211222221221211221222112122122222211212222121211211112111121112222111122112211212112222222211221211122222121122121111221111121221212111122222211121112221112112222121222211121121222221221212121122212222112221122111111122112222221122112111122112122122212112211211111111111222111121221122212212211222112221112121122112112122121121112221212211122122112222221221111112212211111222212122221122112211212122212222122122221112121121111222122211211211112121121222212222112212221222221222112112122212222221111112122121121211122122111111222211122221211212121212222121121211121212221211122212111121122121212211221222121222122122121122111112222212222121222222212122222111112222112121111211111222222211112112221122211112122212211222212211212221112211112112111111211212211211111111121121121112112122222222111222221221121122212221212221222111221111212111221212212112122211121121212212212112112222212221211112111121122112211111222221212212211122211121122222221112222112112212122212111222221121121112121222222212112211222221221122111212111112221221121111222121211122221122211221212121212122112211122211121122221221221221122111212112222212112121221121211111111222122211111211222112122112111212211122211212112222222221111211122112221221222211221121211211212111121221221122112222111112222122222222222211221211221111211221121112222111121222211221111222211111112212222212221211121222221222122112212211121211121111222222212112221222212121122111121121111112211222222211122222111211121221222222211211221211122221222111121121122121122221112121221122122222222212111111211212221211212221212111112111212212121112111211221221221212211111121222212211222212111112222121212221112211122112211222111111122121222122122121222112122212121111121112111122121122122211221211221112121211222121222222122112212121121121111211122212211211211222111221112211121122221111112212112221211211122212111122222111211222121211222221121212112212222121211121221221211221222122221211112222121111221111211112112222212111211211221121111121122112121122112111221122212211111222111221121111221221222112121121221121112212221122121212111121112122222221122121111222121122112221121111212222221211111222122121221212122112222212122221121121221122111222111122112112222211222221212211121111211221121112221212112211111222121222221111212111121111211212222212111221111111221122212222212122221212121121121122111211121211121222111221112112222122222222211221212122222212112211212222112211122111212222122212221221222212212221121112111221111212222121122211121122112222122111221122121222111221211212112221121121222221121111111121112121121121121112222111112122122111122111112222222222112111112211112211122222221222211212122211212222212212222111111211112212111221221222121121221121111222222212211211122222122222212122112112121112111122122121221112122211221122111121111121222221211121122221221122222222221112112222211211221222221211112212221121121111112212211121122212111111112212222212112211212222211111111221211121211121221222112122122112122121221121211211111111111122122121221112121222111212122111122112222212111212222212211222212221112111122122122111221112222122211112111112211212111211212112112122121222112211121112112221122111211112222222221222211121221211221222222212211211222111212211121112221122211221222222212112122221222122121111111111222111221221112112112112121221211122212221122112212211211111111221222112211112112222221111111221221222222222211212212122221212122121112111212121221122121212121222212111112112222222111122121112211111221112111121111112211121112212211212212211211121222112112212211222222222222212112212212112222122121222222122222222122212112112111112221212221211222221211121112121122211122111211222111122212112122211111221211121111212211111212212222112122212222222122112212211122221221211122112212111111112122211212121111222122221122121222212112211122212221221111111112211112122221222112211212111212111212212122212121121111222122222121221111121212112211212111211122122222211221112221221212122212212112111112211112122122112221221121112122121111221122122212212111112111212221221112221112212221222121111211221221112212211122222121121211112122212112111222221121111221222122122221112221212111211212221121221211212122211221222211212221212122121222221222122122211111122222212211212121111111212122221121222122112221212112121222221211212222121122121112111121221121111112121122111211211121121112111112222212111112111112111211122222121221112211111211212121121222121221112121221222211111212221221221211122121122222212112122222212222111111111221112211222212111122212121122122222122222221211112221211112121211222111122122121221112111112221121211111221122122111112222111221111121212211111112221111212122111221121221112112212121211212221222122122221111121211122212211111112222211121122121111111111111222212122121121112111112221222121121121211212121121112212121122121222122112222111222112221211221212211111121221222211221211222112222111211212211211211121111111212112112221121111111112111121121112221221122122222121122211111211221212121111122221222212212122211212221222211122112221212122222211111212212112221122122121211112222212112112112122211221121122211121221122122112221122211221222211112112212222211111122211111122121212111211111211221122122212121121111112112112222222111122121212121212112121212122121122121211122221221122111221221121111112222112121221212221212212121111111121211121212111112221221211121212222211212112211211121121211121121212111111212121222111122221111221121112222221221112211112112121121112221222222212112222122212112112111221211212211111221112211222212122211121212112221211112221112211112121112112111221122221221121121222112112212112122112111112212111211111221212212222121111222122221121122121122111122211212212111121211121111111112222212212122111122222122112112222121212112122222211211222222221211122112222111222222212112211212222211111221121112121222112111111121112121222221222122211221211211211111221122112121112111221122222221212222211221222221122212112222122112211212112112221122211112122212222112121212112212221112222221212122112122122111121121212122222122111221211221221112221221211211221221211222221221212122122222121222121111121211111212222222212211111112221122221221212221221122221212121222121221122212122121212122221111211111222222112111222122222112122212122112222122212111211212222221111111111222212111122111121111222111221221111122212111112112112212221122122211122211222222121121212222121121211211112221211122211121122212122211112122222111211122121111221222212111221212112212222111211122122212211122122211221221111221221211212121122221112111212221122221111211121211121221212121112211221112211112111122112111211111111122221222122112111112122122122122112212211122221221112121212211211211212212211221111221222221222221111222211112122212121221111112221221112111111211122112121211122121122211121122212111222221122121212222221122121122111221222211121222121111121111121211212111122112112222121111111112121222122222212222222222122221212111112222122111122121222222211211212112222221122112211112211112121122121112111112222212212111211221111122121112211222122111122211121211111221212221211212121121111112112211122221211111211211121111122112122211211121111122111111212111122222122211222211222221212121222212111211212121121212212111221212221211111122212211221121221111111122111221222112222121222212111221111111121121221111212221212111211212221112121211122222222222111112112222122122112121221121222112221221211121121112212222112111112111211121221121222122111221122221221212112112222221122211122212122221211122221222122212222222212211212121212212211111212222121222121211221122121122221111222221212221121221212222122112112111212221221112121122212112222222221111222122111112212212112211222211121121121112121212222111122212111222211111112221211211122222221211212122212122222221122221122112111221112111122121111122121221221221222122111221112221122122121122112122222111122122222122122212221111121222211221112122212221222211121212111122122121111111211121211211112112122222211211121221211211212111211122221211121211221112122222222211221122121121221111221222221111112112121222212111211212212212211122121121112121221111221111111212212211211121222211211122221112212112122122112121212122121212221222122212221112121111111122122121121221112221122111122122122222122122111212212211121221211211112221111122122111122121111121222221111122121121212211222222122212212121222111121211122111221222211122221111211212211112121222112122221222222212122111121112122211222221112121121111122122121112222111122212122212211222211222112121112222222122111112121211111112211121222212212112222221222221221111121111111112221121121122221122221122221222122122222122212211122211212121211122111121112122122221211121221212121212222211212121212221121111211112212211112112121221222221111211111212121221222111212111221212111221211211211211122112111112112111222221212112111222121122111121112211212222222222221122212221112122221122122121212111221111112221121222112221221212111212221122111222122222112222112212221211221212111122122211222212111112222112111112222122121211222222221221211212212121112111111112212221112111211122212212122211222212121222212211211211212121121111212112122211122121211112211222121112221212211121121122211222221112211222211111222111222111221221212121222122211111111221111221122212121111112222222112212111222111212212221211211121211122121221222212212212112212211222221212212121212121211112112222122112121122122221221221212211212121112222211222122122212211211221222211112211111122212122111111122222122112122121222112221221222222221122221222221122121221221121211211122221211222122112212211211222111122121221221111211222212222212212211122212112121112122211221112222121122221221122111222221121121121211122122221211122112122121221111122121121211111212211111212112211121122122221221211212121211221122222221111221122212111221112122121121211222122121122211221122212222221122221111212112212222221212221111112222211122122111211121111212122122111221221122121122212212121111211212121211112111121222111111121212111122112211212211222111121221122221211222221222122111122221121212211212211212222221221111121221221112221122212121211221112111211111211212121121111221211112222112111122222212222212222121212122222211112121112121211221121211222212211121221212122121212222222212121211122221221112211222211222122211121112112211112121211112211112221111212121211221122121121122111211111111221122111222122212211222221112211222211212121121111212112222212112211111111221222111121221222212111121212111212112122111221222212211212112122222121211212122221122211111221112212212111221122211121121111212112122212211221121221222212122211212222221212222121222111122122211111121222122121211122121212111122222212221211211222212222121122212221221112112221212121211222111111122122211122122211122222212211121212122221122212122121222222122122212112221122212111112221112121211112121121112211121121212111121122211111221121112121111122212111211111122212222122122121121121212212212121122211222111121211222122222212111111221121111222121121112121112222211212121111212121222222112111122221122121112222211211222121122222212221212211111112212112221121212211122111122221111121121222222121222121222222112212112211212211112121222222211122111222111221212221212221221222222112112121121221221211222111212221111222212122112121221211121212112111211111212122222122111112121112111111221212121222121221222112111212221222111121221112111212211211122122222212221211112121112122211211221112222121112112211111212212121212212121122212211212112222211122111221121111211222122212112121121122222112112112111222211222222221211122121121112112211221222122111111112222222122211211111122122112112221212212211221211221122222212212222122211121121221221122121112112122211112111112111121112211122111122221112222211111111122212121111211121222221222121212112212221211111112121122121111212122112221221111112221112212111212221211111222211222122111211211111211112222112111111122112122212121211211221122122211222122112122121121121122222121221112112212112112111212122222211122221122212122222221222121212212221211121122222112121212122222111211222211222212111111212111111111111222222111221122221222122121121112112122212111222111112112222211222122212121221111221212121122211111122222212111221112111221222112111211122221221211122122111222112122121111212111121112111122121122222211122212222212222122211122222112122122121111122111211121222222112212121222122221222212121122111211212211122222212112211221122112121111221121121121112212222111111112212121121111122121212122222212212112211212222111221212121121112212221111211221111122111121212121121222221121121221211222221221122112112212211121122222211112112121222211222112221122222121111111111111222111221221222121222212211221211122122121122121111212212211211121112221221121222221112212121222221222211121212112121221111222211222112222122211112212112122221121222112212211121221211112112111222211212121111121221112112222222121222221112122112212222222122211212211111211222122111111121112212112211222112222221112211112111221111212122221221212121212222111221222221222212112121111221112212121121211122222222221111112212111122212111121122111121221111211222211112221111212112122121111111112122111222221121221211111121112122212222222212212221211111111222112211221121212221221121122211121111222222112221222121112111121112112122211211121221122221211122112112221122112221212211222212222221112112122122112211212122122122111212112212122212121222211222212221221211222211211212122121221222222122221122222112122212112212112121212211112212111212121211122122222111111211122222111211122211212221222112221122222212111122121221211222122121122122111122222211122121222112212121212111221222122111111211112212112122122212112122221222211111112122111112121122211112212222122112111122111111222122111222122212111121111122112221211112222111211212121221121222221111122211212222111212111121121121222212221221212111211121122121112121221211111122212111222122121212222221211111111111122121212221122122122112122112211121212112211212112212122122121221212212222121112221222211122222122111121122122222112222112212112222121111122122222112221111121222221111111221111122111222122212211112112222222221211121222212111122112222211121222121211121222111122222122221122222122122111212121122211111121212121111121211121222222211112221222211212211221122111121212112121121221111222121222211221211111221212211111212121112111111121121212212122122121211221212212112111122111211212222212212222222112121211211122221212212122212211111221211121211221212221121111122122121112212112211121111121111221122112111212112112221222111122112112221211121221212121122112212212222212212111211111122221111112222212212211221112121122222222221212221111111111212122212211121222222211112211212121111222222211211112212221122112211212111112221222111222121121112112111122212222222221122121122221212211221111221222122111211211212112212221122121221221222212122222121222111112111212121222222111212111211222222221212121122211121221211222111111212212211112221122121212112121211111111121221112122121111112112222222211121111121222222222222212111222212122211111212222121112211212221211212121211211121221221112111121111222221222222122221222112112111122222212112122221111111211212212122222222122212211121221112122122111211212111221221121211122122212122212222221122211111111112122111222122211111111221111112112121222211111121112221212211212112221111112221112112212112221112121222122222212121221121121112212211221122121221222122222212212122222111121221111111112121211112211222212211211122211122111221121211221221122222111122122111211122121211222122212111221112222221122221211221211121212111121121211211221122221211211211112221112122112221211122212121211121212112122212122112121221121111121212212121122122212122122221212122212121122122121211212222111112111222211212111212111212222112211212122212222222112212221221121122111111111112222111111121212221222111111122112122211222122221121212211221221112212111211221111222211111211111111211111222211222212122222122112122222112212222111211221221221111211112122122111122222221211211222221222111121122212211121222111212111211111122112112112222222121121121122211112222121111111121222122112222121111222121211112122212112122222122121121212121122111112122121121122221111121222122112212221121111221222211221221212211112112121212121121212122222221111212111112211211221112112211222212221222112111111121121112221222121122221111122112112221112112122121222122222122121112122121122211111122222212122121221221121212122221211121211112112211211122122221111111112121121211212221122112111112122112222212111111211112222111222112221122121212211211222121112212222111221122221222121221221112211122222211112122221212212121212222212122211121111212211122221222122121212222122111111112122112112122211211112122121222222112211112112122111221212121212212111221222221112121222211211212212112222122211222111222211121211121112222111211222211121122212111122112211121121121222111222222122122112121212112221222212212111211212211211122112122222222221112221212212211122221121112122111121111111211211121212122111112211222111222111222112211112111122122212212122211111211111212221221222111112121212122112112211111111111211111211111111122111111221121212111211122222211222111221211212211111222112122122122211222112212112122112222211222222122122212212122111121122112211222222112211221121121222222221222112222221211112211211122222122122112212222221222212121221212121111212111121222221112211222112222212122121221121122211111211111212111112222221221111121221222122211122122122111111221122122211211112111221222122122112122121211221221212212212111222212222122211112211112212211211221222122122222222112211212212112212111112222112211122211212221112212211112112111112222122222212112122111222221111121112121222121121222222121111122212112212221121221121221122211221121212211121122122221221211221112212111212122111222121111112211211221121111211211212211122111222211211211221122112112122221211112112111111211212221122211221112221212122222222222121212121122222122121111112222122122222222121211111112212112121112112212212222121112211211122211111121111121121211211122221221211122112211112121212221111222112121212212121211112111212221111121121122221221221211222221121111111212122121111122211221122211112211212212112222111211211122211112222112211211222111212112121122212112112121211111212212122112221122212222212122111212212112121122112212222221121122121222112121211112122211122111121212111212211221122221111211222111112221121212121222112122111112211211212121112221121211211112221121112112212212112121122222221112121112222222122211212211121122121211122211212121112211221122122122222111121212212111212111212122112221111221111222222121222221221221211222121111222212122222211111122112212212222222122121221211221212221122211112221211211212212221221221212122222112111122222221211211121111222121221122221212221221111121122111221221111212111121112211122122212111212122212221221212222121221212122111221221111112221211122211112211221212121222122111212111121211122221222112211111122222211222212111111111122111121221121211122121221111212112212122121222221221222222222112112122112112211121121111121211212221122221222212112112221222211211211121121121222222221122122221212122221111221221211211221212221221222121221222221211211212222111221112112111121111211121121122112222121222222121121221211112222211221221121122222211121121112111211112121222221211222111212221222111212112112212212111121111211122111112121112111111221111221121122111112212121222122212111121222211212212122111212212111222111112212222122111112221212122212112221112212111211222111221212121212212112212111222122211122221222221221211212222212111111122222111222122222211111121221111222122212121222211112122121111222121212121222112111212222211221211221111221121211212211211122112212211111221112221112112122121121222121212111212122111122111211212112121211212121111112122221111221112212121112112212111122122111112121221122221122221221111221212211222112221212121211112112112121222222222221222121121112211112111111221212222222112211221222111212112212222111122122112112112112111222121212221222112111121212122121111221121112222111111211222111212221121222212221122121211112112222221221122112222112212211211222122121211111121211221121212121211121111211121222122112212212221111121211112212122112212212222122212112121221111222112112122122221121111122112212121112112221222121111221122212212212221221112221111112212122211221121222121221222211122121222222122222212212121121222222221211221111112211111212121111212211222211111211121111122111211111222222121122221212111122121212111212111212122122122211112222121112212122221221221111211222211111111122112112121212222112221221111212221112122121111122111111222112121221121111211221111112211121212112222112212122221212121111222221122112222221212222112122122211112212121121222222121112121122222112222111121212212111222112221212122121211121222222211221221221122221221111121121112122122222221112112222221122222221112211112112112122222121122121222211122222122222122221111221111121222221222111211222222222212112111111122111211222122212122222111212212122121121121122112121112122112212222222122212212122212112121121111221121121121221221222111221121112221212121222122122122121111122112122122212112211122111112121122111211111122121211211222121122211122221221121212111122211211122121122212221112221221212111222122121112211222112212212221121111112222222111112112121112211112222222211112222211121212111211222212112111211221211221211112222122211111121111121122122112122121121121122211212111212222222112221122121112221122121211112112222122112122221121222222211222222222112111222122122122122121221112221221111112122112212111112111121112211112121112121222221222112122211121111212211221111211122221111112211112121112121211222212221112112211221221121221211121212121122111121112222212111122112221112121122121211221121222122222211212121211211222121112221211112222221122121212111211121112111222122111221221112122111111221212121222222212122222221222221112121111221212211212221221122122112111211121212112221111112122211112111212112212122222111111222212121211221212212222222222111222121121221111221221111211121222122111221222221112121112211221222211221112121211121222111121212212122222121211211221122121122111121111222211121212112122222121121122212222212111222222111122122221211121221122222211222121111121211122222112222212112221121211111221112212122212212111111112112221211211122111112121211211211222222212221221121221121221112221111212211222211112111121211221122211211121222222121121122111222211121221222111222222112112211111111122212112122211111212111121211122112221212211222222111121112111211121221111112212111111212121221112221211112112112112111211222212222121212121111211112121112111212221122222222111121211212211212211122212221212121111211212212122121212121111211121221212221212212111212222211212211121121112122211111121122111222221122121112222122212211121222111112222212111122121122211222221211221112122111222122221111212221212221112211222212112112222221222212221222121122112121222112212211221221111211221211212121222112222112212221122212111212211222122211221111121112212221111111122121112211111212211221111112222111112121121122212111112122122122111212121222111212211112222111121211111211111111212122221111111221111121121111121212121111211212112211112221222222121112111121121212121211112221112212221121122112112121222221111121111122212221221112112222211212222111111112212221222122121121112111212211121122211121111121212122121221221121121111221211111212111122122111122121222222112122212221212112212222211121221112121111212211211222111121122111121111211111221112121221222122212222111111222211211211112112122211211111111222111211212211122211112221221221222111221221221111211212211111211212212221112212212212112122212112111112111112121222121111211111221121121212212222122122111221121212112212212121221121221121211121122121222222222212121111121212122121112111112121212112211111211121112222122221221112122121211121221221121112112221211122211222222122221222222221122212212122111211122221122112111112122212212112121221221121221221212111212112121111221211121111122111111112121121221222111121222222121112222122221211111212212121121212221122211111222212212111111221111221121111112221221222112121211222221122221222221211121212122122121111111112212212222212221221121221111221121122221112222222122212122112121122122212122111211111122122112112121222211212112211221112212211221111222121221212112211112211221211112112111122211112111212112211111221212111211111121212222112221211111212122212221221211222221111221222112111112121221222222122122112122211221221121221122112222221211122222221122221112211122221212122121122222121211112122212122221122212111111122221111221221222112221221122211122111212212112212112212121121122211211221222212112112221211212212121111111121212222122112121222222211112111122111212211212221212122112121221222121212222211111211222111112122211111122111222111212211111211122112212111222111121212221121221221111222111112222111122111122211111222112112122111222221221122112121212211122211121112211211222122221111122111111211222121221121122212112221222112112211222122122111122112121112121121211221211222222111221222122121212112212222121122121211221122122221112112122111221221221211112111221222121121111212212212112221112111112221112221111221111212122221221122111221121211212211112211122211111112112112121221122221212222221221222122222221222221111122111211212122212221222211211211112111221211212111222222121212122112211121112221111112211121111211112212112121121122121112221221211211111111122221221111221211122212212211111111121212121221121111222121112221121112211112221212122122122122221211212211222122222112221222222211111212122121122121222211111221121122121211121122122111212121221221221122221212111112212121112212212121121221211222122112222122112222121121211222221222211221221211111112222222111211222221112121111112122112122122122121212111122211211112222211111112121212211121121211111112111121121212111212111222211221211222111211122111111112111112222221212211222111211122112221112211121211221122121221221211221221221222111111122111121212211212221212211112221221112121112121121111211112122121212222112211211221222211122211111111222211212121121121211111111112211212212211211221212111111211121222122111222222111222121112121121222121211212221212211222121222211212212222122111212112121121212212222222111112211112112121122211221211212111111112121111211121111111121211222212112112122221222212211121122121222121221112212122121122222212112111111211122222112221211212111111121221211122222212212212122211222222122222121212112122222121112222221212122222112121211112212112222221222112221211212121222211121221211122121111221221222222211111111222221212121121212121111212121211221221212221111211211122221121212212221222112221222122122212121121212122111212122122112212222111111212211221211222222222111221211212211211221221112221112121121122122221212221112222121211211121122211211222111211121112121221111221221221111111222221122211211222222112221121111112211121212121211121221122212212112122111212112212222111212222121111212212222111111212112212211221112211112222211112212212112212211221122221221121221212211122122211112121211222112122221221112221211112212111121222111222121211122221211211211212111221211121222221111211122112122111111221122112211211121221212122222211221121211122111222122121222122212112122122211122212122121121122111112211222122112112222221221122112121211112211121112222112222211111221111221221211222211211121212111121121111221221111222121122211112122121112211111122212221112212221111212211112121121112222122212122112211222221221122222221222222121121222121122212211121121121212121211112122111112221212122211121122111121211121211222122111211112221211221212121121112121212222121122221212111111112122121222121122111111121121212221121122211222112121112121221122122122111121211112121222121111212221211222121222221221212121211111222212122121112112211211211112212122212122121111111221212222222211112122121121222112212222121222211211211122112111211221112121111111211212122122112122112121112111112121212211122221212211212222112211122111112212122111121112222211211212112111212212221112221221121121121121112122222222212212221122212121111121121222211211222112221211112111122222112121112121122112122121111211221121211111111221122211111212112122122222121111111221212212111211121211212112112121221122212111122121222211212221211111111111222111222222112221211111122222211221211111111112111111221211122122122122222221222111221222121222122112212222222222121212121111122111122112121211112222211112212112211212112121122111111211112211122122112121221211222122112222211122222112121222111212211212221221121222122222122212111112122221222122211122212122212112122222221221221211111212112221121212211122121121122212222121122222211221212112222111212221222222212212111222222122211211212112211212211112212212111211212212211112222212111211222122222212122111121212221212121112222121222112212121222122222121221221222211111121121211221111222211222122121121112212111222221121121212211121211111111111111112111122222222222221121222111222212222221112111212112221222121222111221121122211121112122212112122212121212112212222122222221121121211112112211212111112211221212122222122122122212111221212111111111111222122211111112121112122121121122221212111212211112122122222222212211112112222222221111111212122121211212211112122122122122212121112121111222112222212212222212111122122112211222121112222211221211121122221212122222221221121221111222211122122122212221221111221122112221211211222122222122222122122112221212212212222112211221122122112111121121211222121222221112121111211212211212212122211122111111122112212212112221222222112211221111112111211111222112121212111222122122221122212111221112221122112211122121212112221222111212121111122222221111121211112211112222112212212112111121211222211222122211112122211122121112122112121122122221222212111122222221212211221212112122222211212211211211212222111212221112211112112122222222111122211222222212122121222121122221122222112211121211121121111121222111211112122211121222222211221112211121221221121122111121211222122121222122222221222111211111222111222121121111122121211211211211121121121111212122112121221212112122211212222112111212122111221111221121111221122211221122212122212111111211212121211112111221112221221122111212221222221222121212222112222211111111211211122121112211121211121211222122212211212121222212212111121112111112211211211222112211211112111121212222111221122121212121111222111222222111122121211211211222112122221121212111121212121122212211121112122211221111222211112222211222112222112221121211121112211222121111211222122112111222122221222111211212211222221112212111211111222211212112212211211122222121112212211112221121211211122122122112222212222211211221211112112121112222212212211111111212221122121122222211222222221111122221211222111212122212111211122222222122121222122111212211211111121212221212221122212122212211212212222222122121121111121222121212112212121112222212122211212112121111211112222121212121211211122221121111212122211221121222111212212212211221112211211211222212221122121122222121112222121212122221122211112112121121222121211112221221221222212222212222211111212121222211212121221111211121111122222221221121222112221221111122121211111212122212212222212211121112221111111122211122121211121211112112221121121121122211212111212121112221122111111212121211222211111111221212122111222122121112212122112111121111222112112112211111122111211112211122122221211122211112122211222211121111111121121121221112121111121112222121211122211121112221112211121121111221112211221122221112112221121212212222222221121222122111111112221112222111211211212121122211112221222121222112122212221212221112222211211222221111112221212221222212222112212222112222112221121211211211221122111121122122121221122111121112222112212221222122122222112222111111221222211221122121222212112222212222211222212212122112221121222211211211222112111121122121211222112211121221122221122221221112111211112111111212211221211211122121111211221122122121211112121221122121122221211121211222211221211221212211111222112222212121221122122112112111111212111121222221212221111212122111221222111212122222222112111111111221112122111212222111112221221122111212221122211112122221212212111112112211111222112212212222221212221121122212112122121112221222212222222111122111212111122112222222111222221222222111122112111212222212122121122111211111121122211221222122222222121112121212112221222122112222122121121222121222222122221212212121122222211221221211122221111221112212112212111221112221222112211112221112111221121112212122112221212122222111222121221121112122222222221211221222222211221211111111212212121112121211111121111221211212211112211221112211122122121212221212121121212221222112121112211221121221111121122121221212221122121212111121212211222211122121121122122212112122212112121111221122122111112111121222111121112212122212211212121122221211121121211212122222121211222221221222122221122222111111212222222111221121112222221122122111221121112222121212121122211221221222122211221121112121222212121221212112222222121111111111221122211222221211121221112112122122111112222121121212211222211212221121112111122112122112222222222222121222122112121212112122111222111112212212112112222211212211121112222122111121122211112112221111211212121211112112111212122121221221111221122112122122111111111122222111222112222211222122211212122211122211112222122121111112112222121112112222221222222122222111122122212212212112222212121221111111112211221121221122212111212221112111121112212121111111212121122112211122121211212121221221122212122111221122111111112122112222121222211211121122121112112122212211111222212122122211222121211221222111221121122222222112121212122222221211112111222111222211112221111122221111212212211112222221222112221221112222122221112211112212121212212211111112112212211112221111111122111211222222221212221221222111222121121211222221121212211111122112122211112211112221121122112122222122122211121221122221221121122112212221222111121111211212111112221111212221221122121112211221211111112221222121122112222221121222112112212121121211211112221211221212122122122211122212111221121211212211211222111121221211221211222222221212112122121111112211121221212212112122122112211121222212212122121222122111122212111122211221112112112111212212112121221212121221222221221122222112111211222112222211211121112212221111112221222112212111222211221121121121121112211222122222122211121211111222211122121122211122121112212111221112221212221112221221122112112112112211211121211211212111121121211221111122222212222221221111221222122122121122121221222121111212122111211221122212121221211112122211121211122222212221112211111222112121112122211222221221111222112222121121211122221112122222212121121112221112111222222122111122121122122221211221112121221111221122122121111212122111122111122212121221221211122221122211221111112122112212212221221121122121122122212212122121112121121222222222112121221112211122112112121212212221112121222112221211212212122111221221112221121121112221211211221112122111211211222112111112111112111222121222221212122111221122221212222121212112111222222211222211211211121112212221112122112212222221122212222111211122222212211221112121122111122121121222111212112121221112112211112112221212221122212121222122111211221212111121112221222212121221122222111122212111222122122111122222211121212211112222212211221211122121122112111222222212121122111122222221122222122222212112211212122222212211111211221122211122211122222222212222221211121222112122211112111122222121222222122221212222112211112211211121221121112212211211221222211121121212122211112122122221212221222222121122211211121122111121212211121222212112211221122221212121222112122121122112121121122112221122112121221112122111112211221212222221211121222221122121211222221222222211112212122112212122121211112111122111111211121121221111222121112222222122212222122212122222111212111112222211221212212221111121221212222221112211222212112111111111212121122221112222112111121121122122221122211111211121211211222211222211122222112212112211222222212222221112222222121212111221222221112222112221111211212111112112111122111112111222221221211122121221211212111111121122211222212211222212221211211212211221211111212221121112112122212112211111112121112212212221211222221212221221212121221121112122211112112122211212212221212221211112222111222211121121211211222212121212111211112212112121112211222211212112111211211211121121122221222221121111212111121112221112211112122122111111221122112122122112211221121112211112121111111121212112111221221121212112112112222121211212121211111221121222121211211122112222121112212111122111122112112121221122222212121111212112121221211122111111122221122111212222222112221222211212211111122212222211212121221212221122222221122222211121211111112121122212212221112212111222122212121221121112212121122121212112211121111111111221111111211211212211222111222221112221222221121122112212111211212222112112212212111112222121112211121212211222211111122212222111121221112112211211221221212111111212122211121212221111211211111122222212212212212222211222111112221121222112211212111121221122222121122222122112212221112112112112121122122211121121211122122121211222112121112221112221222121222221221122111122111112122221211212221111211121222111122121122122222211221122122122221211221122121121222211111222222222212111122211211211122222221221211112211122221222122122222111111211121211211111121122121112111211222112111122111122222221121111111221222221111111211122122221221121221211222212222122122211221112112211222211112122222212121111111122111211211212221212212222212121211111112122211212111121112112212211112222221121221221121211111122211121212221111211111212212221112111111111122222122212211122222111211211211221222211211111221211112211222222211222211211111111221122221221211121121112222112121222222212211111122211121222222222212122111111222221122211122222111111122121122121112211211221221122221221111121221111212122121121221111111221211222212221212212211112212222121211122222111222122122111211111112211112112121212221122111121222122222121212112112121222212222222221122211122222211122212221211122121222211211112122122122222112121211111211212222111221212212111121222111111222222121121221121121112112212222111211112121111212222122211221222212122221222112122111122122122222111121222212222121121221212112222121222212221221212212221122221121121222122221111212221121122221122111112111211211111111112112212222221111121212212221221222112121111122211112112211121121111111121112121122221222122122221221211211112111222211212122111112212212212121211212222112121112112121211211111221212211212211111212212111122121111222111121212212212111221111121222212212221222212211122212122222222111122212222112222112111222122212211212112212121212122221221112112121211112111222211222212211111212211221122211211212222212111112212111111112112122112112112221112112122211212121211212211221112111212111222112212121212111222221111212222122122111222112211122212122211121112211112212121221121212222211121222222111112121221122212222122222122211111121122111121112212111221111211222122111212121112211121211122111212212122211222112121221111111222222212111121112122112212221111111122221212112122211112111111222211211222112222212222122212112212211111212222111122211221122221111221122212112122111212121212211112221121221121222221211222212221112221212211122221211121122122111221122222222211112112121221111222122111212221222111211122111111221112111112121211112222122222122112111122121112212121112221112222211221121111211221212121221211111211211212211121212121221222222121212221111211122121212212111112112222222222122112212221222112111222122222121212212222211112111112211212211111112221221112112122221222112111121121112121122222221221221212122222112111112111121112121211121221112121211212111121212221111122222112111211221121112111122121112211121211212112211121211221212121121222122121212211211212221211112122112222212222221221121221112112221111111122211122122121212212222211222122112111221122221112212221212111212221211122211221111111212112122121122221111112121112122222222111221221112112211112121222212211112111121122221122111122111211111211111211122111121122222212211221211111222221111112111221221111112222112221211121222211111212122222122222222221221121122212121122121222212112111211211222211212212211212121112112222121212112122212122222212122222112112112212122122122112112212122211112221222112212122111122112212112121211221221211122212212111221211212121221122211111212121222111222122221112212122221211211221221112221122111122112121221221111212122112212112222222211211212221122222122121121111121122221121111211212121112122111221222121222212211211111121211112212111121112212111121112212212122111121222121111211121222122222111111221112221122212221112121211221221121112212121112211111112222121121112112212221122121222121111221112221212111211122211121221221211211212212111122122211221112222121221221212211212212111212111111221121212122122122222121122222112211212122222122212221211122111122221212211211121112211122221112121212122122211211211112112221222111221122121112111212111122112211121221221111111121222222221122111112121212112211122222222112222221222112212222111122212122121222211121212121121221211112111222212111211121122212122112112121122121222212211221112121211221121222212121221121121211121122222121111212211112122121221121222121221111121112122121121111211111112122121112221211121211212212221111121112122122122122222222111111122222211121221222212212122112221211111122211111112222211221112222112221222222212222121221212121111212111211111122211122111222121112222222111221211111121112122222211211211121222111211221112122212222111112222112211211112222211122221121122121121212111122212221211112121211222212112222121221121221221111221121221112221212212221111112222111222221222222111111111211122112122212122121111121221112211211212222111222121212212221212112122121211112111222112112122122222211111211221212212221222221121122122221112121111111122122111212122112212111212112111222112222111221112221122111112222212212122222112222211211111111212112212211211222122222211212122211111111221122121221221111211212112222112122211111112111111122212221221221212222112222222111212122212221221111221111211222112211121121211212221112221121122122122121221122211122221112221222111112121222122222111211212122121111111122111112122112122122121112121121222222221221212211211122121211112222222221212222111122221221111212211112112222222112111121121121211111122122121112212112221212222122212222111122122112221121112112222121112111212221121221222221111122212222211112212112121111112221112221121122222222222212111112222112122121211122212112212112221222112121121212221111221221112222211121212111222221211121211122221112222221111121112112221121212221211221222221121221111111111112121121222112122112211212122211122211112122111112222211122111211222212212121112212211212211221221111121222111212111112112212111122221122221211121221121222122112112111221121222111112122222212111122111211211212212221121212211211221121222221121211122211111211222111211211121222122222122121221211212212222222212211121221112212121121122112111111111211211112222112122211112212122211212221212112121222122122211112111211222111212112122121211112112122112112221111122212212221221222111212221211211111121121212122222212212222112122221211221122111121122112212212221212111212212112121121222211211112221121222111111222211221222221122111211121212211221121212112211122211122111211222222222112211122111111212211121212221211111112221212221211212112222111222222111211122122111111121211112111121222221121112112111111221211121221221112221121112122112221121121222121121222111122222221221221112122111212212222221222122112121121111121221212212221211221122121122212122222121122221122211112222111221211221212121122212121112122221212112112111112111211212222122211221121122212221221211221221222222111112212212212222112211121121111221121121122121121111112211212111222121112211122222121112121212221221121112112211221222212212212121122212222212222122222121212111122121121211112122112211221121122221112211221112121212122211221211222222222111211221222121112222121121211122212222212212222122112112111222111221121212112111221221212121211221221121222112212212112222122222222111212211122211212122121221212222211212221112222112212122222222211111122211221112122212121212121121121122111112221212222211221212111221122212121111211222121212212111111212222212222121222222111121121111211212212212211111221211222111222221212122211212112111121111221122221112212222212121121212111122112212112222112211221211211212121111221222112211211121112111221112122222222212222212112122122122112212122111221221111212222111221212111222212122212112111112121212222122112221222211122212221221221121111121222111111222112112221211111111112112212111221122221122222211112112211121112111122122111112211211211121112211111222121121211222211221121111111211121122111112221121121222112112212222122112211221121121121122111122121212211111211121121122112211122222112211111112211211221211112222122122112121221211212222111112122122122122222222222111221122221122111121111222212222211211212121112211122122122111222211122112222212112122122212221112221121122111122211121112221122221121222222121111222212111222222222112212221122221111211121212112212111222212221112211121111211112122221222211221122221221222122112221111111211212122211222122122221111212121121121111212211111121121212222212222112212212111211211122122111211222112112222111211221122221221221111212221111122122112212122212221222121212221211111221122212122122111211121121121112212221112211121112211211221221222211122221211121121122211222222111121222111111122211222212212122112121221122111222122112212112122211222212212222121222122112222221112221221221221221222112122212121221222121211221222221221221222122121112112122121111221122122121122111211121211222211112211121112222111211212221211212122122222212122222112111212111222222222121211121222221212211122112221122222112221221221221222111111222212221111212222111221222121111212221212222222122111122211221212212122221122221221121221122212221111121221121111121211111212211211211121211222221112122222212112222121112112222222111222222221112221212112122211221221112122122111112112222221222111111112212211212221221111121222112222221111122212211111111212211222122222111122212222122221121211111222211122221221112212212121221212221212212221212212122112222211111211222112122211222221122222122122112212221211111221222221212112121111122111211221111122211122112222122221221211121211221111111122112112221211221211221111112212222112112212122112112111112222212211221112212111121222222112111121121211221112121121221112121121111212112221222221211111212222111221222122222111221111212211122221121112221122122111111111111222112221212221122212211121121122111111212121121221111222212111222212112212122211112222222222111222212112122122222122112221212212121111221122222111211212122122121121111221212111211122112221221111221212222112122122222112112222212221122211112112212222112121222122211111122212111112112122122222111122111122221121112222122112112222122121212122122121111121222222122121212221121111112212222221212111222212212112121212211121212121221122211122112121111221111122222221121112212211122222122222112121221112112211211112211212112121222211221112112221221221111221121211122112221111212111212221221111221121111122122212212211122211222211211221212211111221121112212212111121112121211111112221211221111221211211211121121222212111112221121222122221222222111211212121212221112212211211111112122122211222211121222212122212112122122121112221222112122221222111122111212111212221211111212111212211121121112112111121122111111212122221221111222212221122212222122121122111122222222211111222222122121111211122122121121211221121212111121221121221211112221212222222112111112221112121122222221221222211112121121122111112211212222212122112211221212121111211212112112211221221121121112212111222222122112221122112111122122121121222222222221112112221211221121121112121112212212221221111211111222111211111211211222112221222221221122211121111112222112212111112121122121212212122112211122211212222221212111122211212221112122112111121221111112121122111122111122211221221112212222212222112122211211211212121121212222211122222221212211111121212211212122112112222212112212222211122222122212121222222222111222111122211211122222221112111221112222122211112221211211222212222111122111212122222212121112212122112121222221221222221122121211121121221212211211122212222222112122111122122112222121122222222122112212222221111112111211111222212121121111211221122211212112222221111121221221211111211221111222212222222212122121122111221212212212211122222122221211222112112221222122212112212112222122221111112221221221221212111212112121221211112211221121222112221222122111121121222112221212111122121112221112221212212111222221211111222212222211112111222212121211222112122212121112221122122212111212221122221212221121122212211212212212212121211212212112111121212211212111212212112111221212211212222211122211221111212212111211221122122121211112111122121111111211211111112122221221121121212211211212111211221221211121221222112211211112122222212211122211121112111122122112112111212211221222112112111221111111222122211221111221111112121211112112222222122222112111111221122121211121221212111112212122212122222122221212121211122221222121221122112121121111212221122112211212221221221112211112211122122122121212112222212212222111112212112221112112122122211222222121122211212122111121112122221122221212112121222212222222112221121212122111112212122221222121121222211112121112222222221222222112211211211111221121212211112211111212111211122122212111221212122221122112222221122121221211212122221221211122122222122212221121212121221221112221111221112122212211212121112212121222122222122211222112221111222112112221121112211211111212212122221111111112222121211112221112122121112221121211122211222121222122112222222121121111211222112222211121211221121212221121221121121222122221222122112121221222212111212112121111112121112122121112222121121111121221111122222111112221221222212212221112211212122111111121111211212212111112222122112212222211211221222121211111212211111222221121112111112222222121121212221112221121211111112111222112221112112122121221122221212112222122122221222121222221112111212112212222222122222212121111121221212211121122221221222122212122111121222122221221111121221122112111222221112111122112111221211221111122122221121121112222212221211122111121211211212221212212111212221122211212211211212122212222122111111121222122211112211121121121112111222122222211122221211112121211222221211111122112212122121211221221222211212111221121212212212111121221111121222112221212111222212112111212111112121112121211122221111111211221211112221122122212122121211221121211212222222122111111112222122111221221211111222122111111111112121221211122111222211112212112221211222212121122112111112111111222122112222222121211121111122221122122211222222212221122221212222222221212222121121111221211112111222221112111222112212222122122211211221222121111212121221212112211211211211111122222222122121122112212222122222112112211222112221211121122212212212121211221112111111222122111222222121221111221121122222211221221221211221121122121111222112112221112221212221122222222122221211122211212112122112122211212211122221211121212112112122112121111121221112222222221122121121112212111212122211211112222121222212111112211111121222111111212121112221121212221122112122122211111221122121211212112122121221122112211211112121222121121222111211111222112111211212222112222221121222212222122222221122211212221122121121121211211112112211112112222221122222112222222211221211211221221122211121221212111121121212221122112111212121222122211222222122221211222222221121122121222221221122221122121211121211222221221112121122221122211121111121221221212212211121222221112222121222221221112212121121211112112121121111211212122222111122211221222112222121221121111121111212221121121221112121212111222122122111122112112212122111212122212111111212121122222121221221112111211222121121112111221111211112112121112221221211212212212121221221122222112222222211111122122122121122111221112121121111222121221221122121121211111212111221211122111112212111222221221111112112221111221122221212211222122111212112121112112211222221121212211112212111221211111111221112112121112222222212212222211111221211121211112222112121211111111211111121112222112222112211121211212222111122122122211221211212212121222112222221222221221122121211121222222121121222122222112122121122221212222111122112221112112111211121112122121112122121122111212122121221112222111121222221222211112222121121221111112221212122222121112122221211221221111211121121211211212112111111121112121211111221121222211221122122211111211121211222222211122211121212212111222222212211211221222212221112122121221221212211121121121111222121122211221222121221121221111222222221221221111122212111111211212112222222211212222211122121111222222122222122221121112212122122221122112212212212111222222212112222111112221122112111212111121112211212122111111211111112122112111122122211222222111121212111222221122111212112222222212211121121211112121112121122212211221111122122212211222221221222222121121211211221212111112222221221122222222212212121221121112222221221221221211221222121121112211221121121222221211221222121121112221212112111121121112112111211222222122222212121121222112212121122111112112212111221122212221211112222122212121212121222111121222222111112111121221112211112111221211121221212121222222211112121122112211222222222211221112211222111211212222221212211222212221222112112121222111111211221122212112211211221121121111111112211122121112211222221112112122211211212211121211222221221121221211121111122122121211112222212122212121212112122121122122222222222122112121221111212221121221111222121121221111221121222121211222121212121222111121121112221221222112221212222211212111121221221122222211121111211112221112222121211212122111122112211122111211211112211222111212122221112211222112111121221222222222211121122222221122212222111121121121211122122121111212211121122211212112111211222211221221111222222211122222222121111211221122211112211221221122112112212222112211111121211212211211121112211222222211112121212221221122212121121211122212112111121112111212111122212221221221112212111122122121112111122121122212121112212212112221222212121121221121121221111111212221121112222122122222122221121112211122122112121122212222221121221222111122221112212222211222212122122112211112221121112221112211212121111222221212211122211221112212212121122122211222121212111211222111121122211122212122122222221221121111122211112221121221122221112211111221111111211112112211211111211121221121121222222112121122212212121121122222212212212211111222121221112111122112221211211112222121111222112211121222121222111121221111121112221211211222111122221121221221111211121222212211122212211212121212112111222122111122221211212212222122211122112121221222212122222111122122122111121212222122112221111212222122212212122222222211212111121111122122112222121212211212112211221122122111211212212221221121122122111121221111222122111112121212111122222121222222121212122211112111222121112111221111122122112211122221211111112222212111212212111111112222212122122121111221112221111112221112122222211121112222111221121212122112222121121222111111222221211121111111222112221212222212122222212121112111112111211221211211121111122121222211121121112212212121211111212212211121112121212212212211221211112222222212212112112112212221121121221122121111221122221221211111222122121112212211211222112211222221111211122122212222121221212111111212222222112212211122111121222222121111222122221121212221121121122112112121212111112222221211111122222211112222211222112211221212212121221122212212222121112111122111212121122112111111221212121221212121122122222212111222212121111122121111112122211111121222211211211212221211221221212121122211212111221211112211211211111212222212221221111122122111111112211112211222112211211112122221212211221222111212211222221212222122122111212222211221122112212122122211221212112211211211122221121122221222221122112122111221121121122112221212212211221111222212211121121212211222121121121111112221112221122111122211121122211112222222212221211212111112112122122112111212211221211212111111221212211212222222122211112222211221221222122111222111121212222122122122122222112222222121211121121122222222122222211111122222111111111221112222211121111221112112221112221111222112111112211122212111111222221222112211111212121112212211211111112111221111211112112121112112121121222212121112112211212111121211221112221211221222122221212222122112112211122111221221211111111111211112212112111212212111122212212121221212222221122121222222212211211221121222211121222221112122111212222211111212222121112222121222111212121122211212111111222221212211111111111121121211111212212211212212122121111221222222122211122221122212122111122122122212212121122212211211122122122122112111111211122221121222121221111121112111211222121121122121222112212212111112221121221111211122121222112222211111111122222121221111211111211112221211121221111221122212211211212222212121112121112222211121211121122222211212211122122121222212222121111222121222112212211111211122111111121222122211212112222122212212221222111111112221221222211121122212222111111111211221211121121111112122222121111212121212222222111211121112211212111111222111212112122212121112222221222211212121212121111112221122111112111112122222122212222121121221212221121122222212121212111111211222111111222111212212122111111121221212111222122122121122121212111111211222112211111122211121211211112111111111111222211212111212222212122122121222122122122111222121122221211122121112222111222222111121211212111111211111111211112112112221111222222212212222212211121121211121121111121222111121111211212122122222212111122221222221112211221112221211211122222122122112222221121112211212221221221221212222111122111111122221112111211111122122222121212122221222112111122111111212121211121211222122211122212212211112222221211111121211221212211111222222111221211222122112222211111211111122212122111222122111212122211111122112112212112121112212122212122122112222111212221111122221212221212222222222222222221122122221212112111122212212211121222222122212121111211122221211121221221221122211222121122211221212112121112121212112122122212212221211222121111211122122111111211222122111112222211122222212112121222222222122121212112121122112222221221212122112212211121112112121212222211221112122112212221112221111121211222211222222212212121122222121211221122111211121211112121122212111222112122112212211121222121122112212221222111222121221221222222221122221121111122111222211211111221112111222212222221211211122112212211212212222112111222211112222221222211121212212122212111212222222121212221222121122211122121121221122111112111111121111221122222211122221222211111121222121112111122112212212121121112221221222122211211112212212222212122221121121122111221212222111111211122211212222222212111122222121221111111222111212122212112222121212222112112212212112212221211221121212122211111211122222122212122122111222212212211222122221112112121221212222112212122222122212211112122122122111222122122121122112211222222112222112111121111122112112222121222221111221122111212112212112112212122221122221212221112222222112221112121111111222222111112211211111221212211122112121211212211212211222111121121122211111211111211211121221112111122222111222122122111221211212211122222221122111222221212211211222211211111111211212121221112221122221221221111211211212211211111222121221111221222212121222112212212111222122211211122122212222111122221121122121122122122112111212222112121111212221222211112212212221121111122111121222121111222112212221211111211122221112121112122211212121212122222121221111111211111112111111212111122121212221211121212111121121211211111221111121111122211221221211112222112111121122221121221212221211221111111111211122111221121112221221112212211222122121111122221122112211222211122211222121122212221112211111221111212221222112222122112112112212211221222112112122122221212211121211121112212112211121122122112112111222211212211212112122121222122222211122122222121212111122212222122122122112222111122122121111112212212122121112211121111121122222111222221122221221112221121212111211122121211211111212212122221222222221212111211222222121122112221212121111212122112122122111212222122222111122122121121122212112222112111122121222212122111122111122212222121121111121121221221222222222211212112222121122221222111121121211122212111222211221221212221112121111221221211222222112121121111111111122221121122122121222121211221121212122121121121211121122112111112222111122222111121211111211111211112122111211111112211122222111121222111122122221212221221121121112121212212111212112221212112212211122122112212221121212111212122122111122112212211211111211121112111222121212121222122112211111221122112221122112212121121211211212211121112111212221221111112212212212221221122112111121212222111112112112212221121221221112221121111112221222221211221111111112111121221112112122211222121112221122222212112111211111121222211222212121211221222221211111221121112212111112221111221211121212221111121111111111112121112212122112211211222111221221121121211222121222112122121121112112112111111112112211222112222212111221221222211211121111212121122112112111112111211122112111111121221211222221221221222221222122212111221211221111211221122122111111212222222122222122112221112121122111112122111212212111221221111112222221221112111111221121221221122112121111212221212122111211111121221112221112212222221211111121112222121122112111212212222211221111121211222111222222121112112211122212212111111121121211112121111211111121211122211112112112221212221212122112122221212211211111211222221212111221112212111222212222112111111212122221211222112122121111121221212211121121212221212122222211212212222111112211212121111211121211222211221122122212222112121211122121222211112221222221121211112111112211111222121122112221211221122122211212211122212221112111112121121221112112212122112112221112112212112221221111211221211111112111122212212122222211211212212111221221212212212222122212212122121122122222122221121111122121211221112122221221222222121121211212212212111212121211112121111112112112111212122211112122122212222111221122221221121211122212212112112211212112211221112222211122212212121111121221221122221211212221222112112212212211212221111122221121122212111221222222112211222111212112212121211222212221122222121111111212111222112221212211122211121122212111211221221221112212111211111112121212122211121211122122221222221112211212112121121111221222222221112221222122212221211121122222212222112222111222112211122211222211112111211211121221222212121122121212121121221122222122122112221112222211212112121122212212121112122221211212111121221112121112111122211222112122122221111112112211212221222222221222222111211221221122221112212221111221221122112121211222212211212222122211111111121221211111222221112122111221221222222222112221112222121112121112222222112212112211121211222112212122112212222111111112112111122221111112221121222212222222111121122221211122111122112111122211212222211221111221122112111111211221222121212212221222212211222221211222111221112222212112221111212111121112221122121112221221221121121222122221122222222222122221211211212112121222222122222122211121112222111121211112112222222222122221121212212122112222121222122211122121122222212222111121111212121122212122111122111221111111211222112122112112211122212222211122121111121211221211112211112221112121211121121212222112221111121212221222221122211221111111211211211222122111222112211122111211111212211121112112122211211211122211212111222211221221222222112211112211111221112212122211121212211122211111221221111211212211122111111222221222121112111221221221212212112212121212221121221212221112112111222121112211111111121222121121122122121112112222112211211112222121211221122111221121212112122111221222221222221122211211122122221111112221211111212212222112221111212212112211111222212112121212212221111211211211112122112122112111112121211112222211212221122112122111121111221122222212222111222122111112212212111122221212122221211111121221221221222211221221211222212222122221112211112111211121112111222222221112112112121212211121122212222122222112212212221212112121212222112211221121221211122112211111211122221222221221222212221122122112221121222111121212212112221121222112121211111121122111211212111222112122212122222111221221221121112212122211121122122122122112221211111211111222122121122212211212212221111212222122211122211221211211212211221122112122221222111221121121211112212222222112211112211112112222122221221122111222221212112212111222211212112212121211221112112112122211111221211122121111222222222121111112211221122221111111212112212211122212122212212212112121212121222111212211122221221222212122122112112111222111122111211222221112221111112112222212212222121111212112221111112221122121122112111211212122212222211112112111122111112221212112221211121222112221212222222212211112222212211111222221121211111121122111112222112222212222212112221112212212111121122112121122121222211121211121211122222121121122221211222122222112122211122212121122221212111111222122112111222222122111122112121111112111112112222121212112112112212211122112211112221211121222111212221121221222212122212121122122112222221122212211222222111212211221222211122111222211112221112222211112221122211221121112212121111122121211221112221211121221122211212111212112121112212121222212212221211111122111222222211221112121112112212221121112221112211222112112221222221221121122221211112212121111112111111121111211121222212121221112212221212211112212111211211221222121222212211211111211212122121112212122221211211111122112212121111221211211121222212212122112122222112111222221112221211112212112122221222211221111122121122221121111111211211212112222211112222112222222122112212222121212222211121221221112111122212221221212222112111222122222212112112122111122222112212222111211112222122211111212222212121211221122111122111211111111122221121221211221212212121222221112211112221211212212122221112222212111221222221122121222121222211222112222211211221221121212211221112221221211221121121221222121211112121111221111121222222221211211222211112122122212212221212121211221111222112122112112121121211121212212222212221111122222122212111121221121222222122211122121222111221112222121111122212122112222222122112211112222211211111122211122221122111221111122112111121111111222121111212211222222222222222112221222122121121122211221212222211212211122122111212122122112221112112211111112212221112122121122221111212122211221121122211221111222211122212222112122121222112211111212112211111211221121122121121212111121122112112112212221111222122212111121211121121122222112212111112212222122221111212221111222222221122221222121121122111121111121212211122212222212221122112122212222212222211212111111212111212212212212211222211222112222112222211122212222122122112222221121211212222212111111212222111121222212211112122122222111221211222112212222112222211121121111221111111222111111121221212121122221221121212221211222212111211211112111121212121121221212112112221121221212222111221111222211121112112222222222112222211211111222121122221112221221211121211222122122111112122212211212112122211221221122222121121122112222122211121211121212212221222211221212221211212212212221222111122211212122112212121212122211121211121112221221211212221111211122221211121222111112122221112121122112121122222122121121222211121122112121221212212121112111222111122111122221212212112212222122121121211111211121221211112211111212212122122112221121112122211221211211222112221221212222212221121222222121222221222221112122111221121212211222111112222112112111212112222121212111112222222121222112122222111111221111212212221221211212112221122222122122212112112121212111121221112122122211211121221111222212122121222112212222112121222111222121221121222212121211112212212221221121122122211122221211211211222221112122121222212112211111111122111111211221211222222212111122112122212212212221221211111211222122112122122221212112222221212121122122112221211212121212122221112221211211222211112212211122221212221221121112111112222212112121212211111221212212122222212112121211112111122222112122212121222221221112112121222211221122222121221111112222122111211212111122212221122211122111112122221221121121111121111112212222211111222212122222121121121212212122112221122111211111111222122112121222212221111222112112121211122221211212211112222122121221222222222112112112121222211222121111112112121111111112121112212112111212121122212221211111211221222122112112211211122112122211112212122121121122221222212112211112211222212111112221112122122111112112212222221221111112121221112121111211121221122222112111121211211222112222211212112121111112221112221112211221222211212222211121121112211112221222112111112121221221222122121111212122112121121222221121112122122221212211122111212122112121122221121212221221212211211122211112111121122112112222112111212122111111221221222221222221211211222221212221221222111122122122222122221111212211222122221111111222121121211221212121112121221122222221222222222221122112111211212212121111212112212121122212111222222211122121112212111122211212212111211222211212111221212111221112221112112221211121122112111211212212111112221222122221122211221222211112222211212122212212122122111221222212111222121111212122121211122122121211222222222121111222211122211211122112211121112122112121212112221111212212111212122211122212211211222212121221212222122212212111112211111111121122212212212122122222111121111212112221122121111221221222211112211122212121111212221221212111211111222222121222112121221122221111122212211122111111122222212121222121221121122222212121211221112111212211212122122221121122121211221221111122121122221111121222221211221122122212112112211221222122221222221122112112222221222211111112222111222112221112211211221211111212222212121211121212122212121122212221222121212212212112211122211212211222222121222221121222122112122122221221222122221111121212212121222112221212212122211221122211111112212122211111211121111211111211121212122111112112211112222212221221212221112122222112112212222112121222211112211211122211221122122212112111212111112121211221122111221212111211111112111221221111112211212121111222121122122112111122212122111212221121211222121221112211211122222111212211211112121211222212211211111112222122211221111222211121221211211211221122111212212212111212121212111211211212212111211211212211121121211212211222112221111212212122111122221112121122222211222122222212111221222212221222121121112211222111122212121211221221211212121211111111221221112222121112221122222121212212211121212121221222121122121212111111122111121211222212121122211122122222212212221122222211212111111211111212212212112122222222222222112111111212212111111112122221222111111112121212111212111112122112221112121222112111212122222111111121121122112111222111121211111122221112122211122222212112212112211212122121221211112212211112221121211122221221212221222212112222211121222121122111121211122212211212212221121112211111212211112211111221211221122221211112222211111221111221211222211212111222112212222212221112222212121122211111212121111212211222211121112112222121121212222111122212212221221122112121122212212211122112112111111111211111121111112112122211221122111121221212121112122211112212121222222222122212112211111211112211121211111121121221121221211212222222112212211212211221222122221222122112121212221211122222112121211111212122222122111221121211112122122112122111222112211221221111211222112212112211122222121211221222111211212212111221211111121122122211112212112122212211212121112111211221111222211122121111112221222221111121211221122122111211122122112122112212221212121121111222221122221212112211222122112221122211111212222211121121111211222111122112121121121111211222111111221222222112122211112211212121112212211121212222222212222212111111211221121122121111121211112122222111122112211122211211112221121211211222112112211122221112122112121111111111212111111222211111112121212122111211112221121111222121111222121211122111111222121211222221222122122121222121122222221222112121121111111121212111112121221212212211212212121122221221111112111121211112122112212211121212122121222112211212221222122121211222211122222222111212121122111112111121221211112122122222121112221112212112122222111112122112111112211222111112122121111112122122212112122111112211222121222122221212122121211121211222111221222121221212222221111111121221122212111121112212221121222222112111212111212222221211221221122121121111121221221112221111122112121221211112121212112221222111221222121122212122211121222112121122111221121222121122211112211122221121122211222111211111121212211222211211221211122112222222211221122212121112211111212212211222221222122212221112221112111211111121122112112112112222221221222111122112121212121112221122122111211122122212222222211222112212221211211111222121111212222111222122212211111122212211222111211111212211122111211122222121211211212212221222122111211211212222111221112211111212122212122211211211121121212212121111112121212111112122112112121121221121122221112111211221211121112211112222122212212112212121212122121112221112211121112121112222122211111211212121112222112221222212121211121212111221221211122221121211222111121121222221211121122221211122111122111122222122222122221122211121221222222112221222211221121111112212121122111222212121122122111112211121111222111212211221122121212122122111211111222112122222112211121122112121222111222221222111111212212121112222112121112221112112112212112212211221112221122221221122211121222122121221222211121111122211212111212222112222122111122212221122112122212122222222221222122212122122222111111111111112212212111121112211222212222211122112111222211212212111122112222122111212122122222122221212212212221111122122122211122112111211121122111212121212221122112221212122221111211121112111112122111222122112221222111111222112111212212111212111122122121111221221211221122222211221111121122212211222111122112122122112211111112221112122212111112121222122212211212111121121122212111222121222112212122122222222122222122222122221121111111221222222221121112111121121212121112122112121112121211212122212122221111212122222222222222112222122212121111222112211112211112221111111121221212221122111221122122221111222211221211111112211212111222222222121222211222222111221121222122121121112111112111221221221212211111112112122112221112212111122221112121121221221111222211112212112212122211121122112111221112121221212222121222112222221122112111111112112122221122121222212121112221111122212221212112212211222221212212121212121112211112212222121121222121112221211211211211221122221111211122121221221111122112212221121212211112222122222212221122111121211122121121222111222112222221121222112112111121211111112111111221111212211121111112212222212221122212222121112122112112121112222121112222221222222122111111112222211221112221222211112122112112222221221212221212121211112112122122211221212212211222222122121121121122212212112121211121121112121112112111221112222121212212122222122211112122112112122221111212121121221111211121112211222121111112222111212111221121222211211221122121111222221212112112121111111212222111121221211111121221212112121221221111211122221222112222122221212112222211111211211212122122112222121121222111121222212212112222121211211121221222111221221122212121111112121112122111121122112211122212122112222112212112222122221222222112121112121221111222121212221212122221222221111112121121121112112121111112122121222222211211211212112112121211111122222112112112122221112112222111211211222211121222111212121112122222121111121221222222122221211121212222211212212211111211211212112122122211211211111122221121122121112222112222221122121212222122112221221122211222121121111112122221111121222112112121121122221212111211111211211212212211221112112221221211111212221211112121111112222112221122112221212122222122221211211122122112111121212212111121122222211221221221221121111212121222111111121121111222111121122221111221221211122122111122211111212111112222212221211222222121122122112221211112112121122122111222111221211112222122222121211111121211221122212112222122112221222211112222222211122121212221222211112211112121212121222122221212212212221211112122211121112221111221111221222121222211221221212121122212111122222121212222212211112122212211111222212112112121222112122112111222112211121112111212211211122212122212111122111112121212121122212222122121212121112211222112221211121112222111111122122222112111112221112211122111111221212111122211221222211212122111222211212222122212121211121221212111122111222221112211211111111212212112122112111122111212111112222221221221121211212211121212221221112222112211112221121221111112121121211122211222112111122221212221222211121111212221211121121211122211112111222121222211221121111212121221112111122112112212211121122122212112112212121211121121222122222211221211211121212112222121122211112211222222112221111212121111122221212111222221122211112112212112121211121121222212212111111112111222221111222111212221211111122121111121212211222112122212122122121221122111212122222122211211121212112211212221111212212211212221212221112122211212212112211122111112222122112121121122112222122112221222212222121212212221121111211222212222122122111211122222111121121222112121121221221111111112121222221121222221111112212112111222211111112221212111121122222212212122212211112211211221112112222121212122112122121122212112121222221122112111212122111222121121212122221221222221121211211122221211122121211222222211121111121121221221222111211212111211212111212222211212112222112121222212111211211121221211122221112212211211111122122211121212211112211112112111221111122112121111122212112212221212212111121121112211122212112211221211111121211121211212112211111211122222121221122112111211121121112111112112112122122122121211212212222121212122112222211211112212211121222221121212212122111111221211221111122121211221221112121111121121111122122112112222222222222112211212121222221112222222222212112221112212212122221112221111211111112221211122222122121111212221211112221111122122211211211211121122121211122222122122222121221112222221121221211211211211222111221111211122212211112111111221121222212221221211221222121111211211211211112221112122222122122111221121111112112211212111211212221211111112112111112221212122222221211121111222121111111112121221112112211111112212121121211212211112212212221212121222222212122121111222212222222122111122122122211111111212122121211221212212112112112221111222111122222221122221211122222212122221112211111121221111112111112122221122111212112121221221222221121111121121222222211221211112221122212111122121211212121111211122211221212112222221122122122211212122222112121122212222112111222112111112221211222211221211122111222222112222111211111221112121112212211121111222222112211111121222112212112211221211122122212221212122112221121212122212121111111111212111221122122221221112222122111212211212121121111122221222212112112221122121222111221212112121121122212211121211111222221212212122112211211221212211222212122211222222211211122111222111211122122112112212222222111112212212112222211211211112112121112112121112122111122121112212211112221111111122121122211212211212122112111112211122211222122222221121221122212221111211222222212121221122122121222121112121111111211221212211122211222112212111211121222212211111121112121212211211112211112222221221211211212222212211221111211221222221222112211112121211211122112222111212121112211221211112211111112221112111111122122221212221112211221121121121112222221111222112222212111222211112121212112211221212211211222111112122222112221111111112122211222111121211111221211111122121212121122112222211211221212211221221222112222212112222112121221122222221112122222211111111112112222222112121211111211121211111122111111122111211122121211222212222121122212222121222222111222221121112211211122122212121122122212212121122221222122111112221221212112122122121122211222111211212222212111111122221212212222222212212211121211122121211211212222212121212121221112221212221121221221112122212122211222121211111111211112222111111222211112121222122121121212222112112211221112111221122212222121121222211212221112221222212212121122122112111212222121222121212122222111111112112212222221222121122221121222221222211122121221222222121122221112212111222212122122121221111212111222111122222112121212221111211111212222221212212212122121211222221212111122121121212221211112211222221111111122222122211222121121221121122122211121112112121222122122221212212122122211111221211122221212221211112211122222222121222111112211211121211221122112111122212121121121211112212112221111111222112212221112111111221112211122211112122211212222212222212121221121121121212222111222222121222211212211221111121222122211221222111211122111121122212211122212212211212221122221222122121212122222122122222212222221211112121221121212211122111111211111121111211121121112112111222122212111212112121111222122122112121221121111112222212112122111221212222122212121112212112121212112211221111211111121111122222111122212121121221111112121112111111111221121222222212112121112221122221212121111121111212111122122222222122211221122222222112221112212211122212111122211112121111111222222121211212111211112121111211122112122222211112212221112221112221212212112112111211221221111221212211222121211112212212112222122121211121122112112122221122221222212112222211222121222112121212211212112122222111211112111211122221112122121121221111212221222111222121222212111121212111212121122212122221212122111121121111112212222211211121121111111212111121211111112222222222221211221221222111112112112211122121121212112212211221121112111221222122212211212212212212222112122211212112212212212122212212222222212112221121211221112221112122111111121112121211221221212211112121221211112222212211222121221112112111121122212211221212211211222221221212111221121221122121212212112122212121211211122221222122121121221212222122121111121111111111222221212221222112111211221122111112222112112112121222222221122211222121122111122211112221221121122112212221112212211122221121211111211121121122211222222111222122222211211122222111122121212121222111122121222212111112122211222212222211222122222222122211111121111212122122112111222121221121221121112122111212112221221222121122122222122112112111121111221212222221211122212222212121112212122211211212121112121121121211222221212112122221221122122122111221122121222122111121212122112211221121121211221211122222111121211211121121111122112121122111112212211121111211221112122112221111122121111211121222221211112121112112221212222112222221222221112112111112111112112221221222112221211211222121121121221211122122111112222111112122211211112122222111122221221122121111112122122222212211122122221221121121112222122112211121121112121221111121122122121111121122112121221221112122212212212112212112211211222122211221212111222221121212221121211211211122221122111222212222221122111222121121122222212122111211212212221121111211222222111111211222112221112111122211212121211111112112221211212111111222111212112222221211221122111212111222111222122121212222212212112211222121222212111221112221111112112222111211211222111212121121112121221112211111211122111112112121111122221112212112111112212212111212112122112112222111112121211121112111211212112121122121112211121121111111212121122222112222211122122111112221222121222221212112121122111112222122121121212221212211111222211121212221121222112122222212221212111122211222111112221211111111212122121222122221221122222211111222221111222212122221212222122221122121211122112121112111212222122221111111221212212212121121212222122111121111111111221112111122111112122212221112212112122211112222112112211212112221222221112222112111222222221211122222212112211212122211111111211211112221112111121111111221112212111122212212222121121112211121121211222211122122112212221111112111111112221122111112111211122112221222111112112212121222212222221211222221122111121212212122222222222121112122222221211111122211212211111122121211111212211212211222222111222221111212111122112122222122221212121122212112221221122212112211212212122122221222122122222221211211112112211212211212222212221122111111222222122121222221111212111212211212112122112111112212221112112121221121112212122111212112111122222212122211222121212211112212221112122111121122221211112121121211111221221211112212112211221122112122211211211112222221211211121211111212121222221212122111111211212122221221111211111211222222121212111221212112121221222221222112111221121121121121112111212122121112122222112222222212211111212111111221222212122221112121222221122112222111212122221122211221211212222221122111221122121112211122111121211122122221121212112211221112121222112221212121111222212221111222222222121111122112222112121222211212221212212112222222112111111122221111121211222212212222122221111111112222212211221221111121112121121211222111121112112112121222221221222122111112112222122212221221211212211121112212111212121211121122111211112121211111221211112221122221121211112221111112221122121111222112212122121221211122211221121222211111212121111211112112211121212111221112222221111212122222122112211112122121121221121122112211212222121112212112122222222112222121212112212122121212122112221221222212211221111121121221111121111222221221121221211211112121111121221221121122212211211211111111122211121121221212121212121211222222221111122221111111121111212122221121112222221222212221121221121212112212111211222221121212212121121112212112121212112221212222221211111122212221221122211112221212221121112212222212122122222112221212211111222222122222212211122211111211121111121221212222211112221221222112121211222221212222211112212121121212212221211211221121211122111222221212212121212111122122222121112222211121222211112111221121212212111222122121222111121221222122112122122111212212122121211122221221112221112212212222221222211221111221222221212111211222222111122121212121212211111212121121211211122212221221111221111122112222221111211121222211112122221112221111121212222211122221222112222222111111122112111121121211122122212222211122222222111121212222221112222112111121112112212222211222122111112111212212212111212121221121122211221211111122122121111122212111112121212211222211122112211221112112221221212121111111122111222212111221121112222122121111121122221222212112111122122211221211122221222121212222121212122211211121111112221121112122221222212222212212111121212212221121111111121112211221211122211111221212121122122122221211111112211111122111212121122221112111122212121112122112221112112221122122222222122211221221221221111221122122222212112221212111211111212122222111112112211112222112221112212121212212121222111122221121111211111212222122121222222121222221222211211112121212121221211112222122211111121112222212111211121122222221212211122112222122111122222222111212221122111212221211212221112221222122122112122222111222121121221111222221211122121222222222122211112122112111211121111112211121212222111121121112211212112211212122122112221222111111211221221212112222121222111121111112222121212212111112212121121221212221111122122112212212221122121121211111112112212121222221112111121222221221121122112121112212211221212221122221112212211222211122211122112221111111221111122212211221212221222121221211111111222121221111221212221111111212212112122212112222122212111212221112211111211111122111122121112122122112121122221222212122222221221112122111112121222111121211112221111212122212212211122221211122112221121121112221222222121111221121112121221112111211222112111121112212221122112212121121212222111211211121212212221211221222112222121111122212112122212121211221122212222222212111212111221122222222111211211222211111112211221122211222111221112121212211211221221222211111221211211222112212121212221121222122222122211121212112112122122221212122112111221112121121111112221111122221222121112222111112212112121111121121112211122122122112212212112122122212212222221222111121121211112122111111111111112212112121121112212111222212222122211212211221122222111121221121221222221222121221111112222122122112111222222212222222121222112222222211222112221111121212211122212122221222212211221122211211112221122222211212212211211222211222222222122211221121212211221212112122111212222212221112212222222111121121112121222112211112211221212121121211122222211222221111121111122221211121111111211112212221121112112111111221112111122121112222221121222111121121112222222211111211212221112221111222121121121212221211212212222111211221222221122221222111122122222111122212211222122221112122211222221121122221221211222112221112121212222122221221121112121122122122211121121111112121222121112112221111121121211222122222222211211222122212221121221112121222111211222112112111121112222212211212121222222221221112212112112211112212221221111111222111211112222212222211211222121111222112121112222111222111211112122211211122111222112221121222222111212111111122221121222211212122212121222122222211212122122222221212121112121222211221211222122211221221222221221111112221122212221222112221212111212222121222222112221221112111112111212211221111211112222122211222121222112212122221212122221121112221112112212111222121222122211212121121222112212221211221222112121121211211221121211211111211222211211122221222221221121121111112121222221112112212112112212221112112111122112122121212212112212111121121211122211121222211112211122111221111122222211222212212221221122222222121122211221112222221112222222222221111221111221112222122111122122221112121212222112112122111212222112122211111211211111222112112122211111121221212122212221121211112122121112222122222211211211121111121222211111122111212222112221212111222212212112121221221212221212122111211112112111122122221112112211222212221111112112221222122212112212112212122222212121121211212122111212211222121112112222112212112222212112222111212121111211111112211112221122112212121111112212112111112111122221111122112211221111211121212221111222112221221212211121222122222222111112212221222221112122222121222211212111212212211112112122222212212221121222221122112111112212112111112121112222112122221111112122222212121212211212222112111222221222111221211122112122212222221112111112112212212211122222112121111112112121211221212112122212122211122222111121112221121121112222221121111212122111212112111122121211121211221222122222212212121111122121111121221222211211212212211221121211111112222221211112222111122222111212221121212112111121122122121221121111212111211211112211222112122112211121112211121122121221111221221122211211212112121211112221122221122112222211121122112122111111122222212212221121122211122222222222122111111212122221111221111222211111112121222211221222121121121212111111221222221222112211211221111222212111221212112111222122222122211212222122222122212112212212211122122222211212122212222111121222112212211211212122221211121111221121211211122222122112221222112221222222112112222112111212112222112121211221121211222111121222212221212222122112121122211221221221122211212121212212112121122212121211111122121122122121211122221222212222222221221222121212122112212112221111222122221111111111112212122221111122122221122112122212112122122112112111221112221121121222221211211212111211121212121112211112122212222222111122122222122222211122122221212112121121111121121222221221112111212122122122221212121211122212212111121222112222221221112221111112111211212222212121122221212111111212221112122121211221211211111111122222121222221222112212121121211112121211221121121212211211111221111121122121122112121211222221111121112112121221111211112112211121122121211212211211121222122121122121212112211222122212121112112221112211221112112112212122211212212121112221121222211221222121211122112221121212212122222121121112121122221111122121211222111221122112222211211212212222121121212221211111212211212111112112222211222111121212212112111211212111221212121211122121122212121111212221122211111211122221221122222121221122222111111212221121111222121222111222111121122211122211122211121211111111212111111112112221122222121122111221121212222222122212221111221211211221112222112212112212112122222212211112212112212211121122221121222212211112112212222222121212221212212212212111211111211211121211121211221212212212221211222212212122121122222121212221121211111112212222211212212211211122111222121221212221121112221121112221211111222112121121222211111211112222212221221121211211111211121222221122221212221111112121111211111221221111112212222121112211122221212122211212221111121112221121122222121122212111112112122221122211122221121222222212222221212111122122111211122212112211221211122111122112211121211111111112121121222211112111111122111221121111221111212121212222222212212112221222122111121111222122212111122121121122221112221111211112212211122211122222122111221111112122222111112211212211112212111212122111121111222211221211221222121122212121111221111122112112122121222212112211212211221112111222112212122121121121211211211122121121212212121111112121111122211211221211221211211221221122112111221211112121121121112111121222212211212122111221112112111221121212112121212112122221111211212122111112122222112112212121111221122122221212112221111212221112122111221211122222212222211221222222111222122121121211112111121221212211112122111221221112212111221111111211222221212121122112121212222211112222121112211221122212111122212221121111121112122122112111121112221122212112122211112212122221121221112122222122121121122121212112121122111222122121221111212111222211111111112121111212121112112221111222121222122111212212112112211112222222212122212222121222121112112121122212111221121111121121121112122212221211111222111212122121122211221222211121111212111222122222111122111122221222112121222121121211111122111111211222211211221211222212211211221122121221112121212121222121212111212111222222112222221112112112121111212112122121121121222122221112221211111122222111222111121122121112222111211122222111121121221212112122122221121122111221212222111121112111112122221222111122121112221122121221111121221212221122221111111111211222122121221111221211121212211111222111212221122222122112112112122211122211212212212122212111221222122211211112112121112121111122212212222122222121221111121111221212111221212211211111211122222222211222212121122111122121112211122222121222212211112121211122212222111112121112112212222211212222212112221121211111112221112122122112222212122121121122221121112221122111112112212212112221212222121211212212222111122111221221221222122111221212222221121211211221121212222111112222211111112222211112122222121222222122121221211112222111112122121211122211212122121111112212112222121121211211222111211221222121212211122222212212211222111112112222221222211111111112122122121221211121221221112122122211111221122211112121212211212211221221222122122222212221112111121222221221122222211211111112221211221111221221212221121211111221111122212111122212221111211121121122121221222222112221111122221112121212221121121112122221111222211112111212211211221222222122122122212112222212211222121121112121221212222111112112211112112112222121112212212221211122121221222211221112121212221222121222212122211112212112221222222212211112211121122121211221222111122122111122211112212122111222221122122122211122111212122211112221221221122211211212221222121221222112222111112111112211112222111121121221211121212122112222222221222122121111121112222121121121211222211221221121222211121222221221111221112222112111212111211212111221112121222111222211221112112211121122112122221111112211221212221212222112222222122112222111111111112211221112121221112111112121121211121121122222111211221112212112121112111222122112112211112121211121121222222122121121221212122221222121111222211111111211122111221212222121111221221211112122121112112221112222121111121112112221211122222221122211222121122112111121221122122112121211122212122122112111222211221111221122211112211121122111111221211111111211121112212222122211212222222111121211111211122121122122122121122111122222221112111111111212111121212111211122221111112111111222112121221222222212212221111111212112121121211211221212221112211221221211112211212221112222111111212112211212112211111121111122122112222121211112211221111112222222112212211222212121111111122221222222222212122211221222122112111111121121222212211212212122122121212211112211222221222121122122221221211121212121211212212121122111222221112121111121222112212212122222222122112221212212212222112222122211121122212222221122122111121211221121221221212212222212221211211221212221221222221121121122122212212121112121221212221111122112112122212111112122121211211212111112122121111221212212112111211122112211222111211111122121122221111211121222222211122221122212122122111121222111221112222222122211112212221221111221121211221212122222222212112111112112211222121111121212212222112111212122121122122121121222211211212112112222122221212221222121222112221222121122112111112211211211122112222121111121212222221222221222111111122122112122221221222221222121211121212121211111111112111211121222221122122211122221112121122122121222222222221112222221221211212121212221212121112222221211112222112122211211222211111122221221122112112112112212111111212221221212212211121212221122112121222112111122121122122211111112112121122122212111122112222211211122222122221222212122221211222122121112211111211222212112212121211212211221112111221111112221112212211221121122121221211122211211211221111111211222112121211212112122222221122211221122111121222112121211122221212112211221212122222212121212121211121212221212221212111222211122212222222222121211222212111111121122222112112212211112221221221211122222221111222121211211211212221211212212211212112122122112212222121221122122111111121121122111121112221112222221112111222122212221121212111111112112122222122221212122111212222122221122221221211222221211111222212112222121212111121212121221212222121112222221222122121112122222112211211111211212222122122112121221221211221122222221111111121122212121212112111121121222222222212212211211122111212211211121211111212221212221111222121112111222121221122112222122211112121111221212112221121212111211122121211111121211212122121222122121111121221221122111211112121222111211121112212121112222212222221121212111111122212222212221122112112211111221212212122111211221222122112211122121211221121222212211111222121121222211122112222212222221122112122221212212121211222211121111121122111222112211221112111211211221111222211111111212211211122212111112212221121122211211121211112111222221211121121121211122111111222212121111222221211112212121112121122221222112111221121112222112111121222212212112121121222211212212121121211212212122122212111222221111122212222111112111222212112222112122212221121211111222122122212221222221122111122221211212122111222122212111122211122211212211121111121111112112212112222212121112122121222111112121211212121212212212121112212112122122221112111222112121221122111211221121122211212221111221122212111221112222112122122112221111121222211212121211212122122222221211211121221211221112211121222221211121121112211222122222122112122121112121221112122111122122111211222111222121222222122212111121222222111211111211121112121121121122111212222221111212122121222112121122112222112111122211221111111111221112221221211112211112112122112222221121112121211112211211212111122111112221211111111122112212112121222111221121112211222222212211121121221221122121111221112221111222111212221112111121121212221211121211122221122211121212222222121221111211111211112221111122212122221121121122221222121111121211222111222122221121121221121211111121211221221111212112221211122212122211121112221112212111212211122221112112121221122122121122212112222221112221212211112111112212212222222212221111222112222221122121111112122111211222121121212122222211212121212111122221122122222112212121212211212211112212122112112122111212112212211122212211211111111222112122212211111111112211221122221221212211121222112221122221222121111221211111112222111212211122221112222111122111122212221211122111221112222222111122111121122212111222121221121111222112222122111212212121221221222212112211111211112212111121111112121121121121221121212221212121211121222112112211222112221221211212212122222122221122121221221111121212122212212212211122221221112211222121212211212122212122211112221221222112112112111221222111212222221122222211122111222112122222121111221222111211221221122222121212121211212121112111212112212212112221111212112111211122112222221121221221212221111222212112221212121121112111211111112221212121211222221112212221111222111122221111222111212122121212221121121111122111121221111212111211121221121211121111112121212122222112111122211111112212222222121122111121111212112122112212121122221122112221221211121122211112121112112221111122221111121221112212121221221112121111221212221211222222111221112212122221112222211111121211221222122112121221212221222221222112112122221212121211122121212121122112221121122122211121111211111121111211122212121222112221212111222212111111121212111222112221211121112212122222221122211211212221112222212121111112211122121122211221111222111211112111112122112122112111211121111211112211121122122212122112122212221221121112122122212111211211122222122221212212111112121211211121221111122221222122122122221112111221212112211112212112122221211122212211111121222121211212212221111121222111222121122112212122221212122211111121211121111222212211111211212121221112121122212111122112122212222121111222121121211122211212122121222112211112221212221212122211111122211112211122112112112222112122122111121112121111222122122111211212112221222112121111122112221111111221222111121211122222211122221212112121111212222122111221221212112222212211112212111222121122212122222222121212112112111121211211211111211111121112111112212111121211211122122111211112222212121112222111122221111211111212121221212122111122122111212212212122221122121211111212121122211222221211112211221222212112111212121121122122112222222112221111221112212112211212111222221111121121221111221122111222221212111111212111121112112222122212112221221211121122221221122222112221111112221222212222112122122212211112221212112122211111122111212211121212111222122111121122222111112212221111111111112111211111211211112212121111222222212112122121221222222111122222122121212122112122221221122122212112211112121122211211112122121111122222221121122112212121122222222121221111111112222112111121221222212221111122122211222122221111122211211221212111121212111212122121222221122121121112212221122212221212112122122212212112222212212211222212121122112122211121212212212122112121222211121112111211222122222222112212211211211211221212211211111112221222112211212122122221221211221122221211111222211121111221222222222112112221211111222212221112112111221122111211111122111211121212122221121212121121221211211111222222222122122222121212111221221211121222212211221221222121122112122211222221111121211122111112221121221112212122211221212222222121212211221221221212122221111122112121112212112222212221212212222222211111221222211121211221111111122122121212112112111212112111222112121211122111211111222211211111122211222112211212112211211112112121212211122221222211112112122111222111121122212121211211111112121121221211221112221121221211112211211111221121121221121122122222212212221121211112212121222222211111211122211111112122112211112112122212222221212222211212212112222222122211212122112222112112212121112112112122211211222221111212122122221111111122212111111221122112221111111222222222212211122212211122112112222211112111112222111112222121111112212221211121111122221111112111112212121111111111122211122221111212221211211211222222222122211221112212211121221122112221222221111121112221212121221122222112222122122121111112222121122112121212212211221211122121121122112121111212222212221112212211121212211211222121111121111122121211221212112121112222212111222122222212111122221222111222122212122112211212121211211221212112121121222212212222121112212221212122212222112121111112111122112222211122222222212221212212221112221222211212112122112111222211221222212211221121221212211221122211122212222111221222222221122121111122212221121211111212221121221212222121222212111111211222212112121111121111112111121211111211121221212222212112121221221211121221221121221122211122121111112211211121122112212222222212111222122122222111112122221111212122122212111112212222121112221111221112121212222121211221112122211212111221211211212211111212212211122211212221111122122211122211212111222222222121221212121121221122111111121211121222122211211111222111112212122122212221212222212212211121222112211212222222211112212121111221121121212112212121112211222122112122212111211111112221122212111121112111122121112111111221121221212111121111212222221111212221211222221121111211112212211122112212211212212121212122211221221122121112222211112222112121122121122222111121222211211111122221212222122121211121112112121212111122112221212221221111112212212212121212222212221221221211121221211111221221122111222212111112121121111211112212121221121222212222111111122221111121111222222112211122211222122112122112211121211222211212211221122211222211222112112112211121222211122222111121121111212211222212111221211211111122221121212121211112222211212221221212222121212221211212212211221221111222212121222221222112212112122112212112212121211211222221211122112222212111212111121212112111122211221212122211221221221122122112212221222112121221212221111211112222222112121122111111211211212222211111221112122122212111211122212121211212222112121122121112221112221212121121222112221111112122112221211221211221112112112111211111121221121122112211211111211111121112111212122221212222112121121211211122122122222212212211121221112211212112112111112221121111211121212122211221112222222221212111121112221121122221111112211221121211221222212111112121212211121111122211111211122121121212111211221211111111112222212212111222211212211111212212211211122221221121111211111122111221222121111211111222121111221222121221111212122222111122122111211222222212111212122121122211121122121212112122112222212112221111111112121221122121112221221221222122222111222111111112111122222222112112122112221122122121222122221112221112112221111222222111122111121112211221211221122221121122212111212211121111122121222111111211121221212112222222221121122112221211121211112122112212222212212111121222221111112221111111221211222222111221112112211221221122111121111112111111222121112221211121111211111222211222112211211122122211211211212111121222212112111121211121221221112212111221221121122222222111111222221222221111211212111211221111222221221111222122222112112111221112222121112121122121111222222111112222121221122221212222222122222112212221121211222211122112221222121111221121112221122112111122222211221222222212121222122222222221112211121112122221111222211221112121211111211211221222121121122222211211112122212111212221211212222212221121211221112212221111111211112112111122212222222121212211222111111211222211122121112212111222212222122112211212111222121121122111111112122111212112222211111112111112211112211121221221212122211122112111112221211121222122111111112211122122211222222221112111211211111211211111112212111211212212122222221222221111221212122121112111121112212121121121112211121212121111212111222221222212222121111122221112122222212121121212122212122212122212221111212221122211111112111221111212121222222122111212221212122211221221211121212211122111112212222222111211222121222111212212211121112221221211121111222111112221211221111212122212212111211111112121122221222212211222112222221112221122222222112111111212112211122211121212211111121221122121221222211111221212121221112112212212222211111122222111211221121212121111222121121222121122122222221111111212122211222222112212122212211211122222111122211121211212121212121122121211222121121111212122111212122111111211121122212211212111122121121221122211212111112111221212221121121111212212121222222221112211222221112122222121211222111222212121121222222221112112222111111212112212212221122212221111211111221122221221211121111122122111211211211211211112112221122121122122211121111112121121212121212122222112122211212212112122222221212222222112222111122112112222211112121111112211111111111111222121112221112221111211211122111111211222111211121111121122211212122122222211111211122222212212222112221211212221122122111222112212122222122111122221212222212222121122221112122221111111121222211211121222212221121212122211221222122111112111222111212112111222212121111112112221212122121212121122121212111222212212211122222211222211221122121112112122111222112211121222112211221212212121121212211221212222211222122122121221121111112112212222222112122111211121212222212112222111122211211221121222222211112211211212112211121222221112221121112222211112211122221112212212212121112122212121111121221211112121222111121211111122221212121111212222122211212222221121222212122121222222121211121222112221221221211212211221112122121222221122221211221221221111212222122211112211122221112222222111221111221121121211112211121112222122221222211211111112222211111122222221221111121112122111222211121122222221221122212212121221211122112222112212121111212221212211221221112121222111122222122211211222122122122211111222111221211211222121111121121211111111221122222211111111112112111121221122222221122121222112211212212121221212122121212121112221122111212221212121211221212112222112211112211211121111112121122121221111212122112111112121221121112221121211222121222211112212211112222211122211121222112122221122112222122112222122211222211211212211121122212211121121222112221121111221112221221211122211211122221221121222111211222222222112212212112211111221122122112212122121221212211121121222221111221222112221212111221121221221111111112221121121111222111221211112122112211221121211221111212122122121221221122122112112222212212212211211121212111111122212221212221122222121222122212222211222222211112121122111122122212211221212211211212221221111111211211121211212111211112221222211112221111122112122121212212111211221211222212221122121122111112122212112122122212121121212222112121212112221112211211211221221112212222221221212121212212122212211221211112122112222221122212111121112222211212122111212121212222111112212112121112211112212111112121221222212122222111111211122111112211211112212122222112121111212222212222121121111212212211111222222111222112112121111112121212212212221221121211222221112221112112122211121121111212221122112121111122122221122222222222122122222211112112212211211121111112221111212111121122122222211122112211221221211112222111111121121111122221112221111212112121122212211211112112221212221112222122122111222212211121212111212121211212122112112211211112221222121221212212222121121222221221122121222111121121122111112111111211221122211122222121122212111111121221121121221111222211111111111212111221122122222221211112212221112122112111112121212112112211222121211211221122211121221222121222212211222111222111211111212221121221111222122211212111211111121212122211112222221121222112122112222122221122122122121222111111112111222112221212221211221222112112112122211222212222211112121221222222221122221122211111121121121112122212122112112221111122111221112122121121221222221222122112111221221121211212112112121211122211122122111121211122212121222112122121112112122111121212111121222111222121122111111122121221221121212122222121211211121221212222221212222221221212112121121211212212122122122222121211212122211122222111122222121121122121112111112211221111111221122111211112121121211222221112122112121222222211211121121222121212121111222222122211111221112212211221112211212111122222212212212122122212221122122111112112122112211211222121112222111211221121122222121212121222211212222121121121121211112122221221211111222122212212211112211112121222221121222112121211212112221121121212211122112221212221222112122211222111121121111212222222221222112222112212211222111222112111221121212212222222121222122222211211222221122112211212212121211211122112122122222211111121211121221222121111122122111212112212122122211221221211111211121221211121211112212111112221222111111211121112121122211122211112222211212111121221111122212212122221222221221112222122212221112122211121212212121221112121212222111211112112212211212221121122111222121121122222211122122212121222121222222212212222211122121211211112112112211211111112222221122222122222212112122111122111121122121222121221211111112221122212222122212222121112211112111222111121221121111111221221122112211222221212212222111212122121211122222212222212211122212212112111122112121212222112121222112121221212212211221111221112121212222212121111122111112222211112222121111121221212212212212221112212112222222221211121222222111221112122111121112112221112112122121212111211112222211121212211212122222122122111211211121212222211121212222222212221121212221212121222112122221121121222212112122222121111122122211112211221111112121121222222212112221121122122212111212222222221222122221211221221112112222221122121121121111211221112122122112211222212122211122222222112122122112112211221122212212121212122121211111121112212222112212211121111221222122212212111222221222121112211212221111221211112111111212211211121121121121211212211122121122211112121222111111112112222221211112121122222222122121222111211212222112212222222222212111222112121121211111121221211221221111211122122111221221122122122222212211222121211211211121122212122211221211222222222221112211221111121221121111221221211122211121212111112222111121122111221121222222112212212222212222221111221211121121221121122111112121121211112212211212221221211122211111211221221212221222211112221221111221212122121112121222122212211111112111121111212212221121222221122212122111122112221222122222221221222111112212211111222121222212221212221221221121211222111111211221222212122212211122212221121212212211121221211121222212112212221222222211222222121211112121122222122112111122222211122111121211211212121222122121121111222122212111221211211121221222112111112221111121211212222111222211122111222112211122222221111111212111121211222121112111211211222212212221211222121111212111222111222222111222211211222122111122122121111212221111212112112122211111211111111222122212212122222212122111111112122222221212222221111122222211111211122211122121112111111111112212111211222221112111221211211121212122221121121112122122211122111122212122112212211212122221112121111211121211122111212222111122211211222122212112211211121221221112212111222211112211112112111112112222111211212222222211111112121222222122222211112212122222222121112122221111112111121122111211211121121112111111121222211111222121122111222212122212121212111221122121121111122221121212222112221211112221121212222121122121122122211112222211221121211221212221212121222111111121222221211121111111122211212112122212211221122111111222211222121212222111111111121122111112221112121222122221122221221221112112222221112212112112221221122221222122222121212222111122212111211211122211212112222221222221112111222111222121212222122222112211111111111222112222221211211112122121112221111221111112111121222122211212112111211111211112121121111112111222121211221221211222121221221222212211221122112121211112222111222112222121211112221112221222111221121111221211221121222122121111112212112222211212121111212222211212222212122221222121222121122222221222211222111122212122221211211122112122222122122222121121121112212112211122221222222222221211222122212211111221221222222221211221221121211121221221122221222221222121212122112222222112121222111221212212221222221111211221221221212121222121111221112211121221111222222222122221222212111112211211112222111122111211211122221221111121111221222121212122121211211221221111121222121222111221222111211112111121222122211212121111111112221221111121212122222212122112212111111222122212112221122121211222121111111122112221122121112211111211221121221112121111122112222212111221112121121212211221111221222222211111112122121112121212212122112212111212211121121221121221222222212112222222222221122111121211211122111221212221211211211122112212222121112121211211211221111222111122212222212212222121122212111221111221211111122111212121122111212112121112111221112221121212111221112222122222122111221111211112211111122111211112221211121222112221221222121121112222221212112222121211111212122121111222211221212211222221121122122122112112212221122212112121212111112212211222222222211121122222112112111211112122221122122212221112211122212111211111212121222121121121112121121212112211111121112211122122221112212221112112211212212111211111121212121211122221212222221122211122211211122112221112121212212222111221111221112221222112121212212221121212111212211111211221122221212211221112212222212211112221111211111111211112111222222111211221122222121121112121121122221111121121112221222221211111222221211211221121111111112212211221112211122221211212222221121211211112211221111111222222112121212212211112221221112211221212112121121121112121121211122212121121121121111122122222111111121122222221122212122211211222112221112221211122212121221222211222111211122211222121122122122112112122121122121121211211112111111111211222112111222122111222121222212122211122112221211222211111111212212111221112221221112212112212211112222222111211121121122122221211121221121222211111222221221111222211112211111111122121122211212221112121221111112211212121112211222122122222221122212111222221122112112111121111211112111221211211112222212112122121212222122222112121211221211212121122121222212122222212122211112122122112122211212111222121121212112222121221212212122221112212122121222121222222221121111222211221122122212111121222111121221112212112211122121211122221222212222111112122212211212122122222221221122121221211221112121212121121221112211211111211122211122122221111111211121211221212212122121111111211122221212122222222212221111121121221211112221221211122212112221222211211211212222122211221221111221221221121211221222211211222121211112222212121211122212222212122222222111111211211221221222111211121122212122122112211112122121211122111212222112222211221121222211111112112221121211121111121121111212221222112112222222111222111121122221121221112122221111212112111122222212111221221212121221121222111211211111211122212112122111212222222221222212212222112111211111122221112211212122211212121121122211112211111121211211211212212222112211222122211222221211121221211121121212111211121211211121122121222121111211212111212221222111121121112111121121122111112122211121222122212211111121111111222112212111111222111111212122121111211212212112121212222122221121222112122121211122222211212221221221222212212221211112211122221221212222212122111222122122222222121222222222222122221111122111221222121111111211211111121121112221211211211212221112221122212112112222222212212121211122112111111222221222122222122121221212121221222221122211112111111112211122122111122221221221112211221111111222222111211211121221121221222122212112111221221111212222212221112111121212122122211211122111211211121221121112122211122222122211122111222122121112222112221121221211222112221111111222212112222122112221111121122212121222221121121221222221222221111221222121111112211112112121112221212112122121122121222122112121222221112111212111121112222211112221112122221222221112112222112122112221212121111212211221112121222222111121121212111221122222212222121222121111121111111112111212212212212211112112111112121112121212121122111111122211222112121211222222121121222211222112221122111221212121221112112112221221212122221111212121211122221211221122121212211211112112212111221121122222212212212112222111111221211221111121211111111221121222111122111111112212212111222122211212111222222122222222111212212212111122121212211212122212221112222212221111222122222122111121111121212121122211221222121122122211222222222121211121111111211111211222211112221112222122211121212112212221211112122211121111221222221111112221212211221122121111222112122122212212211121222212212222121222222212122222112112112212221122212121112121111112211222122112122212212121211211222111122112211121212222212212121121111222122211111111121222121111221222212112122121112221212212211211111222112122211122121122221212212111111122211222121212121221221122111111112112212121121222111222111112221211211111212212121111211111212111122211212122121111221122211222112122122112211121121211211211211121122112211121122221122222112111222222211111212222121212122212212112212122211121212221122212222222222221221221121212221112121111211112222222212212221221221111221212121222121211121212112211112111211212211112221111211221111112111221121211111121221212221121221222211122211221121222122122212122112121221221221221211121221122221111212122222121121121212221212111121221122111112222221112111122122212222212121221111121112211221222222221122211212111112111121112111112212211222222222111112211222112121222221211212222222121211221112122122122122122211121122221211211221121221212211212222121211211111212212111222211222211121112211211112212212221211212122211122212212222211221222122221121122121212222221212211122211221222112121112121122211122122221122222112122221111122122111222121221121212112221111122111222211211212222212122111121212112211212111211221122112222121111111212222211222112121221122212211211211221111121112121111222122122222111221121212121211222121121221111211221112212211221122111111221222222222121122221121122112112121212112221221211122221112221112221211212221212121221221222211221121222221121122211122121212212122222221111211112211122222212221121221121222122111211222121222121111122112121122121212112121222212111111221221122222211212111222212211112112111211121222112212121111221111121122212111211111212211222211212211211122112111222121111111112212222121112121111112112121211211122221122112211121211122121111212212111112112121212211211222222112122112212211111211222111211111122112122211212122122212122112111221211211212211221222212212111212211122211121112222122211112112212222111222122112111212121211212111122122211112221112211221222222121212111122112222112221211112112222111111112121121122122122211121112122222111222122111121112222112222221222222111222112112212122212212222211121222121212212111121122221222221221212112222211222221121212222222112112111121212212221211222222211212212212112222222111221221122122222212112111111211222111122222112122222112121112221221221221122111121122112112111222222211122212221211111122222112211211111111122221211122211211212221211122212121112122122212212111211222222112212111111122221212111122221122122122222222112222222121212121122121212222121212121122111112112121122221122111221122121211112222112211222212112121111122121222111222211111221221221121122221222221222122221121111111112112112222112111211222121211212212111212222111212121111122111112222112111122112112221211112212122211221121222211212212122122122221121111222212212211211121111222112111122112221111112212111221122211122222221111222122112211111222211112221211212222121211222222221111112221121222112111212221111122222111121112221212211211211122121122211222212122222122122212212211122211122112112221212111121212211211212221222212212121211222211111212111112111122221212212121222212111112122112211121221112211221112212211121121121121112222212212211112111122122222121221221122211222112122222111121221212121122112111212211212122111211222111111111221112122222222112122112221211212212112222221121112221121221212121221211112121122221122211122111122222121211211112121222221211122212222111112121221222121222121122221211112112212211222111212212222211222122221222212112212211121221222212211212121212112211112122122212121112111221122111112122112212221121222221112212111112221121121121122211222221212121122122221122211112211222122121121112222121122222121222121111112221211212212122121222112212111111212212211222121211121222212212111222122111212221222111222121221222122222121111221211121112211121121122212112221122212211111122112222121111221122111211222122221221111212111212211221112211221222121221112221122212211112211222121121221221212121211211111121221222121121112122221221112112122121221112222211121221121111121122122112111111122211121121112122211212212222222212221222221212222221122212112112112222211121222221111212122121222111111121222121222111111121121111121211112122122111122122221211111121121122212122211211212212222121212122112222211221121212212112111121221112121211122122112221122112211222122111212111211111122211222222111222212121212211112221221211212222112112112111121212121221221222111111112212111111222121111212211122222121222122122212211122122222221111122111212111221222111211221122121122221122222222111121121122222121212211221212111112221222211211121122222112112221112222222212112212212221122112122121111222222222222222112122211222121212122222212211122222112221111112111211212112111121111111112212111122222111122112212111212221222221222212222221111221121112222222212222222111121211222122211222112122121112121212112122111111211212212212121222121222221221122222211112122221112222111121212121122222112222211112221111111212221111211112121122121221121112112111211222221222212222122211112212111212111111121122221111112221111221221111222221221211121212122112212222121111221211111111112211111121222122222122212121121212221221121122122121222112222212221112222211212222122122221221212221212112111112122222121111122222222211212222221222211222222222211112121211122222211112121111112222111122112112112122221221221111121111211122122111122122222211222112211111221211212212221211221111221211222211111112211222222111111211121122122112121211111121212212112112211222212121211211122221112211222212122111211121212112222111112112121211122221212212211121211222212112112222121222211122122122121212121112111212222112221122222211111221211222112112112121212121122112221212122122221111212222222121111112112122121122221222222112111211122212112222212122212221122211221212121111112111212222122222121111212211222111222121212112121111221121212112222212122212212112221111221211222111112211112221211122211212211221212222221212111222222222112111212212222211211111121121212112122221121111122111211221122211212122212112221122211112122121221212111212112221212122121111121221212112222111221111211221211111112122211111111112122222212211211111122121212111111212221121221111221122112121212111221121111212212211111122112111122211111222122212112121212121122121121111111111221211211122222121122222121111112221222211122122121212212222212212122122122212112211121212211121212111222221211111121122222122121211121111221112121121222121121211222122122121111221111112212222112122221122222212111221212111111221221212122222222112221122212221221122212222221212121122122112211122221221121111212111212211212121222211211111121122222222222111121121112122112111121112222222122221221222122211221221121112112121212211222112122222112122222112222222222212211221222121222112121122212111221112222112112212222211222121221212222211121111211212221212122212112212212211222211121112221112211221211221111222122211221122122111212212212112111122221222212121212211212122221222222121212112121122111122122122121221221121212212122122211221112211121112212111112111112111221122211221212121211211111122121211212212222122211222111212211211212112121111112111112212122121112112211112212212212212211222212111211112211111221222212112211112122121222211111221122121111212221211212122221111221122112122222212222211111112121212211111212122111112111111211111211221112111211111112122212211211122221122112211121122222111122122222222121111121122211211111121222221121222112122212221222112121222222212122112121112121112211112212211122111221122122221222121222122122212211111122221111111212122221211211122122111212222212111111121111212222211121211212111121111212221122111122221211212221122211222111222212122112211122122121112222121112121222211121111221112112211112211111111221212122222122221212222211121122112111211221112121212221221121222212111212121111211221112221211122221122211212212222222221122122122212222122212212112212111211111111222112221222121121212121121211122212122121222121122222222222111112112222212212221221211222211112122211221112112221212222112212121212121121122211121111222121222112121222222212112212111111211221221111211221211111122111121212122112112222122222212222122121221211211112122221122222112122211211122211212212211122222121221112122211122112211112122222111221212211112221222211222212121111112211122221111122121111121112211221111221212221222111221121211222122212122211112221112222121121122122211121221112122121112211211121212211222221112222122111222211111212221222222222212212211121112112112111222221221221111112111211211212211111211212111112222112112221121122221122122222211221112211121221111211112122221222121111221211221222122121122222222122221112122222112111112111112212221121111212212222222111212111222212111222211122121112222121121111212112112221222212221111121122121211112212111112122111211211122111112111111111221222221112121212222222112211222211221212121111211221222112212112211122122122212212122111221122221112121122111111121112212221122112211111222121121211112121221222121121111112122212212122212122112211122122112112211111111112211212112121111112221212222121222221211222111121121221112112122211111222121121111222112221122211122221221211211122111111111122111221211222221111211111121121112222212211122222212221112212121112121212121212211122111212112111211212222121111222121112221122212211222212222222111122122121121121122221121112122221122111122112111211212121211221211221222211122221122112221121111121222222221222211211222121212211212112122221221111211111121112211212211212211121122111211111212211212111121111112112112112121112122121211211121111221221112121212112121122122111212122222122112111211212112112211221222222122122121221212211111121222211212221222122121222121111211222211121122122112112112122121211211221211112221122122122222111122222211222111121221212111212122211212221121121122222122211122122212111212221211221221112222122121222112212212211122122221112121112222112121212111212222121222112212211222211222222121122112111121222121212222211112112222212212112121122212112211221111121212221111122212222111111112111222121122221121222222222211111111111221211112211122212111111111221122221121222211112121222121212111212222211111112211212121122211212222221112122221122211221112211222222111211112111222111121121122222222111212111121222212221112221211222111121221112222111212222222121112211111122211121112122122221111222121221121212111111212121222212211111211222122111121122122112221112212211221111121112111121112122221121211212212212112221211111121112121111121122212221111111222211112211221121212121112112121222212222222212121222111111211112121121211221211222122122212112111211212112222122111111212112112211211221111221111112111121111212111121121221221221121121122122222222111211212222122121211111221211121111122112122221122112121222211222111122111222221112222221111121211112111222122221111222121212221221211121111222221122122121221122121221221111212212211121111112122122212221112122111122112212112222222212222112121112222122121212122112221122222121122212222121222211111221212111112111221221212122112121111212211112211212122121222111212221221112112112121212211211111211112221222211111122111122221211222211212212221221211211222121211221121222211122221112111112222221111221112211111112222121212222211111221122212122111122212222221112222121122121211112112211111122211211211222211121121122211212121212211212222111122111122112122221222211121211121221121211211122122211121211112211212111122122212111121212121221212222122121221122121222212211121112111122222221122211111112122212222112111222121221122112221212222212222212212122112212121211221121121121212122122112111212121221222212222222111222212222121222122122121221212221221121221212112112221112212221111111212211212112211221221121112112121222212221222121222221212211221211222121112111121212122112211112121122111222211211122111211122211212121212221222112221211121121122122221112121212121111111122112121222221211222121222112212212112111112211121111111212121122212121211111121211111111221112222121222121211121121111121111111212121112212112111122122221212222211111112211112112221112221121112122212212212222211121222212121212222221212212122112212222212121222221222122211121111111222121112112112121111111212122122112122212112111212222122211222221222211221112112222211211222221211222122121222222111221121112221112222221211222222121122121222222122221222112121211222111112212222212111222222111121221222222212122122221211222122121212121221212112221211222222121111111112122211212111211111221221211122212212112122221112111221122121221121211221122222211121221121212222112222121122221121211111111211211112111211222221111111212111111122112222111211212122122112121111212211211122111212122222122221222211121221221121212121112121212122221122112112112221112211211112112121212212121212122212122211222221211122122222121121121212111121221221221111221221111211222122212211212121212111121112222112121222111222122121121112122211222112212212212222222111212112111112222222211121122112111111212122111112212211222221211211222112211111211212121112212222121212221112121221111122112212211112221122211222221221111122112111121112122221111221221122112121211222212211221222212221211212121211221211112112122121222122112221112211221111112122112222212221212111111122221111112211212221111222222211112211221111112211222122212121221212122112221121222221221212212111222112122221211121222211221112212112221222111221111222211222212111221111121122222222122111211211112121211121221221121112121212112111212212112121211122112221212222222222121121212121121122112122221121222122211121122121221111111112122111212122122112121122122211121112121111221122212211212112112112122221111211221111212111222111222221122222121221122222122222211212211222212222211112121112222222221211111211221212121212212211111222211122221122212212212111112211212121121222211111122212211212112112211212211212211122121122212222222121222121111211121111111122222121111212121222212111111211112122121112122121122121122111212121211122121112121212112221111211211212221111121112111121112112121221212111121211221111112212122122111121121222121122112122111222112221222221222221212221112112222212211121121212111122212121212212122112121121211221122221212212112212211121212222211222221211221121212111222222222112121121111212111112111221121112212122212212222212112211111211211221211211211121222222221222112121211122122112212211222221222112112122112222222212111212112111111212212211112211221111122122122112111222211222121211222222112221222211212112212222111112212121111221212111212222212222211211122211112121212122221112112112121121121122111211222121212211111122121211222121212221112121112221221122221221221211222121121212122221222112221222212111122112221111221212111212121121222221121212221211221222112212111121221211111121221221111221111122222111112221121212212111211212211112122222111211112212122112221112211112121222122221111211111122122111221112211221112122222122221221111121122222212221112221211121111121212212122222111111111122121122112211211121221221211222222112221121112111112222222122121121111122112112222211112221112111212121222212122211112112222122212211121111211121112211122212221122122122122221221222221212111221222212112121122211221121122122221121121121211111211221222211212112211112112222122111122121121222122111112212212111212221222211122211122222212112111121111221112121211121211211211111212212122111222212112112211221121221121121112122112222212212112111212111212121222222221212112212112211111212122221222222122121211111221122122111222211212121112112121222211112121111112211212111222111111112111221221212122121222112212121122122221222211222121222212112221122111122222112121222222211211121111222222222221222122112112222222211221221221222222122212221111222121121212122222112211112112211221212221111111122122211211112122122221112221121111212211211111112111121211222211121221212221121211122121222111111221121211111222221111111122112112122121221111112211111111211221222222112111212212211111122221121111212121111211211111122122112222221122111111112212111221221121221121111222121121212121221121112212221112112221222121121111212121211211112222111111222222122212112121111122212211112221112111222212211111212111221221211222221112212112212222112121211112121112122212222121122121221222122112121221122211212112222122212212111221122222111222121212112212112221222111221212112121122112122121122122222221121222212211112221112122121111221122211121222112122122221121122111112112221111222122222112221111211111121221122111211221121122112221211222212211111222111111112211222221121121212121112221212222221111121112222121112111112111212121222111112112222112212121112121122122222122111122111111121211212212111112211222212222221121121211222222112211211222111211221211212222221121212121221211122121212111111221221112222222122212111211221221111122212122111221222212211122112121122212211212222211111112121212222211222221212211212221221122122112212221222121212121121222212222221211212122221222211212222211212122212222111212212122211122111212212222121122222221222112121121121122121211221122112211122122121122112222221122211111212122112211222121111121212122222222112222121121112111111122222211212122221212212121111212212111122122222111122221222121212122221211211111211212211112112221222222112222122112212222222111111112212211212111112121222211212121211222222221112222112111121121211122112221112111211121112122221221212212221111111121222211111212212121112111122222111112121221222111111122221122122111121121112122211112112221111121122112222122211211221111121212111112111112211222211122222112112112121222121212121222222212112211211121112211211211122112211211222121211111211211221122122211222222112222121112122222121212112122122211121222111122222121111112121212211222121122122221122211111212112111222211222222222112112212112121212212211211112221122121221112222212221122122212112122121221221112222222122112212222212122221122121111212122111211122111111212222212111211212111211122122111212112111211211111221211222121122112121212222112212111111122212212221122221221211121212121121222212222211111212221111222111112212221112212222212222111112221212111121212221111211111221221112212112211122112121212111111112122211121122111221222221122122122111221112211222121122212111221112112222221121112212111122121122222121211212122211222111122221212112111222221211111211212111211222211212121111221212112122121221221112121112222121112221222121112221212112222211221111112111222211112112221121211211222121121111122122122222212222211221112212121221111111221222211212221221221211112112221211222211111212122111111211222212212221221111222221122222121121222221222111121121112121222111222122111111211212222111212222112121211222121212211121211212112111121212122122212122122112211221211111211111121211221121222212112112121222121211221122221222121222122221222211112122121111211111122211112122112121222211222122122221112121121222222121212212122121211211112111111211211121212111222211122212211111211212221221122221221211122222122121121221122221221111212122221221121112122112122211221121221211222222111212222221111221111121111211111221121112112111111121112212212211112221212211122211222111211121111211222212111212222112211112121211212122222222112111221121222221121221111122112222112112212221112222121121111212222212222121112211111112121211221112121121212222212111121222221211121221112211112211122212222121211111112222122222212111212112112212221221222122122122121222122222111222212211112122122221112222112211221111211121212222222112212221112212122121121121122211212221221121122121212121111111212221221221211122211111221122122211212121121222112212121112221221221111111212221221112211121112111211122122222222222212221122121222221122211211222122211111121111212212211122122211121211212121121112211111221212221121221111221111221111222222122211212211112212122111221122112221211221121222212222211112121111212212112222222122121221221221211211121112121112111221121122211122221122211222121212221221112211121121211122112112222112211122122111212122111212212212211122111121212212112122222112122121211212211112112221112222221222212121122211122111112122221111211222212222111111112111111122222111111111112212221111122122122121212122211222122122121211111112112121221121212121221111212121211211122111222221221222111212212211212212112122211222112121112111112222121122212122211112111112221121112222122112122111122112212222221112211112111212212211112221211221121121111212222222222121112112112222112221121221211212122111212112211211212212112221221111121121121112222221211212212211122122211111222222121121112222112112221111112111112212222221111211211122211112111111211111111112121121222122212111212121222221122112211211221222111222211111122112122122221121112112111221122221121222212111122111212112121121221212112122211121112112122211111111212111121111122121111211111222122212121221221221121111122111111122122121121211221221221112212211221212221221221212112222211222212212222222112212122122111221212121212112212221221121211221121122111222111222211212212222221122111121121222222121112121221222122122222211122122121122212121122212222222112211122222212122212222212121211121111121212121121222122211111112222211122211112121222211212111112111111121111212112211221121121122112122111112221122122222212211221222122212212212112211221211212121221121222122211221121121221221222122111121212221212212222222222111212221212122112121221211222222112212211211221221222111122121211212211122112222212122212221212122222121112212111121112121221111211222212111212222111121212211221222222211212211112121221222212222122122222122122221122222112222121212211112121112122212122121121121221111211112221222222211222222212122122211212211112212121122122111221222122121112121122111112211112121222121111111221222211222222111121111222222122121212111211211211111221111111122212112121222212221222211211111112221211122212222121111211211212221111211112222221111211222112221111111212111211122121121221121112222212122112111211111112122211212222211111221122121112112211211112221212122111111211122112122112212211221112122222221111121212212221221211112121211221112222111111222121222111122121112112222212222121221111111211111221212121222221121112111111222222121111222222221122112211111121122212122212221211221112211111221221212221111111112122111222211212121122122112211222122221212111211221122221111112121212221122111112111112112222112122211111111121211112111112221212211211121221112221211112212122221222221112122222211221222211221121121122121121211122221222122111222211222112222111211211222222222121221211221121222122211122122211222122221222122211112112122122111122221222211222122221112111122211222211122112122212222122222222212111112121222121112112121111111121212222222222112221122211112111111212121112111212121222222211222221112212121111221121221111222122221112222122122111111121221111212121112211111121111221221122111122112121121112121121222211112222112121212112211121221111211112122112112212111112212222111111121212222212221212111112121122221122111221221111211112112112111211222212122212112121121112211222222211222112222211222122122221111112221111221112112212212221212111121121121111211221112212222222122122122211111122111222222212111111211111122211112221111122122221121111211121121211211111121112222112212222222222211122222212221222221121212112211122122222211222222221211111111112111111112211221121211112111212211111212122211221222211222112122211222112121222111111122111222211211121221111221122221111122221121112221122122121222111121121222222112111121221112121221211111122112111111121221211122112211221212111211121211122121112111112122112111112212222212121221111122212211111211112211221112211112122122121211211212222212211121122112221211221121211112211221112121111121112111121121111211221212221222121121121211222122111212212212212212211121111211111211212212211111112121121211212111111211121111221222112121112222112221211111112112111122221111111212112121212121212112112221221122122122121212111222121111111221211221212111211212212211211222222211212121111112211112212121211222111112122122221211212221112121121222221111212221111121112112112221122221212111111211221121212111112121112222122211212122112222111221112221122122212111122222212222121112111211122121121212211111112211212222111212211212122112122221121112222211222112111121112112212211111212112211212211221111111211121222112222111211121221221112111121122212121111111222112121122222211122221122221112111121121212222222221212121221122112121121122121112221221211121111211222212122112222121112211222211111222111222111122211112221111111222222212212212222211212121111112112221212211211221211121212112111112111221112222212121121212112122211122211122111111212111112121111212112222112212222112112111211212111122122222122111122211221112112212222221211222112212111121222112121221212121211122212222212112122112121121111122112111212111211111111222122221222122122221211222221111121222122212212112111121121121112221221111221121112111212121222121111121112121211121222211212112212221112112211211221221112212112122221112121111211222122112122111222122212112122122122122112221112112222222112121212222122222212221111111111111222212121111121122111211122121212222211211211221212111222211122111111111112112122121222112111122222121111221212211111211122112222121112112211221211111112221122211111211111111212111111222112121121221212112221121222122211222112222122112221222221111122121212122211221112222112111111212121222221221122122222221222122121211112221112212111221211112222111211211112222211222212221122212121111111211112211122112211112112212121211112222111211111221221212121221211222112222122121111122212211222212112222122221111212111122112221122212212111221221121212121111212111222122222211121221111112121111211121122121221122121112111222112221211112122112212112121122121112212121121121222211221212222212112111111112122121121121211221222212211211121112121112211211212222112211211111111121221221111122112111112222121212111111122122112212121112121221211112112112121121112211112221111211111121221211211222221222121212122121222222221222122121121122212222222222221211211222221122122111122211211211212221122212221122222211222111221112222212221222211112121222221111221121221121122222222221111121212112221222212211212111221221122222122211212112212122221221222111121111112222222222211122122121122211211222122112121222111221212112112211121112222222211211222121112211221212222122211222222112122121221111212122121111111211211122121211122212211221221221111211122221211112221122212211221111221222111212111222222111112121122221212111221111212122122122122121121212122212211222221211221121122212212122221122222122222211122122122112111212221221112112211112221112112112111112111121222212222211111222212221122122221212112211211222222211211122212222222111121122222111211122122111222122221122221211212222111112211122222222221212111112221111221211121121222211122221212122211212111212122112211111111112121222121112222111121121222112122112212211111222221112122212211221121211211121121212122211221122122111121222211212221211212122111122222122222212221111221211222112111111212112111112222221112222222122211221211111212221212121112212222111221212111122211112112211111212121221222212121111221221221112111211112121212222121111222211111222212121222121212112112121112121122121122121111122221211111112122111122112111122122222121111111222222222121121221222212111121112222211211211222221121211211112111111121122112221112221211222121121221112211211212221212212212122111221222212122221221212212111112121221121112212221121221211121222222222111111221112121111122221212122221222122112112111122212112211212112112212121121212212112221122112222121222212111221111111221212211112221221212212211121111221112111212111111211112121211212222111212212211121112221222222112122212211112112212222212221211222111222122121111222222122111222211122121122211111111111211211112212222221111111211121212221121122221211111221112122111222221212121112212212211221211122221222111112121111212221221122212221221121122111112222112112121111212221212221221121111112212112111212111222221122121211122212221122122222212122111111222211121121211212222121121121121221222112221212212211211121112121222221122112122222111112222222211121112121122122212111211212121112112112222121122211212121111122121211222121212121112111122111211121121121111112122112121111211121111112211112212121212222222111222111222222111122111221111121121121212212221212222112221211111211111212222212111222121212111121122212111212112121211222121222111121111112112222112122222121111122122221111121122112121221212122122121112122122221112111121211112121211112112212221221222122221222122111221121222121111122222211212212221222111211212122212121211112212211121121212111211222211121121122121211222111112122122212212221212112121211212112121112112221112111121222112122222211111211112221212111221211122112121112111222122112211212211212112112211221222122211121111222222121111112121111121221112212112222112111221122211221112222212221221221121121212111222221212112211121121122121112212212212111112121121121222212112212212111211111111112222221222122212211222221112121121222221222111111111112121122211211211222122112222211111121112221111112111221221111112222212222121122222221222121112121212222121122211111211122211222222221211121121122121122221121212111221111212221222222112221112122121122211121212112122121211212121111111222121221211212211222222222112221221121221222212122112212211121221122211111211212122112221222112111121211211112221121111212211212211112221121111111221222121111222122122112221122122122111222111211222122112111111111222211111112211211112112211121221221211121122211112221112222121211111212111122222221112221211222222211121112121112211111122112112122111221211122122221122111111121212222221222211211221122121222122211112222222212211221211212122112212112212122221122111212112122212111222222212121212222111221121222212111222112211212111122122121211212111112121222122111122111111112121221111212121122122221121112112221211212212122121111111112212111121221112112212211222121222121112221222121222221221212121211121221112111122221122212211211212212121111111121111111212211121122121122211222122222121212122211121122111222121112211222211222212111122111221121122212222222121211222221111211112112112122111122211112222121221212111221211111111221121122112222111222122112111212212112221221112212122212212112222111122111211221121121122121211222121122222221211222121111211111211211222222121111112211112211121111122221111211112112122221212211222221121221121111222221112121112121211122222212211212221121111221221212211211211211222222221122111212122222121112221222222221121222221122221212221211122212222221112212111212222211222221211212122212222222212111212111111122222121112121121211121212121112212111122221112212112212221211112221211121221122112221212212111222212112211121111111121112111221111222111212212122112112222122112112111212121122111221212122221121121212211212212222122212212121212111121221212111112221111112122211211211211221222111211221211211221222121122221122211111121222122122221112222221111122121111121221211121111121211122212211212211221211222222212112211121111221122212212221121212111112211222211112221211222222111121121112112111212121222112211212211111122222221122111211221121121111212111121212221221222212211212122212221221221211222222112222211112122221111122111211121112212112122122111221112221211111111112212111111112221122122111121222221211221221112112111211211212122221122112122122121121111212111222221112121222111111212121111211211221222122222221222122111212121221221212121222121111111222121112111122211212112112222112221121111112221112222111212222112212211222121111121222221121211222222122121122221111222222122111122212212121222122121221221211221211112121112111212211211121212111221211221112222112121212211211211221222122211221121221221112222111222121222221121221221112111211221211122112222122211121222211122121122221122222212112221221121121111121122121211221112222212212121212221121211221211112212211211111121111222112122222221111112212221111222211212111222222111211221211112212221112221122222211221212121111112221121122221112121211222112212222112121121121212212211112112222221221222121112211112211211211121121121212222121222121211211111112221121111121221122111211211112212111121122211121111121222122222112212121211112212111212211122112121222212211111121212211121112111111112121212112221211111222122122112212211111112221212222122112222121211121122121112221221121121221212121111212222211222111222222122222212122211111212211121222221111211112221221112221211122112222122221222111121211122111221211212211221111222212222222221212221122221121121222111122221212212222121211211212222121212221211112112122221121212222221212212211222211212212112221121212112212112111222211222112111211211221122111211212111222211122212112222121112212212222122122121212111112112121212212221211221111122112111211212122111112222221121121122221222211122212111122121111221221212121211211122211212111122121111211211221211122212211112121112212111121121212211112111112121112222112211121112111112222212121221111211221212221112121211112221122121121222122212122112121122221211221111211121212121122221111221112112212221121212211211111212211112211111122111121112111212221121112112112121112121221112121221112221222211122222121212111121221121222111121112222222222212122211221221211212211221212222222112121222112222222222112122122212112122211122112221211211212222121222222122221111221122222211112112212121122112212122212222222111211221211212112212122122212111112221222122222122212122211212121112121221222221112221221211222122221121221122112211122212221121112211211221122212122222122212121121221221122221222212111211221111221112112222111212221111212122121211112212122112222212222211121112212222111212121111112221222112111221112211111122211222121222112221111121122212111112122212122221222222212122222121122211222221212121111121222211222221111211221212222221121212111122122112212212112222122121221221122111212112122111111121112121222112212112121211112221212111121111211112121211122212222221112122211121222111112111222212112211222121211212221211221111211211221221122111212222221122121222122212221111221111111211112122212222222122211221212211111122222112112122221211212222112211222121121122122211222221221212121112221222212121122122212222211211221122112212112221112112221211221111122121112211121212111222211222211212222212111122212212222112211122112122211212112121111211111211111222122112112211111222212222212211211121122212111121221222111122212112221211111122222112121222121221122211122221112221122212121111212211212212111121211212121121212111211222212111122121112122111112221121112211212211222122111112212222212111221121221212111111211112222121122212121122122111121111111222222112221212212122221112221121111212222112112111121112112111222221221211221222211211221112222211122121112111211222222211121111211211211221222211112221222211122111121212222221212122122122212112111122221111121222212212212221222212222221221112121222111112111122211221112211111212222111121121221212112221221211211211121211212212211121122122221221212212222221121212221222112211221122121121121112222211222111211121112112122122221211222111222222111221122111122221112121211222122212222211122222222121122212212121221221222121122222222222222222122222212211122211111221112111111212212122221221212111122111112111211111111221122221121211121222111122222211212111111211222212222221222121121221111222221122221111211221211121111111211121221221112112121111212121222121212212111112212121212212222221212122122111221222111121121121112112122212221112112212222111221111222122221112112211212122222221111112212212212222111122111222212121221211211111221122211221212212122112222121111111211222221211121212212212111222112111222222111112121211211221121111221122111221112211112111122112112212111121122122111212122222212122222211221112122221222122111212222121211121212212221211211121221222112212112222211122112212211222211121211121111212112222212121211221111212112212212112222112111112212221112221121221221122122212121211111222121221221222212212122221221222221112122121112222212121211112111121212222112211221112212211122211221122112121111222212111222222222112222112212111211111222212112211221212212212121221212212112112221221122121122121212212122221211111211122122111221111111211221111121211121212121112211111212111221212122111222211211222121111211221222112121211221222212222112122221122111221211111112121212222212221111222222212221212221212221221222221112122212221222221221122221121211212221212122211221211122112122221211211222221212112111112211221112221112112121222111212222222222222221122222121222212212111112111221111221211211211111212122122211211222222221221121122222112111222221112221211112122222111211122211112212112222211222221122222121212221221222222121221221221112122221122111122221111122221212221121211212212222112121221112221212112122211121112222211112211212112112111222212121122211222222221221221112112122112121122211211221211222221211212222112112111222112211211121212211222212211212221221211112112222112211211122211122122111221221221212222211212222122122212212222212212222111121111221221212112111212111112112122122112112122222212121211121212111211112112111212211111122212222111221111121111112211221212111112111122221221122121221112111122112212121121112122212212221122122111212122111222211111211222122211211211122211122121111222212112221122112212112121221112222112222212121212111222111221122111111212111212212221112212212221122212111211121121111221221111111111112211212212222112111211212112112111222112212111112121111212222211122111112122211222221221121111212212221122222212122211112221212222211112111122212122121211122211122112112111212121221111221212212112122112122121121212121122211111122211211211121211212121111121111222221121121112211111122221112122222112211211121211222212121222111112212221221212222222221211121112212211222121212111112121112122221211212221212211222122112121212211212111221212111212222211112112222111111111211211112111112212112221121122222221121111221122112111211122112221121211111111211121121122211111111221112222122121111111112212122211111211222121222222222222122122221111212211221112121221111122211222122211221212211221121121111221212111121211121211122222221112212211221221212111122222222112222211222222122221211211111112211211222112112221121112212112111122121112211212212222112212221122112122222222222122222212222112111212112122111211222211221122212222111112112112112211121112111212111221111212111112112121212111221122122221222211121112112211221121211111111212222111222122222221112122211111222222121212211122121222111212122212112211221212212212212122211112222111221111122112212111112121211121121221112121121112112221221122121221122112121122122111211221221122121122112121112122122122111121122121112222122111222122122111211211221112221222211211211222122211112112111111111122212212211212112212111212211121111212221122112212222111111221112111211122211212221122121211111211212221212122211112121122112121212121222111221212211122222121221121121121122112122121222122122212211122112121211111221212211211211111111122121122111212121222121111112222121222221112112111121222111222112211122122212121121221112122121211211212112211222221121221111122212121221122221222112211221221111222121121211121121211222111121122212112211221222212122121112222212211211112221212221121221122212111112222111121212211122111112121122121121121111221122221112112112122222122211212212212211212211111212111211211212211111211122222112211122221112222211111222111222212211122211112212211221212122212211211121122121221112212222221112121121221222222222211122211111122222111112221221111111211212222222221111112211211211222121111221112212111221121222212122222111111111212111122211111211112111112221121221112212211222121211111212221211112222121212112112222121211222211111111111121121111121222221111121111112121211122122121112212121121221112112121211112111112212121121112211121221212222222222111221112221222111111221121222111112222211122122222211221211221212212212212112222221112112122111122112111121122222112111212112211212222112122122111121211212121121212222111212112222221211111211222111122111212111222112121222121121111212112212221212122112211112212222111211221222211221122111111222211122221112221112222222221222211112122121222221121122212212221212212212121122212112221212112121221222222212111212111221211121122221111122211211221122211221212121211112212122222221111121111111111122222111211111121222211121222221121222212111222122211121111211222211222212221111112121211122211222112212122222121211211222212221221221122212221112121212212222222221122122122111221121212111211211212121211111122212121211112211221121212111122221111112221111121212121221122111112222121121121121121212121111111122222112122122121221111121211211111211211122112112121121222212211211222222211211221121122121122222121221111222212221212111222111211222211112112221111122122122112112211121111212221222121111111221221222222122112211211121222111221221111211121221122111212122212222122111121212121211222211122221222221121121222221221221112221222122121221221212222222222221111121212222122221221121212112222211111111112121111211121111121211112111212122222111221221212211112211221111111111112122212121221221112222112111121121121112221112121211122111121222121221121112222211122121111111212212112121111211121122222112221122211211211211211122121112112212221211221122221222221221112212112111111111111121221211121122122111122112222221111221211111211212111212122112222121111211212111121221111211222121222211122221121111211212211112211112112211121212221212122212211222111111121122112112111212221221112211111212121212111121112212121212211112121211212211122121221112112112222212221112211121211122221212212211221121112111212121212122221221222212121121211222212111222121211121121112121221111112212211211222122122122121211222122211211212112212212122212112221221211111121121121211112221221111221212111211211211121211112222211222211212212222222111112122211222211222211122211212111122121111222112122112222221122212221221122112111221212222122211222111212121112222221221212222222212122112112221222211222211221212122222212111221111111221121121111221112122211221211111222221111212221221211112222112222212222122212122221221222211222211222111222211121222222211221221222212112112212121212222222111222122112212112112121212121122121212112221212221212122222221121212121112121222222122211112112121121121211122211122112112211211112212222211211122112121222211211221222211112222121122111112221212111111212112211121221111111122211121112111122212112212222212112112222221221121122211121212221212211211211122221221222112112222122211212221221211112212112121211211222121112222112221111112211122122212211222121121221111211111211222222111222112222112212211111211112221111121111211212221112211122211221212112111221222221111122111221121211121122211211222212222112222211112222112222112211112221122121222112121111212112222112212221212211111221122221111211121212111211121111112111111221111121112212212122221222212221221121122112211221212112112221122212212221122222122221221211211212221121222212211211212212111112212211122111212121121111111112111222112222212211221212212122222222221112211121222212222121111112111222112211212221111211112222211222212221221111221121212112212122221112121211212211221222221112212211221221121122122122212212112122111111222121222121112121111112222121111111221111121121122111112212211111112211112121221122121212222111212222211212222221212212111112221111211112211112111212121121121222221122222222112112222122212222211111122111221221111222121111212112212222222112121222112121222112211222111221211212121122222212211221121222221121111112221211122222222212221211211112212122112211221111211212212111111212221222112221222121112221122211211112212222111211112211121222122221112121221212222122211221112211221112111212121111121222222221121121112111121221111212112112212211221111212221111111222111111222222212122112122211221211112122211122221211211211122211112222211112121112211212121112221121212212211111221111112121121212121112221122211111222122222121112212222111212222212212122211212221111122221211221112212212221211112222211112121211121211222211212222212221112221121221122122111122221122122222121222212221121121211221122212121222122211212211222211212122212121211211212222111112221121221211211221121211212212112212121112212121121121221222221212112122111222211121222122222222111112222222122111112122211111121122121111221112212121222222211111222222211121222221222122222121221212112112221212221122222211122212211122211111122122222111221111211121122112221111112112121122221122121121122212111121121112122221222212121222221212121121212121211222212122121221122221112212221122122122222121211212122212112211212222112121121111222212222221121212212111211112211221122221211211112221121111121222221121112222122122122122221211221121211211112111221212211122222112212122122121221211111112222221212122211222111112112222121121121222112212121211111111222122222211222111211211211112212111112211222212122222122111211222111222221221121122111211212212111222121221212121121221222111222121211221212221211112122222121122111221212112111112111112112112222111221211211112122112112222122211222121211122121212112211212212211121112122122212212112212121121221122211121222211122122221121121112112212122122122122221221121222121221111112211211222112211122122222121111111211121122121122121221222122221122211211121122212112222221211111121111221112121212222211211212221221222222121211112212121222221121122222112211212222121221221212111112122122111221121122122212122121122221212222111111111222211111221112121212212221221112112112212221111121222111221212222212121121221211121111222122112222122221111111122222222121221221221121222112111122222121122122122221211112222111222211112211222212121122212121211222212122211211222212111122121112122121221222112121212121112211211111221112222122111112211211112121212111211211122211221222111112221122221221222221221121211211111221212211222221212111221222111221121222112222112121211212111211112111211112221122212222212221221122121121222221212221212112212212122221111211212221111211221122211112111121222111111212121212222111222211111122212212112212111222111222121212122222211112121112122211221121111222221112121211111222221221211222212121112122122221121122112212122222121121211222221221221121211111112112112111121122121111121222122111221222221122212222112212122211111222111211211112212121122222222111221221121222121211122222111221121112112121221111121221221222211212122211121111212222211222112121112211122222121212222122112221211121122221111121121211212211212212111222211211122111221121121121221212211212112222122121212221211211221221222111212212112211212112122211221121221112121112211221111221112122112111121111212121111221112112121211221212112112212112212222122222112112122122211121112111222222212121111122211212122211221212122222111211222122111211111211122112112121121122112122222211221222111211112112221112112221121211112111211212222122122122112122111221212121211212121112212222221222221112112121112222111221122222111212121221221222111221111121122122211212211121111221221111111111221121111122211111211111111122221122111122111112221122112221222222122212121112122211121112212211112122212112211222212122222221222212211111212121111211221211122222112212212122111122212122221111222112122122221222211111112212121112111222212221212211212211121222111122211212221212212111212122211111212111121122221112212211111221212112112112122222121121121111122122122221111122211222221221212111222221211221122121112121122111121221222121211222222211121212112211211112121112211211221122211222112221212221112221111122111222111111112212121222112121221122112112211221211221221112212211121112211112111122122222222112122221121121221211221211222211122121212221221211121211112122221212221212222111111212122111222222221211122222122221222221212212212212212212122212222112121121121112121111111112112111222111112122112112222211112212222221221212122122221211222212122222122221121112111211222112111211121111212221121121212112222111112112221212211112121221121111121111222212122111212112212221222121222112212211221111222222121222221112221211112111222221121111112122212211111112111222211112112122222221121221111111121212212112121221222122212111112121112211112121221212111122122212121111221222111222112221221212122121122112211222211221211111211122221111211121121122112111112211221212222112112211122211212112222221121111112221222121212111222211111221221112222221221122221221112212112121212112221111221211122111212211112112112212112221211222111221122211112222222212221122122111211112111221221212112122222122222112222222222121222121222112111221211122222111122112221112111122222211121122212221211222112121222211222112221111122111122221121212121212112111111121112211212222222121222112112222221112211111221211122221122121211211222211121111212221122212222121112122121111221121112222111121112112221122122212121211211212212122212121212121121221121211211211121121112121221122122211212122212211112111222112121221222111212222121122221122221211112121211122221122112121122121212122222122212122212211111121211122111222222122111122111122222112222211212221122212212212121211222212122121222112211211112111122221222211221211222122211122211211222122112112211111111111221122122222112212112221122121122211121222221211111222112111211211221211221112212222221211211222111122211112122121211222211212112221121111111212212121111121212212121111112221122121111121222112211112111221222121112112112212111122121222122121211121122212121221212222211212212211122211222121122211111212222222121212222111211122121112222112121122121122121121112112212122112122222122111212222111112212112211222122222112122121212111121111122121212122222212121212122112121121211212121122111211212212122212122122112221221212211111122221221122112122211121111111121212121222111221121111111111112112111211211111122121122211212121122221121111122221211111212222121112221212112212212121221221111222222212121111222122211112211211212122212111221121211222112211111211221221121112111122211221222211122122121221222111121112111212222122221122212111212122122212122211122221111222122112211222221121121111222221211221211111221121212111222222112222121121121211112111111212112112121221212111111211211211222121122221112122121121122211211221112221212221222121112121112122122112212122111111111211122121112121121111112212121211211222112111221112112111122222112111212221112122122112122211111222121212222221111222211212221211211211221221112112111111122112121122211211111121221122112221111221212222212222112122221211112221122222211222122222222111112212111122221221212221111122121212122112211122111211222112111222211112211221111122112111222122112211121212222112222212222221212212111212221212221211212221122212221112112111212221222211111221111211121111111222112111122111121211211121222121122211222221112222121111222111211122211222111222221212221122112222212121211211121222212222221211112221212221222112112221121112222221112222212211221121212122221212121112221111122121111211211222221212112122222112221212122122221122212112121222111222111221212212211112112112122111212121211112222122211212111112221111121111121111222112221221122211211111212112121222211212222211122112111212212112111111211122211122112212121111212222221122112112122211111221221211221221122221122222212211222121111111221211111221111111211112111121121122112222212122112211222122211122112221212212221112121111121222221212212212121121212211122122211221111211211112122211212111111112121122211221112211222221222112122222212121122112221222211222212121121222121122112122112121112111212111122222211211221112122212221122112112221121121121222112111221111212111211211212122222122112222222221211122122121111112211122221222112221121111112222212111221111222121121211122111222111211121112112122222222122212121211212121211121122222112211122111222112212212111221121222212112211121211121112212222111222222111212222112222122121222121222221221111211111121221122221222112112121112122221111111112211111121221111122122122222222212112111121212111122122211222122111112222111121211211221121211211112221121212111221121222121121221222211212221221112121211211122212222122111212222221122212121221122111121122211111111112221212121222212111211222212221122211111111121122121112222111111221211112121211212122112111112111111111211211112122112222212112122122111212211122212121222212211222221121212111122121221111112221112221222211112111122111121122221212122221212222111212221222212222222111112121111212122112111212212111222111221222222121121122221122121221221121211122121212112211112222222122111122111221222111222211211121211222122112221211221112111211121221111211111112212122121211212211112221212212122112222212112111112212212111221122121121111111221122211111121211221111221122122212111221112121122112212211111122122112112112221112212121211211111221121122111121221112221112222222222212122221121212222112212222221122111121222121221222211111222122211211122211212111212221222211122222222121222112212212122111121111111212121211221221222122212112121111211221212122111222111111221111212112111121112111212222221111112221111211121212211112222222121112212112122111222121111212122121112121122222221121122122121222111222121211211122111122121112222111111122211122111222122221111111221211111121111121111221221122111122121122212221122212122222222111212211122211211211122112221111211112211211112221112112211212221211222211111222121111212211211222222212111111122121111121111212111121121112221122211121122121111112211122122121211221211121211112112222111212211222122212112222111212121211211211111212211222111211111112211122122211122212211121222122212121121121121211112221111121122222122212112112122121122121122122211222112122112112112211211122112211112211212121122211222212121221112122221121221211121121222112211121121222212212122112222112112211212221121221122112211122121122121121112222212212212122221212222112111221112222121212222222121121222222121212121212112112221112122222121122212212122212211112222222112222212212222112122112212121121221212221112222111222211221212211122111211111121222221222221212121122212212221111222121112112121212111212221122211122112222212111211211211121221212122122211221222122111212222221122111122122112212222212121221211111211211111211122121221221122122122222122121121112221121211212212222111222212112211121222222211111212121221121122212111122111222112112121122121211222111112122221121211222121222111212212111121222122111212221211112222221112122121222111211222121111111212222112121222211111212221222112221221212112212222121121222222211222211212112111212121121122222211211122112122222112212212222211122211221112222111122112221221112121122221212122121221221211111221121221121122211121122112111111212111112121222112122212121122112122111211212122222121122221122111122212222112222122111121211222122122222122121121212122222111222212112211211212211221222221122121212222111211222121212111122121122112221122212111222121122211222122212211221121111221212112212222212122212112112221211221112112112112222212122121212222122222122112111221121112122222121112121222222121112211112111111211111111121122122212212111112221211121211112111111221222121111211121111221111222211111222221122222112221121211212111222111112221122211221211212212112222221222121211111221222112122221212112222211122112211111122112221221121112211221121122222112221111222212222122222221122111222212121221221221212112111122121122221112221221121222121221211221112221121211122212111211212212222222122211122212121112222122222111222121121122111212211121221111222111222111121122122121222221211222212221212111112221212222212112111222211222222112121122122221212121211211222121112211212222121222111122122212111121121211121221111222222111212121121122121112121212221222211212112121212221122221122212122111211112222121222212112111112122211122221122221121112221211222112221211121212222111211122222222112112212111211111121111111211122122112212212112212111211211112111112111221122212211221112111122221111122121212221112211121121212121211111212112212222221121111222122211211212122121111112211121211111112121212212222122212211122222111211221212121122221111112222211111222222122222121222212121111121222211221122222112221222211122121121122112222212111122212121221122111211222222111112212121221222211212222112122222121121122222222111112122122212122212112122111221112221212212112121121211111212212211122122221212122221111122122112122111212122122222211222211212221221221121121211221221122222222222212112112222221121122122122222112122211222121212111212221211211211212111222121211221222112112221121122221121111211221221211112212222121111121212112112212222222112222122221221221221222221121212221221221221112222112111121112112222112121122112122221221111211222211212221221222122221121122111222211222212212221111211222212122112211112121212121121221222111122211211221121212122121212212122112212121111111222221111111211222111122111211222211121122121212221222221222212112112211112222112111211221112121211122221221212122211111111221121122112211212212112122111211112222221112122212111121222222111112222211121121221221211211221111221221112222121121222112111112112122222112121211111122112221211121221211112112112211111112112222121121211212111122112211212211211212122121211111221212221221211222211212121111221221212222221122222121111211211212121121221222222211211111121212212122221121112222112121212111211121212111112222121122121222112221212121221221221111111221121112212211112221122122111121211112211111111111122122221212211122122211222221221221121212121221211222222212111121122121222222122121122122122211122221212222122112112212122122112212222211221211221211121111122221221212221212221112222211112222111121222211111221222222111212221221112122111111121121121121112111112221121122222121111222211112122112112212122212221112112211212112112111111122112212122221112221111212122122111111221121212112211121111211221121112121112221222111221221212222121221121112112212222122212122112112112211121112112222112122122121111222212211121121211111112122111222111212112112211121212111212211211211121122212212121211111112211112211211221122121222222211122111211111221122121221212222222211111221112211221222121112121211121212221222122112211212211222211222211112121211211122122112121222121122212212112221221122112222211211222211111221121211122121112211121122211211122122211211122222211212122121122212121211221121112212212211212122221122111221111111122122212222221112211122221221112222222212212221112112222222222121211111211122121222222112222222222222121221212211211121121111211112222122211212122111111212111122112111122111111212122212112121212221221121211221121221112122222211221112122212212222121112112112122212122211112211121211212211122121112122121212122112121222222121211211121111122211211212121122212111222222121212222221221122112222112112112212121111122222122221211122122122121121212221122211112112212111112222111221222121112221111111221121122222122111111222112111222112121211221212112122211221122221122122112212122121111122222211122121212211212121211211112122111122221212211122111121211112221111211212221112221212122212121121221211211221222121222112122122222122221222111211211211111222222211121221122112211122222221122211211211221212111112212112221121221222221112221122112212121211221112212211222111121111122111211221112212121121211211112222122112122222212121112211122122212212222221111212221112111212112211212112111222122121122112122211211112121212122112211222111222211211112222121222111111122221211111211111211211122122221211111221211221122112111112222212121122122112112111122211222221211121221121212212121122221111212211211122122112211221221112212221111222122221221211221111212212111122112121221212211211112222211122211111222112221212221211121111121121211212221121112112211112111122111112111222221112212222121212221222222121122112221112211121112222222122212111211212212221122111121211212112122122121211121222212222212221122112122221221111222111111222122111221121122221211211111112112111212111211212211112111122122211111222212111211112212122221121211112212111121121221222121222122112221112122122121121212122212222122222112222212121211211112112221211221211221112222222122122211211122112212221112122112222112112122211122221222211112111221212122212221121112212121121221121222121111212121221212211111222222222111111222112121121211212111221122122221211212212122111212211112222121112122112111212122222211211111122111211112122121222121212212111122121211221212222121212111222112121211212111211122212212112122222122121122221212221211121121221211111111112111211212221222212122121121121121122222212121112122112212211121122111221222222112211122211112121211221212221112212121122222221221111222112122121111222211112111221212112221111111222222222212222212122121211222122112112221112111112112111122212211221211211112222122121212112121121122212211212122112211212222212121222112221122111212221212222112211211112111111111111121211112111212212222222122212222211221222111112111121112222221111112111212222221212121121212122112222212112121212112122211121122221212211112211212222112212211212121112211211221111112121222211222112112221211211121122112221211111222222122121221122221222221211111112221121111122212222211112222111121122111212212222112111122121121112221122121122122112111122111222111121221211112121212212112122211212121111222211121111121211112111112211111121221111122212212222111121121222121111212111212122222211111221122221222111212111211222211111122212121112211111121212212211212211121121212222211111121121221212212111211111121122211222122221122221221111221122222212212221111112211211112211221112121122122121112212212111222212212211221121111222212221121111121211112212221122121212211222211221122112221111111111222222122212122112221211212221112222121211121211112211112112122112122211111111221121111111211222112221122122122121211222111122122122122122221222122211221222112222111112112212212212111112211111221112122111111112112211211221211212221122212111121212211122112111112212122221211112111221111212212221221122212121221211112221222211121121222111122212112111211122112222122212222122212221221221211122221211221112122212211212222222122122121112222112222112111212122121111212111221212122111112111112121112211122222212121121111121211212212222112222122211212221122111221221221221222221221211122211112111221221221212112111112121122221112221111211112121111122212122222222212122221122111111121112212212111212211222212221212212211112222112211212121122222221112122221221112221112221221211122211222212211122122211211112221122222121211221221122112222122112112122221212112112121111111222221212122111112222222121211122121211122221212212121221212221121222221121121222121122112121212112122112222211111222122212111111222212211212121111211211122222221122111221122122211212122222122122112122222211222122111221122111212112121221212112222211222222221122212222222222112112122212121111211211221211121122212222122211221212212121221112221112211221112112122122211121212121211211211121112111211122121111221121211212222112122121121122122211212121222111211111111121111112111112221221211121122212211211222121122121111211221211112111211222221122112121121121222211112221121111121221211221211221111211221222221111121212111122121221121221121222112112211221211112212112122112221221221221122222221111111211212112122221121122121222222112112111212211122112121122222222122121212111222112212122121221111221211122111221111222112121111222211121122211121211211112221111122121112212211122112212222221111221211211212121211122212211211221211111222112212211111221211112112111122222222121112112122121111212221222212121111211122112211122112211111112211221211212211212121222112122211221122212112221212121212212112211112121111121111111111122111222112221122212212212121222111122221221222212112111122111112212212122221111211221221211212112112221122222212212112121121111122211112212122121212211211212211221222122112212211211212111211221211211121121122212211221121221221221112221211111122112212111211111121211122222121112211211222221121111111121221122212121222111111112212121212212122212211122122121212121222221112222211111221121121222212121111112112212122222211211221222122122222222112112112122111211221211211221112121121122121212221111212122211212111211112222122211111111122212221112112211211111212221121212121112111212122111211212212212112112122111212112222122121121221222112122221122121221111221112211212112122122121112111221112121111222211121121122212212122121222221121122212122221212111221111121212112112111122211222222112212211212222221122222211122111211112221212212221221222212212211221221122222112111221111212121112112122122122121121211211211221211221222112222121221122122112211112112122212221112222222112211111122122122212122212221222221212222112211221122111221121211112211212112222212122211211121111222212112122121211221212211121122221222121212122122222212212222112112112212111122112212111111222112112122112221221111121211211211112122122222222111222112221222121121211121221212212212112112112211121222222211121212212112112221111122122112112122121221121112122111212121212221221212121211211112112212112222112122221111212111221221121212221222212111122112212211222122211221211121221122112112121211112121212211211222121111122111212211212111121122212122121212121222112112112122221212222222121121111212212111122211121112221221211212222122222111221121121212212212122212112222111122112122111222221112122112221221112221111221122211121112211221112212222221222212111212111112112212111122111212222112222111121211122222211122121221222122111122122222112221211112221112111211122112112112111112121122211121112222221122122221211122121121112222111112211112211222112121111121221121212221111111121111212222121112212111221111112111111122111112121112212222111211112112221222112222111111221111121222122222212212122211122111211211121211122121112122221112122111211212112222222211112211211211211211121121112221112121222222122121221221112111212121122222211112112121121211221221211222111222112111222222221112111212122112221122211222122211221121112212111212212212221112211211222111221211112111222222211212221212121221222212222221212111111221121221212212221121212122121122122212212211112122221212222212211222112122222121111111111222112112211222111222221112222122221211212121121111211122211122222112121222221121122221112112121222111222221121212121211111211212112122111112112112121211212111221122111121111211112121121211111212111222221121222221112211222121212212221221112211112222222222111221212111121222212122112122121122112121222222121211112221212211121121222121212121112211111212222111222121112221122222112212212111222221211212211111211112112212111111111212212121222121221122121221121112211111212112222112112211122111222112111222212211111222112121111111221112221221222121222221212122211212211122121222212112122212122111121211121212222211122211212212222212122111121121222111122121111222121111221222111121211121122212112121112112222111212222222212121212211212122221211211211221211121122121222211121222121122211112112211222111212111212121212222112211121222211121122222222112121111112121211212222221211221121212121211112212111221221211122221121222222111112111221112211121122222112221222121112221122221221111211212122112121122221221112121121212121122112211222222122121111221222111121222122212211122222112211122211112111112112111122221121211211212111112222112221212122121122222111112122212122111122222211212112121211221212211112221221212212222111122211222121212222211112122212221211121112212211112122122222111212121111112211112112122212212212122111122211222122112221212121211221211111122212121212121121212112221112112212121111121122112221221221211112212111221122112122211121111121212121111212111122221111221212112222112122212211122122212211111121121211221112211212221222221121222212121112211122212212121112211122222211121121112222211212222121121122212112222211211212122122211111221122222221112212122212221121221111122221211212112221211111111122112222121111222221112112112211211212111221211221122222111221112122122211222221212222221212111121112122111122222112222221121112212111221121221122111221121211212222122221221211222211112221111121111222112112211212221121221112121121221211112211121111121221111111111222122122121222111221212112112222122111222212121211121111111221112211221112111211121212221212222211122111212122222121122222112112111112221211211211111212122212111111211212222212211211111111112111111222222121121111212212212222122111221212121122212112122122212122221212212222211121111221111211212211212212222122222211222121121111111221221222212222211111211211221212222212112111222112221112211112212121111212112112221121221121111212121121111211221212111112212111221222122121211112222111222211122212211122222112122211222112221222211221121122122122122121211211112211222111112111111122221222212121122112222112121221122222112212112211112222121112111212212222222121212211111221121222112211111122212112122122211221112112211111111122122212221122212212211112112111121121112222211121112221211212112211222111222221112221111111212221112221121121221222112121222121111211111211212122111111112211112211111212212211212112222221222112121121221122211211211221222111212211112122112211222212211221111211212111222122121122222112221221212111112112111211112222211122112212211111112211212121212122212221221212211212212122222121212112122211221211112112212112212211222211111111221112112222122222112122221222122212211221222111112111212222121212112111122111112221211121222211112122112212122112122212222112221112221221221222112211111222122211122121212221221222222222222222111212212122221122122221112122111112211122222222211122121112211111122221122221221212111121221111212222112222221111122211211112122211122111121221211212112112222122122121112222122122211112211112222211122221211211222121122112111212221122221112221112212221112112211121111212222222222111111122111121112221122222222212221211122121212222112122122211112221111211211222222111111211122122122121112121122122112112122212221112221212122112211221112111122211211221111111122221211222222211221112221222221221112211111212222221112211122111112211221121122222111222211121222222122211111222122212112122121122112222222122111122211211212122222222222112122111111121211111212221122111111221122212221122121111121212121221211222122222121222222221122212211112121211221111212212122121121122122211222212211111111211222112111222112112112122212221122211221212221111221211212112111221121121121221212211221122212222111121221221211121211121121122211112221112111122121211212221222211211122222122111212121212121122122221221221112121211121112212212222211221111211211211222121112121112122212112121222112221222112111212122212121212212211121112122211121211221222212122112111121211112122221112222211222112212112212221112211211221212122111212111211222122121121211222212122211112221221112221222121221121111121112111221121121121221222221221112212222122211112222121122221222122221111112221222212212221111121212122112111111221122221121112122122121111222111112212111222221211111121222111222122211122222121111121221122211122221111221222212212121112121122111112211222121211112112111121122222112221112212112122222222122222111212122111122212121212212222212122121212211222211122122212222121211212222212111221212111221112122212211112212211222121211211221221222121211122221221112112111212121111221121221222111212122122112212211221211122112221121221111212121222211212121121111212212122222111121111122112112212212121211121212122211221122221112222211111112212221121222122222211222211111112212212121112222211111211221121222111222211211211112221221211211121211111112122211212221111211211211122222212221121121122122121112121221222221211111122111122212221211222212121121222222122112121111212211122221222112221212222112122111121112221222121112222121112122111122112122122112221212212122121211222211111112112212222122211111211221211211212121121111212222212112122122212122112212212222112221222112211211122112122112122121112122211211222211222121111212111112212212112112112221212212222211221222111211121212112211112222121211112211211212122121122221211221212121211121212122222211111211121111122122112221211221112121212121222211122121111221122211121121122112121222222222111111121112121212221112121212122212112122122222112122211111212212122121221221112211211221111221122122121222121211212122212112111122211111211222222212222212211212222112211112122211211121111222211121111212111122222112211122222212221212212121122211111221211122121121222211212211222111212212112122112221221121211111111111222111221221122221222212112111112212222122112112221122222121222211211212111112212111211212122122211121211222121111112212221122222221111122212111122121222212122121112122211212212211212222211222122221121221211212221111212122212112222221122112111121111222222122221212112122111121111211111211111212122111122211121212222122221121221111121112121111211212221111221112212221122121222112111121222222222111122112122222121221222212222212222121221112222221222212211121121112121212111111211222221111121112122221212222221111212122212211221222211221211212212221222121121221111211212122221111111222121121111112122212221112111121212111111212111111112111122222221221221222112111111211212222122212122112112212211222122111222222212222221211212121211112111211111111122121111121112221221122122121122222221212212121221121221122222212111211211212212112112221122121221122211222112212112111122211211222121121221212222122122222222212122221121111211122211212111221212111221222122122211212212211222221212112111211122111222111221122111122121211212212121122122111112112121211211122121112112121212121111121221112221112121121111211121222221211122221122121111212212212222212122121121222121112211211221121221212222122222212211112211222222221221212212222112112211112212122212222211222111221222112112211221221212112221112222222112121121122112221111121212211111222222112111222221112112222222122221212122221121111222222211111111222222111212122112221122211211122212212222122122121121111121221121221212122211122122221122112111112111211111221221121212221222212222122112211121211222212112221111111221221121112211212211221222212121112122222221222121222112122212111111211211212222111121122121112121121112112211111121212221122112221221112211111211221212211222112111211111121212222112122112222122112222122221221222111222112211222222222221121122122112112211121221211112122122221212122122111122211211122221111222211212221122211121121211121211122221112212212121122111221112111212122221121222211211222112221121122121222112121111221222112122212221222221212111211122211121112222212222222222222221221222212211221211212122212122112222211222122212222211122111121211211122222112212111111112121212212112121112112221212112212112222212212221122221111112211212112121121112112222212122221212112212221222121112121121122121222221222222121112222222212211211211211222121111112221212121122222221112112212211222112112122221212121112212111112112112122121212221221122221121211212112111111211122211212221121111111111121212122222121221122122222111112222212111221222111211112122211111211121111111211111211221111121212212221111222211211122122212212111212122222212111121122122211221221122211121111222211111121221222212212122112122112111221222122222112122122222212212222222121222211211212221121211122112222121112111212212112221212222212221212111111112222221112222122111221221221211212111221222112112222212121122121211212221122112112111121122112122211111212111112222221212122121112211111112222122111221121111122222211122221121112211221112112221221112111221211222122221122121222121222121111122111121221121222212122111112221211211122112122221111222222112211222222212221122111111121122122221112122222222211222111212212121211111212211111222212121112111112222222212211112212212112211221112221112122211211112122112211212212211222212121211211221112211222122212212222221112211122212112111221211121222121212211111111212121211111121221212121112212211211111222121221111212212112122111122212121212221122221211222211122112222112111121212111112112121111111121222111222212122121222221221111121221121211111222122212111221222111222212222122121221211212121111211221221222211111211112121112222112212222212211222122121112112211112211211121221222112112122212121222112211212211111212111212112212212121221221221121112221221222121121221121111222221111211221221121121111121221211212112111211222222122122112222122121212212221122212122211211122112222212221212212121121222112112111221211222111211212221112112222111122221111122111221211111112122212112112212112221212121111122111112221222122121222221111222121222212121111121121222211221221222122122121111112111121112111111221212111122221121222122112221222211111222121221221122121111112212222111222222121112212112121221121222221121111122212111121211121112122212221112122222122111222122122111222111112212122211221211211212121212111221212221212121221112212111121212211112112122211121221121121111121221112222112121212212211121222222222211111211221212211221222111222111221112221112211222211121122122212121111112112221221211212122121111121112212211121122212121111221112122112121111221211211121112122222121111221212122121112111112111112221212221122121111222122112121111112211221222112211222211221221112121122111212111222211211221121122222212211211112121111122222121212221112212111211112121212222111122122212211221112112111121121121122211212112222112112121112221211222221221112111111122221221122221222122212122222111122111222121122211122211122221111222211211212211122122222211221112222121112211112111122122212222211221121112211112122122111111212212112212211121122111112221212212112122222112112211221111112112222211221212122212112112121112212122121211211212222222222222122212111221111121212211211111122112221221211121212112221111222222211112121122121221112211211112211212211212211111122122121111212111211221112212111212211121212222221221222111111121221211222212122112121112211121211212221211112222212211222211111112121222111122222222222121111212112212121221212221222121221121222112121212222222211221111212221121122122212221211222222111211111212221121112222112211121221212211112211211211121221122122111222121212221121222212112112111112211211112212122211111212112222121122212222112222121111212222112222111211121121111122122221121221112221112222221111211112111222111122121122112211111221112211111221222122122111121121221111222221211212111111121211221222122111221221221111111212222212222111112121222121121111111222112212122211121122221121212121111221222221112111221212122221111221111122221122222111222211112121122212121222121212111222111112121211212121112121121112212122221111221122112122121111221121121222211211221122211222112222112122122111121122121222221122222212222221112122221122212111112222222212222111222212112222111211111112211212111111221212112211112112212212112111212211111121221111211221112121122111111222121221221222222122112122112221121112122221121121122111122211122121121212221212121222122111211222221211122112222111112112211222221111221122112222212211221112222111212111122211221212221121221211112121111111211122121212211111121222221111211122212122122111121212211112212121112121112212111221112222222211212211211121121122112212212122122212112121111122112221212111112222222111112211212212212222222212222221222222111222212211112222122112122112211122222122212222221112122212212121222221121221122122211222121112111212222122221122112112122211112111221221112222222122222112111112211112221221121122111222222121211221112111111221221112111211112211212112112121211122121122222111121122211222122211221112112122112211112221111121112122212211112222122221122221212211111212112212211111211221111212112121211212221222211222112121111121222222111212112122212211121112122212222221112111221221222222222222111121121211222211222222221111221221211222212221111221211122211122112121222112111111221221122121222211222111121111221122122211122112112122221222211222112212121211122121111121121221212122212211221211221121222112222122211212211121111112221122212212221222212122111121112222221111222211122221121222122112122222211121222212121112211122212121121211122112111121211122212211111222112221212221111221211221211111112212121212212122111111111212122212222121211122222122122222111111121112112211212121121122221222212121222221211111222212112121121222221211112111221121221212112112112212212121211211221122222211221211222121112112222221212211121222221222122121121121212121111111122111111222211221111112121121221222222111221221222122112221211122212222212221122122221221212212221121222112211211212211121222122222222211211121212211112122111111112221222112112112212111222211121122121212211122211211121212212221122212111221111121221111122122211122212121121122112221222212222122112211222122112111112122211211211121121112112211111121212122212221112111221222211221122212122112111121212211221222211212111122222222222212112211121222112111112211221221111212221111211121112211122121222222121111221211222121212121111211222112221222221212122211121122221212212121112111121211112222211111111121112122112112111221111112122121121121112211111221121121222122222111221112211222212121221221112221211222221122121221122221122221122111122221112112111212212222211112212122121212122122221212111122121111122122121111212222222111211221111211122211111121221121121222212221122121222222221121212221212211112212222212221211221212211121211112112212222122111212121212221221121221121222122121222212112212111122211211122222212221111121221121212222222212112122212122211211122111112122111122211121222122111112222212111221121211222211122212112112121111222212221112221211221121121112122221212211212221111122122122222211121111211212211222212221122122211122221211212222212221222221111112212221211121112122121112112112221111222221111112122121211222211121112221121212122222122222211122111111211112221112212211111111112112212221111222122121111212222222212211211211221111222212121112111212122122221212122122222212122122121122112211212222121112211221112111112121212112212121112112122211122112212111112122122112111121122222121221112221111212122211122111112121221121111211212121112221211112212221221121111211121112121121121212222121122211111211111111121221221112122211221222121121112221221112212222121222121111112112111121111121121212112121221121112221122121212112122211121221112211111221222221122121112212221221122121222111122212121222112222212121211212122211221111121222111212221122111111221122222121211111122222111212112212111221211221222122212212212222222222211211122112121222211112211122212121111221111221222222111121212211221212121221221111211111211121112212211112121122112121222222211111211111212112112221221122121221112121221122121121111212211222221212122121111121122212211212212121212221212122112111112212222111111221222121221112111122122121112111222222222222212212211212122222122222222221122112212112222121221111121212121121111222112222211111121122212112111212122121122221212212222122212111112211211212122212121122221221112221211112122121112122212112112222221121212212121211122211122112222121222122122221221211122222121222122122211211221121111221212121222111111212122211122211211211222212222121212221121211212212212222122221121121112222221122222212112211111111112221111211112122211112122112221112111122121221211121221212121112222112211211111211121122211122212112212211111222111221111222222221121222221122212111211221222211222211221221222112112112211121112122222211221212212112112111212222112112122222121222211222122222121121211121122222221211222122112222122222221121212211211221112112222121221111211112211121121221111212211212211122112211212212211221222111122211122221121212111211111221221212121121211211221222211121111122111221112222111121221212221112221122111212111212221211121222222211212112122111212211121221111222212211112221221122211221122211211111222121111222111222221221111121122112111212111121222211121212122211111111222112212212121111112111222211211122111212222121222222212121221121121111222222112122121111111222211111112121111111212122212121122212121122222212222222211221212211121122212122212212211111221121111212111211222212121112221111212121112222221221212212222211111121211121112212121112211221111211112111121211211112112212211121122211212222122112211222122112112111211111222222211211122112121222122122212112211122122121211112221122222212111112111211212122121122121111212111112112221121111222122222112221222112111121211221222122121211111111121221122112122211122221112222121111212211222111222122222211122222221122121111222212211212222122222121221112121222121121111122121122112211112112111111222221111121212221221211212221221111122211111112122221211122112121121212222122111112221122112211112111222212111121112222111212211212211221222212112222211111121211112222211221212122122112221112121211121122222122112111121211212212222211112221122112221121122122212111122221212211111111121211121211211112122122111221122211212211111221111211221111211122121122121211122111121121221111122211222121112112122122112212221122211121121111212111112212222221221211222211222212212212121122111211222212111122121211121212112211221111212221212222111221211222222212212121211221121212122211122211111111112112222121121112122122121111112121221111222122222122212111221111121222222222121211222112222221112222121222211121121121211212212221122121112111212222111121112211121221211221212111221111221121221212222221121221221211212211221121122211122212222121221211211211221221121122221122121212121121111122121212212222211212211111212211111211111221212221111222222121112212221112111122211122121221221221222222222211122111112112211111111221222212211111221222111121211212222212212122211121222122112211111222222212121221122211212221222222221112122211211111221221211222112211212221112111111211121211211212212221222212122211211212111112211111122112221121111112212212212221221111122211221111211111212221222222222121111121212212221221211212112122112221122222212211222211112122122112222112112122212121221212222112122212111221122222211111112222112111222111122112212221122221221211111122121221111222222221112211222212122121212221221211211221112121211112211212112122122112211111122221221211121211111112212222211122112111212112122111122121111111121221122212211222221111112121122221221221222112121122212212221111112222111121122111111212122211111221111221122221222222222222111111222122212121111112212112112221212212211121122211121111212112112122122111111221111121111211222211211211112212221212212211211111122222122112211122122211222121112122121122111222122211122111212122211112221222221212212121122122222112112112212111222111221122211112222221122112221222112111121121211111222112212212211222221122222211211222121212221121221121222222111111212222112212211221211121121121221112211222121121112212212221211211111221121221111112122211212212221212111222122121121212222211211121112211222111112212111222111221122112222111121222222211221112121222121211222212112111212122211111222212112121122121121221222111211222122212111222211121212212122212221122122112121122112122112221212211211122212111121121122112121221221112211211122222111112122212111122211122221222222222111222211111211111111211212112222112121111221211112222112122221121111112111221122221222111121112211212121121122122212211221112121122212221111222121221112111122122222111121212221122121121212211212111212112221121211221211212121111112121222112212111122121122212212112211112112222121112122112222122221222222112121121111121222212111122112221212111121111222122122222211211122222112222111121221222222222222211221112121111222121121212112122121112212111211121112121221112221111122211222222122121211222221121112222122111121121111121212112221111122222112112211121221222211211221221221222212222211212112112211121222212212221221121222211221211211122212222211222121221211212112121111112211212222122212211211121112211221222111111222221121121221111121112211222112211111211121122211111221221221111212121121212111222222112211112112211222122221122121111122221212221212212111111222121212121222222121221222221222221221111121121222211121122111221112211221112122212111211211222211112211121222112122221212122222212211111112121122112212112221111222112111221212112111211122121221122222222222221122212212122122211221122112112212222212112221111121112122111122211221122221221122222211111112212211122121112111111211112121212211122121112121212222212112112221112211122121222121111211112212112212212122222122211221212112121111112211122112211122222211122122222212111222112221112111111121112212122221212222112112221122221222222111222222212121122121112121212212121121111222211212112212211121121121112112121212121121121121222111112212111111121222111221111212122212211222112212211212122212121221121212121211111112121122221222211221212111111111121121121112211112211222211222221111112111112212211222211212122211111122111112122211212222221112111212111211122222211121111211211211121121211222122222121212122122211112211121222222112121212121111222222222211121221222122221111212111222122112211121221121212122211111122122222122112111211111221221121122221212221112112221122221111222211212111222211122121211122221121212211122121112212222221122122211112222212222121111211121112112222212222111211212122221222211222122221211111211222212122212122121111122122212211222112121111212211222112212212111111212111112211122222221122221221122121121222211122111121211111221112221111121112222112122221211111121222121111212121122112222221212122222222222221211222211222212222221112222122121111111221211122122121212112122121211222212111121221122122111111212211211211222122221121121121122211121221121112212122111221211112221222122211221111112121121121221111112111112112112221121112211222221222121112221221212111111111111111111112111112112121122212221221211212112122121121112211211121112122112211111221121121211212211221121112212111221211222122111111222122211211111211221222122112222212122122122112111221112111111212221112212111122212112121221221122211212122111222112121112222221112222122121111111212121112221112212111212222121112111122212211212121211122211212111122111211111112221211121112212221211122221111212221111112111212211212222222121111212111221111222112212221222122111212212211112211122222112111112112112112112221212122212222111211111212122221112122121211121221111222112112111212222212112121222121211111212221211111212121212121212222222222112121111221221121222112111221122121222122212221212112112121121112112222111222121221121222111222121122211122112212211222111111121111122112122121222212122121111221221122212222222222122222121122121222111111221122112212211211222212211211122112212221111211211112211111222221222122111122111211222211112111212222111212212122121212211111222211112121112221122121111112212121121211212222112221221121222211112122111212221211222221212122211111122111121112221121112121222112221112121111221212122112211122111211112111211212112212111221211112111122111111112222121111221221111211211121222111222122112121211222221111211112112121221211112212122122112112221112122121222212212211112221211111211112221112211122211122121212211222112211111211122222111112222212221222212222122221122222121211121111112122212122122222112121111112112121121122121211111111111111111211221122122211112221211121121122121121121211112112122122222112212212221121211112221211111222222112222121122221211121211212121211221222111121122111112222222112122121221211222222211112121212122121211212212122222112111112222122221211122111222111222121111212112122211121112112211211122222122212121221112112211121122122221212112121221112112112121122222212121222211111111122221212211211222122212212212221211121122121111222221121112222111111112211212122221222112111111211122212211211121121112112122111112121122222121122222111112121211121112222111222112121212112121211112121221111122222121222111211121111121122121111111112122111221212221112111121221122112111222221212112121221111222211122121221221222121121221111211212211222112211212111211112122122121122111122221112211211221121111111211211221121122211221121122112122112221221221111111211212121122112222212111222121122121111222112221111121222122121212122221222112212222121122121111111221112122111121122111111111121111122122111212222212212212221221222122122212221121222112121111111221112212112121122122122121112212122111212211111111211121112212122112222221222222222221121122111121121111212112122111222122112221221121112111222212221122121221112222111211212211212212111111221211111122211222111221212221122221111121121212212122112212221222121222111221222221121122121211112221122211221112122112222112112112212212221222212212122212212122121121211221211112112221221111112112112121111111221212221222111111212221212121122212121222112211112211111112221122111121212221222222211121211212112222122112121211111211211111221112121212111122212222122222211212221211111221221212111211111122111122122112121122112212211221212121211221121122221221122122221112121121121112212222112221111112122221212121122112212121111121121212122121222211111222122122112222111121222222212111221121221211121211222212211222112111222212221222212122211121121222122212212121112122211222111121222221111111122212211212211222212211212211112122112211211222122111122112212212221211222222211212122111222211212221112221111222222211122212112212111111211122212212221221111121222212221121111121222122112222121221111212221112222211112221111222121112122122121221111222122222111122112222121211122111212122222221211121212212122212222222112111112122111211222221212221212211111221121222211112212221222122112121121122111211212111222212211221222111122212112221121212112211222112121122122111112221122121221221212121211211221122222112222111112212122122122122222122212212221211112211112222222112111111212221222222112122111221211221121122122212222111221222121211111112221111122211211111121211221221222222211222222212121112122211111111211122221112211222111222121211221221122222212221222211221122112111122121222221112221221211121122112221211111221222112212112112121111211212222211221111221122111111222222122112122221111112222121222111221212122211221221112122222221212112212211222222211122222212221112112111111222212222122121221111112122122221212122112222211211212112221211212212222211222211212121212122221211121212121112221122212112212222221122122222212212121221111221111221122222111122221111221212222111212122122221122212112222222121212212221122111222221121211221112211111112111211111111111111222211121121221112211211211222112111221122112221211121222221222222222222211122222221111211121121122112222112122212221122212121121221212212121212222211121111121211111111111221221222122122121212211122212212112122221222122222211111222221212222112212121121112221212111122211122211111221211221122221212212211122112112111112211111221112221111111111111122221212221222112222111112111211221212211212221112221121212111121122111112111222211211111112212211111112111212211111111121221222212211122111221122222121212211112111211222112112222211212212222211211121212211222121112111212111221112211221222221222122222222112222211221211221121212212111121222121212221211221212111211112212222222112211221111121112112211211211122112122122112121112122211111111212212221112211122111212211112111222222122112122211122211121121121222211122221222122121222222111122212212221121111211212111221211212112221121112211121122121211212211111112211122111211121212112212211221112121222222212112211221111221121222211211211222121112212221222221221122122212121222112221121212211121211211211222222211111212122212211111211221121121222221222121112212211121212112122121111211111112121212112122211112121222222211121112212211221112122121211212211212212121121222212111111222221121221122111221121212222222122122112121212122221212221211221221111221221212212212211121211122221221212122122111212121112112112212121122211221112211112211121221122211221121112111211121111221112211122212222222212211121221122121111212212212222121122121222222122211121222111122122211211112122212112122111211222112211111211211112211112211112221211212121212221122122121111222122121221121212212112221112122212111121221111112121122121222122221212122222212111221222121122112112222111221222111221211212121112211122112111122121111222121122222111212212212122122112221222121222111221221111212122222222222111212121121122111222121221121121122121212212122121121211212222222121222212211222111111211121111121212212212122221122122211222222221221121122121222222121221122211122211212222111121122222112221211121112112112212222212211122222212211111121112121111111111221212112212111222222211111122111222122122121112211122211122212112222211211212211122212222212221121121112121121111211222211121122122122221221122212221112112111111112212122211211222112212122112112221122112222221111121221211121122212222211222212221121121121211122212112111221121212221121212212121211112211212111112222222222212122212211122121222121222222121211211221221121211221221121121111211222222221221111112221211112121222221112122122222221221111222121221222121121121112221221122212121212112221121212211221221112112212121222211122211222222122112212212121212122212121111222212121111212122122112221211122121121221222212121222122221111211212221122211211112121211222221122211121211222221211111111211111222222111121212211221111212212211211122211222211222112221211221222212122211211212221112212112111211122112222212112111211211211212111122111211211111112221121222121222121122211221122112211222221211211221221222221122211121112112222221221222212112222211112121121121112212211112112222222221111212211111221111221111111221222122212221122112221111111212111121211121211221222112112122121212122121211222121121112111122112211221222211111111111222112211222221122221112111222222121112122111222121111221122122111221221122212121121121221112211221221211212121121221122211112122121211112211212222122111112122112111221211222222222112122212212221122211121121111211212211222122111122211111212221211212122221111112122121222211211121222121211122111112212111112212222112111111122111111211212221212222111211211212112221211122121122121212222122222211121222212112122122112212211211222112221112121111121111122121221122221221121112221111222222122221121112122121122212212122121122122212211222111222122122222121121112121221222222111222121111112222111112222222221211211211112221122221122112122121112212122222211122111222222221221121211221111212221111221212212221211222111122212211121211121121122111221121121221221211221221112211122111222112112221122222122122122211221221211122122121122122122221111111212221212222211212211211222221211212211212221211221221122112122122122222111222112112122212212222221212212121222112122112211112122111212121121121221111121222221221111212122112221222112111211221111121222112111121122121212111122111222121122221121121221221121121221221122111111122111111222111112121212212111121211221212221221122112111121121112221111221212112221111111111112122111122212111121122212222112222211122222212111212112221222122122122121121122211112222212111211111112121112212111121222212221222121111211112221121212111122211221211121111112212212212222212122221212221221222122112121221111211211122211122222211221111121212122122221111212121111122211221111121212111221211212222121211121212122212121121112112222222211122222221221121112112221221121122211121122211211112122111121221211122121122112112122112122221221112122212221111121121211222112221122222111221212221212211111121211121111211212222121222222111111212111111122212112221211122122122112211111112222222122112212221212121111111211122221222122212222121121112211112112221222222212111222211222212112222112222121112121211212222212222221112122222121122212221211122111212121221111112121211212121121121211121121122122212111212211111111211122121211121211212222111221211112112211211222211121221121222122112222122222212111122112211111211122221222221112221122211211121222111222121222122222211221121112121112221122211222221212121111121122121122212221211122211111222122221112212122221211121212112221111122212121211121111222212122112212121111112211212211112221222112121111121211122211212211112222222121211112112122212211211212122122122112111222112112121111112111122221212212212121212121122211112211221111111222122112221122121212212222211222112111221211121111111212111221121111211111212221221211222222211212112211112111211111212121211121112222121122122221222212112121211222112112122122111112211221222212122212212222211221112222222112221212212221211111112212121211121121112212222221211111221121122121211211221111121212121211111221122121121212121222221212221221112221122221211121212111221221211111112222121221212112221122222111212212111211221222222212211212122111111212211221122112222111112222211121222211112222111121212212112112112212111111211211112121221122122211211222212221111111212211222121121111211221122112212211112211222222211221112112122112211122221221121121111221111112221211112122222212122212121112221212121121211112222112222122221112122212221212111122212221211122211122212221222211222211111212111122222212121111211111212222221122122121121122222122211211212122212212111211112212121222121221211222112221121112212111111212222222211121221211212121221122212112221121122221212222121221222122222121122122111112221121212112122121211222222111111212211112112222111221122121112112121222122112212121212222221222121221211212122122112222212212222112222122212112222122122112221121221221111112212111122122222112122111112221222222112221221212211212112111111212212222112121212212121122211211122211212212122212222222111111222222211222222222121111111111111212211222121122212221221221222222211121112222121221221122211212122111222211121111212122112211211121212122122221121211111112121221112211212211221122112212122112122112122222121211112121112112121211221212222121112211211121112121111112222221122122121222121221221211122111122222211122121212212212121212112111222121212221122112112212112122122221221111222222221112221121222121212121112122211211212111111122211111122121112111121221121212221121111112212222211121111211222112211222121221221111111212222121122212211211212111122212112221111121222122112112112211112222211121221122212211112221211121212111122212222211222211121122222221121211122221212212222121212221221212212111111222121222122121221122111112111122221211221121211111121212111211121112111121221221122222112212221221121221112122122212212122111221112112121222222112111121222122212212212111222212111111222211121122121121212212122211221112121111212122112122122111122212212212111121211122221212121221211212221212121122211112211212121221212212121221112111122221222112121121121122211221221211112222121111211112111222211221222121122211211122221211112211122111211212221212122121122212212122121112112111111111222112121221211221212111111212212221121221221112211111112212221122121221222112221112222122211211222221121211211222111211112221112212112221212212222221122222121121222112121212221111122212212212122222112121221111211121112112211121211212112212211122121111221212112112121222111122222212222122212211222212122121221212121211212111221211221111221111112122121121222122221212121121222111112221122221211111111221212111111111121212221111222121221122122111221211221121112212221112211221111212111222221222122112121111121221222111222212112212111121122222221212212212122121121111222212121111221221212211122211111221122211222112222222222212211111122212221121212222111111122211122212211212121111111112111211211212212111111212111221122111111112211221111221222211112112121121211121221122211211222211212211112121212212222222212221222112112221122121211112222112221121121221112111212211111111212121212111121212222122212211121221211211111121222112112212222112212211111221112222212112121111112222122212121221111212222212212122122121112121111121111221112111112111212112212111111122111221222121112221111122111222211111111121122221211122211211211122112111111112221112221212222221122111221121221222211222222212122221121222111212122111122212222212221111221222212212112211211222112221112212122222112111121212212111121121211212121221222112122222211121111111121211221221221211111212211222221211122121121112212121112211112211212111112211221112121121221212212121121111112212121111122222212122111212111221211111121121112212222221221121112221212112122122112111212222121111111121111121122112211211122222122111221112111212112112112221221211212222212211222222221222212221222112122212221112121121111221111111222212121121222211222111221111112112212111122111121211111212122112212221221212212122222222222212112111111221111112121221112121221211221221211121212211112111121122221221212211122112112111212211222121222121112122212112221111122121121122211121122211212112222222212111111211112122221121122222122212112122122211212221222211211111211121122112221122222221112212111211121221122211121121211121112211122121122211221221121122121112121112112111211112222222221222222111112222112111121212222111121121121122122221212222211212121222212211211112211222211222212112111121221222222222222112112221122121211112122221211212111221122221221211112112212222221122111111212112212122112221221222111112211121211221122211212222222122122111111121222122211212221222222222111211112122122212222222222211111122222222222122121112121122122112121222121212111212222122112212112121122122122112121112222122221222221122221221111211112212211222211212222112121121222122121112222211122221122221122122121122212222222211112111221111122222112122122211112221221111212211222122122122222221222121122122121111111112222211112212222212111111212222112212212212221122112122122211122121121221112212122221121111111212222222112112221222111112222222122222212112212122122122221221121121221122111111111212111221222221212111121211111221211121112112211112122112111212111211221122222112111121121211222222121222121112211111211222121222222222122112222211212211112221111221221222122221222212112121211111112111122112121121222221222212212112121211112112211121211121212122121222211222211221111111122121222222212211211112222122111221212121122211211121221112222112112221122211212111222221111122122111121111111111111121221222122221112221121212111222122221112221122111212212122121122211222121122222222121121111221121222212112112112121111121111112112112121111121111211221222121222122121211212222122221222222221221112122122212112121222222212211212112122122212221222212111222112112221211221111211112112211122221112221211121121122221121111222211222211112222111122112211122212212211212121212121211121121212111211211111222212122112111212122122212122121222221221122122222122211122121212222222222111222121212221111222121212221111112221111221212122221222212212221221112111121122122122211121221121222212121111211121212112221121122121122112222112212121221222121212211111122222221221222111222211211121222112222222121211212122112112221122211122111222121211212222122212122112122122212222212122221212112122111212111121122221212221221212221222211111111112111122221111212212222221121211212212222112111111112221122122122222211221211121122121121121111111121222212211111111111221221112111222121212212211122221212111212222111211121221211211112121222121121122122222222221111212212212211122111111111121111112112212211222111211122221221122111111121121212211122211111221122211122112211122112222221211112112111111112111121122221121212211212111111112111122222221212221222222122221222111121212211221122111212122121121212212122221222112211111211222222112211121121111121112121221211222211221222211212111112212212211111222211112112212211212112122212111111112212122222112112111212121222112121112211122211122222212112121212121121212121122111122122112221212221222221211112111121212212112112211221112221211122212121111212112211222112121121121211212121212222122212121211112211221111212111211112112111121112222122112211211212222211211211212122222122221211122222121111112112121121111121221122121111221111112111122111221212111111212121211121211122121222111212121111221221121211211121122211121121222111122111112211221212211112111112212122211111221121111211211211221112211221112111122121112221212222122222212211221222212212121122222212121222121222111211111112112221121122112121211121221112211122212221121222112121111211211211212112211122112222222211112112121221122221112121211121122122212221122122221111221221111221112212122122121121111212222221111211211211211211211212211211121212211111222222222112112221121221222122221122121112112211111122112111112112221222222212122222222222222211121221221121111211221111222212111121112111111222112112121211222111221121122111111221221211122211222121211121122111122112121212121212111222222212122122212111221111221122112211121222222122111121222121111122221122112112222212211222122121111122212121121222122221211211212212211221221121221111221112221211121121222212221122221122111121112111121222222122111121212121211122111122222212212111121212211212112212112122122212122221221112112221112211211211122122121121222221221122212212221121211122212221122212112112221221222221111211121112121122222221212121111112221111112222121111221212122121221111222222111221122221112111112111112211222222111221111222211211111212112121222221212121121122211211121221221112122211121111222212112121122222211212221122122212111121211222111112122121111112122222212122212122222122211221111112212112211222122111221212111122121121112211112222112211212221221222222211211111112111221221221112111212112222211112222212121221212121122221112112122121111221222211112221221211212122222211221121121212211122212122222122222122222221212222222212111111221111112122112122122221121111121111221121222122221112221111212111112212122222222211212122211112112221222222212111212122111111121221112122221212112112112211111121221112122121222121211222121212121221121121111212111111221221211211121121222221221112112211112121121112111111122112121211212221112221112121122122121212111212212121111221122112112111112122122221111121221221122212122211122112211112111112112211212222221112221221212112221212112221212222122111222112222111221222111212221221222111212211221122211121222212221211112122112122121212111222221111211222222211211121211111121121211122122222212111122222221222122122111221112111211222212222222212221121122221122221122112211212112211121221122112211221122112111222112111211112112221212121112212212212221221112211122122222121122222211211111221111111112112122122212122112212111222122222222121212122222211212221122122212221212211112111122212222121222121211211222222122122112212111222222212121222122112111122212111111111211121221222212211112112222221212222212222122211111212112122121122212112122111212122222222212221121221222222211211121221111222211212212222211111222212221121211112112221121112221122222221121221221221111211221122211112221111111112112121221112122112222111111221122222212212122222122212112222121121121211121121111112221221111121121111211221111112122122221221112221121122222121121111221211222112211111222212221221221121112221121122222221221112111111121221112112221211211222122222121211222112222112222211112221211221221212222111122211121122222112121112112121122122211211212112222112111221122111121221122211112212121111112211222221212121221122212221212122222122222211112122121222211111211121211222112222222122111121121121211122212122111211211212222111112212221112112111212112112211212212112221221111221122111222212122222222222212212121221212221212122122212212111211122212211111112221221112112212211121112221211121121121112211222121112221111111211121121122212122111121112221112222121221121112111221121111211111221212122212211212111121211221112121221222211122112222111222111221121122122122221122222211212111112211221221111122221121122111212222211112122211222212221111122112211212212221122222211221112222221212211221122121211222111112121222111222221212211211112111121212211111222122122211121212122112112211122212111222221122122222111211212212221111112211211221122211122221121121112111122212121212122111221122122112121121222121221212211112111222111212122222211112212121211211122221112222122212222111212112112212111122211221212212221212122122221122111121121122111211111222121121222121211212122211221121211211121121121212111212221221212212212222112222221212112122121111112111211121211212212112212221111111121112221112121212121211221111221111122221221111112211111122122222211112221112221111221222211221112121221122222112122211112122211112111122112121121221222211212111211212122121121122222221221212122222122121211212212121221222122121222222212122211122121211112221111211111211221122112111112122121122211221112221111122121212222212221122121122122121111111222121122112121212112222221211212221111121112121222222121112122122222221212122122122111112211221121121221111112212111211112221221222212121122112221212222112121121211121222111211121111211211121112222222111111121122121212211112121221111221121121112121121212221121211111221211112112221122121111211212221222111111222121122212212212122122121221221112112222111111121222121212121122121222111122212211221211122221211221121111211111121212112222221221111212112222111121112121222112212122211221212122111222222111121112122221212122221221122221222211222211112222221112112221222212121221122211111222122112222112121211111122111122222111221122112211122122212222222222222212221112111221211211122121111212112122211121222112221212121112111222212222211121122112211221212122111111112122121112111112212121212212111222221221221122121121211122221122111122211122112211211122222222122111121212122222122122211221111221211121111122211112112221212112222112111111112222222111212211122122121211122121221221222111221212211121222212221111112212112121121222222211122221212121222112222122211112222222211122111111212212121122221211222212122112221111222221221122112112212121121212111112222212212112211111112212122211221222212222212221221112111222122212211112121221121112222111212121212212111111212121122221212221211112111212111121212212211112121222212222112111121211221121111222212112221211112111221121111111122112112221222221221211112211222212121211122211121122122211122221222222121211221111211211122212121121112212212222221221111221111222112121211221212111111111121121111121111222221121212212111212122211212121221111222212221121121212222211222122121121121212222222111222211122112112212222112112112112111211212212111221111212212121111212222221222111112212122212222121112121221222112212122222222122111211212211111112122221222122111222121111122221121122121121121111122112112111222211111212122211111122212111211121212212212212221112112221212112122212111122212212211121112211222222111211121111122211122221121112111112221212222112222212111211211112111121212111222111211112211121211112212222221111121212121111222112211121121112211112112222211121121211121221121111121111122112221211112121112221121121121122122121221111111222121121221122121211212112111212212222211121111112112212122111212112212212122212122111211122122111121112212122212112111112111122121122221211211222111121121112112122222211211212122112121211112111121112222122111112122221222212221111112121111212121121221222121111222221211122121122111121111221112211112112111212221221221222121122111212212212122111211122221121112121211212222121212121222122211211122111122221222211222121212211212122111121212111122212211112112121211121111211222222222211121112121111211221121211222212212211212112111121112121111221112222112111212212121222222211222122212122112221121111212222121211222212122111211221212111122122212222122221121122212222111221121221122121111222221122222111222212121212211211112222211211121222112121221111212112222111212121121222222112111211112221111211122112112122222222112112211121111221111122212212111112222221112212222212211111211211111121222222122121111111112122121122221221222221221212212211122212121221121122212121112222121212211121212212212222222222221111112212212121111121112221112212212221111212212212221212212222222212211221212221211112212122211111222122222221111211112212111222121111212211112111212222222121111122122112111121212222211221111212122212111111122211221122221111121212212122211121122222121111121222211222111221121212221221222221212111222211221111221221212221112212112221121111222211211111221111212122122121211112112122111211221122121112121122111222122221211212211112222112212111212211122111121221221121212221121121211111212212212211111221211112222122122111211221111221121222212222112222222111221221121111122112111222121222122111222221111122112122212222221212121111221111112122112222222112111112122111221211221121111122212222112112112212111211122211111211222112122111222212221111112221222122121211111222222122212222121211111222111221212111221111222122121221121221112122212112122111211221221221212112212111221112111212211112212112111221212122221211121212121222122112112121111111222221211211111222122122112111212111222222221121221112121211211121111212212112212111112111122111222211121122221111112222111111211221111111112121211221112221122222121111222211121122221221111222221112111211112122221211212222121112112122121122212211121112122211112121112211222222221221222212212111212111222112211222122221111112111112222121221212111222212121211121212111222212221221121112112112221212122121222122211121122221222221121211211122221222211122122221112121112122122111112121211111112122211112222121221222111112122211212112121111212212122121212122212222211121121221111121111221122211112112221121222122122221122221112111222221212222221122112212111222211211112122221112211122211221221221112121122212122122121122111222111121112222221112112211112112212211211121112122112112112122222212121121212121221212121212112121222112221212211211122222222111212222111222221121112221121121211112221121111222121221121211112221211121222222211211222222212212122221111212112222221112212211112222112222221111112112112222122221222211122211212222222212221211212121122222112121221112221211121211222211111111222211122121222112212121221221212112221111211121211211112112221222122112121121112221112212211212221111212122121121211212122221221211211211212112111112112211211212222122212221212212221112112121211121121111112121112122222111112221122221212112122112222122121222222121112222121111211122211111222212112121122112121111122111112122212221212222212221112222111221111111111212121212221122121221112111122121122121211112211112222122211212211112112121211111121222121121121121122121112222211112121121211121222222111222222112221122112111211212221112112122211122111212111222212212111211221112211111222221211111111122221222222221221221122212221212122112111221212222112121212211112211122221222222221211111211122212122122222211111222222221211121121121121221211121222222212122211222211212211211221111121122121112212121122121111212211221212112211111211211211112122212222222121121221211212122212122122221211211212122212221221122112122212222211212121121121221221122112111222121221211221122122122221121212221111212111122122111111211112112112111222211222221222111122112212221111221221121111111222211212121111221222122112121222221211212121211121111221222212111221212111221212222221111222121121221211222111212121111121111122222112211211212121211122111122122212112111122212221121211222122211111221211211112222111112211211222222221122111122121112112222122121211211122212121211211212211221121112122211111122212121112122122222212212211212112222221222222111112122121221211121211112112111211212111211212222112122111112112111222111222121111111222221222212121212221212221121212211211122221121221222121122121122222112122121212222221121221121221121111112121121111212111111111122221211122111111211121222222112211212212222122221112212211111211221121122111221112221212122222122221111221121212221121212211111121122112111212211122221222112121122121211212211221211111211211222112122221222121112111211222121111212212122111121222122121111122122111222212222212121212111222221211121222122222111212121121222221121211122212112212122112121211222111212121221221221122122211221111112211121112222221111122121111211222211222121122121212211211122211112211121111212112111111211222111122211122222211222211222112222222122222212122112121212212212121111122211122222212222112211122111121221221111121111122111112211122122222121121211111121211221121112112211111122111222222211122211122112122122122111221121222121112212212211111122121211222122211111122222112222122121111111121121111121211222222121212222221211221221112211221122111112221111221212211111112212211122221111122221222121222122112122121111212122112222111112111121112111112112121122122222112122211221211211221212221212121222211221211112122122221112222211221222112121212221122112111112222111111222122122111122121222122211111211212221222221112122112112111112122211122121211122122122221221122122122212211211221221122111221221121121211122212211211212112112211121211221111122221122121121221122221121222211112211212121221122112112122222122222121122221211112212212221222121211222111211221112211222112112111111121111221212121112121121111221112211112211121122221211221221112121222111121212222122212212221111122222112212122122112221121222212211112212211121222121112121111121112222221122221222221222211122211122221211212111121122111211221121111112212212211122122121121212211221211212212211111221221211211121122111212122212111121211112112111111212111112212111112112211212221221222121122122221112222111112121212221112111122112121211121221122111122122221222222111212212211122222212211211112211112111212221221221222111111122111212111121122222121212211111111222121121211222121212111211111221122222122222222221221221111111212121121112212221122212212112221111122211112211222122111122122211212221112122111222212212121221121221212111221222112211111122212122111222121212122111222112222112221111212211212121211111121222222121111122121221222111221111122212211121122121211211211211121121111221111221111121121211211212112121211211122112211221212212211212221122122112211122111111112121112212112222112222122222221121122122112112221221111221122211111212121112211211211121111111122121211212122121211212111221212212122122212121122111112112222221121112222221122212111111221121211121121211112222222212122222111122121121111212221122211112212111122211112212121121212122121211211111111212212122212222221212221221212111222111221112111211111122112121122212121222112222112221121222221222111212112112211212211121112122111112222221111222211212122122211121122211121211122222222221111212122121222211222222222211212122111111211111221121221222221111211221222221211121111121111221212221111212221211212221111111222112211112211121122212221211211112121122122211212222221121121111111211121122122211221112222112112122112112211112121212111212211222122222211111222112222222212222212122111121122122111222121111222212121112211222222212122111122112221121122111112121111222222222112122111112111122111222111212122111112222122221122112221212222112121212111111222122121211211222121212212211111111121212122111221121112111121112121121212121222121222112212211211121122211212111211121121221222212112221122111222111122222112122122121221111111212122121111111211111212221111211222112222212222112121221222212122112212112221122221211211221211211121222122111211122211112222111211222122121211222122212121221121212111212121221211221122222121211222112222121212121111122211221221121112122222112112222112121221211222111222221212111221121111212111211111112111121211112222112211122122121222211122121111212222221112122111112121121121122221212222122122121121212222211112122121111122121221222221121211122112122221211111211112112212121212221121221212222111222121121221111111111212121211112111112212111212122111211221121211221122222111121111222221222122222112122122111111111212111111211121211122222212211121112221121212122222111212221212121221111222212221122112212112111121112122212222121221122111121121111222112111111111212212111112222212121122121222212211222122212122212222211121212211211212111212121111111221221122222222112222212111221111112122121222111121121212221112212111212222222122111222221112222121121111111112121211111111212221111211211221211212112122121211121121222212221112111122212121221121112112212221211121212221111211121212121221121211211222121112122112112221221121212121122211221221212221212211111222212122221212211112222221221221222121121212212112111221222111111122112121121111121211122221211212111221221121111111211212112221222121212121222111221112221111121221212111111121212212212122122211212212122212121211122111212122112212122212112121121122222222111111122222122111221111121222121121121222221121122122221222111221211222212111111211211212221221221112111111122212111212111222221122222221121221111122222122211221211222111121122211121211111222122211222121212212212211111121221121211212211111212122221211112221221221122212212112211111121121211122211222221211112211121221212122122221212112211122212121222211211212121121211221122121111112212212122222121212122222211111111212111121112212211112212112111112212121112111121111122211212221121222112212222111112212121122121221112221211222111121111111211121112211212222122212122222121111122121221122221112222222211211122112222211122111212121122111211112112212212122222211222212211122111222121112112211121211112121211211122211122212211222112122112122211122222122211121111111122112121112212111121111211221212221212212111212122221111122112112111122111122112111121122112211122222211121122111111211212211212112111211111222222121212221212122122111221112121221112111222211212212111212111111112122212112121222221221211112122112122222122111212221111222111121222221212222212212111222221221121112121211222222122122221221111122121122121221221122212121121112211121112112112222212221221121211211112222221111111211212111122211222112221222122121122212222111221212122122112221212111121211122111221112122211222211222112211211111211122112222221111121121122121121222112122111212212221112221212121222221211211122112221121211221212221122222122212122112112111121112211111112122221112111222122221112121221211122212122122111212121211121112112212112212221122212122121212211221121122211121221212212211122112122111121122121211121121221122122122212122122112221212121211121212122112121221211112112111121122112122112212122111222121211211112112211212222112121212212122222122111221212111221121121111212122122211111222222211211211222212212121211122212111112112111222211212122211222211112112122121211211121211122112121212121122122222221211211112212112122212222211222111122122111212121121212111121122221211112222212211112222122211121221121122122122121122121111212211222122222112221212112222111121221221211122112111222112211211111211112212122211112212212121212221111112222211221111211211222122212221122112221211121212122112211122112122212111122122122221111221222212122111212221221222122111111121212111121221112111111121211121221211121212112121211121112121211212111112122221221221111222112211221122111122122211122211122121222112222122221222222122122211222111211111212122112112221111211211122111112211211221212211221112211121221222212111211111221112211212222222221112122122212112121221221211122111111111112112211112212121222122122222111211121211222112212112111211121221112212222211222111122221112212122121121112111211121211112211222112211212212221122112111212222212211222112212221112122211122212121222211211222222221111122221221121122111111122212212221211112212222111221111211122112121112111112211122212222221121222212211222212222222122222211212212221112211211222122212222211122121212121222212111212112121111122111121212122111121121211121111122112112211221121211121122222122222222111112211221112212111222222112111221121121112221112111212222212122211212221121122121121211122111212111212221212222122212222212211112112212122121222211112212121111222111111212212212111111222111212121112211221111222221112222212111221212222111211212212212122211112122122111222211122212222221112212211211122212222111211222122122212111221222121212112111222222221222111222222121112222211121121111121212111112211221211222211122112211112211111222121212122121121112112222111112112221221122221122122112222111112211111121222122211222222121122211111211212121221122112111212221111222122212211121221111112222212211112222212122122111121221221211122122111121211122211112222122221211111121121212212111112112222221121221112111222211112212211211122211212212211222112222222122211122121121211212212211111121112121121112221221111221122221111222221112212221112221111211111111222112221122222121112211222111212121221112122221212222111122221222121122211112121111111122121111112112111111211122222112212112122111221221121222111222211121221122111112121112221121211211112112121111122212121211221222111212221221222222121222212111221111221211122212222122222121112211122112111111212121221112212211122212111112111111211221122122122221112212112211111212212121122121212222122122212111111122221212221222111121222212211212221112121212222112221111212122122111221122212111111121211121122111111211211222211211211211121112122221121121111211111221111222212221212212212111212221221112121112211211221122112221222111121211111211111122122111112112221111211221122112222211111211111121121121121122222111112121111212212221212121212121121121122112221112111221111222112111122121122211122112211112112121112121222122221211112211121111122112121122112121121111211211221222211212122211121112122112211222111222212222221221222221222112111222211221122111212222112121121222222211111222112121121111222111211111212121222121112222222221212212122121111112222122222121222122112111112212112121122212212111121112212211222222222111112222122211111111111121112112221212111212111222212112212211212221111221122212221221211222221112111211111122122212222222222112112212221112221122211122211112121112112211212122222212111121211112112122212211211222122221121212112111222221212111111211112211122212121122211112222112112221111121222211121121221112111222221111221221222222211221222111112222211221221211111212221212122122212222122112221221111211211222122112122111121221212122121221211221211111121211221111111222122122211121111222112222211122111211122111221222122111222222212211121222122222211111111112221212112122121112111212211212221112111211221122221211222211221111122222122111221122212122112222222121212212121221122121211221121212111111222211211222221111221121122121122212211222222212122222121211111121212112121221222122212121112111112221112211112112122221212222222211111121121211222112121112121211122111111221122221112122211122121212121111122111211121121111111221211122122221121121222212211111112111211111112121121112111212212122121112212221112212112112122222111121221121222122111121122121121122122211211112222111211121111211122211111121221212212112121221122211111112222112112211211222121212121112121211211211122121111221111222221111122112112121122121111211121222222112212221122212212211121222211211222211122112111111122112112112221211121112222212212112122221211112111211111112112122211212212122212222221211222211112212212112112212112211121221222121222212121112222222211111212112122222112211111111211221221222122111221221211221112222212222222221222211122122212121222222112222121222122212121222112222122122121212221111122221221122121121111211221111221112212212211222221122122212111222121222211212111121121111121222222211121122112222121211222121111211112112121222212112211112122112212222212121212111211211121222111222222211122122111212121212111122122212222211212211211112122212121121122121222112112221112211221112122211211112112211112112122212222111212221222222111221122112112111221222212121112222112221212122122211122111221122211121212112121212121112122222111121222112122221212111121122211121222221121122221111122122211221211221222112121121212111212211212212111221112112122211112211122211211222111112212111222221112122221211211222111121221121111212222212212212122111221111111112211111112122122111121112222112212211111122211222111222222212112211122121212221222222222111211112122221211211211122112122212221122121111221221122122221222212121121221112122211121211121121222121222211112221222122112111111111112111221121221112222221221211211221122212112122112122222122211111121111211121112212121221222112112212212122122121212221122212221212121211212222111222211111211212112212112122111112121222121222221221111121122111122121111221121221222211212212122222222222221221111212222212122211212121122121221211211222221111121121222211221122111221211212211212121112111222122211221122221211211121221211222122211212212122112121111222122211111221211111222112122221212212112122212122122112212211221221212222121121212122212121111221112211112221211222221112111222221121211111121122122222222211212222111121111212121122111111222211221222222221211211211111222111221122212112211122221222112122111212211212111112211122122121111111121122111122111212112111122222211211122211212122212112222121211221112222212121122121222212121121121212211122121211112221122222121122221211122221212122222121111112111221211112121122112112221111112111121212211222111222211122122221221121112121121111212111212121112111212122222222221212221122212211221111121221121222211121212221212112212122112221211222222122222212111222211122211121222112211211211121212212221222122222112222212121222211112122221222111122222212211121221121121211212221212112212211212211112222122121211121121212111212222221121211221211122122222222121122121121221112112212211211221111121122221112122121212112222122122121121212211122221111212221121212111211211122112121111112221122112112112221221121221222121121212212222121212122212121111222221111211112211222221121122121121221211212121221111111122212212221122211221122121212211222111222112211212212222121221111121111121122212211211111112111122212211211121221111221112121222111222211212112221221212221212121121112211112122221122111211222121122212222222121211121212221211222221122122212222212212121222212222222121212211112112111222211112211212122122122111212122222221111111121212111111112222122112122111112221121211122122221111111222211211122111222112121111221122122221222121122211122212111112111211121212221122221112221122112112112112112111112111212212212112111122112122111211121221112122222212221222112121122111221222111112221222111212211122221112221111122122222121111111222221122222221111122121122111121121121111211111221112111122112211111212212112112221111121212211211112211111221212112211122112121112121211111112112221221221112111112211222212212111122222211112212222211222111112111111212222212121211222122122112212221222112211122111212221121122221111121121221112212221112122112212122212222211111222121212121111112111112111112212121221212221221112222222222121222221112211112212121122112111121112121122122122121121121112111221121112212222221212111112211221222221212212211112222111212222122212121121211211122222111212211121211112221121111111211221112111211111222212122221121111112122212121111121122112211211212111112221112222111221222111112221111211112212211112112211111212121212121211222111112111121122222212211211212112211212122211112112111211111112221212111111122222211112221111112122121211221122222122122111121121121221111122111111112222221122121222121222211221221112212212122221212121222121221112212222111212222212221121222122212122221122122211212121212111112212122121121112222212222122111221222112111112122212211121122111212111212211222121212122112211112111212112222122111122222121212122121221222222111221111122112121212221211111212211112222221211122112222111221121122111112122211221121111111121211212122122212222111121112222122122121122122211222111221222222111221111211121122222211111222221111222211121222121112211212222122222212212112211222212121211212112112111211112212111111221221212111212221121112122122111122212222211122121222212222211122121121112222111211121111212212211111222212221121212122211211122211122121112111111122122221222221121211211222121111211111111112221221122222121222212222221111221222212222122112122222211211221221122211112211111112122112111112212211111111211222111211111122221122221221121121112212112111111211122221221222211112212222121211211122111222121112222221211122122211211212222112121112112211112122212211221211111122222122212112112121212112222221111122121112121111111222121121221112221211212121221122222121222121121112221111111111111221212111111111222122121112221112121212122121221122112112121122221211111211122212212121221221111122122221122211112112112111111112111111222221112211221122211221211121122122121122111111212212221122121112212122222222222112212122112121212121112111221121212122111111112112212221111121122222211121122211221121112121111221121112112121122212111111122211112211212122222222111111211212222121211121211212111121121111122222222122121122212222121222121112111122222212112121121211121221211121211112222222212112212211221212111122111111222221122111122121222121211112212122221211122121112121221211211211121222222112122121122221211221211211221212222122221121222211212122112121111122212222221122111222212122112111221112211222112212122112211121212122222111111121122212111112121211111112121111212112122212122212111121221212112211212112111212111122111122212122112111212221112211221121221111212211112111121111111212221222121121221212221212212122111112112122121222111212111121111211121211222111222112211212121212221222222222211222211211121222221122111221112212111111222122221112211222211211121112221122111122121112122222111112212121112111111111122112122111122122222112111221222211111111221111221212221222212111122221222212121121111212222221211122211222122111121122112212221212111112211121222112221211212122121211211212211221111222221221212112212222221221112211221112221112112212112222122112122211222121122212221211211221121121112212211212121212221211112221121211211222222222111112111122121111211221122111111221221122222111122121211222211111221111112211221112112212222212212111111122211212211121221221222222111112222222221112111211122112211211222212221111211121111211111112212111121212222212121212122222212211121121222112122111111122222121111211121122212111221221221122111122121211222211112112211121122111211112122222221121121221122111222112111222112211212112112121111222211211211121222121112121122111112211221221111221121112222121112211211122111111111112111111221221221211211112211121222122121111221211222111112112112112112222221121111122111112221222211122111212222111111212121211212121112112221222122121112122122211212211221221211112221221121121221122212112121112211111221122112211111222211211211211212111121211222112212211112121121122122111221111122212112121221221211222122221122211122111212221111222221112211221212111211122211211221122122212211222211221112122222122121122112121112111212222211121111122221111212122121222211122122221111222121111221111212212222121122121112111211112212122221121122121121222221112112111112112112111222112112222221212111211212122221222212212122221211112121112122211212211211122212212111221121121222121222122121221122221221111222222212211112222212211122211211122122221122112222122212222212222121121111212222222122111122122112212211121211111212121121112221121121121122122112211221222122221121111121112122212221121111112212112111212222222212221121222111211111111121121212221222222221212121112121222122212211121211111212211212212211222221122111221211112111112122212211222121222221221111221221222112112212121221211211211122212221221222121111212212212222121122121122212211121212122211122221221122111221211211211211211121112121212211122122112121212221221121211212121211122211121111121121121112212122122122122211222112222111122212212211221122111211212122221121122111221211112212112212222222121222122112122212222212111222221211221212222111122211112211112212222221122222122111112121112112121112122122212211112212211221211212221122112211221222122212222121221122211211121222111211112121211111212121122222211222121112222121212122221112211111212112111222122222111211211212222212212122212111121212221112221221221211212221221222221111222122112221212121211211122121112211221211212111112221122222112211211122122212211112211121222222222211221121112221212121212222112211212212212112212221221211222112112211122121212112222121222112212221212222211121112121121122222221222222211122222121111111122221211211222111221221211111111111212112222111221221212122112222112112222221112222112222111112111221122221222112211122122222222221111122111211211111211121212212121221212111212121222222222112222211212211221111221112222112212122221112212111212112221222211121121212121221221212121112121112121122122221222222222111212122121222111121221112122212212222121111222111112112112122111211211112222212112121211112111222212112112122111112212112211211121221212111111111111222122122122212211122212111122121212212121111112121212221211122222121212112222212211111112122112112222111222221112121112121122111212111222111111112222212112112122112211111221221222222222222122212222122122112222212122212111212211212121212121121121112212121112212212211211111212222222212221111112112112122222121212222212212221121221111121212222221112222222121112211122112211112122122122121211211111222212111212211222221222221211222112121111211221112221111111221112212221221221211211121111221221222122111121111112112122112222121221222121121212221121212212122121222122122221112212111221222122121212212121122211111212122212212211111212221121121121211112122211212222112212112112111121112122111221212221112121111212212211112211122211212121121112221111112222222111121222112212122112112111212122212212212111221222221211111121221222121221112121222122112221111221211112111212211111222122122121211212221112111112221221211221222122212121122112222121211222112222112221111112221112212212112211211111211222222211122121121121211221211111111221111222222222221111112222211121122122222222112112212122111111211221211112122211112222222112222112111121112112211111211222111112121211121222212222111112112122211212112222212211212212211121212222221211111122122212212222221111121221211211111212121111212221112112212221112211211111112222211121221111111221121122111121111222221221112222211112121212111221211221212212222211222112222112211222122221222212121222111212212222112222221121211122122112211222221112221122221122222211212212112121112221122122121112221122121222111122111121212121212221212222121222222111212111121212121212111122222112121221211222222211121121111122121212122121212221211211211112212211122211112122111222111111121211122121222222122212222222211122212112112112211121112111212121221222111212211121221112221212221111122121211121211121212112112221221121112212121221111221121112221121121111111122122221112121111211212212121222221121212111211212111211221112112212212111121211112221122121211111111221121121212112121111121112222111212122111221111212121122211112112121121111121212121222221212222121121112112211211212212212121112222221112221222112111211222222222121121222111121222112212111222222222112111111121122221122221111112222122212111222121222111211111222211211121121121211111111111121112221221121212222222222222221111221122121112221222211111221112212221211112122112212222222122221222211112222222212111211122211222221212111121211111121122212222212111212122212121111112211212211112221212211121211121211211122122221212211111122221221222212112222222112112122121211221121112112222212122212212211222222212222222211221212212221121111212211122122121111211221222112111122212122112222121212111122211221111222211222211212212121221112221122221111121221212211111222112222111122221211211221112122121222212122122121221122212121122111222111121112112221121121222112212211212211222121221122112111121122111112211212222212212211222111122221122112121111222221121221112222122122222111212211221212221212112212221221222121212221212112222212122211221112112211121112211122221111221121121212222221112122122112221212121212121211122221221121222112222112222212221122112222211121111221122112122221111121122211221212221211122112222121221221222111121212111111112111111212212112121122111221122211111211112211111111221122112111121112122121112212122112211221222212222121221222222221122122221221111112122212221112111121112112211121122111111222111221111212121212121111222111121112221211221221212212211122112121222212212211222211111211111211111212121112112121111121121222112222222222111122212212112211212211211211222122112122212212211121221111111111221222211121211121221111212121222222121121211212112221222121112121221121122222222111112111212211211221112122211121212122112111112212121222222121121112122121212122121111121221221211112212122212212111122222122222221222222111211221111222221211211222211211222221211121212121122121121211212112122122222111111221211222111222121122122122121112222121121211212222112121222211221111122122121211122111222111211221111112121221222111122212211221111221112211111211222112222122221211222122112222111221111112221211111211122111221212221112212112111112222122221121222112212121111112121121222112211211111211211112212112221121121122121112222211211222111121112221112212111121221222112212121122112112112211222212111211211211111221122122212122222211122211111122121122121222212212212212222222122111212222211222221112222222222122122212222221221122111121222222122111112221111112222121111212112111212121121211121222211111122122121121111122212222112221111211221111111111112221211212211121122221121221122222211121211121112212211122122221122121112222212221122121121111222222111211222121111221122121121111121111222112211122121221122221111211221221212122222111121111122111111212111211121111111211211222212122112221122222212122222212212122122212112121212212111212111111122222212112211222221212111211111221122122111112111111211212121122112112211212112111121112211221122221221211222121121221222112122122211111221121221222112212112222212212121111211221212211222112112112122212111111212112121222221122122221112212212111112211222222111222112121221122222212221111221221122112112122222212122112212212111221212112111211111211211122212222121112211211111121221122121122211121121121212222211111111212122221222222211222222222112112112111121221122121211122121112221122111111212111111222121121121121211121122112211211111211212222221111111122121211221122222221112112112111112111221221221112111211121111211121112222211121212221222122121211222122212211121111222222121221121121111212111222121111222122122122221122112111222121221121222111121112122212122212111221121221112111222122221121221211121221121221122212221212121121212211212211211121211212111221211222221122221211211122222122121221111212222122112111212122112111121122121122222122212221221211112222112121211212222211121222221212211222222222121121112222222112121111222122121211112212211222111211211221211121212112112212122112112212122221121222121212122221212112221111121122112211212221112121212122121211222221221122122121112212212221112122121212121111211212121211211212112121122221221211112211211211122212212121211221211211212212222121211212112212212121221221222121221111112221122212111211221222111111112111111122122111112112211122111222221122222122122112112112222122121212212212222121122221111221211122121112212112222221211221221112212121122111112112122211112121222112111112111121222121222122112211212222221221111111111212112212222111211122111221211111121221222211122221211221212221212122122212212211221111122221221112211222121212112111222222222112221121212212122222122111122211221111122122122121121222112221121121111222122121122221211212212112121211121221122222121112221221111111212112212221112222221121112212111111121221122112122121212212222122112111122222221212122212212221112211112112212222221121222122121111122221212211111222211112121212121211211112212122211111211212112111112122112221221221121122122212112122112222112222111222212111222111111212212121112211111222122212212121212212221222221222221212212221111121121122212122221211222111222212222122121111212111121121112112211112112112221222221121122112221122111111222111122112212111211121222111221111212222121111121111212111222121122122212122112222222121211122112222122111112212112121212221121112121221112111212111122122212122212121222221211211222211122121121212111211222222221122121121221121211212112121212121121121111221222111221212211221211111121122212222222212221212212111122212111212112112112222212222121121221112222121111222112122111122111111111221211111222212112211212222111111222211111212111112212222121221221212112121212221122222211121211221111222121212221112112212222211221212221212211212221211211211222212122111121111122122111121221121222222121221112122121222222222221212122111111221221211122111222112111112211122111212211221221222112212111221121111112122122212221112221211111121121112211112122221222212122122111211122221121211211121221221221221112221212112222122212122222221211211222211222222122212112212211221111112211211112121211121211222112111212222212211112121122222122111212222221121111211112112211211121121221221121121221211222211211121111211111121122111111112222212122221211111122222112211221112221212121211212221211222212211121121121122122221112111121212121122212122221112112121211211211122122122112112222122221121212222112222111112122122212121121111111222211212222221121222111222221212211221211122211111122222112212222212222121121211222221111121222221121222112112211221222121121211221121211112221122111122121222111211221121112111112212222111122111112221212221112112112112212221222112222111121121121122212222211122112122121211222221221222121221122112212221212221122122111122222222122211221222211112112111221222211222221221112221111211122211211211121222122112111121212111212122212112122212122211212212221212122121122112122221211112122112111121211112122121222112122111122212111211221112221221212211122121212111221112112212121211121221122222122211221121211122221112211121211211211211111222212112212111111221212112211111122122122122111122212112121211221211112222211221222211121112121121212121121212221211122212211122111221212121111112111112212121221111211222221112212112112221211211111222121212212121112111112112112212221211222121122211211122211212121112121222222222111212111111111211112112112112122111211211212111111122212111112122222121211122222221222211212112122112212112111121111212121211122211112212211122222212222122212221121121222112221222221212221111222211211211121121221122221121112221212122212211222111111222121111222211121121111221222122122221222212222122122212211212221112222122112222112222221212211211121112112221111212221211121222211221111212111111121212222121212121112121211212122122112111221111221221222121211121222121112122112111211112111121121211112211122112212222221121111221221121112212112112221212122221121211122212212221122121112222112211112122111112212122112112212212122112112221111121111222211122121112221111122121121211221221122221111212111112121122111211221221212111122112212121111112222211122121211122212122111221112112122122111211212212122122222112221121121112111121221112221111212112221111212121112211222221122212212212112221221222112122211212112112122221122121222111222212211111112122212111112212211121121211212222212211222111221222222121221112222222222111122222221122111222212121212212122211212111122112212222121122121112212111222112211121111221121211112112111122221112212121122112221222221221211222111111121211121122111111111111211121121111222121122122211211111111122211212221111222222221122122112112112222222222212112212121121112222222212222121122211122222121121122112111121221211121221112121111122121212122111211212221111222112221222212122111212121221121211211122112221121112212112212111122221122212121211212121112122112222222122111122121111122112222121222112221212222122212111211122222222221112221121111112211111212122111111211122221221211212122211211221222222212212112112212122212212122212111112122111211111111112212212112112211221122222111211111212121112221222122211122121111122211112121211211121211221122121211222212222212122122112221211122111121121212122211111222221121222221112221221221121111221112222222211122121121221222121211211112122111211221211222112222221211112121221212222122111221121121212222221222122112111222112221221111122212212112221122222121111121222212222121121212112222111112121122221221111121112112111122111212211121211222212221212112112122122212121122122111212121222212222121121112122212212112121222221222221121112222112211122212122111111221121111111122111221212121211121212222111222212222121221121222112121222221222111211111121112211221212121211121221222211121111112221122112112221212221212112122112212122112212121121121121222121211112111212112111221121111121222211112111211111112221111121221122122222221211222211121121222211112221112211122222111111221111211211221221211221112212222111211122112222111121111211112212112221111122121211112122112122112221222222222211121121121111112112112211222221221211111112112221122221212211211211221212111222121121111212121121212111111211212112112211112212112211121112111112222222212111221222111122122211112221112121212112222122212221122211222111221121122221112222211111222121112122222221212122212222112121211212222222122122212222222122121221221121212112112211121121122212121221222211222221212111122122222211112222211212222111221112111221111211111212112111212112211221211112221122211211212122111221212122111112121121211111222122222211112121212121211111211122122221211122122211212122221221221122121212122212212212111222111121211211112222211111211122122112211221121111112211221111111222211111111222112221221121211111211222211121221221212111112121111211112112121212211112222112112212111221122221212211211111222112222122212122112222122212211222121111222221211221222211122212111112112122111112121121112222112112221121222211122222221211122112122222221112111222222212112221111221211111112112222221211211112111122222211212121222211112221222122112112121212121112221121122112111121222122221222111222112112121111111112121112221111211221111121112212212211111221212122112122112121121212212111111111112222112121221221121222121111121122121111212112121222222221122112112121212221121122221222111221121121211211221111222112211121211111221211221212221112221222222122212111211221212212211222222121212211211212112212212121121221112212122121212122112122112112122221222221122111112222122122111122212121211122112212212122221222211212121212211211222221211211121111221211211222221222122221122121122121122222212222112212222211111111122211112212111111121221211121211211121111112121122212112122222221222222112111222112122221111211221122222212121121122212211122112212122211122212122222121111212111221212122222122212112222122111111222211111111111122222121112212222221212112111122111212111222122221212111111221122211121211221111212222212122221122111121111112122221111222122221111212222211212122211212112122121122122221221121221221212121222122112121211112212211221112112111211222122212122111111122111111211212222221112212222112121221222111222121221122122121112221222111221111121122212122212222222112222212211211221111121212211222211221221212111221121122221122121212121122211222222221122222112222212111122211112222111222121121121112112212122221112121111211211112111112112211211222122221121222121122212212211111111122111122222111121221112121112212211111211121122122222121122221211221221212111111122112112111221211222122121221122111121222222122212211121211212212211121122211221122122211121122111221122121211111222111222111222121112121221211112121211211121211212221212221112221112121211211221222211121112212111211221222221122112211112111122122211121111212111222121112212212121221222222121221212211221112112211111212121121212222211211222212212122222211112212222111212121121112221122221212221122212221121212121111222111111111121122121222222122121222222121111211222122121221112212122211111121212212222122222121221122121121122112222222222111222211112122121122221112111121111211211221112221121111211212212122211122112112121222111111222222111221112112121111122212222122111222112111222222112122222121122112121221122222112222222212212221211111122212121121112212111122212221212121111222212121212121222111212212112112111212222111111121221212122211111212211111121222212212211221212221221212112211122221121112211111222221122122112111121211212221212121222221121222212122212221121222222222121221212111122122112111111121111122122212211121212121112111112112221211112122112122211211121121212112122122112112222122111212222222222221221121211122222221111112111221122121112222122112212212211111211211211112121212121112111111211122212221121112112212211211211111121121122221212112211112111212122222111121112112211211211212222211122212211111111212212212212121221221121111221122222121221121211211212122222212122212122222112121211212121112222222121122112111111212212222212122111211221112211221121221222222111111111211111122111122221211112122222211112212222221222221112112211112111121212211222212212112112121212111121112221112121212121212111122111212121112222121111121111212221121222212211221211121212121122112122112122211122212212212122212221121211122212212121122221112112211122112112222221212111112212112221121121112221111222112121121121211122212221111211121222111121112112121211122212221212221221111122112211111112221112212111112211122211212121221112122221111212221222121111112121111122211221111221222111122212111121122121212212112121122111121222111121112222221222122222211122212112212212211221111211111121111112112212112222122111112112211122121111211111211222211222111221221212221211121211212122112212122222111211111122211112121211211211211122212221212112212112221221122211211111222211212111122211212222221121211221121111111212211112211212121111111111221122121212211111111121212221122112111112111222221112212111212111221121111122221112122112222112212222222212221212112221121122111221212122221212222121111111211211112122221112122112112121112122221221112112211212211112221111121222111121112211222211222222122222111111211112222121211111112212111111121112222221211122221222222221212212121121122221222221212211221121122121122111222112112111211221211222211122212212112212212211212122121222221112111211112121211122112222212111121112212111212112111211111212221211112221222221111122111211222211221111222222221212221211112222111221111211111112211221112221112211212121221112122112111122212222222222121121122121221121221212222212121212111111222221221121121221112212221122212111222112112221121121111111222222222122222222222221222112222112211111112212221121222221122111212121212212112122122212122221222211222122111211212211221211221222121111112221211212122112212222111212112112122121111222211122111122122222121212211221111212212122122211211212212121122221221112222221222221221212122212221122122111211221112222212211112111211212212122122111112222122122111112111122111112121211222212222122121221112122212112211221221112222212222112212112122212122112221111211222112122222122222112222211111111112112211222211212121122112212121211222112111111122112212212212222211222222111111112212111222121111211221212112222221122111211111222122221112222111111212122221122111121111111211121112222211122212122121212112121221121122211112212121212111112112211211211121111221111211122212211111221222221122211222112121111222221111121121112111122212221221212121112122221111212112212122111121222221211122112211222121121121221112211122221211112122111211111121212111212122221122222221212221212221212212112121212121121111212111112121221122222221212211211111211211121221121211221111221212111211222112121122221211112122212221212212111222211221122122212222221211222221211112122112221211121122111211111221121222212121122121112221222111112122212122212222112112221222222221222122212211111211212212111212121212122211222122211121211222222211211112212122211122111222121221122221212212221221222112222111111211112211212121112211212222112111221222121112111122222211111211211211112212211211122112112121112121122121222222221211222211121112222122122111212222112111211122112211122222212111121121121221121211111221112222121122221222121221211222222212122122121221211211112112211122221221121122121222112211212221222221112222122122122121221122222112112212122221221121222112122122211112111211212112112212111112122212221212221111221222121121112111222111122222121121222122122122111112222221212222211212121212121222112112221112111221112121211112222211222111112121122112112212111211211122212212112111221222111122122221122221122211111212111212111121111212111212112221221121112221222112211112121222221222221111121111221211212211111222122221221222212212121222111221122111222111222221212122212111111122221221211212222212212121222212222121211212212221111111211222222222121221212122121211212211121211112112121221211212111111121221121111212122222211112211112122212222222111222211221121121222121121212121122122121221111122211122222222112122112221212122222111112221212221121111112221221121122212221222221221111221111221122111221222121212111112222112111222222112121222111121211121111211211222121111121121111211212211212121112112112221122212212222112111221111212212111212122112111111221221122212121121211222222112221112212211212111121221112122121122212212122211121211211212111212221212211221212122122121111111121211212221112122211111221222222122121122212121212221212111221121111222211211121212221121112211222212222112122212111212122211111122212222211122112221122212111212212122222222211112221221112122112122121211122111222111112122221212111111112212221121212212222112122221211211222212211211112112112111221112122121122221221111111222211121222211121222121222121222212121212111112211222122122111122122211121221122212112112112122122111221111211121112121111222111211122211211222112112112222212122111121121111112212111222221122212222122122221111112222121211121211222112222121112112121221112122221112212112212121211221222112212221121212211121121212221111112222112122222112211212121212222222212221212112122111212212221222211121112222221221222112222121221122222211112112121211112122222122112211111121212212222222222222211121112222221222121111221212122121111111122221112121212212121121112121111111122222211221211211122111122211111111212211111122222222121111111121212111211211112212112221121221122222211111222212211222112212222222111121121222121121211112211222222211212121122121222122222212121111221211111222122211211122212221121211121121112222112221221211112211212112211222112121211111122121221112111211111212212122121122212212121212212121111111221122121111121112212222122121122122212112211111112122111122121212112121122212221112111112121222212212221122122212221111222212222222212221222211221211221221221212112222111121212111122212122222212111221221212212211112221121221121212221221122122221111222211111121212122212222122121111122222111221211221121122121211121222221122222121212111211221221111112111112111111121122121111211111221222212111211211212122222122111211122111112122122211111211122212222211111121112122222111222211112211122111121121211122222122122122111122122112121121221221121212222212122211112112221111121211211112211222121121221122222112212212211221112211111111111111221112122122222212221112111221121211222211122122121221221211222121112212111222112212121111121112111122121111111122212122111221111221121111222211211211111212112221111121122111221212121111212112111121121211121212211111122121222222221121111211121111211111221122112211121122112122121211122112222222221111222122122212122222211111222221211121121121221111121121112211112112222212211212112221212222222222112122121212112212211112222212122122212122222111111121122211122111211212111222222211122122222221221212121212211221212212212112111111212222112121121111122212212122221122111211212221111211212211211222112222222221221112121111222212212121221122211111112112212211212121121111211221211211112222122122111122111111122121211112121222112211212211122212222222112212212111221112212121122122212221222121111122111111111122222221222122112222121111111121212122212121111222222121122111212111211122112211121111212111111211112111221122222121222112211112222221121212112121111211112122211122112212112122112111222122111112222122122121211122112122121212112111212211211112222211121122121122211221221212222222211122212212121222221122122221121122111212122111212222122112211221212212122221122121211112222112121221122212111112121222111121212211222221112112112222222122221222212212121111112221212211212212111112111112111122111122121111112122222222121112122121222221112212212112221122111122222211211212212221222221222121222211212111112221121111221112112212221221212212211211122221112121212212111112222212111211221112122222111221111221221121222122221222122221212212211122221122211111221221221222112122222121222222211121212212122212221112211211122122111111212221112111222121112112122212122111212222121112112211212222211121211221112112221212222112212112211111111212222212222112111121212121221212212212112111112121212221122222112121122222211121212212222211221211111111112111221112112111222121122221211212221222111222121122121211211212211112111211121112112112222211111212212112122112212112111222122212212111121212121122221112122211221121122221221112211122112122221212112222211111111222121211121122112122122111222121121222222221121122212111221121111111222122122212221222212111222112221212111121212111211121111121121221111112221112211121112122111222222112122222222222221212221112112111121121222112221212122122221111121221121211111121212112222121212111212211221212121222121212111122211212222211221222122112212221222121111211221121222221112122121111221211122222112112222122211112111112221111111212212221112212111122111122121122121111121121222111212111112211112112121221222211122112212211211221122111121211112121112222112112112112211211122212112221122212111221112211212121212122222122112222212222221221122222221121122222112222112122112112221122121112211121222112221122212211222211112222111221121111222212221111221222211221122112212211212112221122212222221112111112212221211221212221211121122111112222211212112111122122111121111222211122111222222122122211212122221212111121221122111122212121212222122221211111221212122112111221222211211122112111111212121112211111211211211212221122211122211211211122121122211111212221111222212212122222212211122221212121122122111222212212222211211121121111221221121211221122221221222211222211222122212112111111111112221222121111112112211221111211112111221111222122211211122121211221211222122222211222112212121211111212221121111121112222121121212212211122212212212112221221221222111212122121111211211112122112222211221221122211111221122121221211212212221211122122111212122121112211111221222221122122222222221222211112111121121211221211112122211221111212121122111211122121222111112211112112222212222112121222122212111212211122112221212212221111222121112211121222122211122211112121212121122112122221211121112222122211112212111112212122211121122221211111212212222111121111112221122221111212211121121121221111112122222221111221112122112111121121221221222212222212122112121212221111111212121121222222122111222211111122212211212121122221222211212212111112111212212122112212112122222212221122222222221211221112121212211122122221111222121122212222222211122121212212111112122111221121121122111122222221211222121212122212211122212211222221221221122122121122112222211211212111111122212122122222122212112121212212122211111221212112121222112112121222212121121122222211222222112212222121212112122121122122121111122212111211221111112111212111221221212221112211221122121122111211111222211221211222122112112112222222111121111112212211211221122121112211122221222121221222222212211221111212222122121212212222112211211111122121221222211121122121212221121111221121111222122211221112112122211211222222222121111112111112212211211221222111111221211221212222221212121222221112122222122112111222112111221221212221212211221221122121111121122222121122122122221222221111121121221121112212222121121211221112111121211221112121112122221211111112221122211212212221111221211211121211221111121211221112112121111212222121121221112221122111221211121112112211122111122121211111122211212211221121121122221211221222221111122222111112221211111222112111212222121111221212122121121111122211212111212111211121122122111221212221111111121111111221121222221221211222212221221111222222211121122211111112112112212222212121112122111112222222221111122221112112221122211122211121121212121121122211122212112221211212212122112211111121122221222121122121121221222211122112112212122112111212211211222221212121221212211111211221111121212222212211212222221111121112212121121121122111122122211112212112121122212122121122111212112221121121122121211211222111212121112221211222121122112112212222211222211211112211112221211111121112212211121211211121111221212212122221211212122121221222111221221211221211121122122121111212221211121122111221221121222211122221211221222222122122122222221122112111111122221122122121121212221212112112212221112222212221121112211122222211121121111122112122222121122121222121121121111211121212221121221212122222222212222112112112212112122121111211221222211121222211212222221112121221221122111122121212212221122112211122221211211122211112121112221221111222211112111111112121211112222121111111111111112212112122221121122122222222211222121212122212212121121211212121221121221111111121221121221211221221212121111112121122111211222222221121222212222122221121111212222221221122212222222122122112222111121112221212221121122222222211122122221211212112221121212121121112211212212111122121211212212211122222112222221212222122112112221121121111111211212211122211112221222111111122221112121212122121112212212211112212211111121222211122211111121121111221222221122211122111211111111112222121222112111211222112112122221111212122112221211212122211121222121222122122221212221122112211121111211221122221121122121111112122112212112111111211122112211111111221121211122212222221212121112112122111222112211221212112211222222222122121222222121221221122112122121222112122211112112221212121112111122121112122111112211122221222222122112212222211112222111112122122112212111211122212111122121211122112222222111112121221112222211222121222212122112222211211221222112122122112112221122122221211111222112121112111212112221221121211211211222111211112122212212121221111212121221111211212121121222121122121222211211112111212222121222211121111121211211121212121111211112221211211211221212212121222121211222122111122111222222221111212212212221122121222112212121111212221121121122222212211211221111122112211111121211221111111112112111222112112212212211122112221111112112121222112222122112222222222212122122211112112112212221111122211122111222212111122211211121221211121122211121221111112111212122121211212111221212212122211112211222121221222111112212212221111221111221111211212111111222111111222211121222221212122121121122212222211111122211112212222222212122222121112212211212211222221112221121221121121211222111112221211211111222121221212112221121221122211212211121121111111222211122221111212122111122222121212121122222111112221211211112211112122211211111222221122122212121111121122221122121112121112212122222212221212212212221221121212112122121222122122212212222221212222222122221121222211111211211122112222111212211111212112212211112121112121122212212112121112222122211122211122212221212221212122221212221222121122111221122121221212221222212122211212211112222221211212212121222112211111122122112222121122221211111222122122122212221112122112122121122112112221212112212122221121212121211112122222222222112111221221221121212112211212222121221212212111221111122221222212221121211121122222222112122212212212222112122122121122212212211222212222221122112221211212211111111212122112222112112111212211121212212212211122222212111112112112122121122111122212111222112222212212212111122221121222212222121112122212222111111212122122222122112121121212122122212121121211222121122122122112222111111122211212222111122212121111212222112112222111212121121112121112112111121111211111121211212112121221112112122112112111221212221121111221222111212121222221222222222212212211122122222122221112222112121111122111212111122211221112111121212212112211121211112121212111121121122212111211112212112211112211112222121111221112221221222212111112112221211222122212212211111221122121222112121222111212122221111122211121212111211121222112112112122122112122121211222122211212212122212222112121112112222222221221222211212121122212121221212121221112222112121111212122111212221122221221121222111211122111121121211122122221122211122111122211221111121212122212222111112222112222221221121111111222222211222211121121212211112111112122211222221122111212212122112222221122121122111221112111112121211221111122112211122121122121122121121212211121111221222111121221111221121221211111211222221121211122121211221221122122111111211222212112122222211112111211122121111121222111112221122212211221121121221112221122211212212111121221121122221112212212212222212222222111122122112221221211111221211111112122222121112111212111112122122212222122212212111112222212221222122121211212222211112221221122211121221221122121122111211212111222222112122211211112111111122112111222212212111211111112122221111121111112111211222221212212122111222122112122212212212112112111122211112111121112121221222121121211122221221112122221121122111221112111222211111212122112211121122212212211221212222222112111122111221222212111111211211212112222222221122121122121222111212222122211112222111112121221121122111111121212111111222111112212212221211111222112212111221222222212211212122211222211211212121122212212221111121221122221111212121111221121222111212221111222212121111121122122221221112211112122111112211222211122122211121222212222111122222122121111222111221121121212122221211122221211111211112112111111121221211112111122221222112122211211221221222122221111112122221112121122212211211111111111212111122121111112211222112122121221122222112121122112211111212222211211212122222211211111221221221122211211111121212211212222212211112112111122112121212222221112222211211121111212211121122111212111222212212212211211212112212211111121212222112111121112212111212211111111122111121212212221211112212122112122222111222121111122122222222221212121222122221221221122212222112122111211122112221221221121112222212121222112211211221221221222212122212111111122122122222111122222221112112121222121222122122221221112211222122221112111211212112111221121111122212221121221221112221212222122112211112211111212222112112212111112121212121122112221212222122121112122222212221221122211112212121222121222121211111211222112122211122111122222212211222212121112222111221212112221222122121111111121121222122112212222211212112221112221111112111112111112121112221111112222112221112221112121121212221112111111111121222212212121211121111221112212221121211111212111121122111212122212121212222221212112212111212112222211221221222111222221221122112221121112112212112112122121122111212221112222121222212121221112212222221122112121111221221212111122222122222112121221221211111121222111212222212221212221211222111122121211111221111211121121221211211112122122221111112222221212211121121222121111211122211221211121222112112122112111211212122112122211222222222222111111111211221112211121221211112222122222111122222212212112111122111122212211112212221111222222112122221122221121121111112212121121221221212122222221222112222121221221221122222112211212221112212212211111122111222121121222122212211112121221112221121111211221112221121222122111211111221221122211111112222112112112212212212211221221222121112221111121221111112221212122211112122212211222111121221212211112121121111122221212122112211212212211211212121211211221111112111222112211221222222212112211211121121122212122121111211221211112211221221122121211211122212122112212211221221211211211211121112111222211221211211211211222212221212222212111212121222122222221212112111121212211122211111212211111222222121112112211222221221212221211212122212211222222221211222121121121121211222111212111222112222122122222222112212221112211221112122122122212111111112121112112112211111212122122222121222121111211221121121121111122221122112212112212111111112222221222122121222112212211211122121211111121121221212211221222212122211221222212211222221221121212122121211111212212222111212212221121221112111211221222222121221112122121111121112121212212122212221121222121222121212112122111121211122111122222212121211211111122111111211221112222122112221211211122122221121222221111121221221112121212211222122111222222112121111212211211111212122211111111221121112221212222112222212211111211221122122122121211122121112112112221121112221122212122212111121222212212212112111211121211222112121212112211121212121122221222112222121221122222212121121112111121112111221122212112211211212211222122221211121221212211211211222121211112212212112211211112111111222212111121222111122212112122121121212222212112212112111212121222222112122121222211211111221222222211212112222212122121111122111222222211112211212112222221221221211121222111212121122212222211211122221121211111222212222221222221111121111121112211211211122222221112111111111221122222122221112122211112211122121121112121122222121221121211111111121211222112212212121212212112211212222222122122111222221112221221112111121211222212122111221222212222211112221212111212112121122222221121122121111121222121222221122112111111121222121122111111112121221222121222212222112111221111211211211112211211112221121122222121222111212112222122112222212211221221112111122111122212212222212211212221221121212111211212112121112112212122111221111111211121112221212212222122212222212222121221121221121112112221122121122111112221111122212221211221222121222222222121111221112112122121112222121112212211211121221112111221111212212122121212221221212222212111222212211222211211212112122112221211222222111212221222112211211212222222211112222122121222221221212112211112211212222211112212111222221111212222212121211122112122222122122111222212222211122212122112121222221222211212211122221222112212111211222121121221111111212211221122112221121222111112221121111122222111222222221212121112222211212211221221111211221122122121112121222122211111112112212122222212212211211112111111122112221112222112221211221121112212111211111221211212122221212222112112111211222212212121112212121112221221221122221111212122211121211211111222211212212122112121221121221221221121112211121211121212211111211112211212121111112211122221222112121111212122112222222122112122121222221221211221211211211222112221122212211222111222121221112121121112221111212111112112221221212111122222222111121211211122121222121121121121112212112211222121111211112222211121222222111112122111211221121221211111111112221111121121112112212111211221211121111211212111222211121122112111122211222221122121211112121222112211212111122221212221121122122112121212121211222111211121122221221111212222211112122211111221121112212121121122222111212121121211112111212111112212111212212221222221221211212122211222111211121211122222122221211212121121212122112211112222111112212122222222211121211122221212212211112111211211211112111111211111122121122111121121121212211222122211222222211221211212211121121122121111112212111121112221222221211121121221121221222211112211112122212211211122222221112222221121111211111122222222221221222212112212112221211212112221111211121111212121222211111211222211112221112112222222221121222112212121111111211222112212122221212122111112121111112121222121212121122211222222211221221121121212221112221212111211122221222222211112111112112112211211211121112122212112111222222212112222212212121211211122111211112211211212212122212111111212222212222221221212222222221211121112121211121112121211211221121221221121221111222211212122221122112112221212122222112211122121212112211221222222222212111221121221111221111221111111122121211221211112112121221111112111221221221222222221121112212211211211111122122112112111121212111121211212222221211211121112222222112211122112111122112122211122211111211211222222112222121122122121221211112122121211212222112121122121111122211211112221121122212121112212122212222221111211121111212221211222122222211111112121121111111212121121212221122211112122221212222111111122121222112222212211222112121211122121121122212212111122212111212211211222222222211222112212211222112211112221222122221212112222221112121121222211222111221222222221112221212222121112111211221122211212222211121211112211221111211121112212222221212112111211212122122221222112212112212221112122121211222211111121121111222121221111112122212122122221221112122111212211222112111212211222221112112121212111122111112122212221121211112212211122112212212121222222212111221222111112221111222221222112211222222222112112221122222212222211121221122222212222111211112111222212221111212121212212212111112221211111211221122112211211121121121222121221212112112212122122121221212122222112121111212112112112111112121212222212122111122121121222211121221111221121112112121112221121112112222111212212121111221222111212211222221211212221211121111211122221221212112121212111121121222212122211221222122222222112111121111121111222221111121121221221121221212112221112112122212122211112121212122212112221212222122121112112221211122211122122122212221111111222221212121221112121122111222112111112211222212122211121111211212111112112222212211112222122212221211211111112112112211212211212121222121212212111222121211222111211111211112211222212222122211221111111121212221122222212221221212211111112122112222221211211121211121222221111211221121222112222222112221112211121222221212212222212122222122112211212121121211222112212111111212122222121222222221211221211211222121221111212112212222111122121112112112112222121111112111121112122211222211211222211221112121121121222121221111211221111222121212122121122112121112211212121111122122112112121221121221112122211121112221221222111122122222221211222111122221221222112212211111121211212112211222211112212212121112211222112122212222111222111112212212111222121121222221211221222221212222212121121122221222222121112211212121122211112222212212112121112222112221122212112212212122121121211121221121221121221112221111221122211222221111111211212111112221112112111221122121122221211112111222211222121211111111222111122212112221111221212122222112222222112212212111222122111211221121122221222122122122111112212112122121122211121211111221211111221211122212222212212112122112111212122211211212121122221211222221212221222111221121221111212222222211221111112211212111122211211122222122112111121121222212221222112211212121111112221221112111112222211112212121222212111222121122211222112111222211122111121222112112111221222222111221111121111221121122222122222122121121112111122221211122121112112111212221111222121111212222222212212221112121112221111221221122122222221112111122111211222111211222111121122122111111112111111222122122111212112212121111122111212211221221222121112121212222211221121222211221222111212211112112111221212111121212222222221221212121211122112212212111122222212221121121121112221122211112211122122221112122212221122121222211211221222221121222122222221212121212211221111221121212122221111112121211212121121122211211211111121122122222111211122212211112122222212211221111121122221212111111221111122211221111112111111122121212211222122211222112212212112212211221212122111222212222221221212211221121221222212211222212112221221212212121112222121221222211211211122121212111111222222212222112211121221221121222222221111211121211122122121122111212212212222122212112111212222121211111112221111211221112222222122221111211222212212122111111121222212111121212221211112112222212121111212111122211121212222211112111122111111111111122211121221121112112122221122122122212212111121211121112121122122221112111121111111112121211221111222112212112222222211211221222212222122112122221222221222122121121111121112211212111121112122111212211211111111221221111221211122112111212111122111112112211121212211112111222221122222111222211211221111111221112221222212121211121221212111222222112121212111122121122212222211222221211222122212121122212121211122222222222121112121212112112122122212221111122111122122211212122121222111221222122112222222121211211111222212211221111122122211211111122221221122111111111112211222121222221222121222211121111222111211222112212111221222112122211122112222212221112111221212211212212111121222211221122221211222222112212212111111111222211112222111221122121111222111111211212111121122222212122122112212121121222212222111222212221221121122222112211211221122121222211211121111111211121121121221222111111111221221122111221111111222112212122221221111212222122112111112112122221111121222222121112122212122212221111121112212212222211122122121111222122221211121112221221221222111111122212221112211122122112112221122112112122122222122221111122211222222222121121122122222122111212212212211211222221222121211122112122111212211112122211122211221211111112121121211211221211111211211121211221111212121121211122212121222211222122122212221111212222121212121112222111122111221221211121121222111222211121211112112222122122121111112212211122121221212112222111222222112222211221211221222212121212221112122111212221112122112211122211112222112212212112222211211221211212122211121121211222122212222111211221122122211211211112211112212211212212221211221122121222222222211221112111222122122212121112112221121212212221211122212212121211211112112211212211122122221121111211112112212211122212122112222221221222111122211212122221121121222212222121212212122222221112221112112111222111111212112211111212211221211212122121122112111211111221211211122112211121112112211211111221221111121211122221112122112222222121111111122121221121121122221122111221222222122122112212111122211211112111211111211121112221112121121222121212112212222212121221221221221222212221221222121111211112112212111122221221112122122221111211211121122222112112122112111122111221212212121222111121221211222221111122212111121112211222111122112211211122111212111112212111221111222212212112111122211221112221211112111112121112221121221112122122111222112221122221122111112122212112121221112211221212221122121212122212222112111122212112112112121211121221221211221112211211111111121121221111212222212112212121112121111121222222121112222212221222122221221221222212111222111212222211112122222111221211222112211212122211211111211222212112221222221221121222212222112111222212111221221211212212111111111221121222221111121211212121122121222211121222111211111112211122211111111111221112212212212221212211111122111112212211212221211222211121122111121221221212121122211221112221111212211121221222211222122222212121122222211212121211221112111111111212111121121112112111212111121211121211211211221111212121221111122222211211221112111112212212111212212211111112122211121122211121111211221121211122221122222222112121122122211121111211211111122121222222112111111221112211121222121112211112212212121211121121111222211122212111221211212112222112121222111222212122221221222221112211222211222212112211111112221221112221221111122221121111112211211122122212122111222122111111221211121211221112121112122212111211121111222221122121111222211122222212122122212221122212222211122122221212122211122121222122121211111211211122121122221221212221222222222221122121222222111221121122211221211121212122111212121122111211212112222211212111211112221212221211121112112121211111111121211221212121211112122222121111112211111122212112211211211222111111122211212222211112221222122221221211222122121122211111111221221121121212111121212221112111222112121221211222121212112121211212111222122121112221211212222121121122211112211221222121212111121212122221112112112212211111221122212222122122222222211112212221121221222122111112121211222211121211222111222222211122112221112112121212121221122221111112221211122122121222212221121122121211222221121211221222121222211112211221122212212112111211222221112222222121121221221212221221222221111221112211222122221111221111222122221121112111221122122221111111221211211121211111211112122222111112121122122121212212221111211121212121122222111222222211211121112211212122212122221221221212211111221212111111222112111122111221211221122222211221111112112221122121112211212111222222111212111111221222212222112212112222112111221112222222112221211211221222112212222222212112211112112112121122121211222121121222111122211112222112122112221121221222212211112122222122122211111122222212121112222122122211111221212222112121222112221222121121122222222212112112221221211221111221222221111221221111222111211112122121122112211112222212222121111222211221222211121121111221221111221222211222221111222222122122111112221112212122121122111211212111211112121221111112112112212111222122121111111212221112121212222212212112122211222211212112211211122121221122122121222212221221221222221221212222121112111222111112211211221111211122112221122222212211121112212121112212211121111122221211221211221211211222121222211222122222112112212111122111211111221222111122222222211111111111221222212112212111221112211111221221112211222121221121211212211212211221222222111111212121221211211212221122112112221221221122122212121122112212112221222221211121122222121221111222212122112221111111222222211211112111212222221121222122112111122111122121211112122221122221222112211111212212221222212122211112222111222122221222222121212222212121111211222211112221112211211112211111222221212122121212111221112211121121111212121211122121221121121121111121122222212112122221221222112122111212121121222111121212112111211112111111121211111212111211112121222112122211121112212111211111221211111121221111111112111112112222121211221111112121112222221111122111121111112211112111111211121212112211111121222211222222212112112221121111212111221221121122122121222211221211121122121122211222121211212121121211211121221222121112211111211222111211122212111112112122111121122221211121212211122212111222122121222112211212112112212221111122221212222212222212111122112112111221111221211121122221112211221212222212111121112122222112121112212121212122212111122122222222111122211211211221211111112112112122122122211112121222121222122212122222122112112221221112222212222211111221111221212111212121111212212222211121212122222121222221221221212222212221122121112211111211122221112121211122212112221122212211112112211221221221211212112121212121221212211222112121221211221111211221222122122111112111212211122221221121222112221121121222222121112211121121211221221222112222111221121221211112221122122111121222111211112121222212112222122222211211111211211212122111121112121111212221212121121211221212121121121222211122212221211222121211212122111112222112212211112121121111122111122211221221121221111121222212122111212112221212222111122111111212222212112121211212121121221112221221112112122211112121222221112112221112222111112112211222122212112121211211121211222212121122122121121221222211222221112212221211111112121121112121221211121122212212221122221121121111112211222122111111222122112212211121222222121222222112111211112221222112221111211121112122221222121112222222221221222211121112212111211122121221111122222221122222211222122212212222122122112111111222121222221112212212112122211111111111212112221112112212122112111112211221222112212111121112212112222122221222221211121211112211211222222221121112222222211212112212211121111112222122212112111112211221121222122122112122221211222121221112121221111222221112111221121222222221112212211111122121221111212212122221112212211111212122122111121211122122122211112112211121211222221111212222222122212122212211211111212121122112112221122222221112221121111111222212121112122221212112212122222211121222212121111221122111111112112122121221221111112112222211211122112211122212222112212212121221221112121211211121111221221221222121212112221121211111122221122111111112222122111211121121211211122121221221122122122111221122211122211121222111122222112112121121211121221212211211122121122122122221212122112112221221112222212122112111121121221121222112222121222221111222212212122121221122111221111222221212221211121121211121112111112221212221211111212221112211121221222211211212111112222222121222221221212111211212212121212122211121122221121112212221211212122222112122212211211111122121212121212222222222222212111211211121121112212212212221212111112211111211222222211121122212121212122111111222111222222111122111211222111112121222211222111212112222211212111121211211111221121112111222222112222111222121221211221211111211222122111222221211222111122222122222121221122121211221222112212112222122211112212121221222111122122112222221112221222111211111122221222112112222121221221112211222221112221122112222211121121221111112121111112111212221112212121112212111121112122221222111122121221212122222211222111111221211122122112121221112121212122222122211112222121221112221121111222212212222221121111111222212211122212221112112121212221112111222222221211112212221122112221222112122211111121121112211212222122122111211111211111111121121111122122222111111112221112122222112122122221121222212212112111112221111111111222212212211212112221222211112111121222211211111212222122111111121122221121222111112122121222122112222211111221212222111212222212221121112211112222111222111211122212111211221211121122121222212211212212221122112212121211212121221212121121111111121221112111122121221122122112212212111121111112112111221121211111221112121221221221212111222222112121222112122222222121121212111212221212122221222112222212121121221211222222112211112111222121211212122221211112211112121221221121212112211221222221121211221111112212122112112122121211212212122221121212112222111221122111211122211212212222111121122122212222211112112111112112122121211112111222222111211211122121212222112112122212212212111211222212211211112122221122111112122122212221211212111212221211121122121211222121212211121112221212122122122212211111211112212212222111211221111222211122121112111222222111122112222221122111222121221222122211211122111222121211122211221121212112122221212212121211211211211221211222222121222212222222111112121111121122121212211212221221122212112222211221221122212211211122111122222121122112122121112122212111222212222121111111222222221222222122212212112112211111122111111112111111221222222211122112222122212221111211111111212111211122121211121112111112112112221221121222112221222221111212221212112112112111121112222111111112222221112221212121121211111221211111212222211221212222112211222212121121221122111222221112221122121122221211121222222112121211212222211221112122212222222221112122112112221111111121111212122221121121211112122212112111112112211221222112221211222222212112222212121221211121122111211222112111112212112221222211212221122121212121221111111122212111111121221122122211112222111111122211211121122222121111112122121121111111111221212112122221112122211212222121121121111121121111111221211121221112222212212211222222222111111222212112121212221221112221222111121121121212212211221221222111122122121211122112121222121222121211221212122121222112221212221121221212121122211112112121212222122112121211122211111211222222122121221111221211111122221211111111112221222221111222212111212111121222122121221211112121111122112222222121121221111212112222211112122221211111222112222221221111211122221122112111222211222111211122212212111211221212111211122112111211112112121111211121221121111122111211122122111111222212211112122222222111212222212222222221122122211122212212222221211121212222122122112121121222221212121121122121221111121121112122222212222112212112211122221221221211111111221112121111221212112122122111222221222122122122111212211221221211221211122111111211212121211121212112121111112112211222111211121211211122221212112122112122122222221122222111121221122122212111122112122221211211111122211112212122112121122211111221211222222211112121121122211212212111111211112221122121222212121122112112121212121221212121221221212122111221211121212222111221221221122222122211121122212212112111211122221111112211212121112221222221212122111211121222112111211112112122211112212122211222122211211121211221112112112111212212111111222221212221122121222211212212122212221211212112121222111122221122211211111122221211221121221222211111112211221112212121212221221112221211212122221212111112121112112212111211111112211222122211111122112211121221221112122211112221121112221112121212221212112112211111112122221222112111222211111222112221111212122221111111112221211221222221221121111211212212222211221122212212111211221121122121212111111112212211112212211212121112121212222111111222121111112112122221222111122221122211112211112121111121211112111112212111221222121211221222111122111221212121112122121222212112112122212122211111212211212211122211111211122222121212121122121221221112221211122211121221211211121222212121212222211122112221221122212122122222112122222211112222122222221221121211222111211111212121222122221211222111121211111111212121211222222121111221211221212212121211211111221211121211212121112122121111121122112121121221211222221211121221212221211111111221121121111121212111221112111121111111122122122122221212121221211112222112122122122212211212222222111221111222212111222211211211111122212122222122222121222111121222222111211111211222211122212121221221222122221212112212212111112211112221121221112112121221122122112111121211121111122222222111121122222121222122222112211212122112112111112121211212111111212221121111121121222121112122212212121122112112222112222221211122121122112221211221122222112212221121111112121121111111122222112111111221111112111112211212221122121112121222122212221211222122112212122121111221221122112221211222122112121121112212111111122212121221112221122122112221212111211122111111212122222112222212121222212111111111222221211111222211122212112211211212122211111222211112212212112221211212111112112212221222121112211111122111112222111212221211211121211121212121212122211222211211212212211221121122122222211112221112111121212211122212122122111221121111221121112122112121111111122111121222221222111221111111111211212221222122121122222111222111122211121212212211221212122222211111211111212212112122122112112111221112221112221112112112112222221122211112111111212121121121112112121211112212111121122121212112212111221112222122122221111112222222222211121211222221212111212222221112211111122122111111222112212122211121121122221111222222121212111121221222112121221111111221211221121221211212122112222211111211122122221111211221112111212112211221222112122111221111212122111122112221122121212122211211211112221222122112121222121111211212212111111222112122212112122112122222122211112212221121222122122221121222111222112222212212221212112211122212111212212221112221121122212121222221112111122211122121221212112211211222221122212122112121121222212212111121221221222112122122212122212112221111121122111221211121121211211112122222211122212122221211211111212212221122111221112211112222221221122211212212112221212121211111212211122221112212212211222111212222221111111222221221121222111222211121221212221212221212121211221212221112211212211111212222221222221212112211211121112221111221121212121211122111121212212221122211122112122212112112112122121112112111111222121122212111121211221221121222211212212221212211112121122222221222111221212222211222211211122111212121112111111121112111121122222112221221121122112122121121211122111221212221112111211111121111212121211111211122222212112111122111111112221112111211212122221222121121212221212212211112111212212222111122112122212212222122221122221222121122122122221211211112222222222112212112221122112112122121122122111121212112112112121112211121122212221212122211121112211212221221222212111212111121111221122122222121221211112222122122122212222111122221222121222211222222222212212122111121121122111122122111122221111121122122222122211211111122121122112111111122121121221111221212211221211221211122112112222212111121122222112211111212121111111222111121211111211212122111211122211212211111121211121121111212212122122211111111121121122121211111221221212212221111212121222122211212112122222111121212222222121122211221112222112222122212121112211222122122111222111121211222122122112111121221122112222112112211222222211222211221122122121212222221212121211112222112122121111212111212211211211221112212211122212111211221211111121211122212121221221121212112212221121212222211112212212111121221121121122221121212222111211112121112221122222122221221111222211112122211221121122112121111211211122222112211222221212212222121221211121211221121111121121112222121211121121111221111122222122222221122222112111212111111221212221212122121212112121211111111222121122222211122111211221222112122222212111121121112212122221122222221222111112211111222212111221221121222212211112211212222121222111112212221112112112111221221221122222112122112121121122222111221122122211111111221221121122111111211111122111122111222222211121211121121211111221222222211111121222122211122111122122112121112111111112111121211122112221111121211221111222112212122111121212212222222212212221122221111122212111222212121222222211221111221121222222222222212222221221112122211111211211211111112121122111122121222121122111122212222111112111211221121121212121112221121211222211121221121211112122221212112122112222122212212112122122111111212121112221222122112221122122221211111222111211222111121211112112212122111122121112221222122221212121211112222211211211211112122122222221111111121221121121112221211211212212211222211211122111211122212222112222122121122221211121122221111212222112212222211222112111211112221211212122111111212112212112122121221122112221212122211222122112111211121222221112211111212211122112111112221112122112111122121221222222222111121222111211121212221112211111122211122111212211212212222212112122112122222122121122221111221112121121112222211222111212112111222211211211122221221111121122221121111222222112122111212211112111211121112121122111222112222112211212221221211121112121122121111112122212222211221221211211212221122222221211212211112222121112221121121211121211222212112121221121111111212111222122121221222121111212121221122221111122212212112221121112221121222121212122111111221122222221222121112211122222121121112222221211112112211211221221221122122111212212121212222112122111112212211211222122211222112221222221221221111222212112211212122112212222121221122122212122222121211211122221221211222222121111222111211221212122112111122122211221112111112212121211221122112111221221222211122121212112221221222111112112121221111112221221222222221211122111112111122111121222121212221121122111121222122222121122112112111111122221111221222212111222121121211112212121112111121112212211212122122211221121121111121112221222222122221212212122211112221222122121222111222211221211122111222122111211222111222221112221121212222122112222121211121221222211221211121111121112122222221121112222111212212111211112121111111212212212111121122212211212122122122111212222222222121112222112211111121212212212112122111212221112122222122211112221122112211121211222122222122222122222111211112111111111212122212211111222222221222122111222221221112111122122111111222112222122111122221121221212121112211121221212212222121122112212212212222211212211111112211122121121121221212222122121211111111122222212222221112122212221222111211121111112112112221211111121222212122222212221212112112212122121211211212222111121222112111221122222121122122112222111112112122121222212211122112212211222211121122112121222222211111111211122111221121221211211122212111221122211212211211212212211222222112121121122111212111122221121112122221112211111222212112122112222211121111112122111112221121111212121222122211212112222211111111121121211121212122211112211122211111212221212111121112222212222111212212121121212211211121122221111121221122111122211211122221111222112212111212221222211121222112211221121212121111121122211221222221112222122122111212111211121121122112111221112122221122212221211122221211212212112212112222121121121122111212212212222121212211222222121221211112211221121121222122112121211121112111211212211121112121212211222112212121212122122112222112121211221112111221221122211211212212121111222222112221112221112112211222211211122112112222112112121112211121122122211111221212211111222212122121212112211112112122122221121121122121112222121122111221122121121211221121121221111211112221212221112121112222222122212211111222111212211221222221122212212221222122212212212212222111112212221121222112211121111121212212122212221222211221122221211221122221122112221112212122122222121122122111222112112111112112121122211221211111211112121122221112111212111112122211121211212112121221221212122221122222121211112212212211211111211111221212212111222221111112111211212221212121122122212111111221111222121111112111211221221222221112121121121211122111111122121112112221121121222211211212111122221112122122111221111122221212222211111222212111221222121122121221212211122221212112212111122222121212212121212221222221212121211212212121211212212111222122222211222211221211111212221122112122112221221212112212121222212222121112112221222221122112211211212211111212211222122221112221222222111212122221211211212121221222221121122122122111221121121111221121212212212211122122211111112212222111111121111222111211212222222211212121211122112111122212111222212221112222112112222212212122111211211112121221122122212222111112222122122222111212212122222122212212122222122221121221112222112122212212221221211211212111112222211221121222121211112112222211212111121122122112211121122121112112212212121112211221212122121122221112211122221111221122212122211121112122112222221212121121222221211121122112111212112221112112221211221121112112222222211211121221112112212122221222112122111121222122111212221121112122121222121121211221111121221211211121222222211222221112112121112112112122112212111111111212212212211121212212222212111121121121122122212121221211121111212122222121211212222122221212111212122221111121211221222212112211222222221211111222112221222122212212212211212111212222112221122122221122211112122222222111221221221212112112121222222121112122211221212122222221122212221122111112212211222221121111111122211111112221122112121112111122111112221212221121212211121212122221212212121121111222112111221111211211111111111121212212222212222221122122112221221111222112221121221111112111122111222221211111112212212112221122111211222112221212111222222221112121111111221211112211211111112222212112122122112212211212211222111212222122111222211211211112112212112122211121111122112112112211121122112111212122222122111221112211221212221112222121212221111212112222221211211211111111121211112221111221112121111222121211221211122221222221121212221112211212121211111222221221111112111221111112122221122211122221221112221221112111122212221221122222211212221221212212211222221112111122121121122122211212112222112121222111122121211211221122111111221121121211222111212122111221121112211121121112111221212121112222111221212111111222122211222211112122211211111122222122111121122221211211211222212112112111221111211112212122221222122111122211212121122211221121212222112122221121211221221221122122112112122211111122222122112121212111122211222211121111122112211211221122122111111112121112122221111122121221222222111211212211112221221121212112212122222121212212211211211212122212221111211111211221222121212112112221222211211212122111112211222221122121111111111112222221222221211212211122111221112112212211222121111112121111211111211212211211212121112112221221221221222211211211112221221221121111121121212222112111212221212222111122121221122211222211121222111222112121111211222221211211222222221112122122111221221122121212112121211122222221111221121112112122222211111112112221121121211222112112112122111221121211211121111122222112121121122222211121122222122212121121121211222222111221112121121211122111111221211222122112211212121222112222212212112211212212222212211221112211122121112111112212111211122122112122121122222122212122212221111122221221221112222112211221122112212122122121111212121111222222211111112222122212221122112212221111222222111112212121112111112211211122222222111111211121111212212212211212112112221221222122222112222111121222122111122111222122111111122121222221221212212112122211111121211222111222222112211212122121212211111121122122221122112112121121111111111111212221222122222212122211111211122221211211211122222222121112122222212111211211112112212221221122221112222211111112212212121111122221211212221111122212121111221122222212221112112121121222112112211112211211212122111221212212122222212211111221121212221111122221211212111121111222211222221221212121212211211212221212211121222221221211111121212211112121111221211211211221121212212121221111221212212222122121211112222212221121121111211222122211122111212221111221121121222211121112122221121121212211212112222222221121121212121211112121222212211121121221121122211122212212221111112121212112121211212222221121121212112222111122211222211121212121221111211122211111212122212121112111111211111112111221211112222212122212222212212222222222221122121222222111212221221121111211121211111111211212111112222111111121222221111222222212222211222212111211112121111222221222111211111221221122212121111111112121211111221122212221222112122112222221111212112122122111222121111111112111121122221121222212212221112121221121212122112211222112111112111221122211112212112112211221121211212222112121211221122122112121221122111222222122211121222212111122122122112111111112121211222121122112212212121212122221222211211222111212121212111112222111112122221121122111121121112222122111111211221121122121122211111121111222121222211121211111211112212122112121221222222212112122122111122212211111212111121112112221222221111112211211112111111122122122111112111211121111212221112211122112122121112111221111112221221212121222212221221111112112211112112212112111222111211111112121211221122212112111221212211122212212112122111122211112211111112112221212222111222122112222221221211112211222122111111121121222211122122221121121122222112122111121211112121211112211121112122121221222121121212111121212122221211211212111112121112122112122221211121112212112212221121112221112212212111111112112211222111122222211211112212121122122122221211222121222121111222222121121222212222121121121212221222211122112212111111221221222112222112222212222121122211222222221111212211212222222222111111111122121122212222121221111121212111212212121212212111112212122112222121221111211111122112112221222111122112121112111122212111211212112112211222121212211211111121221222111222211222222111122122111122222112212122122112112122211111122121121221221122112111222221122112122212121121212111122222121112122121111121122122212212122222121112112111111221111222121121222122112121221122222122122121111212212111211212222222112121222121121112121222122211122212112111212222211222112111211211121221112221212222111112112121211222211221122122111112211211221212111222122222221122212222111112222211121111212221121211112111222221211111112212221212221121212111122122222111122112211221112112121211221222222122212221211111221122112222112122121122122112112222221111212212221212111212211112222221211122211111211122121122121122212122222211112111221212212222222122122212122222221121212122122122122222221212121121121122112211112221212112212121112122111122221121121211121211212221211122211111212221121112212221211112122121221211121221112211112211112112222221112212122111211212222111211211212212222211111121212212221221112212221121221121112221112111222222212222222212121121121112122121111222121111111222121121112122111221221221112211111112221221222122211222111222222112211122212211212121122212111112222212222111122112121111221111122111122121112112222222121221212112121111221122221112221212111211221222111112222121221221121211122221221221121221211121121122212112111121112211212212222222221121211211222221221212111111122121221111211121211121221121112211222211211222122221122122111121112121211121121212112121112211112121122212121212212112212121221122111121111211111211222122222111221222122122222222122111122212221112211211212221222122222112112222222121221222211221111122112211222221112111111212222122122212111212111211222122111121212121212111221122221222112112112221122111222121122121111222112122111212212222121111112221221222122212112211112122211111222111121221121212211111211121111221212121111211121222122211222212212211112212111211122221121222122122211112212112222121111111212212222221122121112111122111111221122221122122122121221221111112112221221122122222122122211122222222111221211122222221211211211112222111121122211221111122222112122121222121111112211121211211221111121121122112221111122111111212211221111221222111211211221221211121121221212111222111222211121122221122212212112211112211222111221121212221111221111111222111211212221112222121111212222112222212222222121121122212211121121222211222112121211211112122221112212111122212111211121111221221212211111112111121121121122222111112121122112222212122222111122212222211111111222111122212121212211222112211111122121122212121111211221212121222111212222212121212122111222212222212121222212111222121112211122221111121122212222211222111211112112111211222112112121211112222211211212221111221122222122112121122122211212121111122212212211222122112212222121222222122222211222222222122221211112122111122111121122221122211112111212212122211112122212111222222112121212111222222121212111121112222212211121221222212221212222111122211122212221122122221221211222112122211111111212112212221122221222111121211122121222211122222122212222122121221222222122112122211222221212121122221222111221221122112121212212121122111222112122122221221211211122122212221111222112221121122222112211112111122222111111211221111221112222121122212222112222122112121111212222221121112112111121221212222211221221211121222221211211222121121121221111222212221222221221112111222121211112222222211122222112221112222222221221222112212112212221112221221111112112122222112221211112221122222112211111122212111212112222112212222211211221112121221222211222211222212121221121121122112121211112111122211121112212122221212112111121121111222112121221111122211211222211112111111112221212111212111221111221211212221212111121121121111222112222112112212211111121121222121112221221212212212112122112211221211221111111122112212121111112112111112111221122111112212122211221211222112221122122222221122222111212222122211112221121121121211122111212212221122222111111222222112112121112121121222211222222112111222221111122122222111121212212112212211212221112211111212122112111221112121112211111121212111112212222222112222211111122111121222122112111121112122221111111121122222121122211122222112222111211122221222112112221112222121221211111221211111211111212212121222121112222222111222111212111122112122112212222211212221212211111122121111212111112222221222122221222121212221112111122111111222112222222122222211122121111221211212111222212111212121112121211121122221121222212112112211212222212122112211211111112212121212211212111111212212121122121222112222122221222112212221221211112121112222211111112112112221121121222121112211122122121111111221211222111111222211111112122222222211111112122112122121111122111111121122121212112122122212211211212212221121121222121112211221211221111111121222111112121212211122221212222212121111121211221222111112212121111121121112221111112121112112121211112222111111121211121211112111122111122112212122221122122111111212211212111211211221112211221112211222222221211222121122111121122122121122211111221121122212221211221212222112211111212111112111122212211121112222222222211121121222121222212122221221211211112112112111122221212122111222212111222121211222222122222122221222122111112121211211122122111211222111112212221111211221111122211112222122111211222112111111222211221112111222112221221111121121221211212112212122221222212211121221211222212221211212211111222211111222112212211112211121222121122211122221111211212211111122222222212111111111112221121121112211112222221212121122122222212222212111211121212212111121221121211221212221211222211121222212122221221122121121112221221121222111221112221121211111112112122111222111122112122211212121121111112221211112111121222211111121111112111112112122211122122221212222111111212122221221111211222121221221212221221122211112211112122211111111121222212221211221211222122112122112221122111221212222121111221121222121212122211112121222211212211112122111111121121222211211222112222112111112122211112221121121112221212211112212122222112121222122121221121111111111212121112211121212221221212122112222122211111112112221222212111121111111121221111121121212112121111222111211212222221122122212211221112222121221111211221122121211212212212212212111212121111221112221221212122121111221111212122112211212121111212221122211211211212112111122211211222111111221211221121211121111222121221212111112122112211122221211211112212121122211111211121122111112111121212221222222112112121212121212121211212222122111211212212121212212222111112121221121222121212222211121222122211222221211211121221221111111112122222222111222222122212121211211111111221212222222111212121122111222111222221212212211221121221121222211222211212212222121222111122111122111121222212212212121121222121112112212112122222212122111111112222212212221121112222121112222112221121122122211222211221121222211121112122211121212212112111222111221212111111121222222121222111112212211211122122122211212221221211211122121111122122111121222221122122211121211222111221221112222112211122112112222212222222221121221112122222122221211121222211211221121112122211112211112211122222112211112121121121222222222111211122222222221112211111222221111121122112111121111222121112212111222211112121112111211111221221112212212112122122111122211222221112111121111122211211121121212112122212221222222111211111221112112221221112121111121212111221112212111122221121112111211212121222211221222122211112111122212122111222121112111111221111121122211211212222211212212212111212212222121111222111122121111111221112112111112211211121112212121222221111122211121122212211211121221122211222112221212111221222111112112221222212111121121112121221112121112121221112212221121111112112211111112122122222222111112121122121221112121111121221211122121112122221112122211121111112222212111111212121211211222122212121221121222122211122121121221211211212222212122121221222212221212121112111112211211122121211221211221211111121121221122121112112221221121212221121211111222211222211122112112222112121212221122211221111221111112111211122221222221221211222222112122122111112212122112211122211111121221111112111212212112212211111221121121212112211211121211222112222122212121221122211221212212121211122121112211121122111222212112222111211212111222221211211212111211121122211112222222122212221122222222111112122121222211211222111211222122221221222211221221111212121112212222112122122211211121222221111221211222212121212211212211111212111122211122222212121221121121222222222121121111211222111221111222211212211122211222122221212121211112122121111122111221112222222111211122221122122111121111221221121111112112121122221212121221122212212122212212112111212111212121122121211112211121121112122111111112112121221112211121121212122111122211221122212111112111111121111211111121211211111122221111221121111121222121211112122212211222121122222112212222112212112111222121212211121222122222221122211112111222222122112112212122221211111222112212121111122221222211112122212222121221121221212212212211221211211121212212221212112212212211121112111112212111222112211221221112121111212212111112211221221211121222212111121222122222122212112122221112221222221111112211121212121122121222221122121112222212222212211211121221121221111121112221122121222121211121211121121122212121221212112121211221111121222222112212222111212112221221221111111111112122111222122111222221122111211222212212111222222211111211112212221212122111222221221122211121222212222211122111222121122111122212112121121211112221211122112211212122112212211111111221122222112212121221111211112222221111212112221121221221112222211122111212111212121122222112222221111121112111112111112212222211222222211211221211222211112111221212211221211221222111111222111111222212112212122212111212122222222221122111112222221211221212121221221212222121121112122122221111221212211211222211211122222122211222112111221122121222111221112212212112221111111211122211112111211122121112212222222211212111222211221122212221122221122212212222211112221211112112111122212211221111121121122211221122111112111212222211222212212221222122111222212221222222222122111222222212111212122121222122221111112212212111121111121211121122112211112222221211121121121221111121122221212211112221221212122222211212112111111111112212122222122221121221222111212122221122222212212212121112122221221121221112111121211212121112111121211121112111111211212122212121221112211111111112221111211221112112112121121112121221121122121221222221112212112122212222111111122111211122211112211222212212122122211211121122222222212121212111211112221112121221121122211212211121222211112222212221222212111212211222112121121222221222222212111121112121221222212111112211222221111211211111222122212212221121121111212212211122221221111222222211111122212121122112111121211212221212212111211222111111111211211212221121111112222111212222111211212122121221112221212221112212211112211122211111221112212212222111211212221112212121221221112112111111121121111112211221111212111212122211122112121212222211111121211222211222122111122211121212221212211111112222212111112112111112212211111212211222222221121112221222211111211222121121221211111121111211111222211111122222112112212222121112211212222222122121212212222221222221121211111221122122122122121111122121121211211111112212121121121211112122122112112222121211122222111222112211212121221222222211222122221221211211211112112211121222221212222121222121121122121212211222112121112212221112211212121112221211222212211211212222222221212122122121221111121121111112112222212211221112122121211211221221222121222111221112121221122111111112111212221111222121122111221212212121111112212122121222222112122122212222221212211211212112212112211221222211212111222212212122222221212222212222112222221211121222111121221212212211112212121211212212112222112212122122111111112122222121221212122122122212111212221111212111122112122111121221221211111121221212122121122211212111111122112211112112212212111211221111111112211121221211221111222222211222211221111122111122122112112221112211222211122112212211111212212212122111221212221212122111212112212211121122212212111211211221122222111211211122121211221112221212222222121122212211122112122122122111211221212211122111222121111111212112111111222121222122212111222122221121112112111221121121212121111122212111221221211211222121222121112211222122122211211122212221212111222121111111121221221222111111212221111121111211221121122111222122222122211222121111222122121222211111122112211111211122211212211212121121112111122211121122122211212222211211221122221111121212222122221112122221111222222211222121122222122111212112222221111122121212122222112222222221121112212121112222111222121221111222222112212112211112212111211221121112211221112122212222111111211221121112121222222112212222221211122221222121221211121222122111222122212111112121111222122221222112221221112212111111111111221111121122121222222122111112112111122122111212122111112211221211212121122212221111112222112211221222221112121121122111111221211111121111122211111211112222122122111221221222212122112111221112121221112222222121221222122222222111111122212211212211111221122122222111112122121121211112221212112112221211122212212122222121121211221211111112211122222211121121211121222221121222211211221211122212111121221122222121222212222111122211212112122222222121121221111212211122222222212212212212221222222112212122221122111122211211122222222211121122211211111111221122212121222111211222212212212222122121211111222221222111112222112111221222121111221121111212212111111211111121111121222112212221111111212112111111211122222111121211111111122121112211212122212221221112121212221211111222211112222211211212221111111121122111112112111121121211222111121111212111221211222122112211122222222121212121121112211221122222121221121222211221111122122112122112212221222121211121212211111122121112222221222222212121121221121121121121221221212211121212112222112121111211212122111112121122221111221121211212211221211211222221221111121221121222121111111111111221122112212212112121212212121211112212111222221112222211212212112221122122221221121221211212222221211112222212121221211222221111122221111221122221212211122212222222122212211212222211222121222221121221221121212222211211212211221121222221221212212112112121221111122222122111111221222112112122111111222111211111222212221222221221122111222221111121212112211121221221212211122212121211222221212121122112222122122112121111111222121122222221211211121211221121212222211212121211112221221121121212221111112111221112122211221121111122122211121112111112112221112112121211121221212122222221121111222221111221122222222222112222221122121112122211121212211121211212122222122122221211122121121212121122112221111112221221111121211122211112212211211221121221222221111221222222212121221212122211112222222211111121222211222121211112121222121222122212212211111222222222212211221222212221122221212211221211112112121211222121122221212111111212211211212221221222212212121211221222211111112112212222111212211111212212222222212212211212221212111112212212121211112211212121111112212211121212222111221122221221221211222111111112111111121121211112112221222212212111211121211212112221121122211222121111222121111212212112211221122221111122111212112211122122212111221222221111222121122222121111212222122211121111112111222221222111222211112111112222212221211121112122111112222212111122221121222121122111211121111122222112211122121221121221112211221212211122212221211121222121221111122112222121121212212112121221111121212221212222122122222211121221121121121121222122121121121121212211212111212211122211212121212122111121122221211221222211122211222121111112212121122212211212112121111111122212122212222122112112212111222121122221222122111222122121221211112211211111121122222212122212212212221112212111122222212112112222122222221221221121221222222222221122111222212112212211222111122111222122122221211111112212211212122221121212121211121121122212122211111221222122121112122112211222121212121222111112211222111222122122222211122221211121222221122222112122212121111121111121211112121111221221122222121122122121211112211121222211222212111112212221222122121121121121211221221221121221122122222111111111111222212111112121211222211112111221122121221221212221121122212121122112122122211122121112121112221212211212211212222212222111211112222212212221121122122121212222122122222211122112121212211121111222121112111121121212122212212112212222122221112112222121211211121211122212112221112222121111212211122211221111122222222122111221111112112211212212212111222211211222121221112112122221211111211112222222121222112221111211221121211221112211211121111122111112111212122122121222222222222211122111211221111111212121211221112222112112112221222222111212122222212221122221222122112112121222111112121122112111112212111111121222111121122222212222212222121122112121121222121111212212111212121211222221111211211212111111222211221122111221221112111121211112121121122121212211211222122222111211212111122221222122222121121122111222222111211112121222122112222122211112211112221112122112122222212211112211121222122112121222122212112221112221222222121112111122121121112121111222212121221121111222112121221221221121222212221222121112212211221111122212211212112212122122221221211222122221111112221121111121212221121111221212111112121122211222212122211211121212221111122111221122122211122111112212112111111121211212221111121112221112211211121221221221111111221112112122212112122111221122121211212222221212221221122212122111122221222121212222111212222112212121121112222211212121212222211212122121212221121222112212121122222121212112212212221122211111112122221112121211112222112211111121222212122121222211221212122112122122222211211112212221211112221211121211212212121212221122211122222212112212222211112121122221222121221111211112121111122212112112211222112111221221221112121221222111221111212121212222122122211121212111222111222111112121122222122211121222222112122221222221212212121122212122221221221221122221122211122122121222121222211211121221221112121221221122222221221122112212112211121221111122211212111221221212121211222122122111111122212111121121212111211111222211122221212222121112212212111222121211211112211221212111222121111112112112212212122211121222112121122122211221221112222221221121221212122221222212121221121112122212221122222111121211212212112212221211222222121112212111221211112121111122222221112121221222111221221222221212211222212222121122221112211211212211111211121111221221121112112122221122112222212111121221112212211121121121112211221221221112212222212222221212212122111122222121221111211211222112112221222222212222211112111121211111111212121121122212112221112222222211122221122112221222212221121112222222211111112212122221221112111121111122221212111122112122221212122221122212212111222112221112112222112222111222212211221221112111111211121221111122111221112211222121112211122121211221211112111111122111221221111111112211121221221121211122111221111212222212111211121112122212212221112122112222222121211111121222112222121121222222112112221222112212221122221211121121111111121121112111112122211211112121212211212221121122111111121211212122222121121212212212111211112111211121121221222212212221111221221112111122111121112122212212121222121112212212122111221121221211111222222222121212221221212112111221121112212111111111111221211111111222111122112122121121121212112211112121122222212211222212221122211112212112212221212121211211221111221212222122122212222111211222112121121212221111112212212212121222111122111221112112222221222222222211112212212121221112221121221122221112122122111122122221222112121211211121222121112112121121122111222212221111222221112221121111221222212112121121221121111221222112122121121222121122112121221112211121121111211212122112222111222211121212221212212111222112211112212221121121212121212221212221112111222212212211112221221211221222212122111221221122222212211211112122221112212122212221212121112212122111112111122122112221211222111111121221211121211121222112121112111222212212122222112112221111122212222121222221211111111112221212212221122111112221211211212212112122122222221112111211112112222122122211121212122212122112122122211112121211122111212111222111211221211221121211222221111211121222111222121122122222121112121211121212111211221111211222112222112122122121221111211122111111121122222112212211121222211121111122122112211111111221222221121121112221211121222221112121212122112211112211112111222122122221111122211111221112211222222221212112212222211222112112112211111212221112111111111122121211111111121111212222112211212112122112221111111112112112122121112111211122121222221121111122111111121221112222112222122221111221121212121112122121122121222112112122111212212212221211212222221121222121221122121121112122222221222111212121221212211221122212221221112111221212122122121211122212221112111212112222211211121122221121121211211222212111222211222112111222212111122112112221121112112212121112121212121111212212121221212111112112222212222212121212212111211221221122122212111212222222121221211112112222112221222121122211121222221112222222221211211221221211122221212221111222121211121121122221121112111111221221121221121111221212122122212122111112111222122112212222212112221222211211112111211212112221122112122221221221211121111122221111121222221112121112222221222212121211112121211211122122121221121121211211112212122212212112121121111112212122122122111111122221221111221221212111111212222111122112221112111222112221221121111221221221211122121122111111122111211122221112212222121211122111112121221112221222121111121212221222121211121122221122222122112121122111111211122221212212221221222121221221221212211212221111221211211112122212211212121211112221212122211122112121112111221222221221212121212111211112121221222212121211211212111121111212222121222222112111111121111111121221222212212121122211212211121112122222221121122222212222221112211211121111222221112112211221121222111211211121211111221212122222121212121122111221112122122112112122221222212112112111221111122211222211222222112111211221122111212221111211112111212111122222212212112222222122112122122121122222212211111122221211221121121212111112122122122121111222121212122121212122111211111212222122211122111211121112112121221121211121222211122112112222122221211112112211222212122121212121112122122212211212222211111221111212221222222121112111121111111211121111122111222222122112211122112222122122211121221211112122121212221112121222211211212112212212112121111121121222211211121222111222122212111212122111122211122222212122122121221222222221112212212221222112221122112112211222212111222211221111222212112122212121221211112121122211221211221112121222111122112221112121211112211222121122212111222212111222121122121212221211211211212121222221221212212212211212112222112111212221112111211121211212211211221111221211121121111122211211221111122211221222222112121111121121212111212111221122221111211112122111211221121111221122211122111122122122221121222111122211212122112112211112211211222111121111211112211211121112211111222112221211212112121121121221212212221121211111221211221122122221222212212222212212221221222121222221212122112211111111111122211211212222212121122112211221211112211112121212122121121222122212121121212122211111112111112121121221221222111111212221122212111111121211111121222122222122121122211112122211122221111212212212222121221111122112112222122212122121212122112222121121121222222121122222211222221222221221111212211222212212211221112111122122111221122212222212122222212111122112222212121121122111111212222222211112222121211222111121112211111121121211121221112121212112122222211112121121122212121112221121212221212121221121121212211111221221221222222212111112211221122212121212121221211222112111212221111221122121221121221122222221111222212111211121212211221212122211222211211121111122121222212212122212112121121222221222112211121211122211212111212212222111211222122212211112212211112212222122212222112112111211122221211122222111222222122221211212211122112221112222112112221222112112122212221112212221122211111111122212212111112222112121222212121211122121121222221112112222121122112112221222211222112121122211121112222211121111112212121111211212212111211121222112121111211111112211221122221112122111222112211211222122222121121122212122211121222122122112222111122212112121112112122121211111211121121212122111221112212211111112212122112211122121111122211112211112111111121212222221221222111221112121121222111222122112111222112121211211221121212112221121212121122121222112112211211112222121222121211111222222221111222212121112111112222121221221212112111222111221112221222121121211112112112122222212111211121211122122121122121122222111221122221222212221111112121111111221222122121112122112111121221121222122122211222122122122122211111222221222111211121112122221112112111222112211212122221122121221111212112111221222222211122111111211211121211222222112222212212212112222112212221222211112212121221212221122212112221212121212112211121122122111211112122212212221222111112112112222111111222121212222211121212122221212212121222122222121212111112111121222122112112111122122111111222112122222112222122221222121121221121212112121212212221222212121122111111112111212212221122121221211121121222212121121211121122122212221111112212221211212211212111222221111221211112221211211121222121221111211221211121211122211112121222212122222222121121222122122221212222212221212212111211112221212222212111221211121112122121122121222212211221211222111211111121222111221121111212221121122212221221111111122222122221211122112221111212211221212111111222211212112111121121221212211221221212121111221112211121222221222111212111222212221111222111122122111121212111122121221211112212121112112111212221221212222122212111212111221212111111112221211211212112122121111122211122221112212122112112211121112121222111112222211112111222222112111112121111112212212212122111221222112112212121112221222212112221112112121212121121221221222121221221122211212212221111111222111111112211221221121211222211212112121112211111212122112221222121212121212121222112122112212212112122211122121111221111122122211121112111222112111212121121222211211221211222212112221221211222111122211122221222112122121221111122221112122222212211212212112222111112211212222221121111112121111111121221211221222111111211211212121111121121211122122112221212122112211112212212212122221121121122111111111121222121111112122122111121122212221221221212112212121112212122221111111212211212221121121112111211121112122122222112221222112211121112221122211111211121222222222111212111112221111211121221212211111112111211122112212121111121222122112221222111111211222221212111121111212112211111121211211112112122221112111121212212221112222222221122211222212212221122212222121111222111122212222121121212212211222211212122121222221222221222121121222111212212122211212222112122111211222112212112111222121121112112212212212122222222222112121221212121122122221112111112111221211221211111221212211112222211222111112221222221211112222211212121221112112211221112221221212111222211121121221122122121221122221211122221212221212111122222212122212122222222121211222112121111122221212222212111221212122211111111211121122112212211211112122122122112221122122221121122111121212111221211121121122212222112211121122122222112212212112212221212211211112212222221221122112222211221122121211221122222221211221212111122211211121211212221221211122221112221222111121111122121221112211121111121111221121122221221211221222212221211111121111222111221111111221112112211122222121222211122122222211112211221221222211222111111121221211211122211222211112212212121222121121111222112121211212222212121121211221221211212222212221112121112122212211112111222112211112122211212112221222112211112211211222211221112222122212212212121112222111112222211222122112221221222121222222222222111122112122211121211212211212211222112221221112122112122221221212212222111122222111111121222221212121221111211122112121121211212112222222221121112211121111112211111112221212121121221212121122122112122111111212212112212221222211111211222212221222212212212121121211122121222221212221121221221222121111211221222112222112111211222221222111212222221122112222122211212211122122212221112221222212112221111211112111112221211112112212211221122212122111112121211111211111222221212122212221111121212211221111211222211222121221112111112111211212221211111112212122222111222221121111221121121211111221121222111222222222212121222222112211221221122212122121111211221222221111112122211122221122111122222211112211111212112222111221112111112112121221111212211121222121112211111211121122212221221222222111112221222122112121121221112111112212222121221222112211212211112221121111122121121122122222122121112212121112122211112221212111121112111122222222222221222121221121111122122221122211112111211112121112112111221211121211221212122112211111221221222211121222211111222121221111221112121112212121121122221212221211121122222122121212112211221111222111222221212112122211212111111212212221212221111121221111121212222222112212121121122122222111221112222212221112221111121221211111111212112111222121222111111112222112211121111211121222111122221222222111121212112112122112211211212222111222211121221212111121212121112222212212211211112211112212111121212222111112222222112112221112221212211221222121211122122111221111111121222112211221211122121122222212121222222212222111221212211222221211122211112112121112221111212211222112122212122121121112112211111122211122122122222211212212111212211112222222122111122222221221121122222112111122211112121222221112222112221121212111221112122122222222122221112221121112122211212212212111121122222111222112121112121122211121111221222212222222111112111112122212211221111111122211221221221111111222112221222222121222121222221222121111112112221211122212112221112221221212221122222211111122111121122211222211112121222221211112122222221112111222221212121212222122222222111211221122222211122211122121112112111111211211221121112211121122211122222211112221212122211121111112111211211222122222111122111121212121111121121122122222212211221212112212211211122122121122121221111121221111121112211211221111211221121221211222212222221221222212212121211122121122212111111112121221121121121112121122212212111121222112221221121212222122221212222211212211211121221222122212222211211221122221122221222221211122122111112212212222122222222212121112121121221221221222121111111122212121122222122122222111222111221221121121111221111222121212121111112222221222111112221111122111211221212222122121212121111111212122112111112221211122211211221112211221212211111112221122222222222222211112222212112112222211121222212221121221222121112222121122211211112111121221112212121122222221121112211112121222111122122122111111211212212222222211211212212211112111221221211122121111121121211112211111121221222121112122111221212221212111212112212121221122111121112222122111111111222121212121211222211121221211111221122211112111221112222212221221222222211212222212221112222222221121212122111222121211111212112112111222111222212222121122221222112121212211111211122112111112222221112121121211222112211111122112221211221222222121222122212222111221112222211222221211121212122111221212221211212111122221112121222112122222122121222121122212222211111222212221212112111221111212211121212222221111221222111112122121122211211121221221211212222121212212122112112122111212122222211221111122222112211222221111222122222222212211121211112221121122121222112222112211121212211111212112122122112111221221122212221111221112221211212221211112211222211222122212121122222211122111222222222111122122212212112212212112221111112222212211121121212212111122111122122222221111112121221221112111112211212222212121221212122221222121222111211122112221211211221122212222112212222111122111121211222221222221122221121121111222212112221122122112212112212211111221121122121221122222211211121121112112121222122122111111112222122122211121122222222121122212121221221122112221112212212121111111222212112222121211212111212122222222122112111221121212221122221212112122121222212111111211121211222222211122221222112112112122122112222222211211122221221111112212222222211122122222222212122211112221221112121222212211221111221112222211211121212212221111221222111112111212111222221111221222211222122111211221222121211121222221121121112211221112222112112111212121212122111212211111111212121111122221211111211212121211221211122111112122221122212221221221222112212112222212222111211221212111112121212211121211112121122111121121121221212112222212222221211211221122112221222212212122222122221111111121122111112222221121211211112121111121111221121211211121122111121112112111112122222222212122212122112211122222211221111221211122121211212221121212111111121122122211111121112111211222112222112222112112122222211121121111122221222112212212111122122211221222121122122111222122222221112112122112221111112212121211121211112221122221211112212211212212222111121121112121121121221222211222212121222221221212112122111121212211221112121221121111111121212122111212222122222212212121122122122122211221111222222112211121112211212122211122222122221112112221211222122211112112121111111222212211212121212121221122122111221211221112211111121222212112222112112221112222212222221211222121211112121221111121112211221221111221112121212112121212122121211112211222121112121212211112122222122121112121121211111111211211222212122222111112212112211112211122112211122111221122222111121112112121111222122211121221222221112221211221211111122121221111111222122111121212211111111111211111111122211122121121122122111221122112211211212211221112112121122221111222211112121212212122212112212122112111121111211211121121112222112222221212222122212211212212121222222112222122222211212212212112222221222111222111212121211112211222212212121121212221222221121211112121111211211112111221122222121122112222112111212222212211212212112111212121122122112121222212221222122222121221222222112122222211111222212222221111111111221221122111212111111112212211222211122121111221122222122212211112111222122121121221112122111112222212222121222112121111221222222212111121111222121212211212212122122112222221112111211212111122121111112122121221211122112122112211121111211121121111211121112122122121111112212212212221222111212121211122111222222222121222211121211222112222121111211212112112121111222222221211112121221212111121222122112221212221221112222111221111121111222222111121221211212121221211112112211122112221222122112222121111112112222222212212222222212121111122221112211112222121112111121222111112111221111121112121122221211122111212111122211122122211111112112121222221212211111222211212222112111222111111222112212221111111211221122212121112222221121212211211122212211112111111122122122121111111212112122112121121222222112122111221111122212121112211121221212211112122212221112111222111122211122122112112222111212211121112122212221122211212222111122222122121112111221111112111212222112211212221222212112121112212211212121211211222212111212112121212212222211221122121222122221212211122122221221121111221212222122221111211212121211122222112111211222111211111122112212222212222222212222212122111112211221211221112212111121121222121222212211221111121121111212122212212221222222211121211212121212222121211211221122112112222222112222112211222112212221222221211122111112211212212222221211222211211112111112122112211221221222211121111111222211211122221111211222211212222111221122212112221111121212222122221122212122221111111211221212221112212211111121121212212121221222221222211112211211122211122212212221111221121212111221122122122112111222212121121121212111222211212221121211112111112211212121111212111222112211112212211121111111111121221122122122111121221121112221211111212212122221212211212122121121222122212212211121122121221112122211211211221211221112121221211221122121112222112111111121211222221112122112122121212121121111222221112122112121211212112211121222221222222122222112211122111211112211221222112111222121221212111122222111121221222222121121112221221221121211122221212212221212111121211221211211111212221121211222121222122221221222211112121121122122222111122122122212212222121121122122121121221212221122222211122111111211211111222112212211122112211212121221222211212212211122111222212221221222221211221222211121212211122122112121122122222212221112121121221121111221111111121211211221122212122211212122111212111222211222112212111121222112112121211211111221211211112222112112112112221221222112212222221212211111222111122221222112122111222122121122211222111122111221221122212111111121122111121221111111222121222221121112221221122121121221211221111221121111121122222112111221211121112112222212112211121121111211111212122122111122111112111112211122222212212121111212212211121111221222211121112222222221112122222222212212112111211112111122112212212121212122211221221121211122122222112121111111212111221122221222221221221112122222221122221212222122112112122221111222112111222121222211121212221212122221221211222212122122122221212222111112112221221221112122111111111122222221222112212111221121222221221212111222211221121111211122121221222222122222112221221112221122211111121222122111212112222112211221121112111211221212122121212211122112221212121112111211122222122211121111211221211112211212111221221112111112222122222211111221122121111212222122221211112211111212221211212112222122112221212112122121211122122121211122212221221211222222211221122211111222111121221111222121221221211211212122121222212221122112222111111211211211121212221221122211212122121212221122122211122212212111122221212211222221222112122111211122211211121222221221211122111221212221221122112221211111121111122112121211222212112121111222212212212112222122112221212122122222221111212212222221112122121112222121122221211121122121222111122212111112212111222211112112121221221111211222212211221112111211121121222121121122221211122111212212211121221121111212112222211211221112111221212221121211122111121211212221112121211122121211112112212112222222111211122122221211121221122212112112211212121212111111211212221222121111222122212211211121211222121212111121112122212122112212221112221111121212222122211111121222211112121221122112221221121111211212111112112221211122212212222111122221212211211111122212111211121212121122111211112122211212112112121111121121122122211211212211121121221121112111222212222111122211111221212111222222221212122211122112111221221112121222212122111212222111211121121211112211122211112112121211221222222221211222111112122221112212111121112121222221211121221112121122121111221112121112122222111122221222111112122112112121222112221222211211112121211222122212212122212121112222222221222212211221112112221122112122221221121212121211112212211211221122211122112111111222211122222222122122222222212111211222122112111212211111221112112211112122221112112122221121211221122111221222111211111212212111112121122211212212122212222222112222111221212112112221111121212122122112122112211222211211221222211211121111222112221222111221112122122221221111222212112121211112121211122222212222111222212122211222112222221122111222111122211111111112212211111222222112222221211212211222112122122222222222121221112122121112111122222111212221122111121211111222212112121111222222212211121112221211221112212212111211222212211112222111112122111122211221121222121121111122122122112221122122221121112222222121211221122122222121111221222112212112222121211121122111111222211111211121111212112222211111221212211112122221121222212221112122122111112121211112222212122221221111212112211212121112121112212212221212121121221112111122212121222122221122121211121121211222121112112122111111121212121121222121121212222121121112122111221121121121111121122111112211112211211112222221221122221112221121122112112112111222211212121122211122211221221212211222111222212122222221211212211111112212221111112122111212121222112122211211212212121211111222121111222111112122121221111111222111122211112122212111221111111121212212221221122211111222211221211211111112111121111211222222112122121221212222111212212211222121112211211121122221222112122112112122222112211211212221111111212221121221121222211122122121111222212122122212112122121212222112112121211212111121122122122221112212112121221222122121122112212211211221221212212121112222121121121222121112111221221212212221111222221111221112121121222121122122211121111211221212221111212211211121112221211211122111211112121222111222121222221122121112212212121112121111211111112111121212112112221212122122111111112222211112212111112212211221111122221111212121211121212121112111112112112112221121122111122212122122111222221211112112122211222122212212121122121111211211212221112212112121112221212111121111212222112221212221112211211122112112122112122211212222121211111122211221211121221222121112111212221122211221111112111211112111222222112112211211122122122222212122221111221212122211121212221122121112122211122112121121122211211221211122111211212211122112222121112212112221121121122221212222121121222222121212222222122121211221221211222222111222222121112112112222221121221221211111211122111122111121221111121221112221222222111121122111222212122121122122112121122212111212112112122211121222121221121122122112121212221121121112122221222121212222121122121222222212221211121122212121121222122222222121222121111222122212221221111221212121112212111121121121212111112212221222111211111212211112112111222221122112222221212211211122222112212222121121111212111122212121111112122122121221122111122121222112211221112111212122211211222221222122112111211221212222112222122211112111211221222221221122112212221122111222212112212122221112222212111112111222222112122221111211221212212111222122112121221221112122112211221222122211121112111112111211222212222211121211122212211212221112122221121212121111221112111122112111111112121221112122222212222211221111111222221222112112221121221211222121111111112111222112221211211121122222221221122212112211211221211212121221212111222222122122211211122111211222222212222111111222222211212112112221111221211111211221222121212111122211221121112111221122111122222112122222211122211112222111222222211212122212122121221221221221121222221211122112111211122111212211111221222121211221122211121112222222122221112222221212112211112222221112122121111211112222221122111222221121222211122212111211121111112222112211222222111121211112212222121122122112211112222121211212221121111111212121221211221112122122121222211122211122121222212222222111112212112112122222222112212222212122211122211211111122122221221112212111111221121212112122112122212212122211112122212111111111121221221221121112121121112211222221112222121121111212211111212211111122212111121211222222222122211111122121112121212121122112111212222122112211121221221212221221222112111121112112222222121222122122222112112122221212111212122222221222112112122212221121122212111121122112112221122121121122221112211122121222212111221112122212221211221111221221212212121112222122121222221221122222211112122121121121221122222211212222112121221212211121111112112211112211111122212122211122112211212221122221211112112212121212222112211212221212221222212221121122222121212112221222212111222111221211221222121122211112122121121222121121211121212121222111122122212111211211122212122121111222222121222212121121111212112222221222121221121111112222212212211122122122222211221111111221111112211212221221121211212211111112121111222111212221111221111211211122212212112221211212221212112221212221112221112211212112121221211212112121211221112212112221221221212111122212111222121112121212211111212122221212121112211212122211111221222221121221111222122211111122222211111112211222222112221221221222121212222122112111212212211211211211122212111221112121221221211111211212112121122212112212222211112222222112222121111212112211221212122122211212222112221121122112112211111211222221121121212211211221221112212221111121112111211211221221111212111222122211222222212121111221112111112112112121112212112111111212212111221122222111211212222122222112121122112221122121212112122221212111112212222111121212212221222221111112212222211211122222111111222212221211122111222112222211111112111111212122212211121212112221211111122222212112221121112111122221212112111122122121212121121221121221212221211221211122112112111222112121212222211112211112111212112121212111221222222112222111212222222212111221222212111111222112121211111212121121122222111112222222212221221122122211222122112211222211111212122212112211211121111221222212221112111211122212212112212221111111122221212222122112221222121212222122111221221221222122121121222222221221212212221222212112121111221122212121122211122212121222211112212222112112222211121221121112112211112212111211221211111111211121212221222212222222111112121111211122111211222221221212211222122112121212111121111211112211112111111122112121212221212122122122211112212112122112111222211212222221221121212222112211122111112111122111122121211211211211112212122222221221112211121211112222122211121222211111212111212221111121122112121112112222211211212121212221122121111222122211212212122222112112111121221211111222222111112111221222121112122221121111211122221112212211222212112112121212112222122221112221112122112121111222222111222112212222122121111222212221222222222221222211222122221122212112121112121212211221112122222121112221111111121111111112211221122222221221212112221221212211111112221111221112221222211212221221121112121211121222112112211121212221221222212111211222212211222211111111211122121221111212222122221112122211112221121211211211121112222211211112222111211212222112111222211212121121212222221222121122222112212121122221111222112112121111212111221222112222122222112222122112212221222121222121112122222211221221121111112111122111111111221121111211111222122212211221122112122121222112122222112112122211122221221211222111221112121212122121122122212211221112221212222222222122212111121222112211212221111122122112112121212121122212112212111221222221222121211121211212212211112111112111121111212212112122121111112111211221121111222122112211221222121121122221112211211211222122222211221221112122121122212111122211221112212121111221121221112111121122121212121122212112111111221122221121211222221221112122111111112212121222212211122211112221211211221111222111111212221112212121112111111212121111122212222122121122122122221221111222212122121212211122121112211122112112211222121212221112122212121221111121212112111111111221221211121211221211111211121121121212212211121212122212122122121111121211222212211122211222122221112112121122121112212122212212211121122122111211121222112221112212211212222212211221212122222222221212122122122222121211221121221222112122121121122222212111212111211111121121211222222222222121112122111211122112112211111112221222211122222221121111221211212112112112222122122221221111222222112111112221111121111221211212112121121212212112121121222211222122221111122121111122212122212122211112222112121221212122221222111111111111212121221122122122111121211121221221222211121111122222211111121222111111222211222221222121122111212221121211211211122211111122211212211121222222112211221122222211221222112222122221121211111222111211211211212112112211111212111222222112111111212112112221211121111122222112121211111212211212222121122112111212111121211211222121112112221221211111121112221222212221211222111111211121111221212112221112112211212212111122121212211121112111112112121112222212212212212112122112111122211211122212111112121121222112111122112221212211221121212222111122122221221122122122122221112221111111121121112112111212222212212112221121222211222121111212121122112221122221222111221112222212211221211211122212111212211111112121222112212222122111112112112122111112212122211121111121211222122111212222222111212221221221211211212211122122212222121122122212122121111111211112211111211221221221212111211121221111112122211122121221221122111111111222121222112111121211212211222111122112222222121122212212221211112222221221121111122221221121111112211112122211121111112111122212222212212122212211222222121212111222222221211112121111111121222111112211121112221222122121211121212112111121112212222212211211122222212122111111212212122221211212112221112111122222112212121212222122112112211122111221122221112122112221211221112221121211212221112111222121111221121121211121221112112112112212211212111211112111111212212111112221122121222212222212221122221121112121211111111112122121111222111121222121122112111212211112211112211121221112221221211112212112121112211222211122211222112112211222111122221222121211122221122221212221211121221121122211212221211212212112121112222111211122211222221121222112212112111222121221112221122122122121211112112222222212122221122211112111111212111111222212122211222111111211122111122112122121111122122212222121121122212222122122111212222211221112122121121212121112211122122222221111111221211121111122222211211222111211122221211212221211222121112212212121211112221121212222211221112212121211221222111121122211112111112221111112211222111121221112212212122221221122121222121221122222222121221211122121221122212122211212211211222221212221111222222112122221221222121111221122122111121121212212121222111211211122211221112221112121121212122222211221122211122122112112222121221222221122112212112111112121111111111111121221212121122112222112212122111111222212211221222212222222122212221212111121212122222221211222122121212212121222222222211122122121112112121121122121121112212222222111222122222122222211222121111222221221211212212112212221122121211221112212111111221212111212121221221211111111212112122111121211222211111121111212122112222211121222111111212112222211221122212121111122212122112211122212212212211112212112211122211122111122122222222112122111221211112122112222111221111122211112222111111112121221222212111112111122212121221222112122222221222112212122221211211112212211112121121122111212111222222111212212221112122221122122111122111111221122221121212112111122211212111122112222121222112112122111111122211111111112111222212121122111121121121211222121111121221122222222222211112112222112122222221221121221221221222111221211222112221222111221212211121211222221221212122221221112121112112221211112211121221222112111222211111211212211112111121221212112222111122222222222222122221222122222212221111211222221221211221221121111112111122222122122121121212211221121121111222211221122222121222221222211111112111122112211221121122212112211112121221212121122211212212212221111112121222221122221111121212222222222221112211121121121211122122212122222112122221121122112212122221121111212121112212222221121221222112122222212211112112121122212211221212122121112222121221211111221211122222121112111211112122111221211222111121112212222221121212122111122121112222112121122212111121112112222221212221212111212221111122121212122211122122112221212121112212122212212212111222121111122121111211222112212122221221222112111122211111212112112122222111111121211211212221111112111122112221221112211211222112212111122221121112211122211121212211111121222122211112222111221221122211111112121221121122222111111112212221222111212122221122111221222112221212212112122221212212112111222121211211121221122111111221221221222121111111112122221122111222222221212212122121221211121222212212211112222111211221211121222212121122121221122211122122222212122212122122111221111212111211221112211221222212111212212222112211212212221211111212221121211221121221122111111112122111221222211122121221222111111221221211222221111221212112211112112111211212221212111212112222122221121222222122211221121111111222122112111121121112121222222222111112122222211221212122112221122111212211112212111211112111121112112212211121112122211112112112122111221112122221111112121112121112112111121121211221221212111122212222111221121121221222111222222111122222112111211221111121211122111221222111212221212112222212112212221122211122211212121221212211221111122221212122222112222112212212112221222212222222211112211222221211111121121211222222222212222211212122221212212111121211112222112212211111221121112222221211222212211122211222221121211121212112112211122211111222112222221111111122122221112111222211211222211122211111121111121211112121212211211111122221122121111221211121221111212122112211211112211121211211222221212222112212122221212212121211111121211111111112122111211211112112122221221212121222221111221122222211222112122211222212122121112112212211112211122222222121121212111221221222222221212111211222211212121212211222212111112122111112221212122122122212112121211221112122122112111121212121121122212111211222121222112112112122111222111111212112122221112111222221121111222111112221221111111211112222112121222111221211112222211112211112112212112112211121212211221121211122111122112111221221222212121122212112122111121112122112112222121121121211122122122212122122121112221112111222212221211122221221112221122111112212222112212221211222212121122121222222111221112222221221121121122112121211111112122221111221112221222111122112112121211121122112221211212212121121111221121121121112212122121112222111122112122222212211212121121221212112121221222222121222221121121111122212212121221122212111222222121212112121111222111121222221212122222222112122112122122122221112212122112121111122211222121121122112111111112222112211112112221121211122212212211122222222211211212122112211212111112122222121222121211111111121112111112211112222111112211221122221112112121212111121111112122211212212122211211211111111111112211222112122211121221221112121211112122212212211212212122111111212121111112121121212122221212222221111121121221212211112222122211221211122211121112111211212121111121211122122212111212211222222212122121212122222212212212221211121221211211111211112112112211222212211121122211122212121122212112212222112222211221122111212112221212122111122112122211221112112122122211221221212221222121221112111122222112111211221211122111111122121111221122211222211212211121222212212122221212122222111111112222212112112121111222211211111221221221211121112122122222221122111222121211121221212212221221122122122221211212111221122211112212122121121212222212112212111111222222111111112122212212112121211112222121112111221111222111222111111212211222111211111112122121211221121122112222122111111111211122212121112212121221111111122112112221211222212211222211122112221121112121211111222112211221221112121222212222112111121112112212111121122122211212122221121222222122222112221221121121222212112212121122122111211111211212122222221222112212222121212211121222222212122212211121121121112111222111212111112211112121211222112221221112112212111112221211121111122221211122112122222122212211221121222211211112121121111212122212122222221212211121221212111112212112222112211221122122122221212212111211211122112221212112211222211222122111211211221121211122222222212111221111222212112212212212211211112121221121121222122221111222112221111121212222221221122122222121122211122112211211121212112211211112221112121121221222112112122121111121111222112221212112221112112122221212221122221211212122122221111211121211121122121221121221111121212212221111222121221222121221222112211111111122122212221211122212222221122221221211121122122211112211121122122112222112222122111112221122122112121222221121112112112211221122111112112222122122211112121211222211222222111121122221211221121111111221212221111122221211122221112211122212122111121221222112222111221221211111111222121111211122122212111112122122221122211112221222212221111212212111122222222121122121112212211121111122212212112211122221121111222222112111122112212111221222222111212121211221222222222122212211212111111122222222111221121212111112222111111222111221112112222221112121212222121211111112111112122222121212111111121222111221221212221122111112122112221112212121111221121221221112112212212212121212221111222121222211112121222221121122111221112211112121121122211112212111222222122222212222221221212222212221212121221211211211121222111121222122112111111211111122121221121221122212211121112222221221121121221212222212211211111121122222121211211212121121111112111122112112111221221121112212121111222212211112211212121111112121222212111211221212121212211122221112111221111111121112212211221121211122221111122112112212122221122111111211221111211112221112112111211112122212121222111221221111112121112111122212222122211222211222222222112122212211222112121121212111222221222121122112211121122211121222121121222112212112211112212122112122111212111211222212111112211111111212121212111211122221221212112222122111111211211211212111111112211121211211122111121111222222122111121121122212112221121122221222222111122122121221112122211112221112221212221211122112211212221112121212212122122212112222222112121211122111111222211111111211121122221221122221211111221121212212211212222211211111221212222211222212222112122222212112211222222121112222122122212122212221112121211111211211222221121112112121211121212212222112222211122221211212221222211122211222222121221111122222211211121211222222212112111211211122222121211121121122112222212121221212112121111111211122222112212212122112211112112221211222122112211221211211211111222212211112222112121211222212212221222212112212211121122111221221122121112122121212221111122222211221212112112122211221121222121111221211212221122121221112112111212212222111221211211212221122112222222122222211222212121211112121211111121222211211121112211212221111222121212111121121122211121121211222212212121211221121122211222222221122211111212122112111121111222212121221121111211121212221222111221222212112211221122122212122121212121121121222111222121112112222121111221121121212212112121221122112211212121221112212122212221112112221112121212111211221221111222212221211121222211222211122221112212212122212121211112112112122212111121222221111122122221212221112121121212111211222222222222222122111111122111112122211221112122121111111221212121122222122121212212112212211222212222112122121222212222121222221222111121221221112211221111122121112112221112112211212211121121111112111221121212211211112222221112211111121121221212211111212111221212122112212122222122111121211111111222211121122222122122222211212222111121112212111111122112222112222221221212111212122111221212122221122211111211222211221211222112222111112222112211121212221121112111122111222121221222111111221222111122121111121222222211111221212222221222122212222222122112211212121211121122122112211112211212111111112222222222211121211121212121211112121222212221122121111211221212212221212112111111121221212211121112122221121212111221112222111111212111212122121111212222111211211122112221121211221211122221222211212212211122112221122222122111211112212222111212122222122221121212222211122121122221111221111211122222111112212212221211212111121121121111122211212122112212121211221122221211111122112211122122222122212211121222121111212211121122112121122221121221211212111212212111112221112111111111122222211212221212221211112222122111222112112212111222222221111222112221111221212122211212121221222121222212122221121221111222121122212121222222122122211111221112112222121221112212211212122211221122212222212122121222112221122212112211212112111211211222112212211121212111112121221112112111111122212112111211111111112211222111221121111112212212121121112112121121221222211212122122211111121211121122211212212222121121111112211222221112121121121211111212111221122111111221222221221112111221112112121222212222221111112122211211211212211221121221121211222111121111222211212121222122111221122212211212112112211222212122212111221221211221222111121122121112122122122111211222112122211121211221212111221111221112211122222121122121211122222121122122222112222121212111222121211112211121122112111212111212212212221111221121112211111212112112112112222112121122211122111122111122222112222111122112111111211211122121111211121112222122111222222222212211221211122222122122111121112221211121222112112221122121112121222222122112111211121122122111221121222122121211221112212212221112121122221221211222211121212122122212212111221222221122112221121212122111112221112122111122211112111221222121222121111111211222212211221211221211221111221212221221112221121121121111111121112222222122221211121211112212222222112212121111222122121111221212212122112122121211112111212221222122111111221122121211221212212111111211222112211122121212211212221112111121111221212221112112112112222111222111211122112121211112121121222112222122212211211121221222212212122121212122112122122112112122221111222111112122112221221121111121212221211222212121212212121112221122221122111112122221111211221122222111212222121221222221212222212121112112122112222211121222112122222221211112211221221111111121211122211221221122222221112222121222221111111212211121122111221122111211221112112122121212221112112212222111111112122221212122211221221211111121112212121222222212221111221222112122111221111112112221222112121122222222212211211221122112221112212221122211121211121221122212222122211122111121211121212112211211221221121211211212111122212122222211212211122212222112212112121112221112222112212112212222211212212112222222211212122211112111112111121121221222111212222111221211211122121212111121212111112121211111212212122221212221121211112212211221122212221122121121212212222112211111112111121222221121212221221221222211121122111112211221111222211211222122211111211122212122212112121111221211122221122112122112112122121111211221122212221111221222211212111212222111211112221212122222121212112121212211211212211111211222122112112221122211211112222212221112221121122121221121211212111221121122211121122112211211222112212111122111211122211112222221222112221211222222121121122212121211121111222112211122221111221221211121212221122112122121111221221111111112211112221221212111112121221121122122112122221211122122122222112122222211212221111221111112222211122211211121111112121122121221211212221112221111112221122122111221222222221111221221221111212222121221221222112222221211122221122222112212212111112222111121121121211122112111112121112222112111222221122121212112221111212121111122211211211112111111212121121122121112112211112111212212221111221222121112212111112111221211122222212121111112111212112212122112212222221221111121212122221221112122212111111221221122221221112111112222111112112221212122121112211121222221112222122221111121212211221211222221122222122122111211221221221111111211111111222112122212121111221211111212221112211222122121112212112211222111122112121121221122222221211221122211111111221122221121222221222121111211212212111211111211211211122211112222122212122121122222212222212112121111222221222122211122212112111212212121122222122222212212212122111212121111111112112222221121111112221112112112222212212112111211221212111112211221212212212212111221112221211221221222222222222221212122122122211211222212112221211121222222122222112212222112112222111212111212122122221212112221211211112211112221121111212212211112111211212121221222211221111121111112212221211211221212222122212112222121211222122121212112221112212212121121111211221112111112121212211212211122111111121221122112211122211212212112211121112121122111212212211221121111221211122122112122122112112211211112111211121221211121122122222112212112112221211112122121221111222111121221211212112112112111212212111211112112211221211212122122222212222211121122121122221122121121111111122222222111112221111211122111212111221212111121111212122112122121211122211112111112121121222211122121111211111222111121212211221111221121121211121221222211221112221221121211211222121211122111121211211111221222122221121122222221211222221222122221121222111211212211221112212111212221111222212112112112121112212122222222222122222112111211222122121122212212212211121222112211122112211122212111122111112221112111122112121122122112211221211121221211221221112212111221122211212221122211212212221112212211121111222222122112112121212121112111111111111221221121212222211112111221222211121121221111111112112112111211222222122121122212121121222212122222121111221212222121122112122112122221112122212121222212211121111111111112111221122221222112112211221112112112211211212222212111121222122112112211222111122112121211111222222121121221222212111222211121122121212121121212112121212222121121111222222112221211111212121112111111122111112211212222121111122211111122122112112121222211222221212121121112111121122212122111121211212222222112111212111122212212221112222111212221221222111112122212211221211111112112222111211112122222122212121122211121112111112221112122122111221122112212121112121211222111112221122212122122112222121222111211221111212111222122212212112212122111111211121222212112211111112221111211112112112122112122122122211111222122112211112212122222221222211111111121211221212222211112222211111221222212111221212111211221121211122111121211111121221121121212112112111112122111221122121121112122112121221211212111212212211121111211112212211211221222122221221122211111112112212221221111122122121222111121111221212222111211222122111111112212222212211122222212121111222111112211112221211212122212122212211122121222222112221212112111112221211111111222211221121121212212122221112122212111112222221121122212112211122222221221112112112122122222121221112222212121222112112112112122121222212121122221211211111221222212221222221211211211212221112212222111111122111222212122212221111211222112222211122222112222222112221122122111112222221122122212212211222222211222111122211111111111212111221111212212122221111221121122111212211221212222211221122111211122211121211211222211112211112111221211211212211221122212212122112121111212122122221122122121211221122121212111211122212211111211121222112112211222112221111212111221111212211122112121122222111121221111222211112111122122112221111121112212121222122222122121111222221122221112211211122221211212212222212212212222221222222211222122212112121221112222211221212112212222221122222121221121112121221122112111211221212212222122212221211221221111212211122211111122222221112212211121122111221122222212212221211112112111111221221121211222222222221121212112111211121121221221212121221212112122222112121122122222211111212222211122121221112222112211111221212112211121222111212122121222222111212122122222221221221221222222221222122111211111111112122212121111222222111121121211221211111212112121111121121212111112211121212212212111111121211112221112222112212212211112221211222211121121221111111211212111111112222212211211212211221211112212221112122221121112122211212212112122122121122211221212212211222211222222112222111111111122211122212212111211221222211111212112212112121121121122221221221222121222212122211221121212121121211112212221121221112211111212112211121112121112212221211222211222121212111121121122111121112222212221122111122121211222122111211212112221121122122212121212222122111112221112212122111121211112212211121211211222222211212112221112211221221221222122112222112111212211112122111221221122212112212211121121121111121111112222222211211222212212111111121121222211122112111111112121222122211222121211221121212111111211222112222121222111222122211121121222122122122112211212112212112111122112112122211212211112112121221211222121111221122111122222211212122211221212111111111112222111221112222111111212111111112222211112222112222112221222121221112121112212121112112122122222122221112121212111222211111121212211212112221121121221111212111112222122111122112122112121221222112221122212221211122112221221211121112122122211121111122222121112111221112221221122122111112221121111222112112112211211211111222111122122221122222121112112121221211112212222111122112111221112121211211211222111221221212222112211211212222122112222112112222111122112222221112222111221122222122111121222122221222222222112122112122221222212121111221111112222121111111222122221112122212212121122222112221121221122222111122212222112212112122221121122111121221222122121121221111111122221222121221121212112212221121212111211212112122121111112212112212112212121211122111111112211221222222212211211222122211211112211212112211222121111112221121122122212121122211111221212112211221121121212211212121121111222212122122212212221121211212212122221112221122111122212212222212111221211122111111112222112111222222121221122211121121221211122121122212222221212111211222122122211222211212222122122122111222111211212121112121222222112122211221122222222121121121112111122212111121212212112212212122222122211112222221211211211221212222211112111222111111221111212211111112212222121212222112122222212111121212212122211212111122221112111121222112221221121111121211111211122122212122212122212221212211212121221112221222112111121122221222121111211211112111212222112212212212112222222221122111211121221122211121212121212211121111112211112212121121122122212121221221121111111211122112112221112122222112121122121211221222121211122111211121121122221212222112122222121121222212221121222222212222211211212122112212221222122121111112212221221122212111121112211111222111121122122221212212221211221212221121222122212221221222211122221222212122122111122222212212212121221222111212121111221122212122121112112211222111122222121221121212221212222212111111121112212112121222112112112121112121111222122222111211221111112211122122121221112112222212221222122111221222111121111112211111111111121211211111212212221221211121211212121221222211211222122121122222212221121111122122212211222222212212112222222211211121112212222121121112212111122211121212211211222212112211212121122122212212222122121122211111211112212122112221211122111211111122122221211112211111111211211212111222112212211212122111122111112121212112112111221112112111111211211122121212122222212122111112222112122222111212121211222221221212211221121211111212211221111221211211112221221212121112222221122112221222212121121122221121212211112121111212221221221121111212111112111222122122211222111222121212221112112221221212122222112211121212111111121211121212212212112112222111211211211221122122121211112112121121221111221222212111122211111221122122112111112222211221112111222112122222122111112121221122221112211211212212111112122211212122212222122121112121121111212121121212122112121112112212212111112221112122111121111121122221222212212221222211212122211111211111111212111111211111112221121111212122122122122211121212122121121111112112111212221122211122122221122212112211111122122211212212211211122122221112122212122121212221211212112121122211121122211211221211111222122122221212221211211112111111222221111212222222122222121221112222211222112211211212122211211111211112121212112121122221221212222212211111122121121222122111212222122111212212122121212221211111221211222121112211211122222212211211111211212122112221211212121221212122221211211221112212122121212112222112221122222212211222221211112221121211222112111221211111222211122221112112112111111222222122212111122122211222122121111111112122112111222221111211112111212221222121112222112222211112211221112212112111121222111211212221111111122211112212211222221112112121222221112111122111211211212122211111112121111221111221122212221122121112211222211222122222122221121212221221212122212211121211121221121111122211111121112122211112122211221122221211221212121121122222122211121211122212112121222112212222112121111212111222212112111211121211212112221222112212112221222211212212112212212221121212212221111112112122111211112212111121211211111121221211222212121211121122221212211211121211221111212211212122121221212122112111111221212112212212121221221111211121111121211112122211121112112211122121222212121212121111211222122121211121121212122212221221212121122112122222212111222221121122112222211222212211221111211111211122222122121211212121122212221122212111211122221212112211211212121111122211212221221211211221211212222222222221111221222212112222121121212121221221212211111221212112121111222112211212211212112122111212122112222222211212211212112111221211111222111112121112111212212121222222111121211122212122121112122221212122222221222111221111111221211121112211122111112222212221122222112112211112112122122111212211221211221212221121121121221211211222211111212222212211222221111212122222112121121211211121121121221211222121111222122121112211121111111222212212222112211122222221222122122112211122111122211222111212111221222122222112212121122211122112212112112111122212221111122221221111212112222121111121212222212221112122221221111212221212121122111112111212121211211222122212211112112222122121122221112122121212122111121212211111111112211122221212222112211121212121122121211111111111121121112221121121212121121212121222112212211121211111222212112211211212222121222221222211121221111222211121111111112222121122122211111122122221222222122212122121112122211222121212222212222122211112221211112111211221222122221121112122121221212122121222112122122222112112111212111222112121221212121222222112222121112212222221112121222212222122222122212111121222112211221122121211122222221222211222122222221111122121121221221121122211111221212122212221121122112112121212212211121122221222112121211211122212221212112222112212221211122221221122111122221111121111121112212121212212222112111222112211221121111122111121212122212212221212222211221122222211122212112111212211111211211221111221211122111121221121121222112211111222222121111212211111122112212221121221212221212122112112121222112121222111222221111211211211112211112222121222211111212221122222211122111112121212121111222122211122222111212212122121222212111222221222111121111111121122212112111112212222112121112112111222211222111221221112112211221121211212121112222222212221221121221212211212221221122121112222121211112212122221122221122112121121111122211222111111111122221212211122211121221212122211122122221212121121221111211212221221111211122222221121212121221221222112221211212221111211211211112221112221221212222111211122121221121122221212111111122211121122212121211121122112112221222212221212111212222211112122111221122112221122112121121211221122121122112212211211112211122111112211222221121222111111221212212121221212122222112112211122112122211221221122211112211212212122211212121211211211212111112121212211211112111212222122111122111122121112212111222212222122121211222121221221221111222211222122121222112111122211121122121111222212212112211121111222111111121221121212111211221211222222221122222112122221121211221221212122211111211211211121122212122221222212112121221211222211221122112212211121111212111212221211222122122211112111211212212111221122222122221122221111122122111121211212112211111112122212112212122122221222121212221121222112111212222112112121222111112112212211222221111112122121212112221121212212122221221112212121211122122111211211112111221222121221221221121122121111211212111111111111221122121211121121111221221122112221222222221221121211111122222122112121212221212211211111212121112111212111111122122222111212112222221121221211222222212111112221221121222212222121211122111221111121122212112212221112211221121112211221122222121212121221122211121121121211122112222211222112222212211212112211122221212112122221221112122211111211221222121121121212222111111222111121211122222222112222122122222121121121211221121221212222211211121112222212122211121111211222111111112221212122222221121222112121111221222112111111111211222112121212211112121212212111222122121212111121121111111121221222222221222112222221111212212111122121111211111121111121211122211111122121222211222111121222111112211122221212211122122212111112122212222221112221221222211211121221212112212122221112112222222111222222211122221222221221221121211222122121122121221112221221121121121222212212112112211212212121112121211111122212122122121121111222121212111121122222222122211211122212221211211111122222122211111211222111222122212122221211222221121211221122212122122112122111221112222122211111211212212211212211122221122222111112122211212111211212112122121112221222221221212112112121121221211222211212122122112112122112211122121122121112122112212211221221211121212221121111112121222112212211121221211212112212122221221111122112122222111211211111122221221122111221122112112111222111112112222121112211222212121212211211112212211222112222221212211112211122221212212111221222112121211211212121111121211122111221211121211222221221221221121112111222212212111211111111211121111221122222111212211211211121112122222211212112111222111221111121122122221112222112111221121211112121222111222122221211111111211111122111222221122221122211122112211212211112211222121111111221211111212211221212111111122221111112221112112211221111122222222222122121122222121112221111221112211122211121111212121212111221211121222121122122221121211212221122111211112211222221211112212111211122212221122221112122112112121121222121211111121222121212112112121222112211121221122122221212122211112212112122121212222122221211212222212222221111111221222222221222221222222112221112111222112122121212211212112221222212111111122222212121222111212122211212112222112211222222221122221111111111211221222222122212122212212222111122222212122221212111221122211111211221222211221211111121121212221121112221122112221121112221111211121211111111122222112112212112222222212112111112121221112221111111211122122211121111221122211112121212111212222211111112122112121222221111121122121221112111112211111121122212111221122212222111122222122211221111222112121212221221122221112212112211122111222212112122112211221212111121122221122221212112122111211222212212121111211211121122222111111121221212112112112222212212112212112222221111221212122122121221111222111121112122211122112112122221212121111122212212211211221222212222212112122222222222221211222122211212211221221121112112212221122221111121122121222122221222112121111211112211211212111212111112122121212121221122112121112112111211122221221212121111111112222222211211122222112212112111222222211122121112121221211111122212211212212222111111122211221121112222111122212211221221112222122112111212122121121222112211111221121221122211222211212211112122112111211122111212222222212212112222221222122121221111222112112211211121111212211111111111111221221222112211112221112212111111221112111122111122122221212221221211111112111122212222222221212112222121222111212222121211222111122122212212212111112211221112222121111221212121211211222222122122211112222111211111122112121212111112222222112212212121222221121222211122221122111121121221111221112211212112212211111222121212122211111112221122111111122111211112111121211212222211222121112212211122221112211221221212222121121112222121112222111122122122221121122111111222221211221221222221112211212221211111222221121121211221221112112112121122122112212222121112121222221221122122122222212211122111111122121212222122121212111121221222211222122111121112111111222212111122221121112112222121211122122212112212211122121212211111112221112112111122212211221112211121112121122122212122222212222211212122222221211121221111212211121222211222211112221221112212111212122212111222111121111122111212212212121112112111211122221221122121212222111222111112122122121111122221211211112111122211221121221111222221222122211212221112122212122212111112111121111111221222211221121122112111111211221222221111121122112222112212122121122222112222112212212212112121111111122222121121111212221212112221122122221212111122112221112222112211112212221121212122111212221221122122221222121211222111221121212112222121221212222221212111112121112112111212122121222122212111122112212212211222122221121121122212111111112122212121212122211111222211222212121112121121221121111112212112222221121221111112112211112122122122121212222111121112112212122212211222112121122221122221112211221111111221221121212211122212222122221211111221212212112221211112222212212121121111112111222122211221121222121211122122112221212121211122122211221122111121122122111212222112212221212121111122112221121222112111121211221112121221211222121111121111122111121121121112211221121211212211212111122112112221122221222221221121112221221112222211221211222212112221221111112121221112112121221211221222222211111211121222122212112211211212211212111222111221211222221121111221112211221211112122222211221111112212111121122211212222121222212121211211111111111122111211121111121112221121121222111122121212112111222111122112221112221211221121212222211222221222122122112122121111211212111211122111212112221122212122112212222112111221212121222112222222122122212211221121121111112212121121212221221221121221212221112211111112221212211122212222222112112211122221111221222221221221221111211121112111121222211222122211222112211211221121211222121212211112112211122121222221221211221222221121112111111111122222211221121121211121222222221221221211221111121112212212111212121221211111122212111112112112121121212221222111222212221222222222221212222112222221111111122211121221121212222112212122211221222111212222111121221121112212222111222211121221111121212111222211211112111212222212211112212211212122121222111121212221211122111122111222112222212111111211222212222212211222211112111211121222111111121122122221222211111122222112211222221122121212122222221112222211222221122122222221222111112111222221221221222111122212222121121211121222211111222221211211122221212221121122211221122111221111212222111211121211222121212111121121112121121222122121212212112112122122121222222222222112222222221221212222111212122112112122111222222121211112112111221121212211221121221111212211222211121221212121221112211121122212222111211121121111111112121211221222111121222111112122212212222122112121112112112222212122122122222112121222111121121112121121221121121222222222122122221112111212121112211122122221221211112121112122221122221111122112212211112212121211211121122111111212212122111122121112121121111122211112211121211121211222121121222122211221112221122212122112221112212222211221112112212122222122211111112211222122122121212121222111122122211221112212212112212111222222211211122112111112112111122222112112221122111121211122212212211221212122112112222112121222221112121111222211212212121122212122122121222122221111121121221122211222111122111112122111112121121221211221221212121122112212222112121212112111222221122112112212111111121122121112112221211112222221122112112112111121111222122222211211222221221212111122111212112112211122111222222111111221112221121121121121212122222211221122121222212222111221121221211222112122222211211122112212212122221122111222211121222122111121122111212212211111211121112221112211111222211112121222111111111212112111211212122222212112222222212222222222211121211122211212222211122121111122122222112212211122122211221222212111211211212222212121221212222221122111111222112112212122211111212211112221121122212122111122212122111111211112111111122122221111212221121222212211221112212222211212222221121121121211222122211212111222122212212122112121111122121221212211112122121211122222112211122212112111212122121111221111111121211222212211122121212122121222212112112121212212111112222112111112111122221111111212111122222211122121211111211112121212211121111222112121212222122111212222221122111212112221122122111121122121211111211112222221121221211121112121211222212221111111112211211111122112222222122112111222121222122111221111211221221121111212121111111111112122111112212111212222111222112211121122211121221222121122222112212221121111222221111112112122122211221211211222211212221221111222222212212111212112211211221221211112211112222221122112211111122212122112211111222212222212221211121211211211211121221111211211221112211121222222122122222111222221221112111212221222122222121112112221121121221212112212211121122122221112211111121212221122212222211121111222121111222211211212221221122111212212112221212211121212111211222122111212221121211211111111122121112122111221211212121212221122112112212122121112122221221121122122121122222121112212112212212221111111212111222222111121212212221122211212211122221121121221111222222211221111212211112211211212121221111121211112212212211111122121112122111111121112221222221212111122211121121222111111111222121111221111122112221121212212211221211121122222222222111112221221221111212121211222212222112212112212112121221212211222121222211211211121221222112111222211122112111222222121122112212121221122121212111211211221211222121112112221112121212211111112121211222212211121211111222212211111121222222122111222221211122111122212211112212121111211222121122112222122112222221222112221222111112221222112212122212121121221111222122121222121122221211121111122122121122222222211111212121211122111212222122212221111222112112111112221112221111111112122211211221212222112212211222121111211211211111221121121111212112121112212211111112211212122212221122112222212111221112212211122211112222212112211111212121222111221211121211212122221112221112211212121112112211212122212121121221112111112212121222221221211211122111122121221121112112122211111222111112221221211111222221212221212121121111222111221122221211111122212221121221122112112112222211111111122122111112122111111111211222211121111212121121122221212222112221212111212112222212121111221211112222122121221211222111221121122121212112121222221122122212122111112111212111211111211121221121112222122221112112122221211212121121112111211212112112212211222122112111212221212222122212222222111211121122122111122122222212112222211221212111211112222112211211222212222211212211111112122121212222212111112221221111111222111111111221122111221222121221112111111111221122221122111122112222211121111211222212211121212221222221211211212122122221111121212122221121121112122221121222112221122112121221212221111211111222212222221222212222111211121121111221212212212221221112112111222212211221112212112211212111122211222112212221221122112212222211211211212111121122221222221121212211112111121122212221112221212122221111122222111211221211122112111222122122221111211112122121212112211122222121111121122212122121222212121121122111111222221221221122221222111122212121111112222221112222112212221122211122111122212211221111122121121111212212112112111212221211221222111112221212212122211112212111121121111111211221112212221212112112112111121222221222211211122221121221112122122111221112212221121212122211221211212111221111212222112212111111212112111122221211212221212221121112222111121211121121111221111221211211111112222121221121222121111111212121111121221212211221122111212212211112111211122122111122112212122111122122122211211221112122121111221211112121211112112121212111122212211121221221222222121122111121121122122222212122211111221122212212112111212211121211112211121212221121222212222222221112121122112221121111211221122122221222222122121121221122121212111122222112221221211221212212112111122222121221111121212221211211221111212111121112211221122111212112222121111112121112121122112122121121221212211221111212212122121121211121111211121221211112121111221222211211211211112211221221112221221111212121211112211111112211122212221212111122222112221112122121121121122121222111211111111121112122121211222221112112221111222111222212211122211221111121111121221212221212111121211112211121121111211222112221112212222222111222222121212121111212212121212222111222221211122221212122111211122122211122212111222221122121121222122221111221121221112211221211112111111211211121112112212111221221222212212211111112222122211121212211221222212112112122222121211111112221221111211222111122122122111121121122122211212221111111122221212221221221222222211222122112212212222221112121121221211112111221211212121221121212121212211111212112222122122221111111111122222121212222112222211221212122211111212111211211221112212212122121212222222111211212211112212122221222222121222222212121122212212122222122112111222111211111221221211221122112112122122122212221222222112112121121111222221111222122221112121121211111222222111211111121212212212121121111112122211111222112111212122112221211222122222122111111112222122121222211121122121222212111211221222211222221121221211221211211121111222111111121122211212211111111122221211121212211111121211211211112221211222111112212212112111121111111211121111211222121212211212212122211211112211112222222212112121221112112221221221222212111121112111122211221121211112122111212111112222111111221211122222121121221221111111222111111111112111222111122221211122222222121212221222221222111221111112111122221111211212121111212222121212221121122212222111112111122112221221211212121211112121112112222211112211212122211221221112112211122211112212121212212211122112122221221121112211222211222221212121221221112111222121211112212112211122112212221122111221121121222122112112121122212211122221221112221122211112121211111221112222122121111211221112121211112112121122212111221122111222211221121222122121121121122122122111122122211212112121211211222222211211111222211121122112211221212212112122121111121212222221121212122112221112211212212121212222212121211211221221122121112112121222111221122212222121121112122211112222212221122211112222221121212111211122121121121211112112111112221121212211221121111122222112221122211222122222122112122221112211121211222212121121111121221211222211211122111212212122121111222222222221111221222212222211212112121222221211112221121221111121221121212211111122121211121221111222212211121211121112222112222111111111211211221111112212121222222212111221221122221211112122122221222121112222221211121221211111112112221112112222222111221112111212121111221111111111111112122222121221122221122111111211111222212122121122112212121122211121212212122122112121211211121121221211111112222222122221111122122222222121211112122121112221221222212212112111111111121111111222111221212122111112121212222122121221221121121222111121212221111111212121112112121122212121122111211212212121221121222112112211121122122112222112222212221222221121121122212212122221121111221112212211121212212122222212121121211212212112122122111121221212212212222212122121112121221212122121211111211111121111111222221121211221221111122222112211122222212111212212121222222112221222122212222211222111212212221211211121212212111221211211111112112222212112122121121111112121211221112111211212211112211121111122212221112111212112212212111112221121221221221212222122211121222212212111212122211212122121121211212211112221222121121212221112222121121212211222121111221221122211221112221211122122222222111221221121222212122112212211112221222222222222111221111221221121122221212121111122112112222221121211121112211211212121121111221222122221211212221221222111221212112212211121111111121212221122212212221222121121221122112121211212221211112112112111221121221221111112212122221221112212122211111112212221121211122212222222121211211122122221222122112122111221212221212112121212122212221121122221121121112212122112211122212121212212112212221211112112211221122112122222211111121211122111112211221222122221211212222111121112222211122122211111111212211222122221111122211122121111221111122121211212212121211122221112122112221111221121222122122212221112212211122222221221112222212111122112211212111122112221121112122212211222211121121121121211111211112211211211211112112212122121211121111221122122212122122122121121212111112211121221221212221211212211222222121221222222211211121122212222111121122121211212112221121111111221122211211111111112211122221221112112121112122211122112122212211211111211111121112111111122112212221112121112122111211211221222221111122112222112222221222212222222212111211212121221111112211212212111112222111112211212212121211122112121122211111112212222121212222211122111222121212122121221222121111122111211212112221122112222211221212221112211211121121121122121111122212111111121211222111112111122212211211212212221212212122121222222112221212211122212221121211111112121211121211112122212121221112212112222222211221111212111211212111112111122121122111111222222112111212211222211121221211222121221121211221211111121211122112122221112221221111212112122112211121121221121112221121122111121122121122121121221211111122121212122221121222122121221121122221222212222122122221121122122111122121122122121122112221121112111121112221122222122212212112122111111211221111112222121121212222211112211222111222222111212111211221221122111111112211122111111221212122211221222212222121212212111121221112211221211212221112221121222121122112211121211222222121121112221211121122121122122212222111221122111122112211211112221122111112122211111111112221111111112122121222211121122112212121112212211122222111111212221111121121221111211121221212122211221122112221122121211222212222222112221122111222122222112221222111121121211221222212221112112121222122211212221222121212221211122122121211222112222222122112221111121122121212212212212122211212121212221212122122212122112221112221211111212121111112222111211211112211112121121111222112122122121212211221221212212112122212122212121112221222121222211221211122121121112112222212122112211112211212112122121212211212221122112222122111111222111122211221111211221221221211211122221121211212211121121111212222222111122221212112221212222122122122121221121222122212211122122112212222212122121122111112222112222112122222221112122112211111221221212221212121121211111121222211221121221122222221212111222122122222221211222212112111222122122122111222221122121112221211221221211111222222112221211122112212112221212222122112221121122211212111221112111121212222211121221111111222111222111212221121222221211112111221111121112112111121112122111212121111122121112211212211112111222222112121221111212222121121121222122111222122121211211121122122121112222222112222212221111111221111112211211122121211112221221212221111121221211221212211111222211112112121221111221112122221222222111221211222221222121211222221111121211211212212212122222222112122111211212111121111112121122122121222122221111121121222112111122211221112212121111121212211221212221212111122222211121121212221221212222121211211121121212122112112211222211122211111212122222121121222121111112211111122122221212222212122122121121211211111112121112212221122221112221111122122111122111211112212222122122112211212111221211121121111221212112221211212122122221212211112212222112212211221221221222222211221212112222122222212211222121222122221222212212122122211122111211212121122112211111122122112222222222122212221121111221211112121221122122121222211221221211112112121212222111121222222212122121111222222111112122221111111122221112111221222222212122122222122211121212212121111211222221222122211111112221212121212121122122212211112112111121211122111222122121121122222112222211212111211121122222112121111221111111221221111211221121222212121222221111211122122221121221111211221221221221121122222111211212121111212221212121212221211211121122221221111112121221221211221211221222211121222222212111222112122211112221121122112212121112112112122212212211212221222121121212112212121111222211212121121212221211221212111222211211112121112121111122122221122222121111221221122112212111211212211111221122112121211211121121121122112111212222111211221122212221112212111112121111121121122211222212122212111211112121211222222111212212111211112111211212212112111222212212212111212111221212211211121211222222122211111221222112112221212112112121221121112112112221211122221111212222212122212222112212222111222211221112222212212212211112211111121121211212121211122212211212222122222121121222211121112121222211212112121112111212222121222212222211112221212212121221112112112121222121112212112211121221111111212222122112112122122111121112122112112211112222222111222212212122112122112212122222222211211212221222212121212221222221111112221122111221221122111111211111111212211121111111121221221111211221212221212211111222211112212212121111211211121122122121121211211211111122111212121112222222121112112222121122212222122111222121121121121221212111121222112212111122221222221121121112121121221221122212211211212122221212221121112121112221122212211222222122222211212122222221221122111121222212212111121212222222121112211211122212111221122211111112111122212222121212212222111121211121222221122121111121221122122221111211111211122112111121112111222222221111121222212211212111222121112221212222212212212222111112121222221222211212111222112111211112222111221111221212222111212212121212212222221122222111112221212112211212112112111212221121121121111122112221222111222221211222221222221221222222212122112112121212212212222221111211221122222221222112122122222222212112121121111221211212122111122212111111111212211221122221121222122112222121211221221222122222211121221222221111222122111122112212211112221221121112211111111212112111221212111221122121221222112112211222122212221112111212222222122221121111221221212211221111111221122121212112212112211212112122222122212122111111111221112221122121121121222222111211112111111111122111212122212221211211211121112111112111121221122221222122121122221221111211212122222211111122221221222221222222112222122222211111212112111121122222111212221212122111112211112222112122111112112121121211111211212122222222121222211121121121112121112111222211111111212221212212211121122121122111112112112222112111212122112221221212111212221212122122111112112212122121112211112221112121221212111111112112121221212111221221121121211112211111212221122112122211212212111111222212111111111211121211121121122211111112122122122111112211111112112212121222122112122221112212122112111122222221222111121221211111111112211111221211122222121111221212122121122122122121112211122122221112211211221221121222112111212122122111212111111122221211212212111221222222221222121212221212222121211221121212112212212122122221121121112122112122111221112121111212211111221121112122112221121122212122222111122121122212211221112211211211111112122222212212221211122112112121112122221121111222212122222212112112221111121112121122122222221121111221111221211122211112212121111221212112122221111122122221222222122111211111211112211121212112122112222212221122222211111211221122222121112221112211112212212222212112221122221111211112221211211222222122112111121222211211222222211222211121122111211122112221212111211122222212211121121111222112222112212221112212222211111222122211222222222122211212221111112211211121221121121212221221222111222222221221222211211221121222121211121122111221121121121211112211212111111122122111121121212212221112111211222122121211211111212122211121211121121211122221211222221112212112121222211112221211121122222221212122122111121111221122112121122111211221121122221211112222112221212222211222221212222112121222122222121212222222122121222222212212112122211212211111221222122211122211112221111111211122222211112121121111121121211211112112121221121212121112112222212212222111112112122212221212211222121211222111112212122121112111111121222112121221112211111212222122112111111212112111111222222211211221111121112222222222221122222221222111121221221122212111211112221122112221221222212222111111121222211221212212122122122122221122112111122211121121111221212112111112212121122111212122112221221121221122221221121212122211112222122211221112221122112222112122212122121121222121211122222211212211111222111122221112112221112212121112121122121121211111221111121221212112212121122211112111212222221111121212212122221112122111211111111121212212121211221221122222112111111211121112122222112211211122222111221221122111212211222211111211212211221221121221121222112111222112121211111211212122112212112212212211112221212212211221212112211212211112221211221111222122211112221221122212211211212121111221222112222221112212111221222212221222211211221212112211212211212112211112222122122222221111211222111222111221211112221222211221122222112212122112111212211211121121212112111211211111211212122111212211122122112121121211212222222112222211111121112111121121221121122222121211122212212212111121221111221222222112212121211112221112211221111111221211111122112121112121111112222211212211221122111211122122121212222221212211212212112221122112222112112221221221111212121121221121212112211111112122112211111112212221111111122112212112212221222211112112222211122211211111222111212221222211222111122211221222121222212212121112222121222222112211121122221111121212122112112122122112221222121121211211222221222222211112212221111211212212211211112221211121122221211221112212111221112112211211222112111112112112122211112122111121222122211211121121222112221112111221222122112112211121112221121111111121111222221112121221221221222212221211221111111122222212121112122211121221222212221111121112121112221212221121211221122121211222221112122221221211211121221222211112221121211212222222111122221222221112112122111112111211112122112212221211111112221211222221221221112212111212111222221222122221121121121121222122211211221121121111211122121211211112212122212111122111222121122121221211122111211112212111211112111222111221212212212221111112222122211111112222222211212111121222121211221121111122111112112212121111212212212111221111111111212222111122122111222221112221112112221112111111111211222111112121122112211122222111211122122212112121212111112112221121111111121211122221221121222112122211221221122222212111221122211122111212221221112122112121211212211112221112212212121111211212222211211121111212222112121111112111111121222111122122221122121122111111222112121111221122111122211221221111212112212111222211211222222212212121211122121111212121221221122212222121121122122111111211122121112112212222222121211211122221122122112221122221122211212112211221222112122222121111122222111212211212122222221112111221221111121112222121221212221112211112121211122111222211122212211112112211212211222211112111111122121222211212221221222111112122121122221111222112212121122122221222212112112112212211221122211112112211122111221221122221222221211121121211111112211221212111211122121211222222111221122112221112121112111221122211221221211111212211211221212212221112121111122211212122121112211121121111112211112212222112121212211121122222212222211212221111221222122111111211212211221121112222121111211211112211122112122222111111112121221121122222212111222112121122111221211211122122112221221122212122222111112211222111211211121222122221112222111122111211111212211111121111111222111122211212111221112212121221122222112211212221222111212111212212112121212122211211122212112212222121221211212112222211211111222111121112211212122111212111112222121112221221222211112211222121221122122211212221111121121222211121221122112212222212212111211211122211121212122111122122122122111111122122111121211221112111211112211121121112121112121121111212221122112112111211112121221222121221212211222112212121122122122111221211222211112221222212122222121122221112111122211212211122122122222111121111111212111212122121112112222221112111112122111212211222221122122122111221212221211112111111112112122111212212112211112121212222112221111111111121112112211122112221121222122111212212121111111112212221111122122221211111222212211122112211211121122212222221222111211222121221211112122211111212121221221121112212212111122212121211111212221212221121222221211211221212211222112221221111111122112121122211221211122111222211122122112121111221122222222222222112121111222111212211112122122112112221112211212222222212111122211212212111222212121112221121222122122112112212111222221112212112111222212121221212221111112221221211211211122122211222221112212121211211111121212112222122222121111112111212212212211221122211111111111111112111212222211112121212122121211212221121112221222212221121221112211122221122212222221221112212222111112121122221111122211112111122122211221111222112112121211121222211221221222121212222112112222221112112111211212121221212212222222222121122122111222122212111221111221212121121122222211222222122211111222121212211211221122111211111121211212122122121221121112121212111221212212112221212122122111122221211122122212112122122212211222211221112111221222221111112212212122112122122212222122222112222112122112111111212121121121221211111212211121211111122221122111222212222211122212121121111222111211111211212222211122221112222222221122222121121112212222222111121121122211211222122122212112122212121112111221211211211112112111221122212122121211121121121122121111121121222212112222211111112112121222121211211122221211222112122212211221222121112112222222222211112221112222211222112222121211122122221111122211221212211212221111222222112211111222221221212121212221111211111111111221212221121212222111222121212112211121221112112211221111221221111211121121111222122211121221112122112212211112212221122121222112122221222122221121222212212221212212111112222222122222211121222211121121112211122211121222122111121221221212112122121122211212122112111222222111121121221122122212222222222111212112112212211112211221111122221111211212121221112212211222221222212112211211112121121111121212111211112112122222112211221212111212121121111112121222121122211211212212112112221221212112121112122222211122212221222122211221111112121221221112212112111222222222211211211221111221212212221221112212211121221211111212121222112122211222222212122112111221111212211121212221121212221212211112112112211112221121122122122112212122111121212122111212221112122221112221121212222112211211211212121122121121211211211222221111222222111112221221222221122111221121212221212122121222221211122212222121122221211122121122112221221111112222211212121111221222222122112211222111212212121111211122211122122112222212121121111121111221121111222111111122122211121112212111221112211122121211122111212221121221112121212111212112221211222122122212111211112212111221121121112221111112121112122212111211112212222221112212111222211112122222221221222121112111122222111111222112221211122221121221222211211122221222221221211112222112211222112112212112221121121112111111221221122122211111112122111212221222211111222122212221222121212112122222121121221222211112121111121222222221122111211222221121121112112111121221211222222222121122211111221121121222212212111111221222211122211222111211211111212112122121222112212222222122121112221111112122121122122221122122212212221111111211222121122122112212122121121222221222221212122212112122122122111122122222211212121112112211111121221112222122211221112222212222122212222221211212112121211212222112122112221122122221122221121111211221221111122121222122121222121221122122221122222112222221222112112211212212121212121221212221122121111221222122221111211121222212122122122111211221212222112112112112221122111111211121221212212222221121222211112121221121111111212221111221122112211222211222121222121221112111111212211222211121222121222111212211222221222111112112211221111212222222111211121222121211111111212212121222121122212122121111111112121112222112121221112211111211112122112121122222222121221121121121222212222221121221211111221221221211221121222112211222222112211112121222221211111222221221122221121122112222111221211222212221221112111111121222221212212212111211212111112122121222122122221122212212111121211212212211111111211212121121211212221122121111211121222122122112121212221112112221122222211121112221122111212112222122122222221221221221111221211111111111221121121222121112222221121211112122222111221122211211122122111111211222122221211222211122112212111111221112112211221122111111222212212221121221121121121122211112111112222112121121211112111222212122122222221212211211112211121211111122122212111221221222111112212221212212111212211112122212121112211211222112112221111121212211111112221112111111211211212121222111222122112122122221121222112212212211221212221212122222111122221222222221122212212122111111122222112222221122221122121122121121122122212111221211221121212212121121122121222211122212221222211121111111121221222121112112121112112221211111112112221122121222222111112121211221222122111211112212112112221212122122221221122122112111211122122211111221122122121111122221222122221111211122122111221122212111122111111211122211212111222121112112112112111111112111222212221111111111222111111212121212221112211111212111111122222121111112111211111122222122112122211212111222122222221121121111122222111121112211122112222221122222122122221122222212112122211122122212112221221112112122222112112221211122112121112222111121222112222111122111221221122211111211121212222112111112122121212121211212221111121122211212121122222212122111212121212122221112111112211221222211112222221121212121222221112211211211121211221222221212112112212111221121121112222212211211221221222122121222112221121122221122211121212212221211121122222211222111121112121112211111112112112211212212112121211112121211221212211122112211221112112221222212211221112222221222121222121112212121222111122121211121211112122212111211211211222212221211211222222221211212212212221211112122222212211212122122222221112221121212211211212122221121122211221121221222222222211211212221121212112222212122121222111211122222112212121122122222111121121212222222112111221112212212212121112112211221212212222222111122111212222221122222222222211122112111212121211222221221212212212122212121112121122112122221111222211111121212222111211221111211211221222111212212221211111112121212211221112222121122112211111222121111222111221211212122122121211222212222111111221211221221112221221222121222211122121211111222112221221111111221222111111211221212122222121212111221211221212212221211112212111112222212121121211121121112112221211222122211112112221111111211212222122212212222212212212122121222222112121121121122212121121212122211112111212111221112112111121222212122221212112212211122111222221222222111222221221212121212112212222112222211122221112122112221112211112122122112222221122221212111211211122211121122222211112122212212211211122221121122211122221122111222121112112121122222112121221212211122122111112121211211212111212212111111222112121211111222112221211121112211111221212221222211211211222212212222122111112112122121221221122211211212222221211112211212222212122211221121221122212222122122112221122211112111121122112112212122121121222111111211122221211121222122212111112222111212122112121211112221211211121122221121111111121111121212122122111122121211122112121111111121212122111111221212212221212212222221111111221212122121121221111222121121111211112122122111212111221122212212122121112211222112121122121221111212112111122111221111112221212121211212121222211111122122212122222111111221121111121122222112112112121112211121212111222212112222111111212121121211221211111121211221221122111111212221222112112222212122222211122221111122221222212122221121222121212211111211111121111212211212122122122112221121211221122221121222112212211111221122122111122222112121122211212221121121211112112111111212221122122222222221221211221111222211111112111112111121221112221111122121222111212122122212212211222212211112121122121222111212112211222222122111111212111212121211111212121222121211221211222111221211111212121122212111211112212111211112122212121122212111212221211222221111222122122112221121112211112221211121122121121111211112211122212122221122211121212212222211111111112211212121111122221121121122212222121212221211122111221211222221212221122121211221222122122221221122212111122111121121122222112121212221112222222112222121111112211211111112212112122211221121212222111122222212112122212212111222112212211222221212221122212221212221121212221212112222122122212112221211122112211222221211121122211211221122121211222122211112122212121111111122111111121221211122211212112111222122221221212222212122211212211212122112111222211221112211121112121111121211111212111122222211221112122222211121212112112212212212222111121122212111211222122221111112112111122212211211112121122211222111212212111111222122121111112121212111111111211111212211222221212212121122212211121221122112112211222122122221221222211211122212111112212111112212122122211212222122212122121221122122121112111222122212112211121222212111121212112211222211121111122122112122222222121121111221221122221112122221222121211112111111112111121212122212222121111121222222211121121111111222222112222112122112221212121122221112221221121221211121122221212221211111212212221211122111222221211212122212222211122122221212111212121211121121122212112222111111112121212111212121122212121212112222121122221111222222111211111211211121112222212121111122221121112122212211221222121222212121122221111212111212212121112112111221222222222112212221122222211222122111112122211112212121112111121112212212222122121121121222111221122111121211211221221112222121122111122212211111221211122112111121111121221121212122122111121122111122121122222112112221112122221122222112222212221111112122221221111211211221111221112212112221122112221121212112221111111212112112222112222222212121112212222121112221211111112221112212211212122112112211121112221121112211212211121111221211111112211222122111221121122222212112111121222111121111121212121212222121211122112121122221212212222222221112111121211211212211122221212222211111222221211211211112221221121211121121122111112121122221122212221112121121212111121121211112121211212112121122212222122121122221122111221122221111221121222112111111222222222212221122111121112112211211211211221121121222112111112221121211221211222121211211222111222121122122221111211221122112211121112212222221122112111121121112212111111112122112222212211121221222121111212121212221221211211112122221112212112221121212222211222211112111211122212121212221212112222121212111211121211122111211211211211221221212222221212221122121221211121121211111121211111211122211112212211212122111121122212122121212121222122222222111221212222111222211122122112211222212112122112112212212112212122111121221222111221212221211122111222212212212211211212122221222212121112112121122212212112221221221211111221222212111122121122221122112222111221121112211212112222112212221212211111211211212122122121112211112222221111122222211122111112212222121112222112112221222212212121112221122211112121112122222122212211111112122121122221111121111121211112111122121122222112222212112211222112112221122122121211221211222112112222112221112212111112212211222222211112122211211212121222221111222122211122112111221111212112222112211111121221222221221122212211112211222221122212112222111221222111112222211212111112221122111222212221212222211111221112121112222211212112122121112211122211121112222122121221211222221122121112212211112212212121221222121212211121211122122211222212221211221222111212121122211111222222212112121222212111122211212222111212122121211111222212211112211211112112212112121222121112112212212222111222112222112211122122111121121112121111121112221122221211111221112122211222122212121211211112111211221221222221211122221212222211111222111212122111122112122211111221111112122212111122221222212221221212111121221221222222222112212122111212222222221122221111212112111111212122211221121211221212112212222222212212121122112222212122211121221122221112212112221211221112121121211211211121221112122122221222121112112122112221122122121112222212211111112111121211211122122121111121111121211112212111211222111222211112121111211222211111212221122221222111112222212112122111111211121212221222211112121222111112112111111121221121212121122211211222211222122122212222111112222211212221222212211222112222121222222111221112122111121121211122111122121112212211222111111221111121122212112121112112122211221221111111222221122121122222211221121112122111211122111122211221211212121122212112121122121221121212121222121222121222122221111221111121212211121121112121212121111112122222111221122212221222211211121211212222111122212212211112212122221122221211222212222211112122221121211222112112111212222112121121212221122122221222222222112112111211221111211221121211211212212112212211112222112211211122121211121221222211222211121212212122122212222121212212112111222221112112222221121211121111211112222211221222212111212122211222222211211221221121112211111111112212211122211112222121112122212211211122111112221221121221222121122122222211111112111112112111222221121112112112121121122122212122111222212121112211222221122112212222122112211111212211222112121111112221211212222121122212211121212111111111121211222221122211111111212212211111211121221122121221212111222112122121122222122111221211112211222221221121212122122122112221121111221112212222122122111122221122121222112122121122112222212122211112121221122111112111111111111221221111222211112222222221121212121111222211112222221212212211122112211122111222112211122221212221222212112212112212122122212211111121222221211221122122121221111212121122111222212222211121212121212221222112211121212222112111212221221112222211112111211211212212221121212221211221112212222222111121112122121111211221111122221122221212112212222222121121212211121221112111211222211212211112221212121212122211121112111221122112221121222111111121122221121211112121122121112212221122111121121121221222121122222122121111212221212211212221122211122111122221212221112122212221111121221212211212222212122212222222111112111122122122222111122221221121211121122111212222222112212111111222122121211121121211121221111121111112222111112111221121222212122222111112221121221211222121111121111221111211111111211211122222121111221222112111212122111211221222222222122122212221222122112121221121121111112112211211121222111221122111112221121222121112211121122122211111111122112222122112211121212212112221212122121121222222221221111122211212112112212211221111121221121122121221221211112122121122111212112112222111212222121221222111121222221211122221221122222221221222211112211212121222121111211121222222112212111122212111122222111122122222121121212112222222222122221122212122211222211122212222212222222211111121121111221122222212121222112222121112222222121121222111111211122221212222112121212122211122222121221121221222121122212211211112112112121222211121112211111111111111121212112121212121222121211211111111222222112121121221111112212111212211221121122221111222121122112211111122121121221212122221212222222222222211111111221212122212121111211111111111112211222212112111112121211112112212212222222211222211211212112121122211211221111111221122211122212221221112222222121122222211221111121111222112212111221222121222122222111221111121212211222111121111112221212211112112221211111112211212221212121221211221211222221212212211222222112211222212122222222121222222221121222211221222222111221121221221222211222211221221121221122122111221211221211222212121111112112211112212212222221221211211121112211211221222121221212221222111111112122111211112111222112212212111111211221121222112211212221212221221212112122221221112121222121111122111121211121211122112211212121112211112222111122221221222222121122112122211122111221121212212221211221112111211212212121121212212222222112121222211211122211211212112212121121111112212222121211122212111121111122212221212222111112221111221211221121112221212212221112222211121222212222112112121112221211121212212112211221111111122122221211121222121122121211212212211221212212212122221221212122221112122211121122112111112122112222211211212122211112222221122212221121211212112111112111212221211211122212222111122212111222222221222121212121212222122111222121111212221212121222222111212121111211122222121121122111121221212112122122222121121212112211122222221122212122222211111212212122211121222212121111122221212221122122221121211122121222212121112111222111212112111222212212212112211122221222122222211122111212121212112222221121211111122211221112221222112122212112221111111212111222112211211121212121222122212212121212222212221221221221212122222122212221212222111121212222211212122211212222212212112111112221222212111211221111122111122111222211111111111121212211121111212221222211122121221111211121121212111111211111112211221221111221122112111112221222222112112221212211112121211122212211222221122221211211212112221221221112212112211111212212121222112222222222121111211221121112212222221112121111221111221212111221222222222121112121121122111221112221212122121221121221112111112121221211111212121211212122112121111122112211211212122221212112122111211112221212121222221112211221221222111122122222122212222122111122122111221221121111222111111122222111121211221211112222122121112122121212111212221121121211111212212221112122122112212112112212211121212111112122212221221111121121211222122112211121211211222212222211222212221111122221112121122222121112111211222222211212112111121211111211111122222122111112121212122211222211121112122121112111121112121211111121111211212122112222212111121121112121222222121112122211122212111111122122222211211211111211122112211122121112111112212221112111112211121122221211212122122221222121121121221122222112112212211211122221212121211221221112221221212211121121112111211121221111222211122121122121212112222121112212112211121112222112111122111222122111122111222121121222121122212122112121221222112212211121221211211221212121112212121111122222211111122112212122122211122121122111112221121221212211222222111112112112112111211111211212222222121122212221222212222221121222112121222221112222221222122221112212121121211212212211111212211221121222121222222211122111221211221222121212221222211111122122121111122221121211112111221222111112122121222112221211111222211111122212212111221212121222221111222122212222111112212221222221221221121122121121212221221212221122212121212111221221212221112122222122121122221222122211212111211212211211222222221111111122221211112211222112111121212222112121111111111121212221112111222111122212221221212212212122122222111211111112111222122122111121121212121222221112222121222121112221211211222112211221211221111111222211221211222221211212112112122211212121121122211112211111112211212212221222212121111211212121221212121221121221221111212122121111112212111122211221121122212221122121211212122111111212112222121111111211212211211212112221222211211111121122122222111122112121122112111222122111212121222211121112121221121121111211212121122221221212122212122221111112212122222221212211211222111222222221121122111111222212221121112112212211112112121122121211122122111122211212112111212221211122122111121212112221111222222111122112211211121122122121221211111112121111111112212211122212211111111112211122111222111221111221122112121211111122112112112111112122212211111212121121221111211111222212121112222221222112121112212211221221222122111121211221212122221222111221221121122221212112122122112221111121121212112111211212122111122112112122111222122122212121221112212121112121222112111222221222221121212221112121111112221221111122112121112211221121222111122111122112221111222111211112111122121121211221112221211111211112112222121222112111111212212211221222221221221211112122112121121222112122211222212111121121222211222111112221111212212222222121222112122122211212122212122121112111122211121212211221222122221111122112212121221222112222211112111122221212212222111112211221121122121121212212112211122122211112112221221211111222222212212121111122111222122112211222211221111122212111122211121112212112112121112112212121221222222121212121211221222112121222112122121221122221111111211222222122112112121221212111211222121211222121222121222111211122111212111122122121221111212111122122221121221112112112221222122121212222222221221121211112211121222211122221211222211122222212221112222212121121212212112121121222211112122221112211121221112212121122212121211121211121112221111221212211111112222212222211122212112122222212112122212122112112222121221122122211121112122112122211221221112111222211111212122112112111222222121122211221221112211212122221212221222122211212221112111111111211112212112221222111122121121221121211211211212112112111221122112221221212122222111111111211121121221122222111112121211212122222122122212212111222111221122111212221222211222212222222212221112112212111212212122222211211222212122121211122222212222121111122221212121222112212221211112211112121122221122211221221211112212212121211221122222221212112221212122211222211112112211221112121121122222111212211112112122122112211211211211111122112222121111111122212212212222112211211221212221121211212122122221112212221222211221112112111111221211221211211111211212212221121121122111122112222121112122221121112122111211222122122122121221222221212121111112212112122111111111222222211121111121222211222112112112211211211122121211112212221211112211111212112222211122212212221211122122112211111122122122111122222121212221221211211122121222221112122111211112212212111111221121222112122111212221112112111122212112211222222211112212111111222222221112121111122212121111122212211211221122222112222112211222222222111222222121211221122211222211222221121121222212111221121212221122122111121111122111212211112121211121122122122112112212222221111212211221222112112122221211212112121122221211222112112111112122211212222111212121121111122211222222111111111212211112222121121121122212211122122111221221111111122212222112112111112212222121222211212112122211221112122222111112222221111212211212121221111122111212112211121222222221121112212112222221111122122112121122211222222121111212212221121121111222111211112221221122211212222112212111122122212212212212122221221121222111122222211211212221211112212211221121121112221212222122221121221211211211121111112222121121221211222211221111222121222222212212212222112121112221111122121212211111122222222111122112112111222222122122211212121221122122211222211122222221122212212111222112111212221111112122121211212222222222222211221221112221221122112111112122112121121211212212112211111111211212121111211112121222212121212212222212111111111112111122211212211112212222121121121222111221112111221122212122122122112221122222122122122221121121112111221121212212212222212121111222222222111112122112211221112222111112211222111221112122212211222221222121211212111112221121121212122212222112121221221222212112212221111222221211112212221122212121121111112121222212222212112212222212121122111122221112212121121211222112111111111112112221112121221122212121222122122221112122222221112212221211211111212211121221222112211221121211221211211222111111211211221222112112212121121222121211121211112112121111122121222121211222211222211222121121111122122111122111211111212122211121222212221111212221221111112121111111212121112211122211111112221212212222221221122212122211121221111111211111211121222212112122111221212112121222211221211122122111212122121122212222221111211111222122112222211221112221212221221211112212212122121211221122121221212212211221212211121221122122121222111221212121121211212211112212222222122122222111111212122222122122221122111111212122222221222121112211211222122121112211122222122121121111211122221221112211122212212221221222211122111212221221112222222222212122212222121221221121111221111111212122121222121112212212122222212222112222111122122111211111211222212122112221122222121121122222211221112222112111111222111222211112221122221212212111221222111122211212121122111111122111221212111211211211111221122121122221212121222211111212221111112122112211212221221111122222212111222222211121211112112122121211212121222212222112122222212112221122111221222112222121121211221111121222222112122221212121222122111122121211212221221112211221111211111212121111111122221211221212121112111211112111222222222221121112222212122111212122222211112211211121221222211112221221122121221111221122212112212211111121222122222122112211121221211212221211222112221221112212222122212122221212212112211121122211222122212111211221222111211111212111112211211112122222121221211211122122211221212112222211222122121212121111111211222121111121221112221211221211112112111212111212121122111222222121121222212122122112121112211111222122122112212122211222112211111211122112221212211211111111211112221222122111212222212122221112112121111121111122222122111211221121111111221212221212121211221111211122121222222122212212112222121211111122122122212122112221111111121221111222121121211211122211112121221212112221222111112111111222222112211212221112121121111122111212121222121111112122111222222111221222111221211212122111222112111222212112111222221212212122121211212112211221221121112122111121221121122112222222221112112222212212122111111211222221221122112221112121222221121111122121211212222221121212222222122121222212222121221211222111112121112121111121221121212121111111111121121211121122112211222112122111221211212211111122112212122211122111112212212112122211111111112121112121221111221111212111112221112221222121222211121112221111112111221121212111122211212221111222122221122122112112112112111221212122121112122221221211222211221212222112122112121222111122212212112112211121122222112111121112222112111211221121121111222212122211211211112112222121211122212212122212112121221111211112111122211122212222122112112111222211222121112112112112222222222221222121211111211222112121121211221212211212112121112212112122211212211112111211122212222122112222221121122222221122212221221111122222221122111122221111221121112122122112121112122212212121211211212121111121212221112221211212221221112221222122121211221121122221212112112111112121222111121112121221111211222111221111221122221112122222221111112111111212212211221222212222212112111121111221222121212212121122212221111221121122212212212121221122122111212221122122211121111112111122222122122212211121212122211121222212211211211211212111221221212221111221121121111112121122211122211211221112222121122111121122212112212122122122111211222212122111111211111211122212111112111212212212222111122122121221211121211211122122211111121211121211122122212112122122112222121112111211112222212111212122121111111122211122111211121122222121122112121222122221212212111212112211211222222112211111122111211112222112221221111121211111221211222121211222121221112222121221112222221221122112112211221122221212111221222121212122122121112222111221122122221211221211121112122111122212222222112211112111212122221212122111211212121112211111222221121222211221122121212211112121112212121212121122211211122122111222112111122211121221112221121222222112211122212122122111122212122121112112111221212221121212112222111212112211122212211222222211221112212222222122111222211111112112122212221221211122121212211121212212121212121122112111111222121112122121121211211112122111121222122212221112221221111122112121221212111212122111212111121121121222112222122221211211212212222111221121222112122122212112122211121222212121121211212211221111211121122122222111211111111111221211111212112211212222212122121112121211111111111212212121121112212122222122121222222121211121211222121211112122222221122122111122111112222212212111212212211212211211111112222212211111212222222221222121222222121221121211222221121212221112212212122221221111122122221112122222112122111211221122211122121111212221211211212122221112112112222121121211111212112111122212221211112222112112222222112122222122211112112111211112122221211221221221121222121211112122121212122211112221222211121211211222111122211222211212211211222111211221112111222212212212122211122212212112121212221221122221112112212121221221122112212112111212122212221112121112111111112221112111122122212112212212112212112112121212222222112221211221212111121222122122222121112122211122122211221122211212112212121222211211112212212221222112112112111122122112222112111111222212122211111111212122112111222211121112222122121222222112221112121122121111221222112112121112211122212211221111122112121122121221122222221211221211112211111111121111112122112122122212212121221222222221111121112211211221111222111221122111111211221112121112112122111121112212222221212221222221211122221121211121212111221111111222222111212112121122222111211212222222222111222211221212112111212221111221222212221112122212221111222212112111221212122111212111212111122112112111121212111111212122122122221111211121112111222211111111211212121111122222211122212211112212212122122121211221211121221212121121121222111111111122221221111112222112111122212122211212122122221211121211221211212222212122122211121221212122122122122111112122212111211211221211212222222221212121222221121112211212212121111112111122221222112222122111211121121121112121212111222212212122211211211111211221212121211212211112222211222122212221212212221211222212112222222111211112212211121121222111112111221222112221112211112212122112111212112212211122221112112112112111211212211212222122211121222222212121111121222212211211212221211121211212222211121121111122221221222121122222122212212111122112212212221112211221212112121112222211111112121122111222121111212211121222112121212111121222112221122222211111212212222221222211111111221212221111122121221221112121211111211222121212111222121122111211111222111221112111122222221121122211112222121221211122111211221222122212121121211222121111122211211112212212111121121222221122112212122212222121121112111121122121211212112121222111212122222112211112212212222222221121212212222112212112212221211221222212122121122122211221112121121221212212112221122222211221122222222111111211122212111122111212121112222211211122112221121221212112122112221211222122121122222221222211121112111111221112222121111111112221222121221212221121211111121121212111212111112222211221222211222221122122211221221112121122121221111221222122211222112211121211111122111111212122112122121211121112222221112222221112111122211111222212112111221221212111212122121111112121212112112112121222112121122221121122121211122212221211222111211122111121112122122221111222222222222111112222112111111211121212121212211112212222112122222112112212212111111122121222111121122211212211221122121111111222112121121121222111211121212112121222221222211222122121111121211212221211212212121222211211211111222222112111121212112122121121221121111111111221121212121121212212212222112211122122212121222111111111211122122111222221112221122212222121112211222112112221212212111222211221111222121121122221221112211112111122222121212111111111221221121121112221222111211111111112221212212121222112221122211212211212212112211222112221221122212221111122222112121221222222222212222111112211211222212122111121121212112221112211221111222122111211211112122221211112122122222222211121112111211112221222122221211221222112112212121111122221212111221221121112222222112212212121221222121222112212111212222111211111221222211122121112222112222211222211212122222221212221221111112222121222121111111211221121221122111122112211121122111112122122212111222222122211222111211211122211221111221211222211212221221122211121212212222222112112122112111122221212221122222211212111211221222111222222222111211111122111121211112121222212212212112212122122121121221111221122211212222222121112212122112121221112111112221212221211221121212112122111112112212111111112211121222122121222222221111221122221112212211221112122212111112121221221211122111121211212211122222112222222121112122112222212212211111211122211212212122111211121111112121211111111121111121211221122221112212212211222121112111112211212222122111111221222212222211112111221111121111221122222112122121222111222122112211221212211222112111211112122112111212122121212211221112211222211221221121212122122212212222222112222222122222122121222122211212221212121212112211122221112112112211222112212211122212121211211221122222112211211122122211212222222111122212122212211111221211211211221222211111212222212221112121221111112211212211111222221112221112212121121212112112221122211122221221221111221122121112221221222121122222111222121122212222111122121122112212211222121212122211121111112212222222122222112222212111222221121111222112222112121121221212111111212121121222212121222211221112211121212211212212121222221112221111211121112122221112112221111121221221221111121111222121121121211112111112212221212122111222112221212121221222112122222221211222212121222112121211122112112111221121122222211212211122111221221221122211212122122221111211221122111211111111212222211121221111221121221111121122222112212211212122112122122112211221111212222211112222222221212212221122122212112222112211212121111222212112222111121122221221222122122211222212121212112222111121112111222211121121111111122222211112111221121221221111122111121221122222211112111212221212121121112111222211111112221211111212211112211122121211111222211211122222111121211211212111221112122221221212121111212212121112121211112121112112222222222211212121122112212112212221112211121222221121222222221222222111211221111222221211121121112121111112112212122112221112121221221112122212111212212121211211122121222211222221121111111121211121212212121222121111121212222212222221112112121212112122211112111212221112111212212122121112211111222221122211122221122122221212222222212211211112211221212212121212121211211111122111212211111221221212221121222221221221122212211121112122222211122112121122212111212122211121212121221111221221121122112212121221111212212111121121112222221122111122111221221221221211221211222212212211221111112122211111111211221122222221222112221222211112112211211211112222211121221211112122112221212122222221221222112221211121212111212111222121112111122112121221211121222121122121222212222221221111212112212211111211122212211222211111111121211122221111211221122121212211112221111212111211221112212112221112112212211221111121121112122211211221222122111122212122222121122112112221122211221112121121212122122111222112222221211221221212221122221212221112112122112121121122211111111112211221121212112122222111212121212122121111211112212122121111222112211212112221111121221122221212112222211111112121121222121222122111111111122222111222112112222112111112222121122112221211112211211211212222112111211221122212112222121212121212121221111122221112121222211212212111212212122211221211122121212222212112222221212111212211221211112121212212121222112121221211112211112211222121111221221112212121112221222121122222112222111112222121111211211221112121222211211122111121211112121222221121222122212221111122122122222121212112111122211221121212122122122221121211212212222222222221222122112111211111211111121212212112212111121211112222121122111111222212212222111112221212211222112222221111121121111211222211121122221122212221222212112211111121211211112222212111221212111111221121122212121211212222112122122112111211221211122121122111112222211212222111211211122211211112122211212222111121112222221121221221222121122112222211112111121122111222112212221212211212221211222122211111222212112111112222212111211111122212222221122212221122222222112212111221111111222221212122212212112122121112121211112212222111211112122122212212212112211111122121221211221211122121121222212111222122212222211222221212111122222112122111112122111221211122111221211121212122222111111122112121211211222121212221111212211111212211111222111222211211221112212221111222212111221112212212212211121211121212122212221212111112112121211221122212122122222112122222222121212122122112222121111221221112111212221122221122212112211112222111111112111221221122121211222112211221111111221111121211112112212221221222112222211221121211221221122211112221212221121121212121122211111222211111221211211212112221211122112222222112122121221112212121211122111121212222112112211222222212122222211221212111122211122121211212221112212221211111122122122222211212111212212121112222221221212211121211111121212121112212211222212212222212211212122111211211111111121211221212212212122122122221211211121222222122112221222212222122111112212221211121122222212122212111222121112221112122111121211111111122111121221212222221221222122121221111112121222122122121111221222111221212122212211212211221211212121121121221222122211211212122212222211221212111112111222211121112222222222212221111121121212111122212212212122221221121212112122221221212211212222122211111221122112111111212111222112112212221121211122112122122112212121222121212212111111112222111112221221222121221221112211211112222221122221121221221222112111111222122122112111121212221122121212222221211222112111211212122212121211122211211112211121122222121122122122212212212122211111212122111121221122212221111222112112111122222211111221121211221221221222221121212212122122211111112211212112222121121122111212111111222221121121111112121122111112222121221112112211222111121212221121121122221212212121122111212212122121111121122121211122112122111212111212222211221111212112212211122112222122212112211221122112122111111112112212112112211111111222222221121212122122112222121121111122221212122212212112222221221222221121221112111121122211222221222221211112221221122111121212221211222211121212121121222211122112212121121122222121211121222221221122221221121212112221122211212122112212212212212222122221122121111212122221221212122211211212221112211112111121212212222222112122212122111221212112122212211111211121211111212221221112211212211211121112112222111112211221112121212222111121121121121111212222121222211221112212221221111221212111112112121222221222221212121221222122222221212121122121121221112222122111222211222122112111222111221212212111221122121121111112121122222111221222111212212121222111122111222222122112121121112122221222211212212221122112112212221121221211211121212121211122112111121212111221122222112222211121111111212211112211111112222212221222221121212212121122112111222121122222222212111111211212112222121112222212212111112211112211221221111211111212211122212222222112221111111212212221122112112222221122222212122221121212121221111111211122111111112212222111222212212121112211211222222212122222112112121221112121211112112222221221122121112211122112221122211121121211121222222222221222121121111111212111111112211211222222121111121221121121111122211212111222112221112211222121222221221122222212122121111111211121112111111121112112212211112121212211111112211211122221121211211221122212211112212222121211222112212122121112111111111111222211221121121221222222211212211211111212212211121222112211122111212222212222211112221122211111121221122211121111212121222212111122112121121112222212121122212112212121211112222112122221221222211121221211222211111122112212121222211122122211122122222221111111122112221121121212111212221211221121211212112211212122222122211221121122222221211222112111212112211212122221222221121112222122111111212112222211121122111111121212111111211111121122221212112222211112221112211222112121222111112112122111112121222111222122121212111112111111121111111212121112112112112212121221112121222122211121222222111112211211222211111112122221211121112221121222212111112111222112211121222222212222211211211212121122111212121221112122121221221112212121211222221211222222122121112121212212111212211222112121112211121221121211222111112222221112211222111211222121121211121222122122222221221112122212112111211111211222122121121122222111121122111212221112222122122121111112221112212221121111122111211222122222221222121221112121222211121212212121222221121111212221212222222112112211221121112211222222222121212212222212121211112111122111212112111111121111221212111211111122122211112111212112212221121211211211221122111222222111212112221122211221122212121121212111211222211121112122111121121111212211221121222211121111222222122122221211112221111212122212111212221221222122121211111122112211221122121212112112112212221221121221122122112111112121112121211221221222112221222212222221111222111222211221211222112122122211212122121111112212111211222122212211212122222111212222221221221221221121122221112112221111212111222122222111222122111112211112212112221122221211212212212122121112222211211221121222221211211222122111112111222211211211212222122222111112222222111122222221121121212111111222222111112111122121112211111212122122121221211212122222112112121112121222111212111222211221121112221121122221121212212211121212111122121211211122211111211122222112121211222211212121221112212211222111211122121211221111122122222211112212221122111212222211212121111212112121212222212122122121122221122221111122111212211221221122212211121122112211121121221212112211122111222211111112212212122121221211111222222121121211122122112222222112221211212222121122122211222211221221222211221121212122112122212211112211122211211111221111122222211221121222222221121212121112122121211212121122211122122121121121212211111221212221112111112111121122121121222122111212211111112221211222111212112222221121212211212212111222222111221112211112112111122222122222222121112121121212121222122211221121112212212212121112112212122121112121222112212121112222111222111121111211122111122122112121211121112222122112121121221221222221212212212122111222112221121121222121211112221222221122222111122121221211212221221122222112221212111111222111211221222111111222211221121122111122212221121211211221122122222212211112122212122121222111222112211111221112122212122122111222212222111211122222222222121111111112221111222121222111211212221212221121212222111211121112112122211122222222211112121112211222212222221122211111212221112122112122222112111211212121112122211111221111122221112121111111112221211211121112212121212112221121212221221222221122222222212122222212121122212112121112211122112211212121212122121111211121121111221112221112111212212211111111122211221121111111221112212111212222111222212111222111212222222112222212121222112122111221221111212211111221122212211221111112221222122212212112112221121222212121222122212211222222122112112122221212222212112122222222122121222221221111121122211122221221122221211121121121121211112211211221221212222112222121221211211212111211112212112122212212222112121122221222212222111111222112111211122122112212212112112122111112221222111212112222112122122221121111211212212212212111222221211122222221112111221212121212211112121112212222212121222211112212121122212212111222221112211121212221211211212212121212111121222121211221211111211221221222211211222122121211111122112221222222211111112212122222121212222211121211222222221211112121112222121211121121222221121112212211122121112212122122222222121221221222112211221211121111211211211122112122122112122212212112121111221121111221112222122111111121111111221212111111112211221112122222121122222222111121212211122122111111221211211122122222211121122222222122122122122222212221222111211122112111221222211221212122122121121212222221121111121112122111122212121221211121211211211221121212122112222111112222121112211211221121121221121122221122111211122211121111112221122111112212122221112111122222122112222112222211111122111121222221212111112112112121211112211111112122222222211111122112221111212221212121222112111122221221122222112112212121222211221222122221122222211121211111111212112111211122122222122212222222122212212222212111212212122212212112222111212122212112112121212212112212221112111222121221212111111112222212222122212122211221211111111211122121112121122111122212222121211112222121211221221221211212211211211211221221221212211221222112111111121211121112221121122221211111122222212122122221221211221221221121222212122212111222112122122122222111221212122221221112221121112122111212111222222121211221221211222212222212122222111121222121121111211122122122221122112211222111112121121221112112221122112221221212212122211211121221121222222221121211221221111122221122121211222122212212212122222121121222111222221112112212112221121112112122112122121111222111121112212112221122221122111222211121211221212111111112121221221211212222212222211111221222121112111122111112121211212212221111221121112212221112121222222112212121221122111111222112121121122112112221221121111112222221221112221212221221111211211112221122121121222221121221121212221222221222122121211111211221121222211122111111111121112121222122212222211212211112112111222122222121121211222112112212121211112211222111121222222121121221211121112222211111222111212222111211111222122122111222212211122211221111211112221112112222121112221222121211221111222221212112212112212212111111221122112112211122212211212122121212222112112222211112212121222112211221222121211122122121211122111212211122222111221212222122111222111212121112112121121121111221211112212112112212122122111211222122122112212212211122222111122222121121212112222111212212211111122222222222221222111212122212222121221222222112211221212221112122122111222212222221112222122122222112111211211211221121221122112111122111112112111212212221212212221211212121221212112121211222112112211121121122112121211112122212211122222112121112111211111122211221221112111221111222211121111111111112111211211122121111122211111122121211121111211211222221122112221112221222111121221121112121222122211211222121121121122212122221121211121211121212222221221121121212112121122211211222211112221121112212111211112211211122211221112221222122222211121211111121112211212111121122221122111212112112222122211222212121122111111112112121221222111112111212221221221222111222121222222221212212221121111111112121112221111122211222211122122111121121112222112221221221122112112221111212211111211121122112222212212222111121112112222121222121212211221212121222112211121222212221211221222122211121211222211122212221111222121122112111222122212212121211111222212211122212122121222221212222221211112122111121111221212111121212221212121221112112222121222211222222212111121221122112221221222212212111122221122212212212112212121122112221211221111121111211112221221121122211222122112112112212221212211221112211211122122221112111221211121211222221211111111111212122121111111211121221121122221112222212211222122112122221121112112221221122122112122212122211111212212112112121121111212211211121111111222212121111121112122222211222122122111112112111121112212111121211121211122122221221121222212222122112112211121122222121112121122121212121122221222212121122211211122222222221122212121212211122221221212212122212212111121211221121112111122221111222212221112212221222111222211111211112221211121111211111222122111112212121111122211212112111121111212211212211211222112222212222211112222122122222111211211122221211221212111112122121212121222121212212122112112212212112222111212121221221222222121222112122122221121222121122121211221211121212112121221212121212111121221122121112222112111211222211112111122212121222211121222112212211211211221212212222222211112121221111211221222212212221212211221211211121222112122112221112221211112221212222211111122221222212211112121222212211112222212111121111111222111212222112212221112221122221111112112212121122221122111222111122212222111122122212111111111111212122122212112122212222211121122111221121121221222122112221112121122212212211221211221112122222121221111222112112222221222111221121212212222212211221112221222122211112212121121212112122221221211212111211212112221221222222112112111222212212122122222122112121112122222112112121211122112111111122221112221211221212122112112211112112212111111112212111122211122212211221112121121211212212221222212111222111112222222211121111122212222111211111221222211121212111212121112212221121111212222221112122211212122212212211221212122211111211222222221121111121221221122211221221121122121122112122122221221121112211111221222122112212222122121111121221121112221121221121111121121221222221122111221212122122212112121222222212222111122221211211222121112221122222212121211111122122211212211222112121122221122112121212111222222122121222221121111222112222221211221221211212112111211112122221221122112222221122221211111222212121211211111111212112211121222212111221212221112121111212112211111111221111222221212221112222221121211222112122122211121221112111211111221121121222221112122211112112121222122221221222211111221121111121121221111111222222211221211211212212211111222211212221121222221122221112112112221212122211222211212122122111121212221211121221222222122111112211122111122122111222222212122111222112122111222111211112211121222222221122122112212221211212122211212211221211221112122222121122212221111222211221112212111211121111112111112222111112112222222221212222221111121111212212112121222122212111211212111212111222122221212222112221111221122111112222212111111222111211112222112211121211112211122121222112121221221222121122221222111212212212121212122122222122111211122122212111112112222122122212122121222122112211111122111111111221212221111221221112211222121211121121211221212122222222221121112211212221121212121111111122111212121211212212212112122122211111222122122211211212111211212212111122121221211122211112122211211222221211222121222211122222121222211122112122212222122112121122221112112212111122222212122111222211211222111121111212212221112222122112211212211212122211212111222212122212222211212211111121112221221221122112121221111121212121212221212211211221221221121122212211221222221122122211221111112112111222221122211222212211111122111121221121211222222212222221111112111212111212111221212212122111212122111121112222211112222121112112111112222112221112222121122111122122112221222121222112111111222121111222221122121122122212222212222211122122212122112222211111112111221212211212112121112112212211221112222111212211112121212212221112221221212212122221222212122111212122221221222112112211212121112222212221122222211112121122221222112211122212211112222221121111222112222212111111112221121222111112211111211112121221111111222112122111222212211211211121212221122111222222121111221112111212111121221211112122122122111212222211112212111121122222111222221211212121121112121222111221111112221111112112121112112112111121111121122121121212122111221221222112222111212121221221212222212211111121121211212221222121221212222122212212122222112221221112222111212122122112211212222222212212211122212212212222112112222122222121111212122111221111211112111212221221112211122221121112111111111221221222212122211222122222211222112121111111121211112221211211222212221122122111222221222212111222222111222211111222112122211111121221122122122122122122121111221212222222121212111221222111221122112111222112211122122221211211211222112112111211112222221221212121221211111111221211212222212222121221212112111112221222111121211112111122222222211121221221122112122222222221122221122221112222121211221211112211122112221221222112121122212112212111111211212112122111111112212112121121211122122212122221122111121121222121211121111211121211221211112122221222111122121211122121212222121122211122222112111212212222111112111112121212222212212111121112112112221222112122122121111121112211222222221222122211222212211211212111111112222121122112222221122222112122222211111112111211121212222212121112221211212211122112212111222222221111222221111112211212221121121121212222221121122121111211211111111222111221212222211212222212122221121212221211111112122211111222222212111212211112122121212111212222122122212212111111121221211122221211111222112222111212122121221212212211122122221221121111122221211111221221121111222122222112212112112122221112122222122111211222111111211222211211122111111122211121121112222122111222211222111222111211221122212221121212211112122211111112112111122121221111121222212221212222111221122222122111211122212121221112211122211122222122212222112122212212222212112221122221212111221111211112212221111211221221122222221122222212121222122211221122212122222222212221121121111212222211112122212211121222122221221212222211112121211212112122221111222122221211222222121222122212212212112112111122221211111111122112122221122211211112121121212212211212111122112211122222112121211112221111212212221122222111212112211221211212221221221212211212111222111122211222222212222122122222121221212122212211221222211211211122122112111221122211211212221121212211221121222122121221112121211221221122212211121111211122222112112221112212121221111211122221122211211212222221221112221222122112122111222122112121111111121211121211112111222221111211121121212222222121211221112121212122111121112212212121222222211212212222222112121212212212111121122222121122211111122121222121222211221222222211112121121212122212122112111112121211121212111221111121121211221122111212112112112212211222121121222122111212211221222111111121121221221222221221211212221111211122212112111111222221211121212121112211122212122211122211111212111212211112111222222122222121122221212211212212111122212122112211112121222121211122121222221212211212222222222212211222211221212121221121121121221122212222212111221211211212212111221112222121221221211111111211122121111212221112121122121122212221112211211211212121111221212121121122112211111111112111122121221211211222211121112211212111212112121212122122222222212121221111212221222221211121122112122121111111122211222222121122121212221221212121111221122211122212221211112121111211112122121121112221222121222111221122121221221212111212111221222112212211121111211221111211112112222121121221122211221221222222222112111221221122122122212112121122212121122221121112112211121211121211221112221221211211111111121211211122222122122222222122111211212122222122212211221221211122212122111212121112111111222212121112222212222111122121121212211221121221112122112111211122121121221121122112222222111221122222112211222111212122122222122122222121211212111121121221212121222222211221111122221121212121111212211111122212112111111222212121222121112112111111222211121211121221111222222111221211222221212122112212112222221222211212111212221222122211112212111112112221121122112122121211122112212112122221121122212111112111222211111121111122211211121221211111112122221121112111212121221121121122121122112222111212211122221211111111121111211221122122221222222211212212221112111222221122112121122222121222211112111111222211112122112121222222122212111121111212122111121222221222222212221211211221111212221121222222111211122121222221121212212111212112112112121112211221112221121121222212111121112222222121211111121222121112222121121211222121121212211121121221111112221212222221211211111111111222212212221221111112222122211112112221211211112121212211222111211112121221111221221122211122121221221222121112121222121111212112111122211122111222221211112111221212122211122212112112121121121212112212122211212211221211111111122122111112121211121122112122222112122121211111122221211212111122112122212122111211211212221122212112212111222122111221211212211121112122222111222211221221222212212121212111122111122212222121221121221221222121211111111212111212122212111111111112212121211121111122222122111211221112222222112222222122211222111221211121222112211211222222211212122112222112221112122222112222112212211111221221112211221222222122221122211122121222112221212111111111212122111121222122122122212112121122121211111222222121121212211212221211222212111122211121222222121122211212112111222121111121222211211222111112122222222121112112111221112222221112121111221212222222211211222121121211221211222112211211122112122111122212111121212112121121112212222122122121121221212122112211121121112211221221212111221122121112211112121122211112121112212111112112112212211111111222212121121121112211111121111111222212112111212212222111122122221221211112111112111112121122211111222212121121211122112112112121122111111212212221112221111111221212111121222111121212122112221222222212121122222221111121221121111111121121211111111222112111122222221222212211211111122221121111222121221212121212222222121112212221122111121122121112211212212121212211121212212222221122111121221212121211121111221212111212222112221212222112122112222211111112212122222122221212212111121212221121121122211122111211221111122211221111221112112221221222222111221222111222222111111111211122212211121211112121212221122211111212121212222211121111121122111112211112212112112212211211211122212121221211221211221112122222222211221112222212222222111221122212212212121221121221122111212122121221212112211221111222211212112222222212211111221221112221212211122112211111121211211221222212221221212222122122112211122112111221221211211122122122221122122212222122211211211221122121212211211121211211122122212221221122211121121111121221122221221122221211221112122211112221211221211211211221221122111112111212112212121111121211111221121212212212211222222222212221111212112212111112122111111112222111222222122221121212221111111221222222121211221121212112222221222111121112121122112121121121112112112212112222211222121222211111112212222121211222121122112112221212211122112121112121221121112112112122221222212121221121211211122122122121112221212111111121122221112221221211111212212212111221122222111222122221121111221122212222222221122111122121122222112211211111112112121222212221111122222212211111212121212112212112122211121112111121221111111121222121111222122221111112221211122221112212222112111222122111221121211221122211211121122122212112122212222221222211122111221211122112221221112221112222122121121122111221111122211121221121111122111211112111211111221211112221111122212222211212212212121122212112222212112121222211222121221121122222222112121212112222221211222221221112212222112112121112111111212122212211212121121122112221222212221121212222122111211222221221222122121122212121211112111221221122112221221222112112211111221112211112112122212221221221111222112111211222212122112222122112121112222122112112212121221112222111111221122212212121112212112222212112111212122121112112122112112122222122221122122211221121121222121111111121111112212122212222211221212212221122221112211112111212221111111221221212112222211122111211121212212121112222122221121121212112122212122222122122111122222222121211111211112211121211112112212121211121222212212211212112221221111122111221212212112121222222211221121111222111222112212211111212222212211111121122121111211122212211112122111221121211211112122112121222212112122222212121211211211121112111222222222221112221212121112121211212122222211211122122221121212211222111221211221112211211221122121222222212122112121111122112211221212222111111121212222112211221122221222112112122221121211222212121222111112211112111221221111212211112221122221121111212211211221212122222121211112111111112112122211112121111212222221121122122221221212221121121212122121112111121211111222222112212112122222211221112211212211121122121212212211112221211121211112111121221111222122112212211222121122212212121212111222111122222111121222121221121221221212222212112122112121112121122221211221112112121121211121122212122212112212211112212122212222121121221221211212211212112111111112121111222211212121121111212112111112211211221212111221211122221221121111111112121212222211122121122122121122112121111112121212111121222211221211111122212211112221211222211111212121222212222212212222211211221122111222112222122112121221221222211122112222122211212211221121211111111221212111222221221121122222222122122122121121122221221221121212122221121212221111211212211111122112211212222221211211111111221221212221221121122221221122221222112211122222211212112121112112212212221212212122222212122211221111211121222222122222212122121112121122111122212211122212221122122121222122211221111222222211122212112222212211112212221122112222222221222221112221112222121122112211221212211121122111212222112222211222221122211221211121121122221121212212112211221122221112221222122121122112212222111212221211211211221221211111221221212112222211222111212212221111122122111111221211121122112222211112221221111112121222111222111221221211121112212221221111222211121121212122221122221121211212222211211211122112122121211212121211122211222121111211121122121211122121111121212112211212222222111122221112122121211112112111221221112121111121222212212122221111222221122222112211122211212111111122111212111221121112112112111111111221111121211122112212222212122121222211211121211111211121212221211111121211112221122122221222121111122121122111121111211221221121221122221112222112221212222222121122222112122121111222112221221111222111111221121111111111212211212121121221111121222112112221121211121121112221212222122121121121211221122221212211212122121221222112212121212212112221221221221112112112112211222121211121212122111211212221121212221222122212212221222221211212111111121212212212111221122111121222121112212112112111122112112222222221111222121222222121112222211212122222221222112111122211112112121122112122212112211121221121212121212111222112221212121222221111221212212122222221221221111112222222212111111211221112112111121222121211112122111122212122221121121112112211211221222212112122212121211121111221211221212212121212221221212112121221121221211122112222111222222122121111212111121212212222112212212122112112122221211221111211122121121111112111212122222122122222111211212111211111222121221112122222111121211122111221111212222211121211121111122212122212212112222112212221212111212112112112111211221221112221121222112121111212211112212122122221222122211112222222111211211211112221112222122212212222211122121212111112121211222122112121212222111122122112222212211212221222122221212222111212112221212211221121211122221211212111111211211212221222122111222222121122111211122212111111111211111222111111211111221222221112122222212121222121111111111122222111112122122112212221212112122222122122121111111111222111222111211212122212121222221121122112222221222221111112211211212211112212121211211111122221122122212111121221121211111121222112212221111111111212111222222212122221122112221212221222121122212111112211121221212211122212122121222111221121122212111211221121122222211111121111222121121211122212112111112112121221221222212222111122212211211112212211121222212121211212211111112122212222122112222212112211211212212211111211222111112112122121112121221212222211221112221212122111111222212222112121211112112121111112212111211211121212222221121111111221222211221121121221122122212221211222221212121222111212112122222212111122112111212222122222122212211211212111111212222111212111222111121211212121112211211111112212211122121112121112111212112111111111111112211212111122112122122122212222211222222122111211111211111122222122122211111211111212211222122112212121212122211212111112122122212112221122211222122121121211211121122122211121122121212212111222212212111112122212111211122222221121121222111112122222212211212212111111122121221112211111111121112221122112112211222211111122111112222211121221222212111212221221112111211222222121222221212111222112121211121121111221122211211222112211222111212212211111222221122222212121221111121122222112222212111121222111222112212212112222222111221121222122111112212122222111211112111111112222121112221211211211112222122122222212121111122112122212121212112121222121221121222212112211212122111112111212121121221222221222122222121122122212212212111222112222212212122122211222112222222122122112111211121111222222211221211212111212111221122211221211122221211212111211211122122122212211212121212121222212222221221212121222121212111112121222122211222212221121121121221222112112221222221122222111111212222122222111122122121121121212221122122122212112111212211121211221111221112212122111111221221121111221122122222221112222112212112111122112221121212111121222122212212112211121211111112121222122111221112111221222211122221212221111212222212222222222112121111221122122112122111221122211112221121112221222121112121112122121222122121122211121121211112211112112212211121121111222111222122221221212112222111112111211211212222122221122121222212212211222121211212211212112222211221212112211222222222111111221221211122211212211221112112222112222121122211111122121122221222221112222222111122212212112122222112221112111211221222112121122222211121211111211121122222222121222112112112212221121221221222112121122211121122121212121222221222211112211221222111221212122212211121111121112221112211212122212211222112111211111212121121111212222211112112122121112222121212122222212121221122221122211221121212112222221211122122111112221222122212122121111122112111222121121212221121221212121211111111211221111112112112122221112221212121111222211122212121111222112212211222122212221221212222112221112212112222222222222212111111121111122222222212121212211121212122222122112121111211221221222221221112211112112211211221221111221222122212211212212122121112111112212211211112211221221122212222111122221121222122111222212121111212121121112212121111212111122121211112222222211111222121222121222212112222112112212221111221112222222222221121111221112121122112112212112211211112222111221122122122112112222122222122222212212211222222112212112212221122212122212222111222222121112112112212221211121112122121222112111221212111122212111111121111211111211221221221122111222111111221211111211222211121212121112122211122211111221121221221222112212111121211112222112111211121122122121211211221122121222121122112211111122221221121212121121212221121212121122212222221121111222222211122222221222211221122111121211112111212221111122122211112212212111111112111221222211211111212111212221222212111211111112221212212112122212212111112112212211211122122122212211122221212221122221112111121222222121222111122212212111212111111221112222121212122112111111211222221212112211111112122212112211112112211111211221121121221111122221211112112212121212122211212222111222121112212121121121211212112221212222221211112222221122121112111121222222221221122112222211121111111122212122221211111221222211221112221221121221212212212211111211222221121222221212121111121121211212212112122211111112121121122122222112111121221112121222121212221122111122111212121121212112222122212222121221112221221112121111211221112111112122222122211222222121121222212221212221212211212112112222122122121122122222122212222211122212122111121122221221211212212111121222212111111121211122121222112212212212122222112121221112211111121121211221121221222121111112111211211121112222111221212122112111222211211211112212222222122221222222221122222122212222112221122122211122112211211121221111222222211111212211221112122121111221121211221222212222211121111121112121212112222111212112111111122211212111222222121112121121112221111111112221222211122121221211212212222212222212212122122122112222122111222222112112121111211111211221222221112221111212112112121221122221212111111121221211211111112122222111121221222121221212122121111121221212121221122222112222211111121111121211222121221221222112211211221222122122211212222211212211221111221111122211222111211211111121212111211212121122122121122212111111112122211211121112222211221112122122111211222221121122211212122221212221211222212122221112211212211221212211111222112211112112221221111122211111122222222222221121221222212121122111111121111122122221212122212112122111211211211122122211121212111111121222222211211212111112121111211222111112221122212221211212112111112122212221112112222112111122222222222112111222212212122211221111221212121221221122111211112221122221212221111121112121211112122121222221222121112222212112121211221212112122112121221211122211222211112221222212211222121122121121112221212211121222111212221111121112211111111111121121112121121221121122211211211221211211211221211122211221111222221122212222212211112122121121122121111211121112221212221222112111221222111112121221212121121211222112221122212212211112122121222111211121122211221111222221121211111221211221212122211211112222221112121121122121111211122121122212111211121112211121212211221221212212211122211222122121212211212112111112221111111111121222112112211112122211212222211122122121212221211111212112112222122212121112211222212222122112222222212112111212111112121221221122122211111111111211122122122111221111211212121222122111112212122211211122222122112211121122122221211211211112111212222222121211122121112211222111122112211121211111211222122111122111221121212212122222111221111212121222112121222211221211111122122122222112121222211121121111211221121112111121121212211122111121222111212222111222112112222121122211121211121112212222221112121222121222121222211112111222111112122111212121211121222121122111112122122122222112221211211212121221122111222122211122212212112121221112111221121121221211221212212222112222122111211122222212121122222211112112111122222211122111122112221112112222212121221222222222122121111111111222221212222211212111112212222211111222222112122222121212111212122222122211212122222221122212221111112112212211211122212222221111221211112212122211121121221211212221212122121211121222122212112212122121112112221222211212112212212221222121212121111211221122221212121112212122211221121212111211122221121121122112112122121112222211221211121111222121112121122121112122211212212111221212122211221121212212222212211111212112121111112211212212122222112111212122222111121221112122122112211111221112211211122222122121122111221221122122112221221222222111122122121122111221211111222112111112221212211211212121221212112221222112112211211212122112211111122211111211212121121211121212211212222212112212222121122211221111212121221112212121211122212122112222212121122121212211112222112212111121211121221221111112122122121122222111112222111212112112212222222112212211122121122211121212111221121112211112221122112222112121222211122211122112222111122122212112122212222221122111212221112122122122222212211122111221212121112221111111112112111211122211221121121212221221221121222122111121122122222121211112222122111122121121122212222121212212221222222212212212111211222111122222121222112121111212212212111121112212121111122112122221222122212121221212121111112122111211122222122121121111221212212212222121112111211111122121221122221111111212222112121112222211121212222222121221211212211212122211121112121111122211111121121222121112222221211212112112122111221122112121221121221111112111212121121211221112112121112121212221211112121222121212122122212121222112121121211211222211122122211111212121112222122121211212121222222122221212212221222112111112121211222212122211211121112211221222222112222221111112112222221111111121122211112222112211122112211222111121211212211212211111212111111111122122112221212222212211221111122211212211121211111122111211122222111211112221122122112221112122211112121221221121121121122222222111211222121112111212222212211222112111111221211121211222121211222121211221222122112122211221111212212211112222222121221111112212122122112222211211211121222212221212111111111111111222112221222121121221212211121121111222122121122222111122212221121111121211122111122122221111122212221121211111121211111212112222121111121112121221212122122212111221122112222111212211111211121212112122122221211112222122212222122212121211212111121122111112121221222111121212221221211211221211122111121122212121112112111122221221122221121222221112121222221221212112122221211111121222111212111211122212112122211221221211111221111212122211211111221221212212112221112112221212112121121211111122212112111111222222111222122212121112212211122111112111112211211212211221122111221211111221211112112111222222112112111222122212121221122122122122221112112121111212211122221212211221122211212122111222221221211112211112122211121121211222122121212112221221222222212122122111112222221121112222112122211212122122111112111221222212121211121212222111222221122222212111221212111111222111221122221211121212212222212122112122111212121211121122212111111111112122111112211122122122222121212211222121122122222121122212221212121222122122221211222112212211211112111211112111111222112111122212112211222111211222112121112122222122221212212112212211112111111112212221122211111212211121211222112212111221121221221211121112122122211211111121221212222112212221221111112212221212212212211221111222221211222212221111221222221212211121112121212121112122212111111122212122221122212111112111212222222212111111211121222221222212211111121212121221211112222112112221121121122121222122211122211111211121212122112212212211222212222122111211211212111121211222221211212111121222212121212212111221111212211222112212121212222111121111111212112222121111112222222122212112111222212112121221222111112121111211111211121221111222222211222111111111111212111222221222211211212112121212221221122112121111112122211112111121221221221222211111222211212121111221112112212211222211111221211211211121112122221211111112112111111122111122211212111212222221221211212211212221212221221121212112111121221121222111212211211122211121212112211121222122212111122122122112222121212121122111111121111212222111212212111121111121222122222222221211222211121122112222122212111112222221121211221221121111221211221111122211222222121212122122111111111121212222221112121111122211111221122211111122221111222222122222222211112221112111221221111122112111112122112122221122121211121212122222212222112121222212211221112111222211121111122221212211221122121222111221122222112211211221222221221222211112221121212122121121112221212221222121211121212221122111221212221221111222112111221212111211121112121121222112112111111111111212122212212212121222121211212221222112112112212122212111222212122211212222212221221121122221221112122111212111122211122211112221112121122112212211211121112221212112122112112111211212121221111111111121111212212221222221212112112222121211111212221111222111221121121112121111222121222212211221212122221212121211122211121211221121111212212222221212222112212112222212222221112221122211212121212122222121112211122221212212222211111222211112112111221111111121122112221112212112122211212221111211112121211121211122112112221122212121212121121122111112112222122222222222212122211211212111222111112122221122222121212121212122212112112112122212112121212112212221222211121122222222121222121112121121111111211212121212212111112112122121121222112211211211222121221212212112121212221112222112212121111121122222222222122112121212112211212221221121112111211122222212121112111212212112112222211121121211112122121212212122111212222121222211121211112222112111221211122111222211122122222211112221222122221221221221111111121211111222211122212121111211212112212212112222121122211122212122212222121212211212222121121211121222121222122111211122112111222211221211122211221112221112221112211211222112211211121221221222221121221222221112222122211122221221222111122211212222221111221212122212221221112211122212111112212121122111222111211222112211212221112112111121221111112211111222121121111111112211111221112112122112111211111221221222122121112122121211112112222211121221212112222122122121111222222122112221221121121112211222112122112121111212221121222111221112222122121111122112112211122121221122122121211212111112212111121111121111211221122212121121211211211222112212212112121211121222112211112222121112112111212121221112211222221221121211111221222212121122111112222221222122121111121112211222212212211222122112222212111111211111112221121111111111112211111111211112211222222211121221121112221122122111212212112222122122221222112211122122221121122221111111121221112221121222122211211112121211121112211212211222211112212112212112212111112111221221121111111122111221212221211212111211221222211221122221112122121122211112221222211121211211121112221222211122112222222211112222122122221222122122211222111212211212111111212211122112122121111222122221112122121222211121211211222112221112121122122212112221221221222212212222111121221111111221211122211112221112121111212122112222212121221221221121212112112111211221122222211112111122112112212221121221222211122221211122111221212212222212111211121211122112221121111221221122112111122221222212222111212111122111221112221122121121212211212222122121111111122222221111211222212112211121111121121221222112121121121121211121212122221111211211221121221111112112211211222121211122111221221211121122122121112122121222222121212212211221112111221112111211112212221122112222221122211222122222111111211111222112221212122121212112212112212221122221112222221112122112112112111112112112211222212222121122211211121211121122111111111111111122111212121221212211111122111111212222211111222111121222112211211211211122112111222111121221221122221121212222212221112112112122121112111111112212111121222121222221112112211121111122121211221221212111221122221111222112212121212111221221222112122121211121211111112221122122211221211222222212222221121211112221222211112212211222121221212112221122212212111122121112211122122221112222212211111212211122222222222211211222111211112211111211111212222122222121121111211111122121222221121111212122111112222222211211121211221122211212121211122212222122211122222111112222221212111221222122222221111122222121112112122122111212111212112211112112112112221122221112122222211112122221111211121221111212112211212221221112122121122111112121222222211122122222212111212121212111212221222111211111122212112221222121111211112112222212212122112111211222212111221112211122221111221222111222221221222212211222122122212121211121222112121112112111221211111112211212221111121222211121121212112212111222211112222121121111221222112211211112111211111111122222222211221122111212211121211211222122122222122212212112121222121212111222112112112212111211111222111121211212222211112222121211222211111111212121121211221111111121111221212212212121122111211222121212221221121211112121112222222111221221112222111221221121121222212112111211121112211211121221212112222122222211211121121222212122121111111112122112222222222111121122211111112121211212212211221222112211211122211211211112221222111111112121122211212112211222121212212221121221212112112221222122221221111222221122211212121112222112111211221221122222211112211122121112211112111221122211211122122221112211111112112221112122111111112221111121222211221212111122112222111211212121211221122122122221222121222111221212112121221112122112121112122122122211122111121221211211222211112112222211222221212221111121121112111122212121211211222111111112122211211221212211111212111221122112222122222222111211221111121222211222121112211212222121221111112112112212211221112112112221122211121122212111112112112211112212212111122221122111122112111211221211221222221212112221221121221212121212211221222222211221111111222211222212211211212111122122122122121122111111212121111222221112211122211222211222212122122121221211112222222212222111221112211211211211111112222122111212221122111222112211122122112121112222121112221221121212111111111111111222212111122112111221111121111121111222221111221122212111222221211121111221112122111111221212221112222122222212111112211122221121121222221221121121221212121221221221111211111222222211122222212112122221222221112111111111221121211221121112121211212111222111212111121122111222221122222111122112121122222112122111222112221111121112121221221121221222222212122222212112122121221112112122122112221222121221112221121112211221121211211111121222122221212112212222211112112212212222212222211222122112211211112112212212122211122112122112112121111212222111222212212222212222221112211112121221121222112111212222122212212121212222221222211111221212112122122211111222221222111211211122212121222211121122222122222122122211212121122212222121211122121121222211221122222111121122222211221211211111222121221121112212111221112121221221122111111122221121221121112221222112122221122221211211121212112122222212112212121121221112112112211222112221121122221122212212121211222121111221221122222222121211211222112121111121221112111111121211111221122222112211112212212211121211111222112221111121121112122122111221122211211122211211121222221211212111222221111122211222222112122221112222111221212221211221111212221121212111112122221222121222212112111112212221212111211121111222122212212111122211112111222111221121112212111222121211222212122211121211121221222122112211112112212112112121211122122212222222112121222111121222111121221122212221212121212122221112122111112212112112121211122221211221212212121212221121122221111112221222221112121221111211111112211222212111112212222111221222222212211122211222211122221112222212222112221122122121221211121221112221221212212122122122212111112222111222211121222212111122211112112211122122212121111222111112122111211111221221212121212122222212122122222212222112211122212111222221222222112211121222212112112222112221222222222121222222111211212211221112212121211221121221211122212121122121222221222222121122111221112212122122212222111212122111211222212111111221222111211222122112222111111221221112112121212111112121112121121111221221211121112211221221221222122122121121112121112122212122212212111222211212122112111121212212222222122112212221121121122122112122222222112112212111122222212211221221111212222222122212111121121112221111211122121112111112122212211212221221111121111112211221121121121211222121122222111212221122221222112221112212121211121111122222121122222111221112211221111211222121212111122121111122221111112122221111121211112112222112222112212222122122112112211122221122222212121212121111122222211112122212221212222112121122221122222222221222221111221122211122221221122121221111211111122122122221111212212121112212111121211112122112111221122121211212111121221211111121222111111222121122211222112222112112222221111221112112221212222121111122222222211212111112221212122112211211221212211222222122122211212111211221112222122211221111221222112111122222112111111222222121111122112112121121111121122212222121221111112211112112121112112211112211221121222121111111112211222212111112222212112212112221122221112222222222212211122221212122112221111211221122112222221212222111211121111211212211221112211122221121211112112111211121121211212212112112121221122111212221211221111112212122122122211211112212221221112211121122121222121222221121222122121111122121112111221121121212211121212111211212112112121211212221212122222211121121222221121121221111222121222111122212112121111212122121112222121122121121111221112121111121221212121111211221222112121122221112111222122212212121211121211111111211211211221212121222121222222211121221112212222112112212111212221111212112212211221121222212121211222111221212121211122222122222111221222121112121222221211222222112112112111121122112121222111121222121211121221221112111221122121222222221111211211121121211112221112212221121222221221211221112112222221121212222112121212211121212211211122221221212211221212211121122211111211211122122112222212112112122212222212112121112121222121212121112222112111111211211212112111222111222111212221121212221212212112212222111112221222222112222111111111211211221122212211211111221112111122122121211222221211121122121222212121212212112211222112212211112122121211121122221122222112221222122122122111112222211111112112222122121221122121222121212212212212112211112111211212212222111121111122121211222211112212211221212221211212121112121112212112122212112222121111112222112222121111211112121222121121112112212122121221222111221222121212221221122221222122122211121122221222221212212112112111221221221222122212122122221212122122122212122222121122112121222211211222121212121121212122212111111112212122112212211212212212211111221212122221221212111111212211222221121211211211211122122221212121122221111112111212112111222221121111122221112222221221222112122122212212212212221111111122122211212221121222121122221111112111211221222221212222112211222222222222222122121112121122121212222211212111221222221111121121212212112212111222121211112211212212111212121112112222121211111111121212211221112121221212112221221221222111122112211112211212122122211212111222121112212211222112111122122111122212122222122121112112121122212222222112112222222212112122122212211211212211112112111111211212122211112221221121221122122112211121221221211221112112221221221122121121212211122122221212112222221221122111211212111222221121121121212221112112122212222111211121112121211122112122112111222121122221222222121212221121111122112111212211212222222111212212212122122122121211112211121121221111112112211222221122221122122211221222222112221112112212112122211222221111212111221111111121222222222211121211211211211121222112211211122211211122211112221111222222112222112212211112112122212221112121122122111112211112221212122122121222212221222122111212212222112112112121121112111211222122222212122222211221222122212111122121121111122121121221111121212212121122112211211222212222211112121222112122121222211122121111222212211212112121121221212111221121211111122222122121112221212211112112112222122111222222111212211222121112112112222212221111111212222212222211122112112121221211221122211112211111211221111112121122222222122111112121221111212122122112121221221222112111221121111211112211222112111122111212112222211122222112221212111121211212212122222121211121111112111222121211212121221221111221112221212121111121211221122212121222221221212121222112211112211111122222222111221212112212121211112221222221122122121211112212211212111112112121121222111222111112212221121222112212212122121111111212211211112222122111222221112121222122111222112121222212111212222111222121221222222112122221222211111122212111122221221212221221121111122121122221222111112122122111221121121111222122112112221222121221221211112222112121221112112222221221111211222111211122112221211111111222111111111212212212122112112221222221211222121221212112211211221121111122221222212122221211112211222212121221221222212211211221212112121122222111211122222222212212221211111221121221222112121221121221221112212111221112222121221112212121112221222121222111121211112211122211111212222122111211221212211111122211111212111212212122221121121222121122122112222212211121122121212112111122212122222121121111221122212211221211112111221221112222222111121212121121111221221211112122122222121212222222122122121211221212112211112211112211211211221112121211121221212122112222222212111221112221111222111222221221112222111121211122212112112222111111212112112112211122111111111121222122211111222222222121221222211122112122121121122221222222212222212211112121121112221222121222111121122122221111122121112122221112112112111211111222212212122121111121111112122222211221212112222111211111211121121221121111222111111122221212112112121211122112121222121112121121111212212222211112121121111211111212111212211221221111122111122221211212222121222212112121222111212212221222222222122112212121122222111212111111211121221121221121122221122221111212212122121111122121212111211121222221121121222121122122221211121112222211212222212212112212222212211212112211211112222211222222112221212121211211221222112211111222221221122121111212222212212222121111222221211121211112122122121112222222122111222112211222122111221112122212111111222122112221212122212222221111122211211221221221121111211121111122221121221121221221212112221111112212121222111122221111112222112211211121111221111212221222221111212222111211112111112122121211121121121222112221222121111122122112212222221221112112221211221221221121221222222111111221112212222211111221121122111222222111121211221211112112122111111212222212212122111221122212122212111222112121211121111211212122211222122121112111222122222111111112112122222112222212112111112221122212221221211122222211122221111111212221121222222111212111121212212221212121221112112222112211221122121211112212221211212221121212221112111122222221121121121222212111222122212222222222221211112222121112222212112222112122111121122112212122112211111222211222222112111221122221211121211221211221211212112121121222112211221211212122221112221112121122122211212211222121211122221112121211111111121222222211221221212122222222122222122212112121222112211112112112222221111212212121211121221121221211221111121221121112222222112211221121221222111212221121221121122211122122221212111111221212121212211211111222112221121211111212211212111222212111112211112122121211222121212212112211222221122111212112112122211211122222211121112212222122221211112112211122112112221221112112222121111122211211211212111121122222111111112121221112122222111111212111222111121212221111121212211122212212222122212212121222111111112121212111121122221121211121211112222122121222221212121121111111222221221211212111222211112121112111221112111211112121221122121222121121112111112221222211211112222111211112221211211112222222121122121221222122122222122212122122211121112212112222212111212211222122222211212122222122121221121121111121212211111122111112212221121211111111121112122212122222211122112122222111121111212112212222112222122222212212112122211222112111212211211111222221222111112112212221211212211122211121222211221222112122111221122111121122222211122121111211212112211111112122122122222121121212222212122211122221211121212211222211112221111122112122121211211221122222121121111121212111222221211111221112211212112112221221212122222112222111212212111222112211121211211212121111112222221112111111122212112122211111121222122111111222111121112121221212122222221112112211121111211211221212111221112211112112121212211222211211211121211122122221112221122221211111111121111112121222222112211111122222111221212111112221222211111112112222111211221212111112221212212121111111211111211211122122112221111211112212121222211211112222121211112122221121122122121221212221121211121222222122212211111212211212222222212211212121212221112112111111211122211122222121211122111221121222111212121122222212111211112112111121112112212222122221212111112211122211222121212212121221112111122122112222221122121112122112121122122121121221111122211111222222111122112121222211112111122122222111212111122121122111212121221222112122121121221112211111212121222111121121222212121212111221112121222112221221121212222112221222212222222211221211211112111222111122211121211121111122112112121212211121121211222222211122112112122211212122221211221121111221212111212211211222111222212212211121211121121212221212222121212122121112112221112121211111121112221211221221222212212221121221221222211221112111212121222222122111121212122222211112122121112112112211122112211121112222222212121212111211212222222212221121212112121221222112212111121121211122111212222111111211111121212222111111112122221222121112112112212112111111122121111121122212122212212211212212111112211222112222212222221122221212212121122112121222212112222121112111111211121121111212111122221222221121222211112211121221112121222211222212121122221211112121222122221212222211211122221112111212112122222121221121112211112211211212221122111211211222211221222122221212111211212222111112122212122212121222121121221212222211211221222221222112111222111111121212211112211211221222112122222221211122222122122122211112112121111121221121122121221221212111112221111212221111222122122122122222112112211122212122211211211111222112111121222212211211211121121222211211212221121211222221212111112222122112111112212211112111221112211221111221122221211122122221112121221212212112122112221221212121212212221121112212221111122211221221121211111122122222112212111221211222121212111111222221122211121121122112222121122221222212221212212122221212122122111121111221222212211111221222221122111221211222112211222222121212211112112222212121221212212222211112222212221112211122222212111122211212111221121221222122212112221222112211212121221211221121111121222111121221121211211221122212112211112112222122111211221121111221211121122211122112222222111222211221121211212122222222222221222212112212112122111221221112112221122112111121111221112122121121111221111111212222112122112121112111212222212121211122111121212222221212121212122111111211111112112222211122121221221222212111111122121112211111212222122112222211221112111212122211111221111222122212122111221211222122111222211212211111111111121122121222222122111121122122121222221211221122212121222221112121222211221211122212212211121121211122122121222112112222211121222122111112121222121121211121211222112112122221121121212211122222122112111221122111212121222221121221221221212211122122122122121211212221222222112121121211111122211222221211111221121112211212122212121211121122122211212112122221222121211212121212111111122212211111121121122122221211122222121211111122221222221222122211221121112111211121212112212221112222112211212122121211211122111212112221121121122221221121211122121212112211211122111112221112211222221222211212222112121221112111222211112121111111212212122122222121111221122112222222211212212222211121122111211211122122222112122121112111212111122211112212222222121111111221112211121112121111222212211122221112222222111121111111111212212121122111112212211112122211222211111111211221221221121112211111122122222112212112111111211212121122212111222221211112121111122122122221222121221111212211221111222111211121111121221211121212221222112211121121211222121211111121122211122211222121121221212111122112122111222122211222222221222221121121111222222211122112212122221111212121121121211222211122111222212111122221111112222211111212211111222111121121212212121122122211112211122121111212222221112221122222121212211122122111222121112211222212211121121112122111111212112122222111112111222212112111112222212122122122221111111111122211112112212121221112212212121212212112221212112122212111222112111111222112211212212222212211211221111122122121212122212212112212221112122112212111212122112221222122111211211212222121211112111121112221221211112222222111222112221111211222211122211122122221111112111112111222121112121212111211122221211212122122112212212111212111111222122122112122121112111121112112222121212112121211221111211222222222112111222221122212112111212112212222212211121221122122222122111221121111111121122122211221211222211111111212121111122111212122122122221212222212121111211212211122122112111111111222222211122121122122121122221222112122222222112122122221212212121112112122212221222121211121122222222222121212211212112211221211212122122121112121121112111122211121122212211112112111221121221122211221111111122112121122211222112211121212121112111221111111112111122221211222212121212211212221221212121222121121221212111222111121221111221111122222211111212111211222222122112112211121111112221222221221122211222122112211112112221111211211122112212121212212212211221121122111222111112222111112121212221121212211222212211212112121221121212222112121222212111221211221221111122121211122212211112122112222112211211122122211111222212222211122211122212221111112121121222111212111221221221211211121122111212122211112211221211121121122112222111122222211112211221221211222122112122112211221212211122121222112121222212212111211111221122112121211222212121212122221212221212122111221112121111112211121122222122121111212111221122212212212212111221111111212111222121122222121212111112211211211122122112111211112221222122112122121221212121112222121112111121222212112211211212222111112112212122211212221121222121122222111111121111121111221211211222221222222222221212211222121221112111212121221222211112222221121221122112122222112221211212221122211222212112111121222121211121121122112221212211121121121211121112222212112221112112112112212122122121212221211112222211211111212212121221111121221221221111112212222211112212121122111112112211111112211222121121221111211221122122112112111221211221222211221112122221211112212221122221212212122122212221212122122122121111222211221122121211221112111222222122212211211112112211211222121121211121221122122111122121122211112221112221212212222111222221222112112111211222222221111121212112111112122212122121211111211212122212121212122222112221222211121112121112122112211211221211212222121122211221122122222222211222122121211122111212112121222221121112222122122112111122221122111122211211211122212212121111222211122112212211221212112111112211111121112211221111111111121122211112112111121112221121111222112121121212211121122222222122221212222111211212111212122112121211121111221221211222211121211221211111121222212112122222222111221211211121121111112112121212111212222122211222111211122122221222222212222221212121121221111121122222222221212121121122212121212221112211122211222222211121221212221122111111112121211112222111111222212121122212121211212121111111112222122112221121111211211111121211122111222221122211212112112121212212211212122211221112222121221111121111122212111212121211111121221111111122221121111112212111222112112122222121211221121111121122111211211112222221111211221112111122121112222111211221222111112222211222112111221211121112211112222122212112212121212112211121211221111222121111211122111122122112211121211221122211122222111111211122121112212111211122211222211211222222112222121211221221122111111121111212111222112112112211122221112211122112222121222211112211211221112122222221121122222122111112222112122212212111212121211121112121212211212111121111221212222222222222211212222111211211221112221221112112222111211222121221211121212211122111221112221122121211111221122221122212121222121221212122221211221112222221212111222121211211122122121212212112111212111211211121122112121111111121122111122121121222221122111122221112121121222222221112211212112112121222111112122111212121211111122212122121221211122221221122121222212222222221112111111221221112212111111211122221212121112221221112121212221222212212122222121122121111121112112122221112212222112112111212121222111121122212212221112122211112121111112122221122222221212122112211221222221222111212122221221212212221221222121111212111221111211211222211112122121121221211212121222122112222112121112222122221212221112111111221122211122111121221211212121211112211222212211121222122112111122121121211112121211112221112221121121212122111122112222221121121211222112211111211112111121112212221221221111112221122121211112112211122121212122221222111121211111111222122221212212121221122222122111121222222221121122122222112212222111112212221111112112211212122121221111212121111122221122112221212121111221121111212211112121111222221212112111112211221212221221211121222221211221211112122212111222112211211211212222111122212122122221122221222121222111212111212212112111211211222111221111212122121121111221221112122111121211222122122112112222211111112112221122122222211211222212211211221112121111122221111122211222121122111122122212121212111112212212121221111122221122111222121211222222111212211111212111122222222122211222211211111212112222212211211111222222122221122111121221111211111112112212212222211112211212211212212121121112212212212111222111121112111212112121211111211111211111222121111121212211221122122121212122212211221212121122121111111121212221121111122211222221211112222211122122221122211112222212121221112221211221121111122212222122122112112122121211111112222222221112221212111112212211211212211222111111111221122211121221122121211211221212221211122111211122222212121112121112211212121122222212211111221122121211212111111212112222221122122222221221222122212121221222221211111111111222222121111212112212221111112222121222211112211121111121222211112212212221122211122122111122122211211122212221112211121221212121221111222112212112212222112221211212222112121121112111211212221221221112122222111111212211212222121222111222122111122211112212122111211211121211121211211111221112221111211121222122222122111211112211212222212222222121122221111212122212212212112222122112212122221112211122112221121122122122112221122121212111111221111211211112111222111222121121211222122111222211111121212121221122122111221122121222112221122221221112222122112211222221111121222112122221122211211211221121122121122211122222222211222212211221212121122112111211222111122221111121121122121222111212121222122111122112211212212112221111212121222112121212111112212122221211211221112111111112112112112221212111211111222222122221222212112121212121111122221212122122112112111221121111112221111112121212122212122221122211211222222221122211212112121222212221221222111111111121111221122212111112122212212111221122222222221122212111221211212222112212211111212111121212121122122122222221211122122211211111222111212111212212211111111212211221111211121212212121221222121222212122212111112222111112211112112112111221112211122221111212221121112211211221121211222121122121112121212212111222212211211221221221111112221222111111111121221212212112121111111121221122122212212211221222221111212221212122111112211122121222111221111112211212111212222211121212111221111211222221111112112112122221112122111111211211112222122111112211221221112121122221111122222121111221212211111121221122121211111222121122221111111112112212211122121211222111222111122221211222221211111111221222222111111221222121121122121211112211211211221211111221111222122221112112112112221122111222111222221111222122111111211222212222111211112111112121121222221111111112121221121121221211112122111212222122111121221211112112112222121212221122211222112221221111121221212212112222222111222112221221121211122222121222111121221122212221122212211111111121222112211122221212111112121211122211221122111211212111112211222222221212121221221122222111212212111222212122211212112111121112212222221212121222211122211111121121112121111121212121211112111111112111212122112221222221111112222122111211212221112212221222112211112212111121112222121222112111112112112121221221211121212211112222222211122111211221122111121221212122221211221211212221122122112222112221222212122111111122222212221112212212121122122222222111112212221211222212112212211111111211211221211212111112211111112222221212221222112212222122112111121222122211111221221222112221212122222122221222111111211211221111121211111222111121211212221222211222211212111112222111111122222211111212121121122211222221122112222121211212211111122122111112122222212112222211122122122121212222211122222221222121212212112221211212121222121222211212111112222112211122221211112211111211121112122212212212122212111112222122112211121212211222211211121111222121112111222121221111122221112212122222212211211112211121212122112211121212121221221211222111211222111112212212111122112212211112211222211212121112111111112212122221221221121221211121221212221122111122122222122212211111122222212111112222112121121212211111211211212221112221211122211212212121212212212222121221112222212112122221122211212222222211212211122212121221112222121212121211111121111112111121112221111121112212111122222212211212221212212122221212211122211121111122222122112111111112121122111121121211221222222221112212212122122112121212111122111111211212212222211122112112111112121222111122211221222111212211111122112221122222122212111211211211112221211221112112122111221111221121122211121221112122221122122212212211112211211121211121111221212212221211222211121122122222111211111211222112121112121122111222122111112222211222221211122111212212222222121122112122212121212122111222112112222112111222221211222111211111111221211212211222221221222222112122211211122121111112121211112222121111222212122222211211221212222122112122221222221222212211112122111212111121111221112112212212221212111221222211111121222111222211112222111222112111222121111111121122122221212111122111222122222221211222222121111211112112122211211222112111211222222221122121112111221211111112121122121212122122211221212121222111221112121112122212111111221222222221121111121211221211222121122212222121212112212211222121112112222222222112122212121222121212212121212221222122221121221122111111122211111122111111111222211211112122212211112222212122111212112122122211222121121111211212122112121111111212121221122122212221211221221112112221222221112211211212121221211122221212221121211222121111122121121122222122121122111222211211222212211111211111212121212222112212111112122222111112211121222211221212212111222121212111111211221211221122121121121122111221122121212111211211212212222212111111122222222112212111122122122211112221111211112221112112122221221222112112211111112222112121121112211111112111212112211122212221212221222111211112121221111121121112121112121122222122221211111112211121221211221111121221122211212112222112112111222111221221222112221121221112121221111222222221212122121112122121122122211221111222111111122221221111122112112221112222222121221221111121212211111112122111122221112211212222112212121221212212211121221212221112222122222222211112111211212122211111211111211121111122221111121222212222121212211122112222211221111122211112111111222221122121222212122112221222111211221212121111112121122122221121121221211111122222221222212111212122122221222222222221221211112221222111122211121211112121112122222111222112121112212211222112222211122111222112111211111111122122111221221221212112122222212122212111112212221122221211112221211221121211221221222111122212121222221112222221111121122112121111212221122222221212111211111122221111221222112212211121122111212111221122121212112222122111212112211122212211212112122121222212211112221111212221211111112112211121212122111111212211222121112111122221122221112222111122122122221221112221212211112212221211121122211111212221112121212112212221121111122122111211222221222122121222122122212222112222112212112211211211221122221222211211211212221121221221122212211211211112111221222222111222222122221122121211221121221122211211222221222221212211222122111121221112121121211212221121222112211211111221111211111222112221222121111211111221121112212112211111221212222222122122112112212111122212121112122211211112221212211121222221221121112221222121121122111122211112212212222111112121221212121121211111122112222222112122122122222211112221221211211112222122212211212211212212211212221122121222221121221222121121121211121112121211222211121211221121121111111212221111211122121111222121122121211111211112211111221221221212111112221112121211112112112211122122122112212122122211212111121111211121121121212211111112221121122211111122122222211112111111222221121211211112211222222222122122121212221111211122212111122112112121211211222211121221211212211121212122211111222221121122211212221122112112121212122212222211221221121122211121212212121121112221121121222221211122211111221211111112122111111111121212121222122111111112121121212121221111112111122221112211121221112112111122121222212212112121211122211212212211221221222222211212112121122222212212222211221111121221111211111211112212221112112121211211111211221122221222212212112211212122221221122112111222221121222221121211211112111121211211122211112222212212221211122211122112122221112222121111112211222221122222222111212122112122122212111212211211111122212221212121222122111221112222222112221221122112111211122222111121221112222111112121221122211212122111211122222111221212121111222111221212112212221122122112111212122212122221122121111211122111211111222111111211222122122121212211221211211111222111121221112222211221112222221122111211112122222221112221121221211211111112122111122222122121211221211121122112112112211122211211121122221222121212121211221112212222112222112221211111211211121112212111111111212111222112211121222122222122221212111212111121221122211221122122122222121112221212221211211121112211111221122121112221211112212222111222111211211211221212121122122212112221122121212222122212222111212112222211211121121222122112122211112121222221112121221211221221121211112212122212222112222212111212111111112112212211221121122211212221112111212121221211211112212122212211212111212212222112212212122112221121222212211221221121221211211112122121121111111111222121121112111212211222122211121121121211212122121221221121211212211112212211211211111221122221121221212121222121211122121212111221111211112222122221211112221221212222221122222111122111121121121221222122221122122112111112222122212212212121222122222111222122121121112222212212212212212212222122222212121111111121222111222122111222222111121222211111121221221221222111222121222212121111111112212212221112222222211122122212211211111122111212112222112111111111122211221112211211122122121121122222122111221111112211211122221122222112121211122211221212211222212222111122111221222122112222212222122212121221111122112112112121212122111122122112221122212121211122222121221112221122221122121211221222212122122212221222112211211212222112221211211221222112121222221122121211221221111122211211211112212122222112121211222211222121122111122212212222221221111222122122111112122111121222111211222121212121212111221111111111122212222122112211112221112111221221212221211111211221121221112111212212221221111112122121211121111122121121212221111111121121212222121122212112212121212221112122121212112112221111112222112222211121112212212112222222211112112211222222212211121111212211211221112221212212221111221121221121122111222112221221222111122212221111211211122222211121121122121222111221121211212211112211111122221121121211121211212212121211122211111212111111122112211221211111122222111211221212112211211221122122221121222122221222222121121111111212112212221111112221221211121111112112121211111222111122212212122111111221112212211222112221212111212112212122111211122221112121122221222221222121112122212112122122221111112221122212122222111112122112121111212111212211211211222121111121122111212112222212212112112121211112221222221212221222111222221212221221211121211212112112122212221122221111221211122211122212212112121121122121111222221122221211211121211122212112211222121221211121121211221121121112122112121121122211222211122121211212121212221111122111211121212122122211111211111212122121111211221211111212112221222211121222222221121222112222222221221111122222211221112121211212212212211121112211221211112112212121111122111222122222111212211121121112121212222122112222211111222222111121112112222121211111222211122212122121222112221122122112111222222212122121222111112222111212222221222212112112211121212112212222122211211122211211212111111122212221122111211121121111221212222122212222212111121111222112122212122122221112212122221212212211111212211222112212111211122122222111211111211222221222122222222212221212111212221211212111111122211111212211222122121111212121122111221221112212112112211222211211111222221212122122212211212112122111221212112222211121221122222221221211221212112122111111222122212121222112111111112122122211112212122122111211111112211122222122222212121121221221112221221222212222121121112221211121221112122121212211121111222211222211212222121112121112212122111222121211212211211221222222111222221111122121211112211112212112122212211111211222221222222112221221121112121112221112221121211111111121222222121212112111111111212221221121212112111221121121211122212112212111211211221212121212221221112212121122122212212222212211211221111211221121111112112222222112212111211112111111122211121112221212122211122122221112212212211122221112211212121121212221121111122222112222111212211112121111111222222111211112111122222111212112111211112212111212221122111121212111111121221121211112221122221122221112122112122112122222111212212122111121111222222111221112211212122121222112211222112111111212122222111222112111212211211211211121212111211211111122111212121222212221112121112222122211121221221212112211112111121222122211121212222122112122111121222112112112111112211211112222122122111222212212211112221121221122122221122111111211122212221222121111122211221221111222112212111112121111211111112121222121222222112222222212121112112212112122221221112221122121111221221221121111212221121211112221222222222121121112112121122111221222121122121221221112121111121122221122211121121221121111111121222122211221211211111121211222111121222211122111112112222222122212212122111222112121121211111222112121211111121222221121212112221122212112211222211112122122222122212221112221212111221211121212111222221222121111221121212211121112112122111212111211211222122111222221111112212211111212221221212212211122211111222121221122211112221121111221121111122111122121211112211221121221221111212222221212211212112222121222121122211122222222222212222212212212112211112221112122211111212121122211222221112121121222221121222112221211212121221121122222122112222111212112211211222112211211222121111222111121122222211221122122212211211111222111121211112111211122222111211111211121111212212212211121222122211112221212111221222212111221121121222221112111111112211121112212122111211121111111122121221222212122212211222122111212112222221212122111212111211212222121211221121221112111221211212212121122121222221112121111211211111121211111222112221212122111212211212112112121211212222212122211221222212221212212111222112112211112122221221121122222221121122212222211121121211211112222212222112111121111221112222222211211111111212111121212111111112211121121112121212121212221122122122111121222212221211222122211121112121112122121221121212212122211122121111112212211121122112122221212211111211111211111122221121122112221212111211112212111121122111111112112212222111221221211112211211221112111121212221222212211121121222222221122112111122222212221112221121222122212122111221111222111121222111211112212112212121211221111211112212111112211122111122122212211212222111222122221221211111121121212112211221111112221221121112121111221221222211212122212111212121121211112121212112111112222222122212121111112212112122221222112121211222112111212112222222211222122122122211111112222112222211212221221212211111122211211122122112112112212212122221111212111112122221121111112221222222121121222122122122111121211121111222122122212112112211212212121121221112112221212111211211211221122222121222122112111112212212221111212112112121111221212221112211112121221111111222112211221211222221112212111222221222212111112111221221122222111211212221212211211221212111211121111122221212211112211122221111222211111122212112111121121211122111211122222111121111122111221121122211221122221212112121122212111121222212212221111221212121222222211212211112212211222111111121122111211112112122221212111222211111212111221222121112112222122211112222121212211222211211112212121212111212211122121122122111211111221111222112222212222211111211122222221211212121122121121122112112122212221122211212211212111211221112222121222112121121111222111112222112121222212221122211212122112111111122112211221212122212212212212121122212122112222211211121112111112112111122112122122121111212121121211212222112121111212121122221222221221212111112212112211121211222221112222211211121222211112212222122211122222121122212111111111122122221112222121112212122222121111222212121122211211121222212211221121222211112122211212121221221122221211121222112112121222211221122122111212211211211211112121212122212121122111121212222112111121211211221112222111111112221212121112221112211122122112211121211121111212211112212111111121112212212212121111211112212211222122111121212112221221211112222122112121111111112122112111222211122111122221221112212212212112212221112211212222122211111211212221121122112212122221112212212121212221121221212122112221112112212212111212211212221211222121112122122221221222112211212112221112211212112111212121112212221222222221221122211121222212111221111222111121112121212111211111122121112212221121112121122212222212212222212121111111221222222122121121121221212121121221221222121122222211221121221111111221121212122122212112121212122222221212122111111121221112112122212112112122222222221121212121121111111121211122112212221211212112212212121111222212212122111221222121211112211212122122221221122222211112122212112211121122122212211221212222111222222112211111122111111111221112211222112222111212111121221122111122211122222122211111121112212212211211122221222212222211112212212121112222122121221121211122121122112122112211222222112211221111121211221212221121121221221111112112112222111111121122121111221112122121111121111211121211222112221221222222222211222122112222211222122112122121111221211222222212222112211121211222121111211111221212121122122121121111211121212121221212212122222221112212211221211222212111212211112121211121122111112111111112221112222221222222211221221121112112111212222212222222121112112121111111112121221222212212112212221211211122121212212222112211111122121221111221122122211111221121212121221122111122212122111211222221222212121112121111121221212211111212112222121112211112212221212111221222222121222121122221111121121222221112211222121112221111212212122122221221221121211121212222212111211221221221112212112221111221111221222112121111222212212221121111222222121111222111221121222211222221122112111212222212122211111222122222221111221211211221211221212211221211211221212111112112111122211112212221111111212211111211221211212112212111221122221111112112112222221212111111122222112111221221122122122121211111112211221121121121122112222111121111222211112211111222111122111122122212111111111211222222122122122212222211211211112221111111111221111221211221221211221221211211211121222122111122122212121222111221111112211121121111221211221211121221221111121222221121221112212221111112212212221222222221112222112212111111122221122121121112121111111112122212222111211121222212212112111211121111112211221222112121211221122211111111111212112121221121122111111212221112211122221221212211211122122112121122122222122112111211222221222121222211122122111122111122111111221222111221111121112212122112212221211221111112221211111212112211212111111221211112221221121112222221222121211222211222222212221112222221112122211221222222111212112211122222112122112122212211112122122122211212122121111212121111212211111221112122112111212122112222221111211122211111211122212221122112122112211112212122122222221122211122112121111211212221112121122211121112121221221112212112221222112121122212111121111122211121111122211121222222122112111122122212211111112121212111121122111122221121121211221122111211211221112211222222211222212122212122121221111121111112211112122112212212112211112221222222121211211222112221121121211121112121122111211211222112121212211122212122212122112211221111112212111122212221222212221112222221222211112222211112212122222222212212212221222211111122112221121122122112121222211112211222212121122112122112212222212221211122111112212221221112121211111122222121221221222212221121122121221122221222212221111122212112211111112222121222112111212111121122122122122122211112221122112111212221112212111211212212112211122112211112121212112121211112211121212221121122221112221121212111122212122212211212122111211111211221111221122222221112111211111222222221111211112121212212221122222211112212222111121122211221111122211111111112122221211111222212212121112221211222221121122121222222121212211122122221111212121111221212112212112112221112222212122222122122211121211211122112212222221122121111122222212121221211222121211112211212221211221111112222221212112212211221222221222111211122122122221221222121121122122211212221112212122112212111112211121212111111111212212121112112221112221122212121212221121212121221112121112111221212212222221211212211121121111222122122122121212112211222122112211212222122122211222121211222122111221112121211112212212212221212221221111221122112111211221121222211111112211121122121112111212212112222122211111111221121122122112212212222211112222111122111221222121122112221211121112221121221221122221111211222211211221212221212112112211122221112122111221222112111111121222212212211121222122212111121212122122121122222211112211212112211111122112212221222212112221122211221111221111122122122212211121122122111221111221122111211222122212111122111112112222222211122121222122112212122112121222221122122211212221112112121112211222212221221121112222221121112211221222121122121222112111221222122111212112121112221211122221222211112121222112212222212112222222222221122212211122212122112111212112112222211221212212111221221211112121112122222222211112122221212112112112221111211112121122121221221112121222111111211122222211112121211211222112111122222211111212111221221121221211112122122212222121211212122211221212111112112111212122112112111222111212121112222112222122212111211121111222212122222122111111221211211121221212112121211121112111112211212121211212222112112211211121221121211222121222111112222212221211211212212221221221121112222121121222221121111121212222112122221212122121122121111211112111122111212212212211211212211212222111211111221111222212112111221112211221111211112112112211222121212212222111112122221121211121121212212122122121121211121122221222212221121212111121211222212222211122212111212212111211211221112211122211211211122122111212111221112122121122122121212112111222121112121221222211112222221111111211221111222111221211121212221112221222221112222111122122121122221212112221121222222222211211212221211211222121211111221111221122122212122212111221211122212112221222111121211212121121112112112221121121222222211212221111212112221222222211221111212212111121122121211112122221211221211112212212111112121222222212111112111221121222222121221211212112111122122111111122221221222111221122212112221211212112121111111122222111211222121122121122212211111111121222221112122212221111221212211111222222221221221121222212121111112212111222121111121112222222122212122221222221112121212121211222121121222122211221221122212212211211112222222111221122212221112121211222111111221221222212212222211121112111121112222221112122222212111212211211212121221121221122211212221211211112121211221222222212121212122221121122222221122211121121122111122211222122211221112211212222222122111112222222211122211212221222111212211222212211111221122222111222212212112211111222212212112212212211211211111221111222222112211222221212122221122112212112222211211121211112222222121122112121211211212121212211112111221121221111122211211222222222122211112221221122121222122222221221112221111121122111221222121122222212111112211222111212211112221121221222211122112111111221122221221111121112222122111122122221111212221222212121111212222111211111112222111112221121221111112112212211112211121112222111212221111121221121111122221111221111111222212112112222221211221121222211122222111122212221221222112111212111122111222122222222121112221212212222212112212122212112212112121111111121121122111111121221211212112222112212211221211221111121211221111112112222221121121222222212221122112122121212221211211212212212122122211121222111111122222112112122112222221222121211222222121122211211211122211212111222222121211112221212222211122211112222221111112122111121122212212222222221111122211221211211111222222221212122221222212122211211222112111211222111211111222111122121122121112122211212221111212221111111112112211111222121221211221112212222111121111222111112121122212122121122111112111121111212222211222221121212222112211121121121111122222221212221111222211212221111222221111212111111112221222121121112121211122221221211212211122222111112112112111122222112122121122211212112122111111222111122221221122122111211221222221122111112121212121212211122221211212221111221212211212112112122112112211222111212121221211111121122221211122122212222212121211211222222211212122112121211222221121121122111112112222111122122221211212211122122121122211122121112112221112222122222222111212222122212211111122222221222111221111111121211112122112212211121211112121221112112212112112111211222121121121111221212222111221221212122211111221211112121221112121221121122112121221221212212122122112212122212211121212211122221222121111211221122122122222222121122121212211122221112211121111112121122112211111222111112111212121111222211212111112122222122112111211211111221211112121121212222121222122121212222221112122111121211112122112122122121222122121221211111121212121221121122212222111111112112112221111112221222211212121121111121212121121111212111111112121221112122221122211222121222222212112211112212221122212122212122212222221222221211112112112212112112111212112221212212122211111122121222221121212221211221221112111121122212221111222212112222121111221111112111121121222111211122111211212212221221111222211122122112222212221212211212112211111122221212211112211222222112211221111112212211121211111211122122212212222112111222221112211211211221221221112121122111122111222221122111222112221111122122221222211212112121121212122122222221221112211211121112222222222221222211222121122212221211121222211111112122221111222222112122211222112212121111212212112212211221222212122112222212211211211212211222222222121222212222221212221111121222211122122122222111111211121221112212122221222111112112121112122211121222212221122211212121211122221111211212121222221212211212212221121222111221111211222211221121111112112111221221111222122221222122122221121212112111111212221211222221212222121121211121211112121212212111212222221221112212212211121111221222211212112112221222122121212211211212111112111212212212212111222111112222121121112121112211212221121111222212111111122222211221211111212111222122111112212222112112222121211212212222122121212111122122122122122212212111211111211222121221222121111221121111212112212112221122211221111111212222112111222212211121111121211111211122211122222212211122211122222121121211111222211222212212211212112212212211212222212212222121122112221112212112222121112121212112212121211222221211122211212221111221212212222112221111122211212211122211221222211211111122222211112122122121222211121221111211112121222211221122212111211211221212122212111212211121212222122211212112112121212211112212212221121222112222222222211121121122112212222122212212121112221221222111212122111221122221222122221112111112121211211112211111212221112111212112122222111222112222121122121221211211121111122111111221211122111221222122222221121111212121222222221221212222122111112211211211212122112112222111122221211122122122112112112222222211111112121121121221221112222222122211212212211112112121221211212222121221211122111212121222122222112222122222212222222122111212112212112112221122221221111122212211212211112222222221121221212222222211112121121222111122111222211212222221221121222111111211221222221211112111122221222121212111222111221222211112212111221221212211112111222221221221112122112122221211211211111211121122112112222221211221211211112121121212112111121221222222121212221211121121222121222121221222121111121112222122222111212111222212222122122211211121212222211222112212111222211221111212121221211222211111211222212212221211122222121212111112122211112222221211222211122111111121211221121212111212211111122222221211121221211212121121111112211122112221122122221111122122211212112221112122212122212212212221111111112212111121212221112111221211212111121122222122111221121222122221221212122211212121122112112111112122112111221112121111221211222211221212111212122121221111121212121121111121212111222111121222122112212222112221121222211211111121221111222212211222121122221221112212121111222111111212222212122121122121111122122222122211111221222121222111111112112111112122212222121121121122222211222221221221211211112212222212111221211211211112222122122222121121211221222111121222121111211221222122122222111111211111122221221121222122121122111121221222211211222222222212222121112211111211222121221122111122122222221222111221111112222212221221211211221111121121121222222112221221222111221222211211212112212212122122212112111221121122211222111221122122111121112221111211111212112122211111222212222121122122212211111212121122221122121122122112211121111211122111222111111112222122221222121211221111222122122122122221112112111121211212121211112212222211211221222121221121111122211221221221122212111111122122212122212111222111112121221112122111222122112111212121111222221222211112111222112211212111212121212212121221222111221121221212122212212212122212222111121111221222122221221211122222221222112111212211222221221111222212212212111112111221121222221211211111212111111221122111122212212122122122121221122112211122212222111122211121222111212211122112111211111112212221221222121212122221111112122212121212212111112122121222211111212222212222222221122111211222211221112222212211121211211212211122211212122221211211111111111121221222112122221111221112121112211122211122111121222211211211111221121222121212111112212212111211111111112222212222122222112212111212121211221121221222122121222121212221122122112211111222122112122122211222211222211122121121122221111212211111112212111221112112121211212122112121221222211111222121111212212212221211121121221211111121121122112222122122122122212221222211112112211211111221212212112211211112111112211222212121111111121122222112221222211221111222212211112222222112221211212222211222212212111121122221111111121122212122211111221222122121111122211121122221222122112122122211111212211212111212212112211221121111111112211222211221221212211222221221111221111222111111212222221112121222122222122111111222221111122111212121122222212212121121122122112111111221121112212112211112121211112112212112211112222121112221111212121122222211122111122111212111111222211121222211221222221222112221121222122121212222222112122222222222222121112222122212212222122211112212211222121121221122121211121111122222211121112221121212111112111111121222212212111121122122222121221122122122222111222112121221112121122122221212122212122222121222112121121222211112112122112222211221121121111111221111212122211112121212211221212211122212112111121112122111212121221121222211212222222112222112222111121211221212222212221112112112112212111122212111121221111111121211211122121211122122211211221221121222111222122211122122212112221221122112122212222111211112121221121112212122121111222111211221111211211122111212122221222211122211111111111112211122111112212212212112211221121122212212222221122221211222222121221122211221212211221111222212222212221211212111211112212221212121122221222222122212121122112211111212222112121121112212111111112221121111111222212122111122111122121122221211211122221112122122211111221111222211222111212211112212211122211211112122122111121111222111112122221121212212122121111211112111212111211111212111122212222211112222212111122121121221211121212111111221122122121211221211222212112122111121111221211112222112121112111212111222212222112112212211121221222121111211222122122122212221211211212212211222222112122121122121122112112222122211221222222111121212222112122212212211111221212211111221122112111222211212112122212221222122222121122211222122122212112121121211122122221212121122212221112122112111122112122212222121121212122111211111121221122212111211222221221222121222211211122122112221111222222221112121122121112112112121222221112121211111121122112222121211222211122212212112212121111222121221121121111111121222112221121211212111221221111221221211121122112111122121212222212111212121111122212122112212221121222211121112211222222212112212212122221111221122211121212221111112211112122111222222122222222221222222211112212111211222111111221112122111221121212112211122121121112211222211212122212121211112122211122212121112121211222222112122221111211212212211221222221222222111121121122112222122112211222122211221221121112112222212122222211122212221122111222212212212111222221111112122122122221112212221221112122111222211212212221221212112221122112111121221122111212111111222122111222111112222222112222122212111122211222222211211222222111111212121122122222212122111222222112211211112222221222211121221221122112122222112122122122111221211212221222122221212112121222122212122122112212111212121112111112221211111212112221221112221122121121212212211122211111121121222221111221222121121112221111211222112211112212222111212211222221221121222221111222222211212212111122222211212122111211211221222121211111222212212221211211211111112222221122111211212222112221122122222212111122112222122111122122122222111112221122111221222112212212112121222112212122221121112212111212222122122221111111112121212221222222111111222221222212111221221221211111222122211222221221211121211221222111111211111222212121122111121121221111112112122112211211211121111211211111211211112211121222222111211121122221211222121111211221112122212112111121121121211121222211212112221222121112221112111122112121122211112112222221211111111111211111211211111121211222222111222122212121122112221122121221221212221222212212112221122121121122212222122122112121212222221211122222222222112222112121121211222211212122221212221211112112121212121211121112121221221112222121121222112222211111211211112211111112222111212121122222111212121221121121111122122221212111221222112122121222112211111122112222212211111222121111211212122112111122222111112111221212212211112212212121112222111212111211221212221222112112111212111112111212221211221222211112112222111122222111221111112211111121122121122221121111221222211111211122121211121222111222221212221111211221221211122212222112122212221122112221212111122211121211112112212121121222221122122122111112222212122221112112212111122211111211112221212211111221221111221121122222211112221121111111221212212112221122212221111122121222212211111211112212111121211121111111121112111221221112112211222112211212221112112112121211222212121111121122221122211122211122122222211122212121222112222122221212111121211222111121212211122221221211212212121212112122111122121222122222212122212222112222212121112121122122212121211222211111222122112212122122222122212221221221222122111222211122121212221221122111222222112212112212111212212112211122211212211121221111211112211111221112221211111222212222222122122122112222111112111112111112212212112212121222112121121212222122121112211211122211212121111111221212212121122121121211122122111222221121112221122112111121211211111211121121122211112122211211222222111122211122221112221221121221222212212111222211221112121212211211222211221112122112122121121211111222122111121222121212221212211211211122112221121221221121222122122111121122111121212221212121122111222111111212122212121122121211211221211112122122211221111221121122211221221211211222111221221211221121122111222211211111112122111122111121212122122112212112211121222121212212122221122221121112121212121111222121222212211221111212221111222221121221211211212121121112211111121221221221212112222212112211222222121112121222222222122121211122212222111112112121221211212112122212122222222211111111112111111122221211221112211112112122212122111221121222121212221112112112122122121111122222222122222221222121221221121221112121112211222222121121222121211121221221211221222222222221222221111111122221112222211112121122221121211121222222121112221211112211111221211222112211221212112212212111111121211211212112112222212212122111212221121211222121122111212121112221222122221112112111111212122212222112122122222221222211212112221122222122221222111122211122212211212121221121122121212221211111221221121122122122222122111111221212112121222121111111221121112121111212222112111112122112221221222211112121211222121112121222112121211122211211212212211212222222212211122212121112222111222122121211112222122221121222212112121221111211212212211212212122222221111111122111222121212112122112111211211211212222122222221212212122211221222211211111222111221211222122222221212122222222112111121212212111222212222212112212122222121221112211222212111112211121221211222121211212221122212222212121221222122211221212121211212111211212111222111221222222111111212211121111112122111121221121121121221122122122221221221121222211112211111221111211211122121121222222211112222221222122112122212212211111212122211111221221122121111111222222222122212211121112111222221221221211122221111221222212121222112111121111221212221211221112122111121211111212112222112221112112121212112222121221112222212222222121121212111221112211122221221212111121212112111222222122112222111121112111111222222212211121122112211221212112112121111122122121212111211212212121221221211112221212212121222111211222211211211212122111212121211212222112111221221212212121111222111211112211122222111112121212122122221212211111221221212212122111111222112211111122111112111121222222111111222122211221122212222111111222212111212212111112211221212122212121122122112212211122112212211122222112112211121221122212221121121211222221112111112211221121211212111211122122222222121212121111112212221112222122112121121112112221212112212222112211221222212112222221212211111222121122221222211211112122111211122221121222121211221111111222211112212122222111121212111212112121121122122212111222121112112222221212121122111222111111111121221211111212121221111122121112121122121212222112221221221211221121211221222122212211212211112211221211121212221211111111212212111212112222122212221121111212211121122122112211212112212112211221122122121221212211211112112112111212221222112212122121122221222222121222222212122122221112122112222112221221112112222221111112211222212211112222111212122212121211221121112221212111211212211112222122212221222122111112121222221222121112221212222221111211221112112222111112212221111111112121112212211221112121112212122121121222221111122222221221122221112121111211121121211211121111222111111122221222222221111121221111221122221222122111221122112221111112121212222212112211122122121122112221121212111121122221212111211111221122111111111221211112122211112212212211122121111121122112111212221111222221212122122121212122112222222122221112212221222211121121111222211122121112221121222111211112122121221221211122211112211222221111111222211121122121222221212211211122121121112222111112212211221211121222212211222221122222122111222122222221112111121211121112211212212121211221222212112221111112112212121122121211122212211122212212112211221221221111122122111221212122221121111111121112122211221121211121222111111111221122212111112212221221122112122111212221122121121221111122121111222121221122111111221122112212212221212121111112212122212221112211221222111121111122211211122211212222111221112211212221121222122111121122122221112211211221211221222212222222112212222112211212122121121211121112221221212111211222112211211221211222212212111111111222222111112211122221222211112122212121211111222112122211112112111112221221211222122212112122222222111122221222221222122121111212111211122222212212122211122121111211121111122111121221122122212122122222122112221112211111112222212221122212212212212112221111112212212221122212112112221211211222221222221121112222122212222111122111112111222122111211112211221121212212212111222121121211112111212122221122122122221111222122211122212212112222222121222112112112121221112222212222212112122111212111221222112111112212112211121211122121122212221112121111112222222221122211212122112212112121222221112122122111112111221221112121221111221121111222221111111121222122111121211222121121111111222222212122112222112112112121122221122121212222221212211211121212211222212221212212111212111122111121222111212212222112211221211111221211121211111121211121112111222111212212121111122222222122212122222112211222112122222211121112221212122112212212112111111222212112111121211211111222222112222112111212211111121112112121122121211212122122121112222122211111222122212122121111112222112112121211211122211211212211221221211221122112111121112222211122121211121212111122212221212112212211222112221112222112212221122222122111112112222112211222222121212222212122111112122212212221211212212211212122121112111111121222222112121112111112221221211122112212121221211222222211121111222121221211211121122212221211212111121222221121211111211221212212111212212222122122112211111222121222122221222122121211121121212112221121211111111121221222212112211212212121122211211121112212212212222111211121122112122121222122121221111212121112122112221111111212211211122222112111121211221221211222111111112112121121121122211111211212112122221111122112221112122111121211111121222221222111222112121211222212212111121122222122212112112121121212112112211121111221221122112211112212222111212121122111111212121111222221211212211221111221211221111121212111211221121222112211122111222111121212112222121222122212111211112222222221122221221222121211122222211222112222212222111121212112111122121222211221222112212211212122212111112221222122212222122221221211111121222222211212211221222222222212122121112112112211122122211211112221122111211121122222221111222121121211111212222211122111212121112111222122121122112112121122112111122211221212221211212121221112112212112212212212212122111222211221112212121211122121111211222222121122221211221112121211122121222122112121112221211121212221112112111211212121111121111212112222221121111111212212211112212222111122222211212221222111111212112121221111112211222112121211212121122212122122111112111122212222221221122222222211122222212211121222111111121112112211222122112221212121121122211122112212121121121212212211221111211121212212211222211222211221121112221112221122211211121112111122111222121211212122121112111112111211121212221111112221221212222121121122221211122211222122212122222112212121211111121122112122121121111212112121222121211122111212221221122111212111211222111121112211222222111122121221111222111222111222212111222212121111112221122121212221111121222211221111122211212121212112221122112121221112122211112211122122111222121212112122221122112221112122122111121211221222112212112122222222121121112211122211212222221221222211112121121212221211121211221122121111221222111222222112111211122211222112222111221112112111212211112221112111121211221122111221211221122121211221222121122211121221212221122112121212212212122212221111221121111112211111211211122112122212211122111111121222212112121122212222112222121212112211121111112221221222212221212212111111212222212121121111221222112121212211112122111111122221112111122121211111112211121221111112122112122212221122121222212122212212211121221222221212211121121122111211212111222122212122112121212122111221111112121121112122111211211121121211112211221221112211211222111221112211121111112112222212111111221211212221112211211122211221221211112221211111112221122112212221122111222121122221211112121222222222112221112222111121212112221112112121112122212121112222122122112212211222222222122212221122111211112111211122212212121112112222212221111212221211122111222212212221222211221112222211221211212212112121121111112211111112222221221121121212111121111212212122121112112221111121221122222222222211112221222221122121111222112221222111111221222121121122212212122111121112112212111212222111121221211212121112122122121112221222222211111122122211112112211121112121112122212111222211121122112222222122112222222122121221122112112121121121222111211212112222112122121221111112212222211211222212212112112121122122211121212112221211211122211222112221211111211222112221122121112121212122112122212122212211222222212211212221222111222222212212221222222222211112221221111121122211211212122121212222112221121122111222111112122211222111112112121222121112111112111221221121221211112212122112222111221221111112211211112212111211111121121112122112221122212112121221211122122211221222122212221111111222212112221111211212221211222221112122112112121211111121112121111212212121211111211121121221111222222122122112211221211211222122222121121112121111211121121121111112122122121221112222221211122211111122112111222222222111111222212111211112122212122111222121211212121212221112111122212221121222211211111211212211222112211112111222111111212121112212121222111222222211122121112212211121212121111221121121111222211111121121122122222212212111211112121212122112212221122122211112212211212221121221211212121221121111212212121212211212211121221111121122112121222221121221222211222211212112112111122112111222211121221212222212122122112112111121121122211112121211211222212222122211111112121112221212111212221111212211211112112112122121121122121121222221212122211222111121212212122112211122112121222222112222122112112222112221221121121212121111211212221121212121112222121121222221111121211122221121222222122212121211122212122112122211111212221222211112121221211112222221112122112111212221112211211122121211112122222212122212122111111112212121212111122222122111122121211212112112212222121111121111121122122211122221122122222212112112222111111112122111222212112112112212211112221222211111211222111122111221211212211222112222222122121222111111112121122221112121121122111121211122122112221112211112112222121221111122222212112121121112122111112122112212222212222211211222111121221211121222222211112112221221111121121112122122111211222211112211111122121111122211112112221221112211222212211211211222122111221212112122121212112111212222121121122122121122212212122122112112212122121122112121111211121222212111222111112122112122112212112222111112122121222121222122222111111212121222222222112222121122121212211211111211212122112112211111222121111111111122111122211211211221111121222111121221211221122212212111222222221212112112112211222221112121212122121221221221111111112112121212222222112111122121111212111122121111221121221221211222211121122221111111121112112121222121221211111211212112121121112212111122111122211222122122122212222221211111122221222121211222222211221122221122222111121122111121212211111122111222221111121221211122222112121222121222222222221111111111221122211222211222111221221221122112112111221112222212212111212212121222212222122221112111121221212112112212212121122222121111222211211221221111212222212212111221211211122222212111221212111121211212121221112111211111211121122112112121121221121221121111221222121212112221112112221221221221112211222111121111211222122121222111211211112121212212212211211122111212111211112221212111112111112122211112221211111112222111212221121121111211212111111222211222222112221222112212211211212222222111222212112121212122212211112211111111222121222212212221211111222121122211212221121122121122212122112222221112111212122222122211221211211111122112221212212222121122111122212212221222212222112211122211211122111212221222211111121211211211211112221211121221122112121111122212222121122221211112111212111222212112212212211222221111111222111212212221212221212212121211211212111222211222111111121112221211111111111112221221211111121211121212211221111222221211121212212221211111212221221212221212112121221122111121212121211112112222221111121221121212211111211221222221122112112111122221221121222122212122121222222222121111222212211221121112212112122212222222211111122111211222112212122112211211112122112221212111222221212211112222121222221222122222212121122212112122222111122122122211222221121221221222112221111121222112112221111222212112222222122211222121222222211222122211212221222222111211221111111212211121211121121112121122111121222211112112211122111122222221121221111221212211121212221121121212122112121222112111111221121221221121212221111121221221122122211212111211122222122211112222122211222221222222221122212212212221121112122211211212222111112212212122212211112212121211212111122211122222221222122221222222111222221211122222122221122211121122121212121112121221222221122221112211111121112111212212122222111112121121212212112122212221122112111122221212221211221111221122122211212212222222112221211222121112211211111212111222211212111211122122222222111122111111221211112222212221222212222112222212112212111221122221211222222111112112121211211111122212121111222222121211112112212122221122221221121121221112121221111221112111222121212121221222221122221111112122211112111111121112211222111211221112222121222211221222112122112121222222111122222211222221122212111211221112121122221121222122212212211222122122211211211222121212211122212222112122112221221111111211222221121211112111222212112122112222121211112122222221122121212222211212122111222121122112221122222122112221112211121212122222111212212222111122111121122221111111221221211122112111211112211112112211112112212212122212222111121211222111121212111111211212111121111112211211222221211111112122211121112121211112111121122112121212221122211122121121211222212222122111221211112221121211222211221121212211111111122212212122111212222111221222122212112221112121121211212112222122212221211211221111111122211122112122111121121111222112221121222222211122222121212222212111112111222112211122121221111121122122122111211111211221212221112122122112112221222112121111112212121211111112122111121112122212112211111211212112112212222121111212112121222121212221212221211222122121121211211221222112221111212212222221212221222222111121222111112221111222221212122222211112222121112221221222221211112212211222211121212222111121211122112121222112222121212212222212212222122221211122211221121222212122121111222212212211111112122111211122121122122211212211212222122122121211122111122122122111222221112121221212221112121222222112221222222221221222211111112222111222211222222212121122112222211111122121221211212222122122222211211211122211222222111212112121221121221112112121212122121111221122212211112221121211212221111112222122111211222121211222121212121222121212112222221122221211122212221121121112212221211112212222222121212221212222121112111121212112222221121221111212111211222211211111121222122111222221122222121121122122112122221212212211112122212112212121112111111112211211121222122111222211221221222222212112211111212111222122222121122221212212121122112121211122122112221111211122112211111111121112211221111112221212112111222212112211112112211212111221222111222211112111111112211112111122122221112212121121222122112122111211122211221212212112221121222122112212211211222212221212221212211122111221212122122211121212221221222212112211211111211122212221212222212212212211212111211221222211111111221212211221121122121211121112122212112221222212122221112112222212122112211211111211221122122212222222112111121122211112222122112111221112222111211211122221122121122212211121121222112222122112121222111122111221212112121111111222111111112121122111221212212211211111221122112212112221211212211222222121121222212212111211222111221112111111221112122211221112111112112112122211211211112221121121212121112222122121121221122121211211121212121111111112221121222112222112212212211212121111212222212111221222112211212211222212222122212212212121212122221221112221112222211212122121222212121222121121112221121121222221221221122111111112122211121112112111222111112122211111122222112111212121211211221211211121121221222111211211111111222221221221212222211122121222222122211121121112122221112222211211122112112112111212121111212221211112221121212122112212212212122111111211121212122222112122112222221211112212112122111122211111122212112211221111222112122221221211212222111222121212112222212122221121222112221121222111212221111222211222111221122212112222211122211112222122212211221211221212121211212222111221222211122122222111111222221222222111112222111222121212121122212112111211221221121221212211221222122121111112111212211221121211112121112222122212212211121221121121122211222222121111121211122112111222211112211221211221222221121211221121212111121112112222112212221112211212111221122112122112111222211222122122212212122222122112121121111112122212112121222222222112222112212222121212112112122121211111121111222111222122211111211121121111222222122111211121121221122111221122111112211112121121112121211111112222112112212221222112221112111111221222121212122212121122122212121212211121221221222212111221121112211211211221221222222112112212112111221112112122212222112222212122121212211111221211111221121211112221122222211111211212121221111212212122121212112211121222221211111122111222112212221112122221212111111111221222121121212112212222121121112221111222121111122221221221212212111122222122211111221122221222211122211112121221222222111111221121211211122222122211221221211121222111212212212122121222111112111212222122212221211122121111211211222211212121112221212111121112222111211211121211212222221111112121122112222211111112122111122112221221221111221111222111211221211211222111221112222121222212212222122122121112221221212122221122121122222211222211121211222121112121111212212122111222112121221112211221221221122221211211121122122112112112211121212222121121111112211121222211121122222221111112112212212221112212111212221121212211211212222212121112121112211121211111121211222121121122122212211212122121121221212211222221111211112122212222112122122211122111211222222221112222221211111221221212211211222212211221121121221212121111212212121121222212221111221121121212222221111212122121221122221112111212111112121121212111112112122121221222111111121121122211211122111221122111112122221112212112212211122212122111211121221212111122111122122112212112111221211222212122222212112211121112221222111221121211222211211222121112222221122221112122112122122211211211122111211211222111221222112111211221221211112112212212221122222221112121212212221222111211221111111221111121211212222212121111122121212211212111212222121111212121112111211111111122112221222111222211222221112221122211212212122212122121111121212122122222122121122111111122112221211111111222212222211212112221121211121111211221121122121221211221222112121111112111112111111112122121121212112221222221112121121122221211111221221221211211121222222111222112112211222222222112211122121112121222121222111212211222111211211212111212221111112221112112221211211222221111121112211212111111111221222211211222111212221221211212111222121112212212211221222211111211122122222122112222111211111121221121211122211211221221122211212121222221211111222121222221111111121122221211121111111122111212122112221212121112122211211111222212112221112222212221211121221211122212212122112122221122221222211211211221221211212122212122112122122111121111122211121111112111122121112121111122212121121212122211212122122121221112122221222221111211122212121222212111112212111111121121222122221111112211221111212212121121121121211112222212212121221212111221212222112121111212111122122211212111112221211212122121112212211112122222222211121121122222111212121111112222112112221222121222111112122111112111222221111222122112222121222211121211221112121121111121121121211211112111222221221221212222212211221121212221111111111221112111121211222111211121221211122122222121222222212221212111122211121112122212111112112121111211222212122121121212222221221111122211222212212221211222111111111212211221221222212212122112221211221111111211221122121121111122112112221111222211111221111221122211212121212111222111211111211211212222112221212111222111111222211212111111111222122211222221111121122211122221111211212211121121111212122121112211222121112121111212211222222211121111212221212222111222211222122212222211222112211221122111221112222111222211111211211121111112111111122211222212212222211212212222112111222221122112222112221222221211121121121122222221122211122122111122212122121111121211212212112121122111211221212211111122211222121122212221121112111122222212222122111112122112121111121221112122122212112222112112111121122212221212222121221222112112211221212121121211222222121221212222221222111221121212212212112122211111121111112221212222122221121221222112111211111121212222111112122122211211222212111121212122222112211222211212111212121211122111221222212211121112122211112211112122112221122122112222221222122121121112111111111222111222222221121111122222122111122221121222221121211112221111222221211111111121122222211122211212122211222112111112221111211111212221212121211112112221122122222221112212121211121111212112112212222121111122221112212111211221111112211222112112221122221111112222221211112212111111112211211212221111121121221211221111212212112212111221111212212112222112211111222212212222111122121222212211121121212212211221221212222222122211211212122122112221112212211211211122111121112221221212121221211211211112121112111122121211211111221121122121212122111211221122111121121121121212221111112111211221221212211112212221222211111121121111112121222211212222112121211222111121121122212122222112122222211121211221222111221211111212222112221122222222111112212211221211122122221112212111111122221111112211112212111121221112211121222121211221221122222222111121212112112111111212212122222111211211122122122222112212221122211122112211111112212122221211111221222121222112222112112112122222222112211121112212121122112121111112211112222212212211211112211211112121121122211222221211111221212111112211211121212211221122111212122221121112211212111221211212111222122112122121221212121211212121111212221121122121121121212122122222112211211222211121221222122211222112221112122111121212112112111211222222212111111112211111211112211121211121121212121111111111221121111111122111121221222212221122122211121122122211111211112222212211211221122222211112222211212222112111212211222222121212121211211212112221121212222121222111221212222222112111111222111111211222112112222112122121122122121222121112212111122212112122212121211212121222121111222121111112212112121211222212212111121211111212122212211211221111212211222212122111112221222222212211222121111121222121122122112211122112111211211121112122222121112221211221122111221112222111221211112211122112211211111222211221221222221111211222222111221222221221212112222121122211212112211212122112221211221222121211211212212211221111122222211121222112211212211222121111211222222212122111111111212221211122222112211221222112121212121121122121111122221221212221111122212211111211221221212121221211111211112221121221111112211121221111122111212222122221222221222212111112121221122122112121121111211112122122221211222212111111122212212212122122112122122121121122221221121111212111112121211121222111121121121222122212121212221121211111221121221121112212122212222221111222122111211221222212212121212121112121211222221212211122121211212211211211112212222221212222222211121222111121211112221122211111121122122212121111121121211112222122212222221122112211122121211121211222111122112122222222112111211122121121121222211212111122121122222222211212212212212121121122222222112121122212111122211121222121111222121122211122211211112121111112111211212221121222211222221211111122221111211111221212121211211121212122221121121121212222212211111211221212212111211212221122111221211211112222222121111222122122211212221221112112111121211112111112112222112122212211222221111211211211212122211122121122212212211221122122112122211111121211212112122111121222112112112112212121122212221121221212212221221212122122122121222211211122212121112121111122111212121111112221111221211222212212112222122122211211222111212111111121221221122121111111111222122111121212211112221122221112212222221112221212122121221111122211211121111111211222112222111211221111222122122112111122112121212122222222112221222121122121221121111212211111121111221111222112211211111111121222212111211212121111222111121221222122211211222121221222111211112211111112122112111111222112211111221212122112212112212212121112112211112111112111111221112212211111112221122212221112212111221112121212122112112211222211211211121112122122122121221212211221122122211122221111222112222212221221112222211111221212121212111112112222112122121212121221112212221111111212121222122221122212221212212212122211212112221211121112221121121212222212122221121221222112211122222222122221221221222221121111222112212221121211221111121121221212121111221122111211212112111122212112111111112111112121122121111212222221211122122121211212121222122212112111212221221222122122111121212211112122122111121211122121121111111221212112221121112121112111112122111222112222112211211111211221111212212212112221212222222211111122111122222211122212112111122121111121222122122222122122212122212122122121221221212122221222222112112222122122222211122112111122212211121121211122112122212212222121221221122211112212222211121211112211122222212212211221222221212222222212222121111121221222222121121122121112221122211121212121111212222111121221121111221221111212111111212211211111212222212211211112221111122221122211111121122121112122221122222112212111211211222121112221112122122221212112211212212222212111122122121122221122212212211121211112211112222122221221111122221222212111222212111222112211222222112221122212122211121222212222212111121111221112211221111121221222122212121222212222121221222212122122121112112112122222211111211112212221111211121222121122111222222122222122211121212212112112222222211122211112121112212121212221222221121211122212122221222212121121211122111122212111212222122211112122211122212212112221211211112122121222221222221112122221212111222221122221112122111212121121211121221111221112212222211211112122121111222122211122211212211221212112222212111111211112111222111121212211221212221212221112121221222112222222212222221111221211112222112121211122112122212112111211122112211121221222111222222111122111121222221211121212221221221211211111122212212122112211121212122112121121212121111122211122221222222211111121112212122112221222221112222211211122211212122212122121111211221111222222112122122111211221221222122112122111112111121112121111122211221112111212122111111111122121221121122211122112122121112211121122212122212221122111221212111221212211211122111121212222112122211211221211111112212221112121112211222211121211121221111222111212122111121212121112221212212212212121112111112221212211112221212212221122212221222211121211222221221112211121222121112111111222221222111212211211221111112211222211121122212221112121111122211121112122212122121211211211112112222221221111211212111221122121212112212221221222122212221221122221211221212121212111211221221222211112222121211221112112221121211212212111222221112211122111221112212212211121222211121121222112111111222112121211212211212112211212122221112112121111111122122221111212121112212221222112111221112222111212211122112122112112222221111222111111112112111121222111122212122212121212111212112112211122221111121212121122122112111112212111212212122221212121222112222112122222221222121222212121212121122112221111221122212122211111111222122212222212121211221212122212121122112212221221221212221212121122222111112111222121122222211211211122111112122211112221212211111111221121112122212112222211121122112211222121121111121122112122122122211111221121212121212121122112121211222122111121112112222211222112121212212212211121122222122222122121222112112212111121222211112211211212112122122221211212211121212221211212122212212111121212221112212121122212212112211221122222211221111221212112211212121111212112222111121111112111122111211222222112222122122211211122222221121122222112221211121221111211111111121111211112112212211211122221221111222111222221221221212122111112121111221221222222222212122212111121211121222211111222212112112122122212111211222221121111112211221221222122122222112211211112112122221111111221222222211222121121222222222222121211221212211122112121121212111112111112111222121221221221211121121122222112121211212211222212112221222121112221121121211112121121111222121111111212211122211212122111121212122112221121121111211112222111222221121111122112111121112212121222222111112211121111211111122211112222122212222221111121121122221111111221222121111111222111221222122222222212211211222112111112212222211212221221121221121211221121222211111111222212111211111112222122112112211222212112211211211111121222211122112212222212121212221211112121211222112221112112211122211111221122212211111111222211122121211211222212211112122112111221112221111122222222211122211222222211221211221211112122112211111212222122122221122221122121111122221112111212121212111221122121111221122222121211212222112212211221121122111211121112112112221221111112221111212111112122221211112212212122122221221212222111211222111112222222222111211222112222212112112111112222211222222221222121121211221121112121122222121211211122211221122121121211221112121221211211222221112121222111121212121222112222212122122112122111111122212222221222121212111112111112121212122221221221221121111211211122121111222211221222212112221212222212121212221111112121112221112111121122221121111121211112221112121212222121222222222221121111211112212122211211222122122122211112222222221112122212122211222111221121211212112121121212222122122121212111122211221211111212112112122221121221121211222112111121222211222112212122221121211222212212122121121211221221211111212122211121221111112111121222122111111222212211211122121222111211211221111211212211221121211112211122222112112212122222212122111212122112122121112221121211121211112122211222122111121221211122221111111122122111111111122121121212222212211212121222222211112221122211212112111122112121221122121221122122122112121122122121222121222122122111211212222112221112111212122111111211122111222221221121121111112212221221111222112222211211221112221112121222122221222221222212111112111112221212222111212212111212121212121221112212121122221111212221122221212222111112222222111212211111221222211222211111121112221111112111221221121111211121222211212221111122111222212112111111212222211222222112112122122112112111112211122212222212222122111111212212111211111211211122112212112122122222122111222122122222111212221211112111222121221222212112211112222121221122221221112112112122221211111212211212121122221112221122122211111111212222212112222211121122121111111122122212121122111221111112112221112212221112222211122111212111211222112212111221222212112112221121221221111112222222222212212122111221121122111221122122212112211212222111121122122221222222112222122122121211112212122121121111122112112212212222212221211122211212222212112122122211212122221222222211122212112212222111222111221211122212222121212222121222111111122122111211111222122221121222111212222112221122122221221121221122122221122121111211222211122122211221212122212222122122111212211212111222122222222122222112121122221212211211112222122121222212121122211111222211122111222211212111112111121212112221121121222112222212121112121211222221222121222222221122221122121212212122121121122221111222112122222212122121111221221222211221221221212212221221122212221122222211121122222212122111121222221111122212111111122122111121121222211211212112112222222111111122111121112112111111212222111212111211222222111212122111212111121121111122122122212222222222222121121211122122222212212122211121112112222122222211211212122222121111111221121221111222121211112121222222222221221212112222111112211221122121222111222111212121211222221211111112112222122122211221111212122121211112122211222222111212221211222211112112111122112122212222111222121122221222211221211212111222121212122211222221221122211222222121122121212221211221112221222122111221121121112211212122211112222112111211221211212222121121212122221211222121222111211112111121112112111122122112111211112211112112111212111212222121121222121122212122222122122121111221212212221222122122122121122212111121112122212211112221122112222221211121222221111222121222211112221112211122211212121121221221212112221221111122221212222121222112212122122212122222212121111222211212112122221222111122111121211221121222222212112122112222111112122111212122111212212122222111211211122112121122121122211222222212211212112121122222112212222121211211222111211222111221212122111112221211121112211122221211112111111111111111221111111112112121111221112121211222211212222221122211222121121121111212112212121112221211121112112222112212222222212112122112212122111211121222211212211122122221221122121211212122211122112122111222211112111212212212121222211212112111221111122111112121221211212221121222211222112221112211221122111111211211122122221211222111121211212122212221112221121221222221211111122121212212212112121112221111111211111112222122222122221111122212211222222112121222112112222212112121221111211221111111212212221211121212121112211211122122222222222212212122221121211111212211211212122111111222112222222211112221121222122112112112211112112212122212211211121111211221112222122121111221111221221212121122221211112111221112112112111121122211112221212111212221212112222122222212121121212221212112111212121212212112112122212121122122122121121222111212122212221111111121212121222211222121221122222122211121121212211121211211122112111111112112221221122221121221122212111211221111212122111212222221112221121112121121121121221121222221221111122121122111112211212121212111222211221211112111222111122212222211121111122122211122212122121122121211112222122211121122212122212222112212212112111221222112111121212212221111121121111121222211111212111112122221212212122112222221121212211111122122122212222111212121111212211212122212222111122211212222212212222212122111122111121212111212221212222121211221122211211221112222212222212122221111221111211211211121211122212121111221221112222112212111222212111112121111112211111222112211221221221211221211222212121121111111222212212212122111121211111222112112111111122121112121221221121222212221221222221221212121211212221212122112212212211222112221212221221111211211112121221211221221221121122222211221221112112212212111112122122221222211221111112121221211221221222221111212212112221221111222211122212112122111211211121211122121111212112212221112112122222112122211112112222212112112222211212222212222122111111212222112112221121222122212222211111212111212212221122221221121111112221122121222112121111111112122122211211112122121112211212211222121211111111112221111111111121221122211211121122221221222222221221121122222111122112121222112212122112122222111111112122112112212111221112221111121112121212122212121222211221112211121111211212222111112121211121112121112111111111122212112122112222211212222121212221222211212112121212222221212121121211121122221211212112121121111112211112112112211111122122111121211111212211122212111121221122122121212212122221222121211211222112122221211121121122112221221111211211122222122112112211221212222111222112211121211222212122122121112112122122122221122112211211121211121212122122122212212211121211221111221221122111221121112121111122211111222221212221211221111221211112122221112122221111111121222111211222212111122211121121222111222112211221122221212211211111111112111112122122212112222222221221111221222221112212222121222212212211211212121211212121111222122212211121122111222221111222111112122212111112122111121211212221221111221112121121212122222122112112212212111211122222121221212121121222111212211121221122221211222221211112112221211112221121212222222122112221122111222221222122221122121212212122212121221111212211212111121211112122222221221212212221221211222121221112221221111222212122211121221222112111211222112212211221211212112121121121122212122111211211111121221212212122212222222221112211122111122121121121112111111221212211122111221121212111211222212121122112112212122111122122112112111212211112221222211211222222111121111221212112211121122121211211211211112221121112112121112121221212211212122221111122212122122111212212221121222221122111121112112211111121211211211222112122121121212122221211121212212121221212121212121212221121211211122111222211221122112111111211211221212211111121121212211122211211121211212122212221122111112112111211121111212121111212112212211122212121222122212222211112111121111121122111211112222111222121221122112222121111122122211211221121221222111211211222111222222222221122212221112211112221212112122122222221211122221122112211122112122112111112112111221211211212222122221221222212222111221111211222111111112112111122211221122211111211122211112122211122212112111112211122122211212221211111222212212112121221111121111121111212211211122111122212212111212111121211121112121112222122221121222211121221112211121221211221211212121122111112111211221122111212211222121211221122221222222122112212212212122222112122222112222111122121222212212211211222221121122111222112211221222112212112121221212212121111212112212111112112112211122222212212121111221212212122212212121122212212211111122221212221211211211212212112111121121112212112221111221222212222212212122211222112111222211111111111111212112111121222122122221111222112121212222112111222121111122211111121212111221211121111121221211111122121221121211121212122211212122111122112222121112211221212212221212211121121221212222222221222221221212122112121112222212221122222222111112112112112212222122111111121112221111112212121112122212112121221111212122121112221112122121122111211221112121111211211111221121111212121222121221212212222221222212222122112122222111221121121212212212221121212121221122222112221122211211221222121222111211121122122122111221222212222122222212122112211222221122212222112111122222221211122211111122222111121211212122212212121212212212122211222211211212122112122111212212211122112122122112212212111112112211222221221122212221112111121212111211221212122221121222112111222111121211121222121221222111121121211112112211111121211212111222221222111221221222222122111221221122121221111221121212121222122222221112212111211122221222121112111111121121112121112221221121112212112222211221212222212121212222122121122222112112122121211221111211221221122212221221112122121211112112121122121111121121121121221211222211212121212212222222112222212112222222221212222221112221221212212121212212211212122121111121212211212122221121112122122211212121221212122211121221222111212112112121112222122111211121122111111122212112211211222212121221212211222122211112221221211122212212111122121211212212211112112122222112122222111221221222211111221111112212111211221211122122211222221212221211222211221121212112211212121121111222121121111112122211221221122222212212121112211212122121111221111122111212222222122221221222221112112122222212222121221221212211212111121121121212121212221212222211212211112221112212212222111212111221221221222122122221222222211221221122121211221111111211221111122221111222212111222221222212221211122112222112222121211112122221111111211212212112122122221121221121212122121222111222212112212211221111111121222212111122121122112121211112212111221212212222221221112112221111221121112211111211212112121212211111122112122111122221211212121112222121122111112121211122112112111112121121212111112111222112112211121222221112222221222221121122212121212111112222121212211122222111122121112121222121121122222111112122212212112112112111222221222221112212221122221122221111221121212222122122221212221121212212212221112212222122122121112222121121121221211121122212111111112221111222222221111221212121211211211112221211112122111122121112121222212111122122222211111122122111221122222211212111121222112111111121221212211121122111222122222112222211212122211121211212122221222211122211121112212122221222212111121122112212121212212222122122211212112221112112211221122112111221121222112121222222112112221121111212121221111122111112222121221112212111111121112111122212211221122121111211222211212211112122111221222112212112211211221121111212222111222211122112211111112122222221221212221111222111112122212221111122122212212211112211222112111222212111122211121111122122221222111211111222122221222121121222222221111111121212122212211211121121121222112121112122211222221212212111212121221121211212212122211211221211112121121111121112111121222211211111212222212222112112112222212112111212111111122222112111221122112122222111221121111211112222122112112221221122221221121211211212121211212111221212211112212112121211222122211112121222122121211211122111122222122121221212222211112212122111111221112121211222221211122212222222122111111111211122112211122112212222112221211221212222211121112211212221111112122211222122121212111122122122112211221111121121121212111112122112222112121122221221111222221122211222222211111122212221211122111122221121211211111111111211221121111112222212122211112222211122211212221121221122111221222121112122112221111122112121122211212122121222121222112112111211221211112211221212121112222222111112221111111112221212112221112121122121221222111221211211222121211212222112112212121222212221111112111211112112211212121111212221111221221122121221121222212122111121121112211211112111221122112211121112111212122221212222222211121222221111211121221111222211112221212222222212121212121112211112111121112121121121122121212221221221121111112211112111221112212222222122121112121221122222212122121211111211212121111212111212212112111121122212211211221111212122211121221121111121111121112111121221121211222221212211112121221222111122222222121121211211211122221112112121221222111112212211111112122122212222111122112122121221111122121112122221222122222122211111122122221111112121222221212122221212211221122121122212221112222222222122222112121222122221111212212222121122212221111221112211212122112121122111122222111122111121112212212212211221221211221221121221111212122221212112112112111221211211222211121111122112212112112221111212211122212211212211222211212221112121211111112121221112112112221122222211112122122112121211112222211212122112111121122211221112222122122111211212212212221222221122222221112121121112111112222111211111111122112212121122211111111112121111112212121111212212112112122122222122212212121212222112212122212121211111122122111211111222221111112121111111112122212221111121121111121111222212222112111211221122222121112222121122121112112221112222111122222212222121111222112112211121211122211211111111111111211222211212111221221122121212111112122212211211112221221122221121122212112121212122211122112221112222111121121111122111121221121111112211112212112111212122211211221111122122211111221211122221111112221121121221111112211211111222222111212121111122121122121222221122121221112112111121121212222111222211221122221122121222221111122211212211121121222111111212111222122121221111211121211222221122122112121121211122211212112112211122222122221212111211211121112122111211222212121122221212112222211112212212121122112211211222222212112112212111212211121122212111122121121212111112111111112212121222112112211211122111112121211212112222211111222211112222212221212112212221211122121221111212112212222212112121211112212121122121122121122222221212122121122122211111212222122211121222212111121121222221121222111121111121121211112221112121212222122111122121221122122222112121211121111212211121212221112222221211122121222111121222112222211212122121222221212221221111212122122112122121211211122112112211221122222221222211122221222111211112111112122221212211212211121222121121122112121111221211111122111111121212121211212221212221122212222121112211222112112222111112211112211112212121112112122221121112222112122122121222222111121222221212121211111112122121112221211221221212222122122121211122122121212112222111111111211212211122112122122111212221222221221222121211122121211211222211211111121222212112212212221211211211212222212122212112221112222122212221222122111112121222221112111111222222222121221121221112111211222211122112211121112222222122121121112111212212211121112221122212222122221112222221211211111122211212111112121111111121111122211221122112112221112222112211221221121112221211212211221212221211122212222222211112111122222212122122212122222212222112212221111112212121211121111121111122112212221222212121221221112222212222212122111212112211211221221222221211211112111112222112221122121221211211211122122112222221112222222111111122111122122221222122122211222212122212211121221222122211221222121222211121122212222111221122212111111111111121122222221211121222121112122111221221212222111122211221222111122221211122121211122112222111211122121112211111211112122122222122211212221222211111212111212211222221211122211221121221221111122111122212212112222221222121221112221211122212111112121222212222112221112111212111111121122212221121212222212111111222221221111221222122222122121221121121221112112122212222212212121121221121222222121221221212221111221112211122121222211212211121122211222221122122222222122121112211111211122111221121212221121212211121121211212122212111112212122111112211221122121122111221122121121212122212221112112111112111221111211222212111222121221122111122122122212112122121222212222222111111222222211211211212122111212211112222121221211121111121211112222211121222111111111211212221221112122222122212211211112221211121122212112222122122222111221111221212122212121211121121121211212122221112121212121212111122112112112221111222122121211111121111212122121122221221211122122112111211121121211212212121211221111111212121111122221112211211112211112211211111112222211121212221122222211112112221112122122112111212122221221212212222221222221221211111122122122121212212112212121122212121122211211221111111212211212122222222222111112122112121121221121121211122222111221112121212112212111122122222122112122222122111211121112122211222122221111221111222222121212221112121121212122211111222112112212212112121121122221212211222222121222112122211122121211122112111112221212212211112221221221121211112211122121111112212121211122212112221221212212222211111112111111211221122212121221112222121211222221121112121111221212112121111121121222112112211122121212221221212121112112112222211111122221212112111221112111222121111112121222122222112211222222122212221111122111221112122221121221212122221112221112122121221112221122222122222111111211221111111112221211211121211121121222222222211121211211121122112221121111111121211111222111211121211111212122122122212211111111222222122221122222121111212211221121111122122121221121222111122211221112111112112221111122121122111222222112212112122221221111211212221222211221121212212212212121111112212111211221211122112221121122211121221111122222211211111211121111111121112121222111221221221212122121211112121112221221211211211212212222111111221121111211221222121121222221112222112222212122121222111212121112211121212122112222121111112211212222121111222211221122212112112112212112111221212112222211122222111121221122111122112211222122111111111111111121121122111121212222122211121212212212121111112222211121212211122212221212211111111212221122111211111212222212222111212211221112222211211222211122112222112211122122111122212121211222222111112122222212121211212112112121121122212122121122121222212122221212112112212211111112222122121212111221211112112212211221212222212112211211211212111111111112211211122112221121122211212222122121112122122212222121222121211221222211122122211122221221111121222111122111122212221221112211111122111111112112221121111211122211221212212122222212111122122211122211122111212112221121111112111112212222221211212211112122221222211212211111222212211111112112222221121112121111122111111111212211221121211222221212211111112221212222121221212222122212121112112121222121211111221122221212221212121211212122112111111121122122212112211111211121222111122211121112222212222212221122122111212112212221122122212221111121212221212221111222121111122121112111112112211112221122211222211112111222211211211112112111211212112211121222212122211212122221111111121212111112221122122211111112222111212212211122222122122222222111122112121122221212221111222122122121222221222112221111112112212111212212212212211122111111211112122111211112211211121212222211122122221111222111111122211211111121212212121111121122212121221122122212111212111112111212121121221222121222222122112221222122122111211111221211222112112222221221111212211121122122121121222222112221211122122222212111211122221222112211221122111111211121111122211212212221111212111112222222222222122111212222211111212121211212222122112121111212212112211222121112111112222221122221211112121212112112212222111111111112222121121212211112211221122111111112222221211211122222121122112211121212111212111111112212221212222112212212221211122112111112212212111221121212111212111211111121211221122121221121221212212211111211122212122221122211222121222211222111212122112112112111112222221112212212122212222212121121221111112111112222111112212211111112221221212112221111221221211122112111222112122212221122122112122112122111111121211211221211111112221211222211122121111221122121222112211111122111211221222212112112112222112221211212111111112111211112211121221121121121212121111122211212112222212211122112221111112212122212112122111121121222211211122112211112211112111111122111121222121112112112221212121122212111111122221122122221221112111211111212221111222222221122121221121211212111212221222222122212122212112111111221121112222122111112212122111122221211211222222111111221111221222211221221212111122211112122212122212112121221222111221222121211111221211111121212212121112221221221111212221122211211112111111111212112111212121112111112121122122222121121121212122122222221211122222212221212211222111211212212111221212212121112211122221111112211211222221211111211221211211221122121111121112222111112222212221211212121221212212211121211211112211222111221111212111211221221211111121222112221111111212112122111211112111111211112121211112122222112212211112111221211112121221112212211112121212112211122212211221111111221122121212122112122121112222121121212122111111211211122112112121212122122111121222122112121122122222221111112112212122122221221211112122221212111221112211112211212212121111122222212121211222211221111212222112211212211211111111121121221122212121211122111221122121212221211121221212222211112222222221122111122111122221212111122112221121211221112212122221121211122221222111211111212122121122222212122122121122111122122122111112221112111121212221121111121111222221122212211222212121211222212112211211122222121111211121121212211221221222122111121112211121221222112212121122122112112222221212222222211121211121221212111121212121221121221111221112111222221111222112221222221221221212212121212222221212122122212221212111122212222111211222111211121211122221221111212121211222122122121211221121222112111221222222211112221112111111122121222121221211222122121111211212122122222111122221221111122221122112111112121121221112122211122211121111211112122111211111121221112212122222121111122112112121111121121212221122211222211212121211122211111222211222111222122222122211111112112211111111212111222111121212121211112211111212211222212122222212212222111212221112112212221211111122221212122211212121222111121211222212212122222111122211111221111212211122112222111212121222211112111121121121112122211121212122122211212121212121212222211112211122122221111122222112112221211112122111112122222112211122211212211221111121212211222211122212112121221112122112111121221211112222112211121111211121111121222211121121111221112111111111111222221112212122211222221221211221211122112221112112111211221222122221222211112112221221221111121211221122211211121112221121122121122122211212122221111221212212222212221212121112212222122121221212211222121211211221122211112121222112222221122122112112221222222121222222111221221222111222122112122122211221111122221211212212112112222122112211211111111221111221211211122122212222221212212212111111221221121222112112121221211121221212211121122122111111211212121111121112122212212112211221111111221111221122212111122222212112222222212221222112121222122121211212211111112122222222221111212122211222221122121221122111112112122221221211221121122212211121111212212212122122222111111211221222112121111111212122221221222121122221222122111122121122212112122212111211212122122211211222122211111122221211211212211211211111221221121122221211212211122122212212211221211112221122112111221211222121222121212111211222212222111122212111112211221121211211111211211222221121212222222222112221221221221121221122111112111212112121211112211112211212111212111122112212211121122212221211121221122112112211122112112211112112211221221122222212221211222122121222212221221212121121121212122121211212111212112222111211112111211212211111122211221112221221111211212222211122112122112212122221222111111222122112222112212112221112222212212222121211221212221122212212222221221211112122222212212221221112121221111122222122221122212112112111211211222222112211122222121222222212122111221122212222221121221112211111121222212111112222211111221221212222211112121211211122212122121122121122121211121221111111112122111112211212121212122221212221212122121112221211222122112112121112221112222212122111111111121122111221121221212221221212121221221121211121111122112211221112221222221222122221212122111221222221222211121221221112111212122222222121212212112212222121112122122112122121211122121121221212212121122121211211222212121221211221122221221121121121222212211121111211221111111212212211221111221221222211112111221211112212221121212121112111222112221222111121112212212122222212221111222222211211222111121112111211122112112222122122111222112222112121211121111112221121221222212121112212122121122221112211121222221111121222222211222112121112122221222111111112112211122221221211212222221212111222121222212211212122122211221122121211212212122122222111221112121111221111212222112212121121221221111211112111121121212122112222211221112111111121112221221221211112221112221221112122222211211121211122122221222112122122122222221211111112211122112121112121221111112222221221121221112122121221212221121122111222112221212122121211211222112211211212121211222221211121211112211122221221222212221122112211221211121121212121121221111211212211121221122122212122112112111122212112111211211221122212112212122211211111222222222121212221121221111211121211111111222211212121111122221211121111112121112112112121222221111221112112211222112122111221111111111212222222111111111211222211121121212221212211221111221211111211221211222121211122222111111122122212221222111211111211212121111122212122111121222111222222112212221112211122112221222122222122222111212122121222221111112121122121211221121212121222221121222211111112111112212221121211222222111211121211112212121212111222111122221222221121222121212221211221211221211211212111221122122222111211121221222211121121121222121222222122211212121221222211212221122111212111112221221212121222212211212222112211212111222111211112222222122211122121112222122121112211221212222111121111112112221122122221112222121211221121222112122111112112121222212112212222112122112121211212222212122222212111212111112122221112112211122222122112221111211212212112111122211211122221221112122111222111111222111121221212211222111221211111111221121122211111111222112221222212111212122211222212221121211221221112211122112111222212112111111122221211212121111121112222221111111122111112112112221222122211111221222221121111221222121221122222112212212121112211121222221211121222112212222212121212121121212211121122222122121212222211112212122222111111111222121122122111111222221212221222222211222112112211112111121111211122221112211221212122222222221121222221121112111121122111121212221222211112222111211221221121211222212222111212112211222111212212122121111111221122112122112122112111121221222111112122122222121221222222111122112111212212122121121222212122221221122121111222221222111212122122122212212112121221221221211212112222222211212122111212222112112221121211122211211222111221211211221121211121211221222211122122211221111221112221212111122221222122112221111212221112211121112212222221211212211222222112212111222112221121212122111112121221122222211221111112121111121121111112212222122211121212122121122122212212112111122211112222221212221211212121111212121212112212112211112121211221221211212121211112222221222122111111221112212111221121211111122222112211121122112221111112221212112112112112111212212222122211222211122211221212111111111221221112211211111112212221221121122121111222211222121122211212111122212222211212222221112212212211122222222211212221222212221222111222112121212121121121121211222221121112122121212221112211211122122221211112112221112112112122221212112221212221111111112112112212211112211121212222212211211211211111222222212121211111212112122111212212212211121121111211221212222122122122121122122122222122111222122111211111211221111111211112121211111212221121112212212111111121221212121121212211222111112212222111221121111221111211222212111221121221222211221122222121112212221122222122122122122112212222222211112211222212211211122211222212221222212122121112222221122221221212121222122211111112221221222111121221222222122222211121111221112221212211221111222211122112112222122212111221221122212121111211221121111121121211222211212222212222222121121222121212212121211111111212211112111221112121211121111221111211122222222121222112222111121212222121212211222122112121211211111121221112121122111222221211122222112221112111112211122211112111221212122221111222211121222212222122221222112212112111111222112222221111122121221221222112222221212121121212112211212221222222211122122111211122112212212121211212121112122211122212111211212122111221121112122222121222222121122122122212211212122122121211111121121122112211211112212221112212211212211111222112122222122122222212211221211121121121211121212111121221211112122222112122111211212221211111111121222211112221212121221122222121212221121212111121222121211221212122221111212211121111111111111122111211111112111211121112112212112111212122121222112211221211111112211222122211111121221122222212112122121111212122112211111221212122112122211112221112211111111221222111222221111112222212112121212112211111212122122211111111211122221122221211221222222122111222211112111111111112212122112221221111211211212222111222112222212111222111211111211212212212112111111211211112222222121221112212212121112122121211112222222212221222111111112221222211221222122112211111112222222211121121211221221111222122221112221222122211212121121111111111222112222121122111112122221211221112112111222112222121121221122121211211222111221122222221122211122212221112111211222112222111112121222212121111211211222212212211111211222222122212111112112121122211112212112122111222221222111212222122111112222122212112122211121212222212222122221112212112111222221222122112221111121222121111222222211221121222211211121122212111121121111112122222221212221111212112112121122112221122111222112121121222222211122121212112112212211222212211221211212112122111112121211122221221122112222112212122121212212212121111121212111111111111122121212122212111121212121221211222112112222211121122112121112212112112111221121212121221111221222122122111211122221222122112212121222211121122212122221121211211212111222211112121212112211221221221121121122222221221212121112221112211111112111212212222222222212221122121122221112121211122222111211221221111112222122211121222111211221211111211211212121122221212111111221222222121221222222222112122121112221222221212222122121111122121121112111221112221121211222111121122111212212211222111221211211111221222222221221222112121111222211212112121122112122122111122111212221112111112122112222222112211111111112121121121221211222122112212111122111112112122221111112112221211112122112111212211112122222112221112211212211222121221112122112212222211121212221121211121122121221122121121111111212122122121212122212222121111221121122211212212211111211211122111222112111111221221121112122122121111111122112211112211121211222222211112112122112112111122222212122121121122222212221221112222121211212221212122211212221121222212222222211122121112112121121221211122211121222221112111112121112212221212221221122222121212111122121211112122222111111112112121121112211211222112222211111112212211212221111221112212122211222222211112111212121221111122122112122112121121212121212122112111222112122122222211111121112221121211121212212111112111121121221112111122121111111222212121212222221111122221121222221212111211112211212112122212122112111121221122211212122111212212211221122222111121112211212111222222112121122222211121111122121122111122212222212122212121122122221222112222211121122212122122221222112221121122212212211122211122222122111112222222221222212122212112211212122112212221111122221211212211111111211111212122222221212211222112111111112112122112222211221211211221211122222222122211122112111212222122122221111211212221211221211212211222221121211112121211222211221112211222222121212111112112121111122221212222221212221121211112212122222211221221222122122211212212221221111111211212212212211222212222221121212211222221211112122121121111221122111212112212122221111111221122212212122211121112122221111112112111211221112222221222122222221111212121122222212211211222111211222221111121222111112221112222122212122111122212221222211121122221221212221222222222112111212212111212211111222112122211112221211212212122122221222111112212222112121112222212221121212111221122211211222221221111211212122222212122112222222121112222111111222221211211222112112211121111121112121212212112211111211222121112222121122212221111221121111222212111121111221222212212222221121121121222111221211222211122222221212111221211111122111122211222121111212211211221112212221111112212122212212221121212221122112221112121111212211211111121112222212212221122221211122122221211122211212221212121222112122212122222112212222112122121122222222212121122112121221212121112211221211212221221212212112122212212211221211221111112122212212221111212112222222211221122211221112222212221122221211212212111222112211111212112211112222111121221221111212112121112212221121212221121221111121122111112221122122122111212112112121211211111111111111221122121222112112212122112222121221121221212212221212222222112112112221112221122222111212212111111111211121222222222222121111121211122211211122221221121112112111121121111122212211112211212111212211222212211221212221122211212222211122112211122211112112212222122121212212122111211121211112211121211211111211111122221111111112112122222122111211121221212212211121221221111212121121222222211222111111112112221122221112212122111121112211112112211112111212111122212112222221211212111112122121212211121112221122211222222112212222122112112211212221111111122111121111212121211211121111112221112111221222221112111121211122222222112111212221212211121222221222222222212122212222121222212212112121211121111112121222212112211121122121221221221122211211222221112121112121221122211112111221212221122221121121212121222221111212121211211221111121222122221212212121111121212222121111112212221112121112121111222111212222222111211112112122211221211222221121111122221111112122211122112112111212111111212211222112122111121221121222112221111112121121212221221121121112111112211112121211112211112112112211111222121221111111111112211211112211122112211122121221112121221211112222221222122122121111112212212221211122211111122121111212212111112121222221122221121122222112111211111212211112121211112112111112212112121211122121221221212122221112221221121122112222211112211221112121121221122112212122212211111222111211111221122221212122121222122212121111222222221222222122212122221212121212121212221221222112212222221121221112111111221111222222211121211212111111212111212111211222221111112211121122112111212122121212222112111222212122211111221211111111122112222211122222121121212211122122211221111121112111212111221111112122112212122221221211222122121111222221222111121121211221222211122121222122112222122112211111111122221212112121122221221212122112222111212122122211122211212112111121112111211121112222212111122111211212122211221212121212212111122212211121121221221221121122211112111222211221111111222122222121221222212122212212112121122121122212221222221112211211221111112121221212112121211222211111111211211222122121122212121212122121122111111222212111121222111122221111221121112121211221222112121211221112211121212212122211221212111111111122212211122121121222212111121211112122212121112221111212211221122222112211112121122212221122111212111122221112222122221222111211122212212221112212221222111112122112212211112122211212121212122122211211211212122212122211222222122122211211221212222222112112221122122211221121211212221221211211212111111222221112222112112221121222222212221111121211211212222221211112221112121112122122211221212221221211222211212111222111111212122221122111211121221212211221221221122112111211221122222222122211221211212122221112211212222211111122221221221122222111112222111121121121112211211112122212221122211222212212212122111111222111222221112221111212122211112211212212212112122221221221211222111221212111121122112112211211122212112112211122121121211121212222222222221212121212112222221221112221112122221111122222122111222122111212212221111112112122212222221211221122222121122112222212211111121111221111111211121222222211122111122221121211212211221211212122212122221112121212212122221111211111222112122121221211212221112212221112112121221111222112211221222111122111111212211122221111111121211211112221112121211211212212212222112121222222121211212122212121222111221211112222221212111112121212112112212122121122212121111112121222111111112111122211121221211211111112112211211112221222111112212212122112211122212212121212122111221211221121222122211221221212212221222211122212112122121121211212222111112221112221211221111221122122121222122222111121211222221111122121222111121211212212111111121122112211121111111222211121222111221121121121221212221111111221121222211111111121122212122122112211212121121221122112112122122122221122122221212222221121212211111121112212222221111222222111211211211111211222122211111112221211111222111122212112121211111121111222221122221211111212212122222222122111221212122112111212121112111122212112212121211122222121212222221112212211111222122121121222121222221121112112211121122112222111121222211111221112221122221211112121221112112112121211121222211211211211122111221222211221112111222111212222121212111121221221222211221122111112121121122111111222121112122222112122122112212122121221211111122122121211221112112122122122121212121212122212121121121111222112212112112112122211212211112222122221222121211121121121121222222121121112121121211112221121111222222221121211212212212222122212121121112121221222112112222222122122121221111211122211222112122122221222211222211121111121111221122111111111221211122222121221221112112122222111211221122212112112121212122221121122121212212122122211122212111221222122111221111212221111211221111211111221111221122121121111112211212212111111112221112221112112121221121222122211111222121112212112121221212122221122212221212221112222111212211111111211212111121121111111222222121211212121121112121121121222112211221211111111111111111221221111111122111112211221121222212221222111221211222121221112112111212222111212221222222122212122212221211121211121112212212211122221112212222112212121211122221222211212222222222211111212212112111211121121111122212111221121121111221121211112222212112122121222212112111222221211111222221222221221112121112111212211122221111212111212212221121222112111112211112221112112221112212222211222122111122122112121222221121122121211121111222211212111121222212111111122112222221121212222121112211111111112122112222112122212112111221221121122212212221221121221111122222111212221221112112112121112211221112212111212221222221111212211121122212112211222211212112211222221122111122221211211112211221221122212211122221122111112212121122112111122221111222112211122221122111111212222122122112222122221221112112121121221111212211212122221112112122221222112112212212221222222112222212121111211121221221121221212222212211122222212221122122212222211112111211222112122111221221122211112112212222221212112212111222221121111112111222112111121212121221121211221222111211221122112212122212221121211122112221212121112222222122112211121211211221221211121121212222222122112211212121121111211112222221211211221212122221111212112221211212112112211122111111222112221122211222222212112221112221212221222211221221221222221112122122122212211221212112121211112121121211112121112111121221221212221121111212212112222112221212221112211112112111112121211112112221211221111112121112221221121122111121211222112121112121111122222221112112121122112222221221111211111121211211211212121211112122111122112221111222211122221221222221122121211212221121212121121122221122121221212121212122121212211121112122222112122212122111111112121222112222222212222111212122121122211122121211112122212211222211111112112221212111121122222212112112211211222222121121121221111111221212221121221221111221211121222111121111222121111121122211212221111221221111211221112221112212111121121112221111222122111221121211121222222122221122111122121112111122211111211221122111111111211211121122212112211212212111121221221122222122221112211211122211221212111111211121222111212112222212211121122212222111111222112111221121212111222212221121121222221112212112111121221211112222122112221112211111121211111222111211111211221121222122121221121122222122212112112122212121212211112221212211121221212112111221221222222121222112212122122111112212111212222222222212112222212121222211221121122122121122111221212112111122211122211121122112211121121211211121122122222121212112121212111111212122122221222112212112212211121111211121221121211211212122111221221212222112211222211121212112221211211211212212222122121111221221221222121212211111221112212211211221122222211122122112212212121122112111122212212111121112112121212112211122212221111122212122122222112212111212111122112212222121212221121212112211111221111222111222211222112112222121222211211222121221212111222221211212211211122211222212211211211121112122211222111112121112221122221212221211222211122121111121111122111212212112222111211222112212121111122221111222212122112222212111122121222222222221211111222112221112222211221222211211221211221212222122221212112222122211121211121122221221211121211112122221112211112122121122211122111222222122112212222121122222111222221122122121212211111122122211211121122221122122122222121211212122112112112221111211221212111212112211221211221212112221212222112212222221211111112222122111111212211121221121111211211112222121121112222222211212211212211222212221221112112221212222211122212112222222221222111212111111212221121211122212112222121111221212211111111222221122222212212112222122211112111122221121112211221112212211112222222122212111222221121222221221121211121221222222211212222222211122122222221221212122212122222221221222112111211121221112212221111212111221122211222212121112121112112222211212222211111121112221121221212122212112121211122111211211111111211121111112212221111222212112122212211222221212222112122221211221121122122121121121121222211122111212121111211122221112222121211121222221111122221221112112212212211122212221221212121212221212222221112121121121221111112121121222221122222212122112222211221121211112222112211112212212122222212122212222212222222222211111121222222211222121121111112222121221221221112222122112112112122221122221211111211221212221221121221222222112221222121121211212112111212121112121222121222112222121122212222221121212122112221121111122211112212122222211122221221111111221212122122211212221122221222111122222212122111111211122121121112121111222121222121111112122112222212121112122212221222111212222222112211212222221111212222211122221222212111222111121221112212121122111112122121112212222212222121112212111212112211212211212122211222122221112211222111221122111212111111121212122222112222111121112211221111212211112211121122112212112122112122111221221112111111111221221221211121212211112112221112221111221112211122211111112221212121221122112111121122222221211212122122111222212221221222212122211222211122121122221121112211212221121221222121121212221121211121221112112122112111222212221122211112121122212111111121121111221111122111221111211121222211211121111111212111111121111221211221111111212221111122122222222122121121212221211211111122212122212122211212221211221221111112111221212211221221222121111122212212112211212221121211111121212112222211111122111112122111122211121111122121221111121222211212111212111121211212212112211111112122222122211112111122211121222121221122112222222211221212211211121221112212212221111211111212112112212221222121211122111121112111221122221222111121112112112122112111211211121221211111212111111121122122212212112111112212121221222122111111221222222212211212121112212212222221122211111112221121122222122111122222112221221221221122121212212222111211212222111121221222112121222221122122222122121221111122221211222112111211111222112111122222122111212222211111111111222111122212111111111111212122121221121222121122221122122112221121211222212221211211221122212112212211112122111121111221111122211111222111121112121212112211212121221211221121121212121212212212221121211211222111122112121212121222212212212222122212211122221211112222112221212212111211221221121212111121122222112121212121212211111111111211112112121211122222221222212211211112111121112211121211112112111212211111221222121121212111221122121121111222112111111121122212222111222211122111222112221212111111222211121121222112222211221221222112212121212221121211122211212121112212111112111222212222112121121122211122211211212211122111211122111211212122221211122221222211122112211111212112212212111122212221222211112121221221212111112112211211122212212121121111121212211221112221211122112122211112221111112212112121122212212212122121122222121121111121211222222111222222211122211222112111122211111211221122121211121121212111211112221211221212222212112212121111121221221112111112221121122221111211112212221212112221111112211222112211111221111121121111121122112122221212111212122112121212222211121121222222111122111211221221111211112222121212212211221211122212121111221211222212211122121221111221122222112222112121212111111222221121212222211212211221121222222211121222211212221221112212221212211221122121121121122221222212222221212122122221212121122221112111111211222211121211222211221112212222122212112211121112111222211212121222222111211111212222122112221111212112221122121121112222111111111221212211122221211222222222212111121212212122112121222122212221222111212112112212111212211121111221222111122212212222112111121112112221211212222112211112111111211221112221211212222212211122211212111121222112121121112121222212121112111121121212222212111112222211122111122221211111221122212112211111222222221222111222112222121122212111212222222222211112221121121212221211112222111212111211222111121221122222211122112221221221222222221121121122212222222222122112221212211212121112221111121222221221212121222211212111122222221212121221122222122122112211221112112122222211111112212222222211112122121222122122211212112121212112111112122211121121121121212112121111122211222112112212111222212222212212122212221111222222122222111111111212212212112222222112111111111112122222221211212121122112122211221111221221211212211222111221112211112111122221112222112121122111212121222212111222112221111221222111121111122121112121221122221212112222221212211111212121122222212211112211211111221212122221212121221212121121122212222211112222211111211222111111122122112112221122222222222221112211212112211221111122121212212111111212111222121121221222111211111121211122212212121221121222122111112222121112212222121121211121222122222221221221212121222112112112121212111222221121121221122211211122112111111221222111112111121121122112121211112212211221111221111211121211112112211121221222122122211122221122221222111122111211221121222111121121222122111121112212112112122212212121221112121212122222221121221112122222212111112121121112222121221222111221221122111212212221112112221112212212111121211222122111221111122221121111212111121112212121111112211212122111121122111111212212122121212121112112122222111222121112111112221222121211222212122211222222222222221212111111121111121111222112221221112212111212112121211222111122222212111122221112111111211211111111222122221211122211222111211222122111211221121121111221221122221212221122121212122122222222122111211112221122212121221112112111121211112112222221112111212112122111111111121112211221112122212112122121221222111111121221221222211112111212112222122121222121221222221212111221222122112112122112121221112112122211212121121112211221122211122111222221222122112121221112121111121222212211212222222122222111111112212222212211212111122222112111122212222221111112221221221122222212122112122121212121122112121121212111221222221212212211211122122222222121211211121222112221221212221122212121122111222211121211222211121112212111222222212111212112122221221211221121111211212111212112111121221121221111222112121111111112212222221221121111211221221211121211122211222211121121211221112122122211111112211211212211212112222112121221122221222222212111211122112222122112211112121212122212111222112111121221222111212222212212122212212222212111122122111211122112211111212211222112211212121221122111112211211121212222211111122211112222112211212222221112212221222111112221211221212121221121121112221111222222222111211211222122111211122212121222112211122112121111121121112221221212221222222111212121211121221111221212121212121111111122122221211122211111112111111221111121222112122212122111221212211121221121212121122112221121211121112222122222211212111111221111211112121221111221222112221221211111121212122112112122121121221211121212212222112221111212111122211211212221221121222212221222211211221112212112121121222121221122122222222221122121212222111111211221211221111112122221222211211122121221221211112121112212222121122112121222221112211111222221112221111111122122111122212211212112212222121222122211221211211112221222211212211212112111122212122222112221122112211221122222221211112121211222222111121221222222112121121222221222222212112122212212212122111111112222121122221211121121212222111222212122121122221112211111211111212221212122211121222212212222122221212121122222112121222222211121222112221122112111122211212121211222212211112211222222211211122221221111122121122221221112121211122212211222221112211211112211112221121221112111222111221211222221111121122222121111222221121222211122111222122221121221111122121221212221211122222221222222211211212212112211212121112112212212222221222122212121212121222221222111111121222221212221221221221111221122221222222121221212211211222121122212121111111122111222212121211212111211222112221221222212212222222221111221122221212122222121212222112111121212122112121221112122212212211221112112112211211112121112222111212121211112112122212121121112222112122112122111222221121121212112211111211122121121221122221222112112211211111121122121212221211111111111121122222212122122212212221121112221112121121111112111111222221122221222212221111111122121112222211211122222222112111111221111122111112122221111112121122221112121211211111222212112221121112111112211121121211212221212211112211121111211212112121121212211221222211222112212122111211122211212212221121112112211111221122111212112221212121211221212122121111212212221212121221111221112111121121111121212211222121221122221122211121212122212121212112221221221122221222212211122222112121121211111112221111112122212212122212112112222121222122111112222112212212112212121221221211112121211111222221222221121221212112211211121221111122112221111221221111221222121222121122121121221122222212122212122121122111111121122211211112222222212222112222122221111112111122122122122221222121122221111112121111222121122222222222221211211222211222121122121122222221211112111212221112111111211212111211221212112222122222121111222212212112121111121211122222121222212222121221121112111112112122122122212222212111121111221111112122211111111211112221122122122121212121121111211212112112121211212212221122221111222222112212222112222212111222121121121211212111112111112121222122222211112211211211112112211212111111112121221112112111121122112121111122122122211122122121111211211121222112121222112121112122111211222221111211212112211222112111221121112112122222122211221121222221221122122121112211221122211212212222222221111221121222222212212121112221121121211122211212112111112122112121122112212221211221121212221212212111211112121112212111222111121112221112211121121122112122111221122112221111111212112112112221211122122111212121211122121212122111212112221212121122112122111122122212221212111122112112212221111211221112221222111211211112121111222212112222212212211222222122112112212221112112121121211212222211211121121112221111121112121211222122112112121122111212111121211211111121111212111211121111221211111121221221212122221211122112122212122211112221111112111112211211221222222222212111122221212212121211122212212221122212122121121121211211111221222111212211211211211222121221112121221222212121111222212111212111221211221122111222122221211121221222112121212121111222111212112211112112111212121221122222121221212111112212122222212211122221221122111111222112222122112111111211111121222122221211222122221211221211222221212112212222111111112222121121121121211111112212122211122112111111222122122111121121111222111122121221222121222222112212112111121112112222122222121111112111121221221121122111112221222211222221112211212211121221211122111122221112212111212212122221112111121212121112221112221222222211111212112211121221211221112121222222111221212211122221211211112121211121221111121121111122222122221112222211222211111111122122212222122222122111111211221221112212221112222122111221122121212212121112112112111221222112122221212122221222221212211121221211211111211211221211221112221222122122112111122211222221222222111121112212122122212121212121122121112211121112221111211212211122212111221112222212112221112111122112111122221222121122212222121112112122112212211211121212111211212111222222111221122111222112112111212121211122221111112111211212121111112221121111121122212211222122121222122212121122222222221111211222211221122122221222121111121212222121111221211121121211111211211122111122222211222212111122122121212211222111222121211212112121122221222221112112221111212222122111221121221212222212121121221221122222222211121212221211111121122211121222221112112221222212211111112112212222211112211111221212212121212222112122111212122221221121221112122112112121211211112221121122121222121222222212112221121211212112121112121122211112212222111222122211222122221212121212221121122211122122211212112111211121111211122212222212111112222212121111112222222111112212222121212221121222122211121212212222112111111222212211112221111122212222212122122212221221122112221112221211212122122211121121122221111112111221221211212222212111122222112212222222112211211112121121212221122112111112121221221111222121221122212221212211221211112111222222122221122112111121121212211122122122122222222111112221222111121212221211221111221222111112221111111122222112221121121221112111212111212222211122221121222222222121211212222212211122211112221122111112211222222212221212222221222121212222221212112221112112122212122211122111222212211111111211111122121111111211211112212122121221121222221112122212112211122111122122112211121212122222112111212122121111211111111112212222122221122122121211212221121111222112221122111112112212112212111221222122121121212121221111222222112122221112211112222211211221122122222211112122112212121112111121221121221211222112222112221221111121212212211122211112212122122112211122112222111222221111222211221222121222111121112121211122222222111121221122212212211111212222212211112112212221222211121221222211111212212112122122212112122122212211121121122222122121221211121112111222212111111211121212222111122111221212121211111122212212121211111222221222222122221111212211211211121211212112222112111112222222111221212222221211221211121121222221221221212211112122221211212211111212222111222211221121121212121121221121122112112211211112122222122111112121122221112211122121211211222221121122122221211121122212111212112211212122111111111121221112111212212112112221111212121221111222211221121212222121111221122212211222222112122221111212222212112222222122111121221221122122122211211211121111122211221121112111212222111211111222112112221222122212222112121122112222111121121212222212111111121211211121111121222122112212212121121121222222112221212121221221122121122212222111112212122222212121112221111211122222221222111111222121122111221122211111211211212112111221222222122122112121211112222111122121111212111211111121211222212111112222221222211222211221211221112121212212221211221122221121111211212111122212121111212212121122121111221211111212121121212121111211112121122111211112211212112122211111221222211112112111211122212112222111221221221121221222222212121121122121211122112221121221221221211122111212222212121121122121212221211221212111122111212212122222222121111121122222122121211221122211211222121122212121222221211221112112111212121222111122211122211221112212222211211211222121111122111212112211221122211112122222111122211212221211112211212122222112122122221122212222222222121112221222222211112122221212222221111112121221211122111211211122111221211221112212121121112122112211121221222221211112222122121111122111112222221121121122211211121221211111112122222112211212222212111122211121221112121112222121111121111122112211212212121112222122212211121111212221221122212222121121111111121211221211212222211211222112111121211122122212211121211112222111121121221121222112111211222121212211221112222122211122212121221221121122121112122212212212221211122221211112212221122222222122111111121212211112211121222211222121212121112211121221221212211221211111211212222211111212211222212211211221112121211121222111121222221222111212222121121211211111122112212112211211222112112111122121112122212112221112121212211111212121221121221212121111112121121122121112112122211112122222222212121122212221112222122211211221221221111211112221222111122221222222121112222211111121112121122122111112221221111212112112121222222112222111121121111122211222221112112211112122221212222222212222221122121211111212121221222211212222212122122111221212121122111222121122122122211122211221211211111112212212111212121122122122222221212112111211211222212122112112111211221111211121212111121212121111222121111222212221121221212111222111211212221221212122122111121121211222211211111211121211211211121212222221121222211211212221211211212221221112211212112121111221211212221121112211222121112212212122112221222111111211222122112211111121121122211122221111121112222221121212111211112121112121122111122112221212211211212211122211112122112221221211122221122111211221212222111212122121111121122221112212111212112121222111222221112121222212222212212222112221222222221222121112121221122221222222221211111121222211221122111222121222112211121212212211111122211222221212222212221111222111221122111122112111111221112211211111222221222221221221111122122121221121221121122221112112212212112211222112122221112211111112111121212221112221111211222211211112122221221221111222111221111122212121221111112111222221111111222112112211112122122212221111211121211221222222211222121122212211122211112111222111121222212111212211112111221121122122121112112121222221121211221212212112221212122122222111211122212211211112212121121121222122122221212211121212211122211122221112121112212121122122211212212121111122122121211121121122111212112212112222121112111122221221122212111222211211112211221221222222122122111121122122111222111122221121212212121121121111122211111212112222212111211221222122111112122121122121121211121212211122111211111212221211212211221121222212222122111222212112112111112111112212121212221112212211111111121222111112122212212121222221121121112211112222111112221211211111211222221212222121212222122111212121112111121212112212112212111121112112221121111112112212222112211121221111122221222112112221121222122122121112211111121222211212211212121212122112212122211121112121221211112122111111111122212122221222221211112122221111122122121111121221222221111111221221211121212112221121211121211112212222221212222111111111222111112112112122221112111112121212122121112211212112121121222222221122121212121211221221222221222122222211211122121221112221221122211112211111121111122212111221122221111111222222212211211212111221221111211221221222122121112221222112122112212212111112211221221122222212111222112211112211211212112221121222112221222211212122122121122222122211212222121122221112211211222212222211211112111121211122112212121212211222221122222222122211211221122111221212121211121112122211122111112211211112122121211212221122122112222121221222221121112122221221112122112111222221111111111222211112221212212111121211122112122211222122112212112122211212111212221122121111122112212121211222122211121221111212222212221211122221122211122212111212221221122112212211221111121121112222122222122122121222221221211212122221222122212122122111112111212112111221211121122212111212112222122212122222122122111121211211111112221122111121121222121222222112112112221221112221122211112112112221111212222122211212122112211112221212111121211222122212121221221111112111111222221121121211122212112122212221211212111111221211222122122211112111112121111221212221121211112122222222212221121222121212222111122222212222212221121111221122211221111112111222221121221112212211221222212122211121211122112112211221212221111111111211212122112112221222212222212222121121111211212112212221122111211122212221211122122112122112222211221122221221122221111122222121221122211212112112112122122221111111111121121112221222111222121222112112211121211211211222112211112222211122221211111112111122121221121222222122212111212112122112111211122112121122112211212112111111112111222112122221221111222221221112212121121222211212212221221212121222222111122111221112212221212111121222121211121211212112221121211122212111212211212222221122211212122111212222222112122212222111221111121111112121212112111122222221111111212111212222222111112221222111111112222211211212112112222122222122211212122111121222222212212222222221122221221122112122121222211122211222211222222222112112212122212111111112111122212221222122211112122222112211121211111221111122212122221111211221121222222121212111211112112111212121112221221122211221211212211111221112211122212111122122212211112112222112221222222212211111121221222211221222222222121211111112221122222121222222211112122221222221221221211222112121212122221222222122112222122222221121112121121112212222212211121111111121212112222122222211122122221111211211111212121122211211221121122212122211122211112221111222112211122122211122212112222211221221221111121122112111222221111211212211112221121221211221112211222222211211221221211222212121212122222112221212112111121111111222212121221222111111122222122211212221111122122111221211211122121122122121111222111121111211121222111211222112221111111111221211211122111121111221111221212211111221221111211121121121211122112112122111121111212211122122112221221211121122212211121121121211221112121221221212112121222112212112122221212212112111121221122211212221112122112111221111112111122121212212211211112211211211212111111211121111212221221222111121122122111221112111122222221221112111111211212222121122211212121122112111212111212111211122212221221111122121222212111222122222211222222122222122211121121221122111211121222222212111222221221112112211112112221221211222211122112211112211122222112112122121121112222211121212112122212211111222122222222122121122211111221121211122121221122111222212222121121121211211211112222112121111212212212121122211222122112121212221121112212222121122211211211121221122111221111212222122112212212111221211112121222111211221211222111221222221112111211221221222211111221211111222112122211111112122212122122212222222222111212111112112221222222122112222121112111221211122222121111222111221112112122111111112112222221222222211112112211122112221211111112121121221211122222121222221212121212211111221221212112212211111211221212212211121222121121111121122211122222121122121122111121112111211112122121222111212221121122122121111111122222212211212222222122122122112211212222121221122212122122222121112112222121121212111222211111222222112121222221222222121222121111121221121122222111111222112121111212112222111222111122111221122112121112112212212212112121111121112112122221121121221122211211212211121112212112122112212221212112212222121111222112111111222211112112212212222122122112121211211112111221122112222212211222111211221211211122212221211122121111221211122121121222222121121122122112112111221211121112121111112212222121222211221221211222212112112112222222221221221221221121211211221121211212221122111212222211221211122221112222221211221112211221112112111121122221111121212212111122121122222222112221212221211221211111111212221222121111121222112221212112112112212222111211111121222222221112212212212122121211212122211111222121221112212211121211121111121121112121221121111222122212111211121112122111222111121222121221112222212122221222211212112212112212222212112111121212111221122121222121221122212222212222112122121121121212111212221211221121111221111212211122121222122122211112112211112112112221122212211212222211111222212111121121221122211121122211221121211112111212222122212212221221122212111122121212112111121222112212121112221121121212221122212221122222222211111222122121222111111222212212222211221111211211111112221211222122221122122222221121221112211122121211212112211111121112112121122121112122221121211212121221112121111221122222111211121221122112221121221221212112122111222122112112212121122111221211211112122112121122212211211112222111211111222212111121121121211122121221212211112212212112122212121121112121122211211221212111222221111112221112221211222211221222211111211212112212222221212221222122222222121121211111212112222112211211111122112112222222221221211122111112111221121121111211211221111122122222121211122121111222222122211222111112222211222222111121112121121222112222221222222211111221111112121222121221122112111122211221211111112111122221212122112211221222112121112111111111211122211221111212121212112211222211221122211212212211222212122211222111211122112111211211111111122221222211121112111111111111221121211211222211222121212112212112211121222212121122121212121212121111211121221222122221212212111222112122121111212122221221112121221112211111121111221211212211121122111221112121122222111121211111122111112222211212211221122212111111112112121121222221111122111222221222221122221211211221221222112112222112221212212222212212121222211212221111221211111121221112112212212111222211122211122112111121111211112221121211212221122112111221111212122112121121211222211221111121221122222122122221111221222112222212122222211112112221111212122211112211122112222222222211121111112121112122212212121111121121222122121121211111121121121222121222122122112221211212222212122222212211121211121221111221112121112112122122212111111112111111111122221222112122212211122222221222121212211111111121122212111221222111212122111211222211112121122212211221211212112211211221122121222222112222112111221221212122222212121211212121221122222212212121221221222212221221222212211122112212122112121222112222221121112121221221122111121111211112122221122122211211212221211222212122222211212221111121221211122111122111222222222121122112221212212222122112111211112222221121122221212221121211212221122212212212111111211122122221211111211121212121121112221212212111112112122212221121221222111121121211212221111111112222122221212121221221221121111222112122212211122121221211211221122122222222212122111222111111211222222122122121122121121212111222222222121111222221212112222221211121221212212122122221212112211222212111121111111212121222211221111222212122221111112112211222212222222112111212112222211212221212121112122222122221111121222222221112122112221212221222112122222212212211121112221111121122111212211121121211211121121221111122121222122211121111111121121111112211112111221211111112222222112221221221122222122211122212111112111212122112222112211211212211211222211121221121122122212111111222112112212221111112212221122122121212222111111211222121111121112111121211112222212222112121221122212112221122111112222121112211211112221221221212221222112122212121111112221121212112212222212121212221222111112122222222112211112212212212122212221222211212111111212222221221122211121111122221121211122121222122122122222221222112112121222211111112222211211112111112122222111121222112221221212111112211122112212222122111221222221111121211112211121111222122112112111222112112212121111211222212212121212221222221121111112111122212211121111112211112122221221122212111212121121121211121111122211222111112112221212121211211122222221221212122112122122112122121121121222212122212212221221121222221112121212211121122122121212221121121222112111221221111222111212212212112211211212211211212211221121212111221112222212121222221212211212122211122211121121211121221112122112111111112112111221111211222121212221211212121121212212212121112111112222122111211121121212112112121111121111111111211112121221221222122121121222222111221112222112211211222222112122121112222221211122112221122121212112211122111221121121212221221112121221222211112221212121221222122111111222212211121122121222211222211111121212212221111222112222221222212112121111212222121222112222221121211112122121112111121122112122112211211221222111112222221111122221211222211121111212111111222212112221221112212222111111112111112112211221211221221212221112112112221112112221222212111121222112222122212121222122112121121212212122122222221221221112222121112111111111211121112121122112112221121121111211122221211111111121122221111111212221122212222222212122221121211221111221222111121221222122212211122112221111122221211222112112212122212122111122122121211122112121121212111222112211111222211212211112211111212211121222112212212121212222121111111122212221121221112222122222212111221121112121222111212121112112121212222122111212221122221221222221222211222112111221222222112222112221221212122222222111221112111112112112211111211111221122221112212211111121222212212121121212211221112222111221122222212112221211211222222121222211211222212111122221211111121122111112212221122121121221221121112211212222112112212111212211122122211212221221112211112121122211121211211222111221222112121222212221121212212122222122111221121211212222112121121121112222221211121111211221221122122212211222122222212211121221112221121212211221221112222121221112111121111212211221111122212221212212212111222221112122112221122211211222122212212221222212112212111111121111221111112111111122211222212111211211122121122122211122212211112222221112221122222211121111121221111112212111122112212212121211112221211122122111121111211122111112222211112112122211221221121221211121112222111211211212121211112212122211211211121221112112222111222221122222121211222211221211112221221121211122222222212221111121221221221222112222212122222221211121211111221211221221112111221111111122221121212121211221221211112221121121121122122112112112121212111211222111121212121212111221221112211121112122222122222221211121211211121121211222222221122121112121111111212122212112222121112222122212212122121211222112121212112121121221111111211122121111222222212221211211221122111111112122121112212122221212112112211222221212211222121122212211121111112112111212111121222212122121222112212212122211112221121112121222221111222122122222221212222211122221212211211222221211211111111112112212121111112222212222121111111122221212121121112222121121211211112121122212112112121221121211211221212111211221111211111121211111222212222221121222221222112111112221222222121211221212111112212221111212211111112221212211221112122211121122212111121222122211112212122211112212222222122221121222111221212112212222221122211221112111121211222111211212221121222221122112122111112112111211222121212211111111211111222122222212212212222111122112212112112211111212221222111121212222211112111221122211221222211112111221222112112112211122222111111122122221211212111121222222212121121111221221112211212121121222222122211122212212221221221121222212211121112121222122222122222121211212211221222122121112211122122121212211122222122212111211211222121212212112222122211112212111222111121221112112212221211122122221122111222111122221122221221212112211212121222211121122121111212121111222212222121211111221121211222122211221211122211121222112212121221221211111122211111211111121221212212121121222121212112212221112112211212221212112122212111112121211121122211212221221222112112222221211211212212122122111211222122222212112111221221112122121222222122111211112122122121121122121112212112122222112222112222121121112211111211111112112221222121112122111212122122222122111111112122221121111111121222111122112211121111112121111212221121111121112211212212211111222121121212112212211222211112112122121112221121211212222111112121112111211122121121212112212122222211121121112222122222221122112212222221112111111122122122222211121112122121212121121121212112121211121222112221122112121112221221212112112111212222221121112122111212121221221111222222122212212122112122211221211112111221212111122211221122122122122121121221222122111211211211111221221111222122112121212122222111122211211212222112222121121212121222122212121121212112212121211112212111121122122111122222211112121121221211121222112212112221211121221221221121122122121112221211221122222112221211212221211121222111222222222212212122211111112211111221111211211112122121121112222221211121112211221122211222112121112221211211121111111121222122212221222222212211221111111121122211121121211212221121211121222112112111111122112212222222211211222222112111112211112111222111122111222222221222121111212111211112222222221112122121212111212222221221122112122112121211222122222221121221212111212112221122222121222212212121211122121212121212121222122221122212121122112222211212112212122222211111112211121222122211211211121222212121212222111212222111111111221211212211112121211211212112122122112221112122112212122122221222221111122211221211221122121221111121222121112221211222211112212111122121211221122211212121122112211211112212222111112122112111111221212221222221121111121211211222112112212222121111212122211121221211222112121111221221112221122221122122112121112211112112121111122222212221211121112111111112121111122222221211111111221111122221112121111211121112212112221112122122122222111221211111121221121111121222211122111222112111222212111122222221122222221211121222221112121111222211221222122122121122222122222221211211121222111111111112122212222112111222121222122122222112212211122121212112222212122111211121112221211111211111121112221111122211211212121112211122222111221222221212212122212221112111112112121222112211111212122122121211212122222121222221212221121112211222111222221212122221221212121122221121221211111111222212212121112221122112112111222122121222122121111222222211222221122221212221122121111112121212211112122212221111212111221121211211212112211222111211211212222222212222212211112122111212222112122222112222212211212122212221112111122121111212121222122221112112222221211222122121221121222122111211122122212112221221121112122112111122211212121111112222222111112112122222111112212211122221122222222122221111212112222222212112212121121121122222122122121211121222122111122211211112112212111111111111222122222121211121122121112211222122112222111222222121222222112122121111212122212222111222222212122212222212112122121122122221122221221221211121111112121212111221212211112121112122222211212212112211222212122222121212222122212221112222221212212212112221221122121121211122112122211112112211112222121122112121212222112122112122212221122122122112222112212212221121221212212122222121121222212221211222111111212212222211122222121112112222111121222221222222112112112122112121212211111121122222222212222122212211121221222121111121212221122222221211222211211222222212122121222122122222222221122221212121112222211211121122122222221111211121112111221121222211222212212212212212211212222121112222112111222222111122122212112111111212222112211121221212122121211111121112222211211222212222222222212212211212222212212221122222212212221111212212211112221121222122212121121121111212111212212212111212111212211112212122211122122211111211111221211121122211222221111212222121122221111212121111121112121222221211212112121112221112211222121122121211211212221122111121122221122121122112212111121121111122122221111121211222111222122221122122212112212222211212112111211112211112211221122112211212111121121121122112111112221112112121212122112212212212121211122211112222211111121112112121111121122111221222111221222111212122121211112222122112112111211221222221221212212212211222121211221211111211111211221212221112121211222122212121112212221111211121112112122111221121222212221222122121122221221221212221111122111212221221112111211121222121212222211222121211212121221221211222221121111111211212211111122211222122222112222222221122211211212122121111221121212112122111111211112212221212212122112212221122121211122222221112122221111222112212111122111222121111122122211212122212121222221211111122111122121221212112212212111212212122222211121112112121211222211211121112111211111121122111221111212221121121111212222122111121221112112221121212221222221222221111222112122121112122112111111122212221111111212111211211111222111111212112221211222111212121122221121112111221221112112122121212121121212122121111111121211111211222121211112112112211112122121211222121211111112221211111121112212221122222121122122211121211212221211221222221212212122221112222121211121211122211122211121111212122212112221222111211121121122211121122112211211222112121122121121121212222121112212111222212212222111122212211222221212221211222222212221211121211112222222111222211121111212122221121221122222221222111212221222122121211111222112212222222112112112221221121122211112112221122121211121212122211122221222111211112211212112211211122222122112221221121111211121222221212211122222122122122122222122211212122122222222121212222212221122211122211122111221211221111122222111111211212111122121222212212122122211121112112111111121221121122211222212211111122222122112112121211212222221222121221121212212122112212221121221211211211111121112122222121112112211222222222211112221222212212112111222221122222111122212221221222121212121212111222111112211222211111112211211121222212121121221122121111122121221121222211212111212112211122121212121121221111222121111122222112221121122112111111111222212112222111222212111122211222122222212212211222211121111122212112112222121221211212112222211221211212121111211211212111111212121111222212111212221211111112122211221211122212112211122111222222111222122112111111122222211221212111211121121121112212111222111111122211112221222211211212212122222211122121212112122222212222212121112221111111112212112112221112222212111111212212121222221121222122112211222122212212112212212212212122111211222221111211212122122121112221121221211211112112211112222221121121212221112111122222111112212122222121112221211111121122211222122222122221111222121212211211121211212122111222112111111112221211121111212212212122112211111122122112112111222111211212122112221111212221222112111122222111121112121121112211122121222111112221222112121121211212122111121111222121212221112122221222122221121221221111222122112122112121212121121212221211221212221121212212112221222221112112221121221211111112211222111111111112211112112121122222211211221222221211111111122211221111122221212211212111122111122121212212211222212122111211122212121212222211122122212112111121121211211212212222111222122121122111111221112111211212121211122211211211112112221211222221211111121111111211211122222222212221111121121211122111222221221222212222122222221211211212112111122122122211121212221212221211211121121122121111122121212112221111112111112221122211121121222122112111221221222111222112122212211121111111111122112221122111221211122212222222222221221122121112111211221211121212121222121111211221222212112112122122122121222121112211121122212221111112212111212121221222222222121121211111111122112112121221112121111212112211122122121221122112122121211112212121221221121211211111221112222211121112212122122121211212112222121212221121211112111121121212222121111121222122112212122211121112121212112221112111222111222121112212121212112211211221211211222112221111222221222121221221111211221112212211121212222112222212121111122222111212111121212111111121221212112122211212221212212111112112211212112221222211211111221212111121211211122211111112122222222211211212121112222112212212221211222111221212122222211121211211212112112211222122211112211121211222212112222111222221121222211111112221211222221121111111221111122221222212211122121211111212211121222112212221121112212222212211211221121122111211222222211222112211111212111112121211221212111122122121222212122122221212112221121211221112222122121211222221112121111122221212122112111112121212212112122212122122211212121222112111211111121212112222212221122121121121112211112222122121211221222122111222212212111122112222122212211112121121121112221112111211222221221121111112112211122212212221121121211121111222112222112212221112221211112121212221111122221211111221122121121112112121111212111121121112222121111112112222112221122111212212211122122221222111222211221111112212112112112211122112112212111112211122112122121111212112221211122222211222122121111212221211122221112221212222221111122221211122111221212121222222122211112122222121122211212221121222212121111112222211211212221212222211111112122212221221211211221222222121111112221122211212121121211112211111211121222112111212121111212121211221112212221221212221122122222111222212121121122122111211222112121121112211121112111122122222122121121111111221211111212122211222112211122222222122221222211222112122211111112221111112122222111112112112111121111211212112121221211222221221122212222111121111211221211211222121222112121122112212211121222112112211212212112121212212122122211112211122211122212211121221211122211222122221111212212212221121121211211112111111121212121121211121212112112111222212211211122122221211112221211112112112112121122121111112121211111212112212121111111111121111122121221212211122222112222122122221121221221221222121211221212222122212112111111212121122112211112122211211111122222121221221121221211121112122122121122221212222122222211112212122112112211112112222222221122112221122111212112112112121211211122212212221212212222112222121211222112212211212111112121111122221212112221221112211222222222221112221112222212111212211122212222211122122112112121111222211222222121211221111112111221212122122122222111111111121211112211121121122221222221212111121112111222222121212221111211121122111212121122121211211222122122121112212221121111222121112111122221111111212221111111222221222222111122211212111222111221111111121221211121122121111111111112212112222211111221112121222212221121211211222121222121221112211122222121212211112212122111122222121211211221211112112111212121122212121112211122122111211211112211112222211221212111212212211212212211212222222121121111112111121221222121221122211122222211212222121212122122212212112121111111211221112212111221122121121211122122122211112222222212122211212112121221221111221111211122121222221211221212212221112211111111112121111111122121211122112212211112212221211122222221111112122222111122112122121211111112111121122111211221122221222121112121212122122211122212211222221211212212121122112121111212122222112121111111111122211112112111121211122122121112211112121222211221112121112221211212112122112122112211122221121221221221111112122212122221121112212212222221221111122212222211112221221212122111211212111111112212111122112211211222111121112111222122111211111121111221212211112222221221112122122111212122111122112112211222222121221211111121121122122122111221212122122211112121221122111211121211211122211111212121212222121112122111121111121112211121122221222121221111211211112111211111121221221121221122222112211121121221212121221222212221211222122112222121112121212122122222222221111221222212121122212211212112111222222111112122211211212211221222121212221121221122122221211112122111212111121111111122112121111211222221222111222211211212112121211211222121121112112211211211111212221222122212221122211111222122212122122212122121121121222211122211122212111222111122212121212111212222121222222222222212111122211211221211211121222222222222121211211111221112211112211212122112222221112221121211121211212211212212121211222221212211212121212121111122121221111122111221112222111211222222211221111211222221221221112221212221122111211111112122122221221112222211112111222121221222211111121111211222112221211121212222112112121221222121222222121122212222111222212112211221122111112111122211122222221212211112221222122111221222122211222211221222211221221112211212121212111212222221122211222121121122221211221112122222211112211121221112122121221112212221222121122212111112121211221122222222222111112221111211122121212212212122222211221121121221211111212222121111121212211121121112222112212211121221121122112121212111221112221221212221222211122111211212222222112122121211112212111122112122121111221112111222221211111221212122121121112112222222111112222121112212112212212221111111111112212221212122112121222111221122221111212122112222222122122222212221212221211211121111212112122211212121212211212121212121212222121211222122111221122222121121211221112211212221222211121112111112121112121122112222221222221121212122112221112221111212121112112111111121221221222121211222211121122121121112111111111222112222221122222111221221122221121212222212121112122211112222222111122212222112122122111222222121221212112221122212112121112211111221222112221121211222221221112111122212111122222221112211221122112211121121221221121121221212112212111222121122112211112121211221122211121222211112212222121111122211222212212111111211222211111212212122222111211111112122211212121112222111221211212111221122122221211211111121112212211211221112212121222111221121122212212122111221122212121122122221121211222111211222222221212121111211111121121122122111111221221111212221212121212112221121112222121222211112121222112112111112122212211221121122111212121222122121212121122221121112121121221211122112112111121212221111122221221221221221211122121222111121221221122212111212212211222221111212212211121112221221212211212211222121121112122111111211122221212222221121121122212211221112111112221221222222112111121112122111222222222111212211222222122112222121222122222221222211122222212111211221111121111112222222222222112222122222211221212111121122212121212121121121121222112121212222222111221212111212112221111122211121221121211111111211211121112121222122121111112221212221111121111112211212221212112212111221211212111112111122222112221111221212121112211221111121121221121122222111121222211222222112122111212112122212212122111211111112122111121111121222121221111111112122212222121211121212121212121221221212111111122121221111121112222211122111122212111112212121121121221222121111122121121121212112112121222221111111212222221121122122111221211122111221112212221121112112121122221221212212211122122112221222221122221122111111222212112211222112122221121212212222211112122212211221222112121112211111112211121121112212121121222222121222111211112222222221112121112221121112121122112211211222111112122111222212111112121222112212122121111111122122111222211121112112221212211212112222222211222112222222111121122112122112212112122122222122112121111112112221222221121122122221221121222212122222112111121111121212112221122212112112221221121221112111121111221211122221121112212222222212222222122111122111112121112122211221112211122111222222222111111122112121112222111112122121121222222211111222111221122211211222111221211121211121121211112111121111211121121112221112112211211121122221221111211212111221211211211221212111112111222112212122122111221112111222122222212122121211111121221112222212211222111111121212211121212221112211112111221111222221221111211222122212222121221121122121211122211221122212112111122122211112122111112111112211221122121121121212211111211222211221211121122111211212222121122212121222111211121222121222112111121212121111121212221121211211112111221112211121222112221111112222112112222212111111211212121112212111122221112212212211122212112122221122222211111121122112212211122122212221212121221211121122211221111221112121121211211122122112122211121211211211122121111211212112212121121111121221122212212111112222122212222222111222121211222212222111221212121222211211111212122211111121212112211111121211121222112211221122112221122222112222212212121211122111212121221211222111211121212222211221221222122112111211111122222211112212121121122121121111122221112211111111222111221111122212111122211221212112222211122222212212212222222122222222111212212221221222111222221221122221121121111122222211122211221112121211112122112112111112112112222222122221122221111112211212121121122122221112222121222211211221112211121122122221121111221121221112212212222211212222122111112122121111221221212212112122111222212111211212211112122111222112212212111111221211222112121112112222211222111212112121212122112122112122112122112221112221121112222211112111211122212122212222112121111112112211211111121221111111212122112111111222212122211212212221112221122221121111212221112112111222112212212211122221222211221122211111121122221222221221222222112112112111221221221112211222121112112221222121111221111221111122122221221221111212121222222121211112222222112211111211211222111221211212222212221112121122112112222212111111111222121112221121122222211212112221111211121211121122111122122121112111221221211212212222222221211212122111112112121222212222211211221111122121111121222121111211212222112121212221121111222211211222122221221212122212212112221222212212122112112221221212122122112222212211212112211112222212111212121211121212111212221111211121221122112211222112112212122121211211211222211111121122121111212221221122112211121122222122111112112221121122211221122122111222122211212212212212112221221221222111212122222212211212112212121121111111121112112212212222212211112111211121222112122122211121221122122121211211111121111111221221222221221211121212222122121111112121122221121222222122112121212121211222211121221112222212121221212111111222212222122212222212122122222221122122121211122212222111221122111222122111112122211212221222222112122111212221111222221222121211122211122221221221211211212211222121221211122212212221211111112121112211111221121112111211111212121212122112212111212121221121211111212221222221122111222112211221211122222222121112122212111211212112122112111211111121122112221222122212222222221221111112221122112122122211211121221111121112121221221122221121111221121211121211221121211221212221121211212121212121122111121212111212122112211211112222112121211111211212222122212112221222112111121212121121222111221121222211221221121122222221211211121121212121112112212212212111112221221122211211111112221212221121212222212221121111112121221121112211222221212221112122122111112211122212112122222111222111212211121121121122212111212212212221221221211212221112211211211222211122112122111122221122111212221211222222211222221211121222222211112212121122211212222212121112112122122221211121222222212112121221122212221212111122112212111222112222221211222221122212222211211221111221212121112221121211222211121211122121122111122121212221121212111212222122212222212222222111111121211211222112212211111122222212122222122212111122211122212222221212121122111122112121111111211221211121221221111212222111111111211221122221221222112112211222121122112212122211222221221212221121222122112222221122121211112122112212112111112211111112211122211212112112111212211112111112122121121121222221221111221221112122211111111111111222111211222121111222121222222111212211112222222211212111221212211211112221211211211112222111222111211221121122112221211222212212221111112221111122112222122221111111222122221212222122112111212212112222121222212212211212222122212122222112111121122221212112121112122121221212111211221222212121112222112222212222211121121111222222211221111212211221221221112222121211221212221111122212121221111211112122122211111211212212211112221221111111112111211221211212122112122212212111122122221211222121211222212111222111122121211112211212111111121212221211112222111212121122222222121122221221121122212121211211111211221121212212221111111121121121122111122112122211222222222111222121122121211222112211221222112112111212212112111111222112222121222212111222112111222222221221112122222111121222111111212121111212212221221221112212222212112212122221111111121222212212111212221222222211211112111221211112122221221111112222111221121122221112121212221221212222112122222111212112212212222211111111221121111212122221122211211121211122222212111112111122122112211221122212212121112212112112121122212212121121222121222122221122222111122121212212121222122112111112212222122211112112122212112121122222122121211222122222221222211221121212122122112222122212222222112212222121112222221222221121122212221122221111212121222111212221122111222112221121122121122211212211211211212111212221121121121222111121222212121222222222112222222112121211221112212221221111122121111211221122222122112111111211121222222121122211111221212112212121222222111222211121112121222222111111212111121221221121111122112222111112212212122121111212112211221111221122121111221211212221221212122211122222211122121121222222111222111211112211121121122122212111212221222111112222221112121212211122122212111112222221221222211112221112121211112222222212112121122121111211111211221222212222121112222211212222222121222221222121111222211221112121212212222122121222212111121222121222111212221222112121211221111121112112212112121121212111112122111211122212212211111222122222112121222121112112112112211111222111211122111111122111221222212212211121111221112221122211212122211222121122221121111212121112221121222222112221212211222121122211221112222121222211112112111121211211121121211211121121111112121221221222222112212211222211221222111222122222122111122122221222222111121111211211121112121212122221212122112212121121112112211121111221111221212112211212211211222122222212122221222211112111112112212112222222221121222222111212212112222122222111122122112222212221211212112111111111111211222111122121122111112122122112212212111122212212212212112111212121122122121211112222111212222221112212122121112212121112212111121222111122211212121211211111221111222212122212212221121212212211111121222112222111211112111111121112122222111222211222211111122222211212211111212122112221111212112212121212221211222112122112112121111221212222211122111121212112211221111121111221222111122112221111221122121221212211211122222122111211211221121212212211211122222112222122122211121211221122211212221122212212122121111211111122121222112121221221112112211221222221211222222212211121222121221121111212121222121112112211221111212212212211212122211122221211122121222111122222111221112121212222222122112112122111121121221212221121122112121121111111222121111121121222212212121222211121112122121111221222121222111221111122122222221212122122222112111212111111221122121221221121112212221222111222212221211211212122112111112122211122211111212211212221111121112121222211212212221221122211221211111122112211121212222122121122121121121111112212222211112111212211211111112122121211122211221221221211221121111121122122122222221221221212122112112212112212222112111222111122221222112112221211221211221112222121111121122222212211111111212112111222121222221222122222121111222212122211212111111122112122212121212212122211111122122211111222112211111221112222122221222122122221221222211112112111211111122122221112122222122211222221111121122222221111112122222112112111121121211122221122212122122112121111111222221112211112211122112212211212211111111121111122211211211122212221112221221111221221112222221111211112211122221212122112122212212222222222122222211222112212122211122211221212221211121111122211112111221212212112211121112121221221122212122221211211122122221212112122211212222121122121211111222211122212111111222222221121112221121112222122112221121212121212221122211111122212221111112221212121222212111111112111112222222222211111221221221112212121121121112111122212222222211222221211111121221122121121112221122222211221211211111122121121122122112211212222122222211121212122211112112211122121211122112112112121212112112122221111221212221221122221211122122112221222111111121112222211121112121212212112211221122211221121111211212222112122212121212121122221211111211111212212222212212211122121112212111221222121121221221112212222211222121122111221221112121221212112221111222121121121212122122111222121111121122222121112222211211112122122222111222111221221221212121111211221211111121221212222112122122122112121122122112112121121211222212212212122111222112111112121112111212121111212112212222211122212222221221122112212122112211212122122122222111122121222122122122211211212112212112212222212221111222111111212122111212112122122111112211221212121222211111212112221221121122222221212121112211111212112111112121222222111111121112212222121122212112222122121212111222122212112111211112221122211212112222121211111112112221122122111212221111122121211211111112111211211221112122222222121121212122211222121122112112212212212111122212222212122122111222111212122122211221122212211111222121221211121212222111212221112212212212211222121121212112122211221121112122111211221121211211212121122121121122111122211222121221212111221222221212111212222121221222111112221212112112122212221111222212212212112121122121122111212211222111222222112111122211112121122111122221221211222222211211122112111111121211111111121211221122221122112211211221212221211121211211211121112121111212221222121122221122221112121221121112112221222212211222222222222121222122211221222212112121122222112211121121111111112212221111111122222122112221212221221212212222221212212111211112122122121221121212222222221112111211122212222221121112122211211221222112112112121211122111111212211222122212221221222112212111111212121122111111122112111121222112112121221221121222121212211122211221111112221112112211222111212112222122221212121121221222112112121212121121212121122122112112221121222111111212112121222222212111121121111211222212121211222121122111211212122211122121112212112121221112222211112211211221221122121111212121121111211221121121221211122121122112212121112112111112211222212212122222121111221111122222211212221122221221111222121112111111122112121111221221221112121112211112212111111211121212211122112111222121211222122211212211112211211111222122212212111211222121222122212112112122212212122122222212122222212112211121222221211212121122112111212121211111122122222111112222212221222222122112212112222112122212121212112211211221111221221211211211221211111211222221221211211211211121121122111212122221111211111112111111122112221111121222122212122122212121212111111212122222211212222111212212212222112112221212122111122222222212222122221212121212212222212222211211222221222122112112112122111122111211221122122221111121121111221211111122121111111122122122212212222112221112221122122112221111121121122112221112122212121111112212221111122221112222111121222122121221112112122222222112211212212222122112112112211121222122211221112211212122211211121221212111222121221112212221112212112122221112222111222111222112211111222112211221221121121122221121211121121111121111111112211211112211122221112121122121112121212121212122221112212222111121212121222112221121122222211222111212122212122212121211221211212211112121122222212112112112222122222222112221222221212111122111222222122211211111211212122121211121111222211221112112122221211222222112211211221112212221112221121222222221221112211122221111111221221211212212222112122212121212112112111211111112221212121121112211112212111112122212122111112121221212122222122112211221212111122122221222112211212111211112122112122212111111121222212122112211211122211222111121111221212121212221212121121111211111111122121212121111222212122222111121211111112212211112211221111212112222222121211122221112221221211111221122222221121121212211121211122112111211221211222212221222212121222211212211111211111112121221121111121121121221211222121122121122122112221222112112122211112221222211211212211221112211111121121222111111122122221112111121222121111222211122111222221121221211212222221112121121121122122112112112212222122121222122121111111221212212222112212211221211122122222222122111221221212221121112112221122112212221222221211211211121212112122211212221221222122212122211212122111211112121212112222222221222222221221112212212111121212121111121211212111222122212221222212212211122221212111122222121211211112121122112112212112111212112112112121112111121222212112121221111212112112222212212212112111112111221121112121221221212112112112111112211211212222222121222212221211121112211122122112221111111221111211222122211221122111112121122122122122222211112211222211211112211211221211122122212211122212121212211222221222221112212222111211112212222111222221111211212122121111221121221122111211212111212221122111122112221121122221221221212211212222122111211112112112222222221121111111122122212111121221222112111112122121222121211211121121121111122221111111221112212122222111222211121111221112121111112122211222122212221222222211112212212222122121222122121111111122122122221222122121211122122112222111221112112122221211212222111221111111221221212122221112222221121211122212222112211112112121121111122122112222212121122112112211112211212112121121111212222212112121221121211222122112211121122122121111222221211111111222111111122211211212111221121212222122222112212111122221212222222222121122122211221111111121112112212222122112222211211121112111222121211221221222222212111122221112211112221222121212121122121211111222212212211121221112122221112221122121121112112111121221222211112222121222122211122112211112112122112121221112112112222211222212221211121222211121122121121222221211121121221112211212211112221112211221122221121221212111221212112122221212121222212112112211212222221222121112222222222221212111122111221111112222221111112212222212222211212111112212122221221222221222221121211111121221122112221221121221112221112122222221222111222212221211211212222211212112122221122122122222211212211222212121211222221212212221111211212121221111111122111121222121122211111211221112121121111221112222121221211222121211221211212211212121211122222122211122121111112121212212121221212121111122112121111221212221121121122222112122112221212222111221211122121222221121222122112221212221121122211212211212211222222121122222112212221121122111112211222112112211121121221211121121222111121121122212221211112122212222112112221212111211222212122212111212122221221111222212121222212122211111112212211212221121222121222122112211211211112111211111111211212212111222211212122112112212121212212122121121112222212121112121212212222211122112221212111221112212222222212222222121112121112122221111222122221121122212112111121212211111212211112221211112121212122121112211211121121222111122211222121212211122221212221211221221122112211122111211122121122222221122222212121221111112121112221212222222211112222111211122211111222122121122111221122211211211112222112211121222122122112122222221211212222221121112121111112221212222122112111121221211222112212111112122122221221112121212112121211121221221211112112122221122111111122121212112212212122212221112221112221122221212212221122111111221212111222211111121111222111112122111121112112221112212222221112122212112212222222212122211111212111111111111111112122111112221111221111122221122122221211212222211212212121122112212212221121121211112122111212212211121122112222222212211111212211111122222112222212111121211112122121221211111211112212211221112121212111121221111221212222211211111212121222211121111112222111212122122221121112122112122112221121112122121211221112122112111222112222221212212111211211221222211222121111111212122122111221112212111212111122122112222222211112221211212221111222221211112221111212111212212222122212222121212211121222121112112221211112221121112222222212212222112222121112212112121211121222211112212222212122212212212111121211112222121112111112122122221121121112112121111112121111212111211212121211122211222211122121112221221212121121122111122112122112121221111222122122222222122221111221221221112221122122211121212211211211111211211122111221121212112221222222112122111122111221212221211221122222112211111211212111121111211211212221122122112211222211121111211112111122121122122221122121221121212221112121221212121112121211121222112121122211212212112121212221222211212221212122122211221221212222212212121121221121211112211211222212122111112212222212112122121212212211222222212111122122121211112211211222111212221112212211122121111121212121211222221111222212211212112221221122112211122221211222212112121122222112122222122221212111212212221111211211111211212212221221212212221222221211111112211112212212121111221212222222121122212211212221221211122221222221222122122222111111111212112221222212121221221122122222211111111222112122112111112112112221222111122111211111121112121122111222222122222211222112112222122211112111221121111222112112111112222121111222222212221111221211121212121221111212112121112221222112122222222112221122211222221221121221111211112122221212112211211112222111121211122112111122222122121222112112212112221211111112222112211122211221112221222122122121111121222112222112122211212221221122122222211112221211212211112221121121221222122121212212112222122122221111221121112212212221112121212211211111121221221121212112111211222121121221121221222121221122221221111121122111112111211212111121122221212112111122222212111222221221122112122111212221111121121221122221212211121211121222121121211111111212211222211211111111112212222111211121212122122121222211112121212121222211222221111111111212211222211112212221211221221222121111221121211112121121121212111212111122211211222121222121122221222111211111121222211221221211212212221112111121221222222122222222222112212211212221221111121221212212122221222122212211121112211122112211112112111121121112221221121121111211221112211221211121211111221212212121121112112111121121222212122122122221122111212222222212212212222211221221121121122111221111221222222222122212211212122211211211211122212212111211212221221112111121221121211221111111111122122221222222212212111111111222211122211211121122211211221121121212221111211112121111212212111111111121112221212121112121222122221212121212212222212221122121221212122211122212212122211122112111211111211221222222221221111222111121211121121222112212121111211212121122212122222111221222222221222112112111122222221121212221111112221221221111111121222121122111211122221121221222211211112112122112112211222112121122221121212112111221111221211111212222111121122212112122121112111222221121122221111221221221222121111121221112122211212222211212111211121222111112111111121221211211122122211121111122111222211222122222212112211111222211122222211111121121221111222121211212211222222221111121122222211221211122111122221212112112211111122112221111212112211222112222122212122112122111111212111222221212112112112211122211221111212121221121122212222212212212122212211122222222111112212112212211121221121212222211212112112211221112122211222211211112211111211111222212121221212212122212121111112212112211122221221112221221122222112222111111112122122221222122111121111112222121212121112121122122122121222212212221212212121211122222212111221112211211221212211212122122121112112121222211121222122111111112211112122122221212212112112221211221211211221221121212122111112222211222212211121121112112122112211122222112111212122222222212122111212222121212211212121212211222211112111122212222121122121222111112112122122212212221111222221211222121111211112211122222222222222111221111122222122212211121121221111121111221121122211211111221212222121212222121122221212221111222222122211222122212112121211221211221211222121221211111211112121121212222122112121121121121111221121121112111112111212111211122222121112222211212221211121122221121222211212112121221222212211122111121111121121212112112111212212111111121212112221121221112122122121112222221111111221222211221121222122121212221112212221121121121212212121122112121211112112121221121111222121121122111212122111121112121221122221121111222111212122212212221122211111221112112121122211212222211221222122211212112121222112221122112121121111211122212111112222122211111222122122122212212122212221222211212122112221221221212221211111112121111211212211221222111111121221122111221221222222222121111221221112112211211221222221122222221212122121211111121122112212111221122211121112221222112122121122122122211121121211212212111211122111112121111221211212212111122122112111222111112121121211221111221112121212222121212122222111212121211111222112222211221222211221111112212121212111112111212211112212122221112212112112221121111122112111211212221222211221221122122221111221122111211111222121122122211111222222211112122112122211121122112222121212212211122121121111112221121211122222211121222112212121122111211222222122211112112111111121121221112221122211211111211221111122111211221112211122122122121122212212122221122122222112221222112222222122111221111111121211222212122122221211111111111121212112212122121112112211122222211212112221221221111112212112121222222121221122211212121111222221222221111112212122121211121122211111221211111122211121221111122111221222111212121121111111222112121122121222112211222122121111222112121211221112211222212122121122211121212222212212112212211121221222212221211112222221122112212222111112122222221211222112222221112121112212122122222121222221211222122221222121211211211112221111221222111121222112121212111121221112112221221222221111212222211222121212221222111112212111112111211212221222211111121112112221212112221222122121112211221221221122221121112221212221111121121111121212212212211122111221221211122111211221211222121211221222222211221121221111222121211211121222222221111121212121222111211211111222122112111212121211122112121212212212121121221222222111222222212121112121221212212121121212211222111212112211112211122222121211122122221111211121211211111212112221222212112222212111112111111122111121112222211111211212121111222221121211111122111122211111121221122211222211211211112211221221111222122122221112211121212211222212111222121212112112211122121212122121121112112112222221111221112122111221211111222111211121112211211212211222122122121211112221222112221211112122211211222211112121221112111221212221221221112212112211212121221111211211222122122111211121122111111111112212212111221112111121112111112111221211211122221122222122121122211211121212211212122112121121221221222211222221211112212112121112122221111211212212121111121221222221122222112222222111121111221111111121222112112112221111221222211222212112111212121121212211212221221211121111121111222121111211211112111211112222222111122112221212112122222221221121222212222112112222111112222222211112221221112112111221211112211221112111212111112221212212111212221222121212121222211112112221122112212111112111212111222212222211221212111221222121122211212122122111221212122222121122221121222112122222221221221222211212221122122121111222112112112222222222222212122211111221111122221211112121221112222212121111222121211111221121111122211221222221122121122211221122122121211221221221211111112112111111112111111212122212222222111112222111222121121122222212221212212212222211212121212112221122111112111122122211221221121111112211112221112212212122212112211212121112111121121112211112221112111112221121222122212112212212122111211111111121222121211122212221211221121121122211121121121121211112122111122211221212221111221222121112112212111212212211112211122112122122121212121222111222122111222122111221121111122122122111112111111221111222121222111122112111221112122211122212221221121111221222122121112121122212211112112122222211211222221121122212211121212222221112122121222222112222111121121122122112112211112112122222212111112122122121121122221211122212221122222121221112211111121111122221122121222211121112112111221122121221221122111122211112122111212212111112221112221212221122222111211121121111211122211212122212212111112112121211222221221221112122121211212122122211221212222211211222121122111122212212122121112121222112212111212111111211112221111222111121211222211112111222111111122222211121212211111222122111211112122111112222222211221111222221221222112121111211212111111111112122112222212222122222211121212212121121222211122211222211212122122222212222112112211222121112121221211222112222112112122111222111112112122222211111121122222111222121221211211221212121212222212211212221121121122122111121121211211122222211222121222122121211112121122122222212121222121211212222111112112122111112111122212221112221212212111222221122111112111111211212121221212211222211121112111122111111222221211221211122111121222212211112212212112212222222222221221112211221221222122111112111111221212111121121221222112121112121111112212112111122211221111211222121211122112122221222122212221121121222221221222222111112122111121111121121112222122222222222121112212121211111121122111121121212111122111112122211211222121221112222112112212211121211221221112121122221222211111111221222212222222111222221122212221111222211221221111121111122221222211112222221212222211112222111221112212212222111221212121112212121112211211111222222112112211221122121121111122222211122211111211211221221121121112212212121121112212221211222121211122221121211222122222121222121222211221122122222222212122222211211122212121212212111112221211221121121211212121222212112221222111212122121221111122222221211211212111111112112121221121212122221211211121121212211121211111212211121111121122212122211112222122222121122121121221211111222221212212221122222221221212222212211212221111112111212121221221112121221211211221121221222121221212222121121222221122112221222211222221221121121121112111111222211221121111211121212111212112122122212222112112112221111111112121121121212212212121121111222211121121122212112221112212222222222212122222211111211111121222111222121121222221222212111112211111121221221211111211112112221121121211112221121221111122221211221121122221112121222221222212212222221222221221222121221211222222121212212111212112122221211112211222111221121211221222222111112211121122221222112121222211111122112111221121122111122212112112211122121222222212122112112112222122222122212212121212112211111221111111221221222221222122122221221111111212112121211221112111212212111122112222112111222121122211121112122121212111121111212221121222121111122112122211121122121122122112121211212121212222122211212122121122221111111222211211122121211121212221122122221212222211212211222211212222121122112211222112111221111111111221222212211221222111212111122122222212122111122221211112121222221111211222111111121112112221111222222112122121221111221112121221111122211111222212112111112212122222212222111211122221222211221222212122112122221212112222211221212222211111122222111211112212112121112111211222221121112211222122111122221222212111111111211111111222221121211111112212112111211221111222211112211212212212212111112211111112122222122122222222112212212121211211221212211112112121212122222221221111212221111112112211122112121111211122122212211211211112221112122111122212211212221111121222211221112211111211121121222221111221112121111122112112122212211111212112121121212122121222211112211221222122212121111122222221212211112221221121221112212212121112111222122211211222122212222222111221121221112121222121112111111122221121112111211211221122222222121111111222121211121121111221211212111111121221221112122121221222221121221121222212121121122212212111121211111211122221211112222121121212111122221122221212212111121112221111211112111122221111121221122221212211122211221121121121212122212221111111211122122221212121121222111221111121221211122221222112221121221221112122212121121112222221111211112222122211122221211112111222111121111121121111211121121111112221112121221222211121111211111212212221221111222211122112121122122121222121111122122121221222112111211212111221212211122222212121212212121111112111121111221112111212222221221111112221221221222212122112221121211121212121112122111111221212211222221222222221112112221222221212112112212111112211122211222212211222122222212222222221112212211111121121111212111121222111221121221212111122212122221122112111212221222211121111212212212121221112122212211211112221212221211111111222122112211222211122211111112211121212212111212212122122221122222112122122111211212122111112211111112222121111212211111111122211122121222222112222222222222221211211221211222212221211121211212212222211112111211212211112122222112222212112111122112212122122112111222212111111122221111112111212222111221111211111221121212111222212121212122112221112211212112221111112211121112221211212221111222221111211111211211111222121121221212211121211121222122212121222121112211222222122122221111222121211122222122222122122221211212111221212122221212121222122211112211221222212122222121111211122222112121112211122121122112212122212112111222112222111221112121122112211122211222121121112212212112222121112122122111112222121111211112211111122212221121121112211112121122111221211111212222112112222111212121221221111121122112112211121221122122222222212111212211121111221111221121221221211222221112122212222221112111211212121221112121211211122221112121122221112211222122211122112222221211221222221121111222112222211111212222222111212222222121221212211122211112211122221112121122212221122121121212122111211212212212212222122111221221221221222111112122121121112121221211121211111111221221222122211112221121221221111111211211211212122121221221211111112122221212212122111212212212211121111211111221111212111212122221121211112112221112212212212212111212212112122121121112122212111211212111221112111211121221212221111221212121112121211222122111112222112122211222121222112121122221212122121211212122212121121121122212222212121211212222212222222122221122212112211211112212211211121112221112211211212211111212212212111122222122222111212122112211222122212122212122111222112221212221221122122211222211222212222222222211212211121222121221221221111222111222211211111111212111111211211121121112121111222222211112122121111111121111121111222122111122222211222221112112222121222211221222112121222121122111112212122112222121211221112212212122211211111122122222111122211211112122111212211211222121121112121112112222122211211112222112221112121112111222222212111112121122221121121122111222112222222211122112212112111122221122222121221122221222212212121221121121222221111111112111112222111121212212121122211122221212212121212222111112122221221121211211121122111211121222112221221211221221221212112121222221211121112122122222111221222211111221122112212121222112121111112112212112212122221212121222122122111121221112211211222122212111122122122221122221122211122121122222222121221212211211211221211121211222221221111111221222221122122221121112121122122112221211221221112111121112222121111111112112211111212121222211222222111211111221112212112112221212122212212211222122212111112111222211222212221221111111121221212221221221121221111122221222111221122212111112112221112121221212111212111122111111121221111222222222111111111122112111222112221112221121122121121112222212112221222112112222122211121212111112112222111221211211112221221122211211111221112111211121121121212111112212222121111212212212222121222111222122222221121111211211221211121112211221111221121112111112222121112121221222211122222212121211111111122112221211212111112111121221121121222222122112122122121211122111112212222111112112211221222111112212122112222122212222112112112122211122111111211222222122211221221221221111222121112211222112222211121121222112121122221221211221112221212211121121222112111121211222121211121211112122222222121221222112222112222112221221121211112111221222121111121221111121222211211121112212221212121211121211122111122112221212111222221111211112211222121222212222111222111112111211222221221121122112122111111212211222222212111212121111112221212221122211222221122122221121212222211222212121211121211212212122122211112221222122212111221222121212121122121112121112122111212221221211112212121121111121222222222112111212222121122112211112121121211121221222122111222221121221212212211121212221122111211112122212222112222112121121221211222222111121212222111212121111122112111211122221111211211122112212111211222112112111121121221111111111221112221121121111212122122221112212211212121112211121111122122122122121121222222122211111122221112221121221222212112221222111122222221112122112212112212122112112221221111121112222221122212211222221221111222122221122121221212222212212111121121221111121211121221221112121122221221122112212122212212212221222221212121112112211222222121112121111222122122112111211212111122222212222121122212222121121212122122221212212211122112122222221111112211221122221112222121121111221212221221111211221222112111222111122221121211222112211212122211122222211122121221122111221111112212122111121211221112122212211222211122212221212111112121121221212112222122221121222222212121222211211111222111222122212112121221221221122211122112112121222222111122212222112112121112221121222212221122122111222221122122112111111222122112112222122122111111211112212212212122211111112211222211112211222112112112212121212211221222122221211221211111222221112221112112121212111211222211111121121221222212112221122111221122112111222111222111221121221121111111122112112121111111112212221212221222211221122222111121211111122221212121221122222211211212121112122212212211121112212222122211122212222121222212211212122111111211112221111212221122111222212121211122211222221211121212121111112222121122121121211211121112111222111211221122121222122121112122222222211121222112222222222122211121111221111211222122222112122111122221121212122222222121211111121112212122112221221221111112122121211121212122221112121222212222211222111212212221112222112222211222122221222111111222112122122121121112222121221212222121111122121121122111122122121222222121111112211211211221121122111121122211122222212222121122212221221222121221111211211211222212222221221211121211222122212112221222212212112221222212212222222121212112221211122212111211112121212121112121112122222121121212211211212212121222122112112111122112112222122112112211122221212121122222122211221221212111221212112211122121221112111211111121222212222222112211221212222212112112111112211112221211121112222122221222211121221211221121222111222212121111111121222222221212121112212111112222212222222122222221112112212212212211212212122121121111211121122211121112111112122211211121122111111211112221122212112112122121222221111222121122122122212211121111221112222211111121121112212211122112221221122211111222212112211122221121212121122222112122121121121121211112111212121212112121112211111222221122122222112112112212211112221221221121121112111122112211122222212112112211222221111221221122212221111111112112111221111211112121111121222212212122121211212211121111221222211221112222111221212212112212112111212222211111112211221121211122222211121122122121212122111211212112222111112212222122222111212221112121212111222112111222222112222221121212222121122211222121222122122121111122122111222222222211122212222111111122212221211212121212111111222212112212122222122111221121211222112221221112211121212211121211222111222211211121211211111211211111221111122121222221221112221221111111111222211221222212212111111212211122122121121112222221111211221221212112122221111222111221222111121222221112212111212112111122212121212122211221211112221122221221212221222211221111121122112112221221122212221212221121112122122112211122112122211112222222121122212221212222112121112211122121122212121112122111212121222221212221122121122212211112112212222112112221111222112122211211121221121112221112221112222221221121212212121212112122222212121211211121212121122212211121211111221212112212121222122211111121212211122111222121121221222211112222212222121222222212222212212222122112122211222121212112212212112212122222222122122212111221212211112211121122111212112211211121111111222111112112122221121222121111222111222111211221221211121222212221222122112221211112222212212112122221112222112121121112221222112121221111111211222111221212211222221212211112211121111212111221111222122222221222112121222112221111212121212221212122111111222121221212222211112121122122221222212221221112222211211112222122111222111212221111212121212111122112122221121121112122222212212121121211121211222222222221221221211111112121112212112211211222122121221122121112121221211112111212212122111222222222121122111121112221222122121122121111111122221212121122111212111211212121121111221222122221221122222212112121111221112121211212122211222212111122111121221112111121222112211212211221222112221121221222112122211211221221122121221112212222211212212111122212122212222122122111122212212112221222221112111222121112112211222122122211211112122112211221112222112221211121221111122211211211221111121112221211122111221111212111111111121211212121212211111112111222121111111121211111222112221121111211121221212211221122121111112211121222122221212212121112121112212112112121111112122222121212212121111121111221222122122121112221221221122111122211112121211112112212122222122212121112121112122211222111122211112122221221212111111211111111112121222121121122211111112211211122121121221211221112122221221221112121212111112212212211122212122212221122112222111121112111112212221222222122221212121211221122221112212111121211211221221212112211112121211111212121112112221211121111122212112221212121211122112122222211221222112122211222122121212212121221121221211221112122121212121111221112212122211121112122112121112111112211122221211121121221111222222211222122221111211212221111222222222121121221211221221111122121222121222222212212222112121222212112222122221112112121211221222221211222221112211221111121212112122211222111222111112221222222121212212211112121112222222121211211111111222221212222222121121121211212222212112222122122212121211212121221122112121211221211221221211121222221222122121122222221211212221212111122222222221222111111122112221212221222112222111112222211211122121112211212121111112122121121121212121112112112211121222222211112221112111212222212111211112111211122121211121211111122222121221122112211221122112222121112122211221211111222122122221221112212222211122111211121222221112122112221222211212112111112121211111222121121112221111122121111112212222112221121212221222111222212122121221222112222211222112112112212121111111221112121121111222112221122122211211212112122211111221221111111122112212211221122222112221221222222222112212112121121122211211111212121221122121211122122221212111212212212121112111212222221222111211112212211121111212222111112112111211212211221221222122222222122221122111122122121112121121211111212222212221111221221211212112221221112112111211121111211111121222111121211121121222212212222111111121211121212221212111122221112211122221121121122212121122121122221112211121111212221112111121121122121211221211222122212212221112121122221221122211112111221121212121211112212221212211212212121212112221211222122212211222111111112212112221211121221122111121212221221122111121111222221122211211121122222211222121222111111211211121212222211112122111111221221121121212112112222111211221211112121112221221112121211122221221121211111112112211222121221111121211122121212211211112222222211112111221211221222221221111122111222122221211212221222211111111221222112212121112221211222221212211211111111122222222121111121111211112211111122122221111122122211112222221212121221121211222221112122222221112211212222221211112122111112212111122222122212112122111221111222111212122211121212121221112212122111221221111112221212221121111112111121112222112121111121111211211121121212222111112111221112122111211212211121111211121221221211122212212212121112122211212112122212221121121222222212222222112112122112221212211221222222211212122211112111221112121212212111112111112121222221221221212222122221222121221211211111221221222111111111211222111212122222222111222122121121111211111212211221112121111222121121111111112112222122211211122112121121221221221121111111111111121121121211121221211221222222122221222221122222111111221121121211221122121221121212112122121121212122211122111221222221121221121222222212122222122222212112221112211122122112112212112121122121222111212221211221122211112121111211212112211221121121122111211221212112111221221112222121121222122211121222112212112222122221112221221111222112111222122211122221211122111211222211212111112212122222112112111212212212212222221121211212211212111212111121221111111211122211112211112121221211111211222222221122122121221121222112212222121122122112211221221112221221121121122211222211221221212211111111121122212212112221122222111222221222112112122111221121111222122222121122121221121121211121111221222212121212122221122222212121221211221111212111122212112221212122222212212222111111221212211111211121111112121121111122111121222121111121121121111222121221212111122212222211111112122122112121111121221122122121122122121212212122221122211111121121111121112121121122122212111222221122111121212221111121112212212111112111221112111122222112111211222122121111222212222122212211212122211222121222221221121212222221222121121211122111222221121122211112111121121221222121121122121212111121121122112222112221212221222212211122222122122221112211211211122112112121121212222112111222221112112111212221122121221221122221211112121122222121122222111121122111212222212112122111112122211111112112121112212222121222121121212111121212211112211211212222221212121112212212211111112121221122112211221121211111212111212222221211121122222212121221211121212112211112121121121212121112212221122112211122212111111111111111222211121111112222212121221121221122122212222221112211121221111112221211112112111122221211212111121121112211121221122111111112112111211212111211221211211111122122121211122221221222122122111111122211122111222112121212122122222122111121221122112122111112122112121212121222121112221222211111112121121112111112212212121122222122122221221222112121111222122111121212122211122211121121111221222211211121121222121122211121222112121112212111111222212221121211221121121121221212222121222222111211222122222211222122122112112121122221222212121221221211221112212111122122111121212111211122222212212111212112212121121121121122121122121222221112121211121211221212222212222111121211212222121222222111112222222212212212221122222121111212222222121221111111222112112222122121212222211212211212222122222111121121222221122112121111121222211212121222112211212121211111121122211212111122112222212122112122222111222222121121112222121111211112211122111121112221111211122121111221211211221211122111221211111211122222122122222222111121211111112212211122112211121212112112122222221221112222121122222221222221111111221221122212211112111211122212222122122212111211111112122221212112112122221212222222221211222211211211112112212222121222121111121212112222222222222211111122211221121112211122121212112222221222122212112221222222121111221122221211111212111121211221221111221122111121211111222111111122111222112212211221212221212221222221221212221211212221121221222221121112212122222221222222212221121212111121222112211111211212122212112111222222212122211111111121122111121122122221222221211121222221222111221121211221122221211112221221222221121121221121221221212121122212112111121211121212211121122112222211122212112222212222222122221121221122221112212211212212121112211112222212221122212112112222211222121121112111111211111111111212121221121222221212121221122112112111221211221211212122222211122111222111111212112211112121212111112121112111222221112122221112121111222112211112122212111111121212211211121221122122111212211111211111122211212222121112121212212222122111222121122221111122212122221211211211121122112222221111122211122222111211212211121211212221111221112222212221222212111121221122222122112211121211121212122111211222221222122111111111211222112122211121122212212212121211212221121111121112222122221211122121112212112112121222212222121112112112121121122122121212211222221212112112222221112112212121122212122111111221121112121121212121112111211212112211112111212212221222112122212211222111121212212122121122122222222111121111221211212111212221222122222211121221122122122212222222112121221121212112221222212211111211222111122111111122112121221221212211222212112111211212211122221221112112221221221112111212212111112211221211112212112122212212211122222211222121111121211122121211122121212212221211221122211221211212122222221211221221121112221111211212211212121212111111112111122121221121122112122122111122212112111222112112212121221221111121112211111222111212222221112112221211112212212211222222122112112222221211221121121112222222212121222112211122211112222122211111121111112212112222211112121211212122221211221221211221111221211211122211111211112111111112122222221211221112111121122221212112222221211112211111122211111111212222221122121222212121112121212211122112222221112222212112112111122221221112112121222211221221122221212111221121211112222122221212222122122121111222111112221122222212121211121121112211121112111121111112221122222222222221112122212112121111222122111212111211111112122212222112111221111112122221111221121121111212112122222111122111111121212222222121121112211211212121211222211112211111122211112112111111211112112211212222122122121222112211212111212112122211222221221221222122212222222121122212221122212112111122122122122121222112112122121121212121211121111222212121121222121111111211222121221111211122111111111222211211222112112212212111112111212221111222222111112111122221122221111222221212222111112112211221222121211112211221211211122221121121211221121112111211211222221121211112122221212112211121121222221121212221111112221122211111221221222112121121121112221221211121212121212222112122122211211211121221111122212111112221121222122222222121222122112112212211122221122122222211221122222121212122111212211111211122212121211121212122221212122111121121212122221211211212121122222122212211211112221121211212122222121222121221222212112212212221211222212212121222111121221121122122212121111121222222212122112122211122221122211212221222112222121211221221111221121112211222121111111212221211121122222212221122211111122111121112112212112111211211221221222122112111212122222112221121221221122122121222211121211112211212211122222211122122121211122111111221122222122221212122211221211112122212211222221212111122121111121222222122221111211122222221112122111221211222212212111111121122222222221212221121221211111211112212222112112221122122211121212121222121112112122111122212212111221222222221221212111211121222222122212112222211122122111222121211111211122212122211111121122112222211121221211222221121221221121121111112112212112122222112121122212221111121122221212111212121222121212212211212111122122221112122111212221221122212211222121112112111211112222222122112122112112211111212221121121121122211222212212111112111212121211222221212212111111221212211112121111211112211222222221111122121211222112122212122112122112121111112121122111111212112121212221121212222122111121121222221111221212211121212112121112111221112121111222221211121111122221122221112222211221122221111112122221122222222111122211221211111222221212221111211112122122111121111121111121111212222222122211221211111221222212111122111222121212111222212112112122212122111112122212112222121211111112221111121112111212222111221122111222121112112122122222211121222211222212122121121111111111222221122221122111122112222122222121112221212222122222211111121211221221121111111111212112121222212122112212211222211221121111122122221112221221211111212122212121112122112222111212122112121122212221212122122112222221121221221122121221211211212111122121211112221111112211221121221122211221112221121221122111111212212221212121211222211112111122111221211221112221212121221111112211111221222122112211122112122221121221211111211221222112222122211212121121112122122212111121111122211111112212121122221111211122111222211212222111122112112121121212121111221222111111111112212222211221121222211122111221212121121122121111121211122121222111211222112212211121211111212122221211211212211222112212222121121111121112121121222111112112111122112221111212221222111121211121212121222222222222112111122111122212112111222121222222211212211111211211222212221222211212112111212121221212111211211211212112122122122221222222121112121222121221121222212122112112212222112211221112222111222112222112111212111221211121122122212112112122221221112211121122211111222212111222211111221222221212211121111121121212122122221122221211122221121211212222112121111111111112221111112221122122111122221221222212112221122121211221122211111221212212112122111122211211121121221212122211221112221111212212111111111121211211212112221211111211212211111221222121122122221212112121211111122212121221112122111112212211122222222211122211211211121211211111211212212112121212222222112221211121212121222222121121122112111111111112212111122211221212111211221111122111111111212121121111222221122221122122112121211212222112222211222212121212212211211121222112212222222211121122122221221122112211222211111221212211222122122122221222222112222222121211221222122221221221211112121111122221221121121211111112122122121222221212221121111221111221122121121121122221212112121212121221121122211111122111222222121112122212112122112211121211111122221112112211221111221211211121221212122111112112212112221221211222211212122121121122112221222122212122122211121111112221212112221112211222221222211122112122212221212222122112222121111212211111122111221122112211112112112212121221222121212212121111211111122211112222222221221212221222221112122212221111222121221121212222112222112221222111111111122212211212221112212222112122221211121221121111211111221211221111112122121121212211221211111212212122111112111212221111222112112121111112111211112211211212212221212111221221222221121222122212111112221212121212222112211222111222111112112112121112121222121111121211121221222211221112122211212112122212122111122121122222122121121212122222211212122211112211211121211121212222122211111221212211111121122121122221212212122212112121222212222122211121222222221222111212112222112212121211212221221122111222112121221122212221121222211111211122221111111122121112122122122222112222121221222121121122111121211122211211111211212221122111222112122212111122111221112211221212221211221122111122111211222121211211122222212221212211212122221122221212221122121212222121112212212212221212221222222221122122222112112122211111221221112111221212222111221212122211221211221212211112121211211112221222211211222221222222121222111221112121121111211221211121222222122212121211222112212122112112221212112121221122221221212122112222121211222212112121112121211211112122111221211211121121121222121122211121212112221111221211222111222111111112122122111222212122112221222211222221212211121122212112112222211212222111111211211221121211212211111122122212222111121212111222111111111212221111212211122221112221212111211121212121122122221222211112121212212212121112212122211211111122112121221212121112221111222121122211112211112111122211212111122211222211122212222211221222111121122121212111111111122222121121111212221222221221111111212211222121222222211211222221212211211112121122221221112211111111221122211121111212111111111122111112212211112112122211111221122111122212112211121212211111221221111212121212222122222112212222222211221211222112111111211112222112111212222211112221122221121121122211222222222221212122212111122222221122112222111122122222112112221111212212122121211212112211222212111121122121211122122221221211122222212212222111122221211112112112122111112221112221122221121222121111122222112211111111211121122111121212121122112221211121211221221121221121222121211221112221122111121111122211211122122121222112222121221111212212122111212112121111221121121222112112112122212121212211122222211122211211122212112121122211121121211211221221112121121111121221111112112112212111212222121212112111221212112212221122211211122211112122221112122211122211112222212222121121222222121221221222121121212221221212111222121112222222211112221221112111111222212221212122212221111211221212122111212211121111121122112222221112112221111121211211221112221121112121121212121112212111121222112221121222112222211112221111111122212112112121121121122211122112212112112212111122112112112112211111212111121122111122112121121121211222222112122222211111122112122222122111212112212212122111221121111222211221122221212121112222122212121122222122112222212221112111121212222112112222222121222111112111122212222112222121221112221121121221221221121112222221211212112212111112212212221121221111212121221111121222121212122121211112222112221111121221122122121211212121211121211112121222121121122112112122112112122221111122111122121121122212221211122221111221221122221222212212122211122122222221112121121212121122212112122122211112112121122212222122212112211221112221212111221211222221122112122222212111122221112122221122212211222121211222122121122212221112112212212111212211222211112111211221121112211211222112212222221111121211211211111221222212221222112211111112212211222221112211222121121222212111111122121222121122222122111212221222222122121221111112212112121111122122111121122212211121111212221122121112221111222112121112222211222222212111122211211222211212112111212121221122111211111112122111111122111121221121212221212211112212221112211212112211112122111211222112212112212212121112112122122112212122211221221112221221221212212212212111111212222111211222222221221122122221122212121112111121222111121112222211212122121111122121212112221122222212211221112111122222122112212111221211222111222211211111212121121122222221112111121111112122222112212111221222111122122111122112211121122222212122211111211121211112212122122212111111122111122111122122221121112211111122112222121111211211111122211111122111211121122211211212211211212112111121121221211122211122121221122212111112121122211111212222211211121111122121111121212221122112111222121212111222212222221112212222121221112111111211221121212121221112211212121112222112221222111122221211112212111212121221222211212112112221111121211221122121211211221111212221222222121121221222222121121111221221122112122121221212121121222222121211222112122212211121222222112222111121111211221121212111212221112122221122112121221221212222211221212222121122222212211122222212121121121112121121122112121111121211111112222221211121221112122111112212121211122212212222211222112221112121221121122121112211122112121112122112212211122111212212122212221122111111122212211111111212221112212122111111122211221212121211121211122212111211221222212111212221122122112212121121222122121111111122112122212111222111111212211111111112222121121122122112212121112222222222121222112111222122111211221212221212111112222112111112111212111111121212212112111222222121122211221122122211212121212221112112112122222122112212122212121111211221122222122111222221221111111211112121212112122211111111111212111221212211222222122221122112121211212212212121221122222122211122111111211121111221221112211222122221122222211121211111111121211112122112222222112121112222212111122222212112121221121221122211122122222122122221222211121221112211112212122121121211212112111122212221221121112111122121211122112212111211221121111212221122221212112221121122221121211222111121222121222122111212122122122222221222112111111112121222212111212221211221211111122212222121111212212112211211112121212222212212112221222121221111212221112221111212211212212222122211222111222112211121212222221211222111221122121211121112112122212121221212121212111212112221222211221211211211112221211122221122122222211112111212222221212211221221122221221122221212222211112221212211211121211112121121211212212122112211112112222211221221112222211111211212212122121122221112111111221221111111211112211111111121222122111121122122221221111222111121111211111221212222221112112221121122211111211111122222212112211112222121112112212122121121111111121111122112112111111211211212212111112222212221221122122221221222211221212121222122212111212111121212111111221112222112122211122222211211212221211121112211222121122112221222221221221222222211121111211122212121122121211222121111122221221111212222211211121111121222211112212121111122112122221221212121111111211212112221221111111122112112221112222221121211221111112112112112221212222222111221122121211121212212111211111111221222221221122212112221221222112222111221122112212121112112211212212212111212211221121122211221121121112211222111112221111222121111212222122111122121212222121111111211121111122222112121221221211211122221111222222121111111122111221222212211211221121212221222122121111122212212222121111221121112212121222212212211211122112122221211212112111211211122122111211111111212221211211221212122212112221211222221212111111222211112111112121111221222211111111122111111222222212112112221111121122211111221211222222122112112121221122121211121211121222222121221111112121121222221211222222112122212212211221211122211112111122222221222112122111111112112221121111121111122212112211211122211211211212112112211112212221122121112122111222221212212122121212111222211212121212111121222122222222211221221211212221222212211222121211111122212221111212111221112221111212222221212221222121211122221121112211121221211112221122122211212112112211112111111111122111122112222221122221221122211212122121121222222211111222122111222112211111211221112222222111111112212222122121211211111221211111212111122121211212222112122111121121111211211212122221221221122111111211222212211221211221122111111121121222222211211212121111121121222112221222222221121212121221121112212212112122121122122122122221221121221122122122121121112112212212212112112211111121211122122211222212221212211122121212112211222222222222122111112221211121211112122221212211122211211111221212122221211122111211222112122121111121112112111111122221221111121112212212221211211111221212121221221221111222112211122222211211121122222222121121222212222111122221212221222112211122212111122211222221121122111222112112122221121122111112112212212122122111222221221122122211112112112211221112222122222122122211222212222121221111221221121121212121112211111112121212111211112111121122211222112121121122211221222221121122111211211222221111221112121221221112112212121221111212211221112221221211212112122112111212221122221111222112221121121222212221222121111112122112122111111122111121222112112112122211212121221212222112111121211121112121112122121212212112121122121221122112222211211122111121112222222212122111112112212112221121212212121121212122112222111212111212212112211112122212122221211212221112211121122122211112112112222111212111222211122112222222112112212112111212211122111112111121121212121211211122112222221221122211111221211111122211221122221222222212112111111112212122211221122222211222211221122112121122212112121112122121121221211121112212212112122112221111222111112112221212222222122112112222211222122211111122111122112222211221111211211211121111211122221221111122222222221112122121111211122212221212121111121211211112211122221122121212112111222112112122112122112221111222111111211111222222222212122221122221221211122122222122121222212212222221222112211111211121221111221211122122111111212122211221222121121212212211121121221112122112111221222112221111111221212211212212221211212222112221112211222112211111111111211121112211222212212222121222112222222212111111222211211222221111222212212222112111122122211122211112211212111212212112111111212111122122111121212222121221221111211121222111211222211212112211112111211211211121221121112222211122212211212212211222122212211221211112212122112212222112112221221121221212221221212112121111121211221111112221211222212111221122111111212112121211211212222112222221112221112121112112111212122122111112211122212122222221112212121121212122111111112222212211211222111221221212122111111112221112111111122122212121122221211112221111222122221221122222222211121222212222112122222111111221121212222121221211112221121221122112122222211112122122212211122112222121111212212121222121112112222122212112122221212211122112122111221122121111111122221122122112212121211222221121122121221222111122112212211211211112211112112211122121211212121222211222212111112112221122111112112212222212111121222112221212211111112112121221122112222122112222122221221211221111122211212221211121121222211111222112122211121222221112222122221212212122211211222122122212122212121111122212122121122221211111211212122122112111211122121211122122111221112211221112211212112211221111112121212221222112222112212221211112211111121121212122121211212212221221211222121222111221122111212211212211222222121222212121222111111122221121222121121112121121121122211222211221121111121111111111222111112111212211121211212112112212111112121222211221112112222222212122221121212212112212112221212121111122222212111111211221121121222122222211111111122212222112121221212211211222122222222221111122222222211212221211222211112212111112122111112121122222112212112111122121211212122211212221212112221211111121212112222111121121121212222111111121211221122221222122211211221221222221221112212112222121122122222212212211212222111211221222121211121221121111122111111111221221211221212212222221121121221121222111221111122222222222212122222112222111122221211122121222122121112222121222212211212212221212222222211211222112111211111211122222212221111211221212212212211212122121222112221222122111111121121112111112122111112121121122211111221211112112121222211122211212211212122121221211122212121222122222212111211111211212211112212121111211211112111212221211222121111222212122211122211121222211221121111222222212211121111111121212122121122121122221112212112222212222121112122122211221212221112221221111222221111212121121111221111221112212121212212122111112111222221212222121212222111112221212212111122122112212211221122111121212222222221222221122222112111221211222111212111221212221221221111211112111112222222211111112222122122221121222212212221122221111212212111121112122111212122111111212211112122122121122212111211221222112111212222212122211112121211121211211112222221122111112211222121222222111222222222111122121211211222121221112111122212111211221212121221111222211121111112221212211112121121222111222211121222112221211221111112111212211121222112121112111121122122112221211111122121121112212211211221221121122122222222111211111111211211111211111221122121122122111121221121221122122212112121121212211211212211112122222222122221222111121211211221122122111222111222212111211111112111211221111212112222222222112121122211221122212112112212112221211122111121221112121122221111221222111112221112222122112112112222112212122222222222122111112212111111212211211111211222221111212112112222112122221212112122221212222111212121212121122122221222211212212222112211111222222111212212222221121211112212211121211112221112222121111122122212112122221111221212212122221122121212112211121112122121222212122212112112112122111111111111122122122121212111111222212222112211221111221112112111212112211211222211121121111221222112112121212111211112112211211212112212211122212111121111112222211212222211221122111111211111221222111122112111221112122122211211122212112222211122212122122212212212121112221221121221221112122112212221122221221211212211222122221221121211112212211121212221222222211212111212122112122211212121112112211212211221221212212111221211211211222212121212122122121111221211221211211111122221122222112121221211121212111112221211212111222121111121121121112111221221222121222221212111111221111121121122211121111121121212211122212122222122221222112211112221111112211211222121111112222212121212222121212221111222222211212122222211112111111112121222212121122121222111212112211212211212121112121111122121212112121212212111121222122212122222221212211212112111112221222122222121221112211211111211211111121112221221122222111112112121121122211222122121221111111111222111212112122212221221112122122122221221122221222112111122111122212222112112111122121211122221212122212112122222112111122121112111222121122211212111112121222211222111121122112222121222112121112221111211122121222112212111211212212121221121121211222112122212121222111112221111212112212111121122211212221121221222211211112212221212212212122211121221112211122111211122212222112112221211221212121222212111121211211122221112221121121221112121121122121112111211121121222112211222121121212112122112111221122222122122121211212212212111121221121112211121222222211222121112212112221112222211112222122222211222222112122122122212121112121212211222212212221221121221122122121211122122221212221212221112222222212121121221121211221222112122221212212221212211111221211221212211222111122121211221111221112221111221121111121221221221211121212212121221121122122122221111222211111121211112222222221111111222221221211211122121222122221111222121211212122222122112111211112111122211212122121122122221111122121222221122222221212121221211112122112121111222222121211211221221222221221221212222112212121211121121221222111222221221121212212212122211211212121111211211221221112122221212112211111222211112112112111122122222212222111112122112222111212222222222121221221121221112212212121112112122212212111222111111121122222212112212111112122222212111212122121112122111212212211121111122122121111121222122211212121111222121112222112212122211212211122211122112221112121221112111121121121112211122211122122121211222121122112222121111221122121222121111111211121222222222221212222122111111122121112222112122121122122212121221122222212121122122222121212221221122222212121111211111112122122112121211111222212111212221212112221222222111122222112222221121212212212222221211112111111111112211221121211211111211211211121212122121211111121112112221222112212222222222122212221222121222221112221121222121112222211222222111212111211221211122211222121112221122222112122121122212121221111122212121212221121222112111111211211122111211211112122111122221221212121222211221222221211222222222211221122211121221212121221121222112112121112221211212222211112122122122122111111212111111111222121111111211222121111112122121112112222211111112222222222222221222222112222122212212121111221211112121112212111212211112121121122222221212111212221111112112222111111212211111122211211221112221121212121122121212212211211211211111122222212121212221222121211111211121222222112111222122222122111121211212111122121121221221121211112212221212222212121212222212122122211112122111111221211121222111122112211111221221112212112121112121122222211112112112121122221212112122111221211112222212221111112122212122111122122222111211212222211222112222222111111121111111112221121122112121111111222212111112211111121121221122221122121121222211222212211121111111111121121212112212121122212122221111111211112212212122221222221121112221112222221112122111121111221222211111122221212212221222121211221121211212212212212221121222121211211122121121222112111222221221112212122221122221211112121111121212111111211122111111112122121112222211122222221221112221122221121111221211211112211112122122111212221111111211121222122212122221121121211212122122211111212221112211222112122222111121122211211222122122211221221211211222112121122212211122221221122122111212221122221112221221221122111221211211221112111122222212122222211221222222112222111212212211122112112112221122211212211221211122122211121111222111122122222221221221121122111111122222112211212211122211122121221221212122222221222221212112212212222111211112122111211212211211112212112111222221112211211222221121121212212111221222112211121211211121121222111222221211212211222221221122222222211221221112122111112222122122212211222222112111122121112221121212211122221222222211221111211222221111121121112222221111222111211111221122222221211211112121111111112112121111112211121121111211212222112112221112212112212211112111212211121122211211121222221121121111121121221122111221111111121222222122222121111212122111111212222111112121122211121221121121211212122122212221121111221122111121121221222211122111211222122121111111112112121222222221111122212122221211121221112221221111111211122221212112212222211121221112112211211212122211222222211121222111111122212222111221221121122222221122111112111212211212211121122212211111112221122112221112121221222211112211222212121112112222221112212221221221121221112212221111122211112221122112222221111122222112211211212221112212222112222121122112111112122121112112122112112221111221211121112111222112111211221222121112122111212121122122121211221211112222222122112221212221211221222112222111111212212121211221122121111211121222112212122121111211112111111111112121222111221221221122122112112222211212121212122121222121111222111212211122222221111111121122211111111222112122211111111212221211212222111211221112222122121212211122121111122222212121222121122221111112221121212211121221122222211212221112221212221112122221121211222122122111111211112111212211221111112122111111221112122112112222121121221112212222111121111111122112122122112222211211121112112112211121212212122121121222211122222112222222111222121211121121221112211212221121221121211221122111221211221222122211211222221211222121111211222211112111121121111221221211122111212112111212221111221211121121111121112211222122211222211211111121211122222112122111211211121212212221121112211111111212121221111212211221221112122121111112212212112112221111222222111222112222111121111222121121222211122222211212112211222221121212221222221111122112211211212121111212211211212122122122211122221121211211212212221222221212211221222221221121112112111212211112222122112122112212121222222122222222222222211122121122122222211111212212111211222221111122221221211222112221211222112222221212112112112122222212121121211211212221221212121212222212222121111222121221221112112221221221121221121122211111211221122211122221222111112222111212122112121221211212221112212111111211112121122221212212222212211111121122112122221221212122211212111221211112122212212112222111111121211212122212212212211121111212212121222111222111122121112222121122111122211112212221121222112211122212121212121211112121122211112221122211122112111111212122111112211112112212112121111111212212221222212111112121211121222221212122221222121112212211211112212112111122211112211121211212212212111212221122221112222222122121111111222222211211221111112112111121212122111221121112222212111111122122112122221121212111211212112211211112111211121212221222211111111112111121222222122211121122112211121112211222222111112112121211112112111121122121211211221111121112221212212211111222112211211212112112222111122122221122122212212221122111122211112122112212121112221211221121212111221222212212211112121212111222211122221111111111222211222121211212221122222121211212112212211122122222121111122211222211222122112212122221111111112211121222122222221111111222222122112122122111111112121212122221122212212121111221222122222212111212121121121211221221221212122112121222221212221212221211221112111122122111111222122111222221121222212221212122111211121112211122121221212211121122212222222121111121221112212122221211122212212222211121112221121122211212112212211222122121222221122112221122122211222122122111222222211122211222222111221222122212122121122212212212212222211221211112122111211111112111221222222221221212212211221121121121112111112112111221121112212212111222222212112122111221222111222111122121121112121122122212211211111212122112212211211121211112212221122212121121211121221112221221111111121112222222221111112221222211222121211112122212122211212121221221112112122222111212221111122222122111122221212221112112111122222112122212212111211212222122112211212111212112222122212122211121121122112122112221222222211111122211212111121212122211122122111212222212221211212111222111121211222111112122112121112112211222111212111222221111221212112222222111121122112212111211211211111212122221112122122211212122122221221221121221222211111111122122221112212211212111221211121112212211121112212112121122222121221111121212211222212112111212112211111122211112221122222111112121111212211121222222121221122222222112112212221221211221112221211211212122111222112112111221121121111212222221111221122222122212111112121112222121112221221212222211221122221111222111112212222112212221221122222121222121112212121221112111121221122122222221222211222121112222221122112122111222221121122122221221211211212122112222122221122212112212211111112222211122221221112111112221112212112111112121212211222222211222112121211221122212122112112112222221121122122112121122221121112122211212112221221121121121221112122112122211122112111221122211111221212212212111211222122211212212111112111111112211121221121212112121121122222222222212111222222221121121222222211221221112112111122222222211212121122221121222112221112222222221121211221212112112111221221221222211112212221111111221222111212111222111221122221222212122111222122112211222122122212122122121112112221222211122212211222112211211111222121211221122111112222222211212221212211112122212212212122112211221211122211222121222212211121112122112121221221122221121212222121212121212212211212122112122222221121122122112112222112112222121221222112122122212121122112112112112222221121222121222112211122111211121221112122122112112122122212211112212112111211221212222222221222112122212222211112211222112212121112211221121222121211221121112211121111221212121222122211122212221221122211222221112211111122121122111211122211212211212221212212222121222221221112211212222211221221211211122212112212111211211222121221121222122112121221121221121112221122211211121112112211211211121112212122122222122222121222121211221222221222211221111111112211221121221221122112212112211112112212212212122211112222211212112111112222222212112121212222212111222222211222112122111222112111222211221111122222122211221222222111122212122111211221221211122112221221122221111221221111222111111122121211112211111121111212221122121121211211221112222222212221111121212111221212111221221211121221212112222212111122122221112222111111111111122111112111222222222222211211212221111112111221112111211111111222221212121112212221212211212121211212122121222122122121221212222122122112122211111211221122121111122112121122112112121211112112222221212222112121122212122121112221221222221122111211112112122122121121111121112112221221121111211212212121211211121222112222112211211221111222221112212121121211122221221112111221121111212111111111212211112111211111121211221112121112221211221212212111211211112121212122212121121211111122221221212121122222122122122122122222222121111221112211221211221221122212122211211122222221222111111121211222121211211221211112111221111212122121221121112112111121121122112211122221211222122121122111211112212222221112121121221111112212221222121112211121212212122212212111112212222221211212112111211222221122122121111211222221211111211122222122112222112122221121121212112122221111221111212212212222111112121111122222211211212112222212121121122112112212111121111211221221122122121112112222212122222111212122212111222111222111222121121111221112111221211111121122111222212122121221122121121121122222112111211122122112121222212222212112111221211112222112121211222212111111222211122122112121112212111212211222111221112211221111112221111122122112211122221222112211222122122211221212222221111121221121112121212122112112221111211112221122121221221212122121211212211222121221222112122122222112221112111122122111121112122122211221121111222222212221112212212212122122112111112111212212221211221111222121112112122112111111212221112211222221111222121112121211122222222111222122121121212121222211212221112112222112112212222111212212212221222122222222222111112221222212121111211122112111121212211221222222122222211112222222121122222211112212122212212122122221221112212111222121122222122222222121111122112212211121111111121121211111211111221111121112222212121121221221112212122112211111212212212112212212211112221121112212111222122221222222221222122111122122112121221112111122221111221222221121121211222212121211212122212121122121221221211112212222222212211222112221122221212112121221211222212122121221221212211221212211222211121222121121211221122121221211211121212111221212121112121222122121111211212221121221111222111111112111111111222212112211221111112222111112212121212111211222111222212211112222112212122212221111112221121221121211212122212112222212121122122221121121212111122212222121112122212111221212212211121222121221112211222111222121212112211212222221112121122111221211212222211121221122211122111121221122211122212212121111222221111121221122111121122122221221122212222222221221211112121122211212212112222222112221222221211111121111112111111111212212212211121212211221212212222111222222222112111122212211221121211222222212111121121112212212112121112211212221122111221111211122222212212121111111121112211221211111211222211221222221122211121221111121222122112212212112121211222122212221111211221122222112222211212212222112121122222121122222122122222112221121211111112222111212222112222212212222212122111121122112211211211122212211221212122212111122211212122111111111111212111112212122221121211111121212121111222121112112221111221221211212221122212222111121222112222222212211222212212221221111121211122122122111112221212121211221211211122221111122221112112122222212111212112111222222212112211222222212212121222221111111111112212222122211112221222212121221112112111112121222211112122111221212121222221112112222122211212122112121121221121211222121211121112222122222211211211121222121212122222121222221211112111112121112111122221221111221222221111122222222212111221122122121111112111112212112211122222121121211111212211211211112121221222212111111121211121222121122112221221111221212122221121122122212111122111211222112221222121221112122112111121112211221221112111212212121122111121112221111122112111211221212221211222112211121221122121121211122121121221121111122211121122221211112222211112222222111211111122221111112212222111222211212211221112122112212222212222111112212212122221212121122221122211111212122121122212121222112212112221212111222112211122211122221111222112122112212212122111211212211121221111212112211211111212221121112112211122121211122211122212111111212221211121222122212121222112111112112211111112221211111211212111112121112121112111221222211211121121122221212212222212111222212211212211222221122112111122221121212111111221211221122112222212222112122121211122122221222111121211211112111112112122122211221211221212111221122212121112111121112112221112211111122221212122121111212122211222122211222112211211221122112111112212122111221122222221212122122222111121122122122122111112111221122122111112112212222212211112221121112221211112221111211211121111222212122221222121212121222112212211122112122111112111112112111211111112212222212211121122121122221122212221111221211211111111212221221221112121221112111211221111211212112121121122211122121121221121111111212121112111122122211222112221212222212222112121111121211112221221222112121212111212121211121222112221112211222111211121221122111222222111212111211212121112121121211211211112211112122122211211121212111222222111112221122212122111122111222211121222221221112121121111222112111222122112221221221211121222111211221111121121211122211111212121122121112222122221111121212112121212212221122121222212122212222112121111111212122212121112221112211211222111222111211111111122211122212222221111222212222111121211112122211211122222222111111121222111221112122121222111112221121112222122122221122111111222121121111212221222211112121122211211222111221222222211121111111221222111121112111111111211212122122212222212222222221222111222122212211111122122222212211121211221211121221211221221121111122112121211221121112222112211121212122212212121121111211222211211221221221222122111221222111212111221111221222111111111221211221112211122112221212121122212221221212212111121211212211111211211211221121222221111111222212112221122112122112211121121112212212122211122121212112121211112212112212122211221221122212211122122222212121111222211111221122212121222221111122222221211111211211221122111111221212112221121121221211212121212212211111112111112122211212222122111222112112122222121121221221221222211222222111111112122211211112122221122122212222111211212212111211122222221222111211121122221111212222112222111122212221122211221112121121221112221122121121221112122211122222111112221112112222111211112211111122212211222221111221122221121112212111121222212112212222112122221211111211211111221112211222121121211122221111221221211212111112122212221112112111221112111222121221212212221212211121111211122122221212221221222122211211222122111111211211222121111121211222121212112221222112211212111121112112112112211122111111111112212222112112112222221112112211111211212112222221211111111222112212122222122211111222222121112212221111221211221111221212112221121222112111221122122222112211212212122121212111122212211222121121112222112212211112221122221221122222121122212221221221222111112121221211122121221212221112122112221122221222212122122121112212221121221221222122112121121111111111212222121112211122112111221221121222122222112211121112112221121221112121222112122211221221222121112112111211122112122111111112111112222222221122211111112112221211211111222122111122211112212122122221222211211212111112121111211211221112212111222121221111112211122211212111221111211112112122122212111222212121122221122211122122211221222111111121212112222222221122121111212211122222121222222121221121112112121212111221222112221222111112111122111122211211221122111221211212222112212122212222212111222122211112221112111121221122112222111122212111112122111212111221212111221211221122222212222212112122212212121221221211221111211122112222211211112211111211112212212112111112121122211112212222222112221221122121211222211221212221212111112212222212212111122112222111211212122211122112112121222121222221111222112112122221121212111222121222221111211212211112112211122212111111122111121112212211122112222112112211222222222212111122212221211112211111121211211221211111112121121211111212121111221211121111111221211211112121211221212221112212122211222122221211222212211221112112121111221111111212111211112222111212122211212212211111222222211121212111221122211212121211121222122111112112122122221212222121121222112112212221221212211221222122111121121111222112122111212112211222121222212112222222222221121211211222211222121122112212112221122122211211111212222122212111111122112121222111112211221121221222211111222222122121212211211211112122222121121221211121121222121121211212221111122222221222222112112222121122111211211121211121112122221212122212111211122111121122212122112222121221111211122111212211112221122222121222211212121112221211112222121122121112112212121111111212222211211211222212121121111111221122222121111222112221221121121222122111221122122211112122222212121121111211221111212121121121111122112222121222222122212221222111212211211112122211121111112221122111111111111112111221112122121212121211111212211222212121122211112221121211212222222221111221221122212212122111222212112121112111112211222221121212121212221111212211112122122222212112222112112211111212221111211122212111212111122122122221122122222111121122122121212221121122212212212111211211221221111111211112122122121222221211122111221112122212122211122121111221121221121212222221212221212221222222221221122221222211122122122222111212222111212222212212222211111212112121222212112122222212112111111221221112112221121211111211112122111112111221212221122222121221112121222212222121112121121222121211211112212111222211121112122222212221112212212121112222212212212222111122122212122221212112122221212212122221111111221212211211212122111121122212122122122122111212221111112121222111111221121121122111221112212122112112221222112221121221221122111122122222121222111211112112121122221212212112111112212112221122122111122221111122222211222211122211211221111111212111111122211212122222222121111122211122221122121112112122112221112122211121221222212111211112112211121111121111211111211221222121211112211221121221212222122221121111111211222121122112222221111211222112211222122222212222211222211212111222121121112222121111212211122222211211222212111211111222212211221211112221222222111111111211121121211122212111111112222222221111122222212212111222222112212122221112112112221111111122122122122122112122221121121112121122222111221212121112122122212112222212121221221121122212222121222121222121212211211111111112122112111212111122211212211222222221211122122211212221122221222222221221121211112211122221221121221122212221122222211222122212121121111221122122212112121121212121222212221121121112112122212222222211212212121121122211211212211212212111222121211222121212221122221121122111221212111121211122112211112211212121221211122112221122221121121222121211112122121121221222121211222111121111212212112121112222122112221211211222111122211112221112112222221122122121121111221112111222221221122111112112211111121112221122211111112121121221211222111112212111112211121121211121122211122122211122122111121221121112122221121111222111112121122112221111111222112212221221112211212112112221212211211221211121211222211122212112212211122221112111212212211211121221212112112212122222212112111222121221122221211121122112111111112112122121122112212211212222111122212121122121212221212212222122112112121222221222211111221221112121211211212111211111221222111111122121121112212222111221222121211122112212221211222221221122211221111212112222221221111121212211111211112221212111222212221221221122212212212122121211212121112211221111112111112111111121112221112112112112111211122112211112212111222112122112112212112211122111222221212222221122121212222222221222111211112122221212111122221221121112121122212211122112112112212121221222111122111212212222121122112122221221122111112221212111122222222222121111221122121112122212211112112122121211121122111112111222121221211122211121221111212111121211222211211221212122211212121221221212221212112211222222111121212111211221111211222122112111122122112121122221221121121211111121122211121122122211122111212111112121211221121212212111221211212221111212221212111121111111121111112112211122121121111212111122122222122212122122211112212222211111112112121222212221112112211211122212112211122122112112211112121112112222211221212221122222212211111212111221221212121221121112112211111221211221111111221212121222112222222112112221112212212112111122221122222122222112211212222121112121221111221121122112112111221122122221121221212212212222112211211112111212121222211211212211111221212212112122221112112121212221122222122212211212212111211212211211121211211112212222112221212112122211222221112222222221122222212222212221122122222212121112222112122112121211212122121121211221111222212221212122111122122222211221121212112211212211121122222112111212121212222122121211122121122211211221212211112112211211112222112122221111111111211121221221211211222211212211221211221112122222111221222121111122222111122112211122212112212212222121122222112212122121221211121212112221211211212122222211121122121112112211112121222211221211221212121111222221111222211121122221211221222121211211221221211111221222222212112121122122122122111211212122111212111221121211222211122122112221222121122211122211121212122222221122222111221222222222222222121222121211221112121121222222211112121211121212222111122122221222111212221111222222221121222112211222222122211111221212222222221212222221222212112112111111122112222221222211121212121211111221211121122111211112222211121112111222211221112111121221122111111112121121122222222122211122221222122122111121211221212121112212211111121122222121222211121211211221111212221221222211211221122121212122122112112112111222122222121121111211111211212222222212212221112112222211221222122111221122111122111211212111111112121112222222212211221111112221212221222112112221112112121222111221211222212222212222211111111122111111212221211222112212222121122122222222112212111122121212211122122121212121222122221121122211111211221112112121222211211222222211211221122221122121112111221112112122122212111112212222222221212212211112122122221122221212211122211112222111221221212212222212121111221221112212212111122122221111121211221121211221121112111122211121121222222122211122122212222221221121212112121221112121111121212212222121112112121212111221111111211222122221212212111222212212211211112111111211121111222111211111211221212112212122122111111222221111222111212212112221111121111212122222222222121121112221221212111211222211122111222112111212222212212111111122121222112211221221212212112122212121212122112121212212121112111221221112222122222122222212222221121221112212122121211112221122211111122221122212222121112122211121122221211112221112111122211222212222122122121211222221121212122212211112112111122112222122212122211222211122111122212111111121211212221121212221212122111221122111111121111222222221222112222111211222112122111221121112211222211122221122121121222222122211122112111221112211112222121112122221222111212112211221221211121111211211111122112112221222112121212222111122212221211211221111211112121112111122111112211212222122122122211221121122122211211121111111111122121221211212112121112112222122112221212222221211211122221112222122222111222112211212222211112111212112212211121222112111112222122122121121111121112122122211221121122122212122221111122111112222222111221111122222211111111111221122221222222112221112211212211112111221111122122111221222211112121212121122212221221121211212122221121222212221111112222121212212112212111111211121212222222212111112222212211111212212122121112122122111212112222221122211212122122112122211122111221121111222122122211112211212122122222212211111211212112221121112111211221222122222222212111221211112221211112211112211221221111212112111222121211211122121222112122121121121112121121112122121121112221121212211212222121121112111121211112122212122111222222112121121121222212121122122111221111121221111211122112222221211211112121112112122221212211111121121211221111111211112212112112222111222121212111212212111111122111112221221212211112121112212122221122221111122122222111211221222221211112221222212111111121222211112211222121112211211122222121211121211122221112111222122112122212221222112112122222121212121111221212212122212121121122221221121221221122212221222121121121211211112211121221212112111122212212212211112112212121221112112111211111211111221222112221112112212222111222212212122211121111212111111111121112121221222221221111212121212222112121221222111221211122112121121221121211121122111212211121122222111211111121211221222212222222122111121221211222122121221221121111222122121112122211211122211222122222122211112221111211222222212111121221122222122122112222221111112111222112221212112122221122212221111222111212121122221222222221211111111121211212212122212121121222221122112122212222212222122121212111112221111121112111212122211211221212111221212222112211222111211112221121122222112112211212121111121122211221222121211221221211112211121222111221211212121122212121112211121122212121211121222121121222221111211212222121212122122112221111122222122121222212211112221212212221111221111211111212221122112212221211111121211211111111121121111112121112121122222212211222112221222122122222122212222111121212121221121122112112222221212122112111222112112112222222112112112122221211211212112121222122112221122211211222122211112122212112111122221222211212211211211121212222222221212221122111111221221121211112122211211211212112121122111212212122111122212121112211122222111212221221111111112222122222121212222212122111111222112211111111221111212111211211221212211211121121212212211111121211122211112221122221211122121111211222122212221122121222211111221121111221221222121212221211121211212222221222111111211212222121121211211212111222111111211121111111212222212111212122111222121122212121112222221121111221212121121111122112212222122222221121122112222222211112212121212111212221121221222222212112122111122221122212111222221212221222111112111211122112221211221111211211211122222211112122222221212212121111211222221112211212221211121112212211121121121112221122111122121111112111221111222112212112112222222122222121221112112112222212212212211121221122121121111111111122222222211121111122222211212121211212111121211212112211121122211112121222212212212112211222222212112121112122121121211221212212212122211122112122122121222111211212221222111111212122211221221222122212111222122221122211111221221221112121112112211122112212211111211111222112212211222112221111221221222112121121111221222221211122222222222122122112211222122222222211112221112211211212212111122112111212111121221211112112111211211122111221211222212121121211111121112111122112121121211122122111211122111121111122221122111212221221112211121111112112222122211122212122212121121221111111212211121221112212111112122121221211111122112121212221211111111112121221222121222121111222111112112212221212221121121222121111211111122121112112121121112222112212121221121212211122111222121121122111212222212212221111212211222121222122121212221211122222112112111212211122121222221221212221112211211111211212211221112222212112221222211111221211221112111112222212122222112112121122211121121212222111122212121221221222111121121111111111121122121222212112112111121112112122112121211212222222111221211221211112112111212112211112112222121121222112221212112121122211111211111212121211221211222212112111212121211211111121211222222222211222121121121212212212212222121211212222121211111221111111211121111221111222222121222212121221121212111112121211112211111221221211111221112121111221112211111112112211111212111222121111222121212121121212212222112222212112211111221211221112122121221211222112111212112111122222112221112111211222221112221111121222221221111122121111122122112211212221212122212211121111211112222121221222111112212112222111122122122222211122222221212121111221111111111121211211112211212121111212111212122122221122211211212121122212112221222121121212112111121212121221121212222222221211111212211112121111222222111111121211112122221222121112222111222212212212121222221111222112212222212121221221112212121112122121211112121111221111111121222212221221222212122122211212221121121121221222122112111111112222222111121212221111222212211122111111222222222111122222222221212122122122111112221122222222121212112121121212121111212112212111222122222121211211212122122111122211221212222221111121211222112212111122112111211221211212112121121121111111222121112122112122221211112221112112221111121111212122212212112222211221122211221222212122122112122211111222122111211212111212221122222221221121211112221122112212212212112222222221111121222221211112212121222211121221221122121211212211111212121122222121212211112222121212111212211121221122112122221121121211112112221122112222121221122212212212212121111211122222111112111121222121222211221112211211112122212112122211212122221222111221211111221222222222211112212122122122221112221112121212212121211221111121211212112121112212222111122111121211121112222121111221112221111111212222112112121211111211111121221122212222221111112211121221211122212122222221211111111211121122222112111121112122222222111122222212222222211121111112111112221121212221211122221111112122111212211111222122111222212221222221212112122221212122122111212121112111112221211122211111111121111121111111221222212122112221221222112112111211112212111211112112122112222222211221122112111222222111111121222111122111211211121121211211211211111122221112111121221112111222221211212122211111212112222111122211112112221121112112112112211112221222212211111221212222122122111211121211221212111212111122212211111211122212112221211222212111121221122212121222222222221211211111121111111212222112222211221121122212221112121111221211221122111121121111111111212221112221112221111222222221211212212112211112111111221211121121221221111221112111222111221212211211112212222222211122111221122212121122111112211211211112112122121122122221111111122211122212212211212112221112212111222211222212222111221111211112112221222121121121121221222122111122122222212111111212222122111112221112212211212211112111222121212121111121221222222111211111211222111222111222222211111112212111221122121111221212222111111111112122112221212212222211122111111212211111111112211121212121121121212222212111121212222112112111122122221122211222212212111222112221121212221212122122112221112221121221221112112112212222121222121221221112221121212212222111122112121121112222221121111111121222112222121112222221211212221122111111212211121122111221211212121122212221112112211222212122121122211121121222111122222211212112122221111212122121121121121111121111111211221112111211221112122111111221222111211212211212211111221212122222112212112211112211212222211222221211112121212112212211122121211212121221221222121211121221222111211221211122211112111211112211112211111211111112211111111221111121121222221121212112121112212112121222111212111222221212212121222112121122111112212211211211211211211221122221222121122222121211221222122122121111111222222112212111222221122211121211122212111212112211112112112221121221221111211211221212112211111112112221122122122122221112212111122212121112212122112121222111112212121221212222121221222121222111112121221112211121121122111122221222212111212221211112222122222211211212211112212211211122122121122122221211221122121111211122211112122212212111112112212112211122111221121112121122221211122222211221111122212212112112222122121112122111122122222212211212111111121111222212121121112212221121221221112121212212211121221222122211122112122112121222212211121212111221222212112111221221222222112221222212211212212122111211121122112121122112211221112121122112111222121221112221121111122221211222212212221122111111222221111222211221221221122112211121122211222211211211121112211211122222121211122212222221112221121222122122111222111212212212222111122122212212211212212222221112122121121221112111122122121212121111112222112222211121222111222221121222212221111221112222211212221212222221221221211211211112222111111221111221111111211212121221112111112212122211222122112122211112122122222111221221111211222112222211222111212122222111112212111112211212121121111211112212211121212122111111221221122212112221111121211111222112121221212112221212111221212222221112222111221121212111211122121211211111222222222221212112111212211121212212211211211211111222222222122222211121121221222212112121112122122122112222211112212221122121111122222211212212221111111122222112212212121111221212212212112111211122122222112121222212222111211111111221112122122211211111211211122211122111112122221222221122222121222211112122112222121212221111111112112112112212112211212111112111122112112212121111222221221111211221121222212112121221122222221121111122111221222211221221112222222112112121212212212111211121111112221222111122121112211222122211111111211121121112211121122212212211112112212122122122211111112111121111111211112221122212121222222221221222221121212122112211212211211221222212211112212211122222122212222121221122122121112121121221222221211212221121211122121112121211112212111122211112112112111221121222112212121211111122222221212212211221111221221111221121221221112112112122222121221212212222211212122111122121221111122211121122221221212222121122112121111111111121212122112121211112212221122112112122212221121121121221111212211212121112112212111211212121111112212111221212221121112212121212212222111112222111211121222121212111211112211222221222112122112221222211211112112212122212221211212221112212222221221111111121222211212211211112222111112122221112122222111222112222222112221211112221211211212212111111121212121211121122111121211222121212212221222211222122212211211211212112212211221121121221221211111111111121121112222111221111211112112111112112111211121111211211121122111211112211211222212212121222112221221112112111221211121221212211212112222122221121122122212112111111122122111112221212222212211122112122222222121221111121121122221222221211111211122112111111111121211122222222112121121211222222211111112111121111112121212122211122221222212121222212111112221121111212122212222122221112222122222211222112211112212122222222121221122212222212212122222221111111221111121122221222121211211212122221222121221112111222221112111122211122111212111111211121121222221112122211222212122221212221212111122211111111111122221212212211112212222111122112211212211112211111121111111121122121211121221221212212122121121111212212121222111111212121221222222111212211121211212221111112212111122221221221222112121222212122222122212112221121211112221221122122212112221121121111212112212221112121221211222112211121111121211221212121122222212212121122112122111211112211212111122121222221221111212122112222211211111121222111111222212122211222222221211112221212211212112212212111111221122121212212111211112221222111122222121111111112121212212122112112122122212112112112122222111122111122122121121112122112221222211221111211211212122111122112122212212122222111211121222111222211221212222222211211222221212222212211121212121221111222121221221222211221212222122111212122121122111212222111122122111112122111212111121221221122112212221211112121221212121122212212112111111221222121112121121122211212121112121211121211121112212122112122122222221121112222112112121111111222222212111221221122212122211212221121221122122212222221111121111122212211211121111211111112111211212121111121222212222212222121222221121112212212212112121222112122122122222211222111111112222111122211111111121122112121111112222112111121212211122112122222212112222221112112211111112211111112121212112112112121112221221121212221122121111212122111122222222112121111212212211222211211222212122211212221111212112212112212121121211221122121222221111221112122221112111121222222222112112121212211121112121222221122112121121221222211222212112111211112222122122222212221121122222121112122122112221212112221122221222211221121112111222121112121221222122211211122221221212211222221122112221222222211121212222121222222212222111112211121112112211122221122222112111122122212121211221212211121221121111111222112122221112121221111122211211121121221122122121212222222212212211121122212211222221212122121111111211121111111222122211211122111221211111112222112112112111212122112211221122121121111212221212211212211111222221121212121221211212121112212211112221111222121211211112111212222212211112211221112122112212221221122211222212111121112122222212112221211122212211122222221111221111112222211221111211222111212222221221122221222211221112212222212122121221222221121211212211222211211121211112121111112222122221221121212121111121222121222111222112121112111212122221221122111211122222222111121112121112121121111121111212121221122211221111111121122121121212212111111111222212121211121122222111222212211112211221122111111121122212221111211111112122122212111122111111221222211112122122211212121222111112211221212221221121121211111211222221122122212211212221212122212122121111111111111222212111211221221121211111222212212212221211121221112212112211111221212111221121112211121221122121221121122212211111121222211112222112112122211221112121111121122211222212111212222112121111121111212222121112212122221212111212121121112222221222112111122221211211222111122221222121121212121221222222111212122222211111222212212211211221112111122122212222222221122212111111212211211112221112222112221122222222112211222111212222222112211211111212122212121211212112122122221111212121112211211111111212122122121212212221112122111112122221222222212121111212211121211212121212122112121112112121212222212111222212122221111111112212221111122221212122112212112212121222212222221111211221221222211112122222112212112212112222122211111211112111111122112112111122211211221121221221112211122111221212212121211121211122221222111112221221212222111122122222122221122122111211221222221122222221121211111121211212112112222211112112211211111121122112112211111212111111122212222212111121111212211122221121111212112122212221111112122222112112121221112211111112121222221212211212121122112111211221111122121211111112112122112211211211211121121221111211121222222211122222121221221211122212111211222111221122212211121222111212212112121222212221221212212221222121222122121111211212121122212121211122211122122221121222121111221211221222111121112122112112211221212121112121212212112122121121222111111221112222122112111221121211112122121221112112211122121221112222112112222121212122111222122112221212221222112112121211211212212212211221212112122121122122211211212121211121222112112112221122221121121222211221111121221221221222222111212122111222211112112121212111112211221221211111122122111111121112121222212121121112222111221212221211211122221112111211222121212221212221221122111111121222112122221221221122222111221111222221111221222211111212221112221211111221212221222111221222122122111222111211121221111222221221222111122112212221212122121222111111111222111212211221111212122221221121221121112122122212221222221212112112211212211112121212211222112211211122211222222221221112222212122112222211111211221212212221212122122112212122112211112112212121112112111211121111221222112212212222112112121211212222111122222122212121121112122122221111122222111112122211111212212121121111122122212112122121222121111221221111121222121211222111221112222212121112111122112122122211211221121221212122122122121112121112122112221121111211212122111122222112121212221111111222221221221212222111212122222221122211122221112211212121212222221112122112122221222112222221122122212212211112212211112222222212111121122221112122211222121211112221122122211212121122121112221122222112111212222212122222221211221122111121112212111111111221212122122211111212211122211121112121112212121112121122122111222121111112112121221222112122112211212221211221222212212221121212122112212112222212222111221211222222122212112212121111212121111222222111211121222122122212212122211212212212121222222121222212221111111212112122112211212112111222121112222111111111122212121222121221211212211211111121212121111211112111122122121212112122111222212221111122121112112111212222112211212211111222212111212221111112112122111212212222122211112222222111222122121211111222212211122111111211112121121221222221212122211111222122222111211122112211111112212221221211121221211111211211112222211111221112111212211211122212112121111122121211112222121221111112221111121122211111122111221222212222122211221111212221122212222212111212221212112112221221111122222222212222122222221211111112122122121112221122221222112211222122121222211222212222111222112111111222221112221212221112212112212222222222222112211212111222122211222222211222112211212222112222122221121211112212212121212221112122211122121222122222111212222212121122112121112221122112111112212212111221222212211211112211112112122222211221111111121121122221212112111121222212212121221122121212212121221212121212221211121111112221212212211111112221122221212221121122212222111221211112211222122121212211111121212121121211211211222221221221222112211111112221122111221211112221212221111112211211211222212221122212212112221211211222112111111121222221221222112122112222221221112212121221222211211211122221212211221221222221112221211212212122111121212212212221222111111121121221121112121122111221211112221122212122112211112221212112211121211111112111211211221211121111111212121221112222111211221121222211112122112122212221112212221222221112121111121121222112212211222112211221111121221212222211221221211111221121121112211112221211221212211221121212212112221121221211212112221121112212221221122122112121221121121221122122121222122121222221212111122122112221211211211212111111221212122121121211121121222112222211112121122211112111121112122211221122122211222222122211221111221221221112211221112212122212211221122112212111222122121121212222112212222112211212222112211111221211222221212221211111211212111112211222111112112212112112221121111222222122221121222212212111211121221111211112121111111222222221121221212111212221121112112112221112222211211111212222211222122221122112112111211121111212121212211222222212212112122121111122211211122211221211221211222212121122122122212122222212211212221211112121211212222211211122211121111212211221122121111122222111111112212212112111122212211221221121221112112121212222221112222222222212111112222112122222221121221212121222122111221122111112221112212211212221212211211222121121211122111211112121112212222221112111112212121112222212222121112121121112222211211211221222112221212111211222221112211121221222221222112122222122121122121212222111121111122111112121122122112211111112111121121122121112211221212122111111221122212221212211211222221121112211212121211112211122112122212112212121121112112222111111111122211122111112211122212112121112112212121112112121122222211111212111121122211212121122212112221122221122122212212121221112211112212222212122221112221222122112211211122112222112221222111112111222212221211222222221112212212222221112211111122222211222221222122122112211111111121122222221211211221112122211111212112211222221121121211212222121221212222222222211111211112222212111222221222212222121211112122211111212121211221222112111112211121221112121221222221221222122211221122212222211212111111111112111112122222211112212222212111221121122221221221122122211212111222221111221111112112212111221212111121222112212121211121112122221122211111212111221112211211122212121121221122221221212222121221112211222221211112111121222222122221211121112211212111222112112221111121222212122111221112122222111221121122121211122211122222122122211111221222121111222112222112122211211211112211122121212221222212221121221112121111212112221111222121121211222211111212221212112122222111111121212111221122221212122112212122211221111111122212221112211211212122111112211122121121221111221121211222111111222122111111121212112111112122212222211112122122112112111212222211222221111122211211222121122212111212111222121212222211212211111121121222122122221121221121212212121221212221122212212111111211112211121221112211122211222212212221122111222221212111122211121222112222211221212222211222112212121211112212221121112122111211222111111212111212122122222222111212121121212222121221112112212111211212111112112112222111121211212112122121111121121121121112111122121221221211211211121121211222222121122121122121212121221112121122211121222122211112211112112122221221212111212222221122222211112122221222121221111221221221222112122222222221211222122221121122221122211212112212221111221212222112122221121112122121221221212221221222221211211212212221212222112111212212212112122121212221212222122211211211222222122122222112122221212122112122122112111121112212112212211221221222212121211121222111222112111222221122121121222211221221221112111122121112211122121112221112111221211212112121121121222122121112122212212211211122212121122111212122112212221212211221112121211111221222221221211211212111112112222211112112122121121212121111111222122122211111211112221121121221121211222211111221112221211221111222122211212112212112211122121112112221111111111211212121221221221112111112112222121221112222212221222111221112211211211221222112112112111121122111112112121122222212111121111122112221222212112111111211111112221111222212222122222211121221221121211211212222122111221122211222212222112111122121221212111111221211222212222112121212212221112212212212112122212121111111111211221111221211212221121111222221211122122112111122121112221212111222122121121121111212222121111122212212221221112122121211211122112221112122122121212222121212222111212111222111221212121121222222112122212212111111111112112212212112111211211211112212112211211121222112222112222111211122212221212221222222212122222111212222211111122211211222121221122111112221121111111122212222212121211122112212112212212212121112212222111222222222221221111212212122222112211221111211111221221112211221122211122212212122212222112112121122121112212211211122122212112211111221122221111221111112111111111221212222122122221121112221121212221122111222212111212222122211111211211222111222212222221211111222122211221122222111212212112222222222221112121121111221112111222121122112112222221121212221122212112211121121122221221121221112222212212122122212122111112112211121211121111122121222211122212222121122112212122112121212221122221221121111121212111212212122111211212221121222112121221111112221122111221221211122221222222111122112212221211211211212122121221111212122221221112121111121211122121111121112122222112211122222221221212111111211211221112221121211122112211222211112221122112111221122221121222212211212222221222212112222222222121122222121211111111111221222122211212212121121121122112122222211122112221221222211122211221211121111211221122121121122221221221222221222221211111221212212112222211221212121221211121221112122221212212111212212112112111221111112221221121121112112211222222222111211211111222212112221221222122221112211222121221222112121221221211122111112211121211221112111122211121211211111112121221111122222121122122221112122121112111212111111211112111222121221121121111121112112221211222111221212212111122211111221112211121121211112212112222111112112112111122111121122221122221111122212112121121212121211212212212111112222112212112112212121221122111121222211121121122111212212122111111221222222112221122211221221122122111221121212222111121212112112212221112112222212121211212111221212222222122211211221122111212121212211121211212122112211211211221121221122221211211112112211121212112112221122121222212212111112212121111221112112211121121221211111222121212122112222212112121121112212221221221222112212112211122222122122111222122121212121121222121222121112111211112211122112221121212112121122212112211112221122221122222112211121221212222112122121121112212111212112111112121221112211221122111121221211211112122212111222211121121212121111212222121222212122211122111112221112111212112122221211111211211111212221212112111222121212211212211121222211212222212111222111112112122111111111212221111111222111122222122122211121111122112112212112112121221122122212211211212211221211221222112211221212211121212211121111221222212122111112112121122212111112122121121122221221121211221122121222221111222111222222221121211222211222212211221112212111221112212212112122211221121222111221222212121211211222212212212112222222222221121121112212112212112221112121222121122221211111121221212222222121212212121112111221221112212121121221211222112121212111221221121222222112211121122212221112212212211222211112222111221222221211221221111221112222212211222122221222221211112221112122122221112121222222212121222121122122212211212112112221222122211122122221122122121222122111222112212221121122112212212211111211221212211122222121221212221111221112211212122212222111111121221112221111212221121221112222111122211212121121121222222212111112211222121211212121222222122121122112121122122111111111121221211212112221111211221211112221122121112222212222211221122211211222121122211111221212122122111212122212212221221221222111112112121211222122121211221221222121222111111111222121121121112122112111221212211122112221211221222121222112122212221212121222121212222121212112222111212112222222111121222211111121212121112222112211221221221112212212111212211111212212121222221111221211212211221212222211112211211212212222222111222221121221221121222112122111112212221121111112122111211221121212211221212211211221122111122221222111212122221221221122211222222112221221222212222221212111112121211212221222112221112212212212122121121122222112122122212122222121212122121122122212211211211221121221122212122221122212222121211111212221221222122122222212211122121121121222112211221222221212122121111121212212112122211222221212121122122112212211222211211211212212221212112122211121122111211112211112221222122112121221212112222221222221122211222111121112112222221112211112222212121212222221112222221122221122222211121211212112112211122111221212121211112222111121212211121111121111122212212112121221112222221212112222222211222212221111221211122121111212121221211211122211112112221222221111221222111122212221121121221221212122211212212211222112222211121211111222112112211121112222212111222221212221212212122112121211111222112112112212221112221221121111122222222222221112222121212121212121121211121111222111121122122111221112222121111122221111121222222222221122112222211122122222122111221122112121111211112112122111211211111222212222111121121222111212121121111211111112222222212211122121121121111221122211122212122121212212122221121211222122211221122121121111121121211211221221211121211112221122111112211221212211111112211221121211221211111221121212121211121112121112122221221122212211111122221212111112111111211122121211122212121121222212212121122111112111122122222112111212112211221211221221112221221121222221212211221211122112221111212221222122222111212122121111221212111122122222211122122112121112121122222221212222121111112222221221222212112121212111111112221121221221211112221221222221122212222211112221122122212122221222121211222212112122112122121211222211122212121212122211212222122212211111221122121121122112211222211222111222112211121122112212222212121112211121111122222222211211112222221211212222111212122222111121121122111122122122122221122221121111121212122112122111111122121221122211212111111221122121221211121111112121111122222222212112212112111121121221121122211121112212212212111112212111212211121121222111112112212122111222112212111221222122121111122212212111211122122122212112222221222222122212121221212122211121222211222221222212111121211222221111121121121222111212112222212111111122121211112222222122222112122121122212221211211122221121121112111212221122212122112112222222111112221111112112221111221222211122112121222222112111222221112221221211221122112221122121111112111121112212212222222221211221112122121211111122222212221221222122112122212221211121212221222212121122211112122111212212122221212112122111212222122112221221121221222121211212121121211111222211211121222121212221222112221211221122112212112212112221212212111111122212211211221222222211212111121222122222122222221111112221122121212212111221211112112222211211211221211211221121212121122121111212111111112212122121121111212212111111122121212112211212212212112111222111212212212121222122112122212112211121112211211121122212121211211111211221112121221122122221211122211222111222212121211221212122111121121122212111121221112111112112121211211121112121221222221121112221121212222112111112212122122221222121212112211122112211121112222121111122211222211211211221111111211212211121122211112121211112211212121122121212221121112122212212211221212211111112122112222112222121221122211111211212121121212122112222121212212122212121221221222121221222112111212111211121111212211121112122221122111111121122121221122212222111222112212212111122222112122222121211212111121122221121221111122221112121222211121121222122112122121111122222122112111112222221221111112121121112112222211111221222212222111121112111122221111222212112112212121122222211211121212221121222121222122221112111111122221112221221211111111211221211211211211112122112122211211221211222211112112112222122122212112212112112221211121221122212211212212221122111122121111211112112121112221111121111112211211222122111211121221211112221111112122111221111111121112222221122212222121212212221222211212112221222222111111112121212212112212121211122212122112112212212121222111122221122112111212212212212111122111121221122111221221222111211211211212212122122212121221121211212221112222122121122121122221212211122122212211222122121211212111112111222212222221212221211112221211212222112111112221112122212111122111112211211222122212212121221221212211122112121111121221222221212111121112121111112111212122221121121212222122111121211221121122222121212212221212212221212122111211222212121112222111221122221222211222211121122112112122112112122111111212222211212222221211211221122221111112121121111112211221121211121222211211121211121112222221212111122222212212221111121222222112211221121122211121211211222121211111112111222111211121121111222212122121121121112222122121112122122211221221222111212211211222111211211221212122121121212221121222222211112112222121112211122112211221121112112222222111111121111122121212221212212111222221111211122112112122212121221112222112221222122112221112111121111111212121222221211211221221211212122221221121122112221212211122111111112112212212122212121212211221111112211221112121222112211121111122112212112211122112111221122111122112222211222211112112122122122222211222121111212222112122121111222221111212121221121212111122111112211211212121122121211122211112121211222212221122212211211212221222111212122122222212211211122212122122122211122111121111122112221212121212212112222112221122111221122121122111222211211212122112211212222212212122111212122112122211121122112221211221112212121212111211221221222211122222121122122221221212221111211112121122212122212111111212211112211111121121212121111221122212222111111222112211111222221122212222121211111112211122122212212111211122121211121122211211112121222122112111221222121122211112121122211122121222211222121112112122221211212122211111112122212122111121221221222111121121112121122122111221111221222122121111111222112112111212112212221112221121221212122111111121211111221112212211212112121222212111111112221211121212111121212211112222111221221112111121121212121111221121121122111112221221211121111121112222221211221212122112222111121221122112211221211211211211112121212221212122111121122121121121122122222212221222212211222121112212112222221112111111112111222221212221212112221221122211122222211212222222222211111222212121122121212212122122221122222211221211122121111212212121211221222221222221111121112112112212212222112222122222212122111112222211212122112222212221121221211211121111121221122112121122121111122111212122211111212121212122221112112221121111212112222211211221211211221211222111222212122121111212121111212212211122211121212212221112121221222212122111211221122122122211122122221112211122112111112121122111112121211112111111211212212221121212212222221211111211212222122221121112112221222121212122121111112121222111112122112211222211122121222122121221111221121112112221111121112111122122221211221221122212122121221222112212121112122211222211111212211111121121112212222112211221222211222121122221221111222211111111112122211111121212221212221221211221111121221211221222112122121222211221212122121111111222222112211121212122221211111112212121212121122112211211112212112111222212122221121112122222222122112121112111112212212111112111111122112221221111112212211222111111112122222222221211212222221111111112211222112112212222221221122111222221212222221211112222222112221121121111212122222221111121212212121121111211222121222112111111122211211112211122122112211122211112122221222211111221221222122212112111122211111112112112112211211212111121222112222121212221212211122111211111122112211111211221112111212221212211111112211122111121121111121222112112211122211111122121212122122121111212111222111121221111222212212211221112112112212122222211112122221121222111212121222122121221112122112222212222122212122112221221221122221112122112111212222212222112212221112212112221111121121221122111121121212121122221122121211111222122212111112112211111211211122112121122221212222221222111111121111221111112222122121211211122211222221221121111112121221111111121111212112121111221221221211222122122121112122111112211211212211221111112111222112122212212211112211212221221121122221112111111122211112222221212121222212111222112211221221112221122212211112122221221111212221122121112121112221112112222112112122121111221211111112122212212222121122111221111112211122212222221222121212112121211122221111212212211112222222121121222121121111122112112221111221212122112112112212122221221212122212221212111221122121122122122211222211112222121121221111111122212111112111221122212121222122212111222212111222122122221221122111112121211221111122222222222122111121122221221222112222222112112121212121212211111122121221211121222112121112211112222122212222222121121222211211122211112122112111212111212122122211111111222121121212111121221212111212222222211212112212222111111122112221212112222112112112211222122222222111112212222112121111112212222111222112122121221112121112212222121222212221111212121112222112221121221112222122221221212222211112221212212221112121121111222122112122211122221222121222221112111221211221212221212121122122111111221211212121221221122211211221122221122121111212111122111222222111222211121121111222211221222111122122111122221122222222121212122122112122212111222211111222121222222211212111212222222221121122212221112121222222222222121222122222222122222222212122221111212212222122121121112121212112211121111121221222112122121122121121121121112111211221122221221212211222221112211121222222121212122212221111212121111111111122121121212111122212112221121122212112221211122211111121121221222112212121222221122211121122222212111121112222222211212221112111222112122122221211212212221221221112211112121222212112212112222211112112222222212111221211222211111221212122112211222111122221122212121122211222221121211221221111222111121221122111211121111112121112111112111212211212211112121112112222221112112211212221222221111122211111122112211212222121212221211112122221211122111222221221122121121212111211211111111122111122111222211222122212222112112111121221121111112222222112211121211221222122112121212212211112112221221212221111122221221111122111211122112121112121121112211122122122111121112211211121211212211212121112222212222211112222112222212121121122211222212121221222122122122112111222111111212122112221222122221112212121122212121122221221112111111211121112212111211212212112222122121222211212111222112121221111211212212211121222112112122121222221111122112122212112211121122122211222122221212211122122212212111221221122211221121121122122211212122212211111121112122221112221111221211212211211121212122221212121221222212222211112112222111211121211111111111222122222221222122121121221112222111122212212212122111111212221221122221221221121122222122122121111111121112211221222111122112112211121212212112112122212212122212112211112111221111211122121111121121122122221122112222221212112122221212222211212112121121212112121212221211121222121212221122221122211112112221121211122112212222122121111122112111122122111121222222212112222111121211221111221121221222122121221211221222111122211111211121122221122212222222211222221212222112122121221212112111222212212121111121121112111211112111222112111211211122121221212112222122111112221211111122121112221122112111222211122221221222222111111122112212111211112112111212122222211111211121111112122122221112122222112221121112111211211221211211112111221211121221211122212212221211211221112222111121212212122211112221122112122212221121112122121121211122122111221222122222121222122211222222121212112122111111112111112112122222122112111121211122122211112222111111221221222121211221122221211222122121221212222221212112111112222122122212212212111221112111211122221112222111212211212121112112212212112111212222121111111111111211212111211111111111221111221112111111121111122112222122211212111121121111221112121211221122111221122211111112111121221212222221222221221111121222122111111122212111112122212211121221212121112112111222112212211122222122221222112212222221222222121122211111221122211212222112212121121112212222212122111211112212122212111222122112211112111212221221211121212122212212212121112212221212111221212122122112121222221211112221221112122211221212212212111211111112221222221212212121121222221121221111111212212111112121222212222221212221121222221212121111222221122122212121211111221222121112111212211221222211221222112121112111212121212221211122222221122122111112222112211112111122212122121212222222112111121212122112211111121121221122122111122211121122121122121211222212212122212121112222112121211221122221112112211122122212221212212211212112222112212221212111221212212121221112212222211212212121111222121111111121122122112111122221121122112121222111111211122111121121122222122122122112212212211211121111111212112122111211122211212112222111111212221211121221221211111211211111111122221211211221121211111111221211221211121111111212221221112121111221211112222121122122112221111122212122122211111211122122211111121112111212122222112122222112121112112111121121122111222222221111221112122112222112211222221211211212212211122222112211111121211222112222112212211221222112122212122111121111112112221111122211222222111121122122221122212211112112222111111121222121112212121211221211111111212121122211222121112221211211211211121212111211212111211112121112122121222122111122221112122211212112212121222211212122221111221222212122211111112211211212122122212211112122222221212112222122122212121211221212221122111122121121122212121112111122211222122111211212122211112221212211112221211112222122212111212112211211112112111111212111122222211112221212221121122222212121111112221121222111112222111221121122111212211212121221221212211112111211121221222121221221112121211121122221122112221222212211122112112121211111111121221111121212122111212121111222121122211211122111111222111112111221112221222211222212122122122111211221122111122222221111211122211212111112121212212122122222211221222211112122112221221212111111222121221211211111122212111111122122211221112122111221212112122212121221211211211121112222211212122122122221211222111122211221211111222111121212112212111212121121121222112111122111122212221212221112122122122121111222112121211112211122122221121221221211222111111212121111211212112122111111211122121222212221112212112111112122122211122121121221121211222222121221222212221112111211221121112122111212222211222112222212221121221112111211221121112222211212221112221111211211121111121221111222221212222122121111112222211221111112222112222222221212111211212122111211212111112211121121111221122111122112111121112111112122121121112212122211122121211221121122222221221221112222211211222111111212122122222212112122221222112111121111111121111212122222111211122222221122221212211112122221222222122121222212112212211221212121121112221212221111121212122111112221121222121222112212212122111212112221211122112121212211221222221112211121112112112211111112211122121221222221222111112112121222121111122122122111121212111112222211112221121211111122112122112112111112112221112112221121211221212111122111212111211122222222111211121222222222221222121221112122111221211222221112121221212122122211211122211122212222122222122211112112111222222112121211111122121222121222211121111222112212221222221112111221222212111122222212212212222212111222112112112222222221212111111121111121221112121122112122121211221122211121222212111112122212121221111212121121122112121221121222222121111221111211222122222211121222111211221121112112112121212122221112121212211112211122122122112121222111112221122211111122122212212211122211112121222221221221112211221211221222211221222212222221121212211212222122221112112211112122122122122212212211212222211121111111112121122212121222121111221221221122222221112122221111111112221222222121122111121122212221211111121221211121112221121222211121111112112212121112222222112211211222212221122121211211121111222121112112211121221211221211122111122212112212112122222212112221222122111212122211112211221211122122222221222221122211121222211121112212121122222111111121222212111211211122211122122221112212221111212221122111212221122112112121112111111112122121112212121212221112122112122222221212221122222122112112222121112221122222222211212221212111211111111212211111222222212122212122212212121222121222122111111122222111121211121221121211111211111222222222111111112111222112112211222211211111222222222112111211221111122121121121111112212212121111111121112122112112211111111211222122121211122222222121222211112112222212212121112211111211212112211212211122112212212112221112122112212121122211111212112212211212211221222112221112111112221222121122122121212211111121221212211211121112111222121212221112212211211111221211222111121111111211111112212121212122222222212111111222221111222122212122211212112112122111211212221111122122122112221221211211121121121222222112112211121221121221211221121112122121222222212112222211222221122211221211111122222212122212112112212111211221121121112221221112122212112111112221221221222222121221212222111211121212212212222221121211121222112211212222122222111212122122121112221221111212122211112122212222122211221111112112222122222122121111222121212222221111212122211121222112222222111121211212212212221212121121121112221212111211122112112222122222112222111112221121211222111221212112111121211212122121112222112112111121121222112222222222212111211212211212112222112211111112122122121122221112221222211111111212112212211122222222221212111112111212211122112221111122111112211112212212122211111111112212211221212221111221212221111221122121111121111211212111222111111221121222121221212122221122121112222212111221222121211121112221111212122121221111222112112111111221112121211122121122112112222221121112212211212111222222222221212121121212112122111112221222122122112222221111212211122112221222222221111111111222112211111212212211112121112111112211111221222111222221121222112221222212222222221222212112211111122211211211111112221221121112222222222122221221211212221211211221121121121121222111111111211121121111112122121222122211212122122111111211112211111121221112112221112121211122222211112111212121121222212221111212221222111221222222111112121112122111211112112222222211112122212112221121121112212111221121222111211222122121122211121221211211221212112121222222111111121112112211111222112122112212121122222212112221122111111222221122111222212111111111112111112222222221121221222122212111222212221122212221222222122221122112222112121122112222221111112122212211112111221221112222211222221121212121112112122121112111212112111222111211121112211211212111212121122122221211211112122111222121122122111211121111112212212222221211121222221111111112121121111211122211111111111212211111112122112111122112112121211212112212211112222221122212222211211122112111122122222212212122111121221111121221211221212112211211112121121222111121221211112221112211112112211222111111112222111221111122212122221222111221121212112212211221122222122122121111222111122122121211112112121111112211121211211112222222122211212211221112221221221122121122222122112121212221121222111211121121222112212112212221212221212222121212222221111222121112112221111211221111212121122121121211122111221221222122211112211122211221112111211222211122221122211121112222111221121111121221111121212221111221221112212212212222111212112221222111222112222212112222211121121212111122222222222221212212112211122222212122111112211222121222121211212221111112122211212212111222221222122121111221111121111121122222222122212222222212112222121122222111222212111111212221221212222112121122111211121121211111112221221111221211122221112211221212212121211211212221221222222211221121112121122222222212121211212221111211111112111222222111222221221121121221221212212122122112212211111112122222211212122222122222121221121222212212111221122112222111121122222211211111111112221221221112222112112211222212111122122111222121111111222122211112111121111212111111111121222112211121222222211122112122222221121121221221121212122111122212221122121211122111212121112121121222212122221111121211122222211221121112212122222111212122122111121122121112211112121211121212112122221211121111122212112112212212212221221122122212122111212121211222112211221212122211222211212121212222112122122111211221112112222121122221112121122111111111222112111121122112121221212222211122221112211121221112112212221122121211211222211211121212222221121222121111211121112222212111212212122222122111122122211112212111121111121122212212211121211122221111211221222111212221112211212121212211122221122211121221221212211211111111122211222212222222221221212222211222212111111211222122121222112112122121212122211121121222112122111222122211221211212211112122222112111111221212122112112121112111211221222121212212121221222222111222122211122111221211222221121211112121211211212121211222221121221221121111211121121111212112222212112111212121211112122222222222121111121212221122212222111121222222111112121221121221112211221112222112211211112222221221222111211121211211211112122122222111211211212122222111222122211221112122111222122121121111221222112112111112111112212221111211112221222212211212122212212222212211212122211122212211212222111211121221211111212211112212222122211112112221121222211122122211222222112122122221121122211212111111221121122122111211222111212112112212111121221221222211111121212222222111122211221112121122211121222211111112211212111212111121211211221122221222122111221122221211222212222222221211221211212122212121112211122112122112211222212121222211212112211212221222222221212212112122122111111122112221112212111111111211221221221212111122121112212221211112111221221211112222212111122211121122211122222112112212121212221211112221122121122111111121212112121111211211112122121222222212121111121221221121212112211122211112111222222122212222111112122221111121221222121121111212111121112122111212222112121122111111221122122212221112121112122212212121112221122112111211121212211121111111211121222111221212122221221212112122121111111212122212121122112122221221222121112111111111121111121112212212122222221122122221211222111222121212121112212212222211222111222211112122122111222211221222121111222212212112222212112221211122122222221221211121122122212122111112222212112211212222212122221112122111211212121122121212111121111122122222112121112211212112121112222122211111212112211222222122112121122122111121222221121121122121222122111221212212122221211221121112212212212222221121212222111121122111221122221111122112222111222212211211122221222112121122222121222111211121221112112221211221221121112212111222222211212111211122212111112112211221111212111222221122121211221222211121111122211121111121221211122221211111112222112212112221121221211111112112122112112122122111211111221212112211211121222121121221111111121221222221112122221121212221121222122221122222112112122111122221121221212121112222121211112221222212221112111222121112222122221112112112122122111221211122112111212112112112111111211121112221121212221112211222121221111221212122121211111222221221212112222111222221111222221222122211112122212121211122111211221212111112211212121211221212122111122221121112122112222211211112121221122112222221122122122122211211221122111111122221222211122211121121112112111212111212121212112222221121222122212211211212121222112222221111111211221212211121122222211222112211111211212222222112121212222211212122122211211111212111212222221222111212121222111122211211112111222111111211112221121222221112221211211222121212211212111211212211221221112211121112221122122122211121122122121111212212122212121222112122221211112112211111221212211121212222121221122112112122212121221121212112122211221121111112122122211212211212112212222211222121221221111121111222222211211112211212111221112212211112221121221121212211122122222221222112121121122211121212221211121112122112221122112211211111211222211221211111212211222221121122222112221112211211112211221112112212222221121211221211221221212112222111112222111122212221122112121122222221111112122121212212121122111121211112221222112122121122122121111212122211221221211121221111221222212222122121222211222112122221221222211212222111111122211122111112122212121121212211222121111112212212212212111121221122212211221122222211111122121121211121112112221111222221121122221211222221222221112221222212121211212221122222211122112211121211212122121212222212221222122122122221111122211221211111111112121122111222222112121121111122222222112212111211212222121222111111212121211112111211122111212111221121122222121222211222112222212221121211121222212112122222122212222222122211112221211221112211111221111121222112211221122121211222122222222222221212211212121122111121221122121112211222122211121222121112122221221122121212222112122112121121121122222112111121112121211222221222221112121222221212122112212121121121222121211121222121111221111122112122112122121222121222211122111121122212222221222121212122111212222212212221222211221211111121112122212222212112122122122121212212111221221211112111222112221111111212111222112112212221221112122212121112221111121111212211112121111211221121221221111222222121121211211112212222221112211122221211111222222221111221211112122211122121221222112212221111122121122112211212212222221221112121121121212112121211121111111111122222211112121211112112112211221112211122112211211112112112221112212121222221111222112211112221212212121212112112211211121221111211121112212222111111111212111212221121111221111212222112221112222221211212112121212121221221221211211121211112122112222221212121221111112212111222221111222112211121122212211111112121121211212121212121212111212121212121221221111222111112221112222221112212121121211222211122122122121222112111221121222212121222111212211211121122211112221222212221211211122221221221122122112222122222221222121212121222121211212211222212122122121221121211222111122211221222212122122112122222212221222211112212212221221212211122221121122212222212211122122111211212211222122122121112111211212222222111121221221222222222112122221111212212121121122212211221211222221212211212111112121122212122222111211111221121122221212212121221111212111122112212211122212212111112112212121122112112122112221111111211111121212121211221112111121112221212221212111111111121121221122122212221122111121212222212112122112111211221212122111222112112112122211221111212221122122121211122121121122212122222212112211122212111222222211221221121212122111221211111211121112221111122222111222221122121211122121221212221121121221122221221211212211211121212221112212121121222122212111211221211221212121222122222212121121122222122222221211111221212111212221121112111121212121111212122112122212222221222212112221111212122211111212111121221122122122222111121222112211221212222212212221111112221121221122211111122221112212211211111111121121112221121211112111121122111122221221211222122221222211121222221111112211211212122111122112112121111111121212122222222221121221122222222211111112211121121222222222212112221122212221222221112122221211221221222222112112221122111112112121211112121221122222121112211211112211122112211222112222122112221121222221122121112211112112221211112111121111211222222211112212121222111112211221212121112212212221111212122221112121222221212111221211222212212111221112221221211222121221211211111221212122111111222212221122212122111111121212122221212211112222212112222121111212121122112212121121211222121122221221121111121212212212121112122221212212212122112212222222121121122112212121222221122121211111121212122122222221112112212222221221212211221221212122112211121212121121112111212121222211112111211122212122112121112221222222221122221212122112212112222221212111121222111211121122211212211111211222111222211112212211212111111212121111222112111112112211121222211212212222111122111212211221121221121111122121112212111121222122211111112121212222221211121212222221221212111211111222222122212111211222122222212112111111112222111222221221222211121221122112112122211121122111121222121111121111121222121122122211121221211221211211122112122221212211221111112111112211111121111222122221222222121112112222211121121121212221212211122111212212112211221222112112121222112212222121111111122112111221222122222221212221112221121222111121221221221122222111222121211212222121221112221122111222112111222222222211122112111112121111121112211121121122121121222211112122211211111211112111122112211111211222211121122111212211111211122221211122211121112112111122212212112221212121111222112221111112212212211211212112222121111222112122122211222112111211211112212221221112222212212222211111111211122211221111111221211121121112122111122221112112211212211121112122222111221111221221222211122211212111212222211222121222122212221122212112222112212111121111222221222122121221112221222212121222111122122121212112211121112121212121211211212111221221112212212111111111112222212111111111211211212111211222122112122111222112121111222221212221212111112222222222222222211122222112212122222122122212211221111122112112121221222221112112121122211121211112112111221211211111221221111121222221211212111212221122211211122121221221111211122112111122112221211212121212211121121112222212112122122211222211112122112111222111221112121222212221222112221121212111112112221212111121221222111211112122221212212221122211222111122122112112211122222112212221212221222222222122221112112121112122212111112122212122122222111221122211112111122211112121211211111211211112222212121112222122211211112111112112122222121212122121211212222221221112112111112121221212122221122121122222111222121121112222221212212112122121112222221221211221121112122211121211222212212122221211122211211222222112112211212212221112222211112222111211222211122121122222221211221112122211211211211112111222111121222221211122112121122111111221222112211111111122222221122111121222222211222122121212221122221121122221211211211122222222222111212212121111112221112122121211121222221221211222221222112111212211211112221211122211212111222221211122121121221121121111122221111111122121111222111212222211111221121122112211212111221222221222211211222111122212212221221111121122211212222212211121121211112212221211211212122122212121212122122222112221111212211122122212111222212111221211222121211222112211222212212111211221122222221121212122212212221212212211221211212221122211221212121221122111111121222212211122212221121211111222222122111122212111221122221212121222122211222222212212121221112221112121212122122212112212211121212121221112121222121122212121122222222121221112221112111212212222222211122221111121212222112212221111111211121222122212212122112211212122121122222111222221121111111112211121111221211122111221221111111212121212211212211122121111121121211221221222212212211222211122111122121211212221112122222112211211222112222112111121212211221121122112112221221111221212112212212112121221222121221222211111221211122122122112121211212212121222111122122212221212122121111212211122222112122112211211111122211111121121121111211111111112222222112122212111121221222112111222111112221121111122221112212122221122222111111212112211121211222222111122112122222111222121112212111222121222112122221211121222222212222212222112112112221121111222121222221112111121211111111111222222211221212222221222211111121111112121222122112111111222122112122111211221111122111221211112122111122221212212212211111212222121221222212112111212221122112211221111221211121111122112112112212222211121211212222212112112111221112112211212211211111112212222122221222212122211112222111112111121112221212111211212211121212111221121212211112112221211221112221212121221212222212111221212211122111121122212112111211222112211211111211221122221222121111211221222111212112112222222122212122211222122222121221221211122112111212122221111221221121211221212111121121212111112121122221122222222221112222211121121122112212212112212222222222221112111221121122121111121212122111222112221121222222122111212121222222111222211211112212221222121221222222122121221121211111111121211112221212222111112221221221212112212221112221211121212211222122211121122211112111211111221112121212122112122221121112221212112212112122111222122112211112211212211112212221122211221221121111122211112111121122111221122121212212221221122111122222212111111222111121211121111222221111212112212222121111122121112122212121211122112121112211111222211222221111211222122211112211112112211212211122121121222112221112112221221122211122121121111111212111111121212211121221111221221222112112221111112121221112222211222121221212111211222212221222222221112211122121112212222212112222121122211221211121211211211112222121111222222111121222111211222112211121121121111112221221211222212121122122122212111112122212112111121222211121221111212121112212122121111122212112222221222212111122111121212211222211211112112211212122122212221111212121221121122111121121222122121222211222212122111211222212222112222221212112122112121211222212112112122112211121212122112211111211221212211112221122221112211122212212122212221111212112212111212112221211111211221112121221112111121112111221111111121212121111122222222112111222112221121121112212121112212211111212222212212121111212122211212112222221121111111212111121111212121121122121121221112212112212112222212111211112111111122212211211222111122222111122121222221122221211121212112112122112122222212111212211121121222211222211111111111111111121112221122212122111112122122221121112221111122121121211111212221212111211121221212222122222211221222122212112122221212111111222212111121112212122222221111222222112222121221121111122221122222111222111112121111121222122122222222222211112121122121122221222122222222122212122122212221221111121121121221222211211221212111122112211112111111122212112121222111111212221212112112221211222212222221111121211212121121211212111112122122112111212112122111211212121222111122112221122212112111212112211211222222222122111122112112212221121221121221111221121221121122122222222122112121122211222211211111221112221222222121111121212212222121211121121222111221211111222211212122122222121211111212221122121112221122122122111121222222212222211122221212122211211212111122112122112112222112222211221122112211112111222222211211221112221221111112212221121122221222122111221212212222112121212111212121211221111222211122222122121112122122112211112212122121221111212111111221211222212112221222111221222221111211222212221111112211122112121112121222211222112221221211212222211221221211122112211112211121121211121121221222222212122112112211122221111121212111221221121111122212211211222221222122122121112221122212121122122222212211111221212122111211111221221221212221211122211211222212111212211122122212222222122211222112122221212111121212111212122221222122212222121222111212222122121221112211212122211221121221112221121211111112212222121122112211222112121112212211212221111111211212112112212111212121112122122111212211221121221221112111122122111222222122212121211112112222121211112111112211211211112121212121111122121211112121121222122221222221122122121121112222121112111211221212111111111212112121122121121122212112121212112112121222211111212221112222222211221122212111211122122211211222212222122111211211212222111111122112211111222211122221221221121222111211121221221211112212122112212211221111221112112212111122222211212122111112212111121121212222122222111212112111211122112122112111211211222212111212211111112111122121122112111222122121212111221211112221212111111212222121121121212221222121122112211121212121222211221222221222221221222222222111121121121212111121111112112211211211122112112112112111121112112212121121111222222221112122221122122121121222121121222212221111111122212122212222221122112221212121212122212211122112122211211212121222122221111211112112111112111111121212211222112122211221121111221212122211112112222211122212122121211221122221221112222122111211112221122122212221211221122122222211211122221121211112122121211211212211222212111222221221211121211112111121222212121212222222121222111212221122122122121212111111211121222121222222111111111221111222222122211122111122121112212122211121222111112122111121212111121111111212212121212121212222122122212211221112111122211111212121112211121111111122211111112222222222121112111222211222212211121111212112222221112121212122221112122121222211221112211121222212111122121211211122212212212122222222121212211111122122212111211112122121122222221121212211211222211122211122211222122122112222211211222222212121212212121122211212222121211211122122122212221121121122111112221111211212121121111122211222211211222221122121211122122121112122111121211122121222222122122111222221221112212112112122212121212221121221121112221121212221212111111221212212112211121112121212211122121122121122121211221211221211212112221221112211221211212111111112211222112222121111221112112221221221112121122111221221112112122122221121222121111121112112221111122221121111221222222221222212221111111211221121121221211222211121211212122222211211212112211111112211121121111222211212222121222222221212221212112211212121121212111112211212222211222211212112211212212211111212112112212122221122112112122121111112211121222212112111211211212121211221122111211212211122211121212212212222111211122112221222212221211221211222121211122111211122211121111212222222122221222221122221222211111211212221222111111221222212221121222211212211122211122221212112212211211211122212211111121122212112211121122112222122122211111212111212222222222221122212121221212121112121222111222112221122122112212122111221212112121211221112122222121111121222211221122222221221222122111221221212221111212122122221111221112221122112212122222211122222221221221211121112111221121121222221212212221111211222121212211221222212111212221212211112222212112121221111122222122121121111221211122221122121211221111112121121222211212122222111221211122222211222211112121211122111222212211221221211222211111121222212221222211211121112111112111112111211111221122122212111111221211112211222112212121221212122112212222111211122121221112221211222111122121222111222212122111111111212222211221222112221211212122212211122211221122222112121112121121111222121122112112121222121111212212211221122211221221121212222211112112121222221211112121211122221121112121212112122122212222122212211121211211221112122212211111112212222111221212211222222122111221112221112221121212212112111121212222111221211121211212121212221122211111121221111121111211112212121212221212111222221221221112121211111212212221121222221221112211122122221212121221211121222212112121111111112122222112112222121122111221221212222122222211112212112221111112211222211122122121122122221211211221122121121121222111212221211122211111222111111222221222212211211111112211221121211122222111222122221221222122112111112112121211111111212122222212111121121122122112211112211211122212122211222121112121122222211222111211122121211121222122212122211111212212221212221112221112211122121111122122211122221112211122111212222122112221212222222111121222222111222221221212212211212221211212211111222221112122112112222221221121122112212111111121212122211122221222211111122122111112121221212122121211221221112222221121121222112112221111111222112112122122211122211122212221111212221122112112112222211222211111212211121211212121222111121122122212112211212221121122222111222111122111222212222212221121122122212221121122222222122221122112122221121122122111122211212122111111112111122111211211122122112121222222111221221222222211222212111112221121212221112111222211211211221212112111112111111221121111212211212211121111222121112112122122211111221212121211121222222121221122121121221121221121111121221111121121121112111212112112211211222222121211211221212111111221122121111212111222222122112121122111222111112112212121111212212112122121112221222121212212121211212122211111122211221211221121122122121111121122122112111111211121111121222211111111111221122211112122121221211111111212212212211121112212121112111112211221112112212212222212111111221122122121111121221222221221112211211221121121222111121212111212111222211222112121211211121121121121121122121212221112112211211122111211112221122112221212221222211211112111112211212211221112122211212112121112122212221111111222112111211222211121222111121221121211211112121211111122212221122112112122212122122212112221212221221122121111122122121211212111211221212121212212111112211112122121112211112121221121222221212222211112222212112221212122111212221122111112222121122222211122121222112111111112212111212121212111221222111211121221112121122211121211212221222212111211211111222212222122212122222122212111112222211212122112222121112121121122121111111222222112211212111111112222222212122121212121122212211211122121211221121222111112222111111111122122112112211222212121221221112222211211221121211212112221112211212212221121211222112222211222112222111212121122112122121222221212212112211122121211221111121112111112221211222222222222122211211212222222212122222212121221221112112121221111221212112211212221111121112222222111121111221221212112212211122122211121221121121212222222221212222121212211212111222122221222221121222122222212121212211222222112122112122111222222211122112121211211212112121121211121212221122222212122122212221121112221122122112221212122211122111121222111121111212111121221121222221122221121212211111122112212121211221122112111112122221111111112112212112112222221211112212222112221221121112122112211221222221121211212212211111212122211221122112122111222212212111121121111221211122222211122121122221112112121212211121121211112111122122211121212122121112211212122211111112221212122111112112111212112121222121212212211222212111221122121112212111211112221222212212111221111211221112112111112212111211221122221121222222211222222211221121212212112222222221121122222111121221212212212111112112212211121211212112222222212112111111121121121222222112122222221112112212111121111122121111222221112112211122211111111211122222112112122121112111122121112112122111212121111112121211111112112121122122122222112222221212111122122121122212111112112112212121112111111122112221112112211221221211222112122221212121212111122121222121112112111111111112211111121211112111211222121211212222112212212122211222111211222222211112122221112211222212122211221111221221222211211112112121122212221212122111121221122111111221212111112122122122112222211121221111122122112221112112121121112222112222112211212211121112121221112221111222122121112121221111112112111222221221111111111122221111221211111222111221212222212122122112211122212122211211222221121211211111221221112112111111222212121221122222112221211222222112122111221121111112212211211111111112122222111122112112111111111121211122211222221122111221111222122112211121111121122221212211221212222212222121211222111212211111112222211121222211112122212221112212222221221221211112111111212211122121221121122221112212211111212112121112211212222221112212212121211112112122211112121221212122221222212122222221221211122222111212122221121112122111121111122221121212221212111212212222111222221211222211222212212221212122211112221121212111222222121212212121111111122121222211111112212122112212221122211112222221222221122112221112111122122222221211121211121112222222111211212122111212211122122121112121122222212111121212112222121112122211121121111212112222121211121212121112221211122122211112112222212221221212221111212111112111221121211122212211112221121221121212212211221212121112112212112122111221212112112212111121122222122111122221211111122212111211212112112122222221222222121212112212122211212111221221211222112121211222112122111121122221122221112221121122212222121122122211112222222211122221121212211211122211222112221221222122212221112122211121221112212122221221221211211122221221211111222211122222212222112121121221122122222221222221111211222121211122222222211211211121112111221121211212211211222212121212121222111212121222111121222121121122211222211111121221211111121221122111122211222121122122112222111112111122112112111212222222112211122112111111111222222111221121112121212212112222211121121211111112212111111222221121111122222112221211222212121211112122121111222111122212221112212222211112111111211111121212112122222121121122121221212111112122222112121221221121111221222122111222111122121222122221222211112121221112211221221112221112222122122222212212111112221121221122112211212112211111111122222221111112112121111111112222221112122111112121121212122111221122112211111222121221212212112222121111212221211222221112222122112121112211112212121211222221122111111212112211211222211221121112121222221212222211222112221211222111221211112221212211122112121111121121112211212211212222122221211121222111221111112121222111211212112122122122122222122111121221111121211112111111221112122211112222221122122221211222221221122211111221122211212222112111121222112211121112212211221221221111221221111212221221221122112121112222121212212122111111111121222122121221211221111211211221122112211221111111211122122222211212111212211111111111111222222211212121111212221212222121222121111121112211112112122111121111221111121221221121222112222112122222122122122211112212211111212212112122221111212121112221112221112221222121211111221121222221222122122212122212222122211111112112211221121112122122212222112212222211211221221112121211111212121212212112112211211212222111112121221221222221121121222111121211111222121122211212222222112221112212122221212111212112221212122222212221222211111211221122121211212212222221121111122121212211222222211221111221112112212222212212212221112222121111222221212221211222122122212212122222211222211112112221211111221221112211222212221221111122211122112211212211112221122121211122212121221122211121211122111221211222212112211112112221111121111222211121121112122121211121211221121221222121222121111222111221111121211211121112222122122222222221212222221111222112111212112212112212211121212122212121112212221211211221211112111111221111221122112211212121121112211111221121211122212212122112222121212211121121112112212212221211112221222211121112112122221221122111222222121112212121222122121121111222212121112222222211222122221212212212222121122121221222221122222211121221121122122212122221111212112222221122122212122111221222111222221222122212111212211112122212212122111111221122111112212121121122222111111112111122122122121111221112112212112111122212211121221211212122211111111121121212122121122111211211211122221112211221112211121212112111212212211121121111212122121221121222122221212212121121111221122122111222222111222221122222112112211111112111221122111212112111121111122121111121221222111111221211112121112122122221111111121121121122222222212122111111221211111222211221121221112211111122112222112212222212211212211211121222221111112212211212122211112112211211222122121122121221211212222111222221121121111111112111211112212112121212221112122221111121111112221112211222122112122121112112221112112111211121222111221222122122112222112222222112222111222122221121122111111112121211111221212121122122112122121222222121222122121221121212212222122212211211222121111122211112221112112211121112112121121112211121122222222121112221211211111121212112222121212122222222122211111121221112211111111212112212212222112221121121121222111211221221211222112121222121111222121211212221211221222112111112111122211122222122122211112211121221212221222111221122221121221211111121121212221221221111122112222222211112122222111111221221211112112211222111211121221121121222211111222222121211221112122222211111112112112112221222121122212222112122121111211111212112122122222212212111222211111122111212121212121212222222112121211111212121211212222111211222211122112121212122122111212212222221112112212222122111212122122211222222211111212212112112221112121122222111111112111121222122122212122112112121222222122212222221112121221221121111121111222121222121222221121112121111112221121122121112111111212222112212121122122112112211111211221121221122211111111112222111121121121212221212211211121122222211212121111212112222211112211122211211121221111122212121121212212122211221211211122212211212121122212121222222222121222122121121112122121221211221221112121121212112221112112222112122211211211211222122212211121111111121211212211111112111112122212121122122221212212111211112222112121221111122111212211122222212121112221112212122121122122122211211111111112211122122212212212212211112121111222222221211221221212121211112122212122122212211121221122122221112121111122121122112222111112222111212122121222221112211121111112121111121122122112222121111211222222212122122111121221122222222222222211122112212121122211122222211112121212212222121212122222211212212221222222212122121112112212112212212111112122122212212211212122122212221112122121222112222121122111122222212211122122112212121122221122121211121222111112112212122111222211112112112112122122112212222122222212111122111122111211212121212212222121211212211221211222222121121112111221212112221112222212222221222211111222121221212122121121221211222112211121222111112211121211121122222122112222111122111121111211111222222122211111112212211212122211221122111211121211211221222212121111122122211122211112221122121212111121121221111111211222212121122212222221222121112221111211212211112111111121221121112221121111112221111112212212121122212212221212111111222122121122122222122111222122112112122211211122112121112121212221122111222212111122111111212122121122212221122211111212222221122221221221212111122211122222112112112221212121222121122212211111122212221122122112221122111222122212122222222112222221121211221221212122122221222222211111111222221121121211112221111211122122211122111122111111222222111121211211212221211112121111112111121122212221222221221112221111111121112211121112111222122221222112112122112122211111221111212222212221121112121221222122121221222212112211212222221111121112221111121211211122121211112212112121221222211111221121111221212221121121111112121212222122212111211122212121222122111222112211212112112221112121222112121112111112112222111211121212112221212211211221111112212211112112122212111112212121222222112221121111122111212112122111221222212211211211222222212121212211111221221222211112212111122211212212222211222111122221121111211112112122212211122222212112112221221122111122112221111111212111121121212112121221112211221212211122211211121211111212211222222111211221112212111111121222111212211221221122111211211211212122111112212111112111121112122122212111212121212212211112211121121122212211221112112222121212122111211112211211211222211112111111112112121112112111121112221111111121111111222111122112122121222212111212121212221222112212112211222212222222212221221111121221121212211121121121211121112222122211221211222221111121211221212112121121221212221112121121112212221122112112122211222111222212212211222122212122221122121211212121222222121111222222211211211212112111221111111222121221212212221221221222222222221121122122112121122122211222112111221121221212221111122112121221222122222211211222112221112221121222122211222222221121112121221112122221212221211121221211211211122121111212121122211112222211221222112121221121212221111121211121121122222121112121121221111112222221112222211111111222212221221121121111121122122112121111211212122122121122212221212212211212221212112222111112221211121111112222221112112212112111222122222222221221211211121122211121112221211121112221121222121221112222211212212221212221122221212122221111211121222121221121122121221212121121121211221212212212111122222211211211212211111112112122212211211121121222211221222212212112222212111211111111112111211211121222112211122122122221122111211121111112212111212111122121112112212112111122112222112121212212111111221122211122111221122122221112121121121111111222112121122121222212112222112122221212111111212211121221211121212122211222212211222221122221221222211122122122211211122222111121212221212212221122212222122211212212222122112121212122211112122212121222112211221212111122111121212221112111222211122112212121111122211222112121121112122211211211222111112222111122122121221121112212221121111112221121212211222111122122222122222212212221221121221222212121112221222211221122222122121212112221122112212111111222112222211212221111211221111122222212122121212222122121221222122112112122211221121122122111112112212111112212111221112222221121221122221111221112121112212122121221121222121111222212112222222122221222211112121212212121111121211111212112122222121211212221211122111212122121222111222111121222111222121222121221212221211221222122111212112122111121112222221121221122122222111112122122222121111111122222121122212122122111121122121212211221111111111222211211121111111211122122122212211111122112111221221221111221121211111222211112222122211212221222121111212121112212122122121212121222212122212212111111222221221211121211211212121112121211112122121112112122212122211211111121122112122211221212211221112211212112221222121121111221121222111222111112111211221221112221212121212212221121221212211121112212121121212111212121221122222212222212121212122211121222221112111112221121221112221211112121212112122212111212121211122112121211212122112112211122211212121222221222112121222212212111211111112222111122211112121122212212221111211121121121211122212211111221122112122222122221122221121221122211112121121112211212111211121121211211222121221122212212222121222221222222122212121111122111211122212212221221222222112221121221221222112211121112222111111222222111212122222112112222211212112121112112221221221122122112211111221111121222211212222221222221122121211111212212122122212111221112221112121222111212112122222111211111121121122111211222221221112121112121112122212122121211112111211111112122222121122221111221211111212122112121222122112211212121211112111112221112112212212212212221221122122112211221111221212122212211122222212221211211122111112211121212111211111121221121122121212221122212112211221112112222222222212211222122121221112121221122122222122221122122222211112121111112122111221221121221212221211211112211121211211222211211222221111211112212111221111122111121212212221222212212112111121122121222121221212121221212122111221212112221221112221221111211122211221221222122222122222111212122112111212111221212122121121211121221212212212121211222111121211221211112121212112211122122111121211221121112211111121222122211121222222121211112122211212122121121221212122222121112111212222121222222121122221121112111212212112212121112112111111211211111222112212221212121122111222121212221112222212111122122122211222211112221112212121211221121111222212221122122212221221221221121212112111122111111111211112221212222121211122121111112212211211122211122222111222211111222221121212121222112221112212211221212211221221222211112222121112121122121121112112221122122212222221122122112222112221111221122221112222211211212121222112121111121222122211122111122222121122212212222212211221212221122121122211212122211212111211122222221121211222121121211112112111121211111222111122222121211111222122212222111211111221221111111221212222112122112121211212212212122112111212211211111122122121112211221221121112122111222112111222122112221221222221122111121221211121112222212211122111211122221112111122212112222121112112221211211211122221222212221221122121211122122122211111112221221122121221111212212222222212122111212221112111211222222111221112222111221121112111112222122221122222122111112221211112212112111222221122122121122121222221121112121221111121122222112221212111221211122212212212222111221111211111122122221111112211212221111221221212121122112121121222112211212211112222112111121111121222222221222211211121212112221112222212212112112112121111222112111111111221211222122121111112111122122112221112112221112122211212222112211112211111221111212221121222222222221121212112112111121211212211122122122111211221222222212121222111112122122111122221211212111222212212111211112112221121222221221212112112112211111122212122122212122222111222111212121112122112221112221122211112111222111112112121211121111221222111112212111212112212222112121122122111211212122121212221121221112222211222121111221122212122222221212122221222111112211212122211221221122112111121211121111122221112211221122222221222221122122222212221222212222221121211121211112211121211212111221221221222222122111211211122111122211112111211211211121121122111221111212221211121121221222111112112221121122111212122211111221221111212211111212122121221122212222211212211222222221122111111112121122111111112122121212222122112112221221221112122122111211211212112211222221212222221111112221221211212111121221111212121112221121111122211211122212122111222211211212221221222222221221122211122112122211122211212222111211122112222212221112212111121122121211111112221112122212222212221122221212111221112212211221111111122211222122221211122111122112221122112211212122111111221222222211121121221112211121211112211122221122211221222222222122122112222211222211212112211122121212222221111112121111122212222222121212211211212111211121121212211221122122111212221221122212112221211222221211211212121121221211211221121212111112112121221222212122111122212222222111121121121211211211222221111112221122111222222222212211112211121212212222222122222111211112121122111121122212222221122221211221122111211112212112222212222112121222121121122221121221211112121121211222221211121122211112222122212122211122211212121111222211122111111112122122112212121222211121112211121121212121211112221121212211121212221212221121211121121222111112122111222121211212111211212211211221111111121222221222122111212212221222221222112222222222212221211112222221212111221121221111111212221212121211112121222111121122222222212211121112111211222112121121212121212211112112222112111122221112111222212111112221112212221222221221112121111122222121212121111111222112211112122211222111111122211222121111111222111212122221112212222112122122222221111212122212212112212112221111121121222122122121121111221111122111221111121221221122211112121122221112221212121121121211121211221222112212212122122111112112221112212112112222221122112222111112212221221111121121111111221221112221221212211211212221112211221121211211222121222211211122121121221112222111121112221212211111122112212112122222212221222111112121112111122112211122121122211111111112121121222212122122222212211222211221222122111212211211121112221212121112111121112111212121112121222222221121211111211111212212212111111121221112222111222111222222121111121111222212212121122121121222212222111211211112212111111212212121212122211111221221221221111112122111211121212111211211222122112122121221122211121121121211211111111112211111111212111211121211212122211211221112221111111121111121211112111121122122221112111121112221212221222212212112121211111212122222221212221212222221112111222112222111111122112222212221121211222121122121212212112121211211221112222122221221112212212121211211212211111111212111112121111212121112121221112122221111112111122121222122222122222211211111222112112112222222111212111122211122211211222112122112222122111222212112211122221121112221222212222211221112122211212211212221121112211212222221121221122212212212112221122111112122121211221221122222111112122212221212221121212212222111212122112212122111211122122222211221122212121122112221221111112221212121122111212121222111221221211211222111121122221122122111221122222211222111111121121211112111222211221221121222221221122111211122211121112111211211121221211121121221222112222212121211211221112111111212212111221221212221111222222212212212111122222122122222111121222121222121222122122122222122212222221211222211222221212121121221221222211211211221212111121121122111221212221112212211211221122122211221221222212221222221222222121111212111212211211211121122122221111121211211212222222222212222121112111221112222211221121112121211212221112211111221112121222212111212111121211211212211212121111222122121121122211122122112211211222122222112221111211222212111221112212111212211122222212211122112211211222211222212111112222211111122222112112121221122112222212221122112211121212121122221222221121211121212121122222222122111121221112211211111211222122222122122122222121122221221211222112222222121222112111222111222211111121221111211111222212111211122121122211221111112222111222111222122122122111111112221211122122212112122222111212222122212122112222222122222121212111122121212121111121212111212112211122221122122211222111211111111111222222212111122211212122211221121211212221211122111112221122212211112211212212112112122122121112212112111122112122221212112221211112112121112122212222112121221121122211121221112222121212221212112112212222222112122111121121211112121212111212122111221222122121111222122222122222212121221121122121211221111121211211211212212111122212222211212222221221221222122222122111121122121222112111221221211211122212122221211112222121112122221212222112111221122111221121222122212111212211111222111221111122212222212212212122211212212112222121112122212222121111222221111122212222111221112212211221111211222112212211212221111111222212222111211112211112121221212222111221121111121112111221212122211121221222221111111112212112122212222121212122222222122122112111112212112122221121122111212112212112211122111222121122212221222121121111221211112111112122121222222222111111222112222211111121221222111212211212212222121222212221221112112121211112111122222122211222222212222212222221121121211221111221111111212222121212212211212211112111211221122222221212122122121211111212112222122111211112122212111111111121111112211111122222112121211121121122211211111212222112121212112111111111221111222211121212211212121121222112121212221111222111112111122211111121212111122211211112211222212111211111222221222122111121211212221121212212112212211222222121112122121121211221111121121112211111121122111111111121222211221122222222212222122211221111211222111121222122112122211122121111111211211112122121212221221221221211222212211122122121221221211121221122221211211222212112221122212111211112221112112111212111121112111121121222122112122121121112121112222121111212122222221211222222111121222221121222122112112212212211211111222121121111111121212122121111211211221111212221111111222121112222211111221221211122211212121221122212122211112121111121111111211111212212222222111212121122112111111212122122122121211121222212211112211112121122122112122221111221112111222222111121122221222222212211212122111212122122222212211111212122122122211111111121122121121222122121112221222121212111112121212211221122211212211111222112211212212222221112222212221221121221111121222111222111112211211212121121111111111111212222122112221222221121122121111112121112122211222222111112111211212111222222221112111221112111111221211111121121121221111221222212212211222122122212222121111212111212111111221121211222122112111121221121122111111122222212221111111212211121211112122122212221212121121122111122112122222211112222212122111221221121212221221221221112221112222121211221211121121121112222112212221212221112222211111112112222211212211212122212222211121122212122221222211112111211221112121111222111221111122121112222112111122222212121111222221122221122222111122221212221222221212111222212111222122211111211121122211222212212121111222221212212121221111121111122111222111212222121221221111112212121111222112221111221122212221211212221212112222111112221212121221122112212122211121122221111111122212211211222122222121112112122211112221122122212112112211112112122211221221212111111222122111111121221112212211222212212221212222111221122212111112121111111222221212121222121212222222211122211221112211121211112121122112221221121122112112221112121221111111211122211222211211121122211221211211122112122122222122222221221212222111211121222121111121122112122212221212221212222221112221222121222212122121212121112211221221211212212212211122122112212112221212222121122122111122212212121121211221121222122212122221122112211221212221222221211111212222111111221121212212121112121111221112112111121122212111112222212121122221111211111221111212111122211221221111122221212121211212221122211112212122222212211122211212122121222212212211111211121211111121111122211121222122221111121121121111222222111122221212121122212212211221221211221111211212211112211111211212211222112111111222222111122111221112211221121222212211211222222212221212111221222122122212211222121122221211221121111122211121221222221222211112112122221221122212111111222222111222121211222112211122222122211111122222211111122212222222212212112211122211221221211212112122212112121211221112211111111121211121212222211121211222122122212122211111221211212222221221122122211222212112211222122222112211111221211121221111112111211222111211121121211112212121212121122211211221222112111121211111111121121212112221121111212222112121221121221122221221221112212211222112211212111221111121221112222111122122111121212212212122121121222112112112212212121221222121221221211121221111212222112222221212112211122212222211121111222222112221112112111221222112112211221212121222212121222222122121121212122121122222222221222122111222211211222122122221211111111112221122221112122211111212121222122122211211122122222122212211211122121212121122111212121121111212111121211111121212211122121111111112211111121212212221121211122211111211112122112121221111212211212211122221122112212122222121121112111121121212122111111121211122112122111212122222212112212112221122111211221221211121211221112212221121222112111122211122221211122122122112221111122112222121211111121111211212211111222121121122212222211212112221112212121222212222222111211111212212121122122222112222112122121211221222211121212121211221221111212221122222221221212112221212222222111222212222222222221221211211221112222212111222121112222222122222121222122212211212111221211211122211111212122112211121222221212212211121122111112112222222121221211122122212121221121122222222111222111211221112111112111122121111122222212122212112221112121212211111121122212122121222122122111111112111112122222112112221221112112212112111121222112211112212212222222121211121222212212221222221121111121211211112112111112222212211122221221121122111121122221111222121221111211121121122121112122121121121112112122211111212221112211121112222112221111221121121212212122211212222211212221212212112211121211122222221221212222211122222222222212222221111111112111111221221212111211112112111122112212222121122121122111221221211122211222111212121212121222222221122211221212212221121212221221212221111221111111112121211121111211211212221212211212221122212121221121211221122112111211121222222121212121111221211121222121121112222212211111212122212111111111222111112221111211222212212122221211221221111222122111221211212122222221221222111121212112111112211111211111122222111212122221121212111121211221221121112211221111222212222111111112111111211212112122221122212222212222121211222211222212122111121222211121112222111122222121222212212122111222121212122122211222221212112121111112121212222112122121112122211121221211221122221221112121122221121212221221122122221111212212112112212222222221212111211212222212211222221221221111212111221222221121211222221122112121222111211222111122211221122212121211221212111122211212122211112222211222211121212121222221212221222112111111122112121121222212111112211211212111222211111121111212211222222122121122112211221121212121111211122221112112211111121212121122212211121111121121212221121112221221211221211111222222212221211212111121122212222211112222212222222122111222222222221121122112221212112221112122111112122222121111121111211221222112221111211221111211112221222112121122112221211112212222122211111122111122211222121121212122111212212111122121122111221111221211111121221121212111112122211211112112111112211112222211212122222212122211221212211121121111111122211222211221212222121212112221211112121211122212221211121111122221111121122121221211121121112221212122211222212121122222111121122212222211112112212212212222121121112111212211111111122122222112221212122212121122222121222221222221112211212122122112211211122211111211221121121111111112121211221212221221211211212222111222222122211221121122221111121121121221112112121122212111111222212211212121221121222112211222211211211122211222211121112222111111211212222212211222211221112121212212222221121212121222222221211111112222121122121112222111112211221112212221221222212212211211211212111222121211121122221211222121122211222112211112212111212212222112211212221112111211121111221212211221212212211111111112212122112221112121212112212122211221122221221212112221222212122221212121222212211122212112121122211122122222211121211121121121121121211221222211221111211222222121112221121222111211122122212221121111211221211212121112212112221112112121221222112121122111122111112221122121122121122212122112222211212221211122212121212121111222112221111112122222112112122222112222122212121221211112212221112122111111222211122221212111111111112111111211211211121222221112212212111222212221111222112221212222222121211211212221111122112121211122212211221211122112222222122121112121121211212122212221122111121112221222211112211211112211212212222212121111222111221111122122111221121211112122122111222121212221112121122122121211212211212122222122222121221222111212112211222212211222121122221222122122112122121112112111221112121122112222111212212222121222122212121122221212112111111221122112222121212112121221121211221221111212222212222112122122222211212222222222112222212211121111221221122221122122222222112111121122112111211212111221111212122212122211122211112221122212222212122222122211221222221122222222112122122212211112212121112122112212221211222212212122122111211111221221111212221121222111122122111111211111112212122121221222221221122211222221111121222221122212111222222112111212221121221212122211121122222221212111211121112221222211212221212122112222212122212111221121212222212212212112121221111121222212222221222222122121212211111221222112211112211222222222212222122211222222212212212111111221211122111112222212111122222111212211212221212212121121111211122122212121111212212211122122211122122221212122111121112122221212222112222121221212111112222221212112122121122122111221211122121212211221222111212122211121122111211122221112121212122122212221221221121222212122122112112211212111122122122211212222111122112221112222221112212111111122222121221212121112111222121222212111111112122221121221111111112212212211221122121111212121111121112111112212212112121111112222111122211221111122122112121111221222221222121211111111111112212121212222221122121122111121112211212221111112221222111121212121121112112121221221111212211111212112222211112222221222121221111112221112112221122112112222222221122222112111122112122212212211211212111122111221111211221212211111111122212112111222212121212121222121112121212211122222122111112112212212122222211111121111212211211122212211112121112222122222211222112111211112111111122111211121212221221212122112221121211122121111122112122122111221221122212121221212111221121112112212211211221112112111222111122112212122211121111222211112221112211222221112112121221111111221122222211111112221211122222122211122212212122222221221112112221221111211121122222122112112221212121221111211111111211122222222111112212222111112111222211211121111121211222212222121222221221112111111111222222111122222112222212212222222212122211111122222221211211121112221112112212112112111212112221211222111222212121121112212111111212112111221112211111212212221121211212121121111222122222212121122121211221211222121211211121111221222211112122212112122212211122211212212222122222221122122122221112111122122212122121111111212222122212222121122112122112112122121211122111111222212211111112112212122122222212221222212122211111212111112122222221121111112221112212222222221112111221121221122121112212111121212122222212112211212121212121222212122222112212121121221221112122111212122211221221212121122112112112222121112211212212211211121221212122221212211221222212112212122222222121212211111122121221211111111221211112112121121221111112112222111222112221212122122212222221211122212111212221111212221221122212211122122121212221221221111112122121222211211222211211111211111221211122211122211221121212111122112221221112122221222112211221211122222212211121211211112121122211111112211122212221211111221211211111112211122221221211222122122121121222122111122212111122121122122112211221211212211212122112211121121212222211212112221221221112122222222121112121111112222112112221211121212211212122111221212222111112111122121122221221221112221222121111121122221212111212222111111112122211122222121122212222211211222122112211221112122222121221222111221111112222121212221122211112121222111211212112222112212222111122111221122121112112122221211121121122212211212222112111212222211221221122212112111212211111122112111221212222122122112222212121121211112122221211221122221221121122212111211211211211211121221211111222112211111211221121122112212221112111111212122111121111121221212212222122112212222221111111121122212122221221111111111121111112121222221221222121211211212111122221121211212121121122222222112121221122222122121121122222221112111112211212111211221212221122222122221111121212122211211111212111222111212112212221212212222121221221122222111212121111212212212112221221221112111111212212121221211111222122221112211222111112211121111111222211112111222111112111222222121211122111221112112221221111211221122121122122221211211222222222221211212222222111221112212212222222221111111221221221122122111221112211112211111122212211112111212111121211111122121121221222111111112121112122212112112221121111211221112221211112112212212112222112122112212221222211222211122211211212121112211222222222122222122122211222122221222221211221212121212211112111212112222212222111112211211122221211221222211221212112212122221111211111221121122212121211112211112122222121212121222111111211222212112222122122222222112221212222222222111112111111222222111221222221211211112221121122112121212211112111221121212222222121121212111112212212211211112212111111212121221211122211121212222121212112212221112111122122111122121222211221222121121111121121112212221122121122112212212111222112221122221221211111121211221121212112222222211222222222211112112211221112221112221212222212112211111122122221122121212112211211212111222111221212212111111111122121221221211211211122121222222122221121111121212221221122122111212112211121211112212112212211122221122211112112211111222112122121121222112221211122211222211122112212212122221222111121111222211222111212222211112122211212112222212122121121211121212211221211221112112111111211112222211112111221111212211112122212221221212222111212111111221121211212222122121122122112121122211112221212221111111122111112222112122222212111112122121122122121112122121112222212121221221221122111212211111221121221222112122122221212121212212112222122122122112212112211122121211211221122111211111112121121121211122211222211111122212221211211212212121111222221211111221112121112221221121211121222221122221211122111122122212212222111212221212221211121122211111112112112122111222112111221122112122112121221122121121212111211221121112212212122121212122212111221211221111111111121111111211221212122121222111222222212212111211121221222212122112112222211111121121121212122122221211111111112121111112212112221211221211212222211211111221212121222112211211121111212222112221221121212111121222111121121221211211222122111121212122112221112212112112211211121212112211122222221111222121112211112111111111212212212121212221122212212112112122221122211211122222221112222221112112122212222112212112212121212121221111112112222121122212212122211111222221221211221122221222112221211222121221122122211212121222112222112111122121212221112222111121222211211122111212122212222222112212112212112121211222121122211121221211111111211211212221112212212112112121221222121212112121211122212212211221121222211211221112112111211111211112121122222211122211121122122121221111221122221221221212111122222122121211211221112112121222121212211212211122212221211222111111122222222212222122111111212111122212212111212222111112222111222122121112221222212222221111221211111121111111222222121112211112221212112211121221222112111121222112211211121121122122121121212211211211112212221212212222221222211212222222122111122111211221121111221121222212212111112211222121221111211111222222212111112212211111211112212212222221221111111122221211222222112121111212122211211221122111212112212222212122221221211211221212211112111211211121222121211112121111212212121111212221222222211211222112112121221122221122221121221221212212212212222222221221221111122122211122211222221222221121211121122122222212212222122111211111112122111121221222211221222112112112222222111221211222122111112122221121221222222211122111122222222212221112122111122211111112212212212121222121212212211112112122212111212212121222122221221212211121211121111111112111212121122112112122211221212122211211111111221211121222211211222121121211221121122112221122211112222121111221221112121121121211211122122211212222221111211111222212221112111122111222112222112122122211221222211211212121221112111221122212222221222212122212222121112221211211221111112222111221122222222112121211112212211121211112212222121122122122211121112111222111221212112212212222212211222121111222112112211122112121122212112222111112222111121211111211121111121122221112111221211212212111212111112121211121211211211122111121111122121211221212222112211212121221222121111212221222221111121212112211211112212211111121222122111211112211111221112121211221222212111211211122222222222222111211221221111222211221211212211212111211212222221211221222212112222111221122221222212111121221212221111121112222121221122212221112121221211211221212212121121222121222221212121121211111112211221121112222212212211111122212222222111111112112121121212111211212211112112111121112111221111211211222222111112221111221111111212222122222211212212122222121122221212222222222211112212122222111111111222221212121112122211112112122112212222222222222212121222212121121212121221111222212111222122221122121122121222122111212211221122221211211221222111222221212211122221221122121111222221121122221222222122221121222122212222222222112112111222112221212122221121211111212122122212212112222121122222212122111222112212121111211222112122211112211222212222121112111211211121112121112122111122112122122211211211122222212221211211122221112221211211221122112121112221212112221221221122222212121122221222221122121221222122111121211111112122222221112211222212121222222221121221122122111121222121222222111111112121221222112221211221112222121221221212112122221122211122112121112221221121112122112222211122122122221112112221222122221221221112211221111112221111212212112211111211211221111221121122222121212222111211211211121211121122112122212211122121112111122221221211212121212221221222212121122121121212121122212111222111212122222222112211121121121211121212121112211212122211122212122111222211211121212111221112212221121222111221212211112212121211211122221211111221221121111212211112111212112222221222122222122222122111112112112122221211221122121111111112212111211112222212122122111112121121121211212112122211211111112121112121222221122212211221222112112122222121122221122221222121112212111111221221212212121121211212111212211121222222212121212211121222121121111221221222112111111112121221112111121122221111122112212211211222212211112211112212111122112221222221211221122222222221111222121121221221121121111221212212222222222211111112122212211112221212111121122221221211222212222222222211111122112212112211212222221121221222211111221211222212112212111222122222221221121122221111222222122111221211222121122222112121211122121111221212211122112112221212212122222111222122212121111212112112211122122112111211111111112112111211112112211212121212211112221211222222221222111222211121112221221222111111222212221112111111122222122222211211212211222122122222211122122221122211212111221112121122211111212212112112212221111211122112212112221212221211112212212212221121122211122221222121222211211112122212221222121212121211112112222212221222222122211112121222222211222212222211211112121111112211121121212222221122122122121111222212221211111121222111112112122122112112121112111122212212121222112112122211111221221221221211121211221121111221221112211221112221211222112122221211111211221211112111121121121112111221122221112121211121121221212212221211111121222112121122212212111122221111111212121121111211121112222122222111112122112211211112222121211212122211122112121211221212212212211221221211111122111122121222112122111122111212121121212221121211121122212111111222111211212221122221122222211222221111111121122111122221112122112221121222111222211212222222222111212211211221121111211122221211211122111222121212121222122111222222111122212222211111112212112222222121211221112122112211221222112222212221111221222112111222211111122211212112222211122122222122111211211211111211111222222212121221211211121121222121121122122112111212212122122112122221111222111122221211111112112111212122112112121122121221222222121122111122112121121111122211112112121222221122111111221212221221112122221221212122212111111121121221211121112222112111212121211112211111212111122112221112211212221221212121221122112121222221121111221222211121221221111112121211211121122111111121122122111211111122222212122221211112211221121111212111212221221211111221122222121212222112122111122211121122122112221222121111212112121121122221112112122122112121221112211111112111121212111121111121222112212121112222122111112211121122212111121112211212222111212111212211122122211111221211212212211122222221122112212111122112112211222112121121111211112112122112122222212212221222222222121121112121212222221222111222221121222221221222121222221211121122112111112122122121111121112121222222121222211221222221221222121111212212121121221112121221111222221112221112111121221211222121211221121211211112212211221211211211122112112111222111221211122121211111222212121122112212111212211112121212211121122211221111211222122112121221211212221122122211211212112122222111111211112221222212112111221111121212211212212111211112112221211211121121222222212221211111212111121221112222221121121112121221112211122212222122211111212222121211111112222211111111212212211212221121112122111112112212221111222211121222121211221122212112121122211111222112211222211211211221221122122112122211222211111212111112211212112221211112222112122121121212211122222212221111121211221122212111221112212121122112122112222222111211121221212111211121222211121121112221221121121111122212121212211211112111211211211112122121222221121211221121221222121221212122212121221211212221212111212111121221111111222122122211221121121112212122221221221212211211121112111121212111222221221112122122121122121212122121111222212111211222111122112112221121211111212111221112221122211111221211122211211222212221212222122121122111221122211212211221112212221221222221122211211121222211121122122112122222221121121212122222111221112211222112211111222222111122222212212111122212122121121111112212112211222112122122222221211122212211221212212121121122122211111111221112222121111121121121121122211212112221221122111122112112122211111211122122111212121111212222212112122111221112112221222112212222221222222121122221122112122221112212111222211121211222222211212211221112111222112121111111122111122222222122222112122221222211112221112121122112111122112122221112211111112212211111112222121121112222221222222111111121112112212212211211222112122221111212122122121122211121111221211211122112111222122221122211212111112122121221122121112211212112211111112221122121211211221222211122122212111222211112222212212212211221121222122111212221122122121221111222221121112222111212111212222211212211212112212122111212122112211121121111212122112112222222222112121211112111211112111112211222112112211111221112122112212111111221211112121111121221111222122221211212212212121112212112212222121222212211221111222121211111212212122211122222221111222121122212111111121212221111211112122112122212212211212121221122121211212222122112221121121122122122221222221221221112221222212111212211222121112211212122211121222121122212222221211221221221212111112221112121112211222211112222221212212212112111111111222222212211122111212111211222111222222222122222212222211122212221121221112112211222211111211221122222111122211212121221211222111112112212212221222212212212112221221111122211212111112122121222221121211211211112222222222221121122121211212112221222211121121212121112212111121122222211122212122121212212212111211122112112112111112221221212122112211122211121111111112211221221112212211221122221122112211112121121211221212222221111111211211122112122212122222112221112121111112221112122112222121121211211212111112222221212112122221112112121211221211121111121222121121122112112211212221121112212211222222111211122121122122121112111211211221211111111111122122112221112111221112122212111211121221212112112122222121211111112222111222122111221122122211111122112222121111211211211111212122212222211121122222122221112121112211111112222212212122211112122111212111211222111122112211122122222122111122222122211211222211122111112112121211111112121122221212121221221221122122121212222111212212222222221212112211212212122221221221211111212211111121122122111111221211211212222222121212111122221121211122112122212122222221111111122211211211111122122122111212222121211221111221222222212222222221111212111111212122222112122222222211211111221122111221122212211121212121121112221111212221122221121221211222121221211122112112212112112222221111121121211121122222111222121112121221212122222211211111221221221121112122111211221112221121212212121122221112211112122221211111222212112211211211122222211212121112112222212111121121112112222121111121222222122111112111112112122221122212122111221111222122112211122121212121222222211212122122111222122211211112221222212111122222222122122221111222221112211212111111122221221122221112211121121121122222212111221122111212112221222221122121121221121221222112122221222221212211112222211122122112122211112112222221112221122112121112122221221222112212122221211212112122222222111222211111121211222122112211211112212111212222111112211222122112222211121111112222111112212212222121221111212212221112121222212112122111111111211212112121212221222111212122211111111121121211211221212222211211212222222122221112111211111211222112111211211122122211112112111121112221121222111222221212212222212121121122121122222222212221222112222222111111112111121212112222222121212122212212212122212211111112111121121212211222111211111111222222122111222222111111221121212211211122222221112121111211111221112111122211211111222211221222112212222222222121112121111211122212122111221122111212121212211111212222111122222211121211221222122122122221111112122221212112221222221212212212212222122222112221122212221222222112122111221111211112121112222112122121112122111222212211221222122211222222121211221111122211122221112121111212112112111121111222122112211121121112221221221121111222111112121222111211122122122112111121112111222222122221212221122121222122111221221121221122121122221222222222211122221212111122122222221121222222111121212222112122122121221122121211222211222212121111111112111222111211112212222121122111222212121122121212221111122222211121221221112212121222122211112222211111111221222122122221121121121122222221221122112122211111221112111121212112111212121111221122211222112211211222121112212121112112111211221111212112111221222211121111111222112212211211111212221111111212121211112121221112211111121121212211212212121121121221112112121111221211222111121221122111222121211211211111221222121111111122212222212122212111112221221122221121222222112112112222222211112122221211221122122222122212121211222112221111222121111211212121121122211122122222122121211112122222212212211221111121111122222112121111121222121212121211222122211211221121121211222112112111121122221211211121112111121121211212112122112222112212122122212112211211211212212211221112111221221112211212111221221212221212212112121211211122211211211222222222211111211222211122111111211112112111121211222221121111121111211211122121121212112211211222221122212121222121121122121122222112112211111121211122222121211222212221121112221221121211212121121121112122212121211212212222221112112122112212211211122121222111222121212212211211222211212211222211121221112111112112211112221212122211122122122111121221111121111111112212222112212222212212122121222121122121111122212221221112211122212221112112111121211212222212211121112111112112211121222122112212211211122121212211221111121112222112211122122211212112111122212222221212211112122212121211221212211122121222121121122111212211212121221212212221122211112222111222221212112211212221121121221211121112212211112111122221222111111122211122221121121122112221221211211221212221122222112121211222111111221122222222211222122212221122121111222121221121122211221111111221212112212121222121112122212112121121122112111211222122211222221211222211222121212111212212222121122111212112211122111111122222121121211112221122222122111222121111222121221121122212122222212211221212111211111112222212111222211122111121121212212212121221212112211122122111211222111122222111121121222221221222221112112212222212212212122111111111222111121122221222211122122112222112122112111212122211222122212221212121122121222121222222122221222121211122221222121112111211222121112221111212111221221111221111112121211212112112212221111121122111211122211112222111211111212112212222112111211221221212222122112221122111222221111222211111212212212222111112111122221112121112122212222112222211111221212211212222212121221121112222222111112112221221222121122121212222212211121211122212122111122211222221211222212122221112122222222112221222212211222121112111211112122211221121212212111121211111122112211122122122212222121221211212211211111111122111212112222212221222121211212212211212212212112222111221122121212111211221112221211212112222222122121122211121212221111222221122122122222122111121212111112112112112211122112211111212122111222112111111121112222122211112112111222221111111212122121112221212212112111222221211112112212122111111211222112122122221112221212111212122222122111222121111121222122111112111212112121111211222112111111111121212122222121211212222121222121211121112221212222122121211212121112211121122121122211111222212111221122121122112111122212212221121222111222212212211221112111211222211122212121222212121112121221222122112222222221111111121111112212112222111212122212111211111222221111111111222121212211212212212212211221112121212222122211111122221221111112112222112222112211112221111211121122212121121221221112121112212122112122212112111222212211122211212122221111221212212221122112212222112112221112121122212121122212121112221222122122222212221112212221122212212112112212211112222212111212211211221222112221112112222222222222122121122211111211112121121121222122122111212121222211211111122111211211222122211221212112211221222121112211212211211212222221212111111212221112211112212121122121222112211221111122222222112111222221121111121212211212112222221211122222221212211122122212222221122112222111111211111222111212122111212212222222111111211211211112222121211112211121221212121222222121112221221212112122222221222222112122212212111122121222111122121211121212221121222221211221111221111221112212221112122121122222121121211221112222121122221112122111222222122121211212211222121121222221221211112222222222211221121212212212111211212211121211122222222122122112211111222121221211221211112112111211211222111111222112111221221121111212122222121222222111121222112221111222122111121112122122212222112122121122212121122222121121212211111121212122111111211111212111121211211122211222212211112221111222222222222211121111112112212121112222111211222221121212211121211112121112111212221212221111122222212121111121121122221221112221122112111121111211111122221211112121122221212222121211212121111111222222111211222212222111112121112222211111121221111121211212121222122122112221211112112111211112212221221211112112112122221121222111221212221222221111222221121221112112122121111111221112211211222222221211212212212112121112122121222211212211112112221111222121112112221221122111222111222211121211221211212111111112221111212111112121111111121122111111122122112222121221112121211222212122121122122112122211212212212221221222221222212222222222211212222111211111112111112221112221221221111111221211112112212221212221222121222121212212121122222121221111211122121111121121121121221212121111111122111221121212211212221212211222222211112211112212221112122211221221221122111111212222112211222212222112121212211211221122122222111112112211221111112121112122222121212211222112112122221112111221212122222111111222111222212122221121212211222211211222111222221211211122122122112111211212211121122121121212212221221111212111211221221222121121111112111211221121111122122222111121211122122122122122111221222112222122122212111121212222121111112111112212111221212112212112222121122212121121212122222211222222212222111221122111122211211112222112221122111111212122212212212111111111222211222222212222112221212212222221111122222111112111212221211122112121122121111221222222112122111211221111121121122221212111121222122211211222222122111121121112112211212122221212122221122111212112211112211212211111121111222212122122122212112111221112111112221121122121222112121222221212222111211222222121211112221212222112112111121121111121122221111212221211221212212121211111212122111222212111112111212111212112111112121121212111212222212212212112121211211222221222212221112111121122221112221121221121121121122212222112122122122112212122212212212121212212112121211112121212121122112212121221222122121111122221121122212111222122121111221212211212111211222111112212222111212212111111111121221222121111222111211211222222212121212221111112121222122111112112222112111112121121211211211212211221212222111112111122211211221111221111222211221222221112111122122222112122211121222112121112121111212211122212221212111221222122212212111221111212112212122221112122221112221112211222221221211121222222211122222212222112122212112222222222211111211222222122221212221211221111222212222121111221221211212212222211222222121122221222121211121211122121212111222221221211122222212221221222122221221112122212111112122222121121222222122112111221211222222111211222121111222122121121112222212222122221112211222121122122122112212112212222111112221221222211212121111122112112112111122222121112221111111212211221111121221221122121212122222112222112222222211111221111221211111121211121222221112121222112111212221112212212112112121212112112111112112122111112222222122111112111222212111112212221221221121211212122211221222222111222212122221221122212221212112212222221111122121211121121211121121211111222111112111111211212211122112221212111212121121222122121221211121121122121112212211122212211212111112211212221212121112122121211211122122112111221222122112222122111122112111121212221222222221221221222221122212122222112211211122211221122121211221122121112211112112122211122221212211111222221112122212112112111222211122112111121221212112121211211212222112122212122221121122222211222211211111111211121121121121121112122112122122122121221222121222112222211212112122221211111111122111121121121122122122222221221221122211112212121222211211211222212122212112221212212222211211211212212222122111112121221211112211121111212222222122222221221211221122211212212111222111211222111112211222211121121221212121221122121112111121211211112112211221121211221211221122122212212121111212221222122112211122121212212121221111112222221221222211212212111121111122121211212222212122221221222222221222222121111121111122222222112122222221122211212112222222222121111112211212121211211222121222212212211212222111122221211112212122112111211222221211211121222211112112222122121111122121111212112212212221111121222121111221212211121222211222222122111221111211221121111121212111212122122222121112122111212121111112222212122121112222212222112211121112212221121222112222222122211211111112212211222111221112121221222111111222212212211111212122211212122222122211111211212221221211112211121121212222111121111122112221211221212211111222221111222112112211122212212211222112121112211121112112122111211212121121121221221122111222222122111212222212122222211112221111221111121112212112121222221222111212121111212121221211211221211122211111112122212211122121112221221111222112211212122212121121111211112222211121221221112111211121221112212111212222122121211112212222111222222212111111221122212121112111121112122121211122122111111221211211222211211211111112221121222112211111121122121121122121221112111112112211212222222212121212222211221212212121121211222212121221122222212212222122222122121111221111222222122222122111221211221221112221211221212211222112212212212222221221221222112121112122121122112121221121111122121211221211211122212111211211112212212111221122112122221211212221122111121222211222122112122112221112121211211121221111221111221122221221112222212121112212112112222111122121121211211221222211111212222111212212211212111222211211122221111112121212112112212221222212212121111112222221112122111121111212211212112112222211111221221221122111212122221211211112122222111211111122111122111122121212222112121212121112212222221212222111221112122122112121121112212111122111122122121121212222121111112122121122111112121221221222212212121111111211111221122121111222222221212212222112122111122211222122121122111222122111221122121211121221212212122112211111212221121122212121111122221122221111111211121112122111222121121122211221211221111121211211212222211121212221212212121222212121122221221211111221222112212111221112122121222222112211121112122122211122211211121211112212221212221121212222122221211111122112222112211112121221122211212211122212112211222221212222222211212122222121211112212112222212112222112222212112222221211222221122111122211212211221111122111222221222111121221112111221112122121211111121121222211121112211212222222121212122121121111211212211212112221122111112122112222121111112112222221212222212211221111121211212121221111122121121121122222222222211222221222222221121221121121112122221121222212122212111111221211211112111112221211111212111212112221221112222111122222212212222221122222222222122211121212211121221122222222122221211211112211121122122221112122221111122221122222122211222112121112122212122221212211222212112212222112112212211112122222221112212211211222221122112222121122111212112221112122212122211112212121121111211112211212222122122211121121222211122221111121212111222212111212112211222212122211121221121112111112222121221122112112222221122112221212221212212211212222111212111222221112121211122121122212111121211111122222221122211122111111122211221111212222222212112111121112212212222122212222111212112121212221211212111222111222121212122211121122211121221111212111221112222221222222221112211111111222222221221122112221222122111111222111211222211212212122212222112212111122121221121121111112222121212122121212112122222111211112222222122222121222221112112121222222111212212222112112112212222121221221121112211211121211111212112112112211111221221211111212222111112211111112221121112222121112211122221111122211111111121112212111222121212111221122212122111121121211211211221211111212122212122212211112121211121222112212121112212122222122112111111221112221121122122111222221212211221211121121121121122211211221212212212221111212121122121211221122221212122221222112111211122112112212111111211211112211222122211221212112122112221212121122221212121121112211211221212112112121122122111221211112211112111211112212121111112112211122222122111111212122111122222221212222111121222122121121112121221121221222212121221221222112221211112211221211121211121111122121222211121121212221212222211212212112222122212211111211122112222112121111212112122121111121111221121222221111122121111221221122112222221221221111212221212122222112211222212222112122222112122112222211111221122122211112221211122112211211221212111222111221212211112121121222112222111122121111221111222221112122212112211122211211221211222121111121122111111122121221122211112212212111111122222212222221112222122122212111211121222222111121111122221112211112221212211221221121212222111111222221212122212112112212122222211121121111111111112221121212221212122111111112122111211111212212211111222121211221112112212112111221111112222212122212111212111222121221111111212221111222112211222121111121221122122221221121222112121222212211122222111122212121221211221221121112221112212122121222112222222121211122111212222211122212111211212111221211111122111211221122212221112221221122112122222112212221211121121111112222111111222121212212111211221112221222212122111212122221211221112222222112122112111111212222122212111121111121222211121221222212221221111111222212112221211121112211122212112212111121122112221111211222112121112122122112212121122121111111112112121111112112121112121111212212111222121212121121212112211122211211112122121211122121222221111222211212211121121222111211212212222112222112212111122122111112122211212111111211112121212111121221112211222212121211221112212221212222111221222211111111211222111211122122222111211211211212122221111211112112222122221211211111222112211222122111222112122112111111222111122121221222111112222221212111211121222212122211212121212211212221122221111221211212121221211212112222111112121212221112211212121121112212112211212112212222122221121211112111212121121111212112121111121111222112122221112221211221121122111221112112122212112121221122121211112222221122211211222122121111121112112212122111221212112222222212112111212221111122112121112111112112111222211111221212211111211221222122111122111121221222212212221222122211222112211221112112111222222121122122122222221122222211212221111121211122111112112111111122222112112212222211222112211121211122111121211111221121222122121211111211122112221211121121221112112122211122211111121111221221211212122212211121222111112221211121221221221121122121121222211211111122222222111222211112122221122212212222221222112212112111211221121211221212121112221121112121222221112221122122211212121221111121112122112111211221212112211122212111221211112121111111222121211111112112211221111222122212222212221222122112222121212121222211121212122222211222112222212212121111111122122212112222222212212221122112222122222222122112112222121222222212111222121122221221111112211221221122222111211212212121121112222222211121121212222112222112122122221211222221211222111222222222212121111221121122122112111212121121122212211222111222221222112212111222112121211122211211122121121211212121112112121211222111121222221121222111211211112112112122212121212211121211112111221112211222222212222221222222211222121122211122221122122222112222211211122212122121121211112122122122212222211111221111212221212121211112112111221111121211111212122112212211121112212222221212122112111121112121222221211222111111212222122211121111222222212122122122212111222212222111212112121111222222112222112211221212112122221122121211212121121222212122122221221121222222222221112221121222221121222111122121121211111111121212112212221112112111112221122121111111221222211221121112122221211111112112222212212221212212211121121211211222112111212122212222212112222211112222112122222211111212222222121121222112211221111211122212211112212211121222111212121122121121112121121212111212121212221221111221121211122212121212222221221112211221222122121212121222211122221222122122212111212222222221221121221121212222212111222212112112112111211112221211211122222111112122211121211122222212222212112221211121221121211212121111221222222122121122112222122112122112211211211121221122212222211211111112112212221122111212122122121221122211112221111222212221222212222121112212122122122221121122121111211111212212112122121122122122222111211212122122212122221211222111222122221111211122222212112211111112111222112111212112122222222222111121221221211212222211212112122221222221112212121121222212121121112212112122211222211111121222212122121222111211111122122112221111111112211221212211122121111212111221222112111222211222221122111111221211111121221211112112222221222122122221212212122221212112121112122111221221221221212111121121212211212222222121112221212221221121212212221122211212121122121121111112122111222222121212222212112121112221212122111211221112212212211222112112221211222211122222212122211222212221112122221212211222211112212212221111122221121211212222122212221221111112211222111122212122212221221112222221122121212112222212111212112221122111222222211122222221111121221221212112221212222222222222111211121211221122211221111222111211221222212221121212212221111122212121221111111222212211211222221211112211121221212111112211221211211112221221111112111211211222111121122111121211211122122211212112121112221121122221112122111112211212121122112121212111122121122122212121122111212222211112212122212122221211122122222112121211221121222122111122222111122221221111222212222211111211221122222222121111212122212211221122222112121221211221211212211112222212222121111121111121211221212111111222112111121211221222222122122122122221222111211212121122211222221112111121112111121111221222111221112121121122121211122211222122121212112111111212221212122111221221122222212122211122111122212212121111221211211121122211211221222121221122212122122111222112212122211212111121112122211122121221221222211211211211222111111221222222112211122122212222212112212122221222111112121121122211211221112112222211221211221211111122212221122122122221122221111211111121111221121222222112212222111212212211221212212222112222121221122112122122222122111111111112212121122111111221212221121111112211212221211221112221211211221122122221111112111111212221222111111121121112211122221121212211222112121222211121211122111111111121221211121211211121122212222211121122222222112222121121221121222211212112121111122122121112221221221122122112122211121111222111112122211112112221111112111112122122111111212212111211212111221121222211212211211222121112111112222112121112121221122222221112212211221211121121221212212221111121111221222111222121212121221122122211222221121122111211111122111121212122112112212211112111121111212211212112112212222211111211121221121212222111112122212221112212122111212121221212122111112111222222222212112122112212121111111212221212211221111111211221221122112122221111112211221212111121122111121121221121211111211212211221122211121121121212222122211122212222122111222111221212222222211211222212211222222211222221112111212222221221112211221112222111221212212211221222111121111211212112112211222112112121121122121211111222122111122222121122111221122221222212221221111122112122121121221122111111211222121121221222112112211221211122211221211122222122121121122222112221122121212222122211211222112211211111212222121112112211122111112222221212222212221222111111112222111111122112211211212211122111111122212112111221111112212221221111211212211212222212222221221221212222112222111211212122122111112122121112211121121212212222112112221211212211112222212121112111212221121221212222121211122222121212121212212112112221211121121212112122112222112121111112122212212221211211222112221112211111212122212212212212112212112212221122212112211221111212221111221211221211122122212111122221112221121212212112221111212122221212111222221212111121112122222111122221121122222211211122111212121121212211111212121212111212222112221212222121111212212222222112212221122222111222122122122121222222221211221122212111221112111112112211211112122122211111212221121221111211111122221112112211121221121112112212121222112121221221212121221221122211211122212221121112112111222222222222112211212121112111222211121111212211211222121221122121121121121212212121212212221121212112222112111121221211222112211222211212211211221212211111211212221222121112112221121212111211222212222122211212212221212112211211122122211222121112212122121211211221121111122211122222112111221211112221212121211222112212111211122111111212221111221121121122211212221212221212212211221121221111121221112221212222212221122122211221122122222111222211212221121222211122112222112222221121121211222122221212122212111211212221112121111122122111212222222111221212211121122211111221212111212221111122112111112112122112122122211111211121121111222221211211111212211211212122212221211221122212222211111221111111222211112212122221121212121212211222112221112221122112211111222111121122112112122112112122221122221211122212212121112221222122112121222222122112212221111111212212212211112122212212121111222211112211121222212222212122121212212212111221221112211122111212221211122112222112122122122122221122111221212221121121122122222212212122111222212212122111111222222222222222212212121122121221121222222121121121222222212222122212222121222122222112221221222212112112122222212122111122111222221211112212212121211111222221121222111221112112112122111222221112122212121111121221111112122112122112212212122112112222212122222212222112212222212221212112221121211121222212221111222121222121122111212211222111122111122221111212222112121221121222212112111222122111212111112211111111112111211221222121222212122122221112122111122112111212211212221121122112221222211212211122212211212211211211112122111222111122221122222222211122121122221111112212121121111122112121222122121111121222222212212121212121211222122221212111111111211122121221121122121112112112221211211211122222221121222122222212122212222111122122221221221122121111222211122112122122122111222111212212211111212221111121211222222111122112121212221122121211122112112122212212111211212122212122211111111212122121211212112122122221121211221211112121222121112122121222212112212221121221111212221212121222212221111212112121122222221112122212222211221212112211221122222221221122221121122222112211111122221112122112211112222222122122212112221222112212212112212111111111122121221121212222211111111211222111121112222122221122221121112212221212122212112211122112111122111112111212221121221221212121112112111122212121122121212121211221122212121222122211111211112221121112121212122212112211222112112121221121221212211112122122122222112211211221121112121112212112121121211212111221211221121222221211121211222221222211121212222122222111111121222122221112111211111212212112112221111222122212122222211221111212211122222122221212212222111211222121212222111111222111211221111212222221212121222112222121112212222122221222221222111212112212121121122121111112211111122221111121221211221222222221111212211111221211221211121222221212111221121222222212222221221212111112121212122212212221121222112122221211111121121112122211222121112211222112122221122222222211121222221121222122112212222112121212221111221111112211111121121112222112121121221222122111111222222121211212121222212211221221111111211122112121111211112111221221122212211122122122222121222221222222222222111121121112212222112221221111211212222122121112221121222122122211211121121211122222112222221221221112212112222211122111221121222212221222121211122222111222211221211121112112211112122221211122222111211111111112122212221122211112221221122122111222111222211121211111121212122111212211221221121122121222122112221112211122112121222221212211221112222122212211221212111111111211122112222212112221211122221111222111121121121111111121111211121222211121222222121122122222111112212211111222212222222121211111122112112211212212111112121221222212112221221122211122111112112121121111211111221212212111112211122111122122221121212122221122212221221121222212112221212212121111122221121121122112222122112111121111111111111122212212221121122211212111111221212121111211222112222212211122221211111211212111121111221122212212211112211222121122122211122112222212212211211121212212111221222112111111211222112111111212211211112212122221221111112111111222222222212122221212112122222221121112212212112112111211211112111212211212111222221212121221212111212212212122112111221122212211222221222111221111221212222112121121222212212122122121212212122212111112111112211111211111212222112221212212222122122221121111122112212222122122111121111221211121111122121112221122211222222222222111222121211111122121111211121211211111112121222212122121212121221121121122211111111221221211111211221212211121122121212122221121221112221221122112212221221212212222222121112111122112222111122212211212121111212112111111211121121211122111212221111221121112212212121112111112111111221111111112111222122122111212222122121121112111222211222111212112221212112222212122111112211211222111212212111112212222121221121222122121121212111111221111221122212222121211222212222121112212221122112211222122212212222112122122122221112222212212212122222122122121112111121122121111211122212122111221211212112122111122111112122212111121212112121221122112211221122121212212221221222111221121212122112121222222211111112121122212111121222112121211222212221121212111111211211121121112212221212211121212222212122111121211121121221112122222111122211222212122221221122121211121121212112121212221111112121122222222211211222122111222112211222112112212112122212111221122211221111111112212222111111212121211221112112222221212112221122221211222121122121122121122211221122212221222121212122212212211222211221111112112212212112212222122212111111111122111212221121221221111222111222211121212121212222212222211212211112122222221211211221112121112121221211111111211112122222112212212212222212112222112121212212112112112122122111221121121121111212211212111111111222222221211121211221121222121121111111111212122211121211222112222221212121111111211222111111111111212122121221111212211222222122121212222211112222122221111112212212222122122222212111122112212111121211122211111121112212112211112211112111122222112222222221121212122212112121221112211122111221212111211112122111112211211221112212121112212121112211121121121112212111122222121211111212111111122122222122121211122121122221122111211211222121222111221222122122121212222111222222122212212221112122221211211122211222122112212212222212112111121111222221212211221212112112212122221212222221221112112212212121212221112121211222111211211111111122221121121212211212221222111111121121221222212121121211112122221222121221221212211112211221122211211222211122111112211211122111211212212122211221122212211212121212121111221222121112212122121112111221212122211211212122222222212211221212222122221222112212122221121211222112122211222112122111111122211212222212112112121111221222211122211212112112112211111222122121121112112212222122122122211222212122211212221222212112111222212222121211222212122112112222221211222111222221111222112212212212121221222221111222111222121222121122222212121111211112111111221211111221112221122112222221111112211121222211222111221121212121122121222112111221121121121122221121222111121222111121112212122222222221221112122111221221211112112211122222111122112121221211112221212122221112121212121211112212222112121211112111122211122122122112222211212212222112211112212112111111111122112211221212121112212122211212212221211211111211121221222212112211211212211212212122211222212211212121121112221122211122212122221212121122122211221111211121222212121122221212212222121122112221211122111221211122122221112121121112222222212222122211111121111122221111212211112211112222122122211112221221111122121122122221112221122112221111112112112222121221112121121221111112112211211212222211221122221112222112221212122122111122112222212211222122221222211121222221121111122122122111111221121222111122222122112221211122221121221111122221212112111222211221111121121221111121111112211212212222221221111121122212112222222221221221221112111112211121211112221122121112112112112212222222111122111211211121221211121111121111222211222221112121211212222211121121121222121222221222112122111221211121112222221212121112121122222211221221111121112112121121111121122212121221121221111122212221111221112212112212222211111122121121121111111121211121111112221212111122222222212222212221111211212112221122111222211221212211111222212112222122122211122122221122212221112122121112111211212112112121112121111111122212212212112211121112221211212111221221222111212121221122222121212121112212211221121122212122111112221112112122211221112222122122212122112121212222122122211111222122122112212122112222222222221211212212111111111122222122121111111222221212212212112112122111121222112111221122221221121212111211221212222111122122121221221211111222121112221222112212121112121222222212212212211221112221222212221212121211221111222121112112111212211122222121111111122121222222112221111122212221222112222212122222121221112122111121211121111211112121221211222212112211222222112122222122112122221222221222111221211121212222111221222221211112111211211121111111112121112221121111212111121222211122121122122222111112212121111222221122112111221121111112122221221112221212112222111212122111122212211221112122221111211122121222122211211211211212121221122222122221212222212111211212121212211221221222122221121112111112121111112212112111121122211222112222211221212111112222121112121122221222222211122112212112112112122121112112211222211112121122122221221112221221121121121221122122112122122112112222122212211122122121212211212221112212222212111111211111111121112212211112121221112112211121122221112212211111122121121211122121222212211222212121211122212221122111121211212222122122221212221111222111112211121221222222222222111122122122121122222221111111221222212222222122221121221121211212121122221222111211122212212211221122221211211111222122211221211211112222221211211211112121111121212212112112112111112221122122212111122111211211221211112112222111112112222222121122222211112211222221212222221221211122121222112221211221211211121222211211212211212121211221221221211222222122212212121111211212111211112221222212122222122112212221111221122211221111112211212221221221211122211121122112111121122211121121221121112122121121121211122222121222221221221121122111121211221112121112212222221211122221222112222112212112221212121221222211111122121112221112212111222112221112211121221122121111112112222211221221121212211121221112122212222221112112122121211112222112112212222111121211212222222121211121121222211222212121121221212111122211122211111122221122211222221222211221212121122222212222212211111112221212121111111122222211221112121221211122222221122112222111211112122212212212111211121121211211112122222111211222111221212121211112212121221121212111112212121112211122222111122111122222111111222211212212212212111112211221112221221222211111122211112212122222222122221212222121112121121222211222112121211122222221221222212112122222222111112122222121112121111122121212121212212222112222222211212221111122122222222221212222111112212211212112222212212212211222212122111211222112111211121222121121222112112211112212111222211212222121111112111212222112221112111112222112221122211211212211122112222121221121212212212121111221212211112221122222111212222121122211112211221222112112211221212121211111122121212112212221212211111121212212222121121211221121112122112121212212112121221112112112122122122211211222222222211222111111122221211212221211212112211222221222222212111111122222211221121221221212112222111111212122212221122121222212222112222221121121211212121221122211212211121211121211111221121211221121212112122112112112222222122111111111121112122111111121211221111112222221221111212221222212112111111211122222121122222212212212111221221121222122221211222212122211122221122122112112221111212122211211221121212112211222121211112122221221221222112211112121122222111111112111212122221221121122222211222212211211221111222212221121212222212112221221122212221122222122121222112212121112121212222212212222111111222211211212221122211211221211122112121122122122212211221121212221221111122111222122121212112212222111112222112122212211222212122211211111211111121121111211122212211211222111211121222122111111121111121112211212122111112222112222122122112122122222121222121212112111122212122122121121221121121222221221222221222211112221112211221111211212211212221121122111112122111222122122212212121122122111122121212222221211121222111112121111111222222112212122111112122212221221222212112121122212122121112112221211212222121212222211222121122212211221222221111122212122212211111222212122112111111111222221121122212122122122121212221221112122211121221212111222222122222221212212222121112121212111221111212122112121212111121222221211112112212212212211122212111212221121112212111122121121211222211222112221221112211222222211221222122211222222211211112211112122221111122211212212211211212222222211111122111111222122222211221121112122221221112111111111121212211111222111111122112121212112121212212222211122221212221112222211121222222122112212211112221212211222222212212122222121221122121221222212212111122212112111122111111111212211122212221112211122112112212111222112112212221212212111221112122111112111121221122211212221222212221112111121112121222222122221111112122211212112211221121212212111111211122222112222112111221212212222221111111112212212122111212211211111121122212111112111121221221211212222222211121222222221112222112211121212112121122122112211121221122121111212121221121122112211112122211121112122122212211211122212111212222112111221221211212122122212112111111111111211111221112112121212121112222211122122211121121122121222122221112111111211121111221121122221211212212111212212111212122221211121222222211222211111122112212211121112112221121122121112221222211112221221211222122122121121221211111112111122222122211222121121221121121222111211111222222221222121222112221122121212112122111112111111212222212212222222112211212122222112122122212212222111222221221222111112212112111112121211111211122211221222122121112222112211122122221122221211111211111112212211112222112121122111111222221121122122212122211121122112222122222222122111222122221122222122122122222212221211212111112221121212222221221222111111212211212111221122212121212212122211111112121221221121122121122211222121122211211212211222111212222211211222222121112112212211122111121211122211211121221111121211221111212122112122211211122211222121111221112111222122211211222221212112222221212221121212122111111121111111111111121112221121221112121221111111112111211121212222222112122221112221111121211222121122211112222222121121111121112221112222221122122121212221222212222221111222121111111112121121111111211112212112121211111121211111111222112122222221211221112112222212222111212112111111111211211111222112211211121112222211222122212111112111111121222111112121112121111212112111111221121122121211122112221111221222122112222211222211222121222122111122221112112112112212121211111121212221112121212112111122111111212121122212222221111212122212112112222112121121111112121222222222122222121122122211222122112222212222122121121221211121212122121212121111112222212112112222221112122211122121222221211211222111112111212212221222211111122212121212221221121112222112111221121212211122212121121222222111212221112111111112211212221212112121211112211212111111222211222122211212111112111112112112122222112122111122112211122212111221221111212222221212122111111212111222121111122122121222122122122212122121211221221212121112111111221211122112112112212111222121221221122121121222212221112211221222121212222222222112222222112112122221222222221221212121112111112212111122212212122122211212122122221111122111221211111222212111211222222212122112121211112121122112222212121212222111211121221221112111212221121111222221121122122221112112112112212221221111112212111112222212222211121211122211122222221121212112112212211111121112121212211111211212211222112122211222221212111222121112212121221211112211211222111211211122112221221221112111112222112112111112121122111112222221121121222212112222121212122122211221122221221211221122212221121222221222222122122221222121112222212221212112221122211122121212212112212222211122122211221221211111212211122111112211121111221222221112121122121122121212122222211221212121222211112211212212221222212111121221221211122121122222112122222211221112112112122211112212111122111111121112212111121221212211112122122211122212122211122212122221112221111122112221122122212211222221121222211111212221211212122211121122221221211111211221112122121111122211112121222112122212221121111211222212112112221122111221222122222122122122112111112212122222121211211112112112212222112112221121121111222111212211121212121112211221211121122211112211212212221121221212121111221122112221122122122122122221112212122121211221112112111112211222112111112211221121221122211121112121211111122211222111211112221112112121222221121122121222211122211222122111121122212112111211221122222211212122221122222122121121122121221211122212121121221211112211211112222222121112222221112221221211111222222111222222121111211222212111221122222112221221212111112122211111212121211221222211111112112221211222111111222211111122112222211222212211212212212221221121211221111121111111112111211111112111211222121112112112112112222222211222122212212122212221121211121212221211212122211122222112221221111211222212221222222211112222211112211212112212112111122222222212112122221211111111221221212222211122112121122211112122211111222121221121122212211112121121112221211221222112121222222212221122222212111211211212222122222122111121221211112212211221212211221211121112212222221222222122211221221112121122221221121212211212111111222121112211222211122121121121121211211112221222222212221212112222212122222212122212121221121212221212222112222112212212222111112222211122122212111121121222112122112112111211112212121221222111222222212112212121112221122211122221222121222122122211221111111222212122111121222212122211111222222122212121121111211211112111211112112122222211221222122212121222211111222221122211211212222211112112121121122121122122222122212211112212221211112211121121211212211222122111122121221111122221112112222111112211122122221121212112122222211112121111211221122121222111221212212112111121112212122221112222122112121211222221111222112211122212111121112212222211211111221212122112221111222222122222212221212222122212122211122222121222221212222111121111111212222122221121122211112121222221111222112212222121122112211121112121111112221121211122122212112211211221222221111221111212212111211122122222121221222112212222222111212111112112122222212212212221122111211211112112112121121222112112221112221122122212211111121112111212111211212222212121122111111111111221212121211221212121122122211222221122122112211111111222221211222221211121112112212212112112111112111122111111112111112221221222122122112211122122212112121111211112212222112212111211112122122122221121221222122222222121222122111222211221121221111122111111222212122221221212212222222212212212212112121212221221121222111122111121112211212111211112211122211122122222211121222111212222112121222111212122222111112222222212211211222111112222221222211212221221212112212122111121211222211211212211212122111221121222221221121122222221111222221122222222122111211111122111122211121211222112211212211122122112221212212221212122112221211111112111222111112221211112211121221222112212211121122111121221121111111122111112112121122211111112211222221212211122212122121122111221212122121112122112221211222111211212222111221112221122111221222122221111222211122121212221221111122221121121212212121222211111222111122211212212122112112121212111211222222221121112122122112212122212211121112221211222112222121121121212212112212121222211112121112121222121221111221112211111211121121212221121111221121111222111221121121121122122122221211211212221111212111221221221111111121122111111111212222212112111222222112212121122111121112211112212222121222212112112122221222211212221121122221112222211122121222211112211122221221121212212121212212221112111111212111121121111211111121211212112121212111111222221211221112212212211211212211122121121111122221222111221122212212221122122111222111221122211221212221211111221212211212221122221222111221211122211111212222222211212222222221112221211212111221211221211122111112111112121122222121122211212212212211211211211112121112112112112221222121222212111212122212212212121222112122111222211211211211211212212211222122111222221112221222122221121212222211221211212222121112221221221222111111222222121112112211121111112212212221221111222121222222111112112212112222122121211121221221112211211221222211222111211121211222111111212212111221111211212111122112121121212222212111111212221121221222112222222222111122122111211112211221121111222221212121222221211222212112112222211122222211122121221221211122221111211112122211211212211122112222221211112212222212111221111212121211121121112212212212112221121222112121212112212222121111222122211222222221222121221222212221122111122222212112112112221122212211111111221221111111121221122121112122211222211121222221121212111211121111211212122121222112212212112221212222222111112111221212111111112112112121221212122221222222212111112111212211111111222111211122212121212122122121111212111121111221212211122111212222222211111122122122222111111212211212212221222221122211122212122111222221222222212122222221121111121112121211211122121112211222121212122221221222211211211222222121112222122121122221221221121221111122122211111121211122111212222121221112112111111211122121121112121122211221212221222122222211122122121222222122212111221112211222212211111112112112211111212222122222121111222121112221212112222222221212212122211121122221111211212112121222122122212211111121222211122211111112222121222112222212211121211211122211121222111221212221221111122111211221211222111211121112211212212212221121111222221211222222222112122211122221222221121112211221112221121221211112112211112121211121121121121111111222112122212221122211212121122122222121122121121211212212121212211221212222212122221112221222221122221111221221211221211211222221222112111222112221121112122121222222111211212222121211122211112121111122111112221221121221211111112121212221122211122221222211121121112222121111222221222222111112121122112212221121212111121112121222122122211221212121112222122112111221121212211122111211221222121212212212211222111221222212222111111221222111221212221222222122112111122221112211212122122112221221111112222111122122111122221121211221122112112122111112112222222211211112122222212221222121221112211121212112112222111111122122121212221112122122112112122211212221222222212222211121111221122122111221221122211222122221122222112111222222211211112212222221212112111211121211212211222211222212121122222212212111121222112222112121211112111221121212121112221112111222111221211212112121112221121222211122112211211222111221122122222221122222211111111222122112121112212222221221122212111121221121222111211211121122121121112121111212112211212111212122112121111212111111121121222111212212221222112122212111112111122211222112211221112111221122122121211221211222122111211121111122222222221221112122221222222212211111112212212222121212221221122222111211222122112121222221212211121122222112211222212111221221211212222212221121211122221111221222111222211122112112121121122111211112211112121222222221212212212221121221111221111121112212211122212212112121221211122212111222122122111212212112222222112222122112211221211222121112121212211111212212211122122121221211212112221222222221221112111221211122122111121112121112112222111122211212211211221222211122212121222121122222212122122112111122111221211112112221111122222221222221222112222121212112111122122212222112212111211222112121111221212112121212221212111112221122112212212211122212221111211221211112212221122222221121121211221111111112221121122212222121121211121221121222122222222111221111211112121112121121212121212112121121111221111111211211122111122212111222122211112122212122121212122122112111212212112222111222211211112211112222121222221111122112221112121222111211111112122221221121112111222121222212122111122122211211211211211211222121111122211121121121212112111212221222121121122211212111211122221211212122122111112111121112222221111211211221222222121221112121122212212212221222112122222111121222222222122211222111122211221221221211211121212122211112122112111111212222221222222121221221122122122211121222112211112211221112121111111212121122121112121111122221111221112111222212122221221221112122212222221212112121221121121121112111222112211211212221111221222122212222112212122112211111211122112221121122221222221221111111211212122221212212222222212111121222211121222221111122121122212221221121222221112112111222122111122122112112211121212122112121111211112121221221222222211222121222212121221112122222221222211212222111222112222121222112111122111212121222222112112221211222122121211212212111122122111122211112212112111211212221212221212212121122221222121211112221212111112212112122121211212121211112122111211221222211212122211222212211211122111222221121222222221112212211122222122222222121111211122221121112122212211212121221211211112221222222222211221211122212221222221211112211212211211212122121221121112112121121212111222121212111212211221112121121111212211222222211221222222112212221121212112122112212221212222211212112212222211121111211211122211111121221212222111121112222222212212221212121111212121222121112122211211121221221212212221111212121122221212112112112211211212112112222221222122112111221211211122221112122221112112222212221211212112211222121122222122211222222211211112221211222111122122121111121211212211212111122222221122122121122121221211122222221211221211221211221222212111221122122112211221111211122221221121122221122121221222211111221111121212211212211121111112212111122111222111112122211222222121111111221221222111211111212211221112221222222211112221112222212121222111211222111221112212212122111111122222221122222122111222111112121221212211111122211212212211121122211121111121211111211211221221211222121111121122212121211212221212112221211121221122211212121221211121111112221211111112111112211121122111122222211211222111111221212121222222122111221122221111121212112211211121121112121222212212111221221212221221212111212222221122111222111122221112111211212211222122121111212121112222222121222122112211221122212122221112111212122122111212112222222222211221121221222212212122212122222112222211212111221221122121121212222212212212221212111221222122222112221222121122221121111212221122212212222211222221122221212211212212112222212212111121112221212122122122122122122122111212212111122122121111222211222112111221221212221122222222111222212111112222221222211211211221111111112121211111211221211111121222122211221121121111122211122112121221111111112122121122222121212112112122112121112212122211222121212221211222222122121122212122222122211212122112221111122111121112211112222112211121112122112222212212221222211212111112222112122121111111211111112222121122112211122122112122221111122222122222222222121122111212222122121212111111212122211222221121212122221121222121111212112212211121211112122112112222211111222222211212112222121212121112222111221221222112111122212222111211112121222112111212212211221211111121211222112221112111211222112212211122211121212221122212222112211212122121212122212121211112122221122221122122121212211111211111112211121112122222222222212211121211111222212222211222122111122211211111221221211211122112222222211222111121121222121121222221221221121111112111212121122211211121212212122221121222121211212122112212212122222212212211211211111122211221111111212121112212222121121121222121222111111212122222221212112212112121211222211212122222211111211222222111111112222221122222122211222211112222122211212221212211211121111222121111211111221212121211211212211212122221111121222212222211121212222222112212211112121222122111221211211221122121212221212122121122222222111212122221112122221211112211211221111122112122222211112122121221222222121111112121211211121111112112212212221122211121212222221222112212222211121122222122111121221212111212121122222121222212221212211122211112111221221221112222111222222222122121222121211211222212211212121121222111211122112111211212122112212111212111211222211112221111221122221212221222122211111121212112222111121121111222211212122111211212112121121221222222211122222212121211221212111222211211222221212112112122111112121111111112222112121112211111112111211221121211221221121121211111112122212112212222211121221121122122221111121221221121122221112111111111111212121111211121222112111112212222212222111111112112221211221112212221121122211122212111222212122221111121211121212211111111111121222211212211112222111112222122112121221211122112212222111121121212112112121112211112122111112122212211111221221122112221111112221211121122112221111221222111111122212111222211121222222221221122111121121221122121121112211121222112112122121112222211121212222222122111121221112111111212222112112221222212222222222111112122112211212222222221121222121212111212122212112222111221222221121121112111112221112121122211212112122222221222111121111121111111211212212221212122122122121111121111211111222211221222212111221221121122211111122112212221211111112221111112222211212121122211112111111122212112221121111111212121111222212111212121222211211212222212122121111212121211122212112122222221222222221212212212111211211211111211122111222122111112212212221121122222211112122222122111212211122212112221121112221111211121112211122211211121212111121222111121221221211212122221121221121211111211121221122221121221211121212111112111222121112111112211112121211221222221121211112221111121122221112221222111121212122212212121112112221222221211111222112221222112122212122222111212211211121122122222211121211211222211221112112221111221122211222121122211112221221111211112211122212221221221122211111222221212222211111111211212112112111212122121211211212222112111112221111112212211222122211222212212122211221212222221222112212222121212111111111222121111211212121221122222221211222121212211211222222212221122122112212211212121111222221111122222222211211221121221222121212221211112211212122121221121112121122112222222111121211112121221211121111211221212111122112121221111222112211212211221221111222111111221211212222111121212111122122211211111122122111121112221121112212221112111122112121221121222112222211212112112121211121212221121121211121222221212111111222221121221212222211211221112211222212112221211222212211112212221112112222212221222221111111122121121121221222222122221222111211111211121211222111111121122211212111112121221212222211111121122111221221112111121221112212221121211122112121112112222222221112221222112221122111211211121212212112212122211211221211222111112221112121112221122111122112222211121112111121122222122222221112212212221211112122111222111212122111212111211121212122222222112122211211121211212222221122222121212212121212112121112222122122222112211121211211212222112221111211111211222222211112221221221211222121121111122212121212222221211221121212222121121221212212211212111121212112122122122222122111211222111122121211111112212211221122212121212112112122112121112221221121122211211122122112111211121111122121121211211212211111112111222212112212112222212211121221122122111111211112112111212111211112122122222121122112122122111111122121211112212212211111122212211121111211112212122212211112211121112111211212112221122212222112122211222112112222122111121221122222121212212212212122222222122211111222211221111212111221222122111212112222212111111122121121111121122222121111211122212112212222211112122221221211121221222211222221211212122111111112221212112221121111122111122112121222112222221222112211111222121112112211211121121122112212212211211212222112121122122121221122121221211122222212222221121121221211122121212122121221111112221111222212111222212211112211122121111211121211111222211112221211111221221222222111212111221111222221212111211111211122212122111211121211221221221212122122112121111121222111112112222212122212121222112221111112122121121221211122121221121122121122212112122121222221112212222121221112122211111222122111121211222212122221111212121122112211112211221122212121121211222211222211212112122112212212211211221211111122111112111121212222112212121212211122212121122222212122122211212211211222221111212221122212221112222121112122112112222121111122212111221111211212212212122122221221111121211121112121211222211222122122122121211112222212122112112222221121222221112121111221212121112111221211111212212112111222121121222112112212111121212212212121111221211112121211222122211211111121111121112111111111221222212122112122122212222121212112221212222211212212221211221222212122112212111222121121212121211122221221121212211211221221112121111121221112111112121222212112222112212211212221211221212221222222122221122112122212111221212222121111111211212121221111222122121212212222222221222111111222121211121111112112212212112122211211212211111121221121122112222122112112112122121211212122211211121212122112211221112122121122112111121121221212112211121121221121212222122221111111212112211112122212211112221121211212121211221211211121121112112122212212122122221211221111112212111222211111121111222222222122211111121111221112112211112222111112212211212221121211111211121112111222221122122221111112112222212211111211212222222222212111222111122222111221111211121122211222122222111122112222211211222211121222211221221122112122112122211121111111222222121121111212121212221122222212112222222221221212212212212111111111222211222211121212122221211111212212112112122111112222121222221111212122222221211121212122121222211111211222212122121222112211112111222211221212211111212121222212121121221211212222111122212121112112211222212111211221212111222121121122212121112211121222212222211112121211212221112221221111112211212112212111112111222121111122122222112211122121222112111121112222111121211122111212211111112211111112112112222211221111212221221112212211112221212221122211122121112211211212211111121212212122221112122222121212222222222111121122111111211211112222211222221111121221112121112221221212221122222212211222111212211222222222211221112212112212212222121222212122211221212212212122122122112222121221212122122222222112221121112122211212211122112121121221221211122111211112221111221122211222221212211122221221112211212111121221111211212212212111211212112222211221211122211212111222211122222212112212122121121111122112222212121211111211121121221112211222122121212122221121221112112111211211122121222221222122211122222111211211222111221111212121121122212112221112111211221122211212222212111222211122222122122212121212222221221111222211121221122221122111112212111212222212222111111211111122221122122222112212212111211212121112122211111221221222121121212111121112222121111211211221122222121111111211221112222112112211121122121121112112121122121111121121122222112122221222122111111122212212221112112211221122121111122212222122211211112212112112211122222111212212211121211222122221111211122111112211221212112211212221212221222122221222221221211122212122111221112212212122111111221112212211211212112122211122112121211111211221222121211212121222112211122121122221111211221111122122112211112122222212122212211222121211122211222221122112121211111111212112122222221222122112121121111111111122122221122222221221112222111221211221112112221111112112111111221211221211121221121121222211222222111211221211222211212112222122211222111212212221121111221111112122222222222122122211221212212212112121122211111212122221222211112122112222221212211212121112221112222121221211121111221222111122212122221122111221112111112121212111221121212111221122211212112221111122221121112122222212122221122111122121112111212222121221222122212122212122221221121222222212121122221112122121121221122221121111112122221221211221222122122211221121121112111221122111222112221112222122121222111111211221121221212222111122111211122112221212121211111211212222222122122221211122211211212212222212221212222121212122122111121112111221222221111211212121221111112211212211221112111212212211221111112121111122111122122222111211122121211121122122111222112122112211111211211212122222112222222211122212211221221211111111122211212211122222111212222122222122222211221122211121222111221111212112222112221121212222112221212111221111121212221112211121221122112112122121222212112112212212221122121112211111211211112121122221111111121112212121221211222212212211111212222211121222211211212222122221212112112212221221211111111112221221122211222122111121222212212211122221111112211122121112212121212111112111122111121122112211121122112211221211221112121211111121212212221222211111122221121212211222222212112221121111212122121221211121222121221211122221221121111222111221221111122212111211122112121221121221221121111121121112121112111111222222111211222112121221211221121222122221121222122222112122221122211112212112112122111121212221212221122212211122212211222121121112212212112111222222222111211221122122121122122111112112212122211211112111212212122122111222222221211121111212212121121221112221222212211111121211111122111221122212212121211221122121211112111112221111111111111121222112221111111111221222122121121122221222112111212211221222121112122122222221112122122212121221222122112221221212112121121112122221112111211112222121121111221211111121212112221122121222211112111221122111111121222211212121212222121111121111111211221122122211122211111121222221211211122211222112211211122222122222221112221211112222212211221112112221121221212111221211221121221221212222211212112121221222222111212112212221111112212112122212211211122212222222212221122212221111221121112212111122112121121211221221122211212221121112222221121212212212122212112211211121122222111222211222112111121221211212111111121122222122212111112111211121122121121112212212111111112212211112211122122211121112121221111222211122112111111222212212222211112121121122111111211111221112221221212221221211222121222211212122111211222122112222221122222121211121111111212111221212121211121211211212112222112122211121212111222222121122111211222112221121212112211222121211121211211221221122222122122122121121221121221221112122222112121222112211112211112212212121212221211222121121121121121111211111211122122222222211122212221112112212212221212121122111211221122222222112122122111111112222212111221122212111112121111122122211122222211121112112221222211112221111121221211221112121211122211222112211111111211111111111212122112211111211111222111221121221222122111122121121221111221221211222122221221221112211211111221221211221212122211122111111222111111211221222122121211212212122121212121122212211222221212221122222111112111211121222122112111222211112212212212121222121121121112112211121121211122211112121112221111212211121111221211122221222111212222221212112111122221221211212212111121112211122121122212211111121221222111112222221222212212112211121111211211222112212121212212211221212122112112112211112222122212112211221112112211111221121212112221121211111211212212222222221212221222112221222211112211221221211221122121122112212121112212212221122121122212112212121212121112122111112121212221222122122121222212211112111121122111121112212112222222111111221212111112221112212221112121122111222112111111111212212122222122212121212112212112122221211212121111212112222211122122212221111211221122221222121212121221222212222122222222222211222122222111212221121212222222112112222212112222221222112122212211221221111212111112122121221221112222222222212212221212212122121111221112212122122211122122112221111112112211122111112122121211112211112221122111111112222111211221221222112121222112222222211212122121121212122211112211221212122121211122121122212121212211121221222112212122111112221122221121221212121112112121222222122122212112212221221221221112121211221211112112212221222212122211121212221111122212221112122122212121211212121222222212122111121211111211121122211212121221222211222122211111111111112221212211221211112212121112111122111212111211111221112212112222121211121122121211221122112222112111121122221222122122222122211222111211112122121222112211211211212111212222222211211112111212221111111211221112122222122111212212112221221212221212121111212121222112121222211221112121121122211212112221122122112112122111211112221212211211111121121121121221111111221222211221112122211112212112211112121211222122112212122112111122121212212212221112222112222222111122111112122112111121112112112111222111212212111112111212121211222121211222112121211111122212112222211221111212211222211122212111111211222121222111111121111212112112221112111212122222121222212212212112211112122222122121222121222222111112111222212111121211212211221122112112122112121111122212111112221212121121222212221211212222122121211122112211111111112221211222212121122212122112212212121111222121221212122211122122211221122222122122211122121112121111111211122112222222212111212111121122212122222121211212121211222112121112222221122222122211122222122121221121121121112211111221222122121122112222221212221212121211121122221112221122222211122211111221121212212112122211112212222121222121212211122222112211121111212111221212212121121222222121212211122212111212121212212111112112211112111112211111222221111112111211221112122212222211111222212112121221211211121122221111222212212112111112122221222122122212212221111222211222112111221222212121112121212212221122112221121122111112221222121222212211221111221211122122111121122112221112122111221221211212222212222111112121111112112121121121122112111212122221212121212221212212212212211211221222212222112221121222121222111211122122121112211121221112211112112122222122121121211211212221112212212212112121121111121221222222212221121222212121222211112122121121221222222221221121112122222121112112111112112121121121211122221212222121222221212211122221122111221211112222222212111121122122121221111212112222111122122121222212122111221121212121222112212111121111211112221221122211211121221211111121211222112112122212222212122121222121221211112121211121221121212212221222122221211211111111122121212211211211222122112221122212112112112112121221112111121121212111211122121222222222212221222211222221122211121121112112221122222212111222221211212222222111222112122221221121121211111121221121222122222221111122211112112222122122212212222121221121211112111222112111211222121112121212122111222122121121211121111112122212111112111112111211111122121112122221221122122112211211111122121112211221222112112122121122112111221221221211122112212211222122211212212112222111212112122212222111121112222112122221211111111112122112112221112111111221221221212211111221122212222221222211211122221211212122111222122222212221111111121121121112112221222211112221111221112111121111122112211221221111211121111111221222112222211112211122211221121111222122222111122121122222122221212211112122111111112122111122121112222212112221212221122122112211212122222221121212111211121112212222212122111122111221222122212121112111112112221122211222221111122211221211122211222221222112221112112121111212111122122112212112222221112121212222111112111122211222221222122121221121222222212212222211111122211221211221112211111221112221221112211222122121112212222221122222122111212122212121222122122211121111112112121122122211122221122212122222111212211212212112221121111211121212112112112122112122212212122121112112211222112211122122121221111112112111211211111212222122121222122111212122111212122121111121212111212111222122122212211112212212212212112111212121111211212112211122121211111211221221111122221121211212111212121212122112111112221121122121111211121121222111122221112122112112222112211221121222222222221122111212112122121211121121112221221221112212211121122221111222212211112222212121112212121121211112221211211122212211122212222112221111212212212211211112121211111122112111112121222112212112211211122121212221212112122211212222221221222222222121221122112222122122222121221121222222111111121112221111111112111211212111112112222121221112212221112211112112121222121212222121211222121211212212111111111212112111211112212111112111212112122111122122122222111221221221112111221122112112221122122122112112212211221112111222211121222212212222222121211211121121112111111111222111211121111211121222121211111122221212121122111212121111211221112112121211122221221222221212112221122211221112222211212122221212111222122221112222221221112211221111121121121222211222222212221222222222212121222212221211221122222211222112211222111112211112222121222111222212222121112222211222112222121212122112121211121211121112112112211211211111221211211121112211212122211121122212111211212221221212111212211122111121121222121111111212111122222211122221121211121211222111222222122112211122111211121121122121222111112112112222122112222221222111111221121122212222221221112121211212221122111121122222111121111221121111122211111112212222122121121111222221112112222112221111221121122122211222221222211122122121112121211112222112121122212122221222211221111211121111111121112111121222222121221112221121112111212111121122222211221212111121212222122222221211211222112222112211111111211211211121112211221211211212211112122212222112122121212112112211112212112122111221211111221112222111212111211211221221212112121112222122112112112112112111221212221111211122222211211222211222122221122221221222121222121112221121211112221122121222221112222112121222222121212121211111212112111222111222222121222221212111122221121212112121212122121122121121111122121222111212222111112111212112222221111122111221122122112212221112212112111222211122112222112121211121212212221111221111111212222112111221221222222222121122112212112111221211221112111212112221221122222112211211111212112122212221212211221222122222221112222221112222122121212212212211211221222221221222121221121121222121211221121122211121221121121221212221221112121222222121211122121221112211122111122112211221111112121211112122221121122212111122122222122112121122111112222121122222111212211212121122211212112121122122121121121122211111111111211222212211112222221222112121112112212121222212212212211112222111121122221121111211121121111121122221212222222212121212122122212212122211111112212111122111111212111221112212222121121121212212211212122111122111212222211121112112212121221112111112122221222121222222221211211221211211222212212112112222122112212122221112121111211122111121212212111221211221111211211221122122121112112221122221122212121121121121112212111211122211121211112121112221111222221221212121111111121122121111111111121121222122121212221222112111122111222122221222111212212211221212221221222221222211112112212212111211121221122212121112122111111111111122112122221222121112122121211122122112222211222211211112222112221121122222221222112211111121121112122222211121122212112111212221121121121121222221121221222222121122111112112122222111222122121121212222111121222221111122221211122111212221212221111121222112122222112112222212122221111121121222121222121121221222212212211221212122112221212211121212112211221121212121121222211121222211221212222221221211211122222221122122121111112221222121121222121121112212211221121121111111112221111222222121222122112112111112112111122121222112221122211212111122221112121112122212211111222111121211122211211211212122211222121212122121221121211112111222112111122212111111121112122121121221122212112112212222121122222212222121111211111111211111111121111212112111221222112212222222222112112121222121112212122122212111121221112221221121211122212112211111111122111112111212122221112111122212122122222222212222222121121221121122122211111212122211221221222221111221221122211121111212111211122221221221211121112212122221111121222222212222222112211122112211122122221222121222122112212112121212211212211211211211211112212122221212211122111122122211222112221212112122121212121122112222221112221122221212111111221121112222211122112121121112112112121121212212122211111112122222121222221121111212212111111121212222121121212111211221111211221122212221122211122122111112121221111122221112211211111112112212111122121211222221221221111111221211212222122221122222222122111121122211111222211211211221212111112221211112122222222111112112222121121211212122122122121212122111122222211111211211212221212121222222111212121222211112122212121112121212211122211122121122121121121122122112221122222212222212212111122121211221211121222211222112112222121222121111212221121111221212212121122212121222222122212121122122222111212112211122111222212122122221121211112112212211111122212221121221222212212121211122221211221222211122221221121122222212112112211112222221111221122111111212112122111221121111122122122211111212122112122122111112122111222211111211212222212121212212111221111222112112111222121112212222222211221112122222221211122121212111112211221111211122112121111122211111112211122212222221111111111111221111212121212211222122122212222222211211222121122221121222111211222111211121222212222111221121221212122222221111111122212222122212111122211212211222122122112212112121121212111112221111222221112121112112111221122122112222122112112122211111212222212121111212212111122221122111112122222112122221211122112222222121122122222212212112212221212221212211122122211122222111122222111112122122221211121121111122211121111121122122122211222211122111111121122222211221121221211211121122112122112211222212112122111211122212222222221221222211111222111212112221221211122212111112111122121221112121221112211222221111121222111122211222121112121211222111121212212222221222221122112122211221111121221212211121212221221221122212212212112122111121212121111111111112112211111122112221211122112212111122112222122112111112222111112111212121112221111111221222122222111212222212222122222212112211211222212111111211121221211221212111212122122111211221122112221121221221222111121122211211212121211212112122211211122222121122212111222112222112212111121211112112222212222112122111221221122221122121221122221111221221211121211211112121111122121211112221212222111221221122112221122111222111121222111122211112121212221111111121221112111211222111222111221112221222211211212221212112111121121122222122221121221222212222221212122222112111121222112111121211122121111212111222222112211112121112221122211221111122111211121121111211211111211211122211211112212121212212121221122122111111111112212111221121212211122212211122121111222211212111111122212122212222212221221112121122221221211112211112221112111111222121112221212212111111122112221221121212222121222221122221112121211121111211221121222211111112222212222122212112112211112222211212112121111121221121222222122211221112112212112112122212212111211112222111211112212122212221212112211111112122211111121221222121211212211122111121212222211122212112212111221121222222111211222121212112211211111212112222221111112211111122122212112212212212222221112221222212222122212221221221122212212112211222121221112112222211221222121222212211211221222212222121221111222211121112121221112121111221122121221122212221222111122222222222112111121222222222121121121221122121212212211122121122112221221212111111121211222221222122212211221111111121112112122221212122222122122121212222111212111212212222212221122122122222122112122211111112221121212112222211211111112212121211122211111221121222211211112222211121111212111112211211221222221222212111222221222122212221211221211222222212222121122211122222222112212222111221221212121221112121211112122122122222222212112212222221122111111221211222122121212122121122121212121221111122112112122122122212112111111222111121211212121222211121111212121112112112222222221221112211121112122121211211211221212221221121221212212212122221122112111111211212222122212212222111122121221122211122222222122222112122111121211212112121122121222111211211111211121222221211122111222212212121112111112211122121221111211211222221211212211112212211222111221111111121212222122122211211112211122211111122211122212111222111221112122212211111111222121222121122221111212212121222222212121122121121221211121111122122111222221211121122222212222221212221211212211221221122112222111121112211222211112121121221121211212221111211111212122121112121211122222122212221112111121221122112221122221121122212122212112221112121221112221122212212121221112221222111211112111111212221111222122211221121211222212112212122222211122212111212111221222211112212222221221111111221221111211222111222111221221221211111222122222122222222221112122211212222112212121122212111122111112211112212121121212222111121112111122212212121112222121221221212222222111122121221211222221212211211111211112111111211112222122122212222212211212111112211222121112122211112212111212212212121211211222222211122121212222212112111121112211211112121211111221221112122221222122112211221111122212121221211121122111121121122221122212111222221112221221121221222222121221111222122211111222121112111211122122122112222112221221222121111122121112211112212122212122222112221222121122111112212112111222112211112111222222221221122111111212121111122221221122221211212112111211112121121121112211122221222121222222212212111212122212212122221121121212212112112212111122111121221112221221121121121122121121112211112121211221112211121211212221111111121111112211112122112212112111112111221122121212221222221221121221222222221212222211121121121221222122111222222211222222112112211122212111111122221221112111111111211222211121121111212111221122211122121112112112121212221121121221111121212111222221222211122212222211211112211222222222121212212212211122211111121121122221112121211121121222122211211121221122112122211211222111222221211222112111111121121112211121122122111211112121222211122221112112112221111122122121111221222222221121221212221211222212212211222112221121221221112112222122121122111121211212122111221121122122211112221221111211222211222221222121122121212212121111112122221212211212121222122112121221221121221111222112212111112111112121111111121222221111212121211122121211212221222221112211211111222112211212112221111122111221211211221122112212122211121111211222221121222121221111211211121211122121221111121121211122212212112221112111221121211221121211212212222222111221112111122222221112221121221211222211212221222221121112111212111121221222112122222211112221122211212222122212211122211221111111122112122211121111112211122211212211112222112222222212121211212121122112112122111121212212222121111111221121221122122112211212211112112121212111111221111212122221221121122222122222222212211212121222121122111221211111121212122212121122121212211122111112211122212122211121112121112221211222112212111221221211111211222122111112222111221121222111222211121121111221221121222212212221221222222122112111122211122221112122222112221112222111212212221112122122112211111111221122212221111122211112212211221111111222122112121212112122121211222122212122121212222221221222112211211221222211122212121222222121122211111112212212122121222222221111212211221211222111112222211212221221111222222111111112211111221111211121122212111212121221221121221222121221122212122211221112111221221222212221111211222112211211211111212211112211221122122112111111222212111122112211121111112112122212221222121122211211222122221212211211212122122122211221212212112221211222221111222121112111222112121211121221211211222222112212211221121112122111111121222222121121212122221122212111122112111122121122221121222221221212121112121121121221122121211211121211222211212112211122121212112121211112112211111121111212211122222122222122112122121222111121121111212112212121111112221221121111111221221222111212122112112112221121111112112222121221121222122211111211222121222121211211112122122211211122211111121211221121112212121122122212111112121112222222112222121212222112212222211121221211122212211211211122121111221221211211221111212111221122122121212221112111221222221212111122221122111222212122211112121112211212222112222221211122222212211122222212112122222212121221222112211221211122112121111221222212121222221111222212221221222211221221211222222211121112111111221122222112121222112112212212211222122122111212212122111122121122211121212212112122212222222221211111121121212121211112212111222211212221111221122221211221112211211111111122121122122111112111221212111212211122221122112121221121221112222222112111111111112222111111122211112211211121221212121222111222211121122211222111122222212221122122222222112221211121212122211221122112221122122111221221122122122122111211221121212222112221212221211211122222212222222111112222121112122112111121212112122211212121221122222221122221212222122222122121221212112212211222221122222122111121211112121111221211121112112111221112222212212121122122212212212222211222112221222211111121222122121121122221212211111122111211112121211121211122221212111221212111122112222111222121222111121121112221211211121212222122112121122212221112112111211221212111121121112222222122122212221221212221122121112111221221212212211222111122122112111112112112212111112211122211221222211112221121111121121211221121122221221121111121112212222212122121211221111122221211112122111121122112211222112222112122112212121212121122222222121211111122112221121212112222211212111121211222212221112221211212121221112222221212122111112111221222211122212212212122222112122211122111211121111212111212121112221221111121122122222111112221112221222122212122112221222122211211112212222212212222212211111221112211111212112211222112121212222111121221221111212111112111221121212112112112222121112122212221112211221112112221221221211121122122122122211222111122121122111212121122212111211221122221121111221111221221221212111212111111212211111211221121222221121211212221211222211221122211212212212122122112222122112112112122222111122222122111122122212221112222112211222112121212121222221121122121222112221221211222112212211121112112121212221212122211111121211222111122111211221122212211111122211112221221211222221121122211211212122111111122212211122111222121121221211111212222112111211121221211122212221222222121211211212121222212211212121211211112111111211122112112221121121222211111211122222221211222111221122221221212122121222112122211211211221221122121111212122222221212122122112212112121112221121122211121221122211211112121212121222221222221222122222221111222121111212112211221121222221122121121122212121211221211221111211122222221211211221221221211122111222221211112222211111222112221212111212211211211112111112212222112222211111212111221211121122122111222111112111112211122212211111121122122221222221112221122211211122122222112122112212112122212122122222212112221211121111221212221112112211111122112221111111121112122222122112111222121112212221211122122121211222122122121112211212221211212121111111212122211212212121122211211212221221211112211122211212221222212222122121221122211121112121212211121212112211112121122112221121221222112121121222222121111221121112112121122222212111112121212221212111122222112211121212222112112112212211212222111222221111212221112222122111121222221122121122212211222212121222211212212122121211112221222222112212221212122111222211212211212221211122121112222222112222221121111122211121112111221222121122112122122111122211111111222221211212121212222122211111121112221222222221122111121121221122211211121212212122122121121211221122221222121121122112212121212111212221112211122121222112222221121121112211212122212121222222112221211211112211222212122121221121211121222221221221112212122121221212212211112112222211112221221112122211111112211211112122212222212222222212112212112111121122222111111112112112221222222211111121121121122212211112221122212122211122212112121112211222211212211111221112211221121211122222221222212211112221222121222121212221222121111222222221221222222212112112122111221111121122221222122111121221122212222121121221121221211221211211112211211122112222112222112121122222122221212211222212212121112111122122121221221111121211221212112222222121212212221211111221222121112112222112112222211112111211212211221211222112212211222122121111222211221221222222111111221222121212122211212122222122122212222212112111121222212121112111211111222121212222212122121121111122212111112222221122122212222221122112221121112211222112112112111111222121221112221212122121222221212121212122212211112121212222121112112122222221212121221222111122111211121212222111121221112122121211221222221222221112111112122211221122121122122221221121122221221212111121112122112112212211112221112121222212211122222211111212121111122211211111111122222112111122221121222122221121221222212222222211111122212221221111211211211221111212111111112212222111211211212212211221222112212211212222221111111112122222111222112212122111111122121222112121222221122222212121112112112111121111222121112212221222222111212121212122121122211121211112212121212212122212112212111212221211111222221222122112122211211121222112221211222222211221121112221122112122122211211221112121212222122121221211222221211221122111121121121122122122222212111222112111221112111211212111222222122222111112212212211111122121211212112121111221122221122211211221112211212121211222111212112211211222222111221221212212121212211222221122212121112211212121121211122122221222121121222212222221121211211121222111111121211111222121221212222212212112112112212221111222222221121211212121121111111212222111122211122221212211211211122111221212121221111112222222222111111111222222212122221112112211121211221212211122221212112212122121222121212112121112112111222122222122212112212222122222111221211112112111111222212222122222222112121211121221212211221212212211121221121222222122211221222222212212121121222111111222212112121211212222111222221112212212211212121222221121211212121122222122122211111212222211121111122112212122211121112212112111112212221121211111122211222121111222221221112211211212221122212221222122111211222121211212122211212112221111111121211222122211112121112222121212211222112211121121122122112211112121122222122121222222211121221222211222112212111122122222112122112112112112112221122221211212221222121121211212212222112122212211222112211212111111111221211211211211222121221121112111211122111121111121121212121211122122112122112121111211121122122212221221112122222221212222212111112212221211122111111122221121111111121221211222122212211112221211222112121121212112221212121221222121211122212222111211111121221222222122221211122121111111122111111121112212121112112211211111122222212212122112111221222212221222211121121121112221122122211221212222112222112112222212121221221122212111221222212121212122221211211211111122221111112221212221211121112212121222222211112222121222211221112112222211121221221221121221222121122121112211112121112111122212222211121212221211122211112112222121211212212221212212121212112221222211212111221211212112121211212212211121222122112221112112221112111122111112111222211121111111222112212122122212122111122121112222212121211122212221211211112221212122111111211122122211111121212211121121221111122121221112221222211212112221221112112221121122211111211212112221121112221121112212212211221121221121222122112112112112111122122211222122211122222111212221211212211112221211111122122112222122122112211221212111222111111122122222212122112211212122112212112222122222112211121112111211121122222112122221122222212222121111211211222222112222222221122211211221212122221211212211122221111212221121112112221121111212221122222112221121212222122221121221222111112111221111222221111122222212122212222212222211122121211211112122211112121212221221212121121211221221222211222111121122222222211211112221211112121211211111212211121121222221211122212222222111112121111212211222122111222211112221211112111222121121212221112222122211212211121121112122221212222221222222222121112122211222122221211112112211211212111222121221121222121222221121222122222112212111112212221222121111222122212221122112111112111112111121112121122111222222122211211221121121121222111112112211112211211121121212122212212212122112211222211112121221122122222221111122122221211122122212121112121111122111121112212122121112222121111112121211122221222121222211122121211122111221111121221221112212212212211222111222122122121122212121222112111112121221111221111221121112111111122211112121112112111121122221121121112221221111221112211122222121111221111221121111122111122121221121211122121112112121212211212112212212211221112212212112121111221122211222222221121212222122212221212111121212111222212111222111121211222111112221112222212111112211222111221222122112211221211212112122121211221112121121212112121212212111221112211211111222122222221112221211222112121221122112221121222221111112111221112111121122212211112121112122211122111121122212122112121221122222122121212121121112121111121112122211221121122212222112221121111211212122111111212221111122212111221211112212221122211221221211212221122221111222221211122111222211121222122112211221211111112221111222122111212221221222211121211112211111212122222222211222111211212222111111111112221212212222222221211111111222222111222121122222212221211222112222112211122121111222221211111121212222122122222122212121212222221111122221212112122222111221211222221112211122111212222111121211121212222112111221112212212222211122222111221112221122222111111121221112122211122111122212222112211111222111211112211212121121222111111121112111122122212222111212212221122221212211212112222122211211212111222121112211212221221221222212112221212121121222112221212221122221211122112211221221221121122211211212112111111221221222221111211112112121212211111111122112112212122121211221122121211112112111121221122111211221211121222121111211211211112221112211111222122211222122111221112211112122121212111222122112222111111122121211211221122221221211121121222122122121211121222112212121222111221222112112122112211211212121212122211221222212221222211211211221212112221212212211211221212122112221111211111112211221212211122212122121121221211211112112222112121211222212112221122121222221121212222222211222221221221211222121212221222112121221222212111122212112121212122121121112212222122112221112212222112212112221112112112111221112122122121112121122112121121122212122211221221222111112111212112112122112221221122111222212211222122121211221112211222212121211212122122212121111112212212221222212211222122121222212112222211122221211221212211111111122122112122122112112221111111121121211221112221122221122111211222112222222121122221112112222111122112111111211121221212121112112211211211112222112112222211112121122221211121121222111222211112211221111121112211212121112121121111121112221211112111212222122112211212212122212211112112212122111112212221221112122211122112222222122211111121222211222121112212211212112211222121112122112212112221112212222222222121212111111121111221122111122222212112212212111222222121221221212212211111121211211112222221212222112222222121111122122112211121222212122122212111212212211211121121111111222221221112121111121221222121211122122212111111121211122222121211121221222222122112211122121112112221211111121111122112111212121222211222211212121212221211122222211122112221111221122111112111112122212122122221111121122112121122112121221121122222212112211122212122211122112111112212211211111111111121112222112211222222111111211221221122221211121212221222112122112121111211212212222111221111221121122211111212222221212221111222221121221112222222221222111211112112212112122112122112221121222211122211211212112122112211112122222211212222212111212111111222222211111121111222112122111122111111122112211221222121212121121212112122212122121222121122122221222112211111121121211121122221222212122211111211121221222111212121221221111222111121221212121222212111112212111122221222112222122221221112221122222222212122111211111111222112222111122211221121211121111121221122111222222122221222221222211222212221222122222212111222212221221211221211222122222211112122222221121122212111121122211212111211212211112221222111112111112112122121211111211222122112112112211222212221211112122121211211211212222222111122112112121211122121111111111111221222222222122222221112121121112121211222222222112111221122122122222122121112221221212121222211112122121121211122111111121111111211211222221121122122211211221222121121221122121221112221111122121221121122121212122211122121112112221222211211212211211212112222122212122222221221222122122112212222112112222122122222111211212212112121222122221211222221222222212112211122211212122221211112211111111212221112122121122111121121112211211121112111211111212212112211222222212221121221112211121221111121111221111221122111212111212111211122211221112111222211212121121222221222111212122122122212211121222222112222121121211222112211122122222121221121112211112211112122122112222112221111121221212221111221111111221122212122211111112221121122211221122111122222122111112112211211111112112221121211222112222121221112222221221222121111111121111222112212112112211212121222222122112112121221212211111121121221222221122111221122222212111222221222111222211211222221222112211221211211222211222211212112122122111122121112111212212212121121111121122121222112212122212222222121122221111222122111222222121112122211212111112211112221211122121221222212211112211221211212112222211212121112222122222222222122112111122222221222121112211211211122111111122121111212211111222211211121122222112122221222112111112222122212112212222122121221121121122221121121122222121121221221122111222222121112122221212121122211211222122122111122121221222112212222121212222211211121212211121212222221212121222212222111121212121221221122112221211211121121211122221221112122211221222211121221212211122212122111212222211122211221221122211211212122111211221221112121121222111221111112211212212221122222112111212212121212222221222222222212111221111222211112111221221212111112112122211211112121211121112211121221122122221112112112122222222212222211121112111122221121211112212122212212122112212111111121212121111221122111221221221112212211222121211222222211222221222112122112112211222221121121212122111221221121112111222211122122212222111122212121222122112111211211111221212112212211222112221211112121221222222221212112112121112221222121212122112221211122212222221222221212112111221221211221212121222112121122222111211221222112121121212121211122112222212112121211122212212122121111212221122222212222211211211112222212211121211211221112122222221222121112221222122221212111121222212121112222211212212221222222222212121222121121211111112121211122122212112212211111211221221111121212112122221211222112112221222111121222212222112222112121111211211121221111111222212211111212222112211211111212222212221221111111112121112221111122222111212111221111122111122112212111122112121112121121122221222122222221112121111112221121112221112221112122222211221211212212211121111112212112112222211112212211121112112211111111211122112122222221221122122221121111121112211212212212221222121112122221121221112222221111221111122111122221212111111211112222122212111112212111112111121112211121221211222121112212112221222122112211111112121112212112221121122221211221222212122122222222212212221211112122221122221212121222121211212122222222211111221212212222211111221222121222111122111111211112122221122221111122122221211222121221121222212212221112211121111111121221121111222122221221121221112111121121122222211222111212212212211121222111112211222221111122221122212222211211121212112221121121222221211122121121112112222212222222122211221121222112111221111121121221211121111122221222212111122221212121212222211222112212212221111211212221212221222111222122222211212222112221221111111112212211212221221221212111122212222112221212212112121111211111112111112212112211111112112211112121222111211212212212111121211212221112222122122121112121112212211222211122212211221212111121112212112121212112211212212222122112112111121121221212122112212212121112211211121212222212112221211221122111122121221221212111121212121122222212211112122211221221111221111112112122112121221111212121211111111112122221211211122122111111112122111121122122112222121121111222121221111221112121221121211222112121121111121111111121212222112211121111221211112221112222212221221112112221111221222222212112122212222111212222121122111111111221211111221221211221111211112222221111211112122211222221112111221221121122212211221222212122121111111211122121111221121211221222121112122121122121222112111122211121121112222121222122221222222122121122121211222112112112111112222221112222112122122222221222111111121221212212112221121211212212111211111211121112221112121112212122112112121112221121122221211211112121211211221122222221121221211122111222121212111121221111121222111112122121121212121111111122122221212112211122211121222111211121111112122211111111221112121112111221121222122222212211212212122121211222211112111212221221122111111211211212211122122211112122221212122111221222111121211112111121112212212212111211111112212212212121212222222121122221212121211112112112122212211221111222212221122211211111112112222111122111111112122221121212221122221121111111122122121121212221112112212121211122221212122122122211222111222122122212112222112221211111212121111111221112222221112112211222121221122111221112111222221122121212121112211112221122222122111112122111221222212212212222122212111211222112222212221221222222212212221111112111112121211112221222112122111222221221212111222122111112122122211121112222221221222212121112121221222121112222121111122122221211212111212221221212121111122222111121112221122211112111112212121111222112212121211121212121222111111112111111112122212212121122221221211221111111222121211221211121112211211121211212221112112121111221221121222122111111112112111211212212121222122211112221111112122221122212211221112211222211121122212112112221211121111212212121111212111121221222211121121211221221112211222212212221111222222212221111122111122222221111111121222211121122211211121122121221111211122111222222112211121122112122121111122111122212221121222111111111121212112212221112122121111111121111122122111212122212211111122111212211222221222221211122122211112212112122112121121122221221122112211112222212121212221222121121222221212112121211211221111221211221121121112221121111212112212222122211121222212111212121111111121112111222111211121122212112111212121222211222212121122222112122111112221212221112221212122121221222221122221212212221222211111222122121121121212122221121222122111111221222121121122121211121121221212221121222221121222111111121222112221211111112211112211121222121221212111111222122212122112211221121121121221212112212221111121121211222221211211122112122122111212122111121211112112212212212221111112122211211111122112122222212212111222211212222211112212222211111112211212212112122221112121122212111212221122212212222221222211221111222121211122122112122112222112121111122111212121111122212122212111222112112212122112222121221122212121211122222111211222211112212112221111211121121112121111121222212112122222112112221221222222112122122212221222221111112221111121211121222221122222112111211112221111112122121122222222222111112121212212221111112121212221221222122222212121222221212112112211211221222212221221222221222211122112122112122111212112222112212112121121221122222122221111221222212111222221212122221121211221112111222121221212122122211122122122121212122212221121112211222121122222111122111122111122212222122121111212211122111211221121211122121221121211122121112211122221211212121211211121211112211121112111111221212112122222222121222222122112222221211221122112211211211111211112221221112212221122122222222221122222221111121122221112212221221112222112211212222211221211122211111221222211111112121211212222221212212211121112222111121121212112111121122121212112111122121112121122122121221222221212222211111111222222221221211121212122212112122121111121112121211222211221211122221122221111122111111222212211112122222222122211211212121112111122112221212121222222221121211221212121111111221221222211112112122122121122222112121111112212211221222221122111212212122111222222121211121211112112211122222111212111212112111211222212212112111122222222111211122221112111222212121111222112121221111112222212221112212122212221121122122222222212111222221221211221121111212211222112122222121212222111112212221212121122212222121212222222211222121221112212221221222111221212111221122111212111222212212222122112212112222222211211112122122212221221121212211112112111221212221121111211222222111111212222212221212112121212221212111121122121111121112211222121211122222222121221112121121212221112122121112211222212221111112111111121221222211112121111112112212122212112112121221112121221121122112112122212212111211221222112222221222121211111122222121112212112212212211222122212111211121221222112222122211121111211112222221111112112111111222211112111211211221112121112111222121221111211111221222212121112122211111122111211221221122222121111221112112111121221111222222211211111212112122121121212211222211212212221111212122111221221211121221212221222121221211212122211122122211212221211211221211122121121221122121222122112121222212221112221221211222122212212121212111222221122111111112112222121112212222122212211212111212212222212121121221122212121211211211211211122222212122112122211212121211122212111212221212221222212222122211212221221112122112121212211211121122211212121211212122121111121211122111222221221112222112212211211211221112222122221112121211112112222111112222121221211221211222122112211211122111221112211211111222121222121212122211112122111211221122121212211221111111212212211211222221122211211212212221221121221111122221212122111221221221221212111122212121121112122211221221121221121111222221121212122211122122211122122121112212221211121112222211112122211112222221111122122111212112111222122222112212212221121121112112212212122112211111222212122212212212221111212112122221222121121211211112112211121211211211122122212221221222221112112212112212122122111222111211212222111111222222121211112212222211222222212221212222222211211221222111112212122121111212122112112212221221112121212221122122122212111122221111111121211221112222111121211212121221211221112211212121221222112221111121121212112122122221122121111211111122222212112212111121212112221221112211212221111212221122122212221222122112111212211111222111122122122222211111222221212222121122212112211212212111221211221111111212121111212121122111221211112211212212211211221111112211212121121211211212221121111111121111222221112211111212111211212111111121122111112122122121112211112112122211111111221122212112122111212222121221222121111222212222222111222121221212222222212112211211121111122122122221221221111212122222221111212111212122211211121221211122222121111221212211122111122212221112112222211111112122111121211111121111112121111211212122212121222221111122211222112211121222211222222212212211121122122221221211121111111121111122122111121111112222212122121112111121111222212221111221122112121221121112112111212111222221121222122221211211122122222211122221121211212121222212112211211221212211222112222122122112222121122212121211122222121111121111211112122222121221111122112222112121212121112122121111221111211111122122122122121221222111121222222222121221111121111221212121122122122211122112121221111121222112212211121221222122121222112221112222222112121122211111112112221211211211212121211211212112111121221212121222112221122222122211221121211221212221221221122112212111111222222222211121112212112222221112112121222211221221222122112212221122211222121212112122221121222222112122212112122111122222221112121221111212112111221211111112122222111221222111112121222121212221121222111222212122112211221212122221111222122111221122111112212112222122222112212211221221212121122122112221221121222112121121112221212221222211221112122221222221122221222222112121222112212222122122122111221222212111121122122111121122212122112121221122211122112212211121112212222212222222221121111122111212111211212222122112112111112211121112221111212211121122211121112121122111112121222112122222122212112212212122122111221112121222211222222121111211111111112112221222221222112211212221211122121112111212222122212122122211111121222112222221112211211112211221112111111122211211111222121121112111211122121221212211221212112112112221222121122121221221122222121221122211111222122111111121222211121111221212121111211212111221122111121121222222122212111211111112212121222212111111221211112221112221111112211112212211121211211222112212121122122112122222211112221111112112111122121221222122121222111211122121222111211212121112212121211221121111121221221112111122222211211211112112111221221221222122111122212221212211212221111111122221111212222122111221121111212221221122222211222212122121122221121111211111111211121111212121112222222222222212112222222212121121111211122212121112122121122111222211112212122212221111212122211222222221221121111121211122121211122111122112212112122111211221211222221222221211221222111112221221121111212121222212211112111111122112112212221212221221211122122221211112212222221221212211212112112222121211222111211112121222212212112212221222112211121122212221222111211112121211111122111112111211212111211221121121221112121121112222212222111221122121221212121112121122122211222112211211121222211212211222111111221212221222222221211121212121211211112222212121121222111212221111212121211122121121211211221222212221121122211212121122122122211122212212121211221221111221112221211221122221221212221121222211111212212221221211121122222111122212222122221122122212121211112212111122112222122122122111111121222122122221211211121122121122212222121211111122222211112122112222122111122222212121122211121121222111122122122212111211222111111112112212112222112222222121121121122112221211121221122112122122211221112211122221122222112221112212212122211112121111221211222121221112112212221221221111112222111111111222112222211121112222111112112221222111212112121211121122111121122122122212212222212222121211222111111121121111211212111211211111212112122221212221221111112121112121122122222111222122222112121212121121222221122211212121211112122112221111212212111111112122222122112122211122212122112111212212221122121222211122221221112211112122211222111111221221212221221112212111112211211221212222112222121112111212212112122212222122212212121112121221111212221111122222211122112222221222212211212222121122211112122222221221122211122121121121122111112221112221221122122222121121221111111212212211211111112121211111221212221122121122121121121112121121122122222111112122121211211122211212112111121121211111211122211112222111212111222211222222121111122221211211121121221112222122212121212122211212221212212222211112212122222221112222121221212221112212211121112211222121222112122222111111122221122112111211221212222121211211222122121212221222111211111112221222212112211212111112221112121212122221121111121121222111222112211211222111121221222221212212211211212222112122212221211211112122122221221211111222212221212121122221111222112111121221221121121212212112211111121111112211222221112222212212212121212221211222112221211112121112222222112122111221111221212121212122222122111121211122222122111222111222212221121221111211211112212212112211111222212121222121212112121122221222212121222112212111122121211112211212221222221221211212212122122122111122211112111211122221212221211121122121112222111212121122122112211212112111222111222121121212211212211122112112221212122111112221222222221122211221222222112212211222121222121111111121121211122111221121221212122222112222221122121111222211212121212221122212111211211222121222221211122111221222221212122211211211212212121212122121211211111211221121212212211212222211221112121222122122111111212221212212111112211212211212212211121122212121112212112112122122112111212222212211122112212221212221122111221112222212212212122212122221221121211222112222121121122222122121122121211212121211211211222122221222121211211111112112122222121221112211222222211211211122212211222121221212211122212121121211221222112111212222212122212212121222112222212221222221122111221122121111121121222212222111212111222121121212221211121211121121221212222121222122221122121111212212212212211212122211211121221211111122121112222212222111122111222221211222111112112122121222111211222111211112111221122222211221111121111222121222222111121111112122211212211211221221121222112221112211221122222121122212221221222221222122122212122121212212111211111212111212112212211111211112211222111212211112121111122122112212222122111121211111212112112122111221121221211221222221111211211122221212122121121221112121222211112121211212112222221121222121212212221122222212111222112121211122211211121122222112222212121121112221211211121111222222222121222211211222221212212112121221212111221221121111121111122221222122212222221211211211121121211112122212222211122112111222222122212111222211211112212112212122212112111211111121211122222222112121222212222211211111111212211111222122112112112212111121111211122122121122222122211112221221111212222122111222122222112112122121111111221111211111122122122111112221112121222122212121221122121221212222211111222122212221112211121211222111112111222121121122122122222111221121222111112211112122121121122111212222211121121111111121121112212121111222122212121221111111111221211112222122212212111221111212111222221111121121222121121222222221122221221121121222111222222111121111121222222222212211211222221211111212211112112212222112111121212112211222121122111112122212122122221212221222221122222122111211221211222212111221221121212112122221212121212222221221212211211122122121112122221212221221111221212122222211221212112212222121122122211211212211121112121122122212222212212221111121211112211222222212222222211112222212122121121221121211221112122111122212212122222222212122222111221221121221111222111212111212112121221111222112112222222112211211221212211212212122121112212211221111211121222211112112222212211211122221111222211122221221221111212222212211111112211122112222222111212221211111112212122211112211222211112122112111122212111221121112212211222212112112112111112122211212121121121121111111211112121122211112112211121222222211122122211222211122112121222212211111111111121112112121221211111111222211211112212111222122112212212122121222212211221122221112212111112212111211222112111112121121112222121122212211121111112221112122211222111122121211222222221121121111221111211112112111112221222112211111211111121212212111111221111111212121212211211222121121212111111222121112111112122112122121112222222211212121112112122112111122121222221221121122121212122111112122221111111222222112112211121222221222222121112121212212112222222111121112212212222222222122211211111111111222221212122121121222221112222122122112122122121222112212221221222222222121121112211221111211111212212121222121111112121121212221222111212112221212121222211211112122112221122111212121122222221121122112211111221122222111211121112111221222221222221211211121212121212111111121122112212121112122221112212122112212111122121221122212122221122211121212122112121211112122122212212222112121112112122212122111222221212122121121111222112121212111221111212112222121222211112212212112121111121211122222122211111211121122221211212221121221222212122122212211121121221112222212221112111122111212121212112122221122111221211122222212122111212212221112112222121212211222212122211221121211222121212222211211222112212212212122122111111122122112221211212211221111212221211211122221211122112121111121211222111212222221211122111221211212122222221212111112121112222112111122111212211222111211211121122222211121122211112212212211122211221222222121121221221211212222111222221221111122121121112111212212121111111211212111222222212121212222111221211111221122211121122111211111222111121221122222111211111212212112122222222211112122121211111211212222111222112112211111222121122222222122221221112211111121112211112211221122211212211122222121211222221121112111111212211111111212111111221212222222112122111211211121122111212121212121211112111212212221212222122211112211221111121212122222212111121222122221212112212222221112111122121112112112221122121222212111111112111122211122221212221112222222211111122211211222221122111221222111212111212112112211211212111212111112212111112122221121222211212211121112111221122122222211122212211212212111112221212212111212121111212222212121111211222212112112222222212121111122222221222212112211122112121112111212211222211112221212211111122111221222112122122121222212112211111211222211221221122111212121222212222111122112112111211211111121212112211221111112222111112212122221112212122211211221121211122122112222111112111111112221211121212121212111221222221221112222111222212222121121111211121111112211112211121211221221222211121112122221121111221222221221111212112111212112212212112112122122221212212222222211212112112111122121222221212111121211112121121112212222121212211212112121222112121212112112221121221221211222221111111222111111211211122222222111221211221112211212121211212211222221111111112212222112122122212211222222222122111121212122111212211111122121112221112112122221222211111221211222121112111112122221221121221212112111121111212111111211111222112222112211121121212222222212112122221111222212111212222111121211211222122121112221112222211111212121222212112122121112112121122221121212121212111122221122221211122212222212212212222122121221221112121111121211221111212122111112112212111222112122211111212112122212221221122111112211121122221221221121112122112122112111112212112122121221212121112222221221111222211222122112122112112211122112222111112222122221111212111112122111211212112221111122222221111212222111111111211211212111121111122111221122111112121212211121111122211111122211112212112111121112112222112211111112121222211212112212222121212122211111112111121211121222211222212211122111211211121211111221211221222111112111111212122212111121211122121111121122122121211212122211211121111122212222111221121211221212222112222222121112111211121122221211211211112112112122221222112212221111221212222221111212111111222122221121111212112121211112121112111122221112221211111112212222221121222212112221211221122221211122111121211222221212112211221111221122222222121211221212122211222122112112212222121221221112211112212211212121111121221211122122111211112221211121111222211211222211211121111211112211111122112212221211121121221112121211121122222121221121211212121121112122112112112221212221111111112222112212121211111122211211112221211112212111111122112211221121222112212121121211122112112112211111221112122121222212121212212221221222211111121111211211122222222111112111112122222222122111211212222111121112222212112222122121222211111112221111111122212111112112212111222221121121112221211211122211212112222222112211221111121111212221111212221212121121222121111221212212112221122112221121121212211221112211212221221112211121111112221212122222122121212222212211111221212121221221112212122212221111111211222221111222122221212212111122122211221212221111121112211221222122222111222121211121211121121212212112211121112221121122111122212221112111112112111221211221222112121121212222221122121122221211121221212222221212221222122111112211121122222121121211122112221212212221211122111121111122121111212221222122211212221111111221111112212111111111112221122112121211222211212212111111221112112121122112211112212222111121111121221211212211222111222122122121112211112111212121112222112221212212112112122212212211122112212111121111222222111122122122221212122121222221122212111111211222121121222212122111222212112111111221112211112112121121122121122112122222121122221122121112122111112221112221211121121112222112111111221221112122121211221212122121212211112112212112121112121211212221121112122222122122221212122111111111222222111211111122211112221221121111222212111222122212122122122222111112212122212211122121122221211212212112222211121112121121212121122112121122211211121122212211111212211122122222221221211211212122122222222121112112212111111112212122212221221112212211222121111111112121211211222121211221211111212121211122221122121111212221211121121121211212222121121111112212211211222112112122122112121111211221211112222212122121211112121112122122112211221211111122211111122122221211112122212111111112121222212212222212221211121211212211112221221112112112222212211221221122222221221222112222222222122122221121222222111112121221211222122211121122112112122212211122222222112211112122111212111221121122122112211222121222121112221111221211121211122111111221221222221221122222211212122221212112121122111222211221212122122221122221122112221211122222212111121211121121111111222122112111211111221222111221122212212221122112212221211121211212122111122221212112122221221121222121221111112221122211112122122122221111111221211112221212222222212121212211112221222221111211111121112222211111112111122222111112112122212122111121221221111212222211122211211222111212112111222112122112222221222222121121212211112221111211112122222212212221222222121212112121111112111221212221112221212212111211221211221111222112121112111212222111111122212111112212221111121221222111111121111121121222112221112222221112212111212222212111111112121212212221112212212121122221122221112221221121211121212122212111121122222121221222222212221111222211112121122222221112112111212222211121211121212221221211221211121122121111122221112211222221112122121112222122121211122211111211111211211211112212211111222122212221222212221222121222111122111112111222111222212112222221111112221221221112221211112111112211221112112211211122222212112212112222122211222221221111212122121221222122122122222212212212111121111212112222212111111221122211221111112111212212122212212122111211222121211212221211221122221221111221111211122111112111111122212112121111112222222121121111211222211122212212121112222111222111121111221212121212222121111112212111111121111221121212121111211111222112122121221222222212212122222112212222112212111222122222121121211121212212221122222112221222222221221111111112122211112222222221222112112222121112121122222111112222221122111112121112211112221122212222111222222111121121212121222222212221121211211212221122212222121111111221222122212222111222222112111112212112222111211122122221122212112122221212221111111212122222212121111211122212222221111112111221211111211211121112111212111121111122121211121212222211121211121222222222221111211221111212122111222212122111122121211222212221121221111112112121111212112112121222122122111122121222111222121221211112222221221112212122121122211221122112211111111111112221222112122122221121111222121212112112212221222122211222211221212221211221111211111121211212222211211222222112222112211211112122212222122222221221112211121221212221211221212221212112212212122122121111111121211221222212121211212222221121111211221212121111222211121211122112122211112111212222212121212221112122212221112121122211112122121122211211121222121122112222112212121221112212111211211122111212122221211211212121212111112221222112221221122121221121222111121221221112212112111121221122211112222112221122212122112212122121211111121221121221121122112121121212211122111111121211122112221121121111111211211122211121211211121222122111212112112211111111121121122211222211222211121111222211112112111121221222211121222121222112111222122111222211211222211222212211122112121112111211111211112111221111221121221121122112111111111211222222211112211212212221112212122212221111212121121121212111122122112211212222111112211112222112212112212222212122111122111122111122122222121122212111211122122121121212121112122212222211121112211212111112212221122222122122112122211221211211122112222112121221211122211121212211222211212111212211122211111121211122112111222111212212111121222222222122122112121112212221122211221212112221221121122112122121121112111112122211212221211211111222211112111121212111211221112112221121111122111112211211222211212221222121222211211212222222111221221122121222221211122221122121112212121112212122222112211212122222221211221212121121122222121122121222112122112121122211212111121111121212221111122221212221222221112221111111112211222112121121221121212121211121112111122211211212221212112211112111211211212111212221212212211221212121211212121121211211221111111122121211122121212122221211121121211112212221212211221121122122211211112222111111211122211211122111222121221121111221211212212111112111121121212222211121111122222111111222122112121121112222222111222222221111221212212121112122221122222222111211122122121211211112111211212122112111212221121111211122121112122122112222112122122222112111211212212221122121112212221212122111221112222211212112212221221212222111221211111112221221222122211121121222222221221111112121111212222121221211111211212212221112212122111212212221222211111221112221112212221212212112122211221222111112112112212212121122121111211112222221122122122221221221111222111221222112222212211222212211222212212211122211221221112212112122111122112122122211221211111122121212212211212211222212212121221122122111212122221121221212221122211222111211122112212121212211211122111221112211221111111221221212121112112222112211111121112211111212222222212222221222112212221212222122112222211221212111222121211121211112212221112112221112121222122222212112212121221121221121221212211222221212121121112122222212211111112121211121122212212121122112121211121121212212222121211112121221221112221221122222121221122121122221122111221112112221221212212122121221212221221212212221212111222212121221211222211112112122212221121211121222112112221212211222222222221211122112211221212221121112122211222221122111122122121111212121112222112121211221112122121111212211221212211112121222122211121211112112212212211121222221221212121122211211112121122212121222121222221211112222112212112112121122211112111122121112121111122111112222112211222122122122221221122111222211221112221222122212211222122111212122121112111122211211211222121211121221111212112222112221222211111111222221112222222222221111122211111212111112212212122222112121222122211122121112121121111212111111122221121221222212121211111222112111111121221222222221121221221222222122212211122112122212111221212111222221222222211122111211221121211122121222111122111211221111122122222122111211222111122111122112222222221211122211221122112212221122121121211221211211111111222222222222212121212121112222212212212212111121211211221221222222212221222111112221122121111211221211121212212122211111211212222112211211222221222222222221221211212222211211112221112212121212122211112222212121112222122222121212222212222112121122122121222212111111111221222212211111122222211211121122221212112222111122121121222112112211121122121211112222112211222122112221121212122222211112212112121221211222111212222111122222122112211212212222121221221222121121122111111121211221122121221122122112122222112221222122212122111211221212112121222122212222122111222111111211212222221112211221211111221112122121111211122112211111211211211222212221221212211122121112112211222221212222211221121122122212222211212122122112212112112121221221221122221121122121111212221122221222121122121222221222222222121122121111112221221212212221212122121112212222211211111222121112211121121212122211221222212121212212211122211222112212121221112121111121111211212111211112222221212222212112121222121111111211121111211112211121121212221211121111112111122111111221222112111222222111112122112211122112221222112221221111121111222112111212222122211221211212211222112121212222222222121112222122122222211222121122212121112221112221111222222112212222111211221121221121212212212221122211112111211111122221222122222211112111121121221111222222112211222122111222111222222222122211122112211122211121212122212212111112111111111211211112222212112122111111222111111212222111112221222122111111111122211121122121222222111212122222211222212111111122221122111122122121211211122212111212121212211222122111112121111111122122122212112211121111121222212211221221112212221122122221122211111122221211122212221212212211121221211112221222121111111122212121112112212221221112111111112211122111111121212222122112222222112111112122212111222112211121111121112212122111112121121212212121121112122221221122221212121122211121222121212122122211122122212222121111221212112121121211211222111111112221122212222122222212221112111111121111211212111222221112122111211221221121211112122211212211211122211121221111221121211212211122121212221211211121111121212122111212221122121211211112121211211221221222122221112212222222121212121112222212222122122121222222111211221121212121212221111221222122121222211112211211122212222112111122121222112122211222212121212221211222221212222221222212121122111212122211212122222221222221121211111111122221221221211121221211121212221222112122212221112212211212121111212211112112212122211111122212221211122211121121211212222222211111221221222221212211121221122112212221122112112221121121212121212221111111112221111211222111111211121222111212222121222111121212222122122211111122211222111212121222112212222221222221212212211111122212122112122122212211222112112121121222222221112112121212111122122221122122222112111222221111122112212122112222212112212122111121111211111222222222221111221212212221122122212222122122121212122121122212221122111111221222112112112221121122211221221221122122112211212112112122222222211122122112211212212121112111222222112111112121222211211112111112122122221112111111222221221122222111111121211121221112221221111221211111111211211112122111121122121122222122222212121222121122212111121212222221112211221221221212121222222121222221122121222221121122212112112221222211111221111112212222222111111111121221211121221222111121121112122222222121111212222112222121221222221122122111222221222122221111222112121222122212211222222222212111112121211211211211121122211121221122212112211122121121112121211221111122221211111222112222221122211121221222111221222222112122222121211211111111212121111222122111212112211121112112121222111211112121221221212122221212112121211222111122212121121122222122211121211112121122212111221211212222211121112221121211121112212222122111122211112212221112112211212221112111212222212222211221212112212211211211221212121212121211221222111122112211112111112122111222211112112111211111221211212112222121212222121221112122111122122121112112211211121221212221212122221121221211122122211212111111212221111111121122121212122122122121111112212121112212122112221111111222212121222211121112211112211212111221212111211111211222212211222221111212112121212121111211111222122112212212111111112122111111122121221112222212211121112122222112121222211221121221121111221221111112211111121211211111121221121222211121121111122122121112121112111121112221222222211211222112221222121121121121111222211212121221211211122121222211121211112111111122222222111221112111211212122122212211221121122211221211111221121221211212112222221212111111112112212122222222121221221121211222222121221111122111121221111221111121121111221211222212212211121222112221121121211211221111122212111221212211121111111221212121221211222111221222121211122221121122111212111122122112121121212121112221221112112211112112122222121111122112222111121222122211221212112211112212112211212222112212122212121121221221112222222112221121121122111212122212121112211121221121121111221212221121112111211112211111112121112211222212111211211121111122112111211121221112221111122212222122222122112212122212122122211112211121112111222112111112112222222111221221222112212222212212112211222212121222222221111112121222122221221112122221112221221222121221121212121221222211112212212211111211122111112122112222122212122111221121112111122121211121121221212211111122222211122112112122211121111211121112211221121222121222111212211212222122222221122111211121121211122112221212112212121222112122211112212222121222111121122211222122222112122111221221111122122122212222221122222111221222222212112121221211111212222122221111212121112211121111112212111112122112121211112211222212222111111212211211222111121112211222211222212111221121211122211211122212112121222112122222211121211112212122211121212112222111122222211111222222212212212122211121211211121211111221212112121122112121122111121212112222221121211222221221211211211122121111111222222121221221121112121112212112221222111222111221211121221122212212121211111121221112121112112212121122222122122221112222222222222122212121112121122122212211111212121222122221222112222212222212221212222221221122121222111221212212221211121211222222112111121212121121121221221122222212111211122212122121211212112211221212211221222221211211121221221122112211112212121121121211211211122111121222211221211122111121222221121211221221112112221111221121212211211111111121221121221122121221111221111212222212122111222112111221212112121222221111211212122112122211222122112211111112112212221221222122111112222112212221121112222111212221121221221222212222112222121111122122222222112211121221221211121222121112212111222221221112222121111212111211111121112121212221111121211212222112112122221211121212212212122222122122212112121221221222121212112222122221122221121112221221111222212112211212221222122221211122222222121121112121121211112212222112122211212222121212222221111111122111112111112211222121111222122111121121222212111211221222111112112222212222222211211222211121112222211221121212112112122222222111112112212111212121211122112212111122111112122212122112122112112222212211112112221221212112222121222222221222122112222121111211222112212222212211211111221112121211221122221221222212221111111112112212111211222122211221111211212222221111112112212222122111211122221121211211212121211212212222211112222221222121121122111222121121222112211112112121211122212212222221112112121211121221221221212122121212121111212212211211221122121112222211221222111212212222211221121112211122121222222111121221122111211212121122222222112121222112122211112212112211222211112121222122122221111112212122222222122121112112212122112122211112112121222212122211221211112212221112221221211121211222112112221112111121111211111211121121122221221222221221221122111211211112211211112211221221121222212111221122222112211121122222122122212211111222121211222122222211211112222111112211221211112122221121211112121121112222111121221122212211212211111121121211212221221212221211212222112211112121121122221222112222221121211122212112212221222221222221122111221212121211121122222122212211112221212212122221111111212222111222112112121222111211121211221122122221112222112111112212121112111121221112211112111211211112121121122112222222122112211212112111111111122112211121112121112222221121112122222122121121121212221111221212211211111221212122221221222222222221221122211222212122122111112112112122121211212222221222112122211122222121212111211222122121122112221212112121121211121112122212222111122121212121221212111122122222111221221222122211112111122112221212212211111111122122122211111212221122222112111121221222122121222112122111122122221111122121111221112111222221222112121211211112222111222221211212221212112111111221211211222211222122122211221121122212112121112112121211211211212122221121222222111211111221212111122221121211122111212222122222111121212211112111211111221211212211221212122122212112212221112122212112222112112211211222221211112211121211222211211121122122212212211221221212212112222222111211221121121211112112122221112112121122112111222112122222122212221112121211112111121112212222121112122122122121111212111212212122221121212122211222112122112212211211221221211221111211111111221112121121221111221121222212112112121211211111121222111221211221111222221221212212222122122122111222122111212211221211111111111212222111222212211111111212122221111221112112111211121122212121112122212211112212122111121211111222122212111221211211122111122221221211211121112221221212111222211211212221212112211121211111212111121122211221122121121111121122211112211212121112122222211222211111122111221121122111112121212222211112122221111122212212211221122222112111221111222222112212112112222121122222221122112112111221122111222111112222121112122212111222112222211211121212111212221222122112122122122222121211111211222122212212221211221212222222112111122112122121221121212221221221211111122211111212121221122211122121121122121122112111122121221122211121212111221112212212111112122211121112221212111111212222222122222112122122211112211212122222112222112212111222222212222221121122222112222211112112121221112222212111111122111112122112221211111212121111221112222212211212111121221121221222122211112111122122122222221221212212221211121212122112222222221121122121111111121221212211121212222222211112221111222111211122112112221111221112221222212112212112111211222222122222222112112112122111211121221211212222112121222111121221111122221222221222222221222212112121211212111112112122112222222211122122211121211122122111222222111222112222121111221121122211221212112222211121112112211122222222112122112121121211111212221111221111221121112122212212121211221122221121112222211112122111222222112212112122122122111211122211111212111112211222112221122211211112121211122212122112111211212121212222112222122111121111211211111122111112121221111222111122112112221222112222222112221112212111122211122222121111211211122211111112121211121221221221121112222212222121121121211222121212122111121112211221212211222211122111112112111222222121121211121112112112112222212222121221212121111212111222211112112111222212122121122112121112122212121121121122211212111212112121122112121111212122221222122221212112121211221121211212222222211212221111112212122112111222111222111122111111111211112121122211112121211211211121111221122222212121221112111212112212212111111122111222111111112221121122112111112221121121111211212122112122111112222212211111212112122212222221222111112221212212211122212221212211211212121122212122111122122122122122122222112121222221121212212121112221222111211122121211222212211122212121122111222121222212211211111112111121111121112222121222121121122211222222222221112111111212212222121222122222221122222121221211112222122122211211222111112122122222222211221121212121222121212221112212212221211211211121211212122212112121111112222212111211111122211211121222121212111122111122122212221222122111211212122111222112121111122112211211112212212122212112122211121221222112112212221221222121122121212212211112222122222222121221211222111112121111211112211111212121211212222221122221121211212112211212121121211221221122222212222221221222111122211211212211211121222211211111222112121221122121212121212222211212111112212221212112212112121121221111112121122122222211212221212211212211211212122112121221112211112221121222122212121211121222111111221211122211212212122122222211221111212122221211221121221222222112222121222121222221211222221212122112212121122112122221211121122221122122221212212222211212212221121221112111222122122122121212111111121122221212111121122212212111211122121111111212212211212122212122112121121121122211221212121111221122212111211121111112211212221122112112212122212122221111221212212112222211122122121111212212212122211122111121221122221222221222211222221211212122212211222112221122122221212222111121222221222211222212212211211111112211122121221221111221211221121122112121112121121212221111112222111222221211221221111111212112112122221112221121211222211122112121221212121121211212121122122222112121211212111111121221111122212112112221121111121111121121211222212121211121212211111221111112122212222222211221121122111222112221222211111121222212122111111222112211221121111222111211211122121212212111111221221121221122221121112221121111112112121111221111112111221221222112121112222221112121122122211211121112122122122112221121211212222211222112121211111212122222122222112111111221222111121212121211122212112122211212211221111222121111211221111112112112122212211111111222121121112222211121122121112212111222211221212112212112112121111211121122112222112111222122211211122122122212111122122211112222112122112112221111121222121111212212222121221221121111211211221112121111211111222112221122222212112222211221112211112212111111111211222211211121112122112121222221211112212121211211211221111111212122121212222111121112221111212221122222111212112212211121121111212121212122211121211112221222212122122122221222112222212222221112221211211221212112211122121222121221122112121211111211122111222121221221112212222221112122212111211121122121221112112221121121211211122212222221211222122211211222111221122121121211111212122121211112112121121211212222112222121211222121122122221111222112212221212221211121111111122212222122221122221222112222121222221222221112212121222112212222212122222121112222111111222221221121112122212111221212121122121222122121212122222112222211111222222122121122121222121121121122111212122112121112221212121122121122121212212111212222211222122222221221211111111111211121112122221112221222111221221122122221122111222112122121121222211222222222222121121212122211222212111212112111222122122121122222212212221211121111221111111211122112221212222211221211212111121212121212211122112211212111222122122221122212122211121112111211222212212222211112211222121121222211212111211212211122122122221222222212111111111212211122221122112212122212222212222222112221111122222122122221111211211212122221211222111211121111122221121121112112221222111112212211221111122222111211221221212112111222121112211222112111122111221222122122122122212212222111112111222221121211222112121121111112211111122111112111111222211121211122221121111112222122212112121221122121121121212222222222122111222122222121211212212222212111222112212122121221112112121122112111222211221212211211112222211111122221211212112212111211121112211112122222222112211221212212212222121121121111121111111112212122212111212121111121221211121121212212211121212121212122211221221222121122111221121222221121112121111211222112212221112211221112112221112111121211222121212121112221112222112222112111122112212222222222122121211221121221222211212121211111212121211221212222112222121111212112222221212122221222111122221212211211221122121121222212211121222212221222211212212212121112112222222122112211222211212111112111111212112211122121212222122211211121121122221221211112122221111222211212212111212122121122121212212212211112211222221111121122112121112211111222111112222222212211221222112221122212112212121111211211221221112122222121212221121222222211122122211122211112122211212111122122121211112221221122221112212221122122212212212211222122222212222211111222121221212122121211111122222111222211221211121222112112112121111212211112121212111111111221111221122212211122211121121112111212222221222221212221211121122121221121121222111222111122122121212112111222212121221212221212112111222221212121211112121221212211111211211222122221212112222121212221111221211212111212212212222211122211222112122212111222222221221111222221121112111211221111111111221221122221121122112212222221112122112211222112121222211211121211221121112121111221222112122222122122121112111121212221112222212122112122111111111121111121211211222121221121111121212111211112111212221212121122221112121221222112121111111222112222122112211111221221222121221121112122122212111112111212111122121221112222111221122121221121221222112111111122112222111121111212211222121222211121122212121221222112212111112111122211211111221121121222112221112212221121121211121222221211221122211122111211211221122121122111212212121211222211122111122122211121212211221221122221222122222211112222121212121111112221111111111211222111121121211212211212211122221122221111121222222221212122212112211212122112211212112222222122112222212122221111222212211222222112222121212122122111122211111222112122212221221112111121211112111211122222222222211121212122111121212211121112121212122212211222222222221111111211111212112122211112111221221112111212212222122121211221112212222211211111221122222212211222222212112112121222112221221122221122111221112211221221222222121122112211111121212221221212222222211122122211112212121211221221121211221121211222212221112121122121212121122111211122221121112212212212122121112112211212211112211211211211121111112111221112111222122221221211222112222112111212211111122112122121221111121211111121211111111122112211221212212112121221212222212111121112211121222112112122111112111212222112111211112222221212122121122112121121222121112122211221121122111211212221221211221112221121212212112112121212211221211211111211121212121112221121211122122111121221122221211121111222122112111112122221221211121212221211122222221211112122212112211112111221211222221111111212222212122221121222212212112122222121111122122112111122112111122122122112221221222111121211212111211212121222221111112122121112212221121211121222212122111121212211112211112212122222221111222221221111212122121111112121222121111112121122212121112112112222122212122112111211112122112211222112111222111222211122221211212112112211112112112112111121111211121111121111222122111122211211211122222222121222112121222111112121211122122112222112212222211122112221121221212111212111121221212122112212222121121222212212212211212121222221122211112122112221112212121221111122211121222112112111222221212111122222121112211211121122221211122122121221121121222222112221221211112111221222111121121211212122222111211111222221112121212121112121112222122211122222112121122211111121222121222221121222221222112111121122221122211112212222212211222211111222212222221111121212122222122112112222212211212121122111212122122212111121121222122222111122121212112111121212111212222112121211122212121222122212212121122212212211211112122121222122211211221212122221111221212221222222112122112112212221221112221111211112122111212212212222222122111222211221122211222211221222122222221122122212112111122111222211222211122222121112222111121211121221221112221112121121112212122211111111221122111112122121122121221211121111111222121112111211211222112211222222121122112222221212222221111222121212111211111211221212211112222112122221111222221211122122112212221121112221111222211111122221211221212222212122111112111111111212112212212111112112222212211121222212212121111112221111122111221222111112222122111212112122222212122121121112112212112211221211221222121112222121211122212111221111111111111112111112111111112122121222111221121121112122111221221112121211111112211221222222212121222121122111221111212111112112122222222112111122222121211122212121111212122222221112222212121211111221122111222112212112121111212211112222211111212111121111221212211122211111221222212121221211211211112221212212212221111211211112111122112221112221122121122221121211122112212222122111212111112211221222211111221122121211122212221111121212222222221122121221221211111111222211211211212122121121112122121112212121122222122222121112211112121211212222222111122221122221212212221212212121221211222122111222221211111221222212211211121121121111111111111121212111221111222211112222212212222212111122112122121112212211111212112222212122111222221122212111111121111222122211222212112212211111212221222121121111211212221211111112221122212122121221212212121222112212121121212122221212212111122121212212112222212212222122211112112122112122222112211121112121111222212112222211111122121221111211122212212122221211212221222222111222221211211221222111112222212111122122122111222112211222222211121211222221112111211211211211212221222212221212212111112111221122212121222122112121121212111112221211121112111222111212211211112122112121212212112111221222121112221111121122112121221211222211111121222222222212212112212222211211122221212221112212121212111111122221111221221221112222212112121121121112121122112212121111121211222112211212222112111222122222211212221221121111111112222212221111121212221211122212111211122122122111112122112211211111121121112112222122222121221222121111211221221212112222212121222211211122211212212121211111222211112121222221211212111112222211112121122122222211211212211111211111222111211112212221211122111222111112122222211222211122121222112222122121111111211212112212112111221111211111212111212121122221222211211122222221122112121121212211211121211112121111112211112221211221121221111112121122122211112121211222211111222112112122211222222222121112111222111222122111212111221221211121211112121111211122121221221122222212121212111222222112111121111212121222121212112122121211121222212111211212121212121122121211221221211212122112121111222122111121111222122121122221212222111211222221221112122112222112121212212112212121111122211121211211122111112112221112122111221121221221112222212222222212221211221211111111212212212122212121212122221221211222222211212111112211221122212221122222121211121212221211111211121121211121122222221221112122221111112211221222122122211121112211222222221122121212221111222112222211121211222122112111112222211211222212122222122222111111122222211121122121112111121111122112211122111121111212212222221212222212112212121111222211211112112112212221211222211122121122111122221122211212221121122121111212111212122222122222121111111222221212111222122212112212111211121112221121122122122122112221211221211122212211112212212222122222221122122222211211211112111211122211112121121122222121211112212211211112212222221221111112121212121212211221222122221121222211211112121221122211222221122211211212111112221212222122121211211112121111212221211221121221222222111121111212211111211112222211212121222122112212111112121211121121212212212212212211121221121122112222111111221121112112112112211112111212121121221212211111222212222212111121212111221212222122112211212112212112122212121212121111121122211211211222122221121121211211222211122111111222211121122222212212121221112112222121111112222111222121222212121121211111221211221112121122112221222122221211212211212122111212221212121112211111222121211121121211111211112212121222222122212221222222122122221122121211121222222211221111221112122221121212111212112222211211211221112121212212122211122212122211211212212212122122121112112221221111212112212221121122212222222122111121122111112122121212222221221111211121121221112111112221111221122112222111222211111212222122112111122121112112122221222211212112122221111121112111111111221122111111111221211211111112112221222222222211221221122211121222112122122211112121121112222212122111122121222122111121212222122122122211222122111121121111212212222222211222221122121221221211121122212221212221112212211112122112211212112212112211221112112122222212122221221222221221122211122111211122222121212221111111111212111121211121111122221111121222222211222112121122111112111212212122121211212121112221221111111121111111112212122111122212221211121221112111122111212121121122111122221221121221121221111112212222121221122112122111111112121112112111212112222211212112212212121111211211211112112222221221221121122221122212122212122212211121112122221122221122112121111212112222222112122221212112222222121221211122212222222222212121221222212112112221122111122122212122211222211121111111222112122212211211211121111121211122121211222112122121221221111211111211121122111112212221111211211212111111222112222221111222221222212222111111222222121212211221111122211222211121111121211212121211112222221112211111112121121111121112111122212121121221111211111121221222121211212122221212121111221221122222221221222221211121111221222221111222211122222111222221111112221112122211222121111221222212112211121112111222221221212112221112111111112212111212222211211111122121112222222211212222122122111222212221111211211211122222121112121111112211111221211212212221212121111122221121221211121211122122212221122222122222212121121121112122122212222111212211121211212221122112211122111222122222221122112112122222121112221112111222112221211122221122221222222211221222111112121112111121111211122121111221222122212121222222211111122222112212211221122112112112111111122222211121221222122222111121112222212211211221112212212212121211111211221211111211211111212221211122121222212221212222221211222212112122111211122212111111211222222212212212122221111122221221112222212111211211222211121112122221112122222212112212222122221222212222221121111121122112122121222222211121222212212221112221121112112122221211122111111121122222121221212211122222121212212221212122211122122111111221122111221111221121111212121122211121212111122211211211122121222121122222121221222121111211221221211111222121222222121111212212221112211211212121221222112122112111112112122212212111212111221222121122222121121221112122222112222122221211112211112112211111211211211111211121221221112212112211111111211212211112211121111111111221122221112121111222121122111121121222212111221222222121221212111121212212222122221112211212122212211222212212211211122212211121222122222112121221211211222221221121122121111111122112222211221121211122121122112212111211121212111121211212212222222111111112222112122111111121212112212121212221212212221222221222222112121221112221121122112212122112112111121222112212122221212221111111122222212122212212121222122112111221221112211111111212222121111212112222221111121121221212122121221122111212211111122222122212111211211222221122222112122211122211112221122222211122122122112111122112222121122121212212222222121111111222121121121222122121111221122121212222212112121212221211112112221121111212212111111122121112111112222222112121222212221222221222221112211111112221212112212112212121122221111221111221122122112112211112121121211111112111212122121121222111112121222221121112222211222211221222121212221122111112211212111222211121111122222222211222111221112121222211122222211122121222121122122122111212212222222211122222221222211222111222112211112222111112122222222222222221112121222211122212211121121111121122122122112222111212121122112112212222122212121212121212211112212212212211122221112121121121211121111111112211121111111121221122112222112212211121122221121211121121121111111122122222111211221122121211211111112222111211111121221211122212111212211121112212221212221222211121111211112112122221111211211222212221222122111111221211211211221212121122122112221211122111221221221122211221211212211221212221122121211111111212112221121211121122212111121212211111222211211221221221111121122122221221121212212211112212122112121121121112211122222111122221111211211122112212122112111121122111212112111222222222111221221212121112122211112122122111111221221121221111212111121111121212221212222111122222122112121121122221111221221211122121222111221222222122121212122112211211221222211212121211212221211222221221222112211211111221212122111212112221221121222211111221121212121112211222121111221121121212122212211212111121122112112222122111222212112121221212221122122112212121222122121122221212122212222111211221212111222222212122112222112212222221112221211112111212222112211111221121212221221222222112221111112111111112221112111221122112112222211221211212222212112222211212122121221122211112211222121111112222221221111112212121212111112211211212222222111222221112111222222122222112122121121122212112122111122121111221111221222122112221221211121222112112111211222122111112212212112211121222122112221122122222112221111212211212121211211111112222211212212221222222221222221211221122212112212121111111111212122111211222221121111122122111121112121122212111112111121122222222121222212122121211211211221212222122112121221111222122211122111212121122122121222222122122122122121212211111221122222221121211221122122211221211221212212111122221112221221222121112222122122222112111111112111222121122222211121111212222211222122121221211211221121122121122112112112211211212211212211212121112122221221111121211112222122121211212211111222222221211212221111212121111211122122111221211122211121212211221122111122111222112211211122222221121111212112212111211221112212111122212221111112211112221112121221212222221221111211221222112212121222222122221121111121212121222222222122122221212212122121221211122211121221212112221221212111221122212211111122122221121112111222221112111121212211121211212211221122112121122112222121211111111121111112111122112211222222212221221112212221222112111212211112221211112211112112111221112221212222121222111111212222222222121122212122221212112212112211211122111221212222222221121222112211121111221222222212221111222122112211112221112221211111112222212211212121112211112111112211222222111212222111211121221122221212211221111222122122112211122222221111222221111112112121222111112222122211122211112212122111121122111222212112122221111211122111112222221121121221112211212112111111122122112222212211111212222212221222121122211111121222112121211222211211221222222222112121212212221122111221222211222112211222121211221112211121111112211222222212212122121121112111112222122111221121222221122212122112212222222111111112112121122211221222121122212122222122121121112221211121122111112212212211221222221122112122122212112222222212121121212212122212122111121222111221111221111211112111221221122221121112221211122211211211121111111111121212221212211212221221222121212211212222111121111112112211221121222222212121112111222212111212112222211121122211221221112122111112112211121222212111122211111112222111112221112212212111122122212212211112222112122111212221121212212121221121221111122212112112121211112222111122111222222121111121212112221122112121111222221121211222221111122112222222121112222121221221212112122122111111221211121212221111111212112222122111111112222121122111212212121112122122211222121222212121122222212221112112212221121211112111221212121222122112211211211122211212122221211121122222221122111221211111111222111112111221121222222111121221111111111221111211211222111211112121221221211111212121112112211212121221111112211122222221222211112112121212222221221222121122121122112111112122111121111122121122221121212211221221122212121211111122111211112112111121121111211212122121222212222221121111221112221112221121122221121222211122212221121222211221121111212221211222111212121112122222222212221212121111121112121122111221111211112221111111211121211122212221111212222221121122112211222111221212211111121211211212211222222121222211112121222112121111212122121211222121221221211112121111112212112222121221221111112221222221111121122212221122221212122111111221212211122112121121222211222211122121221112111111211211211121212112221112122222212221112111112221222222222221122211122122222111212112111222222112221222122211121111121221221112111221121221221221222121122212212122112212221221221212222111212221122111221221112222122211211221211222221111221212112211111212121221121222111112222211222212112212122111112112222112212111112212222121121211112211221112111112112222112111112111221211121111111212222221111122221111221112211212222212111221222121111211221112222221212212121122121222221222212122122121222122211211222211212211111221121111211221211112221122112211222111112222111111221212221222221211112221222212222211122221211122121111212112212212212122122112211211112112211221121122111212221112121111111212112212112221212211211211212221121212211122112211121122112121211111111121211112212221112121121111221211221112222212212221212122211112121222111111222212111222122211211212212121112121211222111111221111111211212212212112221211121211121112221221221122122111212211122222121221212212222222211222111112211112221122222121222122122221221122121111222112221211121112211212221112211111112122122121222111122121121112112212221221212111111211111221212122211112122211222122112211111211111112122112222111211222221121111112222111212112211211121122221122122221122111112222212121111111112222211111121122211112121112222211221121112111212222121221111211112222112222212221211121121121112111222121112112212211221112112221122111221212221211122112212121111222211211122212222122212122112212111211221221121211112211221222221122121212212121221212212121122222222222112222212221122112212121212221122221112222122122122222221222212221112222222121111112221211222112111111212111212212212212211111121211112122211212221121211221121121221121221122121211111121221211112121221112212222211211221221211122112222122111122121211112112111211212111211211121111122112212121122211212211122221112122111222222222222211122112122112112212111122221221112222111112112212122122212122112121221111122222112212111121212212212112222212212221122212112121112222221221121111111111221112112112211112121112111211111221112112222211121112111221112211211212122122222112112122122122222112121122122112121221221122222121112112221122112212112121112222121111222221111211211122122211122211121122221222111211122222222221112112211112111222122222122222212112211122111111212221122221122111221221121211111211111122221121111222212112112122212121122111111112212112222211221212111211211112221122121221221112221121111221221222121211211221221121112212112121121121111222121212111111112212212212222211211121112111211222122221111122221121111211211111212112121221111221121221121212221222212121222222121111212222111122221221221112112122122121212221121222212221211211112122111222111211211221122111111222121112222122121112222212122111122111122221111122211121212211212111112222211112222111221211211222111212211122121122221222222111221211212121221222111212221112111212212122211122211211221221112122111112222212211222111222121122121221122221221221212211121222112121211221211222222111111221122111222122221222212111121221212221222112121212121212212221211121122121212112222111221122221212221211112211221222211122221121122222221112221221121122221222121122222121121212121122221212121122111122112111112221122121222122222111112112221212212112221121112112221212111122221112121122221112122221212221221121121221121112222111121122122212221121222211222212122221112112112212111121112221211112221121221121212212211222212222211212121121211111212212122121212122111112222222122212211122222222122221211111212211111222121122221112221111212121112221121112111111212121212121111112212111111111111221221121221222111111121221221221112211111221121111111222221222222211221211221212221211112111112112112122112121112112111112212122121112122121122212121121112111121112211121211222211111221221111212122121212122221211211112112112222222122221221111112221122222211212221212111222122122212111121211212212212121211121111112111122211121122211211222122111212211212212122222111221211221122122112111111121112122121112221221221212121111121112212222221121112211122121212112222222212212221222211222121212112122212111211111211211122122211112222122222112121222211111122112111121221122212211122112221221122212122211121221121211211222211212211211122222222211222221112121221111212112112112211222212211221211122221221211211112111122211212212121111111211222221122121122222221111122112212222111221222221112221221211112121222212221221122211122122121112112211221221212211212211112212211121212212111212212212212121222121222122111212121112112211221221222212121122111122212112212211211221212211212121221111112111222112112211122112211122121211111121222211121212112122211221211121121212211121222222122221222212211111221121112111111121111211121222212211221121211221121121121121212112112111211222222222111121111112211122111222111112122221221222121111222222222212211122221121211221121122111222111111211111221111221212111221112212112211221122122112212121111221212121112211211122211221212112122122122112121221112212122212121112122212121222112221111121111111122121111221122111112112222112212112111212122111122111121112112111211121222222121211212222222111122111221221211212121112212211222221121122111221222122112221111121211121112122212211221221121111222222211111112211112112221121221212211122111211212211221221221222212221211212121212112222122212122121112211121222212122121121222222221122222111221222221112111111122122221122112122122121211222221121112222212121222112222211211222211122122122211122211122211212111112212211112212122112212111122211112222121222122121122221122221112121111222221122121122121211112121111122112211121121112221222121222121211222211122122111112122211121122111221112122121122222112221221222222211121211122222212212212222111111121211211111121212221121121212212111211121211221221111122211122221122221222122122212222212122121211121211211212222112211111121212112112112221221222211111112122211212221212122211221122211122121221221121211212121212222222121222222111112122222111122212212222111112211111122221222212211222121121212111212112212112222211211112112212222212122222122211212112222121221112221221121111221122221121122221221212211222221212112112222221221222111222111221221211122112222211122222211111212212122122112211212111122222121211121221211222112111211221221222122221212211122122122122112111122111111221222222111112122121211112222121211222121212111221211211212221112122121111211112222121112221221111212212111211221211112121221122212212221111212111212221121121222222122122112211121211122221211122222111121221112111222112211112212112111112122112221211211222222111112211121221222221121222211222112111221212122121111121211211111221111121212121221111221211222121112121222122222122121211121122222212121111112211112122222211112211111111212111111111221122121111211122221111112221112221222121221211122212111122111111211121212111212221111221111122222212112221221112211221112121211211221212121212122121221112212121112221221211212212211112112112111212111122212122111211112122112112121221211222222121212111111211222221212222121212211222211121222112212111121212112112211211212212211222221211221121111212212121111121122122111122121211222122221221211122222211122112121111111121121211211122211122221111112221112112121211212112211222112122212111111112112212112212221112212111222222221122211121121221122222212122221111121121111212121121111222221121111112122112221121222111222121121221112221111111211211121112221221211112221111112111222122212222111111111221222112121222211111112222121122112111212222112211211121212211122211222122221121222112122222212212111212222211121111122221111121221112221121212222111112111222122222211122111222112221111121111121112112222121212222112111222212221221222121121221211121112221122222122221222111211221112111211122121211222121111212212221112222222212121212212221212211211222221212212211222222221121112222112212121222111121212111122212221222112222111121222221211122211221222212222111222221121211112212212212121221211121212122212121112121222212111122212121222121122111211121212111212221221212121112221212111111222112112221122111222112212112112211122121112111122222222211111222221122211211122221112211112122111122221222112221121121221112122122212112222112211111222222212222221222121221121212221121121111122122211212122122122122122221122112221112211222112212112122112122121222211111121111222211112212111222222221221212222222211222122111121221212221111211111121112221212212122121221121121221212212122122222112222221212211222111111221122222112122111212112221111112122211122121211122222122211121112212212121121222112121222121121212122121111222111222122122212221211222121111211221112221212122121111221221121222212112111222122222212111212112212122222221122122122211212211122121221211221122122222111221222211111121111122211222111122211211112111112122212122221122222211212121221121211221121122111121211212121121112112121212221111111112121121121211221111211222112211111221111111121121112122221221122112222112112221212222112122121211221212221121112121122122222111222222212221212211211121122212111112121111111112211222122212112222212111222212221212121111222122221221121222111112221211121221112121221111221122211222211111211111121121112221222122221111112211121111111212212211212122211112222111122222121221111122112111112212211121122221211221122111212121211121122122122111121122222221222122212211112112122122222222211211112122222111221121122121122121121222121121211112222211212222122221122111222112211211122121212211222111122121112112211121122222122221222111121221222212112222121112211221112112112111222111212212121221121222111221222212111211211111122121122212221221111121212222122112212222121121111111112211111122121111212121112211112112111112211211121122112111221112221222121221221122112111122121211212212222222221111211212221212221121211221211222111121121212112122121122121222111112221111111111111222111221111221122112221121221211212111121111212221221121121212121221121222121122111112221211122121112222121211122211122121121212122122112222211211221222121122212111212221111122121222221211222212212122122111212221212211221221211121111211121222212111111111111112111212212111111222112121121111122222212112222122121211112122112112211221121211212111111221121212121212121211111221211121122221222211211211222111112121211211112222221222211122122121221122222112112222111212211111111121111122222122111111221122221111121121212222121211221222122122221121121111111122112112122121221212221122122122122221111112221122211121111122211111221222221111212121112112222222212111121111221112212111212211112222211111112212211211112221221112212122222121111221112121211122221111111222121122112212111222112211222212111212212111221221222221122111211112211111122122111112211221111122222112121212211222222212121211121121121111121221222121111211111121122111111212211212121121212211112112112222111121121111222122212121222221112222222212221222221121121211211212121122212122121222122112121222112211212211221222222111222211222122112211221112111211222122211121122212212211111122221111221122212221212122122121122112111121212222121212211211121111222122122212222121212221212122212122121121212211121122121212212212121222111211111111111121121121211112121111211212212211221222121221222221121222111122122121122221222222122121211211221222122122211211122122211221222121122221211122221222212121122111121122122221122122122121111211112222111111222212121111212121222221222112122111212121211112222122211222221222112211121221122211112122211211212222121122222121122112122122112122211112211212122111111122222111212122212212221211222212112211222222222111211212211221211112211112212221222111212121222221121112111222122112222222122222222111211122121121122211112212121112112111211121112222211211212111111221221122221212122111112222222221122221212111211121211222212212222121212221112212211111221221121121112121112122221122221121222212211212212121212212221221112222222122121211212111121112221211212212122112111112122222112121222112121111222121121112211111212221122211111222111212121222112111221212112211211111222111122211112122212111121222221221121111121211222222212111211121112122222111111122112112111111121221212112211121222121122212211121222121112211212211121122221212212221121222221112212211221211121212112111121212212112221222122211212221112212212112121121122122212112111221121111211122222121211111221121121121122112121211212211212211211211121221211122212111122112112121212222221221122111212122211212221111112221121121121121121111222221222112121112211222222122121212212211222211221212221212121111212211212221211221211111111121211122111222122211222221122212222111111222212122221122212121211212112111212211111111112122122212222222211112212112111212111112122111222211121111111121122121122112212212221122212212112212111211122221221121212112122111211222111211222222122212212222222211112122222121121222212122211112111121221111112222212211111121111111212121212122121211121221111111122221212212111221111111211221122122112111122222211121222112121221222222122222212211211122112121112212122212112111112211211111222212222121112122121211222212222221121122122122222111222212211112222221221212222122121111122221212212111222221111121221112111122111212212211121221122221222221121211112122212112222111211111211212121221211221111112211211212111111222212112211222121112122112112121211222222112212221211111111122111112221112122211212211112211222112221121122112221212221222222212221222221121211121122211121122222221111212122111122212221222221122122121211111212212221221221111121112221121112212222112212222112122212221121222212212221122212221222121121122111121212222111222121111112121212122211222111212122221222121122121111112111112211122222222222122112212122121121111112112112222211221111212112212122211122111111212121212121211122122112112222111211212111111222122122111222222122122212211211121222221112121112112222211221222221122211111221111222212122221221112212121122222121112121212112222212121112212212211222211212122111222222212222212222212111122222221111221121112111122222222121111221221211122221211211222212222212112212112221221222121212121112121212122211112211112111112211121111112112111211111212111121111211112112112111111122221111122111121111211112122221111211112111221121112112221221221211121221222112121111212122122111111221112212211111122222111121212212112211112222122112222121222211112222222222212221222222112212112221122212222211112122211111221121222122222121112221121122221112221221112111222211212112111121211222111221221111121222111111222222221221122121221222221122221222221221111121222212221212211222211212221121222122111111221222211121222211122211112122221211221221121221211212221122122112211222112211121111112222222122112122112222212111221111121212121212212122222121122122221112212112122222211121221221122211122211121122121122221111212121112121211111221211221222221112221222211121222221111221112222211211121221212222122221121122111222211122121211211112111222112122121211111222222121112112121121221212211122121221221212121212111122211111222122211122111121112211111121122222122112111212122122122221211111212121211222122112112211222211111122212111111111121111121221111122121111111211121111221221222222122212122221211212121221112122112111211122121222121111121121212222112122112221111211211121222121121122222222211111222212122111121222121211121112211222212112111111122122212212211112112122221212112221111211222121222122222211112121112212121112112222222111212111211212222111222211112222112112121221211111222211111212221222112111121121122121212122221122222112122121112222122221211121212222121121212221122212112122221121111222212221112112122222111212112211121221212212211111121111212121122222222222121211211122112122112122121211112212212112112221222111111212212112122211221122111122211121211211222121111111221222211211112211222221121122122111121111122222111112111111112212122212221111111121222211122121112212212121221222112111212122121211212212122122111211221221212121112112212122111211221112222121111121121122221111111221112222221111122222221222121211221122222112212121121222122212111212221121112222121121222221121122122122111121222111121212112111222212112212221121221111111221222212212121111212221122122212112222111122112122211112221121221111112222112221121121121211212211112222221112112121221122211122221212121111211212121122221222122112222222112111212221112212112211221121111212121211211111221221111122121121221111111212211112111222121122212122212121221112222112222122112112222212212221211222122122221222222211111221112121222111212212212212211112112121212122112121112111111211121222212122111121121222212121222121122121211212222221212121211222122121122112112112112111112221211112121221212122211111121122121121121212211212122211211212111112212122212121111212211111221222112122111212221211122212122211122121221122112122221222221212121111121212222211211121122211211222211222111212122211111111121212111111222111211222221222222222112222212111212211111222221221112221122111122222222211211122112111111122111212122211212122211121221112212122111112112121212121122121111121121221121221211112111221212222122212122212112111222212211111122112221121222112122222222121221222222221212121212121212221212122121212122211211122122122221121121222211112222122212112121222122212212211111112112121121222221211121222212222212112211112221221212112112112211112222221111211121111111212222222111211221112121212121112212122121212212112121111212222121121221212121121212111212212112121211112121122121112222212111112121211111212211212221222112221112221222112222211121112122112111221212121222111121221212212221122122212111212211212211122222211121112221121211221211221221121121222212112212122122121211111122112122221221122121111112222212211211122221111121121211222112221111122112211221121121212211221112111222221122222111221212111122111222222111121211221212121211222122212122212112121111121111211211111212211221112112212121112111212212212222221121211122112121121111111112211122211121212221221122111112121222221222122122112112121122221211112121111112121211222121222111112122211122212122212212212122222121211112122221221212222122121121111212221111211122111111112112122111122121111121222211221221212222221122211122122221122222211122121212221121221111121222212211222222112222221211122112121211211222121111121122221122211221222121222111111111122212222121222222122222121122211122121112211111222211211212211111212221221112222112222122221221212112221121222211222111212212112121121212111221222122112211121222122121112211111221121122211112221211111121212221122221212211112122212121221222121212222212221222221211112212221121222111212222111211121222222222221112222211221121222122121212211122211221221221222111221211212111212221222221212122212211221211122212111122121122122122221121221222121211111112122121211211211221122111122212111211112211112221111122222112222211212111111221212121211112122121221112212121111222221112122111211222211211111111121222221212212121111212212211111212112221221211221112111112121221121111121222212211121122222211222221212221221211211122112112221111212111121121111121121222212222122222221211221121221221211122221122221211112222121121122211221111212111111111122212122112212221111112121222221221211211212111121212212211211221221212211122112212212122122112222212221222111122111221212222122211122222112112111122211121222221212211221221112121212221111111122121212211211112222112112222111111122112221111121121122221122121122112121221211111211212221212112211122212222222112211122122122211212112222211221111222222121122121122112112212221221122121212111111212111221212111221122111121212221212211121112122111112111211222111111122111222122112122122212112221212111112112121112111211222222212122212211111221121112221121111222212111211211222111112122222112211111221211212221221212212121122121111122112211111121122111111212111122212212212211212112112212111211112121222212211212212222121111221222221111212211221122112122221212212121121211221122111212211222221221122222222122121221211221111112222122122121211121211222212122121211122212222212211212221212212122111222121111212212112212211221121112112212221112222111112221121211122122222122221221121211211221211221112221211222222221122111211121121122212221212211212111112121122121112212111212211211222122211112111122122212222112211111212112112112222121121212212122222221221221222222121211122221121222212111111121222111222111211112221211122121221212121222112121221111211212211212111121122111212122222111222121221122112111212221221112111111112122211211212111212221121211221212221221212122122222112211112112112212122221212111222211211211121222221221122221121111122212121222121222222222212122122222112122221211222211212122122121212122222222221212111222221122121121112111122121121222221212122111211122222111212111221122111122122212111212212112122211211221212222222111222212222222111121122211211111211212211111212211112211111222222112221221112112211121222121222111121121121111222111211122122111221112112222112121122112122221221112222121222211211222111212121111111221222212212122111222211211111122212211121122122122111122221221212121122212221122212221222112212222211221212121212211222121122221121211121111112221122111111222112121222222112211121212221121121222112111111111111111121122121222121222222112222111121112111212122121121112111111212212221111112222212211222121221212112121222121122222221112112111112211112222111222122221122122121122112211112212212112221122112222112112212212121111111121211222222111122222111211221122122211211212121221111112111211222111121211211122112122212211222121122111112221211112211211212222121211222222121212121111121222112122221112111121211221122112222222121212222212122122122111212112222122211221111222112122211212122121122111112221221222122121112211112121211122222112122112211211211221121112121121122122222212212221121211222222221112222111112111111211111121211111111111112212221211122122212122111212112111222211112211122221221121211122121112222221221221221111212111112122122112121221122122211222122211222112112121112222122212212221121211222222212221122112122221211122111221222122211211111121212212111122112121222111212212212222111212111112122111221222211122211222122211111112222121111111222211212221111111121121212112112212111111111122212111211212222212122112211211211121222121212112222222222111121121111111121122222121221122122112111212212122211211221122221121211212121112111222111212222122212111112212221122212122212212212221121221212112111221221121222211112212222121112122212121122222212122111222111122221122212222121111211122111221122211221211112221112112222211122221222122221121121222212111121212122122121112111211222112111122211222121111112211212112121212212221221111221222212222112222112112221222212111111112221212121222222111222122211211212212212111222221122222121212211221211212112221212212112122122212212221212212122222111222122122122211111122211111112212122221211121222222122122112111111121221111211112121211112112121212122122121221222211111212212222121221212112111112122121212121212211212122222212221111112111212122221111211211111112111111221112122122221112211222111212121111112222121121221111212212211212221111122111121222212122211222122111221122121221121221111111222111122111111121222211112211111212122122211222221222221111111121211112221112112122222212112121222211121211122111122121222122221121111222112221111121212212222212222112222211211221112212222222222121212111222221112222221121112222121111112221221111112122211212212221112111112222212221212212111211221221121111211122112212222211221222112122112221221112121221212122111121112221221222211212212112221121122112122112122211211211211121211221122211212211212111211222211111121221221212212122122121111112222121211221121211222222221222222212111112221211111211121212222122222222211222221112121122112211111211121222121111211222212111122112111121222211221212211122211212122221211212111212222122211122122212222112112221222221121222122222221121111211112111212122111221111122221122222111221111112211121212221122112221221121211112222111222111212122122212221122112212121222212111122212111211111222211212212122122222221121212112122221112221122111222212112122122112221222221222122212112212122121222122222222111121112111121111222111221222111211122111111211211122212211212211121111121121122222121121111122221212112111211122222121121212122121122112221222122221112222112212121122221111121111122121111212111221222122112121121112212122222221121111211111112121211112111211112121212212222221212212112222121111112112112121221122111211121122111111211212122111121111121212121112221121211211221212212112121211211112122121212212212111221212211211112121111221122121212211111122112211112121212111121211122112112121111111211111122122221212211122112112221112121112221121222121112211122222212111111111122121222212222222212212211211121222122121211211112222212212121211212111121111111122121112121222221122112211121112222122122121111122121122112122221122212111112211121122222122111222212212211222222122112221212112212111121211112111111122111122221122221222212122112221112212211212111222122222222212221211121211212121212212222211222112212111111121222111221122122212121211111122122112122211211221212212112211222221221212221122122122121112211112121211122122122122212211212221212112211221212112221111212121122222221221222212211121222221212121121121112221122112121112212121112122122212112111122121221122221212122111221122211211122221221112221222211221121221222222121222212212212121122212122212222121211211211211211121122222212112221212121211112122222212212212212111121121112221211121211122211112121211212121222121212111221121112221221112111122111121122211112212212211221222111221121222212112112112212122212121112111221112121111211112121211112212122212122222112211122112111112211111212212111211112222121121222221112221211121212122211121222211122111111221112212212111122111211211122122111121221211212121112211122111121212222111222222111111212111212111122212122112111112112221112221121221111222111112211112211111121212211111222221122222121212112121211122212222222221112222222222211212122222111211222111111212221221122221211121111222221221122211111112221111212111222111112221221221211221212211112222122112222212211222221111222121222212111212211211211222212222212221111112121121112121111211112221222211212122222222111211122221122111222212221111211212222112112122111221121111122112211222212122111122221121121112121122222121112212221111112121211212112221122112112222111122212221221121121222211111211212111222212121111212222121111222122221212121211212211221111222212221122111121112122112112111122211221221221111121211211222122211211121211212121121211122121111221122221122111222212122112112121211222222111212122112211211122212221222211211121112212122221112211222122112121121112212222211212222211212122212221121212112221211121221211122212212221111221212122111222111212112221221111121112121211121121212212222112111121221221122112211211212222211112112221112111111121212211112221121112211221222212121221111212211111112121121212112211222221112112211112121122121112211112212212212111221122121212121111111112212122121212212111221121112212221121111121111222222212121222222211221221122221222112222212222211112211111121122221121222122112222222111221121121211122112211221112211221111122121122122222221211121221222112122222121122222212122212222222111211221112111112112112222212222111121111122212222111212111222112122222222222111222221221222222122112221122122212222211212122111122211122121211121122211111221111122212112221212121211212121121112211112221211121211222122122112221122122222211121212221222111211112121221221221122221222112112211222212221221212222121112122211112112222212221221122211122122111211112112212211122211221112111221212112121112212211112211212111122112212212121122122212121221111121212221122212211112211212212112211112121221222122121122121122222212221121222211212121212211222122211121112122221111212222121121221211111222122212122221222222121122121121122111111221112122211111212222212221211211221221212221221221212211122121121111212121112222122222221222221121211212121122212111112222222222112122112212222122221111121112122222112112111222112122222122112222111212122221121121221111122122121122111211221212221122211121111221111122211112221122221112222121121121111221111212221111122111112212222112121222222212122121121222112121211121111212211122221211112221211111111111111121222121211212121122122221121211121222211112121211112122211122212222122121112111112112211211122212221222122121112121221121222211111122221211112111222121211112211111112111221222211111212121112122122121221221112211212122112211112222112221222221112222212212222121212222112111111111111221212222111212221222112211112211212212112211222212212121211211222122122112221121121222111111121221112112212112122221111122222112111122211222211211212112221221111221211212222112211121222221221212112121112221121122212111121212221212212211121121122221121111212122212211111122212211212221112211122211222111111112212121122211111112121122112222112211112221212221222122121221222212211121222121112221112222221121222121111222211112212211111222121212211111212222112211112112112112222111222122211111121122122222111222111221221211122122212222211112112111221121112221222211221111211212122212222212222121211212221211111112122122222111211112122111111112221121111212111122222121112121112212221221221111221211221122221121221121211222111111111112211212111212121222222112112112222221211111221222112221111212211121111212211221221111112221212122111111121112222222111121122122121121112221111111222212112222221211121122222121121221121122212221112211222222111222112122112122111112122221221212212212221212211211112212121122212222112221121122121222211221111111112122121212111211112221212222212112121221122112122111122122121122112211112111222121212121221112122212112211212112122222222111222122212221221122121211112212212121212122121212212212221212212111112212112222121112122212112221122211112222121111212111211121222111211122111112111122211211121112112221221212212211221122211111111122221212112111121121122121122222111211222212212222122122222112122121121212212122121211112211122121122121111121222212211121221222211211122221221222221111112112121121221112221212121112222111122221212211121212212221121221222222221122121211122122221222212221212122112111212222212212212212121222212112121111111122122111211111112121121111121221111111222211212111221221222122222122111121211111211222212122122121221112112111121212212122122122221121112122212112212222212121111111112122112122111112211122111222212111221221121221222212222112222212122122221121111221222212112222122121122112112221122222122222211212221112121112211221222211121122112211222112221121121212212221112112111212221121212121122211112211122112212212122221211122121221222122212212222222122222212222221121122212112112122222112221112212111221221222112212112122221222211212122111121122212212221122221122112111222222111222121221112112122112111212122122122222111221211222122212121211122211111121122121112211111111112121122222212111121221112222122111211121112222221212112221112112221212111221122222122221222121221221111211111212112111211212222212211111112212222211122212212222221111221211221122221211222211222212212111212112222221221222211221221212111121211121212122121122122211122112122222121122211121112121122122221111222111211122122122121122122221211121221112212222122222122221111111211212112122111222122122211212212111221121122121121221112121222112111211122121211111112212221112212221122211111112222112222211121222122222121111122221221112212221211221221221121122112111212222122211222112112122212221222212211221112222122122111122221222221222121111212212122212112221222121221121121122112121222222221211211212211121122212212222121222222222222211122111112221121111221211222111122121121221212211111221122111121221112212112222211121211121211221111111122212112211212211221121222111222112211221211221211222211122112122211222212112221122211121122121222122222112222222111121112222212122222222111112211222212221111222211122111222111221121112121121111112111221211112111212211212111112122122211111212222222121212211211111222212121222121211222111121111121211222221121121111112221111121121222112212211221122212222221222122212121212222112122212121212222111212211211212122212112222111211111121121221221111112222222222212111112221121211211112212121112122121111121121212112211211221211212221111122211221212212111221111121121222121212122112211121212111111221112211211211111112221212221112111221221221212112221212112221212111122122222121122212221121121111111111112122211122111211121211122212221111111222212211221112212111122121111211122222212222221122121121112121212112111211122211212112212111122112121122211221111212222111122111121122112212222212221211212211212212111222212121121211111221222111221211121121211121121211122212111121212222221111211122111111221221122211212112122212222212122211121222211111112212112111121211121222121122222211222211211111211121212112221221211121212211112122212222211212221122111221211122212121212211211111121121212112122121211112112222122222211122122212222122121112211211112211212122212212221222122212222211122221212212212211221212122222112212111212212222212111222121121212222211111211121122122222112121122211212221222112121111111121222111111122111122121122111211212212112112122211122122121221212221112212112212221122121212112221121112111211222121112112122112112111221112222212212121122221211112212222122121122111121221222121122211112221212122221222221211212221221112222122122212222121212112122222222111212222211212221222211111222212112221211211212221221222221212112222111212212112112111221211222211221211212112122122222211121111112121111211112212211122111122111112212212221221111111122112121222211121111112121111121122111222211221112221221122212121212121222122221122212212122111112122221121222122112111211121211111121222122111112112212212121221212211211212111222212221221122111211222211221212111212221221112111221112121211111122221221221112112122221211211212221222111112211221211222112211221122222222222212212221222222121221112121112112111221121111111212122212121121122122211122222222211222211111222212222211212112112112222121121221211212121122122212211112112121121222122111122111222122221121222111222211212211221121212122122212222112111221212112222112121112222212222121111121211222121111211222121121112121112211212112222212111112211121122222221211111211222112222212211222112112211212121221121122222121211212212111111112111222212212122212221212222111221221221211221112211111212221222111111211122112122221112121211222221221121112222221112121211221212111121122212222222221122211221222212211211222121121112211111111111122121111211212122211111112111112212122121221212121121121212121112111121222212222122221212222121122222221222112222121221211222222212121112111222221221211212112122122122221211111211122121222121121211221211111111121212222222221122212121121122111211112222121221222121111212211121222121111121121222111121122111221211221121112122212121221121112121121121112121112122222211212111211221121211111122111212211122112212121122211111212122211212212121211211222212221221111212111122121212222111112112121212222212212112221211222111121221222112221121121222222112112212212121221121112121122121121121221211122222121111222221111121111121122221211112122122222211112121122122121221212222211221111211212111122222211111211221222222111111221221221221221112122112212212122212212221111222211221122112121122212221222112112122122112222222211122212212112221121222112111121121221222221111121211222212112221121122111212221122212112222212221212122122222212211111121222222212121112222222122121221112121211212222112222221122112112211122221221111222212222112112122122222211212111212221121212211111221122112122212212122111221212222222112111222211211222121111221221221121212221122121212222222121222112222212222221112121111222212121212122212222111211121221111212222112222121222121222121222122121111212112221212212111112121221212222122111221121122221221122222112221211122111221121112121121122122221122121112122121122111121122212112112121212111112222222211122211221112221122221222121111212122111211222211122221122212112112121221212212111211111211221212111222121122121212111222111212122222122212111111222121211121121211112221122212121221212212121121221111121212211221212211122212121122222122112112121112121112211212122112212111122111211122221122222212121112221122212212221112122221122121112211122211121121221112112221211221212222122222111222211221111222221121212212111112221221121221111212211111111122211121111122211212122112222112212121222211112211211211221111221222111111122221212221111121111111112212111221221112211212221222122122212111111121212121222112212222122222121212122211212212212112112121121221122221211211221121221121222211211211211111221211121221121212111122122212122221112112112222122212112121211221212221212222121111211111122222211122121111211112221221211211112222212122211211112112122211112112222222212212122112122111122221122112211222121111221212211122211222212222222211212221121222121111112212222111112222212112211121212222122212211111122221112211121211121112112111122111222221212122211212121111221222122221122121112111121122122121111111222111211122112221212222112122221221212111221211211111111222212122112111211211122221112211222211211112112112222112121212222111222221122112222211121211121111221212111212211212122211111221211221211121122222122212111212111221212221122121122121222112212211122122222112221112112122111221122222211111211121111211111112121112222211211221122221222111221112222111111221211112212211121121212111112211222211211112222222112122221222112221111211211122111221112222121211122212112221211212112122212221121112211111212121121122212121122112211122111221122212121112222111111212211112212221121221111211112212122121221222121122211212112211112111221222122222212222121111211121121221211212112111222211121222212122221211222211112121221122212212222122111112112221212222222211122121122222222111212221211212212111122112222212112112122111122222222211221122112212112112212112211222222111221222221212121121112122112221112211222211121221111221212221211212111221222212121212222211222121212221212211121222221112212112221111222221221212211121222111212121111121211221112221122122121211122211222212211121121111222112212111212222121222222212221222111121111222212122122121121211212112122121221221112221121111121111212122211212112222122111221221221121111212111111212122122211211112221111221112111121222122222122211221112212121111121111122122222122222212111122122211211211122211221211211122222121221122212111112221121212211212112211212222112221221112212211122121221112211121112112221212111222222111222222222122112121221122211222121211221221222111122211212221111211221222111112111111121212221222222112122222111212221211122112221212211122221211221212122122222212211211212212211111122222112221122121222122112222211111212122211122221121211211121112212211112211221211112212112221221121122112211111121111111112221222222121211112121211211221211122111111122221111112211221111112121222111111221222121111112121121212211111112221221112222122221111211121111211122212121121222121122221222122212121222212211212212122211212222222112212112221212222221112212221211112222221122112222122111112212212211111121221211222212112122112221122121221212212212211121221111221211122211221121212122212222222211221212121121212121122111122112211212111211222212221122111212122221111222222121111221122221222122112112121222222122112212212212112112211222121212221211111121211212121112212211122222122111222222212122112212111121121111211212221222211111121122222212222211212111221112111212111221211211112121221221212221211121211111211121221122222212211211221211221121211211212112111222211122221122111121211112112112122221221222111212111222121112222111111221122121112212212222122222121122221122221211121111121211221121221111221112211122211211121211222212212112111222122122212211112211111211212211211112112122212212122221121222121211111221221211112111211111211222121111121211211122212211111212211211121222212212211122111212122212212122112121122211111122211122121112221111111121121111221111221122221121212121122121121211221111122221221121211221122112112212222222111122222111122122222121211211212211222212221212122111111122122211122212221222222122121222122222111121122221121122222222222212121221222222121211122122111211122221121222111221221212111111212221111111112222211212122121222222122112112121212222212212112222221111122221111221121112212222122221211112212222112211111211122212222121121111122221121222211211222111122221111221111121112221221111122112112211111212221111111222121111122122112121212112211212212221121122222211111212211211212221121212122121122111221222222212121221212121211221221111111122212212122111221122112111212221212112222121212122211211212222211222211222222122112112121111211212111211212112111221112222111122212121111211221212121211212211112212111112111121111221212111121112112221211212121221221112111221221211111122222211222122122221111122121111111122211221221112111122222221221121222111111112112121121222122212122212211221222211211111112211211112221111121112122112122111111222121122211111121221222212121212111221221211121221211122121111221121111212211122212121121112122121211211221222212222121111212211121211211211111212111111122121222222112121221211121111111222112121222122112112221221111111122222112111221211221212111212221121222211111221212121111122122122211221221211212112221121221221222122221211211121112111121221112121222112222111121111222121212222121222212211221121112122111221212112111121221212122121222222222112222112221212112111221122221212111112121111122211112121122112221212212122111121221221211222111111222112212122122112122122111212111122222112122121212122111121222112111221112221212122112121112222112112111122121122222222121221121112122111222111221122121222221222111211221221211221212111211122221121111122221222121111112122222112122112222111222221211121112221121111122111121111112212112211112212122212212222122111121221211112111211211112111211111221111111222111211222111111122121122111211122122122112122122212211211111221122121222121111121221221222122111211121212112121111111221112212211222112122122111221111111121221111212211212111212221122121221111112121221222211121211112111122121212211222111211122112111111112111111222121111221221222212112122211222212221211121122112222121211112221112222212221122112221121122222112212222211122121112121121212211121122222222221222211221212211121112222222112112122221122222221112122222112222111211122122122212212221221212122221212222211111112221221221222112212212221112222212221212211122111111111212212221121122111222222112121121211121122221221221222121221112212222111122121211122122122211122212122211121111222112212121221112211221111212212121111212112112222121221112122221222112122221211221221222122212211121112222112111122122112212122121121111121112122111222211222221212111111122121211122112122212111222212112221211222122221211221221111112221112211111212211121221122212221222222122221221221211211222221212122122222222121212221111212122122212121112122122121221122222112111222222122112111212211121211122221222122122111222111122122222111222112111111221111121111112211121222221221121121121111112222222112111122222112222222111122112221111112221122212111222111222111211211112122121112112222211122211222221211211211121112211211111222222111212212111211211112222212211212212111111122222212112222221111222122111221211112122122111211121211211212111111211212211122121221211222112121111212121212222111111222222122221212122122111111111122122111112221111122221121112122121112112111212211122112211211111221212122211221211212212211111221122221211121212122121221221112121212211121212211211221121221122221121122121121222212111221222212112212111221112112111112122222221212121221211121121221222212212111211111221112222221212212222221112122211211122122221111122112112221221111121111221221121111221212121211221112121111121222221111221121112222112211221222121211122221211121212121212111121212112121111111212211122212221212221122112112121111121121111122221221222211212211222121212112222111221211112222121221122221211211121212212121222122122211221112221221112112121121121122221222211211222222122111112122122212212212122111121122221211222222121211121111122122221211112212211111222222211222221112221111211112211221111122221212121221121111222111112122211122121222111111121222221212222211122221221121111222222111212222212221121211111222112222122211122222211111122111111222111222121112222112112211112112112111112221221221111212111122212122221211111221222212112121122112122221222222221212211121211211211122121111221111121112211121122212122221121121121112122121111112222111221222121221121221111222212112221121211111112111111222222221112122211222212221112222212221112221111122221121121211221121121122222211111212111111221211212212221112112111221221112111212212112212112211121111212111212221112122111221122121122122121211111221112112221111112221122121222221221112222211221111122222212111121122211121221112211212211112112111222222212212122211221112121122112111122211222112122212211221211121122212122212121212121211111112211212211222221212221211221112212211211222221111222122112211221122111121121122122122122121221222211122221121212211122221121112122222222211221212112122112121212111112111112221222212121112212221222121111222222121122211112211122212112121222111112112111112212221121211222111122222211222221221212121121122222222211112212111122122212111221221212111121212211222111122121111112222211221212211222222111122112211121111122222211122212222221121111221112111121221221222211122212211221211212211212111121211121112211122122111122111222222221111222111112212112112112211212111121111112111221221121211212122121112212212122211212111222221221122111122212221111111122121111122122221222211112111121112211122111111112222222111212212222111211222222112121112211221111222122222122211111221121222122222211212221122111211112221112122112121221112111211211222112112222111221222112212222121211111211211212221111221122111111211221211112221112211112122121111112111222122211111112222212122121111211211111221112111221122112111121112212211111122111122112222122121111222221121111112122221212122121111221112212211211212221221111222121222111221122112221112212112112121112212112221222212121112121121122121112111221121221121222212112111212121212111121212111111112212222221211122122222112221121212122112121121112222121212212111222122211221211112222211212221121212112212111212221222112112222121121111212212112222222122112122121212112211122211111121221122222221211222211221122222122222121122211122111121221211111112212121222221222121212112222122111212111211221212212121212221122222211111112122112122122112111111212122222121111121111221221221211121211111222221221211112212221222212211221112212211222221121212221111122222222122221221122211111212212122121112112212121221121212111211222121122121111212111221222222212111122221112121111222211112121122212221122121121112212222222212221121121111211111211121212221211211221112121121122121222121112211121212111112211112121221222122211221122122211221222112222111222211121221112111222112221212112221121211122111212111212112212122111212121211122121221112212121222222122112121111211111122122222122112121122122121111111222221112221111121221111212112111221121222222122122212221122122121222222111211111121212212212212121222211121122111222211211221221221121221111121221111121122222122221121121211122111121212121211212212222211222111111212211112122111122222221122121122212122122111112121221212121111222221121112211121222112212212211221212111112222111121122112112121121212111121122221122221211212222121112121112111111211121221211211212222221122111221112121221111211121211222211111112221221211221221211212121212221221111221212121211111112222112221211211211121121222212111221111212221122221221212211222111121211121111222211221111112111112222111111122212122221121222111221111121121211112222221111112112121221111212122212212111222221111221212211122111122122222122211211212112111222122212221221212211222211211111212212212122222111212221221212222111111222211222122222112211221112222111111121222121221112122221112211112221122212211222122221222222122121112221212121212111211111112121212122111222221111211122221221212111122221222222221111211222221121112221222222211121221122121122111221222222122122222221111111112111211121121112121221112122212211212212112121122211211221212112212221111211121122121112111112211211222121221111211112211221111122122221111212112212111212212212211212122211212122122221212212212121122111122111112222212212221121121122222112122121121122112121221111221212111122121212221211122121211122221111211212112212211122112212212112221222211222112211222121211221121111111122221111112111121122112211211221221222221122112211222111212211211121211111122222221121211121122212212211212212221111211211111211111121121221111122222211211112121121122122221122112112111111221122211211121122211211211111222211222122111111221221121211221112222111121221222211212212112122121112111222121222211222122111211221112112122121222212121122222121212122121222212111221122111222212112222212222221121111111221222121112111112221112111212222111112222211112111211121211112111111111221111111111111111221222221222212222121112222211212121212212222221211222212211222122112122122222211121112221212111112222121111111211111111121111212212122111121112112212222112221221221222121122222222111112212121211112111211112222212212221121112111212122212121222111212212112212212122112221221222222221212112121212112221212222212122121221122221121121211111121122212122111121212222221222122121222111222122221212212221221122121212122112121212121122111212222211122111121121222122122111212122112221212121212121221212121122122222222212112212211111112112222111121121221111212111221111111111222111211222221221221111122221222111211222212121121221112211121222222222222212112222211221112121112112222111122112211111111112222111222121112112212221212122112111121121212121221221222222112111111122222212221211121222111121121121121212212121221112122222122221222221112222222121121212121211122221121121111111122221122222211222211122221221212112221111122221221121122222221122121112211221122121211111111112112221212221212121122112112111111211121121221221222111122222221222222121121211222111221221111221212211122222222121222212222121221111222112211212112122111221111122212122212121212212111122122211122111121221122121212111212211121222122211122122221222111112211211221212122122212221122212111211221122211212221212222221222121111222111221112211211222211222122212121211221221222112112122112112122121211112111122212112122211111112121212212112212122121121211211212112122111211121211121122121212122221122111212211211222211112121121222222121122211212212212122122222122211112222211112222222121111112121122111221121111112221212122122211121221211212211212122122212122212212221121221122211221122122221111112122112112122122122221222121121122112222222221121121222212212212211211112112111121122112122122212111112121221121221122211122111212112221221122221222112212122221122121211112211212211211111112211112212212121121122122212112122211221122221111221211222211111112221111222211222111112111222211211222112211212112111212221111122121221111111112122121221211212212221211122211221111121211211211122122222211122221211122222212122221111212211121212212211212221221222112211221122212111122211212222122111222212111122112112112211111222111212222222221111212222211212112221111111222122122211112211212111222121111111221121122221221112211211112211122111121122111211112111222112111221112212111112212221122221122112222211121112212112211221122121122111211112112222221211112122212222112122112122211122212211221111112222112222221212111112121121222122122222211221121112121111212212122221122112121122211212122222212212121211212122222121121211122211212112112111121222221222121121211111121222221112212222212222222121112112112212212112112121112221111111211111112112211212221112121211122112222221221211222121221211122211222112212111222112221221121212222122112222211212122211221212122121121222122121212222111111112121212111222112122221122112121221111221221111222211211212211221222122221211212211121122111121121222121112211211121122111111211211111221222221121121122122221221221211222122212211212212112122112111212221111121122111221111222212211121211222212111111221211212122221221112111211211112211212211122222211111212222122212211221112221111121212221211121112222212212121221111112121121211222111112211112111221212212212122112121111122221222112222221212111112122121122222211222112122212122112221212222212122211122112112211121111211112111121211121112122212112221212112112112121222121121211121221121211221122212211212212221122111221122221112211222122121122121112111221112121111211221211111222212111112222111112222221222222221112211211212112211211211211122121221211221121112121211112111212112212222122121211122211122122221112222221112112121222121212121221222212111121112221121212221122111211222221212212221112212222211111122221112122211211211122122122211111212212121222122222221112111221121212111112211122111121211111121122211111121122111222211221212122221121221112121211222221222121122212111112212212222112211222111212212222111212111211122112221221212122122212121112221212221211112212111121112211122222212222122121121211112221111221222222212112221111222221222112122222121111221211122112221111111121121211111221121122111221211221111121212111221222222111121221221121211121212112122112111211212121111122121222221122212222112121222221222122211122222211221211112221122121212121122112212111211211111122122211122222121222212221222111122112221111221221112211111222212111222122111111121112122212112111222121112112211121121122212121112222122222121221112111112211221111222111212111111221122212211122112111112111121122221221211221212121212122122122212111112112222111211212121121212211121111112222122211221212221222221121211112222212212212121122122111221112212222121121211211121112111222111221121111122212211211221122121221121121122221121222211212221121211112111211212121122212221221221121111122122211112221112122122112212112121111111122121121121212212211212211122222222212112122111211122112222111211211211111122222222111122211112222112211222221112221122221212212112112221122212112211212211221222212121221121111222112111212122221222122222122121122212121121221121111222212122211211212212212111122222121221212222222222121222112122111212122222212212112121222112221112222122221122211111122111212221222211222112112121111212111111211221221211211112211121212222121222121212221111212222212221122111112121221211212212112221121221221122122112111221111122121112111121212122112122111211121112221212122221122222121211211111212111121122222212111122212211222222121112211212111212122111122221221212111121111121221112222121122112211111122221121121122121221212222112222111221121222121212212212211222222211121222211111221221122122221121212211122212222122212222222111222122222211222212112212221212211111121212112121121221122122121122112222112122221222122211211211111122112122222122122111111212212121121221211222212222211111122121111212112221212212112112212212211121111222212122112222111121211222111111221122122121121221111222111121112212221222221211211122222111211111211122211212221111222212122212222121222211111222212222112222112111111221122121212121211111222211122121222122211122121212121111111122112122222121212211122111212212111221212122111222221211121211222221122212111111222211211121222112211212121221121122122221121121121211221221221211122122212111212211121211211212122121221211121112212211211221222122212222211121211222111212112211222212221222112221211211222221122122221121212211122122122212122112222221112212221222211222121122221122212221221222222222112121121221122212112211221121211121212122112221121121222111221212211112122111112112211112112222112222211212111121211211111121112112122121112111211121111122212211222221121121221222112222121212112211211221211121122222121122212121212112122111111212112121112122122211211112111111112212221212222212122112221222222212221221222221121112212121211122212221111211111121221122211221222212112221212212122221121211211212122211211212121222122121121121122121211221222211122121211121122222212222122212111121222222212221211112122211211211222111212111222221112121111222211222111112212111211112112122211112112121222211222111122121111111121122122222121221221212122211111112211121112212111111221222222222111111211222221122212112111212221122112211221111122212121212211112121122221222111122211222212112111121112221122221221211121212121212221122221121212211111111122112111212112122111211121212211221111112112112111221111111222211122111221221212121211221211122221221112212221111221122221222122221212112112212112112211121211222211121122211211211221222121212222122211221121111121222222111211121121111212121222222122211111221211112111211121211111222122211112222122111222222212221222122121211111111222221221111121111212222222222221112212121212112121211222112211122121212212111121122222112111221222122121211111212112211121222211211112221212112212221222222212222212211121122222222212222112112111211212211211211211222111111111121122121111112212121211212222112112212212122221121212122122221121212211212122121212121111221111121112222211212112211111112211121211211111122122211112221112212221111112122112221211121121111112111221212212211212222221112212112111221122221121222222111122222121221121221121122212221121211222221111121111211222221112112221112112211121112211121221122122212111112212122112211221112221112111212122122222212211121121212221222221122222221222222222211112111111111212122212112112211121221112121211211111121122221212122122122122122211121112211221222111221222221111222122122112112221112111221121121212112211111121212211122121122121212121122212212221222211211112221122122221222112211122222112221122212112112211112111221212212212121112112112121122222222122221221121222111112211211111122222221221222122112212111122212222211112122222121221121221122112221211222222211111111222221111111112111222121212112121222211212112121112121121212111212221112211211112111212211121221111212122112112121212122212222212211212211222212121112221222211121111111222112111121222221112221122111221212112121221121112212222112221122111211211121112122221222221111111121221112112122221122111211121222212112221122212221112111112221111212112222112121121112211221112111121122111112121221111221211222111212122222111111121112211122212121211122222212112212211221112221222121121211212211111221211212112121111212212111212121222122212211122222212222211211121122122111122212222222122221222212111222221121122111221121112121121221222121121112211211222111212212121122112221211222122112112122221221211222221221111211221121122122111222112111222221111112122121212222211121212211211111221222112111222221111222212112212211111222211221122222211221121112111121221221211121122221111122121212221122221221121222112122211122122122211221211112122222122222112111121111221221112112122112112122222212222111212112111112112211122222212221122122122221111221211121111122111122122221212211221111211122221112122212211211121122221211111111122222121222122121222121122211211112121212221221112121211221112121222212112112121111211211112111122221121122121221112211112111212222222221121212222111211111112212121211211111121222122111221212111121121121121121112111222222122111112112121221221212122111111111222121111122222212212121122211121122222222221112222122112112212111122221121222122222211122211122112121222122111121211122111222121211111222121211111111122212112112121121211122212121112221221211222212211212221122211211112121212111212111221212211112111211222121112212222211112222211212212122121222212121121221221221221222111212211121122211111212121111212112121112121222121122211122122112211111111121122211211211212222111111221221222111212221211222121222221222111111221222121211112221212112111122122122222222112111112111121222121112212221121222212222112111222112112211122111222111121111221111122112112211112111111221211121221111221111121212122121121122212221122112122121122121221112111121121211222122211111222121121212222221212221122211111121111121211222112221212121211212221111222221121211221121112221222212112211221122122222111222222211121211112222111221221211211211111211122122122222221112221111121221221112222221212121221221121112212212111112211221111222111111111221221211112212211221221121221211122212112112121122221221221122212122121122212111121111111222112211211212212222111212211212222111121212122222212121122221212112222221221121122211112112211221111122112212221121122212221112121221222222122111121112122112212111222212212112121221222121211211111112221121112112221221122211122112111211112121212221121122212122112122221211112112111111222211211111121121112212112212212112211211221111212121121122221222111212121211211222112211211222222212112111211222122111211122212111222212111121211211221111212221112121212111212221222121212121111111122111112122221221111122221212121222112122111111222212211111221211212121122211212122121111221211221111221222212211121122112122112212122121112211211212111111122212222112111122122122211122212211112111212111211122212222221221222211121212221121111111112222221212221112111211121212111121221121111211211221211112221121112211212121121221211112122211112222111211122212221212111222221222122122112221222111222112212212211121222121112121112221122221222121222121221121222112212122121221212121211212212122212111212212112121111221221211121121212122212212112121112112221222122112211211122111221121111212121221211212221121221212112112221112211122221212121111211111122111221112212222211222221112222111112221221112212221222221111121222122121212112122121122111211111122121121212121112221222222121112122111122212122112221211212222112112121212212222121122221211211211212122212211212211112111212112112121111111111112222112211111112212121212221112222112221211122222111112122221222111112222121121122221111111222121221112222121221112121121111111112122121222221211212212112112121121122222121211212221212221211211121221221112211222111122112212222221111122221212221211211211222222212112122222211121212222221211221112221112221122121222122221111121211221112221122121122221221212222122212112212121122111121212121122211221112111112222111221121222122111221222111212211111122122222111122221221221121121212121222121112211111211221221211222212212111121112121211111211111112122212111221121212121112222212121222112212111122121122121211212221211221111112121211111221221112212112112221212221212212221221222211222221212121211221221121112122112111212211112112111111222121122211111122121211221111222111111112111221111111211221212122212221121212211222222211111121122221212221211211111112222111121222121111121111122111221211211221112121211212111222221111211122212122111212121222122122211122222222211121211221221112222112112221112211221221211112221222212122121212221221122111111211121221121122211122121222111112111112121212111211221212222121121121221112112222212111211122222111221211221212121122222122121222222121112221111221222112211212111121222221221211111121111122121122222122112211211211222221112211122221111112121221122112111111222122221222111111111221112212211222112212121122211221121211212122212221112121112122112211111221222211221122221222111212222111222122212221221221211111212112122211221211121122221211111111122212222211222121112221111112221122121211111212211211222222122111112212122122212221211211111112122112111122222121112111112122122222212122122221212121211111122112111222121222211121222112112121211221212122122122212221112121121221222221221221112222121122122211121221122212112111112122112212212211122122111212121222121222222212122112121111222121211121111122222112111121221212121121111212122212211112222111111121122122111222221221121121121221112211112111221121221111212221121111111122112111112122212111211222222122111211221211122121211221112111111222211212212221112222212222222212112111121221212211211112211111221211112212121212121121111221211212222112111112121121222221221111221222112111122122221122122121112121122211121212111222111111222221112121122212112122121221112211122221212221111122112212212212211221222212222112112111222212221112112221121221111212222212222211122222221221112112112211112122211211211211112221221121111111122211221222212111122121221122111112212221122211112111221222112221222121111121212122221221222121122112222112121122221111222212111112212122222122111111222112211112122211211122212221112222221122111122212221212121211222212111211111111221122111111112222122212112112221211221112121221122221211222222121212121212122121111111111122112121122112112211211222212212122222112121212122112221121222222112211221211212122111111111112121222121212212111122112212111211111111222212221222111221111121112221222111121212211221221211111222222222121111221111222222222121221221212222111211211122122222121121112221211212212122122211112121212122221221111112111121212111212111122122112211221122111122112211122211211112222211222122222111112221211111111222221111121111111212112111211122111211221221211212122122111211122122211111112212222121122212211122222121112112221212111221122221221222111211212122112211121112122222112211221121122111211112211121121221112112111222221122112222122121121212211121112222221222211112112122222212121121111212221111111121211221211211221122111222211211122221222112221211112222211112121212222122121211111122222121221212122221121211122111212222122222111211222121111121111212222221211221212222221221212111211122222121211221222121212121111212211111222221112122112221222212112212111122222212112221112112221222212121222111221121222121222222221211212222122222111112211111212212221112211121211221121121222211121112121212221112112111111112111212221211212222121211111122111121111121211121112211211221212111211221222112212211112111221221121112221121212122222111111222211112122211111121111222212222211121222122111112222221211211111112211211211111112111122212122221222212111122121221111211121112112111211112112222111211122212221221211221221211221211121221112121122212112221221211121121222122212222122212211221221221211212111221211212222222212112122121221221221211221112211111211212112211112221122221122211122221221111111121221121212212112121222212212111112211212222121121122222112211222121111212211211122122111111221211222221221111211121212212112122211212111221122122122122211112111112111211111221211211211112221112122121121122212212211221111212221221121112122212212212111111121121122121111122222212221221121112221222121211221121112121222112221212111122221122112121122212222222122122222112112122222122111122211111222111211121111221222112212221121122222122121212121221222112112221212221211222111112122111112112121211121212112222222122212112122222121121212112211221121111111112212221111222221211222112221111122112112112111112221211221122211211122112112122211221212222212112212222122122221212222121111221212111211111212121222211122112212222222211211211121221212211222122221111212122211111211122112211121212222122112111112221111112212221211222121211111221122211222222222122122122111211112112121122111211212122112111121122222112121212212112212212212121111111211222121221122212112211112122112122222221121122211122122111222111221222111222211221112122211221121221112112122221212222121211221221122212112111122212221122112122211211222221112211122211111222222212211122212122212121112112211211122211222212211212122211212212221121211111121111112211212111121122222111212121211121211122212211211222212122111212111111122222112122121122211221212222221111212121122121222112221111111222111212212211112112221122121221122212121111221221122112121122211112212112122121221122212212212212121121121221112112211221211112222221221221122221222212211112112122212112121221212111212121121122212111112121211121212111112221211122211121211112222122112121221112111121111121222122121221212211222121122222111121211122222112211212221121222221212111121121112121112221121211112222112211111212111222222222112122122221111212211122122111221112111211211121221222222211122212211212111211121121221111111222212211222221121111122122111211212222112222122112121222112111121111122221222111222211222121122122222112221221211222222122212222121121111222121221112121122111211221222212121122122221222112212111121111112211112212212211111222212112122221211222221212221212111122111121111221121111211122211211112112221122122211121121211221211222111112112222122112222122211112221122212221111122222211121211111211121122111212122212111221212112221111122112112122122222221112111112112212211211111211122221212221211121221121112121212121211222111112221122122212221221112122122121221212111211221111121122112122221111122112112212211111211121111222121212221111221211111111222211212212122221222212111121121121121112221222211121122111111221221222122121122122111222212111211212221212222112121222121212112112212212211212212122222221222211112112222112121122221112222222211121222211212212212221122211112112221221221222222111222222122222122212212112221121212111122112221121121222112212222111121121111122121111212122212112221212212111112222112121111111222121121221121111222112121122112121211121111112211212111122222111121121121121212112211211211221111112221211122121211122111221122112222211121121222111111111112121221122222122121212222221112212112111111121221211112222112221212212222212211122222221112121122122121111211221112112221221211122212122112211112111111221121222112111112212121111122212222221112112211212211122112122221122121211121121212211111112112212111111122122121211222111122222222221111112221112212222222212112222212121222112212221212221221111112211122221222121122112112221221111222221111212222111111211221222122221221221122121121112122121121112121112121211222212222212222111121212222212221121122111111111221122212121211112112121212122222222211221211111122122112111121121121211112122121211221122211112221112212222122111111211221121111222121111111122211111211112122112212212121221222111122222111211122211221221112111122111222221211212122111122211121222112111212221121122122222122121122221212112111111222112222111212211211121222112212122212111222112212122112212122212122211222212222122222112222112211111121112212221222221211222212221112121222112211111222121121121122211222222221221222121211221122212122111121111211221221121111211122222112121221121112221221121222121211112212211212121121121211222212121212112212111111212121222222212211221222112221212111121211122221211121221221112222112111211111222221221111212121122121111122212222222122212121122212221212222221121221221212112222112121222121112211112121121111111122111122212222212112222222222221222122221121212212111121212212122112121211211221122221121212122111112222222212222222111212111222222122111122111112211211212211121211112221212211212212112121112122222212222221122222111122121112211112122211111111221111122212222112112112211212222111212122211212212121112212121212112121212222211221122112112112112112221121122212222111222112122211112211221222122121122122212222211222222212211221221121111121221221121121222211212122211122211222222122111221212112121212221222111111221212211212111111212112111121112121211111212121222211212211211111112112111222112222221111122221221111212122112212121221121212111121111121112222111221221221211111212221122212122211211211211112212212111122222122112112111211211121112121121122221122121212112121222111212111212211112221212211111222111121212222212211221111222221211111112111121222112122212211121221222221122112212212221121211222211121112211211221122112211211112211122221222221221112222122221121221121212111112212211111221211211211121121111221121221121222112221212211122221211112112112112222122122112111221111222112221122112112122112211211211111222122112211111221122112222121122122121212111121222211221221222211122111122222211121112112112111112212111221212212122111212222122221121212212121212222111111112212222112122222111222211222122112121212222112111212212112212121111222111121212221212222111211122121121112221221122211211112121121221211222122121212112212211211121222111211211222122212211121112112221221111211112122211122121212111221122221221211211112111112112211212112212122121122222211112211112221211122112211112121211222222112121112211121111212111212111112221211122111212121111222212221122121211222212222212121222111122222211111222212111221111121212121221211221222221122221212112221221112222212211121212221122111112121221211111221221111211111122211211112221221212222121221112111222112112222111212121221212221221212122112222212122222111111222122121222211221121222111221221212211111211212111222212212212212221211122112121122121222222121112212121111122221212122112111121211212221222212222221122122222212112121212221221111122112222122121211212222211212211122222222211212122122112222112211212122222112122122212211121122212211111221111211122111121212222212211211112112111112122121211221121112121121112222122211222221222122122211222121111221112111121112122211121211212111211211122122212111221221112211222212221222222112112212121211222211222121211111111112211212221111212221111111211121111212111122122222121122121111221212111122121112122212222112211211121111211122222221221122211111122112122122222212221221112221112221212112122212122221211112122221122211212211112222121122111111212112121122121212211111112211221121112121112211111212212221122111211222212112211112122111211222112111211111122111112122122112222211121122122111112211112111121222222122122212222221112222121122221112122111121221111122112111221211122221122212211121222212112212112222122221211212111212211111221122222221122112212122222121111112122212122221122221212111212122211122111212112221222211111222121221111111222222111222222211111222211211112221211212211121112222222121112211211112221122112112121121111221112122222212111211211211221222221221221122211222112111112111122222122111222121211111111211212111112221112211111112112211111212112212222212211221212111221111111222121121222111222222121121112111112221121121221112111112121121211212112222212121212112111122122122221222122211221211111111112212111112221122211211121221211211212121122211222112122122222122212112111221222222111221112121221221212111211212111121111221111221112112212112212212222222221212111211211122122111212222122211122212221111111222121222122211222112211212121212112212221212111112121112121222111111121212212221112221112122212211212211212211111212122111211122121222222112111212122212222222112121221111121121222212211121122122122112111112111211212122211122221111112122122222222111111211122111221212121122121121212222211112112122211121211222121221212111121112121122122112121222212121121121111221121112121112122211111112122112221121122122222212121121112221122112211111112221211212222121212212222112122222222212121221122212111122211221122112111212122222122221212111122111121122112221222212221222112122111211222112221221211121122112211211112111212211112221222121122221111122212222121221222121121212211112212121121212122111121212111222121222122111122211212211121222212112212111122212112112212111221122111111211221111211121122121112211211122221211222122222222122122221222122211222112222122222122121112211212211121221222222222212211221222112222212222122212112211112222212122122121121211222222121112111112122222111112111121221222112212122211111222211122112221112221112211111221222221112111122222122112112211212211121112211112111121121211121212222211211212121111222211112222112211111121221121112112122112121211221211111211112121211122122111112222211121221212122211212222222112212221222122221212121111221222111211211122212212111211212222221111211222221221212121122122111111121211211122112221111112221112211121121111112221121122222121222212121211222111112221211111221112221111222122122212211111121212222222121212121221122121212221222121212112121122222111211222211222122222122122212211112221221221121211111221212211122111221121222112212211211112122111221122212212212212121121112111222122211211212121222212222112111212212212212212112112221121212212221221112211111212122112121222221212122111121112221122111211112211112211222211122211212122111212221122122111222212111112121211122221112122111221121221111112222122212211111122121212111212222111122111221212222211212112211221112211211222111221121121212211211122221122112221121112222112221212121222111122121212122122112121211122121121112112212122222112212212122222222211211212121122112211211211121212111111121212222121121111121211121222121221221121112122111121221211211121122212222211221212122212222111211121112121112212222122111211111221212121211111222122211221221121112222112122211222122222211211121212212122112222212211212122221221122221121121222221121111121211112112211222211112122111111221122121112212222222211221122222212111112212211122111211212211121122221122211121221111212122112221212111112122111211112122211222211111112212211221111211221122122212212222111211212112211222221111221222112111212122221221122112222211221211112112211211122222112112112222211211111112211112222221111122222211122211212122222122222212221121222211111221212211221112121211212121111112111122121222212211212111211121222111221121222211212211211212112221221211111222222122121112112212221222211212121212112122121221121122122212122121221111111211222212222222221122121112122211222212121211111222212211212122112112221221222211221222122121112112121111112121111221112211122211121121121112112122222211211221212212222222212212112111222211122121211121112111221221121211211121122112121121121221211112222121122111212111111111212111222121211221121122121211112111221121112112112211121211111212212212121221212112121122211112221111212211111221122221211111221112221211222111111111222221121122221212122121212122211211122111212221222222112221111212121112112122122222211111212122221111221222222211212111111112212211122221212222212221212211121121121212222111122222122211212212111122111122221122221122211221121211212121122122211221121211211212211112221212122211211122222122112222112121111221222212121212222121211111111111111222121121212212111212221222221112111222111111211111121111222122212112211121121111111221221212112212112112212112211222221111111111211111222111221222111212222222122122112211222121222221122212221111211122112222122112111112212221122212121221222221112221112222121121122122121212221211121212122221112112121122212112111212222121212121121221121122222121112221222112122211111112122211122122211122112221221121222111211221212111111121122212222222212211122121112112122122211212122112221111122222122222112121212222112112121121111111111221111212112121211211221212112121221212222122222112112111211221211121211122221112211211211122211221112211212121212211111222111211211221211222211212122112222122211211112122111211221122221122121111222111221121222212112121111211111122111122111211221212211111121212222222211222221122121211111221212222221111112222122221222122211221121112212212111222111112222211111111112211111111212222111222112111112122112221221222111111221122111122212222211121221112212112112212212121222222122112121122111212212222111112222211122212111211221122222212121211222212221122121111122121211121121222121122122121211221122212212121121121212122122221222121111212211211122211212212222122111212122221212112211212122211211112122221111121211122222112112221111221221121211211111211221121121122121111111121121111121221211112112121211111212112111112121221212122221112221211121121111211221221122112121111211211111121222121111122221222211122121111121221122121221212222211122111112211222111121221212111221211121122212122111112212111212212122121112221111221112122121221211111111111122211111111211221112111111212222111122121222121211221212121212122111111221211112122212122111222222222221221212112112221211111111122112122211222212111222222122111122112112211121212221211211212121221221121111211211211112122222111111222222122122121111211111212221211112222211211212211122112121111211122211112121121112221112112111112122211211222221222211111211212212111112112222212121111222121121212212112122121112122121112121112121112111122112222212212212122122212122111121211111111211212222211121111112121121221112121121221121211222222222221211122211111211112222211211111121212212212221111122111121222221122111211112221221121211211121212222111111212221121222221212112121111212212211121121212112221111211122112112111221212212121112122221121121122122221221222211121212111212112121112121211122111222211121112122222111112222112211222221112222122112222122222122111112212212212122121211222211222211212211112211211221221121222211212121122212121211212222111122112222111221212222222121222122221212221222112111221211212122112212222211111211221112222121221122222212122112212211221122112212221111112121112211122211111112211211122121121221111221112121211222121121211121122122221221111122211212112212121112212122212212212112112112211212122221211222221212122222221111112122222112112112212111122222212122112222112221111121211221221211112221221222112222112222121212122121121121121111221211111211111221211221112112112111211112212111112112122112112122121222111111111212212221121122111221122112221212122221211211121112121212112122222211211111212221112121111121212221221112122111212222122121121111111212211222121222122121221221212122211121221121221111111211211122121111211112221212212211222211122111222111111222121212212211121121121212211111111112212222222211212121222111112112112212222112221211111112111212212221112122212121211222211122211122121211222211211122212222111211221222221221111221112121212221211122221212222121112121112212121121222221122212121121121121222121221221121112212121211122111122121121211221222212111121211122211121222212122211221221111221222221222111121121211221222222121111111212121112222122112212111122122122221121111212112111222121221122122211221121212111121221221121221221121222121211212212111111211122221112221222221212121222122111212112212112121121112222212211222222122212122222211212212121122111112212221111212121122211112211112221212121222212211211221221221221122211112212121222211111121221112222122122122221212211121112121212121221222121122111111211122211112112211212212211212222221122112222121122221111222221122212111222111112211122122112221212122121122111121111111221111212212221212211122122222122112211121121211112221122211221212122221111112111211211221111111212211122111211212222212211122111111112111212111222112112221211221222222211222112112122212222121221111212122211112212112212211222111221111111121111222212112211211121112212222121212212121111211112111211221112122212222211222121222111112212111111121212221121121121211121211122111221111221122212121211221221221211221121122122121111211121221222212122122111212111122121122221222221122112111212112221222211112112221222211112211121211121211111111211212222111212222121122211222111212121122112211222211111112111121111222221212122211211112111222121121211122211221222111111121211111121222112221212112212222212111112112222221221212212111111121211211121112221121121222211112212222121221122121221211122121212222122221112112212221221121221122212121212112121221122121221111121211212211221121121121211221121212111212112222122221121212222111211112112212212112221121211111122111211122112212111222112121121112121211222222111122221221112112212121222112111121111222212112221222111212211222121212111211122111121112122121211211222121212121122212212211122112111111211221111212122211112122112111222112112121211112112121222112222212212122221212111111222211112111121121222222211121221222221211122221221122212221111211211222222112112121122122122211111122112222221121111112111112121121112222211212122211121122111121121211121112222122211111222221121222211212122222212221122112111112221121112111211211112211112112111122221111211212221112212111122222111112121122111212121111111121111112221221121212221212112112121112221111112112222222212212122211122222222222212112221222212211212112122121211111112211222111122211112222122221122121211221212221112112111122111112212222112112222111121111112222121111111122211211112212121222212222111112221122111222212112122212211212112112222221111122111121212112122221121121221111122122222111222212211111121212112122111211211221222112211112211221212221112222222112221121121212222221222111211112121111112112211212112221111121212111111222211112222222211212112222211211212212122112111121121222222211111111122112122121111221121121112112222111212112122111121122221211211112221221111122112111221111121121121122222222221211111111121211211221121111212112111222222111222222112212211222121121221121222122122221112211111121122221222212211212111122211211211112111121222121111112211121121221112121212122111212221121222121112121121121112111211212111112122121211211222121212121221211111122211121111111121112211212112111112222222121122112222112112111111121111111212211122211212111211111112111111111212111221111112112221222111112111211121112122121121112222121112112112111112221211121122112122212212122111122112111122222211112111221122211212212111212121111211211111112121211121222111222112212122121121222122222211122221111212221111112222111121112112112121211222111121121221222112111221222212121112112212121221111212222221121211112212112211212111121222212121221122211112111212222221112212211112112121211212112122211122212122222111211112221121111111112122111222221121211122212112112111222212121212121111221112111121212211212111121121111121222221212222222211112221111211122111221222211221121111111221222111212221211212221222122222111111222221211122221222212221221211121121222122121122221112121112222212222222122222121121212211121112112111222212121221222122112222111122211221111222222221121211111122211111221111212211221211222222122112212211212222111212111112211222112122211211121212212221211222111211212122121222221221111111211222221112122212112212112112221222222122211222211111211211222121212112222111211122122222211221212122221221221121221112212212121111211221121222211122211112211112221222121222112211222112122211122122221221222111112122111111211122111121211211122112112122122122222111221122111222221122112211222122112121121212221122122222211121221121211222111212212111211111211112111222211222222221222111221122122211222212222111121211112121112121211222212112222111121221121112122211221212221222112122212112221121221111222211122112122221121112212221121111111122111221212222121121212221121122222121221122121112222122222221222211111211211211222111111221121121112111212222212212112111121221122111122222122112112122212122112212111112121211121212222111222222221112121221122111221212122222222112222121112222111211111121211112221121222112222222121122221212112222111212212121121222111122212222122211122222211122211112112211222222212111111122211212212221221221211221111112211221221221212111112212112112221122222221111122211211121121122222112112211111211221221212221212211212121111112122111221112111212112211221222111221221211111111122211122212111111221121211222222211112212212222122112122222221211112121121222211212122112111211121122212221212121222122212111221112122111112211112121121121222112212122222212212122211211112212111211122121211211111212121122122111112111122211211122221212212212212222112122212222121111121212211121221112222112121222112112211211111111112111221122112221111112212221112221112122211221121121211222211212122122111112211112121112221222221211221211221122222111121221121222222111222122111211111212112222211122222212212111221222111112122111222221112211221121121111212222221111122122111111222121121121221121211112221112222212122111212122212212121212122221112212221111212112111112212212122122212211212111111221211221212222221222222221122121221222111121222111111221211111221121221222222211222112121112111211122211121211111211212222111212212211222212121222112212211111121212111211212112122122121122111221121121221211221121212122221112122212111111221111121111112211222212222222221211211222212221111221222111112211122112211221112112122211222121111122112222121122211122211212211212211112221121112112211211112222212211211111222122112112212221212221121211222111222222221222211212212112122122111212121222122222111222111121121122111112222211211122221222222221111121121121121112211111112221111122211112121221211111122211111222112221122222221121222221211212212221212122122221211122211211221112221122112222212111222112111221222122122112222112111111212122122111212111221212221111211121112112122122222122221122222121221212222112121212121211211112222222122222222222122121122112112212122111212221221222211112121112112211211121121211212111222221112122221222222211221122211222221122122112211122222222212212221211122121221122112122112222222111122122222112122111111221221112212112122221211212212121221221212112111111112212211111112212212222221121112222211212221212212221122122211121211212112122221211121221121111221112122212222211112212121222222212211211221121222221121122111221221111211122222121121111111122111112122112212111211211222222121212111211222211122221212112211111122112121112121221111122111121212211111222112121221112212212121211112111212121211222222122121122111121221122122212221212112221121211211122122222221212222212222112212122221222222121221111211221212221111111122112222112112211121212222111122121221111122221111122211221121112111212221121221112111111121211121211112121212211211212122221212122111121211221211122221122122122112221222212211222121221221112211211211212122121221121211112211112212211121111212211212211212222212211211221111221212211222211121112212212221121122212212121221121221221211211211211211221211211122122211212122212212221122211221221211122112211222111111121122111211111221111122212221111211212112122211112121122212122122221211112221122112221221122122222212222212211122111211112211112121121221212212221211212221211122221121112121212222212112121112122122211221221222212111111111111112112112212122212112112222121212111121112122122212111122121111212112111121211111121121121122111222221111222112221212121221211222111211122222112122221221121121122222121112222221221122222222222112111221221112111121222111122111112222221122221211111111111122111111121211112121111112111111211121212221221221112211221121121211221122212121122122221122112122211211122121211212211212211122122212121112221222212212121121122122222111221112122221112121221222112222222222111222112211211212112122122112221111112112221112122222112122111121212111221211212112111221111221122111212221212221122212212221111112112111221112122122112112111221212211222112211212221222111111111112222221222221112111211211121112222212122122121222221111122122112222222112112212222121221211112211212221122122112111211222221222211112111222222222122111111111211222211212222111211211112222222222221212112221221211222121121121112122222121211222221122221122222222111211222112112221111222122211212212211211122112212221221211221211222121221212112111122111121121212112121211122121111211112122211222122111122221221112121121221112112122121221221111111212211112111112112222122212121211222211121222122122112222211211111211222122221222221112112222221121222112112122121212111222212222222221211111211111212112121212111221222212222112111122122112221212122212222112122212212122212112111121222212121222111211211221222111111222211222211111121121211112122122221211122222111112111222111111221212111222111111221121122212222121121212222212122212111222121212221122112111222111222121221112221122211212121212211222121222221212111222112211111221112212111111221121211222112222111111221211111212121121122221111112112112221121212221112122111121121221111111111222112212122122222111222122211212122122211112111112222122221212212121122121221212111111112211222212221212121222122112111122122211122212112221211121121121112222211112122212112212122121222121111112222211211122222212221122111111222221111112111122111212121121122111112222212222111122221122112221212221112211122211112122121222222111112111222212112221212212111122212222111222212111221222222122212111221222211211122112121111222121221112122211222111222121122221111112222112212111111212122212222122122212222211121222221212122112111212122122222212211212112111121122211212111121221111112212221212121122221222121122111221212212122112112121212111221112211222222121111221111121212122122122121211111111121212121221111212112111111111121211112211111112122222212111222111121222222121212122211112212112222211121211221222111111211222211222112222212111122122221211221111221121222221222221121111211221221222112212221121112222211111122112221122111212121112212111121221112121111112112112212112121121121212111222112221112121212212122122112211211112122211121121211111222212212222112121112111121212212111222111112212221221211222121121112211212111112212211111121121121112212122211122211211121211121111122111222121112112122211211121122121212122122111122222111112121121212212222121211121221111121121221111221111111112222111221222111221111121121222221121222112121112211122221221112212211221111111122222122221112112122121221122211121221111122112211111211221211111211212221211122112111211121122211222121111222112211221122212122212221222122211211111121122112111212211212212112211221221212111222222222222221221211111221111122111111112121212122222221111122211211112221122222221212221112111222111121111212222111211121221222122222221112212221211222222212122221112121221222121211222111121112122222221112221121111121121122211211121211221212112122121212122121221112211122121211122211212121121122112122221112111121121212112222211221212111211222122122112222112111212212121112221222211112112121221222111221112211211122222212122211112222111221212121212111111211112121221122211111222122211122121122212122121122112212221112222211211112121212112211121112111222222211222222112111211221211212212221211222212122112111121211222122112211121221111122222122211112211221111112221121121212211221212221212111112111111122111121122122212121212221222122211221111122212221222221211122212121211222212121222111211211211222111222122112121211112222121222222121121222221221212112122222112221121212111222211221221111121112222111111222121112211121121212122112221221121212211122112212122222222211222212222112221211211112222112112221111112222121221121111112121221212121222221122112221112211222221221222222122112222112122121122121221112122112211211212222112111212121112121212122211121111222221112112212112122212221112111112221212212221112211111111222121212211121112111221222212212222212211121111112121122212221121212112211221122122221221221122221121122212112122111212121112211211122111122111111212121212121112122111112111222122211221211211211212111112222212122121222211222111121211122211122121211211111122222221222211212122211212212111112122222211112111221121222112121211222211122212221211121111222212222112111222221211111122221211212221211212222112222212112121212121221221222111112121221221222111222222221222112111122121122211122112112212112112121111222112122111212222212121111112121212121211212121111221212122121121221211222121112222121211121112222222211212121212121111212111221211122111111111221111122111122222221211222112112222221211112211222211211111111211211122121212121121122112222221122121221112121221111111212111221211112121222222122112221121212211122122212212221212111121112222111121112112122212121122212211212121211112111112221212221211222121212112211111221111122122212121211112211122122112121112222121222112212212112112122121122211211212112111112112121222112212221221122111122211212121222122221112121112222212212221221121212111121222122112222212211122221122122121212111222222211222211121212221211122121222212222111122112212121112121111112111221121212112211222211212122211221121121112111212221221211211211221212212221211111111122111112222222211111121222122222222111111112111222211112221212122212112222212222121221111211112212122112222222122112111222112111221212122111222222112111212112221221111222112212121112112222221221112221111112111122221122221121121121121112121112122212111112221111221221212112211212111111121111211122221211222221211111212212221211111222222221211221211121122112222112121221212121122121221222122211122112121112112122211212121112211221112111222211121211111211122212211222222122222111212222122211122222222212212112222221122212212221122221211212121211112222112111122112222212211122122111121122211112121221212222212111212121212221221122121121122222121221222221122212222222112122112212111111211112122222212221112211212222112121222222212212221222111122111221112222122121122211221122112211111211112221212221112221212111221122222221221111111221121122212112212222222211221222212221212121222222121112112112212121112211121112212222121222111212121122212222221112122122111212212222212112222211121111111222211122112112221122111211112112111211112122121222221111212121221211111211122111112112111221121212211121111221221111211212222211122122111211222211221222222111222111112212212221212112121122121121212121111111122112112121111111122222222122112222222222121112212212221112121112122211112211121111222212212222212112121222212211122121122111111212111122212111111111121211222122211121112212221221221211212212111212122112211121211212122211121111122122211212221121221212112112121121121211221212222122212212222121121221122121122111222212112221122121122212212222121122211121121112222222212111212112112221111222211221221111211122212222222121212221221222212111212221211211221122222221221112121112121122112221211111121122112111221221121112212222112212212111222211112222211222121211221111111221212122211221112121122122112212221122212111212111211221221112112122111222211112112221112111222112112122122111122212112121111211121121222111112211221122222212221122211112111211211111122222121222211111111221112212122112111112221212122222212122222221221211111221222112122111212221222222112222122221212212112221222211122112111211122111222212212211122211211112122111121212121212121221211111212111121211112212211121122111212211122121111211112121112121122121222222212221221212112211212212212212121111221122112112222121122221212112212122112121112212111112121121111112121112121111212212212111221122122221121121211221112112121212221111211121112211222212121122111221212122222112121122222212122211111112112112221212211211121222222222211112112111211121111211211121121221112221212112111121221221211212122122222112222121112111122111221122212212212111111211121111112221222221221222221121212122222112211121112212211211121212111222221222121221122122211211112112222221222121112122212221221221221112122221211111211211222212121112111112221122122221111112222111212211111221221221221121222212211111121222211122212121221112111121212211112222222211122111111221112211211111221121121221122111121222122222221122221211211211222221112112112121222212122221112221121211112222121111122212121212211222211222121112211222222121221211212212212222222212212122112111212212221222221122112222112122112211212121112112112212111112121222212111111221212211112222121111122112221222222112212212111211112221121211222122112121221111122121111122111211122222221112121122222122221221122111112212212211111221121121111112212111221121121221222222212122212121221112211121221212121222221211111212221112212122221121112122122111211111121222112121222211112211211222212211121111111112121221222212222222122121111111112212121122212122122221222111111212221222212112222211212112112222112122222221221122221111222112112212211122221221211222222121222212221221122121112111211121212121121222212112221221111211221221112121212112112122212111121121111112112122111111212222221111211211122112121122122111122112221222221211211221121122112221111122222121112212121111222211122121211211122112122122112222212211112221121221121222121212222222112211111122221211221221221211211222211222111111222121122222221121221212112111211212221211221122211121212212111122122121121211112112221122222221112111211222121211211221221211212122222211221122222112121222221222222212121111211122121122122222112211112221112222121212122211211222122222122212122222121112111212112211121112221112121122121211111111221222211112222111221211122121222221121211111111112122121111221122222121112122112122112112221211211212222211222221112212211211121111122222221121122211122212121221112222121122122221121222111212212111221221111221222122221211212221221221121221221112112112112122222111211212111222122211122112122111222221111121121221222212112112121122212221211112122121222212122222121121112112212112121222222122211222121212211111221111112111122222122211122121112122122211212122222211222221222122121121212121212111111121111222212212121111122211211111122211122222121121221122121111112212222112121222122112111111211212221111122211211111222221221211222121212121212222212121111111122221112212121122122122212111212111211112221111211212122111122121112221122122221122222121122112112222121111111211222211212122221211121111121121111211221211212222211211212111122121221121211112221111221212222112222121212211212211122111222121211211212112221121222221122122212211221211212221122211112211122122212122212122121221212221221112121212221221122222212111211112121121122212121221211112121221122221112212111121212211221212112111221212111212121122211121222112212112112121111211211111211122211221121121112111221121112211111111112212112221212212211121112111121221112111121221212112111112112212212122212221111211121211221122221221111221211112222111212212121111212212122111222121122112111121111121222112211222112122121212211222121112121111111222222112111111121122211112222121112221211211222121112111212112212121121212222121221111122111111111212121212212211211121112112221211221211112212212112212112211121211122221112221212212211222112122221211121122112111211122121112111212222121111212112221222212111211122221122211111111112122122212111112111112112121122122222121221112211211212211122211221111211111122211221222222222111212221112111211121212121222222112121112221121221122112211121212222121112221212122222212221122211112111112212122212221211112222111212212122211221121111112112122121211112112122221111211211112112221222222212112211221121122222112121112111122212111122122222111212212211122221212112212111112221112122211211122222222221212221122111222211222212112112222212211211112111122112122122121211112111122222121111122112121112111222111111111212121122112221121222112222112211212221222112212221122211222112121122212222211212112222221112121121122112122222111111212212121112122121211222212221222112122212221221221112122222122111222122112222121222222121111222111111212211222221122111222121122122222222121221212111121111212221222121111222112111121222121122121111122211122122122121122222121121112122222221121212111211222121211221222112221111212211111211222222111222112212221212111212222211121121112122212111112212222121112111111211211112211112221111121221212122111122221221211212111111111221211221212121122121111111222122112112212212221111122112212122212211122112221221222122212221211122122221122111211121212111222222122212212222222122211122121111221222212122222111112222221211221121122111212212212211211221222212112222121211121222111121212121111212122211112121222122121221221111221122111222212221211211222111121221212112112212212122122221121111222221121212222111221211122121111221111122121111121121111222122212122112111112222121111222221212122122112222111121121112121112111222212212122221111211212211112112222221222122221221212111111112221212121211222222121211211211122211212121122221111221122211122111112122122211121122121122112112222211211222112222122112111121111112222211121111222211222212211121111212112222212112111222221112121221212221111122211212222221112212121111222122211111221121121121111212221111221112112112112112212112111112112121212222121221112221121111112222211222122112122121222111111221222112121122212222112211211211222121121221212121111121211112211112112111122212122211212221221122122221211222112221211121122221111121211221222221222212112212221112111222222112221112112211112221121221112221212112211222212122212112211221212112112211211211211121122112122221212121222111221222212222222211221212122121212112112212122221111222121211211222122211112111212121112222111221211122212211222121222211122211222121212121122111121212121121112112212111211221211212221211221211111212122111121111211212122212211111222222121112222221211121121211221122211222112121122121112222111122111212222212111111111211122121112211121212112221111221212122222112211112122221222212112212211222112221222111212111122212211112212222211222221122122212212212111121221211112211222112212221211121211221222212221212212211121212111212112221211122121111111212112212112221122122212211222221112212212211111112112221122221221122211112121212212212111122121221221121122122221122121111222112122111112122222212221211122121221121211212121112221122222211122112112221121122212122221111112212212112112212211211121122122221121222121112122111122212222221221212222111211122111221222112221112112221212212212121112112212121222112122212222211111121122211111111111221221211212121121111122112222212221112122122211111112111112221221221111222122221221212212111222111121122211121212221121111221212222222221221112222222111222211212121211112122112221222222121112111111212121122111212121122111211121121221212211111112221221221221121112221212112122221112211222221122121121111212212221112122222222122112222112122122111111111122212122122211212122211121122212122221221111111222211211122121122221212122121121211122121211121111221122212221211212222222121122211122121121221221112212111212212211211122111222211122211221221221221221121111212111221221221111111121222122111121111112112221222221121121121111122222212221221122121221211211112221221222212112111212112121211222122122122121112111111122221211222112221221121111221222222122121112221111221211222222112121222122112121221212122221112222221122111122211211212221121222122121121222121212112221222122222221111111211122212111222221222111112221112212121222111212122222112222211122122222122112121222212221122122122222221222112122222121211212222122111222121122121111111121112211111111212112112111121211121112222222122122111222221212221111112211122111212112222111122122121222122211112122221122221221121221121212222221112212122222211112221222121121211211222111122112112212111111212122122111222112222212222121222122111212212221212111121211211221221111222121122122112121122112122221111211211211222212222122122121221222121111112122112121121121212221112122212211121222211121112221122221211212122222222112221212212222122121112212121122112122122212122212222222111112112112111222211222111221211121221212112122221122122222112211211111221221111222122221121222221112212111222222122111221211111111211111112111221122122112112111112112121121222221112212121111222111111211221122212111111212111212121211112122111222121121212211221111221121222122111221111211122111111112222221112222121212212211111212212212212222212121122212121211121121111222222222121112121111121212212112121212221121212211221222111111221111211112122111211122122121211121212122221111222212211221212222112221221111111212212222111221121122212222121111212212112122212212212221221112211112112212112222112222122221222221121221222212222112121211111211111111111122221211211211121222122112212121122122121211111111212111112121212221111121212222111121222212111221112222111211212221211121222112111122122122221211221111222122222122111121222222111112111111121212122221112212121111111121122222122121112212112212112122212111112121222121111111112121212211212211121121222222111111222112111111222212222122221122222111222121111121121211222112221222222211212222122222221112111212211112112121222112221221121211212212212221112121212112221221211211111112212222212212222112122111122122221211111211221112111212222221121111121222111221122112121112222222212212112221122221212212112211222121211211222121221211121212121122112112222221111211222112121121212212121221122112112121112211211112222112122211222121112111211122111211221122121111112222121221222112121211122221221222212221212212111221211222222112211211221211211211221222111121221212212212211212111111221111212122212112211112212222111122121121122212121221222221111212222121122211221212121121222111122222221111112111121121212122121212121121112212222212222221221112121112111212212211221121112111112212222112112221211121211122111222111112122122121112222222112111212212212111122222111111122111212222222222211222221112212122222221112221122222111121211222121112222222211222221221222111222222112212211121222211112212121111211212122122212222112212222122111121221212221122112111122211121112212221111122112121221121221122112222221212121111221121211222121212222222111121121121211111122212212121211112121121221221122222221121212122121211221111211212111212111112111212222221122112111121121221121112111221221111121112211212212122122111212222211112211221121122221222122111111211121222112122222212122222122121222212221122212221111221121111211221121222211211221111122212221111222121122122121112112121221211112112121222122111221111112121111212112212211212122111122111212222112221212211212211212222211121211121122211121212222212212112111112121212212121111122221211112212221211112121221212212222212112111211112111112221212112222122211212121221222111112122121221212111111112121221121211121222221111122212221122111112112121211122211222111122121122122111111212221222111122112212222121112111111212211111112112221122112212122111211212221121122111222112112211211111121222221212221112211122111221112211211111112111121222211211111221212222211112211212121112221221222211121122111122121221212122122111122122211121211221221121212111212212221112222222111221222211122221221212111212122111212122211211221112112211222221221211112211111211212112211121112222122121212211112122211121122211222221221112112112111212121111121121212122222112111111222221111222122211222212121111111221122111211211222221111122221111222122211112112111121111112122211121122212112211222222211121112112222112211111222211111222211112121212222122221212111121221211121121221211122222222221221222221111122222122112221112121221122221111121111212222211221221121112111222112111121121212221111221112221212211222122212212121112111111221111121212121112112121212112122122111221221111212221121121121121221122121112122212122121112212211111121222121212121212222122212121221112222111121122212211122222212211212121122112211211111211212121111222122212221112122211112221112111221111222211221111112221111221112212211212111212121211121211112112212121211212221212121111211121222221122211211121122211212112121212122122122221112222211112222111111212122112211112111122112111211111222121212212112122111221221112221122222222212212112212211212211122212212211112122111121121212221221212112112111121122112221121222111222121111222222112122111212221111111111211121212111221221221111112111221221221212111111111122212112221112112122212121111221211112112221211211211112212122111211121122111121211221212222112211112211221222122211221222112112212122121121122212122212212221122221122222112112211122221112121121112112222211212211222212211211121212221112112221121112121212222222111122211112211121121121222122212121212112121211122112222222211112121222211222122112112211112111111112111121111212212211122112122212221222222111211121212211121212221211121222112212112112111211121122211121211122122212121211112221211221222122122122112122212222121222111111211121112211211212221212121121221122112111112111112111122122122121221112112212222222111121122122211211212112221111221122221121122211122221111222122222111212122211121222122221221221112112211212212222221222222111211122111212112111211111121122111122122111122121121211221112211211111222221122112121122211221111111211111121112111221111212121211222211211121221111121212122212122211122112221112122121212122211122212112211111222121121211221121221122122112212122211221122121211112222222211112112111112221212211221111212221221121221221211111122122121211212212122121111111111222221121221221122122222222211111111121121212112211212222212221221112111221122221112211211112222222212222112211122221112212212121222211112221122122121212222222111221122211221111121212122212222221211121112121112112212221221112211222222222121221122122222111112122112211212112211122211211111112121222111211122221221121212212222222222111211212211112122111222111112112221121212221122221221112122221221112111122221212111222221121222212122121211111222222121121111111211221221122222222112122222111111112212211112112111111221221212212212122112122122121212211111221221121122112112211212221212222111221212221111222221111222211122121222221112212122222211212222121122211221222111112111221111222222222211212121221222112211121221212222221121111121212111222111221221222221111221112121212122221211122112222122221112212121221211111112122122222122112222111221212212112111222221111122211221121211222221111112121221111112211111111222221211211111112211122112121222111122221111112111111111211222111221111222112222211121212222222112211122111221212111111112222121221222121112111121111112212211222111111111122121221112112221122121121112212222112111212122221111212122211111121211211222212221211111211221212211111211222222112111221122112221121212211222121211111221112112222212221111111221112212122211111222121212111222122222212222211122222211211121211211111212222121111111211121211211211221121212221121221111111112121121212121121111122222112122221222122221111222112221122222212222121212211121221222121121121111212122221121222222121212221221221211111121122211111212112221212112222121222112122121221212221112221211222121121122112222122122111212212111121211221212122112111121222121222212222212121121112112112111121122212222221222122111121222111212122221222211222212212222211212222212211221212221211112211121222111211122212122112222122121222111121121121222212121111121122212122221122222222122221121122221112121111121222212112211211222121222221121121122122121111121111222111122111122112122122122221212211221211122111121212221222111211221122111222221111112221211222222221111112122121112221121222212212121211212211221222222221122121211122111211222211122221212112122111222212212221222111222121122121112211221112212211122121211111222121222212121112222222111211222112212211121112111111212112222112211221112212111121221121111122221212212212112221121121111112211122222222121212212111221111212111221122221122211122221111212111121112112122211111112111121121211222121222112121212222112212121121122211121122221112121222112121222112211122112212111111221121222211121121211222121122212221121121211122111112222212221221211111211222121111222212222211112221222221222111221222221112222212211121222211212111221221121222112121111121221211121211122211212111121112111111121211122122222112221121112221212111111212121122111222111222111222221211221121112222212122221121212111212212221221121222211211111222221222221112122211221121122222222212112121121112211111112122111211222222221112122122212222111222211211122121121212221121121221222222111112212111222112111121221122112122222111222112222211112211111121122112221212221222122212121222121122221221122211211112122212222122121222221111111112211112211211121222111111112112112121212122221221222211122122121112122121221221111112111112222111122111221212211222111212212211212211121222221112112211111211112221222121222212221221121121112222121212122122211221221112211112121111121222221221122121121211112222122222212211121211221122212221122112212222111212222221112122122112212211222212221222221221221112121122111211112111121221111111112221221222211211212122212121212111111121212111222221121212221221122111112212222111212121122122122121111111111121112112121222221212122222121222111222112221211112221212212211211212122212212111121211222121112111212121222211121111122121122222121222212212121222222221212121111221112122221122112121211212121122112121212222112122212121222112221122111121121211111111221121121212111122212211121212221122111122122121111212111222121221212122211111122111121112111112121212211122221111212122222211111111212212212212222121111121221222112221222111111211211111222212122121222222121122122211122112222211212221121211221121221212212111221211222221211111212212212111122221122212222122221212112221122222111121211222212212121122111221211112222211122221222121111112221112222222222221212112111111211222111211222221121222122212212122211121121121212222221111222112112122122221112112211211221221111111111212111112122211111121222212212211212122212221222221121122221121121112211121212222111122122112221211222221122212212212221112111212212211211122221121111122211211222112212111212222121112212111212122112221122211212121121222211212211111211212121111221222221221211211111222212122211221121212111211111112212121111211112121211212112222212222221111211221122212212112121122121211222211221221111211222121121221211122221222212221111211111121122222122111222222121221221211121211211121121121121121211112221121222222221211212121122211212112211212121221122212122222221221121221221212221121112212112222122111211221111211122111221122221221212111122211212212111212121122211222222121111111222212212121121121112212111221211221111211122111211212112122112111221111111121212212112222222122211112111211212222122212112122111211212111211211112222211211122212211221112212122221211221121222221222122121212122122112211112221121221121212121121121222112212211112122222222111121122212112112112212122221212121121212221121122112121222111121222112122122121122222221122212122122121111221221121122122221222112121222212112112222212211222122112111111112222111221222121122221221122121112111212212112122212222121122112111212222122112222221112222112122212221212221112112122211121212221211111221121112212111222121112112211222112211221111121121121211211221211121221212112212211222211211222111222221121221121121212121222221112121121211111221211212111111111222222212222222111222111212222222211222122111221222222122111122111211112211211111112212222121222112121212122222112211112222212212112111112212122222211212112112222212121211222112221221221111121222212211221212212222221212221111112111221221221121122112121221122211212212222112121211122222112121121222221122221211121111212212112112112112122121212221121221121222212112212112111111112211222112112111111211112212221212222211211211211222111112112221112222211211222121221121221111111211212222111222112122212121121221212112122222222221122222111122222222112121121212121211112211222221111211122211122221212212212121122122221211112221111221222122122122211222222212111112212111121222222212211111121121111211212212111222212221111211222112221112122121222121122111211122121222111112111221111112121122122121222121122121222122111122222122112222211112121122121211111112211222222211121111221221111211112122221211221121111121122112111222221121111212111111111222122222211221122221221121121212221211222121112111122222221222212122122212212211222222211212211211212222211212221222111121122112222121211122212122221112112111212121211111222211122211111121212111122211121112112112222222122212222112111212112112111111212212121211122222122211112212221221211121121222111122211211222112222221211121221221121212122222112111221211212111212122122112211221122121122211211222212122111221211211112122222222122121112121122121112221112221111212222121222221221221121211222212122112211221122221212221222212111211222212122211121212222222111211222222121211111121112212122212121112222112222222212122222122222222111112212122211222111121121212111112222222112111221111121112221111112111221121121211121211122112122211111212211122111112121221112222212211121121222112112121211121121121122221122122212211122221211121112212222121112122121122121111111122221221212211122212111122112121122111211222222111122222122112212212212211112212212122221221212111111111122121121111212222212111212122211222211112221121212221211112221112222211222121222222222211121121112122222121111211121111211212211222111222222121221211211112221121222211221212121221222121211122122221112111111222221112212222212222222212221222122111121121211211121211111221122111121112112222212221111221212221212112212212222112222122122212222111221212211112212221212122111111111122212222111221112212221222122221222211221221212212222121212122221111121222222212112221112112121122221121221111222112122222211112122211122122122112112111212111121211222121122121112122112211111222221221222112111212111122122221112212122111112122111122211222112122122211122122121122122211212212112222211112112121212121211212212211221221112111122111112112222221212222121112212221121121211111121122222112121111211212211111122212122221222212121222112212112211121211121122122122121222211121121222211222111122112112212212211212121222212211212112121112121211112111121212112111121111121212221211211212112222212121212211121211122121112221212221112112111212221122122211111112222122211121221211212122221112212121211211111211121212121121222222211222222122211122112122212111212122111121111111222111221221221122212211221121212211121122212112111212211122222122121121121221122212221122222211212122222212121121222122121211121212221122111221222112211121112211212212111221122112222212211222111221222221212122121221211212212111222122221212221222221121111121112111222121121212211111112121222211122222221212112111111111222211221222212221122122112122122121221211111121121211212111121221212222112121121212212122112112211222222222111112212212221221211212212121121122211221222122222112212121111111222111212221112112222211222122212221112211121222211211122222221222222112221122111211211212111121121221222111221111122122221122122121111112112121222112211222212121211122211111221122111112122212221212112212122211211221221122212122222222111211221212122221221211221211112222212221221122111222222222212211211211122222112211221111111122221212111222111221211122121221221211112212211122221221121112212222221211212121111221221221212212222212121221122212222122111122211222112212112212211111121222221222121222122122211111222221122221122222121112211221122222122222121122111221212121122122211222112211211111122122211212221111112212222122222222111222222212221221122122121222111111121122211112122111121212122112211111111122121211212222121112111222112222112112221121122221211221112122221121111221122212221221112111222211111211121121111122122111211111221112112212111222122212112211121112112211212122212122121221111122111111211121222211221111111121111121111122221211211121122112121211212221122212221212211122121211221212122222221222212212222221212111111222121221121212122111211212122122212221122112212121111221221222211222112212111221211111221122212222122122122212211112211211112122121221122212222221221111111121112212111222122121112211111222212111111121122212112212212122111211122221212111211121211212222221112211121111112121211111222112122112212121212222121121221111212222212111122122211211222221222112121212122221111211211222212112121212222112122222111112222222122212112211112212111111121222121112112111122221221112111112211221211221121221222122221121221222112121112211121111221112212122211222212211122221112221221121112211211212122111111112212122112212122212222212222112222121111111221212211112211211212212221222222112112212212111121122122211112111221121211112212121112111111221222212221212121212122222222222212222122112112111111121211212222111211211222122212212122222212212222121221111211212111212121222121111122221121211121111122122221212212222222212222121222211112112222222222122111112122221222111111122221121111212211212211212221221221221221111112112111212222111112212112212121212122121121111221112222211221212222112112112222221212212211221221221121111212112121221121221121222221112122111211211221222222211222112211121122121211221212111212212121111221121211211121222211122112221222112221111122211222112122222211111122211112211121211222211111211212111212212212222221111222122111111112212111212222222221111121221111221122212112222211121212221112121112222221221112111122211212121122111112212221221212121221221221122111222121212211121211212111111122222122111222212112122222222122121221111211111121212111122121121211111211121121111122221211122111121221222111212112111122211112211211112222111211221211221212221221112221222211222212222121112112222121122222122112111122121211221121212112122112211112111222111212221221222212211121211121121221221212121112111111122121122212212121211122221112111122221222122211122111121221211221111222112212112121211212211212111221212221212222112212112111122211121121211222112112222122121221111222211122111211212211122112122221212121122122112121112211222212221122221212212221221112211211122212212211121211122122122112121212221112122211211121222121211221212122112222222112221111122122121112122111122122212111211221121222122212222212112122111221211111122111111212121222122121121122211122221111221212122211122121222111121122112122212212121222112121221112222111222111222122221222111222111121111222222111121122221211212112121112212112222122221212221112111122212121211122112111212212112211112212222121121221122122112211112212222121112112122212112111112211111222111222111222212211122221222212111212121222122111211221122122111212221122222222122121222121222222122212221222121121111111112211122211221122221121121121122211211121211122211112212211111121122112211112111221211221122222211112122111222122111211122212111121211211211111212121112221111221112121111112211221111111121212121221111211121221212211112222112121211112221212112222112111121222212111222222221121212121112121211212111212122121212221112211112211211222122221121211121221121122221121212122121122111222122121211111112111121211222222121121222121221212211211212212111222111211212111222222222211111221222222222211212122111122112221122221122111111212221112211122222212111222112221212211211111221112121222212221121122211121221212111211112112122111112122112121112222221112112211212211112112112112121211111121122221221221221221112222112121212222121111121222112222222111121212222122222211122111111211122222122212221122221112221112112111222111122121122112221212222121111222221112121222211222122222111212121122122222211221121221211111222112121122211122111221211121222121211212212111122221111211122221112112121111122112121121112212111121111122112222212211121121211221122221222121122211122112122111222222122121211211211121112111212121111111111111211222222212122212122112112121221222222212111121122212112111121112222111222211212222211112212121221222112222122221221121212121221222122121111111211221211212211222212212211111121212212221121121221221111121122221122211212212221111111122112111211211111212121112221212222111211212111221121212211211121122211221121112112122211111211212121222212221222122221122112212222221221121222221222221222122111111222121121112212212211111212211221121121222122112112221221221211122222112211212221121211221112122122111122211212221122212122122121222211122112111211212211221112112211212211122122112122111211111112211212112222222222212222111222212122121112122121122222121211121112211222122221121222212212121222211212121212122212121211212211112211221112221221222211121121212112212211122122111121222212221222211222222221222212111112221221121221111222122222111222122212122122222221222112122211111111221122121211221221222122212112222121222112211222222212112222212122222222222121221121111122112212221111111211222211122221221212121122112212222111111122221112221111222211211111212222112112112111112112221212122112221221211221121111211222222111121111221211221122121121211212221112111212212222122112221211121112221222122222222221121111222211221222222112121212112111212112121222111112221211222221211221222222122112212211221122212112121112211111122212211221122122121221221121221212121222222111112221221211121122112211211122112121222211111211211211122221122221221122122111212122122211221212112121222121111122222211221121111112122221222121112112121121122211221112211222222122111111112112212221122212221211222222112222121111112222111112221222112221212222221121122211221112122222122222121211212221122111221121212112112211211222212112222122222112221122211212112212221211111122112112122122112211211212111111222212112221112112221122211111222111212212222222122221111212112111111222122121111212221221111222121112121222121211112221112112221222121111121211222112211122111211122122222221211211211111211111111221211112211211211212212122221211122122112211211112222122222212112211222112111121122121222121121122112121211212212222122211112212222222222112211122112121111222121221121221211222221222212212222221211221122121211211111212221221112221112212222111221212112222112211222222122111221111111121222212122122112221111121111122111112112211111212222211221211112111111221112122112222222211212111212222112222121211221121211121221212112222212112221211122121212212211121222111212122212111111112212112122221212122212222122212221111211111112122222221222222222111121222112112221122122111112212122221111112222111122121111122221212221111211212211112111122221111222221121121112212211122221222121122112111212122211111222122121112211212221221211122111122211111112222121222112212122222111112212121121212121211111121221212122111211211122112221222122212111121222222211211121212122221121122121221211212112112121111211111122222111121212221122211212111112111112111111112121122112212212221212211111121121121221212221211111112221221111222121111212212221212212121221121112121212112212211221212212212111112112121211221222211212211212112221112221211211122112212121212212122211111112122211121222111122222222111121112122212221112222222121121112212121121211221122222111212211112222121122211122111112112221122111112122211111212111121121121121222222211121221112111211222222212112121121111112112121221221221221121121222121221211111111212212221212212121222121211121211222112111112122112122111121122112112121211112211212222222122221211121222222212212212112111122212212122122121212111121121121122212222121211212111212211112221212112222211221112121211222112212122221222212112121112121222121212112122222221122121211112222122221211211121222122111222111122221112121121212112211212222111211212122111122221122212111221112221211212111212211111112112111121211111222212121122122121111112122121111121112122121121122212111211211112222111111212222111222111111222221122111212221222121112212221212222111122222121211111221122121122122112222112211212222121211111121222122112222222111222122211112111212211212212121111122112221121212212221211112112112222122122121121111221111122111112111211211121222111221212111221222212121122221121221211111121111212211112122112112211212212112121122112122222112221112212221112111111221211122212212211122211211112212121122111121211212221112221112112211111212112111221112111122121121112212221221122211222112211211222122122112112221212112212122222212212112121122212221222222221112221111111112112111111121211112212211112212221122121211121211112211221212111121211121222122212112122111112222222112211221211122112111112122121122122122221111212211112222222111111111212111221112111211222122122221121211112222122212121212122112221112112221211122112112211221122211211112212221111211122221211211111121122221221122212222211112212121221112222112221111221112222221112221211222112122221112221221111112111221211111211122121221122211212112111112211112122121222112121121222211221121122112221121212122221212122112222222212212122211121122221222211121121122222121211212221221122212112122112122122212112122122111122111221111222112112221221221111222121221111112212112211222221121111212121221111121222111222222112121212122121122112212112212121222222212121122122122112222122122122221211221122221112122221121221112121222111211121211222121111122212121211112121211211212111121212122122112211221121222121121212112212222211221122211211212212212221221222212212212212211222111122111212121222211122221212121211211111211121211221111212222112121122121112211222212222111112211211111122111222211121111121211211121111211211222222111222121221111111122221112222121121222222112222122112212221221211221121111112121212111112112121221112111122221221222122111112222121121121111222221222222221111122221221122122222212121212222122211222122122211222111111211212211222122121221122211212211212111122111222222112121222122211121121211122122222222111221122212212222212211212122221211111121212111112212222211212221121211211111111222111111112211121222122121112112211211212111112211121111222221111222121122122211222112121122121122112221111222111211111222221112212211212122112221112211111211222111212222222211211212222112111112111111122111122222211211112212121122111111122211122222211111111222111222121121211212121221111112221222111212112121211122111211112222211222121121221121111212122211211211121211221111221122122111211122221111211121211222221212112111112222121112111212121112212222121111122222222211211222212112122112221212122112212111111222212211111211112111221112222112111211111122221222122111111112122122221221111112112211112111122211121122122111221221221122222112212122112111211112221111112111121122122222111222112221222211221212212112112212111222221112211211121121222122111122122111212222122112222112121112112111212221212112112112221221121212212112122211121222211111122112111222121122122221222221112211112112111112121211211112222112111112111111221112222112211111111121121212111111222212211221212212211212212121122221122111222122112111211211112211211121121112121211212211111212212122221222111122111221121221121111111211211222112221112122222112211111111211122122212121211111122121222211111121211222111111221121111111222211221122222112222211222121222121111121112111111111222221112111221112111112121222222222221211122212112212212211122222111122112222221111121121221222211211122221121122212212112112121222211121221222121122111112112212222112222111211222211122221122221121212212212112111212122121121212122122121212212222121121112221221211121122122121111212121121211212112112122112122122212122122211112222211122211121122112221121122121122111222121122221112221222112221211212221211112211222212222112211222222121211111222112112111112121112122222112121221212212122212121221221121122211121211211112121221211111222112122111222211222121211222111111121112111211111121111211222121111121122222121112221222111221211111222122112122122211122212221122122211222211121211112212212212212212211211222211211121212221121221212211222112212212222211211212112211222122211111121122121211111111211212122111122122121212112222222122221222121222221112221212112211212212212212221221212121221221121211212112212212222221121222212111121122112211211111121122221222222112221222221212221222211211122211122121111222111212212122212121122121112111222221112112121211112111112121211212212211121111122121121111211122221222112212111111222221112111111112221221222211112222221222122211121211212122112222122211211212112112221111122122211122221221211211111112212212111121211112111212211211222122222222211111211221112221221122111212111221221212111221111221112112222112111111221122222221221211212211112211112111212222122111112122221211112212212121111222111211211122212122121122122212111112121222111122222221121112221122122121111122212111122121121121211122221222211221112222221122212212221121212122222222212112212112212212121211222112121122112121111221211222211212121122111212122122112212221111112112111111212111121111222111122211212112221112222222122112222212212222112211212212122121221112212121221112211211121111212122211221211122212121121221212222211112212122111112111212112211121121212222222122221112112111122112111111112112122122222112121111211121122121121212222112121221111222212122121121122121122211222212222121111211121112111111111112112111112211122121121112221112121122121121121122121121211222222221122222111112121121112211222221211111112211221121212221121212212121112121112212112211222112222111121122112222222212112122122222222111212222112121222122222112221222122111111211121111122212222112121112111212212221211222111222122122122111112112122212122121212111111122122111212112211211112122221112122121111122122121111112211121112122112121122212222111212112112211222122121122111122122121112111222121121111122211122111121112222211221211211111222221212212121222121222221211211121122112121222111121122111211211211211211212111121121222211211211221111122221111211212111121122221121111121122111112212112222111122122211112121111211221112222211112122211121222112221222111222121111211222111221121121212222222222121212222212212112121112122212211112211222111112112221112112221222121112112212111112211112111111111212211111111122211221222212111221211211221221121111221211112221211122211111122222121112112222212212121221211211111111212121111211211222121222211221212121111222112221112221221121222111211222222112222221111211112122122112221221111222211111122112212212121211212111121211222211121222222222112112121221221212122211212221222112221111121222221222222112222122122212112211122222121111212122121111221122211111121112211111221112221122121112212122221122211221212221122212122122111221111111121121112112122112111122121121112221121222111211212212212121211111112211222211112222112122211112211221221211211221211111121222112122222222221112122221112121221112222211111212222222112211211122122121122122121111222112222221121121122212112121222212112211222222212121111212212212112221221111121211122111111111222221111121221222121112211121112222122112221112121121122221112212222221221111221211112112111112111212221212222221111122212122211121222112122221111122121111112211222221122221221221112212112221221112112211212221112212211111111122211222121111221212111221221122121121212111112122121221112122112212222221211121212121112112212112211112121111221122222212212211121122121211221122212121212221222222111111111211212121222212112122222111121212122221222112112122121212212211121222111122111212221122122221122222111121212222221221221212212122112111122121211212211121211221112222211212221222212122121222121122211121112112122222122122112212111122211121211122222222122212221112112211121112111121122112121121121211221222211111111222121221121112222212112121111211221111111212222211221122221221212111221221222111112112112221222111222222212112112121211122112221121121121112122122212211212221212211121222112111221221211112122111122211222221221112111111211112111222112112212121212112111222212222211122111212221221222121121221222111122112122222112212122112221111221112111121111112212222221221121122222212211111121121212212111211221212112221111111121212112211122122212212222111121211222221121111122122122212111212121221121122111222212212112111211112121211111221112121211222112222112122211111222212121221112121222212211211112111211221111112122212122111221222112212211222211121212112211122112221111212221212121221212211212212222221222221122212222211121122112221112222111212111221211122211222211122121111212111122222212222211111111112122112221111112211112122212122122122111211212111221111222121122212222221122222122122221211222212112211111122212121121211221221112222121211211111121211111212221111122212121121212121221222211122111121222122121111222222121222121222122222121221112222211112112111212211212222112122122221212211122122211212122121212122112111122112221211121112221111112111212111222211211212121112221221111111122222222212122222212122222121222222222121112211211222122122221211122222222211212222122221122121222211121221112212111111212112212111112121121221121212121212111221211112211121121221121122112111222221221111112212211212222112222212112122212212221222211122211222111222111211212112211211111221111111222111221112112112121211211212121111111211112112112222122222112221122212212111121221212122211121112212212221111112111212221212212121121222121222221121121211121111122212212121222211111111112221111222221121222121222211212112112211111221211122111121121111111111211112121111122221122122111121211122221112212122222221121211121212121111121211112111112212222222212211222211221112122222222122221111121221121221222212121112112212122212121222222122111221112111212221121111222121111111122221122112221121111222112121112112221122221121122211122211112112121221212121221211222121111212111111221121221121222221221121221211122211211222112122121111112211211222112111121121111122112222111212112212212212121212121122121211222212212222111221212221222122212111122122221122211111122212111222122112212212211121212221121211221211121122112221221121212212111212221221122121122121212121212222222212221122111221112211122222222212122122212221221121212121211121111221112222112212211121121212122112212221212211121211112122121221211112111221111122212211211112221111211221111221122211221111111211212221221221121211112221212222212112121112111111221212112221221212211111221111222122212222221211121222221212221222222212211111222122222222122212221221112222121222222211121222122221112122121221111211222111221222221112221212112121211122122122212112212212121122211211121112112211112211121211121111211222121122121222222121212121111111122122212111121112212121111112221112211212212211212111121212121121121212222121121111211111121122121221111222122211211212111122112212112112211212211112212112111111111221222222122121221122122212111122221211121212212212222211121121221211122211111111212212111222222122112122122222212111212211112121222222212121211121121221122212121212212211111222122121222221222211122112121211222122221222212212121111222122211111221211112122211122122112221222221211222121112112111111112212122122212122122111111222111112122121122221122221222211111211121212112111222122121211112221111111212121212111112221112212222221211122222112112122212111221211121211112122121212212121212211112111221111222112112221221212211212222222112222122211211112212122112112122212111212222112221112221122222121221212211221122222112121212122221112212122221211111222212222121122121211212121122222121222222221211211111212212111111211122112221121222211212222211221112211121112111211221211212212122111221121211212212122212211112211111112121111112212122211222121212121112212122222121211212111122221112122112221222222111112111221221222221122122211121212212122112211222112122121211111211222222211121121222121222212221211222122222222122212212112221222122121122221212211111221221221112211111222122212211221112221112111111212111112122221211121211111221211111221111222121222211211211122112222121112121111121221222211121221211222112111211212122211221222212112121112121121222111112222222222211221121222122121211112122221221111122212112121111121111111222222121111211111212211222221222122112211222211221112112122121222222121222211211211122112112112211212222112122111222112212122122112212121112222211221121112121211121222221121211122222122121122211222112111221121112122221221211221221221121111111211222211121221121212112212111112212111121221112211211221121112221221221122221211211221211121222121222212122212112112121221222111222112121222212211122221112221221211212111111112121221111212221212121222221122211122121111112112111111211212211212222121122221111122121112111122112222112222212121112212211122121121121221121111222112211212111112122122122212221222222222112221222211121111112222212211211221212122111111121222212211211212122122212212212211122111111222211212212112211222222122112121111111112221122211222112121111112111222211211221222221212211121222222111222211211221122112221121221122211211212211121221222121212221122121112221122111112112221122221222112212112222111222122222112212212222122112222221122212111221222111121212111221212121211221221112222222111222211221222222111222122111221221212111111221221122112112222221121112212111121111221222122212211111212121122112111221111212111222211221111122222212211122211211221122111122221122222212222221212221222212122112211111211222121211111112111112112211222222122111221221111221121112222121221112111222112112212122211111221211211122112222112221212221112111112122122121212111112111212111211221221112212122222122112212222222221112112222211122121111211121121212122111122221222211122221211111122122212121111111211121222122122112222221121122211221121121211122211121221111112211222221111112211111212121121222222211111111211222211212222211212121212222212121212121111122111222111112221222121222112112212112112211121121121122112212212112112112212111121222122221211122112222111112122212111122122222222211112112211111111121222212122221111121212121222122122211121112111112121111221221211122212222122221222122212121122112212121212212211212112212211111221122222122112212121221221212211211121212121121212122122111222211111222221112111212222111112111122122222121122112212221122112221222212221112111121122121222121212122112112122121211112111111221212111211112211221211122222211221212222221121121122221111212211212222211221121112211121111112222121221112222112122211211122112222211212111222111112222222122122212221212212221221122111121112221112221111111112111111211212221111122212222211211221211221122212212112122122221221212222211121211211112122211121122122121222221112121212221111111211222222121111111222222122121111111121211221222122212112121122221122212212221221112211121221121211212222112221222122121212221222112111111122122212122211112211221122211212212111111122211212221112121121122121121112211112122111121212221112211112111112122122111122122222212212221222122211112212221221221222211211212112222222222222221222212222211222112222122211222112212111211221222221121211212122221212121221221122121222212221222211211211122212212212112211211222211211222212212211211211122111212222112121211121212121121112221121111222211112121221122111221122212222212112222211112112222121221111221221222222111122212112111112212122211112111121122112221221121222112222112221111211212111222121121222212222111111122211211121221221112221121112211211122122111111112221211121111221122121111121122221211121112211222112121222111212211121212111222111122121121222222211122211112122212221221122211121221222211111211111121112121221122111111112222112221212111111212121121212112221212111111122211221111111222112221211122122121122121211111211222122112111222122212112212222222121112122222121221221211212212221122111221122222122211122212112122121121122112222112221222111111111212211222121212121121221122122111211222222221121212111212212221122211111112222222122221211211212121122121211121222221121111121122221222221111221112211121221221122212222222122111111121212111211211212122212121112112121212221212111121122111111212222122221112221122111122112112111112121121211112112211122112222122212112112121212121112112122212112222111212121221211212111111211122211211121212211122212211111121222122211112212212221222121222212112112111222112212111222221111222211221221112121211122212222212111221212111112121111111111212112212122121122121211122222121211112122221212121122121212222212112111111111211121122221111212221112121221222211211221121222111212212221221221111211122221111112112221122122221111222211112121221211121112111211111122121222111121211122211221122222221121111122121222212222211122212121112211111212111111211211111112122112211121222221212212221121212122221112221222221112211121212221112221122211211212111112221112211221122221211121222111121111222112221121111122122121121111112211221121112122211212121122122222211211122221211211221211111221121121122122212111122221221112121222211122211112112112212222121222221121222121111211211112121212222122212222111111221112222122122211222121221212222122121212212222121112111112112212121222211112122222211112111221122112112222122222112211212111222211222111111111212212221111111112112112111122112211122111222211221212121112222121122222222112212121111222221212121211121122221211212122221121211111211121111121122211222222121111211121221112122121112111212112221211212121222111221212222111212222221112111121211211221221221112222222121121111122221122112222221122111122211122121212122112121211111121211222221221121211111112121212111221112221221212111212111112121122121211111211112121111222212222112122121222122211111221121222221122122121112211212122221212211211222111122121221122221211112212212211211211112112112112221212221122222121222221112122112121212112211222122221121121121211122112221211211111212212122121221111212211221121212122111221222122122221112122211111211121221211212122121111121211222222112211221221121111122211121211112211221221211212122211212222212221212111122111221211222112211222122111212112121211112111222112222112211211122211212121112211122222221211222122211122112221221121121111111112212211111121211111121221222212122212121221121212221122112121211222121111112111112122221111111211212121122122112121212121112121221222211222211112122122212211212222222211122122111222112211122112121212121211111121221222212211221222121212212221212211211112222122111122212121112222122212121111122222112221121121122112121122211121221212222111122212221121211222212112121112112221211112211212222211222121212221122112221221221121112112212211112212121121212121122111222212121112221212211222121111121121122221222111221111221221112112122222221121221222112121222212212212211112121222211221111122111121211212121111222212212222211111121122222112122222122211112111122112212111212111121112111111222211212212212222122122221111121112221211211122222111211112221222222221112212222212122221211212221121111121121222121122211112111211111221112111121122222111221211112112211122112211111211112111111112211221111121221122111112212121111212112112121222122112221211111112111121112111111212111212112222112222221121122121121112221121112122112222221211121221222212111122212222111122211221122112212122221122111112211211221212121111212222221112111211122111122221121122222221111211222112221222112122211112122211211222221112121121221222111222221111122212211222221211221221212222121222111221221212222122112211122122211111211121222211112211212211111212222211121222111212121112212111111221221111121221122122112212212111222122221112122112112122121212221121111111212122121221122222122222222212222122111222222212212122211211211122121122221221121111111121112112221112111112222212212222212222222111222121111111122121121212222111222211122122111121122212122211221221112221221112111121211211112122122211112121122211221111121121211121122221121111112212122211122122111211212112121111221111122122121212121222122122221222211222212112222212222111122212122111222112221121122121211111221121112211112221111211212121112221121222111212121212121212212111112121112112222222221212211112122111212121211211112111121122122221221121112222121112221112121211121212112212111122111112122222212211121122122212122122221112221212212121221112112112112221111211121122112111212221211122122111221221211122111212222121122211211211212121122122111112221121122221221122121112222111222221122111221221111222121122121222211121111112221211112112121121121212122122221111122221111121221221211221212222112122121222122112212211222121112211221122121211111111122222212112122222112222112212211221122111212122212222122122122111121222112121212222222222122212221212112121211211112111221111212221112222211112121222111211112221211122111121112122121211211211112212211122212212211112111122121122221221222122122122121112111212122121121121121222121111121121112222122121222122222212122121112112111121212121212111121222112122212211111221112211222221222221112122222222111221121111212111211221212212212222221111111112212211211222212122211211111221212212112211121122122112221222212221221222111222121212121212222111112111111222211122222111211211221122121211211222211111221221111122221122121122121221211121222122211112121222121122121122111222112112211221212122112222211122221122211211222211212111112212121211211222222121111221121222211111121211222111221121222222211111212222212221111212222121112211211112112211112122111221212221212112111112212122121112122111222112111222112211222112212112211211211222212112111211211222112212212111122112211122111112212221212121212122222121222211121222211221111121222222111222221212111222112122112112122222122121121111122221112112212111121211121111221121212221221121111111111212112212112212121221112111122121212112222222122221211221212122211112112222121222122212112212222221121122212212111211221122212112211222112222212121221122112112112222122212211211122222222222111112121112121122211112211212111121211222122211222222212111221212122222112121222122121122211212221112112211212211122211111112121122112221111112111211212121112121222211112221122221211212221121112122112112112112222221111111222122122111111221212222122112122122121112221212221111211211211222212222121111222211221212121222222212212121222112122112111221211211121211111122222121111211121212221211221212211112222221221121111211112211111121112112212222111211211121112122211122222222222111222121112212222221111212112222222112221122211122211211112112122121122212212112221121221221121112121112211211112212221121211212121112211221121221111111221111211112121211211212222212221222222111112112122111212112122111121211112111121222222221222122111111222211111121112222221122121212112122121212211111111211212112221121212221121121212111121211122222221212221111212222111222212121121211212212121111212211221211211212221121112112112122121122212111111222122211212211221112121122211112111112222211222122222122221211222112122212122212112111111212112222111221112112222112222122122221221221121211222222211211221211212211212221111211111211211112111112222222211211221111112222111122121212112122212111112111212121122111112212111222212212122222112112222212222222122121222122111211212211122211222111122112222211121111222212211122222122211122212212122121221222221122221222221111112121121111112122112122122121222121212212122211111221212221121122221222212112221122122212212121222222111111211221111212222112111212212211212222111211211222122222122111222211111222221112122211112222222222212111212122211221221211212211111112121212212212212222121122212112222112122112111111212121211221112221211221212211222122112212122121112112221211111121211121211111212121111122211212122112121212222221221222222122212222211221111211121121212122211112112221221122112112222222122222122222221121111111221222211211211221222121221222121112211221221121222111211121211112111212111121111121121222121211111122112222212211222122222222121112122112111111221222211221112211112221222222221222212222211121222221222222222221111221112222121122112112211221222211111112222211122121112211121211211222112211221212212212222221222211122122222222212211221112222212222221221211222222221211111112122211212112211212222112222122222122212112212112211221222112121121212111121111211211211122112211221221121112211221122222211222221221111121121112122221121112221211212221222121111112212111221212122112211222121222122121111111211122121121212112212221122211221221222211211121221112222111122112111111212112121122212212212111221112121122222121221222122211121222121112211111221121111122112221121112121211111222112122222121111221112122221122221112212212212221222121112212122212211221111211222112121121221211121221221211121111212212222211111111111211212121211222112212221212122111222112211221211211122122112212211212211112122111122111212121212221221221112212221221111121111112222112222122112121112211211212222121112122122112112122212221211122111112211111112112112122121121222112222212222212211212211122111121211221222211112222211212221222122122221211121211212212222221211222112212212112222212211121211212221211212121122121212122121212222222112221211112112221211122221222111122112112211221211212221212221111122211111122112112121122222211112212121222211111221211221211222121122112112122122211221212211222111221222122112212212211211112222211211222112112121111111121111211112122122211112122212122122112112121211221121211122212222212122122221212221111211112122211222122221222111211111222112111112112222222211111221112122111122221222212122221211212222121121222221121222211122112211212121112112112221212212111221111111211211111212222212111211122111111211222112122212222221121112222121211222211211222212111111222112221122212111221112121221221212221112111112121112221221112112111112112111211212122222121221111211112121111211121122112111212122121122121122222222222212211221222121221212222211222111211211222221222111111212222111121211111221222212112122222121221211221222112121212121122112222112212111222221222211211221211222222222121221211211112122111212112111222212112111121222222111112211211122221221121212211221221222211222111112222122222211221221222222212222221211112221111121211221222121112211211212122121211112111111212211212222112111121112221221121211121121122211112211212211221212122211121122122212111222122211112112211112121111221122111221211222212122222222122111122121212222122122211211112112212122212111121221211212122211211221221111122212121211122122112211122121211211221222111211121111211221122111112122211221111111211222212121211211121112121111211222111111122211112221222222212111122221222221122112122221221212112222222122111221111211112222221112112111221222112222212122212112122121122221122112111121211211111222122111122221112212111212221222121112221221222221221111121212212111122111211221221121222211121211111121211112211211112211122221222122121211211121112111212212211222211122121212222122122122212211222212112111112121222211212221112121121122122211212221111222112221211121221211222122212122112112112111212112121221122221212211121122222211121211221212112221222211111221211212121112112211211111112121112121221221222121222221212221121221212121222211122111121212112212121211211121122121122122212122112222121111111221111212221121212222221211121211111111111122212211212211111111111222212212211111111211122221211221122112221111112221112212221112222221121221121111221122121211221221111212211111112111112212211121221122211111221221221122211112221221211111112111222121212121221121212222222121122212111112112222211121122211111221121122222112221121221222112122222211221112222121221112212111212122121111212111112121122221211121121121212212222221211221112121222122111121222122111112111211121212112211221221221221122112222212212121212222211121111112212212211111211221221121112212112222122222222121111111222111122121121111122221111221212211121211122222122221221221121122122111112121222111221112211122222211121212122222212211122211212222122111111121221222121121212222111121221111212121222221122222222112211222212122121221121112121111111112112111222221111122111112212111111121111222112222111221222222212212221111121122112111222211211212212212211222121222111111121212112222122111222121222111111211121221122221222212212121111221211121111221121212122211212212112222221121111221112111112111212122212211112211221111211112111221112111221222212121221122212121212221122222211111211212112122122121221121222111221222121112111121111121121222221221112211212112221212222122212221221122121211121111111122222221221111121221121121121111121221122122111212212122221121222211122221112211111221222221221111222122112122211112111211112211211111221212222221211112121222111211212212211222111221211212121111121211222221221212222221122222221222112212122212221211221111212111211221122211222111212111222222122212121222111211111212111122221212211122212112221121211221221211222121211221222112122212222121221222111112222111222212221121111211111212211221122212221121221122211221111221211221111211211212112111111221212111112111221212121221112221222211112212121111111222121122112121111122221222211111221122211221112211212211112222122212211121121122222121212221211112112122212211122121112212211112222212111121111222111212212111211112122212112122121122211121222221111221112121211111211221111122121222221122121222211222121112211121221212222122211212121121122212112111211111212112111221112111221111122212211221122122212122212221111121121212222121211222121122112111211211122222221112122111212212122111211221222221122222211211112222211111122211111221211122122122212212112222121121122221112211121121222222111112122222222211211112211121212121211112222211121212111221122111221222121221112112122211222211222221212112111121212111221222111121121212111221212121212221121121211121122211122221112212221111222121121112211122111121121211121211111121211211122211212222212212111211211112112122112112112112211212122111222122222211211112121121211112222111111211212122122121111211121221121221112112122121221212112121211112211222111221221122221222212112121221111111111112212212221112121121122211111222222211221211212122221222212121221211111112212212111211122212121122222111112121221121112121222122111122212221221211222121221121111212122121221222122212121121221121221111222222112121112211221221122211121112112211112222122122212212122212122221211121111222112121211121121112111212212112222222112222221121211112211111112221112111122222212221122122222111112211122112211222112112111212121221212221122221111112122221211221222221111211112221222221122222111121111121212121221122222221222121221222212222211221112212221212111121112222121111111221111111221222211111122211121222122112121111222121221221111122122121121111122112121121211121122111121221122121121211121121121212212222122212212211121121211111122211222212211212211122212212221211211112112122221122112212112112222222221211221211121111211222121122112112121121122212222112211111122212212122221111221222112121221211221112212111211221111111112211221211221222221212221112211121222112112212212122221222212112222122122222212211212221111221121121211211222222212111211122112121122212221221111212122122122211211121212222121222211122122212121222212121111212222122212212122221211122112211111111111121221211111212122122111122221111121212121221211221121222212112111221112112111122112122222121222121122112121121222111211112121111111212212211122221221111211122222221111122211121222212112221122122212121221111222221221222122211221211111121121111112211211212221122211111212212212222221221222211211222212111122121221211111222112211222121122212211122122121221212221121222121222122211211112111221122212222111122111112112212121112221111111122212222222112221122212212211112111121122112111112122221211211212212211112112111211211111212111112112112212111111221121221211122122112122212211221221111212221122112122121112111112212112111112211122122121112112121112222211212211112112212222222112112112211211111121121112222122111112112121121212221111211122112111212221212111121112211112122111212212121221211122221122222212212111112212112111212121222112122111211211222121121111221121121211121212112221122211211121212212211212121212112211212222121221212222122212121222121212121221121122121121212221122122112222222121212111221212222222212112112111212222112211211122122212122111221212121221211212111112122211222122112221211121111211122222122221221112122121122122121122122211222121211122122111112212112222221222221111212111211122222211112221222211212121222111122121211222211121112211212221212111122211211111112211122111121121112222111222211122111121122121112121121222211111221221121111212122122121112122221112111211222211211112122122122121121112211122212222112112121121222122212111221122212221211121121221221222121122122212221222112222121122222222212211111122222121221222221121112222111112122221112111212221121212212111211112222211121112121221212212112112222111112211211222111211122221112212112212211222122111112221211112212122211112211111112212121121121122111112211221112221211221122221111212111111222211221211112222222111221222121221121221111222121121112211211222111212212111222111212221222112221111222221222122222222212121122122111122212121222111212221221211222212212212121111121222212212212211111121121212211122111111222222212222221221122211212221222112211122211221222212212112111222112122121212222121212212121222212221112211222122112121222222121112121122221211212211112222212211222112221112112211112121121222111111112222112111121121122112122211112212221212211122222122112121111222212121111112121112122222111111222121222111211111211222222211112111211111121222111221111212211121212112121222222112212221211211122211112211222221222122212222221112122121121221111212112222222211122122121212122211111211122111121221221211211121111122212211111121112112212111221211221112212212212211221211211212112211111211221222211122112122211112211222222121222122221122212221112112212111221111221111211212121212111122121122112122222212221112111121211211221212111212112121212122211221121112211221211111211112121122211222121122111111222212122121111111112121111111121122111212111112221222212211121111211111121111222222111221121211122112122121122112211121212122221112121221121121121112111211211112122111211111212112211111212221212211121211122112221222211221112122221211111221111112111121111122212112211212222112222212112211212112221121222221122222121111212121121212221211121211121211222122221122122221211221221121221112121221121212221212212222221122111211211121212111111121111111112222212211222211111112111112211112211211111221121222222111111111212112121221121212222122112122122111122212112211121121222212122121112212212111222221112211111122111121111212222222121222211211222111122112212222212111211112221112221111211121221212212122222211111122122222122122211121212211221211212121111121112111122112222111112221112222121222212122111212211112212122221121222112212211121211122221111211212222122122121121211212111221221121211212112222121211111222221222111111222112112122112121112121111111212111222212111111222112212112222222112112112212122121112121212112212111112111212222211222221222212212112221221221111121111121122121222221112222211212221211211212221212111211112212221212211121222222122221121211212222122222122222122222222211221121212112222221111211211112111112112221122122211222212221212211211112122222122121221122122222111122121222212112221221222211211112211112111222112222122121121121111112122112121212222112121222111112111212212112212112222121112222112221111111211211212212112211121112112111222111122112111121211122212211222122121121121212112212111121122121122121222221211111222211122221122121212211221111221212222222122121111221211121221222222121211121212122111212212111212112212111122211212111221122112112222122111212121221221222112112222211221122122222112222112222211221222112122111222221221221222112121121212121212212221211222222221221211112111212221211211121221221222111121221111222222212112111222221111112111211121212222121121211111122211211122211122211222122222221222122121121211122122112121222221111222211122211121112212122211111121121111222111212212212111222122222122211221221122112211121122212212122221112121121222112122221122212212111211111222211221112211122221112221121122211221211112212212211222221212212112111221121111111212121221122211122111211112212212222122212122122222111111112112111112222212222222121222112222211222222121211111221222111222111212111122211122122111212212221112211211221112112212221111211212222122121212121111121121211211122122122122111111112112211112211111112212211112111122212112111121121122222112211221222221211121121222111221212211211221112122222211222211221112222221222221222211121221222112211122221222122211211222211211111111112122212122212212222211212221211122112121111212212112121212211222221211211112222212121111121121121121111122211222111212221111121212121211222222122222121222122221122111122221122211122222221111122122221211221122222221222112222222111112112111212121211211221122111211122121212222121221221222112121121121111121121112211211112222122222121121211112122221111121122111111211222121222221221222221221121112211212211211222212212212111111121221212112121122211111221221122111111112122112111222212121211221222211212211121221112212121212112221121112211112122221211221122112222211122122221112222221212121121112221211112222221122212121122121212122111112112112121122222221112121222111212111111211212122112121211221211111112121112122211211111122121111112221122211221222112111121122221112111111112112122212112122121222222111212111122112211112211211221112112122111212111222111111111111212211121112112112221121122112112121221222211122221221112222111221211111111121112211221122121112112121221212211122211211122112221211222122221221212222222111111122121122222122121111212211221112221211211111212122122221122122211121121122212221111111221212212222221211212111121212121211212212222212211122121111121211211111121122211122111212211222212222121212211111211222211121122211121221221222221111211222121111211122222211122111111212212122122122111112221111112122212112222211211112222121222111122222211211221221222221211121222121221111222212121112112121111222112112111211121112212222211211111122211222212112112122121122212121122121221222111112221222222111111221221122221212121121111211221222221212222211111222221222111221111211112222221221111222212111112111211122122121112212121122121221211111121111221222112122112112112222221222112112211221121112122111221112122221121111122121122221112212122221211211221211112221111122122212122121212211211212112111111212111211212211212221211212221212221221222211121222122212112222111111221211212112111112112112212211221222211111111211211112221212112221121222121111211211112222122211121111121222122222111121211222112211211212212121112121111121122121111111221222121111221221212222222111212111212212211212111211111211222111222212212212122111121222112122222121222112222221212212121122221222212111212122221211121112222121221221111222222111111211212222111111111112121212122111121112222112122222121111121222222111221111112122212212111212221211111221221222111211111122111111111111112112122222121222121122112112222111212212121212221211212222212221212111222111112121111212112112111222211122212212211112122112112121111121221221121221222112122111211211212112121122212222121211111222212222212121222111211211121122121112222111111112122112112222222212221211212121222122211222212211221212222221121121111112212121112221111111212111112121121222221122221122121122121122212221122221122211122221122222212212122121112122221111222112121112211221112221222222111122111112111211122122122121212111111121111111111221212121222221212112122221121111221221112211122221122121121212212122212212112221112122121111221211222111211121122112111112222122212122212111122212211122211121222212112112221112221222122121122211212212122222211111111222222211121122111211212121121222222111211111221221112111122211122121122221212221221212211111111121122121221112222221212121211121112121122122212221221111112221221112112121111111122121212222112222222112121112111211112121121211221221112212112211212122221121221112221221222121122222121212222112212112212121212222112221111212111111122121211221221212221122121222211122222121122122112221211112121212122121221222222112111121122222221112212222212122212121121112122122112122211111111211111121222211221111222122121221222221221222122211222222111212212212211111212111211211221122212121211222122222222221212221121222222121122221211121212222221111211121211212111112112111221111121221222221122121211222122121212212122122112121121121122111121121221112211222121112112211121221112221222111121111211122221112222111112212122111221111122212121111211121121221112221112111122112121221221211122121211122211112222212221222111111222122121111111111221222121121211122222122211111211111122222211222211221121121212112111122211112222122122212121212222221121221121211212221211212212111221122121212211222112222211212121112221222111222122221222221122122121121121211221211112122122222221111212122211112211112111221111121211111221122221121112111222122211111221222111111111221111211121111122112112111212122212211122212121122122122222212111122212221211121111122211111112221221111221211211222212211121111221121212121222212121111122211122221122121111112221122221212211111112122111211212122122212121222222122112211222111112211121121212222211112111212121121211221211122112211122211221222221212212211111122111122222222221222112112211112211122121221112211111111211122212221212211221122212212222221122222212212212121121122222122121111221221212211121111222212221221121211212221121221211121211212211212221222121111222221222221221122211211121222212112121221212221211111221111111222122222221222212121121121211221212211122211222212212221212221112221222212212122121221211112112221112111221211112111222222121112211222221222122112221111212122111111221222112111121112221212211222212111212222212211211222112111121222212121111112121111121121212212222112112121121121122221212121112111112212112111221121112111212122121221121121212112222111112212121122121222222212111112111212222111221112112122212112211211112121222111211111211221222122211212111221212212211222221212122212221112111112212111112112121111221121121111122111112112221222221111212122212121121111222221111112221122121112211222221212211122121221221122222122211122211211112211122112112221111222212221111212211111121112211221222122121221111221112212111122211121221122221112211212211121221111111121121112122211111111211112112111121221222211222122222112221111112111122212121222112222212111112222112212221122211212222112111111121212122222211211211121122111122111112112112212111221221211122122111121121221222211121111111122221211112221211222211121112121112221112122211211222222112121211222122212112222111211121212211121212122112122121121122121212212112122211121212112212211212112211122112121222112221212122122211112211222221222212121212112222211121112111211222222212212112111112221221212122122211111121121221121112122212222111221121121111222112121112211212211221122111222122112222111221112122211111212211211122211222212212121111112221211122212122122212211122112212211222122112121111222212122211212112221112111112221121111111112112212121212112122221121112111122221212221221212221112211211211111222211122111222121212111112212122121122121212212112121221112112221122221122111121211122211112212112111122212222211122222212211221112212121112211122222121122222221222211121121221122211221211222112212221211121121212112212112222112121211211112112111121221112222112112221221222112112112221122212111122112221212111211211212222122111112121112221122211111211121111221111122221121222112111121112112112111112112222111112112112122111111211112112122111111222111121222211222111222211112112121221111112211122112211211212212212112112112211121121112121121221122122222212112222222212121112212212211122211111122212121122122111222111121122211222122222211122222122211121111211121221222212221222222111111211122122211211221111222122221222121121212112221211112222111112112211221122221121221222222212121122122222121122111221211212211121121112212212222212222212222121121222112221221222122211112221211112221211122112212211211122221111221111212222112222122122112211121221111221121222121121121212122121112112211122112122121222111221222212122121221211112111211211122111112121212112212112122111211221111121112112122212111122222221222112122112121111222112122121111212211212112211211122222112121121112212222212111211222222121121212221111221222212112212212222211121112222211222111112211121111222221212112212212122122211212211211121221121111221111222221121211111112212112221111121111112211212122212212111122112211121121122212122212112222122111111222222212221111122122212122111212111121121111222112111222222112111212212222121221122112212112212122121111221222211122121121212112222122112122112212222111112112111111111211122121111112111221221121212121112221211221211222221122222211111211112222212122212212221212111112111112221212221112221121112122121112211221222211111112212111121111212111121221212122212121221211222121222211212222211121212111121111121122212212221221212222211222222112111121112111121112222211222112211122212212112122222222211221211112121212211122112112121222211112211212211221212211112111122212122222121121112122121122122211222212112221222111122221211112212212122212121212112212122112122111211111121221221212221121121122111211122111221221111122211121221122122222212121212212221221121212121212121121211211111122122211122121111122112121112121121222122111121222221221112111112222211212222121122211111222221212211212221121222212121122111122121112221111112212121211111122111222212111111212112111221121112112121212112221221121112221212212121111121122111112111112221221221112111121221121221222211111121121211212211111222122122221121111222212121211222222121212112222111112121122212121121121121211212212112222212122221121222212111221112211111111221121221112212212111122112212211111111121222221122111211121222222222111222121212221212111222111212212212212111221122221212211221111121222211212111211211221212111212112211222111222222221121221211112121212112221112122112121112211122112112212222222221121122222221111112111222111211221121212122121212112211212111211112112221121112222121211112211111121211221222221112121122221211122121212121222121211221221222121222222221221211221212122111112211121211122112212121221112221211222222211122211112112221212121122122112122111122222111111212222122222221112111122122211222112121111221211121212111221221221221212211121222212112111121121212111111111222111111211122111212211222211221211112121222121212121122112212221212121221111212212111121212211221212112221112212221121112211121122222212211122212121111222112121111221222222111111221122121122111122221112222211222121111122212112212212221112122121222221212122121122222222121221112111212122211112221122122221222212112111121111111121222121122121221112122111122212121221211122121221222211111111221221122111212212111221122112222121211212122222112111122211222121212222111221222111211222122112212221122112212111222112212211112211121222211122221121212211112211221222222111122211121222112112222211222112121121122211222222111222112222111121222211111222212222111222121112122222122121222122212121211221111212122111122221121221121221222221121112112122111221212211122121211212221222122112222211212121221221212211112111212121121121211212121122222212112221222212121212121112122222212112112111222222122112111111221222112221111211121211222222211211221112211221112122211121211222221212222211121222212222112211121221222222221121112112122111121221122211111111111221222211121122212211222221121121221212222211112212212121112111112121222212121121212122111211222221122212221111212122221121111111211222222111111112111122222222222122212112122221212112121112222111112222222121212121211221112122221221212122111211212122221122122222221222211222122221211121211222121222212221122111222222111111222112122122112212212222122221111222112212221111212121212212212122111221122111112111222121211221111222211111221111111211112112111122112222222212121111121121222111221211222112111111112212122221112212112211111112121211212111222122221211212112122221211121111222211212122212211222122222121121122111222112112122112122222221212221222122121111221221211211112111222112111222212212122111212122211212121121121112222222121121212212121112122222212211211211212211112112212211121221211121221212221112211121111111112122111111122211112121222121111212111222211122111221122222121222122122111121211212212112121222112212122121111111212112121221222211111211221222212121212211221122211121122121212121121112222112222112211122211222211122211112122121221221112211222121122121212212112222212121212112122122122211112121122121112121121122111111111222222122112212211222121211211121222122211221121211222111222222112112112221212221111221111221221212222221221212222112222112211211222111221222221121121122112112121111221122212212212212111111121121211112211112121122122111211112211121112112222111122121122112221222212211212121121122221211112222211111122221222121212222122121212121121221112122212112121222112211121122121221222122122221222212221111211111212122222212212121212212112122121222211212212211122221112212222211122122212121112222211112111122111122211121222222211221221121112122121112121112122121121121211122221121221111211112222122121212211212211222211111121211212222112111111221211112111112211122121111111112112111212222121222122121112221222212112221112121212211112111122222111222121122222212212121122121221212122222121211121121222121111221112221122111211111121222222111222121121221111222211221122221121211112121112222121211222221122122222112211121121222221211111122122221211121111112212111221121212112121111122211211222122112121222211211221122112122122221221222121221222121222211211122111111111121211121212111211122222221222122221111222221211222111112222211112211211112122212111112122211121121112112122222212112222212221222212212221221212122211211112121222112122121122111211121121121222121212211211121121212211212111111121221222111112211212221221111122111221111111112212122112221221212121211111111122211122211222222222222111111121111122222221222112121222222222222221112221111221212121121211222211211111222112121111112112122222222122111211111221112212221212122222212122212112121211222212112211211121112221221212222111212121212111212212222222111111222211122222111211112122211122111112212122221112222121221212212211121122212221212221222122121112121122221212121122211121112221121111121122121121121112112122211112121122212222221121212222111122121212212111111122122122212222121122122121112212122112212211112222112122222222212112111111221121121222212222222111111112112221211212122112221112122212111221222111221211121121212121112121111222121111121112212122222111222112122111121122221112111121121212111212221111212222122112122212212111221111222122122111112221122211121112221111122211111121211111211112212221212111212112211122222211211112112121111122222111111111212221121222122211122222222221112221221111121222122221122111211112222122221111211212211211112122212212222222222121122212212221111221122222212211211211111121221121122222221212111121122222121221111111111112121221112211211211121111221122121211222222111111112211211112212122221211111211122111222212111121111122112221211222122211211211111112121121111212111222211122122122211111121222221222211121221211112221121121121211222212211122122212121211111221222112112122221211111221121211111222221211111111111211111222122122222111211221212211221221221121212112112112122111112222211112221111112212122212112221111111121221211112211112112122222211222111211122112211211112112121212111221222121112122211211211111112122211121212221111211122221111212222122122221211122212222121112212222221212221222222111221122111122111212212221222111221111111212211221112221112122212211112221122221122112222111111221121122212212122111211212111212121222211111222121222111111112121111121222212211121112121122222222222121212121212211122212112121222111221122211212122222212212112121122112221112212222112121122221222222122222211121221222112112121111211122222212122121212221211122222111211222111122121111111211221222112122221212112212112122221221111121211122112212211112222211121212212112211112212121221111122122112122221212222221211222212121122221212112211111112221111121121222111221112121122211222212212111212221222112111121111122112121121221221212122221212221112112122211112122221222212211121112221111112222222221221222211221222121112122212221112111222121112122222122211221211121211112122112112122112122221222112211111112112212121112122212222111122211112211211212112111212122111112212212121111211211121112221221222212111111121211121221111222212111111122112112212222222111221112221221222211112212122221211121222112211211211222122222221121122212121221121211211111111222211121211122111112222211122111121211221121221122121121221211212222211122122112221222112111221222112211212122221122212212122122211112212122212212222122221122212211222111222121121111111212121121211121111221211111211211211212222121112121112211112221222121112211112212211222211121222221222211221121211212221112212212122212112211222212112212221122211212211112221221212212212112122222112222122112112222111211211212112122121121211212221122212211222111211122112122222112121221121211211212221111212112121121211111121222221122121111121111111121211122112222212221122211112111211122211222222212121112212121122221112112121122111222121212121111221212111222112211221121111121221122222112221122121122221212221222222122211122122121221212121121112112221121121221112111211112122222221212112111111211111221121212211221112212212122122122111211221221111112112212211221121122122212121112222222212212112212221211221122122222122211111112221111122122121121221221222221121111122121111112112121221122121211122212112121211112111211121112121222221121112111111222222222122111211211212122111112221121122122121212222112222121122212111111121111221112221222112122221112121221222221212222212222112211121221222212122222211221111111222222122112121221111221112221122221121211212212112222222221112211112222122112212212111222211121211121121112111112222221211212212221121111111122121221121111221222221122222221212212121212211211111221122121121221122222221112222112211222212121212112111211222122222221211221221122222221121121211222222112122121211122212111112112111212122212111221112221122212112221112221211211121211111222112111122121122111111222121212211212122121211212221112211221122121121122221222111211222222111211222122111121112221221112212111122112221221221211121221121222222122211112121211122211112122211122222211121112212222111221222111211211212122211211121211211122211211222221112112212212111122122111222122221212212111111222122112221222111121111211121212221222212122221121112221211122112211121222112121212212222112221121221221212121221112211121221112222222221212122221221222222122122112211122111121211121112112222222222222222121122112122112222212212112221211121222212221222222112212211112111222211112112112221211222112112211211112222112222122111212122212121222222222221112112111222212122112111222111122121122112111212121212221121112111111122222211122212122221121222121211111212121222222122212221222221121212211111211211221212122121122112121121111212121111221221212211112112111211112221111112212111112111211211122122121221112211212221112122222221222111221212112111222221112212121221222211211111212222212222221112211112221111211222112121212211121211122121122221111111111122221221211121122121221212222112222222211112211222111112121122212222212111212112111112111121221122211221211112222122122122212221122112222221121212212111211221121112121112222111122211222121121111221112112121211112121112111221111222212221111221121221222122111211221212121212212211211121122121212212222111111121211111212121121221212222211211222221222222211212111211122211212122221111121211122111121111121221221111111211222112211222122222221212121212212111121121111112212112121212212121212221222112121212221122111211221221222122221112212221211111221211112212221112112121212222211122211221121121112112222121111222122212111211112222121211222211221212111122222111121221212111212211212122111211121122122111211222221112221211122212121121211211122111121121121222221211221211112212111221111222112221121121221111111221122111111112221122122221112222222211221221211111122121111222122221121111121221122212211212121122211221111222111112222111112221211222222212112121222212212112222121121121212211211211222222112111222222121221212122211122221212111211212112111222111212121211211111212212121212222221121122122122211222111121121121122222212112221121121212212111221222112222222121112111121212211212121222211112121122121222221112211212111122112212111212212221112221111221221211211121121212221122222111222211112111221122212212111211221221221111112112112122122111121112122111222111111121122112111112121212212122122221121112222111111222212122222211121211121222222111222222212212212222212221122122221212221221222112222121211222211222222112121122112121212121121211122112221122112111211212221121221122122221111112221211111221121122221122212121121222212122211221211111122111111222211112121111211111111221222111112122112212111111222112111212212121122111111112211112222111122222221112122112221221122221212111111112121211222212112121212121111221111112222121211121122222221212211112222111111211121221222211122211212111112122212222211211222211122121121222222222111112212212221211212221122211221121221212111111221211112122222212122212212122121212221121221222122112122222111111221121222121212212122121222221222111222112112211111112222221211112221112112122112221122111121212221122112121121212221122121221111212122112112221112221122122111211111222212222112211212222111112222222121122221211211221122121112121221111222222122121112211121111211212222112122111212222221211221222212211222222122211211112221221111211121111221122222212111211111121111112222212222122222222121212112121221221221111222111112111212212211122211122121122112111211221112211222221221221122222121222121121212222111111112111211111111122112112121111121212112121212111222112122122121112121211211121222222122221111222212121112221222212222111111212111111121222221122222222211121111212112212111122211212211211121212122111112112112122222221112211111221112112212222221111122211211212122222212222222112121112112222122121222122111211221221121122222222221222212222112122212111212112222211222222122122222222211222121222122122222111222122112222221112222122112111121122222121222121122212221121222221211222112111122121222121112111212122112212112222221212221122212122121211112211111211121121211222122122212122211221122121122121112211111112222222212212212211222211112222222122121221221112211122121211121221121212112221122212111112221221122212222211121121112212221122122222111121222221121211212121112211121122121121111212121221112221211211221122111221212222121122122212121221221222212121221222211121121212112212111212112111112211122222112121112112212112121112212212212121222122112122122212121221121222222222222122222122112112122112122212111222222222121211221212212121111112112122111122212111111111121221221121111221222212112212112122121211122111211211222112121222221211121122212122111112121121112122211211121112111112212112222112211221212222212112111111122222212112111121212122221122112212121121221112222111122211211222212111221212221121111221121212212112211122211122221222222112111112212211122121222221122122111222121211212221222111212211122111212112121112122221111211222112221122212221222112122112121111111121122211111221212221121211222122222111212122222111122221111211212222211121222122122112122121212111222121121121221212221212111212112221211111111121121122112111222121112222221111221111222111221211222212222122122211211222112222211221212222121222222221112211221211111112222212212211122122212122121112111221112222111112111122121112111122112112122112111122212111111211221211211211212112211212112122112122221112122111121112221112222112122222121111211222221222121222212221222112111222211222222121121212212212111122122211211212111222222212221111221122121221212221212222122221122122212122212111222121111211221121221211112212121212112211122112211121221121212112112111212122211111111111222121122212222112222212211112211211112212121122222211121212112222212221222112121212212122221122112112111221111221211122122111122212212112211112221112222221221211211221221122222122211112111221221211112112222212211222121121121112221112121222111221111112212222122212221111112112122211212211222222111122222212111222112212222112211112211212112221212222112111222121211111222122221222222221122111222212212111122222122211212222121122222121221121212222111122211221212112211212122112121211221222111112222222211121112121221112221111211121212112122112111122122211222122112122121121112122212222212221211222112122112112211121112112111122112221111121122112222121121221111112111211122122111222222111221122122212222212112122121212221212111212122222121221111212222122111212121112212112122222111221222111221121111212211222211221122122122112111112212111222121112122221121122112212221111122112112121112122222211121112112222111122211222112212211221121211122111222211222112221211221112221212121222121112111212121112212222122111211112211122221111122211222121111211211221112112122111211211122221222111222122212111211112212121221222221122221122111222112111222222221121222221121212121222122121211212212121221112211221221121121211212112111211111111112211111222121122211112211221112221111122212122112222221211122121211221212221122111211212111111112121222112222111221121222222122122112112221212112112211212221122122211121222122222122212222211111112112112222112212112111212122211221112212211212121221121121112111121221221121221212222211111111111112121211112111121111212211221121212112111221121212121211122222111121222211121212222222211122212221121111121121211111122121222222112211212121222112111111221212112222122212212121211111121211122211112122212211222222122212111122121211222221221121221121212112111222212122122211212221211121211121211111112211112122121112211221122222112121111122221121111222122111112212112112111211211112112112122111222111222211222211221112211222111111221121211121121222222111122222122122212212111121121121111121121122222111222111122122211221122212211212211211222122112122111121221211221211222121211122211211111221221121221121121211212222221222212121212121112212121111111221222111112112111211212212112221122121111122121222111211121122221222221122211111122222122221211211111222122111112222211222112121222111221222112121121112111121112222222221111212122122211111111122121212222111121121212212121211122121211121222211112111222111111221221212121212212122211122212111211222112111121211122221111112112212211222112122212111221112222221111122112122221221121221221221111211121121121221221122221111121111221122211111121112112122112222112222121112122121122111211211221111112221112122121211111122111112112122212111112122122112222212211211222122121112212112112212222111121111112112111222211211111112112121122221111212121122121112212221222212221221221222222222211212221121212122211221121112121112212212122112221222222221221112211211112211222122111212211122121122122111111221222211212112211111211212221211221111221222112111222112111211222211222222122212221122112211212111212112212211112212122212121222212222122212212111221122111112122111221221221111111111222121212221221212212112122111112122122221211122211112111221222212122122222112212121211222111111111112212211121221221212222221212111212221221211111111122121222111221121222111222112221122221211122211111112121221222222122212112121222121212211111111111111222221111121121122212122111212111111212211112122221221222121211222111112211112121211222122221121211222222121211112111111121112121112112122112211221212121122212121122221111121212222212211111211221211111111221221112122221122112111222111111112111221122212122111111221121122112122211111121211212222211221212112112222122222212112211222121122121221111111122121212122222222211121111221111222212222111111111222221211212112112121111111122221222121212212222211122222211222121122111112111111122122121112221211222122112122121222112112121112112211122112121112212122121211212111212121221211121122212121221111221122221121211222212111222112121122221222111122221112121211221112122111212121122122122111122122112222122121111212212211122112221212121121221121212111111222221112121122221222122111221111111112121112221212212221212222112212112121121212222211211122111212112221211221111221121122222122221221211112221222221121122122122111221222121121212111212212111122122111221211112221122122112122122122122112122112112222121222121222122211112122221222221121112111222122112221122121212121221112122211212121112122121221122221111211111122121212122112222122222212121222212212211221211211212212121221122111112121212111122221211111122222121111211111111211221221121211212222221212212211122212211121121112222122212222121211222211121222222121111122112121121122122112221222222112212122222121122221122221121211112222121222221112111112121211122222121121212122112112222222122212211122112221122211111222112222121112221212122222222112222121122121112212111222221111111122121212221222222111121112121112121111221211222221212221111121222212122112111111222221211112212211112122222112211112212221212122111222221222112221112212112122111122221122221121111121211221221111222122211122211221122122122221222222112111121222111122122222222112221221111212221222111122112221222112221111112212211111111222221211212112111222111122112221112111222212122121112212122121121222112212122112221111212111112211211211222212111112222221221121222212111211121121222111111122122111211111211221122221211122112221222111211212211121211111121122112221211112212122222112221212111222211111222222211122211112121211222122112221222212121222222112111212211121111112211112121222111221222112111111122221112121212211112111112221221122121122211112122211221111222221221221112212112212111111222222221212221212122221111121122121211212111212121111212212121222211121111111122122121221111122212211221111221212112121112221211122212111221211211122211212211112111222121211221222211112111122112222222112222211122122222221212211121221222122221111222221122111121212222222221222112222121112221212122222221112121222112212212121111212122111211112111112111222122121122222222111111121222122111122222211211112222221212211122112221222221121212211212211211211121112222222222112122222122222121221211122112122212122211112112221112212211121111111222221111222212111211212122222112221112111112212111221211212121221221212121112111221221122221111211112121211112111121222222121122211221222211212221111222221222211222111222111122111222221221112221222211212122222111121112112111112212222112112121121211221121222112111222111121221111122211221122211112222221111221112112111221112112212222221111221122222221111112122212122212111112121111222112112112221211211222122112122221222222211122212122222121111112222121122112122212122112112122112221212112112122122221212121222221121222111222211112121222221112122111212122121221112112221121211221121212212211222222222122211212222122121111121221111211121211212111212122112111211222211122111122111111122122221211121121111222122221212112222212111122111112121121111222121112212212212121211121211211121112112211122212111111121212111211221212111121211211212122121211212112211122112121221122111222211112121211211122221212222212111211121111212211211111111212121112222222211212122222221122122211112221212111222212112121221121212222222121222122122121221222121222222212121111112222122221111121212112212111112211112222222211211221121211221121221112112221211212121121112111122111212122212211122211121122121222212111211122122111122221222211112111221121112212112111221212112212221221212212222122121211211122222222221212221111121111221111221212212221112222211212112211222221221212112111121111211122112112211111111111111212211121122211122221111122212111122122212112112122212212122221212111212111211111121221212221211222111221121122222211222112222122112211211112222111121112222122222111122122112111121121112112222111112222211111222121121222221211222212111112212122212212122122222111221112222122212221222211221211222122221222121222221122221121212211112122222211111222211122112221212122222122122112211212112111122112221212111211222211122112212212222121211211111111221211222222111112212212122211121111212112122212212221112211112221122111111222212112111222111121112122122211211112212222211112121212222222222212112222212122221121212221211112212112221121221221211221111221111222211111221221122111121111221222122222221111121212222111211111222222122112222221111112112221222112111211111222122112221121121222212122211122122121221122112211121221111222212121212112221212121111222112211122221222122111111111122121122111121212112111222111212222112122112211111122212112111122112122212221211121212111211121221112222112112111111222212122211122221111122221121111211111122122222122122222112222211121122121111112122221222112222122121111112111111221221221212122121212212112111211121222112111222211222121112221121212111211212211112212121121121222221121211111112221121222111121111221122121211222221122112221222212212212212122222121221222122112111111122121111211122112221112222222121112221221221112111112211222212211112112221122211122112111212121221112212122211212122111222222211212211221221122121212222112122221121212122122222121112112212112122122111222121221121211121212111122222222222211211111111212121112211121212121112112121112111121221212211221222222212211111212122211221111222211121111212221211212112112121212222112112221212112121121211122122212212222211221221122121221122222111212111222112122211221112221121112112211122212122112222122222111112211222122211222121211211222222121211112211122221212222222121221111222121111222112222221121212121222122112222212121211222222111111221121121122211211212222212212212221111122122122121112221212121112222121211122111222221211111121121212121112122221212111211111122112122222221112112221111111212211221222211222121222111212111121122221111221121122111112211221222112112212221222221222221222121111121211111111112222222111222222111212222121121211212122211122111111122112112222222111112111221121112212222112211122111122112121121212212211112221121221211222211212212121112111121211121112221111121222211111211211212211212222222212211212212121121212121122221221212112211111222111121121222111212111112221121112121211121111212112111112211212221221111221121121222122212121112122122212122122121221112111121112212111222121211222212221112121222221121212112222211222122121122111121121212222121121211211221212112122122221112111122112122122222221222112212121222221111121111221212221121221212121212212121112111122112211122121121122222222222122222112122221211222112122221111112221211221222222111222112211222212122212122121122211112122222122212121122211212212212222122121221122222212211221112211112221112211121221111222211212112221211121212122221211111211222111222122121212212211122222221111112121112221121121211221212121211122111212221222222111111121122211221112221121211121222122212221222111112111211112122121211111112121212221212222211111121121221121111211122122112121222211121221212122222212212212122111211222211221112111111222112121111122121121212212221122122122212212122111112112111112222122122222112112111222112111122112121112222112121212221122112221111111112212121121122112122111222212211122122221111222122111112112112111121222221221121221211212111111221112122122122212111211121222222112222222212221211122121221221212111111221212122221221122121111211111221111112212211212211222112211221122221222122112112222221222122222212221111121221112112122111221111111112212111111112221121221121122111111222211121221122222122122112112221221112211212221221112111222222212111212112122221221212221111222212112211122222121122111112221121221222111222122222212112211221211211221222122221111212121222121211212112111221111211221222121212221111111222221122212111221122212222112211222222111222111222122111221211222211121221211112121221122112112111212221111122121111122212222211111221222221211211212111121111221121121211111112212212122122212121211122112121211121122111112211122111112122111122221221211212212211211121221222211212111222221211112122111122211122221122221112122121112111111122221112221221221122112221111222212122111211222212212111221221212122222111211121122122221211211212222121111121122221221212211121211122111122221222221111121212222222211211112211212222122211212122211211121222111112111121112222122212121122111121221112211211122211111121122121221112112222111121211212212121111112221222222112111121212221111122111111221121111112121212121111121122122211121121212112211121211222112121122212212212212122212121112112111121211221121222122222122212111222112121221112111112111121212221112112122222211211212221111121121121222211211221212111112222211211222121122222122122212121122212121212222211122111122211111212211112111112212222112221222211222211121121212112121121212111121122212211111212221122122211212222222222121112112211221112212121222121211211211221121212222211121222212122111122122222122221221111221222112121111222121211211122111112212211212112112112111121221111212221121112221122122111112221222122111212221121211222121122222211122212111211112112121221122211222121222221112222121211212211121211211112112111122112121112111212222222122212222121211121221222111121122112111221221121222211222211121222211122221212121212221212222211122221212211212121212112222222212211221111211121211221212221112122121211211212211111221121211212212211112112112111211112211222212222221222121222112221121111112211212222222112122212212122221121212111221112211121211112212111212121111112122221121122211111121211222211212222122221112111221112211122122212212211121222111221212122212221121221212121121221121211112212112212211122121111121212222221121222111111212221212211221211222112122211112111212122222122222221112121222111121222121122221211111221122221211211111221111111112222121222112121122212112222112211222121222212122122122111111212121222212122111111212111222211122221212211212111122212112221212211122221112211111222212111111211111222121212211222111111222211221122121121122222122111112112122121211221121212212212122222122122221122211121212111211221212121112112121212111212112211121221222122212121212121212122212122211211111222222111222111212222112122122211122221121122222111112221111112112211221222112212211122222222212212112111112121212121121111222122121221222221222121121122111122211212122222121112221222221111212211211122111122211212112122112212221112212212111221111222121122111222221111111121121122122122211221212221221111121211212221112122112212121111122222111111221121222212112211222222222112211221122212122122221121112212221121212211221211111111211212212212212121112211221212211221221121112212222211121222121222121121111121112122222122221212121122111212222212212222111121122122111122121211212211121212222111222221111121211221122222122212111221122221111122221122122211211221122112112211111111212112112222211112211211111212211111221111222211212121211122222122112211222212211221212211111112221222111221212211211221112111221121121222211222112212212121121221112122112122111221121222211112221112222112111121122112111221222111211122222111122212122211122121222122111221111111111122222111111212212212122222122221211112121111122212222211212122111112122211222212121121112111121112111121112121222221212222112111212112111111222221112212212112221221222122122121122122122222112121121112121111112222111122112212112221121112211212122211211211111121111212111112221212121112112221111122211121221211112112211211112212221121111221211211111211121121211212111122112211111121122122121112222222222221211212221111211121122221222111112211112222211222211121222121212112222211121212122222222221221112221122222221212111112211222111111112121212112111222122222121112122211112222222211222111222212121122211211112222121221222121122222212112211211222111122111121222111221212211222221212221211212211211112112221121121122211221211211212211111222221212222221121121222222122222121111122211211211122221211121121112112121221221112211122121122221121212211212221122221211221112111211212211221111122122221112112122112212222112122221111112112211221112211212122111121221211211122212112222121212211222112111221211212121111112122112122221122122111212221211211211121121222121221112222222221212222121111121221121221122212122112211222112112212221212121121121211222222212221211212121122121121122111221121212122211221111211121122222122221121121121111122111212122111111221222121112112112121111121212111222121211121212221121111221121112212122212122221112221222212211112212121221122122112111222222122111211112111122121122122211121111122211111122121211212221211211212211212112211111212221121212221112222111111112222211211111222112221221221222121112211122121112112121212212112221222121121222211121212111121211112122122111221212221112212121111112221121121121211222112122111212212212222221212221112122122122211121221222121211112121111111121222221112111222112112212212211122112211112121122221112121212121121211111111111111222122222222112121122111112211211221112121211211212212122112121111121112111112222121112122121211112222212222111122111112221121221121211112212211211222212211221211111222212222211112222212211122112212222212111221211122212112212121122211121122121222122222111122221211212112121122111222222222121222111111222222111112112122222122121222111112122212212121221221212112222211112112122111121222212212111111212122122122122221212122212122112122111112122212112121112122112121111212111122122222112111221121121122221221212212121221111112221111212212112111222122211221112121211121221221111122222122212212112211221122212221111121111212111121211222122221122212112211111222221112121122121211111212212121121121121112212222211211122212212221111211122212222212121222111211211111122211111221212211221122222222221111121121211222111222222222122121112221111111112221122222212121222111111212212121221222111111122221112211122212221212121221122112222122121212121112121121112221122112122112112112112111221112211121121112211221121112121211212211121122121122112212111211121121111121111112111111221121122221212222121222212112211222121111211222222211122122221122212122221211222111112212211121221122111212122211221111111112212222212112221222111221112212111121122111211212211212122222111111221121121222121211212121221111211212211221122222211212211222111212111222222122111112121221112222121211121111122112121222222221121121112211112211111221112221111112211222122121221121222211221112111111222112222211121121212111222111111211212212211111221222112122112222122112211212112221222221211221222111211122112122121122122112122222212112122121222211212121221221212121222112222221211222122112211111211211222222212211111221111121211221211111111111112121122222212112222121122112111212221211111221121211111222121211212211112222222111211211121121112221121212111222212122121122111112221222122112212111222212111111111221211111122212222212112212111112122222221211111111121111112212122212111212221212112122121121122122112211222221122222111122112121122112122112211122121111222121212222221222222222222212121212112212221111222222121122111112211212221112122121112212212212111212211212122111111122121111212122121112111121212221222112222212212121221221112222222222212222121221211212112122212221111122121122222222111221211221111122222222112122212221121112121211212222121121121122122211111121221112212112111121112121121122121122212222221221212212111121111111221211122212211211221222122221212221122212112111121221212222112112112212121122211122112111111222111211122122222211121221122222212122121221211221212122221122212111112112211122212111121111122121221221211122122221221121212221212121221112111112212222212211211212221212212222222112222111111222121222212211212112122211221212111112112221122221122212221212122211111121212211121111112212212121112112121212222122112212211111211212112111112122221122121112212212121222122121111212122221122111212211112222111112221122122222111121112111221122222211221212222112112111111212122112111211122111121221222121212222211121121211112121211122121112222112212221212211221221121211111122211112121112122211111222221222122212221112122222122112111112121221211122222122122122211121212222222222222211222221212212121112111122212222221111112122212211122211221212222221222211111111122222211222211112211211111211122112221211221211211112212212111211222222121112222121222221222221221222111211122221122111212221221121122112212211112212111211211221112222121111221122121221122221221221122122121112111222212111222212111112122111221112112112111111112212111121212111122212222121211121111221222111222121122212111222122121122221221112121122212112112121111121121211221122222122221112111211211212112211211112121112121211212222121111222221222221221122122221221122212121122121221111112212222112112221122222211111222211222221121211222212211111222111112121211112111212222211122121222111122111121211221112222111222222222212122111122121221212222222111121211112211211121122222212212121122211122221112222111121121221122122111221121112111111212121112211221212212222212221122111212211211212112112221211112111221121222221212212211222122222112111212211211222122212212221122121222212122212212111221212122212221221111122111112222112211222222222222112222122112222121112122221111122221122212211111121212112222222212211122111111122211122212212211121121222212122112122111221212222122221122222112122211111221112211122221211122212222122112221222222221212211111121221222222112212211111122122221121222222112221122221211121211211112222221222222211222212111121112112212222122211221111212111111122222122221122111221121222121222112221211121112122112222112211121121221122211212211121221121112212212211212211121212111212211221212222211122121221112122221111221222221111111121211221211222221122222121112111121221121121212212211122121122111121122222221122212112221112112111212212221112111122112121122121211211212112122212221111121122212121121122222112212122112121221111121211211111221111111212112221211121121211212112122111221211221222221221122221112111122222212121112221122221221211211112221112212212112122122111122112122111121112212221212221121211211112212221221211211121222211221111222221111111211211222112121122211112122112122211121211212112112111122221111222121112212211121221212212221211212211112221212212112221222111111212111222222221212121121121122212211122122122222222211221212222222111212122112121212211122222221221112112111111212122221222221212121212111222211122221112112222121122112112211221222121222211121112222111111121122211211211122121111122221221121112112211221211222112211121221212111111212221122122211211221212222211122221212212112212221121112212222212212111112122211111211221122212222112221122221212212122121222221122111211211212112212111111112222111111212211112111122112111211222122211221211111112111111211221112222211112121212222121212122112121211222211112212212211222122111221122112211122111121111221112222222212122211222221221121212212122222222111212122211122121112112211111121112111221211122211212112211111111111222111111111112111211121222222211212222222222121211121212122212222222111122222222112222212212222222222121222221121222222112112121211222211121112211112121212111211121112221222111212121121121121122111222121211122212121222112112211112211112212211122221222221212221121121121221222122222211121222111122222212211111122111111112221111221121112222222222111222112112212212121222221211121111212212211212122122121122221112221122222112121111222211112212121221211222121211212221222222212222111122121211121212222112111211211222211111221121221112112211222212221222212221111122212112222211221221212112221222122211221212221112221211222121221112112112112211111122222211112122112212212212112212221212211221111221112112212212221122112112112121212222221211212112211212212222211122121212122222112112111112222221222122122111112112122111221111212121221222121211221212121221212221211212112121212221111112222121222121212221121121222212112121121212112112212122121211121111212212221212221111122211122111211122221121211221212211211111211111222112112212212122221221112112122121111222121211222222121212111121211221211122211211212212122212122122121121222122221211122122111222112121211212212112211212121122212221112222111112112212122221212212121222112112221121121112212221222112221211112112212212211111222111211221211212222111211122222111112111221112211122222221211122212211121221221112221122122121122112111111112121112211212112112222122121211122211122221111112112121212112212221211112221221221221221211211121121111122111112111112112212222122112112112112212121211121211121212222211122211221121121212222222221111122211111111122212121212112222111221212211222212212221121222112122212222112121112222112111121222122121122221112121222122112121212112121122221121112212212112212212121122222212112212211211121122112121121212222111222122222211221212211121112211112211221112212112121211122112212112112212112222111212211112122122222212121111211111211222211121221111221122212212222122112111222221122222112212111221121111111212221111122112211111111112211221112121212211212121111121121122121222212112211222111211121122122211121111112112121122111212122211211222111221222221121121112211111121222112211111222222212212111111212122222122211122122112222111122212121222121121112122111222211112211111222222122122111111222221212121112121211212122211212112121222222122221111111211112222211112211222111122222122122111222221121122122122221212121212211111111112121222221122222221211111212121212112221121211122122211121122121211221122112122211211122212211221211212222122221212221111112121222122121111122222221221212122221211222111121121222122221111121211111112122122112111222121121211221212211111122212111112222212121112222221111212122212221112221212222112211111212122121121211121211121222112122221212221122221112221112212111121211212112221222112111122222112211122221121212111121222112121222221212112121212212212222212211212221112221122112112122122112212222111111212112121121121121212222121222222222111222221211122112211221221222111212121211211121111122122221122122211212221211221221112122121211112211212222112221211112212222121121221112211112211111122222121211212112222212111111221122121221212212112121221122121222121111222122221121121221212222122212211211111111122122212211112111112212211112122212222222121222221221111222111112122211222122112221222221212111112112211221212221112112112222111222222211112112121121212221121112222221221121211122222222222122111211212112211222111212221212112111221211222112112212122111111121211212221122111111121111121211212122211221111111211112222222112121212221211112122221222122121222111111211111212212221221211221212212221221111221221111121222211211212211222111121112221221121112221121222122212122211222111212111212121122211121222112222121221212122222212211211222111211212111212122122212111122112121112121122221111211122112212111112121122221122212122122112222211121211122222222121212212121221121222222122222111212111221111112221121122121212122111122212111121221122212211111111122211121111221221212111212111122112221122221122212211112212221221121221112212212122211222211112112121122212111222112122211212222111211221212212212111212222222212221122212122221122211111121111211122222122111221111112112122122121112111221122111212112121211122221121211222121122222112121211212211212211111222112211112221212122112111122112212122122121211222211122212222121121122211211112121112211111211211112112212121211221222221122222121221122122221121212122111221121212222111222111112122212212112212221122222122212121221221221112122221211221121112212212121222222112111221221122212222112212122211122111112222212122122121122221121222212122121112211211111221222221222212111122222111211112122222221222221112111112222212112112122111221112121221212222222112111212211122112121222221112112221212222222111111122212222212121122121122121212221212212121211121111211112211212221112122222221211212222212212122211221221221111211222112121222222212121111112222211112112221222111222222221212122112211211212112112121122211221222121122211211221122221121221211221112121222211221211112121111111211122211222121111211122121112222221111212222121222111221222212111112221112111221212211112222121122112211112112212222222112122112111112112211211121212212112221221121211111212121221121112111122222111212121222121111221122121121221121111211122212121111112212111112112111111121111112222121122121112122112112112211122221212221222111111112112211121221122122221222212222111212212212212212221121222122122221122212121222122112112211221211212122112111111222221212211112211121221222122121211212222222222122112111121211221121221222222211121111222221111122222111122112112221222211111211212122112122122221222212211122112212121222121212211121211222211112122112111121121221121211221212222121222122212212211111122111111222112212211121112122211212112112211212222221112121211121121112222121121111211122112112122212212112222112222212212121211122221222211121122222111111111222111111121211211221112222122211222121111211221211112212222222211111222211221122122122212111122122121121221221212121122221122221212221122122122122211111111222211122221222222112112221222211212212221122111212111212121222111121222112222121121121212221221212112212222111112222222212122212212221112111221212122222212221122222112212211211122122122212122111112122221221112122112121111222111222122112112222211222122112112222122121212112112222221122122111212121222121112121211221222212111121112112211212211221212121222222122111212111212112221111211222211222221211221122122222212121211212112122111111122221122211222211111212121221122222122121111121122221122111222222221111112212122212111212211111212211212121121212122121211122111121111222121112211211112112111111211122211211212112222112112112111222211121212222221222211122112212212212221112221212111222121221122112122222111211221112121212122222122212122222121121221122121212112122221122111122211122122222122111221121211121122121212212221211112221211122122211122112111222111212211122212122111222112112212221221211222111111121111122212122211122122121222111212222111111211112121111121121222211112212121121122111122111212221222212212222111121112112212212222211222211122211222121212121211221222222211111112121222122111221212221221212121111112221122111211211211112111212121121121111212121221111212122122211211121112122221212221211122122122121212111111221121212111211122221222212222121111111212211222212111211212112122221111112222121221112112121222221111111111121111221211111221112121121112121122221121122121121122122212111211112222211221211211111121212111112112211222221111212212212221111112211111122112221211221112112112211212211212121222212221121222112111211122221211111121222222221112122111121211221111112111122111212221212221212212111122121122111221221221121222122221211212221222122122121122211112212121111222222212221111211212122122122211211121211212111111222211222111121111112111122111111111221122212212222221222112221112112121212111121221112121111111211112211111112222112111112111221211112112112221212222121122121122221211222211112112221122212212111212122212211211211212111211212221222221222122222122111121112222122112121221111211222222112121222121212111211222122221211112221222121211122122121222211211222122112211111111121221122211221112211121112122221211122121111221221121111212212112122121111222121121122111122121211121221222221212212121122122112122121221112212222111221121222122212111122221112121221122112112111111222221221111212221212112122222211211121211222111211222211212212221111121212222222221221111221211122112122212212211112111122212121222121112121122222212112122112111222222211212211211112222112121111212111222212121222222211111122211221212121111221212222222122112211222221111222221221222122122112221212221112111212222211221122211221212221111111221121122212111212122111121112112222122222211212221211222111222221212111222122112111112112111211111112122122212212212221112221112212112212222212122121212121222112112122112111221122212221212121212222222211212212221212222121111221221121221211122122221212212221221211221122121111222221221111221212121111212112112121121211211211111122212122222212111121222222222112122122212221221122211122111121112222212211112221212211222111121212222122112122212222121122111121212221111111222121222121122212121212221222111121112212121222111222221121111212122112121112112222111122111222121211111222111122121111211212221221221212121112221211221112221212121121221222221222222122112121112112121121112111211222222122122212212112111111122122221211212111111222222111122222122122111111121222121221212122122121212221112211212112212111211121222112112122122121122112221211122112112222121211121222121221112222222222212112211111212111212211122122121212211122122111111122121121111221122121212112212112122112221212122212111121212221212222221111122222111111222211211222221112122221212221112211222121212212111221121212111221111212112112221112211221211112111211111211121122121122222221212121122222122112122212111212112122111122111111112221122222221222212221212121112212111112112211112211121112221222122121121211212222121211211221212121211211121222211211121222112212212212212112112222112212222222211112222122212211111121112122122212211221222121222121112112122211111221122121222221122211221121122211111221112122221122222222111111221121212122122212112221121222112121111221221221222122212221212222212221221121212222112211122211111121121211121122112112212211111112111122121211212221121111112121112112221111222211222121222221222222221221222212212212221221221211221122121211121222221112211211122212121212212221212121122121111121112112111211112111212122122121112222121121221212211121211221221211222112211121212112111212122221122111221112122211111221211212221112212122122221121211121112121212221111111111221222221212221211212222211122111121112212221211121211211211122222121111212222122122111212212211211111122122211212211212111112112211222122211112122111122211222221122211122121211212222111221112211111121222122212122122121211112121222221211121121222222122121212112122122121222121211221222212112112111121111211111222112221211122121111122221122222111222222111221222221211121222221221212121121211211221121212222211112111222112112221221221212122211222112222221212222111221112211121211222112211222112221222212111121212222211121212111122111121121211222222222111121112121212112112111222121222222112212121122211222222122122211211122112221212222112221221211212121212111111111112111122111112221121111222112221211211211221212221212212122221212211121222111111222212221122122221111121122211121121121112221221111112211121211122122211122122211221221222122222121221122212122121121122212211121221122221211211222211112122121212121111222222222211112122122121111111111121221212212212122211212212221211221221121111222122212221222111212111112212221111111222112222111211222212111211212122222112222122112212212212111221112221212122121222221122122221112111212121111122211222221211122222221221211222112121112211111211221222221112211211211221121111222122221222111121112222111222222212122212211111121221211222122111222221211222222221221111121212122211211112112111222222112112212111211222122122122212212121122112121212111221221221122111221122222112211211221222221222121121221111111121211121212122211111211112112111112211112221111122122111221221121112122221222222222121212212122122111111121212122111211212221221122211121122212212122112121122111122111112122211121221222121111222122121121122211111111122122212122222211112122121112211211212122122212221112222211112211112211111211212212121111122112111111211112222222212112212122212222222222222111222122222111211112111212111111121111221212222212122212121211121212221111212122121212112121121211111212222121121121112111112221112121121111212122121221222222222121222112211211112121121211222121212211222121211122211122212212111221122122111122111122121121121212221111221222212212221211212121212211211122112212111122121122221112221121211111212122122112212111122122221111112221111212111221211112121211222112222112222121111112111211111112122121212212212112122112111212212121212212211221122122111122222211211112121111122221111121122212221121122112222212211221121122122211212111212121211222222122121111212121121221212212112122212211111212211111221122212211211221222122111212212212212122122211121111212122122112222221211211222111212122122111222212211221112122121211121121122211112211222211121212221211122122211122111222122122211122112212121221211222111212111122222112212111222212122122222222221111212212111212122222122122122111211121112112211221221221112222222122212121111111221211221211222111212121212222121211122212221122121211121112112211111111221122221112112122222122212111222211122112121122211111122212122212212212211221222122211122111221111112121122222112221111212112212121111121211121211122111212212112112121221121211221121112122121222211212221112122121122111122211212112111121211122121111211112121121122122112121221121211222222212222222122212221211121111211221121211221222222211222121212122222121121121112122212121112221122122222112112111221212211122211222221121121221121222122222221222222222212122221221122111121211221211222211211112212122111121221222212212222111212221221121111111212122222212211112222211221211222121212111112222212121122112111222112121112111211122112111221212211222111211111211222121221122221121122112222112121211211111112211121112121212222221111222211212212212211211222122112211221221211122211212121122221122212211122121212212111212221111122112122222111112111122221211111212122112122212121211212122221112112212221112212111122121222122222111212221112221112211111122121111211111212112211122122211112221122111221212111212221221221122111111211222211121121221111221212222112212112221221111112211111222112112211211222221211222112112121221121121121121112221222122211222221222112111221222221122211121121222112112112121112212121112111222212221212211111222212211221212221221221222111222121211221112211121211121112211121112112221221122121211111221122121112112112211111211122221221212221221122111212121222212211112212222112111121211111221212222122222112211221222221122212122211121112212111211121212121121211121221221111122112211221221211211112211121211211212122121222212121112112212112112122121121221222111212111212221111211211111211212221221122122222122212221121112222221221111111111112112111112122112122112212222112122222112222222121222112212122222111121112221221121222222111221221112211112122211122212112222122212112121212221121221221211121212121221111221111221121221211211112211111222112211122212222212121211122212212212112211112212122221121122122122112111211221122211222122111121211121112112111212221221221222111121222121112212221221122212222112121111112111212111212221212111112211212212111111112211122222211221212212211122212121121121111111222112222211122112111212212222221212121221222221112222222222122222222112211122212112112212121212222221221122121122112211112111221222122112122212111121121112222221111112211221222111122112221211112211211212112121122122211121211222121122222112211212212211221212112112122221211221112112122212112221221212111221222121112122222111212211222211211222212122111112122211121121121121212221221212212122211212111212121221212111221222221121222121121111122121221112211112121212112222111122211111111211211111111122112221222111121121212221121212211111222212112222222211122222222211212221111122211222122211122111122111212122121111222211221121212221222222112121212211112122112221122212111111212112111111121112112111121111122221112211212112112121222112222222222212212222121121222121111112112111122121211221211121122121222211221222221221121221211211212111212221221222112211222111212111121112212111122212111221121212121212212122211112112211121121122121111212211112112221212212111212122121211122122211221112121122111222122221222222112211112221222121221212221221111212222222221211111212111211112111122112221221222212212221122122111122121222212112211222121212121112221122122112221122212122221211212212211212122121112121112111221121212111221111112122212212111212112122112111212221112122121221122222122122111221221222111221112212121212212211221221122122112112122111222211211122212121211111122211121122111122112221121222122211222211211111112122222211222122221222121222212121112221112111222221111111111221211112121112112222212221122212222222221112122212212211211211112111211111112212121121212212112112211111211211222121211222121212222121122221121222111121122211221211212211121211211221112212211111211221211121222112212112222211112212121211111121112122121221122221221111211121222211122211111222212121212211111212211111212211221111221122111222111221221112212122122122222111222211121122211112221122112121122211122221122111221111111211121212222222121211121222121111122121122211221122211112221112211112111112222111222112221112211211122222221122121121221111212122111212112122121111222222221221112122211122222211122222121112222122122212121212121212122111221222112221212211222112111122111121111222212211222212211122212222121211212212221222211212121221212222111212111212222121221221111222211212111211121221112111221111221221222211212121211121122121122121222222122211111111212222111111121121111212221222121121122121211222122221112211111211211221221212221112222112121112112122221221221222221112122121112121112121122111221221112121122221211222212111212111112111122122221112112121121212111112122121222221111122111211222222221221122221122212222211222212111111221122121211221121121112122121112221222112121111121221211222221121212222212212121222221221121221212121121112222112222121112121212212121222112122212222112222122221222221222112111121122122111222112111211112111121222222221112211122211221221212111212121222211221212211112112112111111222112111122222211221112222112112122111121212221122121122221221112112212121111222222121221112221211112121111211211111122111212211211121121111112111111121212222212111112111112121122221212221211222222122122112211221121122211122112121211211222112212222111222211122111221121221222111122122222222122212112121121111212112112222111211212111112122212112122211121222222222221121111112221111112211122212222212221112121211212221121222111212122211112222212222211112212211121222221221112111112221211212211111211221112112212112211222211222221112211221111222111212212221222212222212221212212211112122211122211211121121121211212211211112222112222222111212111122112222121112122122222122122121221212111111111121221122221221121221111221111222211121112211112212122212211121212121221122211211112221211212221121121211212222212112121211212222121111222222221112222212211212122212111122221221121211122221221221122122122222121111211112112111211112222222121122111222222121221111122121221212211221221121221211121211111121212122111211112211222111221211212221212211122122211212121212212111221112221211112221212122121212122222222222211121211112221121212221221221212121222112121221212222211222112121121122221122211222121121112211122211221221212111222112211112112212111122122122111121222111122111221211211211112212212222112221122211121121121211221221211221122221212212221212122211222212221221122122212111111111122221121122212121222121111122121111211121212212222221111212222212212112221122122221121222122212112111112112112112111222121112222212112122212122121112121122111121212112122112221212121221212222111122222111212221212221122211111211222112121111121111221122122212212122111122112111112121122221121211222221112222212121111211221212121112112222211221221221111122212212221121122221222211111211212212221111211222211112221212212222121122222221121211121222112211212112122122122122211111222211112122122111121111222222211122122222121121122112221212122111222222121121121222111112212121112222212212121111221112211222112211111222221221221112221222121111111222211212211212212211211211212111212221111222211221222212221111121112211212222211211121212111221122122112121211112122111222122122122221112222222121221111122111211212222222112221121112121122212122112211122112111221121211222111122111122221122111111222121211211212221212222111111112112112221222112211112221212112112221222111111212112111221222112221111212112122221212122112221111221112212212221121122121111211222212122121121112212121121111111212122121221112212121222212222121121111211212211212222122111121112212221222111121211221111212222221121212122222122222211111212112122122111211212212121122122211222112211222112111211111221122222112222222221222122212222111112211121221112111112211221222122221122121211222121121221211112211222121212121222112221122111111211222112111112121221122111222221221122222212111221112211211211211122121212111111211211222122112111212211212111212222112111112121122222112111221122212221222212211211211121211211122222122121221211122222212221112111112111121121121211211211212211112211122211211212221221121221222222211211111122121122211121211212212121122211221212211222121212111111111111211211222121221112211121221121111122221121121112112111211112222211212222112211211212222212212112221122221111111112221212112121122111211121221212212112221112212221221111112112221121121122122111121121222121111121121112111211212121122111211111222222111121222112111121111121121222212112111212212111122122112222122112222111112112111121221112112111121122111212122121122211212121211112211122211212212112222111212222212121221122112122111122111221121212112211122212212122121111112111212112112121112121212211111112122222212112112211221222122111222121122122122222112112221221212221222112122221212112112212111222222111112122112121111221121111221112122221122111222212112211211222211222221212211212112212222212221211211211111222122212111222222222211221111212112211111112111212221122211112211211212221111221222221222122212111212211212111112121111112111221121211112211212111212112211111122222221122222111211121222122221121121212222222111222212212212212212221222211121111221111112211221111211112122211221121121212122222212112222111211112111212211111121221221221222122111112212212211222111211212111122121112211212111221222211122221111221112211121211212211121222111211221111221212221221212221122221121221121212212122211121122121111121211122211111122221212222222211112121112121221112112122122111122111222221121222121222122112121121222112221212221222222121222222121121221111211122122221222222111121211212212111112212211111112121222122111211121212211111221122112221122211122122111222121122211121212211121122122211211211122121221211221211111121111211121211122121212211122122212221112221211122112112112212112212222122211212221111212212121221112222122221211222221211111111222222211121122212221111212112121211211212222211222122211221211122211121111212221112112222212122211121221211121112222122122222122211122111222222211212111112111122111112222121222222122112212222121222211221221221221122211122212122221212121122121211112121111222222121122212121111121111222211211222212111112222222121111212122212122212212112112211121221122111121112111221111212221222211122212111222212112122122121122111122222122111212112212121112122111121122112221121221112121222111211121112122121121112212212121222211212222111121121111121122212121121121212222212212122221121212222122112212112111211211221221211121222121122221222222221121222221222122212222212222222212111112122211212212212112112111112121111211221221121122121111112222212212112121112221211121111122121221112212222112222112222222212111212121211121122221222112222221211211222221112111112222122221122221111212212221111112111122122221221122112112121112122211121111112111221122212121221111112221121121222221222112122121221121121211121122212122112112222111221111111212122121221212111211221111112222112212111211121211221211122111122112112212221221221211212221112212111111122112212221122222211121222212111222211111222211122112212211122121111122221211121112221111112221222122222222221112112111211112122211222211121212112121211221211112121222212112222111121211121212121122212121112122211222212122111221212111211122122211111221211121121122211211212221121222222222221111112111211112121211121122122122212111212212112122112211122221122112121121112212211122112122121222211221112122211121122112222222222112222212122111222112221122112211111121212111222221111111121221112111111221222222222222111111212121121111111222212121222111222211121121122221222211122122222222222222121111221222221221222222211122111111222222121122122111121211222221112221111211122211222122212221211121112112121111211211122121211211122221222222112211222212122122111121111111221111222122121211112211111221111112212222212122111112212222221212112112221111221112121221212122122111222121211121121112221121211111211121211211221212111222212212221122111221212112222111221211211112111221221121211222121112121122112222212212112111121111112111121122111112111221222212112122112221111221122112222211212222221221211122122212112111111121221111111222221221112122212222212211211112222111121212121211222122121122122122111221222111121111112122122111221122121211121121222212221112121221111211112222211211212221122211222112121112221212121121122211122121221111222112222222111122111212211221111222121222211111212122221222111222121122112212222212111212121112121221112211221222212112122121221211212112122112112122221221111212212221112211221222222111122112211112122121122111221222212212222112122221122222122212112221111222221121122211112221211222222111111122111121112112211122221221122111121221221111222121121221112122211212121222222211122211221212222222221212111111221122222111221211211221122112222121211121211122111221122212222222112211121111122111112111122222111122221221112122211212222121121211211212211222112211111112221211211112112122111121212111222111222121212122121221112211111112212211212121112222222112112112122222221111222121212212112121212212222111222121212222111112222211222121122222112221212222212112221221212212112112222222122111122222121221122122211212212222212111222211212121121122212211211212121212111121221122212212211112111122212121211212211221221111111222112122212221222221122121222211112111121212122222121122112112221211212221112222222222121221122121212211122122122112222222112111111112221212122212112221211222221121221211111122122221111111222121111122221112111122122211111122112111222222212121121112212221222122212111122211122122222221111121122122221222222122122221222122211122112211222211211121111211212221121212222222111222121122121111112211211111211122121212112222121112212112121221222112221121112222211212121221222122222221222111121222222111212222122221111221211221121222112221222212122122111121221122221111222112122112212121112112122221212111221122222112121212122112112121212112122122211112222212212221122112112122211211221121221222111221212122122121212221112112212122222222221121212212211211121122212122111122122222222111121122212211222222122212211212122211222221111111121122221122212221212221111222211212222111111211222221111122222111212211112212111221112211222112122112211112211122111212222222221222111211212222211111111221212112121112212112111222221111122222221122221212111112112111111112121222122211221211212122111111221112111112112212122211222221211112211221121211211211121121212222211121221111121122122121221122122112121122112112212112112122111212222111121211111222211111212211121122122111121222212111222121112121122221221212212212211211222222222212211212122122122112111122211222112111122222211212122222221112222221111212212211122122221211222111111122111222212211111212111112212221221111112122222122111211112221212212212222222122111111122111222111221222212121122222111112121112222211112212112212212122111111112111121121221221222121221222221111222222122221112211222212121121221111111111112111112121121212112121212112112112112211212222122122221211211111212121122121211212122211211121111112122122222122221121111211112112112212212212212222121122122211211211211211211112121221121112221211121122212111222112211222111121112221111211122121122122122122112211212212222121112122112111212112112221212212211112221222112122121121212122211111111211221211221211221111122112122121111212212112112122211211211112221221111111221111122122212122221121211121122122121211222122111222212211211112211122211122111121111222221112112111222122221221122212211212222122121121112112221212212222212211221222112222222111112221221211111112121112212222222122211222222211221122212112221211111112111111122222111111222121111122222111122121221112111212211222221211222111212112222112122211222112112221222211212222211211212122221212121111112111122212111212221122221212212212211212221222211111212211222122211212122212122122111111222112112221212211121121111111111112121122221221211112221112222222111122111111112111112212122211211121122122221122122111212112122221222121121221221212111221111111122112121212221111121112211222122122211121212211112212122222211112122222212212121221121111222211211112222111212211112221212222112112221221212211212211211121122121122112121211122211121111221222121212112112122221211211221121212212211112111121222221222212222222222111121121222112211212221111112122111212122121111212121121112212112121112222121211212121121222221111112121211211211212121122211111221212222122211221121212221211211111122122222122211121221111121212211221111122111121211122222112211111111212221122122111121221212211122211122222222122122121122222222221112222221212111112221122221212212111221122211121211112111221111222222222122111121221121212121121222211112222222211211211122221222212212111221221111222112121111122111211212211111211212222111221222221221112211121122222211112212112222111121122112121121122211111111111112112212221222222112121222121212121211121211112112222122121111211111211122122221112111212111111211212222111222212121222222211222211112121121111122121111122211111112122122212121111222112121121221122211112112212221222111222112112121112211222111211111111212222212222212212212111212212222121122122221121221211211211222222221122121211111111112221222221121212122211122221111211122122121111122222112212112121112112211111221111122112122112121121112111121211111111111122121121212211122122221211122122112212112212121222211221112211121122222211222121112111211222211121111122112211121222112212122212112121122112221111111212221221121122111222211212222212122112121111211121121122211212222122222222111122121122211121121111121211111212221122121121221211111221222221111211212122111112212211111212221121221122211221222112121212221211122211121121121212122222211121112112121212221112222222221222212112121121121221221122221212212121212121121112211121121121211122122111121111211122222111122221112222122221222212122212221221222211211111121121211212212221121211221222112111111211212122221122211211111222211122211212121122222112211111122122222121221122222222221221121121122111121211121121211212122122122122212222222212212211212212121221122122211212112111212212122122121121121121112122222112111121122112121221221121121111111212121212222122212112122111222221222221221112122212122222212221212111211121112112212121121211121111121221222211121221211111111111111121221121222121111122221111112111112212212111111211212221111211221221222121111222122111121222111122222121222212122211222211211211111122111212121222112211121111122221112112212212211111111122211112212212211221211112212111111211122211121212112222212112111221222121111211221222222211212112222121222221221122122112112221111211211111221221222111122111221112222221221111121221121222211212122222222211121122122122212222122122211212111221122222122211211112121211121212112221121222111121111222222121111112121221212122211222222221212112111221212221112221222222112121121122212122122211112122211112111222221222112211122221221121212122122221212112221221222222221222111112121221111221221221111221121222121211211211121221122121212212211212122221222121112211121111211222112112121121222221221112112222122122221112212221212122222121211122122122122121212212111211221222221222221112211222221211121122111112212222211122111121222121222121112122112121121212122212122221112112111112221111221211122222121112211211121211122111121212112111212112112211212122111222212212222121111122221121212222112111221111111121121112211222221212122221121221122221111212221211121211111122211111121222112211112222122212221121212222122212121212121122111121212221211112111112121222111222212122212112121222211221221222222111111212121212211212221221222211222222221122221111212121121111122222122122112111111112222121212121222222221112121211111112112122122212112222122112221221221222111211111212111112221221221122221111121122212112112112111211222221211122111221121212212221122112112211221112112112111112121111111222212221222122221222211211212222222222212121121112211121121221221111121222112111222111111222122221212112212211211111222222211111111212221221111211111222111112111122211211112111112222111122212212122211112111121222121212222112222121211212122212122112122111112222211211211221122212211121122112112111112212222111111212222212221211112121212221112111122222221111122111221122212111121122122222221222221111121211111211121221212222221121122112222212221122212221212221122112111112222222121221222122121112211222212122221121121111112112221222111121211122121111221211122112212211222212222212112212122211211112211222211222212112222222211211121112222222121122212122122221221222212121111121111221122112211112111122212211221121211111221111222121122121211222121121211221222111111211212221121112211121212111122211221112221211221222122221222111112221111221222112122121221221111112222212112121221121222112121121112221121112222111112122122211212212121221121222121221112122121122222211122212211212112212121111112121212111222222212122111212222111122111121111211221112211112112212112212221111112211212112121111211211121121211211221222211122222111212221221212112111222111212212112211211211211211211221122212121111121112112111221111122222122211221111211212222111222122122211122112112112121222212111112121111112212122222222121121222122222122222122112112211221211121212122112111122121222212211122212112221122122212221212122211112222121121212112112111221222222211211111212112112222212221122121211112212222221212211112122112112221112221121122122212112122112221221122111212111112211222112211111222212211112211121212212112112111212112212121221221221122221212112122111211111121221212221211112221222112121211122112111122212122111211211211122121121212121111212222122211211211122211111112211211111222122121211211222122112221212122212112122211222211122111212121222221111121222121111211221122211211222222222122112122111121112112121221221121112112211211222122221222111221122121222212112222221122212211221212222111212212212111212211121122221121111121221121122211211121122122221221221221212122111212121211111121121212112211121121222212211121111121122122221211221211221211112122122212221112121211221222222111122112122212122122211211122221112121112112222222212121122111122112222112121122111122121122122222222222222122112121212122211121211112212122221112212211212122111122112222111222221112112112221122222221111111122122221211121212221221111122222112222112222211121112222112212111212222211121112211222222121221121211212221222222221211111212221122112212111221222111112122222221212211211112212222112211222222111211221222212221112212122111212112122121222122121121221122212222212122222222122222211212221221121122211121222221211221221111112122211211111112211111222111112222121221121221221112111222121122121121111211211111121112111122121122122221211121211121111222212112222222211221111122211212121112212211222221212121111111221121212111112221212121121121112121222221222121122221122212212112111212212111222212221111122212211212112121222222211221111112121121221212211121121212211121212211122112121122221121222111212112112122222222121122211221222121122221121112221212122121112222112221212221121221222111212111111121212122221111222221122112112111122221111121211221211111212111111121111221122222111122212121121111112221121222121121222122222122121122122112112222211112121111221112212211211222111221122211222111221211211211122212221121221122121211211121111222112212212112211122211112112221122111122222212112121211212112112121211221111221212212111222221212111212121221122222111122211121212212211211212211111111121111111112121112211221211222211112111112122122112112221111221212211112212122222122222121211111222222221221121112111221121112211122122112211112122211111222111111111211211122222121112111111121111111221121221211212122112111211122111112122212222212111112122121121211121221121122211222121221121212122112111222212211211121112212111211212212212111122221121211212221121112111122121211122112212211211111121221112222121122112212111222221112221112211111122122221212122112122112111111222122221111121222121212122222122112111212222112211211212221221211212122111111111221221211212111122121111211112122212121112222121221222221222221111112122121111222221212111222221111211212121211122221112222121211121212121221112222222122222222112121221121222121111111221121111222111221122221112122212112212112112112112222111122122211121212221211111221222211122121111221111221222111122212221111122212221112211211221122112221221122221111212122211212122222221112221111121111121111222122111122212221221222112111122212212112121222221211121122122122111221211212211222221112221122111211111121111221212112222222111122121111211112112111122111211111212211122221222112121212121212112221121222212122211221122222212122222211121122122111221112212221122222121111121112222212222122112211212212212122211212211111221122221212111212221211121221222122222121112212212112211122122221112211122221122111221122212111211111212112211212212222222222111211121212222212212222121122112112111111112121122111221211122212121212222111222212222222112121112112221111221121211112122122121122122112111122222212222212121111112211121222111222121121112212111221211122111221111221112111121122112221212221222121212112122212221121121111121212122221121221121222211112212221212122122111111112211222211211222121112111221212122111112211222122222212222221211221212121212122112211212211112111111112122111222112121212222221212112222122211221121121211121221122222211111212211111121111221122111121212121122111212212222222111121222111122122211221212221122211211122222221121112122111212222122112211112222221222212211221111121211222212112211112121121222111121121112112122211211211211121111212212221112122112212211212121112211212111111222222122222112121121211122211121112222212211211121111222121122221222121112212121211121122222112221221112221212222222222112212122112112211111122112222222222122211211222111111122212111111122111112122121211111122222222221122212111221222111121211112121122121121212112211221222112111121122122221211122122211112212211212221112111121121211212112111122122211222222221212111111222122122122121112212222111112221211222112221112222222111122221121212112112122221221222222222212121222111221112221211122111212212121222111112211111222121121212111211212211121111211122211221211112112212211212111112211221121111112111212111211222122112221112221222212211212222222222122221222222222212112122222211211122221111221212212212121121212212121111122121222121121212221121212111212212121121221121121121211112212121222222212122122121112221211212111211211221222211222112211121122211111221211122222121221222212112222212212211121212111222222221121211112212221222221122112212111121212211121221111211222221222221122121211122121221112112211111112212222221221211111221111222221111222122221122222212222121111121222221121121112122112212122111221112211111122222112121221221222121222122212211221121212212111211221222211221112222121222121222211222211211111221111111221111222221221212222221212121222211212222212211122211111212212212212122221112121211221112211122122121222222111111221222112212222121122122211112111211221221222112112112211122221212211112122111221121221112222112221211212221221222212121112222221122212212221121221112112111122221221111121122112121212221112221221222211111112122112121222211222121222121112121221112111221112222121212122111121222222222121212112222212212212122122222112222222221121211122112112121221221121112111222221111212221222212221222221111222111221112111122222211122221111211212122212221111211222212111111122221111211111112221211121111121221212211121222111122212111122211111222211212222121122121122211222222121222121222211212212121111212221222121211112122112212121222221121111122222212111222221112222121211112222112111212112122211111222111221121112221211122222122221121111211221222121121111111221221221222211122211112212111122111211122112211211221222122212111221112112211222222211211211211222111112111211222121221221212121211112111121122212211221122111221111121121111222221112221222112212212221221112111111111222211122211122111221121112112112112111211221112221112222222122111111111112211222122122212221112212222121222111121111221111111211111211221121111112212112112222221211122212111222112221112222221122111212222222212112222211221112122112121221221111122121212222222222121112121112111112121112212112122211111211221221212222111221212122122111212221111121212221122121121211212121222111122212222211211221211121112122222112112122112222212211111111211111211121212112211122111212112122122122111211212111122222211222212221222222222211221111221211212212122122212221112212121222212211121122122112122112212212211212121122221222122111122111112211221122121122112121211111221121222112211112121112212122211221122222121122211112112112212122111221111121221222112221211111212122222212122211221111111212121112221121221222221212111212212211221121122122122222221212112221122212211121212111221212212222112112121222221121121211121222112221221221222122211212112112111111211211211111122211111212111212212111222222221211122111111122211212112222111112221121121112121111222212212112211221121222222212222121222111112211211221212111221122222222212212121111212212211111212111211212212122211112212212111212121211221112212221111121121111211112112112221222122112212222111211222122211211222211111221221211221211221211211212212112121212212121111111111122111111121211212111111111111111212121222221211212122111222221121112211111122211221112111112221112222112212112121212222221222222212111122211212122121212211112222111112222122121121121221111222111211112121121221222221112112122111122122121222221112121111111111212111211122121112221112111221221111212211121111222111222112221121122121122211222222222112211212221222121212121211212112211122221212111211221111211112122122122221221222211222212212222221222211212212212211122112222212211211211122212122221211211111112122212221121212112111221222121221111212221212222122211222221212222121122212212212121221222121221111212222122111122212211121121211221112222221221112121121211221122112121111222211121221121221212211122111112122112121122222221122121111212221222211212212121221212111121122221121211111222221221111111222221111122111211212221222222121111212112221222112221121112212212112112212211221121212112211221222111212212122121221122122222121121121122222212122121221121222211111211211111111112221112221212112222211222221122122222221121111121112111122221222122211121122122122211221122112122211222222122111211121221211221211112212111222211111111111222111211121222122211111221112212212212122121222111212222121111111211211122222221111212112221111211222211111122112121122212211221221211211211121221122122111221211211122111112221122122211121112111222111111122221221221212211211221122112211121212211111112212111122211122222222222111112221122112211221121111211121212211211222221222122122112222121121111111111222111222222222221221221222112121122122121122212112112222122112111222121222112121112222121211111221112121112122212222122111221221211111122221212222122121112121111221111112121211121111221121112211222111121212112212111221211122222211121122212121121211112112111111112112221122112212222222121222212211112122112211212121122211222212221212211122211121222221212121212111211121222212121221122221221212112221111122121212121121212221211121222111122121212222111222112221112221221212212122222221122222121112212221222122121122211221121212121221121111221122212211212122212121112212212221111121212221112222211122212112221112121111212221121221211222111122212212222112121211222112112221112222211222111111221111112221112122122121121222212222111121111111122222121211212212122221111211221212122122211111121222221222122212222211222221122122212112112221121212121112122211121111121112212212222212221211212121121212111212221121221112122112222121111212121221122111211122121122122211212222212221111112121212222221121121122212221111221121112122221112112121112211112122121221222112222121122122212212111112112222111121212122122122212212122111211111122111212122122112221111122111122211211211212221221211112211212121212212112212121111212211212211211211111121111221212212212122112112112112121222121212221122211112221211121122112212112222221121112121111212222121111212221122111122211212211212122221121112121121111112121222121111212112111111212211212212121212212222122111221221212121121111221122121211222121212121121121221112221211212212111111122111221222111112122222122222222212122111211111121211221221121222221122112122211121211211212212221212122211222122222122222211121222212111211111212212221211122121121221112122122211222222212221121111111111121222211112221121112212121112111212112122111211121221212212121122122122122222121222111222111122212221212121222222111122221211112111111111222211211212211211121122212221212111122211121221112121211211211211111111222122211111122111222222222122122221121222121222221111122121211111221222212112122211212112211221221211111212122211121211112111222112111111221121122211111211212121222212112221221221121111121221121122212111112122111112212222221211122212221111212122112122222122211212121122121212222222222111222112221222222222221211112122112111222222222112112221122122112121221211111221211112211211112212212121221211122211212122222121122121112112212111121211111211112122121112212121111122112111212222221111222211212122212212112222112211112212221221212112121121221222122122222212122111212111212221221222121221221211212111212111221211122112212122121121122112111112111221122222222211212212212111211211121111122112211211112112212121111111111221222212222222112121121111221122212121122111211122222112122211211112212211121211111212111111112112112221112212221122211111211212121212211211111121112211211221122111211111112121211121111112221122212221112121221221121111212121222212111122212222211212212121111212211112121211212211212121221111121221111212211222121211212211222112212222222122111121212122122121212122112122212221122112112112111211222211122121121212121122122212122122222221122111222221221111121211111212112221222222211121211121211222121122212211212112211111221121122211221222112211212111221121111222111122122211211211111221122111111121112121122211212122122212111221122221212111222221121221221221212212111121222111212122111211221221121222212122121111122121221212112211222111211221121111222111122222122211221222211221121112121111122211212122111211122111222112222212111122122121221112221112222212122111122111121112212121221111122121112221111111121211212121211221221112221222222121121122212221112122221122121112122212222211111112221212112111111111222221121121222112222112212212111121122212121211211121122211122211111222111211222212211222121212122122221121112122122122221211121222211112111111221221212121122122212121222212122222212221112211122212211211222122222222222111111112122121222112112221222221222121211211212121211112122122212112211212212112221221121222121121122121121222222222122211111111112112121121221122121221211212111211111121222211112122221221122121221221212212111122122212111221121211122222122222122212121111111212111221211211121222211221211211121111222211221112122221222222122121222121122221112122221122221121122112122222212111121121212211111222211221221212222112221121212121211111122112111122221112212211122111112122121111221211122112112122222122112122221122122222212112122211121121222211222212122111212211211111111121211221221211211221111111211111212121211211221212122222222222112212111111112211221212111221211112211111221221211212112212121212122111212221122121111222221222211111222121212212212112221122112122122212121221222222221221221211121122212112121221122112121112122111111112222122212211212211211222111221121121121212121121111111212122121121212212212221222212212122112222221112211211121222111121111211111221212111111111122222222121122211111221112222111112211211112222122211121221212112112211211222221211221212122112221112212122211111222121121112122221222111121212121212212221122222121111121111121121112121122112122222211211121121212222122222121222222121211211221112211122222112212112122111221121111221212122211122221212222221221122221121222121211122121121221221112222121122111211122212122212221221121122122121212212112212122212212122112211121112122211222121111121121121212121121112122211122112212121122112221221221121221221112111222111111212112111111121111211122111111111112211112222222221121211112221112222222112221122212222122122121111211112222121222111122112121111221222122122121121222122111122222221212111212121222221111212212111221221222121121221212111222111111211211121112121222222221121222121111212111122212211221112111222221111121211211122122211211121112222112121211112211211112222211122112121112222222212122111222121211122112211121212211221211222221121122111222121121111122122121121212211212122222222211211112222112221211122112112212222212111222221222211111212221112122112122211222222212221111211121122122111122211121122221122212112121121111122212221222122111222212211111212222121121221121222121121122211222111112111211112212122212122212121212121212221212122222212221211222212212212221211212121211112222121122211221122122221222221112222212221222111122111121222122211112222122121222212211211212212122112222212212212112112221122111212211122211121121212112121122121122221222112122222221221111212222121121222112212212221122121122112122111111222121111121221222111112112211221122122111222122112122112211211122212211122222112212111222121122221111212221112122221212121121122211121111211122112221212221122211221121211221222222122221211222212222112211121211121122121122211212112211112222212222211222222221112122221111211221112122211112111211212122111212221111111111122121221112111222212221111211112112211111121212111122222112211221221122211111111211111121112221221222121221122211211222111122211212221222111212222221121111221222222222211222111112221221212221111112221121122111222122122121111121122212212121122111221122212122221111111121212111121112221212122222222111112121112212221221221211112122211112111211111211122222112211212122221111222222122212221222111111111221211222222211222112112211112121111112221111122111222221121222222221211122222212121122122212112211212221111212222221121122111112222111222221221121222222122212121221211111121222221112111121112211122121221112212111221121122121121211212221111121222111221122212122121111122222221222112121221112221222222121111121111211112212111211112111112212221122212111111122212121211121221122221121121222212211212222211212122222211111212121121112121222122211221212112212222221211121112211222221222211111121211221111211211112221211222222121112121211122112111112222122122221221121222222121112222221112222211211112211122221122122112212122121122212112121222212211121212112212121111211212112111111221212211221221211121221112222121222212221112222112221121111222222221221121222112212121111212122221122111112121212222112122111222121121121122212112212222211122112211212222122122112112211112112111121111221121112222112221111111111111121222112122121111121121121112212222122222221211211121211122121122122111212221212211221121222212211211222212122212111222112121121111122222222221212122211121212111112111212212121221111221112111211211211212122212212112211212222211221121212111122122112121212112222112212121111212211122222122111221112111122222221121211221112211212112111111222211211111122112212211122222212112222111211111212222111122221122112121212122212112211221122122121121121122112111112212112112212122122122222111112221122211211112222222111211222111112222121212211112121221121212111121211122112112111111221212221122121211112122211222222222121212221211111111211221212221212211111112121121212111222221122221112112122112122211212112121212211211221222122111112111111122121122112221222211111121222221221112122112112212122121211121211121111112212222122221221112221212222222222121222112121122121222111111211112121122222121121111221221112211112112221122221212221211222122211212122222122212111121111111121111221121222211112122211121112212212212221112111111112112111221121221111112221111111122112111112111121212112112121111212111112222111222221212222222221111122222121211121111121222122211121121122211221121121111112112112121122111111122111212221211222211211111111122121122222122112211211212112121112222221121211212211212222112212221222112222211122222211111122111122122111222222211122111122222222121221222121212212121121211222112212221212112122212122122211222121111222212121221112222112212212212122222221112111222221222211212111211122211212122211221211212221221111121111122212112112121212211111212212211121221221212211221221221121122112112221111121212221122112211221112211212222121212222211121221211111222112112212121222111121121212222211212121122121111111121112111211221121112112222212211212112221112222222122222211221111112122221122221121211111121112212122122111111111212122122222112221111221211211211221221211212221111211121121121112111111222122211122111111121121111221212111222121111221212112122111111112221222221211221211122212211112111122121222221112222122112221121111122121211221122121222122111222222211121211221111222211211122221121112222112222221122121111222122122212111221122212111111121212212112122222112121211122211121222112222121112221112112121111211221212211112212122221122121121212122221212111121211121111111222121222122221212112122221111211122221212222221111212112221212211112211122211222212211212211112111112112212222121121211111221222111112222211121212122112211111212221122221111221112112222212121212212122121211222112111122121221221211112111211122111221221122121211212111112121222122112122121121212122112212111112221221222221112211111121211222212212112111211222221122221212112212111112112112222122212112112111111212211111122121121222211121221221221221221111221221222112212121222211111111111221211222221212122211122212212111121212211222122221212111221112222111121122111221122211111222121222212121221222111111222112212112222221221111222112222212221222212222211222111121122121121122121211121112112212111221112211121211122121222211111211111122211121112121211121122222212112212222122222211122121112121221111112222211212211112222212222221222211121111212211212211111112112121121121121111221222111222222111221122112222222112212211112211212121121221211121121122122221212222111111111111211112212121121111211122122121211222111121112112121221112122212111111121122112211122121111212222221111122211212111121211222122111121212222211112221221112222122122112221222221212212221112122111112211122221211211211122212211221122221221211112121122122122111111122212212221112112121121111211221222222211221222122222212222221122111222112112122111211222121111222221222112222222112212212122222121222212212111211122211212121121222222121121222112212222111222211111111112112211122112222121211211211111222122112112221121111121122222222121211222211122211122221212212112122122112121122211111212212112212211111221121211111122211121211222222121211222122211221212212111112122222212111122222111122221121211212222211112122121222211112121221112212211121121122212121111112122211112121121122212222111211111211112121212222111121111221211211212122112221122111122211212122222221222222121222222111112121222122211112111112121122121112122121211111221211111211222222221121212112212122222211121111122122212222111222111221112222121111112122111122221112211121212222212211111211212111122122222122121112112111111221122222122111212222112221111212222222112112222221221122221121111222111122122211112222222111112111221212121212112122122111112221222111222222221222221211221212121121211121121121212122222112212111112111122212121112211212221212111212211121121111211111212222221121112211222222122121211121221122122121211212122121121121112112222211221122112112112221111122211211122212221121122222112121221211112112221222112222112212112112111211212122122222212221221112222112111211222112212121121221222112221111221212222211222211222121222211122111112111122121211222222122111212112111222122212121212121221112122111211122221122221111212211221111111112121112211212111111121112121112222121111112221212112121222112211222112122122112121122112222212221211212221122212222222111112122121112221121212221221111211212122212211221211122221221121112111211221221221121221111121121212122212122211211212212211121211212212111121212222221212212121222112211212112122112222121222222212212121112211112111122112222122121122121121212112221211221121212111221211221111112121221111211121222122112221121122221111122211122212221112121211111221212211112121112221122222122221221122111112111122121211211212222121122211211112222111121112221222222221212222122112112212122112221111122211111221121221212222111112122212221211222222211112212111112222221122112211121221112222121111112121111111121121212121222222221112122222222112112222222211211211112111111211111111111221112211122221121221112121111222211221212112112211212222222222112211112211122112111111222212221211212212222211212211222122122121111222111221211212122112212112221122212222111221222212112222221212221212112112211121211112212221121222222211122221222212121111212211122222221211111121211111212111121121121111121211121212221121112111221122211222122121222111111112221222222111111122121221222222211212111212211122211212212222111222211221121121112212122111211122112111121122112221112212221212211211212121211111212222112122212221211211111212222221111211222211111222222211122112111211211222211111212122122112122211122211121111122122122211121212222122221222121112112211212221122212222121121122212221212222121221212221222222211221212112212212111212212111122212121211221122211212121121222222111122222222212112222111222211121111111222121221212212221122122212121121222212221111121212222222121212112222212211212121212211211212211112111122111211221221111221221111111211122222111212122221122112112221112121221221121211121112122111211121212211211122211112111112121112111222111121112212222111221222121222212221112122111111112112122212222212111212111121211221211212111222112112222112212112222222112221122212112211212212222121122221111122112121221212112122212112221211121212212121111121122211111222221111212112212111211121221122222122222222121121211221222112212112221111121122121112112211121121222122211121121122222222122222121221122122111211111211111121221121211221222222221111212222211111121221121122122221212221121221111122121221112212211222121112211121111211212212121122112211111121112112121221112221211211222121221222111221221211122212112112111211221112211211122112222112121222212211111111111212221122211122222212211112222112121121122111221221221221112121211212222211211121211211122122111221222121211221111221121112211222121222121212211212122122121111222221211111122111121122111211111221212211221122111212122111222212212221111221212112221122112222212211121112122222121122112222221221222111112112112212221211122212222122112221222121121122221212212112111112121122221221222222111221111212111121112221212121222221222122211222221122222122122111221212111122112212111221222111111211212222111112111212222212122112111211221221121212211122222211221111122221121111211121222211121122121111212121111212111212121111221221212221122212122122112121222212111111212112122122112112221211211111221121212112111111111222221211121111212221212221222222212111121222111121212221122221222112121121112222122222122111212212222112111212111112212112111121122212122222121121221221122221222212111211121212211222211121212222211222112212211121121221222212111111121211122121122222212112212221212212211222121111112121121121111111121111112122111211122221112211121212221222121222211221121111222122111112111112122211122221122211111121121111121222122211211221212211222222211111222112122111221221222211122212122121211112112212222211221221211222111222121121122112112121111121212122112212122111211111212111122211221212212122211212211122211212112212222211212111211212221221211122111121221211111121111211111211112121112222221121212122222211222222211121112121212211222222112112222222111112222211211121222212222212112222122112222211112121222221222122111111112111111222112222222112122112212211211212222222121212121121121212111112122122211212122211212221122121121111211111222122112212212122111211221211112112122212121112212212122221121112221121211122121212121222121112112212111112222212122221211212222221121112221221212122111212212211122122112112122111121112211112111112221112112112211212211211112212221212112121222212211211111122111122211221222122221221122112111212212212212122122111121212222121121211111222212212212121122122112121211121121122222221111212222122111211121212122121112222212222122112121121121121121112111221112112121222122222212121221222211112111122112112211121222112121111121222112211212111212112121212222221221221112112221211122221121222221122112211211221112222112211221212222122112221111212212112221111122121212111211122211111111211122221212112221122212121112221211122212211212212222112211111122212121111112211121221222111221111222221121212211211122221212111222112121211121222221222212112112222112121112122211221221211222121111222221122111112221211212111211121121112222112212221112222221212112112211222122112221121122122211222211211121122112221222111111112122222112211112212211212121211111222122212221212111111211222111121112122111212212112112122111211122111221121222211122222212112121222122122121222211222211122221122112222211121211111212112112212222212121111111212121122122121222212111121112121211111121211112121121122121122221222211121111222111211211112122211222212111111221111221222211121111222112122122112221122211122212111112221122212211211212121212212212111211112112222222111122112111122112211122212111222221211122112111111111121112212212122122211121222111122121121221212222112221112122211222111212121111112121212222112212111222212222222221222111211222112112112122111222222221121222122111121112121112122121111121111212121111212121112111222111222222221221212112122112122221111112222211121122111211121222221122212221111112212111122112122221212212221212222221212122112212111112112122111211222211222121111211222221212122222211112111212212211222211212112111221222222221111122121112122211221222222222112112211221122222221121112121112212211212212112112112111221222221121112212112121221212111222221221212122221211222122212122112121112112222121112222111221121122121112112222221211212122111222221221111111211221122222211111121211121112112212212221112211211122212211222122112221211121211222212112121112222111211211122111221222111111121121222221121122121212211121212112221222222222212212111222211221221222121122112121112221221121222221122111222122221121222221211222212121222121221111112122121122212211122221111222211121211112121122121112121122222122221212212212221121221221111112212122112121211122211121111122121111222211112211111122112211221121122211111211111122211212111221212221122222122211111212121121121111121111212121122222222121222111112221212121112121122222111112212122112121112111121121212122112112221121112212211122222121121221221121212121212212222112212121122211112112122122211121121122221211112222212121221121212122212111121111111111211212122221221222121122221122112111221222112122212122121122112122121111212121221122212222121122111221222111121222211221212211112112112111122111212121112221122122122122112212222111221221212212222112221222111121212212112111122221221112111211222221212222211222221221212222211221221212212212222212211121121221112111211212211122111121222112121211211112221221111212112121221222111122111121111211111121221121122112112222112122221111122221122112221222112122111222222222122211211211121111122221222222211111121122121221211211112212112222112221112122211122121122121221212222111112222121111212221122211221112111222222121212211221121112221212212212211222222122212121222221212222111221211221111222112112222212221112122222221122122211112112222121212112111211212122221111112211112212212122121222111121221112122111221121222111211221221222221211112221221111112221222111212122212111122221212111111212222122222212121121222122212212112111121221121122122221211121211121212121222211112222221121221222112212121121122212112222211121112211221211112112222111121211211121222112122112222221121221122212211111222121112112122212112221221121211122222112111112112222122111112222222111121122222121212112112122211121112212111111222111112212211212221111212211211111222221212111222221112221221112212121211112222211111212211111212221222111212211121211121212221212212111211211111221112111112111212211112122212122112221122121121112221212222212121222221121212111212112211111112211211111211122112121211121222111122122111221212222121221112212112222122212211211111222111111212212122122121221121122112222222221222221122221212222222121212112121221122211211122121222212112211111211212112122111111112221211112111221211211112111211222111212122111222121222122122122112111212211111122121121222122122111211112112111211221112211111111212121221212122222121111222122212122222212222222111122212222111212121211212212122111222212222112112211212222122111211222221111222112112112211111222111212221211121211221111222222121111122211121222221221111121212221212211112121222221112121121122121121221122111112221121122112111121212212222121112211211211211111122211221222221222112112121221211122121212211212122111111222222222212211111111211221121121211212212122112122111211222122121221111122211122111212122122121222221121112212111221112221121212121212222111212122121112222121111211112221222121111111212112221112212111222222111121122222221111212211122221122222221221211112212111121111211221222211121122221212121112212212122111221221222122122112121221112121112221121111222122221221121121221221212111211221211221221122222122111122111121212112111221212222122112121212212222112122112222111212122212222121222212121222111122121212221212211212211111212211111122221111211212211221122211121111121211222221212112221222221112222112112121222121112222112121212112222111121112221111111211122212222222221121222111111222221111222221111121222112122122122211212221212122122221222222111221111211222212121222211112122212121121122212212122111121221222221111121121112121211212112121121222211122212121121111211112122112222122211211122212121212222211212221121122212122121122122121121211112121222211112122121221211211212221211221211121121111121121222121122212212122111121121122121122122121211212112222121212221222221211211211221222121211221211122112112211122221121122222112112122211211212212121112122111111211111121212121212221212222211212211111122212212211122121121112222211222212122212211112211222111121111212121112222221212212222222112111222111221212122212211111222121121221112112122112212112121111112221211211122212112222211122121222122212221112121212111222222122222122222212111222122111221212212211221222222211222112122212121122211122122111212212122211212122212221112212211221211112221121221121212222122121121212222112112111212111221222111112212121212221122221111112212212122221212222122121111221111211222212121212222122211122112211122211112121222122221122112221121221211221211112222212111121221112111111112222122211121122222221212112122111122221211112211222221222222112112222221211211222211221211122222111211221112122111122211121122212111221122222212122212121221122222121211121111122122111221112222211121111112212222211121221221111221112112122111112221211222222111212112111211112122122222211212111121111112222222221221112122121111122211212211212211111111112211112212121212111121212222122212112211112221212122222211111211111121112111111121212222112121221112211212211121112121212121111222111122111121111211222222221111122112111121222211212212122112111122111221122111111211122121221122122221211211121222122211122211221212122211221211121211222122122121221212211222111112112121222112122222211111122221112112211222212111121121112111112121111212212221121212111112111211122211111211222122122222121221112212212111111221112112121112212112121211211222211212112111121122212112112112222211221212112212111211222221211212212211111111211221121212121221121222112211212221211221221112122112222121222222122122222211211111221212121111222112211222121221111211211211211112121112112122112122112112112221111121212222212212222111212122222212111212111211121211112211121122111221221222211121212211212211122211111111122221222112211212212221212211222222121121122112221222111122212221211211121122221111222111212111222122111121221211121111221122212221212211222222221222211211122212212111121122122222221222121212112212121211112221212222222211121122112222222222121221122222112122212111121112211112212212121111122221111121112222221122212121222111121112221111221222211222222212121112212121122121122112212211111121112112211111212111112222221121111211121211121112212121122222111112112122122211112212212122221112222212112111212211221211211111122122212222111221211121122111221121121121222112212212121222122221111212112122111222222121111121122212212112121222222222222111222121121221221211121221222121122112112111221212222222212111212222222222122212121221112111212222222222122111111222122121212122122212121111211121222212222122212112211221222221212212221222112112221111222121211121212212112122222121212221212122112211122212211111221212222222211221111222121122122212111222111111221111222121111122121112121211122112211111212122211211112111121111211121112121211221222221211222111212112122221111112112212211221211122222221211111221221111222221111111122221212112112212111112222111122111211112112211122221211111111212221122111211111112211111121112121121111211112122211121211212121122122111121221112212121122212121222222122122111122111212221211122122121111221212211221221122121112221112221211122212222222122122212211222211111122221221221211221121122112111121221122222122211111121111212212212121111222221221211211122111212211211112122111221122211211121121211222111221112122212222122222222221121111122111212122121112211122111212212122111121121212221211111111222212211211212212221112122122111121121111122212221221122111111211111211211121122212122211122222212122212122122221211221222212222222112111211121212211222111222122211121111112112122212221122112121212112211122211122212222222222221121221221112111212121211212121122222111111222112212122222121121222221222212221122211222112121212111212122221122212122121112222112111211112221211212122121211221222121222222211222111121221222121211221122211212121211211122222111211112221211212212212211121222212211112122211112221112112111121112212122111212221112111221221222222212212112211221111121112222212212222211221121122112212122222111112112112212211111211121212211112121121122111122222221211212122222111222122221121122211121122122211121122121121111121111111211221111222222112112122212111221212111111222221211122121222122221122121121112211112111211222111211212222121221121212222122211111212221221121211121211111122222222122122112122222212122112121111111211121111221212122121111121222211122121111121211211211222111222111111221222111212211221111112112112211111222222222222111221211122122122211111221222111112222121112122111211221221221221111111121221221112211211212122112122221111121212212111112212121222121222211111112112112211111121211111211121212221212212221112212212212111212111211211111122122222112212221121112222211111222211221222221111122122122121211222211211112111211121122111212121121111221211111212111111112212221111112211221122221212221111211221111111222221122122222211222211122112211121212121222111212121111111122111222212111121112222111111121111121111221222212221211111212221111211212121122121211221111221211222211122221211121111112211121221212112212211211112222111122211222212112221211111212112122112221222121122122212112122111222212212222121112121211121221121222222111122212112211122121222222122222121122212121122221221121211222221112221211111211121111222212211122111111211121222121222212121221121111211121211122212111122222111112111112122222112122111222122112212212221211211121121112212222122221222111121121221111121211111212212212211112122221121212122211221121212111112211221222112122221221212212221222122211121221111121221122121121111122212122212112212212121121211122122111221212112211121221122211212121122222122212121221221222211222211111111121121222211222212121122211121121111111122221121222111222221221112112222212211222212121222221211112122221212112122211212221121221111221221221122122221112211112122111222111122212212122211122221212121112122111112212221112211121111111111212221221112111111221211112111121112111121122212121222211112121211222111222121212112112121211221221111121212111122211111112211111121122122212222212222222111222222111121112211211122212221211112121122122211122211212122121222111211212112122211211221121212112112212221112111222212221112111212122122211122112121112212122111122122212212222212122212211222111211112111211112111221222122212212222211212221122111122212221211112221221212221221221221121221122221221122112112211221121122211211211122221212221121222122211221212212211112111112121112111111212122211112222222221221111211211121122222221111122121111211111211212222221122121122112112211222211122211112221221211112212211122121222221112111112212122221121212222211111222211211212211111122122222121222112122211221212211111212122111121112211121122112211221211111222212221211212222121211121121122121222121212111112222222122121112222211122221121121212111221221121122122211111211221112122111121211121222121212222221211221211111211122121111121111121122122221211111112122112222211212211111111212112211111212221121211222221122111212111212222112111111122222112212122211211121112111222212122122211212222211211112212221122221222222112221111211212122111121111112212211211222112112121212111221121222211112222121212212221122121122221112112211111222212122121211221122221211122211122212212211212221111112211222222221212121222121111112112212221212222212111212222121122121211212211221221111112222111221111222221221211222112121222121112112211212122111222121112112121222212221122211211121111121122212122212211121222122212212211121122211112111111212122122112112212121121221111121212222111112211221111212112122122121222211212221221122212212111121222221212221112112212211211211222111222111211212211111212121121211221211122111122221221121222222221122222212211222221212211211221212112222111112212212222121212122221112222121112122222212211212121122211212211111122212112122221122212221212112212121121122111222112211122111112112221111221222221211222221212112221122222212212121212221112212122222111121122111121112211121122111211121121221112111211121211211112212111121221211211211112212112122221211211212221211211211111111212211122221222121211211221112121222112122112211221211121212212122122211211112211121112212212122111122122121112112212111221121221211112222112111222212221122111212211122112112211121212222211112221121221122222121122112211121112121211221211112211222122121221212111221122121221211211222221121122121122122221122122211221112212222222222211112121212112221221221211212211211212111111112122211111121211112111112222112211222212211212112222222121211212211112221221222121212222121121211222111221122222121222122221112111221222222221112212221212111212222122122222111121221222121211112212221112122112221111111121121222122211211121221212121222111112112212221211212221212211112111112111112121122221221212111112111111121222122111221212112222211222222111111122221211122122121222112221212121211122221222212112111121211121121212221122212212222212211111112121121111212122112212111222112122121121112112211111111121121111111111111212221212221221212212111121111111212221211212221122221122211211112222122121122221221212212211122122112122122212122222121111212221121222212111221221112212121211111121121112112122111111122112221212222121121121112211121121221211122122112211121112122121122212121122211222212122121212222111211212221122111121112211222112221112211121222111211111121211211222122211212121222211121121221222121112221221212222112112212121122111221112111222112111112112122122112221111121211211211211211221122221222222121112111112211111121122121111212122122122112122222112111111212111111121122122121221221122221222222221121211122121211221221112112222222212111121221222122211212112112122122121212212212221111221112211222122212211121211211222211212121122211222111211111122122221121112122121211212221111221211121112211111111112222212111121112121212222212121122111212222111212211222212221212112222121211211122221122122121212221221212122122212212211121211122111222122222212211222122122221211121111122222211121111222211221122212122112211212212111121111221211121111112212222112212211122121212222111212211222121211221212112111121122111111221221222111222122222111212122221122121212211111122222212122211121222222222222212211112222222211112222121221121111211122121212121121112222222121211122112211121122222122212211212112111111122121211212211122111222122211221112111122121212221112221222112211211221211211221211122111222222111122212122111111121111112212112211221112122122211212211111222121111221212122211111112122122222121111111212112112111112222112122112211112212121111221112121111122111221111121111222222122211211112112211122111211122111112121221222112111211211221121212112112111211111211212122212112111112112112221121222221112212112121121222212112222121211111111122212221221212122121211212212212211221111111111211221211111212122222112212211222111111211121222211212111211212221112112222212212121211111121112221111221121122222222222212122122121112121212211111221122211121122222211122112221112111111112121121122221122211112222221111212122112112121212111221111122112222221121122121221112221112221211211111111112121211222111211212111111221211112211121222221211221222122122121111111111122122112212122211222111221111121222122221211122212211222212221112121221121221111121122111121111122221212112212222111112121222222111111112111211221222111222121212211122211211112222112111222211112112222221211122222221112211111211111122122212111212211111211211122111221122111211211211212112112212121222221112121112111221212211221112112222111222212122212221121121221112121121212121122122212112222212112121111121211212121122121112122212221212222211112111212111122121221122112222122212211122121121212211222212121112122111212111221211222212111112121211122212212222122212111122211221111211222221212122121112112211111112112211122111212212112122112211112111212211221222121122121121122111212121121222121211111222112221112221111211211122212111222212121212222122221211222121112112122111212121212211221121122112222222121112122121221122222111211212222221211121112221211221211222111221221222222211111111112112211211222122121221122221112112221112121211121212221111211222112212122211111121111111111222211111221111221222112121111111211212222221222122222122212211121111222112211112212221111111122122111211122212221112211221222111111111112112111111211211111121211111121111211121221111222121211211122121121122121122111112122221122212121111212212212112222111121211111221211121222122121122121211221111222212221122211212211221211122212211112221111222112211122122221221222122122112222221121222212111211212121211222121212121111222222122121112222111112212222122221112112211121122212121121212121111222221111211112221221211122212222121121211212112111112122221221222121212112221222112111112211111121221222222212111212111121121221122122111121221111112221112111212121121111121122222212112111212212221222212211121212121212112111212221112111221111212112111122122122221222112112211212211222122121121111211121221211111122222211122221222212112221212212222221212221111112121222122212221122222211221222111111222121212211121211221221212121121122212222121112121122221112221222222111222212122211111221222122212212112111212222222121111212222212122222222111221221212221121121212122122221212122112221222211112221111112121111211222211111221111121111122221122221122112222111122211112222221121211111121122221112221121222221211211222211222211211211222211221221112121111121111111111221211111211221121112221212121212122222211212212212122212212221222111222122222111112221112111222122121212211112112222211111212121122122111211222212121212121212221121222112211111112121111121222122211211211112111122111122222221212222122211122111121221212222212222112212212112222211221222212121211111222122212212112222122221122111121222211211222111121112222211121222122112211222211112122122211211112211121211121211121111212221212212112111212111212222112211112112221211121222211122122211122121221122211122221112111221121112221211122121212122221121211211212111211212121221211122112222212121122122112222111122111121212211212221221211121211212221222112111212212221112112221112112122111212212222112111222112111222121221212121211112112222122211112222121221122212222222112212221212112211112111121221121222121122221212111211112122112112112222111121121121112122221222121111211111221111112211111121212111212111121221111111112212211221211112212211211112122211221221121222211221221111212111122221222122111211211212221121111211221212221112122122212111211221221222111212121111112122212112212211222112112222211222212112222111211122122211211112122211112212111211121111122221222112121121222222222111211222221221111211121122121222112111111121122121222222221211112212212211221221222111212122121111212112111212222112121112112112121121112122112122111111121112221111112111211221221121112211222211222221121211112111212112111222122122111121122221111121221111121222121211211121111111211111222121121222211222222111122111211121121212212122112222221122112212112111211222111122122211122222112212221112111221121211221121212122212122222221111221212111211212212111211111122121221212111122111221222122222211212211212221211112222122221212222112121111112111111112212121122211112121211212122112221221211222211222121222211111122111212222112222122122111111111111112221211121122221121122221222222122221111222111122121121112221212122211211111222112121212122211122112112112211222111111121221111112111211212212121222121212211222122211121122121222121122121121121121122211121122222121211112211221222222222111212112221221212222122111111212212121212221121212211221121212211211211122122211121122122221222112112211221121122112221221111222122122222112221222212222212111222221122212221211221122122111211111212222212121111122111112211121221111111122122221221122112211122111112221112111212212112121222111121211211122212111112111121212221112211212212112212121212211222122112211221122121111211122122211112111122221222111222111222111122212211211122121221111222212121211222211121121221222121112121121222121121212111222212122112112121121222221211221211112121122112211212221222212121122221221111121122212122212122212212112121221212111222222222212121121211221121111112121221212111111112112112111212111222122112121121222211221222122212212121121111211221221111222222212112211222111222112121211112222211111122212211112211211112121222222121122222112111111222212211111212221212212222111121111212212221222112121121122111222122122111112121211112212222222111122111111111211112111112212111112221121121122112112112211211221222111211212211112122111211212121122111211112111221221222222221221121122211121122221121222111222221222122112222212212122222121121112112222211221121211221222122221111121122122121122121111111112221211111112121211122121212111222121111221122111112122121221111121222221111111212222122221211222221112121111221121121112111111211221122111222112221222112222211111221112212212121121121221222112111122111111222211212222211212211121212212111122111211222121121112121111112112111212111122121222112212212121222212222222122111111122221222112111211221221112111112111121121221111211111221222212211211212112112122211122222122121111211222211212112111111111212112121121112121222212222122211112222112221112221112211222222122121112222212112121221222112221212112122111211121111222211221212222121112111221222222222112112221212121211121221121221221122222122211211112111122212212211111112222212212121121112221222212121111212222121221222112112111221222112222212212111122112212111122211112112221112121122221222122111111111122121111111122221221122221112222222222221122212121211122221121212111121221211122121212212122212122221111111222121122112122212122112221112212121211122212121111211111212221122212122212121211212122211121111111122222122212121121222122211222211221212212212122212211221211211222222121221211222221212112222221212122111111122211122112212112112122121111122121122122211122111111122211122212221212121121121212212211212111221222121212122111122121211112112112212212122221211212212112112122222112222111212122212122111122121212121121122211121222122122121111112212121121121222211222111221212121112212112222121121221111212221122222112212122221211112211112212121222222222122112111121221121212222211122112111212122112212222121122222211111111212222211111221112122212212211121112112211122221111212122222222222111221221222112122121221111221112221112112111222211112212211122222122212211122111111122211211121212211122111222111212112212122112221121221122212222122212221222212211222111222121121222121121222212122121112221121212212211111212122122122211111221122222221221211221112112221112212212121221211212212211122121211221112112121112222112112112121211212121112112112121121221222222122111222121121222111221211212221112211111211211121122221221222122222121222122112212122121111112112211122112221211121122121222212111211122121122111111122112212212212222111121121111112122212212212222121221212112211122212212222111222121112221111122122221111222112112222122211211121122221212222121212211212121111221211211212121212212211111212222211112222111122221112121211112221212112112222221221222111121212122122112112221112112211111121121122111222112212111222212222212221121112121221221212112222112212211221222122212112122221212121112122111121222112211212122111221112211121112111212211112222212111211222122121112122222112111221112112111222222121122111122221222221221121212212122222121121121122111221212212212121111211222221211112122212211112111112111222122211122211212211211122122121221222212122111212222122112211121121122222122212211222222112211222111222121221121111112112122111222111121111212112122222212211121111222211111222122111222222121122122111212122121111122121112121212122211212222112212221111211121112221212221222111211121121212111112221212112122222111112212121111122122122121121221212222212221211121122112122112111222122112122212211111121112112211122122122121221112121111211212111121212122221221212121121212221212211122211212111211222212211112121111211221122111221212211121222221121122112111122212212122112111212122122222212212221211212122122221212111121112112221121111212112121121112121112212111222111121122222222112111222112222112212111121222212122121112112122221212112221212122221211211222122121211222112111121222211121111122212221211111212221121212221212111221112122121222122121211121222121111211222112111121211112211121121221221212211111122121111121121121112112111122222112112111221121211211121111121112121111121122222121222222122212222212221221212222122211122111122212212112112222222111221221122111221211212211111212211211122211121212111222112222222221221222122121111222112222222212211221222212221221211121122112122112111121111212211221121111112111222211221122111212122211212221121112121211211121112211112112222122221211222111222211112212212212121112221222112211111212121112221121221222112122212221211111121112111121121221221221212112112111112212221121121122222221221112222121212222122122212211212212211212221111212211121122111121121112112112211212211111221221121122112121112221211121211121122112221121211212121212221122212121222221222211221212221222121112111122112212111222222122122121222222222122121121212112212212211211212112212112212121121122122112122111112221111112222221112121121111111121121112221121211122122221122211112221222212211222212222222222122212122121122121211221222221222122211111111211121221121122112211212112212111111122221212112221112221212212112122112222222222211222222111211221212211212212211121222212111212121122222212211111211222122122222111112111222211112212211221222221211111121212211111221222212222122222112111111111221121211222211122211112221111212212122121222122122121221222112222121112111221221222221221212212122212221122211111211212122122222222212112112221111112222112121212221211111211212212212112221112112121121122112222212112111221112112122222212222211112221212112111212212112212212211121212222122112211211221121112112221111211112212212122121222211221212211212212111111112211111121122111111222121221112212212222211111211222221112222111112212111222122212221112112212111111211211222121211111111212122122212112211111122111221212221221212112112112111221211211122122222112111121212222122121121121221112111222122211221122212222212122211112221111112122221211212222211211121111221122221111222212112212111111122211111121111112122111212112111222211121211111122121111221222112121121121212211121122111121111111122212111221222221121221111122122222121212122221211222121122122221112211222211121111122212122122112122121222122121221222221211212212111212122112221221122212121222222122111222122222122112212121112221121212122211222122111112222112112212111112211222121222121211112222111122222212222122211111112111212212111211122111212222111211221122121222212212112211212121222212121221122221122221211111222112111122222122121211221221212211111122211111221121121122121221211211111212121221111212211112222221112222222112212222211112121222212221221121111121222111122111112122121212121121122221121111222212212211221222221111212122211111111122221112122212122221111211221212122122121221122212121221222122212121121221112111211122111212221211111222112222221211111221222111121112122211122111111121211112212211121112222121221122211211121121111212211121212211212122212121112221222122211112211121112222111112211111221112222211111222212221122211112211212211212112112122212121122121112122111222212212222211222121222222122112211222111211212212221222112211212111221111111121221221111111111211222222112111111122222211122221212221121222222222222122122112112111221121222222122221111111211222222111221122111222212222221112212111221112222122112212211221222112221212221222221211122111221221212212111112211122112221122211222112221112212121212121111122211121121111211221112211111111121122112211112212121121111211212121122211122112211212222121222121112121222122212112212212112121211211122122121211121211122222122221122121222212212212122221121221121111122122221112211111122221222211211212221111121121222222121221122211221121212212211111222212111122121211221222222211121222121121121221111211112212212111212222212212111121112122111111211121112212122112111122111122121221212122222122222112112212212222222111121211211122121121121221122111222221111212212221221122121122211121221122121211211111112112121112222221222111211112211122211112111211112111112111212211112112221221211112211212212221121112112112212112121221112212212222121112111222222211111121221121121222211111221112211211111211121211211211212212211222212112221222211111221121221212211111222122121122212121221121221221111112122211121111112122121212112122222111221221222211112112112112122212121222222111111222121222212122211112211121211122122121211212121111111121122212121122122212122212212222112222122212112122211221111222112221121112112211222222111211121212221211212211221112121121122112122111112112212121122221211212121122221112111211122122122222112211222121121212122212222111221212211112221222221212222221212221112122122122221122112211211112111211222212122211211221211211111122111211211222221122221122221221111112112221212122121222122222112112212222111221212211112211222111221112122111111121221211221111122212212122222112121222222122222222211112112221211122112212111222121111222111221221222112212221212221111221222111121221122211111212212212211222121212111112212111222122121212111122222212222211122222112221121212222211122111221212121221121121122121121111112112112211122212212212222121111222122121122211121211111122222121122112112221111221121212112221212112122122112121112221222221111112112112121212112211212212212122112221211121122221212122212212221112121112111122122121222121222122221111222211212122221121222211112222112221112111111111111222111121122222212121221222122211111111111222122222111212221222212111211111211222112211121221121111121222122121222212112122111211211222122222222211211221222111222122212222212112111222212211111112222221211111212111221111112122222222111121111212221122211111111211112122222222222122222112221112222122222112111121212212211221222122212122112211211221112121212122111112222222222211112211221121212122212212122212221221211212112111221212122221112122122121211121111221121222121222112212111222221211121111212111221112222221212121221121211112121212122221122212122211111211212211112122221222112221222211212212111212122112222121111112112122112111111111211221112121121212122221111121211122211221112221121222221212221112222212212112221111222111211121211211122112221111212121222121221221112111222212122112111122212221112111111212121111212212122212211221212122211122221121221212222122211212211212211212122212221121212121221211112222212221211121121221122212111212111112111122121111212122112222112111122221221212121221212221212122222121212222121212122222121121121121121112222112221211111121222111212212122112121222222221211112121111221211122222222111222222221211221221221112112222211221121211121222212111122222111111211212212112122112222111121112211122121211221121212112212122112122112111212112221122211111211211121121122111112221122212121211211221111222111222122221121221221111112122211122211221211212111222222221111211211111211221111221122212221111211122111222111212211112122221212121212111121221121222121121221222222222211221111211112212212212222222211222212112212221112122211122121112121212222221212222111211221111111212211211122111222222122111211222121121211111221122121112221212112111222112111221221111221222121212221112122221122211222112121211212221122111111221221121212221111111221221112112222212121112112212222122121112211121212221111211212122112222121112212122211122222222212121222212221111211112212221221211221122112111121122111122122222112122121111212122111112222111112211221212122111112221111122121211111121111212112211211111221111221222212212121111211111221112222121222112121112221112112212112221112122111112111112122121222222212212221222222121112222222111111121211121221111111212211212212112212222222212221122222211121212121111221222212122122212221221212211121221112122221122112122122122111111212212121112122212211111211212212221212221211221212222112112112121111121211222212212222212211112212221221111111121112222121121121221222222122111221112211222122121211221211111211211112222211111121112121121111112122121222212122122111211221222111221122111221112222112221221121222122111122122112221121221222112122112212222222222221112221112212221221222111212211122111211211221111222211212211222121111112212122211211121212222111121212212222122221112112222111221112222111221222121212211211122111121212211212221221221112121212111121121222122221222222221221222122212111221211212222111222121211212211112222112112222211211122211211221211121112221222121221122111112111211221222211211221122212121221221112111222121122121221122121121222121212211121211211111222111122222111112222211221121221112112211112221211122121212222111112211221112211111221211221222211121122111212221122112221211111111122211122122222111211222222122111121212112222122222121212112112221211112221111112112212111111212222111212221221112112111212211212111112221212111212121112222222211211121112112121211212122221112121111211221222111121122111111111122211112122212212111111121111221122121212121221212121122222221112112111211122211122111121122121121111111212221222112111221112121111212212122111212121112111212221112111121212221222211211111111212111212122221121212122211111222211111222222121112212121112111222212221112121121122112122212111121111212112122122111122211121211112112112111121121111111122211212212211212221211211221212122122122212111221121211122222121222222122121212122212122111112122121212212112121122222111221212222121222222122121211221212111221212221111122111122211221211221222121122121122121221221121221111121112121111222221212112211112111111222112221111222122111122112211111212221222221122211212122122122111211111122221222211121111121221121211212222112212112112211111122222221212222211222211211211111122122121122111221111111212122211212222111211111121212222211212222121121221212122122111222221121212111111222122122111122122222222112211211212212121221111212211222112212222111221221211112222221221121211212222211121211112111111212111122222211211112222121212121222221122212111112111221211121111211112112212122111212111122221221211221222212221222121212212112112221112212112112112222111112221121211222221221112112122112121212121211121111221211111111112221222222111212122211221211121112211112212122212112221122112212122111211112211111221211122212121111112222212221122112122221112111221221122111222222111211221221112111111222122122122211121122211211112221122111211212222211122122221212211221122222112211221212122122121122211211122211211211221112121111212212221221111111122211112112212122122211112221122112212121121222111221121211112221222211121212221111221212122211211211211211212221121211222222122211222212112222122221122112111121222122121112222111112212112211111111222212212212221211212211222121212212221212211121222211221111112111112112211221112121212122111121212112111121111211111111122222221112111222121122221112111221111122221221111221122111111111222122222111112222112212212222121212112122221222221112111221211212112121211111112121122112211221212122111112221122221121211222111121122112222121121221221222121221122221111111222212212122221122111122121212211121111121211111211211122112121222121222122211221212111222222112111222112221222222212121211222111221222221221221212221121222122112221111122212222221221211122112122121112112222111222122122112211121112112212111221121121222121122211121112222112211111111212121112222121222212121212112221112112112212221211212122121111212111211221222111121121212221222112211212121121122211211212211212111212121211111211112222122211221212221121212122111122222222222121221122212122221122221112222211221222222121111221221211212211222212122111222221111112212122112122112221211122111112212212111222121222121112122221221221111112112222122212222112112121212112221221122122112221211211121111122112121212221212211121221111122222122222222122221112211222111112111111111221112222112211212121222212122211112211211111212212111211212221111121122122211122112122121112211122212222112112112211122112211212122121222222121221112222221211211122211112122112111212222122222211112222122112111222112212111221122111121121111211112121222212112222122222121222121212122212122222121222211212221111122122111111112111222121221112211212211212221112112112222112122122211121122112112212122122221122212122221211111121121211211211121122222111112122111112121111111122111222122122121211212222211221221121212221222122121111121122212221211111222222112122111212222222212211111211121221211112222211111111122212221111222222221222221221111221121212121211211121222211212221211221121112122221121222221211111221221111112112121121222212121121122221222122121112212212111121222222222122222121111122112211212221222212212121112222111121111211112122222112221221221222112112122222211111112121122112211211121122212121222112211122211121121211211211211122121121122112211221212112112111211211121212112211221221221222111121222211211221112211211112121122111222221121221112211211222222111212221222222112211212222221122121221112222222222112122112112222222222212212111212111222122112222111212212122211121111212222122122112112121122121211121221212121211211212221212122221112212111122121222121122121221122221211212221211112221222122112111221122211212222212221221121121212122122111212212211121121121122212112211212122221222211221211211222212211211221211112122112211212221212121211221112122122222122112222222221122211121221221121122122112222222112212121222111222111221122111122212112222211211212211121221121122221211212111122111112222212122111121122111211212112222212221212112112221211112212221111211122121121112211212211211122112111112112112212112221111212211211112122222221122121121122122111222221122122212111221211111112211111212111122222112222122121121121221121121112222221212112112221212112211121221112211212221112211122112221222211222121222221212112111121121221122221121111121222221121212111211222121111212211221211221212111222212222212111122221122111221121212212111211222212122121111122122121211122211111111112111112112121112221121122212112121211121221211212121122112212211211111221212211122111111112121211222212112221211122112221111221221122221122121212222122122122122222121212122222121222121112212112221112212212221212112221211111221221212212122221212122221112121111112122122211111212221211122222122121112222122222222211222221112222211111122211212122211212111121122221112111122112212112121112111212211211211112212122222222112211211121221121122212221211212211222211112222212212122211222112221222121212212112211112212222111122212112221222122112112212222121211222211211121121211112222222121222112112222121211111111121212221221111112112122111122122212212222121112111122212221221212212112121122222122121122211112122212111212121222121212122211112211212212122211212211121222112211211211122112221122211211222221121112222211222111112221111121111212111112221122112222122221222211122111221111221222121121111222121211221212121111122212112212212121221121122222221122121122121122211212112221221122212212122211111121222111212112212112111222122111122122212211111111221111211112212121111111111211112222112112111122211112221112122211122212222122211211212111122211112111221122221112211221211122221121221112212112222222222211221112111112111212212121222111222111212221222212211221111121221221221211211111112222212222222111212111111122121212111122221222121112121121211122121222211221212122121212112222212121121111212122121212121212111122121221122211122112112222122211122212222212112222122221111111212222221211211111111112211212122212212122111122212122112121121111122222212122121112121222211121112221212221112212111212112112211222112121212211111222111212212111212211111222221211121122222221121212212122212112122211112111211221121222211211121222211212221222112221122111121222122112122212121212121211211212121111111121212122111112121112212212111112122212222222112112111112122121112212212112211222212211221221212211221111222212221211121221212122211222212122111112211121121111211221212212222222121121112121112211111121121211221221111221112222112112122122121111111112112212211111112111111121121212212222122211212112221112122122112121212211112212211222122121212212222222212221111111112211211111112122222121211211111122221212212212211112211121212221121222111112111122211111112112221221222221211112112112211122211222212112222211111221121222121122212212212212221121211121212111222122121121222222112121221122212111111121211121122221122121112111112122211122112222122212212212122121221111111211112221211222221222112121122221211221122211122222211212112111211121211112211121221111111112112111222221211222111122112221122222122211222212222221112212111212211121121221121211121221112121112211212221121222222121122222121212111221212212111112211222122221211111112121112211222112122222122221221221121112222222221112211111212212122112122211212212211211221221111111212112121112212112122111122111212111211112222212112122211211212112212122212212121222111222112211111221221222212221121122112111212212111112212211111122212222221222112112121111111111221222211121221221111212111211212122211112222222212222122122211122111111221222121212121111122212221211221121212122212211111212111221212222222111121121111221111112222121211122112112211122212112122111121222122221222122221111222221222111112222221112212212111211122222111212212121212111121221211111121111121222121122121122122212221112221211212212112121222212221122112122121221111122212222121212112112112122122221121222212112222221211121111121111211111222212121211221112221212122221221111212122112111222112221111211212111211221221122121111111121221111212222122222111212121212112221122221122211212121212211121112111112121121212222111111122222122122212212221121111221211211121221121121121211122212222211212112112212111222121112122111221122211121111221221122121121112212221211221111121121122211221212112212121222221221222122221112212121211222221221122122222211121122112221112212111111111112121211121221112111221221221211112222212211212122121222212211121212121121222221121212121212121121212111122221212212221221221222221111211211112211112121221212122211122112122212111222221211222112121221122122212112122121212221221122211221111212212222112122222112112121212111221112211212212211212211121211122222211121221222221121212121221122222221221221111212211221122211211121111221211111122212221211212112111222121212122112222111121112112122222111121212112212111122122211122222221112111121111222111211211211121122112111121222222122212111211112221221212222111221122212211112222112221111122221112222211212222212111112212211212121222222112221121121222211112222221221222122122212221111111122112111222222112121122122112211222122211222112222111211121122221111221111112111221211112112112121122111112121211222122111111111212122221222222222211222212121222111211211112212121211122112221212211112211111211111212211121222212122212211111221122121112212122112112221121112112112212212122121222222221211112222212222211111222221121221222221221111211212121112112121212121211111122221221212112122112122212112222212221112122111211211221212222212212112121221211121112221211211121222121221122221222112121112212111222122221211222112222222222112212221121211212222121111221221221222212111221111111112122212112111122211222212221121122211122122211111112212221212221112212211121222212222112111211211121221211222112211112221121221112222222222111111222212221121222112122221111222111122212121122111121112221211221221111112122122122112121121112122212122112111122112122121122212122211122211221221222222112121222121222211222221121221212212121221111112121211122121111221112112111112112112112211112212212112112122111211212211121211211111112122111212112122222121212221212121222111111121212211111222212122221111221222211111121221112112112111111112222221211121222112212211121112212111121112222111212221112221111221212211222221211211211122121121222212211222211211212111111112112111112121221122212222222222221111121222111211112112212111121222211211112121212221111122211211212122212121122212121212121212221221222221222121122121112121122121112111112211122121221211122122121122212212212221121112222211112211222211112212222122222222121222122121121221222122212112112212212111222111112211112221122212111111112222222111111221122121111211211211122122211212212211211212112212111122121121111121122212222212121122122112212211112112221121121122121111221111112221211212221111212122112212112111221111121212221111212211212221122211111221222221121121121112121121112112221112121221221111211111212211112211212121222121111121211211212122112212211211121212121112212211212111111222111211121211121122122111112122221121111212111122211212122221112111112111222222112122212211122222122122211121221112122212121112112111212121221112112212222112122112112112122122112221112211122212121121211121221221212122221212112221111221211111121121111212212112221122111212222112112221111111111221212222121122222222221222112221212221122111212221212222212111212112222211111221111111211112211111212112122222211121211221212211212222121112212121222111221221211111212122122211221212111122222222221111212122112221121221112212111112122112211222112122111121121212112221221121121112112121121211111121122121211111122212111122122222221112211112221121222222122111221212222111211222222111221121222222221221221112121121111112221222111121112222121122121211212212222222111121212222212212222222122212112112111212121111211211222222112112222211222121112111221122112221212111212211211221221121122211221112121211212121121222222121112111112211222212211121122121122221222112111211221122211121222111121111211221212222211112111212122112122211112221112121221121111122212211212211211211111211222212112222211221121211211112121112211112222221121211222212121112211212111122211121212122122111112221221112221112212222112112221212211112122211222222122222121211111212111212212122112121222211112221122121121222221211121122111111122212121121211211211111221211111212211212222122222122222222121111222122211122212122211122222121222121221211212121221221212122222122122121221221211221221121122112112212112111122211211222111111221111122111221111121111212121221122121222222212122222121122221211111222121112122112212111112112212112122221212222122111122122112212212122222112222121121111221111122221111121221111211122111211211122221112111211111222222211122112112212121212111221122211212111212112112222111122112122111112112222122222211122121111221221222211122211112121221211212222112212112222121222112121112212121122211212121122211222121222221122212211221222112212212112222121122122212111222112212112122221211222121211211212122221211222121112212211121122212211122112222222112121211112122221221122222122121112211112221221212221221121222122221212122222112221222212212122211112211121111112222111121221212121211111222211222112212122221211222221122222111221221211212222222122122221111121222111222111111211211222122212212211121211112121222122221122211121112212211212111221221121121221112211111222221221111212111212112122111122211112222222121122222121111212122222111122122122221222111112212111122211222122121212122122222122121112211212212112222222121221221122222222111122212221221222111221112111211112122222121122212122222222112122111222211122112111121111211221211111212112212112111212121111221121121121221222212111122122112212112221111211211211122122212111111112222122112211112211122121111221211121212111211212222222211221122212111112221122112211121122122121112212111112211112212212112222121122122122111211121121212221211122112211212221211111221111111211221221222122212111122121212122221121122112222122122122111212221112121211221121212221211121121112121122211212211121112221212222222211111222211112111211111222122221221112222121122122212112112211122211112221122222212222121212111121212111222121211212212221122122122222221222121122112221112111222121121212211122221211111221112111221112121221211222212122122111222111211221111121212222111222221221112211122112111212111211122211212112212122112122211212122212111121111121121121212121221122122111222111221222111112212221221211212111111222222111112121121121212212122112212111212222212121111211221212122112121121212112111211111222122111122222111211121222211222221112121221121212221212122221222112111211112211221122212212121212211222211121222221111112111112122121121222112212212211112122222211211222121221222111211222112212221121112112111212212211212221222212112221222112122111211211122211221221221112211212211111111222211222122211121111211212211112221222112121122222111112111122211211222112111122222222112221122212122211112212212111111222111112121121222121211212221122112112122122121212211121222221121212212212112121111121221122211221221122212222111121222222111121212221121222212221212121212222221221112112211122212111222111111122221212112211221212122211221121222212122211222212222212221222111122111211212211121122222212211112222111212222122222112212112112122121222212212211112121221222221211212121121211121222212211211212122111221122212212111211111112111121212222121122111222211211212121212222112111212122222221211212212221122212111212121212221212211221211111111112112121212221212212222111121122122122121111211122221112121122121221121221121222112211212212111211122122122111111122221122222211112112111221221112212121122222111112221122222221121212111111222211221211122121122111212112111112111221211222212212112122222111122212121121122221112111112211121112112112112211212211122222221112212111122212212212112221112121112112121221212212121122112122222111111122212211112222121222112122221211121112121121111221121222121111212221111222222212222221211122222222122211212222211212112211212121112211212112122112221212111111211122112211212211212121121111112122121121112121212212111112221121111112122122212221112212122222121111111212111112221212222222222222212221212121222112221111221111111212111211222212112111112111112222111211222212221121221211122212112222222222222121121221211111112121212122111111112111221221121221111121212211222121122212112211111212221212122212112121212222112112212122111221222111111112222112221211122221212222212212221121122222221221221111222111211111222221212222111211121111212212222122112122211222222212111222111122121111222212222221212122122211121111121211211121212211221222122112211221121112221221121112122122211211111122121112121211111222221221211122122212211212222111112222122122221111121222122222112221211112211222122221121121222222112222221222122222211211122221112122211122211212222222112211212121121112112121112121222212112212222121121111111111222222211222212212222211222222122212212211112222212111112112211121112121221211111121111212111221122111122112121112122222212212221122211221111211111122121112211212122222111212221212121112112111221221122211121111211221211112222211121122111211122212122222221121212111212221112222222122221221211111112211122121222221112111111122122121112221122122211211111212222112212111211221222112221212112222121222212212222112122111122111221112222121111222112111121121122122212212212121221222122111211122212121111112211221112121211121212112112121211122221122122112112112112212111111122211211111112212212122111112112212121221212121121121122121211222211221212221221122122122222112211221211212221212122111222212212121112212212211112122122112122211212121211111122121111121112121211221211112211212222122222121221112111222122111212111221221221122221121211121212111222112111122122222221112121111111211121212211122211222122112122111222221222211221121212111211112221222212211212122111111122221121111212111122121212221221211112111212121122211121121221221222212222211112212211122111222121222222212112222111211212122111112111121112121121212211211212212222211112122222222212211122222222222121111122222112111221112212221112211111211122122211111222212121222122111222111221211121122212112221121211112222211212112111122121211111111212222212222221111112221112221211221111112221212121111222222211211212111212212212221211222221121221122112111222211112212111111211222222111112111121111222212221121222121212112121221212222221111112222111221112112111112121122121212111111211212211121112222212122222221112222222211121222122221221222222222122112222222222111111122222211212221212211221212112122221111222212212222111121211121122211112222221221122212221112212222122212211222211112212211122112122212222111222112222121112112221122121211221122112221122221111212212122221212221122212121121122111222111211112221112211121122112122122211112121111222121221121112222121222222221222122122221121112212211221212121111221212111221222222112121221221221211211111121211212221121211222222121212222122112111221222121212111121211211221121221221121111222112121222122222122211221121222122121212221222121222111211221211211111222222112222122121112122222111121112112211221222222222222222211221222112212122121112221221211222122111222212122211222221212111122112121111211212111221122111212112212122211111212211221221122212211212122211211111122122221122122212111211222222122222121211211112211111111122222221222222211121211122121121112211111211112212111111221212211212122212112221122222211222221121111212122121112222112222211212211112121111122111122212111112222211211212211122222222222212122211211111122222121221121121212112212212121211211212112211111222121211122221111122112221122122221212122211221112122122122112112112121111121221122221111112221121121212222221112221221122111222212222122221212211121122221222211122111222121221222211111222211211112211211121122222122211211122112221112211122221121212221111221121122112112221211122111112212121121211122211111211111122112211222212122222212122211122121112112212122121212112121212211211111211211121211222212112112112212112221222222112222111211222212221111212221211212222111212112122122221211121121112122111122121212222221112122121212212121121111222221221112111111221222222121211211222211222221122221221221222212112111111112121122211122111122111212212122122121121212212221212222112112222222122212212121212211221212111221111221111112112122111121122111212122121211212211221111121112122121112122221222222121121122212112112211122111112212221221211122211222221111212222221221222112111212111221121212221111112212121222111111111121122221211221122211221221112121121211111111222112211112211222222121121122121122222122121211212121211122221212211211112122211112122222212121122112111212112111221121112222122122222212112112212221112222221222212211211121211122222211211221222111122112111222111122121211121212212111222111112211211122222221221122111221122111111111221112221111212211112121111221222111122122222212121112121111221212112122122122121221221222121212122211121122221211221111111112122222222212212121121111111111222212211222121222112111121222112121212112221222121122112121212222121121211121222122111221221211112122122222222121112221212221121211212112112221221212221121221222121212211211212112111122122112212111111222111211122112121222222122222112211212121122221211111112211122221122121212122121222222212111221111221121211221121111121211121121221221122121121212111111122122111222222111112211211122111211212211122112212211112111122211211222221121121111112111111111121111111222111221121222112212222222121222221112211112112222122121122112122211221211222112222122122211122111212112112122221121211111222222111111112222222121122112111222222222212212212122121122212122111111121111121211212112111111121222212211221112222122212222221212221111122222121112111111111221111121121122221112222112121212211112122221122111211211211121121121112122121211111212121222221212122222211211111211111121212112212111122122122222211122222121212211122112111112111212212221111111212121112211112112212212211222211221212221112221112122112122112122112211222112221112122222211111221221212222122121121121222112211211122211211221212122222221212222211111111112122212211122121212221221112212222121222122221222221111122121121222111212112222122211111121211111121111122122121122221221122111221122111221121221222122122211122122111222121222211121112122222221121212111121221121211122211122222122211111212122222122221212122211112111121222122111212212221111111121222112222221122121122211111221121211222111111121212112122121211121122121222112121122212211121121222111121222112111111221221221121122212222212222221222112222212121212111111112111222112222222112121222222212222122122112211221212122212121222122121212121122221221112121211221122211122221222122221222211212111221212121122122111122221221211122111121111121222221211212112112112222221222111221221112122221111121111211112212122211221112111122122122122221212211112112222121222211111221221111111222222221112121221221221221211222122111121222111122211122121111222111111121222111112122221211121122222222121121222222211111221122111221211212222221222222222111221122121112212112212212222111221222221221121112122211112121222212111222122121212111221111121122211222211111111211211222111121121111122211221121221122211112111111212211212121122112212111221212222112121122122111121221111221221111221222112121121112111212122122211121222212121222122121221122122111111111112212221222211112121112222112112212111221112221112112111211212221222122122211111121212222112121121211112212122222211222222222221222112122221221211212221121222211212211111112121111121212222121211121211221222221222221212212112111221221112111212222122212122121211211212212112222112211212111222112121111212211111121222121222111122222122122122121212221121211222111112212112221212122221211212121111212121211122221111122121112122112222111211212112111222221121221112211112221111112112112111212111212111112111121212122111112121111121222221221222211222111112212212112221211121222222121111211222222111211111222121122111111221112222122221211212121211222221121111121211221211222121212212122112212211111221211222211211112221211222121211112111111122122222212121211112212212211111112121212112112122221222122212212212121121211212221211112211221221221212222122211211221122111121212222222222122121112221212111122222211112212111221212211122221112211112112222212221122222111111211221111211121221211221121222111212212112212111111122112122122211221112211121122222221211122222112212221221122211212222221212121211221212111112221222222222122111121112211221211122222211221222122211221112112112111212212112112121112212111112121111221121212111111212211122121122211221111121222212121121122111212111111222111212211222211211121222221122121222222112212112112112211221111121111112122212112221211121121122112111112221112121211112121212211222211221221222212111212122111222121122221211212211111112211111111112221221112222112212112211211122111211212122212222121122121221221222111111111212211211121112122112212211121221121121222212222112211212121221221211111211221121211211221221121222111222122212212221121111222112212211112111121222122122212122121222212122212121112121211212122211122211111122222211212112211111122221121211211212221111112121222212121122212211222121221112211222121111222112222111112112112222121121222222122111112122212221221222111211122122212111211221211221211211222212221211122212211112222111122222222122212122211212211211221122212222122212121211211112222121121222222122221112212121221122111212212212122212222222212212112112211122222122211111121211122111211111222221222212112121221112221212111112122112112111111111222111112221121122112111122222222111211122122212111121212122211221211122111212122212222112112212111121211221222111121222212211222221112212111112112211122112212111212211111221211212221112111112122121212212122221122112112211121111212211212221211211221121111221212212212121111112222221212212221122112211121212112112222111111212221211211211221221222121221222222122222121111122111112211212222211112121122212212211222111222211112211221111221111211121112211221211222111112111122121221222212222221111121121112221222122122122222111122221221121112211212221222212221111112122122221222212211112112121222211211121122111112212211222212212222211122121211121221122211121222112211111122121211121222122212112111212112211111122112121121222222212112112222212221111222122111212111111111122122111121221212121212122111212112121122222121121222211111211122122221121121211212221221121212112212121211211121112221112212121112222212221111112122122221212211212122112121221211222211111111122111122122122121121112212111122222221111212211211222221121122122211222121221211211211112221212122122111112222211121111121122222212112111222121221121211121211221112122212212212221222221111112111111212212211122212222221112111112212121221121122212122212221121112122121112211211212212222221211111112211121212111221121121111122222222212121111222221122121222112221111222122111122122111221112121211122211122112222212121112221112122122112222122122222121112211122111111122211221221222111122212121221222111222211112221211221121222211121121112111211121211111221112212121222211221211221212112111212211121122121222112112122111222111222222222221222112111112211111212222222121111121211212122121121111122122122122221121122221122122221221111212121212221221222121222222221211121221122211221121222221112121211112211111112221112221211211222222221211212221221122122111211112222211112212121212111121121112222221211221212222212211122122112212122212112222121211212222122122211122122211121112111112122212212221122121111122122212221121221211112222122121212222212222121112211221111221222222211222111211221211122212112222121211212222212221112221221222122112211211221222122222222212211222122211212112121222222112212112121211211122212211112221121222221221121211112222211222121112221121221212222112112222112211221212222221211122111112111211222112221112221111122211122122122211211211111221111122121121111112222122122212222112111112211111122111122122212221121212111221112212121211222121111112121111111211112121211111111221112122112222212221121211112222222111112112111112122222112121121122212122222212121111221122122112211211222122111111122121222112212222211122212122211112122111112212211112211112121121212122212122221111111112121222221222211222211211222122122122211111111212121121111212211121211112222122221212121121111212121122111211121121122211121122212111111122211222221112111111111122212122212121111211211222111122121212221112212122112122121112111211221122121121111112222221111122221112212112222112211221111212122111111111211211221112122211112122212211111121212111212122222122212221211121111222121221222211222112111112222111122121122121221121112122122212211122111122122222121112111211121221222211211111222222121212121112121222112112122222211122221121221112121111211221111222221211211211222112112222112222221112112121111121211112221222122112121122111212211221212222111221112111121222122111112221121121111222112222122221221111221222211122122111112211212112221111212221222211122222211212122122222111212111222112211121121221122112122122211222112212112111221212111222112122211211121222111211122111122222212111111122222112212111111211112221122221122221212222222222221212222111112121111122212111112122212212212121222222111211221221122112221121112221221121122111121211121211112121211121112212212221111222111221212112211121121211111211112121221211211121122112222112121211221112221112211111211121122121212222212222111212112211121111112111212111121112122122112122222221212112122122111112212221122221222212122112211212221111221222111112112121111122122112222222221121222111212222112122121211111212122212121121121211112111211121222211211111121112222121111221122122111222112121112212121221212122222212212221221111112211121112111111121121111211121212221112122222221111221122111111222112111122222222221212212222121211221221111121112221121122212222122221111211112212211112212212122212222221211222121221221222112211122222212111112222111121111121221222212222122112212121221212122211121112221212212121122121112212112122222221112222212111221221222212111112121111221211111212111222222212122221221221222211121111221212221121122221112121212212212211121222222222221211111221121112212112221111211121122121211112211221112221211112212222122211212212112122121212112112122221221111111112112221222211212111212121122222211121222111212221122121221212212212212121122121122122122112121212211211111222221212222122111112211112122122111112222112112111211211122211222211211122122112211122122112212121122111122221211211112111221121211112222212222121222221211121211122222211211122211211122112111122222122222112221222222122111112212122122122211221112122111221212122112112222212122211212112221122122211211211211112212222212212111111112122222221122212112121122212221112222122212222221112212221112211221122122211112222211221122221222121121222121122122112212222121122211211121121121221122111222122111121221121122212111122221112221122212221112212122122221121122121121121121111212111111121122122121222112212122122222111222121221211211212122121211222221111212222122112211221112112122221212122211221112212121112221121111212111221112121112212121221111111121222221111121122221211122121221222122222221122212222112111211222211221121211211222112212222112211112212111121112122222111111122222211222122121221121212221211121111221221122221222111211221222111212212222221221121222121222222222211111221112121221211121212112111212211221112111122212121221222212121112112112121222211121212212221212221122111211211221122112222221111221122122221222121221121112212121121122122211212112222122122221122112221122211111122111222121121122221221112212221222221222111111211211122121211221222211222121122122221122112111121212222111211112212221211121221212112112222221112211221222221121212222112211221121112121211112111212111112222112121111121121111112212221211212111112221122122112122212122221121122211112122122221111211221212122122111112112212111112212111222221121211122111121222111212212212222212122211212212222121121211122211211211112212112222111211121212221212221212121122221212221212111122212221111121121222221222221222121122222212212212121222221212212212212211112212211211121112112122221112121211111121111121212111212112212222121111222212221112212111212111222112112121222121121212221111121221112211112121122212111121221211211112221112112111221111111122211111212122211111211212222122211211112212121221212122221112222122121111221122221111112122112121211121111211222211222121222111222221111111212121212122211121221211111111121121122111121222211221111122122212221221211211121222212111111211221121112112212222222221221222222111222221222212112221221111111212111222211221111211111121122121121222112212212221221111222222211112211221211211112211211222211122112212111211121111211211122111122221112212122122112111222212121111222112121111212112122122222112111211112211121112221122121122221121112121211122212222212211211221222122211112221221111122212222111211211221111112111212122122111121122112212211212121111111222212222212222221221121111221211121212122221222111212111112211111211122212221122111121111111112121111112222212112122222221222111111122122212112121211112122111112122222112122211112121122222221121121121111211121122222122211222222222211211212222111112112121112211221111211221211211222121121222221211121211221122122221122112211222122121111111211121212211222222211211211222112111121222211111212122111122111222212111222112122222222122211121111212222212211112121212211121121112121112122111112112221122121122111211221222211112122112221121121211211222122111212222222221222211111222211221112212122212211221212211211122111222212121111211122111111222222212121222212122122221112112121111211122112111121211121121112212221211211211111111222212222122221212211212121222122221121212212211221111222222112221122112212222221121222212212211211212112122112212122122212211112222112211111121211211121122222212122112121112222212221221221121112121112211121112221111221122212221122222221221121221111111111121121121112111121212222221222112121222122121122111112211221222121122212222221111122212222121212122222222122122122111121112111122121112121211121221121121212222212222121112121121111222122122212112121112121121121111122211212211121212222222222121221121211212112212111222111211112222122122111211211122112122212121111211221121211122211212111212212122222112122222211111112221121121222121222221112211212122122121122222111221122221212112112211211221221121222211111112211211112212222222221112222122122121211112122222112212111122122221111222111221121112121212112221111211121211121221111222122121122112111112122222112121111112222211111112112122122112122211211211122122121222222121212211121222112222212122212122212122221122211111121121121212211212112121212112111112222211221211221112122221221111111111211121122111111222112221211221212221112122111121212111112111211222212222111122212121111121221122112212211211121221222111221222221221122221121111111111111222222121112212221211222222211222121121221212122222212212121121211111111111211211211212111212111221211222221212111212112121111111122111121111222222222212212111222121121222122111121212222121122112222122112111212212212212221112212222122111221221221212222111222211211121111222212112212221212121211221121212221122112111122112121122121111211221122222112222122221222112211221111111122121222212221112212222122112121211211212222212112121222221111121122221211212221121112122211111211211121221212122212211211222111111112221122112111221221111121111122122112121121112111212221222211122222222221122222212112111121112112222112212112111112212112112112211111221121112122221221121112121112121112112112222212212112212111111212111211111212111112121221121111111221122211211211211121212211121122211222112112211111111112221222112211121122211121212121212112112121222112211112212221122222121111212112221112111122221212221112111211212112212222222222121211122122122111111222221222121111222211121221122211121122112111211121221211211111122111122212111111221212122112212212121112222122211122111212221211122111112212111221221212222221211212111211222211212121221211122222222122222211212211121212121211222122211212111121111211222211122112122122121111211121211211212111211122221122111212112222211221121212212211111222222112212212221222121221121212112211212221211221122212221112221211122112222222112122222212121112212221221111121211211222122121212222211211222221122222212211212121111111122212221212222211222222121122112111112211111222112212221212212222221111212112122211212222122221121222111211121212211112212222212121111122212112221112211112211221112222112111212111121211122211212222211221112111221112121221211211212222121212222122212221211112222222221212211112121212121121212121222122222121222211211121112222111112222222112221121222122121122121212111122222212121122111111122112121211221112221222112112121211121222112121122212121222211122111121222211112212222212222211211211122221121122121112111222212122221121122122211222122211112222222211112212121122112111222212211212122211122222112111112222112211121111222111112212221221121121112122111211212221112221111211111221112212112112122221111112212222222122112221122111111122111112122211212111212121112121212121112111112111212221222112111211222122112112221111122112121112112111112112221121121121222221221112222221111111122121211111211222111122122121122122121122112121121121121222112212121111211111112221122221211121211222221112221111122221221222112221122222212212112212211221112112121212212112212112112211211221112111112211112222121212221222111211222121122122112121122111121221212121211222222112222112111222112221111122121122211211111111122121111122111222111222211111111112111222112121212211221211111111111122211112121211111121121121211121212111211211211221221212122221121212122112111212222121212212221111122111211222222222121111222211222212121112111111112111222121221112122122222121112212112111221222111211112222222212221111112222221211212112121212121111212211111112212122212222221122121121212111121112121122221221211121221211211112212212112111121212221122112211121222112122111121121211222212211221122211112112221211121211111221222211121121111212221212121122121222112122122111212221221112211121111122112211212212212112222111121121111122122212112111122111112111111112121111211121122121212111222221221222212211112211212112212111111111211212221111211221112221112211112111122112112221121222221121221122112221221221112122111222211122121122222212112222112222111121121122221212212122222112122111121221222112211212221121211212222221211222121121121112121222121222112222112211121221211112122111121121122221121111222121221212222112111121211112112112222111212111221111111212222121122222221222212112222112222112212112222111221221121221121112222122112212122221111122121211122112211212122122122221211221222112212112122122222222222121122222222221111121112221222221111112112222211112211212212222122112212121211211212112121121221121121221222121121212112111121112111122121122211221112212121211211112122221212212211212211112221221221211122212122122112222111212122211122111212211212211121212211112221211112212211121211121211221122221121122122221211212111122111221212222112111122111222221222222111212212212121122122112121112222112212111222111211211122222221112212121212112211121112111222111221111121121222121211212112111111211221221111112112112111111222122221222121212211212111211121212221112121211222211221211111111212111221212121221122121122211212121222221212212211112111221221212111221111122122111211111111121221211112212222212111211211111122122122111221112211111221121111111221121221211122211122121211122122211112122212222211222212122211121111111121112122122112121111222122111111111111112221221121222112211111212112222112222211111221121211122122211212121122222122121211221121211122122211122212211111222122211122211221221222112121211222121112221121221122121121211122211121212121221222211122122221222212111112112122211221111111221112211211112122211112121122112122121222121122121122212211112211221121121222122121121211121121222112112122211221212212112111122122212112112112122221211111112211212211111111211221121112221221111121222111212221221222122212221121212222221222211121212121122211112222122212122222222221121112222121121212122121221212121121122122111221221112221111112212211222211222212121122121121122111222121122111121221221122212122221111221221112221222221211111122211111221121212211222212122111211111122221122112121211111211121122111112221121122122112211122221112221211211112211211212112111121222111121221122222222112222121212222121221222211112211212121121221111122112221112211111111122212122122211211211222111112112122112222211122212121212221111121112121111111211111222212122222122222121222112121121212122221222111112111221222221121212221212122222121122111111221212221212122222111122112211112112111122111221221222221121212212211212222221122212112112111221212211211221121122111221221221212212212221121111222121111212222222211212222211121122221121122112221121221222221111112122212212111121111221111111211211111122121221221112222121211222212112121121211111112112111222211222112211112211212221112121112112222221212211111212121122111111111112122111222212111211222212211222211212122211211221212222211212121122111111111211121112221212111111122121211212211112122112121221211211222212222211122121121221221212212222121212222111111212221122212221112121121122112221121122212111112211111111211222112112121222221122112212122112221221221112112121111112212221211122212111221111122112121112122112121122122112222121212111222112112122221212212111221111122211221221112212122222211112112212222221211222112222121121111121221212221222111212112122221122211121121121211121121112221211212211121112222122211222222221221212111122111221211212211121211121121112111122111111122112221111112212121212211111122222121112221121212221212112121121111121111112211121212221222222112211111112112122111111111122122222112111121212222212111111212111212221111111211111122112211221221111222221221111222211112222112222112221111112211122111111111112212212211111221112121121212111211212122212212112212211111122212222211222212122111212212121111211112222112212122221222111122211211122112212121222122122122112112222122121212111222212212112121221122211221222111112222221121212211212122212212221112221112222121212222212122221222111211222212222221111112211212212111121221222121122222121211212111121221111122111111121121221222121112221112222122211122211111222122221221212111211112222221122221211211121212121221222222121211222121112111111121111211211121221221121211222222111121112211212221112121211112122121222212121112122221111221112222222112112121221111122222122212221221111111122112111121121122111122121122222221121122121112222122121222111212121112211112212221221222211122221122211112112121121121122111121222121121212222122221222121221112221212111222122122121112212122121221222111212221112121121112112122122112211121212122121222121121221222211212121111221122112111211212211122121221221212212221111212121222211211121211211211112222121222211122222211111121111112121222222112112122211211212212121112112111121111222121112122222222112222211221111122111212112122212221122112221211122222122211121212212221212111122122221221122222111221211212221221222111111112111121122212122221122212221211111221221222211122111211111212112222212122121221122222112221212122211111122122211112222122211212112121211212212222212111221122121211111122112122122221211222112122222122111222222122222111222211111211112112222221221122111221211222221121212221122112211122222221221111112222121221211122111111212112112221112222111222122222222211211111221122111221112221111121222222111112122122221112211112112111222122122222111111211122111212221122122112221211221122222121121121122112211222222222122121121111122112112111121112222122122221112212112112221211211221212112211121221122121112121222122112122111212121212211221122112111222121122121211122221121121221122212222121112221222122112122111211121211111112111212221111211221111221211111221122222111112222111122111222112211212122111221221211221112121112111221121221221211211112212222211212212211221122122111212111222121111121212122222122222121212122111222221112111112122112111222112112222212111111221221222122222112211121212212222212212111212211112211121121121122122112221112121122221222212211111112122121221111111212121221222111222122112111111111112122111222212112211112212122121221112122222121212112111222112111211112221122112111222212112121222211211121122212121121111211121111221221122121211222111221111111111121222221211111211211122121111222112122221222211211111111221211112212122221211121211112211222112221112122211222221112121111221212221212112111121221112212222212112221221122122112222211221221121111221112221111211112122112122111222121111222121112222212222222122122212221222111211212211221122221111112122221212112222112111212222221111212122121222121211212122222211122222112212221222212121212111111222121122121221111211221111111112112211222112122112212121221221111221221222111222112221222221211212211212111112111212121212211111122221121222221212122221111112112221222222211122122112221122222211212112222221111111122112122221222112212212121222122122112221112221111221221212212111112112212221222221112112221122122211212211112112112222122121122121112122212212121112222212112122222221122122122122212112211221121221111111212211112112222221211121121221111221112211121212212112222111122111112222221221212111111111212121222121121221112211121211111111121111121112112222211221211122112122221111212122212111221212122111122122212122111212212121222122121112111222221221112121211211211221111212221211211222221121211111221211112212221122122222212122222211112211211121112111121111221122122221112221112121212212121212111211221212111122212111122222221111112122211121121212212211121111122221111221221222111121222122112222212222222111221211211111111221112222222222221111211112211212221221212221211122112122221222112221121222221222111121221222221212221121111121222111212222112212212111212221222212211221212111122221222211212212122222211221112212112122211122111112112122211121212211111211121112121211221112212122212122122221111222112122221112221121221222112122221121211112212221122221111221221222121112212211211211111211211222111112121112111211222221212112222112211221112211121221211111212221112112111121111221121222222121221112222111211111121112121111211222222122112212111121222122111122211211211121111112222121112211211111222212121121112211111211221212222222111121221212212112111221212212121212112121221111211211221221121121112121222211211211112212212211221212211122112122111222122122212121112122122222122212122121212221122211111121112212122121212221222121111112212121212112121111122212211121212122121222212122111121122112212121212211222221111221212221112221212122211112121111222222222111222112212222112211111222112121212122212112122211212111212112112111121211212211211212222212211221111212122111222221211111122111222222211221121111121212222122212122111221112112211121112221112222112222211121121222121212211121112111122121111112112211211211221111221222111121211121111112222122222211111121221212221112111112212211112211212121121122221212212222211122212221211221111112111112112221212122212211212112112122212221112221112111212222212112212112111111221121212211121211221122112211112111211111211211111122221122122212111212222212211211112211112121121122121122212112221122111212121112221211112211212211211122211121122211122211122221122212212222112222112112222211222212222111121121111212212122121222112111122221112122212121121111121211221221212122111211112111212212111211221112221121111211211121211111122112222112221221222222111221211121211112121121222222112221122111221221111222112211122212221112211222222111112222121111111122122122121212122222211112221121212112121111121122221222112111112222111211211222122222212222221111121222111211212121122212222122112122222212211111111122212211122121112221211211122222111122121222222211121212212211222212121111221112222111121211212112112221122111111212222222222222221112122122121222212211221121122121111111221212112221212111211211121112212221222111111222212211112221111112112111221122112221122211122122211112222122211112212121112212112122122212122122221122121111111122221112111212211222122111222212222212112212221122121111112222222111122211221221112121211111221222122212121121112112222121111222211111111121122121112222122211111222222122211221222212211122211121221122211211221112122112221122121111121212111212222211111222111211222212222112221211111211211212222122212122122112121111212211112112112121112211211122222211222212122122211211222222121122212221222122112221211112222111211122212112211121212111211211111121121112222121122211212222211211211211111211121122112122112112221211221211222122222211122221111211111122222221222221212121111112221122111122212221211211211111211212112222122121222122112112211211111222221111111111211122211211222112212111111122221222122211212112211212212221212111112212112212222221122112121222111111221222111122111112112121121112111112111222212221112222122121112212112212222221211112111221112222212211121222122222222112111222112121221212122221121212212212222212221122111111121121112221112222212221122112222111211212212212121222221211121112121122212222111121222122211221121211122122212221121211222221211112211221112112121112221212121221212212111211212221112111121221212112111211112212222121122121222112212122212122211221212121221221212222121221221212122211122122211111221222222211111212112112212121222121121112211121221112212221121111211122122211222111122112122221111111111221212122222111121212122221222122211122221121222121112221221212211111121212112111111122212111122121212111112112221112221112211222221122211211221122111221111112111221211221211122121211211211221211112211212121221212121121222111112121121222111112121212111221112221222121112212112121112111211111222112212112212112121212222222221222112222111212121212221111222212111122111211122111221222121222122221212212122211112122212111222221111111212122211212121221212111121111211121121212211221122221122121212122222112211111121211221111211211222112222112112221221121122112222212212112212221211122121111121122112222122122221221212122221222221212212122222122122211222111112221212122121111122122111122211212112211221121111211111211221221221211222121212121212121212112111221212222212121111221112212122112211212211121221122211112212121121121211221211212122212122222121212222122122221212121111121122121211111221122222111212222122221211111222212211211222121212221121112212121222112121111212211221222112222121211221121111212211222121122211112211221111222212212112112221212212211221211212122221112211222212122222122211121212111112112111222222111111112211212111121221121221111212222221211112121211212221212211211221211212211211111122122111112111111111122222112221212212111112121221212121121221111222112212122212111211112222222222122212221121211222211221212121212111221122122221221121222222112222112211222111122111212222212211212121221121122222121222211121211222111211112121122221222221212122212221221111211112111212221122221212122111212121221112111122212112211121122122111112111122211222211122221222122122211221222121121211122211122211212112111212121111222112212211211212121111112211222112111121122121111121211121121221222112111122112121222212111222112212111121222112111221221211212212111221211121122112111212211121221212221121121112212121122212212112111122211111121111221121121211122222122211222112112122211212111112212212211222221112221211112211111121112112122221112121222212121221112122121121211211212121221212122111112221211121121221122121121122222111121121122122211211122221122222221212111211212211212111222111211122121211122121121211211211222121121111221222122111221111222221212121212111122122112111222221221122122111111222221121221221222211211111222221221122122222112221121222112211121112112211122121211111211212112122222111211122221212121221112122121211111222221121111121111212112121111112211112111111221112211121122112111222112122222212221221122122121222221211222222121212222222212222121111112211121122221212112212222211121121111111121112222221112112122212222122121122122121111111222212111211112121221212122211111111211112112221211111111211111221121111212221112112112222112122211212111211112121122112111122212221112111221221112211221212122122211122222212211221221121211211111112222122222221221222221122112221221111221222122212211111111111211112221111122122112111111112122211221121111111122222221112222122221221111221211121112222111212111222111221211111112221111121211121211221112221122211111112122111222112211122121122122212222221112112112221221221222112221222221222121211211112122111221122112222221122221112222221122222221111211112122112122122121121111111112122222221221122212121221122112212111111222112112121211221122221112212222111122122112122121112122121121212221112112221122211111121221221121121212211222111211221212222212112122111212122112212211222122211221121121121111211111121122112111211222122121221121122212221121111112222212121111111221122211212211212211111111211111112112211112111121221112111121111112221212212111211122111112212211121222211111111212111121121221112221122111112221211122121122221222112211211212211111212111212221212211112122211122121122222111222121211222112111221111122212211222112222222122111212112221122111112212221211211221122122111211111211111222211111221211211112122121221222211121221222212222222121211122122111211122221112212111121111112111221211122121121122212111121212111122121212212112121112212112221111222222122122222122222211212212112122121221111112112112221111212122212122211121111222122112212122112112112111222212222212221211221211221111122211122112121221122112212222112122222211222121111111111211212111122221112122212211222111121212211112122212221122222112111121111122221121222112122212121122222121111222221122211111122212221121222221112222212211212122221212222222212121222112222111221211112212211122212212221211111222122222111212211211211112211212211121111112222211212211211222111222221212111121211212212121122121221122111111122122121212222211122122211212221111122221221212122121222122122122222112112212111122221121111212211121221112211112211211112121211112211222111122111121212211221122111211221111221121111121111211221212211222111212222221211222221112112221212111121211121112212222221112221212221211121121122112122121122111222211221221112221112221112122222112212122211121222221212221111222222111121121212211111122122122212211211121212211222212212212211222211222221122221112212112111121212121211122211122222211211121221211222122122112111121211212212122122212222221122211221212221122211122112212212122212212221222112112222221212112112221212221111121121111222121111111222111221222122212221222112212221221112112112112222111121121121121211111122212112212221112221212221221121121212112111121111212111122211112111112221212121111212112111212222121221111211112121122222121121122212112121121122111112221112111122211211112211222222212222211211121112222122122212212112112221212211111212221221212222212122112112122221221222222121212221222222221221122211212212212111111222122112211222122212111111212212122112121112222121212121222112221212111112211222112112211222211221122112111122212212211222122211211222211121222112221222222112211211221212111121211122111212221111122112111221212211211211122122121211112122112211221121121212122122112211122112222122121121212221111111221211121222122121111222121222112211122221211222121112122111211222122121222111221221222222121221221112221212222222121212121222122222211111221122112121211111222122122111121122111121212221212111212121222222112211222221221112112122222212111212221111211122112221121212112121122111121122212222121221112121212221112122121222121121111112122111212111221122222211121112122121211212211121211121211222212121122122121221222212222112112122121211212221121122121222212221222111121222112221122212222121111112111112221112111221221112122122112122122211112211212111212111222221211111212122222111111121121111112221122212111111112222211121122212122211121222121122122111221212112122112222121111222122112122111111221112122112222111111222221211222221211222211222111222122212211211211221121221211211221221212122212122211111112221211111122212121222111121211212112212122212112222122221222212222111222112122111211212222212111111121111211221212222112122211211111111212221122221221122212221111211111121212112122212111221121111111211122211121221211111122222222122212221112111221211111122122122221212111211122111211222212221111121112222122222121211111222221112122111211122121221111222112221112222211211221211221222112122112221211122112111111221111212112221211112121221222212121112222212222121111211121112122111111112112222222212122121112211211211221112121122221112122111121221111111122121211211212212211121222211211111121121121221221122211211221111221222212221211222212111212122121112221222221111112112111211121212122112221212221212111211122222212112111212122222221111221212222122121212112211212112212121211222121121121121221212221222221122121222122122111111222222112122122121111111212222112211211122112222112221122111211122122221212122111211212211122222122122211211222211111121211112212221211212111122221222211111212221221211222122121121221121112112222222122212111122111121111222222112221112222121121212211212222111222112121222211122211112112212121112212121211222111211211212122111122111221122112222222222221121211222211112122222112121221222122112122121212222111212121111122222212221111211112222211211212221212112121111112212221211112211221121211222212111111121211212221112122122222122222222222112112221211112222112121112112222222121222122121221211211212222121211112111211211211112121122212112111122222211222111221222221112221222121212121122112212211112221121221221212112222221112212221212212222222221122222222121112112222222221222221211111221122121121122211212122212112111211121122211111222112212211222122111211122212122122222111221111122221111211212121222112212121121122222211122111122221112112121121212121211111122121121211121121222211121222122222122212221121112111122221222222211221212212221212212111222111122111121121211112212212121112212122111121222222221222211212212111221212212222111122122211222122211111211112212111221211211212111122212222211111111122221112222222221122121222111112212122222212122211122111221111121111122222111112112222221221221111222111122122211121111121122112211121221112111221222111121121212221121121121111222112212212212112121121112211221211111222212211211211222121121222111121111211211112111112212121122111211222121221212222212222212122112211222121211212212212212111211221111222222222211112111121211112122111222112211221212222212222211222211221122222122122121222111111212121122122111221112211112222111222122121211121222212222222112211111121212121122212221221212111221211122111211121222212122211221111122111222221212111112211222221221111222212121111111121212221111112111121121211121122222121122122122212112212212122221222222111222211111212121121111221112112211121212212122122222221221111121222111222122212222111121222222111211111222211111212122222212111212121212121221222122222111211112212121222122112112111221112121222111121222212211122221121212212212122111121212221211122122211221212222121212212221211122112212122122222122122121211112212211121222112212222122222122211221122122211211112222221121222111211112112112111112121122221122212112122222121112122122211212111212221222122122222111122221221211221111112111212112222112111222122221111211121212112112222222221112122221222221112221111121221111111112122111122222221211112222211121221122111211122221221112121222112211221221211121212211212112121121111112212212211212112111122211122211211222212212222221221212122112111211221222112222222111121122212222222212122221121221122111111122211121222121222222211212211221212122121112112211112212111221211111122211122112111211112212111122121211122212221212221222222122111212221212112112112212121122112212121211121121211212122122122112212211111222211112111212221112121212222221221112122111221111222112211112221212121211112221212222122211111111121121222212122221111121112111121222212212121211122211221222221122112121221111212111111122222121121121111121112111221212212221111121112211211221222122111222222211122212122122111211222122211221211211121122111222122212221121212111211222211121222211221111122122221221112121222222211112221111112121212222212212222211222211121211212112112112222212222222122122221221222122211222122211122221222212111212221111112112121222211211212222222112211112212211122221211222111121221122222111221221111111111221211212121122212111221121211112222112211211212212222111222121221112221121111111221212122221122221112121121222212112211212121221211112212212222112121111112222221122121211211121121112111221212121222211121211212121212111121212211112222222211121112212211212211121221222222112221211212122121212211211111212112221121212211111111222111121112122211211122222121221112112121112121221112221121222211211222121112221111221222112111221111222221112221212222212122112221112221121112111212111121222111111222112211112112222222222111212111221221122211222112211222122111212121121222211222121221212111122111221221212221122211121221112122222211121222121222212222222221121222222212221222122121112111121221211122212222121211122212211211222121112221121111221212211122221111111122211222111212121221122111121112221111122122121221121222221221212111122122111212121121112221212121112222122222121112221111212222122121121221111212122211221211211212211122111111221111121221112211111112122111221121121122121211222212222111222112212121212121111112122222222122221111222212211111111121211221111112221121121121222121111111222212122121111222112122112212112122211111221112212222221122221112221221212112212222122112212111121212211211122212121122222112211121111112211222211211221111112121221212212122111221221222122112122112222211122111212112222222121112122212111112212212122211122212221122221222221121221112122222121211111212112122121111221112112122221212222221212221112121112221112112212222121211111121211112112222112211112222112122211222121221112122112112111212121112222212212112122222222111211112222111112221121111112122121221112111112111122211121111221111221112222212121211121111121121121222221111121212112112121122121122211122221111112111221222112212111212211211221122122121211211211112212222211221112122111211111112221221212112122211111212211221121221221122222121111221222112212122111212211212112211211222121121221211121112222222112221112212122212122122122121111222211112122212111222211122212222121112112212112111121221221111121212222221121221222221122122111111211222212221111122212112222212221222222111211111111112211112221221112212111111222121212212221112122111222112211112121212212222112222222212221122222121122212111212211112221122111111111212212122212221121222212122121211212111112222121212212111111221112121111112211211112112211111222122121121222222112212122221212222211122121211121112222111121111221112111221111221211121122211212211211112221222211121111211221122222212121111221221222122121112111211221121212111112212111211112212221212121121111122222121112122112212122211121112121111222211112121211211222122111121122211222211221112222221222121222111211221122112211212212222122221112112222222121121222111121212122221122211111122111111111211222221211121122221111122211111212211211212221211222221221112111112222112221111222112112112112121112112221112111112212211111212112212222211121122121111122221212211112122221222121122111112121222221112212122211121221122211212111211121121121222211211122211222211122112122122221221211211221212221222121122111221211222221212111111211121111211211121122112122122222112211221111121121121111212212111212111112121121221222211222222222122121211212222222122222211122222111221222222121121222221222112122211121212211122211121221121111211121112112221212112122222121222121222111122211222211212221212121122221211121121121222222212112222212111112111121122221222221111122211211111212112222211121222121111112211121121111222122221111222222111122112112112222212111222221122212112222112222111211111212221221121221111122221121122211111112111211221221212122121122111211121211112122222222211111112112122212212221221112111222121122121212211222122212111122111122121122212112222222211212212122122211222212112211111121212112222212122212122222111221111212112212221122112112121211221212212111212211211111212222111111111212111121121221112212121111122212112212121122211212111221211212222212121121221122112122111112222111212112121121211121221121212211112121111111221112111111112112221121222211221111212122221122122211112122222112112221211221222222122222221221111212122111122122111112211212111211221212212111212212111122222122222121212121121122122212112122111212211111221111212212121121121121112211212221122211222211121121221222122222212221222222122221122212221112111222122121212211122111212112212211211222222212112121222111112222122122212112112212212112211212122112112222211212112111112211222221222112211111112211111221121111122122122121222122122122121122111121111211111112121122121121112112111222222111212211212121222221221121111221222111112211112111222221222211212221221121222112112112122212222111211111112111112212122222211212211112221222112111112222122122221111222221222122222112112121122122112121212122121122122211122222112221221221212121112211222212211112121211111121221111212121211112221222222111221212221212211211211212122222111211211222111112222222221221121121211222211212211111111122121212222212122111121121111222112211122222121121212222221211111221121212122112121211112222222221211211122211222112122121122222221112221121112112222212112222111111111111212212122121121122211111222112122112211121212112122212112112112122121222122221112222112112112221222122221112121212211111121122222121222111221221121112212121222222212212211222212222112122221121111111222121212222212112112121121222121212111111122212122222221111121222212121211121221112111221221111112211122121212212121211222222122112222221112122111122212222121121111122222112121212221111111111112122211222212212112112211222212211211112222112111122122221211122111212212211212111211212221211212221122111211121211121221211222222222122212212211121222211222211121122222111121112112121112221212221212122211212122111111212211121222212221222222222221112212211211122122121222122221122221212121111111222211111212221211221111222221121221211221222212211112122221222221112222222112121221121111221221211112221212222212212211121121212121222221111112112221121211222112112122222112222211211212222112122112111122211211222212211211222121211111222212212112121112121121112212122112111111211122212221211112122121211112211122112212212211212221222112212221212122122122212211221121112111211112222212122212211121112111122221112121112121222212121111122112221122122222211211222222111222112212211221111121211111121122221112221122111111222112221212112212122221121112121122212222212221211112211122212212221121221222221111212221211211221212211222121221222122122111211222222212211212211211212112111211212111221212221111212222111112222122111112111221221112121222222111212222122112211212122211221121121112222122122112111111222122111222211112122112121121121111122121111121211211212222212111122222212112221122122121112111121122211211212111212111122122211111122121122111211122221222111211112212112112222222212112121221121121222211222212121112121221212121121212122122111112222222221222222211112121221221121222211221111111122122122222221111111211112222122122111122221212122112112111111211111221111122221112222122221122222221111111211211112122111211112112212222212122221121112222122121212121212111211122111111221222222121111211222221112112221112212221122212121212211121212222112212221211122111121222111221121211221122212111211121222211211212122211211122212211212112222221112112121211212221221112122212111221121122111111221112211222211122221211221212122121121222112121212122211121221222222122221212222122211211221122211221122121111211222212121121122212212111111212212222122212122112111112112122111122122122112111122212212121121211121121211111212112212122211222122221111221221211212222111112211112211211122122111222211212221111212121222122212121221211211121222221211121122122121111222211112221221212111111122221111222122221122112222112111121112221122211212111211211221122111212221122111212111112212111222211222212211122222121121211221212111112211111121111121211112112121112222111111211121111212212222121212221221121121212221211112111222211111112111122222112122112221111222211121212122121122111212211221212222221211111112121211221211212122111212221111211212122211212221221111112112211112222121211112112222211122211212111121112112211221112211112222221222212112211111111111212222222212212221121222111211212211211211121221221121112111121121221222121121111211111121112212112121221112121111222111112211212221122211221121211112222122121212212122212212121212111211122112121212211222122222222112121122111221222221212221212121112222122112211111112111112221112121122212212111212121212211122221112122122212111212211222211112212222212222211222112122111112122222112221121122121111111111222222111222111111112222221211111122121211112222211121122212122221122211122212212222111221222112212112121212212222222112212111121222112111112121221121121111111211211112212121121121222112122111212122221222112112122212221112221222221221211112221122121211212212211221212112222221222222122121122121222112111211122122222112122121122222112122121112221112112122222122211112222112221211222212122111121111221122221212221212121121221212121111111122121222112211212111112111212122112121111211222122111221212212112112211111222112112112221222211212222111211222122221221121122112122122121121122112222121212222121222111121211211221112111212222222122222121212212222121122212212122222221122222212211112211212121212121211212112212121211211212112212112111222122112122122121122112121112212221212112111112222122121212221111221212111211221122121112222121121211111121121211222112121222112121222211221212221112211221112211222211222222212122122112221121211112211212122122121221221211221212222112212212112121122212122222111212112211112111212221211122221222221221112222212111222222212211221111122212212211121222122221222221112211211222211122112111122111121211111221211221211112111121212122222221212112111111211212222222121112212111112112112112121212222211121222212122211222111112211222122112222112122122111222111122222222221121221122112212122111211111121122111222122212122212212212122112222112211212221212122212111122222122122122212222221222222111212112122211211212111121221211212222212221121112221211222111122211111211212212122211222212122122211222212112121111212111111121222112122122122111222212211122222211221122221212222111222221112222121212211121221121111221112211121121211112221122112212111212112212211212111121211221111111122212211122221212212222221122122212211211112122112211212121112122122112222122121122121221222111212122211111211212212222112222212122112212121222122211211212122121122211212222221211211211122221112122212121112212121111122111222212212122121111121221122221212211112222212112212211221222221222121212212112122212212112211111212111122212122121112111221212221211211212122111112122111222221221121221112112121121222112222221222121111212212111222112222221212211211121112211222222112121112121121112121212221222222222121222221121212111121111222221222221122121112222122111211122112121111211211121111222212212221211122112112121112221111111111211212121212212121211222122212121221112221222211211112222212122121221212121212112212111121211112221221211122111221121121121121111121122112222211221222211121112112111211121121111211122122221121121222211222211121222111121211122112221112111111222212221112111111112222212111121221122122222222222111121112221112212122222121112111221221211222221221112112212221222112112212111221211212122122122121112211122122212112222121112221122111222212112122121121221221221221212212111221222211221221222122212221212212212221221222222121222222121212212211221221122111212122122122112111212222111111222112222212212212112121212222221122112211222212122111221122112111222111111121112222111212122211121112211211221121221111121221212212222212112211221211111121122122222122212221121211111221112121211222112112221121221211212222222211221212112112221211111211221111121122111212122212221211211121212212221221121212221211211122121211122222112112111212221221211222121122121121211222122111122221222111122212212111222122121222111121121112221222211221121212111211121211212221111122112211112121122122111222111122212122112111111221221222222222122211121111221211111211111111211122122212222112121112121222211122222222121121222121111112211121112121111212111212121212112111122221122212222111211112121111111112122211121211121222121221121112122111122212122111211221111122212122111222122111221221222121222221211212222211221121221111111122222221121122211112222122112122112121212122211221211121122121221112221121211212121112222121222211122221111211122121221222211211212222112122122221212221211212121111211121111112211121121221122122212121121211112222222122211221221121121121111121211112112222122111111121111112121222121211112121121112212122122221122122121221121221211221221121112221112221222211221122111212222222221112112212211121112222221111212112212222221112221211212122122122211212211221222121221222221212121222111211111112112221112112222121212221221222211222121212212111111121122212222111212112221221122211221122111111112221212222222122122222111111221212112111112222222211122221111222221122122212212211222211112112222121212122111222121111221111211121221112221222212212221212111121121112221211212222122112212122111121222221221121111121222212221222112222222112222221222221111122111222222121212222221112222112112221212121111212122112122121222111112111122121222122211112212112211122222221222111121222112121221112112212212121212122111221121122212111122222212212221212122111212112221222212222212221222212212112112211121122122211112112211111112221112121221111111122222221211112221122212111222121212121221112121211121122122212222111121112111111111121122121222121211222222121112211222111212122222112221122122221211211121222122222112221111212112211221222211212222222122112212111121221212122222222122222112222121121112211211221121211222121111221221122121121122221121112211222122121122222212111112121221221121112221221111212211222122212111222122112211211111122221211111222221221122111112121222222222111111121211112112121211211221121222122212112122112121211221221112222122221121212111221122121211211212222221221211111222222111222211121211112212211122211221212222112212112211111112211112121121212121112122212112122122222212221211211221112111222112122111211221211122122121222112212222122221221112212211111212221212221222212212111122221222112221112122222212122122212211111112112121222211112111212211212112211211122211111222121212121211121222112212222122121211121112111112122221211122112112222121121211122111211222121121111121212122211121222212121112112222111211221222222212121212222212122112112221111211122212222112121222111211221212211212221121121111121221212121111221111221121221111112122212121222221221121122121212111211211122121122122212212221211112122111222122212221222112222211112112112221121211122122122221211111211222111211221222222121221211121112112122222222122121112122122211122122222121111212121122121122121122212111112221111122222112212112212121212211122221212212221222221222212112212122122221111121221212111121111112221212122122211222122112211212111111111112222121221122122112122121111111122111212121121122111112221111112121211111121212212221212221111212112122211222112211221212221122121212211222121122111122111112212122211112122122222222122112112122211212222122111211111221222212221211112221111211122212211111212111221221221121122112211111122122222222222212111121111111211222121112212212221112122221222221111221121222111111221122122222112111122121121111211121122121121222111212112212221112121121121121121222222222112121212121121122122221212212111221211112212222112212211211211112211222211221221211211121112122111121112211212111121122222222212121122221211121222211121211212111222221121121122221122121121211212121111222112122211222222222211112112211212121211122111221122211212212212111121122222222211222212112221122212211111211122122121112112222112122121111121211112121212222122221221212212121112222122122211122121211211212111112212122111121212112122222121222122211121221212212221121121212122111112221211221112111121222121221212212112221221211212112211111211222221211222211122121211222212222211111211122112221121221212121121122222121212111121222221111121111212111112211222221111211212221222212122121112111122112111212221111211111221121111211122212222212221111212221111222121121212112212122212111211112121122121121221211211222121221121121112221111221212222221121222121122211111212221111221212122112211121111121122122212221121112222221112111111221212221111212222222112211222212212221111122111212222111122121122122121211111221221211112211122111121222121112222212221121111112111122212111211222112221112211211112211212121122111221212112222222122222112212121112122222212122112122111212222212112222121222222221222222111212121121111121121111222212211211121121112122212211211211121112111121122222212221211211112111111122211121221122221121111222212221221221211122221122122111112222212222221112112212111111121221221122112111111112111221112121121212212112112122222212211112212122111122212212112112121222122121212111222122121212121121222211221112121122121222121111212221111211222212111122112121122211122112222122111111112222121221111221122221212122221121222122122212212212111112222111212212122222221111221112222222221122211111122111221121122111121122221221222222112222122121221221111222222121121121211122121221112211111212122111112111212111121222122221212122211112121112112111121112112212221121221211111211222121112222111221112222222122212122211211121221212222212122221121212121211112121212222122212122111122122112121112221122221121111211221111211122222211221111221121122212211211111211121212121212112211121122222112121111211112122212121211212122211112112221112221121211112122112222221222122111111211222222122212222111111211221112112221211122222212211122221212112111121221221211212111121111122121121121212112211121122112112211212212121221222112211221211221112111212121112121212212221112121221211122111212222221211122222222121221211121221112122212221111122122212121211221111222222122211222221121111112222111122121112211121211212211111222112121121211211222121121211211121121112222112221121111111111222222212122122111111112112112111212212221122211222222121111211111211221222222212212121121122222111111121222111112122111121112211211221112121121121121121112212221112212212122121211212122211111211111121112111111211121212111212122211121122121122121121222221222111211222111111112222211112122122212222222122111121211121112221121221112212111122121222111111222112211111222222112121112121121121121111222112211221111222122111122222222112111211111211121112121112111112222121211212211211122112221112211221221211212222122121222121212122111111112111122221211111111121221222211211222211121211211121111122211111111221212122212222211212122121221211222212121122212111111212111111121112111222111111112111222221121112122212221222212112212121212111121112122111112112212211222221212221222112112222112222212111222222211211111211111211212112111222122122221221121221222222211212222112122122221122122212221211211121111212112212221222112111211221222211122212222221112212111222111112211122212211111212111111111121222111212212221212212122221112112211212222121211112211212212122212112212211222121212221222112122211211111111212122212112212121111112121112111221122111212212122121121122112121111111212122112122212122112112121122211221212221212222112212222112122222111112212121112122122212111222121221121221112221212212221112221112122111121221111212211221112112212112221212111112122221211122212111111122211211212121221221222211121221111211121111212112122112221221221222122122212222122112221121211221211221212211221212212211121222122111121221211121211222122121111222222122222121221122221211121121212122111111222112221121121222211112212222122122121122211221212211112121111222111222211212112221122121221122221222112112122122221212212111211111111111212221212222121112112212211111212122211211222211121211112122222222112222112111111211122212221212111112221121212211111211212211211111121121211121121212112222222111121211221111121112111211111222222112122212222222222111211211111122211111222121111122222211112122222122121212112121222222211111111211112122112121122212122212112121111222121221212222211221121211212222112112211221122111112222222112111222121212111112221111112222121122222212121121121112222211222112222211111112112111122221212111221111221221221221222122221122121111222112211111211221112122111221211221111121121111212222221221212112222211121212111222112221212122121111222112222112211221111121211122112111221221222112111121121221212121121122222211122112212122122111111112212222212121212121221111111222112112212112121122111212211221122111122122121121122212111221212122221222112111111122111222221122121212221222122211212122112111112221221121212211112111222211212111212122222121122112111122122211211112222221221221111111122212122111222221121121111121122221212122122121222221222221122222121122111121222122211221211222212211211111121112221212122221111222221221222222211212111221222221112211122121111112211222221121212122221222211221121212112122221122222122211111111221121121111111212222111122111221122111112211222111111122111111122212111212211122111111122112212211121211221212212112221111211121121121121212112212212212221122212211112111212121222111212122111111221221111111112111221111222211212111122112122122211121112111111122222121112111111121121212212211122221211212222112112111221121112221211112122212211212121212221112111212122221221121112122111221121122112122111212211211211221121111222221111221222111112112111122211222222211112222212212221121122122212211111122211212212111121221112112121111111221111212212212121112222221122211122121111212122212212122111211122121112122122212121111211222222221221222112121221211211221222111121111111212211211211222211211222121222212222111221222122111122211112221122211112112211212111212221111111111111112121122121221211222111221221222122211122221222112221111112121211122222121221112211222221222211211212121211112211221121122112121111211222222221122212212212212221121121111111211221211222122212122221121111112221212221221112212211221211221222212112111211121222211212122222111111221221111212222112221122211112211211121122222221211221121111111211222212211222222221112211222211122122111211221112112121121221121122222222212121212211212222212111121212211111221122122221122122222112222111211122121122221112221112211211121111112111221211111111211212211212212212122122221221122222221122211111222211112112122121212111212121212111222121212112111111111212222222112122112122111111112122122222111122112111221112121212212222211112111112212222112221112211112112212122122121212212122211212111221122111121112112221121111121122212221212212221222111121211212222112122112112222211211212112111211122121222122212112221112211122111222222111211212211221212221221111222121122222212222111222121222221112222121221122221112121112221212211121122221122221212111221121212112122221122221221122212111122122221222121112121111212111121221121121121222212221222111212122121111122211221122212211111121212221112112222122212112122211121211111111112122212112122111212112112122212211222212222112121112212111111222222122111121221211222212212121121212221111122212121111121111112112221211111221121212122222121211222122111112121112221111122121221211211111122121212111212211112122122111121211111211111221111122121221112222112221121221211211211122211222221121221221212122111211111212212111211211121221122112121112122111211212111121221221111121222121212221112211112122121212121112221112222211122122111211121211112121221121122211111111221212112112221211212121221122112222222222211122211212222221221122111112222111112211122221212212112121121111112121222112212121221121211112222211222121212112221111212111221111221212221222221212121122112221211111122112121111112121121122211111221111212222111222111121211111122221212111222122122212121221111122111212121212111112121122112221211112121121211221121221112111112111212211221112211122222112112111221212111121112111221222121112211221122112221211212222121112211112121111221121222212211111121121121121112222221211212121112222122211221122211122111111222212212111221121212221122212211122222122221211111121121122212221221111121111211111212122221221111221221211121211221121111121211211111112112211112112112222221121122212121211112111121212111222111121211122212121111222211211211212221111221221121222122211121112122122122212212122112112111112122121211222122221121212221111111221112122221211121221212222222111122211111222111221111211221112222222111112212112112222212111111121122222121211122221221222111121211111111222121212112122212121212122111211112222112221221112211112121211221122222211222212211122122221112121211222111122121122212222212112122112212112211212112222222111222111221211211222122112111122112112212111221112212222212122211122222222112121111221121212111221112212121112221121111112221212222111222212221221211222122112111211212211212112112212121112212121212122221111121222222211221211221212121111121211222122112122112212222221112122112212121222211111121211211121112111111111122112212121211222211222121211122222111112211212111211212212121112211112112122212212212211212222222112121111212211112112121112212111122222212121211221122121212221121122121111222221222212212111221222211211222221121111112212221221112212222212121221111112212112122122212221221221221221212111221222111111222221222222112212112212221222212111122112121121112211211112221222121221211112211212221122211212112121112221122221221122221212122111222111111212112222211121222211111221211211121122211121221221212121122212111222222212121221111111122111121112212121221121212222212211111122222222212122221111121121121122221122212221121212111222212121112111112221122122111122211111222112122112212112122222222211211211122222212111111221212211222221112222112222121122211212212211221221212122221222122121222121211121122212212211121122212222211222122222222222221212122111122111121221211212122121122112211211221211221221112112211112122222112122212111211222212111221121221222112212121122212212122122112121112122212211222112221222221112112121111121222121222111221111112222111211112111222212122211122112111121211221222122121222221122212121221211112121122211221211212211211122111211212122121112221222221212121121212212111122121222211221212212121211221121212211221211212212121221211112221211122111121221122121122222211212122221112221222221221121112212212222121111211221212221121111211111211121211221211212221221222221122212111121121222121121112222211222212122122122221211212212212211121111221112212111221111222121222222221111121211221122222122211221212111221211222111221111221222222121111112112121121122111211211111111121222112112212111212111212111112112211112212121122122211112211121222222122122221221222221221212221211122211222221221212221122212121121211121212221211111222221112222112122112111112211112211212212221122211111221121221211212212111122212112112112211122111221111221211211212111211211122211221112211122111122222211222212122222222122211222122121112222212212222122121111221111212122211112112211222112111111121211211212122221111221221212221222211122122111222122111222122222212211221221122111212111212221112112121221121222211211112122221121212212211222111112221122211211112122121222121122122112112221212222122121111212221222211121221221221221212111122111212212221221212111111112211121111221212122122212121121122111221211211211121222212111222121222221222221112122222221111221212211211112222211221111212121221211121211222122122212211211112221211112221111122212221211221221212121211221212212121122222121211121112112121121121221121111121122221122111211111221121122211122221221111121112212211221112211111121212112222112211222122121212211111221121121121111112212212212111211211121212122122212212112121221222211122111211122212111111121121121111211212222122212222111222221111211212112112212221221212111111121121121112111112112111111212221222221221112211212211211121221111222122112212212111212122212222221221121212211121221211111122212111221221111121121111112121121222111212121121122222212222211222111121111222222112211211212221121112221212121111112211121221212111122122221112222111212222112221221222222222221111221222221222121222111212222112212222111112222122212221111211112222222122121221111212222212121121112121212122212212222211121211212211112111222122112211122112211122221121122121122212212221212112121211121121111221221211121222221111111112122121222112122221222112222221122111221222122212222121222122121212221111221222212122122222221112122221111121211111112122111111221121222122122212112211112221112112211111211112122212221211121221222221221211212212221122122112121211122111111221212211221222112212121222112212222111121112122122222121121222112221211111122122112211221211121122112122221221211122212111222221122221111212112222211221112121122111221211111212211112211122121211222121221211212121122221212112121212212211121121111112112121122212211212122111121212121211222112222221112112212121211222211112111222112121221221211111221221211122221112121121211221121212211212112112221111222121222211221112221121211211222221221221122221122212122221112111222121111211122212221222212121112222111212111122221221221221122222222221122212222211221122222212222111212111222211211212111111212211211212121221121112121222121122121121221112221121212221222211112212222112222212122121122111212111211121212221211211221121221222121211222121222122212122211212111212221122122112121222222222112211122211112122111212212211221122111111212112111211122212111212211112212212122121111122222211122211112221222222212211111112221221211212122121112211212221122212121222222121211211212122222121211221122111221112122221211121211112111111211211122212212222121211122122211112211222212111212222222111112221222121112221222222111222122221121211121211211222211122121211112212121211211122121112121212122212211222111211122122122211211221221221211222111212111222212111212122211112221111121222221212211122111111221212211111222211112222112111212112212121112221211121222111222121212121222212112111111121112211211211212112112211211122111122222211221121121222122111211221111221212111122121111212122212212112222121212211111121211121211211222112222122112221211222122212111211222222111211212212221221122111122221121112122112221211222211212212221221212221222121111211112112211111111111221121221222111222121222122212121112222112112112212112211222122221222211111112112112222221122121221121221212211112112121222112222211211111112121122211211211111211222212112111122221112222222211122122222221121112112211212211221211222222221112212221111111111222111112212222121111212122121112212212221121122122211112211122212211112211222222111121221112111112112122121121112112221222122121222222111112221122111211211212122111221222222121121112112221211122121221122112111222212221122221212122212221211111212212222111121211222112212211121121121111112121122222221212221211111122211121222212221212121112111111211221221122211112122121222212212221112222121111211221221212122122122221121112122221111222212211222221122111111211112222112121111222211222112212212121211121212211122122122221111121112121211212212112212111111221112212221112222212112211111111212211221211212222211121212111121212112112212112122122222121122222112111221111211112212212122111212211212122212212212112222222122221121112112211212211221211112111112212211222212112111121121212111122221222111222121221221111112221112212212122211212212222111112111112112211111221122211111121112121211111122211112222212112111111112111222212111111212122222122112112211111111222112212211121111221121111221121122221222122211212121212211212211222222212212212122222122221212112221212221121212212221222211212111122222111112122111122111112221112111122211221121122221211112121212211211111111211212221122222221211121112112222221112112112221111112212222111122211111111221211121122111211211122112121221212111212221211211121222121121112221222211121111122221111112121112121112121221211211122122211221212111221121122211211221112222221121222121121221121111212121222111111212122211211221221211111221122222222122211211211112221112211122221121211221112221122112112121122121211122211111211211122211222222221222122211221211222222112211122121111112121221121211112122121121112222122222121221112112112222112122111121122121112121121111122111112212222112112221212222121122222121111222112121221122111212111112211111222211222221221222112211112121211121212112112122222122111112121222121122221221121111112111221221212211221121222222212221112121212112212212111211211112222122211212122221122112121122212221121212121211212121112112212111112122121112212211121222121111211212122111211221121211222121122111121211122212221221111211112122112112112221222222111111112111122112112112222222111211211121122221212122222112111112111221121212122122121211121122221111221222121121111121211211112111212222111211121222121121122122222122211211112222112122112222211221221211221221212111121121221221222212121212112111211121221121111112111111211111212112112122112122212211121221112112121212221122211211121212211211112121121221112211211122211211221212121221111212221212122122121211211221221111212121221221211211211221222212111112122222111221112122211222212121122221211221112111221212111212212212211222212111211212221122121222212122211112212211212111212121111221111211121221211121121222222112222221221211121112121112212111211211211112111211222121222222222212121122211212212121212212112122111122212221221211212221122212111122112212222122121211221222121221221112112112121122112221122122121212112112121221221112111211221121222222122222221222122221121212222211111122122212212111222222112112112212221211222122212222112121222221222212212212121212121212122122212211222122222121212221112112221212112121122121111111212111112112112112221111212122122112221121111221212111222211211211112221121222212111211222212211111121121121121112221121211121111112121111121212112121111121222222112211221112112121221221211111111212112111212212222122221211222222222222111111222112121122222212111212111112212121122221122211111122211111221121111212212212122111122111121212111121112221111111222211211122122121122112122112111111111121221121122122122212111212221111222122211112112211122122111122222111212121111122121212222222112222222122111121211121112112211211112111112212112122111111111211121211112112111222212221111112222221121221211121222212112212212122221221112122122121222112212222112121222212112221112222112112121122121222111212221112121212212122212212112222211221211122211112221122212221112112212122221212221112112111211211112221212121112222221212212221121211212121221121111212221122122112112111121211112211211122122111121221121111111221211121211112222112221212112211112212211212112212221212121222122211121211211121222112212111221111221122212211111111221212112111111212221111112221222221221111111222122112212122111222212222222111121112211121111112121212221212111112111121111122221121222221111121221121112222221222221112211112121112121221111221212112121112211122222221212221221212221221211112121121221221221211211122222121211222212211111112111212121111112111211111121112112121211111112112212122111111112212112111222122111221111222222212211211121221111222111211222121222222121111121212112212222112212111221212122121111122121111111221112211111122121211211211221112222112222212122111121222222212122221211211211221112221212222121211222221212111122222211212221121222112222121221211111222222121112222221111122112121112211222121121121212221212222211111121212122111222221221122121112122222112221222212222111211111222121212222211111212212112221121121112211121221211121121121221121212111111222222122212222211122112121112222211121122121121121221121121111211112121222112212111122222121222211111212211222212211112211111112211211221121111212121221212211111111111221211122112121122111122112211112211122112211222121122121121221211121212121221221211122212221222111112222111212122122122121121121122111212121221112212121122211221111112122121221122211111211112111121121121112221212122111211211222112112111121111112212111222222121122111211121122111221112121222111221211211211212212211221212221122121211221222212211212222111222212122111111111212221121212112211121222211211111221211121211112121222121221111111211122122212111121211111221112221212122121122121222122111122111122222222212122221121211221121211222112122211211121121122222211122222221122221212112211211222121221222111122222211112221211121222212211122221222212112211122112222221121121112212112122212211212212121111122112122212222112111222122212212111111211221221212112111211222221111211212121212212221111112212211121111221221121221121222111121122212112222222112222222122111222112111111111222212221212222122212211221122211211222212122111111111212212221122122222212111222111112222211212112221111121211122212221222112222122122121222122211222212212222211121221221112121121121121111112121221221222111111121211121121122121112111121112212112112121222221121211121221212221222222221212221112221211221212112122112222212211222222111112212122112212122112122221122222212112121121122221121111112212222222221211212122211212222122222122121211212112222122221112121121122221121212121221121211212121111121211121221211122222222112212211211121212212122111212221221111112212121112122212221222112222111221122111222212111212211222111222111112121111222221221121121112111222221111111221111112211112222211112122222111121121212212121222221212221112111211221222121212222111122112211222211211122212221112112112121221211121212222211222221111221112211211222211121122121222112112111111112212112222112111221212122122222111211111212212212121111121111111212112211121111122121222122212121122121221122111222212211211222212212111112221111221221212122211122222121111221211122112212122211112121121112212111112221222112221111221222122112211111112212122211211122111212221222221112112112211111111111222111222222212212211122212221212122222112211111222122212121122112222221122211122122212221212211221222121222222122212222122212111122221121112111112221112221212221221112121211221112222211211122221122121222121211112121222222211222222222222121111221221211212111112121111212111211121122221211111222212121111211221122122212222222121222112221111122211111211122122112122121111222222122122222111221112221122111221122111221112222211211221222111212222221121111122212121221121211212222221222111112221221121212121112212111212111221122211221122222122211211221221211212122121212221222221112211221221212112121111111111211121111111122112212111112111112111222121122221122112112212211122221221222211222212221122221111121111111121122112211122121212212121111111211121222212211212122211212112211111222211211221112222212121112112112211121111221122111221222221111111121221122211111111112112222112222112212221122222212212211121221221211211222122121112221122222112112111221222222211222221222211121222222121112221111111221212222212111112112112222212211112122112111212122121121212121112212122111111222212221122112221122121112222221121211211221111221211112221122211112212122112212121112212222222122112111121121121222212221121212111122212111112122122122212221221222111121211221212211112112121222112222122211212121111212212122121122211211121222221222212111121221222222212211211112221221112222222122122222112222112121212112212221121122212211121222111111222111111222121212212122112111112122222111121222122221212222211112212212212121121121211211111121112121212111221111111222211122112112221112221221112122111221121221222112211111122121122111212221121212221221112112111111122212221212212222211211211221221221211122212222211212112121111121222112121222112212222111211112211222212212212122111112221212222221221211211111122211121211122221212111211212111221122211222121111112112121111112211111211221222122212222112121222121111111212122111212121122112112122222112212212212111111221222121212222111112112211122221112121221211211121221121111212122121121221222221111212111111121222221212222212222221221211222221222122121112111121222211121121211221211121111122222111212111212212112211112221122221222121112111212212221122122121211222211222111111121212211211111222112122221122222111222221221112121122222121112221121222221211122112111122221212121212211122122221111221212212122211221121212121121112222211221221122221112221221121211222121222121222222122112111122212211221111122212112112211111121121212121211211211111111221212112221122112112222221112212212221211211211111112121121122121121122221221211222121211121112121221211212221211212112111112212222112121211211222212222221212212221121211222111121212211211111121222122221112111122122122111211112211222222112111121222111211221111121211212212122211111212122221222121121222211222122222221222121212221212212211221111122121122222111121121121222112112122222121121111221112211111221122222122211121111122212222122112211112222122112221211212122211221111111211122112111222221122121111111121221212112212222222211121221221122222122221211122211221111212222111122122221112222112222111212222121221222212221222112122221212221111122121222222112111212222111211121212212112212121222221121222112222222122221222111221211212111111121122212121221221211111211112222221111121112212222111112222211121212111212211112222212122121222222211211111121221212121121222211112212111211211222212122211221222221112212121111211211221221211122212211112222122221122121122212222222112122222112121111112222121121212111212112221121112211112122212121221121221211121211211211212111211111212121222221212212112112212212111221122212221222121212111112111212222221111111221211122221211112122212121211211212122211211222112221122121212221111112121111121221211212122211121221222121221211211111111111112211221212112222112211212222222222212122212221221111221121211222112111122122212221221121211111222211211222111121111111212211211122112221121122221221221211121121112211121221211222112211222212212221211212111211112111211212111111111122112122211122221121112121112121221112221121121121222221212122212222211222222122211212121211112212211122222122112212221122221112122211222212111121122211112111122111122212212222222122212222221211112121211211121122212111221222221122211221111212221112211222112112222122221221221211221122221112111112222122222212211221121111111211211111212211121121112212111121212111112122221211211121211112211222122221122111112122212121221221111112211222211121221211112121211222211112121211112221121112121212121212222212111111212211211121221212221222221221111211211221212111112212121121211211221222221111222121112112112122222212122111211111222111211211111112212121212122121122211212212221121212211222211212122211222111212112211121221221222121221111122212222111221122211121112122111121122112121211122122212212222111222111222221112222111112122222122222111111112211212112122212112122111111122212122112121222211122221111221112112112212212212212211111221222122111122111112211111222222111221212112122122222112122112222212222111211122112122111121111111222111111121121221112221111211211212111221122221221221111121211112122121111211222221212221221212212111122111211222122222222221111111121121212112121111212222222121211112121121222112212121121122122121222211121121122121211111112212211211212112122221222112212222111121122122212222222221222222121212112112111121122122122221222122211211122222111111222112222211222112211211111222111111111121112221121122222211221122211112222112222112212121221212112212112121121112122112121211121122221112121111111211122112222111211222111211212111221222121222222111222121122121121212212222121112111121121211221122212211212211121211221122122122121222211211221221111121122112112212212212111121222211111121212112121211221112211111122111211222122222222222122221121212111121121211211122111212212211222222222211121222122121122221122221111122221112212111122121221212122222112111212221121222222121221211122211112212111111122121111112221111122112212121122211111121221212111221122222121112221212212222121121112212222222211121212112122211221122112211211221212121111111221221211112121211111221212122111111212222112211222221221111222221112212111212111222221111112121122211122111111121212121121222212211112212121111222222211122121122122122121221121122221111111222111122211112222212112211122221222221211111221212121222211122112211222112211111211222112122211211121212222212121121122122112222222222122111122221121112112122211211211112121222111112111212122212222121221122112222121121221221121122111212112212212122122112211212121221212112211121111212121122222211212212111121222221122121222122221111122211122212121111111121212222211112121211212212222111112111222221212221221121211212122111121221212111122112121222122212221222112211222111112222111121222222212112111211211222221222222221211111121222221222222122222222112221212112112212111222221221121122111111112212211111111212211212121222222112122111221222211221222221211122211111111222112112212112211212212221122122111122222122112211211112122122222211121122221112121112221212111121122212211111221222221111211211222222221122121221221112111112212111222222212211211221111122121121111121222222121121212221222112112121121221111221121212121222121122211221111211222121212122211222111222111111121111121211121222122112212221112122211212112211111112121212121212211122121121121222121221112212112112221222121121111211211111221112111221122111212222212211211221222212122222221122211212112222211222222221112222111122111121211222211111222121111111122211122121211122122112111121121121112211122121212211222212222121111222221212212122111111122111221111112212111212212122222112112222222111111221121122212112211211122121121211211121122211212122121212111121121122122211222111212121212122221212122112122111112112211112111112212212121111112211212221111111122212122121121222211121222222211222111121121211122111221211221211121211112122111211122121212111111122111121211222122111111212212221112122121212121212212222221122222211222211111121121122221122122211112212111211211221121221111211111112111122221221212112121211221111211221212121112111221121111221112121222112122212221112221122222111211221221121221112111222211122121121112211122111212221222112121111111212222221122211121211122212211112122221211222222111121221111211221122122221122212212121211211112222121112211212221122222122211222111222212122212111212222121122222111111111111221212121211221111212221211212112121122121121211221222222211112221122212212121111122112222112211222112211221221212111112111222121122212122122122111221211221122121111121211211122211211122211222121111222112222112111121211222112111212112211121122222112111112211212221221122111112222111221112112221122222122111111212112122211212121212211121111121221121112221122121122122211221212211211221111221111111222221211211211112122221221122212211211111112122211211121211211212211211112112221222121112221111121122121111222121221112221121212222111212222111111111111211221222121111122221122111122221111121112111111211111212112122211222111212122211112212122111122111112222221111212221112221112121222111121122111112112221222211111211221111212111122222111222211112211121122121112222211121222111122122212121222221221212221112111222122222212222111222212222221212112112122112222222111122121112221221122222121211112211222221222221111211222112111112122112212212112212111112222222211112112212211111221112222212211112122112221121111112111111121212111121212212122212211211222121121222211222212112111222121211122221221222122122112112122111112211111112222221112211111112222122112222212221111212221121221111222122222211112111112112112222221221111122112111211112211222222122212111211111211122221122212212111212111222221221211221122222212122121221212122221111222221222111122221121212221222221211111222111121121211222221112221221212221112211112222211211112212121112221121112122112112111212111111112111121221211212221111121121211211211212112222211211122121212121211221211212211222221211121221112221211121212211111212222122121121122221222121222222212222121221222212211222111121212221222212212112211212121122222121222211222212212211211121221111121211112212211211112112111211122212221221112112221111121121111122211122111211122112111222211212122121111211211212111111122112111221211211111212112222222121121221212221112211122211212211121122121212111221122122222122121111112111212122222222212122111112111112122121221222222112221211121122221112221122212212211222111222211112111211212222122212211112222212211211112211211222112122111211212111211222111211122211222121222221222111212121121122211221121221121121111221111112122122121111111221121211221212221111121212212112222221222111221212111211121121221211111112222222212222221222211122211111122122111221222212221111111111221222222221112121222222122222121221112212111221221111121222122212211111112122111212112121221122112212112212221211211212112212121221121222221111211222211122222211122121212122112121111122211211112111112211122212112112121122121112121112122222122122212221111121111122222122122211212111212212211211222222222121121122122212222111121212112112211211111112121122212121222111122222222212211111111112211211121221211112211121112222222221111112222111212221111112221121112212212222122221211221212112122112221112222221112221211111221212121212212222112222211111222212112121112222121212112212222222211112121122122221112222212222112212212112122212112211211121211111112121221222211221112211222121221221222121122111121211221122222222221211212112111112211212221121211121111122121111111121121212121111222112211221222221112112121121222221211222212211122112212121111112222112122212221111112122211211222122212122121212122112112212111221221211212212112211212121221212221221111122212211111122222111212221222222112212122122211121122122212122122122122111122222112121121121212211211111222221222111111222221112111211222222121211121112212211112211221122212222121212122211112112111112211221112212112122211211112212211212211222111111111211112211222222212112221121212212222222212212112121112122122112212211211121212212212112112111112112212122112121221121212222211221111222211122112211211121212222222211112222122112121122221221221212112121111112221122221211121222112122212122222111211112122211222211221211111211212112122221121212211212111111221122121211122111212211112121221221111111112212112111211112212121221222212222211212211121211111221112111221122222211211122122222112222112112211221221111211212122221121112121112122111122211211222221212112222121211111111211121212111111211212122122121222111222221112222112122111122211211221212112111122121222221121211121111221212211112221111212121212211211211111211112111221221121212122121222211121221211112222211212211221212111221221212212211222111222222212222122121111122122221211112121112221222221121211111211121122222112221221222121211221112112221212211211212211122222111211222222122212211121211211121112212121211211111221221222122211111221111112111222111112121212211222221122121211112111211111222211111111212121211122212212111211212121112111211211111222221211222122122112221111222111111121122111212122111111222221111121111112112122122212222122112112112111122112122122211211211211222221112111112122112112222212211111212212122221111112221212111121222211212121212121211112211112111221211211212212212111122221211111121221121122211211222122211121111221122112121111122122211121112121112112212112121222222212221222111221111222121221222222121112212212211111212112112222222212112212122211122222222211211222222211222212112112212211211221222121121212112121211112221121212112211222221221212122221222222111222221211112111212111112212121222222122222122222111122121211112112121211222222221111111121211122121111221212112211221122222221212121121221222222221122122111221222111212212111111121121121111211222112112122121222221212111122111111212122212122211222222121111111221111222221122211121222212222221221112112111122222211122111212112122121121211121111222111212112121121111211122122212221222222122122211221221221222122221112122212112211121221221112212221211211121211212111221112212121211122111121112121221122112112122222212212122122212121212121222112222112211211112111122111212111221212112211222122121111211112112222222221112122212221221221222112112211111112122112111222121222122221112121111222212212211212121211221212111121221122122112121221221111221111121111221212212111222122222211221222111222121111112112112211212121111221122121222221212221112221212122112111112122212122122211211122222222111111211212221122121212222221211221111112122112122122111212221111212112212122111222222122211121222121212111212122212222212112212212122211222212212211221221122222222222122122212222112122122121122121122111111111211112212212221111212121212221211111111121121221212212222221122111221111122112212221212222121111121122212222211211122122211212212222122121122111121212112112122121121121211122211222212211122211222111111212211211212122221222111122211112211121112221222221212211221222221111211121111221122112112121111112122111222122121221211122121111112122221111121221122211222122222111112211121122112121111222222212111221122121221221221121122212112211212121121221212212212222122112112121212212112112112212111222111222111122112122221212111222112222222121122221112211221121121112221211212121112111112121111112211122221222112211221121112122212211212122221222122121221111221111111112222222211212111211221221222111222112221111122222211212212121211121211111112121111221122122212111111121222122211111121112111211111122211112222112122122222212211212111121211122121112222212111111221211221221222112211122121122211112212112221221221212122221211222212222111122112121221221111212112211111212121112221111222221222111212221111221211121211212121211112121122211122212211111221111221211212121211211212222121212222121121111211111112221122212212221122121212222221212212112211111122111222121112122111111211112212211121111122112222212122112112122211221222221111122222112111212121221121212111211222212221221221212221111112211122222212211111221112222112211222111211221121122122122222211111222121222111221111111221222221212112222111212211111112112122221212212121211111222122212211211211211122112122212112121211121122212121212222111112222122121221212212112212111221211222122112122122111121111112112221211111112122112121212221222112211212112222222211222112212112221121112222222121211121212121222112121121112211111212122122212212112211121122212221111212111221212222211122121221122211211112211222122112111111211111221121211121111111211211111121211111222222212212111121121221222212121111121121222222111111111112222122212121212122112112211111121112222221222121121212111122222121112111222111211222212112222222122221222211211211111122121122222111112222112222211221112221112221211112122222121111211121222212221212112221121222122222121211112111111111112211222112221112121111222221112222111111111121121211122211212122222111222112212211112211112121121112211121212112221122121221211212221112112211222121221211211111112122222221112222111222212212211121211122122111122121222212211122122211212122212211111122111211221222121122111211122112111221212212112221112112211221111122212221221121111112111222121121111212111211212112222111122112212221222212212221122111222212111121222211221211111212112111121112111211112211121222221222221121212121122122121212211221112221112111222212111212122221121122121212111122121221111111111211112222111122112122121211111212221221222121121121112122112122111221112112122222121221112122221221122112221221111222121121222211212211112122221222222211122111112221112112221222112221112121121211211121112122212121112112211211222112121112221121122221111212112222121212122121212112122112121211222222111221222212111222221112111222222221111122212112111221211112211221121111112222111121112122122122222212111211121211222111212212211212111221211121111111222121111121112112112212222112121122212222211222221212211221212211222121121221222221211212121211212122122211222211222111112222122211221222222111211111222122222111221212222212212222112121112121122221121211212121112111211221111111112112212111112122122211212111111212121222121112212121212112112112111111112211111222121122221221112112222222111111122112112212212222211122112221222111222111122111111122121212221112212221122111211222121112111211122111111212211112122212112212112212111112212111222112111212211222222222211211112121222121111111221222212211221221121112111122121121111212221112222211212212212111112121121212112121122112211212222121122211221222221121221112211122121121121211222212221122222211121122112122221122111112121121222222122221222121121111111122222211221212222221111111112111211222221221111112121212112112211212221111221222121221211222211122121222121122221122221122112122221112121211221221112211121211211122122112212221121112222222211222212122221222222111221111112112111221111111121121111112221212111211212222112122112222222212111211121221221112221121212121222212121221221122212122112221112111222122112122122111211221121222212111212112112121122111112121112211222212121112211111111112212122212211212222121221212212111121122222122112212121221112122211222121122111212112121221121211122112121221121122212211221222121222222112222221221222222211212122212222122122211212212112122111211112112112222111222211222112122111121211122112111221212121222122212211212122111212222221212222112121122111212122112122212212221121121121121122222222111212112112212121222122212222211122221221122212122221122122211222211111111221111121211122111122122121112212222221221121122122122212221111112221111221121212212212221121111211112111112122212212121112212212111111112111222111111122111211121221122122211111212121221212222222112222211111211121121112121122212221221121222122221112222222211211212222211222222122121121111122221122111121111122221122212221221221221122221111111122122121111221122121211211212121122111212211222112222111221212222112222111221212112212212121112211122211122112122111121211112212122221121211212212222221221112112212122112122121222122121212211122111112121212212221211222222121122122122212211111212211222112112212111121121122112121211112221212122111112112111211111211212211222212122211122211222122112111121212212121122211212212222121222212211221222211112221212111212222112112211211212112122112211122221121221122112112112111222122121212122111211111221122121111111211222121111212122122112122111222121121221212222112122121222112112112212221221212212212211212222212212222212111121111212122212111221221121111112122122211212221222121221111221121112211121122122122122221111121122221122121212222212111211112211112212122211221212221221121222212211122211212211221122211211221121221212122221121121111121121221121222222121221121221211121212212212221121222122222211121122221112211112211112121111222111221112122211122121212121212222111222121221211112212121122221121121111121121221122122222122121222212212112212211222222212221221121112211221221112221221221121121112211122121212122121221111221111111121221112221122221111112122222212112111222212222112111221221221211121221112111212112212112211211122222221221111122122212122222122122212212112211212212121121112121221112111111211111211221112222112212112211211122222221111212222211221121221122112121221211222112112122111221111112212212212111222212212222121211211122112211222221112222211221112121222112112112122122112111221222221222111112221111121122122212212122122221112221222112211211211222112221222121112122211112221221122221211212211111221212122111221212212112122122222111121222212121211211121221122211222221221212212111121211111212211122222211221212112112111122122121221211221211112121212121122121221121222212112211222222222221221221222221211221211121212122221222111122211112211122121112111222122111111222112122112212212122111112221112222211122121121211211121121122222222212222212221222212111111122211112222212222111121111112121221112212221222111122222222222112112221122112211111212222112121221112211121222111222111221222112212221121212212211222221121122121212212111112222111112122222221222221122212111111112122112122222221112111222122221122122211122122111112122122221211111121121112122211222122221222212122112212211112112111222221211212222211221211111121211111221111122111111111112122111221221121121111112112221221122221222222222222221211211112222211222122221211122111111211122121211211221221222121221111121222121111111122212222212211111212111121211212221112112222121122121221111221212211212221211111111121222212222121211121221212121211212112122211111221121212211212122221212121121122211212211111211122221221112222121112221212221221211212122211221111111211111112211121112221111221222222112121111111222211122111221221211212112212111121112222212222222121121112122221122121211212112212211221112212122121212111221222122211122221221122111212111112121121121211211212112121121212121122221211122112211122111111221221112112121111222221222212222122111212221111211212211212221111212222122112122221112121121222121122221211122211112122221212211112221112112112122121121112122122121121122212212211212221111212222121121121222111121112112222211212221122211211221121211112222212211212222111112212221112211222112111122221222221211221212221121222211122212221211112121121221111112222122121221212122222211121122212211112111111211211111112112212212211221122112112222212112221111111122221211222121112222212221221122222222221121122112211222212221222212122222121221111222221211212212111121111112212211212222212212211221111111121222212212121211222211211122211112121211112222122112111122111212122211122212221211212112112121222222121212112211121211212222122121221122111121111112222211112211221112112111112112112211211222121211222122221111111121121212121112221122112212211221112222111121121211221212122222222111211121111212111111121211112212221111212111222211112221112121222211212211112222122122212221211211111221121122221112212222221111211112212212112221111211211112112212211212122221122111221211121221122222212122211112122122221212122212221221211122112121122222111122222222112122212221212112212222111112211121221221111111211122222112112121211221221222112222211222111211112111222221121112122211222122122121112122211112112122211212211222112211222211211221221111111222121111222121221111112211112111221122122221122212121222111122212112222212212222111221222111222121121222222222112212111122221222121222221211121211112222221222221122112212221211111111222222111111222122122111112111121112212111211222211221112111222111212111212121121121212111122211211221221221222111111112222112111212111112212222121122222222211222221112211221212111211111222111211222212222112222222121212212222111121112121211122211221122111111222211222112122121112211122221122221121121122222121212111211121122112222212211221221212221212212112111112222221211211221221221121111222112122221221222121212112211121111122122111222111112112221222121222121122122112121211122222112111121221121122122111111122212111112121112212111112122122122122221122111222122222212221112222212211111121121112111112212112212212222121211221212111111112222211122222222121111112222121211212111122212122112211222212111212222212122212122111222122221212221122222221112111111222222212112122211211211211221122221121222122111122111122121121121122121222221122212212122121222212211121121111222112112112112221122222212121112112112211222222221121211112121111111211121211112222221212121221111111122222122222111221222222221111121222221122222112221111121112222211121122212221112222221212221222211211112111122211212112112222122212211211211222122111211111212122211212112222212121222212121111222222212221122211212111212111211121121122112221222221121211112111222222222221111222112211122121112111121221221121121122111221221221121112112121121221111221221211221121221112221212122221121222222212111122221111112221111222212222222212222112111111212112221221122221221111212211111111121211211221121122122221111111222122221211112212112121112221122112122222122222222212121122221212222111222221121121211211111212111212111122112111211221112121112221222122221111122111221112212212211121111212112211222111111111111221121211212112112111112222211121221212122122222121121222121212221121111211122111211221221212221122222212122222212112121112121121121121121121212122111222212211122122122211221111121212112212211222121112121211112122121222212121111211221112211121211211111211211112221212221222112211112112211222121212221122122112122211121112121211211121222121222122211212222212112212212121222211211122111121122211211112222221112112212211122221112111112221212122121111211212112211211122222212211212221221221221211111112221122211112211122111211221122111222221221211221112212212222212211212212121222122122212111212211121122111212211111222112121111122211112222111222122212211121112112222112121111121221112111122111212212111221221221112112212121112222121212211112121221112221122221111222212221221221222221212222112111211112222111122212111211211211111211112111222222121122111212122211121222222122211111221111112112122122121222221121121111121222221212121221212122121112121122211112212121221221112222121212111221111212221121112122211212222222112111111111111222221212122122211112222211211212112111112122222221112212211111111122112112122221122112221111221211111221121221111211212112111121111222221221221221211221112211122111221112121112222212122222121111211212222121111121121122111211112221122111222211212111212221112122222111112121122112121122222121112111211221122221211112111112122121112111112122212212122212121221222122211122211221211111212112121211221212122221212221212111112222211222211221222121222111222222211221111212212121222211222221211211112211122222221222111111122211211112111122111122211112111111221212122212222122122212211112111111112221111111112212111111211221121121222221121121211211212221121121111111111122121221121211121121211211122211121221211211211122121221111221121212112122211222121212112212122211211222212122211211211221221221222112221212211121221112211112122112211111221221112221212221222222122221222211221121122121221212111222221211222112122112111222121222221111121222222212222112212212221122122222112121122122212111122112112211211212212122112212112212212122121222212112212221121222121122222122211221221112121111121121211121121212222122121121222221212222221212121211222111211211111111112212222222212121112211111222221211222112112121122111121122112222111221222111222111211222111211122112212111211121111111222122122221121212121221111122112112111221221121111222222212111111222112112112111222222121221112111121222122112212121122221211122122211121121221221111122221121122222111212222112121221122112122221122112122222112112221222121112222212121211212112111211111211222111111222112212112112111122121122222212221111122121211112221122122221211112112212212122211221222212221112222111212112221211122121212221121121112221211222111121121112112112111211122122212211121211112212212221211221122211221221212211222221212212122212212112221121121221221222111111112211112212112111122211221212211111211221121212211212112211111112111211212111211221212112211212112212222221121221111212221212121222122211112212212122222111121122211221211221212211211112112121211111112112212112111222212112111111221221221212222211222222111121211122221111222121121122221222112222122212211212211112222222222112211112121121221212111122222111212221221121212212222112212222212112211221122221212122222121111122122121221211112121211221112122121211211221211111221221111112112111121111222121212212121222112112212121122212112122221222212122112211212222122121211211122212111111211111222212112122212222212122221121221112211211121212121211211211211122112111211211222212211112221221122112212221211211122211112221212222121112211222211122222121221121211112211122212122221112221111211222222212121211121111212222211122121221211111122211221221211212121212211121221222211212111211211111212222112221121221221111122222112121221112211222121221221112122121112212122211112112211112122222122211111221221212211221122111221112212211212212112121112211121122122222111121112221222112211111112221111212221212122122222221211212221211222112221111222212222112111211121112212211221111112111111211221221121121111222222221112122221222121111222121222112221122222221111122122112222211112111112211221122121221211122111121212222112221112222212212212111112122122222211111112222221211211222121222111112122111212222121122212222111122211112122222211222222221111111122212211111211211212212211121211111111211211121212222211122122121111121211222212122121112221122111221211211111121122222221112222222221112212222221111111112111112122221212111211111111211121121122212111112221111112121122211222212221211212112112221221111112222122111112222212222212212222211121111111212222222111221221121221222221111112222112212111221122121111221212222122222111111222112211111211221221121221221122221112212112211112122222212222122221122121212111211111221112112111221122211221112222211111121221111211121111211222121121221122122122221122211221212211221211121121221221211212121211222211122221222211112212212112112212211212121111221222222212222222122212111111222222222221212222111211221121122122211212211222112212121112222121111211221221221211212222111121111122211112121122212111212212111111222122222211112111122212122212221221212222121111112111122111222112222212221211112212121112211222222112221212121111111211111112222222122111221221221122221121222211212111121112211211211112212212122121121112222222121111212122211122211221211112121211121121211222121112222122111121212112122221221122121222122221222122121112222111222121112111212221211112221112211221211122122212221111121122212221121122212212211112111122121222222112211211122221212122112212122212122222221211112212121111121112211112221121121211211211222121221122212112121211121112122222112112121122111112212112111121111211111221112221122122122211111222221111112222222212212211212211112222212221222222222221112122121212121122122222221211211112121211111112112112121211211222112121111111122112112221112222112212221221121222111222112212222221121212111111222222222112211121112122112121112212122221212121111121221212221122121211112111222212221121211121122212111121112112221211211112222211212122221111111112112122211122221211212122122211111212221221221111112112211221211121211122121111111221112211122112212212112222211211112212121212212112121112112112212211221211222222211112222112211112221221221111222221111111212211121122112211212112121222111111212122212212211111212211222212212111211111121112111221212211121211122212111212121112221112122121111222121221122112221121221121211221222212111211221112211212211121122211112112211121222212212222112222122121112222211221211222211121111212222111121221122212112122112211212121111222121221221222221212212122222212222211221222122211222112121121211211211211212212122221221212121111121212112221122121121221112221112111211212122211111122212112211211211121112221211211221111122111111122122211112221222122112122221212111122222121121221221211111212211121122221111121221111112122122221222122222122122221211121121111212221222112222221111211122112112221111112211222122112112222211212112212112212212211111112211211111221111211122122122212212112221211121111121121221111111221121111211112122221121221221222112122221112121212222212211112112112221121112221212221222121222122222221122221122121111111111121111112122111122112111111222111222122111211122111221112212122112112111111111112111211221111221222111212212222221111222121222121221111221121212111212121122221212122221221211212212121122212111121222211112221222212222222121121111211222221212212212121112111212112222112222111221122111121211212211212112221221112112212122211112222122121212111212212212111212121222122121212222122222221211222211121212212212212222121221222221112121211121112221112211112112211211112222121212211112122221221121121112121212122222122211122122212122221112222212211212111211112112212121112212211122121222112212122111121121211122222111222121112212112111111221222122221111112121122211112121221212122211122112121222121222112221111122111212221111122221121111121121221212112221121221221121121122212122111211212212121211111222111111222212111212112121212221211122212122122211112221112111212111222212221122212122221121121111211221221222222112112221222222122221222212121221211221112222222222222211122222211112122211111112111122111111121211211221222212221112212212211112122111212122221112112222212212221121212211212212122121121222211112112221212111211212111222111121212212121111111111121122112121122121112111211111112111222211221111212122221111112121111211111111122111212122221212222111112211111121122111222212122211111221211212121211211221111221112221211211212111221112222221212221221221221211221211211121121121121111111112111222211222222122211221121222211121212211112112211122111211111121121122122122112211122121112212111212212211221221211211122211112211121112111112112121112212211111111222221212222122111222211121122221121122121211122222222111221221221111221221121221121222221221212211221211211211111222212211122121222222211112122122222121112222112212122222111122211221212111221222122221111212121111122111212111211221111111121212211211221222111121211212212122222111221221212112112221111122112222211112211111222222212121222121112112211222212111211211111111211212112112212211211121211111121122122221211221222112221112122211112222222112212212112111222121221121111212112211121221112112111111212222111211121112111111112211222222211211221122111122122111221111221212122212211111111211222211112122122112212212211111111121112222221122122112121122111211211111112221222111221211122221112211121211222222112222222212211111122211112221212111112221212221221212222111211121122121211212121121212112211112122211221212121122122122112222122221221222222112121111221211121212211212221211121111112212112111121111212121211121121121112111121111111121112122222112222221211221222122212111112111121112212212112111111112122121122222211222212212221112122211121121211211211112122211112221121112211212112211122221122221122121222122212112222222212212212211212221212222221122111112211222112221121121112122122112122122112112222221222111122221211222112112221212122211112211211211211221222221212112212211212221211211121211111212222122221111122221112112112111111222112122121112222111112122121111122222222122221122211221111212221221222211222212222222221122221221211212221211222111111122211211212221122211211111221112222122111212121112112211211212121121122212122112212112122121112221221121111122112121211212222212221121211211112122211212111111122222221112222212121212122121112212222222222211212222122121211121121222121222222211222222111212122221211121121222211122212222122111111221122222222212222211111121122211121121121121212112112222211221111222222112222121122111121211221121121122112221212211121111211112112212212212212122111221121221211111121122212112222212212212121221122221212121211111121122221222112111212111221211221211111221121222121212222212211222112122212212211111212111121122112122112212112111112212112212111112211212211122222112122122111121112222211222221211121111111221111212222222121122211121122122221211221211121212121122221111121121112111221212111222121122111122221112212111221111212112222122211122111111221212121221112121222222212112112211222222111121121221212222122112222211122222121122111121222221121211121212212111112211222212121122112121222212122122221112212111221222222111221112111221121122222222212122112122121211211121221221122211121211221122211221212112121222212111122211111112111221112121111122121221111222221212111212111111212212211122221112222212222221221122121221122112222112122122111122212212212112111111111122111211122212212111212121121222222222112111212111212211221112221221122221222112111211222112211122222221222111212112111112211121222222222121212212121212222122112222122112112112121212111122111121111122111211222221111221121112112112212111221121112221221221222221221222112211211121212112112221221221221211221221111122212122112221212211221111221211221211121211121211211221122222211111221122112211122222222211122122122222222212221221212222221222212122211112222211222112121111222222212122221212221121121222222222121112212221121111221111221212222211212212212222122222111222221121121222111222222121122211122221121211111211112212121212111212122112222212212121111121122221211122121121211121112121221221122212112222221211112222222212211122112221112212111112122211221211112211111222111111112211212222211122221222222111222122221121221212222122122111122121112121122112122111221222112222221111122212112211221121222222221211211122112112122121121211222112222222121222111221221122121112221122121111112122112221222121121122211222221111221111111112211212221212111221221212112112112222111211222111221211222212121222211112121112112112122122221212121212221212221222122222212211122211222212121121112112221221111211112212111112211122221211212221222222222111211211112121222111122211121221112112222211212221211222112122121221111121122111221112222111111212221122222121121211222222122222211212212111221222212111211222212211222122222222211211111121211212211212211121122211222121221211211211111121212111122212122121121122222122221222211122221122222112122122122221122111111122211111122212222211121212121111212222222222111111221211121121121211221211212112211111121211112222112211112221111111221112122212121222111111211121211122121211222211121112122122211122211121112212211111212111122211221112112222121212122211222122222221112222111221112122122222122221122212121222112122212221112221121221112221211112221122221212122222222222122112112121211222222211122222111121121221222111211111222122111221212221122111211112222222122112122112221121212122211121111211212212221211211212122212111111221112112222121122211221221211122222221212222121111122122221122221121211122111121221211111122111112211112122112212212211211112111211221112222121112111112111112112211121211211122112222112111222121112212121211111122121211122112122222221121121111221122221121121211112121221212111121222211121221122212121112111122112112222222211122121122111121121112211222221212221121212222112221121121111212211222222211212212221211111212211112212222222222211122211121111222211122222212121211111212111122211112212122211211222122221221121211121121112122212121112221121121222221111222221122221212212212222222121212222122111211221121112221211111122112211221212212121111111211222121211112122212211221212212222122111121222211112111121111211111222121211121112111222112212112222222221222212112122212212112112211111211122122122222221111121222212211221121211221222221111112112112221221222221221121221221222112121122221111121222221111111112212111222212111211122212222112111211121112212211112221122122112212111211112211122222211212221221212211222221121111121222121121211221121222211221122121221111111122112111212222111212212211211112212211222211211222112212122111122222112122112111212121121121111222121212222221211221222211122112121122222221121211221112112122121122221111221211111212222212121121122212212211121121122211212222121221122112221222212212212112212222122121211121112112121121121211212211211222111112121112122222212221211121221111222111122211222222111221222112112211111221121211121121112112212212212112121222222111222221222211111122212122222112121111221121212111211212111112122222122212111211211111122122122211212112121121222122212122111212121211122122211221212121111222121112112222112111111212211222221121212222211122212222121212221222221212111122212111211221211211212121122211211212111121121221121112212121212221221112221112111112122121211121211222222111211121122112211222221121112211222122122111222221211122221212122222111112112122222212211211122211112112222121211221222111122112112122222121221121122121212121122121112122121112212222211111211121111112211211221111211112212221211212122122121211221121222111212211121221211112121122221212112121221221122221211212211121222112211121222122222122111222211211122111222222211111212222121121222221222211111112121221211212122211221212111121112222211111211122122122121222212222211221112222112121222121121222112221212221222112111122112211221222112121122222211222111111112222121111112122121222112122222112112121112111112211121211111221212122122122122211112221121222121222221221211212222211211211122122212112211112211112221222122212211121121112121112222112122222112222221111112212211122211112111122221121212122222112122111121222212211211112211122221121212121111121112122112212221121111212111121212222211211122211222121221122221112211112112121112121212221221221122222222111222111122111212121222222222221211111112122111212111112111111221111212121212222112221112121212121121121211112222221112111222112221212212211221212211211122121121111121122221112122212121122121211121112211222212121221121121212122122222211221111211111122212211212122121121222111221121111212112112122211121211211222122111211222221112121121112111221122112212122111222121122122111212221212112211221221221221221122122222221111121212212112121212122121222222111221112222112121111211121212212122111121112111211121112212112112112112121111122112211211212121121121222222122111221122222212222221211121211221212211212221121222112211112221211122211112212122122111121222122221212222122111221212112222221211212222212112222112121222222221222112222221212212221221121212222222212111221111121222111222112222211212222212222122222221112221212211112122212221221121112222121222112111222222221121122121111221211122111112221111212211112222221121211221112122111212212212211222211121212222112212111112221122111221212221221112222222221121121222222112211222121122222221122121212222211221121221111211122112222122112211212212121212221212211211222111211122211111111222122221111221112211121122122222222222111212221212212111122121221222221121212111112211222211212212122212221222112122212212121112121222112111121111122212221212212111122121221122212212121222111211211221122121112111221111222112111112222112212122122211111211122122211222221111121221212212112212211111222122212111112121212222222211222112222111221122212112112122211212122211212221111121121111221212222122112212112221222212211211222211121111122111222211111122121122211221112222222211211112111212112211111222112222122212211111121222111211121222111111111111221112121222112112122122111212222212222122112111112222111222212122222221221221211121122121112111221211222221212112211111121121112212222212212122211111221121212121211122112222121222222221221211211212221122221222112112212211111122122221122221211222221112212121212121211121211121111121221221112112111121112212111211122122222111121222212121212211212212111211112221221111121121111221111111221211221121112221222111122121211121111221121122112112221211212111212212211111121112222221221121112122222121122211122211112221121222111222122122222222212212221112121111221111221112222111122212112122212211122112212111122121122121211212121122221111111121112221211122111111122211111211222122122121111221122212121212221212221221211222221111212122222222122122222221212211222211221111222122221221221212211221112212222222121111221122222221112111122221122222222112122211221211211122122111111111212211112121221122211222112112121122112112212222111211121212111221221112111222111122221211122212222222221211211112112122222122211211111112122111122121122121111122211222112121111122211111122222211112211211111121222122122122212112122112122122222122222222122212121212111111122112122211112122122122222111112111212212212122222212111221111111222121211111122122221122122112111121111211111212121222212211122112111211111121122211221112121212211211221111211222121212112122221212222221121211222111212122112122212121221122111122111111221211112122111222221121122221122222222111211111111221221111222212222222111111211111112121211222222121122221122212221112212112212111212122122121212212112112111121221121212221212112121121212122222211221222212122212111112212121112122121211122221111221211111111111121222112111122121211211122222111112111121111221211122211122222212211212122222221222212111212222121122221112121222221112211112212121111212221122211212221121221111212211221111221212211222212211221111111122112122212222212122112222221111121112211211121211121111121121212122111211121112212211222122221222121111211211111112121221111111212222112111211121212112222212222222212211221112121221221211212212211112121221112122211221111221211121211122121222222122112122122111112221212112111112221222122221121212211211122221121222112222122121122211121212121112121212112212121221221111222222121222212222222121212212111122112121112111111212122111211121121112211222211211121121211122121212112221222211121112112122112212222112111112121222111211212211212112112121212221211211212112122212221222211121222111211211111122212221121221212222121122212121112211222111211121111211121221222121211212212211112212121211211112221212221112121221122121112122222221221112112211121111211212111112112121221112211221122121121122221221222121112122211112222111122222111111121111211111122221212212111122112112222122111221112222111211122221121212111111121212121212211122122122222111211221211111112121221121111211112121121222211222122222211111112111111222221121212111211121111212122122122211121212222222121122212221112111112212122112222221111121221221222112211221221111221221212111211211111221121122112221112112221122212122122122212112222212212122112221222212221122221211212111112221122211222212212111111121222211221121111221121222121111121112122122222211211212221211111222122112221221121112211112112212111221221222222122221211222212221122211221211112212121211222122221222222122212212121221212121122221221212212122121211122112111222111222222211121222211111121221121212211122122221121221222122122112222111112221212121222112211122221221212212211221212221211111111221212222222122111112211221122221122211221211121122211222112112221211212122122222122112211221121121212112222222222122122222111222222211112112222212112111122221111211112112211122122221121121222112221112222212211112122111212212211121122212212122211121122121221122112212111221122112212111221122212212122211121111222222122222222111121112121112211211112111122111121222221222122111122121122112212212122121221112121212222112122112121211111222212221222221112222221122112121212111211222222212211111222122122221221121122211112221111222112221111222222221111212122212121221111221111111221112222121121122112121122121122222212111122112222221121111121111122111122121212112222112211121122212222211221211222211211111222211222121222121122221122221111121121122211222112212112222211222111111121112222112112112212112221122111121221211222221112222122212222221212112221211221212112122112122111222111121111212221222221222211122211221222121212221122112222212111121212211211211221122211121222212222222121121111112222211122211122212111122122112212112122122211222222211112212221111122211222221121212221121121211121111111112111122121112211211121122121212121112112121111221222222122122111211112211112211221222211221211121212222121221111112211111211112112212111222112222211212211211222211121121212111112212112212211212111211112112211112211221221111211211121211212121122221122111111121221212111122121221122212221122112222111222122111211121222221212212122222221112111121112211121111111112222121122111222112221211211212212212112111121221222211122212111111211112221211221222211222221222112112111111212112111111112112211122112212221221121112111212212221222112222222222211221212111221112112211121222111112112122222111222122222221212222211222221211221122211222111222222222212211122212211122122121122122212221212211222111121112222211212212111221122212112221111122122122221212212222222111122122211211121121221111112122111121221211121211111212222121112122111111221211121111212211221222112111121122111211212111111111221122212212212121111111121122122221111112212112111221112211111121212111111221111122212112212111212212221212112212222211122212112222212122211221211111112121112221212212221112122111122111122122121121111122221122222222211121111222212112211212112121221212212122121222221121122221221122221112112211211122221111211222122211221211112212111212222111112122111211222122121212211112122122222112112222221222212122111121222111121211222212122212122221111122212222112111121221121121122111211121112121121122221112212222111211211212212221212112121112122222212222121221121121212212122122112121111122221222221222221112222111222111211221122222212212111111221211122121121111122221211111121222112212111211111121211222121111222122222212212111221221222211112121112221122222121221122111121221111111111111122121112121112112112111222221211221122111111112221221111211222211211111222221111112212222222221111212222221222211122121121122112121112222112221112221122121122121122212122212222122211112221212122211121122221221122212221112122121211221211222212121221122121221211211122212122211111122212222211212111221112112111111221112112221112121111221211121111122111221122212221221111111211121112111112121221211211122122211111221112111121121112122111222212211111111221221221211122111221211121211121211112212122112211211211111122211211212211211222222121211111112211121212121121111211111221122122112122211112221111221122211111122221112112211121212222121111112221221112121212212122112222122122121112211221112112222121222112121111122211111221111121121222121122111212221222221212212122112212121122221222111121111112211111212121222212221111111211122212111111211222221211112222222211222121121121111211222222211222211122222111121221211212121212112212121211212111121211122211221111211111122111121122221212112111222112221222211221221122111222111111222121121212112121211222211122221221112222111212211121211221112111111112222222221112122211112221221122211222112222221221212212112211221122211212122222112111211111111221212211112211121212222111221122222212211111221221212221122112221211112112211112111222111122112221212121221221111122211122122222212221122222111121121221211111121222121222212212122111112211122212211111111122122112122211112111212122211211221122212221211111122122111221211122221111112212211112211122221212121222111221122121121211111221111212221122111122122111121112112221221222212112221212121112112111212112212111222212222111221212212222211222122211121121111121121121221222212211212221121112212222122212212111122111222222122212212211222122221222222221111111222221112221111212121121222122221112212211121212211112211111122111211121212222122122122122222111121212211211111212122122212122112121221111121212111121112222112222111222211122111222111222112112222212222221122112111111221121112211212111122111221122112212111122211222111111112212212222211221212112111121122212112122221112211112221211212221121212221222122122121112212111122212121112221211212212122211221222212111111212111122211121111222111111211112112121111221112211112211111221111222121222212222122222121112122111212122212121121211212212121221111111111211122111212221221212222121211111112222211122222211222222221111222212111112211121222222211222211122121222212221221111212221121221221212112212112211111111212211121122221122222222111111111121222211111222222111121221212222221211211122212122212212111211222211111121212222212112222111122212221122121221222112221222212112211221222211121212212121212212222212211112212111221222112112121212211112212212212222112111112112122122211122122221221112122122211112222222221112221222122112211212112122212121221121112211221212121211211221222221121122122121111122221112112222221211212122222221222212121111121212211212221212112211122211112212212111222221212212111211111221111211212212212222122112122222221112212222112122121121212122212112111211222211221222212222222221112212112111211111211122221221222111222211112111222112121212111222121111122111111211211122212212222112112222221212221211111222222111211122111212121221221122212121122111112222122212111221121212122112211222222211221121121212112111121221122212211111221211211211221222211221211122212212222212212212122221111212111121211222121111121111211222111122221222222111221222122122212221221122111112221221112111112122111111121121222221112121111112221222111211112212222121222121121212221212222112121111221121211222211222222221211121122221122122221121211211211121221121122111111111212121212221122212222212212121112212221112211121122111122221211212122122111111121221111211122212222112122111121122222221122221121212212212211121111112112222212212111211221221111121121222122211211121211221222211112122111122121122122221211111122222121222121211211222211122221222211112212112122112221221122221122222212111222211222222121122222112112211112212121222122211111212222112222221112122221212212211211111211211212112212112212112222221212212222112122212111211212222112112211211122111112221222121121111111122121221122112212222112211212121122112112111122121122122112221212212212221212111221211212121211212121122112212111122112211111112122121121221121121122112122111222121212211212121122122222211221121212112212211211211121111111121121111222122121212122222111112122111211221111112111221211121212221112121211111221211211221222222122121112122121211112122222212121212222221112122122122112112211121111122211111221221222122122122112222212112111221111121221121121211111121222222121122111111122121211112112211121112122112112122211111122121211122111221111112212121222222212222121122212211121222221122122122111212111211112122211222212222221121121111222211221111122211122112111122111222111121112121111122212121222221112222222221112211221112111122212222222221111211121222212111111111212212222111212221221222212122222112211211112222122112222212121221111221121121222222122211112212121111112221221221111222121111212211112111221112211121122121222112112212211211111212222221121211112112221122121211122121221221111122122212111121112211111121112221122222212111222112211111112221121211222122122121212211122111221112111122211111212112222212212111122111112222111222212221122112121211111111112221222211121211122221122211112111112121221222122221222111121111122222112211122221211222211211112212122111222122212112221121111112112211211111112122221121111221122111222112112212122111121222121112212212221122122211121222121212212111121111212221221212211222122122222222111212212121121122121112211221122122121111221122211112121111112212212121111121222222211211222122122121222222112121112212112111112211122212222212212212121221121222211121221212211221122122111122121221121211211122211221212222211221211111221212212211112212212111222221121111222222222221112121212221221221221112212211121121112222221222122221121122121112112211122221212112222121122222211122112211221111212121211221212212222212112222212222121222121122112112121112122121221212221212122121112121212122212212122111111211122211111122111222112211222122111211121112221111212222212221221221222221211121112222211221212121112212112122212121111122212112212212222112122111212111212121122221222221122221212211121121111221112112112112122211112112111221121112122121221222111111211112222112211212212111222212212122221221221112112211112212222222211221211222222212212211121212212221212221211111122222122111211222221221211121222121121121222121222122111222211212221221211222111122222211111111122222221221121121111111122111111211221211122121122221111222111221211122212121212121122111211111212121211111222222111111212121121111121122111211212112211222222222121111221221222121212112211111222221222222111222221211211222112222221211222222212111112121111121111212122121112112212221212211122112112221211221211211211111112111112112122111211111111122122111121212112212122112212122112112221121222222221222222111212121212112221211221111222222211211212112221122211112122222121211112212222122112121212112112111121121212112211211111211122211111112212222221212222112121112222221111112211112221212221211121121211122112111121222221112222111222121221211212222122221111121212222221211112211112112211121212121121121222211112121212212212122111221121121112222121111212211111121222111221112211112112112222121222211112121111121222121221111211211211111212221221222222211121122111112222212222111121122111112211211222111111221222121112222211211222122112112112122121222222211112221212122122111222212221222121111212211222112111211112112211211222222111122111112111112211211221221222122211212112112111221122222212212211211111121122111121211121122112122222221112112211211211222222112222122211211211122121122112122222212222221222221111111212111212221211111122211111122122212122112222222222211111111222221221121112121121211111222221121111122222222222221221212111121211222211121222221211221211122212211111112222112211222212221111112211212122111112222111112221222112222122112212212222211112211111112121222112212212111122112212211111121211222212212121121121222212212221121111111212212112212122111122122222122111211112221111112112122111112212222212221122222112221222211112111121111121112221212221121121211221222111212121121111222221211111121222121111112212211122122112122222221212112121221122111121122121221211111222121111122122212121122212121211212211122212121121112111111222222211211112212221222222212121221112222222122122212221221111222222121112112122211221222211122212122111221121111121111222212111122222122221112211122122222212121112122211122121222222111221111212221221112211112222112112112221121212211122212121111222122212121211221122221222222121222121122122112122121111212211112222112112221212112111211112222111212112221112122212211222112221122222111122121112222212111111112122111211221221221222211122211222122222122211222122222112112112212121221111111112122121222222212112112222222211122122112111222211122112111221121121221121211211212111221211121212211212112211211121122121111212222122112211111111211212122122122122222121222121211111221212122121211111121221111221222221121112221222211122122112112212121212221211111121111121122122222112221222212212211122212221121221212112121122111122211122112211211122122111121211111221222122122222221212211221212121112212121122212122212122222222112111112212112112112122211112212121111222222212121112112121212122212211122221112122222211111222222212221212221112112121222122212212222122211211222211122111121221222121112112121222122111211111122221221111112222121112221222112122212212212222111122111111121212212211211111121122122221221121222221222121111212121222222222111211211111111222111122212122112111212111121211222112111112122222121122122212221211111211121121222212111111211121122212222212122221111111111122111111122121211111121111122221221212211122221221211121221212212211112211221122211211111122221211221112222212112211112111122121211212222211121121121212211111122221122111121222222222221212111222112221122121222222222212212222211122221222121212111122122212212111222222111111112121211111222222212121212112122222112121122122111211121222212112211122112222221111221212222122112121221222121211121211211112112112111111211111111121221122222122221211111122221222221111212121112112122221212111221211211112221122122111122122122111221221112211212121111211121121222222222222212212111122221121222212221221111221111121221122212212211212222111111122111111112121212121211222111122221212122122221211211221212221222122221221221211222122212121111122211122211222222211112112112112112221112221111221122221121122212121211121222111222212211212121121122222122221111122211211221111221112212122112212222222221221121122121212121112212212212122221211122211122212211221122222222112221222112211122221222121221112221111222212221121112222221221221221221212221211111211221211112211221121112121111112111222212121222221222122212212111212211222222211221212122112111212122111221112121222221121122121122212122121121212121221111221122211222221112222112222221212211211111121121112212111211212111222112212111212212112112222212222112221111212211212122211212122122222221112112112211122112112111121111112121221221121111211221122222221121212221222211221211221111121212211112212222212111121112211112122111222111111122121211211212222112211211211212121122212111112221211121111212122112221221211211111211221222112222111122211212221222211222112121221122221111221121222222112112122221121122211112211111222212121122221212121112122212122222212211222112222221211111211122222222122212121211122121121121111211211122121212212211121121122122212221112211121212112112211122112212122212222111121112221212112121212222222212211222122111121111221121111112112121121211112221112122121221212211121221222111121122222212222221211221122211121222212111111112121111122122212211222121112111222221212222221211211112211122112121111122122111212112121112211112212111111221212121121222121122211111121221212121111221111122121211212212221122211211221211122212121221212212222122221211221212122121111211212121221212111121221121211122111121112122111111212211222222222222121111121221111111122121122212211121111221212121222212112211212221221222112112212222211121122112221122121111222211222222211112222112222212222112112212111121211121112211221122111222212112212212111111212222212121212111111212221111121222221111212221212121122112122121222111221122121111212211211111211211221211211222112212221222222221121221221121112111122222122112222222211111112111222211122221112121222121221121112222112121111212211221112122111211111212111112121111222111222112212112212211211221211221112111112121112221222121111221211122121112121111112211222211111112211221222221212212221211121112221111211122222112111212221211211211222221211211112122212211122122121122221122122121112222212222221112121222122121212122211221221211122122222211221211221122121121111122221221111221112121122121221112112111111121111212122111111122222122111212212212222211121221212112221121212211112111121111212122222222112221212122111111122112221211122222111111122222212222212122111122211222112211222222221221221121221211212111222211221122211112121111212111211221111222211111211122222121222212221212221111222112211222111222112111121221121111121111111112211211212221122211212111111211112121122122112122111122212112222221112122222222112222221211212111122211212111111221111111121112222111222222121212211112211122121121221121122111112121211211112211112222122122222111111112121222221111221122121111112212211222121211222221111122121221222211221112121222211122212212211111211122112222212121111221222212121121122121111112121211111221211111222212111221211221221212221111122221211221111222222221111212221121121211221111112121111112111221112222121222111211112211212121211121212222212122122221221112221212222112212221211212222212211111212212122222111121212222122121111122221222222121112122221221111222221112121111212212212222111121111121111212212122212121122112211211122122212111121222212111221212111221121112212222221221121121212211222121111112111211212221121122222211112211212211111212122111121122112211112121222221121221111122122222122211211121212222121122121111121212122122122222112211222111221211212111111212112211212211122221122112222121212122221121222121211122121212111111112222111111222121211222211111212111122222122211111222211211122122211121221221111221211122112121211111112121121221221122222211112212212221122122111121212221122121211112211222122221211121111112122212122121211212212211221212222111112111111222112212122221212212112112112121211112211111222121112121212212221122211211121111112222122122122112211211222122222112211122121212111121222212211122212212212111111111211122121212222111121221222111111122121221212122121111112221122211221222221222222221121111211222212121221211112121122221112122121121222211211221121222212112212121122221222121222212112122111211122112112212122121111122112111221212221111212112211112121222121211211111211212212112211111122111222122212122222111122112222111122212112122211222111111212211121121121112222222211122122222221211211121121222121222222211211111221122111112222211111211211112111221211111121122121111221122122221212122221221212221222212221222111121211112112122212121112212111222122121211212121112221122221112211122121111221212112221111121121121121112221111211112112121212212221221122221121212222122112222221111222212221221111212112111122211222222122122112221111121222121112122122121111121111122212121212211221121121111212111112221121121111111211222212122121211111111221221221122211221111221121211111121211211111122112211212212112221221121211122121121212211121212121212222121111111222112111222211111221112221222222112122211211121211222121111211222121222212211211221112221112221221112211212121211122122111121221111122222121211222112211121212112121211121211222122211112111121121221112111121211222112212111111122211112112212112111111121121211212221112212112122221221112222211122111122111212212121121111222221112112221111121121111121121222121221121111121221121221221111221211222222121222222221212121212212221111122211121212211211212211111222112122211222221121212112112121122222211211221122112222221212111211212222112122212211122111212212122211212111112112111121222221211211221111121212121122112111212111222212121221112111111212122212222121122122221211122222121112221211212222222122112222212211121212221211112122112222121121111211111111221111122221212121212121222122121222112112111111221221221212222221212122111111122122112211211221122211121212212211111222222212122112111112211112211212211112212222221221212121112121211212122222111112211121121121221222222211221211222122111211112122211222211111121211222122222211111121122121222122211112222111212122121221121222221112211212211112211211122121222112222111212121212112112211222212112121122112121221222221222211222212222122221212211111112221111121222121221212211222221221212221222111112111222111212121222112122212121212221121122122222211112121211221111221222111112122122212212222122222212212221211121122112112121121111111211122222122222122111121222121122122222212121221122112211212122121112121211212121121112112212122211121111121212122211222122122122111212221112211121211222211222222221211211112121221122122222211221221112222112112221121211222221221122122211122221121121211221112222122221111111212221112211112111111111222112211221112111112211222211121211122222211222212221111121112111112112122211121212221112122112111121222212212221111222111112111112112222212112221222111222112222112212121111221222212121111112212121221222222212121111122222221122212122222122111212222111212211222112121211111212212222112221111221211121111221212111222121222222211111111222212222121112222221222211211222212111122221212221212112212111211221222122121112222212212211112122112112121212212211111221212112212121222212222111122212221212112111211222211111212121211212212221222111211211221112121211222121212222111211211121112122121111111212211221112121212221112211121112212121211111221222122121222211112222212122111222222222212221112121121111222122122222211212222221221111212111112121221222212212122212112222221221211222121211112112212112122122211222221121222212111221111222121221112121121111122121221112112121211212111222212112122122121222211121221212222121221221221111111121221112122212221112211211121112122211112211211212111211112221211211111212122121211111211211222222112211121112122121221111222221211211211112222211122111122221211212211122221122111121211212222121112221121211121112221212122111221211211212121221111111211122121221122222121222221112112121211111112212111222222122121121221212211121211211211112122122112212121222222111121112211112111211211222111212212122112111111121221222121122121221121211122112112222112121111121222121111222121212111121121122212122121212121211111211121121112111212111222111121111122211111122222222122111111212122122122111121221211222112211111112222111112221212111222121111222221112112112221222111112112122221121121221211112211111112121222112111222122121122212222221222111221121221211212112121222212222112122211121222111212222122111222211222222121111222211211111121222112112222121122111222111121211211112121221221121212112221121222121221121222121221121211211221121211221121111222212211212222122121121221211112221122221121121222211222222122211212122222212221222211221122211121112211212121111221121122222112211121111211211221121221111112112112111112121211122211222212112122111212111111122221121121122111211211221211122121212122212211212212211121122112112121121122122222112221211222221122222221221211211121222221211112222211112121211221221222111121222121211112222221111112122122111211112211112222111121111221111112211111222212122122112221211112112121111211111122211111212221122111221212221212212221111111112111222212221121212222122112212222112111112112121111111112222122122112121122211122111121122111121221212221112221111212222112222221111112212221112212211121221211221211222212211111111222111121112111221121111111222122122121121222222122122222122121222211122212111212221111222121122122112121211212211221111221212211221222222121212121112222111112112221112112112121111112212212221212112222112211121111111122212222211122221222222211212122221211221122212221122122122221212111211121222212112112221221212122222112212112222111222112212221122222211122121111122211222222112211122121122222211121122112121112121212122122121112211122212221121121112211221112111122211221221111211121221111211111121221112112112111122111112112212222112221211212122221122112222211111222212222122121222211222221121122112121111112112221111222121121121111121212112221212212211222211211121222222222212212122122111212221112221222122222112222212211212111121222222221211112122221211221212111122222221121121222211222112212111112112221212222121111122222211111122211121222212121112221222222212112212212211212211211112122221122111222111122122221111111111212211222211211112111222212222122121222211211221211211222212211111222211222111222221212122211122221211211122222221212122221221121222122121211122222121221121211112222111112211221122222212211122112111111121212111221121112122111212121222221122121212122222122122212212122222122122221221212122112221121212221111211111222111222122212121111221211222122112122212221111111112111122122122212121211112211212111121222111211222122212212112121221121221212212221221222221112211122222121111212222122122122112212212212211121112121112212121121121112122222122211211111112222111211221221221212111221211222111121122222122211122111122122121111212122211221212122111112122222112212122211212212211212122211122221112211211222121121212211212122222112211112211211121111122212222121122212112222211112222212221211222211112222111211222212222212212221112221211122211121212121221121221222112112221112111112212112121211111122121221211221222121222222211211112212222112121222211112211222121211111111122111221212221121212211212112212112112122212222111211112122122111222112212121221212212122211122111121212221121112221121112211212221111222212222111221122121212212111122122221121121111122221222111222211111222122122212222121222221122212121111112222211111211221212222111212221112212112221112222111212221212112221121222222122212222121212122212112222111112111222121121122221121221112212121121221122221212111221212212121111121222111222122221212212211222211122211112221222122121212122211212212212122121221222211222212121211111221121211122121112212121112222111221211221221222222222121121111221111121112221221111222221222121122212122222211122211122111112211111111212212112122211112211211221211122121211211122112212212211221221112221212221111111122111221222221111222211222121222221212211222212221222111111211111112222222222211212221111222211222212122222221211111221211221221211111222121222122222111222112112212212112112211112111111222122122111111111112221222212111122222222211221221221212221221111122112222111122221112221122212122222212112112121111122221221111121112112122212211211211111222121212212121111122212112111121222111122111211211212121221122121111121112212222212111211121112112111212111221212111122212211121222222212212212111121221212122211212111121222112221112221112212111112111121212212212212211211112211121122111121121112111211212111212121112122121122112121212211121111121212211221122212221211111212211221222122112221221112221122111221112121121221122111222221212221122122122211121111112122111222121211112111121222112122121121221222122222212122121211112121222112212111212121211122121212121221212211222112111121211222221111211212222221211111212122211121121222211221122222221121212111122122111211212222111222111122222121122212211111122222111212221122211121212121111222121121222112111212111111222221221122111122211212112212211121111211122111212221211211122221212121212112111211221211122111121121211111122221221111212222122121211111221222112111122112112121121121112221211221122212111211212222212221221111112212211222221111112121221221121211211111222121121212211221222121222212222112111221121112212211221222221111212221111122111112111221212112112211221121212212111112111222121121112111222222212212222112111221122111222212121211222221121111121122122122112222112111121121122211111121212211211122211212111122211212111211121122212112121121111111221211211122211122112222221112222211212211212112121121211221221122221111222111221122212211111222212212221121222121221211211222211221112121112111222111221221121212222121222211222212122212122112222112121212211111111212111112122112211212222221121121121221222211212211112111211112212111222222222122221222121122221121221122212112221221112111212122222121211111112111122211211121221112221112121122111211222111212111221112212121122112112121121212121211222112121212112122112212221211221111112222222121122211111221211212212212221221112211212121112211212221222112112221212211111211111212211111212122111112211212211212221211211121122212112122221112221112221211222112212222122122121222111222222111122122212212111221221121221221122112221211122221112121121222211222212112222221121222121112111112111121221112122221122121212121122211211222211122111122112211121121221212111211121221222112222222122221111211212221211112211211111122221112111111111212211112111122122212111212122121111122222222221222111111121112112111212211111221211122111211211222221221212222221222122221112122222222221121122122212212121211112221222112211221221222112212112221221222121112211222212111112221212121221112121211121111112211112211112111121122111112121122111221122122111222211221211112222212121221221222121121121112121222222221122121112222112211211121111211222111121112211222111211111112111212122222112211211112221221121212111211212221211211222122221211112221212112112222121222221111221222222221212222111212111112121111111222111111221222112221112221221111112111111212111122211222112221111112121112211122221122121211111111211221212212111222212221221212212211122121122122222222221211212222222221122122121121221122121221212221222122112212221212222122111111122122121221111211211111211211112221112111112111122121112122221212222111221121221221122111221111111112211212211221212111222122122222122121222222111122112212212111212121112212121122211211222122121211112122112111111112211112212121222222122112212211111121211221121212211122222221221211221211111111121111221111211122212211221212222121112122122212221212112221211211111212211121211221212112212112111111212122221122112122222122111111211222221211121211222112122211212221211111111121112221222221221212122122222211222122111111122121111121122211211222221111212112121221212112112121111222222121222111122111122211211211111212221112112122222111111121211222211211122212121122211122211222221111211112121212211111121122121111212222122212221222112112211122212112122122211121211121122112221121222122111111121122111122212222121221121112112112211211122222121212122212112211221122212112122122211111212222121211121122112212112121212221221211122211221122111111121111122222221111212222221112122112111211221112112111221212212212211221212111112111212122211211211211121122111212112112122222122221112211212211211222222221212121112212121122111111222121222121211221211222222211112122121212221122122122221112121121112221212111111111121211211212211222121222122212121212222111112111112221111122221211122221111112122122121121212211121211211221221112221221212212211111111121111112212222212122212121121121211221211121212221122211212211222112111221222112212112222212211122112211111121121211212212112212112212221221212122221111222211112122121121211221211221221121211222111112212112222121221122222211121121212121221222222211222212121111121121121222111122122222212121212112112122222222111221112221112222122222122212111112121212211222211112221112112211121221122221211111121222111221222222111212212121222121111211121121122221122211121211121111122111121221122111211211222221122211122211212221211211122221221111112221112112112212121122221212112211211122221222212222221221222222222212212221221211111122212222211212221212221122121111212222212112211111211122222112121111111122221122221122111211121122112121112212212222122212122221211122112211211111112211221211112111122212212211211212112121111111211222211212211112111122211211222222111122222121112121211121122122112111221111121211111111122121222212122212211212122222121212211221111122121111122221211222122121111221121122221222222112122122221211122122211111212221212221222211212121222121121222211211212121211111222122121221121212211112212111211122211121121211212221111122211122221111112211112112211121222121211212221122222211121211121122121121121111212212212221221112221111121122122222121111121211222211212121222211212112122211212222221212122111112221222112211211222211122212112211222112121112212212221121112222221112111112222221112212122121122112112112112121121111111112112222212122212221121221112121211211211221121212121112222222122211221121112221221221112121221212212121111111122122112112221221112112122122221111222221212222221111221222221221111111111211211121111211211212212111122211111122122221212211212111112111211122212121212211112111211122221122122221221121211112122111221212211121222222112221121212122122211222122211111221112211222122111222221212222211212111111111221122211122212222122122112112112121222222121222211221112121222221222222221222222212222222222112222121222211112222112212222112222212212111122211212221122111122211112211111122212121121122222112221111221211221211222121222121111111122212122111222111122112221111212212212121222222112122212121111211211111111212211112222212111212211212111222222222112222212122222221221122122121111121111221112121221211121221121122111212222222211222111111121212222212112112111112112211121121211122122221212111211222221121212222122111111112221112212111211111121211222222211212111122112221221112222221222122221122111221221212111122111212111121221221212212212122221121212121222111111212122212212121212122112111222111111121122121122222212212111111121222121212121221122121221212112111222212122112121121111111222111212122122221212122212111111212121122222212211122122112111222121211122112112221222212211211121121111122112221122111112122112222121211111212111111122121222221122222121122211212122221112212112221121111211111221212122211112212221222211112211222222112121122221122222212111112121221211112122221212211121122121222212212211121122221211221212211221221122112121212212222222121211212212222212221221122122112212212221112222222112112121111212121221121111222111121112112221111122212221211221212122222212222122222222212111122211111121221212222122212122111221111121211211122121221221221112222122122221211211121211111111222212121121111122122112111121111121221221111121111222222122112112221222121221121221221221222221222211212221111121111221211112211121221111122221221111212221122122121212121111211111222222212212221122212111221211212122212111221111211211222121112222211212222111111221222122221112121222211121212111221112221112121122111122122211122222111122221112112212221122212121122211221122211112121222212122221211112111211112211212212222111221111222222121121121112222121222212211121221221112212212211122112222212222111211121121221221121211112212222221112112111122211112211212221121112212122222111111122211122211211122222122121212212121211222221211122122212121111112222221112222212211111121111211122111211122222212211211112122112221211121211212112121112122112211111111222221211221211222112211211122122122122222121112112111211222111211212221111111122111222221212111221222212112111212111111222111222112112111112211221111222122111122111222121212212212211222222222222112112122111212122222121121122212211222122122111222222222221121211211212111111221211222112111121112222211112121221111222112112122122111222112121121121121112121111221121212111122112121121222221211212211211212112112111112212122211121221211112111112121212121222111111111212111121122121212222212121211112211211211121121221211222111122121112211212112112121121222222222121212122121221111112222211211222211222122111112112221211221211211122111222222221211222111222212212122222121221122111122211221222221222121112121121211222212211121112212111211211211222221222121122221122221112211112211211211212121212121111122111122122221222212122221211222212212222111212112211211122112111221112221121111122222221111211222221111121221221221121212122212222111112112121222122222212122222122222112211111112112111211112112212122111221111121121112121121212121111111222222212111111212121212211111112211111112221112112212211111221112211212221211222122222121222222212221211111211221221112211112122112111221121221212122121221111122222111111222222212121121222222122111111122112222211211211112111122122122221212211121211222111222221211221222121221222121221112122111221222221112112112112222212111222121222122211212111122112212211212121221221121121222221111122112121111112211222121222112122122122222212211121111211111211211122221221122121211112122222221122112211111212211111211122121122222112122221111212112122221212212111112211212121121121122112212112111222111221112121121212121221211122111121222211211112211112221112221212211212212221122112211111222111211112211121211111112121212111211221222112111111212111122122122212221122211121112212222122111211122122212212121212222222221121112211112221122222212211111222212211112221112121222122122222111222221111111121112111111211211212121212211112212212111211222221211212121212221112121121211121212111211222212121222222122121121212112111122122211121211122111112111121212112212212111112212211122122212111112121221112112111111112112211112121212222211122122112121211222112112212112112211122112211222112211122122112112112122111111221112222222112121111122121122212112221121222221211122111222211221222112221221222122121121122212122112122221121212221221121212222122222222122221222211111222221212212121111111112112122121221221222111211221112212212212211211122111112222211121121122212212212121211222211222122212112121211111211112222122122122211222221222122222121111222111112122121221121121121221221212212112212112122211212221212221121211111121111122122112122112122212122112212121121111222121122221112111112111222111112111121212122212111222222122111221211112111212112112221212211112221222112121211111211222221222211122111221211122111121121221121222211112212212211221211111122222121121212212112212122111221221222221222112121222122122122112121221122111121122122121221111221221221112122222212111222211211221122111212221122221111221122112111112112121221112211111221122112111211111111222222122221221111212121111211211212111212122122222121212212222122211112222111222122112212112122212221221222212212112111121111111211112222212112112212111111211121111121112221221212211121222112221212112122212211112122122112221222111112122211111111221222211111111121122222121221111112221212121211211222122211112211121122221221222212211111221222111121111221221122221111112122122222112211221111212112221212212112211121111111111121212112112112221122212221212222122111212221222112112122221211211212212212212222222122211211111112122221212111112212212222121122111211221211212121221111122122122112111121212221212211112212212222121112121112121222121212221222212112212212211222112112221112111221122212212211211111211212112212122122121211212221222212222222121212112122222212122211222112221222221112112211112111221221222112112122221111222211121221112112222121112121221112122212112222211121112212222222221221221212211211121211222222222212121112122211121222111121221221222221221211112121112121222111222111212111221122221211221112112121112121121212222211122212121222111121221112122112112112222111111211111212121122221222212112212111222221112221221212211211222111112221221112122121222212221112222122112112222111111112122212112222221211122211221121222222221111112211222212211121211112211121212221111121112121212221111121222122212121222222221121221212221122111121222111111221122211121211221121112212112221221111122222212111112112121211212111111122221221111221121212111222121112121111211121111222111222222112212121211112112122121221221212111212111222112221221221211222122112121222212211222122212222211222221212222221222121212222221221122122212122212212211112212121212221122211212111121112121111111222111111111211212121122112112221111121121111121121122212122122222122222112122222211221221212211212121112211112121122111112211121222121112221212221221111212212211121212111222221122221222221111211221122111112211211122122212122122111211211111111112122222121212112221122221111111212212121121212221111111122221221122221222221121112111111222111211222222121111111222121112111211222211122111111112211122222222221221122212121212211122112111111111212221111221222211111121121221211121112111211121111111112221112112212211212212222212111111111212211212121211112222121121222112112221121121111221211111112122121211222212121222222111211211221212121112221211122112111111221222112121121112111211112222221222122121121212212111221221112212222221212112221211221222122122222211121212211111212212112212222112211122222211112121222122122212122212211112212221211121121212122211111121121121212121222122121112222122221121221212121221111221111122222112112222122112111121221212222212112211221111111111222212212211222212221221111222222212221221222221212222111121111211222122221121121121212111122211121111221122212211111212111211112111112212121221122112221112121211111212112221122211221222222111211221222211111221221121211212122212212212222221212221112212212112112221111222222112121112122112222222111211212212121211122212211112212221212221212111222122211222111111222212112222112111211121221121121111221221112221111221211122211112111112122222212111222212122112211121211222122111211111212121111121222121111122221112111121221121121212111112212111212121212221222221221111221212211221121211121111111112111222111122221122121222111211112211112121211212212122111112112222212212122222221121112211121111221112121112211121211122222112222222112211211222112122112211222112221122121112211212122121122112111221211111121111121111221112121111121211121111221212211121222222122122212212122122221122121122221112212122121212122112111121222121121212112121121121111221222121222212122112222212122112212111212212222222211212222211222122121221111221121112111211122121121212222221121111112212121221221222122112122121112112111212221221212222222121111222211122212222222112221221211222112222211211121221212212122221211222212212212221212111122211211222112112222211222121221122211111211211211211122212211211111111122112122222221221112211212112122222221221122121112112222212121222211212212222212212222211211112112112222221222222211122221122211111111212111221121221211211212122211122111122122221111222111122112212222222112211211111211222111222221221111221112222221211212111122122221211112222221221212221211121111211111211111121222212222211112112112211112221122211211222211222222221122111111212221221111111211121111112211122112111211212122212111111211112122122121111212112222112221211122111222212222112112222211122212221121121122112121212112221121211121212212122112122111111122211122212212211211112211222112211122122122212211111222111122221122111222111121122211112212212121111211212211212112121221111211111122112211222222222121222112121221111122212222111222122221211111111121211122112212112212111222121111221221211222122211221221222222122122111222222222111111122112221221121212211212111121211221121221112211112112211222222212211111221121221221121122111222112211112122121212111112221112221111221222122212222212211212221221211112112221112112211211112121222122212211111212211222221211112221112111212121112111122221112222222111122111122212211221212212221212221122212212222112222112111121211112221212211222222212221122211222111221112112222221212122221122111211212122112122222121121112221222121111111111111211112221222112111112122122212221111222212121212221211121222112112122112211221222111221121121122111112111212122221221211222112122111112222212212211112121211121122121121222122222111121212122222111122112222121121211221112121112122212121212212221122222111122211122212122221212111112221211211212212211121122122111211122222112112212111222121121211211121211211222212112112112111121211212212212221212121111111121112211111111212121122221221122111212121122121121222212212212112212122222122122122222221121112122212212211112221121222112122121222211121112122212221111211222211221222121212222112121121222211211212222121122121221212122121221211221111212111112222112111122112222212111212221111212222222122222212211111221122111112121211112111212212211122222122121112122221121112221212222222121212111221112111221112222121222211211211122121212212212121112122212122221222221221221212122211212212122212121121121112121111121111121211122212122222211112211211112211221211221222211221122212222111111111122222211112222211211121121222221121211212112222122111222121221212212122212111221111211112111122111221112212222122111112211122221111112212111121211111111212211112112212221122121112122112121222211211221121122121122121222211221112121222221121212122112222111111112112122212112212221122112222122221212211111211222111222221212222211111221111211122112121212222122121212121122121221112221121212221112222221211111122111111122122221221221221212122111211112121111111212122111121121122121121111222221121211211221112222222112221121212222112212221121221121122221211122121212122212221211211112122111122111122211211122211122221212211121111122121212122121221112111112212211212112111121122111121211222112111212212211122121211121121222211111111221122122112111121121121211121122111112221121122112111122221222122112212221211111122222122112111222111122112122111111221112121212221112111121221212121112222212112211112112211221221121222111222211111111211212222121212112111122122111212122122212222121211221222212121221221211212212121222122221212122221221211122111121111221111122222112222122121221222211221121112111221121122212121211212121112121111122112112121112212121122111122212121222121112212211211112221212122122121122122221222211221121211122212111222211111112212122211122112112221211211221112211112212111112122221112112112121211121111111222211112221112212111222212211112211221211211111212212212112122122221222112122111221122211122121112221121212112212222212121221122212221221111122111212111112112211212121222221212211221122221211121111211121222222122211112122112122221112222111211112121122211112111212112211212111212212112122221121121221212211112221221112111111122111212111212111112111212211112111211121211212111221111222211211212212122111112221111122211122212221221212212222221112221112212221111221121222111212222121221111111121122211222221122111111122211211121212112222112111222222121122112121222122222212112222222111122222211211112221122112121111112112212112212212222212111222221112212212111112112121112111112122112121211222222121121122122221222111122212221112211211111112221121122122212212121111222222212121222211112122111211121111122111212122221121121211122112212122122212112112222111211122221112121212221112111121212212121212121112211222212211211221111122112122211121211122121222221112212112211111221212211222112122222111122121211212221121211221222211112212222122211221112112211121222111221112221121212111122212221122221111111122111112222121222111222221111211111211211122222121212212222212222212111122121111111111222122111121211112121112222222112121211111121211211111121111221111122122111112212121221121121121212122112221122212112222122121212212121112212211122212221112221212112212211122112122122221212121111211121211212122122222111212212121121212121121122221121221212121121122221222121122211211122121111121221122121211111112221222121211222221222111222112122112111221122111112112111222121221122212121221212221212112111112111111222221212222111212122221212121222212121121211222122222211211111122211112212111121222122221112112122112111111212212212111212222121222112211122221111121212112121221212122212122211221112222112112222211121221212122212122122112212212212122212121221212211121111121122211211122211221222121122212221122122221211111111211222222122121122212122121111221121121122122211122121112111111221211212122211212122222121212221222121211112221212112112212211221221112111212221122112211212121112122212212222222221122111212111122222111112112221121112122121212211212122211212122222121211221221112122212121111111121221112211211211221122122122211222112121211111111211221112211111112122212221122221222122212112212112211211112211121122111111111222111112222211222221121111122211111221212221112222111112111211211211111111111221122112121212122121122111222211221222121221222111211122112112112121212111212112111111112112212121122221212111212222222221222122112212111212111122211221221211111212212112212121222111222112121222122121221212111111212112211221211211222112122221212121212111111122212112222212211222112211112212222221212211221222122122211112122222222121121212112111112211221221212221111222222221121121111222121122221112121111121122121121112211221221222212112121121221122122211122211212211111111211121222212122122211212211121212222112121222211111121212212212121122112112221112212211212212212221222122211112121221211111221211211111111222212111221111111122112121211111112112221211122112121111221122221122121211212221221121211112112122211212122122211122221221222221111212212122111221111211211212222212211121222211112121211211212121211111221111121122222212121111121211111122112122111111211111112211111111122211122222121122122112221212122112211211112211111121222112112222122121122211221222222111222121221222111122122222122111212112222121121112122222222111221211112121221211221122221121122111122211222122221212221212211222122211221221111121111222112211112221122112221111221211211222111221211112111112211122111221121121221112122221222111121222212112211211212222212222111121211211212112211212111221211122122122111212211211122112221212112221122211112121122121222211221211221112222121121111212212212211112222212121211112212212112221221121112222121112111111122221122111211112211121222211212111121212122112111221122112221112111121221111222121221221211211212221112121122221222112221222221121212112212112112122111122111212122221211121212221111121122121222212122111221221221112112122211111112211122211121122222212121121121111222121112111112211122112111221112111122122221112111111112221212221212112221112221112111222112212211222221111212112122121221212222121112211112212122112221211122221221211211121222222112212211222212212222112222121211111112222111211212111112211222112112222121121222212211111112211221211221221112112112221212222221221111211112122212112211211222121212222112121111211212221121111221111121122222221212122111122211122212221211222122222211121211211121122222212222222112122211221211112221112112121121222121112122212211212211212122122112212112222211122212111221111111121221112221211121221122222211212121211212212211221111221222112122222211222212221211121112212111111121122212221222222211121121221222111212221222121222112222222212222211122222212211211211211121211211112122221222221112212221122211111211121122211211111212211222222221122221122122112221122122121212121211221121212111211222221122222221212111112112111112121111111121111222212121211112212212222121222222112111111221112211121222121222221121121112222221221112222121121212222222122122211111221112221222111122111221212212222221112211122221121211112222121122212111222122221111221222222122121121122111222111211221111122222121112212222212112111222111111121122212121211112112122121122222122111121211112211112212222112212221121221222121122122221212121212212112112121212122122221222221211221222222222222211122211211222122122221112122112121122112222122221212222121121222121112211222222212122221122122112122212211222112211221112112121221122122121212221221111111112111222121121111212221122112212112211121221212111111222111111212122122212222111211122212122111221212111111221112221221122212121212212122222112212122122111121211121112112121112122211112222222112112122111222212121222212111121222221212111121212222222221212112221121211211121122111121211121121221212222221121222222122221111111122122122121121221112212121111121111211121221111122121111211212211122121112222112121121211221112112211212121221121111221111112122222211122212122122222221211112112211212112222212222111222121211222111122221212212211222112112221111121112222222211212122222221121111112212121111112122121122111222221221111111112121112121112212112122222212122211212222121222222221122121121121122222121222211112121112221221222112121221222222211211211122222111211211121121212122221122112211211222212212122211121112122112111112121122122222111111221221122122112122112222122121221121122212111221211111112222122121122222222122121211112211122121121112121121221211112112212211222221121212111121221112221222221222222221112112111111211112211212222222222211212212221211211212111221212222122211221222122211121212122212111121212211221112222122212111222112121211111212221212112222111122121211112222121221212212121212221121211122221111222121112121112112121212121222212121211122122221211111121222111111211111212111222121222122221122112112122221211212221222112212112122121112222211222121211211111211121121222121111212122221111211112222222122122212111211112111211222211221122212112211121222222221212221121211222212122221212122221111222212221222111212211121222111121111121222111121111211121222212112211212212221111122122212112111221221211212222111122122212112221122211111221211112122222111211122111122222121212121221111221121122111221121112211221122122111122121221221221111122121112212121211222211112122221221212211222112211211121222211111112212211111211212121112222212112222112222122222221211222212221112212222122111222111122222122112211222112112111221112112221221122211122111212122112211122222222222121222112111212211211122221122211221112111211211111212222221122211211111211211222111112212112221222112122212112212222222211221111222211221122121122121122211211221121221112112111111221111221212212121222221221222111112222122212211212222111112121211221122122211221222111122211222121111111121121112111111211222121211212122222222112111211112222121111211221121212121111211121121211122111211112222121222211221121111222111112112211122121122112211111121212212112222121211211222112222122221212211211221121122111121112221222122221111211221112112122212211122112222121212121111211112222212121122212111212211222221111222212222222211212212111122122221212212121212121212112221211221112121211111112122211121111112122112122112122121121222122221122212112122222211221112112122211121111121111112221221222222211222212111221212211222212112121122212112121211111221112212111122122222212212112112111221122122111212111112222112212221121222112211222221121212111212122122121212211222212112112211111122221122212121121222221221111222122112111212122221122212222112112222111222121111221122222112112222112212212212211122122222112221111211122122212122112112212122221112221121111221121112221112222211111221211222211111111211121212112212222122112112112111121112212111112122212221122122111212112222111111112122212122121112212122212222122111212221111221121121211111111211111221222111221221211111222111121211221121222221112221221212211112121211111221122111111122222122221212122112111111112212121211121121122121112121111121111211122212112212112211122122121122121122112122212111122111112212111221222122212121221122111221112122122212112112112221121112112212212212222112222121211221211211212121222221221221211222221122122211222111121222212122121211112211211212122122112222122122111111111122212112212122112211221112221121112122111221211112112112111121211112111221121222112212211212112112112221122212122111112112211122221111112222221221211121112212222122122222222211221212111121222212211222122212222221111222111112222221222222221111121121211212121221222112111121221121122211111122121212111222112211121112212111211221211122121112111222122212212111111112112121212112122121222122111222211211112111121222221122122221111221211212222221212121111122112111121122222112221221111112112222211222121222121111112222121222222112111211121211112121221122211122212221221221111222212211212211122211221111222221221111112121211122121212221221121122121112122112111122221112221122122111222211211212221211221112111122222212121222122112221221211211121112111121212211121121112111112221221121121112212111211122112212112211122111111122122212212122212222122212111111221222222111222211111212221122222221212112221122121112221122212111121221122122221221121121121212111121122222112111221121222112112122111222112122212221221222121121122211211222112112122122211222122222121121121112111221122211211222212122211212112212211212112111211212111222122112112112221122212121211222121211211212222112222221221121122211212121112122221112112122122212212211212212211212122222211121212222211222121122122121221221111112221212222122111112111222112122212121122122221221121221212111211222211121212211222112112111121221221112111211111122221222121111111211212211111122121211222222211222222121221112121122112112222122211112211122121212221112111121121121111121111121111212221122111112112122221122212222111121211112221121212122222111111121212122121112221111122221122212222211221111221111112212222212221212221111212211212212112112112122211212122111211212111221222121121111121111221222221222212121221211222112111122221112121111111221121222212121222122221211221121212212222121211212222111221112112122212222112212111212212221212211122222122121122112222211212211211222222222211211111112222212111111121212121221112222112122222112211122112111221212221122222111111121211122111112122212221211111222222222112221221222122111121211212221212212122212222221121212122122211222211221122122211212122112111211221221112122221111121211221212211211121122211212112222212222112211111111222111112121221222121211112212212211121122211211212211222121122212121221111122122222211111111211211222212122211211121222111112112212211222111211221222212112111221122222211222112121111222222121112222112221212221211221121111212112211121111212212222211111211121221221111111122221122112221121222122121122122111212111112121212222122212211211112212211221221111122112211221211111211221121222112211121211211211221221111112212221112212121221222211211211121221122121222112122112222112212121211222112211111111211222211112121121111121211111112121111121221211211112211122121211111221211212111121221122111212212221211211212222112111221211221211112111211111211221122111222212211211121221112112222211211111121111111222212111122221221221112212211122211111122121122121121112111122112121121112221122221122122121211221122212212211221121221221112221122221221112222221211221111212112111111221211212212122211112122212112112112221111222212121122112112222221221212211221212221222122221122112111112112122121112122112121111121121211121221122221121222212112121121222212212212121222111212222221222221121112122221211121221111122222211212212111111121111211212121121222111122222111122221121221222221222211112222211121121111212211212122221111222111112122111111111121211212121212221112112211211122212122212111212112112212122212121122221112122112222121122221112111212111222122112221221111122211121121112211122212121211112122112121121112221111211211222112112211221111122111112212211122222121222122111221121211111212111221111112112122221111111211221212111121221112211122121122221122212221211122112211222212121112121122112121221222111211111111122122212211111122212121221122121111222122211121212121212221212212222112221222222121222221211212111211211222211212112222212221111222211222111121212111111122212111221221111222111211111221121221111221222221111212111221122222112221212221222111222221121211111221221212221112122221221112122122211111111222112221212111122122222122121222221221112222211222212211121211221211211122222111221122122211122212112121222212221212121111211121111122221121222211121221211212212111121121222122122122211221221221211222222122121212112222111211122122112222111111222122112221212222211111222221122211112221112111212222121221122111211221211111122211112122221212212222112222121112121222212121221212111111211212211211121121122212112221111212112121212111121111122222221211112211212212212221221121111121211112211221111121111122211212111121211122112211221211211122222112222211222221112212121222221112121222122221211112122212112212212212121121121112121122112212112112122121212111211122121112111221212121212122112111222122122221222211112222111112212221112111212121122212222211111212122112121221221121212212112121121112122222221211211221221112122211222122221121221221112211221222111212211111212211222111222122211221211222112111121122221112221121221212122111212222112111222122212212111112122121122221222121111222221122211221121121211111112222211122121222212111122222212221112112121212122221122221221122111112111121212222112211212112112112122122112212111111212121212121212121121122111121221122222121121122111221121121211211111211222111111212111112212121112222222122212221121222222221122122111121111222211121211221111221211221122212122121112222222212112211112211211211112121212111222221222211212221221212111111211121112212212221221221121212221212212121111211212212211112122222112212121121122212212211122111212222122222112222221122212212221122211212221112221212121211211222222212221212211112212111121211121111111121111222112211222222221111111211122212121111111112212222211121222111212221211221212111221122221221111212122111112111222111221111212221111211122222111112121121221121211111111121111212121221222122111212122211221122112221212111221221121112121121122222112111212112222221221112111121121212212221111121122212221211222211111122111211121211212111121111212112212211112111221212111212211112122111122221222221122121222111211221112121121111211211222222221212212212221221112122222122211111222212121121221211111212222222212112112222222121111222121121212112222222122211112122212222121122112221112121211222111121222211212222112121222212121221222211221121122211121112212212122112212221222212112121221221221121221222112221222122221211121222121222111121111211211111122212221221211212222211121121212222111121222121121121221221121222221111122211221122111112211122112212121111211222121221222222111111212212212211121121212221122121122211111221221221111221211111121221222211112122121212122111122122221211211111121122221221221212112212111121221222121212211221212212122121111211122112211222112121111111111212111121122221111112121111221212222221112122221122221212112211222222211221211112121211111211212121212212122211221112212121222212121111222121211121211122111112121221222211112212211222222211111211121211112122122222112221211112112222122122121221111222221221221222111122121221222121222122222112112111212222221111222112111112111211122112222211221211212221211221211221121112112111121222221221122221221111122222111122221222212222121221121212211222122222222122121111221212222211112212221221122222112221221212112222122211121212221221222222221111122112222211122212211211211221112222122111112222112211211212221111212121112211222121211222211111122222222121212222112221221211111121111121112222121122122121112122222212112121112211212221111122112121122111221112122112221122121121121121111122211212221121121212111222112111221221111212122121212212221122211121212112222221221122121121112121212212211122112211212222122121222211212112211221112111111222221121222112221211212112111112211112211121122121221122221121222122112111121121222121221212122121112111122112221221222212222112211212122111121211112121121212222211212211212212112211111222211221121221112211121111212121122112221112222122112122121111222112121112121112111112221121221222122112111212122212211111222211112211211112122112221222222111212221111121222211111122111121111212111212112221111222111112122122122122121211122112121121121111122222121122121221121122212111122211212112211221222211121111222221112222112112111121111221212222221112222111122111221121212112212121111222122112121111221122221111121112212211122111112211211112211212122111122222211221212121111212221212222221221122122221112111111111121212111222122212222222221211221211112221212221221122111212222111111211111222221221111121112221222222112122211221221222121211222111222212122122112222211212212112112112221211112122211111111121111221122112112212121121111211212122221111121222112212112212212111221222112121212111121112112222222222211212221112222211122221221112211221211121121112222211221212212212211211111221222222112211221221112122221221212212111112112212121212112122221122221222112111112111222221112222222111112111222212221121112212221121121112112212221222212221121122111121222111212112221112112112111122221211211122111211111122212112211212212211211222121112112121211212211112122211112122121111221121112212211211222121212111111221221112112111111222222122121211222222121112211212212121221112111211122122112222121122112212111212222221221112122112111221111221221111211121111111212121112221211121221222221111212121211121112112221121211212221111122121121112111121211222212111222212222212111212111221212212122222222221221212122111111122111112111211221112121221211122221222212112222221221221112221212122222121221111111221212211122222112212122211112122122121121211122121112111221112121211221221211122221211112212222122222122122122221112221111112211121112212111211122222211122222112212111111222212221222222112112221212222122212122212122211121111221221122112212122111122212221221221221211112121222211122211211212121122121112121121112221212112221222222122122122221221122112121111121112211112111122122122211111211112222222112222111111122212122212211112212222121111222111122211112222122221212211211111111221122221111121222211221112112221212111122212212211111111222111221121221111121212221111211222112211121122122221221212221212111112111222122122111111122212221222211122111112112222212111121211211121121112222221211212122121222112121111211221121211112212222111222212111221221222222212111122112222222211112112212112112122222221212212222221221211122221221122111122212221221221211222112221212111211222212221121211222121211222222221121211121221212221122121122211222212111121222211211121211111222111111222222111121222212111222112112111221122121112222211122121111121211112221111112112122211221221221221211212212112212112221121212221121121221121121212121121221111121222111212122222112121212111211211212221111111111222221212212122222221222121111221111222222222112121122212222211222222211111121222111112222212121222212221112221122111121121112221121121122112111112122221211121211212211222111111121121212211212222222211222222212111211211212122112222211121211112222121111222211212222122211111122221122211122111112111221211111222211221111221122121112212111111222211112211122212212121221111212111211112122122112122221221111221212221222212122111211211222111112111121111222222212212222221221221221111211121211222122112221122121122111222121112122211222122112212221121221121122112212112222222121112222121121121211222122211121212211122211112122222222212212112211121221121211212221211222212122212221212121122122211122211121221111221211111111221111221112122121211221122221211121122122221122111211221121212111112212111222212112222221212121121122212221211112122211221212212222121121111221122112212112222211111121112211212212221222111122212122122111111111121221211222221122111122222122212221222111122111221121211122121211221211112121212111122112122212112111221121121112212112221211111122112112122222122121122122221121221122211122121221222111122222112111122112221111122122111112221221222212212222111212222221222122221211211122222122121212112211111211122211122212121221122111121111212112111122121122212221222212122111121222111222121211121211221111122222211211121122211112221222122121222121211121122221212121122222121112212121111111222112121212212211112122211122112121111121212112211222211211221211121222121211122111121212211122221212211222211211222221121121121221221122212112112112121111121111222212112222211211222212112222221222111212222122122211221211121122221211222212121212222111222222112122212211211211122121121112211212221122112212111211122121112122221111122212221211212222212222222211212111211222212222212211222112221222221111121211121221111222112112121111111122221111222122121222112211222212222221111111211212121212121222112222211112221211212212222211112111112221121222121112212221222222122121212121212221121112212112221112211211222222121112121121112211211111211212222211111221112221112111222122121111212211111121212112112211112121122112111112112121112221211111122121121211211112221111121222212122222121211121122112112221221112222122212211222112211211112111111212221221122121221211212211122112211212212211211112121212212221111122122122211212222111211222221112121122212111221221121222222212211121221112222121122112212221112211211111211111121221211121211212122122221211121112112112212122221111212212211121212222212221121121111221111211122222111112112121212222222121212121222222221121212121211221212221222122111122222211111222222112211221221111111121111121211112112122112121222222111222111211112122222121112222212221211222121221212212221122121111121222122121122111111222111212222221211221221111111122112212222112122221111222111122211212122122222221211212221121112121112122221122212122211111211211212112111211211121212221121122112121122222222211212122222211222211112221122121211122221211122221121111121212112122222121112122112211211222211211122212222122212212212212211122122211121222222122211222222212211212221222221112222221121221222222111122111112211222111121211122112111111111122212212222121212121212222221121222111221211112222222222221112111111111212222212112111221122111221111122121222222121112212212111221222121122212122111111111222211112212121112221122122122211111121211221221222212212111222122112212111211111221122121111122222211211112112122122211121112112122112122122211221211111111211222112222212222211111112211222121221212111211222211111121112222222122122212222112212211122122212111111112121211122122212212111212112122121122222121222122112121212212111211112211212112212122212121112222112211222111121111222221212212211121121111121222212111211222221121221121122221221212121122212111111222121122122211112212112112122212121112112211222112221222112121112112122212212211221222111221221111211122122211111221111121112112122211222211222212221212221122222122112112222121111121112112121221122111112211112122122111212112212122112122221112212122121111111122121122112221221222221221212212121222222112222222212122111112212122211122112111112122211122121212122211121121211211122112212111122122212211112221122212221112221221221211122212122112122112212121211111222212221221121121222121212112212122122222211112121221111112121211212222121212222221112111211122121222121122122112111112111112112121121112221121112221212112222212221111112111212121211222111121111222212112122212221121221122221222112212122212112122222112221122112112111212222221211111112211111121112211121211121121122121122111211121222221111122111221211121112111221222121222221222112112222122221211222212112221112122221122212111121112112121222211222122121121211111112222122211122112112111111212121111222222111221111122211212212111221211212122121221212112112211122211221122112121122111221222122122122221221111222111222221121112122222211221112111121122121211121111211112221212111122221221211112122221212122121122211122212222221122122121212212112122221221112112211221122211222222111112211212121121221222111122211112112112211121212111122111122221211122221211222211121222221222121111111111112122222221121211211221222121211222112111222111121122121121221112112221112211222221221111111211121122211211212122211222222222111212212122211221211212212121111122111211211121221112121222122212222112222111211212112212222121212212211221222211121111121121112212111212222121112112121121211221111111121121221212211111111212221222111222112212212112222111122222212111211112111211121212212211122211111112222211212112212211122122212221121121211222221212122212222212221222121221112221211212122111211211221121112121112221212212111121211212111112121121222112121221222221112122121211211111222112122221212112112112112121112222111111211111212111112222222111222221122111112211211222221122221121122121111122221222221222211112121221122221221222121222111112212112111112221212211121211221222212112112221111212212221112111122221212111211111221211212112222222112111121112221221112111212121121122111121222112221111122111121122112121112222111121122112122211111111222222221221222111212122112121122211112121111121111212221211221122112221111121211122212222122111111111222212121222121122222212111112211111112122112222112121121122121112122221222111221121211221111111122211221111221122211221222111111121121121211111211111121122221222212122121121222111211122121221222122221212222222111111222111121112121211221211121122111211111122212122211221212212222211111112211112121122122222211221212222212221111211212112112122222111211211112221212211112122122221122222212112212221121221212121212221221112211121121212211111222112222211212121122212121222121211111121112222212211122221221111212211221221211221221111211121211221212221221122121121111211211112111221222121222221211221121112221122222221211121112212221212112222121222111212211212122122222112222121122121221121111112121212211111221212222112222211111211112122211212122212111121112211122222122221112122212121122222222212111111121221111122112211121221121222211211221111221122121211212211121221122112121212222122122122112222221111221221112221221211122111211112121111122222212221212112212212112211122221122121112212112111222112212211122221212212112212111111111221111112121211112121121221112121212221122211121121122221112222222222212121112112221112121221122121221212221221212122121211111211122121111212111212122211111121212222212121211121122212221122222221222212122222221221211222212122111111112121211222111122222211221122111222122122111221112111212212121211211222222221121212212212122122222221221112122222111111121112122221111122211112122211111222221221222212211222212112211121211211211111222221221121212111121212121111212222222122112222112121121121112222121221221112112121121212212222122212112122111112221222122221222111211122121111222211211221222121221211221222112121211121122111221122111221211211111221121221122112221222211121121121121222222212121211111121212221122121112112112222122222122211212122122221222212122222221212112121211121221211112211211222222222111222122211212222121111121121112111121211111121122211212122121122111211221121111121121122111212211122211212111212222111121111211112112222111212211112211111221221212112221122112121112121121111111122222211112111112121112122212221122221212212222122212121222121212121121211222221212112122121212111111212122221212211222121111111122121211111221221211222122121112121212211121112121212211122111212221112111221122221121112212212122212212111112212111111221122121112111222221212112212222212211222211211212221112222211122111212211111212122111122121211122112222111111112212222111211112111221212112111212221221222121212212221211112122211212121212221212212221211211221222111212121222222212212221211222222121112221222122211121112111112211121221221111221112212211122221211221212221112122212212222221211122121221112222211121112122212212222111121122211112111211111211122122111221211122122111111122222112221121112222211121111222211122111222222112211112211121112112222211221212112212111212221212211111111112111212111112211121111211112211112212212112222122111122212122211111212121112212212122112111112112111222212122122121122111222222121212221121111122121221112221211121112111221221112212122212112222111212221122211121121112112222212121121112221112222212212122111222221122122122222221122121212121111211121212211222112111211121111112122211221111212121121121211122222112212212111111212211112212112111211112111212222211111212222111122221221121221211111112211212122111111222221112122111212212222121221121221112112121212221222211211212111122211121211122121122112211121212112212111121212121222111221221122212121111212121212221121211221121121121212111122112121212222212212212122222111111222111222112221112122211221111112221221111121111211221111122122211122221212122112122121212112211212222121212211212221122222222222111222222212111111222211211221211212221112112212111222212111221222222211122222121211121222112121112222221111121221221222221112211112111212112122212221222211112211211212122221112221112111222112211112212112111221221122212222211212222122221221211112121221111212221111221222112122122122211222121212122121211121121122112121122212122222121112221222211122212222222112111112112122122112211121111212111211112221212211212112121222121111211122221122122122222221222212211212222112221221212221121112122121222212122221121121121221222221221111211112222212112222211122122111121211212122211112121211211222111111112121122212211122122222112212222121222112222222122121112221121212121212211121222111122121222122222212212111221211212122211122212111121221211221121212222112221211112211211221222221111122212121122121111211222221111122111222111111212112222122222211212221212112221121221112112221111111111112122222212112221222122111122121221121111221222222211112212122111112221111112221211111111122212222121212121222212222222122111221121121111222112212211122111111121211122222211122212121122222212212211112122121212211222222222221212121211221111211111121212112212212111112211112212212121222112222122111222121221212111121111221221111122221111221122112122122222121112121211221122212111122112112112111211212222112222111111112121212112221112122212112212111212212211212211211121122222121111222221111222122212112121221112121111211121112221221111122222122212211211211121122222221121211211121122121112211112121122221221211112111222211221221212112212112221221211122111121112212211221222111122211121222221212212121111111221212111121121111212211222111111211212121121212211211112212212222221222112211222222221112112112212122221121121111121122122212121221112112111222222221112121211112122121121112121212112212211121212122222111211122221211111211222212212121221112222122212211112221121221112221122121212212211221222212111112222211112111212221211211212221121211222212221212112122222212222221112112112212112122221121221111212111122222222212111222211121221212222222121122121112212122112211122121211222111112112111222222112212112212122211211222111122222111121211112212121121211212111122122112222212122221221211222112221111122212211222212211212122122211111112121112111121111211121221212122112111122111221211211121212111222211211112212121112211222222211112121121222222221211212212111111121212211122222111112122221112112211211221212121112111222221222222122122121221111212122112111221111222121112112212212111222121221122222111122122212222111112112112121212112121111121122211221222212111122112212212112121221222212111121212222222221222221112111111221122221222122212122212212111122211122222221111122121112121222112222121222112212212121112122112122112211222212122111122212222222221111222222222222122222121111221112221221112212211212122221212111122222222221121121122221111111222211222221211212121122221212212221212122111122221221212111112221122222122121211112111121111211212122121221221121111122212122222121121222111112222121212221112111112221222111221212221111212222121221112211111211222111212111112222122212121212111112211122111122211212221112222212221111112211111221221212112112222221112211121221221122122212112222122122222111111222211121221211212211222122222112211221211212211121121221122122111212122112111222111212112122221212122212221222111221222111112121122122211112212212222121121122111221122221112122211121111112212221112221122211222221212111112122211121211221111211121221221112112112111222121121222112122211111211111112221212221211121112221122112122112212122222112211122222112121221211222211121212111112212211212121121222112111212112211212111221122111212221121112211222212211221211221221211222221111111222111221121221211112112111122221111222222221112221122111212122212211112121212112122222122212121221122121222221211212112122222111212222222212122111211211111112211211212212222122222121211221122212122122212222212121121222122111121221211221221221212212222111221211211221211211122212222112111212211211212222221221122112211212112222122211212121112112111111211222121221121222221221221121222111121121211221212111222212212211112211221112121211222211211121222121111112122112121222121111222112212122122111112222222222221122222211211221111221211222212221112122221211212121111212121122111222212222211112222111221212221111212221112121121221111112211111122222211112221112221111112212211112122212211212112121212222212121111112122122222111212222222212122221111212212222221122211221112211121221211211211212212212121212222222212212222122221122112221221212212221111122111122222211121121211121211111212211211121122122122211212112221111221111222111121221222222221112112212211222121222112112221221122212122222211221221212222222212122222111112111211222122121222211222222221121122211122221121221122112212211221111112122222222222112211222111112222212112221222122121222121212111212211221222121111111212222111221112111122212111211122222112122112221111221211211122122111111221121222112111211211221221222222221111211211111112222111112221222211112221112111111221222212221212112211221212221121122212112121111112212122211221122111211211221211112211111112222222222211212121121121121222121212111122112211211222222211112212222111222111212112212212122121122112122211221212112221211111122211111221221121211212212221112122222212111211211121122112122212122211211122221111221111212112121222121211122222121222221122222121122112222211111221111122112112121112122212122211111212212122111111221211211212212111111222212112212122212121122212211112122212122211221211111211121212211212111122112211111122211112221222211121212222111222221212112211211121212121221122221212122122112111221121212111211212122211112112122111221122222211122212112111221112122221212121222122221112222221121121222221211122221212212212222212221221212221111222121111112112211112112212112121122112111212121212221211121221212112121111211211112212112121211112111112211212112211111222111122111121222211221222221121122211111122112212221222111121111112222221222111211111212111222222122222212221211111112111221222112121221211221112121211221221212112121121112111112221212112212211212122121122212222121221121222222212211222122111211211111211121121122221112111222121221211222112122121121212112112222121121222212212211122211212211212222222212211221122111211221122211221212221111212111122222122122222112122122122221121122212111222211211211211121221212211222111122111221122111112112122222121222212122221211211212121211212221111222111221111122121211121212211221111121211121112121212221111121122221111122121122211112112112211121212212222122212121111112221211222211212221112212112222122122112121111211111211211211112211122211121111211211121211221112122211121212221211111112112222212221222122111122121221111221111221221222111221222112111122111222122222221111212121222222221212121112122221122221111212112111111211121111222121122221111222212222111112212221121112112122212122211122221222211112122211121221112122112111112222112122221222222111212112222121111221212112221121112222212221122111111222211121122221212221111111121122211111211112222122211111111122212212122222122221111112212211212221122212221212122222121221112212221112221112212221122211121212121222122122111211221211111111222112212112222122111212221212212121221121111122221212212112112112212212112212212112122122212121211122112111112112121111121122212111121122222221111121111112112121221222211212221112111212221122211211211222112221112111212111211212221111121112122211221122111121212122111121211112212212122221121122211221211211111112121121221111212212212111112122221221122221122122112221112111222212111212221111211121211121112212111212111222212222211111221211212211121122212111212121122212222212211221211211222122221122122122221211222122211122221211111111211212211111211122222121122222111222121222211122112212112212112112211111221111212221112212121111222212222122111221111121212212121111121121112212122111112222121122112122212221112211112121222222212121211112122111212112112121211111221121121112212212112222211111211222212121222111111221121111111112222212212122112112122222121122222212121222112212212111112222222122111221212121112212111112112222112121111111221211112222121122121222122221111221212221222221221121222211111122111221212122122121211222122122122222222122121112212112112211121111112122112121221111221112222111222211211111122211112212211221211112111111212111121111121121221221222112122122121212222212112221111221121121112111112221121211222112222111221122111222122111121121221111111222212112112121222111122122222212122221221222112222211111221212221222222222111221112212212211222221111111222112121222211211121211121112212121121222121112212122112122111222121122212121222112211121122221122222122111122211121112212212122212212122222211211221111212221212112222111122212221112112122222122122211111211222221111121111111122121211112222111121211121212122112122122211121221212121112111221211121111221111111211211211122222221122112222222111211222122222212221211121111111221211112212112222122212111221222222122122221112222211122221221112111222112212222212211121222121112221221111121112112121212212221222212112122122221221121212211112221112221122112221222122222122121111212111212211221211212222112222112222112212221211222222121211121222222122212222111212121122211121212112112222112222111121212221212222212222221122222211212212211111112221212212211222222222111122221212121111111112122222212111211211121122212221211221222112111211212121221222221211221111112211222212122122221221221111222211112211211221211211221212222221122122221112222121121221212212222222211221122111112211112121211112222222112211121111112122111221121111211211121112221121112112112121212112121211212112111221111112211122122111112121222112121111121121122112122122212112121111122221212111111122212122222111221122111212222222222221211111222122211212122221121121121112112211122122121212111221221221122211211111211222221121112122112212222112221121122211122211112221222112211221111211121121121111121121121221122212211221122211222122212122121111112212111112121222211221111221211122121111221112221121222112112112211222121211212121212221112111112212221112212221211222122211112121221211122122122121111222212211211222122221121122222221221222212211112121121112222122211221122211111121212121111211121221111212111222112112121121121121121211222122221122111121221121121212212211112122211212122212221121112112211121112121112212212112222221211122211221222221112212121222112121111212221121212121122111211122221221122122121112112122222112122212212222122122122111211222111121222122122211211211212211112212212111221221112221221221111121112122122222122212212221222211222112111221111112211112221111212221122122121121211122122112222121112222212211121121112212222212122222212211211111111222112111121122222121211221122212111111211212122122222112111221111112122221221221211121112222221111221121212211112221211111121221212212221111122211111212212111122211112211222222222211222121112221121122212112211122111211211122112122122222122211111121221121111222222121111121211221112112121112221211111222211221211211121222112122111111122121112122122122222112112222121112221222112221211222122222211221112212111212221212121122111112121121221121221211212221221211222222122211122222221221111111221121221122211122122111221121222222111111221221112211121122122111112121121112212122211122221112121122112222121222222211112121212212211222122211112221212122112112221222112122111111111211121122121112222121222221212211221111122221111112111121222222211112122222211111112111222111222111222111222122112211122121122122111212112211211221222211222112221121211222112111222122211212121112222222112222222211111212211222211212111121211221212211121221111212221111222111222111212122222112111211211112121221222112112122222212211212111212112212122212122222121212222222211112121221111211221112221121222222212122112112122111112122222121111122211212212112122212111212121211211211111222111212122211222121211112112222121111122222221211111212221211112211222222221221221121221212212211121112111222222121111112211111121122222121212212222121122211122121221122212111221121212211121212221222222212222222222111111212222121112121212122111221221212212211122121221122112221121221221121212111112222122111121111222211221222212211211112211212111122211222212112212222222222112111212212221112121121212112222222212121121222121211222121211112112212112111212121221222111212122221211121221212212221121121121221212212222111211122112212211122221122111121112121222221221212121121212121212221122222122211122121112212211122212211122221211122212122221212112111221222112211212121212122212121221211221221222121222122221111222222112212122211121121221221122121122222221122112221122222222111121212211121121122222111121112122121121222212112111212222111121222122211222121122121211212221221221112221121121122221112221111111121112222212122122222121212111112212121222221222222111122122211221222211122111121121221121212222222222122211122111212221212111212222122122112112121212212222222222122222211112222122111221121212122121222221221211211221221121112122222211122222211221211211211122122111111212211211121122121122222221121211212211111112112221222112122121112212212111212121111121221111222222122211111121111112121112211212212111211111121212222112121112122111122121121122121121111222111112122212222122211221222112111221212112221222111111112212112122212211122112212221111122122221211121111222111211211221112112122222211221221211212122211222111122221122212212212212122222211212211111211211221112122212211121121112211212121122111121222211221122121212221221111122112222111111212222121121211222212211221112212112212111212211212121111111221212212221111111222112221211211121212112122211212112221211221121122221221121122222122111222212112222112212212212212212122112111211221222212112122121221122122211212111221112212221211212111111122211221112212121221221212122222121222122111221222212112121212221122221112222121112222121212222212221212211121222121111112222112221111221221122212211222122122122222122212222211211221121121212121111122121112221121222121212211221122221121212112122212212121112211211121121212222111221212212112212112211211111212222122212221222122212121221212221211111211122122212111122112211111112221122111111212111121211111221122112121112211121121222112211221211122122212221222221212111212121121212221112122211122121112121211121211112221211122111212122121222112222222211211111221211212222121211221121212212221122111121112111112221121112122211121112211221222122211111122112222122221122221121122221122111221221111121211222121111222121121212211221222122112112212212122122222221222222112122211121122222122221222221121122112112212221122222122112112121221121211222212222121221122221121111221221211121211111111112122212211212112121221122122212111122111122121212112212112112211211122122112112111111122211111221122121222112221212121111221111212211121212212211121122222221121211111112121112211212221111111122121121212211111221222121121211221212111111122211221112111212112212121221122112222212221222121221221212122222111121222121212221111212112112122212212121111112212212112121222222121111222212222112122211112121122221221122211111221221111111211111221112112222221211112122122121211112211111111212212212121221112122112122112112111121111111111212211111122211222112212121111112122112212221111211121222111211221112111222112221211222211211122212112211111122211112121121122121112211122111222221112222212212111221111121111212211212222222211212221121212121121211212121122112122122221222221211221221111122221222211212122111222211221122212212222112122212221222212121111111221122112211221211212212222212222221122111111122221121111121121212121122121222211211221221211222122112111211211222121112212211121122112221121111211211122112221222222121212112112122112111122112212212212112112121122111122121212122111121112221111222222221122111221212111112111122212112222121222212211221112121221212211222222212221122211112221122221122111121112212112212112122212121111121111121111222222222212212212121222221211112211221212222221122212122211222121221221211211122111221221212112211122121112211122222222221121112222112112111221121212111222221111222222122212122221111212122111221112112222122212211221122222121122221221121221122221121221222111222122111212112112112112221122111222112221121222111211111111212211111122222211221112211221221211222111211212212222212121222111211211211211112121122122211111111122212212222122112212222112222222222121112221221111121222111122211122122222122221111212122212221112222121212212211211112211122212122211111122222222111211211112211112211112212222212211112112211112121212122222121122221121211121121111111121222111211121222221121111212222211112112212122212121121111111112222121121212221122121221112112122121122121121112212122121121212122211111111111221121111211111211111222212222121122122212221111112111222111221122211222111121211122111112222122221111222221112222112121212221211211111222212222211221222112212112112211212112221222212121111222222121112222111111211121112112112212221121221111212212221221111122121221122212122221122221211221221211111211221211122121212212121222222222112112212121122221221121112222122112111121121121221121212122112121111121211122211112212211112112121122112221112221222121212112211212122221211222121111211211112221221121212221112212111122222211112112211222222121212211221221211121211112221221112221211111122221222112221212112212122112111211112122211122121111121112121112112211221122222221121112222112122121121122211221112121122221211221122222212121211121211112121222122121121211121222121121122212112112222122222212222111111222222122111221111121111221121111211222112122121221212121121121112122111211111122221212122222211122112212221111122122222212222221122221111121122211111112122222112111122211112221121121112221111221111221211221222122121221121111111122121211112121121211122212221121211221121212222211211222112112112212121111112121211122112222121222211111222122111222212111221111111212111121122122222221112111222111221212112222211112221122222222211122121112122122111111111222221211122222211122122112222222212221121121222212211121211121211212121222111111222212112222111221221222122122212122122121112112111221111112121222112221211211211121111211111212111211221122122121111211111122222211222121222121111122122112222212112121122121112212212212222212112212121211221121222111221112212122112211112212112111121211221211112112122211112122211111211112212222121221222111222112221222212111112211121211222121112111122212121211111212212111211222121122122221221111221111212112211112222221212211111211112122211122112222122211121122221222122122112112211211212121211221112212121222221122211112111212212211111211121121212212122211121112221111222211121221212211222122211221211122122221111111122112212122112222112211222122222112212222212222221222211211121121221221111111222121212121112211122112122122122122221122222221222211222222111221221222212112222221211122212221211212121222122212111112211111111121221212111212222221122211221221122121221211112121122122121222111121221212112211121221111222221211122121211112112112222221211122122222222212112122211221121112121111122111222222121112112222211221222122222222221112111122211221221211212212212222211122212111111222221222121112221121112112222212112111211121121121211222112222211221122111122212212221221212121112212211121221221112122111122222221121211112212121222221112121112212222122211221212222121112111112121121111122122121111112122222211221222212222122211111121211121222212121212211212212221111121211221111122112211221212122111211211121121122221211111112221221121222211221122121222121212122122112121222112111121212111222212212222212111211222112122222121211212212212111111112212112121121211112121111111111212221111211211222112121222221121122221121221112122122221222122112221211121121222221222211211122221111212222211211221222112212111221111121111221211121111211222222112111212122222122212112122221121111221122121122222222211212211112122222112211222112212222212222212211221121111211121221212211112112112211221222112122211222212212112111211122111112121121212121122111211221222111122221121122122221221111211212122221112212212111111111111211222122211121222122111122212221112222111222212212221212211121211112122121112112122121121111122221211112212112122112112122211221212121112212221112222221121121221112122211111222122211121112212122221221221212121122222212212122211122212212112112112121111211121222121212122112111211221121112222111221221221122112122111112111111122221211212222121212212222122212121112221211112111111222211112222221112221112111221121122112221211122111112112222121222111111222112111222111222111221221122222212212211121221122212212111112222211122211211112111111221212122221222122221211122112122221211122112112221212122222222111111221111111221212221121222212222211212212112112211212112121122211222122211212221212211222122111122111112211212211122111222212122222212212222111112112222222121112111211221211111211211112211111121222111112111221212121111222111121212121221222211222221121211121122221212222212211211121212121121111222121111122211122212121122221122112112222111222211212222212112211221212211211111112212221221112212222222212211221112122212112122222221221221222212221121112122122122112212111122121121211212121111111122122112211211211111111221122111212111111221221211222212211122212211221221111111111221212122211222112222111112211112221112122112111222112112212121122212122222212222212121212222112211111112212121121211221112111111111112111222212211112122222222221122221112112111111112222221222111211211211211112121111211221122121222212112121212112112121222112211221221221212111112111121212112122222221222112111112221221122222211221111211211111221121121221222111212112211122112212212121122211221122121212211211211212111221212122211122112121222122111222122121122212222111211111121112122122211211122121122222212222122221222222122211122221122222212121122112211211222221211112221221222112111122212112221121112112212222121222222222222212112111122222212212111221221122212121111122222111121112122221111222112211222212221222212212212112212222212221122122121222221212211211222221122121212221221211121112222212121222211112112111122111221221112122211222222122121221122222222211122112221112222111221221121111122222211221121212212111211112121112212112121122222222211111222121122212122222221121212211212112222122111212211111112121221212212112212211212212222222121112112111121222111121211221212222112211121211121111212112111111111222111121112121221221111212121211212121111121111221111211211122221112111121122222121122222121111121212212111112221212221222122211212222221222221211121122222221221212211222211211121212122211121212212121212221112222121221121112222212222212112121111211212121221111211222122212211211221112221121112222112211121111112212212221111121121112111122221122111112211121221112221121221221121211222112122221122111122121221121122211221221211121212221112122212111111111121111111212121111221212111211221111112121111211111121121111112112112211112222111221121212221122112122221212222212212111212111222111121211121121112211212112111221111111122111211111122221212212221111111212211112122221221121112111121111212111111122122222121122111121112122111222211122222212211111221221112121222212222211221112222221212222122112212111211211121212112221222221221121112222112221211121111122112212111212211111112112212112112111222221212112121211121122221122221122122222221222112222122221211212112121112222221212122221221222211111211222111122222122221122112221211212122221221121121221121211111221112221112112122212211112121221122222221221112111112222222221122111121121211221222212122222112222122121222112112112111211121112212111222111222121121112212221111111221221111111122121121121221212221221121122122222112121111121221122112221122111211211111112112212112222222222212221222222211221111112221121222122111121121222112211121112212211112212221212211212222222212121112121211212222211221221121222211111211111221121121212212111121112111122121111122221212211221112221211121122112212111121112211222222121212212211222221221112111212122112112212111121122212212211122111112112212111221112111111121221212112121211212122212122122222112111121122112221212211212121122211212211211221122122111111121112221211221222111112212121221121111212122211121122122211221222112122111121222212221121122211121111212121221121111212222121112211122111112211212222121211111222221121222111222211221221111211121222221221111221112111112212211211112122212111211211121112211112122121221211211112212212121222212211112111221121112111111222221111111112222111112122212222121111121221221121111221111221212121212111222211112212121212221122121212122211111111212111112111121212112222221122111111111112222111212121221111212221212112222121211122111112122121122211211111212121212212111222112211212111222222122211221121212121111121111222112111111121121121112221121212111211221111111111121211222221221112212222111122221112121211112111122111212212121111222122212222212221112111222221221112221121211122211212122121222122111122222222112112112122112221111122221222212222222121122111121221221211211211211121112221212221222122222221112122221111111221112211221211211211222121111111112221111211121122221211221111122122212121211222221222222121222122222121111112212221122221211222112222122111212212222211111111211211112111211122111222121211211121221221222211221122221121112121122111122121212221121121111111212211222212112222212121211122211212211212112212222211121221111111111121112222112212221121211211121111121111222111121222221221222112211121121211212112212211112121222111111212111212121211222112121111212111122121212212122221211221121212111222122112211221112212112121221122121221112112211121221112211212222112222111221211221221121212221222112112111122212122122221222122121222112122112112122122121121121122112212122121221221222121212111111122222111212212112112212222111111112121212221122111122111211121212222211122211112222121112222111122122112211112222121212212121212211211212222122121112212212112112221222122211122122211111122111221212212221112221221111112212212212221122211121111212121212111121121121221112222112211211122211121122121122211221122121211122112112221222221222122221121212211112211112222212211122112111211222122111122221112122212122122122122211111112121121122212111121122211222212221111122121122112222212121222222122211221221122211212121221121112211221221212121222111222121112221121221212112122221121111222112222122122111211222222222221111112212211212211212221222122211211211212212222212122222111111122221212122111221112111111112221111222222112122222112211112221112112221212222212221211122221122122222221112121222221211122211112212222212121111111222122221222211221112111122112122211212122212112111212212122222221111112112112112121221111221222211222111221212222222212111112112111111222211222122122222222212111221122112112211222222112221212221122211221121221222112121222212121121112121221112112221111121212221221221212211221222122222111122212221222111122211221122111111212122122111221122122122111121211111212122211211212221212221211211212221111212212222222221222122111112112221112121112122221111211112221212211212222222111222122222121121222212111221122221211111112111222122211222112112212211212212122111112221222122121122221121211121111212122122222221221112121221212212211122221121211221211122212211111222111111122111112112112112121121222111121111221211212122111221211122211212112221221112212222111222122122112221121221121211111211211111221121111221221212212211211221221121112122111221221111122222211122222121212122112221212211221121112212211121211111222112212222112122122212122212112112121222221212112112121221112112211112221121212211111221121122112222211222221221112121112122122211122111111222122211212111222222121222111121222221211221111122222222221112111222122121122122122222212121121212122211221122211222222112211222122112111211111112221112212121121112222122222211221212221222212211111122121122122121221112122212112212211111212122211122112111122121111111211221222122211221111211112111112121111222212222121122111121121122112111221211112221221221111111211112112212122212122121211211112212111212222221221121121122211222211221222112111112111221122211122211111122122122211212111112212111122211112211111222121222122222222211211222221112112212111212222112121222222222212122221212112221222111211122222112212121121212121111121211221212121121221221211221211122211221112221122122211121211212111112211121222221222111121212121121212122112111212221211122111121222112211212112212112121121121122212211222222121212212221111221212111211121112212111122112212122112212222211121222222112212121111212112222221211122212222212111111221121121221211121122111112221112112222121211211221211111212112122111211111112211211112121112211211212211221212122121211111221222222122122222121212121212122122211121112222211211212222122122112112112122121111111221111121222112211111112222222121111212222111222212121111111121111112121122221121221112211121221122112112222122221222212222111222121122111222122222212121122111111122112222111112111211221111221112221212112112221111212111221211122212222111221222221111112112222211122122221221212221221211221121112122122221212212121111121122122121212112112211221212111221212121212212122211211122212121112111111222222111122222212111111122112221112112211221212212221221121121122122122222221222212112211211122212221122222122112121211122211122211212122121221112211222211212122122112222221111222222212212111112121221112111222211222222211121222112211211122221112122122121111222211222212122111212222221111111222111112122221211112221211112122121221211111111212122222222112121211111221112221222111212121111222111211121222112111211211222121221221112212221221122111121212112112121211221122122122112122212212111222111212122112111212211222211121221212222122211121211212112221121112212112111121211222112211211121222212221112211212112211222122111211112111212211222111111221221121211222121212112121112211121212212122122121112222121121221121211222122222112211112212221211211121112211222122112212221211222112212121122112121212112222121122122121112111112122221121222211211111111122222211111112221221222121211111222111211122112211211112121222112211212122121111211211112112212211222121222112221221122212121111111112211122212112222212211212121222222121221112112212111222212111211112122122112112111122221211111222122212112212112212221121111212211112212212222212221211221221221222221121212211111122121211222122121222121222122112221212112111211112122122111111222212112122122112122111121221222211111122121112121121222122111222122222112212121111222221212212112221221211222222121111112111121222222122222122121112111112222212211211112111212211221122211221221121112222122112222122122122221211121222221121222211121111122221211111212212112112211111211221212112211222122111122211212122112211122212111121211221112111121221121111111121212222222222111122221222112211211122112221222211121121221221122222122222121222111211222222122122111222121121222122112121211212111211122111222212221121112122121212222222211122212121111111122221212122111212211121112112212221222121212112212221122122222211212111111122112111221222221111221222212111221222221221222111122121111222111211122122222222221121121212211121111222112211221111111211111212122211221211121112212212222222122212221112222111212211211212111211211212222122122111222211122111121222122112112112221122221111121121122112211211221112212221211212211111112112221212212211221122211212222112221111211212211112212222222111222222121112111211122111222111222121121112122112121212211122111112122221122111122122211121212121222222122221222222222122112221221222221112221222112211121121112221121222121112211222212211222112122121212112211121212111212211221222122121122121211111221222211121212121212112122211211121121222221222211212211121122212212121222122121222121221221111212121222222212111222122122221211211212212122112121211122111222211221111111212111211112212211222111211112112122222122212121111111122111121222221121121221121212111211222211112112212211221221221112112222121122211211122111221121212212111112121122121222212222222122111121222212122121211211221112122122112222222212222212122121221112111222211111222111111111221112222211112112111212111211212222222121221212211212112222111122121211221111211212221212221121211111121122221221121222122221211111221122221211122212111221211111211122211122111121112211112212111211122112121222111121112212111111122222212112112111122121112112222121112122112121121111121111211111212222221122112122211212211211122111111212121221122122222221111222112211211211211211211111121222212221221221222112212121111222111222212121222111212212221212121222211211121211222121112112122111111112112222112121222112211211212212121111221212112212211121211122122122211111112211122222112111222111212212111221121121112222212112112212121211111121211111122221211121222111221221211222112212112211112122222122111211212111222221212112211222111221121222122121221222112222221112111112112121211222122112212222111122211221222211121112212112122111221222111121221122112112111222211222122122122111211121121122222122121112121221111122211111111112122211111122112122222222211121222212122111122221221112111212222112111222111111111222211121221212222121212222122122112112222212222222221111211122211121222212222222222221212211212222121222111222211121121221121112111211212222111211122211111111211112112221212211212211112211112122212222121211221122121122111211122222112222111121211121212111112212211222121221222211121212111222112111222212211222211212211122211111111211222212211111211212111122122111211211121212212111212211212112221221122222121121111222221121121122222221122122112211111112222212111112212221222211211111212211222221121121122122211112112211122212222221121122112211221122222111122122221112221221211112122121222212221222212112112122212112112111121222221122212222112211121212222112222112111212222122211112112211121112112112222111112122121121212121211112211121221222222122121121222122111221222121221121121112211112121111122211122122221222122221111211121212221121112221121221112111121212212222221121211122212212112122122211112211221221111221222222211121212111212111111211221221212122222111111221211111221121211222121111221121121211211121211122222211211221212212112112121222122212222111212121211111211222122122222112111211111122112222221121112221211112122111222221111112212112111111122212212211222112212222122212222111121221212221212111111122111112122221221111111221122112211122212222121222221212212222122122111122111221122221221111222121222222121222211111211221111121122221112222221222111211122112211112222112221211211111222222222121222221122221212112212121111221122211111111211211222121111211222222211221122112211121121112221211211222221212111212121222112112222121111211121112221222222111112211222111111211211111112111121212222212221222211122211222121212121221211212212121212222122211121211112111222212222112121112211221122222111111121222122122122122111212111122111212221121122222221221121222122222122121122112222222221212111122121111121111222121211212221211112222111121111221111111121112111212211212122222111222122211222111211221121112211111112212121222121122122122112111121221221212222212222222122222222111112212212122122222112122221111121211112211122212111221111222212221212211122212121112112111122222212222222222122121111212211221121111222111221112121122112212211211111222212221212111122112112111112122211222222112121212111212221111112212112122122111122121111122122211212211212222111212112221112112222111211211222122111111111122222222221112211111121112122222112111122122111122222121111111112222111112122212111211111221222111112111122122221222121212121211111121212121221122112121122212221121111222212212211212221112112111121212212211111122212221122112222121212111211112111221112212112212221212212122112222211221221212212121121112122112222111221212111221211211212222222112112211212221221222112122221112122122212112212212112222121122221221122222112212121221221122111211121212111112211121222121111112111221221121112122121221211121122122212112121112222111211112222211121221222211122212212122122112111211112121212112211221212222112121211221211221211112212112112221211211212222122221211122122121121112112111121211211112222121111121111222221112121111122122212211111121221212121211211222221111122121222211221122122211222122221112222222122222222221212211112122212212221221111121222122211222111212121221222222111222122221211221212122122211212212112221212221222112112212111111211212111212222222111212122212111111122211211112212212121111122111212221111112221121222111222211222121211122121211212121121111112121222111121122221121211222112111111211112221122222211112211112222112212122221121122212221112221121112222122112211212211221121212122212211211222211221122122121212211122121222121212121111211122221211222112122212222121222122122121212212221122111222121122211222212121121112111111111111121212112221212222122211221211221221222121121222111211211112212111112122122222221121111211211222212112222222122211112121121222211121222112122112112222122222211112212121221111211212112211221212211121211222112121112211122112112212121121212112222212221212112122212211211111112112122222211111122111211221111221211221112221211111211221111121222111111221111222211112211221122111221121111221111211221122111112212121212122121212122112211122222212211112112122211112222111112221222222121112211212122222112211122212211211221122112221121221211111212211211212112211112211211121212111121222112112211221222221221111221111221112222111221122221122212211211211112222111211212121122212112221211212122211221221121121121111122122222122212122212212211222211121121122111221121111222112222121221221211221122112211111112111211111211221212221221211121121211221211212122221111121121112122122211222222112112112112111111221121112221111211211122211221221211121112212111121111122221211221222222222122121212112111112222122221211222112221112212211122222112211122111112222112121122121211221211212122121212122112222212211221222222222111212221121122122122212121121211121121111212221212222112111122211121122221221211211211211111112211211211221211211211121221122222222111222112112121221221111122221122211211111122221121212211211212211111221111221122221122121221121222121112121122212221121111221221121122112221122122121122122121212112211211112212221111112121121111121221121211212111212212221222111122112212121122222211222211212122221122222122122211112221121222112211222111112112112111122112211211212112221122222221222222212221211221222221122221112122111212211121122111111211211112221122212111122111222222111222112111111122211211222111122121212221112121212121222111211111111112211111122212212222221121212212221211211111111222211122111212122111121111112111222212111121122121211222222122221211111211111111112112222122121122212212121122211122111211222221211222222111211222222122111112222112212112122111221112121112111222211122221111211222221212122112222122222112221221111221222111122212222221122121222122122222112112111211111111111111111222211121112211212112211221211111112212111121111212122221222222112222112122222221122121111211111112112212211212211122122221121211212122211121222211221221122122122111212121222212211212221112222112112212221222221112121211212211221122222211211211112221121211221221122211112212112221222221221221111122122212122221221211212211222122112222112112212222112222122222111222221211222221222212211122212122221222121121121111221212212212122122212122221112221211111221222211212111222212211222111111221112221112212121122211122212121222122122122112122112212121112211121121122211211212222122122122111211212121212111121121222112112222222112221112211112221122112121212212212211221212122112212222211212211221212112111211121111122211111222122111122122212211221222212112121212112111112221221211111222222211212111212212211211211211122122122121111211211221222122121121221112211111121112111212221111222122122112212111212221112211111111211122122222222112121122212221122121121112122121212112212212122122212112111122221211212111221122121222122211221212122111112111212212212122112222212221112212122212212222212222221121222221211122112112222112122211211211121222222111122122122211111221211221211212121212211222121122111212221122111112211212112222212121211222221111212211211122111122211212212122212122111111122222121112211211221222222111212222211222122212121122222212122221212222212111212211211111221211222111211212211221212121122111121221122221111121121211121111212211222212121221221112122212222221112221221121112221211211221222122211212211122111222112112111112112212121212112122212121111222111121112122111222221111122122212122121121111221121211222122222121221121111121122212121121122221222111112212222121112112221212222112211221121221221111222222221211212122212222121211212122111221212221222121122121121212222211222112122221111122211222221212121122222221211122212211222212111111122111111111111112212211122221121222121221112212221111122112221121212211211112112122122212212212211212212112121112222122112122122122221212112122212121211112221212222222112222112221222222112111222221122112222122111212111212111212111122121122211111211112121221222122211111111211211121212111211122211211221111222212212221121122222112221111121212212122122211222221112221112112122111112121222111221222212222212222112121212111221121111122122211222221122111211111111222112111212122112211222211121221222221212122212111221212211121221122121222212122222221111122121121111222112211112221112122211211122211211212111211121111221111221222122222221211121112122212112222212112122221112122112111122121111121111112122211111111112122122211112211221222112212122221111122112212211221122111122211211212121212222212111111112211111111112222122112121111211122212121122221111122212121222111112111111211121211221122122111121122121121211111111221111212121111212211221211212221111111122112212121212211211221211221111222111212122122121121111211122121212121211121222112122111222121122122112112212221111222111222221111222212111212112212212221222221112121212121112211211222212211221212112221212112212122212111122221112121221121122221122112111122111211111212112221121222222211121111121122112211212222111212122222121222211211122121212121221221122211121211221222111121212222212111221222111212111111112121111111122121211221121122222212211221112112112222212121211112121211121221121222211111212122121221111111111221212121211211212121121221211122212211211112111221221221122212211211221112121121111111112111221112111221222122211122212222111211111111222222112122121111111121121212111111211122112121111121112211112111211211212221212212111111212221122112122122111122111222111111111221222121121121212222211212112211111111112122112112121112111221212111222211122121122222221111222222211112212111211221212112121112112111221221111122111221211211212111211122111121111111221111121221221221211112221221121222121221121212221112211211122112112221222211212112211112112212121211221211112121121212112222122221111111211212222112112112222121111112222112121122112211122111222111122122221122111221212221112211122112121222222211112221111111122111211121222212212122221222122111222222111121111212111122221122221212212112222221222212222212111212211212211222221221122112111112112221121221121222212221211211121111212112222221122122211221121111222121122112112221211112211121112211122111112221122122122111122112112221212222122222112221111121111221112121212122122221122222112112212111211212221122112222221111122122222111122121111111122121211212222122111211112111112111211121122212221222111111212212221111112111211221221121112222121222112122121111122122121121121212111111122111122212121122121222122212222121211211111112211222111212121112121112211121112211122221222222221111112111111112121112111222111222122121212121221211122111112221111122111221222121111122121222122111111222211111111121121112122112112112121111111111211211212111112212211122122221112111212211121121221112211221211211112122211122121121122121122111112221221212112112222222111221212211122212211121221122111211221222121212222211111212112121222211212112111221121221211222221211222222112212211222111221121122121111211121221211212111212212221211211211221112121222112212221222111122122121112221121222212112121221111212121111112211222212122112112121221121221212111112122122112112221222221212122221122221121211122112211111211122211211112212212121211221121111121222211112112121211222122212212221122222212122121222211121121222112221222211122122112112121211122222222221222221222212211221212112222122112211121121122212112122211112111111112221222121211211121111112221222221222121122121222221222112111111221111122221221222211121212122111112121122221122221111212112121221222121122221211122212111212222212222112121121111212122212111211121212221121122111212122111111212221211221221222221212221212121111212111221111221121221111112222221222211222112211222122111211222222111211121212222211222112111221212112222112121221122221222212111212122112111221211222211221121122122211112222111112212221111211121122211212211222221121121122212211211211211211122112121222122121221122221211111222112212221221111122221221221222221122111121211211221212211211212212111121211121211122111212121121211221121212111122212212211221111221112211221221112111121211222122122121221221211121121211121112122212112122122222222111221211212111211111222112121112121222112112212111122212112221111222212222112122222121121221112222212222222212221111121122212121111122112221221222112222212112112121221221221221122122221222212121222221221112121112121212112112211212122112221212112121122111222121122222221111212211121112122222212112111211121112111112111222112111211112222211122112122212111222222211111212121222111122112222111121222221121221122111211212221222222112111221211212112111221222122211111221222212211111112222122221222121122111221112121111122122112121111121222222222112221212112212222112222212121112112112112121211212221211222221121211211121222121221111122111212121212211111211111122212111222111211112111222111222122212211122222111222222121112122221222212111222112221211221222122112112122212211221211122112121222222122212211222211212211111211211111111222112122222221122222222212112112221122121121112222122122212111122211111122221212221112221212111112221211212211111121212221212222121111212112212112221112212121221111121221122121222121111122112212221112112221212122122121122122121211212211212222221222212211211112112212222211121122222112111122122222112121221122221111211112111212221212221112222121111121212212212221112122211212122121111221212221111221222122221121121111222221121212112112212122122122111121212222212112211111111122222111222211221111121121211122121222112112221112111211221211222121212111111111121211222221122211212112212111222111211221121222212222121121112121111211211112122212111122122111212122222112121221222221122121111222112112111121222122211112211121112211111121222122111112222222112112111111212211221122221112112221111121122112111111122112211121121111212112221211121111212111222112122111212211121122112121212222221112221221222112211221122112122112221112111211222121112221122121222221121121111122122222112111222112111222122112211112121111221122221122211122112212211212112122221122221212222222111122212121212221121121122121111122222212112221221212222111211112122122122112222111111212112222112222121221112111121212222111111121111212222212221112212111122121221121222212122111121122111221221221211122222222111221221122122122221212212111212111111211121211221112222221111211212121111121122211222122221112212211112222122111212111212122121221222111111222121121112111212222112121222111221221212112222111111212122211222122111211122121211111211111111122121121212212121111212111221111221221212222221111122122111212221221212122111221222111111221111111212122121112211121222212212121122121121221121222112112211211121111221111212212222222222122221221121112211112221121121121111121111122221212111211121221122111212212212122221212212212122211122112211221122122221122211112221122212112122212212122222222212222111222122212122122121112212211121111212211111211121212111221222112212222122212211212122112222112221212221212222112112121111111121222122111221211112122111211122222221222222221121121122122222222221222121211112222111111221211112211212112222112121112221211211221122211221222111221221221222122222122122212222221122121211222221112212221212121111111222112222222112121221221212112221222122121112211221122222122111222122212222212111111221221121111211221222121222121121222212111211111212221112122121211112211112122112212222211222121211112111212111121221221221112221222222211212221222211221212211211211112211122111221222121222112222221111112211122221121121121212121111212112121222112222122211222211221121112111112111121111222111111112221212222111121122222211122222121211111112221111111221222221112222112112222111212112122221211221121211222222121212221122122211222211112221112211221122211112122111212112111121122212211122222112121122211211112111121212112211222121222211211211111221111121222221121221211221122112212222112222121212212121122121212111222121222212122112221222211212212221221221222222111112212221221122211221122211112221211111111111222221112122221211111122121222221121111112112121122222122121222211212222221211121112121121112222121222112222222211122212111211221122212222222221111121111112122212221211121121222111122222222211122111221212112211122111211111222222122122122212211212112222221212111211122112111121111112212221221221111221212122111112221121211112211211222222122212211121222222122112221221211111112211122211212222221222112121212122221121112122111222121211212222111221112211122121222111112122122212211111221121112222122121121122112211111111211221211111212111121211112211121221222211112121221222112111112211211212211211222221221121121111211121112222222221222221121212211112122212221112112222121211111121121111212121121112221212111111122212112222212111121121212211121221112111212122121212121221211221222222211212222212111222211112111211222222212121211111211122121212111211122122121112121111211121121222221211211221222112121111221112222222121222122122112121211122221112112221212112121212112212211111122122122211121111221222112111211111222211122112112211122112211111122212122222212222211222211112221112212122222111221222221221211222122112122112221212121211111111111212122222111111222211221122212112121121212222112121211121221222212122112221222221122122222111122221222121112112121211112212121222221212212111122122121222211212221111222212122221212212122112112222212222222112221211212112122212111122111221121112212222222122222122211111211112112221211112111112112222212221121111122122212212212111222212121211212211222122222221222112122221212222212122211212211111121212221222222112122111112211112221212211121211221211222211122112112211222122211121211112112121111122211212212122111222222212122112222112222121111222121222211212211222221122222212221122111212222221222121212112121122111122212112111212122112112112222211222122222222222111211222222111111112222222221112221121222211212222122112211222122122112211222111122211221222211222221221111121121212122111222122111112122221212222221111112112111112112212121222221111212121121222122212222122111211122122112212211121112221111221112112122122222221212221112121122222111122212121121222211121111211122111111212121111122121112211212222122222122222221212211211111212121121112212212121121221111121111212221212122222112221111211112221111121122222111112211221212221221112122111122221222111121212222222111212111121112121121221121122221221121122212122211212211211111122212211211122112211222121212212222212122222212122121121222212121121112111112112111111121112112221212221211121211111211111112222212111211122122111222112121122112112121122121122222122221111121112122221211222122122221211121121111111212221211112221111122121111122211211211221112111222211122222121221122212211222122122122111222221121221212222221221112212122111112222211121112221111212222212111112211221122122121111121121211111221211211222211121111121212222211222121111121112121221112121112211111211211221112121222112121212221211222112221122221112221121212212211211122122211121111221111211112212222211221212221122222222121121211221111212111111221212222122112121112122112112112111121121121211121121122121111221112222112221222111222111112112222121112221122211211112112211222121111122111212112112221111211121112221111112121122111222121112212222221111122211212222121112121212221121111122111121111222222212222122211112111211112222222211211111211211211221111222121222221211221211222221211112112112122121121122121112222122112112121211221122212212111212121121212122211221111222211121112122222121121112222111121112122212211211212112122221212221212111112211122112211221212112122221222221221212211212111221222221221222221121121121212112121121222112111121111211222112122122222211221122221212221212222121112111111221212222111111111122122111111221122111222111221222221121211111212122222122222212212112112111122122121221211221111221211122121121111222121122222212121112111212222112221121222221112212121112211221212212111212221111222221121111121212211122222212122211111112121111111211221122121112121111211222112112222112122122222112221221211122212222121222211121212111211221212122111222111212221212122222122112111111111121112212121212121122222121212222221212222112111211122211211212112121212222122121122222111212111112122121221222112222221221221122111111222212111211112221222221111211121112211211121121211211212122221111212121222222112222111222111112122211212221112112221211122221211221212211221221221121122211111212212122212111112111112222221221222211222122222221221112221121111212111122112221221221122211112211111221211221111221212111211222221212122212212221112111222212222111122222121212121212212211221211122121111221121212211221211121111111111112212211112122211221111211122112212211212122221221122211121122212222112111212212221211221222111122221222122222121221221121221221222122221212112211211212121111212122121111221122111112121112212211222112222211222212212111221112221111122111112111121122122212212111211111111211121211222112212122121112122212122211222211122111112212222212121221112222122112121122112222122222122121111121111222112212122211221122211112212122211221112122211222122121221221221222212121212221121212212222211212111112112122122122122122112212222221221111221122121212211212122221222221111222121122112221122121222122121222212111211122222121112212111121222222211221111112221222222111122121211212111212121221222221211222112122121112211222211211221211221211112121112121111221122222122221221112222222222221222222111221111212212212222112221211212122222221111112211122211111121221221121211221112212221111121212222222111121111211122122212122122222211221222212212221121222221212111111222122122122121111211221221122111122112112122121112112121212211121122112222111212212121122221112122121121212221222111121121211222222121121121122112222121111221211221112212221111211121112212221211222111211221221122212212112222212211122112211222211122111212122122221221211111111111221222122221111111222112211222211222112122222122222222112121211212112122222212112211112111112122121212122211222112211212121222121121112222111122222222111112212211121112211112211221122222221221112122111122221221121112221112111122222212112112212222112111112112222111221222212121221112112122112211222221112111221212212222122222112222121122211221211212212112111212212121222112222121221221222111121112112211212122122221111212112111212112212211111112222222211122111111222121112221212112221222111112222122222111211122111222111222112212121122212212221221211221212111111222121121121222112212122122221212111111112212211221121122111111122221111122111122212222111111221222112122221222212121111111121112212112212221212212222121122222121121111212221212121221211211112112122212112212122211112211222122212212212121121212211222121211222111122222111212211222122221112221212212211121121122212212111211121111112211221121211122121111211111111111222211122121111221211121222122222112122212121211112121211122221122121112221211112221111221222112112122122212211221222122221211211111221221111122211112221222212111212221222121221112122111122222221122212212112211111222112111121222112111212221122212122111111111212221112112111111221222211211111211211112122111112112221212221222111211112222122122222221221211212212221222111212122112211121111112221111212121111212112122222212112122121112112121212112111211212112111111111222212212122112112122122222122121121122122122111111112112212111111112121111222121221211211112221111122122121212121212121112112122122222111112122211222222211212212121122212211221111111221221221111222212121212111211221122211212212122212112111221221111112112221121111112122111112122121121112112121121122112121121122112111221121222212112112212121212111121221222221212121112111112211222112111221222112222222221112212111221121211112121122111121211212112212212111111121212122122122222122212221222222212121121222212211122112111221222212121121111212112121122212111112221112211221122112211121112212122112221222112112112212221222221221111212211121111112112221212122112112221211112111112111221211221211212122122221221221211211211112112111212211212111111212222112222211211111212212121212221212212212211112221222212222111122221211222221222221111211212221211212211112211221212221222222221222221212212221221121211112121222212211221122111212222111112222121221221222221121222212112122112112211112211211211222222211112211211122122111212122121212222211121211111111122221221222122222211212122112121221222122211221211112111211222122121122212121121121212212121212211111111111122111121122112111112211211111221222221211121222221112211221111122212111121211122112221121121122112221212211111212222221222211122111221221121221111221222221222121221221222122211222111121121211211111122221122121121222211221112212222211112121222212122211111121222222111121122121221112211221221212221211122111211121112222121121222222221122221111222112121121122111122121111221122112211221121122211221111221221122122211221211112112212111112222112121221121111212212122211222112222212112111211222222122111122221121122112112221222121122121221121221111121122122122121111111221212112111211112211121221111112122111221222222212121121221112221212122211112222121122122111111221121212122221112211112111212122222122211112122112211112121222222221112122211121122121212111221122212122221222121212212112112121121111121221122112221222211122112112211112221211112211211112212112112212112212121122111222211111121212122222212222122211222211211112111221211211121122212211211121212211121122212121111212121111111121121222112211111111221122112222122221221112221111222121121111112122122221122211212221222122221212212221121122221112221122112111211111211111122211211122222111122221211121221221112112121211111112122111212122222111122221112222121221112212221112121212121221221222212221122222212211222111221111221211122212112112112121111212221111221122111212222121112121121212112122122111112112121221221122222222111211122221121111111111211112121112121121212222212221112111212111212221112222112111221112221111212221111221112212221121222221121121222112221211212122212211211121122112111122111122221121111111111121211222112211111122222111121212112222211112111212222121222222212111211112112111222221121211112211121112211221122122121112222121221212111112212112212221212222112111122211222121111221222212111122112112111111112222211112122221212221122112211221111212222121121111211212221212122212122112112221221211112111112212121221221112112212221212111122221111212122122112112112222221222221122111211122221111112221212122122221111121122122121221122111221121212221222212122122112222111122211212111211112211212222112222112122121112222222222122221121111112121111111121221222122122212221122212222111121212221211122211121111121121121212212122211221121211212121211211211212212211212211121121221121112121211221221111121222121121212111111121212121121111121112122112212111122211112122211211211112212121222222212111122111122111112111112112212122221121222122221211121221112112222222112212111212221121222221122111121112211212121211221222211212212221111121222212121112111211112211112212121122112121212221112211221122121211212221122211211221221121212212121111122222112222121221111212211211112222211212111221212111112111221212222211222111211222221212121222121212111121222212222121222211221112121212112112111111111121122121211212212121122222111122122211211111122211212211121222112111222221212212111211212211112222212212212111112212122121211112222222121212121221212211222112121121212221222222221122111122111211112121222122211222121122121121212221221222221211121221212112112122222211221222211211111211111121111212112111122221221121211122211212222211211121121212222122222121122121222122121121121222111112121111211121111112221112121221212112222222222121211122212222222122121111122222222122121121221222221212221212211121112122222211121111122211222112212122222122222122221211111122122222121121112122112211221211112112211212212111221212212111222121211111212222121122212222122112211111121221212122222212112111111212211212212222111121121212111212222112111221121212111221221212222221212122222222212221111212122211212122112122121121112122112221211121112211222222222121111222212121111212122212212122111212222211211122212112212111212121212221211112121111221222211122212112111221111121112211122111212121211122122211212222122122112111212221222222122121121122111112212121212112212212122122121122122111111221211221121111212222121111111122212222112111212112121111222121222221222212222121122111111211122211122211221221122122211211221221122111212221222111111122122111112211212222122122112111112212111212112121222111212221111112221112112121111122212122212121112211212212121211221122121212112211121122212111122221111121111112122221211211111111111211212222212212221122111222211211121112111122111211221121112111221111221212121122222112212112212222221211211111212212211221222111212211212111112121122122212222121221211122112121211212122122221121111111112112121221121222222212112211211221222112122111111121221222211121111212121111221121222121221112122222222212222121221211211121211221112121212112121121112121121112111112222121111112221122121222222122221221221212222121221221122121112121221112112211211211121112111222121211112211112111211221122121222222222122212221122212222212121222211112111211111112111112211211122121221221111222211121122111211211222121221212222121122221212211111211111212211122222211112122121222111112221212122212121211221222212221211211112212221121211112122111111212211222212212221212121112221222222221222221121121211112122111212112112121212222212212211212222221221111121221121112222121122212121122211122222221222112111222222211211111122211121111112121112222121211112122212222122121221122212122111112212212211121121122122221121111212221122222212221112122121122211212112221221222211112122221212112111221112222222111212212222211121122111211111112122112122111221122122212222221121111222122221211111111212121121122122222122111221222211212111222212211211212212221122111221122122121121121212112221221221111212221221212211212122221222121112211222222112122112212222211222211212221122122121211111112122221221211212211211121222212221111222122112121112112221221122211122121121112111122221111112122121211211122122121211222122221222222121112221112112211112121111221121122222112211111212121112122212211111222211111122221221111212212212111221111122122212222221222222121112122211211121122112212111111222222221222111111222212112122222212112111121221222111221122112212222121212121222211212212212222222212121121212121211222122122111122111221211212212211112221211221212112121222222111222211112212222111221222111221112122211221122211122222111111121212222212112122221221212222121121221221122212221121212212121212221211222211221112222211222122122112121121211221212122212122121211211122121112111112121212121211212111112211112121211121221221212212222122221212212221211121211222211222112222222122212122112122111121212121121112111211222111111121121121212112222212122122221222121121222122112211112212212121111111211211222221221212112112112121112221222222121222211212211122211111212212112111121212112111122221222221211221211222122211211112122212121121122211212212122111121221122211222221211122212222111222111121211121122121212222221212111121221221221112111212112221221111122112221212222121112121221212212121222111222221111122221112222212222222222122222221121111111221221122112212122211122111112112222112211221211211211111211222222222112212121112122221122111222212221121212121122212121222111121212112122111121222112211112121121121212222111222222222211122111111122222221211222211211112112111112122211112212111212122222112111112211112111212211121211221112122111121212211121111111222112121222212222211111212122211111111211211221222121112222111212221122211212112121222221212112212112221211221212222211122212221222212211221112111212212221221222111122121111121112112122221221112211221211221121211211121222221112112111122221111212212122122212222112122221121111211222221222122122122121121222221112111212111112222212221122121221222122121212111212112222122122112211112122221111211121112221211121122211222211111211212212121211121221122111222112121111222122212222112222111212122222221221222221222211121221221211122121212112211221122111122222222111211222222121111212121222122111221112221211111211121121211222122122122112121111211211222112112221121111221222212111111122111211222121222212212221211211221212211122122222212122222221222112212121122222212211221211221212222222222121121121121222121221211211211111121222122222112121122212122212122122212111211112121211112221211211112112222212112222111222211112122211121121111221221111221222121211212212212221112222111112222121211111211111221211121222211112122121211121121121211212212121222111111221121211111221112221121121112211222112212122212121121111121122112221122122212222211211112122112111112221211121222211121212111111211211211121221121122211212211122221211221122121111122112212221121122221122121222212212122121111121122211212212221221122212112221112212122211122121222221112212212212211111221222211121111211122121111222111121222121121122111212112212122221121222222121111112122212112122111212122112122211211211112222211121222121211212111222111212111121211221111222111122112212111211212121121112212221212222212112222112121111112121211111222112122112122112112111212111212212112122222111212222112122122222222111121222212112121221112211221222211222112212121222112112122111212112212122222211112122122222112112122222121222221122121212221112212211111211111122211122211122212122222112222111212121111111111221111122211122121212212211212112111121111221211111122111211211211121221121122112122121112212112211221112221112222121122222212212211212111222221111212122121121221222112121221211122211121212211111212221121111222221112222212211211222212112211112212221222112212122121212212222122221111211211222221212221222122211212111222221211121211112211111222222221122111112111111222211221212121211222112221211211112121112221212221121212222112112212121221121212122112221112221122212212122211112222222112112211222221121121121222111122221121211111112211112112112211211122122121121112111111122111111212122221211212111112211112212111211112121111122212212121212221222112221212122221112121121221211111112121212121121122112122222122211212122112222222212222212222121221121112221111211112121111122211212122211222122112112211211221221211211111222111121222122221122212212211211121212211111212112122111211111111112121112211111122111211121111112122211221211211221211211112121122111121211211212222112112122221121121111121222122122211121112122121212222111121222122212111221222221221111222212112221212122111222222122221112221121121212122112121211121112121212111211221122121222122111222211121222212221122221121211221111111111222212112211112121221112112112112122212121222212212222211112122222211122221211112211122222212121121122121221211122121121222221211222212211121121122222122222221121122222211222111222121122211211121221221112212122211222222122211221112111112211222221212112221112222111121211212111121222122122222212121111122222121212112221122211121212111212121111112112212221111122221111112221112222111212211112121122212122122221112211212121111121111211112121121121211111212222211211212111212221121111112222212212121122121112111122122222111211112121211121121111121221121111222222222121112121111121221211122121211212211212122221211222112221211222111122211222112112112212112211221221222111212122212121221111122221221122122212211211122211111111122122111211112112122212112122111112222222222211111221211211111222111112211221121212212122122222211212221211112221112111111121121211122222221121212221212122212111222112222122111221111122112211111112222211212221212111212111122121221112112221222122121122212211121222212112122111122211212222221222121222122222221212222112121121121111211212212222212121122222111112212121111222221212222112212221111112221221212221222212222221121222122121112221111221121222221112112211212121211112222211212122221121212122122222122111122222211211222112212211112122221221122211221121121221122211112211221112211121222121111212122211112122111222222111222111121221112122121112221121111222221121111212121211221112222122222212212122122211211222222122111112122212122221221222222222222112121121112212222222121122122212112111221122111121122112122221211121122222122112111112222212112112112221122112111212221122221211211111112121222112212111122111112221212112111221121122212221122222121111111122212211122211211122222221121221122111112211122122222221211111222112221122122112211122211122112212111222211222211211211112112121211112211122112221121221112111122212212122121221222211221112122111222221121122212112112222112212222121121111121212112121121111222212111122222221122121111111111221221112222121112211112112121112112221111111222112111111112221212221211222121222211222221212122122212112122211212222112112212112112211112112221212122211221122122222211111212211211122211122221211112121111221122122112221211221112122211222222121221122121121222111221121211112221121222221212222212112122221121221222222222211221211212122122121121212211111122222222121221222111221221212221222121121122122221122121212212111122121112212111221212112112111121122111111111111122121211121111121121122112121112121212122121222222211121122122221112122221121222221112112112122211212122112121221211111222211212111211222211121121112112122221211222211122212221221121221111121121112222122121221222111212111221121221221112212221221221112211112211221111122221111122111122111121211211122211111211112221222111112121112112121121222222211222222111112111112111121121221212112111211111212211121222122222211221222112112112122121211111211222111221221112222211222121122112122212222121211221122122122212222121221212112122222121122211221221212112122211111222111212122222222121121121222112212111111112221211211222121221211111212211112212121112211111121122222222112211122222112212122112122111112211221222122212122212121221221121221211111211111112112122121222221112211222211112122122221221222212212211221121122222212122221122112222112112221111122212111212111122112112222221122121122112211112212211111212212111111221112122111111112121211112122212121122112121122121122112112121122221122121122121121121111121212212211121121112122222112122212221111122111221112121212212211112121212221211222121212222222212111111122121211122122122221122112221121221111122221222212121111121211121121121222122121111222111122121122112221112211221212112221211122122221222122222122221122222221211112222112221122221212122221211211212112121111221222222222211112111222122121111122111112211121121111111112222112222211222221112222211211222112122122112221121221211122222221222121221221211121211211121222211211212221111122222221112121121122221212111221221221221112112222221111111222121222221121221122111211111121112221111111221222211111111121112221211222111211111212211122111111221212212211112211211222211222122221221122222212211222112111221121221211222212221111111112121212212111212121211111222111211221212222222121112121122211121112112111221111121211221222121211222222212222211121212222112112111222111112212222211212222122211112112111111222212222211112221112212111221212212111221211121112121122121111222111211211221122211222122222211211121212212112212121221211121111112121211112111212222111111222112122212211222112212121222212222222212222112122122112212221122122222111111222121211221212222111121122212211111222211122112221121112121121111112212221212212221222121112122112121122221211112211122121211112221121221111122121222221212122111111211222122112111112221212212221112221122111212212222211211212112222121212211212122121121222222122122112211122211221211221112221121221211122112211211111211111212111112222222221222212221122112212111222112122222221121121112112221212111221122111211221222221121112112122212221211111221221122111212121111222121211211112221221111122121221211221112111211121121221222122122122122121211121111121221211112121221212122122221212222121112221222222122121122211112212221212121112111221221222221121211221112221112222111112211211121212112111111112221121212122111121121121221221211211222112211221212121112222221212211212212122221112111221112121222211221222221221211221211212222221221111221222221111112221221222111121122222212211212211212122121112111112111111221222121121221111221111121112221112221221122112212122211212212121211122222121121121121211222121112121221121222212122211211212112222111221222121111221111112221122111221112222222222122121211221221211211122222211221112122222111221122112112212111211212222211111122121212112221111111211122111221212112112222121112111221221222122221122122221112122111211211121222121222111211212212122212211212221212221122211121211222212112211211212112121121122222221121121222112211112211122212211211122121122122112221122122112211121121122222211112111222212222122121122212222112222121212122221121222212221111111122221212111212212212221222111121122222211112121112121111222111222111222221221111212112121112111222112112221112122221211111222121211222212222211122211211121111111212112211122222111122212212222111121212112212222222122211212112222121222211111221221121222211211122211111221222121211122122122111221222212112111212111221212211122221112112112121112121111122212221122221221211122112212211112212122221222112121222112122112112211222112211122111122222111122121222212121121221121211121221111112222112121112221112111221121212222111122212121221122112212111221121122221111222122212122212122211112211212121122112221211121122222212112211211211212111121212121211212212111111221221121221122122221221211221221221222221112112122211112112222221221211112222112221112112221212112222122121121221211121221122121111212212212222211221212112212111122121112212121122222221212121112121112212212112111221212222221221122121221222112121221111222221122121112212121221211111112211122212111222221211111121221221222211222211121122111221121222111121112221111111212212111121222212211112212112111211221222111111112211121122111112122111121121221111112122111112112222111211112212112211112212111221112121222121212112121211121111212211212212112211221121211112221212122112111222212121211121212221121221112121211111221221211111121211212222111222222222212211121221122112211121111211122212222222221221211111122211111111211121121122122111222121112222221212111122211212112222121121112212121222111121121122221122211221112121212221212222211111111221212212121222212212222112121122121111121122211122212212121222112111122122122112112112211121121221122222222222211212212112122211121111221212222121212222111111221211221122111212222112222221221111221112122112122221122221212121211112221211221122221112222122111111222222111222112121211221212222211212222121211121211222222112111221211121121111111111111212121121112122212122111121222111111221122111121221122112211222221211111212121112221211111112212211222112211122212111212221222222212211121111222121222111112211122211112121221212122212222211122121212221211121121212212112122122121112122221221222221121112111122112111221111122221111212222221212112112212111222121211112211221122111221111121222221222121211212212122112212212211212111221212222122212211222111222222221222212121122111222122111212111222112212122212221211122221222212121112121221212121111121111211112112222121212212212121112221112212122212212211211212121222112211111212111211122222112122212122112121211221222222211111211121212222122222122221112111222211121111111212211121121222112112111122222221121112122221211222221211222211222221121122111111211211122112221211111122121211221121211212222111221222122111211121122222121211211122122122122121222212111112222122212122221211112121111112222221221112221221122221111122221111122112121121121121211112122221122211111211112121122222122121121222111212112121122222211221111121221122222112212212121111221111221222112111212112221212221112211121121112112212212121112211212112221112122111211111122222212222211121112121222211111222122121221121212221222221111212112121111112112121121111221121112122221221121221112122121121222211121122212121221122221111212211121222112221221221211111112121221212212222222112112211112211221211211211112111122111122122222212112111212111112121212122112112222121122221111122121112212222112212211212211121121111121211111211221112121221111121121221221121111221121111112112111122111122212111111211221221221122211122122212121211122121222222212121122112221221211121111222111222212111112112212212222222121111111112112221211111112221222121111112112121221112112121221121111212212122221122112112212122212122222222122121222212211121112122212122122212112222112122122122121221212211212221211212112221122211121222212222222212221211111111112211221112212212212111222222112121122211112122121121111222111121111212211211221211212211222122112121211122112212112212211112211111122211121122212211122212111121122212221211221221211211111111211122212122122211112122111122111111222212211112222211212112122121221221222222222221122222222122112112211222212212212221121112212122112212112122221212211121221112211212211121221222212112122122222112222112121112222221221221112221111111221211111221122211111211212212112222112121212222121121211111122111112122122122111122211212212121122222111211121111112122111221111122121211121222212211122121222212212112122221122211121222122212222221211121112222212122212122221212112122211212111221222122111212212111222222112111121111111221212221221122211212111112212212122211211222112221221211212222121221122121112111111111122221211122111222122221111121212121212121211111112211111211122112112122111222111111211222122111112222122212222211221222222122111221211112112121112211111222122212122222111111212122111111121222112212122112221121211222121121121121212111112122221211222112111111221211212121221122211211122122122211111122211211111111122121112222112122111111211212211222121121112122221221222212222121212122212212212212122221112121121211122112222112212111122212221112122122221122221211112122122221221111222112221221122121112211212222122112222221211122112122111221211112221121212221112211122122122121111122221112121212112221112122111221221122112112222122112212212122111111221122121222121122222211111211222111212212122212221221111112112221212221222122112212112122221111221222111122111212121212211112212222122212222211221121221112212122212111221212211111121221211112111112122122112221112222112212121122221111122121212211121211111112122121122212222121121122121221121121121221111111222111121222121212112122121221121221222122121211222112122221212221121112212221221112122211222221111111211212111112211222222212212212221211211222122212122222221111212111211121111211112221112212112212221122122212211221222121221212122112212112121212121212222211211111112222222121122222212211111212212121221111211111121111121121211111222122112121222211122112121212212222211112211211212112211222211112112221112121212212111212121111112121121112112111121222222212211211212222222121211212222212222122112221222112211111121221111122211211222111122111122111121222122111122121211121212212112212112222221221222111211112211221222111112121222122111212211111221112122112212111121222122112121221112212221122211211121121122122222121121112211122122221212111111221222112122121221212212211222112222211112222111211111111111212222222121112211111111121112121222222122122112121122211112212112121122111222122112112112122122211211222122211121122111121211112122122122121221212222111211111221221112111211222222212212222221212222122121112111211112122111122112221221122211112122122112121212112221222222212122112121122221111221112111221222211211112222221111212221222112222212112122112211212112111222111212111121221221111122112212122121211211122212112111112222111221112222222211222121112111112222121112212122221212112111211122122121112111221111211111222211211111112221222221122222121122222222122221221222211212211212121111221112121121111122211212111121111212112111112211121222222221211111112121221122211212221211221112122111211122212222222122222222111122112121121111212212222122112211122221212221112221212112111221212112122121212211121112211212121112112111122212111211112222222211222112221121112122122221211222212222122211111211112122121221211222211212212212111121211211211211222112111222122222111121221221222222222211121112122222212112122111122212122112121111121212121111122121112111211112211222122212221112111212222122112121221211111122221222211111111122111222211211212212112211222221211211211212211122111221122222122221221121221111112221121222222121212111122112211111221211111112222121112222122212121212211211221212222112211121121222111212111221121121222221112111222221211222221221212222211111111211221112212122221212111212221111122122212222212121111112222222211221111111122222112122121121122112221221212121222111112112121122222121211112112112211111111212122212111122211112212211112122121111112222221112212211221112121212212212221221212112212112222212222221111212112122222222221222211211211111221221122211222122122221121121212111221122112221121112212221111112222211211121121111211122211122112222212211211212122221221111211121221111211122112112211121112122221221222211211221121221212222112211121121111112111221221222121111111111222121122211121212222211112211112221122221121111112121211212212122121222211221221111121212221222111211212121222211112111121112221221122211221211112211121222112121222222222222222211121211111122211211222221221122112221221212121122212222122221212111122111221111112212222122221222122122211212121222121212111212112111122222121111111221212112122122211211221212212222111122111122211112111112221222211122222122221111222111111112212112222212122122111211111211221121212111221111112221221221222112111111112212111112221122211221122111112112211222111222111112221222121212212212112121212122121221221121211122111211121221221221122221221111211111112222212121111222222122212211221222222221121111122112212221212212221121221211211112112211112212221122211212212111112121221221221121121122112111112222222121222111111212111212211111122212212211122212211212221111112222211221221111112211221122112111112221211121122222112111112112111112112111222122111111112122212121122112211221122111221211122212122112221122122121112212221221112122122212211111211112212212122222211111222212212121221111212221221112122112221211122221211122122212112112211111121211112122122221211212222222212212211222222122121122211112221121121111212211222222222111212211222121121211212122121221112111211222112212121211112212221221221121121212112122111211111121112211122121221212211222122211222121212111212221112222112111121112221121221122122222212211112122121222111212222122221222112112121111111121211112221221211221211121111211111111111112111222111212222121122121121212221112121112212211212211112111111121122212221121222221211222112211112222212221222122212211222111111121212211211122122121111111212212212221121112121221111111221112112121122122122112221221222111222212121122222221222112211222122111122122211111122111111222112122122112222111222112122122121111121111221222211222121121111112212111122122212112121121212211111112212121121122221221111222211121111121211112111122121121222212222222121122212212211112122122221212121211121121222111121221112112222221212121112221211212112221222112111221122122122111211212222112121222212121211221111122212111221121222222121122222211222222211221121112121222222112221221111111221112112222212211111112211222222111121112112221212112212122222222222222212112221121222121211112212112222212221112121212112112122211222122121122111111222221111122222212121212212122212112221221212112111211121112121221121212112121222211122212111111111212112222122122221122121122111221112222221121211212212222212221111111122122212211222121222112212221112211122122212222112222221212212212222211111221211112122111122212112212222121122121121121221211121111212222121122212122221211122222122221122111212122122111222211211121121211211211122111212212222222211211211122222221222122111211222221221111211211221112222222111121112112112122222111211221112112222112112111211212212221121211221221112112121211222222111222222221122211221112121221222212112111211111222212211112121212122221111222212112122221111112221111121121222212122111111212122211212211112222212121122221211112212221212112222221212212212121111121111122212122211111222211122111211211211221122111122122212122221112122122121112122221111121221112112221221111222122112121211212221211221212212222221211211112211121211222111212212111212211112222221111222212121212122222122112112112111211111111222121212211221212122122211122221221111222111111212111121222122211122222121122112212112222212121111122121121111112222112221222211112222222222111211112122122112222221121121121211121111212112221222212222112111212122121211222121122122222212112122211122121222112122112111121122221111121221121112222112211221221212221222121122222111112122212112121221211122222211112121221222222211112222212111112121112112212211122212212112211111112212112222222212222122212122211221122211222212122221222111221111111212112212222112111211212111112222212121122212222212211121122222121211221112222222111222211212122121121122121222122222212212221212221211122111212122121222112121112111112112112211112211121221221211122221221211221212211222122122221111112212122111221212212221211211111111112211112121222222211112111111111111122121122222111121111212112112111221121222211212222212212112212112121112112111121221212222111222212122112212122111122221122111111221112122121212221111221121221211121121112211111121121121112212111221212221212121121111111211122212111122221222221111221211211222112111111112221111111112211111221112111221221112222121222121212222121112211122121221112112222211211221111111121122212112121112112122122122111112121211112211121212211222111111111212222111111112212212211222212212221221222212112121222212111222222212222221212122211112221122211111221121122212211122112122211112112221122121221111221222111221211212221211111112112211221121112122112122221121221122221111221122212211112111212121211111111111112221121212111121111222222212212121112112222122112211212121111221111221112112112111211212212211212111111212212111111111221122122222111211112222111121222111221111221212211222222122111221112222121121111122122211122221112212112212112221121111222221211122122222112211212221222222212112222122221221211122121122122112121221112111111111112212212211211111221111221121212212212222221122122211212211121211112111111122212211112111121211212111211121111212211111112211222111112211221222212221121121112112112211111121211212222221221121111221221212122211221111222111121212122212111222122121121121212211121121221221221212121112122222221122221122221222211121222221222221122211111221212111111111121121121122122221222122222111121222122122121112111121211221212122222111112121211112112212221221221221222212221221112221222121212111211111111111111121212122211121112112212212222121122222121221212122111221211221121111111212221121111221111222221222121212112222212211211122111222212211122112211121121221221112211111222111221111222111222121222111212122112112221112111221222121222212112121112111212221112212221222111112221121211221111112111221211111121211212222121212221222221121222212111112122121112112122122222211112211121222212111211122111212221112121122212112221111212212222121211121122111112221121221222211211122212222121112222222221121221121222121222122211112222111211211112212112111211212212221222222211122221121221112111122222211211111222221111112112221122122221222121222222222121121121221112112121211122122212211122221221222121121212121111112222122112212111112121122121121212212111121212212111122111111111112222222121121211121221211122122122221222111122111121222222222221211122221221211222122111222121122222112111111111122112121122212222212111111222122212212122111121222112122121221112122221122111122211121122122222111212112221112121121121121121211122111121212112111222222121112111121111121122222122121111111221122111111112212122111111111122221211111211212222211122222221211122122122221112222222211121222112121111222121212211211211222111211211111222111221121211221221111211121122212112111121212112122112211121222222112122222221212121111211121212121211212111212122111122112121212221121112121212111222212111111121212211111122122112112112121111212122211111221112121211222222211221211111121111112211211111221222121122211221121121222111211211112221121111211221112121112111111122121222111121222112221121222111221112212221211212122221222122122122212112211121122111212222121211111211122122211212211212221112212111221222121111222221122122112221222211121111112221112212122211112122122211221121211222222212221111122211212211122122111121211222212121111121212212221122121211122111211212121112212212121222221222212221212121211111212112112111221221122212121222111221112121111211222112221121211111222121112121111121222122112121221112212221112211211112121222112222222121211212111122112211211121111212121112111121112211112221111122112112221121111112121111222111221111121222122211112221221211122112111112212111112111112111122121211111222112111121111211221221112212112121122222221221222111212112111121112122212121121221222112211111211221221121212111112122122111122111111222111212212112111111222211222121211112212112112211121112111221211222222112111222222212211111122222121121221212211122111212112112121112221211112211222112112221211222111112221222221122112111122112112121211111112212221122221112111212111221112111212212112211121122111121222212122111222221212212221111121212211211111211112111221121111121221112122211212221211222212111212212112121112212211212212211212212111221121221221222122121211121122222112211112111121221211222112122111211212211121221122121112122111211221221211111121211112221121122122222212211221211221222112122111212112111222121112211112122111212212221121112221112111121112212212221122211112211122221221212211111211212222112221111211222121122212121112222111112122112211122112212211212122122221212111212122122112211121112112111112121212111121212111212112112211222211121222111222211121221221221221112222211121212112221122121212212221221212111122111221112122221111221122122211122212121121111222211112212112112121222212211111222122221112122121211212111211212212221221211121112122112121212122211222121121222121211122221221122211111221112111221222222112111221121211122112211111121111111121222212212221122122121122221122122212122112111111122212112222211111211212112221111121212111222211222112221112222222212122211212222222122222211211211211111111112212211211112112111212112122211122111222111222121212211121122121122221212111221212111221111211122112111121222122111111222221122222111112222112212121222212112122111211212211121121222122122111221222112221121212221222212211211121112222112222222121211211121122121111122111121212121211112122221122112211112212211112121222122121221221111211221221122122122211121222111211112112212122222211221221221222122122121211122222222221121112222221111111122111212212212222211221211121211221211121121221221121111121112111222121211112221222221121211212222212221211221111112111221212212211212121211221122222212221122221221221122112222211221211111122121222112221211121121212122111112211221112122222122121221112112221212112111122222212122121111111111212211111222211211122121212212222112221111221111112112221122222221212121212122111111211212112112111121111111211222211112111212112212121121122112121121212221122211212122112221212121111212112212122212211211211222221221121222222221121121211112112122211112122111212112111112222212211211121122212121122222122122212221212221111222112211112122212111221221222212221111212122221221211221221121121212212222112112221221221212222122212122212221111221122211222112222211222211222221211222211121112211211112222222122111122222211112221112222121222221212211222111111212211212121211122121221212122121121122121212112122211121221222111221112111111211122111222111121212112112112112221211122212222122121212211222221112211221221122221122121212211112221221111122111122112212212112222111212222112111212112221111222221122221221212121221212112121221112212221212212212221211222112211121122121221122122111211112212111221112222211221122112212211211212222112122111222222222222211221121111112222112122121112212121112222212112111222221112222222112211212111211111112211211211112111221122222221211111121222112212221222121222211121111111221221121112222111121111112121221211112112221221112221122122111122112211221111111121222212121121221222121122221222111221222222221211222211122212222112221112112111122221221222222111111221121112221211111112121211222121112211212212112222111221211222111222211222112211111121211221211111212212222122221221122212112221221112211122211122211122122212221222222211121121111221121112212222222112121221212112222121122221221111212222222221211211121221122112112112111122111211222122122212221122121111222222212121122122111211221121112211211112211211221211122122212221121221222122111111112222222122221221222111122221221112222121222211112221211121221212111112221221111221122121222111222121111121121112112112211221112111111222111211111222212122121221212122111222221121122111121111221122111121222212122122122122121121112211211211221121111112121122112111222222221212112222122122111122221112111212212111121212222111122222111221122212221112212112122222121211121122221211211212121122122221221111211212222211112212221121212112122222212112111122122121112121122111122121111211212111111212212211211221212221121112122112212221221121212222221112122211211111211122112111111122111221121112122112222212221222112122222211122112111111112111212122212222221111121212222212111122221212112212112111122121112222212222221112112212121221222122212121221222111111112112121111121111112211212112211122111222222212212112222211112111122111111221221221222121221121222112122221212222211112222212222221111122222121222221111211211121222121111221212111221212111121212121122221222221112222111122212211222222221111122212111211111112211212212211222222211112121122221222121212121221221211111211121122121211112222221112221111222221222221121211122212212122211211211212222112222211121221211222112221112122122111211211112121221222211111111211111211122121122212122121112221212111111121222122222222111221122212221222122221121212221221122222211211212212121122122122121222121122121121121121221111111212212221122121222122111211121122122111112221111121111122121112121211112112211212121121122211122212212222211221222221121221112222122121221122222221211212111122112121111221111122222112222222222121122212122211122112222122112222112111121221111222112121121212222212211221221112221112212122211211122211112221222212112111221212121112221211121122211122122212212111211221121222122221112212121212121111212222222221221111112122111111222122212122221121211212122112112112111212121111212222111212212222112211112112221111121222111122122211122211211221111121211112121222112121222221122222222122122212122212122212122211212112122112221112122122121122222222222112212222221211212222222122111122211122222111122211111122212112221111122221122212112221122211221112222122221212121221211211122211222112122111112122121122122121222222212211212221112212212212212112112122221211111211221222222212122111212121121212111221112212111121211111111112221211211122212211111212212121121221211112212212221111212122222122122121122122211211212111112222121212122222222221211221111221222212221121111211111212221121111121111222122122221211211221121212111121211221122122111212222221121222111112111221112222212221111221211221121221112212111112221112212112211112122221112222221111212222221111111122222122112221211212121221112211222221221122221222122222212211111212111121212211221112222212211111122212221121221111211212122112121112111221211212122222211222112121222112121211221122112212221121211121211211221221122221212222212122221112221121122121221211122211222222221222121111221122221121211222221222222121221222212112112111222222211121222211122212212121112211121221121221111122212111211211122122221222121212121121211221222112221211212112121111121122111212111222112222221121112122121212221211111211121212211122121211212221111111122212121211111211112221121111211221112122222211221122222121212112111122111121221112111222111112111221212221211212212111122211121221212121222211111221112122221212111212221122222112221112111221211211112111212112221222111212211221222111111121111211111112122112121221222111212221212221212211111212221112112112221221112112222212221111122212111112221111221211222121122121111211212122211222122122221222122111221112221122111121212211211112222221112222212211212111122212222221122112221212221112221222212211212212211111211221211122111122111111211121212111221212212111211121111111212112212112111212122211221112122111222222221222211212221222122221122112121122121111211221212221112211211212211211212111211211112122222212212212122221212111111112211222121121221122121221122111222222211112212112222122112222122121222212211121222122222121212111111111221221111222211211221122122122112212212212212122111121222122221221122222112221122222122212111111221111112112211112121121112112222212221211111212111222221211111121111111221211111111112122212121112221121212222111222211121111221111222112222212212222211122121122111212122222111221112212212221222212112221111211221211221111222112222212122211211111111221211211122112212121222112222111122212211112211121111112211222212111211212212121112222121121222121221211222122211212212222212221111121112211122221112222122111222221211222122222122122222121221222122222111122121211111211112121222211112121221221222221112211212212222111211222111222112122112122221111222122221112122212121121222111121122122211121121222211122122121211121122121211221112121222222111212222212221222211122221112111111111121212211111121112111212112211122111122121211111112211222112121112211112122211211122122221222221122122222112222121212212122112112112112211111211121212112112111122122122111122112111121111121112222122112211221111121122212212221111212212121221211211122112221222112121111112112121222121212122221111112221222221122111222111122112121111122212121112122212212212111121112121222212121222112212121221121211211111121112212222112112121211111111222122112122111212211222112222111111212121121121211122221212221122221221212121221221211112111212121112212222211222212211112212112112221212121121112111222122122212121211122212121121211211222221122222121222121111212122121212121122111212112122221211222112122122112212221112121112211122212122212221212111122121212122121111221222211122222121211122212111221111212112222112221212211121212221122211211111211121112121122222111222222222112121212222121121211122112122122121212222122221112111112111211212122111222222112121212212211112111222122221211122111221212221121211122111111121212221212221222112121112211111221121121221211111122211221111221221211222222212112222212122222112122121122212112211122111212221122111222211112212111111211222211211121212212112221111222222122112122212111221222222211212212122111221111111112221112211222211221211222111221221122222122122111121221121212221221211122112222211111111221112211111121212111222112221222222122222121111221122111212121122221112221221211112221121122121211221212212121121112221211222212111122211212111211111221111222112122122212122111222112221111222111121121112211111122111212212221212122211111222221122212212221111112222211211121111122222212222111222121121222121122221211212122111112111212211122112222111212212222112222221122211222222111221222211221222112212211222222212112111121212121211122212121121122121112222211111212121222111221112122122221112121221212111211222222211212121121121211212122121211212112222121222222111111111112122222221211222212121112212121121212121111112212222211221222212212221211112212121212122122211212211211112112121212112221211211121121121112221222222122211112212122212211121212221111222122211211221112122111121211221212212112212222112221112122121221212222222111111211222212111212111211212121111222112122212222221111121211121211112222111211111211221112222121112121122221221122211211222211112122212111221111221222121212112121111111212111221112222122121122111122122121122222211122211212111122212121222222222212111211111122111212111221112122212211112211121121212121112112121211122212121211222211121212221222112211211111221222121212221211121122222212222211221212112111121212122221222221211111111111112221121121122211211212111221212112121212112112221221111221222222222112211112221222222111111222112221121211212222121122111211111121111211122121222221221222221211222121111222122111111111211212222112221221121122221222122211112212122121211221122121111111211222221112222122221212122121121212222221111222112122111211212112221211222112212222222211121111221121112112222122222122221221112112221221112111222211212112111112221122121211111212212111112122222122111222111221121212212111122211221122211221221111121111122112221212111212122112222122222122222121121121221121111122221111221111112121112122112121222222111111221111111111112212222222221212111222112211122222221212212221221222221211112122212221122112122221112222112121211122112211122121222111122211222112111211212222221211112211222221221112122212121111211211121212121111222212222111122111211122122122122221221211111112121222212121212122112122222122122122112112121112221122221211221211111211211121222111212122122222221221222121221222111221221211211222212222111121111112212111122111112211111222122212222122112212111212212211112221111211122221111221212221211211221111112222111221111121112222222121111222221111121222211122121122111211221212112212122211112122221222221212211211121221112211222111211212112121112111212212212221222212222212212111212211221221211221211112121212121112211121221221112221111112211111222112111221111212211222212222222111222221221112111221212222222122222111222221112222212111111121122222212112222112212211121221112112211122122122111122221122111212222222121111211211222222122211121221122121121221211222222212111221211222211211111212121122211112222221112111111122112121212211111221122211112121122212212122111111121211111122121221211221222111112122112212122112121221111112121122111112121112121222121222222212121221221112212222212221222122211212121111212111211211122222112112122211222221122221212222221122112111211222111111121221111121222112211112112112111211122221212211122222112121212122112212222211122212112112222112221122221211121121122222112112112211211222222112112111222221222111111212122111212112111111221211121222222222211221111121222112121212221111112121112112112121222121122222221212111111122112122211221121111212122122112211112221221211122111211112121122122111221111222211222221111221121122121211111121222112221211222121112121212211221222212112121212221122121222222221212111222222212122211112112122211112221222211111121212211122221111221122222222122121112122211122222111211222221212112211212222211222212222221121221211222212121222112211121221211211222112111211211112112121212211111212212211211122212112212212112112121212222221211122221112211222222122111212221122112221212111122121212212222212112121111111112212222212121112212222122221122221222112222212222222222112112122212211112222221211111212222121111112221111112222122221122112122121112212221122112121212222221221212121111221211212121112121122212112121122212121212211112122111212222211122111221111122122221211122222221121112111221211212222111212122112121222111222111212111212122211121221122111111212122111121121221211221121212211211221221222122221121211211222221111121121121121221222212121122221211121122211212111212121122221212212111121212222122121121211121122121211211212121212211212112111221212122112111111121112122212221211212221211221111112221121122222112112111211122211122211222211112121212111111111222112112222221222222112222112212212121212111221122122112111112111121121212222121222121121211212212121222211111121211211122211111111112212112111221211111111112121212111222121222212222222122221121121211212221122222211222112122121222212211122221222212211222111122222111111112212221212222122221122211222222222212211111222212111111221212222211111221122112221122112111122121211212112111221222122111111212111211221211212111212111211221122111211211121112121212211112211122222112221222122211121122111112211221112112221222222112122222122122222122221221211222111222212221121212122221221212112112122112121212221212221211221222112122111221212121122122122112112121111222111112222222212112211221122222121112122112222222222122221111221222111212122121211211122212211212111221122212122122212211211211212122212211211111122212112111122111212211121212222121211111122211222112222111122221112111221122221211211212221222212211111211212211211211212121111122111111211221121122212211122112112222211212212222121221111121111122211121222111122121112221211121212112121212122211211122211122112212122122212112121122221212112121221112222121111122121212211122221111121211211112222111212221112112111222221211112112212121111212121211112111222212221121222212111211212222212122112112211222212122112121112211221211111221111121212211111212121122122222222121222111222212112211212222112221211122112112122111211111211112211222112121211221212121122121111212221121211222121121112122122221212121212211111122111121121222112212122211222211121121212111212212121222212211121211111111212122121112112112122121121222121212121221221221221122211211211112121221221122221121222222212211111211112121111112122222111212222111212222222221121112121121212112121222112121211211112211211121222112212112222121111122222111111121121121221212112222221111121112222111221222121212222121221122212112211221212121121212221212122121111222112121212222121121112122111211221111222222221111222221112211111111112211121221122121222111121122121222211121211212112122111111221122211121121211221211222212211111211212112121221222112212111211112121221221112222212211212221112211222121112111111221111112222112212221121212111112212211221212112221122221211121111222211121112111111122112111211112112211211211222221122122211222121122222221122211211212122122221221211111211212211222211211212122112212112121112221212221111122111211112212212112212122222221111112222221212111122111111122112221212222111221111211212221212222222111222222212221211212121221111212211212122211222222121211121112112211211112211121212111212122111222212211121212211111211121212221112211211121121222221111112122111211112212222112221211121211112211121222211121222112112111111221222112111211122222221121211222221221212112211121221112212222222122112221212111121222211122121112112222111111112212121221211222211111112221222121212111112112122221212122121211222121221221111222211111212111222211212121121212112221222212211111121122211111111112121112122211222222111222221212212211122121122222112112122211111222121111221211221121212122122111121211122112111222212111211121222111221222122111111111222112211122211112111121212221212222122122221222212212222121222221111211211112121211212112212122221222212211111222121212111121211221212112112112121121221211212221212212111122122121221211111222212121112212211121121211112221111122221211221212221112112221211212222211122122211122222222112221221211211222111122212122121121221222211122121221121212211112222112111121122212211211111112121211211211111211221211221211121212121121212211111212221212211211222112111211222221112221121222111111112111212112222112222112121111111122211222221221112112121212211211222122222212122112111221112112122212121111212111122211212211212212221112122112211212111221222121112212221211111221122211211212222111122111221112121222121121111212211212222212112112212221221221122222221121112122212222111221121211111112222122112121211211212211122111112122112111222111122212121111212122111121212221112212121212121112121221122211212121121221121111221211111112212222221112221211222112221121121222211222212212122121111221221221211211212122222221112212211211112112221222122112221211122112211212212212112212111211221212221112121122112222221111111111211222221212221211212211111221121212122121222211112121212222212111222221222121112211122122112212221121111111111112111211211221121211211222211112212121111121121121112222121121122112122121212222211211112112221212212221122221211211122221221211212211111212112222211112222221222211121222111222121112212222112112221221211221221212212222122112211222122121122111212221121222112221221112222111111121222211111211222121121111222212121111111221122212211221111112122211112122121212112121111121111212111212222122211221111112221221221222111121212221111111111212121221221222112111111221122221122221221122221121122211122221212111211221222111112212222211112122122211211211211122211122122111212111221221111111222222211222112111212211112212111221222111211222222212222112222121212221221111212122121112212211222222111112221221221121121122122121221121121121211111212222222222112111121211212221121111222122111211212212222122212112212211221222111122211212112211111112111211111112222121121211222122111112121122122111221222222222112212122222221121221221212212212121222211212222212121222221111122111222122212221212221212112112221212222221211112212112222211221211122211222121212221111212112222122221212212121122121121121121121122221212212222222122111122112112121222111111111111211121111211222222122111222221221111211212212212122211111121122111121122211211222221122211211111112121112111121122122221111122212211222122211221112212111112122111212111112121212121121121121112112221121212111122211221222211221222221122112121222222122212121221112112221222122211111211111111112121221212212211221121111212112112212222221212111222212222122112112111122222212222121212121112111222111221122222112122121121222212212212112111212221112112111222221222212122111212112221222122222212221211121112211211221122122121121111122211211212112111212211112111122121112212221212222112111122112222121121211122222112122211111211121122112121221212212222122112121211111112221111121222211121212212212222222122112112121222221211211222221122221221222221211212122222122122212121111121211112211112221221212212221211211222211212121212121211121121212211111112112211121211222122122211222212222222121222111212212121221221211111112221122121211211112211112212122212221212111112122211211122122122211221222121211222122221221221112111221112111222121122222211112121221212222111222121122211121111122221122122222221111221212212112112122112221112122221212222121221211212222112121122221122212211122112111122112212212222111212212112222211121222212112112112121211221121112212111121222111211222211122112222112122122221121112222112121112111212122112212111121121212211222221112222222122112112121111121111221221212122222211211211121221212121121211211111121121121111122111212212222122112111221212121111221112221111122122112212112121222122121111122221221222111222222221121121122211222211212212121121122121212222211212221112222221112121221211111221122212211121121112111222222222212111122121211111221221111221211221212211222221221112112111222112122122121111121112122111121222221122121112111211222112222112212112211211222112222122212112112212212222122121112221112122211111112212122222121122211121221222121111222112221211122121112221121111221222112122112221112121111221221222222211122212212111122211212122221222121211222112111221211222211111222122222212122211122222121222221122222112121212111111222211222122211212111221121211212122122121111111211222212121222112122122122111221112112112221111222122221212222121111222211221122122121221121121211211111222111111221211221221111211112121212212112222112222121111111211111222121221111121212222212221211121222222121222221112122111111122222122212222112121122222111112212112122211211222212211221121121122121212121221212112112222122112222222221111112111111222212221111111111222112211221112111122111212111112222221211122112211222211212211122112222222221112211212221211222212221111212111211111122222122111222121222121221222121122112211112112122212222112212112212221211221121222122111211211112122222221112211211111221222111121211222121211121212221222212222211112212112111112221111112221121211211111112221221111222122222211222111122221112212221222212211111111112211122212121222221222212112111212111221121212222121112111111222111221212211111221121112111222122222221211212112211222221211112112121212222112111211221211222212221111212112211212111112112122221211221112212212111111212221221122112212211112112121112212111212222221122211212111112211121211211112222212212211211212211221121212222212112222222211111211122122221211111211122122211122222222111212212211111111121122122221212212122211221221222112211211211212212121211111121121222221221222211122122222212211112222222121122221222111211221111211122122211112112112211222112112211112112111211211222111121212211221211212222112112111212211221221112211122122122221211112111212122221212112211112112212121122121111211122122122211221222122111111112212211121111221121212121111222212222212212211111211122222122212111222111222212222122122211122121112211221212211121222111212222221222122211211221211122211222212211212121211212212212122211121121222121222211121222121222111122111111122121212121222212222122212111112122222212222212222112122222211212122211111112212122212111211122112121122122221112112221112122212211211112112112122121121122111111121121221212121121111212211222112222111222222222111212122221122121211211222211121112211221221122221221212211221112112121111112212211112111112121111111111122111212121121111212222211222121122121221211112221222122222222112112211112122112221212112222211222122221122111112221112121222211221122111122111121122122211221112111221122111212122212111222111211122112122112212211221112212211212211122122111222121111222112222222211122112211122212122222121111212211211111121111222121112111212212221111212212212211211221111212112121211222111212212222112221212111222222121112122211212211121211111211111111112121121222111212221111212211211122211222111112122121122212112121211211212112212221122222222212212111112221111211121221221212111222221121111222112111111221221211212112122121122211122212121111121122211211111111221121211212212121111111112222122211221121122121211111211121112222211122112222221122221222122112122222111112112222221212112211221121112121121112212111121122121112211122211112221212122212211122211111112212221211212221122112112112212221122122111222122122112221111211212212222211222121121111222121112111222211212222112211222111222121111222111221211121222221221111122222111121221122121221112211112222112112211111111222111221122212111212112222221221111222211121221221121112122221212121221121211112122122112222111122212222111221122122121221112222222112111111221212112111122111221122212122212122212221112222122211222122121112211111211211111112122212211211122211211221121222112111111211222212222212212122221222112121221121221111121122112221122212121222221212121112222221121222211112212221122212121221211222212212121222112112111112222211212212111112122211221112111211211221221121222122222221112121221122222112112222112212211122112212212211212111211212212211122212112222111122211212121112211221211122122112211221121122112121211111121222211122121212211212121211121112221212121222222222112222112112212212221221212222121121222111111121211111121111111111112111111211222222221112222112222112211222221211111122211222221122111212112121222111122112122222111212111112212211222222212112122212122221222221121122221212121211212221121111211122121112122112111211221111112222222112221211111111122211212222111212222222121111111211112222221212121112111121211122122221112121212222112122212111221212122212221122221221212121221211111122211112122222222121122122212212112221112221212112211221211222221212111111221221212121122121121222212222211111222221222122212222221212211122111112122222122111121121222222122111212222222211122212211112212112222122212112121222111211212221121111111222111222222112122221122211211211122212112211112222122212112222222212112112112212222212122221212212222112122222122112112121221112112212112112122211221112222111111221221212212221222222222222221122212121222111121111121211211212211121221211221121112111121222121122221211121222112221221112211212121111211122122121111221212212122221222111112111211222211112221112221211111112122221122212122221111122111111221112221211211111111112111122222221112212212211221221112222211121221221112111222222211211212211111111121112221111112121212211121222211221121112122211211122112212112111122221121212122121212212122212211111211221211112111121122122211212111211211221221111222222222112121112112211222112211122122111111222212121121221111211121211112212212221121122112211122212121112122211222122211222122221122112221112122221122112221121111212221221121212111122222211112121222211212211112111211221222111122122121121121211222211222112221111222212112211222111112112111111212122111112112212222211211111211222112221211121121212211222211221112212111221121122111221212221221111222211212222222211112122211111211112122222211121111111221211221111112112222121111112222212211211211112221221112122122122212212221222212211122222212212112211212211111112122121211222212222211111211212222212211111211121112121121112121212112221121211212121211212121222122212112211122221111122121222112112122221221111222212112221222212112121221121222221112111221112121222212112122112111112222212122212121211111221222121122211121211222111121112121122222221221221112112122221221111221222222121122221212222121111211122112121212212112222222111122211211111122211121122221222212112111222121211112122221212111221111211112112222111211121111211112121212122121122121212212222221121121122122121121221211112112121221121121212212112221212212111222121222212111221111111121122122222111212121211222121121221221112212221121212211211211211211121222111212112111221222221212121111222222221112121221121221211111112211122222111222211112211222221111112121111221222121211122222212221222112211211221221112121211212111111222221122112111111222221211211122222111211111112211111111122212121112121112221211212221212222211112111121111112112212221222221121121121121212122221212212112222212221111221222112122122221212222221211121212122211222221121122112222122221111112211112222212111122112222122122211122212211121212221212221212211222121212222111222111222222222111111211122221221121212221122122122221122122222221111122222121212112222221221222121221212212212112222111111211221121212211112121211122112221122211122211111221111222222222111221221112222121121112122121112111112121222111222111211111221222221111111121211111112222112112211111111122122222212111121211221111211212111221211112122112221111212221211112111212122112212221211221122222222212211121212111121212211111212112122211222212112112211212222212121211122212112221212112221211212221221222212111212111121222211212222111121112211212221122221112112211211211222121212111212111221211221121111112112122221222122111212121221111112111212211222222211111221211122111121122211121212222211222122221122221121121122212211212221111122211122112222222211221111212121221212122112111212211212112122112121212121111212212112222221112212121212222222212122112111121211212221112111111122211221212221222211222222211112122111212222121111211112212122211211211112111111222211112122212122122212212211121222222222112221111212112121112111222212111111111211212221211112211121121111212122112112121111212222211222221212211112112121122212121211221221212111122122211111221111221211211221112112121212111212122211112222222121222121121211211211211111121211121222212221211212222211111222112212111121112121122122221111212111111212112121111212122112222221222121221212112121212112111112222121212221221222221212211212121212222112122221122111211122121222112222212122212122211122212112121122121111212212112212222221111212112211111212111211121211121111221112222221121122121222122211221221221212121111122121112211121121212112212112111221121112212212211122211221211212221212211212122112111211212212211122222111221111211111211211222111212221121112112211221221222111221221122212221212221212221121112221222221112212221112112221112112121211121222112121221211211222222111111111111221222112112112221222211112121221222122212212212222211121121221122212111221122222211212221121121121212111212111221221111121111112222212222111122222211112112221111111122122112212121221112221211221211121222221121122221222222212121211111222211221122122221122212111222112122211122121211221122211112221211211212122212211111221122122121211112212211212211112121111121211121212221212222111111121122112112222112212211221212211211222212222111112112112211121112222121121112222112112121121122221212112212112211122222222222212111121112222112221212121121222112111121111121212212222122221221221221212112221211222222122222122111211121112111221211221212111112121212222122121111111211212211111222222222212211121211111122221221122222221112112121122212211112222212111212112222122222212212111121112222111212112112121221121221222111221211212222121121121121122221221211221111221222211111211222221122121221212111121112222112222121121121221122212122122222212222221221221122121221111212111222121111121111222211212222221121211121121111112211121111121121112211111222111122212111121211112211121112222212221221122121111211221122111222221112112221211212222212212221112221112222121121222111211222111222111222121221221211221212212112212212111111121121212221221211112221221112112121211112222111122221211212121111121221111112221121212211222112112112112121112112112212212211121211121211112222121121121122121121221211212112222122111121222121111122112111111111222222111211221211212222221211111212121222121211112111211212222222221211112122122222212221122112112211222221212212222211112221222122221222221211221111212221121122111212211211112122122121212121212122221121222222112111212221122122121122112121121122112112121221221222121112122211111121222111112111221212112121121222211211121211121122222122212221111212221111211121212211121212122112111122211222112221121111122122211222212122111112221112222212111121222212212112211121212211211121211221221211122122122122222111212222112122212211122122211221222122212122121121112212112212121111212222222111111122111212121111212122212122212111121211221121122122212222222221121222212122221111211211212212221222121121121222121211211112211122221221121212222221112122112121212112211211221211112121212211121112121211212221222212211222111212111211121211212212121122221121221111212212222122122212222211112211211112121211221122122212211112212111121111212212121111221122212212121212221211111212212112212212221111122121212222122121121112221112122122212211112222222121212112211111111221112222122122211121121112112111211122222112112111122212222211111111112112111112222121112211222111111222112122212112121222212211211121111222122211121212222111211121122211121111222122121221221211111222122122112112112112221112211122121221121122221221112211222221221112122221211221111221212122121122122211122112122122122221211111222122121222122111122121211212111122112211212122222121111222221112221212212212211111211112111221221111212221212111112112221221112121122211222121212122212112212111222111221222121111222221121222221222122212112221122112112221221211112212222211122111122222212221221222112222111211221112112122221111212211212112222221212111212122211211211112221112211122221212211122111122122121212212111222122212222212112112211111221122212112121212112222111111122212221221222222222111212122221122122121211122211212122211122212122122222211212111221122212112211212211121222122122122112222221122112212211111211122222121222122121222112211121222111112212122221111112112112121121122212121122122122211221221212212211221111211112212222222112121212121221211121122212112121211111221222212122111211111122221112111221111112211112212212212222212112212211112122211122112221121111112211121112222112111211211121122212212121111121112121122211121121221222111121122121211111122112221222221122112221212221122122222112112222212111112111212122212222221121221212222222122212211222222222122212221212122112211221222122112211221111121121221212121211211121122111122121121211221112211212112211111112222111221112221111121211212122211211111222122122121221121111112212221121211212212121222122211222112212121122111111112222221112111212211222112222222212212122212221212221221212122221121111212121121111212122121112112122222121221222212112221122221121221222211112112222212211221221221112221122121222112111122221211121221212211122121122112112222112221121211121111212122212122112211222222221122222111212111211121122112212212121222112212212222111112122221111212221122122121221122222221221112111221111112212211121211211111121111121212111121121112122112121221212112111112121212111222112222211122122111122122221211221222212211212211211222221122222122112122212122211222212221212111221211111122222112121222222122111212222212121212121111112221122222121121121222122111112112122211211112112222212111111112121222212212221211111121222112222111222222212221211112121111122211111211211211222112211122111122121122112112121211211112112222112211211212111112222121121111112221111212211212222112111221222112111222111222221212112111121122211112222222221221111122111221112212121111211111112212111111112122222211112112221221122111111212221111112212121112111112122212112222112111221122111122111111211212211211212111121111221111221222222111112112121212111122221211111112112111211111211122122212221112112112222111121122112121212222122112211112221211221122112111212212121211212212221221211211121211212122212112122122222222211122121121211211221122112211221121122112112112111121221111211111111111121212221221121211212121212111122211212111211212122112221112112111122211111122221211122112212122212211222212212121112122122211212122111212111221222122211121211222111221211221121212111122211121122211121111221211112121112111122122111122111212222221211211121122212112111122122112212212212211122122121212211122122122121122122211212121112211221211211211121112122112122111112211222211222122111112122122112211121111121122221122122121212212121122112211211112112111221111212222221111122121211121112122212111221112211212221122121112212121222111111222222212121112121111222221121212111221222221111211211122112121212211112222122221121222111211111111222222122221111111211222112212111112212112221211111212211121112211112121111111212112212122222122121121112121111211111222122122111211112121212211111222112221122111211221112122121212111211122112222111222112122122121111122211121221112221122212121112112111112221211122111221221112112111111221112221211222211212222112122222121112111122221111112121212222221121221221122212111222121211112211222111221121222211111222111121212222221212121212222112222222212221221222212122122122212121112111111221111122221212211222112221122112122121212121122121122211221122121212122122112222211111112121112211221211221212122122222112111122211212112222221211121122211221211122222221112111222212122221222112121211221122221111222112212122221111211111211221211211112221112221111122122211222112112122212121211211122212111212222222112121222112211212121221212222112112121211122212222222221221211221111121222212111112112122112112112112111222121221112121122222212211122111121121222112112211111122222111121111122111112212112211211221221122221112212122222121122111121212112212222122222111111121111212111222122221111122112121211221112222111212112222222111121112222222212111112122112121121112222122221112111211122222121212221111121112222222112212112122212211221212222212222212222221221212222122221122112212111111122221112112122221221121112112212111112222111111121112121221121122221212211212222211211221112112122222211222121121211221221222211122211212111212111122221222111211111111121222221122122222112122222221221111211211212211211122112221122221112112222111222111211121222112112221111111222121211211112222211112122212222212112122212222211111122222121121212222112112122122111121221111212121221111222122222212112121112221111222221221222212122212222122221112211212211222122221112111112111112212221122111122221212221211212111111222122212222111221122122221111211212112211222111111122122212112111121121211211211111221122111111212212122211222222222221222111211222212211111221211212221222222212212211221221121122112212111212112212122122222122221112112211221221211221222111211112212111122112212211211121112112122212121222122112222211112211112112111211121121111122112222112211212212221211111221221122211221211221111222212122211221222221212221212222122211221222122112222112111112121221121112121111211221112221122122211112221111221121211112122112111112221122211111111122122211212121212211112121222211112111111111211212122222112112222111121221121221121121212112211221122222212212112222121121212211122221112221121121211222212221121121121222211121111122112111212222211211111211221111112121111222111122221121111112111121112122222121222221122112212211212112112222221112222211222112222112212221111111121212121111111221121222112121122222222121111121122121121212222222122222222121121122221121112221121112121211121112122112122122212221212222112122221221221221212211212121122221221112122121112121211122221222221222112122221212122211211112211212122222212211122222121122211112211112222221222112222112222112111122212122121121111121122221212221111212122122221121112211221122211122111212211222222211222221222112112111122212122211122211211111121112211222221121211111222222112211111212211211112121212221211111212211221122212212211111121221211112112111111122221212112111112222222121212221111122211212222222221112121222211212212212221211112122112222222122222212222111222121212122112222212221211122111111221122212112122221111211221211222121222112212221221221121122111111122211221122121111212212121111212211112212122222211121211211211211212221222122122111212121211121212221222112111121121121221122111212222221111121111121221211221121112112212111122122212121221211211221111221111111212211122222211112222121222212121121222122111122112112221212222121212212211211211112122111212121212121122111211111212111222212122221111221211112112211212121212211212122122111112221122221121122221122212221221212212112221112111222211111221221112112221122221111222112112112212111112121221222111122211111121222221122111121221211222122211222221212112112222211111222122121122212111212111221111222112121212111111222112122222211221221111212112121122112112111211121111111212111111221212211122112221121222122221222112111212222211111112121221112112211211121112121111211211212212222222112121122111121122112112111222211211222121111111221122211221112211211212212121211122112221221122121212122122222212122112211122211121112211212212222222221112212211111212112122222211112122211212222221122211112221221121122122121211212112221111111121211211211122212112121112122212122122121121112121121112212111121111121122211212112222121212112112122112112112121112221212112211222211222122121121112212211112122121212111221211211121221112222112211221221222221111121121112111121212111222112212111222212111121122222212221121221121121121121222112111121121122122121111112221222222111211112111222121211122111112222212212121211212212112122111211221211111222121221112111212111221211112121222211212122222211121111221212121221122122112211112122122211111122112112112111122222222122212221221212221111221222122112111211222221121122111222212221212211122122221222222121112122222111221111111221211222122212112221122121112112112211221111121111111122111222112211112111112222221222222211112122221122111121221111121212121122111122212121122212121211212111221211112121112212222221212222112122121221122111212121221112221112222111222212121121212121221122112211122111212111211222122212211222221111112121121121111221121122122211122112111121212111121222221112211121111212121222221121121221112212122121122111121211221111112112212111112121222111121212221112111211112211221112222112121112122222212211211211211221112221112221212222112212221112122211212211212122112211222111112122111112121122221212211121221122222211221212122122112221221222221121211122222121122122212212221122221112122222111222211211111121121121121121121221221122222222212111222112112122122221222221122122121222211121222221121222222212121121211122121111112112111212112122222112221222122121221221122211121212122221212211122221222221222221111212222122111212121212221212221111222122212222222221212221111212222212121211121211221111211121122121112211111221211122222122221211112122111112111111212122222122121122222212122222111122112222222222122112221222122122212222121212222221121222221222222112211212221122221221122222221211112111122111112221222212211212111121221112112212221212121211212211121121221221122122221212211221121211111222121121121111212122211112212212211221221212122111222122121122112112122112122212111222211122122222121221221221222222122122111112121121112122211222111112111221111212121222112122122112112222222112222122112222122122211111121111212212221212212211122111111222211221221221121221112211212212111121122111211122211221212121211221111112111121121112222121211211221121122221111221122121121111111221211121121212212222222211212221212211111112221121221211111112121211122221222221121211221111121111122211221112122112211221222111122222211212221111222121121212211121111122112121212211122212112121212211122112212222221122112222112121222222112121222122222112221121211111222121122111111122121221221221212122221121122111121122111211121221211111111121121112211221111122112111211221211222111222122112222221211112221121212122212111222222222121111112221112222121122222111112112121211111212121212111212221122111221111122111212222122222211221112121112212222121111112222111112212112212111111121222212122222222222122111212212111221121121222111121222111122222222111122122221221211222211111212221112211221112222212112222221122212212112121122121222212222221221122112211212221122111221222111122211222211112212211122211111112122211221221211212221121121211212211112222211212221221121121122211222112212212221111121122122222221122222111112112121221122222211111111112122221211111212121122111112111221212221122222222112221211111121111112221112221212222122211212211111222122212212222121212111211111222121122222222121121111122122112121122111112222222212221221121222212122212222121112222112211121111211112211112211221122222211122112221112222121212111222111111222121112212112222111121212111211212222121111122121121111112211222111122111211111212221121211222122121121211221212111111212212122122111222221211221222221221122121122222221122221112121122222112112111111212121122221111112211222122122212111122122112221221211212111212212122121222211211111121221121112112221212112222121211122212212111222111112211111111122122211112212111222111122121121221111212212121121111112112221122122112112221122121122121111112122211111211121222212111211211221112211211122122121221111112211122112221122221121112211211211121112211221112222121221222111212221121211122122122111211222121121112212112112221121212122222111121111211111212222122122112211112111112212121221222112121222211122212121212122221222111122211211212122122222211121121221212122221222122211221122212212112111222211122122212211112211111122212211212112112121222121212221212222111211122122121211212211221122211222122221121222211122121222222221121111211122222221121121122122111112222112211212222111222221211221112212221211221111222212212222212122122111222121112211222212222222122211122222121222111121112122212222121212121211111222222122211222111111211121211211212111112212122212112111221121221211111222121122221212222112121121221222221122122121111212221111112121112111111121122222121211112111122212122212112221121122122222211211212221221222212121222222111111111212112121211112111222121111111122122212122111112111111211121211112112222112112121112112121111222212122211212222211112212111121111111211212212112111112112111211122212111221211211211121112221121122212121221112112111221211122211112221212112122111111211121111121222111222121112111112212122111222222222121211222121212212222211121212122121111221112221122111121211222222221211211222112111122121122211211211221111222222221111211212221122111122111122222222211212221221211121112211112122211122112211222121122122212221211122112112122122121111121112212211121211111122122212121112112121111222111211221122121121111122222111112221112111112122122121211111222222121122222212211211212212122222222212221112121122122222221222211111121111212212112112112121221122121121111222222122221221221212212112221121222221211121122111222111111212221121211121121121121211122212111211111211121122121221222112121222221211221211112111221212222221112112212212212121221112111122122111212111212221121111222121211122122121121122211112211221122211221211111211211111222122212222222222221222121112112222112121111211121112122111122122212212221222122211221111212211112222211212212211222222121222112222111112212121221212211121121211122221121111112221112221122112212222122111121221212222112122112111222121222212121221111112211222221111111221112221121211122112222112112112121212111111111121122122121212112211211122212111211111212221122212122212122221212222221222221111112111222221122212222121211211121111222112122112111221212211212221211221121211221222211112122211211122112211212121111112122222122121112122112112111112121121212222121211122112212221122122112111211122211222221221111212211212122221212121121222211211212222222211121222221112122111121122222221111111122112221221111121111221221112111212111212122122111212111111212212111121222211112222211121112212122211211112212212111211221122221122222212211222222212111211122211111212212222112212221211211211112211212122122212122112211212112121211121211122122211211212122112211112212112221211222211111121212222122222122222112221122222122122212112112122121112211211222212222111212111122121122112221222122222221222212112221112221221122121211222112112121122122111111121211212121212221211222122122221222221212111111221112211211121112112111122221222111122111212222221211122222211212111222221122221211222112211111112211211121122211221222121211111211222212122222221112111121212211122121211222112121222211222212222212122121112112212221111122222212111221211122122121221222222121121112121111212111111111222112222212211222211112212121211222212212121122112111221111112212221222222222221111112112122121112211221112111211212112221221212211222111222221211111121212211211122122221212112221111112221121111111222222221122121112122111211122211222211111111122122222111212222111221111111222112122221112212122211221221222122112211222111111112222211221212122222222212212112211112211121212212221122111111121222121111211222221212222121122222212221121212222121111211111222222112221212111211221221222221122212211122111212212222212111211221121221221112222212122112112112112121121221211111111111112121111211211222112122112221111221222221222222122122211221222211122122111211111111111112122222122112111122112212212111211112112122222211112111222221111122211222112112222111112112112211122222122112212111111222122111122122221112211211222121122121121121221121212121122112112211121111111211121111221122221111111122112111111221111111112212221212211111212221212112121212112122112122122121212111211111221112211222112221222212222212211122121221221111222221222212212222222112122222212111121211211212222121221222122111211221211112211211221211212112222212121222112112122111122122121122112122212221222111121212211121222222111112211212221112121211111222122121212122112222221122112211122111112111212212222111222122112111111212112111221221211211222112112221112111211211211211111221122211222212122121112112212112211112112122221112121212222121211212121211211121212112121212121211121211221112122112121211212222212221222122211112121222222121121212122222221221122222221112221212112112212112222121221212121111222212111222212112211111112122211121122211212222122222221211112112111112112222122122122111111122112212211122122222122121221212112212121122221121111212121111122111122112122121211121121111121112212112111121121122112221121112211122221112122112212111222121221112222122111122121122111212211111212121212221212222212122122212212112222122222122212221211121211122222121111121221211121111211221212122211212222112121222222222112211222122211111121222112221122121222122122112111122212212222111122212112211122222111221222122112222211212221212111222222112111122112221221112222222122112212212121221122112121221212222121221111221122122221122121112212211122122211212222111222212121212211112211121121221211222221122111112121122222222212222121121211121212211211211221112222112211121112212212212212121121111211111222211111111221222211121112122111121212121121222222122112212112212121122222121211121211121111212121112111122111111222121212112121111121111122221222212221222222221121221111221212222121221221111211112122221212122212121121122121121112221112122221111212221221211212212121122122112122222212122221121112112221122121212212121211111112222211212121121112112122112222221212212111121121212212212212122221112121221222221222122111121212111122121211221112221112211111212221112221221221121122212121211221211122122222212212122222121111121212211111122122112212112121121122112111122222121112111122212221221221121211222112221212221221212121112211211222222211211112111112121211112221212221112212121221121112221111111212122112212121122112122111121212222121222121222212111211112122211212121212121222112121121122121211112111221222221121222222211111112221111211211222221112121212211211211111111122111212111221111212211211212122222211212112121111111122212211122211112121211211122111112222122212222212112222121212212221122221211221122211112121211122211221212122111222211211122211111221112112221122211212112212212212121221222212121211111122222122112212122221111122212112211222221211112212112112211212121211121222112212122221112222121112122211222122221112121221221111121122211111112121222112111111112112212122222211221212222222121222221122122112211222222121111111222212111122122121212222212212112222121221212112111222211122111122121111111112212221112111222111111112211221122122221221221121111222111111222111121122111221212212211112112212211211111221111212112221121221212221221121222222222212122112212112111212111121212221221111121122112122211121221111221122221111121111111211121221122122211122122211121122212121221221122211122112111112122121222221122112112122212221112221212112211121221211222211112121112211122221111112221222121122121221222211122211112112221222222112221122121122211122212112211122112112111222122222212111111112212212212122121112221221211121211221122211211212221212211222211121211211211221112121222112221121221212112222221222112222221221111222121222212222222112121121111111211112211221221121211222111112212222222211211212211222212112111212121222122122221211222121111122122221211111121122112111112221221122111111121221211121112121211112112212122111121121112112211112121221212112221112221211112212211221221211222121221121121211122122121122121112121112112211121221212122121112122122222122211111222111111112121111111112111222211121212111121122111122111221222121122112222121211112222222121111222211111112212122111212212212122122222122121212122211212112212111222121221111121112212121221112112121122121111111112112111111212122121112121222211221112122221112122121222112222211122122212221122111121122122221211111212222222212111112212222111122112222211121122121111121111222212122122212211121222122121221222212212112112122212111122112221221111122221122111122212222111112211111221221221112111112222211211212211111221112222211211222122121222222121221222121221211122211222112121122112111111221111121211112212212212122221112121122221222112111211111212111212221111122212211212112222121111221222222212222211222121212212112122222211111111111211111211122222122121121222211212112112111112221221212112122221211212121211112222121212212111121122111221222112121212222211211211112222211122111122211122221112221111212122222211111112221111111112122222222111112212221122212111211211121211212122211111121211222122221122121122222111211122211211112212221221122212112212221122121122211122211221211211122221212121212121222222222221122221211211112112112222122121221121121112111211112111221111211212211112111222221111122112211222211212222222212221112112122111122222112112222121221111122211221212212221212121212212221122211121212122212111112112222111112221212111211111211111122122211211121122122211222222111222112111221221112222112222211211111212112222212212112111122221222211212221112211221111121112112111211221211112122221221211212211112222111212122211111211212112221221111222111222112112112121121111122221111212121122112211121211121221111211221122212122212221112122112222112112122222112121111211221121212121222222221221221221112111211111112211112112122212122111112222111121111111212112211211212211222212222112212221222111212121122112122212112212211222111122221211211121211121211211222221111112121212112221211112111121112212111111122221211221222112221112222212111111212122222211212112112222222112112111121111112121122121221211212122122222222211122111212112112212112111122111111211112221222212222221112111121212121111221111211121212222221122222212221211211111121122212111122112111121122221121212221211221111212222211111221112112112211121222222212222211212221111111211111122122221221111221222212222212112221112221111222221122111122211112111111121222222122111112211221211212111121112121212112112211121221112211122222222221222212211211111121212112212211212222112121111212122111212212122211112122222112211111122222112111212221222212111112212211121221112211222221121122122222111212121211212211211222212111122112122212221211221221121221211222112222122111122211212121112121212222122121121112122122112111222212212211112221211211112221122212211121122221211211112221211112121211221121122112121111212211212111221211222211222121212211211111112212121221221212222222211112122122121122121111221211211221111121212221212212121212222222212111112212112211211211221122121112112212211112211211222112222211211211222111212121221211211212212121122122212212112122122212221221122121112121221111112211122211112222221111212222111211222121121211112111121211112222111211122112221221122122121122211112212121111211222112222121222111222111212222121121211221211211122221121221211211212222112111221211122211212111222221121122211211211112111221122121122112111112222121112121112221212211122212221111111211221222211212111212112122211121112112211121211222211112121211121212122222222111122222212211211122112212211221111122222111222111212121121122211211212222222122221122122221111121121222211121211111212122121112221122112221112121222111212112122111111112222121222122222111111111121222111121211212221211112122212122221122211221212211111211212112212212122212111221212211112211121211212211121221212122112212121221212111212112121122221122212122211212212122211222111221112122222112221112122211111121112112221211112121221221112212222221122112222222121121211221222222222211221212112211111111211111121112112222122211111111212222211121111122222121111122221211211122122121222112212112222121212221112122222222122211112112222112211122122111221122212222221121221212122121211111121112211211121112121221221112211112212112122122222211212122111111121211212112221222112111112112221212121221111222111222122222121121122112212122221221222112121211211121211222111222121212212112121122111122112222112211121122112222111221211112122122122212121211121112121122111122122111212212112222121122222122121212111111221222211211112221121122212112222112212121221211221221121212111111221122211212111112122222121221112111211112112221211221211121211222111121221222212111112121211121122221212112211111221222111111222221112111221111211121122122122222122211111112122122212212122121222112122121121122111211212121212121212221111112112111111221212212212222211221111211221111211212221212112221111111122111121111112112221122111212112121122221122211111111111112111122212211121211112212122211212212211121111212212112211112211112122212221112111212211121111212111111221111212211212122222221222122112121212221122222112221121112122122222221122212111211222211222221212111112111112212111111211211222112222121222122121111222111222111112211122211221212212212111221121221122221121111122211111222111221222122221121121221222222122221222122222211112111211211122222121112212221122212211112121111111111212122112111121122211121111222122211111112112222211112211111112211221111111212122112211222221222122221221122112111121222112222211122222112211222211121112211222212122111212122222221211221212212211211122221222121221221122221111121122212111122222222122221121121112211222121212111222212112121211122111211111112122122111111212111212111111112121222211111212212112212111222211212222111121211112221122211121112212222211211222121222222211221221121121211211211121112221211222121112221111121112212212112221122222212221122221221121122221121221112211212112112222221212112121121222112212111111121221122112112221111112121222122122122221111212211212222211122112121122111212221122122211112212112211221221211121211111112222211211112112221112122222211221121111122222221112111212212212221121111121211112222222112111122122221211111121211122122122112122111111221122211112221221122121212222111221112112111211112211112111211121222222122121221112121111212212111221221212221121211212111111112212111111212212211221212221111222211122122222111112212222111221212212212112111112221112112122222221111121121111122111121111222111221211121111221111111222111111211121221222112121212211111212211221111121112111221221212221121111211211121221211112211212221112122121212122122211212111121112221122121122222222222111222121121211121211112111121122121212121121211211222211211121212222121211211112111112221212112211222111111221122112111221212122111112211221212221222212112111222221222221211122222111122212211211221121111222122211221212111112112222222112112212221211221212211212111221112211222211112122211122112122221211112121122111211221211222121212122221121221122111122122121122112221211221222222211112212222211212121222222211122121112211212122222221121211121122222112122111112122121112211221111111112211112212211222211222112212122212221112212111222122211111122122211212112111221221112221112212111111211122111212122212211211111122121212111111122211221222212122211221211112211122211211122121211111122121111222212112122221111221122121221112211211222122221112212122112212211122212112211111112122212112121121221121111122111211222122222111212111121211221211211221112212211211122222112222122111221221221211212112112122221212211121211212221221111222121121212212212112211121121221122111222121112121112221211112211222211121212121121211111221221112212112111121121122122212211212111111212222111122111111212111221222111112112222111121222211122211121121122112112211211122112111212222112222121211222211122212111111222221121222222112111221122122112221111222122221111222221221122212111211122222211221122211211112222222112122221111212112112112212121222221122222212211222212222112111212221211212111211111211222121121121212212111121112112122111122221112112212112212212112122112122122221221211112212222212121121221121121111122111211112221221121112112112121122221112122221211122112211221222112221212111212222221212122221122222211211222212121222212222112112111211211122212121222122112212121112222121121121211112211222112111221211122221211112111111212212221211121222211112222121211211222222221211111222111211212212211221121222112111222221222121112222122221111222111222222112211211221122222222211111222212211121222122212122212211121212111221121212221221212222211222122112221111211211111121211121112112212212112222112111111112121212211222111122211121121211111111212121221121222221121121211211221122211212212221222122221211111112212112111122121111221122222212211122221212211222211121111111221211111121121212222121211222121222221111212111122212222111222111211121111122112222111122111222112211112111121112121111222112122212222222222122212111222221111121222221111122122211222122122122211211112122221221122121222221211221112122212211112211221111212122221212121211222122121112112221112212211221121112121121121111211121221221122122212221221121221222111211212222112111121121211222121112212111111122222122111222221121111221221212111111222222111122121222222222112222112212211122121121212111211211111121111221122222211212111112222122122211221222212121111222222212122112211221111221212112222111111111121122211212221212111222222222122112211122222211221222121212112112112212211222211112222222111211212222212121222211211111222212211122111112212211122211212211211121112212222111212121111212111212121222122221111112212121112122212111211222221212221222112212211111221121111121122212111212221212221212222222222212221211122111211111121122122221221122221222221121121121112222221212112221122122222212212221222121111111112112111121122112211111112212211222112112112212221221122122212111112221211112121122211211111212221221211122222122221112111211111222211212112212221121112121111211112212121212111111111122121222211221112122212122112211221211222212212111112212112111211221122112122212222211112112122111111111121222122211211121112221122112211212221211211221111121222122211111121122121122212211112122212222211122121112121212112121122121211212111211212111221222121211122221121111111111212211112122221212211222121212111222222111111222111122112222121112221221221212222211111211111211221211111221211111122212122121112212121212222212112111121111122122111121121212111111221121111121221122112222222212112222212112221211211222222212112211212111111111211111121121212122122211112222212211221121221211112222221121111222111212221222222121222212112222221222122122221212222211121112122111121111112221111112211222122212211211222212111222221222211221111122121111111221121211121121111122121211221121212221111222122121111222211221221112112211221121211112122212212212112212111222222212112122112222122111122221112111122222122121121112212122212212221222222112111122121221121211212211122222112121111122111121211222122221222211112212212222211122122221221222222111122121222112221211112211111212111211222222212122212121111211222222221112112211122112222122211112211212221212112122222122221212212111112221111212122111121111112222211211221211112221112111112221222222121211122122212222222122222112221112222221221121221122222222222111212121111221211121221221221212121221221211212122222222212121211121211212121212112222112112111212122111111112221211122221111112212111121221211121222112211222212221221212121121122122121122112112121221121122111122111212111111222112121122122221121222111122212121211112211222221122111112212111122112212111121212121111212211222111221221122221222221221211111222222122112222222111112211211212212111212212121112112222222221222221222211222211121221212212221211112211212121111222112112121122221111111222121121122212212111112111222121222112222121221221221111121212211221122212221212211212111212121121122212221112221212122221111211221212221221211111112221122222122221121212221221112212211111121111221212122121122122121111212211211211222122111221221211121112211112212112222112212122221111122212112212222222112212221122111212211221122111222112221211111112111221212211121111121221222212121211212222222112211122221212222111112221111112221222212121121212212212121121222122111121212222122222112122222122112222222211121112212211211121211122122221211112221112111221212212211111222111122111112121112221121111221122211121211212212122212122211221222122222122212111211122111112221211112122121211112112112112211211111112222112212212222111212211122112222122212112212222211212122111111221121112111211221121212112221121221211212122111222121111111211121212122211111221212221122122122112222221221211122212211111112112122221122221222111111212112111111122222212111122222122122111211121111122211221222211122111212121111111112111211221212111121212121212112211221212111221222112122221221121112112211112221111112111122122111211112112122122112121212121211111212222121222222222122212121211221212111212211212112222212211222221112112221122111211111222122111211212211221122222222221122221221222212112122122111112211121222222212121212221111211221211122121211222111112112122112222112122221222121222222212112111112211211222222122211222212221211121112221111122121211121221212221121222212211221211222112212212221221111212112112121221211121222112122121112212121211122221121122211112111212222111221112111221222121222211221121122212112122222122122111221111112112111221112221111111211122212112121211122112121212222211121211222121122121222221211112111212121212121112122222121121111211111222112111222122111122112212121121112121222122211222121221121121112121221111212222211112112221221111212121112212222121112122221221122121222212111112211212112212221212212212121212121221211122122112121111111211222221221111112112211111111211211112111122112122121211211212211121221112211222221211122122221222212212222221212212211222211122211122221222112112212111211112221221211222122112222122111212121221121112121221222221111111212221212212212222212222221121122212121222222212211112122111211122212211222211221111112121211121111221212211121211111222221211221212112112221221122112221122222122211211221222122212112221221222222212221122222211222212112221212211111122122212111111212121212121111212221111222111211211212221211211112112112211212221211222121122222122222212211111212121222211111211212211121221122212222111112212211212122122121221212121112111112211222221111122122122121112211111211221112211111211121222122112111211222112112122212211121111122121212121111111122112112221211221122111221122222211122212121111112221121111122222211121211221221212221112122211211212121112212121222222212111212121221222111221121211122112122111211122222111222212121112212222211122111212222221221211121121222221211211111121121212112111212121211121121222211112112111212211122122121212122221222212221221121111122111211212111211112222121122112111212222121121211121111211212121111222221112111211221222212222112212211111222122222211122122222212211211212111221121221211112111121222122212121222112111112212112111112121212112112211222211111212112222212122122212211222221221222222111212122122212112222222111221211221111122121112111211121122111112121121211221221222112122222121112211221222211121222222121112121211221222211212211221221221111111211122111211112222122122111221111111122121221111222122221211211112212212211112211211112221211121221222112121221121221211211121211211111112112121121211112121221112212111222112221221211212122212211112121211121211212221222122112112111212222211112112222212221112221212222111111221221121212222221111111211121111122222121222122212111212122211221122211221222111122122212221212212112121122122122121212111112112222222121122211212212221212121221121221211221111212221222221112221112121212221212112111111212212121121122222222212112121211221111222111121212212222122122211222112121212122222221211112222211221221111121111212222221221112222122212111222121111211221212111211211221112221111111211211111211122122122111112211211121222212221121121222221211111221112222221211221212212221221211112212112212212212222111122221211121212211112212222222122112122111221222221221212212121121221121221111122211122122111112222112212221211122122221122112221111221111121222212121122221122112121212211122212121121211211111122121122122212112122222212212212122122222111222211212111122222121222121212122222122121212121111211112212121121121211122212212222121222212111212121121222111212221121121222122222111111122111111112122222121212222121122212111112211112112112212212211112222222222221111121121212212222211111112112111211221111112212111221122221221211122121221122211222112221211121211111111212112221211212211212211211112211222111222221112221121121211111222122211112112122222121112222222221222122112222211211212222122122211112222122111111211211222112121111112112122211111222212212112212111121211211111212121112211211111122111121111211122122221222222122122222122212111211121221112211122121112212211212111121221112112122221111111221221122121211111212111221112122111221212111221211222221111221121121122212111122211111222122222122222111121112212211222122111211121221111122111211222112112212122122112121211212221212112222222211221212122211122211121122211211221111222212211112222122121112221221122112112112211122211221122212121111212122222112221122121112212122112111111212212122111112122121222122221112212221221121112222211112112112111212122212212111212121221222211122121212112212111122122212111112122212112222211211222212212121122112212122211212221121222111212221121212222212222211111211212211111121111221212221111212122222222212122111221211211221121122112121221222121122221111221111211121121111112212222121111222222211212221112111212212211212211212221121111111112112211221211122121121121111222122111211111222221211111112111112121112112121211221211111121221211121111211122222122211121221122222212112221112222222111121112222112212112112111221121112111222221121221111122111121222222121122222212212112121211122222221212112121212211122121211222211111121121122222211111122111212211112221111212222111111222222112112122112212121122122212112122112112121122221221121221222122111112122112121221122211212111222111121221111122112212112222221111111112212112221112221112211122122221122112212111221122212222222122212122212122211212121222112222222211211211222211111111221122211212112222111222121111112221121222221112111222212221212111122221122221222212121211111222211221221221222211121221111211221212111112222221221221122222112121122211212221112211222221212111121112222222222112111212222121212212221112222221212211122222222111221222122122221212221211221222121122122112122211111211212122111111222212121112111222221121221121221212211221121121121221211122212111111122111121222221121111221112221111122212122122122211111211112112211211221222221122121112121222122111211221211222221122211121122211121121212212211212212111221212221211121112222122211222112222222211112211112112212222122121121211211112111112222212211211111121222112222111111222122112221221122212112211112212211122121122211111222122111212212212222211222122222212211121212122221122122212122111222212111121122122112222122211221112122112221221211111112111122111121121211112122112112122111111112211112122222222121211121121111112212122111212221122221211112111211122212221121112222212211211122112212111112211211121222122121212121122122121221222222112222112121112121211212121121122121221212122221212112121122222121221111212112222112211222222212222112222221222211121111111112222221221212221221221222212222211221121222221212112211222211212221112111221121111111112121222211221111212212211121221121222112222121212222212122221212112211211121221112221111212221122211112212221211121221121211222121111222212111211111122122211211222112112211212211111222212211221111112211221221122212122121122111111112221122211221221112121111222222121211212121212112211221222122222121212211221211112212121222221212222222211122121212221211222112111222112211122112221221211221121111122122212121222222222222121222222221122121112212211211211121112212122212222211121222211211221122221111112221122211211211222112211211122111111121112212122212121211211212122112212111222221121222212212111212211122122121121221212221122121212212221221122221211222111221112121121212212122112111112222122112111112111221221212111122112221122221112211121211122112221212111222211121122222111222212211112111211221212222112112222212222211211221111122211212221111221112121112221211211222121212211112112112222212112211221211222211112112212211211221122111112212221211112121211221122211221121111211221212211211222222212211212111121222221112111211121222222211222222121222112222211112112112121112211111222122111122112121211221222221211121212121111111121112211221211221122212112122112111211122211221121111211211112212112122111222111211221211112212211112222221121211112112212112222122111111111121121222121211222212221212111121222112112112112222121222122221221212221122122211111212122221112121211212212212112121111221111111222211121122211221222112222121111121212112212121121122111111111211221112122222221222211212222212212122222212211121221212222212122212222222121211122112121111121111121121222211222222122211222221121121122111111211121221112222222121122222221122212211211212222112222211211222111211121212111111122121222222222222221222112121221221121112122211212212211212121212212221211121122112222121112221212121222112212111111212111212211112211222211212211212111212212111122221222221222221221121122112112122122222111222111212221111222212212221121212111212212121121211211221221212222211222221222122211212121222121111121211212221112121121121122121111111221122121221121221222211212212211212212111112212222122111221211211212111112222221111112211111221211122112221212221121111121112122222111121222211112222122111212222122211221121211111222111222222112112212121111212221222111221222221121212222122121222111222122111111211111122111112211211122222211122122221222122121212212221122222222221211212211121121211221121111121222212222212121122211221122211212121212211221121121212112112111121122121111221112222111121212221212221112121212122221221111222111111121221121121122211112221122111121121122221212211212212111122212222222221221111222222211122211221221222121122121111212121222222212221212112211211211121221121112111112222222221222212111121212122121122211112211221221212122112222122122121122122212221222221111212212122121212122212122211222122122122212111121122111112221221212122212212211111112112222111121111211112121112221221212211122121121121221212122111211212221112222221121211111212111122211112211121122121112121112111111121212112211112211121222222221121212112221121221211222221111122122121111111122112222211121111212121122222122112121112121121111222121222112112221112212122112222212111211221212221112212122111221122111122112112111111112122122222212112211222211112121212121222211221121111112222121121122222112211211221121112121121222112221112212222121211222221221211122121212211222212212121121121222112122212122221211122111211111212221121112222222212222211222221111112111211121222222212122221122112121122121212122122122112221211222122222111222211121212122222112211121221112221221211211112122112222221121211111221211211211222121222211221222211122222122211121111211222222222112112211222222121121121221212211222221212122112111111222111122212112221122111221121112212111121222111222221122111112211112111212122112111111121212122111112212121112111222111221121121121222111111222112112221111121111212212212211221212121121112111111222111121212122212121121222121222212222211112222111122211222222211122122112111111121121121211111221222222211122222221222112222121211112111121112122212221221221222211222111211121111222111211112122222221211112221122222112111111121111211112222222211221221122222221121211121212122211111111211112211222121221221222111211222222111212121111212122112112222122121211122211222211221222112211212121111221112111212112112112211121111222122222211121121221212122211111212221111222121111111211122112121112222211212221112221122211111222112222112221222111211121122212121112111122222112212122212121112221222212121122222112221211212221122122221222222221212122111111221221122111211221211221112122221222121121111221112121111222122211221122121221211211111111122121212212221212222212222122222121121212221222222222221222222212112221112112112211111211211121211222111111222112211111211221111222211111111121122121111121122222211212121212211211222211222212121122121211221111121211211212221111121111211111211122112212212112121122122222112221122121111222222211212221121222211122222211111221211112221221222122212121122111122121212211111122211121111121211212122122112121211222221212111111121111221111222221222112111122122121121222221111222122212122211121111211212111122121222111122211121221112221111222112221212111121112221222111212212112122111222211212212112121222122121121112112112211211211122112212121222211211221122112121122111211112221112122221112122211111112221121222112112212121112212112221111121221121121121211122111111121111121212221111121222121112221112211221112212122112111112112121112122111222212212111112112111222111222222222212112111222111121211121221211211211222212221211122121111112112212121122122212122111211211111121212221121221112221121122212211212121111111111111221122112211121112121221112121122121222222212221122212211121221221111121221121121211212222221112111211112111212122222221222212112122222122211222221122122221221122222112212121121221222222211221111111211211222212112121112221122122122122212122122211122221112221112121212211221221221111221122121111122212121211222122111222122111121211122121111211222112221211112122221112222121112211221212212112122121212221111112212212212121122221222211112211221121122212211112111112121121221211122121112212221211112211221111111211221222221222111121121121222212212121212222211222122212121211112111111211122222211211221112211222111211221212111122111111121222211212212111221221221121122122122121211211122121212112211221121121122222112211121111212222212122122121222112222112121112222222122211211212221112221121122112111112222222222221112211111111212111122111112222212211211221122111212111121222112111221111111211112111222221122121211212221212122112122111111221121122122222122211112212112111122222222222211111222211122212222221211211112212211111111221121211122222111122121111121222121122211211112222121211222222222121111122211222212112221122111122112212112121121121212122211222222212121111121112222121211111212222221112111111121112212112122111111222121121221212211221122112221211211112122121222121111121222211122111112111212212212221211222111121112122122212112212121211212121122121111222122222221122121211121212212121222112212111212121112112222122221112111211121122221221212221112112221222112111212211112122111111121112221122221222111122121221121121112222111111212111221212122221221111221122221222211211112222212121112211222212112121222222211122111221222111222111121122121211222121212112111222222212212212222221221212112111212221121221111121121111111211212111122211211111212212212212121121122211221122212111121122211211212211222221121111122121222212111112211222122211122122112222121222221112111121212222112212212122122212211212211112221112222122111122222121212211211211111121111122122212122121122111112111111222121122112122121111122212211112222222221221112121211212222122112222222222121112212111222112112212221222221121211221121112222121121222111211122221221121212222111122222211222112222121111211221222121122222111111112122121121221222222211212212211221121111112122222221122222211212112211211121212112211211211211112121121122121121122222112111222121212222212221121122122222212212211122122222111121111212211121222122121122121112212122111112222111111121222221211221222222211121122122111222222122222221221121111222122122112211122121121112112211122122222212222111212122211222221212122222222112112122212121211211122122222111221212221222212212122221211212121112221221122112121112211221211112122211211211221111121111111212222112211222212212221112221121112212211221211111121212211222212212112221222211211221222122121222122121212111222212112121222211121112122122222121221111212121222121112122222212121222222212122121122222212112121111111221212112122122222121221121111112121222211222111111111222221212111221121121112112211221211211112211222221211221222211122222211221122212112111212212221222222212111111221211222112211121211221111212122111211222111222221221222211121212122212211212112222112222211222112111222212211212221121222122112122221211122111221112112112222222222121122121221212221122221211211212111212212111222112222112211111112211222212221221111111111221222221222111111221121122212221111111111112111122122222111122222121221112111211112211212122122221221211121211222122112122211212121221121222112112122112211212122211211221122122221212112111211122122222112221211222122212111211112112112122111111112111121211221222211222212121221111212111122111112211212112221112221222112112222111222212221212211111212122222211222122212221121221212221111221221111221212221111122121122211222112112111121212212222221122112212121211211121212221221221122222111222121112111222211111222221121221112111212212122221222111121222211211121211221221122122122211111211121221121122211221122122122111121222221222111111222222122221121112121222211212211222212111122121121111112122211112222221222121122112111211212122111212122221211122121122111211212212221211222111221221222121211222212112212121212122221211121221112121221222112222122212111111112111122121221211121121212121122212111121121222122222212211121122111112112222212212211211221111111111112111221211111212111221112212111121212121211122121222212111221212111121211221121122112122111222221121112221221212122212112222222221121111212112211221221212221112122122212211211112121122121121211222121211122121222112221111121212111212112111112122212122212211221221222112111121211121221212221221111111112112112222121112211112211121222111121222212211222122211211211111121121122211221222121221111121121222212112112221211222112111221222222211211212211221112122212222212111122122212122221212222221221111111111112212222211221121121111121112121111212121112211121121122221212212111211212212121112222211122212222112212212122221111222212111221222122122111112211112211221121212222112121212211122121212222212212121211112111122221112122212121222211211221112122211221121121122111211121111112122212121112221212221222121222212212211121221211221111121221222212121211111222211121222121211212111121112212121212121121212222221111111121111122122221111122222222111122112111212111211212211121221222112111212222211212222222221222212212111222211122122111222212211211111111121112111221112111211222222112112222111222121222211222222122221111211212211212212111122212112221221221121112121111212112212112211211211221112211112221212211112222222212221122122111221122222111222122122112221221111211221211111111112211121121122222111222222122221221111111222222212211112221212121212222212112111222121212111211111112222212122211122221221121111221121121111112121221112112111212111111121122112222211222112112211221221112121211212221122222112121111211111222221222222121212121222221121222222221111122122222112122122111221112212121111221212111222112122222212222112112212111121212121222211221222212212121112211212122122211122221121121211122121221122212212212211212111222212112121111122211111222122112112121112221112212121122222212111112222112221211221212211222221121111121222112122222222112211122211121211121122211112121121112211111112112222121111211212212212121112111221111222112221111221212112211111122111111112211211212122122222212221222122112221121112212112222211221212121121121221212111122112121212121222222221221121122112222122221121121221122212222221222112212222211111211121122121112221111211112212111221221211111211111122112221112111211121211121122121222212121121222211121111111212111212221221122121221121112121112111212121111212221211122112221112111121222221222122111111212211222222112222111212111121211212222211112111121221112222111111221112121111111211121111112112122112212111212112212112211222112121211221111112222211212211211111111122212122211121112111222221122222121121122211221221111211221112212211121211212122111121112122211112211221221122221222222122212211122121212221121221122221221111222211111111122112122212112221222122211222212122211121221122222212212111122112211112221122112212222111212122222122122212221221212221111122112222111212222112211111112222212122211112112211212111122122112121121111221211211112122212212121211122221121222222221122211221122211122112111222211122122211211211111222112212121221221111111121112211112121111221221222112111112122221212222221212211112111111122112211211221211112211221222111112112212121121112122111121111211212121111211212121211112112212211122122222112121121211222111111222111212212211111221122221222122222112122111121211121112122122211212211212212211222111111122122112221211112122211111221221211221121112111112212222221121122111121211222121221212212111222221111122112111222212222121121211121211111221122112221121122222121121121212212122221111122111221122212112212221112222212211121211222111112212122221212222211221112222222112121122121222222112211222112112212121122122221212222211122122112112211121221111212121122221121112112112122212221121221112211221212121222112111222121212211122112121221222121111222122212111222221121222111112211111122111122111112221121222112212111212221122122111222221211122112212112112212221122211212122111122212222212212211212122212121121111212111221121222112212212222221111112211221212121222122222111212212121212112221221222121112212212112121212211122112122112211112121121112112122112122122221121222221211221112122122122111112212112112212212221221111212112121111212122122211212222211222211212122222212122221212212212112111212112221122222111221222111122212222221112112221111122221221111211112212121221121221211112122122221121122111221221221221222221122112121122111122221112222221122122121221122212121222111122212112121122211212211111222211122112211212221111121122122111111111112221112112122222221112221122222122121122221122212222112222212121211121222211111221211222212121212211121122112122222112222211122221221222222121221222122222211111221112121122222112212122222221212111212211211121212212122221112221211112111211222112111111222122221122221121212111111211211121121211121221111112211112211211122121211111112211112211222112121122212221121211211121111122211221222221111122222112122121211211112212111112212121122112211111121222112111121222111222121122111111211221211112221212222222121122112121112112111212111221212121111112212221122121112111121222112111221222112212222221221112212121122111111211222112211122211211221121122221211212221111111112112222112121112111221212222222112212212111222122112211221111112111222211111221121121221212111112111122212111112211122211111222212222221211211221121221221222122111111111122112121212221112221212122112111111211211122222212222122122221121222222221112221122111112112122221122212111121111112212112212111121121222112121211212221211221222212212122211112222221212211121212122121122212112222212112111221212122221221122212121121221112222221111211211212122122122222112111112222211211121111112122222121121122221122121211122212122122111221111211211121222122121222222111122221221222222112222121212121122222121122211121112122212221112212222222111221222221212112211111121211111221221212211221222221112122222222211122121111221121121112212121112221211211221221211211121112221211112111211122111212211112112222212221212222212212121122222112122222222121112112211221112222222111122122111112221112121211222111112222211222212211211212122111121121121111222112211122121122212122221122111122112221112222221112222212111112122121222221121121222211222221221112221121211211112211222222211121221111222111222222112211122212212121121122221222122222212122121211222222211112122112122112122211122221222112122211221112111211222122122212212112211211121121122111222121212112111211222112112111122122212212122221222111222122211121222122111222222211221221212122211221111122212111221211121221212212121122112111112212111221121211222222211111111111222111112112211211211212221121211221222222211112111111221121112121222222212212222121111212121121112121122121111222122111212211221121112211212121211121222221212121212121212122211121121221211122222212221222122122212111222111111112122112222211211212212222111212212121121221121211211212221112111112111121222222211222222221221211112221121222212111212222112122112121211121111112112212111212212221211111122111222112222122222112212121211121121111222222111212212222121111212121211212222112122222111121122212112211211211122121222111111212212122121111212122211111212111122112121112121122111212211211211222112212122121121212122121112122211222221221122221211222112222222222211212122222212212112111111211221111111212121222221112111111222112121112112112122211112111212111221211212112111211212222111121111212112211112111112221221111121221121121111121211211112211212221111121112212211121212222112122112211121222221221222111212221211112211112112112121221211111111221121222122222121222112122122221112112122112222122211221122211112221121111212121212112121121121212211112222122112121112221121221221211121221111212211211221121222221212211212122212112112122211121122122221112112111221121221222212222212121221112122212222221122221112222222121112112211211111212222122211122121122121212121112112212212222111122222211221221222222122122222212211221212121111221212112222112112121121212122122112122221222121112222112121211121211121121112211122111212222222112212121221222112112111212212222122121112212222121212211112221121121211212221212211112212221222222222221212112121211122211122122112122211112112211212121211222211221122211112212221211221221222121221222221212122111212222222121111221122212122211122221222112122211122222211121221212211111112222122122212221212222222111222211222211112211212121111122222121222221111121222112211122112212122221122211221111221211211221212222121222111122122112222122111112211222212122122111221122121211112122122111121111222211121211122122122112211221121122212121211222111221121222211121111122221212111221121122112121211211112121111111222122211212121121122122212121111121221222221222221212221111212122112122121121211111121211222211212211211112211121211111121222221111221221112122212221112212221121211121211112111221112222112122222112121122212122121122211111221111211121121122121112112211211222112211121221121222121122121111212121111212222122122122112211212112221221111122112211111222121221211221211222121111212221122222122122211112121122122221121212121221221122221211121212211111222121221222221222122112112222112222211121112121211121211212221111211121122111111211222112121122211112221222121111222111111112221211212121112111222122121221211222112212111121222121221122211211222211221221122112221211221222111121221211112211112222111111221121222121112111211121211122111222221212212122212111222121121211222211211222121212111121121211212211221112122221212122212211121112221211121212212211211112111112111122212122111211211112211121211112112221112112122121211111111121221121111211211211122211211211221221122211111111111212211111221212212211112112221222112111111122112122222112121222211221222112221121122122122212121221122121211212221112111212112111222122211211121222121121122211212222112122122221112121121221122221122122222112112121122212212211112211211111112212221221122122112221121222121222121212122112212122122212111112222111112112211221212111112121122121121121112212122112212112112121121121121111121221122211221221222211122211212121211211122211111111121121111221212112111111221121112222112111112212211111221211212211122211112211221111121111211122122111122121122212221112112222211122112211111112111122112211112111222121211112111122212112112112121221111111122222121222112112112121211121222122112222111221211112122212112112122112211212212221111211121111222211211211222122112212212221111212211121221112122122221121211222222111112211222211112211211211222222121212221221111112221222112212122222222112111112211112112122111212122121222122122221211222111111121211111122122222122222221212221121111121211112112211211221211112222211221111212121121221112212221122211222112122111112222222121211122121211112121222122111222121212111122122111112212122122112211212222211121111221122111122211221211111121222112221122221222121212211212121121111111122122222121222221221121112121121111112222111112122121221212112211221121112121212211212212112122221122222211211221121211212121122111221112221111211112222122212221212222222211222221212222221221212211212122211211211121122212212222212212122111122211121221221122221122121111122112121211111221221211111221211211212111221121221212112222111112122212221212112112211122221221121121221121112121212211222112222121212111221111211111222112222121112122122222121211221122212121121212221122111212212111212221221212111211222211212112122121211112111222122121222212112112122122221222212111122121111221122222122221222212222222112112221221122212221111211221122121222112211221121212121212212211211221211212111112121112121121121121222221211121112121222122221121111221111211111221222222122222222112111121211211122111111112112211122112222222112121121212222121211112122222221221122121122112112222222111111221111111211221211122221212122111111212121221221111122211122111221111221112111111221122122112112221212122112211122111211222111211121122111122112111221112212112112112121112221111222211111121211112212111121211112222122211111112212221212112222121122212222211121111122111122122121221121111222112111111112212212212111122111221212121212111121111221221111212111222212222122121211212221112121112112121121112112112222121111212112121212222221221222212111112221122112222111212221112122221121122221211112211112211111212222222122212121112112222122211122111211212122122211222212221211212221122121221111211112222212211121211211122221212122221221222211222212122221221221211112222122222211112111222222222221122211222211212112222211221111112222222111112212221111121112112222121212121112121211211122121121221121121111121221121221122222121122221121111212122221112122221122211212122212211112112111221122111211211111212211111221121221122121221211111212111121221112211212212121122112211121122221122221221121121121122122121212121212212211222112111111122221221122211212221221222221111112122211112222212222122212221212211221211211112211222122221111112222111211122221122121222211222211121112211121212121222112222212121212122121111112111112111211111121111112122121121121222212222212222222212111122122111211212221122112222122112221221221111112121112222111211212221222112221111221112122112212211221122111121122211211212121211222112222212112121121112212221212111111222122112222222121222221112211212112221112122221111212112221211121221121212121111121221212221221222121111112111122122212221212111112211212121121211111121122211221222222211112212222212111222222212211111121211212112212222121212211222121121112112221111212212111222111111212221212212212122112112111221121212122221212122221222222111221121112122222121221221221112222111112112222222122221222221121211222211212122122211211212111222221212211111222121212121121121211221121112111222211122122122121212221112211122212222222212221211121222121221221221122112222112111112222121221111111222122221121121112122121212122111112112222111222121112222222222121222112211221212112212222211122212112222112222212212212122221222221221122222122212221222121211222221111221222111111111222221221111121111211111122211111211212222221111111212222212111211221211222211222112212221212112122221122222222212111122122121211121222121211122222121112221222111122222221111121222211221111122121111122112112112122221121212222212122122121121221211222222112112121212122221212222222111212111212112122222222212112121212111221111112222122122121212212112221112212112212122111211122122222121122211221222222221111212222112121222222112222221111222221221122122212212221121122222121212121211211221121212111222111222111112111112111112112211111212212221121222121112122221112212112211212112221212122212222212121121222222112122111211112111222111121222111211112212211221121122211122122222221222122112222211122212221222121111112122112211222221211121212122111212222121222222221211211221122121112222212112111221212112121111222211121122221112211122222111122221212112212211121112111211211222212212222111212112211222222212212112211112122121122212222121221121222121121221221222121211212122211121121211121122222111112122112221121211212122222221112212122112211222112212112222122121111221222222122222212211122122122221112111121212222122221122111222121111221111111211121212212111122221112222112112211111221122121221212111111111222111221212211212211122121221112222212212221222222221212112212112112222122121211111212221121221122111222111222122211111111211221211212221221221121121212212121212111212221222111112122222212212211222112121112211212212122212111111221121212222112211222112222122221121221221211212111112221221221112211112222211212211112121222221121221212121211211111112121221212222121111111211221111122122221122111112122222122111122111222121111221121221121222222122211122222122221212121221111212212112111112111112122111212111111211221112222121122112211212122121211212221221221111211112121111112221111212112111222111112112221111211211211221222222112222122221122211111221221222111111212122222121221121221212112121121112221222111222111211122221222221111112111121112122122221222122111222222212121112222222211121111122222222221121111121222221112111211111121112121122212112222111112121112221111222211212222222112112222212111112222111212212112112121222211121111211112122111222211212112212211122212211222211122111212211121112222111122212121111122121212111111222212111222222121111222212112212222112221111122111111211122121122221221112211122211222211212111221221122111111121121121111222222111112221112112122212112212221212212112121212222111212112211112122112221222211212222122222112212221112121221222111111121212211221222212122212221211221222222122122211211222111111212111111212212121212212121222221112222221222221211212121122211112222221121222212112121121122221111211112222211122112111211121212221212222122221111212112112222211121212112111121122211212122221121221222121212122122212211221112111221111222112222112111111121211112212221121222221212112211121211212122122121221222221111221222121222111112112222112111111211212221111111111122122212222221121111222211211112121212122222211222112121122222221121211212212111212211121211121111122111222221111212221222211221111111112111112122211212121112211212112122112121112212121211122111122212112121121212212222212222122112111211121212212222112121122112112112122221121121211222211122112121212211111111212221211212122222221112222122211111112111211212112111121211212111211122121222122212121211121112121222111221111222111211111221211111222211212112121212122212222212112221112222212121221111121111121122222222211212121212112122221122212112212222121211221111112112111221211122212122112212112222112121121221111222211122122121221222221212121112212211222221111221112122222121112112212112111221211121121222112212211212221122221122221112222121212211222111212121211121212211211221211221221121212111122222111221112111221222112121221211112122222222211111222222211121211111211212121221111121222222111111222222111111111222212212111112211212122112122222122121111212212211111211111212222211212121212111211112212212121211212112121221212222121121211221222112111111211112121122111122212222221211221222212221221222211112112222211121222222221111212111122211212121121112212221211121222221111111222211222122112222212112221211222121121112112112211221111122222111212211111212211212111111211112211112211221121121112211222112112212212122122121222111221111111212122211112221221121111121111221121211212211121121222222112121212122112121211222222122222121211212211212122122222212122211121212222111111211212122222111212112212212112121221111211221121221212222222112112212112122121221121211122122112112111111112211122112212122112222211121222211122122211221122211111122222112211121121211121111212122121222211222222221112121221221211212111211221221221111221111212121112112111112111112211222211122222211221111122121212221212221121212112221222121111112121111111221221211211111212121221221112112222112111122121111122112221211212111121112111121221221212122112122121122221122221211212221111212221122221112212222112121222222122121221211222222122212222112122121221211111121121222122222112122222111222211211221222211112222211211122121221121221122222122122112122211212222211211122211211212122112222112222122211122222212221122222122221111112121212211122121112211212221122221212122222221121111221122121112212122221121212112212211221211112122211221122222222122212121121221112112112222112221121111211112221122221121211121112212112121222111111112221212211212112121111221112121211222211121212112222211212111112121111121122112112122121122111121211221212112122121211222121112111111112111222111211222122112122221111221222112222111122211121211211211122221112121221112211212222112221212211112121112111112211121212122212222222221122211221212111111211222112212111211221222222212121212222212222111221221222211111112212221212112121222111212222122112222211212222122222212111211122212121112222122222112121111111112212122212121121211111211111112212222111112121112111211121222111212121121121122212222221211112211221112222222121112212212222111121121221111122112211221211121111112121221112221212212212121112212122112222221222211111112212221111111112211212111121221211211121221112212221121221112112212221121212211111212121122121222212212211122112112221222122222112111122112111121122211111211211112121111212212112112112122221222111111111112111212222122222112121122112111222212112211111212212211111112222121222121221122112111121112221122121212122121221121121122221122121221211221221212111222112212222122222212122111221212221222112121221221112121112211212221121122222121111112112111112222111111121221212112121121212212211212111112212121212122112122122211122111121122112121121221121122111121212111221121121122221211211211222112121122212211112121222221112121211122122222212222222121212221122112211212121111222122121122211211211222211112111111121121222211212212112111221221221121121122111222112222211212121222111212221211111212211221111212122222222211212122111121122211121111121221211111121122122212112221222222122221121122111221221212222121122112212122121222221212221211122221122221221212222121112122112212221212222221122111112112121111211222121122221211211211222112112122222122122221221222111211221112121122212211111212221222112212111122112212121122112112211221111211221222111111121111121212122121212122121221122111112211111222222222222222112222111211222211112112211121212111122122212221212121122112111212212222122222121222122122211221112121221121112222122211221111121212122112111222211211122112212111112212122111122111122212222212112111222211122112222222222221211121121211222221121211122122122221222211111121212222121222112211222212112211211211221111212122122211121111222222212111111112121212211222211211121121221112212211111112212212121222112111212121221111222212112111222112121112111222111212111112222122222122111222121121121111222122211111112112222122122212121121222212112121222212222112221221212121122121211212112211121112111211211212212212221112211111121112111212221112111112212212221221122221122121211122122111222222212212111222211122111212211121111121122111112112122211211211222212121111221122122212122221121221112121112111112211122112122121212212211112221122221211111122211122221111211111221222111212111222111121122121122122121122221122222121122112112212112212122122111121122212122111212211221112212221222221112122222121221122222112221111121122222121212221111122112212222222222222111121112211211222112221111111222211211121221221211122212211121212112112211111212222222222112121222221221111221222112211121221122121222111212221122111121112222121122221221112212211111222121211111111111112111121211212211122211221222112111121221211221222121222221222222121212121212222122121111221221111221211111112222212111121122222211221221122222212122122111222222122112121112111221221211221112122211211222121222211112221121122222212111222211212112222122212222212221211221111112122121211121111221211212211221221211111122121222212121121222112221222121111222112122112111111121112221211121112121212121121111212212112121122112121222121222221111222211112112222121121222221211211111112121212222222212122212112211222222111212222222222112111221211121112211222121122221222122122111122121122112212212222211121211111221212122112121112111112221111221111222221122222111221111121212211222111221111212111122221112122212122111222111122111122211222111212211211122211121211121211221122221222221112122212122221122212222121222212122212221212122222122112121221122212222211221222121121112121212212111211122212121222222122221212221112212222111121121221222111121111121211111221212121211212111112222122122212221112111121221111222112112212222112222121212222121212222212122121111211211221222212111121122112121112211211211112222221211221221112112221222111222112112211222222212221211111222121121122211211222222112112222111212222111112221222222212121112211122122221221112112111221221122121211211221112121122111121211222111112122222222212221221211222112112121222111212212212121121122121122122222212111122111112221221222112212121121222121111222221222221111211221222221122212122212112211122221122211222212211222222112222121222221112122211121212111222221112121111211121111112111121112121222112211211211122111212112121111221111111211222121122111112112111211112111111121221221222121112212111111221112212221211122122122221111211122121111112122211211111111211122211211212122221212122221222212112122111121122111222121112211122122222212122112211221112211221212121112211222221112221222121221222122121112222121112111212222122221212221221221221122111121122111121211121211212111122111211122211211221122212212211111112222212112212221221212122222211122122122212211111212212111111112212112121121222222221122212122221121211212122111211212212212112211121112212121221212121111221221121112211121212221221112222211211121222222212211221121122112122222112212111222222221212211212221121122211111112222122221212221211211112212112112222121222222222122112211111212112122221112112112221121111112122112212212121212221112221112211121211221212221221112211222121112111212121212112222121211211111122221221221121111222122122221221112221211222212121211112222211221111211222112111211112212211221112121211211212112212122111221221122221221212212112111122121221121121221122122111121222122212222121122222122112221122121211211122222212212111122121112222111112121221121221121111121211221212221222222112111221112112112222121211122221211212122122111122111122111211211211111211111111222222121112121121112122212121212112212121112211111211222221122112212112112122111111222122221122212111221222111111212221211122111211222112112221111222212221221212212212121212121122121121212221211211212122112222222112222221212112121112212221122121111212121111121112122121222212212212222111211122222122212121121221112122222111121112121122111221111122111221112211112122122112121211112112122212221222212222222221212211211221221121222212221222211111122112122221121121121111211112212222221112111222111221212112121111112221221211211122211122122212121111121122212211111212112212121211212222121111212212111121111121112221121222122222222222121212111111122211212111221222211122122211211112121122111111221211221111121111222212211112221122222121212111212222111222222112112122122112111211111222211222121222211112211211212111211222121112222112211112211211211221122211122121122222212222111221212221212211212122121121122122111122122111222122122121122111211121121122222211211111121221112212221121111121121212222212112211111112212112121122121112111112222212211212112221222222111111211122211121112222111211111121121122212221112121211221211212122211111122221111222111222112111222111121211111112111122121211112112121211212212222211121212212112122121122222112221212111121121111122211122122122211212112122222222212221221122112121212122221222221112121112122122212122122212122221212221212122211212221221121112212121112112122211111122211212112211122121211111211112121221112222211121212121221122122122222122212112112122211111212221212221211121112211111221121221221112211121122212112121112112122222211212221221121122111212122112122111112121121111112122212111221222211211112112221112112122122212222122122221122112112112111211121212111121222221221122212112122121221221121111212111221121212221111211121211111222222112212221212111122222122212211121121211212222222212121221222221121211221222111111212111121122112112122112211221222221222112221212121121122112222112112212122121121122211221121121121212222212222212121212121212222112121122111222222221212222121222212111212111112111111212112212111111111212221111122122112222122212221221211111121111212222212222111112122111212111112221222111122122111212212121111111122222111111121111111221222111221211112112121212222212111111222221111111112211121221212121121122212211222112112112112222122221112222112112122221122221211222111111122111121121112212122122211221222111121211121121212221112212221211121122211111122121212111212122112212122121111211121112222122122212111222212212211122221111111111212121221222111122212111221122112222111222112122111112111221121211121222222222221112121212212221221111112121211121222211111221211111112211111212112211211211212211111122212212111221111221122112121221111112212222121121122122211222211212112121222222211211222121212212221121211111111222112122221112112211122211212121121112222112121111211221122111212111112221121212221212211221222222111212112221112122121222112222212111111111121211222211212211122222121122122221121121122112221111122121111122111122212221211221222121122121222122221212112222121222212111212111121211111121121221121221122222121211211221212122121211122111221122122111112212121122221121222121112122222111121221121111221111111111221121111222112221111121212222211211111222121111122112221211222221212221121111122111212221212112111111122121212221212121212121111122221112122211122112121121211121112112122122211212112211111111122111121122211112112222112112212222222111221211222122112111111212212212221121221121122222222122221221211222212221211121121222212211111212122112212112222222211212211211111222111211212122121111221222111222112121121121221211222122222122211222221111121212122112121222121122212212121221122111221212111112212122221121121221221111221212222222111221112112222111221221122112221122222221222111111112222211122112122212122121211112111212212222212222221211121211222112112211222111112222221122112112122121222222221212121112212121221121112221112211212122211112121122112212122221221111211222221112111222121212211111212122122211122211111211212121111121112121121222112111121211121211221221122111122122112122121122211212121122111221122111222212112211122111212222121222212112212221212122111211221121121211112111121112222111212221221111221111111122112112222211212122111111112122112212111112122221221112222221111221222121111121212121121212211211122212222122212121112212112222121221222112221122222122112112111122211211122122121211122212222121222211212211212222112112111211112121221112212122122212211212212112222111121121112212121212221212221211121112112112222221121221112211112121212121222121222121211212211112211111222222112112121112121211112211222222211211211222112112121121222112212111112212211212221222212211122112121211121122121121222112221221111121222122111221122121122221211111221121211121212211111121212122212211121112112221121221222121221112211222222121111111221121212122112122211112222222211211221211222111212121222122122212111221111111221121121221221112222222122211221112212222222122112122112222112221211112221121221111221221111212221121212121122111121122121112112211111211211222112211221122212121121111211111111111211211121121221221211112111211222112112212121221122112112122122212222122122122112221221111222111112221111222221211211121121111211221211122211111211211212122111212111222121111121222112221111222121122212111211122121211212212122112111111222221211121211211122221211222211121222221222212222211122211111212122112212222221221121111121222221111221212111121212121221222222112111222112212212111221121211122212212111122112222222212221211211122121112212222222121111221111121211121122211122212111122222112112121211112121212122122212222111222212222112222112122111121212212122112112121111222211221212121212221122121222122112211111221112121111222112212112221122221112112121122222212111212122122122221211111122111211112221211112222112112222121211211121111112112111111222212111221222221112211211211222121221212212212221111111212121222112111111211112112122211112112112112111111212121122111221212211212112211121122211122111212211221122212112112111222111121122221221122222212212121221111212211121222121111221122112222222221211122121212122112212222122222112112222111121122211211212212121211211112122111121212111121111112221211221212211121111111221121122211221111121112212222111122211221111222112122222112121212112111211211111222122222211212122111222121121221112111112111122111221122121212112221221211221111221212122222222222222111222212211221212122222221112122111211112121112121222211111221211111122111122111212211211122212222221111111122112222221111221222221211222112212221222111112121211121112111211211111221212121211212221212112212221211212222112111221122222121121122221222211111221221111112222122211212221111222222222211211122222211221121121221221122222111121121222222122111112212121222212211121112121212222221121111111122112122111211222112111211211212221112221111112112122222111111212122212121122122222221121112221112222112112112111212211112111212222211211222111111111222121222211222211212111221112221112121122221122212112222212111221211212212221211211121121221122112222121212211211122121221111221212211112122112111212122212122111222211112211112222111112221121221121112221221221112111211212211221212122112212112211222111122111122211212112121222222221222111221111211212222112212121111111221211112212111211111121112122112112111221122111222221111121221121212211122222221112121211121112122121122222112221111112111212112111122121121211221211212122122221122221122222221221122211211211221211222122122121221221211121121222111221221212212222222112111212212121222111212212221221221212211212221122122222212112222211211122121221222222112221122212121211222211222222221121112121112211211211211122122122112221121112212211211111121212221111222221222212122112111111112121211121212212121222221112122111112211121211111121211111211222212122112112122222211221221212222112111222221122221121121221121211111121212122211221212221222212221222121221122222122111122122122111121111212211122122112221112111122222112211222122122121121222211112212122111122221111212112122121112111112212112112211111112222212221222212222222222112211121112122122112122111121221212222111112121112212211221212112212111112222212222221111112211112112121221212111221121111221212122212122222121122122121221122211211222121211121122111122211211211222222112112122121111212122222221222222112211222221221211221222111112111221212212111121212212111211112112122222111122111212222121121211111121122121211122122111222221211222221122221212212212221211112111222221111122121112122221111211112121121112122112111112111221112121122111122222221122212112212111111122121111211212222222221221111211221111112121221222122112121211112111121221121122111222122122121211121112212211122112122122222222221221112212222221121122112211111122112111111121121222122221222211212212111222221222121221211122111121112212212211222111212122212222111111121112211212211121121122212112212211121122222111211221111112221111122211212111111222112122212211221211222211212211121112221211211122112111212211221211112211211122221112222212211211212221111111122111221121112211111122212121211222122122121211122221112212212112111121211221221222222211111222121112112122211112112112211121112222112122221222211112111221112112111122122111122111111112221212122122112211122112222221111122111121121222222212121111212121211221111212222222212221212222212221112211111211211221222212212212221212122112212212212121111221121112221121122121121212111112121122112212212222111122212221112221222122222121111111221211221112122112221211212122222212121112111111122221211111222221212221221122221121222211211112222111121221221121121221212122122221112221111212122211121121221121211112222112221222111111221111122222221221221222121112222221121111122111222112111222122122222222121112222121111221122221112212112211112211221121211111111112122111211111221221122121221112121112112112111211111112212122221121121122121122111212112211221112112221122112212221222212211222212111121112221212121211222112121211122122221112111111211122222222212111122111222111211111121112121112221222211222122211122122122211122221211121111212121222211122122111122121211221121212222211122212121112211212211211122222222111221122112211122111211222212221211121111111111121212212221221112111112111121122122221212211112212222122121211222212221111211211211121122221222111212112222111222222122111222111211122221122221221211212212221211112222112111111212121212222121221221122212212211212111112112222121212122211221112212222112221121122211211212222222221122211112111212221211211211212212112111221112112111111112121211111212111111212222212112112112122112112211212212211121112111211122221222221222222212112222111211212222221211121111121212222111211122221112112112112111121122121111211212122212221122111121222111111221121211221122122121112212222222111222211111122211122111112111111222122112122112222222112222222122111121211122221211112222112211211211122111211121211222121111111122212111112221221222121211122212211212112111221222211211121122212122222222211122121122221121212211221221211122122112222212111111112212122222211212111122211121111212211221212212122212112222111111212212111211122122122212111222212112111222111122212212211212221222221221111121112211221112112111122211222221211112122211112222211112212221121212122211222221212222112122222222111121121122222112222112121111112121211121122221112122111222221121211111211121212122221221122121212221121221112222121221112122211111222111111122222112122122221211222222212112211122112111112121112222222112222112212122122121122212122122222212121112111211121222112112121221221122222222122212111122221211212222111121121212122212122222211221221222212111112111111121211222222122112211221122111221222221122112111221122212122212212212222111111212122221112222222122212121212222212211122121211211112221112222211211212221112122221111121221122221221222212222122221122212122212212222111122221111122112211222222221221122122211221212212212221121111112211111222111112211211112212111212221112121122111212221122221121221112222222211212211112112111122112112111122122221112111221112121122221212111221122112221222211221111221221111211112112222121221222122122122211212222212211121111211211121211122111211212122221122122222212222112221111222222212222111221221121222222221121112121111111122211122211121221212111221121221222221221221112221111221122211121122211212111112212112212111122222212112221122122212122221111111211211211112211211221212211121221122211121111211222221122222211221112112221121121222111221111221111221112122221211212222112122111211121221222111211122112212112211221221121222112221222211112121221221111122211121112221111111222212211122222111111111122222211112122212211122121221122221122222122112212112211211212222112112112122121221221211122211221111221111111211211212121221221212112122212112112221122221222122121222111212111111212221121111211111122122122122111122211221221212221112122211121222212221122211121212121112112212222212212222222221211111212212112121212122112111111222221121122211211111222111221211221111122112121122112221112122221221111222211112112111211212222221122122112211111222111222122212122112121211222122121111211221222221111222121221121122211221222212212122222211222122221121222122212211221221222221111211112112221212122111221212222212212112222112121222212212111112121212211222112111111111112112221212121211122211221221112211121222222221221221212222211111122222111221222211122222112121121111121121212112112221212211222122212211121222212222112122111221111112211121111112111122221122212122221111212221222121111211221222121212211112122222121221121112211121211222112111222221221221212122221222122112211121121221111212111212211222212211221122112211112111121121112222221212121222221122221121221212111211111222211122222121212112212112122122112212211111122221221212211221212111222112121211221122222221112122112211122222122111111211222222121212212112111111121122211121122111111221122111212112211221122112111221122211112111122212222121122211211221222212111221122222121111122222211111121122221212221112122221221111121212121112112212222212122222112122111221112121111122212211121122222111122122221222211212112122112222221112221222222112212221111212122112221212221212122111122221211222211211121121111111112222221222212221111111111121121221122112121122121112112111222212122212212222211111111211122112122122111211122211211122111112111222221112221221111222222211212121112121221211122211122222221111211121222121212212112122112111222121121211121222122121112112112111222222121112111112212222111221221221121122122221221212221221212211222121111211122221111111221122221222221211222112222122112111211211211211212122221211111121121211221212212121111212122121122111111111221122122212111212222121211121222111112111111121121112221111112121221211112211111112222211112111222121112112111222222112121212221212222122222111221111111212111211222211212112121112222121111221211211111211112111212121122121211212212221221221222122111221221121112221211221111111222222221112112122111112222212122222212111222122122121121121112121112212211212121212212221111111111122111222122111221222121212222211222212122122122112111111212112211121112222112121122111212121121122222121222111111122221121112221122212121222212122222222121212112111211211221222112212222111212212122222221111222222121211112122212222121211112111221121122212212121111221222221211212212111122122111112111211121221212222111112212122221111212222122121121222221121222122211222122122212221122112211121222121122122111122121222121111221211112212221222111211221122121121121121212111112222111121122111121221212121222212111211122121121121222211222221221112222221112112112211112221212221211212122211222212121121221121112122111211211121212111121112112122112221111222122212112211111111122211111221222111111121121211122111111111122122222111112122121222211112211111111112122222221122112222112222211112121112221222211111121211121221112222212221122111112211121122112222112211212222121112121121221211222122121122112121222112211211112212111112222111211212221122221111211121211221122112112122212122111121121212222222222221121121212222112222211211221212222221212221212211212112221211211121222221122121212211221112121111112121211212211112222221212121122212222121121111112212222111112122121112222222212212211111111221111222112221222112221221121112212122111211121111111112122212222221222122211221211121212212212122121111212112212211221111212211122122211222121112221212211222122221121212221222112211122112222212122122212211212121112112221212122221121122221222222222222222111221212221222121221111212212212222121111221111122122212122111121222212121212212211222211112211222112221122122112211121111211211112221112221211122222221222111212112112111212222121211212112212211211112112212221212111111212221122112221112221112211121112122212122111121122222212222221121221112212222221212212121211111212222211222211111222222121121211221111222211212222122212212221222112222221122211212112221211211212111111111122212222221222111121221221121211222221212122112121121221111121121212211122221112112212221212212122111211212211112122211111122222211221122222211212211112112112122212112112222111121212121212222211221221122121221221121211222212211212221222111211212212111212222222122112121112211111122112121222122121112111121121212121212221221111121111221211212122211211211121222121222211111222111222211222221112211221112222122112122111111112122212222112112112212212221212111121221222212211212122221211112111111122222112111112212112222212212222112212211112122121111221222122111222121122212112122111111211112112211211121211221111221112212112121122121111122121211212111222112221221222222121121222122221121221122212212221122121212112121212221222222121221122122121122112211122111111211111111211112122211122212122111111211221211221211122211222211221111112212211112222121122111112221212122111221111122211211211212211121211212112222222112121111111122121221122121211212111221112112221122211122222122222112122222121212111211212211212222111221221121221222221212112212211111221221111121212122222222121212111121121112212122111121122221121221212211122122211111222122212212112121122222121222112212221111111121222122112221222111221211222222221121122211121211121211112221221111221221212221112111222122111121111121122112111112221121222112122122122112212221111122222211212222222112221112221112112211221222222112212111112121122111222221122222122112122211222112111112112111121222111121212211121212211211121221121111121111211112121112222212212221212111121212211112112121112112122121111211111112111111211221112221121222212121122212121122212221111221111222221121111212211111111212222121222121211212222122222212111221211122121212211211111121122122211212121212221221212211221111122212221121221212212211221122221212212212111211121211222111111221212111112121211222111222221121111122111211111212121211122112122112212111212122211112122122121211121212112222122212112212222121211222111122112212121111112212221122111121212212112112222212121121221211222221122222222212211112111122121121122211222211212212212221122111112112121221122112222122112211112221221212221222122122111222212122121211211222111122211122121111212122222121212122112121121122111211121212212111221121211212222112121121221122111112112122211111111222111111111112121111212111212211112122112121121222111111121222122212121121111221212121222112121222212221122211221112111211221121121212222221121211222221111221111221112112121222222211212212212212221121222111221111221221122212212111121112122221121221222211212222122221112121112212212112222211211212121212211112211222112112122112221121111221212111122111211122111221122212121212211111212122122112221121211222121111212111112221211221122121122112121121121222112211111112211122111211122111112112112111221111211222121122212112111211112221112212121112212222212111221112121112112211212211221112211121111112211121111212211111111121212222122212222122221221111212221121112212211122121122221112112111121211111212121211121111212222211212121112211111111122121122121112221211212221212121112111211221211212121111212211212212111221221122211212112121122121222221122221112211221222121121122122111212111221122122211121222112121111222122221122221112222211211212111121112122221212212221111212212221222212111122122121121111122222212121212221112112221221211221111121211121111122212211112112111122122222122211221121122112112112112111122121122211222222211121112112122221222122111211111121122111111121112112211211211221211212211221211112122111112222112211122121121221121112222111212121222221122211211111111122211122212121211211121111222221111212221221121212111221121112222221111211212121121222122112222212111121222221122122222111122122112121212112122112122212222221221222112111112111121111212112121212112211212111212121222111221111221212221112112211211212212212222221211211121111212111111212112222112122122122121212111112221221112112121111122121122111221212222222221112112111212211111221212212122211222212211112122111122111111221111122222122221121122111122112211121212222122111222121221122112211222112212111211221111221221112121111211111221111221112112122112111222112212221112111212222122111112112212212211111121211211122121221121211222111211112111211221111112212121121111121212121212112111221212222221122221121221121222111112221222212212222211121121122221121212222111212222121112112122121212111221212212212112112122121221111211222221222112111112222121212222112212221222112111222111222121122212121222221211112222211112111211212112221122111112121122121221121111112111221221121121122121111122221121121221121122221211112121221121112121121112112112111111112121211111212122222211112211112121221111212222122111222221212221212211212111221211222122221221212221221112222121122211212121112222121222211122212221211212112212122121112111212121222221122112112121221212221211221221212111122222222111212222111222111212111111211122122221211222222121221211112221112112112111122112112122212121111121121111212112122121221122122211122121111221212221222221212211211111112111112211112121221211211221212122112212112212122221121122111211112111122222221212221112121112112112122121112221221212221121212211211121111112122222222212222121122121222111111111211221112222211211211122222121222112112222112221221121112212122222111222121212111211212112122211112111222121222211212121122222212122212112222112112121122121222121212122221221222212212222122212112112121122111121121211111112212222222221211121112112121222222122112111221121221121121221111221112122212211211111122111212221222122211122111121111212221222121112122122111212212111211122222221122121211122121211221111111212221222221221121112111221112222112221112221211121221211221112121111112212221121221112121212221111222212122112111112222211211111211212212121222122111212222122122122211211222111111222221121121121112211111112121211221221121212211221221211112221111111121112121112211211222112111122121221111211112212121112121211211212111121122221121222111221212221121121211211112212121111212212222122111122122222121211211121112122222222221111211222211121211121211211221211121121112111211112111111212221112212121221212222122211122212211121121222212211121211211211221122111122122111122121122112221211122121121122111211122111121222222222112212111221112121222122221121212122211212121122221122211112111122221122121211122122212222122121121212221222112222111121111211221212212222221112221122212221121112222112221112212121222222221122121221212221222112212221111121112122121212221121212222121112122212212212211211122212112121211212122122222211221121221212122221212221212221121112211221121112112222211212211212211211212212211122211122222212211221222212122111221211121122121111221122122122112112212122122112211222221111121122222222112121222122111112122111111121111122212112121111221211221222112211122111111111211122111211221212111221221111211211222122121122222212122212112112111211211112111212221111212111222121212112222122122222111112211111211112221222212211221122121211221221212111112222122221211212212112212211222211211212112111122221112112122222211211122122212222212111121211222222111222112212222122211111221111222221122222221112221211222121221111222121122221211211122222121221211122211222112222222112121112112212111221121222221122122212112222112111211121121112211211212111112111221212222121212112211112112212112222221121121121121211112211121212111211121211111122212112222122121112211211212121221222112222222122211111221112111211211122211221122211221212222111121112111121211112212211122222112111221112122121121211112121122211221112112122112111211112222111111121221222112122211121211211122112121221212212122212112122122121121212111221211221221111221222121211122211122211111121211221122212222211211112222212122211121221122221211211222122122212222112111221222111222122112212221111121112121111221221211121221111121222122222212212121222111211212121211222112111212221121212122221111211222221111112112112122212211211222112112111222211121122211112111221121221112221221122222212112212222222212221211221211221121222122112112121212211112121111221221221222211222111121112221122122121222122111212111221211221222212211212222212112211121212212121112122111221211212111111111211211112122121111211112211222212211221212111121222112121122221122221221221211112211122121222122211222211122221222211222211221111212211111122222212121212221122112111222112221211112111221222212212212212111111221212122112112121212121122111211212111221112222212222111211111212212212221112121221211112111122212112111111212121211112111121212111111222121121112222122212212221121211221121222112121221212211112211112112212112212121122121112112111222111122222212121112222112122111112122121112212211222222112211221221122221211212121121212112221112121122211212211111111121111121121211111211122222212111222122111222112112222212222222211222111211112221122121112121121212122121121221211211221221122112121111211212111221112121122211112121111222212112212222122121221221121221222221222111122222121121111212112212112222121221221122212122222212221211222212211221221222112211111122122122121222211211211112212111211211112121221111122222121121112112122212121112112122122222122221122221212212222222211112212121221112212222111111121112112112121222212122222221222121211122212211222122221121212111111122212121212211122122221111211111121211111121211111112121221122121221222221221222112212211211221222222122122112211112121221122112111111111222222112122122111122111221122212211111111211211222122212111222121211112212121221211111111212211222122212111221112211112221221222222121211222112222111221111121222222122122212212111222111221222121212111121121211111122212111222122221112211221121221222222211112111121212111212222111111121112121222221212112222121211121222121112121121212122211112211221111112111111112221212211112112212122122121111211111111121221122112211121111221122111221111212112121222212111122121111212112211121121212211212211122121121211222222221222111211112122211111122222221111222221221112212211122111221122211111111112222121122222112122221111212212122121212121112111222122221111221221112212122111112111221111122111122212221122221212111112221112221212211212112112121222212121221112212112211111212221111122211111221222221112212211221122222122111222112211221222221211212121222122122111211221112221221121121122121121212221121112211121211212212112221222211221212122122111211222112222111212222121112112212112121221221112221211212111211211121122221122212121121122222112122111222112212121212212211211112221122122221222112121111222222222112221221111122122112211121111121112122112112122111211221211111111122221112122212112211122121211222112121111111122122111121122112122221112111112122212221112221222211212222222212121121211211222111112111122212221122112111222212111221212222112211222112212221212112112121122212111111222211212221221211121112121112122111211222211221111122222121111122211221221112212222112222212112111112221212111211111222112212111212212211121111222112121211211112211122122121222211212121221212112221122112121211211122212221221122222111122121111112112121211211122122111212212122211211122111221222212212122112222212212112122211112212221211221222111122121211212112221112221112212221111111111112112211221112211222221212211221221111111212112122111111111121212221121111111222121111222222212212121211121222222121211122111122111211112112222112122111122111222211112111221112112212111222222111221122112221121121111222212212121212122211211121122112212211111212211112212221212212112122111112122122221121221222211111111111122211212222121222112222211121221212122111212212222211121111212112221111112112211221222122112121122221122212121212122222111212222121211112212112211111122212211211221221111221222212122121222121222211111211122122112112112121112111222211221212122211222121212111212212221211112122111221111111212222211211122121222212212122122221222211222112122121222122122212221122112122122221112221111111112121211222111221121121222122121122211122211122221211112222211112221212211211211221112111111111211222211121222111222111111222122221121222112121112111212212111211222121222212221221122111222122211222221212222212122121121122111112111212211211112111112112111111121211221221112122112211211221121221121121222211122112222212222212221222121112122121122122112221121222121221212121112112121221212112211212121211112221112112212121111211121112111221112112222121112211121122212212122222122121112222122121112112212212221121111222111221112221212121211221111121122222112222222121222212111212121112211222121212121111122211111212211122221212222112212211122111221112211111221221121212112112211112212222221122212221212121111211212211112121211112111222221122222212211112111211211212212221122111112112222122211121221121121221212211221221111222121221121112211122122121222211121112121121111121112122222122211212112111222212111221222212211122211121112221211121211222111212212211211221211211222222221212121222211212222121212111112212121211221121112122211121111222121122111221222122221222121112121112122212111222112222211211221221221212121211221122222121222112122112112221122122122221122212111221222212221222111221122212121122222112122111122212212212122122212121221122122111222222212221111122111212212212122122112112111122221212122222111212211112111111121212121121121121221212222121212221221212111111121212221211121112212112122222112212121221222211121122112211211212221111112221211111111211112222111221121212212122111112222211221112121111211212222222121212111112211111121112212121212122112111122212221121211111222112211121112222222211221112111121121211222221211222111111222211122112211121112121121121211212122111222211122121122121121222211122111211222111112221112112222122221211212221211112111222121121112212211222222112221121121221221112211222212222112121211211121121222221112211211212122112221221212112222221222122211121122121111122121111112112222221212111212111221211122212111122121112112212121112112122222121212221211211112112121211212211111222211111211122222221212121112122112122122221211122111121211111121212112112212112211121112211111122221122112121121122221212221221212212122211212122122221222211112212212211212112211211121112212211212222112122221112111111222221121212221121222222111221111111111222222121112121211111121121211221222112111121211211212211222222122212211112212222111221222122221111121121221111221222221212122212222111222122121112112122212222122111112221221122211211121212121222121221222222112212112121111211211211112221122222122211212222112221111112112111111111122212121211211121212122112221121211121121122211222121211222212122222212221122211121212121221122222121211222121212112112122211121121211211121112112222222221222121221121211222122222211121112111222222212112221112121122122212122121112222211211122121121121212221122121111111212111211222122121221111122221222111111221211211212222111221111121222111111212111121211122111112222222211211221212221121211121211122112211221222212112212112111212122212122212212211112121212212112121221122222112111111112221122111222122121121112122211122222211121221222221222222112112122211122112112212121222212121121121211221112212211122221111111211222112111221221122122211222121111111111122211221111222112122111221221111121121111122111212211122122111222221212111111222222222121122211111111212111112212211122211221121112221212112212121112212221221221211212222222112211121121211112212112222122122112222221212111212122111211111122112122222122212222111211111221212212111211122111221122212111111112211111122112222111212222222211122212122221111221112221211122112121121222111212111221221122111121222122112121212211211112121122222122211221221121221222121111221121212221221212212221212222221112211222122111212112112212112222221212221222121112222111221222111121211112221222211212121222221121111121222222112221112112221122112211221111222122121121121112122112211122221111122122221121112212112222212212111122212222121222212112211122122122122121121121112111211222111111211121111111222122221212222121111222122212212222121221212122112122221212112222122222122222212122221121221122211221211211112112212121211121122112212112122222222222122222121112222222222212111111122211221121222221221222221112221121211122111211121121121122121122211112211211122221121111111121221122121221122111112221122111211112211222221122212121212212212112212112221222111221212222222211211122112221121211221111211212112211222122112121112112222211221211111122112212122221121222111111121112111221222112212121222112111121211121112211222111122222221221111211222121112111222221121212112121121222222222222222112212211112211221211222221111121212222211221112111222122222122212112211111212112122221121112221211212211121121221121221211122112121111122222112121221211121112112122211122122122222122112112112212112222222121122222211222212211121211222212111211211211221211122121211221122211221212121111211212121221222112222111221222221122122222222112122221112121211221112212212222112112112122211111221121211221222111112222112211222121121212121212111212222122112111212211212222212121112212111221212121221122222221211121221112221122122221111112222222221111221112221222121222121121212212111221121212121122112221221121121212211212222221112212222112111211112122122221212112211121212111222222111122112121111111121221211122122122112221121111211211111221211111221112111111121221211122211112122112111122122211122221211221111211212222122222112122221121222122221121222111121211111212112211112211111122111111222211121222121211221211122122112211111212111122222211122212122111112121121111221111112221111222112221112222212221221121111121221122121112111112111111111221221222121211122211211212112112122121112122212112121111212211222112121221112112111222122112112221211222121212112122221212122212121122112122112111112111212222122222111111122111122112221112112222211111111222121222122112121121121222112112122212121112121121212221121211222111221221212122221121212121222211121122212112121121211121122122221222212211221122112211122112221121122122221122211122222211122212212212212112121211112111122211111112111221222221112211221112212121212121122111212122111122122211122221221211222221111122211211111212111212211211121112222111121122111112122111122222211112111111211221111111112111122212211222122122221121111121211211222112221212221111211121222221122212121111121211211211211122211211111212111211121221122221122111221222212111112211212211122111221221221112111121221112122121112111221221111121122212221122121222111211111222221212212112121112121111111222112221221221221111121222112121212112222111111121222211212112121211122111112122212121112221122122111211212211212121211111111112211222122212111111121121211121122221121111222212122211122212121121222222212221121211211121211122221211122111111212221212111212112221211122112112221222112112121222121222212121121211112222212112222122122111112111112212112221112112222222221111122211111222222121111112122212211211121112121221211211112112222222111112111211122212222121111121122112211112112111121211121122121112122222211121111212221112211112111212211121122111221211111211212212212221222111212221111212221221112221211112222221211122121212222211111211112122212121212112122111112122222211212112222221112111122121211112212122122121122122222111121222211111221212112112121121111212212222211111122121122211112121221211222212112222211121122122121111122221212121212121211221122222211122111221211122212211112111122221222212211122112221212121112212212122112112212121211221211222121112112222212212222111112111112122111121121122111222111211121111122211212222112222211211112121121222221111211121112121211111121211212211122212212211122211122222122111222212121222121221111211121122221212211222111221211221222112111221221122112211111112121122211111212112122222221122212221222122112211222112111111121122112212211212212112212112221122211222212212221122212212222221112212121112212212122122211112212211212212212122211121221222222121112221222221122211222122212211111212212121221222111111121112122112112222111112221121111111121122121221111222122222112122211111111111121122112222222212111221221111222221112222122212111122121122121221222212212212221121212211112122112122111122122221211221222121212222221212112211121222121211222222211121122121221212211212211211211112222222111111221211112112122211221211221111211211122222211121222212222121112212111112112222222221212221211211122122122221121221122211122211222221112221122121211112122222122211212112211112211111212222222222221112122122221221222221122211221122211221221211112221121111121222121212212222112122121211221112212122111122122221211121211222122212122212211122212111122222221122121121111212111111112122222111212222222111121222222111211221112221112111221211122111122221112112222212211122211212112221212212112221211222221211212221222221111221211221111111221222222222111211122112122121111212122222112212211111111212211211111222221221221221112212111212111221122121112222112111121211122212221122122112222222111111112212111212221122122222221211122221211221222111121211122111112212122111222211221112122121211211212212212121222111121221122222212111212122111111222122211222121212211122222211221221222112221122211111122222222121222221211111112221211222221222121111111212121212111121222222121222211111212121222222112211121111112121112221112211122111112112121211112222212122221111111112222212111222211121211112112111121112211121111222221121112221221121221212111111211212212211121221122222122211112222111121112222221221212111222222221121211111221112112222122112221221222121211212212212111111112222112121212212111112122212221222222121211122221211111111111212222212112111112121222221121122122112122221222211111211222221121212122211122211221212111121112222122112112121122221122212121212221212112211122122121212121222121112112212221112212112112111122212122222121122111211221222222111111111212221212211122122111122211121212111122121212221221121211112122121121111221111121112211212221212221222221212212112222222221121221221221212221211111122122222122121112122211112111112221212221211121211211212112222112211111211221121222111212211222111211221121211222212111112221121212222111111111111211121212221222112122211212112121111121122112111222212121122111121212111212121122112112122222222221222222221222122111222221211122121112221211211211112121212121122221222122221121211211111122221112122122221221122111112112211112111221222211212112121222221221221221112211211212212211222212122212212121222211121222122111211211112211212222211211211121212121121221211211112212112221221222122111212121211111121212222121221122211212111211121121222212122221222111211111211122111111211212121212211121111211211221222121112122111211121111222222112211112212111122221222121222112112111211111121112212212112121121121222111221222212122221221222221212112222212112111221112122221112212222211222122111222212122122121112111212222212111112222112221111212111111222112212211212112211212212212212112211221112111211212111112121122212122122112212111222211111211111221212112111211122212121212111221211112122222111212222111121212211111211221222122212112212121121211222122122111111222121121212221112111222111222122121111122222112122112222112121121221112112122211211111212222221211122111212222211122121212211222211111111121221211222121221121122122221111211112221221212221112221212121222211222222221112121222122222111212112222122121111211121212211111112211111111212121211121212112111111221222122212111221121212212121222111222111221221111212222121211212121122222111112111122211111122212211222221112212122112121222212111221121111121121221211121222221211221111112211211222221121121112211211111222112121221121121121112121211222112222222122111222212212111111111222121212121212112111121112122122121111121121221211221211222122212212222122122212221121222211211222211221112121212222111211211111121221221221212211222212112211221121211121112221112212222111222121211222221212112212221211221121111122222111211222212222122112121212111122212211221221121221111121212122221222222121112222112222112121212121122111121222121221112212211221122121111212222112112211222122212112122121222211121212212221212121222112112211212212122211222222221221121211111122111111111222212121121221211121221121212111122111221112222212221212221212112222212212112211111221112212112211122122111112222221211111212222121112222212112111111121121122121122122122222211222111212221221222221211222122122111212122122122222111121122122222211212221211222221222211122212222212211112221111212121211212211222212122221112111111122222211111221212221121122212112222211222121112111221111221121211122221121121121221122212111222211211121211111211122112221111122112221122211222211222212121112122211121222221211121211211222221212222112121121112211222122121121111211222112212212111221212112211112111111112211112211211212122112212111122211222222222111211222222122112212112212122221112221112122222121211222212221211111221111111211112212122122212122211212121111112111112211221221122212111122122112111121111121211111222222211212122222221111222112211121122121112122121211122111222121121121222111211211211211112121211112111122112222121111122221211222112121112111221121221112112121222222112222211111221222221112121121212212222111212222221112211222111111112121212222212212211211121122112111222122222111221111121112111122211212212212111112221112112221222212221122112211112222112121222221222221111221111111112112211222121122111112111112111112222122221111121212211121211111112212221211122221111121211111122212212221212212122122212121221212122121121112111121222121222112112111112121222212111112112211111211111222111222121212222122112221112221112221122211221111112121112211122212212121121222212122222222112111121111222212212212122121121111221222112112121111221112221111111211121122221211211211222212212121212112211112112121112111111121111111111222212121121212211222111221121111122222112222221221111122221122122221221121222112122121212121121211111211211122211212221221112121211211111211121112221212122212221211111212121212122212121112211212112221111211221121112222112221111212111112212122111212221211222112122211222112212122121221112212121212221111222122211212212211221212121221121222111222222212211112121221211222122211111211111221111222211222112121122121112121111211221112211221121211121121222222211221111112211212112212211221221112122211212122222212221111211121111122112112122111122212221122221121222112111212222212112212222222111121112111121112122222111212211122111211122121111121212122221221112122122221122221212112222111221222222121212121222221112211212222121221111221222111221121221121212222222211122211112222121121222112112211212111212122122111112212121222112121211212121212221122112111112122122212222211222111211121221121121221122221211111112222222212221112111121211121212222222222211211212111121212122221112122212222111122222211211111212112112112212111212221212121112221212112122121222211111111122121212112111112112221221112121112212122121122122122122122122212212122112121112112122111111211221121221122111112122122121112111121222112221121222111211222112211211122212222121121122212212122212222122211211121111222121122211212122211112221211111211211222111221122112122111222211222211112222121112212112212112122211221121122221112111221112111212111212121122111212212222211222112112112122221111121212222212122221212221222112121122221122222221212111111111111211122111222211211211111221111111122111112212122211112211212222221122111212212221121221212221112221212211112112112122211121211221211121121122121212112211211112122211112112111111211121211221121112121222221111111122211222222221221221222122112221111222221221211211212221222212111122122221211112212222112121212212212222112111211111122211112222222222211121222212211112121122122222122122212112222112112112112122122111121212212122121122212112222122121222212111211112222221222121212222122222112221121111122221111112121121121122121222111212221212212122212222112112222212211121211211111211122211211211122121121112121121112211121112122221212221122121121211121212112211112121112211222221112121222111221112222121121221121111111222212211121112111122121111111121212212222111222122111122121111112121222112211222211221212111212212221112222121112212212121121212222122211221212222122112211122111122212111212122212112121122122211222122221212211111112212222221121122211121111111211111111122221111121122111222211211111122221122212222112121212221221222121122121222221221122211211212222221112111211111112121212211222122212122221112111121211112111112112122212212221112211111221112122122112112122112211122122121222121221211222222212122222211212212221121221212111222212211222211122121111222211111211112222122122112211121221212112211221111211221211112111212212122221221111121211221211212222121211122111212111221112122222122222121211111222221111221211221112121121111222222111211221221222112122211111121222122221212121112221211212211111211111222211111112222111222211121221122121121122112212221112211112221111222212222221222211221221112221112121112121121212221222222111212111112112221111112121122111221121121111222112221112222222211122221212221212122121112122221212211111121111121121222222221211211111211211221211112111112222121222222111222221211111111112222211211111212222112111222221222222112221212112121122212122111221212212121112221221111121122222111111211211122212121221112111212221112222221112121111212122121212221212122122212122111112221221111221221221121212222112222212221212212111121121212222122122111211111122212112122212222221222121112112111221112111122112222222122221112121111211112122212122212222221212211211212111111222222121212221222212221122222112211221222112122212111122121122112222222112212121211222111111111222212121222111111122211112211121112122222121112112212212222222222221111112222222122222222122122221222112212111121122211222122121121111222222121112112122122211112112111212121112221222121111221111112111111211121222111222212112211222121212111111122221211211121112221211122112211222221122222111112222122212111211221122121111211122212222112222111122211211112112212212222212111111111211222121111122211122121121122121222121212121211222211221112221212221221211112221221111112111221111211122211122212122221222112221221111222221122122121121112111221222222212221122112211212212221122211122212221111221111111211121121211212111221122221222212122121221122122212221221111212212221212212221221221112112211111122211212112221222211122212111221221121122122111121111111112112222222211122111112222221111122122212212112221121222212221121212211121211211212221211222122112221122211212211122221212222121222121111222211121222111222221112121121222212112222111221111112222221221211111222222222211221212112222112122122112122222111221122111121121112122121212221212122111121111212222112221222222221211111221211121211212112221212122212212112221111122122111221222111111222212122122212211211211212111122112112222212111121222112212111221112221122122211221122122222221221212212111221122212222211121122211212221212212122222112112222111221121222222121211111112212222111122211112221221121122211222212121212221221221211222211211222111122212112221211221111222112112122111211212112121122122111122122122222221121111111212222221211122122211212211211112122221122221221112111221112111112221211121112112112112222222111111221221111111121121212122222221222122122111222212111121212112121111122221112212122121111112212222221111221121221122212111122121111122122111211221122121122221121221222221122112212112221221212112112211112222211212211122221122211112211212121122112212212222222112222122112212122121111222112221221111112121122111221122112222112222121111222111112222211211221111222211211121112112222211111211111212221211112111211211212221221112211211222222222211121221211121112211211211112111121112122221122111111222222121222121111112121211212222112211222112122221222221122221112212222212221211111212122111212122221121122222221122222221211112122122121121222122221111222211221112121122111212111212222122112111121122112221221221121212221112222211211111222112122212111112222122212212112121122212122211212211212212121221212221221112122121222112112111121111212111121221122221111121222111121212212121111221222122121122112111212121122121211221121121221111111221111121122112221211111121121222111111122211112222221112121122121212112211212112112112222221211222112111212111211211221112122221222111211212211112122112221221121211212211121111122212121211122221211221122222222222122121112121121221121111122222212122221211221212222111221111211211121122122112122121112122222221112222122122221211222221122212212121212122222221221121111222112111221222221121212211121111212222212111222212122222211211111112222111111212111112112222111211111121122111121212211221221211212222222112111122122121112221121112211122121222221112211122121222212222221122212121122121122111211111112212121222212112121212211211121112222121111212222112211122211122111222221121112211112211211111111122212222212222222212212122211211222121221222221222112112212211122211212211122221122212212211212222112212212111112212211111212121222122212111212121211122111112222211122222112122222121211221211221112211221122121211222212112111212211111122212211112221222122221222211221121122212211121121221211211212212222212221122122222211122121211212221112111111222222212211122111122221221211121222112122121122112212211112211111121121211111221111212122212112122221212122122112111111211121222212212111122221121221211221222112111111211212121112211112112112211112211112212112111222221111221121112112112221211111212221212222211222212222212212212111111212222212112112111212121121212121111211221111112111222222111121121211122111122122122211112221221211221212212121112221122211211111122211221121212221222111122211212121222212112122121122222111122212121111211112111121212222112121121111112112222222122221111121112211222212222212122121111111112111212222112122122222122222221221212122212221211222212222111222212111212221212212122221121221112112212222211122121111111111211212221122211122112212122221211122222212222221222221212111212111112221112221212122222211112121111121212121212111211212212222212221122112211112112212112211122112121222112221121111121211112222212111111221112221111222111221221121121211111212211112221112121111222212122211221111112111111122121211211112221212111221211122222111112211221112122221211211211121121221122121112221222212212111112212111121111121121212212121212112222122121111121222121212121121112222121112211221121112221221221222112221221221212121122212212221211111111121122222221121112221211212221122212211222221112221121111121121212122221122121211111111122222211121111111111121212122212122112221122212111211111121221222221121212212221211212221221121122212111112111111121121112111112121122112112211112111222212121222111211121211112111222121111221222212212111221121212111111212112121111221112221221112111112221121112112211212122221112211121122222211111111221122112212211121222212112112221111121121222222211121211211122121212112211112122211121211221221221112211112112121111211211211222122111121222222221122211221112221122122111112212121121111221111111112112222122222211112222221112111222121122121121122211112222111222222222112122111122111211122221221222122121121121221121221112222111222111122112122111221211212211212112212112112111121121222221221211112121222121221112222112121222212211222111122212112221111221222212122112122221221211111222211122111121121122122222111122211111122122111122221222121111122121112111222122222222221212211211211122221212212222212111121122111111112211122212221112211122112211122111121222222222121112222112212221212212221122211211222222222122121112212212222211112121122122111222121212111222212111221111122121112111111111121212211112112112111111111121111211121122121212111212212222222211211112112112211211211221112121112221211211121122121222221111222121212222221111221111211112222221122221122221122111211121212112212111121222222221112121121122221212211112112212111122211112212211221221211211122122222111211111211122212222112121212112212121111112111122212221121112222222222221222222111222122111111111112121112222112221221121221121211221122222211221211212222222222111112111221211212212211221211212211112122111121112222222221111112111112122121211211112111112222221211221112122122112212212221122121221222112121222222111212122121112212222211222122222222122212112122211221112222221112111212221211112122121211112221121211111211222121221121111212221211111122112211211111112222222122111212211211112121122211221212211212221111112111212121121121111212121222111121122122122222121121222111212222222121221112122121112122122221121211121111122122122221212211222121121211112212112122211112121212122221112221222121212211222212122211211121112221111221112112222211222221212211121222121122221121211112121111222111222111111222212212111122112212121212212211212222221221211222121222222121211112122111221211221221122122221122112111121112122222211221221221111111222211221121211222121211211112111222122111212221121111112221121212112212112111122212211122121111211112221212121112121122212212221112221111112212212211111222212112112121211222211112211221211222221111121221211121122211112221211211221211211222211111211111111121212111221211222122111112221211212111212111221121212221111112121222111121112121222122112122111222111212112212122121221212221221221122112222212211122122222221112112122221212122122112112212111222212111121121122121121212111111121222222212212121212222111121212121121212212112212211111111112221111121112221222122211212121112111111221112122222122122121121221121122112212122122211122211112222122112212112111222122222221112112212122211122111121222222121222122211122112211122112112211122212121211122212221222122211122211122122211122221112122212111121212112211212222112121112212111212121121121212222111212212221122211212122211222212111211122122211221212222221121221122121221111211221211211122111122211111222111112221122121121112121221222222211122122112111122222212211221122222212112121211112222112221122112122122221112122111112111211122112121111112222221211222121212122121122111111221211121222221112222212122111111211222111121122112112211122221111111111211122212212212122112212112121111122211121221222222111112222112222111122111221221221112111122211211211211111211112222211121222112222221221111112122211221211211112212111211221112122222112121122211222122112111111112222222112111122111222122212222221122211121111221221211222112122212212221222211221121111111221212111212212122212211222222121121212212122122212121222122111212122211112121122121211111212112222211222111212111122111222112121222211211221212112111122121111111122111111211121112211121111112211111112122112122112122221112212222212222121222221112122121222121122211121221111112122111111112212111122222122221221222222122212221211221111211221112212212211122122121222222122122222222211221221122212121212121111211211121122122121212122122222122111112122211211221222111221112111221121211221111111211222112212222111122211121112111222211222122121222122211121211122111221111111222212221222112112122211112212222221122111112221212211211122212111222111211121122211222111222121222112212221211122121212122121211211212121221122122122221221221121212112222111111121121122111112111112222112211211121122221212111221222211212221111122111222222212111221121121211111111122222212212212211211221221212112211121211211221112121212112111212212111221112121221122121112222122111111112111211122121121122221112112212122111121121111212222221112212112222112112122112212211221121221222221112222212121212111121111221111221222221112112121222112111111222121121211121211122111112221211111211111112212222121111122222111111211212112222212122111122222122222121121222212122212112112221221122122212121212211212122222111222121211222121122122221212122212112211121112112111122111121121112222121221212212121221221222211222222221221121121121222112122122122121211111111222221221122221211112122111111111121122112121111212221221121121122222221211111222221211111222222222121222222221111111222121212212222211121122111111112111212112122221112111212121211111111212212112222211222221221112221111122122121121222111111222221121221222211111111112211222221211111121122122212111121212111221112211221111211122112112121122222221111122222112222212122212212122112212111111112221122122212122211221222111112222121211211111222112212121222112222111221111211212211212221122122111111222122111211212212221211112122211111211112221122112222111112211222221222222121112112121221212121222121212221121221221221111222211211112122212112121112122211211121212221221222211122211212222222111122121222221111212121122121222122122221212222211211112111122121121221112211122222121222221122122222222121222222121221212122121121222212121121112222222222111222111121112111121122211111121212211111211222111222222212121122122112112211212212111121121212212222122122222212222112112111211122121112212122121222211221212121212221221221122112111111222112111221121111211222111221221111212222212122112111211112222121212121211122111112121111122222211221121111111121112111122121111221112121212222111111212121122121122122211221221122211122221122212212211222111212222221112222122211222212122111212212111221211211112221111222221121222122221222221221112112111212112211121121212222122211112211112122121111211221221222222221212222211112112121112221122211211212222122211122112212221221222221222111112211121111122222211222212122111212222211212112221212222212121111211211222221111112122112212222112111221211111111121222221122112222122222112111221211222111111211121112122221121211112212111122121212121111122112121111111112211221212211221111212212112111112212121121221221122112122211112112221222111212112211122211212212122122212221111121221112211222222111121221112121212122211221222121111112211221112112121221111222221221222211211112122112212122221111222111212221222211121121121212212121121112211112212112122211121211212122211211112211222222121121112211121222222122222211122122112221111221221111221111112211111111111211112221221112121222122111222121222211222212122221122222212212121111121221212111112112121111111222121222221122112211122121221111122212121222212112221122112111221111211111222212222211211222121221121112211211212112122121112212221211111121222111211111212111112122211112122111222111221122222122121112121111121212211212121121112111111221122121111221112111111222111121212121222112111121122211222112112122222121122222211211212112222221122121211221221221211112211112221122122211121221221212111112211212112122112121122122221222112212112122111112221122121212222212111111211211111112211221212121212212121222221111222211212221111121111211221122122212111112212211111211112122222122222222122211122221111122212112212211122221111211111111111221222222221112212221122211111212211122121211122212111111112111122121122121121111121212211221221222221112221212221211122221112122221221121221212211211112221111222211112211112122211211112211122211111211111222211112111112212112111111211211111112222211221111121221112111211211121111212111212112222122111221221212122221222211112221221212122211221211212211222211121211121112211121211112211222222211221222111112221111212221211112212221222222121221222211121111112211222222122112112222212111112122222111221121221222221222111111112112221112211211222121211212211211112122211212122112212212212221122211211221221111211221222212211111121211112121211222112211222211111211121122122112211212122121212112121212111221112111212212112222111211212122111121122112212112112121121221222211211222111211211211112121222111111122122211222121221222211221221221211112112122222212121111221222222121122221111122212221122212121221212112121212112211121222221222121121212111212211121212111212112222211121112122112212111222211222222221112121111121222111112122112221212112122211122212222122222121222212212122112121122111211122112222221112122122211121121221211211212121112122222212212212222121211122221111211211122221121222211122211222122112211222221212122122212111222122121212121122222122112112112122121122212221112211211211222122222221111111211112221112221212121121121221111112121121112211212122111211112122121222122211221212212111122221222212121211122121212121121111211122121121212211121221121111112211111111112121122211121211221221122121212222122212122222111212212221122221111121121122212211111221212212221121222222212212122222112211122221112222122222221222121221111111222221121121112122122112112211112112122122122121222221122222212211122122122122122112222212112221111212111211222212122122212111211221212121121121211122211111122221112222121221212121112121112222122121122111211121221212121112222111112111222212222122221211111222121111111221221221112111121112221221222212112221122122211112111221212221121211221121122111122122112122111121221211121212121121121112222222112212212211122212221111221111222111112122211212212212121211122111222211212212211212122111112211221211122111212112121111122212221122121221221222121122122112211212122222222112122211222212222211122122121111221221111211211222111111121112211121211112211122211222112221121122221112212221221221112222221111112122121221121112111222211112211121122111112122122221211111122122221111111212211121212112121211122221112121122212112121112222122222122221211211112221122222122122212222221221222121112111121122122122211212111222222222111212122211121112222211112221112121111222121211122122111222121111121212112122212111221122111212122211111122121112111212211112221111122212222222212222222122212211122211211112212221112112122122121211111122221211111111221112221221112222221212122111112122221212122112121122112211121211111222122122211212121111112112121212212121221121121222211212221122211121121121122222221222221221112111122121122222212222221111222221221221222112112212111222222112222212222121221211222112121222122111221222211111212111121211212122121211221122112212221222211122212222112212111112222122222212222111222222111211112212222112111121111211212111221222221121111121122211112212121121122212221211111122121222111121112112212211121111211212122122221212111212112122212222111121112221222212111221222112222211112112112122211222211211122221112111122111122112212211112112222112121221212211121121221211211122111121221212211212222221211111212121121221211212222111222112122121121221121122221221122122112122111122121211121111211221112211221222121221221211211222222222211211221111112112111122221211222112122222221222212122221222122211112212222211211221221121212212212121212122211122211122221111121111221221211222221112221111222221211222212211121121111221122212111221111112222212121111111121122112222222222221121122122121222211111222222122112222111222212221211111122212221122211212121212111222212211222121112211121111212121211221222111212221112212111121212212111212222212111221222112122221222122222222221112221112112121211121121222122212221221211122112211212211212221221112221122211221221121122122211212122111221111211122121211222222111111211122211122221111212221211211211222111221112212222221122122112121111112221111111122122112211111222222112122221212212111211122211112221211122112211212222112212111221121221211221212112122222122221121221121221222121211212221111222221221222111212121122211212212211222222221121211222221121111212122112121211121212211211112212221222212211112212121112212222111121111111211211121111221222111212111212122122111221112222112121222121121122121211111111111221121111121221121211221112211121222211121221211212212111122212211122112121112112121211122121122122221121212211212221122211122212211112222211221122211221222121121111122221222121222222212112221111212211222211112221222112112212121112112112111211122211111122212121121221122211212121111211211212211111121112212111212212112222122212212111212112121221222211212121211111211121221211211121122111112222122222121122112121222122122122122222212112211211112112222221121222111212122212111211112111121122221122122111222111111211112121221221212111222211111221121221222211121222212211221212221222122211211121121111121221112212112111122121111222212212122121211121211122122122112112121222221122122121212211221122112222111122222121112111112212112121211112121122121212111111112221212222212211211212112211222112221212212111212121112222111221221212222111112212221212222222122222112122211112112112212121221211211212111111222221112212212222121111112121221122222111111221121112212122122221121111221221121111221212222221122121221211211112111222221121211212111112111111221222121111111211211221222211221211221111122111212111122211212211121211121112121111221221211111111121221222111112112121122211111122211112111111211221121111212212121222121222212211121212112112112112112111111212122111112211121221211121221121222112111111122211111111122121211121111211212112212121221111221112111212121221122121122112221112211221211112222221111111222122121211222211112221222111111221121121221211112222111111112112222121222211211221111211111222211221122221212112222111222122222211122121122112211211211122211112212222222212212122211221211222121111212122112121221211212212221121211222112221212212222112212122212111211221111211222111222212111211111112111221111211121121212122121111122212211122212112112212211221222222221211221111211111112211112121221122222211112122221122222111112212122211111121211112111122122122122112221211121111222122221121121121211121121212111111212211112112211112112222212112212112222111222111112221221122122122221212221221212122221221122222122211221122121222211221121111211112122212111221112122211211221212222212121111121212211212222211221121122121212121212111122212121212121222211221111111121222122112211122212222222211222222212221221221211212211121122111211221222222122221121221121211211121221121121121122211211122211121221121221212122221212112212212222121122111211212212221111121221212122211212112212211222211212122121212112112221222112111121222211222212221121111111221122221222121212211112112121121212122111211112121212111111111222112112122221221121211112112122112221112212112122121122211122212121222221112222221121211111222221222212112122121221122122221122221112121212121121112221111211111212111212222222122121221111211221112212111112221112121221122122221221211112112222211122112122121111112122121212222122121121111211112222222121111111112111222111121222212211221122221111111222111222122221112112222221112211121121211221211211122222111111211221211222121221122212122212212121221212112222221111221221211121212112122112212222222212121111111111111121121212222121212121111222212112122112121121111121111211111211121111112212222112222211212212211221121122112212122221221122112121211211121221212111221211221111112112212222221221112222211121111112112111121221112121122112121212221212221121212112121122222212211212222112122211211121112222212112222222222212211121122212112221222122121212122222212121211121121222112111212121222211111112212111212211111121111111221222222121221122221222111221122212221222211211122111121222222221221122121121211121222211222221212222112211212212211212221212211122222211221212121111221221222121122212121111122221112121122211121111122111211122222121121222221122212112112111121111221212212221112222122222111221221111122211222112122211112112211112111212111221111111211122121212211222112212221111221112112221211112211212121122221122212221212112121121221212222112111222111122122221112122211121111212222221222221221221112221122211212221211122211121212212211221112121121121212221121112122121212121222211212111112211121222221212121121212112222212122122211211211211111111211122121111221112211221122221212221112222122121121222122111122222211221122222122212211221221211121221212122212112121222221211121222221111112121112112221121112112111212221221221111122122222111211111122221121222122212112111111121211222221122212212211111121122121121112111112211122221211212122212212122212211111111222121122121222221122112221212222111222122212212112121221122112222211111121211222212121111111222121111212112121111111221121212221112212121112111112122111222221111122122211121222121221111122121112211121112212112112112111121121211112221212221121111221211221222222222221222211211212121112112111111221221211121221121122122111121212111111221221212222112211221111112112111222221211112121121112211211121122122221121112212112121112212112222111221211112211221122121112111121112112121122212111211211112121212212211222222212111211121112221112122111121121122121111221222211111121212212212222121222121121212121112121122212111112122222112112221112111121121212211121112211212111111111221112111211112221121121221112122121121222221121212221212222121212222111222212221211121221211112211122122112211122212111221112211221112211211111222112211111211122212212211211211122222211222212121222111211122221112222111211112112111122221221222212211111221112111211221112222222111212222122212121211111112222212112121121111112211122211211122121112222211122112212111221222111221112221122211122121212121211212222111221222122122211211122212122222211211211212111122222122121211212111221111211221112212122111211222211112211221212222122221111211112112211121122112122111122111211122112221121222212121121121121221112221122111111211222212122112121112111111121211212222212211221211112121122211211212222222212211111222222122211222111221121222212212111122112112221221221221211212212111222212211211111122212112112112122111221122111121111221121221212211212122122221121122212122212221221211212211111122221211221221211112212222111112211111122222111222221112122211121111222112122222222121212111221121112221122221211221112221212222121112112121212212111212212212221222112222222122211212122121111122111112122121212111112121121211121211222212111211221211221121211112211211212121211122112112221221212111222111212121112112122122122222212221212121112222222222121222112111212111222112111121221121121122121121222221211222212122112211122112111112211111111122112222111212122111222212222221111221222212222221121212112112221111211122122221211212112111112211122112122221211111221212122121121212222212212111212121122211212222222111111121211112222111221212222222121122111212111222212112122111112122121121121221112222212112211222112111121221112122212212221212122221221121221112221212212211221222122111111122211111222121112212121121212222121211212212221111121122112122121111121121212111122222121211221211121111221212221222222122122222111112111121111112212112221212211112212212121111121212112221222212122222211211212212211111222111222122211222122112122221112122122212221222222222221122222121121122112121121212111111221211222112112222122222121121221221221112111221221212212212212112212222112222122212221112122112211122111212111221212221212112112122121112222221222221121112111112121111211221212212212111221122221121212222111211221211111222212112222222211221122221212122111212121222212122221121222112121122112221221211221111221222111221112222122122222122222221211211122221212222212212112222222121221112121212222211212121221112221211121122221111121111121212122222211121211212222221112222112121222121222211122122121122221111221222121112111212121112112122211221212111112221112112221122112212221111122211121112222211111112122112212111211122111112212222112122122111212222111112121122222111111211222122221222221111112221122112221211222111212122111211121122222111211112121221122212211212121112121221111211121111121121212212121222111111121111121112212212222221221122112221111111221121221222222111221211122221222122111211212212222212211221112122122111212222221212111122211122111221221222121112122211221221111111211221222222121121221221122121212112112221111221222122212221121212112121111121211212221112221221111121221212222211122221112221122122211212121122212222111221112111121222222121121112221221222111112211211211121112121111111211111211211212121121122212121122221111121211111121122221112111212121212212112211121221112211212212211111222221122112222221211122122112121112222111121121221211222212221111222112222122111221111221222221212222211222111212211222122122222122221122212222111112111122112112121111222121221221121122122221111212212212212221212221212212221221122212122222122211121212221212122222112211221121212222122222121221222212211212222121211222112211222122222111121112211222112121212121221112122221211111112221112111221121211212122222211112112122121222122111221222211111112122111121122121112222211221111112122111221121121111212212212111112212121212212222212111211122121212121221121221221112222222111111221222122121121122211121221221211112122212211122122111221222222212111111222212212122211121121212212112222122222111222122121111121221221211221221212121121112122211111112111212212111112211211221121121222122211111211222212221121222212211222122211222112211112122211221122222111112122221122221222121111111212122212121222222121221111212222221211121222221121122111111212222111221112121222112111221112212222111122222122122222222112122111121111211122111121212122222212121121121121212212121112221212222222111222111212212221212122222222121222211222112111222211221221122122112221122212211111222222222212222222112121221112112111212211212112122212222222211121112121211121222112112112211211111212111221212112212211212121221122111112222112111212212211212111222221112111121121211121212121122211112121111221212221222111112122211222221121211112221122112221221211112222121222111212221221212122221111121212211212211211111212211111122212112121122111221121121222111122211211111111111112122212211112222222221112122112221221212221211221121112212221211222122121221111111111222211212122121112222121122111122112121222222111112122221111211122121212112121212122221122112112222111222122111112112211221211122212212122222111121122211122111112112112211111212221212212212112121212121122222212212122121122222121112121122111121212212212212121122222122121222122122112112221222222112211221112221111222222221212221111112211222212112222222222112121121211112121212212221122222211211221112211121212121121212112211212222121111111112112121221222221111121111222222212112122122211222212221222121222221112122122222112222112212112122112211221212121222122221221222121112222112212122212111112211211222211121112211111121112121122212121111112121122121212212122122122221122111211212122122221122221221222222221211212112212222222112221222122121222121222222111111111222221211122211112221212211212221221222122212221111212221211222112112122122111112122211222121111121212212212111111222211112112111222211112111121212111222112212122122212222111111121121112222222121221212112111211221121212212112222121211121222212122212122111222211211111211121112111122112212111212121121212212211221212221222221211211121122211111121112121212212211112122121222211122112212121221112212122112212121112111212122221121122212221221211111212221222222121221221121221112122212221212121122122121112122211212211212122222121122212222122222121112222212221122112112212121222212212211112121121121211221211221212222111221212111211222221112222112221121212222211112221212112111122211222211212112121111212212212221211111121212212122112111121112122211121121212221211122211112111122212121212221111212111221212121122212111222121111111222121112112221212212221211212221111221222211212121221221121222111122121211222221222121121122222122111212212211112122111122211122111211121212221112121222222212212112212221222212222221212112121211112222112212221121212112122221221121212121222222222112111111212212212212122222221222122122122222122111212212121112221122212121212121212211111212112111111211121222212111122121121111121222121121211122221121222222121221112122121221211212222212122112111112222222122112112222221212212122212111122212212122121211211222121111221211211221121121122122122122211222122122222212121211211122221121112122111221122121112111211111121121112211212112221112221222212122121122111112222212221111222211111222211212211122122211121212212112211111122221122122112121121212211222122221221121222212112211121111121222121221222122121222121111111222211112121222222212222112212112121112111121112111121122212212111121121112112122111212221222111211122222121122121222212211211221211111212122121212211222212211211211212212212212221212221222111112122211111221221112222222212121112121212122112222121221122221112112211111211212122122221111112122211212222111112111111221211222111122221222121221211121222122222221222211111221212121222212212112121111211212111222212112211211111222112121122212221112112112121121222222112222122112121121212112112222121112212121122222222211212212211112221211211121121122221122111211111222121212112121222212222211121122122122221111111122111111222212212221122112222111211122221111122222212122211211211121212222212211122211222112222221222222211112112121122122211121212111111112112121122111121112112111112222122211111212111211112222111221221221211111222122121222112112221212111211222112121112112222121112112212121222222221122112212221212211221211111122122222211212111211121221121111112122211112112111112212221212112112111112122212221111211121222121112111122211222221222121121211211221212111121121222112121221221112211222111122121121111212212122211121211122122222112221221221111211212121212122221221111112111212222212221222112221211222222221211122211122122112111111222111212121211121112212222112221111211222111121111122122212112221122111111211121211221222112111112122211121112222122112212211222211111121221112112121221221112211122222112122212222221212121112111112121122212211222221212212212121122211222211221211121111122221221122212122221211211122221221112212212121111122112122211212122121111111111211121112211212221212221222111111112111122222112212212112212111122112111222221111112121111222122122121112212212121221122122121122112121211111122112211222221221122111221212111222211212121211112212212212111222112211221112122222222112221112211112111112121212212221222222221111222112112222211222121211221122222111122212221121221121212211211211112211111222121122222222222111121211221112121211222122222221112111211221121222221211112222212122112122212121221212112222222112221121221222211211212122212211121112111211222121211211112222112221221211111122211222111122112221221122111212112222212121122212211111111221212221112121111212211221222122211112122212222121122112112221211121212111121211112221121211222212111221222121112211211211111111222122221212211212121221211221211212222212211211221211121121221112111211122222221221221221121121122112112222221111121122112121222222111111122111122222121211212111211222212121222111111221121211111111211122112121121111222122111112121222111212111111121212122212211111121212112212221212222111222122211112122222112222212222221212221111112111211122121122111121111111221112212212112212121222212122111212111111122211111112122211121111221211111111121122112211122221122121122222212122122111222211111221122111211211221221112211121212222111122221211112221122221212111221221111222112112121112111212211222111121121222221111112121222122112121222112111121211212221121112122211112211112221222122221122111222111222211112122222112222221111212121111112122121121222211221222112212212222221111122122211212212111121221211111221122121212121221211122222221112121221121221222221211212111112222122211212222122111211121121222221112212111112222211221121212122212211222211222122112212121112211122111111212211211222111111111211222212211212222111121122212122212122222211121211211111121111121211111222112122222211221211222221122222221212211222222212221121222222212221112212121122222122121122111222111222211221122212112221122211122121222111211211121221211121222222221121111112122211211212121221221112121112211112212112221111222212212211112221212221112122122111112212222121111111221121121221221111121222111121222211221111121112211111222222211121121211212122221112111221211221112111221122111211211221111221112112112112222222222221221212112112212212121211111221222221121212211112222121222111112112122212212112212212222112211211121221212121211122211221222211212111111212211121112221122122221111112112112222112222211121222121212111222122221122222121221112211211212121111211122112212222111122212111222112212121211222212212112112212211212222121221212222222212222112111122111121221112122111111112122212111111111122122112221121211221221221121221221122111212222212211212122212112211121122211222212211221122111111112221111221222212111211222222212212211211111122111212111122222112221221112211221212111212112121221221111211122121122111121111212122121221212111221211211212111121221212212111111222211111111211112221221121111112122122121121221221211121221211212221211121212211212111211121122221121222112221111211212211111211121122211212112122112111211221111112212111222222212122111121112211112212221222112112222212112221211111112221222211122122212211212222212122121211111212221112122211212221122222211221222121212212112121211122112112221122222222122122221211211111211211112121212112112111122112122111122212112121211111211221211112222112111222212121111122111221121112122122211221211222212112212112112111112121221211121222212121111111221212122112121221211112212222122121211112221222211212211111222122111122111122212112221221121211122211111122122122111211212111222221222211121112112221111221112121111211121211211111212112111222122221122112211122121122211222211112211211222212122221111112121112221211211121121221121121122222122122222212112222122222121122212211122222212122112111222222222111111222122211212111122222112211121222111212112212122222112222112111121122212122121122211112211211221121212111121221211112212111112112222122222211111221122122111122221211122211122222211211112112211212221111212211121222212122112221122212211112221212211221111221121211212221211222112211222111212122122221212211122121111221122212122121222122212221112112211122222221111121122222112122212221121121212212121212111221112212112112122121221111111211122111211221122111211212112112111221112212111111112221121211111112121112111212211221112212211112111111212111122111122121111221222221222222112121122222221121122222221112121121222112121221112221222112121222121111211212222222121121221212112211221221212222112212221222111211211122211221212222112112221221212111222222222122122212122211112122222211111121112222221221222122111111212222222211212212121212111122111221222211112121212111121111121211112121121122112211222212122112121121211111221111221121112111112221212111112222111112221112212212112222222112211212121221211121122222122111112221111222222121222122122111122211112112122212122121211222222121112221112112112121121121121111221111121221121121222211122121222121212122111221212211211222112112212221121111221112122111122112122121122112211221121112211122122112122121211212221121121222112212111212112122211222121222212122121112111221212122122221212222211212112111212212212222112222122112112112112212222121111111111122212221211212221111122121221222222212112122121222222121121111111112111111212222212212212222121121111222111121121112211112221122122111211122212122112221122211122222112222222121121121212212112212212121112121222221111122121112112122221212222212212222121121222121222221122221112222112112121111212121212211121222122122221121112222212221122112121211221111222221221211221122112212212211221211111111121221112221112111221111221112111121222221111112112122111112211211212212221111121121221111222211211122122221122221212112212212222121211211111222111121211211211222221112222221222212212111112211121222121222212112222221211221221212121221211121111221222212111111221221122112212122212111221211211211221221222211222222212211212122122122122121111122111222111222221122211211111121112121211111122121112111211222112122211212121122221212211122212121111112121211221222212222112211111211221212222121122112111112221111222222212122211121221221121221221221221212122221111122122211222121221122112111111222122221121221122111211111112112211112211112221211122111111222111112121121111211221221211211211211121222221112211122111122222121212111221212112211211211222222221221211122211122111111112112222112222212212122211121111111122121121112211121121111211222221221212212221212222222111221212122222212221121112112211111112112212111112111111111212221212111212221111222122211211222221221122121122211221111121212212121122212122221121221222112122112112121212122122221112222211112212221122111211212121122222112212222221121211222122222111212222221211121122122112212211221111112211211121222121111222222112211122222112221122112122222111222112212111111211112112121112222222211221221111111221122111121212211212221222212121112111122122222111112212221212121211112112112112221122221112111211211222221122222121122212212111222111111221122211211221222222122222111211221211221211111122221221222121111222112112121121121122121222222211221122121111121112221211112221222122121111222211211211121121221111122212121212211211212122111222212221211121222122111222112111112121111111111222211111122112222111222121212112212112112222112221112211121211111121111222211111121112111111222112111211111112222211211121221211212212122212121211121211112112222221221122122121121111212122121112111221122212112121122222122112211111122221121222121221211222211111122222222121122121122122222111122222111221122111221122121221112211121222122211111222121211121121122212211122212222212211111212211111221121222222222121112112221222112112112221112122111211112222112212221111112211212211211211122122121111112211112122222111222112222211122211112221222212112111122122212222112212222221222222122121112211112211221111122222112221212211222121121222122121222212121121222222212222121122211211122112221112111111211122221221222211122122212211121121122222122122112212121111111211122212212211222221212222211111221121122122121111121211222212212111211112221121211221222221112122122111112221222121222112112222212121121122221212121122122211221121221212121222112221112111212112121222111221211122111122111212211112111112222122212111122212212212121111222122112212212111112112222111122221122111221122222212211222122222121211212222212212112111111211212112112111112221212222111222112122121212121222112211112211222211222212221122212111121221221212222111111111111111121212122122122212122222112222111222122222221111122122122122122112211121222122212222221112112212111121211122112112121211212112222111222222212121112212111221211222221211112222111111121222112212221121212212122221112122221211211112121222122112221112222222221212111122122211121211221111112212222222122211112221211112112112112111111221212121212112121121212121121121121222112221111121211211211212211222121111111121221112121222111221121111122221121111112212211211221121212211211221111111211211221111221111122211122222122211222122212111111212112121211211222122222211222222212211212212122122111222121111221121221221112222112121212111112121122112212112211211121221111211222222111121221211112221221212212222111211111221222222222211122211221112212122212112111211211121111212112222112111212212112212121222221111211122221112121112121111121122112121111222122122212222222221112221111212221121112211111111212222111211121121212111112211222112221221122112211121112222212112221212222122121211122121121222221221121111222122112212221221121111122112111121122111121212211121211212112122221112112211212122121222111222221221112122111212212211122112211221122122221221111212112211111222122111211222122122121122111212221221222111112221212211122111121221112112212221212222222212121212222111221222122221121221222221211212112121221222112212121211121112222221211222212212122222121222122121111211222112222112121221112212211212111211222112121122222111121112212112111222211112112221222221222221212222122212212112222222122112112221222122221121121111211112211212222112221111121212211121212221221222212222221111121112222221211212222122211222122221222212211212222121122122122111212222212222211211221112111121121221211221222222211121221211121222121122112112222221222112211221122121111121112211111212211212111221112122111121222122112211211222111112221212212211222111112212212212211211112211122222121111111212212122212121212221222222221111221111222212112211221211121222222211212222121221122121121221112211122122211122211221112211212111121211211222212111112122211222212111212221221111121211121221121221221222121122112212221221122221211111222211211111221222121111112111122121221121111222121122112221221222111211112222221121112221112222121122112212222211222221211212222222222211222121112222121111221112211212122121211111122111111122212122122212222112122121111111111222112121211122221212111122122111122112222111121221122221211111221112212112212211111212112212111222211121222211111212111212221221121122221212221221122222111212212211221211122212121122222111112222221112111221222221221222111222112112111222222111212212121112222212112121211111111111122211211222111122122121222121212211112222222211212112212121222221122222112121111121121222222212221211121112111122212222221111122122221122121112122112222221222111211112222212111111112112212211222111111121121121112111111221121122112212212112111111212112111121212121112222112222211112222212122121111211121111221112112112111222212221121221221221211221111112111212222221112211122221222121211122111221222122212112112111121211111212121211221112111112221122121122212112221211211111112121212121211122112122221212112112122221112221122111211211121212122121211222222112112122121212112212121212212121212212112121112212211221122122212221211122111122221121111121212212211122211211222122111112112112211222222111122211221211122221221122122221222221112222222121111121221221111121212222111111211221211121211112222222121212212112121212111112111111121111111221211121211221112212211211112222112221122112212112222122112222222122112221111112212112222111221221221211111111111221122112121221212221122122222222112221112221222122221212211112112222112111112122112221122122222112111112122111111112122112122211111111121212212222112111121111221221221221122212112211111121222112122211122222121111222112122111112111222122222121112221221122121112212122222221111122112211111112212111122112222222121121221212211122221111222211112211211122222121211111222111112122221121222211211222122211212111112111121221122211111112111221222221222122112122121111222212211112221111111121122111111121121221212121111221222221122121222221222212211221112112111211122211222222211112222112221122111121121122122222222221212122211222121112211111122222222112211222212111222221112112111122112222222111221222112221122222211121111121221111111212221121122111212211121121122221121111111121122122122211122122212111211111111221222211221112211122211222212112211222211121221221112112212221121221121121112111221211222212212112222222122221211212211122221112221211222211121121211121112212221112212212122121122211112111212111211222111221122121112212221122112211111222221121222222112121122211221211121112222122211112212211211121222122211112112222212121211111122211211212212121212211211211112222112112221112212222111121222211122222112221211122221211121111111212211221121122221212212122211211112222222221122112122211112222211121222122222222122222122212122212211212121212211112112211121222222121212122211212112121221222222221211221211122121112221221121212112211122222222221212221222112122121112112111212111122122211221222221221212121121212121222212111222211122211122222222121222221222122211212122221221222222111112121112221212222212122221212211212111111121211122211122122221222112221212121222222121112222211112111221121221222112211221221111211112111212211121212112222122111221222212221221212222122212111221111112222122111111121212212221111221222121221112111221211212222212122211211111111112122222211121222221122121211221221121221212111221221222122212122112112221112121211211112212121222212122122121121221121112122122111112122122121111112122122222221121122212111222212111112112211111111222221122112121212112112111122122122111222111221122122112221222111212121122121222221221211121211221222211211121111111221122211222221111212121112212221212122212111221122122211222121221121211211122222212111221211212222122222112112122112121122111212222211212122211112221212112112112112121212211122112221122121121121121222121121122121211122122112222222112221112111222121221211121121111221221221221111111211122122212212212211221112122211122222122211212222222112121111222111122211112121122111112122121121212212221221211221122122111112121212222111221121121221222221111211212211121221222112211122211211221212121112112112112111121112221112121111122112221122122222221111111222221212121122211211212221222112121121121212221112121211112222122222212221111222122112122121221111212222222222212211122121111211112211221212121112222121121221221121112221222112112211112212211212222211112222122121111212121211221221222212111211121111112222121222222122212222121211121222122222111111221121212212121211122221122211122212122211111211211111111111111111222121111222111121111121112212122211122222211111211211221121112221211222222212122121121211111222222221212222122212212112221222111212221211122221111211221212222222111211122122111111212222122212211211112222222222211112121111122212121111121111121212222111121111111111211212212122112212221121222111122221111112111222211212212222211121222221222111211122212121122221122211121111211221111211212222111221122222112111121212112211122212221112221122121212221212222221211121122211121222111221221122112112121121112221111212222121211221221121112112211122112211222222122212212221212221112212111121122111211212111211121111212112222221111121212221122222222222221222221211122111211221122111121121121121211222222212122221122222111121212111221111212112112111222112212221111221221221212122221212211121221122111112112122112211112221111212221121111211121221111212221122112121221222221211212122212122111221121112222211222222111112212211221222222221222122112221122212222122111111111121222121112212211221111222222111121112222121221211221212121221122112211222211221112221211221112212111212212122122212222122212212112112121122221212122122122222112112212221111121111121112221111112121122122211122222222121111111111212222212112112121121211112112122212111222122221122222211211112222212112221112111121221111111121211121112122111221121121122221112221211212222211212221122221212112112221221111112211212221211222222222111122121122122121122221211112122111212121221122222212122122112112222212122211111211222222112212221121122212211112122112121221212212221221122222112212211221121112212211111212222211221212122121121111221211212211111122211112212222111111212222221211211211211222111121121121121122212222122121111112121212121122111211121222212121122112121222122222212111211222222212121221222121221221221122121121122121211212121222111212212221121222121222211222121121121122111211112122211222222222221121212122122211211112212221221221112211121221222121211212222121211221112112112211111211111121122122121212222111211222121112112112121121222111221121221221212112222122112222211111221112111112111122221111222222121122121211111122211112112111111121212122112112111122122222112122221122111122121112221122112221221111211211122212121222211222112221221221211122221212221112212122112221122121122122112122222222112122221222212122221211221122221212111222112122112122121212211112222111221211121122122221212121112212212111211112111212111121122222222211122222111121221211122221222222211121111112122122112111111122212111221111111112111111211111111122122111112212122222211222121122211121112211222211222212212221121121212221122222211221112212221122222112121112111221122112211222221221122222221212211122122112112222121222222222221122122222112122122222121221121121121221212222121111212222212212121112122112222122112222211122212212221212221111222111121111221221222211112221111112121211211122112222222121221122112222211222221112211222212221121122112121112221222122222122112222111122211122222211121111112212121212222121221111211111212211211112121111121211212221212211121222211212112212221112122212222221212221112121112212112221111221121222212212122111111221112212122211211121112222121112112121112222212221211112112211212212222212112121121212122221112212222221112111211122212221112112221121122222121111112112112212112121112121122212122222121211222111111111221111221122121112222222122122221222111122212222112121121222111111121112222111112212221221122122112111122111122212212222112111111211222221121111122211122111221222112112121111212121122212212111221212122221122212112212222112111212121221121212212222121211122122121111211211112221112121111122122212222221221221222221122221121211212111221121222212212211111222212112111112222122212221121121122122121121121212112221111112121122121212212112212122122122222111112122112211111122112122112221212222212112112211111121111122211212122221112122211221111121112212212221112212212112111211222111111221112112212122222121122111221212221111112212121121111122122212112121121211211222212221112112222222222111211122211211222112222111122112111121211122211112112111111122221112211211212221211212111221222221222121221122222221222211211222121211222122111111111121121112212122211122112221111222111222212222211122121121212212211121211212122111112221222122121221212121112211111221212221211111212121211111212222221111222121121111111111121111121221222212111221111111121212222212111212112211122111212221122211212112221212121211211222112211122121111212122212222121211111221112121222221212111122211211111212222212112212221222111211211122112122211121222112112222222212122221111122221121111222111121211111221111112111122222221211211122122221211222211122112121212222121112221121211212121121212121111112122112121111112221111212122112112112121121121112221121112212121212222211122212121112222121121111212111121121222221211222222121221112221121122121211112221222121211121211121211112222212211222111112112122111122112212111112111212111211211221212212112122212221222121212122111211122211112111222122121212121112212211222211221211112212121222122122221222121222112111122222222112211122112112112211222121121211221211112212122212222211111222122222112111222121221121222212122212222121211111122111122122211121121221212111122112121212212121112111111222111122211211112211112112221211111112212222112121212222122211222221112121212222121121121112211222112212222212122111111212112121212212222211122111111112212212112121212221211111211211212222212111221222212221212221112121122221122121121222111122121121211222112211221222212111221122221112111212221221212111111221222111112211121222122111211212112211211111122112211122211221112221112121221122222112122221212122121122221112221221121221222121112111112111211221112222221212222111222122111212112112122211222222111221222112222122212222121122212122122112112222111212121111211221211221221122212121212211212111121121111112122111122122212112222121112122121222211211222122221121111121212212222122122211211222212221122212121222122211222112211221121212212111221222211112221212122111222222221112212222111212221221112211121122212111121121122221221211111212112122211221111112212122221221212212212222111211222121111212122111221122111111111111122111111221122112221112211212122111212221211221121212212212111222121211211212112122111212211211112112122212122112111222222112212122222112222111222211211212111111122111222212121222111212211221211221212122221111212122212211122222121212122222211122122221111212211122112221112222121222211221122111221212221222112211222112212211112122211221121212121211212112221212112222111122122121212212221212212111111212112111111221121212122211122221112211121121221121212211122111211122212211212112112111122212121212211111212112212211221112221122111112121211212212122222112122121121122122221212221121122112212111211221221122212222111222222122211122112222122121121221121122212211221111111122221122111221111111111221122211221221122122111122122111121222212112222121122121221211211211112211122221222122212212211122212221221222111222121121111111122111121222111212221111222221121211121221211211112122121111221111122222221121212221122122111212221221122221212212222122121122122222121222221211212222122221211211221222221122221211211122111222222222221221121111122212111112211111212121112111212121211111211121211212122222111121112112111112122112221211222112121212222112121211211112211212211112211112121211211221122122221121222221121222222211122221222122221121212221112221222122221111212221121121111112122112222212111221111222122122222222112212222222111222221221121111221122221111112122111211111112221212221112122112221112122211222121221222211122221211122122222112121212221211212222122211111121111212111222212221222112111111212211112212212211112121121211111212111112112222121122122211122211221122221221121122212122122111112121112122222222112221121211111112112122122212211121122222221211121212212111222222122121221121121211122221212222111211222122122111122111111121112212211222211112212211222221112121122122112111112122121111221122121212221121211211221111221111211221122222111212111112111111121111121121111211122112112212211212122122221122212221221121122212222221222111211112121122122212111211122122121212111211221212212221121211211211212221211122211221221122111122112212212212212212111111212112211121111212211212122211111112221121121221221111112112121121212121122122222112111212222112112211222211122221211211122211112122111121221211121122222121222211112121121211122221221122221121122112222111111111212122111212211221221122211112111121221221121122122112211221221122111222122111221111121211112112222212112112121111222122112222111222111222112112111222222211111111212122212212122211122121221212221221122121111222212112112111222122212121212211212121121122122121111122122122122121221122112212222211221121121221122221211111221111111222211122221222121112112222112222111222111212211112121122212212211211221122221122221221111111112112121212111221122121122211222112211122122122111211211211221222111212222111222212111111111122212121111212112112212121211121211221212221112112112222111211121121122121221221222112211222121212112112212112112121122122221211112111222112112111111111112222221112111122111211211211121121211111222122211211221222111112111212222121211211122212222222212221222221222211221112111211111221121221221122222211111111212222222112221122121112111122121112111112222222212221221122122212122121211112111112212221122121221222112211111122111221121121122212112212222111111121121211112211111222212222111112121211122121212221122121111122211211222112211121122211211222211221122222222121212122121222121112222211222211221112121121121212212112122111222211211212122121111121112121222112222122212122121112111112211221222211221111121112212212112122121212121212122222122211111222112122121221111121222211211122121222222111221221122221122121211221211121221221122111112211222221121122111211111111222111112212211222211122222111211222221222111222211121212121211111221111211111111211212221221121221212212121111121111121212112122111122111211221211111222121112112211111112121111111211212112212222211222212121222121221221212222222222111121212222112222212122211122211211121121222112221111112111111222211221211212112122122211222112221211221111221121211222122122122111122112212212122122211211112121111112212111212111222112221212211222222212112221211121121212211112112112121212212212121222122111111112211112221212121212112121112112212222222211222221211222221122221221211222221221112211111122221211111111211222122222221121212212122222121211111211212222111222211212111212122222122112222112211211222212212111121121212121222212221111122111111121212211122211112112222211122221112121121112212211222112221222221212222212222222122121121111121211222222212211111221121121112212211221111121121122212221212111122211212212121221211211111222111221121221211212212121121211122121211122111121212211111121222121211111211111212221211221122221111112212112111212221212212221221122112212122122122122112112122122211122111222211221212121222122221212121211222121112111221221111211222111221112211222111221122121112111112122211221222211222212111222112121221122222111111111112211111222212211111212221221221111111122222111222112112212221112111122212112212222111122212111211111221211111122121221121212122212122122122112211212211222121212112211111121222212222211111121111222211212122222112212222111122221121211111222122121122221222211212211111112122122211221122222111222111122112121211122111221121122211212121222111111121221221111122211112122212112112121211112212211211111222211212121211212221112111122121122221212212211221211111212121212122121112222112221111112211122212221122121222112221211212122121212222121221121112221112111121222211111222222212221112222211111122221222221222221221112112221121111222122222122211222112112211122111121111111211111221221211121211121122121211112222211221221221121211211212121222122111212211222111222212112122222222122122112112112111211112221221211121221221211112222222212212111111112221121122111121111212212221122211212121212122222121122221122212221122211212221222211121211111222221212121212222112212212111121121121211112121221111112111211222112112222122112122212112221211221211112221112122221222222211111112121211111221222221211112212122211122121112121222211212221112222111122111212122211122211111111212221121212112212121211122221112111111211121112211121121122111122121122211122122122122121111121122222122221122121111111222221111212112112121111212212121122211222212112121122221211111211211212122121112222222212222122111111121122221211211211121222111212122112122111112112121122111221122121121111111221111111212222121211211222211111111221212122111212112121222221221112121211121122211111211122212222122211212211121221211122112111112111212121212111122211112111212112211211212121212212212112111121122211212222122122212111221211121212122122111211112122211111121222211121212112122222222212211122122121211222212211111222121112222122122211221212221222211221121122121111122212222222222121211211221121121121211221121111111211112222121111221112121112111211112212222122121111111121122111212121111211111111121122121121221121112211112111222212222121211111112212122122121211211112122221221212112122222212112222222221211211221222111111211222121212211211222211212122222121121221121121111122211212112211122111111122121222112121112221221121222221221112221122121111112122111221211121112111221222211222121211211112122112121212222212211111122222112122222222121112121221122121121212222212111111211112122112111112112222212122112121121221112122122222112222121112121122111221111122111222122212111112211211111221221211222221111222222122111222212112112212112222221121222212222122122111121221221122112211222222111221112211221121122211211221212222112122122122111211212222112111111112122212112121222111112222111111221122212211112111122222111211222221121112222111221222222221121111222112111111112221112121112112221111121221211112112212222122222211111121112212121211212211212212111221221112111222211212112211111222221212121221111122121211222211222112222222121122121121121222112122211112111122122212211111122211122222222112211121222111222121121112212112211121212211222222221221121112221222111211222221212212221112112112211121121222222112112211122111222212112211111222121122111112212121122212221222221222121221211211122112211112121121112222211112211122212222212122221121221222211121121112212222111122122222211212221111211121211221121112211121111212221111111112222121122121221112122121212122121121121221111211221112111221121212112222112122121222122212122111221112211112222212112112211212221112222112221212222112112111121121112121112121112211211111212122112222112121111212221222112122212112122221121212212122112111222112222221121111211212212112212112212221222122122212122111212112221121211221122122222211112112222212112121112211122221112112111212111112122112212212122112121221221211121211122121211111212221222112222112111222212221221212222211121221122222221112211221222212222122121221212221121222211112122111222221221222121122112212222211212211221221122212222111222211211112211211112121212122222222212111222121222121222112111111221121221111112111111222211121122212112212212122211122221212222111221112121221112212111212121221211211112111112111121221221221221112212211112111212121112221222112111111211121221222112112221112121212211211112212111111112222212122211222111122112122121112211112222212212111112211111112111212222222122112122111211122221212121222222211222222121222222122221211121112221211112122122111121212222121212212112112211221211122122211122112111121221222112222112112211212122221122112222122212121111221111111112212211211221121222121111211222212212211211211211212122222121221112122111111211112121221222111211111222222221111121212121222222221121121212121112121221221121212122211111122212111112212222111122122112121111112212112221222212122121122122211111121111222121221211121122121121111222221221222221122211112122212122212212212221111112212111111211211221222112221221221121122121222121211111211222211212111121111121212122122211222122112122221211112111112121212111222122212211122211212122212211112111222212121221212112222221122121211122211121222211121121122121122112222212222112121122222122221222222211221211121221121111212212212111221121122111222122111112211111221222122222212211112121111111111121122122212111212112222112212222112122121222222221121112221111211121222121111221112211112221211112222212122221122122222221221111221221211121221121112112221211111122211121222112212122221212121221212222221111221122222121211121211121221221112211212112122112211221122112211212112111122222121211221111121222221121112221221222222222211112111211111122221222121122212221122122111212121212212111211211212211122121112122212211221111212112111221212122111111212222221222212121211111211121222212122212212112122111122121212221212121212211211221211211222222121211222211221211112212212121221222221212111211221121221111111122211221112121211112221212112211211212212222122212112122112222112222211112112122212112122221221212211122211211212211121112121122111212212222221111222222122222111111221212212211122221211122121212122111111111222222222122221221122222221212122121111221222222121112121222122222221211221122211222221111212211221221112221121122112211111221111121122121222111212221122222211122211111212112212121221211122122222122211211222222112221111111111122212122111122111112222122222112121222122111212222112122121121121211211112221121222111111221212212211111112221222221212222221222112121222122221112222111222222211121122222121121212112212122121112212221122212111211121121112121211222122221112212222211122212122221211212222122121212212222212221222222212212121212111122121221221111121212111212212212122111112221212211221111221222211122212221221212221111121212222222221111211112121122221122221212111112212211112121222121221111221111121111112121221121122212212211112122212121122111122222121221112212111112212211121122112121111112212122211112111222212121122112112112112111221212122211212211221111212112211121111112211212222112111212112122122122221111121221112212211112111122111221221111111122221221222112211121122122222122212111111111112221221122221112112112212211221112211221121221221221211222121112211222222122212122121121211122211112212111121122111221121111221112222121222211122212212111212112122121122122211221122221212121112122121112121211221122122222112222222222212221211222111112121122112221221222111222222222211111222112112211222222111212111111222212211222111212111222122122111211112222212212112222111121211211212121121221122212221121222111221121211122222212211121212112212122222212222122121111211111221111112222122112111221211122112122221112221212112212112212211211211111212111112212211111111221212122221211211222212211112111212121121111211121211112222122121222222122212122122111122222112221122211222221122211221121111212121121222112212112112211111122221212122112212211121121212112221111222111211212221122222122122122212111111111212211212121122222211212111221111121222222112212111212122222211111211111112111112221122222111212212121121221222122211212212112221222221222211122211222122121111211222121121121121211211112111122211111121112112222222112211211112222121222121222112211112112221111222122222121122221112111222122122112122122121212111211222112111122112211212122222122111211221111211112211212121112111221122211211122222221212122212122221122112121222222111111221111111121112122221211211212111221111122222222121112111121121111221121211112121112221122122121211212211112112221111111112222111112221111211122121221122222112212211121112111111122222222222122111211222221111121112121212111121122122212222122122112122212221122212211112211222121122211221222121112111121211222221121122121212112222111222222211222122212122112121221121221212111112111212211112222211211211121222112211222211112122111211112111121121221211212212122211121111211112221121222222222211122212221211222212111111122121111221221222222121212121121121122212211211112212111211122211112211112122112122112221122121211121122121112221221122212221221221112122122112111122221221122111222222122222221221222111122122222211111121121212121211221211211222122111222112122221122111212121112222222222211112111121121122211121111212212212221212221121221212122121212222122221211211222211122112111211112112212222111212111221222222111112111111112122122222121221221222211211112111211112221222112111211222121221111221221121122111212121221111121222221212122122112211212112221221212121111122121221221121111222211111111221122221211211111211121211222212122112122212222221122211121111221221121122111222112111221111112121121121211112121121211112121112111222221211212121121221222212112212221211222221121111212221211111221212121221122211221122211121222212122122221111211212221121221111212221211211112111121111211121112122111112121111121121112221111111111222111121212112122121211212211112212221121111221112112122212121212221211111111212222112211112211111111121112221221122111211211221122121122122111211121221122121221222121122121222211111212122121222112222221121121221212121212112112221211221212111121211122121111212112112121222221121111112221212112212221111112212212122221211112211121122212111212222121222111211122122111221122121121222122112112122122111111111212112111111211211221122221122212212221112121112122221221122112111222122122212212221121211212211222112111112122222221212212111221212221212212212212111212112211111212212112212222212121221122111112212122212122122121111112211112211212122112122112122221221211121212221221212111212221111112222121222222112112121122111122121111211122111222122222111111221111112122211112211121222221112221111122212121111122111112121111112212111221121122212222222121112222211221111221122212121122112211112121111111222122112111222122121212211122121111221111222222222111121211221122221211111122211221222221121122112122211211211112212112112122112112122112221112211112222121111222221212212212222211211222122111211112121111122121122122212112222211122111211221121121122222212222221212211121122222222211211211121111221221211112121222212221112222122111211111222212111221121222222121222112211222112211122212221211222121221221212112222111111112112112111121121122221111111222122221222212121222121212111121222112212112112122112211222211121111211221222222222121221112212122211211122112121112111222211112211122211121211211111122112111212211221122211221222221112121121112112121121121122212211222111221211122112212212222111212112121122112112221212121112111222212112122111212122211122212212211112112111122122111122222211211222121221122212222222211121112212211221211111121112221212111112122122222212122221221211121211212211112221221211121111221121122211112221122212211122211211121222212111212212121111111121111122122121221121212212121122212112211221112112112112221211121121122121211211211222112121122211121111221211221211212111112112111222221112222221211222212212222121121112212121222222212211122222221111222222222212122111112211121222221212121121122111221111121211211121122211222112211111121211212121112111121221112222111221122212222222211111222211222211222222221112222211121121221121221212222112112111222121122112221122222112222212122121211122112221222111121122222121122112111221112112212122212212112122221122212121112211212212222122111122121122121212122221121211211111121212221112221111112111222121111222112112122222211121111111111121212112211121111221122122211112212121121112112111221211221211122112212221111111222222212211221121212222221112111111221121112221222111211121221222122122222122211212211122221212121121111122221111111121111221211211121212221111222212222222212112211112211211112221212121111121112122212111112211122111211112122122211111112111112111111221221212221222221122221211111212222211122211222111221121111222211111122211212222122212121212211111121122211211112222112122122122121121112111112111211211112111222221122112121211112222112111221112211212222111112121221122222112122211121122122112112212112111212112221222211121112212212112221212211212211221212122211121111112222112212111211211111121111122121212212121212112222112212111112221221122211121111112111112112111212211111211121111211111221111221112221211122221111112122122111222211221211211112112122212212122221122122211211222221212212222222111121212221221212112122221112121222121222212222122121222121222121121212211222121212211111121221212111121121212112112211211211122122221112122111122112111211221222111111221212121122211112112121212221222212111211121122221221212221221212111111212122122121211111222212122112212111121222122221112211111211112112211121212112122212111122221112122112212211221211121111112222212121111222122121121222212222121221212121212221212111121222111222221112111112121222111112111221222122221222122112221111221211111112212121212121211212212111121121111112212212222111121221221221221212111222121222111221112112112111112111122112112212221122121111221111122221111111112121221111121212212222112222212212121111211111122121212211212121211111111212211221222112212122121122211222112111111221221121221212211222212122112111112222121221221221212121212212112111212221222121121112121122111112212111212221121121111122221121112122111112121122121212112122221222122112122122211212211212112222222122112211122212112121121111222121212222121222212111111111211111112122111211212211122222212212112111211212111111222112222122122211222112221111212222112211211211211112111222221111121221212111222111221221211111221211221211211111221121212112121111122121111212222112111212222121111222121121211211121211212112222211111221211112221122121221212211122112112112112121212211212221122222122211122212212112121211122122111212212122212122111222221221212121221122112211121112212211221222211111111122212111221212111211121121112121211221212221112111111221211121222221221212112211211111122221111121211122111221121212221111221122121221211121122112221111222222221221111111112121222112122221222122122222112222211122111112221222112111211112121211212111212122221211212112121112211111212111211111112111122221122111112122112221212221111212112112111111111122112112222122121111212221221121212112212222111111112122221212111121111222122222112112111211211221121211221111211121221121221112221221211222211111121122212122112122222112122121121112221112211112211111122212111122212122212121222221122121121122121212112212111212111121211212212121211111121211221121121111212222221221222211221222211211122222122212112211221122122122212112111121121221212112222121212212222211122212112212111212222111112211221111122112211221111112211221212112111111221211212111121221112122221111112212112211122212111112221121211212222112221211222212112111111112111122121212221212111212211111222112212112212112111111211211211121122121222112212122111122212222111111121212212121122211121221212212121122111122222111111122112221212122212211211211211211121222221122122211111111111212222111122221121222121212212212121222122121121112212211211211111211121212211211121221111211221211121111112222111212112112121212121221121221212112221221111211211121211111222212211212222121221212111222211221111211111211121221122212221211211211121212212222122111211121211221112122121112211121222222121111222212121222121222112121222111111212222111212111111112222112122222122111221122222121221221211211211212112221211121212212221222122111121112221112212122212122212121221211112112212122221212111111212211121111122111111122112222112121122111111112212122121121112121112122111112211212112121222121122112222121221112222221121111122121122112112122211221121211222122222122121222211211212211111222121221111212221112111211121222112221121111122211222112222111212211111122122221211121121122112221121122212122111111122222112212111212122121112112212222212121221222111212212212222121111221221222211122222211222212211111212121211111111221221211221111121121111211112122211122222221112121111211121111111111211111211211112121221222212221122212121221212222222111221212112121122112112121112122121122112222212122111111221222212222221121111212111222211212111212121211121211211111111211221211122212121112221221221211122112211121112122111111211112122211221122211121111212212212212211222211122121111222121112121121212122121222212221222122111111121122122121221112112121222212112121122121222222121121211111112221121111212122211121121111111112222211211112212221222112111221212211122122111221222122122112222112212122212211122112212111112121112111221221221212111221211122112221211211121211122112211112211111221221111211122111112222212222222221122221111122121212112121121121111211111222212211212112122212211212221112111222221122122112112221122211222111222111212211211222111111122211222112121212111221121121211222112121112212211212112122111212221212121121211121121121112122211121221122211112211121111221121222121121121222121112212111122122211111111211212221212212222121121221112212111112112211121222221121212121222121112111111112212122122122121111121121212111222221112121211111211222222111221211122212112211121222221211121221112121111211121221221221111212111121122222111121222222212222222121121121111111111211222122211112121211221112112211221221111221112211111122112221221212111222112211211112121111211121222212112112121221212121222222111221122211212111112111211111112212122111121211111211112112221211211222121111122211112122111212111211211122211222122212121211211211112122222122122111112111122222111212112221121112211121121221212212111122112121211221122121212122221121212221122111122221112222121122222122211112221122111212111122222111211211111122122221212211212111111222121122112122212222221112222122122111221121211211211111222121221211122122212221111112221111211221222122121112212222112111211211211111112222212221222122222212211111112212211122112112212222221211222212222212112212211221121121112112212112222111222222121222111212121221221211212211222121211221121221112211122112212221111221221212211222212221222212121121221121122112211221212121211222121111221221211222221112212112112112221122122121111211112111222121122122221121221222211121122221212111122222212112212112222122211222211112211121211111221121211111121212121112221222212112222211221111221111112121212112111221222212212222212121112122222112112121111221212121221121121222212211111112221111111212111221122122211212122122211222221111112212112112122122222212222211222112122122122221112122221221212112212221211221112111222121221221121121211111212121211221211222212121112211122122211212211222211211222221122222122122222121221222221111111212211211121211221221222212111122111121212122111221212212211211221222211211112211122122222211211211122121122122221122222222212121112111211212221212112112112222122222211222222111212121122122121212112122221121122211222122121121122122211212211221112222211211112212122222121212122122112211112221211111211211121212222112122112122211212211121221121222211212122222222212121111111112111111211221222112222212212222222111112112112121221211212112122111211121122222221112122121212211111121211111221212221222112211122121212221111212122222121221111212122222211111121112121211211212211121221121222222121112122111211122222112222222221112211222122112121121222121111211222221212122221112212122212121122212222221112122121222222211222221212211111212222222222111121222122112122211221121112121122221222121211121121122111221212111121221221221122112222111121222111121122221121221121221122211111212122111221112212122122111222111112212121212112112211111222112222111121112221122221222212112111111222221212212112222211122111212211122211222111221121212211222112112222222212112211122121221112112112222222222211222122111211122122222212222221222222212222122112221111211221111122112221211211111121122211222111221122121122221222211212221212111212221222212111221112222212222111211121112221112122212222221111121211222112122122122222111112222222212121122212212122122222121122212122221222211222122122111111122122221222221211211212121221111222121122121211221221121221212212121221121112222221212112111212211112121111122121221112221211111221211222121121122122212221211211222211221211211222211111111122221121222121112211121222211211122212121121221211211221121112222211211121122112122211121121112222212121111211221122112222221222122222111122211221212122111212112121112121122122121222121121212121121222222222122112211212211111221221122111221211121121112212121121122212212221212222222212112221211111122111221122222121122112221122211211122122221122212222111212221112211211211121211121111111212121221221211112121111112111122121212212211111122122122122111112111221211221211211212212221212121121111122212121112212121221212112111121211112112221222212222112222122211122111111121112221211211212122211222221212212121122221221111222222111122212211212221222221121212111221122222121122111211221111222122122211112212222111212212121121211122121111221221121111112221121121221221112222112122122112211222221122211121112221112212111221121212121212222221121122121221122121112112121111112111221221212122122111221211212122112211121212112222122211221122211111221221212222112222111121122111112111222112211221211121212122122111121111111212211121212122112211111211122111221112112111121212122212121212121222212222221212222111211111122221222211221211212221121211112112121211212111222111121111212212122111121111222212122211211122111121212112211221122122121212111212112221211111122221211121121211212121211212222211111121211122212112122212221221122211111221211222212122121212111212212212112212221111122221211121212211111211222112112222111211122222122221112111212222122112121221222221121221112111222211112222111222111112212222122111122111121112212122112211121122212121212112221122222212122122112211112211112211121221121122121212221221112212212111211212221222222111221112222212112212212221122112121112112122121111112211222112111212211112222221221122122122121212111112211111211221121122122111222211212121112122222222211211112211122222112112121121211121212121121212112121111122212222211212112121121111222112221222112121112221121212122211221212222111212121121222121222211111111211111122212121111121121212122121121212121112222211212211222111211112111112212212111211221122221222111212111122212122222222121112111211122212122121212111212111221122211221222112122221112111111121221111211222221212221122122222211221211212211122122121121212111222212222121222122222121111122221121211111221111112212222222121111211112112111222112122112211111122122211221221222211121122112112111121112221211211111112221222121212211111121112121122122112122221112122112212121211212211212122121121121211111212221221222112122211111112212211121211121212121212221121112212221222212222121112111121111221211222112221221111222122122221222111122211121211212222122112111122122211211211112112112111211221112221211211211111121212212212111221112111112221121112211112112222212121221221212122221212111111212222122111112211211121122211222212122111121211112121122222212221121121122112112112121112222122221222221111212112121111222212221221112122222121211112222211111112211121121222121111221212122122121111112211221211211211222222212112111121112121111221212111111222211122111122121212121221112221211222211112122122122221212221212112122121221112121121221212221211211112121212112122121112111111112111112122121211212212112112221122222221112212222122121121212112121211112111112211222211211212111111122121211222222212212211111212111112221111111212212221111111211221221111111221211121211222111212211121121111122222121222222122212111112122222212121222111111222112211211222221122212212222222221122121112221122222122111221122222211111212221222121112112121211112211212121221112121221221111111222112112122111121222111121222121111122221221111111111221212122121112122111112112121112222211212122221211211122212221222121121111112211112221122222212111221121112212222221212122111111112211111111121221121221111222212211212111122121122211221122122221212221122122212121211112222121212111121121112212222112121212212211221111222211111112112121122112212211122122212122111112122122121121221121112121212221111212221111221121111111122112122122211112211221212222212222211212212222221222221211122111222212122222212211212121221212212111222212212222212112211212211112121212111222221222211211112212211122122112222112211212122112112212221222212122211111112222112121111112212222111122111121211211222111222112121122221111221211112111222212221111211112122112112111122122212212122122121121122122211112111112222222121112111121121111111112211222212221212212211112212221222221221212212121222111222111121211211122211212222112221222211111122221211211121222122112222212211212222212211221122112211212112121212221112222111221111211122211121222111211212211112212222122122121222122222112212122112222121212111111112111221112111111121121111122211121112121212122111211122221121212122222222111122122121212221111222111121211222212222222121221121211211121111212112121211122111112111112222211121111211222211211121211121111112221121222211211222222112121221221211221212112121211121122122211221212112111111121111111122211221212212121222122222111122112222222222112222221212122111222121111112112121212111111222111212121121212121122221111212112212121221121222122221221111111122222111122211122111212121122212222111211222121111222212221121112212221211121111112121121121222221111112112221211112212112111212212212211222212212211212212211211221212122111212122121121122121122211112121211221211211211112222122221211121122111112122112212112211222122122222111121112221222122112221112122112111221112211122121222211111112121222122222111122211221221211112222121112112111222121222211121111112211111221222112222211211222112122221112221212111221211211221122212121121222121211122211212112111111211111112121122111212111122122121122221221221211221121112121211212222121222111112121121221111221111212122222211121111121212222221121111221121221121221111222121111221122121111212122221222221122111212121222112112122122122112222122111221122222122112122212221111112211111212212112112121111122212122111111212112221121122212122112121221121221221212212221211221211122212222112222121112111211211122121222121212211112211222111211212122121111212222211112222122212112122212212111221211111112221111222212222112112111211212122112112211122111121112122112221112111122222212122112112212111222121222212211222111112212222121122211111212111112111122211122112122111122112112111111111222221212121112121212212212212122121222211212212222221221112112212121122111122212121112211121211221112112112212111122122122222221212122111111212112122221212111122221221211121121211122222111121222112221211112211212122222111211221121212121122211112212212211121222222222212111111211111121111112112111112122211222221211221222121212211122222111112222122212212112121121122112221122112121112211222211121122221221211112112121111212121112121112222112211112221211111122111122121121121121211112111212222212212211121222121222212222111121222212211112122211111121221121112121122112122121221222222122111111212222212211211221222211212221221122211121211112222112211221221212122122112111222111221122221121122222221212212212121112211221112111112121212111111121221122221221121121221222122112112121222222221111212111222111211122211121121211112211212112211212111122112221111211121112221222221111212212211121112122222211221112211121221212211112121122121121121111212221121111111121221222212221221111112121222122122222221122211222121221111111211121211112212221212221121212221112221221212211112122112221222121222221212221212212211221221111222121122212121222212122112222121112221112121112211212212112122212221212211122212211121122222121121211211122212112211221121111121212112121121121222112121221211111111121211222122112212121211212122122111111111211112221111121121112112112221121212122212111222221212112121121211121112112211121211212222211112221221211121212111221122211221222111112121221111222112122111212121121221212211111211212221112111211211221121221121211221111122122112221111111211112211212121221222212222111211221212222212112221112112212111222222122211121211122122112221222111112112222211121222212221111211211212111122111112212122111211211222122211122121211211222211112111122212211222112222221111212212121211222122222121111212211121111222211221212221211212211121111211112221121221121112222212121111122211221122112222211212112212211211122121222112212111122212121212112121122112212221211111112222122122111122222212222211112112222111112111222122122211122222222211212112122212112211212212211112112121212112121121121111211212112212211122212111122111221211211111111112212211221121221122122211222122212221112212122121221211211112112221222111112211111212112222211112112222212111211222211222121111122121122211121222122121221222221122221112221212221221221221122221222112111211122122222222221222111122121121221122111211111122121121221112112111222222222112122222111112112111212211222121121111122212121211212212122222112112221212112222121112122222121112221222111121222112221121221112211111122111121112211111222222212211121211111112222122112112221112121111221111222222111221212121222121111211211222111211211111222111121112112222111121221112112212222111222211212111121212221222121212222121122212221122211221121111211122112222111112121212112212121211211221112221222211122222211112212222121111221221211122112212112221122112112211111222221122122121211111212112111122221221121111221221122222111221112212111211121221211121212211111211111212122212121211211121112212122111122122111222122221211112222111222112222111221122222122111122212222121212122112121111112112122211212212211111112112221111211212112211112211222112212111121212121122112221211122121222211221111221212111221112212122111111111112222112111121221112111122112121211121211222111111121211211212111221122122212122222111112221112122111112222121221212112111111212122212222221222112112112211212112122212112221212112221212222112121112211211111122122212122212112112221121212122111122111211111211221111122122222112212112121212212122221111122112112212112211121211211112121212212212211222122112121122222111211221211212221111212222221112221111221221122212111211212121212211222222221221212112221112112121211221211221221211122111211112121222222211112121212112212112111122122212112122111211212212111112212211112221211122121122222211112212121222111222111122211111222111111222112121221222112111111111111211222111122211111212222112211211212212121112122221221111121122122221221122121222111212222121211112111121211211122211212211111222121111221221121221222121121221222121112122121221222222212121122122222122221121111112112221122122222212221112121211212121222222212122221112122111211212122112121221211222211111112222121111111222221212121211121221212211222212112111212111122211222212222121121222212211122122221112212111111112122121111212121211212211221112112111122221121212121111111222211122212221221222111212222111112112211122111222222212111122121211212121121122212222121222121112222121221222211111112221111211221221212121112222122211211121111211121212121122122221222121122211111222112212212122122121111222111112121122222211112211221121111221121122122112121212222111122111222212222111211221112211221121122221121221212112121221112122121112222122221112112221211211222122221112121112121122211212121211212221121211122111211221221211112121112221121221221111122112212122221111212112212221121121211211221222111222112122121121211212211221121211111121211121211121211122121111112221211222212112112212211212112212122112211112122221112221222212122121212221121111212221222221221112112122121122121222121212221212112122212221222211221121112122112121111122112122211221111122122212222121111222121221221212221211121222221222211112122222212221112221121122112122122121111122111121211222121221222221212121122222111121212121221112221212221211222211212111221221221221221112211121221121111122112222211221111122122212221221221121112121211121211221222122211111122221222111221221212112211122122122211221111222122112212222122122221121212221122122212122121221222222222211212112222121222111111222122122212221222122221212111111122211211211222212121122111122121122121212211122122221211121211121222121122212121122222221211112222211121211222221222122121111212112112122222122111121211221111111212222122222212221221221112112212122211111221111222112222121111221112212211122112221211121121111221111221112211221211222121222211121211112212221211111111122111222222222212112121212222221222122222221212211111211211221212122221212122221211221212222222212221222122212121121121122112222221121211222211222122111122222112211112211211212221221122121122112121211211211122122212112122221112112121111122111222111212221222211222121212211121221121212221122111121211212221211122211112211122121111112122112221111212112122112212212222122112212212221112121222212111212222212121212212222121212212212121221212211111222221122222111211222211122112211211212222121121122211121221121122112222212222122111211211211222112212112112111122112221222112112222122111211211121122221222222122111221211121222111212221112221112121122122222222112121122121121211211122212111121212121221111211221111211121112222221212111111221122212222221212212111222212222222111211212121122212212121122112222112212222112121112222221221121222211121211221122112211222122211121112122222221212211112211211211211212212111121112112122121112222222222221121112112221122121221112221211121212112111211222122111221221222121212121211112122212222112221112112221122111111121222221122221221221112112121222222121222122211122111211211221221122111121212122121211121221212112211122212211111111111122212222212221122221222222112212211111112212111111211122112122212212211112121221122112211122122112221112222221221122122211222122211222221122212222111121222111112212222211211221221111111211121111122112211122222221211221211211221221222111121111111111112221112121122121122112221212222211112222211222111211222222222121121222111111221221112211122111221112211212212111121111212211112122111112121121212121212121221121221222112111112221112112221222222222122112222121221211122221121122122221111212122212111111221121212222111122111222212112122121121211112121122112212112122212121221221121212111111212112121111211222221221121122211121211222122111222221122212112221112122222211221122221221221222111222111212121212212212112222121212122122112221121221121212221112212121121111112211212212212111222222211211121221122121112112222121122112221212121211111211222211121122112222212221122112112111121211122212211122211121121211112112212222221221211122221121121122122121122212122221212222122112121112211121122222121222212221221112122211222122111111121212211111111211222122111112221112222122111112221211221222211221222212221121111212121222212122221212121111112212122121111222122221121221221212121211112212221112212211221111221111111122212112111112222211222122222221121221121112122212222221212211121111221221221112122221211212221122112111212221122121121112122122221111212221212111221121221112221112211121212221111122111112112112111212222122212222222211221111221112121221221111221111211122222211221221112211222211221112212212122222221121111111112222122111211211112122122111211221121121122222222222121221112111111121212111222212112212222121121122212121222121221212222112221221211211212211122212221222111121212111211122112121212222212122211212121122111122111212222212111222221122211211222111112111122121222222112222221212211212211211111211121122111112112222222122112221221211122221121111111212212122222212212211222122121121111221122112221222111222222212221122221221111112111121211122121211211222111222212221212211111212121212121121222121111112212211122212112112212122222222222121111222112121112222112212221211111212222211211222211112211222122221212211211221122112122222212222111112212121121212221221222112212121211211111221111222212211122212121122111222112122112121211111221111122111111122212122112212211112112211221212121122211112211222222111112211211211112121211222111222111112121121221212122122122112211212121212111121111221121121112121212112111221111112222112221211212221222221111112221111222221222121111122112212112111221122111212121212121222212211121222221212212112122121121221211112221111221112121212221121211112121112122111122212111112111212112211222112212111111111212212222112222212211212111221112211121121222121121222112121122221222222212211212121212211221212112121222212122121222211211111112222212222211222121121121121122222112222122122121112111221222121212222221222111212221112212122211122221122212121112211221111211211111221211112121111122111121221122112211212211112112121212112111111221221122221121111211122222211211111221212121212122112211212211211211121211111122112211222112112111222121211212222221221112212221212222221112121222112222221112122212221112111222212211221211122211212222222212111122221222122112112212122221111222111211212121112122122121211122112112222111122211212222221111222211221111211221122121211212122221221121122212121222221121121121222222121111221122212212111111221212212112212221212122211212121122222111222221211112212112112221122112211211112122211212221121121221212211212112112112221111122112221212222212221112121111222222212222212122221111121112112121222111122112221122222212111221111222212211121222212112211221122122112112122222111121122111122222112121211111122112212112111121122221111121211222122122121221222221222222122212212212221121122122221111121112112212212211112212212112121122111121221111112212221221112112121211211122121112111212222111121111111111121212222112222121122211222122212122111211122121211112222222111221122112212111112222111211111112112112111111121221121222211112121121221211212122221112212222112211122111111221111112111122122211111221111112111222121222221211211222121221112112212121222221121212211111112112122222121212112212112212211111212122212112122112122122122111112122211212111211122112212111112122112222221222121212221112112211222212111222122122121221112212121222111222122221211122122112221112212122121111121211121221122122121211122112221222122112222211121212112212222211221111121222211121111222221111212212122112121221221122111121221211121112212112111211221121211111121121121222111122112221222122112222121112221111112212122211112212211122212212212121212212222221111122122222212112211211112211221121222111221112221121111221221222222112111121122222212212222211212211211112221221212211221121221121111121111112112211121211121111221122221221221121222212121121122112221212111122222121121222121222111212111211111212222212111211121221221212112122212211222122122111121112221222222221212121212121222112112122212111212211222211112111222121111122221212211111211111211211212212122121112222212221111122111112222212211121122221212221221212121122111111211212121221122112221121212222221211211221221121122212221211111211121212121222122222222211111212222121222222121211122121112111222111112112112222122121122121221212112222112122112212121211221222212222112221111221112121222222221221122121122121221121112222222122212111111221221222211111222121222211221112221221212111211212221122212222112112211212111122211212221211211121112212121211111221211122221222212222121212221111122111211112121221112211222211122221112111121121121121122211222112122222212111212112211221122212122212221212111111212111122112222222121211221211211211121212112222111122122111222122221221112112111222211221211221222112112122111221111222221211121111211211222222112211221221122222212212221122112122211221222222111121211221221122112222112121221222111121212222121121121222212112221211121121222212111212111211221211222222212211121111222112222211222111211221112211112221111212112211122212222122121211222122211222111212111112212211121122212211221121122122211121212112111122222112222121212221121111212211222221222122111212222112122221111221111112122222221211111212121112121122122112112212211112111121222222112212221222211211211222111221111121212112221122212212111121222122222112211212212212121121221211112122121221112221221221211112112121122121221121111121212221111212221111122212122212111222122121222222222222111111121211222222211111121121222112111122122222122222122122212211211212211121211111211211212121122121112122212121221221222111112121122221121221122222122211222112111111211122121222121211122112211112211222222112111222211122121211121211221212211221221111222212222212112121121212221112112221211212212222122111221212212111211212221211121222111121122222211221211212122212112112211122212212111121122111222112121222221112122222112221222212112111222211211121221212222211111211221111122122222211211122112222222111212121122212111111112221222211211212211121112221111211211222222221121222111121121222111212222221121112122222212212122222112222112212111111212211211211112212222122111111122122211112221122221122221121122122112111222122211122212122211111122112222122122212211112222112111222121111111111111211221212212121111211111112211121221221221111122211221221121212122212121111111111211112211212222211111111212211212221111121212212222111112212122112222112221112222222121121122221211211121122221122121222121111111212121112211211111211211211222222222122121122222111221111222221212121222111122111111222222112211111221221211122221111111222222221222111122211222112112122221221211222222211212122212221121121111121112122112121122112222221212122222211112112122211212222122111212112221211112111211221221212121112211221122122222222112121221121121212122112222122122111211112212222221112122212112111211111222222211112111121111122221122212212122112112112112122222211111112111222111212111122212212222121212122211111122221211222212211211211212222222121112212111222211111121112112221112121211211221211222111111112221211111211222111211221212121221121222212112212221111121112221122121211112222211211211112111122221111122212222212122111211211122212121211122122221121222111211212112112222222111211112112122221121212122122111122221111212212111112111112212211111122121122221212221221122111112222111222122121222212212112212212212121121222122122112222222121122122121212212122221121211211121122122112222222212111211112121222121122121111222212112122222122112111212221112112222112112212221112212211211111112121222121122122122112121121211121122112121122121212112112121122122212221122212211221111222112221112111112111112112121212212122122212112111222121222221111212212111122222211111121121112222211211122121121111211212122221112111211121122222221211111111122221111222222221111221122212112211121112111122212122212221122121121121212121211221122122221111112212111221211212112121121221121222221221112221111222112112112221111122112221121211211111221212222212122121111122121212211121221212111211222222112211121112122112221222222121121122111222112112221121121111122111221111121111112211222221112111121222211212211222111112211122212111121221222221121222222111211121112112121211112222122211221122111222221121211221212122121122221111222112211221211122221112111221111222112112222211122211211212121122212112112121222212122121221221121122112112211212122222211212222222212122111222212121121111221221112121222111122112122121211221111222111221111222111112121212212121212111211212221112221121121111212122222111222211111111122112212211121211221121211112122211112222212211212211121122211221112122211212112221221222221212221221121212222111211122122221122221111221211221212212121222211111112112122222112221111121111112111212111211112212221122211222222212221121221221111111122212221121121112221121112122112222112121121211111212122121112222122122222212121121222122222211221222111211221222222222222211212211211111222122212211212122221122111222222222122121122112122221111111121222221121212211212112212221121212211121221222211211222121212111212221122121111112212122212112121111122222221121211121121212211212212122112212222221122111221111122111211112122211112212211221122212122211222211222112121211111111121122112222221112211122222212221212222222111211212121212122121111122121221122111221112111121111212222112122222212112111121221111211211112112111122122211111222221122121121122211121121212222111211112111111111112211122222222211222221111211212212211211112222221212111211211222222222212111122221212222221112221221121121111122122112121211211112121211222121111222111121121111211112122221111211111112111221122211121121121122122122211211121211111212122211111211212111112122121212121222212222211121222111121112211122222211212211222211211221211222122121212112112111112111111222222211112221221122221122212122121221111121112211211122121121122222222112222221112221211112121221122122222221211222212222111211211212211122222112212121112222212212211111211112221122121111222221211122122211112111122111221222111112221122111212211121112211112112211221122221111212211112221121211222112111221222111121211112212211111221221212221212221121121212211111211221111211122122211121111121221111112221212222222122222222222212211122222222212111221112212211122111212221121122121122122111212221122121211212122211121221121211112121112112212222122212122112222222222212111112112211122222212111121111212112212221122211221112122212222112221121112212212221111112211212211211111221222111122221122212121222112111122222212112112222221111112122112211122221221121221111211122112112112112112211212212212111122222222112121222122212222121122211121222112211221211211112121122121112112212212211212121212221211111122211111112122222222211212211211112211222212221222122212221221221211221221122122122221222222112112212212111211212112122122221121121212221221121122222112211212122112222122112221221221221121221111211211212122211221212122112211211121111112121121121221121112222212122211122222211122211212221222221212222212222111212212121211222222212122111221122222211212112211222212221221222212121211111222122122112221111111222212222122222222112211222121112111222212222212222211222212222212211121222221122222222212211221221221111112111211212111112222122122122221121122111222222112111112111221111212221122111121122212112111111222212221112112121121212121111222221112111221211211221221221112221212112121111122121121112221122121222211112211112121112212122112112221222122121112221222112221211111122111222121211121221222212111121112221212212221222111111222111221121211212121122222221212121111112211111111222121211211122121211111111222211112221122112122211211111212121112221111211212112122111111122221222121122111111212211212211211121211111212112222122121112121111111212122221212122221212111221121122121221111111112112111121221211112221211212221211121111212211221221211121122112222212121222121112121211211121222221212221112211212222221121221221221121122221212121221211211221211221112222221121221222211222211221121212221112122112212111111111112212212122222211111122212211222221121222121211212112111221112111221211211211122211221111122111121221212111112121212112121122121211121122122212211112112221212122112121122222112121222122221212222122112211121212111112121211111222212212212111112122121122111211212112212221221111211112121111112222212211111122221212221211212211211111211212211212111112221211221212111112121121212221222122122221122221211211121211122221212111121212212212221121221221222212111222111121121121222121122221112111122222211212211212221112222122112221212212212222122221122122212212211121122121222221121222111212111221112221112112112212112111122122121121221222211212212112112221221121212111222221211221112112122111122111221111222222222211221121212221121112222222222221122121111122111122121212122122221121111112121222111221121121221212222112212121221111111112212121212221122122221111112121221212211211122211222212212111111121221122212212121111222111122121121121112212221121111212112211211222112222211211222211112111222122122222212112111221211112222111112122222221122121221112122122221221112212211112111112211122122212122211121212121112222211121121111111121111211222211212112211222211122211112212212121221212111212222211121111111111121222121211222212212222111122211111211111211222221121111112212211111121221212221221111122121121112111112121112112121221121122212221221111212122122211111222111122111221112222112121121211121222112121212111212112222121212111112222121122212212212121122122121212112211222112222221221221211212112221211212111122211111221121221112221111221221121121111112122222122221222212111221111121212122111122121112211222212112221212121122122121121121211112121112212211211111122222212221222222212121221222111221112121221121212211221112211122112111112221112121221112122211111112121221221112211111212222212111121221112212221212211212121121112211122211222111221122221112121121111122122221112111121121112212221112222112111222111212221111121111222221121212122211121212112222111121211112212222221222212222111112221122112111221122222221121112122221122122221122222222221122112222222222112212122122122121221112111221111212121221211221112122221211121212221121211121122121121112122211111221211112222212212111122212112111221111222111111222221112221111212112211121112111112222212221222212212122211111122121121122122221211122211211112112212111111211212212221111121221121211221222221222222211121112222212112211211122211211111212122212222211121122111121221111212221112122212122111121122121121121111222221122211112121211121221112111111112222222221221222121222222112121222222222121222212222122222112121121111212122221112222222211112211121112122112121222112111222111112121221212211122212212222121212121112122112122212211112211122122111121222222221112211222122111221211222211212221121122122121212111111122121111112211121221121122221111221221222111221121211122112212222112111211111212212221222111222212222112122221111221112122112222211122211222221211221121121211122221111222212221112222212112212222221112112211221212222212122212221111122122122121221121111211211122212222112122111112122221122212222112121221222211221121121222111112221211222212211111111222221222111222222121221212222112221211212111221211212211121121222221111122212111222111122112112221221121222211121121122222211112122222121112112122212222111222121121111121221121112221121112121112122121221121212111112222122211211222222122211122211121122121211221222122121221121212111121222222211212221212222121211211221122111111121111211112111221212121121111212121211221211112122112222112221121121122111112112212221111222111212122121212111122112222111211212121112221211112221112121121222111222211221111221221111212222222212121212212211212222212222222111212121221211112212211222212122212212112112221221111122122111221222111121121112112121221112122211211112222111221121112222221211122211121222122221121212111112111111222121112111111221112221112112221121112211112122112212221111121122122222121111122212221212111211221122111121211222212212222121121221111212121111221111121212122221111112221111222112212222222212122111211121111111211111121222121221111211211222222112122221121222122121121212221121122222121221112211222121112122112111212112222222122221221112111112211211111121122111122221222111222221211211211212221122121121211222211222111212112111222221211121122121222122221111111212121222211112221111122112112121111211122121221211222112111112112222211111212122222121112121221121221122221222222122112112121222222112222222111112111212122222111111111112121122112122222112112212222222211221111121122221212111122111221221211221221121112211222112122111121212212222121211212221122112111221221211121122221221112211122111221121112221111111122112222211121212222122222122121111112121221122211121221211112121221112111111112212121122212121122222122222121221221212111211122211121212222112212122111112221111112211112212221112221111122111121111211212121221121121112212112121111121212122111112121211212211221112111112122111221222221212121221211122221112222221111222121122122112112111121122121111121222121221112222221222111112112121222112212212222112112121111222121122112122112111122121222121121221111211122111121211112112111121112222111212221222112111122112122222122211221111122111121111121121211211221111111212122111221122111121211222221122111222221112212112222222122221121222211212221222122221122122111111222121111211212112111122112212112122212221121222121121222111222122122122111111112122222122222111222222122211112222211222221121121222121121122211221112121222221222211112222111112221112112221111222121222212211212111221122121111121112211212122211111221212212111111212211211121122221211221212122222221212211211122212111221211122111221212121111221112212212121122121111122221121222111121112112212122211112111122222122221221111211212111221221212111222222111222112221222212221222211212212121221111122211212111212122121211122122111112212221211112122221111111122111111111121221211212112211121111122122111211211122122122222112121111222211112122222212111221212121111121222121112212221221221112221121212212112112121112122221111121112222112212111212221121212121112221211122211211111222111112122121111221122211122222112121222111111122211222121211222222122111121221222112211211122111121111211122212111221112122122211221121122122122211221222221221211111211212222212112211212221211221222121212121121222112221211121211212221111122112212122222121121221211112111112121221212121212122122122212222111112121111122221222221111212111211121111221222121211222121121112212222112222121211111122122112222112221222121211111212111222111212122221111222221122212211222221112122222121222121122122112221122122121222112121212122112112121211112222112222212111211221221221111222211111112212112212212111122212222211112212211111222112122121221211221112122212221211222212211212221222111122112121121112211111221221221221211211222222111112121121111211111121112211112121111221112121121221212221112221221212122112221221222222121112112212122222211122111111221112121211111221111221211211121111121111211121211121221111211122121211222212121222121222111212221122222221111222221211111211212112122112222222221211121112122212221122221112122111122111211111122222222221112112121211112122112111211212121222112111121212112222112122121122212221112221111212212122122212122222212212221212222211211112212212112122111222121112222122221121112122211112112222221111112212111112211112122211222112212211221112211121121122121212222122221211122222221112212222121111122211221212112112211122112111121121221221122211122111221212221112122111221121122212111222112221222212121111112212121221222212112122122212221112222111221222112211121112112112211122212121221221222121121121211112222112112121111122112211122212212222111111121112112212111111211221111122122121111221112221112221121111212122211212112121111112111211211222221122111112122221121112222211211111122112111211211222211111212221122121111122112112211121221212211111112211222221112122122211111112222212222212122121221221122112121112222121211122221211211211121122221212111121112122122111221212222111222222222121221221112112121212121112212211212111111112121112222122122222212221122122111111211212222112212111212111211211211212211222212112221222111222111222121222221112112121122222211111112122112222121122121111111112112122111122211211111112122222122222212121212211211212111212221112211121222221122122112222211111222212122112222111221211121111222112111212211112112122221221111121212121112122121211112211111112211121122111112221221112221222211221222111112221122111221112111111212221212121121222211221211121222222211211111221111221211212221211211221121122211122121221212222212212212222111211111121222211221111222212221121121122212221111112111122212111221222111112222121111212112211122212221111211222121221121122212111122121111222112112221121221211211112212121222121211221112222212111221211112122222122122222221122111111221222112211212212211122111112121212212122212221212221222111111222112112112211112122112211121221121211121121212122121112111211122111121122112121222121121212221122212222222222112221112212121221221122221222222122121111211111221212211121222221122212222221111212211112111211211112111221212221111111112122222212211122221222122221121122122112221122112112211111211121121222211221211221222111111112222121112121221211221121221222122121122212112222111112212112111212121222112122112112112112122112121111221211221111112112122222211211122112221122122212111112211121222221222121221111122212122122112111221122121121211212112122222122121211212221121221222211222212211112121211111211222112112221121212122111112112211221212222221112221122121222121222211211212222212211221122121221112211212212122221212111112112112221211112221111211211121212221111221222211222221212212121221121112221221121211221221222122121112111222211221211111221112211121122212212112221212121212212212221122212212112122221111112211212111221211111222122212222112112212112112211212111121222112111221221112211222112212211112121112221222112211112111212211111121111112111112121211122211212211111121111212121121121221212212212122121111222111211222222221121212122121112121211121222122222212222122121121121112112112111221211211211221211111211121222111212112211212222222211121112111212211211112221212111122112221121222121122111222212122111112211122212121211111121222111121122122221222122212212111122111212212111112121212122212111121222121122211221221211221121111221121122112121121222211121221222222121211211121111212211222111111121211121121112121212222111121221112122211221112212211211112112112121212211121211212222212122222212221121111122112212211122221122121222211121112122111122222222112112121122121222121121111222121221211212221221222212112122212221222212121212211122111212121112121212212111222122112222122212221221111222111221122122112222221221212222111112212122111122112222222222211121222222222111222121222211122211212121121212122122122212222221121112211111211112122221122212212121212121212122122121112212211122221222212122122121122211222222112122111112212112212121121212212221111222111212121111121221122111122122111212112111121112122222122212121122221222112122112222121222121222211121112211211212221122221111211212111111222212221211222111121212112111222111121121212112211112222211211222222122121112212221112122112112221121211222112221221221221221122221211222212112212121111211211211121112211222221121211111211222221112111111121112212122121221212112211121222221121222121222111222221212212122122111122111111111222111222212222121122122212222112221122122212211121111122112221122122121122112111112221222221111121212122121122212121212121121121212112221121211122221212211112211111122211212211211212112212212212222111111111221111212222211112121122112122211221222221111222211221121212111222222111211212112211221221112222212111222211122212112212111211211211211112122222121121112212111222221121121221212211221211121111212111111211122121121222112221122111121122111112111222122211111122221221212221122212121112112211222121122112222122121111122212122221111121112222111211122211121221121222111212221221211112122121221212112222221222211212211121112222112111221122222121122212121121221122222222211111121211212212121112211111122122122211111212111221122122221222221122211222222211222112221211122111222112211212212212212122122221221211212121122112112221211112222211121221111211212212121122121121122112212211212221212111112111121212222222221211221222222122121111211212121222212121222121222122211112112112222222222122211212221112221121122222122222121111111111111212111211211111121112121222221211222111111122121221221212112122221121112211122112111221122222222111122212112121121122111221212111122121111212111211221122112211112222112112212212122121122211122211122121111122112111121221212111222212111122212111212121211221111112122111122111222111121222212212211222111222212211121211111221212121222212121211121111211211121212111121221112112111111121211221122121211122111222122212222222122212221221122221111122212221121221111112111122211121211112112222121221121211211111112212211221122112211111211121112212212212222112111111122121211112222212221212212212222212221122222212221221122121112111222211221121122211212122111222222111111122121122121112112222122122121211122111122212122111221122211112112112221212111211222122221222222112212211211111211121122112221121122221112111121122122112221211212222121211121221211112112122111111111211222212111211222221111211221211222112221122211112221212112212211212112211112111111122211112222211122222112211211211222121112121121112212212112121211121211211211212212112211121121211111221212221221112221122121122121112211122122222112111112212222222121121221222212211222111212222111221222222211112121122211212122111111112212222222122112211112221212111222211211112221212111121122111211222211121212111211121221212211211222122211112121121121221112121122212211121122211122121211211212122222112122211112111222122222121211122112122212112211221221222111211112222222121112221122122211211222221111212221211212111121122121212121111221111111122121211112122212222212121112112212211221111211222121121121111221112122122222121222211212111211122222121222112111122222211122211121121212121222212121122212111122111112112222111112121122212111221111221121211212121121111222111212121212122121211122212121122111112121211112221122121212111221221111221222121212221121112111122122111122212121112212121221221221122121121212221111211222122122211211221211222122111211111121222112222112112111222212111211112111121112211122121121122212222211221121212222111212221111221122121121121222212121112222121221222221121122211121212112121221211222212121122112212211212221112111221211122111111121112122211211122111222212222222222121212222211121221111221221211112222111212211221111211221221211221121112221222121212211211112212221211121112222221112221211122122221221212211212221212111212222112222211212121221212112222222122222221211122211111121211111211122122211212222112122221221112121111211222222121221112122122212211211222212211212221222221111222121222211212121122111222212211221221212121112111121112122211222111111122122122211122211211222121211111221211112221122122222212212121211121222211122222212112121112222122222111212221111121111122122121112221222121212121111221122222121111122221222221221222212221112222221211221121221111221222111121111211111121212122221111112211221112111122222211112111111112211221121112122122121221211212112121112211111221122111111111222212222121212222111112112122111221221221221212122111212121121122111212211222111111122222221111212112122111122221211211212112111121121112221221221222211212111112211212122212212211122122112121122121222222111112111212222222111122221122212211222121111211222122111212121221121112221111211222212111122122121121221211221222221122121222212111212211221111221111112111111222212121112221222221111111121111121111121221111122112222122111121221111211212212112121111212122111112212121111221212222121221112121111222211122212121122212122212221121211121121111212121222211221212222112112221121112112222112221212221212112122212112122112211221211211111121221211111211121112112211121112112212222221222121122121221112112221121122112222211212112221122112121122221122222221222112221121211121122221122112221221122122112222121122112221111121222211122122212111211222122212111111111221121212221212122112211211122211112121212121121111221112212221211122212212211121222112212221122122121121211222212221222212112221211222112122211222222112121112122212221222211212112212122121122121212111122122211212211121112212111211221121221212221112121121111212112212122112111222112111211112212112221121121211211121122121222111212121111212122112212212212121212211121121122112211211212121121112112122111122211111111111111112221211211111221112222112112221212111221122221112221122211221211122211212212211111212111221122221112112222112121222111212112221222212121112221112122122111112111211222222122212222112121222212221122122211112121111212221111211222222222121122221112111222222121121111221212112212211112122121112111221211112222112122211112221211111112212111112221212121121221221211111111122221111212122221221211112112212122212111122121211212121221112222212222111221221111122121211111112112121111222221211221212121212122221212121221122222211211112212212121111221112212111221212112122111221121121221121112222211221211121112221222212221212222112212221222122121211112122212222222212221111222212122112212211111212221212212222112212212212222212122221222222121221112121122121211121212122211111222121212211211111221112212212122212111221211112212211112111112122222212212221121122122121121121112111212111221122221121112211112221221221111121221222112211221221212221222222111122121222221221111121212121221212211111111222211122222111111112212111111212122111122212111111222222211221222121221222212112222222122221111221221122211121212211212212221121221221121122122122111122122111111111111211222212121112122221211111222122212221222211211112122112122111221212221122121111211221112121221221211111212112211221112221212212122122122221211111121111121222211211111121211211212111211112222212111212221212121212221112122122212121221122212212122221211122212211122222121121111211112222112111222122212222122222222122112211122111211121121112221111122222211121221211111222211212112122111222222221111122122211112222112211111112122121112122221122222221222221221122211211212211212111222121221211112112122222212112211112211112221211211211121112222221112122122112211122121111212211211221211122122221222222112222222112112122221121212112222211212212211212222111111121121222121112122122211122122211112212111212211222112212121221211111122121111221121122111222222112211222121121111222221221222111222221111221111122111112112211221211222112122222122221221222221112121211211111122122222111212222221112211111212221221211122111222121212212222221121212112222212111211222222212212211112212121211111211112122121111211212221211112111122221121122211222111121212211221122222111111111112221112122111111121222221221222111222122111112122221212112221111112112221121112212221222211111211212122221112111112222121211122221212122111122111212211221212212222212221211122122121122222111211122122212112122122221111111211211111122221212112212222221222212121122111211111111211212111211221112221121122211121111211111111121112212222111112222212112111222212222121222111112112222111211222212122221221111212211211111111121222112212211121211221112222211112222111221121221112121222122221122211111221121222121212221122212111211112111122112212212122122112112121111122221122222121212211211221222221111112112211121111212221111212211222222121211222221111212212122222121212112111112221121111111211221212212112111112212222221211211222211222122111222222111222122221112221211211122211222112112222221212211221111112121122122211211111221222212111221211111221121222211222111112221222111122222221221111221211111221212112221121112222121112211112211121222121222221122212121112121122121222221211112122112111112222212212111111221122222122122212111121121221212211222221111122221111222211221111221221212111122112221121121122122111221212221111122121211212111211212122211211122122122222221212122212112121221211112112212222221112122221111111211112211211111111122222111222112111212122111222112122122112212222221222222111111211122112222212121221121121111221211212122111222212222121112222212111212212122212111211222221212212212112121222112122122221111111211111222212121211212122212222122221222212222212212111211112221112122121221122211222222111211221111122111222221212212122121112212121122122222121212222222222211212112122212121111121221222221111212112112212122112111221211221221122112221111211122122212212112211221221221121112111222222112221211212212222212111212121122211121111112111112112221121122222111222112122112122221222112111111221211112122122212111211122112112221221212222212211121122222111211121221111122121211221121211111211112211212111222122211112112121221222212211211111111221121211222221222121221122121221212221212212112122211211121112122212211111111211112211222111111222211211211222222122121212222112121112221122221221211221222222211221112222121121111121112212211222122222212112122111212121112121111221221211212221112112121121211111112122222122112122212111211212112122212222121211222222221221122211222122222122222222222111221222211111122212211121211211111111221211221111221211122211222222221112221122222211111221212211211121212122112211112212122221122221221121121122211222121221211211212112121122212222111221112121212212221211221121221121111222121211111111121221112211122112112111211221211222212222211111122122211111221211221122122111211212121112121121221221212111121122212112122222121121211221211121122222112112212111222211112212221112122112222112212221211212222112122222211211111121222111211121111111212122212111122112222222112221211222222221212121122222211222112121212222122222212111212111111222112212121211212221211112112211222112221111111121121212212121111112221212121111212212111221111121221122122122122221211111221221211211111121221122222121221221212211122221121211122112122111221112212211111112112111121111222222122112212111212111211211211121221221122121222122112221222112221221221221121222211122221112212121121221212222122111222212121111222221112211221222111122212222221212121221221211121212121221212112222112111122111111212212121122211222122211212222211111221121112222222122221121211212212121222221211122212111111211211211111221221122111222111121221121222121212222111112121211212221122112111212121112222222111121122221121112121222112211112212211212112221221112222121111211211121222122211122111112221112111111212221212222121211122122112221221112121111112122121212221121221122122111122221112122121122211222122122211111212122121212121212122221122112211211112112112112122211121122122112121221211211111122211122221121122112112212222121221112122222121211222122221212111111212122221121211221111211112212121121221212222122222122222222111122122211221221221222122121122111111222222121221111222211121121122221211212121121121112212212221222211212122122112111222222221112122211221111211222112222212112212121212112122221212112221111212212212212211212222222221212221121121222221122211222222212122221221112212122221222121222212112122221212122121111221212122211112211212122221211112111112221112212111111112221211221112121222212211212112112221211121222212121221222221222122211121112221111221111112121212222212211221221122221212112211112222211112121212112122122112111212211221221221122121211221122112211111112121212211222221211121222122121212112122221212111221121212121212112211121212212212211211222212122122222222112221211211112212112221212212121211111111221121112112121121212122111122211221111222212121112121221222111122211121111221222211211222221221112221112221221121122122212222221112111212211211121221212111222221111221212111122112111211212112222211112211111122211221211211222122121111221111222122112122222222211111122122121222212222121121121121212211112121212111111211122121122111212211212112211122221211111211112222111111112121221121211122222211111111111121122221111222211121122112211121212121121112122211121212112221222211221112111112122122121212211211111221221222121121222111222112122211122121211121111211222122212212221122211221111212222122122121112212122112222122111222121122121211112221211221212221112222112112212211222112221211212221112112121212212211222112222121121111121122112221112121121222111212222111111121211111121211111111221111121112211211222222221111111221211111121121112221122112111112211222222221222221221222121111111112112112221221222112111122112222122221112112212122112121211122122222211221222111112211211221122121122122212121222222111221122211222112221212111112122111212211111122121111212212221112222112121111211122121212211122222211221211211112211121111122122222211212111111222222122212222221112211211222122222122222111212112111122211111111212111122112222222111122222111212111211112112212122111122211122222111212121222212112221111122221111212122112212111111211122222212112211211211222111111221212222121211112112121221212122211211211221211211211111221221211121212111221122112112211222111111111112212222221122111121112212122112111121211122122121221122221122212222111112122121221121222212121111112112122112122221122211221222211222112221121221221212121222111212112121122111121112212122111122211212122112112211111212211122212211211222211211111112112121221222112211111211211121222221122211121222222112111212211222112112111122212111111221121222112222211121211221122212222111122121111112121221121111111122122212111121121121212121121112111121212112112112212212211221111222121121111122221112121212222212111111211221121221211111211111122111212112222121211111212221212212121121222111121121112211111211112222122221111222212112121111122112222121111112221111112221122212112112212112121222122121222111111111211111221211111222121221112112221221211221111212211122122222112211211111122112121121121211221211112111112121212222212212221122122121121221112111221212111222111121121112121111221112122121111112212111211211211211221112212211211212121112111111111211122111211211222221111221212111111121222211122122211121121222211122222121211221111221121221122121222212121221112222222222212122212111221112112112212211122211211222211112222212122221122212211112112212212212121111221212221122111122122212121121211222222212211212221111221221211212112112122111212122112122121111221222211221211212112112221222121112121122221122112211111221112112112221111122221221111212222221212121112211221222121111221121111222212222112222122111111121212222122121222212211212211212222112221122112212212122122212222211111112121111111121221122211211112221211111221112121221221212211121111111212222111212121121112222122112112121121212122222122112222112212222121221121112211222222212121121222211121222111212221112122222112212222112211221112111112211112112211121211222221212122222222121112112111121212211212111212122111111112122212222211112111122121112222211222111222212211212112112122222221121112212221222212212211222222222122111111111221112211211122211222122221222211222121122122112212211111222221212221211211121222212111211112112122111221121112121211221112222211112211121112211122222111221221211122212222222121221212222121222221122122212222211112211111122211222112112221112212111121221212212211122212221112211121211121221211221212212122121222222221122212122221121111112222111111221111121111122211121212211211212212211121112111121221222211211221112221212112222211221212122122221111222122221211221111121211222211221121121111112111121211121111221222122112211212122221212122221122111112122211221122121221122212221222211122121211111222111111121112211211212212221211111211212112222211121222212121222211121221211212221221111222212122212221212211122112221221212212221122221111211221221211122212212222112112111222222212212212112212121121122222111111221112122112111212221112221111122122111121211211221212212212112121111222212121221111212211222111122212122122211112111121212111212121221122212112122112122211221221221222211222212122122221111111122122221122222212111122111111111121122121222122112212122121122121211122211111122212122122111211121221112121222121112222111222111122221222122121212111111111111122122221112111212211211112211212221211212112112221221122212111211211221211121212122122212221221121221111121112121121221122122122212212121112221221122211211222222121211121111121212121212122221212111211222221111122122122112211221221211121212111122221112112112121112121111211122212221121212221212221121211111221211211121111122212111121121122121221122222222121211111221221121122112111211112111222222122122111111222212112112212121222211221121112222122122221211212222211211222222112221111122122222111122222111221212222222111222111112111122221112212122122111222221111222112211121221221121111221112121122111122211212121111112222111111212112121212111112122122112212122122222121211111112211221121211111122222222111121221122222212211122221212122121111211122112121111121112121112211121212211112212111222212221221222111122121122121111111122122222221221212212221121121212212211121221211222112212111111112221212211211221212221112121111211221222122211112121221211122221121122212111221211222121211221221112211122222111111112122221212111122121222222221111121121212112112122221211221112221221222221211112122222111121112111121122211221122222222211111222121111211122221122122222121111112122221122122112221212112222122221121121112211211221212221121122121122211112211211221121121212122211111221111112122122222222121112221222211111121111112221222111211122222112221122111211222121222112222222122211111121211221112121111211111112111121122222221111111212121121112122112221221221121221222111221211221221111112111112212112211221211112122212111111211212122221212211211211222211111211122212221212221111221121121222221212222211121212221212211122122121111122122222112121112111121121121212112221122221121111121212212222121111121121211211111111122211211111212121222111212222211121121212212222221112121222212121211222112212211212122221121121212221222222212121112221221221122112222221221112122112222221122221111212211211122221122122211221121112221221122111222211212222122121122221111112112111222212112211121221212212211111221121221111122111122111122212112112212111222221111112122121111122122211111211211211121211222211221222222122121122212122211211111221222221212212211221121211221122111122211111111212111112121222221212121122221111112211122112211111111112122211121111222111111222222121122122122121122112211211122221112211112121122221221121122211222221221222211112111121112111112221112221122121212111222122121112222211221122112221212212222222111221121221221122112121122221112111212212211221221121221222211121122212221112212222212212211221222222222121121122221211111222122112122212122122112122222111221221222221211112222211211222212212122112121121121211221121121112122112212221111211221111111111222212222121221122112111222111111221222222212221112121212122212211122122221111222221112211112122111121221211111222121112211211112122212111211211221211222212111121122222122111211122212112122221111122221222212221111111222221122221121111121222212111122222222121111211221211222122222111221221111121222121221212122111112211111111211221122221122222122121122121212111222212212122212212222222112221222221121111111122121211212122121112122222222122222211112211112121221122122112221121112221111121211111121222211211221212222122211121212122122212112222221121222211211122221212111122121112112111211221121221121221221212111211221221222111121121111121111212121211122211222121121112111122111112222222212221211211211212222222121121212122211121122212212212211122221221221112221122122212111211212221111121221112112211211111112121122212222211111222122112222122112122111111211221221121111121222211222212212222112211222212111112111211222211111222212211111211121221121122211221111222221111122121211211122112212222222221221122211211111211211221222222112112222122121212111122222211121112112221221111222211121112112212221211121212212111222221122122222112121122121121222111212111222221121122122221222211111111111112212122122122121121211221212122122212211112212221121111121122122122222122212111111122112111212212212122112111121221222122211222121122111212212122221222212112112111122112111122112221212222211121222112211222121212222122121112212211122211222111111112111111211222112221111112221122121211112112222122212221112221121122111112112222222212221221211212111222122212121212221121212112112222121122222211122211122121111121221221212111122121222212122111211212121122211221122122222211212121222111111111221122121121112111121222111111222111112111112221222212112221121122211111122122221112212212222111212211222212212212222222222121121212211222122212122112112111221222222121211111121111211221111112222221112221211221121122212112121112222121212211121112222211212112121121122122212212121112212112222212111121221111221111222211112112212111212221111112211212211112122222112121211221121211122112211111111122111221211222111222121221112211112211212122121112121111122222211222221221121112122211212212111111221112212212121211221212221112212111222112212211212222211212122111222211121111122212112211121111122111111111121112112122212121212222222212211121222221112121122122211212212121121211222122212122122211212121221122221111222111212111121122121211112222212221112112221211121111111211122221121222122112222112211111212112122122222112221221221212211121112221112122122212211112212211212122122112222222121211121222221121221211111112211221211112122211121221111211122122221211112121122112212121211222212111212122221111122121212221112221221112221211112221221111212222211211111211211211212211122211122212111222222111122212121212212121222212122122221112121211212111122222111221112212121121122211122212212111221122222221122221212121221121212122211111122122212111211121211122222222222121222221211211112121221111221222112121222222112211121121222211112222221222121222112222221122112121212222121112212111112121121122111112212122212112111121222111111222221211212211212111112212121112221211211222112111121222121121122111111212221122211222122212211112121211222112111121222221222111212212112122121222111111222221121112212122122111212112122212122222122122122112122121211221222111111221121211212211121222211212112222222221121211212222222222211111122221222121222122221212111222211212111211212212221221111221222212212121121122111222111212212221122121111121122122111211111122122112222111122212222221111111121112112222211212212112211222112111112212111122122221221212222121221111122111212111221222221212112122121122212122221211221211211111212212121121212111111121212121112222122112111121122121121112222221121121211121112212212122212121211222211221222212122112122212211122211112121111221211121212112121122121211121111121121121212211112222121221112212222212212112212211211212221212222221212222212111211121212221122111212222111221122111112211212122121112212211122112222212211222221112111111121212122211111212121112222221212211122211111221212111112212111111112122122222211111211121212122211121112221122112122221121211111112122111122121222111212122211212122222222221122211122122212111222122112212112212222121221212221111112212222122111222111122112122222121221112121122122212211112121222211112211212221112121222112121211222212212111112211112112222121211121221112211122211112122211111222221222121111112221221121121222212212221111112221222211112221211222121212222122111121112122121212112212211211222122121121121221111111212111112121222111211111211221212111122222122221222211222221212122122112222111122121121111222122211122221112121211212121111111111111122122111121212212211112222222212212122222112221212211211112112212111211212122211211121121112211112211112222211122212112222112212112112122112112112111211112111111222211211122222122111112222121121121122112211122212111111222212211221112221211212212121112111222121212222212221212212212122222212212222211122211112222211112221222211211212222221221222121222112221111111211111212211221121222122221112222111122121211221122111211112212121222122122111221122211212212112212222211212112212122212122111121122211221211212222211212212122112122122212121211111112121121111111121111121222221111211111212212222121121121211121212222222221211112111121221212212121222122212221212111122212211121121111221221111222111121121112122221211221212212121112212212212122222222122221222221121211211222221111111122212111122211211221122112121112212222111211112112112122222212112212121221221122122111112222121112111121112212211122212122221212112122212222111122212112122112111221122212212222111222221212122221222222221211211112111122121222112111222222212111121111211211222121211212222211212121222121211221122212112121211122222222111121221111112212122122112222212111211112111121112211211221122212221221222222111211111212111111112121122211221122221112221122122122112122221212212111222112222221221122121211121121122211122122211212222111122122121211221212211211222122112111222111212212122111212112222211211211122122112211121122212121121212112222111122211221221212212111121111222211211121222111211121212122222212212211212211112212222221112211122111112121221112222112112122212221212122122112222221111222122112211111122211112222122122121122221121122122212211122212211121221221211111212211112221222111211122221212121222122221112211122111112222111111212122212212111221122222222222112222122112121112122212111211212122111211111121212222111221212121121112212211122111122111212122112112221122211211211222222212222112112121212111211211222112112212122211211222222222212111221212212212222112111221112121212122222122121111222112212211221122221112212121211111222222111121111111221212211222221122212112221222222111212112221221111121112121111212121121122212112122112121111212222212121122112122212212212212112212121222111122111212111212122221122122111221111111212211211112212121111112221112122222122112222221211122211222211122222121112112122111112211221221112211121121212121111222212111121211111112222222221121212111212222121122222121211122121112122212212111122111122121222222222212222111211212112222222122212212211111221212122212222112211222122112121222121221222212111212222111212111111211222222221111211111122112122222111122112122221122222122222122122212121222112122211212121211222221222221111222112122222121122212221112221221112222112222121111122221121222211211121111221221122112221212212121222222222222222111222212212222111212111121221211211221211121121122222122222212111111211211122212111122211112112222212111222121111121122221221121211221221111212111221121122212221112122112111121122222212221222221221112122121222121122221111212211212211211221221211211112122121122121221121221112221121222111122122221222211122222112111212122122212212212112121211111212111121112212221111221212221211222221212111211222122222221111111111221111212122222121122221221111212112212211121222112111122221111121221112222111221222211122211212211121221121222111212212122222121112212222212122212211112111222222222211121211221212211221121122111221122221112222112212212112112221122222112122112222222222112221221121112121112111211212212111121121122222222211211122221121222222111111222122211222212222111222122122221221211121221122211121122211212222222112111122122211212122212221111211122221211121121221212112122211222121211211121222121222211222221111221122112221221212122122212212112212121112122122212121111222212221222221211221111222211111122121211211112211212212212122121211211222221111111211121121221212212122121212121211111211221112111111211112212121111122221112221111221111212111122221111222212122121112211111121221211212212122222221121222222121222211112111122212121212121122121111222112211221211211222211122222121222112222122122221211212211211211221211212112121212111122212121112112222111221212222112222121211111211121211111212121121122111221221112121221121121121211212222122121122221111222121212212111122212222211211211112121122221211112212121111211111222211111121111112211121112211111211111222211211221222222221122112221221221121121112112121221122212212122212221221121122121212212121222111121121212111111221111111122122112121121222221222221222221121221212212221221121212222121212212121211222221111212211112112112121121221211221112212221112111112122121222211111221221211121121122212122212212222122222122122121222221222112121212221122221111122212111112222111112212121211122122112121211221212121111222222121212112211122212212222221222211111121112221222212212122222221211111111112111212112222122122121121222121222112112111211121112212212121212222211222222222122212111222111121222122122211222212112221222222221122111212122121221121111121211211122212122121221122112222222222121221112111122121121221222122121112111112121211212211121122222122111222121212212122111222111122211211212121212211211212211221122111121211111212112112222122222121212122212211122211121212112111222211222211222121121112211212122212211111211121221121222222122112122211222211111112112221212212221111121111111112121211221211221121222112122212121222211211211111121222121122121121212111112112221112112211112112111212112111212122221122122121111221122111212211121211221221112221112111222122211222122211122122211122222212211111112111222221222222212222212221111122222212122121122211112111222122221122221121212212222221111112221111111122221122122111212111211221122112221222122221121212212121122211112211122122211111211221112212122211211211221112222111112221112222222221122222211121122211111222111222122221222122122221211121211221121121111112122212212211111212222121212121112212222211212222111122222212122121211212111111212122221112121212222112111112112111211221211222221112212121112121222111121122211222122221121111122121122221122211122112111111112122211211111222222112221221112221122212222112112211111212211212222112212211122212221121211121212222121121121121112221121222121121111122211221122122112121121121221111221121121112212122111221122211122222122212112211122121211211112211222211221211121211222122211212121122111122212111212211111221122212112221121122222112221212122121221221111211221112211221212111112121212122211221112112121121122221222211221211111112222221221212222122222122222121212121221121221112121122212211212111111211122112111222112121111221121112212211111222221112211112211212122222221112121111111121221222122121212121222112212221221221221212111112221211212111121112212121112112212222112122121112111212222212212121121211212221121212221221211121221121122212221122221222221222222122112111211122211211121212221121211221112121222222222211111111211112212122111211222111112112111122121221122222221211122221112111112212222222212112121121211212112121211122121222112222122222111222122121111222111111122211122121122212112122222212121222222122112221221112211211211212112221122121212212211212121221222121122122121221222112122122111122222122111211121121211121221221112122121211122222221112222211222212212122211112211111112222212111222212211111211212212122222222211211212122221121211212222212111111122221222121222212122211121221211122121221221122222212221212122111111121222122112212112211212111111121121212211211121112222222122211221222212122222112111122112121122212111212222111221222221112211122221211211111112111111111222221112211122221212222121222121212121121111222211121112122221211112121211121222122112121222121222221112212111222221212111211111111122212221122222111212111221222112122212111211112121121212211111221211222122221111222211122121111212221222111212121211121111222212212121212121112211111222222122122122211212122121112111111222112222112112222211211211111122122122212221122111122122122212121211111212212122121111221221211211222112221211112222122112121111221221222111212121112122111221211121121112212211121212221111111122121221211112111211122121111211222212111112122111112221111112111112222212122121212221211212111212121121112222221122212211212221221211112112221212211111112221121121111122122121121112121221222212122121112112211112221211222212122121122121111122211122111112112211211222222121112211211222222212212222211111212212111211111221111112211122111212212221211112222112212222211112121122111111212121212112221122212212121121112211222112112221112211111111222221212111222121111222221222112212221121112112222121122121111111222111122122121212222112211112112112212122122221122112222211122221112212112212211211112211222112122211222121212211121122222121221221211111111121212122112212122111212212211211212122112212121122111121222212122122212212221212122121122111112112221222111212122221111221111221111122222221122122221221122112111112212121121222121121212121112211212222121221111222211112112221212122111222122112122211122212122211212212221211211112111112221221111212111211122122221121111121111211221112111211122112212212122221112122111112121112212121211221121111222211212122122222221121112211122112121221112211112112211212221111121112121111222221212121111211122112211112112212222222211221111212111121121121121211211212211222211221211221221222111211112121211112121222122211112121211112221111211211222112211111222221211112122221112212112121221112211111222222212211112212212122222212211222211212211211111221211111211112221221222122211212221122122221212111212121212222212111222212212222112111211222121111122212122111221212221112222212222111121112111221112112221111121211221211112221111221112122111121112112111211222211121111221122122221222211111222121221121122212212122122212222221121122212112212211222121212122111211112122122222121111212221122121222211122222222212221122221112212211122111222211121211111121211222221222121111121222112122212112112121111221212122122122211222112211211121111221211221212112121211222122211212221211222112211221212122221222122111121222121121211112211212112212112111111212211212211122211212121212212122221111211122121112112111212222211121121112212112122111211221121111221211211211212112111211212111212221211122221222211121112111211122121222221222121112211221112211222211112221122212222212222121222122111122212222211111211221111121221221121222121121121122212121222111222221212121212211221211222212221221221112121212112112121111222121122112111122221222111121111222122221212221122211122121221121111211221121121221222221212211111221222122112121111122222122211221221222111121122121212111211211111122111121211111111121112211121111111122211122112121111121222121121122121212122212112211222112212111212111122222211212112122112211121122112211221112112121112212221111211122121222222221212112122111211111121222211122122112212111122122121222221121222212221212122212212122112111111121211122121112222121211222121121111112222121122111211112111222122112111221221121222222221212112222222111221211121212112221121211121212111122111122211221121211111221222111221222111121112212221122121211112211212211122112112211211112121121221212112212122121111112111211222111211121111111111221121221221221122112222222211212112222112211221211112222112212122112111221221112111122211212212211211221212122211122221122211211212211221211222222212222221111211111111111221111111112121122111121112222221122222221121211112211222211212211111221122112112221211222222122212221221212211122221112221221122212221221211211211112211212111121222112122122111111222222222222122222122111122221222212122222121222221212211122112121222212222221221222211122221222221112212121122212222121111111122222211122111112111111122121121222122122121122212222221211122221112122221111122211221111121122212111222112121221122212121122212112211221221211212112121111112121122221211211212121111122212111221112122212221211212222112112212211211121211122222112122211121222122122221221212211111122221221111211212111222121222211221112222121211221212121221112221121121222122211111121211121111121122111212211112111211121121122212122121112121211111121221212121221211221222111221211211211122122221211122111112222221121212111212221212121221122122111122111112222122122111212122222211112122211112121222212222211111112211122222221222221112111211121221221111222221222222212222222112112122111121221212122122212121112112221221222221122221212112212121221122221221121122112111121211121221121221221121112221222121212122222222212122212222121122212111211112122222211221221111121121212122222112112112221211112221222112112212211112122212122211221221122212112121121111211112121211222122212222112122122121222121211112221211221112221211121211111122221211212112111222222112211121222121222111212221221212221112221121121221121221121122211212211211211112221221121112211121112122222221221221222111111212212222221121122211211122111121112221221212212211212222112222212111121112221111212112112222121121112222221221212212122111222112122211212211121221111222212221212122111121122111211112222111221121222221212222122112211221112122122212222121122111112122112212122121211211212122122122211212121222211122212211221211211112121112221222221222121211112122221121221222211121212211211212221221111222111121122222212121221121121221211211111212222121112211111111121211211121111122222111211112111211212112122111222222111111122121121122221122212212211111112221111221121222222222211122122121212221212211122211221212211222221111121212112212211122121212122222121122111211221122111211212211122222212211221112111121122122221121221212211121122212222222211212212211112222212212111122212121111122122122122211212122111121211111222122112112211122121212121211221122212122211221221111211211212211112111122121112211222211121111111122122122221222121122221211112121222111122112211222222221122112222122112221111222221111222212111111112221221111112112112212122122222121111112212211221212211222122111121212121212221211222111112212212222121211111122111212222121121212122111122211211212222222121212112221222111211222122212221112111212121221211121112221121112122111211112111111212111221111111221211121111121212212222121212121221111112221221122121221211211212211111111122222221221211121212121212112122111122111122222122221121121222212121212222221212111111121121221222211112221221111122112121222211211111212212212212121112111121212122222122121112221111222122121122122121212211212222211222221111111112222212122112211121222112211112121211212122212112122121222211212121121222212221222111211212112211211121122222212222221122212122112211111111221221112221222122111112122211222121122222111111211211222122121222211122121111212112122121221111122211122122221111121221211122221112112112111121112122211112122212211222111222221212111121211221112121122112111111222221222222121121112122121212211121112121221121222121212122122211122122111221222122211111122112221111111122211111222211122112121212222121111121111112122211122122211121221211111121121122221221212122222111121222212112211112122221121212122211121221222211221112112211122112211222111112121211121222121112222211122121212221212121122211122222212122212122112222211211121122211222112221221211122121112211212122211211111122221121222212111122121222222122212121212222122112221121222222121111121211121211121222211221212112121121212221121112211122222112122111211121222121221122211121212212121111221112211212111211211212122121211221222222112222122122112211212121221211121211121211212111122112222112121222212121111121222122112212211211211211211111212211221122122122112111122222112111212221122221112211222222112222122212222211222112121122211111222122212222212111211222221111111222111212112211112122211112211222212111122122221112221111121112111122112212212111212212212212112221211122222122122111211111222222212111211212112212222221221111221222122121111112111211212112212222122212121211112121122212111211122212122221212111222122122111121121211221222112211211111111122111221112112121222211221121122122221111122222221111211112112111222121212112221211211122211122221212221222122122111112221121122111222221222121222112112111121212122122211221111211211111221211222211212122211221212211222212212112121212221211222211222122212121122122211222122111111221221221111112111221222121122211221122212111111121121122111222112112121212211111112211121221222222112221221221121112222112122111222112221112112111122212121112222212122122121121212221222212221121221122111111121111212112212111211121121121111112212222111221221122122211212111122111112221111121211122222121121121221122122211211211212211211222222121111112212122211112122122221122222221121111222212122212221122211221211211212111211222112111121211212222112221121212112221111221122212121222112212111221222111122111222111111212121212221222121111222212122222211122111121211122211112122222112222121212112121211211222121121222212122112112122222121221122211211211121111212222212211112211111112121211111212112212222211212112111222222222121212211212122221212221121112212121111122211221121221221121221211111111121211111221121121121122212111121222111122121212121212211211112211211112222211222112112122211122122112121221211211111222221222111121221221111121222111221212111212212222112111212221112112112211122221212111212121122212122121112212122111221112112121211121222212122121111122222221112211111212211222122111211111221211212222121222121111121222222222122122222221221222211212122222122121122222222221121121222222211221111112211221212121112112212112121122212121122121222222211121222121112222112222122222221211122112112112112222111121112221122222211221211221122211112112121212221211222211212122112221121111111111222111222221112211112121211222222221121121222212221112112212122212212122111222111222122221111212222112221221121111212221111211122221121121111222211122121112121211112112121112222221122212111111122112122212222212211212221122211112212221221111212111112222121211111112222122211212112122212122211112221211121222122122112122222112212121121121121212211122122221221222211111112121111221111122211221221211112212122222112112111211222221211212212122221211121111212111112212121112222221211111211222121221222121212122121212212122221211222121212111112111122212112112112122112121112122221211212222122111112221212211121212112122211111121122212211112112222112122221222212221111122222221212211221221121112112212111112222221221111211121221212122221212112221121222222122211122211221112212121112212221111211122121211222121121222112121111111122222112111111221221112122222111222121221222111212212211111212122121221211122111112111222112222222222222112221122122121211111121211221222211121122221112112122212212222122211112122122121121211212221222222212111221221121222212212111111111111121122221221122211211112111121211212212121222111222122221221111121122222121122222221212122221211222222121212212221111121211121221212112121222212112211111222211112222122111222211122221212112222122122111222212112211121122211111111121211212212122212211111222211111212221112222211122112112211112221112122211221112211211221222222111221111221122221112121212122111222212212211121122212211211112221222212121122212221111221212121111222111111221122121112211211211211222122211122211211121122121221221112112122121121112211121212212222221211111211111112121122221122211112221221121112221111212212211111221211121112221121122122122222111121122112112111112121212111221221222221121222121211212212112212111222111111112211122122211211122221122112111111222221221111121121212212121212222222112112212211111222222221211222221212211121222212111111211122111222122111212122212121111222221122211222111212121122211111222222222221111111111221222212211212212111221212111122212222121121222111112122222122211221221122211212211112221111212222222121122111111222112221222121212222222111212222112122122121222121221121221222111112122121222122211221112111112221222122111121222211122112222211211212122122211122222212122112122112212111122212111111111111111121212211221212122112212221122212121221212211112221111212122211121122222212121122212121211222122221121221122221112112212122122212212112222221211211212112221212112112211111122212121212111121222111112211122221121112221112221222111122122111222111112212111222121112221221211121222122222122111122222121222121212222121212211121221111112121222211212111222212211211111221111122111212112212222211112111222112211122222221222211211221212212112111221221112221222122212222121121211212111211212211111221212111222111112122221212121122122212121212221212121211211122111222111221121112112122222112112221112121121221212112112111121122222212121221221221122211122122121222212212222112221222121222121122111112222211211212211112112221211111112222122211221211111111112212212111222222212111112112211221122121111212221111221211112121121212222221211221212112121111212212111212121112122211111211111222212212211111212211112121221211222122112211211122212212221121222122222112122111111111211211111211211222111122111111121212122111221111221111121121122211112121211121122222212221211112122122222122221222222211212211122221112121122212211222212122121211112111122111212122212122121211221211122222212122121221122112121221211111222121122122122221111212112122211121112111121122112112212222222212221112222122221111222221122211212122122221212212211111111121112212221112111111212222221122222211222122222222221222222222212212222221221121121222211122112122112111111121122121221121221222221212211112221212111221112121222211112121222211212222222211112112221122111212112221212121221121221111122112111122112221121211122221211211212121211212111112112121211111111112121222221222221212222221111112212221121122222122122222212112112212212222112221212221221211111221111121112112221211122122111211111221111212111112211212122212221121211211112221212111112112212211222212212122211221212122111112211112211111221112221112111122121211212222212221222212221212222112111112222122112211111112221122211212112211112222222221122122221222211112212211212222121212111212211122111211222121221122111121212222122122111121211122111211221222111211122212221212121212112112122222111211221221221112122112211122112111222212211112121122211111211122212222212211121221222122212211222122212122111212211122222121212212221211211112121222211211212211211221112111221221112111222221222122212111212112212221121121222221121111221212112122211122111212222121112222221111122221111122221211111211211212211221221221111221212221211112222122121222221121112121221111111222111111112111122122121122112122211111111121221212222212111121121222121122211222121222212121112221111211111112221211112121222112122112221221121211222122211211112122121111111212111111111222111121222111112122212212111111222122221111211222122122122211112221211221111111121112111121222211222212212112112121221111212212121211111212222221212112221221212122121221112121122122212111121221212111222122222211121111121111221222222112211221121221222221121211221211211122122212112112212222222212112222222212111212222122112121121112211112212221121122111111212212211212211121222111222222122221122212221212111222121211121212112111212211222112121211211212122221112211122212111112122122211111222212112111121121211211121111211121222211111211111212212211211111121111121222211221112111122211212222112122111222121122221111222221211222211212222112111212222211222122211121212112211222121121111212112121112211212112212111122221212122122121211222212222221122211212222222221222222111111112211211211121212112112211112112212111212111221221211222221212121112121211121122111212212222221112222211111221221122221222212112112121221122212121212122212222221111212222122222211222121212212111211212112122121112111122122121212121212121122212222122111121212212211121112212121212111212211211211221222121221212121222212111211112222121212222211211222111112111222121212122211222211121121211212221112222112122222211121111122211111211212212221111211221122211122121121222122222121112111222212121112121121212221111122221212222121221122111222212221111212112212212221212111112212121111122212112211211122212212121111112112111112122222211121221112222122111111112122211122212222121221122122112112221212221211222212221122112212222111212222121122212121221112112121221122111221122222122211122111122111121112121111211121112122111212111121112122121211221122121212112212221221221122212122122212222112211212211121221111111122121221111112212112112211212121112112212222212121121121122211112121222122122222111122211111212221111122212121211211211221111122211121221122122211122122222211212222221121122221111212222111122221122112112111212112211121121222222122222212221222122112122112112221121111211222212222122222221211212112222211121222122111112211122121212222121122211122222122111121112121222211111211222121112112121222222122111212212112222111112222112121122211111111121222122211212221222122211121221221112212221111211221121111211212112222221112121121112212212212211222221222111112222212111211221121222121121211211122121212112121211211112212212222212121121111222212221112122211221211122212211212221111221211111211121221222111121111111112111111121122211111122112222121112212221121122121121111111111211121112212221222211222122121122122211111221111121111211212212121112212111122122222222121121122111222122111122122121121221221221221212121222122222211211122112222211212111212111222222221121122221121222122122222112121122112222112221111111222222112112122111112211221221222111221222212221222111222121212212122221212121121112211222121212222122221212112121112112222222222211211112121111111112121211122112211111121221122211221112211221212111121112212221211222121222112211111212122221221212211112112112121111212121111222121221122112121122222222111112212222122121221121122222222112111112211112112212122212221212211211122111222222212211222211221212112211222122121212112122222122212112212112221122122212112122211211212211211111212222211122212111122212222212112112122111212122211212211121212222212122211122222211121121222112212222121222221222211222212221221211112212221122111221121121121112211212221121121122121211212211112121222112112221211212211212221212222221211211112211121121221221111221212122121211222122212222221212211221212212211222122212121122111112121111212112222222222211112211212222221212211111111122112221111112211211121111111211112221112122122212211212121221211222222212122222221222112221112122111122122121221221111211222122121212211221122222111221221121112212212212122212221112122121212111211112221211112221122121211122112212122212122211212212112122121112111221121121122221221122111222221222222122111211112222221212122222221222222221211221111121211221221221112221112122122121112121222121112211111111121122211112221111221212112212111121112111111122211221211212221222122222222111221221122212121112122111211121112121212211121222112112111212221222221211121112112212122221222222112211122222221221221221121122121212121122222121122122122212112211121122222222112221121121111211122121221211212212222121112222212121211121121121221121112221112112112221221111211122211112221121221221121112222111111122222111122211212121221222112111121211211122222221112211221121121212111111221221121221112111222122221121112211121111212221212121211221211211122111211222111212211212221212221111111211211222122122211111112212122122211111111112111222122112212222122111121111121121122221111221121211121112212221121122211122111112111111112211112212112112212211222112121222112222111111222112112122211122111222122121121111211111221122112111122121111121211111222221212112221122122121122111211112212212122112221222122112122221221211111112212211221122111212221221222122211221211122111221212221221221111222211122222122211121122222212221211211112111112122211212112222112212112112121112112212122122221111112222112211222212111222222212111222221212122222222212111212221212212122222112112212222222122122122221112122111221212211111221121211121222122212122122221122211211222221122121111212222222112222222112111112121221212112211211112221212212221112221221211122121221122222121112222121121112121121122211122111211121122111222122221212222111212222211121211122121121122211221211111212121212212121121111122221121211221221121212211111222212122111222212211211212111111222221111212121222112221212211222212111112112122211112221112122121221121221122222112122112122221112212222211211212222121211122112212122212212112212212112221121121111121221122122222111112222221211111211222221221222111222121212111122211112221221112221211211221111222222221122221122211221111111222211121111222111122221221111211112212112122212222222221212122222211121111122122121212212222121111112111221121211121222222222122121122222111122221212212121122111122121121221221111122111222122112221122111212222222121221221211111221222211122122211211122111122112111211111211122211121221222222112221221221122111111122122211211122112212222122212121111121122121121222221122111111122121222122111111212222212121222111112121112112122122111112112111122222111221222221112222111211111112212212211121121112221211122211221211112212112111122122111212221121222112211111122121221221221121211212211121222211222221222212122112222222112122121212111122112112222121111222221222221121211211111211112221112222112211112111211222121221211112211211221121111121212122122221122212222112111222222121212221111111212122221121112212211221211221122122112222121211222122121112112121122222221221221222121222222221122121111112112211211112112122111222111111212122221121222112221121121211222212221221122211222122221122211212222211111121212222111121111111221222121221111222111111121112122112211211121122111222122111112211122111121112212211211121122121221221112222122112121211212111212122222222221121212212122112121222111222211212221111111111211221111212121122111222211222122211122121122122122122221122211221222211122121222221221122212111122121111222221121121211122122112112112212111122112222121212111111221112112221111111111111211122122122112122122221211121211212111211122112222222122211212121111111121112121122222111212112212221111212212111222211111111221211122212122221121112221121121221222211112112212221111212212121121221212222221222121211211111221121121222221221112211212122121211211221112221222221122111222122222122111122212222122221211211221222211222211212222111122211112211122122122211211221222212211211112111211112121212122212211221122112111111212222122122212122122121122211111121121112222112112212111221222212121222122122111222122221211212221222121221111212112112212221122111221112121212222211211122112111111121222121211221222222221222212221112122211122112111121222212111111221211112121121222122111111221111221222212222222211211111121221212221212122221111121211211211111112221211121122212222111122221112111121111121121212212212212121212211211111221111112211222221222222122221121222211121211122112121211122221121112122211222211122212212212111121221211121122122212222221111112212111111212221121211212121121122221211221221222111111121121222121221122121121112221111212211211121221111111212212222222112111211112211221211212211112211211222212222221112211222121222211211221221222121212112111212122112222211211122222211211121111212211211121122112212211112212121111221111212212221112222211111111121222211221211221121111221121111211121112222222221122212122121121111211211222112122221122221211112211221222221221221122111222112222111112222211121112212122121121112222221111112112122221122222112121212212121122121121121221211111121111121212222222121111221112211122121122212221111212212211121222112111211221211122111122112222122212221222111221221221122121111111222111122221221111211121211122222212212212111222221112122221112111121112111222221221212111111112212111212121222212222112112221111111222221212111211112112212121122221112212222111121221111111111211222122112121121111211222111112212122111112121211222212221221211112122211221222122222212211212212111111211112222111121221212211112111222212122211121111111212211222121121122121221111121121111121221212121212121211121221221111111212212122122222211211212211121212112222121121112111221221222212121211122212121121121221211112222212221221212112211112222122212212222211121112221222122111211121111121112211111112121212121221221222122111111222122212221121212112222122221112112222212222112121122222222111212211212121221222111122212212212121112222222222212221221122222212221111122221222122121222112121222222112111121221111212111211221111111211222211121112211111212112221222212112221121111112212112212121111111221212122222222222221122211112221112212222122112212212222212222212122111122121211121221112112221221122212221211221222121122121122222221112222111222211221211221222122121112112211212112111121222122211111121221112211111112111121221121221211111221222222221112221122121122112112212212221121212222212221112121112211211211122121122212222112211221112222211222122221122211121212221111221212222122111221121212121221221112121212112221122221111122221222212211122212121112121122111211111211122221122111112111121121221122111221122121222222221211121122212122221121111111121122112222212121111121222121222122212212112211111211211211122122211112112122111221212222121212211211111222112121222122221222222122211211221111212221212112112111121112212211122212212222212121122112221222211111122221211122121222122121112212221121111122122221122222112122112121121112122121111121222121112111122212112112221221112212222222111222121121121111121222121122121222221211211211212211121111221121211112222222111212221212212211111111121221212222211212222212112221121121121222211112211212121122122212121222211222212222121211212212212111111121112122112121221212121112222221112111211222112112222121111122122122112221111221122212121211211112212111211222221121221122111121111221221122111121112212221212112212122111112122211211221222121111211221121211121121221122211112112121111121221212111122122211112222112222222221121121222122122111211222112212122212121211222211111121221112121211111122111121221112112121122211211211122122221222222222222212212212222121222212221212112111221112122112221111212212121112222122112111111222211211221211221121112212122212212112211112221212222221111112122111212211121122211121112222112222221221211211111212111221122112221211112222111212121222121211111211221112112122111112221221122212212222122222222121111112111111212121221121222121212111111121222111221212211111111212212211112122222122122111121222112111211222111122121222121221221212221222212222122221122112122212121111121212122212211121222211222222211211122112111122221122112111111212111112111221112212111112211222121121211221111221222221112112221112211112111212112122211221211121221122212111221221211122121212121121221212222212111211111211112122122112212212221211121212122221211111221221111112222121222221221121222122112111122212112212112122121121222222222111212111211122212112121112122211122112212122211211211111222121221121111211221222121121122121221111221112211112221112112111222122122222212212211221121212221222122112222111111112112221222212212221111111112222111111121221122222211222221111112211211212112121211212222112222212221222212111221122112212121212112111121111211121221111111221222111222112221222221112122121212221212112112111222221121211121111122111111121212222112212112212212122111211221221111122212121222112212121211222211211112111222121111121222111112111222122221222111111122121212121111121222111111112122212121211112122221212221112121121212221112222212222222111112112222122112121211112121222211221122122121121211122221122111111121121111111221212222221122121111212121121221121211122222211121222121222211112112111122221221121112112112111122212121112112121211121111222212212212121211222111211122121121221221211221111221112221122121111121211222111122221121221212122212112212222121212121222222112112222111211112111221211221121212211111121212211221112222121122121121211212121212112221112212212221221121121121211211122211212122112122112112111222121222122112122121111122222121112222212111212222222122111122212111211111211222111212221211222221111222222122221121221112121211112122122112212111222121112112112222222212112111222112222211221222111211112221222222122222212111121121211111112122122221212111221121221212122212111222212222121211121221122212212212211122211221211221211111222221111211112212111212212212112122222112112212112212111111121212112212221222211222122211121221212121211212211222111112111111221122212111212122121121122211122212222112112122211212121221212122222111121222122111111222212122222112221211111111222221212221122112212221212222112212221222121221221211121112122221112122221112211222111222112111112222212112111221122211212212122222212212221112122221212222212222211211121122221212211211112211112121221222122111111122222111211212221111112111112221221212212122112112211112211211212212121212221111222122212211112121111222122121112212111221121122121211111112221222212211211121111111221122122212112112211111112112121111122111212112212212111222222221212222212222122122221122212212111212211121112222122211212121111221122212221212112121112212121121111212222112121221221221222212111122111122121112211121212112111111121221111121222221122122221211211211122111221222112121122212222211211211212212111121111111211121122112112111112122222211112221212211221111111121112111222212122111112222212111121122111211121221211112112122112211122221121122122112222121112121211111222121222112212121111222112211122222121111121122222122222222221212212222221222122211222111222122111212111111112221121222112121121111122112111111222222112111211222112221222212121211212122121211221212121211122212122111211212212211222122122121122211221211222221112221222111221111111112221221111121221221212112121221121111112212111222211121211211212221222222122112111212212222111212122111222111111222121111111122122121121111222111211112222221122111222112211122211122222121112211221112221212112211112222112111221122111122122122122221111211122111122212111222122221211112122112212121211112112111112212121112221112112212121121121221211111111222112111121111221222112111111212122221112112212121222121122222212221121222221221221111212212111211122112222221211212222212111121122211211212221211112112121111212212222121121122222122212122112222221111212122221111112212111211121112211211112211121122221112111222221111222121221221121111211121212111222222111211211111212211222121212212121222122111222211111121112221112212111121121121121111211212211111222121221212212111122111122122122221112121222222121121222211122112222121111122221222112111111121222122221121211112222221122212111212222212221211122122112221211121122221211212222211211112212221211221121111121111221111122221122122121211212121122222222221122222212121121222211221121112222111211122121212211222212112121211221221211111221121111111122111211221121212212122221111111212211221112211211221222221121221122112222111122111111212212122122112121112212111121111111111211121121111221122221121112211212212221112121212211221111221112222211111122221211221221212112111111222112221121111221121211121121122212122121112221221221121222122211122212111112122122122112222111121122211212212122121122212212222221211122121222111121121111221112221112212212112121222222211211112111211112211111122212222111122112212121222121111122112212111121122121211211111222221121112111221211212112111221121211221111212221212211212122112211212221221111211221211121122121211212112112122211121211112121111121112121122122212121121212121222112122221121112121121212211121221221111122111122112212222111212221212121111211212112112111211111111212121212112221222222112122122211111111121212221121211212111222211112112111111111222111122111111212222211112222211111211121212221121121122121121222222111211222112121121122122212111121222112111122112221222222211211111221212121121211212212222212211111211112212121121122221212122121122111222222211221222121111222212112211222121212121222111111122121222121122211212111121112222212112111222222221221212122121212122221122111212121121122121212211111211211211211211121112111121222122221121121212121211211122121212122222221221222221211122211111121211112112122221211122111122121212222211111212222221212222112122211122211211121112211112221111112121222121121121221112112222221121212221211222222221122111122112222222121212111222222212122122222222111122211111212111221122211221122222211121122211112222111121212122122212211212222122222112212222112121121112111121222122112222211212111211211212112111221221122122111112212111111111222121121121121112221221112121112122121222112112122111111112222212212211112212222222121221111221121211121211222212121122122211212121112212212221112222222212221111111222222121122121112122121121212122222121122212121122112212221221111121111211112221211111111222111111112222111122112222212112212222222122121121211121112221121111211212121121211212212112112121221211111222211211111112122221221112121211121111212112122122122122122221122112112122221211212221111221122221111222112211211222112122221112111112211222212211211211211211221211121222121221121221212221122111222112121111222222112221212121221121212111121221121221111211121221222111111121211111212111211212211112122211212222112212222122112122211112211112222121212211222111112121111221221211222211211122221122121221122112221221221121112212121112112112122221112112122221122122221111112122111112221111122221122121221212211211122111121212122211212212222112212122122121111122212112122211211212211221212212122111111221221212221211222212222212111121121122122111121212112112221111221222212211212122221121212211121221212111221212212212221112122222212221221112211212212221112122211222112222112212121221212121112222122112222122211122121222222122121212122222121212111111122221212112211112122112111222221122211112221212212121111212222222122212212222221212122221111212121112111211111111212121221221221121221222221112111211122211212112212222122112121222121112122222212112211221212221121112221222122222212121111112121212222121122111122122121211211221121112121211121221221112112222122211121212222222221121121112212221221112222211222211121122222111211121212122111112121122212212111112112211212121112212121112122221211122222112221222112211222211222121212122222211122211221111222121212222121122121211221221211121221121221112111121112122111221122221112212121211122112121222122221111111212222222222121221222222212211212122221121112212122211211222122112112112222122211222111221222211112212211212222121221111122122221121112212122111212121221122122111112212112212211221112211221211211211211222221221211122222122122211221111212211122221122211111112122212221222111111211111222221122211221111212222121121111122222212211212221212122211121221212212112211212221122121211222112111121211221121112222122121211111221211122211222121222121121112211122121121222121111212222122211111211111121112211122211221212212222112211211122211221211222111221121212212112211221111121211122122212111221222121122221221122121222122121212221212112122222112111222112212111221212121122122221112122121112222211121121221122112112211211121121211112221122121111111122211112211211221221221221211222111121122121211222121122121122121111212112122122121121212112221121111112121222112111122121221111212122122112211111221121221221121211211112112222222221122111212122211112121122211212121211211211112212112122121121112211221122221112211112121121111122211222111221111211211122111212122222122121221121111221212221112221222221222121222222222121212222221111221221211112212122122122211112211122121112222221221122122211222221112111122211111121211122121211122122222222121221221112122221112212211122121112221212122222121112112222111111221112122122112112221121111212222212221121222112222122122221112111222221111121222212122212112222121211221112121211111122222121111211211221222122211211122112111222122221211222121111112212212121221112222222111112212111211222211112211221221221111112112211222221112111212221121222212221222221222222121222211122122221112111122112222222111112211111211221222121112112111111211212211121212121222212211112121122211222122221112122221111111211221212122111112111121211121222122122122122112212121122111221112221122121121212212111112211112112221122122112112221111121112221111211222112211222111111222212112122112221222211222211111112122112221111221111112112121121111222111211221122222222212212211222112222122111111222211222112122211222122122122122222212121122121122222121111211212221211112211112122112211212211212112121221122211211122112211122212111121211222111212221211221121212112111221121121221221111222111212221222221222112222222111121221122121211222121211121122212122221211212111111212112121212222221222122122212211222111212112111222112112222121122212212211122221112211121121211221212121121121122222122111121122211122111211121121211212221221212112211212112121111122222222122221121222212222212212121111222112222212212212221222121212111212212222221211222112112112221112221112112212212111221122112111122212122222211122221112122111212221122121112212222212212211122212222121112221112111112121122212212212211111111222212211211212221122211122221221112221121222222221112212111122222112121111122121122212222222122211222121212222212122211112211121211121122221212122112211222111111221111112222111221112211121111221121221111211111212212222222111121111121211111112222122222121222222111211211112122122222221221212122122211212111212111222111222112122122112111121122111111122212111212212111122121222222221121122222112112112121221112222112222211211222111211212121222222221111212112222111212112211211212222121122222121221222122221121122122221121111122122221222112212111111212211211211121111211121212222121212212212121112122111112222122212221111222111112211211221211112112212211211221112121212221221111222121222211121112111112121222222122212112221111222111222221112222212121222211111212212212222122211112111112222211212111212121111112211212112211221211112222222222222212221112211221111222111122111221121121121222212122212122211112121122221111121121122111211111122121122112211111221212121122121222222222212122121212121111211211222112111121211121211212222221212111111211121222222122212221222222212122212222212112121122212211111112112121111212122211122221121221111212211212221122221211121112121112122211222211122112112121221212112212211122221112121211212121212221222211122111212221211222111112112121121212111112122122122121211211122222121111122112211111211111211221121112211111122212112121121112221222221112221112221121112111112122112222221211122122211111221211122221211111222111211211112212222212121221221212111121122122121212111211212111112112122112122222221111221221222211221122112122211122121112111212222122112111222222112211211112222111111121111121112211221221122111121112221222221121122212222222221212112122211122112111212112111211122122211111222122121111212222222112222212112222112222122221122211121111211211222111221211112222222121221211211112222221221212222211212122211212222111222221222121112211112221211112112221221222112212111121221221211121211212222112221121122122111112121122221111222121111222222121111211211111122112222222122222112112221121112121212212122211121211122211221122212222122211111222112211111221222112222212221121121221222112121111221111222121121112221221221222212211121112211222212211112212221211221221122211112212121111112211211221122122111211221212121221222212222212211111112121221121211121121221121111222222112111212122121111111111221112121221211112111221112221221112122212221111212112121212112112222211211222122221222211112122112211211221112222112221212121222222122221221222221112122112211121222121121211121122112222211221112212112222112212111122111112112121212111112212112212221211211211122111122221222211221221211122112121122222221222221122111122212111112221212211221111121122211121121222221121212111111121212121222122122112221212222222212121212211122211212121222111221112111121112212212211122121111212222211121121111222122122221212211212112122221112221111222121111111212221111122211222211211221222222222122112211221111222212212221212221221111112222222111211122111122111212222122222222212221121222212222212112122112221121122212122211112122212121221222111121221112211222212221121211111111122222221112122121122122121111221112211221112211211221111122112122221112121211222112111121112111112122211112212122112112122121222122221222211112121111222122111221112222212221212212121121222211111121211222222221121211122121212212112122112122111222121121121122222221112212211211111212122222211112112121112111221221211121212122121212221211212221222122212121212112221121121122211221212112212222211111122121112112122122212211112122222211111122121222121111211211122221111211222111122122211112112221221211112222112221111211211122112221122121111111221121221112221121112111221121222222222112212111111211122111221121111112111221111222222111111122122112112122121221121121212111221112122122121211222222211121112122112212121212122112221111212112122122112212222112122211111222211221122121111212211121222212211212211211212222211122222212121222211122222222112112121212112221211221211211222221111212112212221222111112112222121112122112112112112111222122222221221112121212212122212221211222112211221112221111222212211222122211221121221222122212122112111221212212211212221121111221222121111212211122121221121221221121211111122112111212212112211122221122212211211211121121212221121212212211112221112111121212112221111221122222212121211122211212221222111122122221121221221121222211122122121222121211112111122222122121211211112121121122221211122121212112111222112122121221111112221212212212112222122122121112112112212221211121112112122121212111111211121121122212111211112221111121121222222212222112221112212221111112211122221112221221212211112112221221211211222212212212112222221221121221212112212221112121212211112121212111212121122212111221111212222112112212211222111222122121112121112212121212221221122112221111221212112121212121222221211221111122122122222212112221211212222211222211222112212112121111221211222121122222111211212212221121111122121211222121112221112112221121121212111122121111112111122222122221221222211222122221212211222111212222112212222111221222111112122212111121212111112211112111222212212221211211112112112222122111122221111221122111112122122121221121212111212121212212222112222112121221222112122212112121122221112221122222111212221112212111212212112222222212222112122111121111221222111222221211111211221221111111121111112111121222222212121211111212121212222121121221111222121211211221122111112212121212122121111211111212122211211221111212211112111221221221121221111121112212122112211121222221211222121111211111221121122112221121222211122122222212222222221222221211122121211122221122121122112222221121212112122122212211111122212221122112222121222111111121112122111122212211112121212122212222111112122221211122112121222121112111222221111221221211111122211112221212112111111121212121211211221112222122112221221221112111211122112121112121122221121221221121222211211121112112121221122222112122211122221211222221211212112111111212221111111122211111212222211121112212211222121221222221211111211222222121211112122222122112121121121211121122212121111111222212222212212211221112112122122111222221122211211222222221222122212121112111111111222221222221222111211112121112222222111221222121122112221212211121222222211111221121212222212211222221121122221122221221212221221211122221211221212212221212221221122221212222111111212111222121211221211211112221222211211211212221112121222122222121212112122112112122111221222221212211122112212121111221221122111111222122112111221121122222222111222222221122112222212112212122112211112121212112112221112122112221121212212221122112211121222122222222121212222212222222211112112112121112212121212212112111122212221122212111222111122111121222122222221212211111112222112111112212222112222122112211212112121111122112122112121111122121112211222211111122212112112121212212212111111222211212122111122121112211211212222222221121222222122121222122221222212221221121112221221211211112211221212112121212211111111222121111211121212211211111122222122222111121222212122211221221111112121121112111222121211222122222211222221211211111122112221222212221111221122112221222221221221221222111222122122111221212122121211122111211121112211212111212112112222121122221111112222222222121111211121221122211222222212112111222112222212222221212122122212121212211212122222211112221111121111122221212221211211222122122222111211121211221122212121121122111212122121221122121121211221212221221212211211112121121211121112121122111221122111222222111112212122212222121121111211212121222122112121221222222222112222121121112121222222112211121121111222211211221211221111122121112221111112222211221212221111121211122122112121212212212211211221222112211111111211122122212211221211112211222111121222121122122111121112222221212121111121222221222112121121122121111122212121211122212221222221112212122122212121112222112112212111212121211121122212212221211122122112111211121112111211121112121122222211121111122211111112121111121221111111211121121121122212222221112112222211212111221122221121212122122122112112122112111112212211121112121212211111111112212111112211211221211112121112122221212111221212222111211221211222112212112122112221112221112112212222211222111112121212111122121212121121112221221221211111122122122222111212221222222211222221121211211211111122222112111211221211122211211212112122121122221122122221222111121111212212122112111122221122221111111212112221111121212212212212112121112112112121121122112211111221112222112122222111111112211112122112112111111211211212111122111221111221111222212222222221122211111212121222121111221111111221122222112222112112112111122211212121212211111112222212111121111121212121112222221222211211211222111211211121211212222212212112222221112111121222112212111211111212211111121222221211112212121112211221222111212222212122122112222121121111221222222222211212212211111212211212122212121122221111211121112112121111122221222222112112221112111112221212221222212221112111112221211211122221221212122122211221111111121211221221222112211221222221211221212121222211112121122112221221121111221111112222222211112112112121211221211121111212221221221111121121122122112211122222221222211112122221122212211111222222111111211212121222112212122212212111112212111221212112121212122222112111222121122111211211212212111111211121112121212212221211222111112111122122221212212222112222211111211222111221111221112121122211212211222221112111121211212212222112122212221112211112211121111212211111122111111111222211112112222122122121122221121221122122211222211221111111212222111121222121111211222122221212112112222212212212212222221111121221122122121121121211111122121211222221222222221122112121211112122111111222212211212212112221111212111112122221111112212221222112222122222221112121222221212122121222222222221112211111111221112212212221212222221121121112112122112211112122222112222121212122221111111222111112211212222212121212122212121212221221211212211111222211121112221222112112122212212211211211112222212222111121222111121112122211121221221212112211112112212122112211212222221211121112222221221111112221212222111112222112221112211211221211211122122121122222212112111222112222211212112111212212112212221222112212211221212122211111222112212122121121211121121122121211212112212211221111112221222222222221222112121112221111212111111121111221121211121212212111112212121121121221111122111212122122112121221122111111111221211111211221211122122121211111221221212221122111121211221121111222221112221212212121112111111222112121221221222111222222212122122221122221222211222212211112211221221112112121222121111212111212121122111211221222122122222122222222211221211121122211212112211211111211112221111112222111121212222222222211111212211211112111122221222122212112222211111111112122211111221112121111212211212121222111212211122121111111111112111121212211111121111121222111211221212121211121221111222122212222221111122112112221111112111112221211112222122222222112221222211122122122121111112211211221122222221111122112122112122111212112222212111222121222212212111121111212111222121221112212212212211111211122121121222222112111122111121121112211211111112112212212112112222212222222121211222221211122111222211122211212122121111221211112112221221222222122212211212222211222111221111112221122122112121111221111222122222112211222122112211122122121122111121111211112112111121211121222221122111221221221121111111222122211222121121222221122221122211121222212111212122212212122212221121112121122211212121211111121111222211122222211112212222211122111111121122121121221212212222221111121222112112222222112222222222212212121212212221112222221122221112111211221122211122111211112121221212111121221221221211122221111122121212221122212222122221221111112112122122111212112222221121112111211222111112211211122222122111112111122112122221212111112211221122222212212211211112112112222112111122112122121112221212221111221212112121221221122122111221212112111221112221212111112122212221211122122121221222221221121111211222111122221121222121222211221122122111212122211222121212112121122222212212212111211211121222221122111121222212122222111121211221221221212122122122111112112222112221221222222211112221211122221121212221112211121121121121112221212212122222211212122212212112222211211211222111121222112212122212211221221222222221212111111121121111121222212121121211212112212121112122222222111221122121212121212221111122211221122221111112112111122121112212112211112212112122122222111212211122222212211222212112112111112221112111111112212222112121122121211222222212111122111122121122122212212112211222212122222121111121122221222211112121121122112121112221222222212112212112121212221112221122211122212222112211111221112212111212112111211121222211121111222212122222121212211112211211221112111112112211212111221211221221122121222221221111122111222222122122121112221222211121122121111221221112212222211222221121112111212122212111211121111121211222111222122221212221112111211121222111121111212221211221111222122222212211212112221122212212211111122121111211121221221222112221211211121212111222122122122122121121221121212222222212112222222122212112222111212111121111112121222121111222211121111221112121212121221112221221111212111222122122111112212221122222111221122222222111222212111112222222121212221222222122221122211221212112111211122222121212112222211221112122122112122121221222222112212111222222211221112112222121112221111122221121122112221212211222112222121122112122221121121112212111222221111221121111111221221112121121112111222211111112122221221222111221221111121222211212211121221112111221221211121122212121221222121212122221221121111212112211222221211221121111212112221222222122211211211222211112112122112222122222222121121111111212221212122112211221211111211221122122222211211121222122212221112211212111222221112211212121222222221211122112222121212122112122121122222121121111222112112222222111121221111122221211222112211222122212111222221121122121211111222221222111111221122221111122222121221222111221121111222211222121122111122211221211222122122112221111112221121211111211221211212222122211222111111221221222111122211212121211111112121111112111121222212211221211212111221221111111211211111221111111121112112112111211122212222221111111211211221111212112121211212112212122211222111212211121121121212122212211122211212121121121122211112122112212212111212112112212212112122111221111222121112112122212111222122211211211211211112211112121211111222112122211211221212212212222122221112212222212111112222212112122222222122212221221111112211211222221122112221122221122121221222221121212121112211122121211222222221111112112222212111122112111122222122112212212221212121111212121222121222222122122112121212121112112211221222111222121212212212212112221111211211212121122121211112211111211211121112211112211111222112222212221112211211121222211122211112112212211222111212221221212121111112111211111121111122211121211211212111221211112122122221212212122221212222222222121112121221212221211211122121111211121222111111212211212211121111112221122112121222212111212212221111221122212121112121211112222212211211111222121211112222222112112211112221122122112111112222221111112212122122111222122111121221121211121212221221222112212122212121222221121111121121212122112112221212222221212112212211222121112111111221211211221211122212121111221221221212221221221222111111122112211111121221211211212111111111221112111212211212212221221221111121222222222221211122111122112211122111121112222211212221112221221122211222212112112112121121222212212221122111222112112221121211211212221111212121121221212221212112212111122221211111121122121221112211111121112121121221122211111222211111221122111111112212121111222222121121121221221221221212222221111121221121111222211121122221212221112212211222221111121121211121212221121111122111111221121112112221221221121121111112121221111221122211221211121221212122111121211221122222222211222221111112211112222111211221122211222211211111222211222111222211112112211111221121112111222112222221112111111211111111112211221212121222122122121112121112212221212122211212211211221122111111221221111212121122221111221212122121221221122122211112112111122212211212121111212111212222122122121222121221111112212221221122121211222122221112112222121221222221212211121222112111222212111121211122221111212122222111121121222212111112112222121112122211221111222111221221122211112212221211221212211111122112111212122122122112211122122121212221111212112222111111112112212122112112121212211211112112221212221212211212122112112121221121221222111111221222222212111212112222122112112212212221121221112122121222222111212112112221212112222122211111122212212112212121211222111111211111221112112111121112111111111221111112111121222212112222112121222222222221111212211212112212212222121222212211211212212211211111222122211121211221222122122121112221112121222211121212221221122121112221212112122211122212111222122121111121211222211211122221122221222122222111222212122112222122122111211212112211111222211222211111222211111122122211222212112112122221222121212221211221212211121122112111221121112212222222122112121211211222111112111222221222112222111222111122222212122212212212111122222222112121211122212112111211111121112221122221212111221121111212222221221211121212212212222112121212122222112122112112221121122212212221222211112212112212112112212121112222211121211221212122121221111122112112111112112112221121112122222211121211122212112121212211212122212221211211211111112122112122212112211122221212212121221112212121121211211211121212112211112212221212212212121221221122121111221221121222221221111122222122221211221122221211122111221221212222111122211212122222221112122111111212212221112112112112221111211111211221121122212111221211122221112122122112111112221111121121112222211112112121122211112212212222212211212121212122112221121112221121221212121211212122112112112122111111122122122111112212212111212111222211112222121211212212212122111222111221111121121121111212222212121122211112221211221122212112212111112121111121111112122121122122211212121222121111122112212222121122222111222122211222112211111122221211221112112121222122111121111222221211122221111121221221111111222122112112111111221221111111122212221212211212122121222121211121122121111121212221211121212211112221222122211211212211212212211112221222211121112112112221212212112212122211222121222212211222121111122212122221222112111111122221222121222222222111212212212212221121122121111111222212211222112212122121121212122112112111111222112221211122121121121121121222221222121212222211112112222211122221112222222211211222211122212212111211211221211122211211111222212211111211211122111112212222211122112122112122111121221211122111121111112121211112112121221222222211121212112111111111211122121122221212112122221121122121111211112122212111112122222211122222112111111211122211222111221222212121212221221212121222112122121121211212111121112112221121122112121122122221122222211211112212112221112221121112112222212111222121121221111211112121211211122111211222212121111121221222222121112111121222122211211111211211121122122112212211222121112111111121122222112222212221212211112221212221111112211211121212221211222111211122221112211111211112211221112121212112112211121111221112122112211112112111211121121221122212111221222122121221122221121112112221112111212122211211122212111211212212121211111211221122222221211221112222222212221122121111112122122121111111222222221111211122221222111222222122212211221112211112122112222222122122211222222122222211112121121112121211222122112122122112122122112112222212211122221222121122121211122112112112221121112122122122112221121221221222111221122222211222221212212211122221111112122121112211212221211211121121121111112121212212122211222111222111222212211212111122222121121221122111121221111212212111211212222122222112111122111121122221211211222211212112212122112121121221122122122122112222121211112211222212111211122122211121111212121121222221212222212122212222122222211111111211222111122211112212211122122112222212112122211222111211221211211111221112222111211212112211222122122212222212222111212112112221211121222211112121112112211211212212122222221121111212111121121122212212121112111212212222122222112212212112222212211112111112122121111111221222112121121111211112122111111221211121122212112112111111122121222111121111122222221222222211221112112112211211212212121211112222111211122111122212121221221212121212122212121111211212222122222111112221112212122122111212221221121211212112112121122221122112222122121121212212221111212121221111121122212221222122212222122111121221222121121111112221222222222111111111222111111112111122211111211221222211122221122221121211122112112222121112122121221221212111221221211121212211122121212112111111112111121112212122112221211221221111112212221211112211212211112111221212211221211222112122221222221222211211212222112221112211121122112211221121221212211221222211122212221121111112212222211222211122112112221221111121111221221211212112121212122111111212121221212122212121111112122122121221121122212212122221112111221222211221121222122111222122212111112121222122222221111121212221211211112211122111221112111122222112212121221122122222221122112121112212111111112221122221222121221121111221122222121222121211221222212111121221211221211111222121111121221222121222111212111211212212222122211222221211222221112112212212211221111121112221111211221121211212112112221221221122111112222221221122211121111211112122122122112111221222122211211111212111212221111211212111112212211211211211112122111222121112211121222221212211111211121111212221111212111112122121221122122211111221221111112112111211212121221222112222111112212221122222122111211221122211111122112122121211112112122121212111211221212221111121221112122112222211112122121211211211112122122211121112211112211121212211122211111211122112122122112121112111211121112111211222222122112211222211111222121211121121221222222111111122121211112111211111222221121212121211111112112211221112121221111212222211212221211221112122221221121112112121221121211221211212111122221112212211121211122221222112211211211211122211111112212111122122122222212111221121211221222222221221222222221112211122122111222211222122221121222112222122222122212212121221222221211111122111112211122212221121221111122212112121111122111212211121222212112222221112121212221122121121111212211212211222221212221222121221122122211121111221212222122212111111211222121111222221222222222211211122122212221111211121121121121211121221221221122221211211122111221121212111212212212111111222112112122112122122212122211121212112121211221222122221221222221121111112111121111212221211212121121211211211111112121111222212112121122221212222222212221222121111121122111122211121111211221221212211212211111212121211112112112212112222122112122122211222221211212121211112221121222222211122221222121221221121112112221222222111221111122222112221222122122121211112212121112212122212111121112222221112221222212211111211112212111111112112111121222221111111121122111211112221111211212112221111212112222221111122121111211112112121112222212121122222211112112222222221221211121112222222111211112222221211211212111222212121222112222112221112111222121122112212122211122212122212112221112122122121121121112221121122112221211122221222221112221121211212221222122122222222212212112112112221122211111121111121212211212122212222222111221212212121222121112121212111112222121121211222221111211121111211212211222111122122222211122222211222121111111212221222221122122122112122211221121221212212222221211122211112222212111221212122211221121121112112122212112111222112111122122122221122111222211221211211222121112212122122221212122111121122222122122122211121222111111211112222121212222122221112122211211221212222211221112111221121122112111212122222222222221211111222112112121211112221212122112212211222212111211111211112122112112212111111112211122122111122111212221222122212111111212211111121111222112212222211111211122112122121111222121212112122212122112222211112122112122211121121121211122111112122112211122221212222111121221222212221221221221211111221221121112212111112222122221221212211112112211111212211112122212221222222121122121211211221121211111121111122111212112112211112222222112212122112212122121212121222112222122211221122121221121211211112211122121212122121212221121222212222121212122221112211222211122212122112111222122122112112211111221211212111212121111221122212121212221221211111111211211121222211211111222212112122121222222111122221122121221112121122222221221221122212122112222222222122122121221211122121111111122211112222212211222211121212111111212121222122212111212211221212122221112111112112212211221221212122211122211112112211211212221111212211122121121121122122111222222212221222112211121111211221222121121212111121122211212112112212111112111221212211221112221222122212121122111121111212122221211222111222112222222222121112122221212121222112112211211211212111121221221212111222212222212122221222211212111222111121112121122222212221211122211112211111121211122121121221112212222211212122122121111111222122111112221212212122211212122221121121212221222222222122222111221211121221111221112122221121222121111211211222121121121122121222122122212122112112212111211112112112122121212111121212211122211112112112121222121121112122211221112112112122112121111222122212221221112212222111122111221212222222211211222112221112122211211222121111222112122211212111121211221112211211111122111121111121121112121212222211121211121121211112212222122111211212111112211122111122211121221222222111112121222112111111212211122221121121122112211221222222211211122222112221222112121211212112122211112222222111112222111122221112211211221121112112221211211111111211221121122121121111111212121111122111222221211122111122222222122111211211211122121122222221222121211111121111111121122212112211212211211122112211111221211211211221222122112112212111122221122121112112122112122222122212222222212122121222222121211122222112222121121112212122121222211122111112112212111112211211222211121111222122121222222211111221122122121111111221222221221121222211211112221122212221222221122112221221112211212211111111212121211211122111212221221121111112211211221222212122112112121221212211112212122112212222121112221211221122112211221121211212112111212221222212221212221121212212122111211121212212111112122112122221211212221222121212122212121121221112212222112212112121122121111112122221122122212221111211111122211122211211211111111122112121211122221122112211112111121211212221212121112222122111212121121212211222221221222222122111222122221212121121211212111122111112112212212121122111111112221222111112121111122212122221112221122121222221222222122212121212112121112111111121121211212112112121212222222222112211221112222111211111121122122111121221122211112121122221211112222211212211211122222112122221122122221221121112121121212121222111222221211211211212221111221121112121222211122221211212112222112211121212112112222112111212111211112211111211211121222212212111122222212112122121211212111212222221112222212222212211112112111221121221121212212122222111121111112121122122221211221211112221222112111221221122222211122111112211222212221112112221221112121221222121212212221221121221112121122211121121221122122212112221212111121212211121222222122221222112111112111212221222122121221222122212212222212221112221111121211112212211212221221222121212221222122211212222212211221121121121111122122222122122211212112221122211111211211111111112221212122222121212111121122122211111121111122121112111222212212211122111112221112122222212212221212211121222122121212222222212121111221112222122222212121121212211112112112112112221112121111121112212212221212221121121112112122112221222222121112122112111122221211211221121111121122121212111111211122212211122222111221212212212222221111211211121112222112121222112121211112212111211111221212211111111122112121111112112212111111122121112121121112122221111111211112111121221211222121121212222121111211221222222122121112122122211112222111212211221122121112112121221111121221111212221112212122122221222211211122212222111211121221212112211121121111122112212121211211221121121111212222211222212222121212222112222122111212122211122121112222121211211221211122122222221111111111211121112221221221121111212121111112111212212222222212222122211122111111212212112222222122222222121112121112212112121111111212121112222122111112121211111222122212121221212212112121221212122211222121221211112112221222112112222212222122122211111211212121112221111211222211112111212112222121122221211112122221222111122211221121111221122212211221112112122111211112221112222112112212222122222111122222212122211221112122111221122212221121222111111221221121121111222221212122211221112211112111111112111111221221211122111122111211212122112222121122121221122111121112222211211122222122222111111221212121111221121112222122211222112112122121221222221121222221112112212212122222111122112221111112221211212121111222122111112122121221122221121112221112212221222112112112211112211211222111122211221122121212212111111121111122212222121222112221112211221112212112222211222111221222211221211221212122222122111111112122112222211211111122112111221112212121111111221212112121221111221122212111111112222111222111222122122222212122222222211212112121221122112121222222121112221112121211221221222122222222221111112212212121212121122122122221121122122121111121112121211211212121121212112122121222221112211111211212221121221112222121122111111121221222112112212122222212121212121112211122211211222112211211122212212221122122122121121121212121212121122112121111222121112111122122121212122211112121111212221211211122211111222221112212111122211212121121212212111221112212112212111122211211122112112112111211112211211221221111211211111211221212122211122122112122112112222221122112222222111211111111222112112112112221122222212121222112121112122111112212221121222112112121121212111221211221121212112112121222211121121122112112212222221221221112121111221121211121222122211121212211122221111122111111122121111212122111211221121212222121222222111222222212121121111212122121222211112121122212221211221122211111111222111121221221111121112121212121112122212222221112112121122211221212211211122212221211221212211112122122222122111111112112111112221122221121122112111112211211112122112211221122122211221222121211211222122121121211111212211111111212112221121222221121111121212112121111221111221222122121211222212222221121111112121222221211211221121121112111211122222111122222121111122221122212121212211122122112111121212211212222112112111111211221121112222222111121222222211222111111211221121121112111212111211112121222121221111222211221111112112211222112211111121112221111221122112112222221121122121122121222212212111111121211211112111211211212211122211122121122222221222121122221222122111221111221212221121122122211221221221212111121121211121112211111111221122212212212122112222211112112111222111222212222122221211222112121111222121222121121212211222122211111222111122111111122221212212121212112221112211211212212112112111221111221111111222112211122122212121111121221122212122121221211112122212222211112221122211112211211222212112211121111111222211212212122211111211212211111222212111221112212222211111212211122212212121222221211121112222212222222221212112212222112221211222211221222121121212222211222211221211212111121112111222111221212222122111121212221111122221211222211112121211212122221112212122122222211222121122221112122121122212112222211111221121112221112212112222121122222121211222121121122211111122122212211211221222122211111121212122221212222111222122111121122222121121122212221121212112222211222111111222221122211221222212221121221211112121222221212211122122121122212211211122122212221212212121222222221122112121122221121222211111122121222112121211111211211222121112112121122111222212212212111121221221221221111112212111122121112111221111121211212111211222121212221121222211121221112211111212121112211212211122121112122112111122122212211221121222121212111112221121122111221211112211122221221222112222212112221121221222212221122222221221212212111211222111122222211211112211222111212222221212111111112111212112211111121212111221121112112222112122112112111212222112112222222122222211221121111111122212112122211212111112112122222111112212122112112111121221222211112111122111211222221222121111122222112112112112221122122222221211222121122122212222121111112222121111222212212222222121112111121121212112222111122111122121111121112122212112112212122222122121222111212222111221221211121122222212122221121111122222111122211122122122112212121211221222211122212212222222222112212112221112121221221222221211111221122222222111222222111211211211222221122212212222222121122212222122111222212212112122221211112221122112212221122112221212221112212212221211211122112222222222221121222112222211122122121221112222111122212222221122211122111112212111112211111212222121121212211112122222211112121212112211212121212121211221121221221221222211122211112111221212121122121121222211212221111211222211212212121122222222212121122221111212212222221221212122212211222212112221222221221121221121221221121221212222212222111222112122121112212121112122112222212222112212121221122121212111121122121222111221222121122221111212212122211212221122122212212111221221212212221222221121121211212111121122212221111212122211221121212111122211222221212122221122121121111211122122221222211112211111211221111112111211112121121222211112222212122222111212112111111111111212112122212212211222212122121222111122221222221121121122122221212211121122212212221221211211112122221121211111211122121222111221212222122121221121121221111111211211121212211122211111112222122122212121222221212121221112122222122222112222211112121111221112112221221111122121211212122111212222222121221112212122221211112112221121222112111211212121211111121222211212222112111212112211111211121112221211212222111111112221222222211122222211122111222222221212112221222222212221111221222212211112122211222121211222211211111211122111112112211111212221111222212212122112111122122211211211212112112111222212111222221112222121112122222122222222211111112121112221212122211212222122122211111111112122122112122111222221221221211122212222111212211112221212212111112111222221122222221211222221111112221221212111111112121121111122111221122222221212211121121122222212212111221212122122222121111222122112122122211112212221112121122221222212112221222222212122221222112111112222222222221211212212211222111221112112122222111212212221111122222112211211222222112121222221112112221222221222122121221122221112111211122112111222111222222221222112111221222122222112121222222111211212221112222112122221122221121111121222221112212222221221221222111122221211112121212111111212221111221111122211122121222221122222212221222122121222211222122211112111212222222212212221212221211122212112122221112212122211111212211211212122111121112122211212112222222212221212222221121112111212122112112111211221211211122111122112121221112221212111221111122112212221211111121111211211112122122122222111221121221212212212111121112121212122212221122221212222211121212212222221121211222222212122121211111211112212221221221111222122122121211222211221112111211212212122111211121122211112122211111111121111121112222122111112121112121211122221112212122111121112122111111122112222122221221212221121211211111222212112211212211111122122222122222211111112121221112222212121222112212211222112212211221222222212222211112212122212121211112121111222122112122212222212111122221212212212221212212212221212111122221221212222212112221211221112211222222221211211222212211212111111221212122122221222122122111221112212222221111122212211222212112212222221121211121222112121122121111212221222211111222212221112121212112222112212111212112222211221111122212112221122221211222111212211222122212221112112222221121112211122212111111211211211222212221111222122212211121111122221121222221222221122222212121211122122222111121111211221222112111122222122222211221112211121112212211221211121211222221121111122212111222121222121222221121111222222212112222121211221212112111221111211222122222221122112121122221222222221211211221222121111121211121222211211222111222121211211212111122121211222111211222122121121212222212111222211121111211221211222122212111211111112221122122222122122121111222222111222211122121121212112211211121212211111112221211211122122122112222112221211212122112112111112211111122111211122112222211111112221222221212111112112222121212221211111212211121211211111212222221212122212212112122121211112122112212112212121112112111212221111212221212211221122212122112121122222111212121212111111122111222222222211212122211221211122211221221212211211122122212122112111121112222222112121112112111212211122121121221121211222222122212111221112222112111221121111222122111122221222211122212222221211111112221111222122112222211122122111112221212222112122122121111122211122212112222122111222122212212212212222111111221122212221111211122212111111121212121111212211211211211212212211112212121221121212112212112222221221222221122121222121221221121112121121112211221222222122211112112122111212212222111212122211212112212111211111112122221112222212211111212222111212122111211121221111122111111121121111221112222222222222111211221222212221112121212212121121112212111221221121121221211111122212112111112211112221122212112221112212222112121212222111222111222211221222211222111222122221222111212222112122211111111112111212112122212222222222122212212222112212121122222111212122211221122212121211221212212221112222121222222121221221121111221111221212212222121112211211222112212111121221112121112111112212112121111211211121121121211212122221221222121121221212222121122121112111112112111221111211212121222122221221212121211211212122121111222111222122121111212222222222221221111221212211121121221211221212211222222222121112111112211222111211222122221221212211121222122211121222212222211212212211221122221221221212111222222211122121211111122222112212222122122122122112212212222121221122212111112211112212122121212222111111111112212222221121221112212121222112212221111222222221122121221222211111121122211211212211121221111221222211212221212212212211212221212121221211111121121221112111121211112112112222112122111121111121221112212222212222111121122112222221212212112121121111211221122111122112111212121122212212121112112112122212112212221121222221211212221111111112121111111112112122221112122211122112222221221112111221212212111212212111222221221222111211221221112111212121211212122212122222122111212211122222112222221211112121112121221211112112111222211122111112211211212212221112221112121112111222112112212222211221111212212111221221122222121111121111212112211212112221112222121212211221212211121121211212221212211112211111211121121221111111221112212112121221112211122222121221111111212211212212122212112112121122212112112212212211111212111122121111121112121211212111122211211111221112122122121222212121122222121221122221111212221121211222221121112221212122222221121112221121112222211122212121111111112211122122121122212112222121222112212221211221122111211212112112121212212111211221112111112222221221221122221111111122221121112222122211112121221212211112221122222211221121211222122121212111221211111111122121112211222111122122121112121122211211112111212121222112222212122211112111222212211111222211221222221222112121112222222122112122112211112222212121122112121212212222122221221211211122111121212222121122122111121222221211122122111121212121121211221121111211111221212221112111211222212221112122111222211111211121211222122122121121112212221122121212212121212211111221221122112121122222112211112121222211212221222221211221222121122111221221221121221222221111221121222211222121211122122221211121222111121111212211112211221122111121211212112122122121122221212221221211211111222112112112111121221121212212211122222111212122211121212212121111221112122111222112212221121211211112121121111112212211212211121212211121121122211222121222121112111211221122121222111122112111222211221122122212111211212211111222112211212211121111121111112211122121112222222122111221221112122122121122122221122111111121222221221212211212212211212222222112221122221111122221222121121222121222122111211211112121121122211212121111122212111221222112122222222212212222212112211211121112121111212112112221222111112212121212211212221122122121111211221211122211222221212111211222211211221112111112121222221112222211221112111122222211221211111122211121212122211212122122211212112112212122122122121221222122212121112212221112112221121121121221112121122211121211121121211122212211222212222221221221121111122122211112121121112121112221122112121111122111121212112121121112212211221211121122122221121211221222121111111222212211211112121211211121112122122122111112122212222222112112121211212122222111211112222211221211121221221221111211122121111212211112122121121212212121212222121212121222122112121111122111112221211211111112111212212122112211112111122212222221121112222111122222222212221221112211112222221212221122122212112111211121222222211222222111121111122122222112122211121111222221111122222111222221122222221122122112212112221211211211111112211111221122111212121221212221212121122122212112122112221121221211122122211222121122111121212122222121212221212222221122211111121112112221122212222111211212211221211122221111212212112112122211121122211121112111122221211221222122122221112211211222112122221211211122212211122122221121111222111222122211111222221221222111121112211212222122122211111122212211112221211211121222212212221221221121211112121211222112111212112222111121111111122221111221112211221222112211121122112221122211211221211222112111222212221211111222121111222221211221211212122112112121112112221111221222112212211221121211112211122111211111122122211121112122211211221212211222122121211212122221222122222221211121111111222221112122212112221222222111221111221222122122221112112111221222222222221122222221222111222122211221112221212222221121211111111121111121122122122212211122212111222222212121111211221112112212221111211212122122121222212212122121222122222222211222121222222121111122122221221112122211221212122211111121221121112122122222112211111222222221122111222211111121112222222112112122112212121221111121111212221121121111221112111221112221221212211222112112111221221212211222112122111122121122112112211112212221211212121211112221221222221212111112121212221212122112122112111122112111222122122121121221212222111221211112212111112112112122121212112221112122212222212211122111112111111211112111222212221222112122221111112121222111112111122112121211111111121111211221121211212222222222122121212112221121111221211111122122211222212121122122121212121222122121212122222121121122212111211112111211221121211111112111121221121211122122122211112121111122122121221111111121122221212122211112111112221121121221221122112211122211121211211221211122112221221212221112112112111112221122221212111221221211222221212222212111112111111212212221211122112111221221111211111222222122112121221211111211212122121212121212221121112112122212112111221211211222122111112222121121122221112111112111121112121112212112222112212211121112221221122122221122122211121211222122122111212111222212212212222112112211122221121111211122211121112222211222122212222112211112122212122222221211112121112211221211112221111222112122211211111211121211122221111222211122222211112211111212121112212222221222121212222211112121222111111221221211211221121111121122112112222112112122112222222111221111122221122121112111121222121222211211221212212212211112111122111222111121221212212111122222221221211121221112212212211111111212212112121111111211221221112211221112221111112222222212211212111211122221211122112211111211111211212211122122112122222222221111122121121221122221112212121211122122122221211111122211222121221121121122211112112222111121112121122221111222122111221221222112211121122222122111212121111212212122111122122222121112222122121221122212222121112211222222112112111222222112121212122121112111121211211122222111122212111221122111122212212212212112112122212222111221111121221222112111111221222111121212112212111221221212121122122211222122111111221211212112211111112212221212222121111122211112122121111111222212212112111122111212122112221111122111121222112111112121212111212221111212211121211121122112212221111112212112221211222212121212122122121122222212121221222111122222211212212212222211112222122112222112222122121112212121121121112112221211112121121221111121111121212111111211112212112211111222222221211212212122111221212221111212122122221112112211221122221212211211111111212222112222211222221112222222122211222122222121211211121222212212221222122212111112122222121112112212122122211211111221212222221221122211211212221221112112212111211111212222122211121122121212121222222211211121212112212212122112212211221211212212221112122212221222212211222112222112212212122121222122222122121211222222222112121122222222211222221221121121221122212211221221111121111212222121121122222221211212122221212211222222222122122211121112121212221112211212221212112122112121122112122211111112222121211122212111112221222111212221121121111112121111122121211221112122212121222111221112112221112212112222221122111121221221122222212112211222221122121211222221122212221122111211212111222121212112111111211121121121222121121121222111122211222112212122121221222121122212221211121221112212222112121222122212122122122221212211122212212121222122112112212221122122111221221121211112121212122111221112211221112212221121121111212112221122111211212112212112211121222212122211112222121121111221211122212211122112221112222122222121121111112112122222112112221121122212221121121122122211121121212212222221122222221121221212111112211211222112112121211211122212221122211222222111212111111121111111122121111212121121211122111222211221122111111111121122122121112212112221221122221112221111221212222112121221112221212111111212112211121222112121212211121111212221122121222211212222211111111212211211112112122112212121222122111121221212222212222211121122111211122111212222221222111111222121122121222122211222111212211111222211212221112221121222212222222112122112212121121112121112211111222222222222111121212112112211112122112122221122122112112211212111221221121111211222122121222222222112211212121122122212221211122112112121222112122112211121222211211211221212112221122121122212221112121222222122122222211122211212121212111212121222111112212112221212222211112121111211221221121112111211121111121122122221222122212111222122221212122211112212111212112222212111111121211112121212212211222212221211221212111111222111112211112212112111121212221121221121222211212212211121111121212212221112122211111222121111222221121121212221121121121222122222111112122121112221222111111122221121122111222112221121222122222211122111111112221121212222112112111212112112221221211112122121211211221221222122222221212221111211212212122122222212111221211121112221121221111122122222211211211111111112112222121111112222212121111121211122122212211111112111212211122221211111222222112121221122222221122112122212112112222221222211221212112222212211222212222121112212121112122222112122222112111122211111111211221222212211111112121121111222122222222111112212122112122212211111121211112122221222121121222212112111122112122221221122122221111222222112121112222222121122211221221222122222222212122121111112121222211122111121111211111222111212121212112222222212122211112211122222112111211112212112211221212212222122211111211121111111211111221211212212221121212211212221211122122111112111111211222111111221222211221211111122112211212212121121111112121112222111112221211212212111211111112221121211111121121211112222211112212112221221212122111212112212211211211222211212211212112211121112211121121112211211222211222212121222222212221111122112121122221121212211111122112121112222121112111221222112122212222222111221112211111121211112121211111212122221212222111122221112122121221111122221222212112122122111122122111112221112212122122222222211221111211212222221112222111212212221111111222211211212222122112221211111222112122112221212111222112211222212122222221122212211212112121121121112221122211121221111221211112221112212221122222221111221111121222122122111122211221112212221221111211222111122222111122221212112111212211121212122212121221111222111111112112122111122111212121221121211112211222222112222111212222121122112111222122221121122211112222122111221221221212211211211111121111222111121111112122222221221112121112121222121221112122122221212112112212121221111122212112212122222122222122211211111121112221112112222111112121212211211222121211111222121222211112122222211111221221211121221212122121212212222212212221211222121111221211212212121212212222112212222221111121111222122212111111211111221211112121221212222222212212111121211112111222211222122122122112111122122221121211211211121111111111221211211122212122121111212212211111211111111111212221111111111221121211112222111212121121221111112221212122222122212222211121112121211121211212211222221122222222212111222221121222111122112111111222221112122122121211221111111211121112211112221221212122122211222211121211222212112222221122112112221212122121221211122112211221221122211221121121211221112122221111111112122112212112111121212112221211112122122221212121221212112212112221112222112222122221121212211212111212121111111111121111211212211112212112122212111112221121222222111121122122211112121221121112211112222221212212222222211111212122221212221121211112112212211121222222222121222111211221222222221111122212211112211221112221111121111211122112212112222211122221221111222211111211111111221111221222122112211211212111121111112212121122211211112211112221122222221121211122111212121222121222122212211111221212112112221111122112122211211222122212212222221221111112211212122212111222112122222212122221121222122211212221211211212211212212112222112222222122111122112122211121211221111122211121121121221111121221221111122111211211222222222121121212221122212222112211212222221211212111121122222221212211222111112212121112122112211121122112212122222212121111212122111121222122212112111112221221211122111221212211121112121122111121221122111212212111121211122212212211211211112212112212221212211121211121221222211121112122122222121211121211121122221212212112111222222112122211112122121112122121112211221122212212211121221122111212221222112122221222121111212221112222222122222111222121121212111122112111121212122111111212122112222212111121211121222211111122111222121222112211221221221121211112111212111212121212221221112112122121112221121112211211112121211212122212111122212221112221112211221111121211221211221211212112221121111222122221221211111111211122222222111122221221122221222112222111122221121122221221221212211112222212211121211122111122121221222222212212111211211221222121111222112111222211222122121211222121222222121211211222221112122111111111211221221222222221212112212121222222222211121221212122211112122221212112122221221212222112221221111211122112222212221112221211222122221221121212222112212111221122112112222211121122211212122222111222121111112211112122222121221212122111122112212111222121211111112222222111222221122221121112211122211221212112122221221121222121122221222211211112221221111212222222112121222111121111121112222122112211122222111112222211111112122212121111112122121111112221112112122221121121122121212111122111122121122211121221211111121111111112121112111221221111122121221122221122212111211121212111112211121111121212121221222122112212211112212112211112111111111121121222211212121122121212211221212222222111222222122121221221212111122222111221211111121111221112212221122211122121121121211111211212212111122221221221122122112222211121211111222112121212111111121221221212122121112222221111211211121112112211121112222122212211221121222221111211112121212221122221212121112111211211212211212222212221122221222111222221222221111122221111112212211211211121111122112212222122122211121111111211211211111121212211112221222222222211122221122112212122111112212112221121221111121112122111122222211121221112112222112212212222211111222121222121112112221221211212111112112111111122212112112221112221122111221122122212221122112121222122121211212212111112212222121111221121122211111221222122122212211111222222212211111112111122211121122222112111112122211112221122111212221112111111221221121222121122221122111211112212111222111212112122212211121121222121121111212121112111222121111211112212122121122222111221121111111121222121122122111221122222111221122212122222212221212211121221111222121111122212122221212221212221212222211121222111121112212211212221122221221112122112212122211112222121221221222112111221111122111111112212122122222122122122121112111211122211221221112121211211221122211222222122211112121121221111211212211221222111211111122122222122121221121222112211122111212111211112122121212212221112111122211122122222222122111212212121122122122211222111122111221122122111211111121222121211112211212122122222121221212121221121121111111211211121211222211212112111222221221222221222211112111222121121211122112221121111212122121222212111211122111121121111222222222221122122122111212211111221111112122212121112211111221122212112222212212112221221212112222111221122122122221112211121121121111122111211211122221112222211211121212222211221112211121111222221211111211221111122111121122222121222211221121112111211211111212222112112121222211121222122222211211111112212122222111221212112212211122212221121222122121111221222111111222221111221122212211212211222222121212112121212212111122112122111122121211211221212122122221212221121112111121121122121121211212121212112221211222222221222122112222111221212112121122212111121122122121222211111112212211122212211112122222222222111211212211212122121212222221212121121222221211112121111112212211211122221112222111111111212221221212122222222122112221212121111221111121111112221212212212222222122212222112221122112212222112221112221222222222212211221121212222211221222221112211111221112221212211212211221221211121111211221111211221221221221122121211121212111111122121211212211111222111122121111122211111111212221211122211212122111222122212221121122222221222122212221221211211112121122112221221121221222122212222122121221112122222221212222222222212111212212111222221111121111112211122211112222122112221121121121121121211122221121112111221111212121122221212122111211112221121112121221112122122221221111121221211221212111111122222121112122112222111212111122122222111121112112212212221211111211121122221122121212122221212212212112121222222121112211221122111121212221222221122122121111121112122221112211111112211222111212111112212121122221122211222222122121211211111122211211121212112222222122111122212121121121212121211222211211211211211211121222112121221221222111222212211211222111221122212222112211211112112212112211211111212211222121121112221112112121122221112122112212221121212212221212211121112222122121222122121222122121212222121222222222111112112221211212111112212222222221111222221111121211211211222122211121221212211211221121222212221222222212122111122222212112112122122212221121211112212212221121221121212112212121122211121222112211221111211112122222112221222121111221121212111221122222221122221212121122211222211221222212122221211122222212111111222221112121221121121121122222212121112111222111122111222211222221222112112222122121222121112212221212122222211211122121211111121121122112111212112112211112212222212221222221111211212112121221222111212122222122121211212112111211122221111111111221122222221222222111212112112111211111111112221221211122222111211221222211122122121212121111122211221121112222211222212111111221221112111111111212211122122222122121111122121222212112221221212112112121122211111122122121211122221112121211112212111111121112121121212111121112212212212121121221112221222222221111122221111122112222122212221111121222122221112211111111222121211121211222122112211121211222111222122221112122111212111111221211221121122121212121121221112112121121221122111212111212121112221212122112211211122222122211222112121212112111222211111112212222222222111211121111212221212222222121111112222222212221112222121122211211221211211112121222212111221112211211211211221212211122211212111221212222222121111111211221222211122121221121221121111221112212112112111221111122122112112211222212112211212212111121112121222111111222112122212211211121122222212111111212221212221211121222122221122111222211111112221212212121111221122222121221112221111211121122122122211122221211221212211122112111211121122212121211121121211211212212121211111111212112221222121222112221112121211211121222111222121222212212222111211112212221222211211221111211122121122221212222122111112222211111211122211212112212222112211211212222121111112221212222222211111221221212121211111221221212212212111122111221222111212222212212112212111122122212122211112221212112222221111122221221212211121211212112222222211122222122122121111112122121122112222221121222121222211222121121111112222122111122221122211121212121222212122122111221122211211221221111112111211111212222221221222212212212121112221221122222211212111222221222122211122112211111121121222122211111111221111121212211122122121222112111221211221222222222222222222121212212121121121122122221211222211212221122121211222222211122121111211111121222222111111111212121111211121121122222211222112211221221221121212221111211212111112212211211222221211211112221221221112122212121112222121122112222221211112212222122112111111112121211222211221222112122222122122221111121112111121211212111121221111122122121222211222212112111111122121112121212222121212222211112121122211212221211221121122221112211212211112121111112121222122212212112211111122112222121221121111121111222121112212122111111212111112121221111212211111222211211222122211212222212112112112111211221222111222121121211111222222222211212212212121211111221212212121212221222221212111112222112222111222121211121112212212222221222122222211222211112121212111221222112221221221222112211221121122122221112121121112211211221111112111121122221212221122122122221211211222211121111212212222221222122211112211112221112212222111222221112121111121111111121111111221122122221111111112111221121222111112221121111111221212121221122121122112121111111211111222112211112112221111121222211111221212112211111121122111121211122122212212121221112121221111211122112122212111122221111122211222122222121211111212222211111112121112222212211111122212111122121222112122211121122122122122221111212221121222121221211111212111212211121221112111222221121222222211222121222222221212212112121111122212112212112122111111222121122212222222111222121121212112221211121111211122212122111222222212211122121222111212221212121111211112121112221112222122222111121221112121211112111221212112112221112112111222121222121212111211122112212212112112122212111211112212212122212211222112221121211121211122222111222121111112211222212122121222211221112222222111112211112112122222222212221211211221221212122111212111211221112211221222112111111221122112222122112121212121211222111211221221111112122122222112122111112122222222222121122121111221111122111111112112112121122112122222221212112112222111211121212211112111222122112221111111222122121221222212111122112122211221211111222211112221122112211211122212122121211222212212112212212211211121122122112212122122112221211112121121111122211212222222111111121112122211211112212111222111211112212121221221122212212122112112221112211222211211221211121221112122112111121211222212112121122222122112212112221111112212112222222112112111122221122212121211222111121211212221111211121221212212222211222122221221212122122212112122112112112221111222221221111222221221212112122221212221221112212112222212222222211111121111121121211122212121122112122222112112121222221122112221212121222111212211221112122122221112211211112112112222221222122211121221212111121121122212111111212112122221222111111111211221222222222122212112121122122211211112122222122212221121221122212112212221221222121212112121211121122122122211221122112111122211112212221211121111112111211211221111112111121212112121211111112111121111221211222111211212212222122211122211112212122111222212112112221212121221121122112111222121211111211121122212211221122222221212212121222211222221122111122222222221221212211212222122121122212212121212222212122212121112222211122112221122221222222212121111222122121111111122222112211221222212221212211122112212221222222112221221221211121221221112221212222112212221221222111121121221222121112212211111212121111121222122212111221122112212212111112221211211221111222212122222222121112122211222212112122112121111211111212222222122121121221122111221121222122211212121122211121122222121221121121212111221121221112221212111212211221111212112211221111121221212122222222122211112221112221121121211122122111122122122121121121122121222121211211211112222121121122211111221112122211212112111221112111221112221211121112222211111122221122122112112112222121221221211112211221122222211222222121112122212212221111211121122211121211221211122121222111121122111221112112111112222111121121212211222221212111122221122122121121212121112222112211122121212121221121121121221121112112212122121212212111222222211122122222121212112112212122111122222122121222111221221122222221121221112121212122122112211122222122211112211212111112112212112122122222212211121121212221111122221121222221222211111211221112112222221221112211221222112111211212222122222222112211112212121211212111221111211112212122122111111122211121212221211212111222121211211212111212112212222211122221212212221111222112222212111112112222211121122221211212122121222222121122221211221112111111111112211221212211112222111211121212212211211111212212211222111212212222122211221212221221212222121112122112121111122211112121222222121221121211121221211122122212212111212212111222222221112122122121211112212112222122111212121112211211111122122122221212111122121221122121212212112112222222211222111212112211222112121111122221121111222122211111221211211122212121221111212221111122222222122222122121222212221122112121212112122122111222111222112221111222221111121111221222211111122221211111211122212221212122221211222122111222122212122212112121212111111221212122222211221222212221111121121112122111122112212121121222112111212211112212222121221221222212211221111222111212121221111222211111211122112121221212211121121121221221222112112221222211112222112212122112112221112221212112211221222222211212211122112212211211121222221211122112221212212222212122222222121221211111211222222212122222122212212121221221222111111111212122221222121221122212222221121112222212122211122222221211211212121222121122112111122122121111222121122121211221122121222112222221211222112122122111122112112112121211112212212111111111122122222121111122111221111111121222222112121112111221211122222122212222122212222121222221121221112121212112112211221221212112121122221121122212112221221122212221222111112122222222212212221212121122121121211111221111111112221221222111211222122212212222221121121212122111211222121121121211211121112211222212112221211122111122222111221112111112111211212111121212212212211122121111121112211122212221222222112211211112222121122121222222211211121212212212121222122111122112121222222121221122112122211221221122222211221122222121111221122121212111222111111111112121111222212112122122112221121112212222122112111111112121112222222112212121212221221212121211111112212211221212121122222112211212212121121122212212221122122221222212211112111121111211112211222212221122221222122222111112121222112212111222211121222221222112211112211211121111111221221122211212221122122222221121112222111122122111122112121121211112112111112122111112122111112122222112211121222212211212121112122212211221221111121122222222122221222212212221211222111221111121112111111221222112211222212212211111112122221212221122211112212222222222112222122222222221211111112122122211211212111221212211112121221111222122211211221111122122121211111122122121111111212212212122221111212121122221112212112112122211111211121221122111111121211211212112222112221212212111122121112222222122112111112211221221121222212222121112221221211121111221221211112211222122122121122222122111122222122121111211112212211122211211122222122121211112111122221122121121121211112211222212111211211212222212222222122122222112122112221122121212211212112121212212122122221111222222112121121221112122112121222121221221111221111221211121211112122222121212122112211212122112221221211222112211112221121211121211211122212221121212121122122221122112122112222121221211121112222122121222222111211121121221222222122221121121211222222121222111221111212221122212221222221211122222212122122211222211112222122122122122212212121212211112111121212121121221111212222111122121211111221222121112211212112121222112212222222222122211122222111111212211112221212212111122122121112211212211121212111112222121111212222222212221111222121121222111221221121222121211122122111212112112121221221122122212221112111121211121122121112121212121111221222112121112112111221212211212111112222221121122212111121221112121222111211212212212112222211212112222111211211122222112112121121211122211111211122111111121112111121111112122211221211222221111121112121221211212211121111121222122121211221212122122221122212222211121112121122221222121221212222212211122212121121111122121211212112122222122222222212212212211221112222211211122212122222221212222212222112112122212212121221121221121112222212122121111212212122111112122121122121121212212122212221211222112122111112121111121122222122221112221122121221222111112211221221212121121122112122112211121112211211212211221212211212221212121221222122222112111121122222211222121221212211212211122211212121212221112222221222212121111121221212121112212112212111211212211222112122222222111122212111122221221121122122112211222111212121211122111121212122212211211121111122211211222121222211221111211121122122222221111212121212111121211122122221212111121221221121122212212112121121222122222112112121212211111212121111122212122211221212221212222121211112111212122211222111112212112122222211212222121211222211221122112122112221222122111112122121212112211212121212122121212111112211121212121111122122222212212112212221122112211121212121112211221121121112212212212222222121222111212211211111221111112112111112212112222222221221122212221211111211121121221212212111122222122111121221122221212112112222222221112112111211122212122222222221111112221222121111212211211221121212111221111122211212122221112122222111211222212212122212112211111211211111111221212122122122111222111121112222212112221111122212121221222222121122112122221211111121222122222212122121111222111221121112222112122122211121221211212221122221212121221211122211121121221111111121111212112112111221122222122121221121121221121222222221222121222111111221121222221122221122212122222121121211212111122122221111122112111122221112112121122121211211121112212212112221222221212111121221112111221112222112122112122212211121211122122121112121122222111222211221122221111111222112112112211111211111121111112211121212122211122112211112212122111222212112112221212222111221121121111121211112111212211122222211121112212211221112121121212211112211211112221212112112212211211112222212211222222212221221212111112211211212111222122122211211222211111212111211111111112221211212122221121112122122112222111222111121122111111211221212221222122121112112112221221111221111121121111111222221222211212121222112212222112121212221221122212111222222111222212112222212212122121211221222122111222212121112111112212112221111121221211121112121111111211222222111112122212212122111112112222122121222122212221212212221112111222122211121212121111121211221121122211222121212211112121211222121121221222221221222212211222122221211122111112111222111222122122211221112222211212122122112211211211212211121122111121122121221211211221112122111221112221211111122221211211122211221122212112211221221222111111222112112121211211222221122111211111222222221221222121222222121122111111212111212112121122122111222121222111211111211122111211222221112121222121222211122211111122211121121221222112122122221111221111212121122122111221111121121212221122121221211112212221211222121122211211111221111122212121212112111221221112121222122121121222221221222212221111112121212122112111221112212222221112122122111111112112111211121121121112222222122221122211222111111121222122121121222121121122211121111112111212111212112121221122122212112111221221222122222212111121122211111121222121112211222112211222211211211121122112212112212222122222112111212212111121121111112222111121221111111122211121112112222221111222211222112112221221122212211121221111212222221111222112121111122111221121212212211111222111112122111212211211212212221111222121122211222211112221211221121222122221221112212122222222111112122212212221111212222211111222112221121211112211211111121222122211122212112222111112112122121221222211122221112122212211212111122212212221211111111221221112221222111222221111211222211221211212212222122221121221211111222112111211222222212112211122121211212221211211222221121222111211122112211222122211112112111221211112212211121111121111112121221111111211212122212212221112221111112111212122221221111211211121122222121112111212111211112111211111112212122222221212121211211211111221212222212212222111212111222111212121112111211222212122211211211111212222212122222211111211111111212211222221211112222222112221112111122221211111122121122212111212222111112211212212121221122111211221122212112111222222221111212112211111112211222212121211221121111211121221122221121222222212112211121211212112112211112211212221121112211121222111212111121121121222121211222222222111212121122221211122212221212222122121222112221111211111112211211112222122121222211211122212122122121212111112121122221112211221121221122212222121122111222222111111212121212212211211221121222212112111221122221112222211221211112221111112222222112222111121121221212122222111121122121111122111221212121222212111221222212112112221221212112222112222111211222111122111112212121212112221122111222122111222211112122221112222212222222122222211212212212121122111111221112111111211111122222122112111222121222211212212112121222212212211122112121122111121221221221122112112121121121121222112111211222111112211112111122112211222122212122222111222121121112211212212212122212211211211112221212111112121212222221112111221111212222111221111121222221112221112111111222222111112111121112111122112122121212122222122112122112222122211121121112122222121122222222111221212211221122111122122111222212211212222112112212122112221122211111221112122111211121221222212221111222221122211221222222122121121122211222221221212222121122212121211111212212211222211111111221112221211121221111211121211121111221122122112222112212112222221221211122222222221211111112222121111221112212122212211222222212112212221212112222112222221122122112122112211212111222121121121222122211222221122112122211111122221211121221221112111212222121221212212121222111221222111211122122211212222111222122221122121112211111221221112122211112211122112112222111121212212222221212122122211122222112111221211111211122112211112221112222212122111112111122112112222212111121212211112221222121221211221122212212112211122111221222212122222111212122221211222112222212222222222121212111221222222121211222211122222211121121222111222111211122211221221122111221211221221212121112121122111212122221211212221222222222222222212111112112211122121222222111222122112211211112111122112222211212221112221212212221221212211111212222211222112221212121122112221111111222211111112111122112111222222212212112222112211111122222111222111122112111211221222212112112112212112122112111221222222211112111122221211211212112222212212221212212112111212211211111112222222112222221111212111211211211111211111212121211122122211211111211112211211122212222211211112122121112212211111212211212222111211211112122211111211212212222122111112222221221211121221122112121121121112212222112212222112122222112122112221212112212212212212222212111221212122211222111211112212111111211112122211212212222222112222222111122222121111221112121122121122211212222112122211122222212111112221122111111122122221111222121211211221211111112121112212112221112122121121212221222121111211212211221212121122221212121222211222212111122122111111122212212112221122211112222111221212222211212112221111112212212121221221112112111222111212122122112111222222212221122222111221212112211122211222211112122221122212222222121112122211121122121122222221221221111221212111211212222211212221222112112112122112221122122211112222111222112112222221222211111111122212122212111212211122211112211222121221111111112212122112211112212111221212111112111121122221111221221112221222212122111221121121221122212112121111111121112111222221112111112121121112111112121222211122211212122112212122212221121112212221112111221122112222112221221111211112112221222221122112111222121211212121212211212222121221112121112122121211122122211222112122122211122112221111112221221221221221112211222221122121222211211112221111122222221222221121221221222211222121222221222121112121211221112221122222221112121221211121112212122221212222222111222221122211112211122121122211211222222112221221112212112112112112222121221212112122222211222111111121221212122112212221112211112222111111222121221121221221212221111122221111212121121211122122222212112222212122111212222212122222212112122112221212222211111222221212112222112122222222122222122122211221212211112211222212122121222121211221222222211211212122222122221122211212121112112212112111112122122211211221112112212221122212212212121221222222211122111122222111211111221211122212122212222212122111122221222111111122212212211112212222211222211212121121121122222122212222121122122222221212112112222222112222222121222211212122211112122211211121112121211111222222111211121212211111212222211112111112212121112122112222112221112111122221111222222112121112211211122222111222112211122122221222221122122122222222212221122221112122221222111222221121221122121222122112212222222111111112221211122111212221112222222221111111212222221112211211121112212121122111222122122112212111122121112212221222112121122122212121121121111121111112222112211221122112212121212211112112211222221122222212221111221211121212222112112122212222111111121222111211112121112211222121111211122122221221221212121212222221221222222111212121111122121222222112111111221222121212222112221112122112212122121121122121221212112121222112211221222121122122212112122222212121212211221221111222222121212122211111221122212122212211111212222211221222111122222211211222111222221122221122222211212211221212222112211121112121111212122112122122122221212111212112112122111221121211111121221112121121122112211222112122111211221112111111121111122112211221212121111111112212111112122121122221222121111121212121221211212222122112122221112121122122112211221221222211111212221211121212211221221211112221111211121122222212122112211212111122112212221112221121212212222221122211112222111222112221211221211222121211112211111112112121211111212222111212122222111222111122122122212221111222121122121221212212122111112211112112211221112112222211111222112211111212222112212212211212211222112222111112112221122121122221111122111121212211211111121121121222222122121212221222122212222122222212222122111212122111122212112222222221222221221212122222222122211212212221111211111111211111212111122111122122211212121211111112111211211121211211121212221112122222211222112222122212112111112212212211211221112121211122211121122121222212212211122221121121211222122111212212212222121112211221212121222211122111221122111212122211122122122211222111221112112121211111221222222221121111122112222222222112111221211122211212121212212111222212211222122212221112212212221212222112111112111221222222121222211212121221211111111112122111112222212211122122121222212212211122221221212211122221221122211122122112211212112112122111111212212221212222111211122211111112222112121222112212111212212111112222211121112211122121112122211221111112111212121111212122211211122121121212211221111212212211222112222121212212111122222212222221122221222122212121122112211122112112121121212121112112211211221112121122112211122222122222111211222122212122112121212122122221212111222122121111211112112111112112221221121122122121212112221111222211212122212222122111112221211222112111112121111112122112211212112211122111211111222111112212222112121111121211212211121211112222211121212212222222112121122211122222212112111122122112112221212112111212122122112122112222221122112212111211221212121222211222122121212221122121221122121211212212122121212112212122211121211221222111211122211212121121212111111112111211112211221211222122211112211122222222212122212121112122222112122211112211212111222222212222122111122121212221211211111111112222212122222112222221121221122112121211112222112212222111222121122222122111111222211112111111212121112222112111111111222121211112111121112212122111121111212222122211121121211112212111121111221212112122222212212121111222121221111111112112222212112112211222221121121121222211212122222112222111111122211222222211212112222222121221121211222112221222221212122222122111111222111112221222112222211111211112122111112222222111212212122112222212222111111111121122111211212112122222111111211222212221211121121211121212112121211221221221221112121122122211121122211222122222222122111222222111212121121121222222122222221122222112121222211222111222211122222212121121222222212211212222112222111222212111122211121121211211112111121211212221111121122122212221212111212111122211121111112211221121121211122211121111112122111222212221212112211122211122112222112222222111122222221222221111211221221212111111221111122211122221112212221111121112112111122121221112112212221121112212211222222121122112122121221112221122211211211121111211112212212212221212211122222211211122121112222122221111222211212121221121221112221212121221211112122112111112121112212121112121222221121112111121222222221121212111121212222112112121222122112212212211112122211122221121222221111111121221111221122121221112212111112122122212222111111121211222121121212122211212212211122222121121222121212122222122212121111211112121221221122211211112112211211221121211211112111121222212121212111111221222211111121221221212222212122122211211111112121111121112112112211222111111122112212212211212122211111122221122111212112222111211122211212112212221121211112112121212211122111221112112112122211221112221112121212211121112111122211211111112112121221211121211122212212212222112211121112221121121222122221212121111111121111222112122121111212221122122211121121121122221121112121122212111212211121122211212122111122122212221122211222211121122222121122211121112211211212121121121122222212111211222112211122122121211211121121122121112111111121211111121122121121212222112211121212111122212221111121211212112121211212111121111221221212122112221211212122111122122121222211221111221112111221121112112211121111121212211121112121222221221221222111211111112121122122221112112122212111122212221112111112122211221111111212112122112211112112112111121112221221211221121112222221121112212211112122111111211212222221221111112121212212121212221211212111122212122111222122111222221122122221122112112112111221221222121122222211122111111122122222222121221111222211121112112211222122211212211211112121221221212212211211211121211111112221222211222211212121121212222221121221111211111212212111121211211122122222122112211121122112121111112211221121111111112121212112112221212112121122112121212212221111221222222121111112121112211121221121112222221122121122111112211222211212221121111122121112111112211111112121212212112212222222122221111221221211111212111211121212112122121111221111212221121111112211222121121121112122222211212111112221121222212121112222212222122122112212211211112111122222211222122221112121112121122211221111211112211111222222121111211111222112111111111121212221222111112212212122211111221222211211121122121212121111211122112211211221121111211222212111212211112122212122212212111121122212121212222212111121212212211121121211111112221212121211211111112221111222111212211211112222112112111111122212112222122121212221111221121122111111222211221221121221111212111211121122122112221222112112122221211222112221112122111121122111121112111221221122111112112222112221111211112222222222111211221222221212221212222222221121212221122112212112222222211121212212112122111222211112112111222221111122222221222211211221221222122111112111121211121122111212222112111122111222112212121221111112222121112112221212211111111211112212122122211222221122122211211212221212111111212122111212111121122222111122222221221222111112211211221212212222211122122122111122111111211211122112112122122211222121111121122211121211221222122121112122112211212112221121211111221222221211112221111222212211121211122122222212211222121121221111211112221221211122211211212212221122112221211211112221111112111112222221222212112111121122211121222212111122111212121111212221211222221111111122211222212222111112221111122211211212112222222111122122222111221212122211212122221211112122211222221121212221121222212112122122221122212211112122111222121211122122122222121111221221211112211222112121211211211222111121211211122121222111211222212111111222121111111221121121211111222122111212222121222121211221222211221111121121122111221111112222111212111122212121112222222221212211212221221112222121212121222111111211211222111222222112221111221211221112222222111111122121221112221211122211111112222111121212112212211221111121221122221222112221111211221112211221212211221222121212122222121111111122211212222121121221121212222222121112122212122112112222122111222121222122122111211111111112222212121221212221212222112212222112121222212221121111112122112112122112221212121222122111212111211221112112212212222211221122222112222211112222121212112122222222222111212221111111212212212111111112121111122211221222221112121221121122111222112222121112222222211212112111221111111211222222212111212112112122212222221112222112211122222121211112122211211112111121122111122211222122121121211122121212122211222222112211211111111112222211122121211112122211221122211112112112212222212121111212222222212122122211112211112111112112121211122112121111222121111222111112121212122122111212121121211222122122111121212112111212111211221221212122211222211222212211112221212111112122212111121221212112222122111212121111122122121212111111212111211212122221222211121222112112121212222112221111211121222121122111112111122221221222222212221112221112221212121122211111122121222111222121222211121112221212111221122112111112111221221111221222221221222222112111222221222122212222212221122112111122212111221111121211112111111111112222212211112121211112122112121122122221212121222121211112122212222122112112222112211221212211122111111122111112111122112212112122121211221221121211222111111211212111121121222222121121222112122122112212211211221222222211221121121211111121211221212122111211122112121211112211222112122112112211112121122212121121122212112222212111122122111221221122221222111121222122211221112212212212112212112221122111211121111212111212122111111211112121212222122221221111222112121222222212212221111112211211122222211222122211122221121121211112211211221112221211211222112112211221112222221121112111111122221221221111112211211222212112221212112222221211121122212122121212222222111212111221211122111111111222111211211212111122221211111212222222212111122121121221222122112111212112221212211222122212222112211211122211211112211112121112222122221112121211211212222122221221111221221122211112111111112122222121111211221112111111221112112211112212112222211211221121121112221121112212212211122221121112111111111111212121212211211121212112111221222222111212221221221122111121212122122221211112211122211122122122111211111121112222121112211111212121221212221211222112221222121111221221221122111121122211212122212211121222212112211212212121222121121121222222111121211211211111212221112112222211112221221111221221122122121121222212222121222121112221211221222122111112111212121211111122222121211121211221112212111212211222112211112121121112221121111112222122221122111211221121211121111211111122111122112122222111212212112112122222212122121111212122222211211212221112222121211211111111221222111221122222111122211222222221111222211222221221211111121222122111111111221112112111121112111122221122121111211212221111222221111122211112212111112111221211222211122221212122111122111211111121111211122121221122222211122212221122111122222212121112221112121111122221112222121221212222212211211221111111122112122212111212111212212112122222122111222212121222121121111122212221112112221221121111221121112211222121211221211222221122112112212222112122112211211222221112221222122111121111121122212111112212212222112221222222111122111122211222122222111112212212112122212121112222121222211122111211212121122212211222222222221121222222222221122111112212121212212111221211111111121111211122111112221222222111111122222221212211211112221111122221211211112211211121211112121222122122212121212112222212122221122211122212111112112122121121111121221222212121112111112111212211222111212222211221112112222221212121121121121122222111112111211121122211222121121121112122211112222111112112122221111112112122222112121211221112222121111112111112122121211212222212211211121122211122222111212112111111212112121111121222222212221211222122221121222122112122211222121111121122221122222212221122111222121221211222221212112111112122212111222122121222122221112111221222121121111122121111112212112222221222112211112212222121212111222211222122222121222111212211222221112212122111221111122212221221122211211121112111222222212211221211122112122112111212112221211222121122211211121112222122222211212112222211121112112121221212122212222112121121112211111212111121122212212212212121121121222221211222211121221222222211111211211111211122112111122111222121221222212122211211121211212221111112221212221212122222221222112121122211122112222221121121112111211112211211112111211111221212212111222112212122111222122221211221222121121221122221221121121112122112221121212221111121122111221111121122222221122221222212211121111212211122111121212111121211211122221112111121112211112221111212221112122121112111222211211122112121112122212211112111112212121112221121212211121111212121211112212111121121122112111222121211211211222212122111212221211221222211111122122111212111111211121222111211211111221111212121221111112211221112111112112122121122221211121121111211222212111221212111211122212221221111112212121211221211112122222221111112222121221122222222121111221221221122121212112212211122121121121221211222111222211112211112122111222222222221222121211121212221121221212121211211111212211112111211221221222222112112222211121222212211211121221211122211111121212111222112222112212221111221122111122112121222211122222222121222122212112212121122121221121111222122222222122221212111222121212112212222121212121111212212112221211112121122212221111222222212221221211212121112111111111211122222122121211212211111221112111212111212222221111221111222221122112212121112111212121221221221112122212112212122122112211122112222221222112121112111221211121212221212121122122211211212111212121221111122221121111212122212112122221211221121222112111121121111211222211222212211111212121212122112111222221221112222122112222221112212111112212221112122212221221222122121121211221211112222122121221111222222212221121221122211212122212212222122222111122112122211221112111111211221212111221121122211222111122111221221222112221212121211112111212221212221211112211121222222111212112211121211121112211222222222212221212222121222111111112111111212211111221212112211221212222211212221222121212122121122222221122112222121222212122222112222121121111122112211112221122211122122111121112111112112111121121211212112111221212121221121211211212121221121222222111212111112112122221112121211122111221212111221122221111121212211221222221222122121211211121221111221112212122111111212121221212111211111122221211222121122111211222222122122211221211212221221211122111111122212211111121112112221222121121122112112122111111212112122211211122212122211122121121121112111221212122112221221211122112221222221222211112222211122121221211221122222111121222212222212122121221212212111221211222221111112221222222222212122222112111212112212121222122221121121222111121211211122222212111221212212211212222111111211122112112222212221222112211111221211111212122122122212112122111221122122122222111222122222112221211212112122222221122112112222222112111221221121122212111112212222122212111221111111111212212221222211112221122222121221111212122222121222211122111222222221122211122211212211222221122211221112122211212121111121121122222122112111222111111111212111222221221111221212221222111122221111211111222112112221112212112112112221111112212222122222121212122222221222221222112222122212122222221111222221121111221112212212212212121212121122121221121122121222212121221111121112121122211221111222221122112112212212121221222122221221112212111122122121212212211112121122221121112212121111221212122211211212221222121212111212221111221211211112111121212112121221222221222122212111112222121212212212111212111211122212112221212221221122122222211222211222222221222212221122121222221111111122221211111222112111222111222112122122222212121212121221122112211122111112121222222111222212121111211221121221222221112121121212211122112222221221212212121122211222221211221211212222221211221122112211222122221111112211222221211211122111112222221112222111112211221222222112211112212212221212122221212112112221112211121121212212212212221221121212111212121121111211221112121121221211221212122212212121221212122211221121222221221211112112221222122122121112221222211222111212221111112111222111211111122121222211211212111211121211211221221111221211212222111122112211212121112121211212122111221212221212122211222121222112212211212221212222222222211121212122121122121121222112211221112212221112112212112221122211112111112121112111221111221211222121122111122122121211112221122212222112111121111111222211212221221211112212122211221111121211212212221212211112211112221111112211221211111112112221111121221221221112212221121221112111212112112121121222121221122222211121112221211122122122111112221112122122111211122122211122212211221212211122111222122111112112212222121112222211212212111121112212221211212221222112121221211212211221122111121121221211212121112212221222222111212111121122121212221212121112212121221121211112121222122121221222221122221111221111111121221221211111211221221111212111112121111222212222211212121112112121122111121222122211222121211221221212121211122121222221221122111221211212211112122112111112121121221122212211121122211222112121211111211222121122211121111121211112221221221112122112222112211221221212112222121212212111211211112221121221212121222222221111212212112212221111211121221111221212212111111221211212121121112112122222111121211221112122212222121112112221121112112212121122211221121111222112111221222112222112122211222222221122222121222111212222122121221121221122121221111221121221122212221121122212222111212121212212122111211112112212121112122222211211221121212122112112211212212121112112221211112212212222221111221221221121222111212122211221212122112222111222211112222211221121121111212111221221111122111211222122222211212122212112112111122112121112121112122121222111221222121212112212111212122111211112121121222111212221112112121111221221111121121122112122222212212211212212222121111211121211121112122122212112121221212122212221112111112222111221221111212112122121211111211111122221221221122222212121222111221112111221122111221122212112122211112112212122111212122111122122122221112221122122121222111222112121111122121212121221212112111212112111222112222222111222222121212121121222122121212121221111121121211222111112121122211221212211111221221121122111222221222222122221121112222112221122111222221121221122221212122222221211221121222112112212112121111122222212122222112121211221121112211111122211212122111211122111212112221121222122212122111222212122122211211112112111221111212212211111221112122111112212122222111122121212222212122211212112221211111112111221112211121112111122121211222212221222221212121221121122111221111222222221122111111222211212112222211122121211211211122111111111212122121111121212122211221212211121211122222112222112112221122122221122121222211221211212121111212221221222212112112121122122222221121212112211112121111211212122212121112222221121212212121121212111112112222121212111212111112212211111122121221111211221212211222121111212112222122212121221122111121212211112112221111221122212121212211122111211222122121221121221222112121111122221121211111221121221211112211222211112122111111111121111111111112112122221212212122222222121211112122222212121211212211212221112122212111121221121121122211222122221222211211121212222111112222122222212222122121121221121221111122122221221111122212221211111222212221221221122211221122222212121121221212222121221222111122212111221122122221112222111221112122121222212211222112211222221212222222111112122122122112111211221221122221212221212122221222122122222122121122121221112111221212121211122121212121222122111222112211122112121221121121122222221222112211112221111212121211111221221111212112122222112222221222212212122121222211112211212121122121212111112121221221222111211111222122222212222212212111212122122112111221222222121112111112212222211211122112211122121212211211222112211112222221211211112222112112121212212222122111211211112212121121212122121121212212211112211121212221112212222121221221212112221222121122211121212221111212112122222212221122221111112122212212212221112111111122211122222211221121212221112221111122222222211212112212121121111211211122212112111212111211121222211111111121221111112121112211122111111211222122222212211111122112122121222212121121122221111122221212121112212222122121121211222221121221211222222111111212211222211111222121221212222122111122211212121111121112122122221111111222221111222221111211111221121122222122111221111222212112121122221211211212212211121112221222211111211221222212221122121212212222221211212212111222211111212112211121221112122122112121212121222222112112211212211122112122222211222122221211111122211212211212212121212122222212121212122212121211221121221222112222122122112111212122121122111121112122212122111121122211122221121111111212121121121211212122212211221211111111221212221112122112112121111211122211121221121221112111212121112211211112222112212122122221211211211221221211211122121121212212212111122222222212111212221121121221221221221111112121212111221121122211122212212121112221221122121212221122112121112211121221112212221122111222121122112221221111112121221211111222112122121211112111122122112111211122121221212121222212122221212211211222212212112122221222112111111121122211222221111212212111221122111211212221111111212222111112211211211222121221112112121112221221221111112212221222222212221111112121211111212112212212221122112212122221211211211112121121222112111112111221222111212111112211112212112222121222211221121112112121121222222122221222212111121112222212122222211111121221221211222212222222121121221221222212211111